@wwawing/engine 4.0.0 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/LICENSE +2 -2
  2. package/debug/make-debug-pages.ts +4 -3
  3. package/debug/maps-config.ts +1 -0
  4. package/lib/wwa.js +214 -20
  5. package/package.json +28 -29
  6. package/lib/__tests__/wwa_util-test.d.ts +0 -1
  7. package/lib/json_api_client/index.d.ts +0 -12
  8. package/lib/load_script_file/index.d.ts +0 -6
  9. package/lib/wwa_camera.d.ts +0 -20
  10. package/lib/wwa_cgmanager.d.ts +0 -51
  11. package/lib/wwa_data/options.d.ts +0 -2
  12. package/lib/wwa_data/typedef.d.ts +0 -20
  13. package/lib/wwa_data.d.ts +0 -591
  14. package/lib/wwa_encryption.d.ts +0 -4
  15. package/lib/wwa_estimate_battle.d.ts +0 -14
  16. package/lib/wwa_expression/__tests__/value-assign-operation.d.ts +0 -1
  17. package/lib/wwa_expression/eval.d.ts +0 -5
  18. package/lib/wwa_expression/index.d.ts +0 -11
  19. package/lib/wwa_expression/parsers.d.ts +0 -3
  20. package/lib/wwa_expression/regexp.d.ts +0 -11
  21. package/lib/wwa_expression/typedef.d.ts +0 -57
  22. package/lib/wwa_expression/value-assign-operation.d.ts +0 -22
  23. package/lib/wwa_expression2/acorn.d.ts +0 -111
  24. package/lib/wwa_expression2/converter.d.ts +0 -4
  25. package/lib/wwa_expression2/eval.d.ts +0 -73
  26. package/lib/wwa_expression2/index.d.ts +0 -4
  27. package/lib/wwa_expression2/typedef.d.ts +0 -9
  28. package/lib/wwa_expression2/wwa.d.ts +0 -150
  29. package/lib/wwa_inject_html.d.ts +0 -2
  30. package/lib/wwa_input.d.ts +0 -140
  31. package/lib/wwa_item_menu.d.ts +0 -20
  32. package/lib/wwa_macro.d.ts +0 -76
  33. package/lib/wwa_main.d.ts +0 -394
  34. package/lib/wwa_message/_internal/index.d.ts +0 -32
  35. package/lib/wwa_message/data/index.d.ts +0 -18
  36. package/lib/wwa_message/data/node.d.ts +0 -46
  37. package/lib/wwa_message/data/page.d.ts +0 -13
  38. package/lib/wwa_message/index.d.ts +0 -10
  39. package/lib/wwa_message/typedef.d.ts +0 -5
  40. package/lib/wwa_monster.d.ts +0 -21
  41. package/lib/wwa_motion.d.ts +0 -29
  42. package/lib/wwa_parts_player.d.ts +0 -173
  43. package/lib/wwa_password_window.d.ts +0 -28
  44. package/lib/wwa_play_time.d.ts +0 -8
  45. package/lib/wwa_save/WWACompress.d.ts +0 -36
  46. package/lib/wwa_save/WWASave.d.ts +0 -27
  47. package/lib/wwa_save/WWASaveData.d.ts +0 -20
  48. package/lib/wwa_save/WWASaveDataDB.d.ts +0 -5
  49. package/lib/wwa_save/WWASaveDataDBList.d.ts +0 -31
  50. package/lib/wwa_save/WWASaveDataList.d.ts +0 -6
  51. package/lib/wwa_save/WWASaveDataLog.d.ts +0 -3
  52. package/lib/wwa_save/WWASaveDataLogList.d.ts +0 -14
  53. package/lib/wwa_save/common/definitions.d.ts +0 -11
  54. package/lib/wwa_save/common/index.d.ts +0 -2
  55. package/lib/wwa_save/common/mapDataRevisionKey.d.ts +0 -1
  56. package/lib/wwa_save/index.d.ts +0 -6
  57. package/lib/wwa_save/migrators/index.d.ts +0 -2
  58. package/lib/wwa_save/migrators/migrate-gameover-policy.d.ts +0 -2
  59. package/lib/wwa_sound.d.ts +0 -26
  60. package/lib/wwa_util.d.ts +0 -14
  61. package/lib/wwa_vardump/api.d.ts +0 -8
  62. package/lib/wwa_vardump/index.d.ts +0 -9
  63. package/lib/wwa_vardump/named-user-variable/api.d.ts +0 -1
  64. package/lib/wwa_vardump/named-user-variable/index.d.ts +0 -1
  65. package/lib/wwa_vardump/numbered-user-variable/api.d.ts +0 -3
  66. package/lib/wwa_vardump/numbered-user-variable/index.d.ts +0 -1
  67. package/lib/wwa_vardump/user-variable/user-variable-card/index.d.ts +0 -10
  68. package/lib/wwa_vardump/user-variable/user-variable-label/index.d.ts +0 -3
  69. package/lib/wwa_vardump/user-variable/user-variable-list/index.d.ts +0 -14
  70. package/lib/wwa_vardump/user-variable/user-variable-list-section/header/index.d.ts +0 -13
  71. package/lib/wwa_vardump/user-variable/user-variable-list-section/header/information/index.d.ts +0 -3
  72. package/lib/wwa_vardump/user-variable/user-variable-list-section/index.d.ts +0 -8
  73. package/lib/wwa_window.d.ts +0 -97
package/lib/wwa.js CHANGED
@@ -1,21 +1,215 @@
1
- /*!
2
- * @license WWA Wing Engine (c) NAO / WWA Wing Team / MIT License https://github.com/WWAWing/WWAWing/blob/develop/packages/engine/LICENSE
3
- * @license crypto-js (c) Jeff Mott / Evan Vosberg / MIT License https://github.com/brix/crypto-js/blob/develop/LICENSE
4
- */!function(){var t={598:function(t,e,s){var a;t.exports=(a=s(518),s(201),s(989),s(953),s(768),function(){var t=a,e=t.lib.BlockCipher,s=t.algo,i=[],r=[],n=[],o=[],h=[],c=[],_=[],l=[],u=[],d=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var s=0,a=0;for(e=0;e<256;e++){var p=a^a<<1^a<<2^a<<3^a<<4;p=p>>>8^255&p^99,i[s]=p,r[p]=s;var m=t[s],E=t[m],g=t[E],w=257*t[p]^16843008*p;n[s]=w<<24|w>>>8,o[s]=w<<16|w>>>16,h[s]=w<<8|w>>>24,c[s]=w,w=16843009*g^65537*E^257*m^16843008*s,_[p]=w<<24|w>>>8,l[p]=w<<16|w>>>16,u[p]=w<<8|w>>>24,d[p]=w,s?(s=m^t[t[t[g^m]]],a^=t[t[a]]):s=a=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=s.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,s=t.sigBytes/4,a=4*((this._nRounds=s+6)+1),r=this._keySchedule=[],n=0;n<a;n++)n<s?r[n]=e[n]:(c=r[n-1],n%s?s>6&&n%s==4&&(c=i[c>>>24]<<24|i[c>>>16&255]<<16|i[c>>>8&255]<<8|i[255&c]):(c=i[(c=c<<8|c>>>24)>>>24]<<24|i[c>>>16&255]<<16|i[c>>>8&255]<<8|i[255&c],c^=p[n/s|0]<<24),r[n]=r[n-s]^c);for(var o=this._invKeySchedule=[],h=0;h<a;h++){if(n=a-h,h%4)var c=r[n];else c=r[n-4];o[h]=h<4||n<=4?c:_[i[c>>>24]]^l[i[c>>>16&255]]^u[i[c>>>8&255]]^d[i[255&c]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,n,o,h,c,i)},decryptBlock:function(t,e){var s=t[e+1];t[e+1]=t[e+3],t[e+3]=s,this._doCryptBlock(t,e,this._invKeySchedule,_,l,u,d,r),s=t[e+1],t[e+1]=t[e+3],t[e+3]=s},_doCryptBlock:function(t,e,s,a,i,r,n,o){for(var h=this._nRounds,c=t[e]^s[0],_=t[e+1]^s[1],l=t[e+2]^s[2],u=t[e+3]^s[3],d=4,p=1;p<h;p++){var m=a[c>>>24]^i[_>>>16&255]^r[l>>>8&255]^n[255&u]^s[d++],E=a[_>>>24]^i[l>>>16&255]^r[u>>>8&255]^n[255&c]^s[d++],g=a[l>>>24]^i[u>>>16&255]^r[c>>>8&255]^n[255&_]^s[d++],w=a[u>>>24]^i[c>>>16&255]^r[_>>>8&255]^n[255&l]^s[d++];c=m,_=E,l=g,u=w}m=(o[c>>>24]<<24|o[_>>>16&255]<<16|o[l>>>8&255]<<8|o[255&u])^s[d++],E=(o[_>>>24]<<24|o[l>>>16&255]<<16|o[u>>>8&255]<<8|o[255&c])^s[d++],g=(o[l>>>24]<<24|o[u>>>16&255]<<16|o[c>>>8&255]<<8|o[255&_])^s[d++],w=(o[u>>>24]<<24|o[c>>>16&255]<<16|o[_>>>8&255]<<8|o[255&l])^s[d++],t[e]=m,t[e+1]=E,t[e+2]=g,t[e+3]=w},keySize:8});t.AES=e._createHelper(m)}(),a.AES)},35:function(t,e,s){var a;t.exports=(a=s(518),s(201),s(989),s(953),s(768),function(){var t=a,e=t.lib.BlockCipher,s=t.algo;const i=16,r=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],n=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function h(t,e){let s=e>>24&255,a=e>>16&255,i=e>>8&255,r=255&e,n=t.sbox[0][s]+t.sbox[1][a];return n^=t.sbox[2][i],n+=t.sbox[3][r],n}function c(t,e,s){let a,r=e,n=s;for(let e=0;e<i;++e)r^=t.pbox[e],n=h(t,r)^n,a=r,r=n,n=a;return a=r,r=n,n=a,n^=t.pbox[i],r^=t.pbox[i+1],{left:r,right:n}}function _(t,e,s){let a,r=e,n=s;for(let e=i+1;e>1;--e)r^=t.pbox[e],n=h(t,r)^n,a=r,r=n,n=a;return a=r,r=n,n=a,n^=t.pbox[1],r^=t.pbox[0],{left:r,right:n}}function l(t,e,s){for(let e=0;e<4;e++){t.sbox[e]=[];for(let s=0;s<256;s++)t.sbox[e][s]=n[e][s]}let a=0;for(let n=0;n<i+2;n++)t.pbox[n]=r[n]^e[a],a++,a>=s&&(a=0);let o=0,h=0,_=0;for(let e=0;e<i+2;e+=2)_=c(t,o,h),o=_.left,h=_.right,t.pbox[e]=o,t.pbox[e+1]=h;for(let e=0;e<4;e++)for(let s=0;s<256;s+=2)_=c(t,o,h),o=_.left,h=_.right,t.sbox[e][s]=o,t.sbox[e][s+1]=h;return!0}var u=s.Blowfish=e.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var t=this._keyPriorReset=this._key,e=t.words,s=t.sigBytes/4;l(o,e,s)}},encryptBlock:function(t,e){var s=c(o,t[e],t[e+1]);t[e]=s.left,t[e+1]=s.right},decryptBlock:function(t,e){var s=_(o,t[e],t[e+1]);t[e]=s.left,t[e+1]=s.right},blockSize:2,keySize:4,ivSize:2});t.Blowfish=e._createHelper(u)}(),a.Blowfish)},768:function(t,e,s){var a;t.exports=(a=s(518),s(953),void(a.lib.Cipher||function(t){var e=a,s=e.lib,i=s.Base,r=s.WordArray,n=s.BufferedBlockAlgorithm,o=e.enc,h=(o.Utf8,o.Base64),c=e.algo.EvpKDF,_=s.Cipher=n.extend({cfg:i.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,s){this.cfg=this.cfg.extend(s),this._xformMode=t,this._key=e,this.reset()},reset:function(){n.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?f:g}return function(e){return{encrypt:function(s,a,i){return t(a).encrypt(e,s,a,i)},decrypt:function(s,a,i){return t(a).decrypt(e,s,a,i)}}}}()}),l=(s.StreamCipher=_.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),u=s.BlockCipherMode=i.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),d=l.CBC=function(){var e=u.extend();function s(e,s,a){var i,r=this._iv;r?(i=r,this._iv=t):i=this._prevBlock;for(var n=0;n<a;n++)e[s+n]^=i[n]}return e.Encryptor=e.extend({processBlock:function(t,e){var a=this._cipher,i=a.blockSize;s.call(this,t,e,i),a.encryptBlock(t,e),this._prevBlock=t.slice(e,e+i)}}),e.Decryptor=e.extend({processBlock:function(t,e){var a=this._cipher,i=a.blockSize,r=t.slice(e,e+i);a.decryptBlock(t,e),s.call(this,t,e,i),this._prevBlock=r}}),e}(),p=(e.pad={}).Pkcs7={pad:function(t,e){for(var s=4*e,a=s-t.sigBytes%s,i=a<<24|a<<16|a<<8|a,n=[],o=0;o<a;o+=4)n.push(i);var h=r.create(n,a);t.concat(h)},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},m=(s.BlockCipher=_.extend({cfg:_.cfg.extend({mode:d,padding:p}),reset:function(){var t;_.reset.call(this);var e=this.cfg,s=e.iv,a=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=a.createEncryptor:(t=a.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,s&&s.words):(this._mode=t.call(a,this,s&&s.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4}),s.CipherParams=i.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),E=(e.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,s=t.salt;return(s?r.create([1398893684,1701076831]).concat(s).concat(e):e).toString(h)},parse:function(t){var e,s=h.parse(t),a=s.words;return 1398893684==a[0]&&1701076831==a[1]&&(e=r.create(a.slice(2,4)),a.splice(0,4),s.sigBytes-=16),m.create({ciphertext:s,salt:e})}},g=s.SerializableCipher=i.extend({cfg:i.extend({format:E}),encrypt:function(t,e,s,a){a=this.cfg.extend(a);var i=t.createEncryptor(s,a),r=i.finalize(e),n=i.cfg;return m.create({ciphertext:r,key:s,iv:n.iv,algorithm:t,mode:n.mode,padding:n.padding,blockSize:t.blockSize,formatter:a.format})},decrypt:function(t,e,s,a){return a=this.cfg.extend(a),e=this._parse(e,a.format),t.createDecryptor(s,a).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),w=(e.kdf={}).OpenSSL={execute:function(t,e,s,a,i){if(a||(a=r.random(8)),i)n=c.create({keySize:e+s,hasher:i}).compute(t,a);else var n=c.create({keySize:e+s}).compute(t,a);var o=r.create(n.words.slice(e),4*s);return n.sigBytes=4*e,m.create({key:n,iv:o,salt:a})}},f=s.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:w}),encrypt:function(t,e,s,a){var i=(a=this.cfg.extend(a)).kdf.execute(s,t.keySize,t.ivSize,a.salt,a.hasher);a.iv=i.iv;var r=g.encrypt.call(this,t,e,i.key,a);return r.mixIn(i),r},decrypt:function(t,e,s,a){a=this.cfg.extend(a),e=this._parse(e,a.format);var i=a.kdf.execute(s,t.keySize,t.ivSize,e.salt,a.hasher);return a.iv=i.iv,g.decrypt.call(this,t,e,i.key,a)}})}()))},518:function(t,e,s){var a;t.exports=(a=a||function(t,e){var a;if("undefined"!=typeof window&&window.crypto&&(a=window.crypto),"undefined"!=typeof self&&self.crypto&&(a=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(a=globalThis.crypto),!a&&"undefined"!=typeof window&&window.msCrypto&&(a=window.msCrypto),!a&&void 0!==s.g&&s.g.crypto&&(a=s.g.crypto),!a)try{a=s(156)}catch(t){}var i=function(){if(a){if("function"==typeof a.getRandomValues)try{return a.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof a.randomBytes)try{return a.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},r=Object.create||function(){function t(){}return function(e){var s;return t.prototype=e,s=new t,t.prototype=null,s}}(),n={},o=n.lib={},h=o.Base={extend:function(t){var e=r(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},c=o.WordArray=h.extend({init:function(t,s){t=this.words=t||[],this.sigBytes=s!=e?s:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,s=t.words,a=this.sigBytes,i=t.sigBytes;if(this.clamp(),a%4)for(var r=0;r<i;r++){var n=s[r>>>2]>>>24-r%4*8&255;e[a+r>>>2]|=n<<24-(a+r)%4*8}else for(var o=0;o<i;o+=4)e[a+o>>>2]=s[o>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,s=this.sigBytes;e[s>>>2]&=4294967295<<32-s%4*8,e.length=t.ceil(s/4)},clone:function(){var t=h.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],s=0;s<t;s+=4)e.push(i());return new c.init(e,t)}}),_=n.enc={},l=_.Hex={stringify:function(t){for(var e=t.words,s=t.sigBytes,a=[],i=0;i<s;i++){var r=e[i>>>2]>>>24-i%4*8&255;a.push((r>>>4).toString(16)),a.push((15&r).toString(16))}return a.join("")},parse:function(t){for(var e=t.length,s=[],a=0;a<e;a+=2)s[a>>>3]|=parseInt(t.substr(a,2),16)<<24-a%8*4;return new c.init(s,e/2)}},u=_.Latin1={stringify:function(t){for(var e=t.words,s=t.sigBytes,a=[],i=0;i<s;i++){var r=e[i>>>2]>>>24-i%4*8&255;a.push(String.fromCharCode(r))}return a.join("")},parse:function(t){for(var e=t.length,s=[],a=0;a<e;a++)s[a>>>2]|=(255&t.charCodeAt(a))<<24-a%4*8;return new c.init(s,e)}},d=_.Utf8={stringify:function(t){try{return decodeURIComponent(escape(u.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return u.parse(unescape(encodeURIComponent(t)))}},p=o.BufferedBlockAlgorithm=h.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var s,a=this._data,i=a.words,r=a.sigBytes,n=this.blockSize,o=r/(4*n),h=(o=e?t.ceil(o):t.max((0|o)-this._minBufferSize,0))*n,_=t.min(4*h,r);if(h){for(var l=0;l<h;l+=n)this._doProcessBlock(i,l);s=i.splice(0,h),a.sigBytes-=_}return new c.init(s,_)},clone:function(){var t=h.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0}),m=(o.Hasher=p.extend({cfg:h.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,s){return new t.init(s).finalize(e)}},_createHmacHelper:function(t){return function(e,s){return new m.HMAC.init(t,s).finalize(e)}}}),n.algo={});return n}(Math),a)},201:function(t,e,s){var a;t.exports=(a=s(518),function(){var t=a,e=t.lib.WordArray;function s(t,s,a){for(var i=[],r=0,n=0;n<s;n++)if(n%4){var o=a[t.charCodeAt(n-1)]<<n%4*2|a[t.charCodeAt(n)]>>>6-n%4*2;i[r>>>2]|=o<<24-r%4*8,r++}return e.create(i,r)}t.enc.Base64={stringify:function(t){var e=t.words,s=t.sigBytes,a=this._map;t.clamp();for(var i=[],r=0;r<s;r+=3)for(var n=(e[r>>>2]>>>24-r%4*8&255)<<16|(e[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|e[r+2>>>2]>>>24-(r+2)%4*8&255,o=0;o<4&&r+.75*o<s;o++)i.push(a.charAt(n>>>6*(3-o)&63));var h=a.charAt(64);if(h)for(;i.length%4;)i.push(h);return i.join("")},parse:function(t){var e=t.length,a=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var r=0;r<a.length;r++)i[a.charCodeAt(r)]=r}var n=a.charAt(64);if(n){var o=t.indexOf(n);-1!==o&&(e=o)}return s(t,e,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),a.enc.Base64)},332:function(t,e,s){var a;t.exports=(a=s(518),function(){var t=a,e=t.lib.WordArray;function s(t,s,a){for(var i=[],r=0,n=0;n<s;n++)if(n%4){var o=a[t.charCodeAt(n-1)]<<n%4*2|a[t.charCodeAt(n)]>>>6-n%4*2;i[r>>>2]|=o<<24-r%4*8,r++}return e.create(i,r)}t.enc.Base64url={stringify:function(t,e){void 0===e&&(e=!0);var s=t.words,a=t.sigBytes,i=e?this._safe_map:this._map;t.clamp();for(var r=[],n=0;n<a;n+=3)for(var o=(s[n>>>2]>>>24-n%4*8&255)<<16|(s[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|s[n+2>>>2]>>>24-(n+2)%4*8&255,h=0;h<4&&n+.75*h<a;h++)r.push(i.charAt(o>>>6*(3-h)&63));var c=i.charAt(64);if(c)for(;r.length%4;)r.push(c);return r.join("")},parse:function(t,e){void 0===e&&(e=!0);var a=t.length,i=e?this._safe_map:this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var n=0;n<i.length;n++)r[i.charCodeAt(n)]=n}var o=i.charAt(64);if(o){var h=t.indexOf(o);-1!==h&&(a=h)}return s(t,a,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),a.enc.Base64url)},894:function(t,e,s){var a;t.exports=(a=s(518),function(){var t=a,e=t.lib.WordArray,s=t.enc;function i(t){return t<<8&4278255360|t>>>8&16711935}s.Utf16=s.Utf16BE={stringify:function(t){for(var e=t.words,s=t.sigBytes,a=[],i=0;i<s;i+=2){var r=e[i>>>2]>>>16-i%4*8&65535;a.push(String.fromCharCode(r))}return a.join("")},parse:function(t){for(var s=t.length,a=[],i=0;i<s;i++)a[i>>>1]|=t.charCodeAt(i)<<16-i%2*16;return e.create(a,2*s)}},s.Utf16LE={stringify:function(t){for(var e=t.words,s=t.sigBytes,a=[],r=0;r<s;r+=2){var n=i(e[r>>>2]>>>16-r%4*8&65535);a.push(String.fromCharCode(n))}return a.join("")},parse:function(t){for(var s=t.length,a=[],r=0;r<s;r++)a[r>>>1]|=i(t.charCodeAt(r)<<16-r%2*16);return e.create(a,2*s)}}}(),a.enc.Utf16)},953:function(t,e,s){var a,i,r,n,o,h,c,_;t.exports=(_=s(518),s(648),s(2),i=(a=_).lib,r=i.Base,n=i.WordArray,o=a.algo,h=o.MD5,c=o.EvpKDF=r.extend({cfg:r.extend({keySize:4,hasher:h,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var s,a=this.cfg,i=a.hasher.create(),r=n.create(),o=r.words,h=a.keySize,c=a.iterations;o.length<h;){s&&i.update(s),s=i.update(t).finalize(e),i.reset();for(var _=1;_<c;_++)s=i.finalize(s),i.reset();r.concat(s)}return r.sigBytes=4*h,r}}),a.EvpKDF=function(t,e,s){return c.create(s).compute(t,e)},_.EvpKDF)},770:function(t,e,s){var a,i,r,n;t.exports=(n=s(518),s(768),i=(a=n).lib.CipherParams,r=a.enc.Hex,a.format.Hex={stringify:function(t){return t.ciphertext.toString(r)},parse:function(t){var e=r.parse(t);return i.create({ciphertext:e})}},n.format.Hex)},2:function(t,e,s){var a,i,r,n;t.exports=(a=s(518),r=(i=a).lib.Base,n=i.enc.Utf8,void(i.algo.HMAC=r.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=n.parse(e));var s=t.blockSize,a=4*s;e.sigBytes>a&&(e=t.finalize(e)),e.clamp();for(var i=this._oKey=e.clone(),r=this._iKey=e.clone(),o=i.words,h=r.words,c=0;c<s;c++)o[c]^=1549556828,h[c]^=909522486;i.sigBytes=r.sigBytes=a,this.reset()},reset:function(){var t=this._hasher;t.reset(),t.update(this._iKey)},update:function(t){return this._hasher.update(t),this},finalize:function(t){var e=this._hasher,s=e.finalize(t);return e.reset(),e.finalize(this._oKey.clone().concat(s))}})))},705:function(t,e,s){var a;t.exports=(a=s(518),s(703),s(253),s(894),s(201),s(332),s(989),s(648),s(110),s(623),s(759),s(78),s(882),s(261),s(2),s(604),s(953),s(768),s(330),s(944),s(71),s(974),s(561),s(782),s(846),s(673),s(622),s(805),s(770),s(598),s(865),s(556),s(537),s(333),s(35),a)},253:function(t,e,s){var a;t.exports=(a=s(518),function(){if("function"==typeof ArrayBuffer){var t=a.lib.WordArray,e=t.init,s=t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var s=t.byteLength,a=[],i=0;i<s;i++)a[i>>>2]|=t[i]<<24-i%4*8;e.call(this,a,s)}else e.apply(this,arguments)};s.prototype=t}}(),a.lib.WordArray)},989:function(t,e,s){var a;t.exports=(a=s(518),function(t){var e=a,s=e.lib,i=s.WordArray,r=s.Hasher,n=e.algo,o=[];!function(){for(var e=0;e<64;e++)o[e]=4294967296*t.abs(t.sin(e+1))|0}();var h=n.MD5=r.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var s=0;s<16;s++){var a=e+s,i=t[a];t[a]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var r=this._hash.words,n=t[e+0],h=t[e+1],d=t[e+2],p=t[e+3],m=t[e+4],E=t[e+5],g=t[e+6],w=t[e+7],f=t[e+8],y=t[e+9],v=t[e+10],S=t[e+11],A=t[e+12],T=t[e+13],I=t[e+14],C=t[e+15],D=r[0],O=r[1],P=r[2],N=r[3];D=c(D,O,P,N,n,7,o[0]),N=c(N,D,O,P,h,12,o[1]),P=c(P,N,D,O,d,17,o[2]),O=c(O,P,N,D,p,22,o[3]),D=c(D,O,P,N,m,7,o[4]),N=c(N,D,O,P,E,12,o[5]),P=c(P,N,D,O,g,17,o[6]),O=c(O,P,N,D,w,22,o[7]),D=c(D,O,P,N,f,7,o[8]),N=c(N,D,O,P,y,12,o[9]),P=c(P,N,D,O,v,17,o[10]),O=c(O,P,N,D,S,22,o[11]),D=c(D,O,P,N,A,7,o[12]),N=c(N,D,O,P,T,12,o[13]),P=c(P,N,D,O,I,17,o[14]),D=_(D,O=c(O,P,N,D,C,22,o[15]),P,N,h,5,o[16]),N=_(N,D,O,P,g,9,o[17]),P=_(P,N,D,O,S,14,o[18]),O=_(O,P,N,D,n,20,o[19]),D=_(D,O,P,N,E,5,o[20]),N=_(N,D,O,P,v,9,o[21]),P=_(P,N,D,O,C,14,o[22]),O=_(O,P,N,D,m,20,o[23]),D=_(D,O,P,N,y,5,o[24]),N=_(N,D,O,P,I,9,o[25]),P=_(P,N,D,O,p,14,o[26]),O=_(O,P,N,D,f,20,o[27]),D=_(D,O,P,N,T,5,o[28]),N=_(N,D,O,P,d,9,o[29]),P=_(P,N,D,O,w,14,o[30]),D=l(D,O=_(O,P,N,D,A,20,o[31]),P,N,E,4,o[32]),N=l(N,D,O,P,f,11,o[33]),P=l(P,N,D,O,S,16,o[34]),O=l(O,P,N,D,I,23,o[35]),D=l(D,O,P,N,h,4,o[36]),N=l(N,D,O,P,m,11,o[37]),P=l(P,N,D,O,w,16,o[38]),O=l(O,P,N,D,v,23,o[39]),D=l(D,O,P,N,T,4,o[40]),N=l(N,D,O,P,n,11,o[41]),P=l(P,N,D,O,p,16,o[42]),O=l(O,P,N,D,g,23,o[43]),D=l(D,O,P,N,y,4,o[44]),N=l(N,D,O,P,A,11,o[45]),P=l(P,N,D,O,C,16,o[46]),D=u(D,O=l(O,P,N,D,d,23,o[47]),P,N,n,6,o[48]),N=u(N,D,O,P,w,10,o[49]),P=u(P,N,D,O,I,15,o[50]),O=u(O,P,N,D,E,21,o[51]),D=u(D,O,P,N,A,6,o[52]),N=u(N,D,O,P,p,10,o[53]),P=u(P,N,D,O,v,15,o[54]),O=u(O,P,N,D,h,21,o[55]),D=u(D,O,P,N,f,6,o[56]),N=u(N,D,O,P,C,10,o[57]),P=u(P,N,D,O,g,15,o[58]),O=u(O,P,N,D,T,21,o[59]),D=u(D,O,P,N,m,6,o[60]),N=u(N,D,O,P,S,10,o[61]),P=u(P,N,D,O,d,15,o[62]),O=u(O,P,N,D,y,21,o[63]),r[0]=r[0]+D|0,r[1]=r[1]+O|0,r[2]=r[2]+P|0,r[3]=r[3]+N|0},_doFinalize:function(){var e=this._data,s=e.words,a=8*this._nDataBytes,i=8*e.sigBytes;s[i>>>5]|=128<<24-i%32;var r=t.floor(a/4294967296),n=a;s[15+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),s[14+(i+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(s.length+1),this._process();for(var o=this._hash,h=o.words,c=0;c<4;c++){var _=h[c];h[c]=16711935&(_<<8|_>>>24)|4278255360&(_<<24|_>>>8)}return o},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t}});function c(t,e,s,a,i,r,n){var o=t+(e&s|~e&a)+i+n;return(o<<r|o>>>32-r)+e}function _(t,e,s,a,i,r,n){var o=t+(e&a|s&~a)+i+n;return(o<<r|o>>>32-r)+e}function l(t,e,s,a,i,r,n){var o=t+(e^s^a)+i+n;return(o<<r|o>>>32-r)+e}function u(t,e,s,a,i,r,n){var o=t+(s^(e|~a))+i+n;return(o<<r|o>>>32-r)+e}e.MD5=r._createHelper(h),e.HmacMD5=r._createHmacHelper(h)}(Math),a.MD5)},330:function(t,e,s){var a;t.exports=(a=s(518),s(768),a.mode.CFB=function(){var t=a.lib.BlockCipherMode.extend();function e(t,e,s,a){var i,r=this._iv;r?(i=r.slice(0),this._iv=void 0):i=this._prevBlock,a.encryptBlock(i,0);for(var n=0;n<s;n++)t[e+n]^=i[n]}return t.Encryptor=t.extend({processBlock:function(t,s){var a=this._cipher,i=a.blockSize;e.call(this,t,s,i,a),this._prevBlock=t.slice(s,s+i)}}),t.Decryptor=t.extend({processBlock:function(t,s){var a=this._cipher,i=a.blockSize,r=t.slice(s,s+i);e.call(this,t,s,i,a),this._prevBlock=r}}),t}(),a.mode.CFB)},71:function(t,e,s){var a;t.exports=(a=s(518),s(768),
5
- /** @preserve
6
- * Counter block mode compatible with Dr Brian Gladman fileenc.c
7
- * derived from CryptoJS.mode.CTR
8
- * Jan Hruby jhruby.web@gmail.com
9
- */
10
- a.mode.CTRGladman=function(){var t=a.lib.BlockCipherMode.extend();function e(t){if(255&~(t>>24))t+=1<<24;else{var e=t>>16&255,s=t>>8&255,a=255&t;255===e?(e=0,255===s?(s=0,255===a?a=0:++a):++s):++e,t=0,t+=e<<16,t+=s<<8,t+=a}return t}function s(t){return 0===(t[0]=e(t[0]))&&(t[1]=e(t[1])),t}var i=t.Encryptor=t.extend({processBlock:function(t,e){var a=this._cipher,i=a.blockSize,r=this._iv,n=this._counter;r&&(n=this._counter=r.slice(0),this._iv=void 0),s(n);var o=n.slice(0);a.encryptBlock(o,0);for(var h=0;h<i;h++)t[e+h]^=o[h]}});return t.Decryptor=i,t}(),a.mode.CTRGladman)},944:function(t,e,s){var a,i,r;t.exports=(r=s(518),s(768),r.mode.CTR=(a=r.lib.BlockCipherMode.extend(),i=a.Encryptor=a.extend({processBlock:function(t,e){var s=this._cipher,a=s.blockSize,i=this._iv,r=this._counter;i&&(r=this._counter=i.slice(0),this._iv=void 0);var n=r.slice(0);s.encryptBlock(n,0),r[a-1]=r[a-1]+1|0;for(var o=0;o<a;o++)t[e+o]^=n[o]}}),a.Decryptor=i,a),r.mode.CTR)},561:function(t,e,s){var a,i;t.exports=(i=s(518),s(768),i.mode.ECB=((a=i.lib.BlockCipherMode.extend()).Encryptor=a.extend({processBlock:function(t,e){this._cipher.encryptBlock(t,e)}}),a.Decryptor=a.extend({processBlock:function(t,e){this._cipher.decryptBlock(t,e)}}),a),i.mode.ECB)},974:function(t,e,s){var a,i,r;t.exports=(r=s(518),s(768),r.mode.OFB=(a=r.lib.BlockCipherMode.extend(),i=a.Encryptor=a.extend({processBlock:function(t,e){var s=this._cipher,a=s.blockSize,i=this._iv,r=this._keystream;i&&(r=this._keystream=i.slice(0),this._iv=void 0),s.encryptBlock(r,0);for(var n=0;n<a;n++)t[e+n]^=r[n]}}),a.Decryptor=i,a),r.mode.OFB)},782:function(t,e,s){var a;t.exports=(a=s(518),s(768),a.pad.AnsiX923={pad:function(t,e){var s=t.sigBytes,a=4*e,i=a-s%a,r=s+i-1;t.clamp(),t.words[r>>>2]|=i<<24-r%4*8,t.sigBytes+=i},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},a.pad.Ansix923)},846:function(t,e,s){var a;t.exports=(a=s(518),s(768),a.pad.Iso10126={pad:function(t,e){var s=4*e,i=s-t.sigBytes%s;t.concat(a.lib.WordArray.random(i-1)).concat(a.lib.WordArray.create([i<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},a.pad.Iso10126)},673:function(t,e,s){var a;t.exports=(a=s(518),s(768),a.pad.Iso97971={pad:function(t,e){t.concat(a.lib.WordArray.create([2147483648],1)),a.pad.ZeroPadding.pad(t,e)},unpad:function(t){a.pad.ZeroPadding.unpad(t),t.sigBytes--}},a.pad.Iso97971)},805:function(t,e,s){var a;t.exports=(a=s(518),s(768),a.pad.NoPadding={pad:function(){},unpad:function(){}},a.pad.NoPadding)},622:function(t,e,s){var a;t.exports=(a=s(518),s(768),a.pad.ZeroPadding={pad:function(t,e){var s=4*e;t.clamp(),t.sigBytes+=s-(t.sigBytes%s||s)},unpad:function(t){var e=t.words,s=t.sigBytes-1;for(s=t.sigBytes-1;s>=0;s--)if(e[s>>>2]>>>24-s%4*8&255){t.sigBytes=s+1;break}}},a.pad.ZeroPadding)},604:function(t,e,s){var a,i,r,n,o,h,c,_,l;t.exports=(l=s(518),s(110),s(2),i=(a=l).lib,r=i.Base,n=i.WordArray,o=a.algo,h=o.SHA256,c=o.HMAC,_=o.PBKDF2=r.extend({cfg:r.extend({keySize:4,hasher:h,iterations:25e4}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var s=this.cfg,a=c.create(s.hasher,t),i=n.create(),r=n.create([1]),o=i.words,h=r.words,_=s.keySize,l=s.iterations;o.length<_;){var u=a.update(e).finalize(r);a.reset();for(var d=u.words,p=d.length,m=u,E=1;E<l;E++){m=a.finalize(m),a.reset();for(var g=m.words,w=0;w<p;w++)d[w]^=g[w]}i.concat(u),h[0]++}return i.sigBytes=4*_,i}}),a.PBKDF2=function(t,e,s){return _.create(s).compute(t,e)},l.PBKDF2)},333:function(t,e,s){var a;t.exports=(a=s(518),s(201),s(989),s(953),s(768),function(){var t=a,e=t.lib.StreamCipher,s=t.algo,i=[],r=[],n=[],o=s.RabbitLegacy=e.extend({_doReset:function(){var t=this._key.words,e=this.cfg.iv,s=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],a=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var i=0;i<4;i++)h.call(this);for(i=0;i<8;i++)a[i]^=s[i+4&7];if(e){var r=e.words,n=r[0],o=r[1],c=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),_=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),l=c>>>16|4294901760&_,u=_<<16|65535&c;for(a[0]^=c,a[1]^=l,a[2]^=_,a[3]^=u,a[4]^=c,a[5]^=l,a[6]^=_,a[7]^=u,i=0;i<4;i++)h.call(this)}},_doProcessBlock:function(t,e){var s=this._X;h.call(this),i[0]=s[0]^s[5]>>>16^s[3]<<16,i[1]=s[2]^s[7]>>>16^s[5]<<16,i[2]=s[4]^s[1]>>>16^s[7]<<16,i[3]=s[6]^s[3]>>>16^s[1]<<16;for(var a=0;a<4;a++)i[a]=16711935&(i[a]<<8|i[a]>>>24)|4278255360&(i[a]<<24|i[a]>>>8),t[e+a]^=i[a]},blockSize:4,ivSize:2});function h(){for(var t=this._X,e=this._C,s=0;s<8;s++)r[s]=e[s];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<r[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<r[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<r[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<r[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<r[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<r[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<r[6]>>>0?1:0)|0,this._b=e[7]>>>0<r[7]>>>0?1:0,s=0;s<8;s++){var a=t[s]+e[s],i=65535&a,o=a>>>16,h=((i*i>>>17)+i*o>>>15)+o*o,c=((4294901760&a)*a|0)+((65535&a)*a|0);n[s]=h^c}t[0]=n[0]+(n[7]<<16|n[7]>>>16)+(n[6]<<16|n[6]>>>16)|0,t[1]=n[1]+(n[0]<<8|n[0]>>>24)+n[7]|0,t[2]=n[2]+(n[1]<<16|n[1]>>>16)+(n[0]<<16|n[0]>>>16)|0,t[3]=n[3]+(n[2]<<8|n[2]>>>24)+n[1]|0,t[4]=n[4]+(n[3]<<16|n[3]>>>16)+(n[2]<<16|n[2]>>>16)|0,t[5]=n[5]+(n[4]<<8|n[4]>>>24)+n[3]|0,t[6]=n[6]+(n[5]<<16|n[5]>>>16)+(n[4]<<16|n[4]>>>16)|0,t[7]=n[7]+(n[6]<<8|n[6]>>>24)+n[5]|0}t.RabbitLegacy=e._createHelper(o)}(),a.RabbitLegacy)},537:function(t,e,s){var a;t.exports=(a=s(518),s(201),s(989),s(953),s(768),function(){var t=a,e=t.lib.StreamCipher,s=t.algo,i=[],r=[],n=[],o=s.Rabbit=e.extend({_doReset:function(){for(var t=this._key.words,e=this.cfg.iv,s=0;s<4;s++)t[s]=16711935&(t[s]<<8|t[s]>>>24)|4278255360&(t[s]<<24|t[s]>>>8);var a=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];for(this._b=0,s=0;s<4;s++)h.call(this);for(s=0;s<8;s++)i[s]^=a[s+4&7];if(e){var r=e.words,n=r[0],o=r[1],c=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),_=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),l=c>>>16|4294901760&_,u=_<<16|65535&c;for(i[0]^=c,i[1]^=l,i[2]^=_,i[3]^=u,i[4]^=c,i[5]^=l,i[6]^=_,i[7]^=u,s=0;s<4;s++)h.call(this)}},_doProcessBlock:function(t,e){var s=this._X;h.call(this),i[0]=s[0]^s[5]>>>16^s[3]<<16,i[1]=s[2]^s[7]>>>16^s[5]<<16,i[2]=s[4]^s[1]>>>16^s[7]<<16,i[3]=s[6]^s[3]>>>16^s[1]<<16;for(var a=0;a<4;a++)i[a]=16711935&(i[a]<<8|i[a]>>>24)|4278255360&(i[a]<<24|i[a]>>>8),t[e+a]^=i[a]},blockSize:4,ivSize:2});function h(){for(var t=this._X,e=this._C,s=0;s<8;s++)r[s]=e[s];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<r[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<r[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<r[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<r[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<r[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<r[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<r[6]>>>0?1:0)|0,this._b=e[7]>>>0<r[7]>>>0?1:0,s=0;s<8;s++){var a=t[s]+e[s],i=65535&a,o=a>>>16,h=((i*i>>>17)+i*o>>>15)+o*o,c=((4294901760&a)*a|0)+((65535&a)*a|0);n[s]=h^c}t[0]=n[0]+(n[7]<<16|n[7]>>>16)+(n[6]<<16|n[6]>>>16)|0,t[1]=n[1]+(n[0]<<8|n[0]>>>24)+n[7]|0,t[2]=n[2]+(n[1]<<16|n[1]>>>16)+(n[0]<<16|n[0]>>>16)|0,t[3]=n[3]+(n[2]<<8|n[2]>>>24)+n[1]|0,t[4]=n[4]+(n[3]<<16|n[3]>>>16)+(n[2]<<16|n[2]>>>16)|0,t[5]=n[5]+(n[4]<<8|n[4]>>>24)+n[3]|0,t[6]=n[6]+(n[5]<<16|n[5]>>>16)+(n[4]<<16|n[4]>>>16)|0,t[7]=n[7]+(n[6]<<8|n[6]>>>24)+n[5]|0}t.Rabbit=e._createHelper(o)}(),a.Rabbit)},556:function(t,e,s){var a;t.exports=(a=s(518),s(201),s(989),s(953),s(768),function(){var t=a,e=t.lib.StreamCipher,s=t.algo,i=s.RC4=e.extend({_doReset:function(){for(var t=this._key,e=t.words,s=t.sigBytes,a=this._S=[],i=0;i<256;i++)a[i]=i;i=0;for(var r=0;i<256;i++){var n=i%s,o=e[n>>>2]>>>24-n%4*8&255;r=(r+a[i]+o)%256;var h=a[i];a[i]=a[r],a[r]=h}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=r.call(this)},keySize:8,ivSize:0});function r(){for(var t=this._S,e=this._i,s=this._j,a=0,i=0;i<4;i++){s=(s+t[e=(e+1)%256])%256;var r=t[e];t[e]=t[s],t[s]=r,a|=t[(t[e]+t[s])%256]<<24-8*i}return this._i=e,this._j=s,a}t.RC4=e._createHelper(i);var n=s.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var t=this.cfg.drop;t>0;t--)r.call(this)}});t.RC4Drop=e._createHelper(n)}(),a.RC4)},261:function(t,e,s){var a;t.exports=(a=s(518),
11
- /** @preserve
12
- (c) 2012 by Cédric Mesnil. All rights reserved.
1
+ /*! @license WWA Wing Engine (c) NAO / WWA Wing Team / MIT License https://github.com/WWAWing/WWAWing/blob/v4/packages/engine/LICENSE
2
+ @license crypto-js (c) Jeff Mott / Evan Vosberg / MIT License https://github.com/brix/crypto-js/blob/develop/LICENSE */
3
+ var WWA=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e));function u(e,t=new WeakMap){if(typeof e==`symbol`)throw TypeError(`symbol は変換対象外です`);if(typeof e!=`object`||!e)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let n=[];t.set(e,n);for(let r of e)n.push(u(r,t));return n}let n=new Map;t.set(e,n);for(let[r,i]of Object.entries(e)){if(typeof r!=`string`)throw TypeError(`文字列以外のキーは変換できません`);n.set(r,u(i,t))}return n}function d(e,t=new WeakMap){if(typeof e==`symbol`)throw TypeError(`symbol は変換対象外です`);if(e instanceof Map){if(t.has(e))return t.get(e);let n=Object.create(null);t.set(e,n);for(let[r,i]of e.entries())n[r]=d(i,t);return n}if(Array.isArray(e)){if(t.has(e))return t.get(e);let n=[];t.set(e,n);for(let r of e)n.push(d(r,t));return n}if(typeof e==`object`&&e)throw TypeError(`Mapおよび配列でないオブジェクトは変換対象外です`);return e}function f(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`||typeof e==`symbol`||e==null}var p=function(e){return e[e.DECISION=1]=`DECISION`,e[e.ATTACK=3]=`ATTACK`,e[e.BGM_LB=70]=`BGM_LB`,e[e.NO_SOUND=99]=`NO_SOUND`,e}({}),m=Object.freeze({CONFIRM_LOAD_SOUND:{code:1,defaultText:`効果音・BGMデータをロードしますか?`,mapdataParams:{messageArea:`systemMessage`,index:2}},NO_MONEY:{code:101,defaultText:`所持金がたりない。`,mapdataParams:{messageArea:`message`,index:6}},NO_ITEM:{code:201,mapdataParams:{messageArea:`message`,index:7},defaultText:`アイテムを持っていない。`},ITEM_BOX_FULL:{code:202,defaultText:`これ以上、アイテムを持てません。`,mapdataParams:{messageArea:`systemMessage`,index:1}},ITEM_SELECT_TUTORIAL:{code:203,defaultText:`このアイテムは%HOW_TO_USE_ITEM%ことで使用できます。
4
+ 使用できるアイテムは色枠で囲まれます。`,mapdataParams:{messageArea:`systemMessage`,index:0}},CONFIRM_USE_ITEM:{code:204,defaultText:`このアイテムを使用します。
5
+ よろしいですか?`,mapdataParams:{messageArea:`message`,index:8}},CANNOT_DAMAGE_MONSTER:{code:301,defaultText:`相手の防御能力が高すぎる!`},BATTLE_NOT_SETTLED:{code:302,defaultText:`勝負がつかない!`},CONFIRM_ENTER_URL_GATE:{code:401,defaultText:`他のページにリンクします。
6
+ よろしいですか?`,mapdataParams:{messageArea:`message`,index:5}},GAME_SPEED_CHANGED:{code:501,defaultText:`移動速度を【%GAME_SPEED_NAME%】に切り替えました。
7
+ %HIGH_SPEED_MESSAGE%(%MAX_SPEED_INDEX%段階中%GAME_SPEED_INDEX%)
8
+ 速度を落とすには%SPEED_DOWN_BUTTON%, 速度を上げるには%SPEED_UP_BUTTON%を押してください。`},GAME_SPEED_CHANGE_DISABLED:{code:502,defaultText:`ここでは移動速度を
9
+ 変更できません。`}}),h=Object.keys(m),g=h.reduce((e,t)=>({...e,[t]:t}),{}),_=m;function v(e){return h.some(t=>t===e)}function y(e){for(let t of h)if(_[t].code===e)return t}var b=class e{add(e){return this.strength+=e.strength,this.defence+=e.defence,this}plus(t){return new e(this.strength+t.strength,this.defence+t.defence)}minus(t){return new e(this.strength-t.strength,this.defence-t.defence)}equals(e){return this.strength===e.strength&&this.defence===e.defence}constructor(e,t){this.strength=e,this.defence=t}},x=class e extends b{add(t){return t instanceof e&&(this.energy+=t.energy,this.gold+=t.gold),this.strength+=t.strength,this.defence+=t.defence,this}plus(t){return t instanceof e?new e(this.energy+t.energy,this.strength+t.strength,this.defence+t.defence,this.gold+t.gold):new e(this.energy,this.strength+t.strength,this.defence+t.defence,this.gold)}minus(t){return t instanceof e?new e(this.energy-t.energy,this.strength-t.strength,this.defence-t.defence,this.gold-t.gold):new e(this.energy,this.strength-t.strength,this.defence-t.defence,this.gold)}equals(e){return this.energy===e.energy&&this.strength===e.strength&&this.defence===e.defence&&this.gold===e.gold}calculateScore(e){return Object.keys(e.rates).reduce((t,n)=>t+e.rates[n]*this[n],0)}clone(){return new e(this.energy,this.strength,this.defence,this.gold)}constructor(e,t,n,r){super(t,n),this.energy=e,this.gold=r}},S=class e{equals(e){return this.x===e.x&&this.y===e.y}substract(t){return new e(this.x-t.x,this.y-t.y)}clone(){return new e(this.x,this.y)}convertIntoPosition(e){return new C(e,this.x,this.y,0,0)}getDirectionTo(e){return this.x<e.x?this.y>e.y?T.RIGHT_UP:this.y===e.y?T.RIGHT:T.RIGHT_DOWN:this.x===e.x?this.y>e.y?T.UP:this.y===e.y?T.NO_DIRECTION:T.DOWN:this.y>e.y?T.LEFT_UP:this.y===e.y?T.LEFT:T.LEFT_DOWN}toString(){return`(`+this.x+`, `+this.y+`)`}constructor(e=0,t=0){this.x=e,this.y=t}},C=class e{getPartsCoord(){return this._partsCoord}getOffsetCoord(){return this._offsetCoord}getScreenTopPosition(){var t=Math.floor(this._partsCoord.x/(L.H_PARTS_NUM_IN_WINDOW-1))*(L.H_PARTS_NUM_IN_WINDOW-1),n=Math.floor(this._partsCoord.y/(L.V_PARTS_NUM_IN_WINDOW-1))*(L.V_PARTS_NUM_IN_WINDOW-1);return new e(this._wwa,t,n,0,0)}getDefaultCameraPosition(){var e=this.getScreenTopPosition(),t=e.getPartsCoord(),n=this._wwa.getMapWidth(),r=e.getPartsCoord().clone();return t.x===n-1&&r.x--,t.y===n-1&&r.y--,r.convertIntoPosition(this._wwa).getScreenTopPosition()}getNextJustPosition(t){if(t!==void 0){var n=this._partsCoord;return new e(this._wwa,n.x+E[t],n.y+D[t],0,0)}var r=this._partsCoord.x,i=this._partsCoord.y;return this._offsetCoord.x<0?r--:this._offsetCoord.x>0&&r++,this._offsetCoord.y<0?i--:this._offsetCoord.y>0&&i++,new e(this._wwa,r,i,0,0)}getNextFramePosition(t,n,r){var i=this._partsCoord.x,a=this._partsCoord.y,o=this._offsetCoord.x+E[t]*n,s=this._offsetCoord.y+D[t]*r;if(o<0){var c=Math.floor(Math.abs(o)/L.CHIP_SIZE);i-=c,o=(o+c*L.CHIP_SIZE)%L.CHIP_SIZE}if(s<0){var l=Math.floor(Math.abs(s)/L.CHIP_SIZE);a-=l,s=(s+l*L.CHIP_SIZE)%L.CHIP_SIZE}return o>=L.CHIP_SIZE&&(i+=Math.floor(o/L.CHIP_SIZE),o=(o+L.CHIP_SIZE)%L.CHIP_SIZE),s>=L.CHIP_SIZE&&(a+=Math.floor(s/L.CHIP_SIZE),s=(s+L.CHIP_SIZE)%L.CHIP_SIZE),new e(this._wwa,i,a,o,s)}isJustPosition(){return this._offsetCoord.x==0&&this._offsetCoord.y==0}isScreenTopPosition(){var e=this.getScreenTopPosition();return this.equals(e)}equals(e){return this._partsCoord.equals(e.getPartsCoord())&&this._offsetCoord.equals(e.getOffsetCoord())}isInCameraRange(e,t=!1){var n=e.getPosition()._partsCoord,r=this._partsCoord.x,i=this._partsCoord.y,a=+!!t;return n.x<=r&&r<n.x+L.H_PARTS_NUM_IN_WINDOW-a&&n.y<=i&&i<n.y+L.V_PARTS_NUM_IN_WINDOW-a}hasLocalGate(){return this._wwa.getMapTypeByPosition(this)===L.MAP_LOCALGATE||this._wwa.getObjectTypeByPosition(this)===L.OBJECT_LOCALGATE}clone(){return new e(this._wwa,this._partsCoord.x,this._partsCoord.y,this._offsetCoord.x,this._offsetCoord.y)}constructor(e,t,n,r=0,i=0){if(this._wwa=e,this._wwa===void 0)throw Error(`WWAのインスタンスが存在しません. `);var a=this._wwa.getMapWidth();if(t<0||t>=a||t>=a-1&&r>0||n<0||n>=a||n>=a-1&&i>0)throw Error(`範囲外の座標です!! parts:(`+t+`, `+n+`), offset:(`+r+`, `+i+`), mapWidth = `+a);this._partsCoord=new S(t,n),this._offsetCoord=new S(r,i)}},ee=class{constructor(e,t,n){this.destPos=e.clone(),this.srcPos=t.clone(),this.srcSize=n.clone()}},te=class{constructor(e,t,n,r,i){this.partsIDObj=e,this.x=t,this.y=n,this.isStatic=r,this.isFighting=i}},w=function(e){return e[e.GOTO_WWA=0]=`GOTO_WWA`,e[e.BATTLE_REPORT=1]=`BATTLE_REPORT`,e[e.GAME_END=2]=`GAME_END`,e}({}),T=function(e){return e[e.UNUSED=0]=`UNUSED`,e[e.LEFT=4]=`LEFT`,e[e.RIGHT=6]=`RIGHT`,e[e.DOWN=2]=`DOWN`,e[e.UP=8]=`UP`,e[e.LEFT_DOWN=1]=`LEFT_DOWN`,e[e.LEFT_UP=7]=`LEFT_UP`,e[e.RIGHT_DOWN=3]=`RIGHT_DOWN`,e[e.RIGHT_UP=9]=`RIGHT_UP`,e[e.NO_DIRECTION=5]=`NO_DIRECTION`,e}({}),E=[0,-1,0,1,-1,0,1,-1,0,1],D=[0,1,1,1,0,0,0,-1,-1,-1],O=function(e){return e[e.YES=0]=`YES`,e[e.NO=1]=`NO`,e[e.UNSELECTED=2]=`UNSELECTED`,e}({}),k=function(e){return e[e.MAP=0]=`MAP`,e[e.OBJECT=1]=`OBJECT`,e[e.CHOICE_YES=2]=`CHOICE_YES`,e[e.CHOICE_NO=3]=`CHOICE_NO`,e}({}),ne=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.CAN_USE=1]=`CAN_USE`,e[e.NOT_DISAPPEAR=2]=`NOT_DISAPPEAR`,e}({}),A=function(e){return e[e.MAP=1]=`MAP`,e[e.OBJECT=0]=`OBJECT`,e}({}),j=class{constructor(){var e=window.navigator.userAgent;this.os=this._getOS(e),this.browser=this.getBrowser(e),this.device=this.getDevice()}_getOS(e){return e.match(/xbox/i)?M.XBOX:e.match(/windows/i)?M.WINDOWS:e.match(/macintosh/i)?`ontouchstart`in document?M.IOS:M.MACINTOSH:e.match(/iphone|ipad|ipod/i)?M.IOS:e.match(/oculus/i)?M.OCULUS:e.match(/android/i)?M.ANDROID:e.match(/nintendo/i)?M.NINTENDO:e.match(/playstation/i)?M.PLAY_STATION:e.match(/linux/i)?M.LINUX:M.OTHERS}getBrowser(e){return e.match(/chrome/i)?ie.CHROME:e.match(/firefox/i)?ie.FIREFOX:e.match(/safari/i)?ie.SAFARI:ie.OTHERS}getDevice(){switch(this.os){case M.WINDOWS:case M.MACINTOSH:case M.LINUX:return re.PC;case M.IOS:case M.ANDROID:return re.SP;case M.OCULUS:return re.VR;case M.NINTENDO:case M.PLAY_STATION:case M.XBOX:return re.GAME}return re.OTHERS}},M=function(e){return e[e.WINDOWS=1]=`WINDOWS`,e[e.MACINTOSH=2]=`MACINTOSH`,e[e.LINUX=3]=`LINUX`,e[e.ANDROID=4]=`ANDROID`,e[e.IOS=5]=`IOS`,e[e.NINTENDO=6]=`NINTENDO`,e[e.PLAY_STATION=7]=`PLAY_STATION`,e[e.OCULUS=8]=`OCULUS`,e[e.XBOX=9]=`XBOX`,e[e.OTHERS=9999]=`OTHERS`,e}({}),re=function(e){return e[e.PC=1]=`PC`,e[e.SP=2]=`SP`,e[e.VR=3]=`VR`,e[e.GAME=4]=`GAME`,e[e.OTHERS=9999]=`OTHERS`,e}({}),ie=function(e){return e[e.CHROME=1]=`CHROME`,e[e.FIREFOX=2]=`FIREFOX`,e[e.SAFARI=3]=`SAFARI`,e[e.OTHERS=9999]=`OTHERS`,e}({}),N=function(e){return e[e.NONE=0]=`NONE`,e[e.CALL_BY_MAP_PARTS=1]=`CALL_BY_MAP_PARTS`,e[e.CALL_BY_OBJECT_PARTS=2]=`CALL_BY_OBJECT_PARTS`,e[e.CALL_BY_ITEM_USE=3]=`CALL_BY_ITEM_USE`,e[e.CALL_BY_QUICK_SAVE=4]=`CALL_BY_QUICK_SAVE`,e[e.CALL_BY_QUICK_LOAD=5]=`CALL_BY_QUICK_LOAD`,e[e.CALL_BY_RESTART_GAME=6]=`CALL_BY_RESTART_GAME`,e[e.CALL_BY_GOTO_WWA=7]=`CALL_BY_GOTO_WWA`,e[e.CALL_BY_PASSWORD_SAVE=8]=`CALL_BY_PASSWORD_SAVE`,e[e.CALL_BY_PASSWORD_LOAD=9]=`CALL_BY_PASSWORD_LOAD`,e[e.CALL_BY_END_GAME=10]=`CALL_BY_END_GAME`,e[e.CALL_BY_SUSPEND=11]=`CALL_BY_SUSPEND`,e[e.CALL_BY_LOG_QUICK_SAVE=12]=`CALL_BY_LOG_QUICK_SAVE`,e[e.CALL_BY_LOG_QUICK_LOAD=13]=`CALL_BY_LOG_QUICK_LOAD`,e}({}),P=function(e){return e[e.QUICK_LOAD=0]=`QUICK_LOAD`,e[e.QUICK_SAVE=1]=`QUICK_SAVE`,e[e.RESTART_GAME=2]=`RESTART_GAME`,e[e.GOTO_WWA=3]=`GOTO_WWA`,e}({}),ae=function(e){return e[e.UP=0]=`UP`,e[e.DOWN=1]=`DOWN`,e}({}),oe=function(e){return e[e.QUICK_LOAD=0]=`QUICK_LOAD`,e[e.RESTART_GAME=1]=`RESTART_GAME`,e[e.PASSWORD=2]=`PASSWORD`,e}({}),se=function(e){return e[e.STATIC=0]=`STATIC`,e[e.CHASE_PLAYER=1]=`CHASE_PLAYER`,e[e.RUN_OUT=2]=`RUN_OUT`,e[e.HANG_AROUND=3]=`HANG_AROUND`,e}({}),ce=function(e){return e[e.MODE_X=0]=`MODE_X`,e[e.MODE_Y=1]=`MODE_Y`,e[e.UNDECIDED=2]=`UNDECIDED`,e}({}),F=[`cell-load`,`cell-save`,`cell-restart`,`cell-gotowwa`],I=function(e){return e[e.UNDEFINED=0]=`UNDEFINED`,e[e.IMGPLAYER=1]=`IMGPLAYER`,e[e.IMGYESNO=2]=`IMGYESNO`,e[e.HPMAX=3]=`HPMAX`,e[e.SAVE=4]=`SAVE`,e[e.ITEM=5]=`ITEM`,e[e.DEFAULT=6]=`DEFAULT`,e[e.OLDMAP=7]=`OLDMAP`,e[e.PARTS=8]=`PARTS`,e[e.MOVE=9]=`MOVE`,e[e.MAP=10]=`MAP`,e[e.DIRMAP=11]=`DIRMAP`,e[e.IMGFRAME=12]=`IMGFRAME`,e[e.IMGBOM=13]=`IMGBOM`,e[e.DELPLAYER=14]=`DELPLAYER`,e[e.FACE=15]=`FACE`,e[e.EFFECT=16]=`EFFECT`,e[e.GAMEOVER=17]=`GAMEOVER`,e[e.IMGCLICK=18]=`IMGCLICK`,e[e.STATUS=19]=`STATUS`,e[e.EFFITEM=20]=`EFFITEM`,e[e.COLOR=21]=`COLOR`,e[e.WAIT=22]=`WAIT`,e[e.SOUND=23]=`SOUND`,e[e.JUMPGATE=24]=`JUMPGATE`,e[e.RECPOSITION=25]=`RECPOSITION`,e[e.JUMPRECPOSITION=26]=`JUMPRECPOSITION`,e[e.CONSOLE_LOG=27]=`CONSOLE_LOG`,e[e.COPY_HP_TO=28]=`COPY_HP_TO`,e[e.SET_HP=29]=`SET_HP`,e[e.COPY_HPMAX_TO=30]=`COPY_HPMAX_TO`,e[e.SET_HPMAX=31]=`SET_HPMAX`,e[e.COPY_AT_TO=32]=`COPY_AT_TO`,e[e.SET_AT=33]=`SET_AT`,e[e.COPY_DF_TO=34]=`COPY_DF_TO`,e[e.SET_DF=35]=`SET_DF`,e[e.COPY_MONEY_TO=36]=`COPY_MONEY_TO`,e[e.SET_MONEY=37]=`SET_MONEY`,e[e.COPY_STEP_COUNT_TO=38]=`COPY_STEP_COUNT_TO`,e[e.VAR_SET_VAL=39]=`VAR_SET_VAL`,e[e.VAR_SET=40]=`VAR_SET`,e[e.VAR_ADD=41]=`VAR_ADD`,e[e.VAR_SUB=42]=`VAR_SUB`,e[e.VAR_MUL=43]=`VAR_MUL`,e[e.VAR_DIV=44]=`VAR_DIV`,e[e.VAR_SET_RAND=45]=`VAR_SET_RAND`,e[e.SHOW_STR=46]=`SHOW_STR`,e[e.GAME_SPEED=47]=`GAME_SPEED`,e[e.IF=50]=`IF`,e[e.SET_SPEED=51]=`SET_SPEED`,e[e.COPY_TIME_TO=52]=`COPY_TIME_TO`,e[e.HIDE_STATUS=53]=`HIDE_STATUS`,e[e.VAR_MAP=54]=`VAR_MAP`,e[e.VAR_MOD=55]=`VAR_MOD`,e[e.NO_GAMEOVER=56]=`NO_GAMEOVER`,e[e.ELSE_IF=57]=`ELSE_IF`,e[e.ELSE=58]=`ELSE`,e[e.END_IF=59]=`END_IF`,e[e.SET=60]=`SET`,e[e.MAP2=61]=`MAP2`,e[e.SHOW_STR2=62]=`SHOW_STR2`,e[e.CONSOLE_LOG2=63]=`CONSOLE_LOG2`,e[e.DELAYBGM=64]=`DELAYBGM`,e[e.SYSMSG=65]=`SYSMSG`,e[e.PICTURE=66]=`PICTURE`,e[e.GAMEPAD_BUTTON=100]=`GAMEPAD_BUTTON`,e[e.OLDMOVE=101]=`OLDMOVE`,e[e.LEGACY_IF=10050]=`LEGACY_IF`,e}({}),le={"":0,$imgplayer:1,$imgyesno:2,$hpmax:3,$save:4,$item:5,$default:6,$oldmap:7,$parts:8,$move:9,$map:10,$dirmap:11,$imgframe:12,$imgbom:13,$delplayer:14,$face:15,$effect:16,$gameover:17,$imgclick:18,$status:19,$effitem:20,$color:21,$wait:22,$sound:23,$jumpgate:24,$rec_pos:25,$jump_rec_pos:26,$console_log:27,$copy_hp_to:28,$set_hp:29,$copy_hpmax_to:30,$set_hpmax:31,$copy_at_to:32,$set_at:33,$copy_df_to:34,$set_df:35,$copy_money_to:36,$set_money:37,$copy_step_count_to:38,$var_set_val:39,$var_set:40,$var_add:41,$var_sub:42,$var_mul:43,$var_div:44,$var_set_rand:45,$show_str:46,$game_speed:47,$if:50,$set_speed:51,$copy_time_to:52,$hide_status:53,$var_map:54,$var_mod:55,$no_gameover:56,$else_if:57,$else:58,$endif:59,$set:60,$map2:61,$show_str2:62,$console_log2:63,$delaybgm:64,$sysmsg:65,$picture:66,$gamepad_button:100,$oldmove:101},ue=function(e){return e[e.ENERGY=0]=`ENERGY`,e[e.STRENGTH=1]=`STRENGTH`,e[e.DEFENCE=2]=`DEFENCE`,e[e.GOLD=3]=`GOLD`,e[e.MOVES=4]=`MOVES`,e}({}),de=function(e){return e[e.ENERGY=0]=`ENERGY`,e[e.STRENGTH=1]=`STRENGTH`,e[e.DEFENCE=2]=`DEFENCE`,e[e.GOLD=3]=`GOLD`,e[e.WIDE_CELL_ROW=4]=`WIDE_CELL_ROW`,e[e.ITEM_BG=5]=`ITEM_BG`,e[e.MAIN_FRAME=6]=`MAIN_FRAME`,e}({}),fe=[1,2,5,8,10,20],pe=[`超低速`,`低速`,`準低速`,`中速`,`高速`,`超高速`],me=[`energy`,`strength`,`defence`,`gold`],L=class e{static{this.WWA_HOME=`http://wwajp.com`}static{this.ITEMBOX_SIZE=12}static{this.MAP_ATR_MAX=60}static{this.OBJ_ATR_MAX=60}static{this.OLD_MAP_ATR_MAX=40}static{this.OLD_OBJ_ATR_MAX=40}static{this.ATR_TYPE=3}static{this.ATR_MODE=4}static{this.ATR_STRING=5}static{this.ATR_X=6}static{this.ATR_Y=7}static{this.ATR_X2=8}static{this.ATR_Y2=9}static{this.ATR_ENERGY=10}static{this.ATR_STRENGTH=11}static{this.ATR_DEFENCE=12}static{this.ATR_GOLD=13}static{this.ATR_ITEM=14}static{this.ATR_NUMBER=15}static{this.ATR_JUMP_X=16}static{this.ATR_MOVE=16}static{this.ATR_JUMP_Y=17}static{this.ATR_SOUND=19}static{this.ATR_APPERANCE_BASE=20}static{this.REL_ATR_APPERANCE_ID=0}static{this.REL_ATR_APPERANCE_X=1}static{this.REL_ATR_APPERANCE_Y=2}static{this.REL_ATR_APPERANCE_TYPE=3}static{this.REL_ATR_APPERANCE_UNIT_LENGTH=4}static{this.ATR_RANDOM_BASE=10}static{this.RANDOM_ATR_NUM=10}static{this.RANDOM_ITERATION_MAX=10}static{this.MAP_STREET=0}static{this.MAP_WALL=1}static{this.MAP_LOCALGATE=2}static{this.MAP_URLGATE=4}static{this.OBJECT_NORMAL=0}static{this.OBJECT_MESSAGE=1}static{this.OBJECT_URLGATE=2}static{this.OBJECT_STATUS=3}static{this.OBJECT_ITEM=4}static{this.OBJECT_DOOR=5}static{this.OBJECT_MONSTER=6}static{this.OBJECT_SCORE=11}static{this.OBJECT_SELL=14}static{this.OBJECT_BUY=15}static{this.OBJECT_RANDOM=16}static{this.OBJECT_SELECT=17}static{this.OBJECT_LOCALGATE=18}static{this.SYSTEM_MESSAGE_NUM=20}static{this.IMGPOS_DEFAULT_YESNO_X=3}static{this.IMGPOS_DEFAULT_YESNO_Y=1}static{this.IMGRELPOS_YESNO_YES_X=0}static{this.IMGRELPOS_YESNO_NO_X=1}static{this.IMGRELPOS_YESNO_YESP_X=2}static{this.IMGRELPOS_YESNO_NOP_X=3}static{this.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X=0}static{this.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y=0}static{this.IMGPOS_DEFAULT_FRAME_X=0}static{this.IMGPOS_DEFAULT_FRAME_Y=1}static{this.IMGPOS_DEFAULT_BATTLE_EFFECT_X=3}static{this.IMGPOS_DEFAULT_BATTLE_EFFECT_Y=3}static{this.DEFAULT_DISABLE_SAVE=!1}static{this.DEFAULT_OLDMAP=!1}static{this.DEFAULT_OBJECT_NO_COLLAPSE=!1}static{this.SPLASH_SCREEN_DISP_MILLS=100}static{this.DEFAULT_FRAME_INTERVAL=20}static{this.GAMEOVER_FRAME_INTERVAL=50}static{this.YESNO_PRESS_DISP_FRAME_NUM=20}static{this.WAIT_TIME_FRAME_NUM=6}static{this.CHIP_SIZE=40}static{this.MAP_WINDOW_WIDTH=440}static{this.MAP_WINDOW_HEIGHT=440}static{this.H_PARTS_NUM_IN_WINDOW=e.MAP_WINDOW_WIDTH/e.CHIP_SIZE}static{this.V_PARTS_NUM_IN_WINDOW=e.MAP_WINDOW_HEIGHT/e.CHIP_SIZE}static{this.MIN_SPEED_INDEX=0}static{this.MAX_SPEED_INDEX=fe.length-1}static{this.QUICK_BATTLE_SPEED_INDECIES=[fe.length-2,fe.length-1]}static{this.ANIMATION_REP_HALF_FRAME=22}static{this.PLAYER_LOOKING_AROUND_START_FRAME=e.ANIMATION_REP_HALF_FRAME*4}static{this.RELATIVE_COORD_BIAS=1e4}static{this.RELATIVE_COORD_LOWER=e.RELATIVE_COORD_BIAS-1e3}static{this.PLAYER_COORD=e.RELATIVE_COORD_BIAS-1e3}static{this.LOCALGATE_PLAYER_WAIT_FRAME=5}static{this.STATUS_CHANGED_EFFECT_FRAME_NUM=20}static{this.PASSABLE_OBJECT=1}static{this.APPERANCE_PARTS_MIN_INDEX=0}static{this.APPERANCE_PARTS_MAX_INDEX=9}static{this.APPERANCE_PARTS_MIN_INDEX_NO=5}static{this.APPERANCE_PARTS_MAX_INDEX_YES=4}static{this.FADEOUT_SPEED=8}static{this.STATUS_MINUS_BORDER=3e4}static{this.ITEMBOX_IS_FULL=-1}static{this.BATTLE_INTERVAL_FRAME_NUM=10}static{this.BATTLE_SPEED_CHANGE_TURN_NUM=40}static{this.RANDOM_MOVE_ITERATION_NUM=50}static{this.RANDOM_MOVE_ITERATION_NUM_BEFORE_V31=8}static{this.BATTLE_ESTIMATE_MONSTER_TYPE_MAX=8}static{this.SOUND_MAX=100}static{this.ITEM_BORDER_IMG_DATA_URL=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAArklEQVRYR+2Y0QqAIAxFt///aENJHwxxuJUSxzeh3S7HXaNpEkly4FIRzba0GEyHeVTN7jqDWvb7V4Y1NLibZIY0NbiL5G3MZLCe / 1fn3XJgJYjB7mgg6O1VCEKwXo79JeklY62nB62kRs9BEIKkeNIDhISQEBJC4k0BBCF4D7D4cV9shf99ixdB + MrM0y3fa3zV05D45GOqhwPMGPkYlccIOEY2VKUN0UNVXxC7ADj7mDi9aFZZAAAAAElFTkSuQmCC`}static{this.LOAD_STAGE_MAX_EXCEPT_AUDIO=7}static{this.WWA_STYLE_TAG_ID=`wwa-additional-style`}static{this.DEFAULT_FRAME_COLOR_R=255}static{this.DEFAULT_FRAME_COLOR_G=255}static{this.DEFAULT_FRAME_COLOR_B=255}static{this.DEFAULT_FRAMEOUT_COLOR_R=96}static{this.DEFAULT_FRAMEOUT_COLOR_G=96}static{this.DEFAULT_FRAMEOUT_COLOR_B=96}static{this.DEFAULT_STRBACK_COLOR_R=0}static{this.DEFAULT_STRBACK_COLOR_G=0}static{this.DEFAULT_STRBACK_COLOR_B=0}static{this.DEFAULT_STATUS_COLOR_R=0}static{this.DEFAULT_STATUS_COLOR_G=0}static{this.DEFAULT_STATUS_COLOR_B=0}static{this.KEYPRESS_MESSAGE_CHANGE_FRAME_NUM=20}static{this.WWAP_SERVER_OLD=`http://wwawing.com/wwap`}static{this.WWAP_SERVER=`https://wwaphoenix.github.io`}static{this.WWAP_SERVER_AUDIO_DIR=`audio`}static{this.WWAP_SERVER_TITLE_IMG=`cover_p.gif`}static{this.WWAP_SERVER_LOADER_NO_WORKER=`wwaload.noworker.js`}static{this.SCREEN_WIDTH=560}static{this.SCREEN_HEIGHT=440}static{this.LOADING_FONT=`Times New Roman`}static{this.MSG_STR_WIDTH=16}static{this.ITEM_EFFECT_SPEED_PIXEL_PER_FRAME=20}static{this.ITEMBOX_TOP_Y=140}static{this.USER_VAR_NUM=256}static{this.USER_VAR_NUM_MAX_VALUE=9007199254740991}static{this.USET_VAR_NUM_MIN_VALUE=-9007199254740991}static{this.CONTROLL_WAIT_FRAME=6}static{this.INLINE_USER_VAR_VIEWER_DISPLAY_NUM=10}static{this.FIGHT_DRAW_TURN=40}},he=class{static{this.QUICK_SAVE_MAX=4}static{this.QUICK_SAVE_THUMNAIL_WIDTH=99}static{this.QUICK_SAVE_THUMNAIL_HEIGHT=99}static{this.SAVE_INTERVAL_MOVE=200}static{this.INDEXEDDB_DB_NAME=`WWA_WING_DB`}static{this.INDEXEDDB_TABLE_NAME=`SAVE_TABLE`}static{this.DATE_LAST_SAVE_TEXT_COLOR=`rgba(255,255,0,1)`}},ge=class{static{this.EMPTY_LOAD=``}static{this.EMPTY_SAVE=``}static{this.PASSWORD=`Password`}static{this.QUICK_SAVE=`Quick Save`}static{this.QUICK_LOAD=`Quick Load`}static{this.BATTLE_REPORT=`Battle Report`}static{this.GAME_END=`Game End`}static{this.GOTO_WWA=`Goto WWA`}static{this.RESTART_GAME=`Restart Game`}},_e=class{},ve=function(e){return e[e.INIT=0]=`INIT`,e[e.MAP_LOAD=1]=`MAP_LOAD`,e[e.OBJ_LOAD=2]=`OBJ_LOAD`,e[e.MAP_ATTR=3]=`MAP_ATTR`,e[e.OBJ_ATTR=4]=`OBJ_ATTR`,e[e.RAND_PARTS=5]=`RAND_PARTS`,e[e.MESSAGE=6]=`MESSAGE`,e[e.GAME_INIT=7]=`GAME_INIT`,e[e.AUDIO=8]=`AUDIO`,e[e.FINISH=9]=`FINISH`,e}({}),ye=[`ロードの準備をしています。`,`背景パーツを読み込んでいます。`,`物体パーツを読み込んでます。`,`背景パーツの属性を読み込んでます。`,`物体パーツの属性を読み込んでます。`,`ランダムパーツを置換しています。`,`メッセージを読み込んでます。`,`Welcome to WWA Wing!`],be=[`Welcome to WWA Wing!`,`Now Map Data Loading .....`,`Now CG Data Loading .....`,`Now Making chara CG .....`],R=function(e){return e[e.LINE=30]=`LINE`,e[e.TITLE_X=100]=`TITLE_X`,e[e.TITLE_Y=70]=`TITLE_Y`,e[e.LOADING_X=50]=`LOADING_X`,e[e.LOADING_Y=140]=`LOADING_Y`,e[e.ERROR_X=10]=`ERROR_X`,e[e.ERROR_Y=180]=`ERROR_Y`,e[e.FOOTER_X=160]=`FOOTER_X`,e[e.FOOTER_Y=360]=`FOOTER_Y`,e[e.WORLD_Y=330]=`WORLD_Y`,e[e.COPYRIGHT_Y=390]=`COPYRIGHT_Y`,e}({}),xe=function(e){return e[e.TITLE=32]=`TITLE`,e[e.LOADING=22]=`LOADING`,e[e.FOOTER=18]=`FOOTER`,e[e.ERRROR=16]=`ERRROR`,e}({}),Se=function(e){return e[e.COLOR_FRAME=0]=`COLOR_FRAME`,e[e.COLOR_FRAMEOUT=1]=`COLOR_FRAMEOUT`,e[e.COLOR_STR=2]=`COLOR_STR`,e[e.COLOR_STATUS_STR=4]=`COLOR_STATUS_STR`,e}({}),Ce=function(e){return e[e.MESSAGE_WINDOW=0]=`MESSAGE_WINDOW`,e[e.SIDEBAR=1]=`SIDEBAR`,e}({}),we=function(e){return e[e.BITSHIFT=16]=`BITSHIFT`,e[e.BITMASK=65535]=`BITMASK`,e}({}),z=function(e){return e[e.NONE=0]=`NONE`,e[e.KEYDOWN=1]=`KEYDOWN`,e[e.KEYPRESS=2]=`KEYPRESS`,e[e.KEYUP=3]=`KEYUP`,e[e.KEYPRESS_MESSAGECHANGE=4]=`KEYPRESS_MESSAGECHANGE`,e}({}),B=function(e){return e[e.KEY_ENTER=13]=`KEY_ENTER`,e[e.KEY_SHIFT=16]=`KEY_SHIFT`,e[e.KEY_ESC=27]=`KEY_ESC`,e[e.KEY_SPACE=32]=`KEY_SPACE`,e[e.KEY_LEFT=37]=`KEY_LEFT`,e[e.KEY_UP=38]=`KEY_UP`,e[e.KEY_RIGHT=39]=`KEY_RIGHT`,e[e.KEY_DOWN=40]=`KEY_DOWN`,e[e.KEY_0=48]=`KEY_0`,e[e.KEY_1=49]=`KEY_1`,e[e.KEY_2=50]=`KEY_2`,e[e.KEY_3=51]=`KEY_3`,e[e.KEY_4=52]=`KEY_4`,e[e.KEY_5=53]=`KEY_5`,e[e.KEY_6=54]=`KEY_6`,e[e.KEY_7=55]=`KEY_7`,e[e.KEY_8=56]=`KEY_8`,e[e.KEY_9=57]=`KEY_9`,e[e.KEY_A=65]=`KEY_A`,e[e.KEY_B=66]=`KEY_B`,e[e.KEY_C=67]=`KEY_C`,e[e.KEY_D=68]=`KEY_D`,e[e.KEY_E=69]=`KEY_E`,e[e.KEY_F=70]=`KEY_F`,e[e.KEY_G=71]=`KEY_G`,e[e.KEY_H=72]=`KEY_H`,e[e.KEY_I=73]=`KEY_I`,e[e.KEY_J=74]=`KEY_J`,e[e.KEY_K=75]=`KEY_K`,e[e.KEY_L=76]=`KEY_L`,e[e.KEY_M=77]=`KEY_M`,e[e.KEY_N=78]=`KEY_N`,e[e.KEY_O=79]=`KEY_O`,e[e.KEY_P=80]=`KEY_P`,e[e.KEY_Q=81]=`KEY_Q`,e[e.KEY_R=82]=`KEY_R`,e[e.KEY_S=83]=`KEY_S`,e[e.KEY_T=84]=`KEY_T`,e[e.KEY_U=85]=`KEY_U`,e[e.KEY_V=86]=`KEY_V`,e[e.KEY_W=87]=`KEY_W`,e[e.KEY_X=88]=`KEY_X`,e[e.KEY_Y=89]=`KEY_Y`,e[e.KEY_Z=90]=`KEY_Z`,e[e.KEY_NUM0=96]=`KEY_NUM0`,e[e.KEY_NUM1=97]=`KEY_NUM1`,e[e.KEY_NUM2=98]=`KEY_NUM2`,e[e.KEY_NUM3=99]=`KEY_NUM3`,e[e.KEY_NUM4=100]=`KEY_NUM4`,e[e.KEY_NUM5=101]=`KEY_NUM5`,e[e.KEY_NUM6=102]=`KEY_NUM6`,e[e.KEY_NUM7=103]=`KEY_NUM7`,e[e.KEY_NUM8=104]=`KEY_NUM8`,e[e.KEY_NUM9=105]=`KEY_NUM9`,e[e.KEY_F1=112]=`KEY_F1`,e[e.KEY_F2=113]=`KEY_F2`,e[e.KEY_F3=114]=`KEY_F3`,e[e.KEY_F4=115]=`KEY_F4`,e[e.KEY_F5=116]=`KEY_F5`,e[e.KEY_F6=117]=`KEY_F6`,e[e.KEY_F7=118]=`KEY_F7`,e[e.KEY_F8=119]=`KEY_F8`,e[e.KEY_F9=120]=`KEY_F9`,e[e.KEY_F10=121]=`KEY_F10`,e[e.KEY_F12=123]=`KEY_F12`,e}({}),Te=class e{static{this.KEY_BUFFER_MAX=256}checkHitKey(e){var t=this.getKeyState(e);return t===z.KEYDOWN||t===z.KEYPRESS}getKeyState(e){return this._prevKeyState[e]?this._keyState[e]?z.KEYPRESS:z.KEYUP:this._keyState[e]?z.KEYDOWN:z.NONE}getKeyStateForControllPlayer(e){return this._prevKeyStateOnControllable[e]?this._keyState[e]?z.KEYPRESS:z.KEYUP:this._keyState[e]?z.KEYDOWN:z.NONE}getKeyStateForMessageCheck(e){return this._prevKeyState[e]?this._keyState[e]?this._keyInputContinueFrameNum[e]>=L.KEYPRESS_MESSAGE_CHANGE_FRAME_NUM?z.KEYPRESS_MESSAGECHANGE:z.KEYPRESS:z.KEYUP:this._keyState[e]?z.KEYDOWN:z.NONE}setPressInfo(e){this._nextKeyState[e]=!0,this._keyInputContinueFrameNum[e]=-1}setReleaseInfo(e){this._nextKeyState[e]=!1,this._keyInputContinueFrameNum[e]=-1}update(){var t;for(this._prevKeyState=this._keyState.slice(),this._keyState=this._nextKeyState.slice(),t=0;t<e.KEY_BUFFER_MAX;t++)this._keyState[t]&&this._keyInputContinueFrameNum[t]++}memorizeKeyStateOnControllableFrame(){this._prevKeyStateOnControllable=this._keyState.slice()}allClear(){var t;for(this._nextKeyState=Array(e.KEY_BUFFER_MAX),t=0;t<e.KEY_BUFFER_MAX;t++)this._nextKeyState[t]=!1}constructor(){var t;for(this._nextKeyState=Array(e.KEY_BUFFER_MAX),this._keyState=Array(e.KEY_BUFFER_MAX),this._prevKeyState=Array(e.KEY_BUFFER_MAX),this._prevKeyStateOnControllable=Array(e.KEY_BUFFER_MAX),this._keyInputContinueFrameNum=Array(e.KEY_BUFFER_MAX),t=0;t<e.KEY_BUFFER_MAX;t++)this._nextKeyState[t]=!1,this._keyState[t]=!1,this._prevKeyState[t]=!1,this._prevKeyStateOnControllable[t]=!1,this._keyInputContinueFrameNum[t]=0}},Ee=function(e){return e[e.NONE=0]=`NONE`,e[e.MOUSEDOWN=1]=`MOUSEDOWN`,e[e.MOUSEPRESS=2]=`MOUSEPRESS`,e[e.MOUSEUP=3]=`MOUSEUP`,e}({}),De=function(e){return e[e.DIR_KEY=1]=`DIR_KEY`,e}({}),Oe=class{checkClickMouse(e){var t=e===void 0?this.getMouseState():this.getMouseState(e);return t===Ee.MOUSEDOWN||t===Ee.MOUSEPRESS}getMouseState(e){return e!==void 0&&this._inputDir!==e?Ee.NONE:this._prevMouseState?this._mouseState?Ee.MOUSEPRESS:Ee.MOUSEUP:this._mouseState?Ee.MOUSEDOWN:Ee.NONE}getMouseStateForControllPlayer(e){return e!==void 0&&this._inputDir!==e?Ee.NONE:this._prevMouseStateOnControllable?this._mouseState?Ee.MOUSEPRESS:Ee.MOUSEUP:this._mouseState?Ee.MOUSEDOWN:Ee.NONE}setPressInfo(e,t){this._nextMouseState=!0,this._inputDir=e,this._touchID=t}setReleaseInfo(){this._touchID=0,this._nextMouseState=!1}touchIDIsSetDir(){return this._touchID===De.DIR_KEY}memorizeMouseStateOnControllableFrame(){this._prevMouseStateOnControllable=this._mouseState}update(){this._prevMouseState=this._mouseState,this._mouseState=this._nextMouseState}clear(){this._nextMouseState=!1}getTouchID(){return this._touchID}constructor(){this._prevMouseState=!1,this._mouseState=!1,this._nextMouseState=!1}},V=function(e){return e[e.BUTTON_INDEX_B=0]=`BUTTON_INDEX_B`,e[e.BUTTON_INDEX_A=1]=`BUTTON_INDEX_A`,e[e.BUTTON_INDEX_Y=2]=`BUTTON_INDEX_Y`,e[e.BUTTON_INDEX_X=3]=`BUTTON_INDEX_X`,e[e.BUTTON_INDEX_L=4]=`BUTTON_INDEX_L`,e[e.BUTTON_INDEX_R=5]=`BUTTON_INDEX_R`,e[e.BUTTON_INDEX_ZL=6]=`BUTTON_INDEX_ZL`,e[e.BUTTON_INDEX_ZR=7]=`BUTTON_INDEX_ZR`,e[e.BUTTON_INDEX_MINUS=8]=`BUTTON_INDEX_MINUS`,e[e.BUTTON_INDEX_PLUS=9]=`BUTTON_INDEX_PLUS`,e[e.BUTTON_INDEX_LEFT_STICK=10]=`BUTTON_INDEX_LEFT_STICK`,e[e.BUTTON_INDEX_RIGHT_STICK=11]=`BUTTON_INDEX_RIGHT_STICK`,e[e.BUTTON_CROSS_KEY_UP=12]=`BUTTON_CROSS_KEY_UP`,e[e.BUTTON_CROSS_KEY_DOWN=13]=`BUTTON_CROSS_KEY_DOWN`,e[e.BUTTON_CROSS_KEY_LEFT=14]=`BUTTON_CROSS_KEY_LEFT`,e[e.BUTTON_CROSS_KEY_RIGHT=15]=`BUTTON_CROSS_KEY_RIGHT`,e}({}),ke=function(e){return e[e.AXES_L_HORIZONTAL_INDEX=0]=`AXES_L_HORIZONTAL_INDEX`,e[e.AXES_L_VERTICAL_INDEX=1]=`AXES_L_VERTICAL_INDEX`,e[e.AXES_R_HORIZONTAL_INDEX=2]=`AXES_R_HORIZONTAL_INDEX`,e[e.AXES_R_VERTICAL_INDEX=3]=`AXES_R_VERTICAL_INDEX`,e[e.AXES_CROSS_KEY=9]=`AXES_CROSS_KEY`,e}({}),Ae=class{constructor(){this.gamepad=null,this.triggers=[];var e;for(e=0;e<16;e++)this.triggers[e]=!1}update(){this.gamepad=null;var e=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[];e&&e.length>0&&e[0]&&(this.gamepad=e[0])}buttonTrigger(...e){if(!this.gamepad)return!1;var t,n=e.length,r,i,a;for(t=0;t<n;t++){r=e[t];var o=this.gamepad.buttons[r];if(!o)return!1;if(i=typeof o==`object`?o.pressed===!0:o===1,a=this.triggers[r],this.triggers[r]=i,i&&!a)return!0}return!1}buttonPressed(...e){if(!this.gamepad)return!1;var t,n=e.length,r,i;for(t=0;t<n;t++){r=e[t];var a=this.gamepad.buttons[r];if(!a)return!1;if(i=typeof a==`object`?a.pressed===!0:a===1,i)return!0}return!1}crossPressed(...e){if(!this.gamepad)return!1;var t,n=e.length,r;for(t=0;t<n;t++)switch(r=e[t],r){case V.BUTTON_CROSS_KEY_UP:if(this.gamepad.axes[ke.AXES_L_VERTICAL_INDEX]<=-.6||this.gamepad.axes[ke.AXES_R_VERTICAL_INDEX]<=-.6||this.stickFloor(ke.AXES_CROSS_KEY)===-1||this.buttonPressed(V.BUTTON_CROSS_KEY_UP))return!0;break;case V.BUTTON_CROSS_KEY_DOWN:if(this.gamepad.axes[ke.AXES_L_VERTICAL_INDEX]>=.7||this.gamepad.axes[ke.AXES_R_VERTICAL_INDEX]>=.7||this.stickFloor(ke.AXES_CROSS_KEY)===.1||this.buttonPressed(V.BUTTON_CROSS_KEY_DOWN))return!0;break;case V.BUTTON_CROSS_KEY_LEFT:if(this.gamepad.axes[ke.AXES_L_HORIZONTAL_INDEX]<=-.7||this.gamepad.axes[ke.AXES_R_HORIZONTAL_INDEX]<=-.7||this.stickFloor(ke.AXES_CROSS_KEY)===.7||this.buttonPressed(V.BUTTON_CROSS_KEY_LEFT))return!0;break;case V.BUTTON_CROSS_KEY_RIGHT:if(this.gamepad.axes[ke.AXES_L_HORIZONTAL_INDEX]>.6||this.gamepad.axes[ke.AXES_R_HORIZONTAL_INDEX]>.6||this.stickFloor(ke.AXES_CROSS_KEY)===-.5||this.buttonPressed(V.BUTTON_CROSS_KEY_RIGHT))return!0;break}return!1}vibration(e){if(!this.gamepad||!this.gamepad.vibrationActuator)return!1;e?this.gamepad.vibrationActuator.playEffect(`dual-rumble`,{startDelay:0,duration:100,weakMagnitude:1,strongMagnitude:.5}):this.gamepad.vibrationActuator.playEffect(`dual-rumble`,{startDelay:0,duration:100,weakMagnitude:.5,strongMagnitude:1})}stickFloor(...e){if(!this.gamepad)return 0;var t,n=e.length,r;for(t=0;t<n;t++){r=e[t];var i=this.gamepad.axes[r];return typeof i==`number`?Math.floor(i*10)/10:0}return 0}},je=class e{constructor(e=0){this.lastCalculatedTimeUnixMs=Date.now(),this.lastCalculatedPlayTimeMs=e}calculateTimeMs(){let e=Date.now(),t=e-this.lastCalculatedTimeUnixMs+this.lastCalculatedPlayTimeMs;return this.lastCalculatedTimeUnixMs=e,this.lastCalculatedPlayTimeMs=t,t}calculatePlayTimeFormat(){return e.formatPlayTimeText(this.calculateTimeMs()/1e3)}static formatPlayTimeText(e){let t=Math.floor(e);return t>=3600*1e4?`9999:99:99`:(`000`+(t/60/60|0)).slice(-4)+`:`+(`0`+(t/60|0)%60).slice(-2)+`:`+(`0`+t%60).slice(-2)}},Me=[`BUTTON_ENTER`,`BUTTON_ESC`,`BUTTON_SIDEBAR`,`BUTTON_FAST`,`BUTTON_SLOW`,`BUTTON_LEFT`,`BUTTON_UP`,`BUTTON_RIGHT`,`BUTTON_DOWN`],Ne=[`BUTTON_LEFT`,`BUTTON_UP`,`BUTTON_RIGHT`,`BUTTON_DOWN`],Pe=new Set(Ne),Fe=class e{constructor(t,n=!1,r=null,i=null,a=null,o=null){if(this._enabled=t!==null,this._visible=n,this._onTouchStart=a||null,this._onTouchEnd=o||null,this._availableButtons=[],this._isTouchingButtons={},this._moveButtonsElement=i,this._buttonWrapperElement=r,this._setVisible(n),this._moveButtonsElement&&(this._moveButtonsElement.style.visibility=`visible`),this._buttonWrapperElement&&(this._buttonWrapperElement.style.visibility=`visible`),t!==null){for(let n in t){let r=t[n];if(!r)continue;let i=n;this._availableButtons.push(i),r.setAttribute(`type`,n),this._isTouchingButtons[i]={prev:!1,current:!1,next:!1};let a=e=>{e.cancelable&&e.preventDefault()};r.addEventListener(`touchstart`,e=>{a(e),this.setTouchInfo(i)}),r.addEventListener(`touchcancel`,e=>{a(e),this.allClear()}),e.isMoveButton(i)?(r.addEventListener(`touchmove`,this._detectMovingMoveButton.bind(this)),r.addEventListener(`touchend`,this.allMoveClear.bind(this))):r.addEventListener(`touchend`,e=>{a(e),this.clearTouchInfo(i)})}i!==null&&i.addEventListener(`touchmove`,this._detectMovingMoveButton.bind(this))}}_detectMovingMoveButton(e){e.preventDefault(),this.allMoveClear();let t=e.targetTouches.item(0);if(!this._moveButtonsElement||t===null)return;let n=this._moveButtonsElement.getBoundingClientRect(),r=document.body.getBoundingClientRect(),i=n.left-r.left+n.width/2,a=n.top-r.top+n.height/2,o=t.pageX-i,s=t.pageY-a;o>=s?o<=-s?this.setTouchInfo(`BUTTON_UP`):this.setTouchInfo(`BUTTON_RIGHT`):o>=-s?this.setTouchInfo(`BUTTON_DOWN`):this.setTouchInfo(`BUTTON_LEFT`)}_setVisible(e){this._moveButtonsElement!==null&&(this._moveButtonsElement.style.display=e?`grid`:`none`),this._buttonWrapperElement!==null&&(this._buttonWrapperElement.style.display=e?`grid`:`none`),this._visible=e}checkTouchButton(e){return this._enabled?this.getButtonState(e)===`TOUCH`:!1}checkTouchingButton(e){if(!this._enabled)return!1;let t=this.getButtonState(e);return t===`TOUCH`||t===`TOUCHING`}getButtonState(e){let t=this._isTouchingButtons[e];if(!this._enabled||t===void 0)return`NONE`;let n=t.prev,r=t.current;return n&&r?`TOUCHING`:r?`TOUCH`:n?`LEAVE`:`NONE`}setTouchInfo(e){let t=this._isTouchingButtons[e];!this._enabled||t===void 0||(t.next=!0)}clearTouchInfo(e){let t=this._isTouchingButtons[e];!this._enabled||t===void 0||(t.next=!1)}allMoveClear(){Ne.forEach(e=>{this._availableButtons.includes(e)&&this.clearTouchInfo(e)})}allClear(){this._availableButtons.forEach(e=>{if(e!==void 0){let t=this._isTouchingButtons[e];t!==void 0&&(t.next=!1)}})}static isMoveButton(e){return Pe.has(e)}update(){this._availableButtons.forEach(e=>{if(e===void 0)return;let t=this._isTouchingButtons[e];if(t!==void 0)switch(this._isTouchingButtons[e].prev=t.current,this._isTouchingButtons[e].current=t.next,this.getButtonState(e)){case`TOUCH`:this._onTouchStart?.(e);break;case`LEAVE`:this._onTouchEnd?.(e);break}})}toggleVisible(){this._setVisible(!this._visible)}};function Ie(){let e=document.getElementsByTagName(`head`)[0],t=document.createElement(`meta`);t.setAttribute(`name`,`viewport`),e.appendChild(t),Le()}function Le(){let e=document.querySelector(`meta[name='viewport']`),t=window.innerWidth,n=window.innerHeight,r=`user-scalable=no`;t>n?r=`width=${Math.floor(t/n*456)},${r}`:t<=n&&(r=`width=576,${r}`),e?.setAttribute(`content`,`${r}`)}function Re(){return`
10
+ <div id="wwa-virtualpad-left">
11
+ <button class="wwa-virtualpad__button" id="wwa-up-button"></button>
12
+ <button class="wwa-virtualpad__button" id="wwa-left-button"></button>
13
+ <button class="wwa-virtualpad__button" id="wwa-right-button"></button>
14
+ <button class="wwa-virtualpad__button" id="wwa-down-button"></button>
15
+ <div class="wwa-virtualpad__hole"></div>
16
+ </div>
17
+ <div id="wwa-virtualpad-right">
18
+ <button class="wwa-virtualpad__button" id="wwa-slow-button">I</button>
19
+ <button class="wwa-virtualpad__button" id="wwa-fast-button">P</button>
20
+ <button class="wwa-virtualpad__button" id="wwa-enter-button">Y</button>
21
+ <button class="wwa-virtualpad__button" id="wwa-esc-button">N</button>
22
+ </div>`}var H=e=>document.getElementById(e),ze=e=>document.getElementsByTagName(e),Be=e=>document.querySelector(e),Ve=e=>document.querySelector(e),He=e=>document.querySelectorAll(e),Ue=(e,t)=>{var n,r,i=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,a=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;return n=e-H(`wwa-wrapper`).offsetLeft+i,r=t-H(`wwa-wrapper`).offsetTop+a,new S(n,r)},We=e=>e.match(/^https?:\/\//)||e.match(/^\.\.\//)?e:location.href=`./`+e,Ge=e=>{var t=``;if(e instanceof Array){for(var n=0;n<e.length;n++)t+=Ge(e[n])+`/`;return t}else return e+``},Ke=e=>e.split(``).reverse().join(``);function qe(e,t){if(typeof e!=`number`)throw TypeError(`${t} が数値ではありません。`);return!0}function Je(e,t,n=0){if(n>=3)return`...`;if(typeof e==`number`||typeof e==`boolean`||e==null)return String(e);if(typeof e==`string`){let n=[...e];return t&&n.length>10?`"${n.slice(0,10).join(``)}…`:`"${e}"`}else if(Array.isArray(e))return`[${e.map(e=>Je(e,!0,n+1)).join(`,`)}]`;else if(e instanceof Map)return`{${[...e].map(([e,t])=>`${e}:${Je(t,!0,n+1)}`).join(`,`)}}`;else throw TypeError(`この値はフォーマットできません`,e)}function Ye(e,t){if(Array.isArray(e)){if(typeof t!=`number`)throw TypeError(`配列に対して、数字以外をindexにできません`);if(t<0||t>=e.length){console.warn(`配列のインデックス ${t} は範囲外です`);return}return e[t]}else if(e instanceof Map){if(!f(t))throw TypeError(`オブジェクトのキーはプリミティブ値でなければなりません。: `+t);return e.get(String(t))}else if(typeof e==`string`){if(typeof t!=`number`)throw TypeError(`文字列 "${e}" に対して、数字以外をindexにできません`);if(t<0||t>=e.length){console.warn(`文字列 "${e}" のインデックス ${t} は範囲外です`);return}return e[t]}else if(f(e))throw TypeError(`プリミティブ値 ${String(e)} は添字参照できません`);else throw TypeError(String(e)+`は添字参照できません`)}function Xe(e,t,n){if(Array.isArray(e)){if(typeof t!=`number`)throw TypeError(`数字以外をindexにできません`);e[t]=n}else if(e instanceof Map){if(!f(t))throw TypeError(`オブジェクトのキーはプリミティブ値でなければなりません。: `+t);e.set(String(t),n)}else if(typeof e==`string`)throw TypeError(`文字列 "${e}" の特定の文字を直接書き換えることはできません`);else if(f(e))throw TypeError(`プリミティブ値 ${String(e)} は添字参照できません`);else throw TypeError(String(e)+`は添字参照できません`)}var Ze=[{name:`pos`,type:`numberArray`},{name:`time`,type:`numberOrArray`},{name:`timeFrame`,type:`numberOrArray`},{name:`size`,type:`numberArray`},{name:`animTime`,type:`numberArray`},{name:`animTimeFrame`,type:`numberArray`},{name:`move`,type:`numberArray`},{name:`accel`,type:`numberArray`},{name:`zoom`,type:`numberArray`},{name:`zoomAccel`,type:`numberArray`},{name:`anchor`,type:`number`},{name:`circle`,type:`numberArray`},{name:`repeat`,type:`numberArray`},{name:`img`,type:`numberArray`},{name:`imgFile`,type:`string`},{name:`imgMap`,type:`numberArray`},{name:`sound`,type:`number`},{name:`crop`,type:`numberArray`},{name:`text`,type:`string`},{name:`font`,type:`string`},{name:`fontSize`,type:`number`},{name:`fontFamily`,type:`string`},{name:`italic`,type:`number`},{name:`bold`,type:`number`},{name:`color`,type:`numberArray`},{name:`textAlign`,type:`string`},{name:`lineHeight`,type:`number`},{name:`opacity`,type:`number`},{name:`fade`,type:`number`},{name:`angle`,type:`number`},{name:`rotate`,type:`number`},{name:`wait`,type:`number`},{name:`waitFrame`,type:`number`},{name:`next`,type:`numberArray`},{name:`create`,type:`numberArray2D`},{name:`map`,type:`numberArray`},{name:`script`,type:`string`}],Qe={time_frame:`timeFrame`,anim_time:`animTime`,anim_time_frame:`animTimeFrame`,zoom_accel:`zoomAccel`,img_file:`imgFile`,img_map:`imgMap`,font_size:`fontSize`,font_family:`fontFamily`,text_align:`textAlign`,line_height:`lineHeight`,wait_frame:`waitFrame`},$e=`-?\\d+`,et=`v\\[${$e}\\]`,tt=`v\\[(${$e})\\]`,nt=`m\\[${$e}\\]\\[${$e}\\]`,rt=`m\\[(${$e})\\]\\[(${$e})\\]`,it=`o\\[${$e}\\]\\[${$e}\\]`,at=`o\\[(${$e})\\]\\[(${$e})\\]`,ot=`ITEM\\[${$e}\\]`,st=`ITEM\\[(${$e})\\]`,ct=`${et}|${nt}|${it}|${ot}`,lt=`AT_TOTAL|AT_ITEMS|DF_TOTAL|DF_ITEMS|TIME|X|Y|PX|PY|ID|TYPE|ITEM_COUNT_ALL`,ut=`HP|HPMAX|AT|DF|GD|STEP|PDIR`,dt=`${ct}|${nt}|${it}|${ot}|${ut}`,ft=`${$e}|${ct}|${lt}|${ut}`,pt=`RAND\\((?:${ft})\\)`,mt=`RAND\\((${ft})\\)`,ht=`ITEM_COUNT\\((?:${ft})\\)`,gt=`ITEM_COUNT\\((${ft})\\)`,_t=`${ft}|${`${pt}|${ht}`}`,vt=`\\+|\\-|\\*|\\/|%`,yt=`=`,bt=`${yt}|\\+=|\\-=|\\*=|\\/=|%=`,xt=`>|<|<=|>=|==|!=`,St=`^\\(`,Ct=`\\)$`,wt=RegExp(`^${$e}\$`),Tt=RegExp(`^${tt}\$`),Et=RegExp(`^${rt}\$`),Dt=RegExp(`^${at}\$`),Ot=RegExp(`^${st}\$`),kt=RegExp(`^${mt}\$`),At=RegExp(`${gt}\$`),jt=RegExp(`${St}(${dt})${yt}(${_t})(${vt})(${_t})${Ct}`),Mt=RegExp(`${St}(${dt})(${bt})(${_t})${Ct}`),Nt=RegExp(`^(${_t})(?:(${vt})(${_t}))?$`),Pt=RegExp(`${St}(${_t})(${xt})(${_t})${Ct}`),Ft=RegExp(`{{(${_t})}}`,`g`);function It(e){return e.type!==`RAND`&&e.type!==`ITEM_COUNT`}function Lt(e){switch(e){case`HP`:case`HPMAX`:case`AT`:case`AT_TOTAL`:case`AT_ITEMS`:case`DF`:case`DF_TOTAL`:case`DF_ITEMS`:case`GD`:case`STEP`:case`TIME`:case`X`:case`Y`:case`PX`:case`PY`:case`PDIR`:case`ID`:case`TYPE`:case`ITEM_COUNT_ALL`:return{type:e};default:let t=e.match(Tt);if(t){let e=Rt(t);return e===null?null:{type:`VARIABLE`,index:e}}let n=e.match(Et);if(n){let e=zt(n);return e===null?null:{type:`MAP`,x:e[0],y:e[1]}}let r=e.match(Dt);if(r){let e=zt(r);return e===null?null:{type:`OBJECT`,x:e[0],y:e[1]}}let i=e.match(Ot);if(i){let e=Rt(i);return e===null?null:{type:`ITEM`,boxIndex1To12:e}}if(e.match(wt)){let t=parseInt(e,10);return t!==null&&!isNaN(t)?{type:`NUMBER`,rawValue:t}:null}let a=e.match(kt);if(a){let e=a.length>=2?Lt(a[1]):null;return e!==null&&It(e)?{type:`RAND`,argument:e}:null}let o=e.match(At);if(o){let e=o.length>=2?Lt(o[1]):null;return e!==null&&It(e)?{type:`ITEM_COUNT`,argument:e}:null}return null}}function Rt(e){let t=e.length>=2?Number(e[1]):null;return t!==null&&!isNaN(t)?t:null}function zt(e){if(e.length<3)return null;let t=Number(e[1]),n=Number(e[2]);return isNaN(t)||isNaN(n)?null:[t,n]}function Bt(e,t,n=0){if(typeof e==`boolean`)return e;let r=Vt(e.left,t,n),i=Vt(e.right,t,n);return Ut(e.operator,r,i)}function Vt(e,t,n=0){switch(e.type){case`HP`:return t.totalStatus.energy;case`HPMAX`:return t.energyMax;case`AT`:return t.bareStatus.strength;case`AT_TOTAL`:return t.totalStatus.strength;case`AT_ITEMS`:return t.itemStatus.strength;case`DF`:return t.bareStatus.defence;case`DF_TOTAL`:return t.totalStatus.defence;case`DF_ITEMS`:return t.itemStatus.defence;case`GD`:return t.totalStatus.gold;case`STEP`:return t.moveCount;case`VARIABLE`:{let n=t.userVars[e.index];return qe(n,`v${e.index}`)?n:0}case`MAP`:return e.y<0||e.y>=t.map.length||e.x<0||e.x>=t.map[e.y].length?0:t.map[e.y][e.x];case`OBJECT`:return e.y<0||e.y>=t.mapObject.length||e.x<0||e.x>=t.mapObject[e.y].length?0:t.mapObject[e.y][e.x];case`ITEM`:return e.boxIndex1To12<1||e.boxIndex1To12>12?0:t.itemBox[e.boxIndex1To12-1];case`ITEM_COUNT_ALL`:return t.itemBox.filter(e=>e!==0).length;case`NUMBER`:return e.rawValue;case`TIME`:return t.playTime;case`X`:return t.partsPosition?.x??t.playerCoord.x;case`Y`:return t.partsPosition?.y??t.playerCoord.y;case`PX`:return t.playerCoord.x;case`PY`:return t.playerCoord.y;case`PDIR`:return t.playerDirection;case`ID`:return t.partsId??-1;case`TYPE`:return t.partsType??-1;case`RAND`:return Math.floor(Math.random()*Vt(e.argument,t));case`ITEM_COUNT`:return t.itemBox.filter(n=>n===Vt(e.argument,t)).length;default:return n}}function Ht(e,t,n){switch(e){case`=`:return n;case`+`:case`+=`:return t+n;case`-`:case`-=`:return t-n;case`*`:case`*=`:return t*n;case`/`:case`/=`:return n===0?0:t/n;case`%`:case`%=`:return n===0?0:t%n;default:throw Error(`未定義の演算子です`)}}function Ut(e,t,n){switch(e){case`>`:return t>n;case`<`:return t<n;case`>=`:return t>=n;case`<=`:return t<=n;case`==`:return t===n;case`!=`:return t!==n;default:return!1}}function Wt(e,t){switch(Lt(t)?.type){case`VARIABLE`:{let n=t.match(/^v\[(\d+)\]$/),r=Number(n[1]);if(r===null||isNaN(r))throw Error(`ユーザ変数の添字のパースに失敗しました`);return{assignee:`variable`,index:r,rawValue:e}}case`MAP`:{let n=t.match(/^m\[(\d+)\]\[(\d+)\]$/),r=Number(n[1]),i=Number(n[2]);if(r===null||i===null||isNaN(r)||isNaN(i))throw Error(`背景パーツの添字のパースに失敗しました`);return{assignee:`map`,x:r,y:i,rawValue:e}}case`OBJECT`:{let n=t.match(/^o\[(\d+)\]\[(\d+)\]$/),r=Number(n[1]),i=Number(n[2]);if(r===null||i===null||isNaN(r)||isNaN(i))throw Error(`物体パーツの添字のパースに失敗しました`);return{assignee:`mapObject`,x:r,y:i,rawValue:e}}case`ITEM`:{let n=t.match(/^ITEM\[(\d+)\]$/),r=Number(n[1]);if(r===null||isNaN(r))throw Error(`アイテムの添字のパースに失敗しました`);return{assignee:`item`,boxIndex1to12:r,rawValue:e}}case`ITEM_COUNT_ALL`:throw Error(`左辺値に所持アイテム数は入れられません`);case`NUMBER`:throw Error(`左辺値に定数は入れられません`);case`HP`:return{assignee:`energy`,rawValue:e};case`HPMAX`:return{assignee:`energyMax`,rawValue:e};case`AT`:return{assignee:`strength`,rawValue:e};case`AT_TOTAL`:throw Error(`左辺値に合計攻撃力は入れられません`);case`AT_ITEMS`:throw Error(`左辺値にアイテム攻撃力は入れられません`);case`DF`:return{assignee:`defence`,rawValue:e};case`DF_TOTAL`:throw Error(`左辺値に合計防御力は入れられません`);case`DF_ITEMS`:throw Error(`左辺値にアイテム防御力は入れられません`);case`GD`:return{assignee:`gold`,rawValue:e};case`STEP`:return{assignee:`moveCount`,rawValue:e};case`TIME`:throw Error(`左辺値にプレイ時間は入れられません`);case`PX`:throw Error(`左辺値にプレイヤーX座標は入れられません`);case`PY`:throw Error(`左辺値にプレイヤーY座標は入れられません`);case`X`:throw Error(`左辺値にパーツX座標は入れられません`);case`Y`:throw Error(`左辺値にパーツY座標は入れられません`);case`ID`:throw Error(`左辺値にパーツ番号座標は入れられません`);case`TYPE`:throw Error(`左辺値にパーツ種別は入れられません`);case`PDIR`:return{assignee:`playerDirection`,rawValue:e};case`RAND`:throw Error(`左辺値に乱数は入れられません`);case`ITEM_COUNT`:throw Error(`左辺値に所持アイテム数は入れられません`);default:throw Error(`この文字列から代入操作オブジェクトは生成できません`)}}function Gt(e){return e.replace(/\s/g,``)}function Kt(e,t,n=0){return Vt(Lt(e),t,n)}function qt(e,t){let n=Gt(e),r=n.match(jt);if(r!==null){let e=Kt(r[2],t),n=Kt(r[4],t),i=r[3];return Wt(Ht(i,e,n),r[1])}let i=n.match(Mt);if(i!==null){let e=Kt(i[1],t),n=Kt(i[3],t),r=i[2];return Wt(Ht(r,e,n),i[1])}throw Error(`setMacroのフォーマットを満たしていません: `+e)}function Jt(e,t,n=0){let r=Gt(e).match(Nt);if(r!==null){let e=Kt(r[1],t,n),i=r[3]?Kt(r[3],t,n):void 0,a=r[2];return a&&i?Ht(a,e,i):e}throw Error(`マクロ引数のフォーマットを満たしていません: `+e)}function Yt(e){return Gt(e).match(Nt)!==null}function Xt(e){let t=Gt(e).match(Pt);if(t===null||t.length<=3){console.error(`判定式が異常です: ${e}`);return}let n=Lt(t[1]),r=Lt(t[3]);if(!n||!r){console.error(`判定式が異常です: ${e}`);return}return{left:n,right:r,operator:t[2]}}var Zt=e=>{try{let t=JSON.parse(e.propertiesText);if(Array.isArray(t))throw Error(`配列形式ではなくオブジェクト形式で記述してください。`);if(typeof t!=`object`)throw Error(`オブジェクト形式で記述してください。`);return{...e,properties:t}}catch(e){console.error(`JSON パースエラーが発生しました!: ${e.message}`)}},Qt=(e,t)=>{let n=Ze.find(({name:t})=>t===e);if(!n)return console.warn(`定義外のプロパティ ${e} を見つけました。`),!1;switch(n.type){case`numberArray2D`:{if(!Array.isArray(t))return console.warn(`プロパティ ${e} は配列形式である必要がありますが、配列形式になっていません。`),!1;let n=t.map((e,t)=>Array.isArray(e)?null:t+1).filter(e=>e!==null);if(n.length>0)return console.warn(`プロパティ ${e} は配列の配列である必要がありますが、 ${n.join(`, `)} の要素が配列形式になっていません。`),!1;break}case`string`:if(typeof t!=`string`)if(typeof t==`number`)console.warn(`プロパティ ${e} は文字列形式を推奨しています。実際に入った値は ${t} です。`);else return console.warn(`プロパティ ${e} では文字列形式である必要があります。実際に入った値は ${t} です。`),!1}return!0},$t=e=>Qe[e]??e,en=e=>Number.isInteger(e)&&(e>0||tn(e)),tn=e=>e===-1,nn=e=>{let t=Object.entries(e.properties).map(([e,t])=>{let n=$t(e);if(!Qt(n,t))return[n,t];switch(Ze.find(({name:e})=>e===n).type){case`string`:if(typeof t!=`string`)return[n,t.toString()]}return[n,t]});return{...e,properties:Object.fromEntries(t)}},rn=(e,t)=>{let n=e=>typeof e==`number`?e:Jt(e,t),r=Object.entries(e.properties).map(([e,t])=>{let r=$t(e);if(!Qt(r,t))return[r,t];switch(Ze.find(({name:e})=>e===r).type){case`number`:return[r,n(t)];case`numberArray`:return[r,t.map(n)];case`numberOrArray`:return Array.isArray(t)?[r,t.map(n)]:[r,[n(t)]];case`numberArray2D`:return!Array.isArray(t)||t.some(Array.isArray)?[r,t]:[r,t.map(e=>e.map(n))];case`string`:if(typeof t!=`string`)return[r,t.toString()];let e=String(t);return Array.from(t.matchAll(Ft)).forEach(r=>{r.length<2&&console.warn(`テンプレート文字列で合致した文字列の中の値を取り出すことができませんでした。文字列そのものの値は ${t} です。`);let i=r[0],a=r[1],o=n(a);e=e.replace(i,typeof o==`number`?o.toString():o)}),[r,e];default:return[r,t]}});return{...e,properties:Object.fromEntries(r)}},an=(e,t,n)=>Array.isArray(e)?e[t]:n?e:void 0,on=(e,t,n,r)=>e>0||t>0||n>0||r>0,sn=e=>e<0?0:e,cn=(e,t,n)=>{switch(n){case 1:case 4:case 7:return e;case 2:case 5:case 8:return e-t/2;case 3:case 6:case 9:return e-t;default:return e}},ln=(e,t,n)=>{if(t===0)return e;let r=n*Math.PI/180;return e+t*Math.cos(r)},un=(e,t,n)=>{switch(n){case 1:case 2:case 3:return e-t;case 4:case 5:case 6:return e-t/2;default:return e}},dn=(e,t,n)=>{if(t===0)return e;let r=n*Math.PI/180;return e+t*Math.sin(r)},fn=e=>Math.max(e,1),pn=e=>Math.max(e,1),mn=(e,t)=>{let n=Array(e);for(let e=0;e<n.length;e++)n[e]=Array(t);return n},hn=e=>(e%=256,e>=128?e-256:e),gn=function(e){return e[e.CHECK=0]=`CHECK`,e[e.VERSION=2]=`VERSION`,e[e.OLD_MAP_COUNT=3]=`OLD_MAP_COUNT`,e[e.OLD_OBJ_COUNT=4]=`OLD_OBJ_COUNT`,e[e.OLD_PLAYER_X=5]=`OLD_PLAYER_X`,e[e.OLD_PLAYER_Y=6]=`OLD_PLAYER_Y`,e[e.STATUS_ENERGY=10]=`STATUS_ENERGY`,e[e.STATUS_STRENGTH=12]=`STATUS_STRENGTH`,e[e.STATUS_DEFENCE=14]=`STATUS_DEFENCE`,e[e.STATUS_GOLD=16]=`STATUS_GOLD`,e[e.OLD_GAMEOVER_X=18]=`OLD_GAMEOVER_X`,e[e.OLD_GAMEOVER_Y=19]=`OLD_GAMEOVER_Y`,e[e.OLD_ITEMBOX_TOP=20]=`OLD_ITEMBOX_TOP`,e[e.STATUS_ENERGY_MAX=32]=`STATUS_ENERGY_MAX`,e[e.MAP_COUNT=34]=`MAP_COUNT`,e[e.OBJ_COUNT=36]=`OBJ_COUNT`,e[e.PLAYER_X=38]=`PLAYER_X`,e[e.PLAYER_Y=40]=`PLAYER_Y`,e[e.GAMEOVER_X=42]=`GAMEOVER_X`,e[e.GAMEOVER_Y=44]=`GAMEOVER_Y`,e[e.MAP_SIZE=46]=`MAP_SIZE`,e[e.MESSAGE_NUM=48]=`MESSAGE_NUM`,e[e.ITEMBOX_TOP=60]=`ITEMBOX_TOP`,e[e.MAPDATA_TOP=90]=`MAPDATA_TOP`,e[e.OLD_MAPDATA_TOP=100]=`OLD_MAPDATA_TOP`,e}({});function _n(e){return e[gn.CHECK]+e[gn.CHECK+1]*256}function vn(e,t){let n=0;if(e[gn.VERSION]>=29){for(let r=2;r<t;r++)n+=hn(e[r])*(r%8+1);n=n%65536&65535}return n}function yn(e,t){let n=_n(e),r=vn(e,t);if(n!==r)throw Error(`マップデータが壊れているようです。
23
+ チェックサムの値は`+n+`ですが、実際の和は`+r+`でした。`)}var U=class{static{this.ITEMBOX_SIZE=12}static{this.MAP_ATR_MAX=60}static{this.OBJ_ATR_MAX=60}static{this.OLD_MAP_ATR_MAX=40}static{this.OLD_OBJ_ATR_MAX=40}static{this.ATR_CROP1=1}static{this.ATR_CROP2=2}static{this.ATR_TYPE=3}static{this.ATR_JUMP_X=16}static{this.ATR_JUMP_Y=17}static{this.MAP_LOCALGATE=2}static{this.OBJECT_LOCALGATE=18}static{this.SYSTEM_MESSAGE_NUM=20}static{this.IMGPOS_DEFAULT_YESNO_X=3}static{this.IMGPOS_DEFAULT_YESNO_Y=1}static{this.IMGPOS_DEFAULT_PLAYER_X=2}static{this.IMGPOS_DEFAULT_PLAYER_Y=0}static{this.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X=0}static{this.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y=0}static{this.IMGPOS_DEFAULT_STATUS_X=3}static{this.IMGPOS_DEFAULT_STATUS_Y=2}static{this.IMGRELPOS_ENERGY_ICON_X=0}static{this.IMGRELPOS_STRENGTH_ICON_X=1}static{this.IMGRELPOS_DEFENCE_ICON_X=2}static{this.IMGRELPOS_GOLD_ICON_X=3}static{this.IMGPOS_DEFAULT_WIDE_CELL_X=4}static{this.IMGPOS_DEFAULT_WIDE_CELL_Y=3}static{this.IMGPOS_DEFAULT_ITEMBOX_X=1}static{this.IMGPOS_DEFAULT_ITEMBOX_Y=2}static{this.IMGPOS_DEFAULT_FRAME_X=0}static{this.IMGPOS_DEFAULT_FRAME_Y=1}static{this.IMGPOS_DEFAULT_BATTLE_EFFECT_X=3}static{this.IMGPOS_DEFAULT_BATTLE_EFFECT_Y=3}static{this.DEFAULT_DISABLE_SAVE=!1}static{this.DEFAULT_OLDMAP=!1}static{this.DEFAULT_OBJECT_NO_COLLAPSE=!1}static{this.DEFAULT_FRAME_COLOR_R=255}static{this.DEFAULT_FRAME_COLOR_G=255}static{this.DEFAULT_FRAME_COLOR_B=255}static{this.DEFAULT_FRAMEOUT_COLOR_R=96}static{this.DEFAULT_FRAMEOUT_COLOR_G=96}static{this.DEFAULT_FRAMEOUT_COLOR_B=96}static{this.DEFAULT_STR_COLOR_R=0}static{this.DEFAULT_STR_COLOR_G=0}static{this.DEFAULT_STR_COLOR_B=0}static{this.DEFAULT_STATUS_COLOR_R=0}static{this.DEFAULT_STATUS_COLOR_G=0}static{this.DEFAULT_STATUS_COLOR_B=0}static{this.DEFAULT_MOVES=0}static{this.DEFAULT_SPEED_INDEX=3}static{this.USER_VAR_NUM=256}},bn=function(e){return e[e.MAP=1]=`MAP`,e[e.OBJECT=0]=`OBJECT`,e}({}),xn=function(e){return e[e.INIT=0]=`INIT`,e[e.MAP_LOAD=1]=`MAP_LOAD`,e[e.OBJ_LOAD=2]=`OBJ_LOAD`,e[e.MAP_ATTR=3]=`MAP_ATTR`,e[e.OBJ_ATTR=4]=`OBJ_ATTR`,e[e.RAND_PARTS=5]=`RAND_PARTS`,e[e.MESSAGE=6]=`MESSAGE`,e}({});function Sn(){return{version:void 0,gameoverX:void 0,gameoverY:void 0,playerX:void 0,playerY:void 0,mapPartsMax:void 0,objPartsMax:void 0,isOldMap:void 0,isOldMove:void 0,statusEnergyMax:void 0,statusEnergy:void 0,statusStrength:void 0,statusDefence:void 0,statusGold:void 0,itemBox:void 0,mapWidth:void 0,messageNum:void 0,map:void 0,mapObject:void 0,mapCompressed:void 0,mapObjectCompressed:void 0,mapAttribute:void 0,objectAttribute:void 0,worldPassword:void 0,message:void 0,worldName:void 0,worldPassNumber:void 0,charCGName:void 0,mapCGName:void 0,systemMessage:void 0,moves:void 0,yesnoImgPosX:void 0,yesnoImgPosY:void 0,playerImgPosX:void 0,playerImgPosY:void 0,clickableItemSignImgPosX:void 0,clickableItemSignImgPosY:void 0,disableSaveFlag:void 0,compatibleForOldMapFlag:void 0,objectNoCollapseDefaultFlag:void 0,delPlayerFlag:void 0,bgm:void 0,effectCoords:void 0,effectWaits:void 0,imgStatusEnergyX:void 0,imgStatusEnergyY:void 0,imgStatusStrengthX:void 0,imgStatusStrengthY:void 0,imgStatusDefenceX:void 0,imgStatusDefenceY:void 0,imgStatusGoldX:void 0,imgStatusGoldY:void 0,imgWideCellX:void 0,imgWideCellY:void 0,imgItemboxX:void 0,imgItemboxY:void 0,imgFrameX:void 0,imgFrameY:void 0,imgBattleEffectX:void 0,imgBattleEffectY:void 0,imgClickX:void 0,imgClickY:void 0,frameColorR:void 0,frameColorG:void 0,frameColorB:void 0,frameOutColorR:void 0,frameOutColorG:void 0,frameOutColorB:void 0,fontColorR:void 0,fontColorG:void 0,fontColorB:void 0,statusColorR:void 0,statusColorG:void 0,statusColorB:void 0,checkOriginalMapString:void 0,checkString:void 0,isItemEffectEnabled:void 0,frameCount:void 0,gamePadButtonItemTable:void 0,userVar:void 0,userNamedVar:void 0,permitChangeGameSpeed:void 0,gameSpeedIndex:void 0,playTime:void 0,isVisibleStatusEnergy:void 0,isVisibleStatusStrength:void 0,isVisibleStatusDefence:void 0,isVisibleStatusGold:void 0,isGameOverDisabled:void 0,gameOverPolicy:`default`,bgmDelayDurationMs:void 0,customSystemMessages:{},pictureRegistry:[],decisionSound:void 0,attackSound:void 0}}var Cn=class{constructor(e,t,n){this.byteMapData=e,this.eventEmitter=n,yn(e,t),this.wwaData=Sn()}extractAllData(){var e,t;return this.wwaData.version=this.byteMapData[gn.VERSION],this._extractInitialParameters(),this.wwaData.version>=29?this.currentPosition=gn.MAPDATA_TOP:this.currentPosition=gn.OLD_MAPDATA_TOP,this.wwaData.map=this._getFieldDataFromBits(bn.MAP,this.wwaData.mapPartsMax).concat(),this.wwaData.mapObject=this._getFieldDataFromBits(bn.OBJECT,this.wwaData.objPartsMax).concat(),e=this.wwaData.version>29?U.MAP_ATR_MAX:U.OLD_MAP_ATR_MAX,t=this.wwaData.version>29?U.OBJ_ATR_MAX:U.OLD_OBJ_ATR_MAX,this.wwaData.mapAttribute=this._getPartsDataFromBits(bn.MAP,this.wwaData.mapPartsMax,e).concat(),this.wwaData.objectAttribute=this._getPartsDataFromBits(bn.OBJECT,this.wwaData.objPartsMax,t).concat(),this.wwaData.version<=29&&(this._convertAttributeV2toV3(bn.MAP),this._convertAttributeV2toV3(bn.OBJECT)),this._replaceAllRandomObjects(),this.wwaData}_convertAttributeV2toV3(e){var t,n,r;if(e==bn.MAP)t=this.wwaData.mapPartsMax,n=this.wwaData.mapAttribute,r=U.MAP_LOCALGATE;else if(e==bn.OBJECT)t=this.wwaData.objPartsMax,n=this.wwaData.objectAttribute,r=U.OBJECT_LOCALGATE;else throw Error(`謎のパーツ種別が指定されました`);for(var i=0;i<t;i++){for(var a=9;a>=0;a--){var o=n[i][20+a*2]&255,s=n[i][20+a*2]>>8,c=n[i][20+a*2+1]&255,l=n[i][20+a*2+1]>>8;c===250?c=9e3:c>100&&(c+=9840),l===250?l=9e3:l>100&&(l+=9840),n[i][20+a*4]=o,n[i][20+a*4+3]=s,n[i][20+a*4+1]=c,n[i][20+a*4+2]=l}n[i][U.ATR_TYPE]===r&&(n[i][U.ATR_JUMP_X]>100&&(n[i][U.ATR_JUMP_X]+=9840),n[i][U.ATR_JUMP_Y]>100&&(n[i][U.ATR_JUMP_Y]+=9840))}}_get1ByteNumber(e){return this.byteMapData[e]}_get2BytesNumber(e){return this.byteMapData[e]+this.byteMapData[e+1]*256}_extractInitialParameters(){this.wwaData.version>29?(this.wwaData.gameoverX=this._get2BytesNumber(gn.GAMEOVER_X),this.wwaData.gameoverY=this._get2BytesNumber(gn.GAMEOVER_Y),this.wwaData.playerX=this._get2BytesNumber(gn.PLAYER_X),this.wwaData.playerY=this._get2BytesNumber(gn.PLAYER_Y),this.wwaData.mapPartsMax=this._get2BytesNumber(gn.MAP_COUNT),this.wwaData.objPartsMax=this._get2BytesNumber(gn.OBJ_COUNT),this.wwaData.isOldMap=!1):(this.wwaData.gameoverX=this._get1ByteNumber(gn.OLD_GAMEOVER_X),this.wwaData.gameoverY=this._get1ByteNumber(gn.OLD_GAMEOVER_Y),this.wwaData.playerX=this._get1ByteNumber(gn.OLD_PLAYER_X),this.wwaData.playerY=this._get1ByteNumber(gn.OLD_PLAYER_Y),this.wwaData.mapPartsMax=this._get1ByteNumber(gn.OLD_MAP_COUNT),this.wwaData.objPartsMax=this._get1ByteNumber(gn.OLD_OBJ_COUNT),this.wwaData.isOldMap=!0),this.wwaData.statusEnergyMax=this._get2BytesNumber(gn.STATUS_ENERGY_MAX),this.wwaData.statusEnergy=this._get2BytesNumber(gn.STATUS_ENERGY),this.wwaData.statusStrength=this._get2BytesNumber(gn.STATUS_STRENGTH),this.wwaData.statusDefence=this._get2BytesNumber(gn.STATUS_DEFENCE),this.wwaData.statusGold=this._get2BytesNumber(gn.STATUS_GOLD),this._extractInitialItemData(),this.wwaData.mapWidth=this._get2BytesNumber(gn.MAP_SIZE),this.wwaData.messageNum=this._get2BytesNumber(gn.MESSAGE_NUM),this.wwaData.version<28?this.wwaData.mapWidth=71:this.wwaData.version<=29&&(this.wwaData.mapWidth=101)}_extractInitialItemData(){let e=this.wwaData.version>29?gn.ITEMBOX_TOP:gn.OLD_ITEMBOX_TOP;this.wwaData.itemBox=Array(U.ITEMBOX_SIZE);for(let t=0;t<U.ITEMBOX_SIZE;t++)this.wwaData.itemBox[t]=this._get1ByteNumber(e+t)}_getFieldDataFromBits(e,t){var n,r,i=mn(this.wwaData.mapWidth,this.wwaData.mapWidth);for(n=0;n<this.wwaData.mapWidth;n++)for(r=0;r<this.wwaData.mapWidth;r++)this.wwaData.version>29?(i[n][r]=this._get2BytesNumber(this.currentPosition),this.currentPosition+=2):(i[n][r]=this._get1ByteNumber(this.currentPosition),this.currentPosition+=1),(n*this.wwaData.mapWidth+r)%200==0&&this.emitProgress(n*this.wwaData.mapWidth+r,this.wwaData.mapWidth*this.wwaData.mapWidth,e===bn.MAP?xn.MAP_LOAD:xn.OBJ_LOAD),i[n][r]>=t&&(i[n][r]=0);return this.emitProgress(this.wwaData.mapWidth*this.wwaData.mapWidth,this.wwaData.mapWidth*this.wwaData.mapWidth,e===bn.MAP?xn.MAP_LOAD:xn.OBJ_LOAD),i}_getPartsDataFromBits(e,t,n){var r,i,a=mn(t,n);for(r=0;r<t;r++)for(i=0;i<n;i++){if((r*this.wwaData.mapWidth+i)%200==0&&this.emitProgress(r*n+i,t*n,e===bn.MAP?xn.MAP_ATTR:xn.OBJ_ATTR),i===U.ATR_CROP1||i===U.ATR_CROP2){a[r][i]=0,this.currentPosition+=2;continue}a[r][i]=this._get2BytesNumber(this.currentPosition),this.currentPosition+=2}return this.emitProgress(t*n,t*n,e===bn.MAP?xn.MAP_ATTR:xn.OBJ_ATTR),a}_replaceAllRandomObjects(){this.emitProgress(this.wwaData.mapWidth*this.wwaData.mapWidth,this.wwaData.mapWidth*this.wwaData.mapWidth,xn.RAND_PARTS)}emitProgress(e,t,n){this.eventEmitter.dispatch(`progress`,{current:e,total:t,stage:n})}},wn=65e3,Tn=3;function En(e){let t=new Uint8Array(e.length),n,r;for(n=0,r=0;n<e.length&&!(e[n]===0&&e[n+1]===0&&e[n+2]===0);n++){if(t[r++]=e[n],e[n]===e[n+1]){let i=e[n+2];for(let a=0;a<i;a++)t[r++]=e[n];n+=2}if(r+255>=t.length){var i=new Uint8Array(t.length+wn);i.set(t),t=i}}return console.log(`EXTRACT DATA = `+r+` `+n),{byteMapData:t,byteMapLength:r,compressedEndPosition:n+Tn}}var Dn=class{constructor(e,t,n,r){this.wwaData=e,this.compressedMapData=t,this.startPosition=n,this.eventEmitter=r,this.OLDVER_MESSAGE_MAX=400}load(){let e=this.wwaData;this.currentPos=this.startPosition,e.version>=30&&(e.worldPassword=this.getMessageFromData()),e.version<=29&&(e.messageNum=this.OLDVER_MESSAGE_MAX),e.message=Array(e.messageNum);for(let t=0;t<e.message.length;t++)e.message[t]=this.getMessageFromData(),t%200==0&&this.eventEmitter.dispatch(`progress`,{current:t,total:e.message.length,stage:xn.MESSAGE});for(;e.messageNum<10;)e.message.push(``),e.messageNum++;this.eventEmitter.dispatch(`progress`,{current:e.message.length,total:e.message.length,stage:xn.MESSAGE}),e.worldName=this.getMessageFromData(),e.version<=29?e.worldPassword=this.getMessageFromData():this.getMessageFromData(),e.worldPassword===``?e.worldPassNumber=0:e.version>=29?e.worldPassNumber=(parseInt(e.worldPassword)/10-1197)/17-2357:e.worldPassNumber=parseInt(e.worldPassword),e.charCGName=this.getMessageFromData(),e.mapCGName=this.getMessageFromData(),e.systemMessage=Array(U.SYSTEM_MESSAGE_NUM);for(let t=0;t<U.SYSTEM_MESSAGE_NUM;t++)e.version>=30?e.systemMessage[t]=this.getMessageFromData():e.systemMessage[t]=``;return e.yesnoImgPosX=U.IMGPOS_DEFAULT_YESNO_X,e.yesnoImgPosY=U.IMGPOS_DEFAULT_YESNO_Y,e.playerImgPosX=U.IMGPOS_DEFAULT_PLAYER_X,e.playerImgPosY=U.IMGPOS_DEFAULT_PLAYER_Y,e.clickableItemSignImgPosX=U.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X,e.clickableItemSignImgPosY=U.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y,e.disableSaveFlag=U.DEFAULT_DISABLE_SAVE,e.isOldMap=U.DEFAULT_OLDMAP,e.isOldMove=e.version<31,e.objectNoCollapseDefaultFlag=U.DEFAULT_OBJECT_NO_COLLAPSE,e.delPlayerFlag=!1,e.bgm=0,e.effectCoords=[],e.effectWaits=0,e.imgStatusEnergyX=U.IMGPOS_DEFAULT_STATUS_X+U.IMGRELPOS_ENERGY_ICON_X,e.imgStatusEnergyY=U.IMGPOS_DEFAULT_STATUS_Y,e.imgStatusStrengthX=U.IMGPOS_DEFAULT_STATUS_X+U.IMGRELPOS_STRENGTH_ICON_X,e.imgStatusStrengthY=U.IMGPOS_DEFAULT_STATUS_Y,e.imgStatusDefenceX=U.IMGPOS_DEFAULT_STATUS_X+U.IMGRELPOS_DEFENCE_ICON_X,e.imgStatusDefenceY=U.IMGPOS_DEFAULT_STATUS_Y,e.imgStatusGoldX=U.IMGPOS_DEFAULT_STATUS_X+U.IMGRELPOS_GOLD_ICON_X,e.imgStatusGoldY=U.IMGPOS_DEFAULT_STATUS_Y,e.imgWideCellX=U.IMGPOS_DEFAULT_WIDE_CELL_X,e.imgWideCellY=U.IMGPOS_DEFAULT_WIDE_CELL_Y,e.imgItemboxX=U.IMGPOS_DEFAULT_ITEMBOX_X,e.imgItemboxY=U.IMGPOS_DEFAULT_ITEMBOX_Y,e.imgFrameX=U.IMGPOS_DEFAULT_FRAME_X,e.imgFrameY=U.IMGPOS_DEFAULT_FRAME_Y,e.imgBattleEffectX=U.IMGPOS_DEFAULT_BATTLE_EFFECT_X,e.imgBattleEffectY=U.IMGPOS_DEFAULT_BATTLE_EFFECT_Y,e.imgClickX=0,e.imgClickY=0,e.frameColorR=U.DEFAULT_FRAME_COLOR_R,e.frameColorG=U.DEFAULT_FRAME_COLOR_G,e.frameColorB=U.DEFAULT_FRAME_COLOR_B,e.frameOutColorR=U.DEFAULT_FRAMEOUT_COLOR_R,e.frameOutColorG=U.DEFAULT_FRAMEOUT_COLOR_G,e.frameOutColorB=U.DEFAULT_FRAMEOUT_COLOR_B,e.fontColorR=U.DEFAULT_STR_COLOR_R,e.fontColorG=U.DEFAULT_STR_COLOR_G,e.fontColorB=U.DEFAULT_STR_COLOR_B,e.statusColorR=U.DEFAULT_STATUS_COLOR_R,e.statusColorG=U.DEFAULT_STATUS_COLOR_G,e.statusColorB=U.DEFAULT_STATUS_COLOR_B,e.moves=U.DEFAULT_MOVES,e.gameSpeedIndex=U.DEFAULT_SPEED_INDEX,e.permitChangeGameSpeed=!0,e.userVar=Array.from({length:U.USER_VAR_NUM}).map(()=>0),e.userNamedVar=new Map,e.playTime=0,e.isVisibleStatusEnergy=!0,e.isVisibleStatusStrength=!0,e.isVisibleStatusDefence=!0,e.isVisibleStatusGold=!0,e.gameOverPolicy=`default`,e.bgmDelayDurationMs=0,e.pictureRegistry=[],e.decisionSound=p.DECISION,e.attackSound=p.ATTACK,e}getMessageFromData(){let e=``,t=0;for(t=0;t<1500&&!(this.compressedMapData[this.currentPos+t*2]==0&&this.compressedMapData[this.currentPos+t*2+1]==0);t++)e+=String.fromCharCode((this.compressedMapData[this.currentPos+t*2+1]<<8)+this.compressedMapData[this.currentPos+t*2]);return this.currentPos+=t*2+2,e}},On=class{constructor(){}},kn=class e extends On{constructor(e){super(),this.uri=e}static async fetch(e){try{return await fetch(e)}catch{throw Error(`マップデータ 「${e}」の読み込みに失敗しました。
24
+ 通信環境の良いところで再度お試しください。
25
+ ローカルテストの場合は、ブラウザが対応していない可能性があります。`)}}static handleError(e,t){let n=`HTTPステータスコードは ${t.status} です。`;switch(t.status){case 200:case 304:return;case 403:throw Error(`マップデータ「${e}」を読み取る権限がないようです。
26
+ 管理者の方へ: マップデータのパーミッションを確認してください。
27
+ ${n}`);case 404:throw Error(`マップデータ「${e}」が見つかりませんでした。
28
+ ${n}`);default:throw Error(`マップデータ「${e}」の読み込みに失敗しました。
29
+ ${n}`)}}async request(){let t=await e.fetch(this.uri);return e.handleError(this.uri,t),await t.arrayBuffer()}},An=s(((e,t)=>{t.exports={}})),jn=l(An()),Mn=class extends On{constructor(e){super(),this.fileName=e}async request(){return new Promise((e,t)=>{jn.default.readFile(this.fileName,(n,r)=>{n&&t(n),e(r.buffer)})})}},Nn=e=>typeof window<`u`?new kn(e):new Mn(e),Pn=class{constructor(e,t){this.fileName=e,this.eventEmitter=t}async requestAndLoadMapData(){let e=Nn(this.fileName);try{let t=await e.request();if(!t){this.eventEmitter.dispatch(`error`,{name:`マップデータ取得に失敗しました`,message:`mapdata is empty`});return}let n=this.loadMapData(t);this.eventEmitter.dispatch(`mapData`,n)}catch(e){let t=e.name||``,n=e.message||``;this.eventEmitter.dispatch(`error`,{name:t,message:n})}}loadMapData(e){try{let t=new Uint8Array(e),{byteMapData:n,byteMapLength:r,compressedEndPosition:i}=En(t);return new Dn(new Cn(n,r,this.eventEmitter).extractAllData(),t,i,this.eventEmitter).load()}catch(e){throw e}}},Fn=class{constructor(){this._milisecondTimer=0,this._frameTimer=0,this._points=new Map}addPoint(e,t,n){if(!t&&!n)return;let r=In(t,n);switch(this._points.set(e,r),r.type){case`milisecond`:{let e=[...this._points.values()].filter(({type:e})=>e===`milisecond`).map(({value:e})=>e);this._milisecondLimit=Math.max(...e);break}case`frame`:{let e=[...this._points.values()].filter(({type:e})=>e===`frame`).map(({value:e})=>e);this._frameLimit=Math.max(...e)}}}enabled(){return this._points.size>0&&(this._milisecondTimer<this._milisecondLimit||this._frameTimer<this._frameLimit)}tick(e){!this.enabled()||this.isTimeOver()||(this._milisecondTimer+=e,this._frameTimer++)}isOver(e,t){if(this._points.has(e)){let t=this._points.get(e);switch(t.type){case`milisecond`:return this._milisecondTimer>=t.value;case`frame`:return this._frameTimer>=t.value;default:return!1}}return t}isNotOver(e,t){if(this._points.has(e)){let t=this._points.get(e);switch(t.type){case`milisecond`:return this._milisecondTimer<t.value;case`frame`:return this._frameTimer<t.value;default:return!1}}return t}isTimeOver(){return!1}get timeLimit(){return{milisecond:this._milisecondLimit,frame:this._frameLimit}}},In=(e,t)=>{if(e)return{value:e,type:`milisecond`};if(t)return{value:t,type:`frame`}},Ln=class{constructor(e,t){this.canvas=new OffscreenCanvas(fn(e),pn(t)),this.ctx=this.canvas.getContext(`2d`,{alpha:!0}),this.ctx.imageSmoothingEnabled=!1}getCanvasImage(){return this.canvas}drawCanvas(e,t,n,r,i,a=L.CHIP_SIZE,o=L.CHIP_SIZE){this.ctx.drawImage(e,L.CHIP_SIZE*t,L.CHIP_SIZE*n,L.CHIP_SIZE,L.CHIP_SIZE,r,i,a,o)}drawCanvasFree(e,t,n,r,i){this.ctx.drawImage(e,t,n,r,i)}drawFont(e,t,n,r){r===void 0?this.ctx.fillText(e,t,n):e.split(`
30
+ `).forEach((e,i)=>{this.ctx.fillText(e,t,n+i*r)})}updateSize(e,t){this.canvas.width=fn(e),this.canvas.height=pn(t),this.ctx.imageSmoothingEnabled=!1}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height)}},Rn=(e,t,n)=>e===`maximum`?{width:L.MAP_WINDOW_WIDTH,height:L.MAP_WINDOW_HEIGHT}:e===`minimumWithMargin`?{width:t+L.CHIP_SIZE*2,height:n+L.CHIP_SIZE*2}:{width:t,height:n},zn=(e,t,n)=>e===`maximum`?{x:t,y:n}:e===`minimumWithMargin`?{x:L.CHIP_SIZE,y:L.CHIP_SIZE}:{x:0,y:0},Bn=(e,t,n,r,i)=>e===`maximum`?{x:0,y:0,width:L.MAP_WINDOW_WIDTH,height:L.MAP_WINDOW_HEIGHT}:e===`minimumWithMargin`?{x:t-L.CHIP_SIZE,y:n-L.CHIP_SIZE,width:r*(L.CHIP_SIZE*2),height:i*(L.CHIP_SIZE*2)}:{x:t,y:n,width:r,height:i},Vn=(e,t,n,r,i)=>e===`maximum`?{x:r,y:i}:e===`minimumWithMargin`?{x:L.CHIP_SIZE+t/2,y:L.CHIP_SIZE+n/2}:{x:t/2,y:n/2},Hn=class e{constructor(t,n,r){this._registry=n;let{properties:i}=n;this._posBaseX=i.pos?.[0]??0,this._posBaseY=i.pos?.[1]??0,[this._imgMainX,this._imgMainY]=e._getImgPosByPicture(this._registry,!0),[this._imgSubX,this._imgSubY]=e._getImgPosByPicture(this._registry,!1),this._mapCropCache=e._getMapImgPosArray(this._registry,t),this._drawChip=on(this._imgMainX,this._imgMainY,this._imgSubX,this._imgSubY)||this._mapCropCache!==null,this._repeatX=i.repeat?.[0]??1,this._repeatY=i.repeat?.[1]??1,this._imgFile=r,this._cropX=this._imgFile?1:i.crop?.[0]??1,this._cropY=this._imgFile?1:i.crop?.[1]??1,this._sizeX=i.size?.[0]??(this._imgFile?this._imgFile.width:L.CHIP_SIZE),this._sizeY=i.size?.[1]??(this._imgFile?this._imgFile.height:L.CHIP_SIZE),this._circleRadiusX=i.circle?.[0]??0,this._circleRadiusY=i.circle?.[1]??this._circleRadiusX,this._circleAngle=i.circle?.[2]??0,this._fontStyle=e._getFontValue(i),this._textAlign=e._convertTextAlign(i.textAlign),this._fillStyle=`rgb(${i.color?.[0]??0}, ${i.color?.[1]??0}, ${i.color?.[2]??0})`,this._moveX=i.move?.[0]??0,this._moveY=i.move?.[1]??0,this._accelX=i.accel?.[0]??0,this._accelY=i.accel?.[1]??0,this._zoomX=i.zoom?.[0]??0,this._zoomY=i.zoom?.[1]??0,this._zoomAccelX=i.zoomAccel?.[0]??0,this._zoomAccelY=i.zoomAccel?.[1]??0,this._anchor=i.anchor??7,this._circleSpeed=i.circle?.[3]??0,this._opacity=i.opacity??100,this._fade=i.fade??0,this._angleRadian=i.angle?i.angle*Math.PI/180:0,this._rotateRadian=i.rotate?i.rotate*Math.PI/180:0,i.text?((i.angle||i.rotate)&&console.warn(`レイヤー${this.layerNumber}番: テキストの描画と回転の併用は、現時点では非推奨です。今後動作が変わる可能性があるので、自己責任でお願いします。`),this._drawCoordType=`maximum`):i.angle||i.rotate?this._drawCoordType=`minimumWithMargin`:this._drawCoordType=`minimum`,this._updatePictureCache();let{width:a,height:o}=Rn(this._drawCoordType,this._totalWidth,this._totalHeight);if(this._canvas=new Ln(a,o),this._timer=new Fn,this._timer.addPoint(`start`,an(i.time,1,!1),an(i.timeFrame,1,!1)),this._timer.addPoint(`end`,an(i.time,0,!0),an(i.timeFrame,0,!0)),this._timer.addPoint(`startAnim`,i.animTime?.[0],i.animTimeFrame?.[0]),this._timer.addPoint(`endAnim`,i.animTime?.[1],i.animTimeFrame?.[1]),this._timer.addPoint(`wait`,i.wait,i.waitFrame),this._angleRadian!==0){let{x:e,y:t}=Vn(this._drawCoordType,this._totalWidth,this._totalHeight,this._posBaseX,this._posBaseY);this._canvas.ctx.translate(e,t),this._canvas.ctx.rotate(this._angleRadian),this._canvas.ctx.translate(-e,-t)}this.updateCanvasContext(),this._hasAnimation=this.getHasAnimation()}get layerNumber(){return this._registry.layerNumber}get hasAnimation(){return this._hasAnimation}get canvasImage(){return this._canvas.getCanvasImage()}get appearParts(){if(!(!this._registry.properties.map||this._registry.properties.map.length<3))return{partsNumber:this._registry.properties.map[0],x:this._registry.properties.map[1],y:this._registry.properties.map[2],partsType:this._registry.properties.map[3]??bn.OBJECT}}get executeScriptFunctionName(){return this._registry.properties.script}updateCanvasContext(){this._canvas.ctx.globalAlpha=e._roundPercentage(this._opacity)/100,this._canvas.ctx.font=this._fontStyle,this._canvas.ctx.textBaseline=`top`,this._textAlign&&(this._canvas.ctx.textAlign=this._textAlign),this._canvas.ctx.fillStyle=this._fillStyle}draw(e,t){this.clearCanvas();let n=t?this._imgMainX:this._imgSubX,r=t?this._imgMainY:this._imgSubY,{x:i,y:a}=zn(this._drawCoordType,this._posDestX,this._posDestY);for(let o=0;o<this._repeatY;o++)for(let s=0;s<this._repeatX;s++){let c=i+this._charaWidth*s,l=a+this._charaHeight*o;if(this._imgFile)this._canvas.drawCanvasFree(this._imgFile,c,l,this._charaWidth,this._charaHeight);else if(this._drawChip)if(this._mapCropCache!==null)this._mapCropCache.forEach((n,r)=>{n.forEach(([n,i,a,o],s)=>{on(n,i,a,o)&&this._canvas.drawCanvas(e,t?n:a,t?i:o,c+this._chipWidth*s,l+this._chipHeight*r,this._chipWidth,this._chipHeight)})});else for(let t=0;t<this._cropY;t++)for(let i=0;i<this._cropX;i++)this._canvas.drawCanvas(e,n+i,r+t,c+this._chipWidth*i,l+this._chipHeight*t,this._chipWidth,this._chipHeight);this.getHasText()&&this._canvas.drawFont(this._registry.properties.text,c,l,this._registry.properties.lineHeight)}}getDrawPictureCoords(){return Bn(this._drawCoordType,this._posDestX,this._posDestY,this._totalWidth,this._totalHeight)}updateAnimation(){if(this._timer.isNotOver(`startAnim`,!1)||this._timer.isOver(`endAnim`,!1))return;this._posBaseX+=this._moveX,this._posBaseY+=this._moveY,this._moveX+=this._accelX,this._moveY+=this._accelY,this._sizeX+=this._zoomX,this._sizeY+=this._zoomY,this._zoomX+=this._zoomAccelX,this._zoomY+=this._zoomAccelY,this._updatePictureCache();let{width:e,height:t}=Rn(this._drawCoordType,this._totalWidth,this._totalHeight);if(this._canvas.updateSize(e,t),this._circleAngle+=this._circleSpeed,this._fade!==0&&(this._opacity+=this._fade),this._angleRadian!==0||this._rotateRadian!==0){this._angleRadian+=this._rotateRadian;let{x:e,y:t}=Vn(this._drawCoordType,this._totalWidth,this._totalHeight,this._posBaseX,this._posBaseY);this._canvas.ctx.translate(e,t),this._canvas.ctx.rotate(this._angleRadian),this._canvas.ctx.translate(-e,-t)}this.updateCanvasContext()}_updatePictureCache(){this._chipWidth=sn(this._sizeX),this._chipHeight=sn(this._sizeY),this._charaWidth=this._chipWidth*this._cropX,this._charaHeight=this._chipHeight*this._cropY,this._totalWidth=this._charaWidth*this._repeatX,this._totalHeight=this._charaHeight*this._repeatY,this._posDestX=Math.floor(cn(ln(this._posBaseX,this._circleRadiusX,this._circleAngle),this._charaWidth,this._anchor)),this._posDestY=Math.floor(un(dn(this._posBaseY,this._circleRadiusY,this._circleAngle),this._charaHeight,this._anchor))}isNotStarted(){return this._timer.isNotOver(`start`,!1)}tickTime(e){this._timer.tick(e)}isDeadlineOver(){return this._timer.isOver(`end`,!1)}isStartTimeOver(){return this._timer.isOver(`start`,!0)}isWaiting(){return this._timer.isNotOver(`wait`,!1)}clearCanvas(){this._canvas.clear()}getRegistryData(){return this._registry}getNextPicturePartsInfo(){let e=Array.isArray(this._registry.properties.next)&&this._registry.properties.next[0]?{layerNumber:this._registry.layerNumber,partsNumber:this._registry.properties.next[0],partsType:this._registry.properties.next[1]??bn.OBJECT,connectProperties:!!this._registry.properties.next[2]}:void 0,t=Array.isArray(this._registry.properties.create)?this._registry.properties.create.filter(Array.isArray).map(e=>({layerNumber:e[0],partsNumber:e[1],partsType:e[2]??bn.OBJECT,connectProperties:!!e[3]})):[];return e?t.concat(e):t}getNextPictureProperties(){let e={...this._registry.properties};return delete e.next,delete e.create,{...e,pos:[this._posBaseX,this._posBaseY],move:[this._moveX,this._moveY],size:[this._sizeX,this._sizeY],zoom:[this._zoomX,this._zoomY],circle:[this._circleRadiusX,this._circleRadiusY,this._circleAngle,this._circleSpeed],opacity:this._opacity}}getTriggerPartsCoord(){return new S(this._registry.triggerPartsX,this._registry.triggerPartsY)}getHasAnimation(){return this._moveX!==0||this._moveY!==0||this._accelX!==0||this._accelY!==0||this._zoomX!==0||this._zoomY!==0||this._zoomAccelX!==0||this._zoomAccelY!==0||this._circleSpeed!==0||this._fade!==0||this._rotateRadian!==0}getHasText(){return this._registry.properties.text}static _getImgPosByPicture(e,t){let{properties:n}=e;return n.imgMap?.[0]!==void 0&&n.imgMap?.[1]!==void 0?[0,0]:n.img?.[0]!==void 0&&n.img?.[1]!==void 0?t?[n.img[0],n.img[1]]:n.img[2]!==void 0&&n.img[3]!==void 0?[n.img[2],n.img[3]]:[n.img[0],n.img[1]]:t||e.imgPosX2===0&&e.imgPosY2===0?[e.imgPosX,e.imgPosY]:[e.imgPosX2,e.imgPosY2]}static _getMapImgPosArray(e,t){let{properties:n}=e,r=n.imgMap?.[0]??-1,i=n.imgMap?.[1]??-1;if(r<0||i<0)return null;let a=n.crop?.[0]??1,o=n.crop?.[1]??1,s=n.imgMap?.[2]!==void 0&&n.imgMap[2]>=1?bn.MAP:bn.OBJECT,c=[];for(let e=0;e<o;e++){let n=[];for(let o=0;o<a;o++){let a=t.getPartsID(new S(r+o,i+e),s);if(a===0)n.push([0,0,0,0]);else{let e=s===bn.MAP?t.getMapInfo(a):t.getObjectInfo(a);s===bn.MAP||e[L.ATR_X2]===0&&e[L.ATR_Y2]===0?n.push([e[L.ATR_X]/L.CHIP_SIZE,e[L.ATR_Y]/L.CHIP_SIZE,e[L.ATR_X]/L.CHIP_SIZE,e[L.ATR_Y]/L.CHIP_SIZE]):n.push([e[L.ATR_X]/L.CHIP_SIZE,e[L.ATR_Y]/L.CHIP_SIZE,e[L.ATR_X2]/L.CHIP_SIZE,e[L.ATR_Y2]/L.CHIP_SIZE])}}c.push(n)}return c}static _getFontValue(e){if(e.font)return e.font;let t=getComputedStyle(H(`wwa-wrapper`));return e.fontSize===void 0&&e.fontFamily===void 0&&e.italic===void 0&&e.bold===void 0?t.font:`${e.italic?`italic`:``} ${e.bold?`bold`:``} ${e.fontSize?`${e.fontSize}px`:t.fontSize} ${e.fontFamily&&e.fontFamily.length>0?e.fontFamily:t.fontFamily}`}static _convertTextAlign(e){return e?[`center`,`end`,`left`,`right`,`start`].includes(e)?e:(console.warn(`textAlign プロパティで不正な値が検出されました。: ${e}`),null):null}static _roundPercentage(e){return e<0?0:e>100?100:e}},Un=async e=>fetch(e).then(t=>t.status===200||t.status===304?{kind:`data`,data:t}:{kind:`httpError`,errorMessage:`ファイル ${e} が読み込めませんでした。ステータスコード: ${t.status}`}).catch(t=>({kind:`connectionError`,errorMessage:`ファイル ${e} が読み込めませんでした。通信状態がいい場所で再度お試しください。`})).then(async e=>e.kind===`data`?{kind:`data`,data:await e.data.json()}:e).catch(t=>({kind:`brokenJson`,errorMessage:`ファイル ${e} が壊れています。`})),Wn=class e{constructor(t,n){this._wwa=t,this._pictures=new Map,this._anonymousPictures=[],this._externalImageFiles=new Map,this._frameTimerValue=e._getNowFrameValue(),this._setupExternalImageFiles(n)}async _setupExternalImageFiles(e){if(!e)return;let t=await Un(e);if(t){if(t.kind!==`data`){console.warn(`ピクチャ画像の定義ファイル ${e} が見つかりませんでした。エラーメッセージ: ${t.errorMessage}`);return}if(!t.data||typeof t.data!=`object`){console.warn(`ピクチャ画像の定義ファイル ${e} が正しい形式で書かれていません。`);return}if(`files`in t.data){let{files:n}=t.data;typeof n==`object`?Object.entries(t.data.files).forEach(([e,t])=>{this._externalImageFiles.set(e,{status:`loading`});let n=new Image;n.src=t,n.onerror=n=>{console.warn(typeof n==`string`?`ピクチャ画像ファイル ${t} が見つかりませんでした。エラーメッセージ: ${n}`:`ピクチャ画像ファイル ${t} が見つかりませんでした。`),this._externalImageFiles.set(e,{status:`failed`})},n.onload=()=>{this._externalImageFiles.set(e,{status:`success`,element:n})}}):console.warn(`ピクチャ画像の定義ファイル ${e} の files が正しい形式で書かれていません。`)}}}static _getNowFrameValue(){return performance.now()}registerPicture(e){let t=Object.keys(e.properties).filter(e=>!Ze.some(({name:t})=>t===e));if(t.length>0)throw Error(`不明なプロパティ名 ${t.map(e=>`"${e}"`).join(`, `)} が検出されました。`);let n;if(e.properties.imgFile){let t=this._externalImageFiles.get(e.properties.imgFile);t?t.status===`loading`?console.warn(`ピクチャ画像ファイル ${e.properties.imgFile} はまだ読み込みを完了していません。`):t.status===`failed`?console.warn(`ピクチャ画像ファイル ${e.properties.imgFile} を表示することができません。画像ファイルの Path が間違っていないかご確認ください。`):n=t.element:console.warn(`ピクチャ画像ファイル ${e.properties.imgFile} が定義に含まれていません。定義ファイルがあるかご確認ください。`)}let r=e.properties.sound??e.soundNumber;if(r&&this._wwa.playSound(r),en(e.layerNumber))tn(e.layerNumber)?this._anonymousPictures.push(new Hn(this._wwa,e,n)):(this._pictures.set(e.layerNumber,new Hn(this._wwa,e,n)),this._pictures=new Map([...this._pictures.entries()].sort(([,e],[,t])=>e.layerNumber-t.layerNumber)));else throw Error(`指定したレイヤー番号 ${e.layerNumber}番はこのバージョンでは無効です!`)}registerPictureFromRawRegistry(e,t,n,r){return this.registerPicture(rn(r?{...e,properties:{...r,...e.properties}}:e,this._wwa.generateTokenValues({id:t,type:n,position:new S(e.triggerPartsX,e.triggerPartsY)}))),this.getPictureRegistryData()}registerPictureFromRawText(e,t){let n=Zt({imgPosX:0,imgPosY:0,imgPosX2:0,imgPosY2:0,layerNumber:e,triggerPartsX:0,triggerPartsY:0,soundNumber:0,propertiesText:t});return this.registerPicture(nn(n)),this.getPictureRegistryData()}registerPictureFromObject(e,t){return this.registerPicture(nn({imgPosX:0,imgPosY:0,imgPosX2:0,imgPosY2:0,layerNumber:e,triggerPartsX:0,triggerPartsY:0,soundNumber:0,properties:t})),this.getPictureRegistryData()}deletePicture(e){return tn(e)?(this._anonymousPictures.forEach(e=>{e.clearCanvas()}),this._anonymousPictures.splice(0),this.getPictureRegistryData()):(this._pictures.has(e)&&(this._pictures.get(e).clearCanvas(),this._pictures.delete(e)),this.getPictureRegistryData())}clearAllPictures(){this._pictures.forEach(e=>{e.clearCanvas()}),this._anonymousPictures.forEach(e=>{e.clearCanvas()}),this._pictures.clear(),this._anonymousPictures.splice(0)}forEachPictures(e){this._anonymousPictures.forEach(e),this._pictures.forEach(e)}updateAllPicturesCache(e,t){this.forEachPictures(n=>{n.isNotStarted()||n.draw(e,t)})}updateFrameTimerValue(){this._frameTimerValue=e._getNowFrameValue()}updatePicturesAnimation(t,n){let r=e._getNowFrameValue()-this._frameTimerValue;this.forEachPictures(e=>{if(e.tickTime(r),!e.isNotStarted()){if(e.isDeadlineOver()){let t=e.layerNumber,n=e.getNextPicturePartsInfo(),r=e.appearParts,i=e.executeScriptFunctionName,a=e.getNextPictureProperties(),o=e.getTriggerPartsCoord();this._wwa.deletePictureRegistry(t);for(let e of n)this._wwa.setPictureRegistry(e.layerNumber,e.partsNumber,e.partsType,o,e.connectProperties?a:void 0);r!==void 0&&this._wwa.setPartsOnPosition(r.partsType,r.partsNumber,new S(r.x,r.y)),i&&this._wwa.callUserScript(i);return}e.hasAnimation&&(e.updateAnimation(),e.draw(t,n))}})}isWaiting(){for(let e of this._pictures.values())if(e.isWaiting())return!0;for(let e of this._anonymousPictures)if(e.isWaiting())return!0;return!1}getPictureRegistryData(){return Array.from(this._pictures.values()).map(e=>e.getRegistryData())}},Gn=class{constructor(e,t,n){this.cvs=document.createElement(`canvas`),this.cvs.width=e,this.cvs.height=t,this.ctx=this.cvs.getContext(`2d`,{alpha:n}),this._isTransparent=n}drawCanvas(e,t,n,r,i,a=L.CHIP_SIZE,o=L.CHIP_SIZE){this.ctx.drawImage(e,L.CHIP_SIZE*t,L.CHIP_SIZE*n,L.CHIP_SIZE,L.CHIP_SIZE,r,i,a,o)}clear(){this.clearRect(0,0,this.cvs.width,this.cvs.height)}clearRectWithLowerYLimit(e){this.clearRect(0,0,this.cvs.width,e)}clearRect(e,t,n,r){this._isTransparent?this.ctx.clearRect(e,t,n,r):(this.ctx.fillStyle=`#9E9E9E`,this.ctx.fillRect(e,t,n,r))}},Kn=class{_load(){this._frameCoord,!this._isLoaded&&(this.mapCache=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],this.mapObjectCache=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],this._image=new Image,this._image.addEventListener(`load`,()=>{this.createFrame(),this._loadCompleteCallBack()}),this._image.addEventListener(`error`,()=>{throw Error(`Image Load Failed!!
31
+ file name:`+this._fileName)}),this._image.src=this._fileName,this._isLoaded=!0)}createFrame(){this._frameCanvas.clear(),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y,0,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y,L.MAP_WINDOW_WIDTH-L.CHIP_SIZE,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y+2,0,L.MAP_WINDOW_HEIGHT-L.CHIP_SIZE),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y+2,L.MAP_WINDOW_WIDTH-L.CHIP_SIZE,L.MAP_WINDOW_HEIGHT-L.CHIP_SIZE);for(var e=1;e<L.H_PARTS_NUM_IN_WINDOW-1;e++)this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+1,this._frameCoord.y,L.CHIP_SIZE*e,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+1,this._frameCoord.y+2,L.CHIP_SIZE*e,L.MAP_WINDOW_HEIGHT-L.CHIP_SIZE);for(var e=1;e<L.V_PARTS_NUM_IN_WINDOW-1;e++)this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y+1,0,L.CHIP_SIZE*e),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y+1,L.MAP_WINDOW_WIDTH-L.CHIP_SIZE,L.CHIP_SIZE*e)}updateEffects(e){var t;if(e){var n=e.length,r;for(t=0;t<n;t++){var i=e[t];r=this._effectCanvases[t],r?r.clear():r=this._effectCanvases[t]=new Gn(L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW,!0);for(var a=0;a<L.V_PARTS_NUM_IN_WINDOW;a++)for(var o=0;o<L.H_PARTS_NUM_IN_WINDOW;o++)r.drawCanvas(this._image,i.x,i.y,o*L.CHIP_SIZE,a*L.CHIP_SIZE)}}}restorePictures(e){this.picture.clearAllPictures(),e.forEach(e=>{this.picture.registerPicture(e)})}updateAllPicturesCache(e=!0){this.picture.updateAllPicturesCache(this._image,e)}updatePicturesAnimation(e=!0){this.picture.updatePicturesAnimation(this._image,e)}drawFrame(){this._ctx.drawImage(this._frameCanvas.cvs,0,0,L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE,0,0,L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE),this._ctx.drawImage(this._frameCanvas.cvs,0,L.CHIP_SIZE*(L.H_PARTS_NUM_IN_WINDOW-1),L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE,0,L.CHIP_SIZE*(L.H_PARTS_NUM_IN_WINDOW-1),L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE),this._ctx.drawImage(this._frameCanvas.cvs,0,L.CHIP_SIZE,L.CHIP_SIZE,L.CHIP_SIZE*(L.H_PARTS_NUM_IN_WINDOW-2),0,L.CHIP_SIZE,L.CHIP_SIZE,L.CHIP_SIZE*(L.H_PARTS_NUM_IN_WINDOW-2)),this._ctx.drawImage(this._frameCanvas.cvs,L.CHIP_SIZE*(L.H_PARTS_NUM_IN_WINDOW-1),L.CHIP_SIZE,L.CHIP_SIZE,L.CHIP_SIZE*(L.H_PARTS_NUM_IN_WINDOW-2),L.CHIP_SIZE*(L.H_PARTS_NUM_IN_WINDOW-1),L.CHIP_SIZE,L.CHIP_SIZE,L.CHIP_SIZE*(L.H_PARTS_NUM_IN_WINDOW-2))}drawEffect(e){var t=this._effectCanvases[e];t&&this._ctx.drawImage(t.cvs,0,0,L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW,0,0,L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW)}drawPictures(){this.picture.forEachPictures(e=>{let{x:t,y:n,width:r,height:i}=e.getDrawPictureCoords();this._ctx.drawImage(e.canvasImage,0,0,r,i,t,n,r,i)})}drawCanvas(e,t,n,r){if(!this._isLoaded)throw Error(`No image was loaded.`);this._ctx.drawImage(this._image,L.CHIP_SIZE*e,L.CHIP_SIZE*t,L.CHIP_SIZE,L.CHIP_SIZE,n,r,L.CHIP_SIZE,L.CHIP_SIZE)}drawCanvasWithSize(e,t,n,r,i,a){if(!this._isLoaded)throw Error(`No image was loaded.`);this._ctx.drawImage(this._image,L.CHIP_SIZE*e,L.CHIP_SIZE*t,L.CHIP_SIZE*n,L.CHIP_SIZE*r,i,a,L.CHIP_SIZE*n,L.CHIP_SIZE*r)}drawCanvasWithUpperYLimit(e,t,n,r,i){if(!this._isLoaded)throw Error(`No image was loaded.`);var a=Math.max(0,r+L.CHIP_SIZE-i);a>=L.CHIP_SIZE||this._ctx.drawImage(this._image,L.CHIP_SIZE*e,L.CHIP_SIZE*t,L.CHIP_SIZE,L.CHIP_SIZE-a,n,r,L.CHIP_SIZE,L.CHIP_SIZE)}copyCanvas(e,t){return(n,r,i,a,o)=>{if(!this._isLoaded)throw Error(`No image was loaded.`);let s=Math.max(0,t(a,o));s>=L.CHIP_SIZE||e.ctx.drawImage(this._image,L.CHIP_SIZE*n,L.CHIP_SIZE*r+s,L.CHIP_SIZE,L.CHIP_SIZE-s,i,a+s,L.CHIP_SIZE,L.CHIP_SIZE)}}copyBackCanvasWithUpperYLimit(e,t,n,r,i){this.copyCanvas(this._backCanvas,(e,t)=>e+L.CHIP_SIZE-t)(e,t,n,r,i)}copyBackCanvasWithLowerYLimit(e,t,n,r,i){this.copyCanvas(this._backCanvas,(e,t)=>t-e)(e,t,n,r,i)}copyObjectCanvasWithUpperYLimit(e,t,n,r,i,a){this.copyCanvas(this._objectCanvases[e],(e,t)=>e+L.CHIP_SIZE-t)(t,n,r,i,a)}copyObjectCanvasWithLowerYLimit(e,t,n,r,i,a){this.copyCanvas(this._objectCanvases[e],(e,t)=>t-e)(t,n,r,i,a)}drawBackCanvas(){if(!this._isLoaded)throw Error(`No image was loaded.`);this._ctx.drawImage(this._backCanvas.cvs,0,0,L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW,0,0,L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW)}drawObjectCanvas(e){if(!this._isLoaded)throw Error(`No image was loaded.`);this._ctx.drawImage(this._objectCanvases[e].cvs,0,0,L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW,0,0,L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW)}clearBackCanvas(){this._backCanvas.clear()}clearBackCanvasWithLowerYLimit(e){this._backCanvas.clearRectWithLowerYLimit(e)}clearObjectCanvases(){var e;for(e=0;e<2;e++)this._objectCanvases[e].clear()}clearObjectCanvasesWithLowerYLimit(e){var t;for(t=0;t<2;t++)this._objectCanvases[t].clearRectWithLowerYLimit(e)}drawCanvasWithLowerYLimit(e,t,n,r,i){if(!this._isLoaded)throw Error(`No image was loaded.`);var a=Math.max(0,i-r);a>=L.CHIP_SIZE||this._ctx.drawImage(this._image,L.CHIP_SIZE*e,L.CHIP_SIZE*t+a,L.CHIP_SIZE,L.CHIP_SIZE-a,n,r+a,L.CHIP_SIZE,L.CHIP_SIZE)}clearCanvas(e,t,n,r){this._ctx.clearRect(e,t,n,r)}drawBase(e,t,n,r){this._ctx.fillStyle=`#9E9E9E`,this._ctx.fillRect(e,t,n,r)}setFrameImage(e){this._frameCoord=e,this.createFrame()}constructor(e,t,n,r,i,a){this._isLoaded=!1,this.mapCache=void 0,this.mapObjectCache=void 0,this.mapCacheYLimit=0,this._frameCanvas=new Gn(L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW,!0),this._backCanvas=new Gn(L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW,!1),this._objectCanvases=[],this._effectCanvases=[],this.picture=new Wn(r,i);var o;for(o=0;o<2;o++)this._objectCanvases[o]=new Gn(L.CHIP_SIZE*L.V_PARTS_NUM_IN_WINDOW,L.CHIP_SIZE*L.H_PARTS_NUM_IN_WINDOW,!0);this._ctx=e,this._fileName=t,this._loadCompleteCallBack=a,this._load(),this._frameCoord=n.clone(),this.cpPartsLog=new S(0,0)}},qn=class{constructor(e){this._position=null,this.reset(e)}setPlayer(e){this._player=e}isResetting(){return this._isResetting}getPosition(){return this._position}getPreviousPosition(){return this._positionPrev}resetPreviousPosition(){this._positionPrev=null}move(e){var t=fe[this._player.getSpeedIndex()];this._position=this._position.getNextFramePosition(e,t*(L.H_PARTS_NUM_IN_WINDOW-1),t*(L.V_PARTS_NUM_IN_WINDOW-1))}getTransitionStepNum(){return this._transitionStep}advanceTransitionStepNum(){return++this._transitionStep,this._transitionStep===L.V_PARTS_NUM_IN_WINDOW&&(this._isResetting=!1,this._transitionStep=0),this._transitionStep}isFinalStep(){if(this._isResetting===!1)throw Error(`リセット中ではありません。`);return this._transitionStep===L.V_PARTS_NUM_IN_WINDOW-1}reset(e){this._positionPrev=this._position,this._position=e.getDefaultCameraPosition(),this._transitionStep=0,this._isResetting=!0}},Jn=class{getPosition(){return this._position}constructor(e){this._position=e}},Yn=class extends Jn{constructor(e){super(e)}},W=function(e){return e[e.CONTROLLABLE=0]=`CONTROLLABLE`,e[e.MOVING=1]=`MOVING`,e[e.CAMERA_MOVING=2]=`CAMERA_MOVING`,e[e.MESSAGE_WAITING=3]=`MESSAGE_WAITING`,e[e.LOCALGATE_JUMPED=4]=`LOCALGATE_JUMPED`,e[e.BATTLE=5]=`BATTLE`,e[e.ESTIMATE_WINDOW_WAITING=6]=`ESTIMATE_WINDOW_WAITING`,e[e.PASSWORD_WINDOW_WAITING=7]=`PASSWORD_WINDOW_WAITING`,e[e.LOCALGATE_JUMPED_WITH_MESSAGE=8]=`LOCALGATE_JUMPED_WITH_MESSAGE`,e}({}),Xn=class extends Yn{move(){if(this.isControllable()){this.controll(this._dir);return}if(this._state===W.CAMERA_MOVING){try{this._camera.move(this._dir)}catch{}this._isOnCameraStopPosition()&&(this._state=W.CONTROLLABLE,this._wwa.callCameraMoveUserDefineFunction())}else if(this._state===W.MOVING){try{var e=this._position.getNextFramePosition(this._dir,fe[this._speedIndex],fe[this._speedIndex])}catch{}e.isJustPosition()&&(this._state=W.CONTROLLABLE,this.toggleMovingImage(),this._moves++,this._isPartsEventExecuted=!1,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,this._wwa.callMoveUserDefineFunction()),this._position=e}}controll(e){var t,n;if(this.isControllable()){this._isPreparedForLookingAround=!1,this._dir=e;try{t=this._position.getNextFramePosition(this._dir,fe[this._speedIndex],fe[this._speedIndex]),n=this._position.getNextJustPosition(e)}catch{return}if(this._isOnCameraMovingPosition()){if(this._wwa.getMapIdByPosition(n)!==0||this._wwa.isOldMap()||this._wwa.debug)try{this._camera.move(this._dir),this._state=W.CAMERA_MOVING}catch{this._state=W.CONTROLLABLE}return}if(!this.canMoveTo(n)){this._wwa.getMapTypeByPosition(n)===L.MAP_WALL&&this._wwa.checkMap(n.getPartsCoord()),this._wwa.checkObject(n.getPartsCoord());return}this._position=t,this._state=W.MOVING,this._wwa.getMapAttributeByPosition(this._position.getNextJustPosition(e),L.ATR_TYPE)!==L.MAP_LOCALGATE&&this._wwa.moveObjects(!0)}}setDir(e){this._isPreparedForLookingAround=!1,this._dir=e}canMoveTo(e){return e===null?!1:this._wwa.debug?!0:(this._wwa.getMapWidth(),e.getPartsCoord(),e.getOffsetCoord(),this._wwa.getMapIdByPosition(e)===0&&!this._wwa.isOldMap()||this._wwa.getMapTypeByPosition(e)===L.MAP_WALL?!1:this._wwa.getObjectIdByPosition(e)===0||this._wwa.getObjectTypeByPosition(e)===L.OBJECT_NORMAL&&this._wwa.getObjectAttributeByPosition(e,L.ATR_MODE)===L.PASSABLE_OBJECT?!0:this._wwa.getObjectTypeByPosition(e)===L.OBJECT_DOOR&&this._wwa.getObjectAttributeByPosition(e,L.ATR_NUMBER)===L.PASSABLE_OBJECT?!this.hasItem(this._wwa.getObjectAttributeByPosition(e,L.ATR_ITEM)):!1)}isMoving(){return this._state==W.MOVING||this._state==W.CAMERA_MOVING}_isOnCameraMovingPosition(){var e=this._camera.getPosition().getPartsCoord(),t=this.getPosition().getPartsCoord();return t.x-e.x===L.H_PARTS_NUM_IN_WINDOW-1&&this._dir===T.RIGHT||t.x===e.x&&this._dir===T.LEFT||t.y-e.y===L.V_PARTS_NUM_IN_WINDOW-1&&this._dir===T.DOWN||t.y===e.y&&this._dir===T.UP}_isOnCameraStopPosition(){var e=this._camera.getPosition().getPartsCoord(),t=this.getPosition().getPartsCoord();return t.x-e.x===L.H_PARTS_NUM_IN_WINDOW-1&&this._dir===T.LEFT||t.x===e.x&&this._dir===T.RIGHT||t.y-e.y===L.V_PARTS_NUM_IN_WINDOW-1&&this._dir===T.UP||t.y===e.y&&this._dir===T.DOWN}isControllable(){var e=this._afterMoveMacroFlag;return this._afterMoveMacroFlag=!1,this._state===W.CONTROLLABLE&&!this._partsAppeared&&(this._wwa.getMapTypeByPosition(this._position)!==L.MAP_LOCALGATE&&this._wwa.getMapTypeByPosition(this._position)!==L.MAP_URLGATE||!this._wwa.isPrevFrameEventExecuted())&&this._moveMacroWaitingRemainMoves===0&&this._moveObjectAutoExecTimer===0&&!e&&this._wwa.canInput()}getCopyOfItemBox(){return this._itemBox.slice()}getDir(){return this._dir}isMovingImage(){return this._isMovingImage}toggleMovingImage(){this._isMovingImage?this._isMovingImage=!1:this._isMovingImage=!0}getEnergyMax(){return this._energyMax}isJumped(){return this._state===W.LOCALGATE_JUMPED||this._state===W.LOCALGATE_JUMPED_WITH_MESSAGE}setMessageWaiting(){this._state=W.MESSAGE_WAITING}isWaitingMessage(){return this._state===W.MESSAGE_WAITING}isDelayFrame(){return this._messageDelayFrameCount>0}updateDelayFrame(){this._messageDelayFrameCount--}setDelayFrame(){this._messageDelayFrameCount=1}clearMessageWaiting(){this._state!==W.MESSAGE_WAITING&&this._state!==W.LOCALGATE_JUMPED_WITH_MESSAGE||(this._state===W.MESSAGE_WAITING?this._state=W.CONTROLLABLE:this._state===W.LOCALGATE_JUMPED_WITH_MESSAGE&&(this._state=W.LOCALGATE_JUMPED),this._isPartsEventExecuted=!0,this._isPreparedForLookingAround&&(this._lookingAroundTimer=L.PLAYER_LOOKING_AROUND_START_FRAME))}setEstimateWindowWating(){this._state=W.ESTIMATE_WINDOW_WAITING}isWaitingEstimateWindow(){return this._state===W.ESTIMATE_WINDOW_WAITING}clearEstimateWindowWaiting(){this._state===W.ESTIMATE_WINDOW_WAITING&&(this._state=W.CONTROLLABLE)}setPasswordWindowWating(){this._state=W.PASSWORD_WINDOW_WAITING}isWaitingPasswordWindow(){return this._state===W.PASSWORD_WINDOW_WAITING}clearPasswordWindowWaiting(){this._state===W.PASSWORD_WINDOW_WAITING&&(this._state=W.CONTROLLABLE)}isPartsEventExecuted(){return this._isPartsEventExecuted}resetEventExecutionInfo(){this._isPartsEventExecuted=!1}getLastExecPartsIDOnSamePosition(e){return e===A.MAP?this._samePosLastExecutedMapID:this._samePosLastExecutedObjID}setLastExecInfoOnSamePosition(e,t){e===A.MAP?this._samePosLastExecutedMapID=t:this._samePosLastExecutedObjID=t}processAfterJump(){this._state!==W.LOCALGATE_JUMPED&&this._state!==W.LOCALGATE_JUMPED_WITH_MESSAGE||--this._jumpWaitFramesRemain===0&&(this._state=this._state===W.LOCALGATE_JUMPED?W.CONTROLLABLE:W.MESSAGE_WAITING)}jumpTo(e){var t=this._camera.getPosition();return this.getPosition(),this._position.equals(e)?!1:(this._position=e,e.isInCameraRange(this._camera,!0)||this._camera.reset(e),this._state=this._state===W.MESSAGE_WAITING?W.LOCALGATE_JUMPED_WITH_MESSAGE:W.LOCALGATE_JUMPED,this._jumpWaitFramesRemain=L.LOCALGATE_PLAYER_WAIT_FRAME,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,e.hasLocalGate()?this._dir=T.DOWN:e.getPartsCoord().y<=this._wwa.getMapWidth()-2&&e.getNextJustPosition(T.DOWN).hasLocalGate()?this._dir=T.UP:e.getPartsCoord().y>=1&&e.getNextJustPosition(T.UP).hasLocalGate()?this._dir=T.DOWN:e.getPartsCoord().x<=this._wwa.getMapWidth()-2&&e.getNextJustPosition(T.RIGHT).hasLocalGate()?this._dir=T.LEFT:e.getPartsCoord().x>=1&&e.getNextJustPosition(T.LEFT).hasLocalGate()?this._dir=T.RIGHT:this._dir=T.DOWN,this._camera.getPosition().equals(t)||(this._isPreparedForLookingAround=!0,this._lookingAroundTimer=L.PLAYER_LOOKING_AROUND_START_FRAME),this._wwa.callJumpGateUserDefineFunction(),!0)}systemJumpTo(e){this._position=e,this._camera.reset(e),this._camera.resetPreviousPosition(),this._state=W.LOCALGATE_JUMPED,this._jumpWaitFramesRemain=L.LOCALGATE_PLAYER_WAIT_FRAME,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,this._dir=T.DOWN,this._isPreparedForLookingAround=!0,this._lookingAroundTimer=L.PLAYER_LOOKING_AROUND_START_FRAME}addStatusAll(e){return this._status.add(e),this.isDead()&&(this._status.energy=0),this._energyMax!==0&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),this._status}setEnergyMax(e){return this._energyMax=e,e!==0&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),e}setEnergy(e){return this._status.energy=e,this.isDead()&&(this._status.energy=0),this._energyMax!==0&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),e}damage(e){this._status.energy=Math.max(0,this._status.energy-e),this.isDead()&&(this._status.energy=0),this._energyMax!==0&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox()}setStrength(e){return this._status.strength=e,this.updateStatusValueBox(),e}setDefence(e){return this._status.defence=e,this.updateStatusValueBox(),e}setGold(e){return this._status.gold=e,this.updateStatusValueBox(),e}getStatus(){return this._status.plus(this._equipStatus)}getStatusWithoutEquipments(){return this._status.plus(new b(0,0))}getStatusOfEquipments(){return this._equipStatus.plus(new b(0,0))}updateStatusValueBox(){let e=this._status.plus(this._equipStatus);this._energyValueElement.textContent=this._wwa.isVisibleStatus(`energy`)?String(e.energy):``,this._strengthValueElement.textContent=this._wwa.isVisibleStatus(`strength`)?String(e.strength):``,this._defenceValueElement.textContent=this._wwa.isVisibleStatus(`defence`)?String(e.defence):``,this._goldValueElement.textContent=this._wwa.isVisibleStatus(`gold`)?String(e.gold):``,this._wwa._messageWindow?.update(),this._wwa.updateScore()}updateItemBox(e){for(let t=0;t<this._itemBoxElement.length;t++){let n=this._itemBoxElement[t],r=Be(`#item`+t);if(this._itemBox[t]===0){n.style.backgroundPosition=`-40px 0px`,this.disposeItemEffect(t,this._itemBoxElement[t],r);continue}let i=this._wwa.getObjectCropXById(this._itemBox[t]),a=this._wwa.getObjectCropYById(this._itemBox[t]);if(!e||t!==e.insertPos-1){n.style.backgroundPosition=`-`+i+`px -`+a+`px`,this.disposeItemEffect(t,this._itemBoxElement[t],r);continue}let o=e.itemScreenPixelCoord.x-e.itemBoxScreenPixelCoord.x,s=e.itemScreenPixelCoord.y-e.itemBoxScreenPixelCoord.y,c=-o*L.DEFAULT_FRAME_INTERVAL/L.ITEM_EFFECT_SPEED_PIXEL_PER_FRAME,l=e.overwrittenObjectId===0||e.overwrittenObjectId===void 0,u=l?e.itemBoxBackgroundImageCoord.x:this._wwa.getObjectCropXById(e.overwrittenObjectId),d=l?e.itemBoxBackgroundImageCoord.y:this._wwa.getObjectCropYById(e.overwrittenObjectId);n.style.left=o+`px`,n.style.top=s+`px`,typeof this.itemEffectStartTimers[t]==`number`&&clearInterval(this.itemEffectStartTimers[t]),this.itemEffectStartTimers[t]=window.setTimeout(()=>{this.itemEffectStartTimers[t]=void 0,this.startItemEffect(t,n,r,{target:{x:i,y:a},overwritten:{x:u,y:d}},c)},L.DEFAULT_FRAME_INTERVAL)}}startItemEffect(e,t,n,r,i){let a=n.querySelector(this.overwittenItemSelector);a&&n.removeChild(a);let o=document.createElement(`div`);o.classList.add(this.overwittenItemClassName),o.style.backgroundPosition=`-`+r.overwritten.x+`px -`+r.overwritten.y+`px`,o.style.backgroundImage=n.style.backgroundImage,n.appendChild(o),t.style.backgroundPosition=`-`+r.target.x+`px -`+r.target.y+`px`,t.style.transitionDuration=i+`ms`,t.style.transitionProperty=`left,top`,t.style.transitionTimingFunction=`linear`,t.style.left=`0`,t.style.top=`0`,n.classList.add(this.itemTransitioningClassName),t.addEventListener(`transitionend`,()=>{this.disposeItemEffect(e,t,n)},{once:!0})}disposeItemEffect(e,t,n){typeof this.itemEffectStartTimers[e]==`number`&&(clearInterval(this.itemEffectStartTimers[e]),this.itemEffectStartTimers[e]=void 0),t.style.transitionDuration=`0s`,t.style.transitionProperty=``,t.style.left=`0`,t.style.top=`0`,n.classList.contains(this.itemTransitioningClassName)&&n.classList.remove(this.itemTransitioningClassName);let r=n.querySelector(this.overwittenItemSelector);r&&n.removeChild(r)}isDead(){return this._status.energy<=0}addItem(e,t=0,n=!1,r){var i,a,o,s=this._wwa.getObjectAttributeById(e,L.ATR_NUMBER),c=0;if(t===0&&s!==0&&(t=s),t===0){if(e===0)return;if(i=this._getBlankItemPos(),i===L.ITEMBOX_IS_FULL)throw this._wwa.setEvalCalcWwaNodeEarnedItem(e,-1),this._wwa.callGetItemFullUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),Error(`これ以上、アイテムを持てません。`);c=this._itemBox[i-1],this._forceSetItemBox(i,e)}else if(n===!1)if(i=t,o=this._itemBox[i-1],this._wwa.getObjectAttributeById(o,L.ATR_NUMBER)!==this._wwa.getObjectAttributeById(e,L.ATR_NUMBER))if(a=this._getBlankItemPos(),a!==L.ITEMBOX_IS_FULL)this._forceSetItemBox(a,o),this._forceSetItemBox(i,e);else throw this._wwa.setEvalCalcWwaNodeEarnedItem(e,-1),this._wwa.callGetItemFullUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),Error(`これ以上、アイテムを持てません。`);else c=this._itemBox[i-1],this._forceSetItemBox(i,e);else i=t,c=this._itemBox[i-1],this._forceSetItemBox(i,e);this._updateEquipmentStatus(),this.updateItemBox(r?{insertPos:i,itemScreenPixelCoord:r.screenPixelCoord,itemBoxBackgroundImageCoord:r.itemBoxBackgroundImageCoord,itemBoxScreenPixelCoord:new S(L.MAP_WINDOW_WIDTH+(i-1)%3*L.CHIP_SIZE,L.ITEMBOX_TOP_Y+Math.floor((i-1)/3)*L.CHIP_SIZE),overwrittenObjectId:c}:void 0)}_forceSetItemBox(e,t){var n=this,r=Ve(`#item`+(e-1)+`>.item-click-border`),i=this._wwa.getObjectAttributeById(t,L.ATR_MODE);if(this.removeItemByItemPosition(e),this._itemBox[e-1]=t,this._wwa.setEvalCalcWwaNodeEarnedItem(t,e),this._wwa.callGetItemUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),t!==0&&i!==ne.NORMAL){let t=this._wwa.resolveSystemMessage(g.ITEM_SELECT_TUTORIAL);this._isClickableItemGot||=(t!==`BLANK`&&this._wwa.registerSystemMessagePage(t),!0),r.style.display=`block`,(e=>{n._itemUsingEvent[e-1]=()=>{(n.isControllable()||n._wwa._messageWindow.isItemMenuChoice())&&(n._wwa._itemMenu.close(),n._wwa._setNextPage(),n._wwa.onselectitem(e))}})(e),r.addEventListener(`click`,this._itemUsingEvent[e-1])}}_getBlankItemPos(){var e;for(e=1;e<this._itemBox.length+1;e++)if(this._itemBox[e-1]===0)return e;return L.ITEMBOX_IS_FULL}_updateEquipmentStatus(){var e,t=new b(0,0);for(e=0;e<L.ITEMBOX_SIZE;e++)this._itemBox[e]!==0&&(t.strength+=this._wwa.getObjectAttributeById(this._itemBox[e],L.ATR_STRENGTH),t.defence+=this._wwa.getObjectAttributeById(this._itemBox[e],L.ATR_DEFENCE));var n=t.minus(this._equipStatus);this._wwa.setStatusChangedEffect(n),this._equipStatus=t,this.updateStatusValueBox()}hasItem(e){for(var t=0;t<L.ITEMBOX_SIZE;t++)if(this._itemBox[t]===e)return!0;return!1}canUseItem(e){var t=this._itemBox[e-1];return!(t===0||this._wwa.getObjectAttributeById(t,L.ATR_MODE)===ne.NORMAL)}useItem(){var e=this._itemBox[this._readyToUseItemPos1To12-1];this._wwa.getObjectAttributeById(e,L.ATR_MODE)!==ne.NOT_DISAPPEAR&&this.removeItemByItemPosition(this._readyToUseItemPos1To12);var t=H(`item`+(this._readyToUseItemPos1To12-1));return setTimeout(()=>{t.classList.contains(`onpress`)&&t.classList.remove(`onpress`)},L.DEFAULT_FRAME_INTERVAL),this._wwa.setEvalCalcWwaNodeEarnedItem(e,this._readyToUseItemPos1To12),this._wwa.callUseItemUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),this._isReadyToUseItem=!1,this._readyToUseItemPos1To12=void 0,e}canHaveMoreItems(){return this._getBlankItemPos()!==L.ITEMBOX_IS_FULL}removeItemByItemPosition(e){var t;this._itemBox[e-1]!==0&&(this._wwa.getObjectAttributeById(this._itemBox[e-1],L.ATR_MODE)!==ne.NORMAL&&(t=Ve(`#item`+(e-1)+`>.item-click-border`),t.removeEventListener(`click`,this._itemUsingEvent[e-1]),t.style.display=`none`),this._itemBox[e-1]=0,this._updateEquipmentStatus(),this.updateItemBox())}removeItemByPartsID(e){var t;if(!this.hasItem(e))throw Error(`アイテムを持っていない`);for(var n=0;n<L.ITEMBOX_SIZE;n++)if(this._itemBox[n]===e){this._wwa.getObjectAttributeById(this._itemBox[n],L.ATR_MODE)!==ne.NORMAL&&(t=Ve(`#item`+n+`>.item-click-border`),t.removeEventListener(`click`,this._itemUsingEvent[n]),t.style.display=`none`),this._itemBox[n]=0,this._updateEquipmentStatus(),this.updateItemBox();return}}clearItemBox(){for(var e=1;e<=L.ITEMBOX_SIZE;e++)this.removeItemByItemPosition(e);this._updateEquipmentStatus(),this.updateItemBox()}hasGold(e){return this._status.gold>=e}payGold(e){if(!this.hasGold(e))throw Error(`お金が足りない`);this.setGold(this._status.gold-e)}earnGold(e){this.setGold(this._status.gold+e)}setPartsAppearedFlag(){this._partsAppeared=!0}clearPartsAppearedFlag(){this._partsAppeared=!1}isPartsAppearedTime(){return this._partsAppeared===!0}startBattleWith(e){this._isPlayerTurn=!0,this._battleFrameCounter=L.BATTLE_INTERVAL_FRAME_NUM,this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=e,this._state=W.BATTLE}isFighting(){return this._state===W.BATTLE}isTurn(){return this._isPlayerTurn}getTurnNum(){return this._battleTurnLength}isBattleStartFrame(){return this._battleFrameCounter===L.BATTLE_INTERVAL_FRAME_NUM&&this._battleTurnLength===0}calcBattleResultForPlayerTurn(e,t,n=!1){return this._wwa.callUserDefinedBattleDamageFunction(`playerToEnemy`,(n||void 0)&&{playerStatus:e,enemyStatus:t})||{damage:this._calcDamageDefault(e,t)}}calcBattleResultForEnemyTurn(e,t,n=!1){return this._wwa.callUserDefinedBattleDamageFunction(`enemyToPlayer`,(n||void 0)&&{playerStatus:t,enemyStatus:e})||{damage:this._calcDamageDefault(e,t)}}_calcDamageDefault(e,t){let n=e.strength-t.defence;return n>0?n:0}fight(){if(!this.isFighting())throw Error(`バトルが開始されていません。`);if(this._battleTurnLength===0&&this._battleFrameCounter===L.BATTLE_INTERVAL_FRAME_NUM&&this._wwa.showMonsterWindow(),--this._battleFrameCounter>0)return;this._battleTurnLength++,this._wwa.isBattleSpeedIndexForQuickBattle(this._speedIndex)||this._battleTurnLength>L.BATTLE_SPEED_CHANGE_TURN_NUM?(this._battleTurnLength===1&&(this._wwa.playAttackSound(),this._wwa.vibration(!1)),this._battleFrameCounter=1):(this._battleFrameCounter=L.BATTLE_INTERVAL_FRAME_NUM,this._wwa.playAttackSound(),this._wwa.vibration(!0));var e=this.getStatus(),t=this._enemy.status;let n=!1;if(this._isPlayerTurn){if(this._battleTurnLength===1&&this._wwa.isUsingDefaultDamageCalcFunction()&&e.strength<=t.defence&&e.defence>=t.strength){this._enemy.battleEndProcess(),this._wwa.registerSystemMessagePageByKey(g.CANNOT_DAMAGE_MONSTER),this._battleTurnLength=0,this._enemy=null,this._state=W.CONTROLLABLE;return}let{damage:r,aborted:i}=this.calcBattleResultForPlayerTurn(e,t);this._enemy.damage(r),n=!!i,this._enemy.status.energy<=0&&(this._wwa.playSound(this._wwa.getObjectAttributeById(this._enemy.partsID,L.ATR_SOUND)),this.earnGold(t.gold),this._wwa.setStatusChangedEffect(new x(0,0,0,t.gold)),this._enemy.item===0?this._wwa.setPartsOnPosition(A.OBJECT,0,this._enemy.position):this._wwa.setPartsOnPosition(A.OBJECT,this._enemy.item,this._enemy.position),this._wwa.reserveAppearPartsInNextFrame(this._enemy.position,k.OBJECT,this._enemy.partsID),this._state=W.CONTROLLABLE,this._wwa.registerPageByMessage(this._enemy.message,{triggerParts:{id:this._enemy.partsID,type:A.OBJECT,position:this._enemy.position}}),this._enemy.battleEndProcess(),this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null),this._enemy!==null&&(r===0?this._battleNoDamageTurnLength++:this._battleNoDamageTurnLength=0),this._isPlayerTurn=!1}else{let{damage:r,aborted:i}=this.calcBattleResultForEnemyTurn(t,e);this.damage(r),n=!!i,this._status.energy<=0&&(this.setEnergy(0),this._enemy.battleEndProcess(),this._state=W.CONTROLLABLE,this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null,this._wwa.shouldApplyGameOver({isCalledByMacro:!1})&&this._wwa.gameover()),r===0?this._battleNoDamageTurnLength++:this._battleNoDamageTurnLength=0,this._isPlayerTurn=!0}(this._battleNoDamageTurnLength>L.FIGHT_DRAW_TURN||n)&&(this._enemy.battleEndProcess(),this._state=W.CONTROLLABLE,this._wwa.registerSystemMessagePageByKey(g.BATTLE_NOT_SETTLED),this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null)}readyToUseItem(e){var t;if(!this.canUseItem(e))throw Error(`アイテムがないか、アイテムが使えません。`);t=this._itemBox[e-1],this._wwa.getObjectAttributeById(t,L.ATR_STRING),this._wwa.reserveAppearPartsInNextFrame(this._position.getPartsCoord(),k.OBJECT,t),this._readyToUseItemPos1To12=e,this._isReadyToUseItem=!0}isReadyToUseItem(){return this._isReadyToUseItem}getDrawingCenterPosition(){var e=this._position.getPartsCoord(),t=this._position.getOffsetCoord(),n=this._camera.getPosition(),r=n.getPartsCoord(),i=n.getOffsetCoord();return new S((e.x-r.x)*L.CHIP_SIZE+t.x-i.x+L.CHIP_SIZE/2,(e.y-r.y)*L.CHIP_SIZE+t.y-i.y+L.CHIP_SIZE/2)}mainFrameCount(){this._frameCount++}getFrameCount(){return this._frameCount}setFrameCount(e){return typeof e!=`number`&&(e=0),this._frameCount=e}getMoveCount(){return this._moves}setMoveCount(e){return this._moves=e}isMoveObjectAutoExecTime(){return this._moveObjectAutoExecTimer===0}setMoveMacroWaiting(e){e<0||(this._moveMacroWaitingRemainMoves=e,this._moveObjectAutoExecTimer=0)}resetMoveObjectAutoExecTimer(){this._moveObjectAutoExecTimer=L.CHIP_SIZE/fe[this._speedIndex],this._moveMacroWaitingRemainMoves--}decrementMoveObjectAutoExecTimer(){return this._moveMacroWaitingRemainMoves>=0&&this._moveObjectAutoExecTimer>0&&(this._moveObjectAutoExecTimer--,this._moveMacroWaitingRemainMoves===0&&this._moveObjectAutoExecTimer===0&&(this._afterMoveMacroFlag=!0)),0}isWaitingMoveMacro(){return this._moveMacroWaitingRemainMoves!==0||this._moveObjectAutoExecTimer!==0}decrementLookingAroundTimer(){return this._isPreparedForLookingAround&&this._lookingAroundTimer>0?--this._lookingAroundTimer:0}isLookingAround(){return this._isPreparedForLookingAround&&this._lookingAroundTimer===0}getSpeedIndex(){return this._speedIndex}speedUp(){return this._speedIndex=Math.min(L.MAX_SPEED_INDEX,this._speedIndex+1)}speedDown(){return this._speedIndex=Math.max(L.MIN_SPEED_INDEX,this._speedIndex-1)}setSpeedIndex(e){if(e<L.MIN_SPEED_INDEX||L.MAX_SPEED_INDEX<e)throw Error(`#set_speed の引数が異常です:`+e);return this._speedIndex=e,this._speedIndex}isPausing(){return this.isJumped()||this.isWaitingMessage()||this.isWaitingPasswordWindow()||this.isWaitingEstimateWindow()||this.isWaitingMoveMacro()||this.isFighting()}constructor(e,t,n,r,i,a,o){super(t),this.itemTransitioningClassName=`item-transitioning`,this.overwittenItemClassName=`item-overwritten`,this.overwittenItemSelector=`.${this.overwittenItemClassName}`,this.itemEffectStartTimers=Array(L.ITEMBOX_SIZE),this._status=r,this._equipStatus=new b(0,0),this._itemBox=Array(L.ITEMBOX_SIZE),this._itemBoxElement=Array(L.ITEMBOX_SIZE),this._itemUsingEvent=Array(L.ITEMBOX_SIZE);for(var s=0;s<this._itemBox.length;s++)this._itemBox[s]=0,this._itemBoxElement[s]=Ve(`#item`+s+`>.item-disp`);this.updateItemBox(),this._energyMax=i,this._dir=T.DOWN,this._isMovingImage=!1,this._wwa=e,this._state=W.CONTROLLABLE,this._camera=n,this._isPartsEventExecuted=!1,this._energyValueElement=Ve(`#disp-energy>.status-value-box`),this._strengthValueElement=Ve(`#disp-strength>.status-value-box`),this._defenceValueElement=Ve(`#disp-defence>.status-value-box`),this._goldValueElement=Ve(`#disp-gold>.status-value-box`),this._isReadyToUseItem=!1,this._isClickableItemGot=!1,this._moves=a,this._moveMacroWaitingRemainMoves=0,this._moveObjectAutoExecTimer=0,this.updateStatusValueBox(),this._partsAppeared=!1,this._afterMoveMacroFlag=!1,this._isPreparedForLookingAround=!0,this._lookingAroundTimer=L.PLAYER_LOOKING_AROUND_START_FRAME,this._speedIndex=o,this._messageDelayFrameCount=0,this._battleNoDamageTurnLength=0}},Zn=class e{constructor(e,t,n,r,i,a,o){this._partsID=e,this._position=t,this._imgCoord=n,this._status=r,this._message=i,this._item=a,this._battleEndCallback=o}get partsID(){return this._partsID}get position(){return this._position}get imgCoord(){return this._imgCoord}get status(){return this._status}get message(){return this._message}get item(){return this._item}damage(e){this._status.energy=Math.max(0,this._status.energy-e)}battleEndProcess(){this._battleEndCallback?.()}setStatus(e){e.energy!==null&&(this._status.energy=e.energy),e.strength!==null&&(this._status.strength=e.strength),e.defence!==null&&(this._status.defence=e.defence)}clone(){return new e(this._partsID,this._position.clone(),this._imgCoord.clone(),this._status.clone(),this._message,this._item,this._battleEndCallback)}},Qn=class{constructor(e,t,n,r,i){this._player=e,this._objectID=t,this._srcPos=n,this._destPos=r,this._dir=i,this._currentPos=this._srcPos.clone()}update(){var e=this._player.getSpeedIndex();return this._currentPos=this._currentPos.getNextFramePosition(this._dir,fe[e],fe[e]),this._currentPos}get isAchievedDestination(){return this._currentPos.equals(this._destPos)}get currentPosition(){return this._currentPos}get beforePosition(){return this._srcPos}get destination(){return this._destPos}get objID(){return this._objectID}},$n=class{constructor(e,t){this._wwa=e,this._player=t,this.clear()}add(e,t,n,r){this._queue.push(new Qn(this._player,e,t,n,r))}update(){for(var e=[],t=[],n=0;n<this._queue.length;n++)this._queue[n].update(),this._queue[n].isAchievedDestination?(e.push(this._queue[n]),this._wwa.setPartsOnPosition(A.OBJECT,0,this._queue[n].beforePosition.getPartsCoord()),this._wwa.setPartsOnPosition(A.OBJECT,this._queue[n].objID,this._queue[n].destination.getPartsCoord())):t.push(this._queue[n]);return this._queue=t,e}clear(){this._queue=[]}get objectMovingData(){return this.objectMovingData}getOffsetByBeforePartsCoord(e){var t=this._queue.filter(t=>t.beforePosition.getPartsCoord().equals(e));return t.length===0?null:t[0].currentPosition.getOffsetCoord()}},er=(e,t)=>{if(e[0]===`+`){let n=parseInt(e.substring(1,10));if(Number.isNaN(n))throw Error(`+ 以降の文字列は数値形式で記載してください。`);return t+n}else if(e[0]===`-`){let n=parseInt(e.substring(1,10));if(Number.isNaN(n))throw Error(`- 以降の文字列は数値形式で記載してください。`);return t-n}let n=parseInt(e,10);if(Number.isNaN(n))throw Error(`数値形式ではないため、解析できません。`);return n},tr=class{constructor(e,t,n,r){this._wwa=e,this._triggerParts=t,this.macroType=n,this.macroArgs=r}isJunction(){return[I.IF,I.ELSE_IF,I.ELSE,I.END_IF].includes(this.macroType)}execute(){try{switch(this.macroType){case I.IMGPLAYER:return this._executeImgPlayerMacro(),{};case I.IMGYESNO:return this._executeImgYesNoMacro(),{};case I.HPMAX:return this._executeHPMaxMacro(),{};case I.SAVE:return this._executeSaveMacro(),{};case I.ITEM:return this._executeItemMacro(),{};case I.DEFAULT:return this._executeDefaultMacro(),{};case I.OLDMAP:return this._executeOldMapMacro(),{};case I.PARTS:return this._executePartsMacro(),{};case I.MOVE:return this._executeMoveMacro(),{};case I.MAP:return this._executeMapMacro(1),{};case I.DIRMAP:return this._executeDirMapMacro(),{};case I.IMGFRAME:return this._executeImgFrameMacro(),{};case I.IMGBOM:return this._executeImgBomMacro(),{};case I.DELPLAYER:return this._executeDelPlayerMacro(),{};case I.FACE:return this._executeFaceMacro(),{};case I.EFFECT:return this._executeEffectMacro(),{};case I.GAMEOVER:return this._executeGameOverMacro(),{};case I.IMGCLICK:return this._executeImgClickMacro(),{};case I.STATUS:{let{isGameOver:e}=this._executeStatusMacro();return{isGameOver:e}}case I.EFFITEM:return this._executeEffItemMacro(),{};case I.COLOR:return this._executeColorMacro(),{};case I.WAIT:return this._executeWaitMacro(),{};case I.SOUND:return this._executeSoundMacro(),{};case I.GAMEPAD_BUTTON:return this._executeGamePadButtonMacro(),{};case I.OLDMOVE:return this._executeOldMoveMacro(),{};case I.JUMPGATE:return this._executeJumpGateMacro(),{};case I.RECPOSITION:return this._executeRecPositionMacro(),{};case I.JUMPRECPOSITION:return this._executeJumpRecPositionMacro(),{};case I.CONSOLE_LOG:return this._executeConsoleLogMacro(1),{};case I.COPY_HP_TO:return this._executeCopyHpToMacro(),{};case I.SET_HP:{let{isGameOver:e}=this._executeSetHPMacro();return{isGameOver:e}}case I.COPY_HPMAX_TO:return this._executeCopyHpMaxToMacro(),{};case I.SET_HPMAX:return this._executeSetHpMaxMacro(),{};case I.COPY_AT_TO:return this._executeCopyAtToMacro(),{};case I.SET_AT:return this._executeSetAtMacro(),{};case I.COPY_DF_TO:return this._executeCopyDfToMacro(),{};case I.SET_DF:return this._executeSetDfMacro(),{};case I.COPY_MONEY_TO:return this._executeCopyMoneyToMacro(),{};case I.SET_MONEY:return this._executeSetMoneyMacro(),{};case I.COPY_STEP_COUNT_TO:return this._executeSetStepCountMacro(),{};case I.VAR_SET_VAL:return this._executeVarSetValMacro(),{};case I.VAR_SET:return this._executeVarSetMacro(),{};case I.VAR_ADD:return this._executeVarAddMacro(),{};case I.VAR_SUB:return this._executeVarSubMacro(),{};case I.VAR_MUL:return this._executeVarMulMacro(),{};case I.VAR_DIV:return this._executeVarDivMacro(),{};case I.VAR_MOD:return this._executeVarModMacro(),{};case I.VAR_SET_RAND:return this._executeVarSetRandMacro(),{};case I.GAME_SPEED:return this._executeGameSpeedMacro(),{};case I.SHOW_STR:return{};case I.SHOW_STR2:return{};case I.IF:return{};case I.LEGACY_IF:return this._executeLegacyIfMacro(),{};case I.ELSE_IF:return{};case I.ELSE:return{};case I.END_IF:return{};case I.SET_SPEED:return this._executeSetSpeedMacro(),{};case I.COPY_TIME_TO:return this._executeCopyTimeToMacro(),{};case I.HIDE_STATUS:return this._executeHideStatusMacro(),{};case I.VAR_MAP:return this._executeVarMapMacro(),{};case I.NO_GAMEOVER:return this._executeNoGameOverMacro(),{};case I.SET:{let{isGameOver:e}=this._executeSetMacro();return{isGameOver:e}}case I.MAP2:return this._executeMapMacro(2),{};case I.CONSOLE_LOG2:return this._executeConsoleLogMacro(2),{};case I.DELAYBGM:return this._executeDelayBgmMacro(),{};case I.SYSMSG:return this._executeSysMsgMacro(),{};case I.PICTURE:return this._executePictureMacro(),{};default:return console.log(`不明なマクロIDが実行されました:`+this.macroType),{}}}catch{}}_concatEmptyArgs(e){if(this.macroArgs.length<e){for(var t=Array(e-this.macroArgs.length),n=0;n<t.length;n++)t[n]=``;this.macroArgs=this.macroArgs.concat(t)}}_evaluateIntValue(e,t=0){let n=this.macroArgs[e];if(n===``)return t;let r=Number(n),i=r>=0?Math.floor(r):Math.ceil(r);return isNaN(i)?Jt(n,this._wwa.generateTokenValues(this._triggerParts),t):i}_executeJumpGateMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.forcedJumpGate(e,t)}_executeRecPositionMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.recUserPosition(e,t)}_executeJumpRecPositionMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.jumpRecUserPosition(e,t)}_executeConsoleLogMacro(e){this._concatEmptyArgs(1);let t=this._evaluateIntValue(0);switch(e){case 1:this._wwa.outputUserVar(t);return;case 2:console.log(`${this.macroArgs[0]} = ${t}`);return}}_executeCopyHpToMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarHP(e)}_executeCopyHpMaxToMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarHPMAX(e)}_executeCopyAtToMacro(){this._concatEmptyArgs(2);let e=this._evaluateIntValue(0),t=this._parseStatusKind(this._evaluateIntValue(1));this._wwa.setUserVarAT(e,t)}_executeCopyDfToMacro(){this._concatEmptyArgs(2);let e=this._evaluateIntValue(0),t=this._parseStatusKind(this._evaluateIntValue(1));this._wwa.setUserVarDF(e,t)}_parseStatusKind(e){switch(e){case 0:return`all`;case 1:return`bare`;case 2:return`equipment`;default:return`all`}}_executeCopyMoneyToMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarMONEY(e)}_executeSetHPMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);return this._wwa.setHPUserVar(e,!0)}_executeSetHpMaxMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setHPMAXUserVar(e)}_executeSetAtMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setATUserVar(e)}_executeSetDfMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setDFUserVar(e)}_executeSetMoneyMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setMONEYUserVar(e)}_executeSetStepCountMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarStep(e)}_executeVarSetValMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setUserVarVal(e,t)}_executeVarSetMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setUserValOtherUserVal(e,t)}_executeVarAddMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setUserValAdd(e,t)}_executeVarSubMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setUserValSub(e,t)}_executeVarMulMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setUserValMul(e,t)}_executeVarDivMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setUserValDiv(e,t)}_executeVarModMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setUserValMod(e,t)}_executeVarSetRandMacro(){this._concatEmptyArgs(3);let e=this._evaluateIntValue(0),t=this._evaluateIntValue(1),n=this._evaluateIntValue(2,0);this._wwa.setUserValRandNum(e,t,n)}_executeGameSpeedMacro(){this._concatEmptyArgs(1);var e=!!this._evaluateIntValue(0);this._wwa.speedChangeJudge(e)}_executeLegacyIfMacro(){for(var e=Array(11),t=0;t<10;t++)e[t]=this.macroArgs[t];this._wwa.userVarUserIf(this._triggerParts.position,e)}_executeSetSpeedMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setPlayerSpeedIndex(e-1)}_executeCopyTimeToMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarPlayTime(e)}_executeHideStatusMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1)!==0;this._wwa.hideStatus(e,t)}_executeVarMapMacro(){this._concatEmptyArgs(4);var e=this._evaluateIntValue(0),t=this.macroArgs[1],n=this.macroArgs[2],r=this._evaluateIntValue(3,A.OBJECT);if(e<0)throw Error(`入力変数が不正です`);this._wwa.varMap(this._triggerParts.position,t,n,e,r)}_executeImgPlayerMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setPlayerImgCoord(new S(e,t))}_executeImgYesNoMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setYesNoImgCoord(new S(e,t))}_executeHPMaxMacro(){this._concatEmptyArgs(1);var e=Math.max(0,this._evaluateIntValue(0));this._wwa.setPlayerEnergyMax(e)}_executeSaveMacro(){this._concatEmptyArgs(1);var e=!!this._evaluateIntValue(0);this._wwa.disableSave(e)}_executeItemMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);this._wwa.setPlayerGetItem(e,t)}_executeDefaultMacro(){this._concatEmptyArgs(1);var e=!!this._evaluateIntValue(0);this._wwa.setObjectNotCollapseOnPartsOnPlayer(e)}_executeOldMapMacro(){this._concatEmptyArgs(1);var e=!!this._evaluateIntValue(0);this._wwa.setOldMap(e)}_executePartsMacro(){this._concatEmptyArgs(4);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1),n=this._evaluateIntValue(2,A.OBJECT),r=this._evaluateIntValue(3);if(n!==A.OBJECT&&n!==A.MAP)throw Error(`パーツ種別が不明です`);if(r!==0&&r!==1&&(r=1),e<0||t<0)throw Error(`パーツ番号が不正です`);if(n===A.OBJECT){if(e>=this._wwa.getObjectPartsNum()||t>=this._wwa.getObjectPartsNum())throw Error(`パーツ番号が不正です`)}else if(e>=this._wwa.getMapPartsNum()||t>=this._wwa.getMapPartsNum())throw Error(`パーツ番号が不正です`);this._wwa.replaceParts(e,t,n,!!r)}_executeMoveMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setMoveMacroWaitingToPlayer(e)}_executeMapMacro(e){this._concatEmptyArgs(4);let t=this._evaluateIntValue(0);var n=this._evaluateIntValue(3,A.OBJECT);if(t<0)throw Error(`パーツ番号が不正です`);if(n===A.OBJECT){if(t>=this._wwa.getObjectPartsNum())throw Error(`パーツ番号が不正です`)}else if(t>=this._wwa.getMapPartsNum())throw Error(`パーツ番号が不正です`);if(e===1){let e=this.macroArgs[1],r=this.macroArgs[2];this._wwa.appearPartsEval(this._triggerParts.position,e,r,t,n)}else if(e===2){let e=this._evaluateIntValue(1),r=this._evaluateIntValue(2);if(isNaN(e)||isNaN(r))throw Error(`出現先座標が不正です`);this._wwa.appearPartsEval(this._triggerParts.position,`${e}`,`${r}`,t,n)}}_executeDirMapMacro(){this._concatEmptyArgs(3);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1),n=this._evaluateIntValue(2,A.OBJECT);if(isNaN(e)||isNaN(t)||isNaN(n))throw Error(`引数が整数ではありません`);if(e<0)throw Error(`パーツ番号が不正です`);if(n===A.OBJECT){if(e>=this._wwa.getObjectPartsNum())throw Error(`パーツ番号が不正です`)}else if(e>=this._wwa.getMapPartsNum())throw Error(`パーツ番号が不正です`);this._wwa.appearPartsByDirection(t,e,n)}_executeImgFrameMacro(){this._concatEmptyArgs(3);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1),n=this._evaluateIntValue(2);if(t<0||n<0)throw Error(`座標は正でなければなりません。`);if(e===de.ENERGY||e===de.STRENGTH||e===de.DEFENCE||e===de.GOLD)this._wwa.setStatusIconCoord(e,new S(t,n));else if(e===de.WIDE_CELL_ROW)this._wwa.setWideCellCoord(new S(t,n));else if(e===de.ITEM_BG)this._wwa.setItemboxBackgroundPosition({x:t,y:n});else if(e===de.MAIN_FRAME)this._wwa.setFrameCoord(new S(t,n));else throw Error(`種別が不正です。`)}_executeImgBomMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);if(e<0||t<0)throw Error(`座標は正でなければなりません。`);this._wwa.setBattleEffectCoord(new S(e,t))}_executeDelPlayerMacro(){this._concatEmptyArgs(1);let e=this._evaluateIntValue(0);this._wwa.setDelPlayer(!!e)}_executeFaceMacro(){this._concatEmptyArgs(6);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1),n=this._evaluateIntValue(2),r=this._evaluateIntValue(3),i=this._evaluateIntValue(4),a=this._evaluateIntValue(5),o;if(e<0||t<0||n<0||r<0||i<0||a<0)throw Error(`各引数は0以上の整数でなければなりません。`);o=new ee(new S(e,t),new S(n,r),new S(i,a)),this._wwa.addFace(o)}_executeEffectMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);if(e<0)throw Error(`待ち時間は0以上の整数でなければなりません。`);if(e===0){this._wwa.stopEffect();return}for(var t=[],n=1;n<this.macroArgs.length;n+=2){var r=this._evaluateIntValue(n),i=0;if(r<0)throw Error(`画像のパーツ座標指定は0以上の整数でなければなりません。`);if(n+1===this.macroArgs.length)throw Error(`画像のパーツ座標指定で、Y座標が指定されていません。`);if(i=this._evaluateIntValue(n+1),i<0)throw Error(`画像のパーツ座標指定は0以上の整数でなければなりません。`);t.push(new S(r,i))}this._wwa.setEffect(e,t)}_executeGameOverMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);if(e<0||e>=this._wwa.getMapWidth()||t<0||t>=this._wwa.getMapWidth())throw Error(`マップの範囲外が指定されています!`);this._wwa.setGameOverPosition(new S(e,t))}_executeImgClickMacro(){if(this._concatEmptyArgs(2),this.macroArgs.length<1)throw Error(`引数が少なすぎます`);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);if(e<0||t<0)throw Error(`引数が0以上の整数ではありません`);this._wwa.setImgClick(new S(e,t))}_executeEffItemMacro(){if(this.macroArgs.length<1)throw Error(`引数が少なすぎます`);var e=this._evaluateIntValue(0);this._wwa.updateItemEffectEnabled(!!e)}_executeStatusMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);if(e<0||4<e)throw Error(`ステータス種別が範囲外です。`);return this._wwa.setPlayerStatus(e,t,!0)}_executeColorMacro(){this._concatEmptyArgs(4);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1),n=this._evaluateIntValue(2),r=this._evaluateIntValue(3);if(e<0||e>5)throw Error(`種別は0から5までです`);if(t<0||t>255||n<0||n>255||r<0||r>255)throw Error(`色が範囲外です`);this._wwa.changeStyleRule(e,t,n,r)}_executeWaitMacro(){throw Error(`Not implemented!`)}_executeSoundMacro(){this._concatEmptyArgs(2);let e=parseInt(this.macroArgs[0]),t=parseInt(this.macroArgs[1]);this._wwa.playSound(e,{bgmDelayDurationMs:t})}_executeGamePadButtonMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),t=this._evaluateIntValue(1);if(e<0||t<0)throw Error(`各引数は0以上の整数でなければなりません。`);if(t>L.ITEMBOX_SIZE)throw Error(`アイテムボックス上限を超えた数値が指定されました。`);this._wwa.setGamePadButtonItemTable(e,t)}_executeOldMoveMacro(){this._concatEmptyArgs(1);let e=!!this._evaluateIntValue(0);this._wwa.setOldMove(e)}_executeNoGameOverMacro(){this._concatEmptyArgs(1);let e=this._evaluateIntValue(0);this._wwa.setGameOverPolicy(e)}_executeSetMacro(){return this._wwa.execSetMacro(this.macroArgs[0],{triggerParts:this._triggerParts})}_executePictureMacro(){if(this._concatEmptyArgs(3),this.macroArgs.length<1)throw Error(`引数が少なすぎます`);let e=this._evaluateIntValue(0),t=this.macroArgs[1].length>0?this.macroArgs[1]:`+0`;if(t===`0`){this._wwa.deletePictureRegistry(e);return}let n=er(t,this._triggerParts.id);if(n===0)throw Error(`パーツ番号の相対値算出で0が検出されました。ピクチャを消去する場合は0のまま指定してください。`);if(n<0)throw Error(`パーツ番号は0以上の整数でなければなりません。`);let r=this._evaluateIntValue(2,A.OBJECT);this._wwa.setPictureRegistry(e,n,r,this._triggerParts.position)}_executeDelayBgmMacro(){this._concatEmptyArgs(1);let e=this._evaluateIntValue(0);this._wwa.setBgmDelay(e)}_executeSysMsgMacro(){this._concatEmptyArgs(2);let e=this.resolveSystemMessageKeyFromMacroArg(this.macroArgs[0]);if(!e)throw Error(`該当するシステムメッセージの定義がありません`);let t=this.macroArgs[1]===``?void 0:this.macroArgs[1].replaceAll(`\\n`,`
32
+ `);this._wwa.overwriteSystemMessage(e,t)}resolveSystemMessageKeyFromMacroArg(e){return v(e)?e:y(this._evaluateIntValue(0))}};function nr(e,t,n){let r=n.match(/^\$([a-zA-Z_][a-zA-Z0-9_]*)\=(.*)$/);if((r===null||r.length!==3)&&(r=n.match(/^\$([a-zA-Z_][a-zA-Z0-9_]*)/),r===null||r.length!==2))throw Error(`マクロではありません`);let i=`$${r[1].toLowerCase()}`,a=i===`$if`&&n.match(/,/)?I.LEGACY_IF:le[i],o=a!==I.SHOW_STR&&a!==I.SHOW_STR2,s=(r[2]??``).split(`,`).map(e=>o?e.trim():e);return new tr(e,t,a===void 0?I.UNDEFINED:a,s)}var rr=class{constructor(e){this.generateTokenValues=e}static executeNodes(e,t){try{return{isError:!1,messages:e?.execute(t)??[]}}catch(e){return console.error(e),{isError:!0}}}},ir=class extends rr{constructor(e=[],t){super(t),this.branches=e}appendBranch(e){this.branches.push(e)}getLastUnconnectedBranch(){for(let e of this.branches)if(!e.next)return e}evaluateAndGetNextNode(e){for(let t of this.branches)if(!t.descriminant||Bt(t.descriminant,this.generateTokenValues(e)))return t.next}hasElseBranch(){return this.branches.filter(e=>!!e.elseBranch).length>=1}execute(e){if(!e)throw Error(`パーツ起因ページによる実行ではないため、Junctionノードの利用を想定していません。`);let t=this.evaluateAndGetNextNode(e);return t?t.execute(e):[]}},ar=class e extends rr{constructor(e,t,n,r,i,a){super(t),this.evalScript=n,this.macro=r,this.next=i,this.script=a,this.messageSegments=this.parseMessage(e),this.macro===void 0&&(this.macro=[])}isEmpty(){return this.messageSegments.reduce((e,t)=>e&&t===``,!0)}generatePrintableMessage(){return this.messageSegments.reduce((e,t)=>`${e}${typeof t==`string`?t:t()}`,``)}appendMessage(e,t=!1){this.messageSegments=this.messageSegments.concat(t?[`
33
+ `]:[],this.parseMessage(e))}static createEmptyMessage(t,n,r){return new e([],t,n,void 0,void 0,r)}parseMessage(e){return typeof e==`string`?[e]:e}execute(e){return this.script&&this.evalScript(this.script,e),this.macro?.forEach(e=>{if(e.execute().isGameOver)throw Error(`ゲームオーバーのため、メッセージ・マクロの実行を打ち切ります。`)}),this.next?[this,...this.next.execute(e)]:[this]}};function or(e){return e.split(/\n\<c\>/i)[0].split(/\<c\>/i)[0].replace(/\n\<p\>\n/gi,`<P>`).replace(/\n\<p\>/gi,`<P>`).replace(/\<p\>\n/gi,`<P>`).replace(/\<p\>/gi,`<P>`).split(`
34
+ `).map(e=>{if(!e.startsWith(`//`))return e.match(/\/\//)?Ke(Ke(e).replace(/^.*\/\/(?!:s?ptth)/gi,``)):e}).filter(e=>e!==void 0).join(`
35
+ `).replace(/\\\/\\\//gi,`//`)}function sr(e){if(e===``)return{pageContents:[]};let t=e.split(/\<script\>/i),[n,r]=t.length>1?[t[0],t[1]]:[t[0]];return{pageContents:n.split(/\<p\>/gi),script:r}}function cr({content:e,script:t,generatingOption:n,pageType:r,parseMacro:i,evalScript:a,generateTokenValuesCallback:o}){let s,c,l,u=ur(e,i),d=[];if(u.forEach((e,t)=>{try{let r=t===0?void 0:u[t-1].type,i=d[d.length-1],f=dr(e,!s||!lr(r),o,a,{triggerParts:n.triggerParts}),p=fr(f,e,i,d);p&&(l=p),r?pr(e,r,c,f,i,l,o,{triggerParts:n.triggerParts}):s=f,f&&(c=f)}catch(e){console.error(`$if-$else_if-$else-$endif マクロの解析中にエラーが発生しました。ページ ${t}`),console.error(e)}}),t&&r===`first`){let e=ar.createEmptyMessage(o,a,t);e.next=s,s=e}return{firstNode:s,isLastPage:r===`last`,triggerParts:n.triggerParts,isSystemMessage:n.isSystemMessage,showChoice:r===`first`?n.showChoice:void 0,scoreOption:r===`first`?n.scoreOption:void 0,additionalItems:n.additionalItems}}var lr=e=>e===I.SHOW_STR||e===I.SHOW_STR2||e===`text`||e===`normalMacro`;function ur(e,t){return e.split(`
36
+ `).map(e=>{let n=e.match(/(\$(?:[a-zA-Z_][a-zA-Z0-9_]*)(?:.*))/);if(!n||n.length<2)return e.startsWith(`$`)?void 0:{type:`text`,text:e};let r=t(n[1]);switch(r.macroType){case I.IF:case I.ELSE_IF:case I.ELSE:case I.END_IF:case I.SHOW_STR:case I.SHOW_STR2:return{type:r.macroType,text:e,macro:r};default:return{type:`normalMacro`,text:e,macro:r}}}).filter(Boolean)}function dr(e,t,n,r,i){switch(e.type){case I.IF:return new ir([{descriminant:Xt(e.macro.macroArgs[0])}],n);case I.SHOW_STR:case I.SHOW_STR2:return t?new ar(hr(e.macro.macroArgs,n,{triggerParts:i.triggerParts,version:e.type===I.SHOW_STR2?2:1}),n,r):void 0;case`text`:return t?new ar(e.text,n,r):void 0;case`normalMacro`:return t?new ar(``,n,r,[e.macro]):void 0;default:return}}function fr(e,t,n,r){let i=r.length===0;switch(t.type){case I.IF:r.push(e);return;case I.ELSE_IF:if(i)throw Error(`構文エラー: $if を呼ぶ前に $else_if は呼べません`);n.appendBranch({descriminant:Xt(t.macro.macroArgs[0])});return;case I.ELSE:if(i)throw Error(`構文エラー: $if を呼ぶ前に $else は呼べません`);n.appendBranch({descriminant:!0,elseBranch:{type:`real`}});return;case I.END_IF:if(i)throw Error(`構文エラー: $if を呼ぶ前に $endif は呼べません`);return r.pop()}}function pr(e,t,n,r,i,a,o,s){let c=lr(t);switch(t){case I.IF:case I.ELSE_IF:case I.ELSE:{if(!r||!i)return;let e=i.getLastUnconnectedBranch();if(e)e.next=r;else throw Error(`lastUnconnectedBranchが見つかりませんでした。`);return}case I.END_IF:if(!r||!(a instanceof ir))return;for(let e=0;e<a.branches.length;e++){let t=a.branches[e].next;if(!t){a.branches[e].next=r;continue}mr(t,r)}a.hasElseBranch()||a.branches.push({next:r,descriminant:!0,elseBranch:{type:`pesudo-else`}});return;default:{if(!c||!(n instanceof ar))return;let t=!n.isEmpty();e.type===I.SHOW_STR||e.type===I.SHOW_STR2?n.appendMessage(hr(e.macro.macroArgs,o,{triggerParts:s.triggerParts,version:e.type===I.SHOW_STR2?2:1}),t):e.type===`text`?n.appendMessage(e.text,t):e.type===`normalMacro`?n.macro.push(e.macro):n.next=r}}}function mr(e,t){let n=e;for(;;)if(n instanceof ir&&(n=n.branches[0].next),n instanceof ar){if(!n.next){n.next=t;return}n=n.next}}function hr(e,t,n){return e.map(e=>{let r=Number(e);return isNaN(r)?Yt(e)?()=>Jt(e,t(n.triggerParts)):e.replace(/\\n/g,`
37
+ `):()=>{let e=t(n.triggerParts).userVars;return n.version===1?e[r]:r}})}function gr(e,t,n,r,i){let{pageContents:a,script:o}=sr(or(e));return a.length===0?[{firstNode:ar.createEmptyMessage(i,r,o),isLastPage:!0,...t}]:a.map((e,s)=>cr({script:o,content:e,generatingOption:t,pageType:_r(s,a.length),parseMacro:n,evalScript:r,generateTokenValuesCallback:i}))}function _r(e,t){return e===0?`first`:e===t-1?`last`:`other`}function vr(e){if(e===void 0)return!0;if(e instanceof ir)return e.branches.reduce((e,t)=>e&&vr(t.next),!0);if(e instanceof ar)return e.isEmpty()&&vr(e.next)}var yr=class{constructor(e,t,n,r,i,a,o){this._wwa=e,this._coord=t,this._width=n,this._height=r,this._isVisible=i,this._parentElement=a,this._element=document.createElement(`div`),this._element.style.position=`absolute`,this._element.style.borderWidth=`2px`,this._element.style.borderStyle=`solid`,e.isClassicMode()?this._element.style.borderRadius=`15px`:this._element.style.borderRadius=`10px`,this._element.classList.add(`wwa-message-window`),this._element.style.zIndex=o+``,this._element.style.left=this._coord.x+`px`,this._element.style.top=this._coord.y+`px`,this._element.style.width=this._width+`px`,this._element.style.height=this._height+`px`,this._parentElement.appendChild(this._element)}update(e){}show(){this._isVisible=!0,this._element.style.display=`block`,this.update(),this._wwa.wwaCustomEvent(`wwa_window_show`,{name:this.windowName,element:this._element,text:this._element.textContent})}hide(){this._isVisible=!1,this._element.style.display=`none`,this.update(),this._wwa.wwaCustomEvent(`wwa_window_hide`,{name:this.windowName})}isVisible(){return this._isVisible}get windowName(){return`TextWindow`}},br=class extends yr{constructor(e,t,n,r,i,a,o){super(e,new S(t.x,t.y),n,r,i,a,201),this._cgFileName=o,this._monsterBox=document.createElement(`div`),this._monsterBox.style.width=L.CHIP_SIZE+`px`,this._monsterBox.style.height=L.CHIP_SIZE+`px`,this._monsterBox.style.position=`absolute`,this._monsterBox.style.left=`10px`,this._monsterBox.style.top=`10px`,this._monsterBox.style.backgroundImage=`url(`+this._cgFileName.replace(`(`,`\\(`).replace(`)`,`\\)`)+`)`,this._monsterBox.style.backgroundPosition=`0 0`,this._element.appendChild(this._monsterBox),this._energyBox=document.createElement(`div`),this._energyBox.style.position=`absolute`,this._energyBox.style.left=`80px`,this._energyBox.style.top=`10px`,this._energyBox.textContent=`生命力 0`,this._element.appendChild(this._energyBox),this._strengthBox=document.createElement(`div`),this._strengthBox.style.position=`absolute`,this._strengthBox.style.left=`80px`,this._strengthBox.style.top=`30px`,this._strengthBox.textContent=`攻撃力 0`,this._element.appendChild(this._strengthBox),this._defenceBox=document.createElement(`div`),this._defenceBox.style.position=`absolute`,this._defenceBox.style.left=`180px`,this._defenceBox.style.top=`30px`,this._defenceBox.textContent=`防御力 0`,this._element.appendChild(this._defenceBox),this._isVisible?this._element.style.display=`block`:this._element.style.display=`none`}update(e){e!==void 0&&(this._monsterBox.style.backgroundPosition=`-`+e.imgCoord.x+`px -`+e.imgCoord.y+`px`,this._energyBox.textContent=`生命力 `+e.status.energy,this._strengthBox.textContent=`攻撃力 `+e.status.strength,this._defenceBox.textContent=`防御力 `+e.status.defence)}get windowName(){return`MonsterWindow`}},xr=class extends yr{static{this.WINDOW_NAME=`ScoreWindow`}constructor(e,t,n,r){e.isClassicMode()?(super(e,new S(L.CHIP_SIZE*2,30),L.CHIP_SIZE*7,40,n,r,202),this._element.style.borderWidth=`0`,this._element.style.borderRadius=`4px`,this._element.style.fontSize=`20px`,this._element.style.lineHeight=`40px`):super(e,new S(t.x,t.y),340,30,n,r,202),this._element.style.textAlign=`center`,this._isVisible?this._element.style.display=`block`:this._element.style.display=`none`,this.update(0)}update(e){e!==void 0&&(this._element.textContent=`Score: `+e)}get windowName(){return`ScoreWindow`}},Sr=function(e){return e[e.TOP=0]=`TOP`,e[e.CENTER=1]=`CENTER`,e[e.BOTTOM=2]=`BOTTOM`,e[e.SCORE=3]=`SCORE`,e}({}),Cr=class{constructor(e,t,n,r,i,a,o,s,c,l){this._wwaSave=void 0,this._save_select_id=0,this._save_counter=0,this._save_close=!1;var u=this,d=a.replace(`(`,`\\(`).replace(`)`,`\\)`);switch(this._wwa=e,this._cgFileName=a,this._x=t,this._y=n,this._width=r,this._height=i,this._message=``,this._isVisible=o,this._isYesno=s,this._isItemMenu=c,this._element=document.createElement(`div`),this._element.id=`wwa-text-message-window`,this._element.classList.add(`wwa-message-window`),this._msgWrapperElement=document.createElement(`div`),this._msgWrapperElement.style.textAlign=`left`,this._msgWrapperElement.style.wordWrap=`break-word`,this._msgWrapperElement.style.margin=e.isClassicMode()?`8px 0 8px 16px`:`0`,this._msgWrapperElement.style.padding=e.isClassicMode()?`0`:`7px`,this._element.appendChild(this._msgWrapperElement),this._saveElement=document.createElement(`div`),this._saveElement.style.padding=`0`,this._saveElement.style.margin=`0`,this._element.appendChild(this._saveElement),this._dummyElement=document.createElement(`div`),this._dummyElement.style.display=`none`,this._dummyElement.style.padding=`0`,this._dummyElement.style.margin=`0`,this._dummyElement.style.height=`55px`,this._element.appendChild(this._dummyElement),this._ynWrapperElement=document.createElement(`div`),this._ynWrapperElement.classList.add(`wwa-yesno-wrapper`),this._element.appendChild(this._ynWrapperElement),this._parentElement=l,this._parentElement.appendChild(this._element),this._divYesElement=document.createElement(`div`),this._divYesElement.classList.add(`wwa-yes-button`),this._divYesElement.style.background=`url(`+d+`)`,this._divYesElement.onclick=function(){u._isInputDisable||(e.setYesNoInput(O.YES),u.update())},this._divYesElement.style.cursor=`pointer`,this._divNoElement=document.createElement(`div`),this._divNoElement.classList.add(`wwa-no-button`),this._divNoElement.style.background=`url(`+d+`)`,this._divNoElement.onclick=function(){u._isInputDisable||(e.setYesNoInput(O.NO),u.update())},this._ynWrapperElement.appendChild(this._divYesElement),this._ynWrapperElement.appendChild(this._divNoElement),u._isInputDisable=!1,e.userDevice.device){case re.SP:case re.VR:this._parentElement.classList.add(`useScaleUp`);break}this.update()}setPosition(e,t,n,r){this._x=e,this._y=t,this._width=n,this._height=r,this.update()}setPositionByPlayerPosition(e,t,n,r,i){var a=r.getPartsCoord().substract(i.getPartsCoord()).y,o=e?Sr.BOTTOM:t?Sr.SCORE:n?Sr.CENTER:a>=Math.ceil(L.V_PARTS_NUM_IN_WINDOW/2)?Sr.TOP:Sr.BOTTOM;this.setPositionEasy(o)}setPositionEasy(e){var t=Math.floor(this._element.clientHeight/2);if(e===Sr.CENTER){this._y=L.MAP_WINDOW_HEIGHT/2-t,this.update();return}if(e===Sr.TOP){this._y=Math.max(20,L.MAP_WINDOW_HEIGHT/4-t)+10,this.update();return}if(e===Sr.BOTTOM){this._y=Math.min(L.MAP_WINDOW_HEIGHT-20-this._element.clientHeight,L.MAP_WINDOW_HEIGHT*3/4-t),this.update();return}if(e===Sr.SCORE){this._y=80,this.update();return}}setMessage(e){this._message=e,this.update()}clear(){this._message=``,this.update()}setYesNoChoice(e){return this._isInputDisable=!1,this._isYesno=e,this.update(),this._isYesno}isYesNoChoice(){return this._isYesno}isSaveChoice(){return this._isSave}setItemMenuChoice(e){return this._isInputDisable=!1,this._isItemMenu=e,this.update(),this._isItemMenu}isItemMenuChoice(){return this._isItemMenu}setInputDisable(){this._isInputDisable=!0}isInputDisable(){return this._isInputDisable}show(){this._isVisible=!0,this.update()}hide(){this._isVisible=!1,this.update()}isVisible(){return this._isVisible}isWideChar(e){return e.match(/^[^\x01-\x7E\xA1-\xDF]+$/)!==null}createClassicTextElement(e){var t=document.createElement(`span`);let n=0,r=``;for(let a=0;a<e.length||n!=0;a++)if(this.isWideChar(e.charAt(a))?n+=2:n+=1,r+=e.charAt(a),n+1>L.MSG_STR_WIDTH*2){(e.charAt(a+1)===`。`||e.charAt(a+1)===`、`)&&(r+=e.charAt(a+1),a++);var i=document.createElement(`span`);i.style.display=`inline-block`,i.style.width=`100%`,i.textContent=r,t.appendChild(i),n=0,r=``}return t}update(){var e=this._wwa.getYesNoImgCoord();this._isYesno?(this._wwa.getYesNoState()===O.YES?(this._divYesElement.style.backgroundPosition=`-`+(e.x+L.IMGRELPOS_YESNO_YESP_X)*L.CHIP_SIZE+`px -`+e.y*L.CHIP_SIZE+`px`,this._divNoElement.style.backgroundPosition=`-`+(e.x+L.IMGRELPOS_YESNO_NO_X)*L.CHIP_SIZE+`px -`+e.y*L.CHIP_SIZE+`px`):this._wwa.getYesNoState()===O.NO?(this._divYesElement.style.backgroundPosition=`-`+(e.x+L.IMGRELPOS_YESNO_YES_X)*L.CHIP_SIZE+`px -`+e.y*L.CHIP_SIZE+`px`,this._divNoElement.style.backgroundPosition=`-`+(e.x+L.IMGRELPOS_YESNO_NOP_X)*L.CHIP_SIZE+`px -`+e.y*L.CHIP_SIZE+`px`):(this._divYesElement.style.backgroundPosition=`-`+(e.x+L.IMGRELPOS_YESNO_YES_X)*L.CHIP_SIZE+`px -`+e.y*L.CHIP_SIZE+`px`,this._divNoElement.style.backgroundPosition=`-`+(e.x+L.IMGRELPOS_YESNO_NO_X)*L.CHIP_SIZE+`px -`+e.y*L.CHIP_SIZE+`px`),this._ynWrapperElement.style.display=`block`):this._ynWrapperElement.style.display=`none`,this._msgWrapperElement.textContent=``;var t=this._message.split(`
38
+ `);t.forEach((e,n)=>{let r;this._wwa.isClassicMode()?r=this.createClassicTextElement(e):(r=document.createElement(`span`),r.textContent=t[n]),this._msgWrapperElement.appendChild(r),this._msgWrapperElement.appendChild(document.createElement(`br`))}),this._isVisible?(this._element.style.left=this._x+`px`,this._element.style.top=this._y+`px`):(this._element.style.left=`-999999px`,this._element.style.top=`-999999px`),this._isSave?this._saveElement.style.display=`block`:this._saveElement.style.display=`none`,this._element.style.width=this._width+`px`,this._element.style.minHeight=this._height+`px`}setWWASave(e){this._wwaSave=e}createSaveDom(){for(var e,t=document.createElement(`div`),n,r,i,a,o,s=document.getElementById(`disp-energy`),c,l=s.style.backgroundPosition,u=s.style.backgroundImage,d=this._wwaSave.list.length,f=0;f<d;f++)e=this._wwaSave.list[f],n=document.createElement(`div`),n.classList.add(`savedata`),n.setAttribute(`save_id`,f),n.addEventListener(`click`,e=>{this.setSaveID(e.currentTarget.getAttribute(`save_id`)|0),this._save_close=!0,e.preventDefault()}),r=document.createElement(`div`),r.classList.add(`ss`),n.appendChild(r),i=document.createElement(`div`),i.classList.add(`wide-cell-row`),i.style.backgroundPosition=l,i.style.backgroundImage=u,n.appendChild(i),t.appendChild(n),e.flag&&(r.appendChild(e.cvs),a=document.createElement(`span`),a.textContent=e.getDateText(),e.isLastSaveData()&&(a.style.color=he.DATE_LAST_SAVE_TEXT_COLOR),r.appendChild(a),o=document.createElement(`div`),o.classList.add(`status-icon`),o.style.backgroundImage=u,o.style.backgroundPosition=`-120px -80px`,i.appendChild(o),c=document.createElement(`div`),c.classList.add(`status-value-box`),c.textContent=e.getStatusEnergy(),i.appendChild(c));this._saveElement.textContent=``,this._saveElement.appendChild(t),this.setSaveID(this._save_select_id),this._isSave=!0,this._save_counter=0,this._save_close=!1}deleteSaveDom(){this._saveElement.textContent=``,this._isSave=!1}setSaveID(e){this._save_select_id=e;for(var t=document.querySelectorAll(`.savedata`),n,r=t.length,i=0;i<r;i++)n=t[i],e===i?n.classList.add(`select`):n.classList.remove(`select`)}save(e,t){return this._wwaSave.save(e,t,this._save_select_id)}load(){return this._wwaSave.load(this._save_select_id)}saveUpdate(){this._save_counter>0&&this._save_counter--}isSaveClose(){return this._save_close}cursor_wait(){this._save_counter=L.CONTROLL_WAIT_FRAME}saveControll(e){if(!(this._save_counter>0)&&!this._isInputDisable){switch(e){case T.DOWN:this._save_select_id-=2,this.cursor_wait();break;case T.UP:this._save_select_id+=2,this.cursor_wait();break;case T.LEFT:this._save_select_id--,this.cursor_wait();break;case T.RIGHT:this._save_select_id++,this.cursor_wait();break}this.setSaveID((this._save_select_id+he.QUICK_SAVE_MAX)%he.QUICK_SAVE_MAX)}}get windowName(){return`MessageWindow`}},wr=class{constructor(e,t,n){this.id=e,this.imgFileName=t,this.parent=n,this.elem=document.createElement(`div`),this.elem.classList.add(`est`),this.elem.setAttribute(`id`,`wwa-est-`+e),this.imgElem=document.createElement(`div`),this.imgElem.classList.add(`est-img-wrapper`),this.imgElem.style.backgroundImage=`url(`+this.imgFileName.replace(`(`,`\\(`).replace(`)`,`\\)`)+`)`,this.statusElem=document.createElement(`div`),this.statusElem.classList.add(`est-status-wrapper`),this.energyElem=document.createElement(`div`),this.energyElem.classList.add(`est-energy`),this.energyDispElem=document.createElement(`span`),this.energyDispElem.classList.add(`est-energy-disp`),this.energyElem.appendChild(this.energyDispElem),this.statusElem.appendChild(this.energyElem),this.strengthElem=document.createElement(`div`),this.strengthElem.classList.add(`est-strength`),this.strengthDispElem=document.createElement(`span`),this.strengthDispElem.classList.add(`est-strength-disp`),this.strengthElem.appendChild(this.strengthDispElem),this.statusElem.appendChild(this.strengthElem),this.defenceElem=document.createElement(`div`),this.defenceElem.classList.add(`est-defence`),this.defenceDispElem=document.createElement(`span`),this.defenceDispElem.classList.add(`est-defence-disp`),this.defenceElem.appendChild(this.defenceDispElem),this.statusElem.appendChild(this.defenceElem),this.damageElem=document.createElement(`div`),this.damageElem.classList.add(`est-damage`),this.damageDispElem=document.createElement(`span`),this.damageDispElem.classList.add(`est-damage-disp`),this.damageElem.appendChild(this.damageDispElem),this.statusElem.appendChild(this.damageElem),this.elem.appendChild(this.imgElem),this.elem.appendChild(this.statusElem)}hide(){this.elem.style.display=`none`}show(){this.elem.style.display=`block`}setResult(e,t,n){this.imgElem.style.backgroundPosition=`-`+e.x+`px -`+e.y+`px`,this.energyDispElem.textContent=`生命力 `+t.energy,this.strengthDispElem.textContent=`攻撃力 `+t.strength,this.defenceDispElem.textContent=`防御力 `+t.defence,n.cannotDamageMonster?this.damageDispElem.textContent=`攻撃無効`:n.noSettled?this.damageDispElem.textContent=`勝負がつきません`:n.isOverMaxTurn?this.damageDispElem.textContent=`長期戦が予想されます`:this.damageDispElem.textContent=`予測ダメージ `+n.estimatedDamage}},Tr=class{constructor(e,t,n){this._wwa=e,this._imgFileName=t,this._parent=n;var r;this._element=document.createElement(`div`),this._element.setAttribute(`id`,`wwa-battle-estimate`),this._element.style.display=`none`,this._edes=[];for(var i=0;i<L.BATTLE_ESTIMATE_MONSTER_TYPE_MAX;i++)r=new wr(i,this._imgFileName,this._element),this._edes.push(r),this._element.appendChild(r.elem);this._element.addEventListener(`click`,()=>{this._wwa.hideBattleEstimateWindow()}),this._parent.appendChild(this._element)}update(e,t,n,r,i){for(let a=0;a<L.BATTLE_ESTIMATE_MONSTER_TYPE_MAX;a++){if(a>=t.length){this._edes[a].hide();continue}let o=new S(this._wwa.getObjectAttributeById(t[a].partsID,L.ATR_X),this._wwa.getObjectAttributeById(t[a].partsID,L.ATR_Y)),s=new x(this._wwa.getObjectAttributeById(t[a].partsID,L.ATR_ENERGY),this._wwa.getObjectAttributeById(t[a].partsID,L.ATR_STRENGTH),this._wwa.getObjectAttributeById(t[a].partsID,L.ATR_DEFENCE),0),c=Er(e,t[a],n,r,i);this._edes[a].setResult(o,s,c),this._edes[a].show()}}show(){this._element.style.display=`block`}hide(){this._element.style.display=`none`}};function Er(e,t,n,r,i){let a=t.clone(),o=e.clone(),s=0,c=0,l=0,u=e.energy;if(i&&o.strength<=a.status.defence&&o.defence>=a.status.strength)return{cannotDamageMonster:!0,estimatedDamage:0};for(;;){c++;let e=n(o,a);if(a.status.energy-=e.damage,e.damage===0?l++:l=0,a.status.energy<=0)return{estimatedDamage:s};if(l>L.FIGHT_DRAW_TURN||e.aborted)return{noSettled:(u<=0||o.energy>0)&&a.status.energy>0,estimatedDamage:s};if(c>2e4)return{isOverMaxTurn:!0,estimatedDamage:0};c++;let t=r(a,o),i=Math.max(t.damage,0);if(i===0?l++:l=0,s+=i,o.energy=Math.max(o.energy-i,0),l>L.FIGHT_DRAW_TURN||t.aborted)return{noSettled:(u<=0||o.energy>0)&&a.status.energy>0,estimatedDamage:s};if(c>2e4)return{isOverMaxTurn:!0,estimatedDamage:0}}}var Dr=function(e){return e[e.SAVE=0]=`SAVE`,e[e.LOAD=1]=`LOAD`,e}({});function Or(e){return`下のボックスに前回のプレイで取得した
39
+ 復帰用パスワードを貼り付けてください。
40
+ Java 版 WWA で取得したパスワードはご利用になれません。
41
+ 作成者が ${e?`マップの内容`:`ワールド名 か マップの暗証番号`} を変更した場合は
42
+ それ以前に取得したパスワードは使えなくなります。`}var kr=`下記テキストがデータ復帰用のパスワードになっています。
43
+ コピーしてメモ帳などのテキストエディタに貼り付けて
44
+ 保存してください。`,Ar=class{constructor(e,t,n){this._wwa=e,this._parent=t,this._isDisallowLoadOldSave=n,this.COPIED_MESSAGE_DISPLAY_MS=1e3,this._element=document.createElement(`div`),this._element.setAttribute(`id`,`wwa-password-window`),this._element.style.display=`none`,this._descriptionElement=document.createElement(`div`),this._descriptionElement.classList.add(`wwa-password-description`),this._passwordBoxElement=document.createElement(`textarea`),this._passwordBoxElement.setAttribute(`cols`,`50`),this._passwordBoxElement.setAttribute(`rows`,`16`),this._passwordBoxElement.addEventListener(`focus`,e=>{this._passwordBoxElement.select()}),this._buttonWrapperElement=document.createElement(`div`),this._buttonWrapperElement.classList.add(`wwa-password-submit`),this._okButtonElement=document.createElement(`button`),this._okButtonElement.textContent=`OK`,this._okButtonElement.addEventListener(`click`,()=>{this._wwa.hidePasswordWindow()}),this._cancelButtonElement=document.createElement(`button`),this._cancelButtonElement.textContent=`キャンセル`,this._cancelButtonElement.addEventListener(`click`,()=>{this._wwa.hidePasswordWindow(!0)}),this._copyButtonElement=document.createElement(`button`),this._copyButtonElement.textContent=`コピー`,this._copyButtonElement.addEventListener(`click`,async()=>{await navigator.clipboard.writeText(this.password),this._copyButtonElement.textContent=`コピーしました`,this._copyButtonElement.disabled=!0,setTimeout(()=>{this._copyButtonElement&&(this._copyButtonElement.textContent=`コピー`,this._copyButtonElement.disabled=!1)},this.COPIED_MESSAGE_DISPLAY_MS)}),this._buttonWrapperElement.appendChild(this._okButtonElement),this._buttonWrapperElement.appendChild(this._cancelButtonElement),this._buttonWrapperElement.appendChild(this._copyButtonElement),this._mode=Dr.LOAD,this._element.appendChild(this._descriptionElement),this._element.appendChild(this._passwordBoxElement),this._element.appendChild(this._buttonWrapperElement),this._parent.appendChild(this._element),this.update()}get mode(){return this._mode}set mode(e){this._mode=e,e===Dr.LOAD&&(this.password=``)}get password(){return this._passwordBoxElement.value}set password(e){this._passwordBoxElement.value=e}show(e){e!==void 0&&(this.mode=e),this._isVisible=!0,this.update()}hide(){this._isVisible=!1,this.update()}update(){var e=``;if(this._mode===Dr.LOAD){e=Or(this._isDisallowLoadOldSave);try{this._passwordBoxElement.removeAttribute(`readonly`)}catch{}this._cancelButtonElement.style.display=`inline`,this._copyButtonElement.style.display=`none`}else e=kr,this._passwordBoxElement.setAttribute(`readonly`,`readonly`),this._cancelButtonElement.style.display=`none`,this._copyButtonElement.style.display=`inline`;var t=e.split(`
45
+ `);this._descriptionElement.textContent=``;for(var n=0;n<t.length;n++){var r=document.createElement(`span`);r.textContent=t[n],this._descriptionElement.appendChild(r),this._descriptionElement.appendChild(document.createElement(`br`))}this._isVisible?this._element.style.display=`block`:this._element.style.display=`none`}};function jr(e,t){return`
46
+ <canvas id="wwa-map" class="wwa-canvas" width="440" height="440">
47
+ このブラウザは、Canvas要素をサポートしていません。
48
+ </canvas>
49
+ <canvas id="wwa-map-sub" class="wwa-canvas" width="440" height="440"></canvas>
50
+ <div id="wwa-sidebar">
51
+ <div class="wide-cell-row" id="disp-energy"><div class="status-icon"></div><div class="status-value-box">0</div></div>
52
+ <div class="wide-cell-row" id="disp-strength"><div class="status-icon"></div><div class="status-value-box"> 0 </div></div>
53
+ <div class="wide-cell-row" id="disp-defence"><div class="status-icon"></div><div class="status-value-box">0</div></div>
54
+ <div class="wide-cell-row" id="disp-gold"><div class="status-icon"></div><div class="status-value-box">0</div></div>
55
+ <div class="item-cell" id="item0"><div class="item-click-border"></div><div class="item-disp"></div></div>
56
+ <div class="item-cell" id="item1"><div class="item-click-border"></div><div class="item-disp"></div></div>
57
+ <div class="item-cell" id="item2"><div class="item-click-border"></div><div class="item-disp"></div></div>
58
+ <div class="item-cell" id="item3"><div class="item-click-border"></div><div class="item-disp"></div></div>
59
+ <div class="item-cell" id="item4"><div class="item-click-border"></div><div class="item-disp"></div></div>
60
+ <div class="item-cell" id="item5"><div class="item-click-border"></div><div class="item-disp"></div></div>
61
+ <div class="item-cell" id="item6"><div class="item-click-border"></div><div class="item-disp"></div></div>
62
+ <div class="item-cell" id="item7"><div class="item-click-border"></div><div class="item-disp"></div></div>
63
+ <div class="item-cell" id="item8"><div class="item-click-border"></div><div class="item-disp"></div></div>
64
+ <div class="item-cell" id="item9"><div class="item-click-border"></div><div class="item-disp"></div></div>
65
+ <div class="item-cell" id="item10"><div class="item-click-border"></div><div class="item-disp"></div></div>
66
+ <div class="item-cell" id="item11"><div class="item-click-border"></div><div class="item-disp"></div></div>
67
+ <div class="wide-cell-row" id="cell-load">Password</div><div class="wide-button" id="button-load"></div>
68
+ <div class="wide-cell-row" id="cell-save">Quick Save</div><div class="wide-button" id="button-save"></div>
69
+ <div class="wide-cell-row" id="cell-restart">Restart Game</div><div class="wide-button" id="button-restart"></div>
70
+ <div class="wide-cell-row" id="cell-gotowwa">Goto WWA</div><div class="wide-button" id="button-gotowwa"></div>
71
+ </div>
72
+ <div id="wwa-controller"></div>
73
+ <div id="wwa-fader"></div>
74
+ ${e?`
75
+ <div id="wwa-cover">
76
+ <div id="unstable-version-warning"></div>
77
+ <div id="version"></div>
78
+ <div id="progress-message-container">開始しています...</div>
79
+ <div id="progress-bar-bg"></div>
80
+ <div id="progress-bar" class="progress-bar"></div>
81
+ <div id="progress-bar-audio" class="progress-bar"></div>
82
+ <div id="progress-disp">---</div>
83
+ </div>
84
+ `:`
85
+ <div id="wwa-cover">
86
+ <canvas id="progress-panel" width="${L.SCREEN_WIDTH}" height="${L.SCREEN_HEIGHT}"></canvas>
87
+ </div>`}
88
+ ${t?Re():``}
89
+ `}function Mr(){return`ontouchstart`in window&&`ontouchend`in window&&`ontouchmove`in window}function Nr(e,t,n){var r=document.createElement(`style`);r.type=`text/css`,r.setAttribute(`id`,L.WWA_STYLE_TAG_ID),ze(`head`)[0].appendChild(r),e.innerHTML=jr(t!==null,n),t!==null&&(H(`wwa-cover`).style.backgroundImage=`url(${t})`,H(`wwa-cover`).style.backgroundRepeat=`no-repeat`,H(`wwa-cover`).style.backgroundPosition=`0 0`)}var Pr=class e{static{this.ROW_MAX=8}static{this.COL_MAX=3}static{this.DOM_ID_TABLE=[[`item0`,`item1`,`item2`],[`item3`,`item4`,`item5`],[`item6`,`item7`,`item8`],[`item9`,`item10`,`item11`],[`cell-load`,`cell-load`,`cell-load`],[`cell-save`,`cell-save`,`cell-save`],[`cell-restart`,`cell-restart`,`cell-restart`],[`cell-gotowwa`,`cell-gotowwa`,`cell-gotowwa`]]}static{this.CLICK_DOM_QUERY_TABLE=[[`#item0 .item-click-border`,`#item1 .item-click-border`,`#item2 .item-click-border`],[`#item3 .item-click-border`,`#item4 .item-click-border`,`#item5 .item-click-border`],[`#item6 .item-click-border`,`#item7 .item-click-border`,`#item8 .item-click-border`],[`#item9 .item-click-border`,`#item10 .item-click-border`,`#item11 .item-click-border`],[`#button-load`,`#button-load`,`#button-load`],[`#button-save`,`#button-save`,`#button-save`],[`#button-restart`,`#button-restart`,`#button-restart`],[`#button-gotowwa`,` #button-gotowwa`,`#button-gotowwa`]]}update(){this.counter>0&&this.counter--}cursor_wait(){this.counter=L.CONTROLL_WAIT_FRAME}allClear(){this.col=0,this.row=0,this.counter=0}controll(t){if(!(this.counter>0))switch(t){case T.DOWN:this.row<e.ROW_MAX-1&&(this.row++,this.openView(),this.cursor_wait());break;case T.UP:this.row>0&&(this.row--,this.openView(),this.cursor_wait());break;case T.LEFT:this.col>0&&(this.col--,this.openView(),this.cursor_wait());break;case T.RIGHT:this.col<e.COL_MAX-1&&(this.col++,this.openView(),this.cursor_wait());break}}ok(){this.close();var t=null;t=Ve(e.CLICK_DOM_QUERY_TABLE[this.row][this.col]),t.classList.contains(`item-click-border`)||this.allClear();var n=new MouseEvent(`click`,{view:window,bubbles:!0,cancelable:!0});return t.dispatchEvent(n)}ng(){this.close()}close(){var t=null,n,r;for(n=0;n<e.COL_MAX;n++)for(r=0;r<e.ROW_MAX;r++)t=H(e.DOM_ID_TABLE[r][n]),t.classList.contains(`onpress`)&&t.classList.remove(`onpress`)}openView(){this.close();var t=null;t=H(e.DOM_ID_TABLE[this.row][this.col]),t.classList.add(`onpress`)}init(){this.allClear(),this.openView()}constructor(){this.allClear()}},G=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r():typeof define==`function`&&define.amd?define([],r):n.CryptoJS=r()})(e,function(){var e=e||function(e,t){var n;if(typeof window<`u`&&window.crypto&&(n=window.crypto),typeof self<`u`&&self.crypto&&(n=self.crypto),typeof globalThis<`u`&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<`u`&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<`u`&&global.crypto&&(n=global.crypto),!n&&typeof require==`function`)try{n=An()}catch{}var r=function(){if(n){if(typeof n.getRandomValues==`function`)try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes==`function`)try{return n.randomBytes(4).readInt32LE()}catch{}}throw Error(`Native crypto module could not be used to get secure random number.`)},i=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),a={},o=a.lib={},s=o.Base=function(){return{extend:function(e){var t=i(this);return e&&t.mixIn(e),(!t.hasOwnProperty(`init`)||this.init===t.init)&&(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(`toString`)&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),c=o.WordArray=s.extend({init:function(e,n){e=this.words=e||[],n==t?this.sigBytes=e.length*4:this.sigBytes=n},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;if(this.clamp(),r%4)for(var a=0;a<i;a++){var o=n[a>>>2]>>>24-a%4*8&255;t[r+a>>>2]|=o<<24-(r+a)%4*8}else for(var s=0;s<i;s+=4)t[r+s>>>2]=n[s>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=s.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(r());return new c.init(t,e)}}),l=a.enc={},u=l.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var a=t[i>>>2]>>>24-i%4*8&255;r.push((a>>>4).toString(16)),r.push((a&15).toString(16))}return r.join(``)},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new c.init(n,t/2)}},d=l.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var a=t[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(a))}return r.join(``)},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new c.init(n,t)}},f=l.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch{throw Error(`Malformed UTF-8 data`)}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},p=o.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){typeof e==`string`&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n,r=this._data,i=r.words,a=r.sigBytes,o=this.blockSize,s=a/(o*4);s=t?e.ceil(s):e.max((s|0)-this._minBufferSize,0);var l=s*o,u=e.min(l*4,a);if(l){for(var d=0;d<l;d+=o)this._doProcessBlock(i,d);n=i.splice(0,l),r.sigBytes-=u}return new c.init(n,u)},clone:function(){var e=s.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});o.Hasher=p.extend({cfg:s.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:512/32,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new m.HMAC.init(e,n).finalize(t)}}});var m=a.algo={};return a}(Math);return e})})),Fr=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.Base,a=r.WordArray,o=n.x64={};o.Word=i.extend({init:function(e,t){this.high=e,this.low=t}}),o.WordArray=i.extend({init:function(e,n){e=this.words=e||[],n==t?this.sigBytes=e.length*8:this.sigBytes=n},toX32:function(){for(var e=this.words,t=e.length,n=[],r=0;r<t;r++){var i=e[r];n.push(i.high),n.push(i.low)}return a.create(n,this.sigBytes)},clone:function(){for(var e=i.clone.call(this),t=e.words=this.words.slice(0),n=t.length,r=0;r<n;r++)t[r]=t[r].clone();return e}})})(),e})})),Ir=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){if(typeof ArrayBuffer==`function`){var t=e.lib.WordArray,n=t.init,r=t.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||typeof Uint8ClampedArray<`u`&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,r=[],i=0;i<t;i++)r[i>>>2]|=e[i]<<24-i%4*8;n.call(this,r,t)}else n.apply(this,arguments)};r.prototype=t}})(),e.lib.WordArray})})),Lr=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i+=2){var a=t[i>>>2]>>>16-i%4*8&65535;r.push(String.fromCharCode(a))}return r.join(``)},parse:function(e){for(var t=e.length,r=[],i=0;i<t;i++)r[i>>>1]|=e.charCodeAt(i)<<16-i%2*16;return n.create(r,t*2)}},r.Utf16LE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],a=0;a<n;a+=2){var o=i(t[a>>>2]>>>16-a%4*8&65535);r.push(String.fromCharCode(o))}return r.join(``)},parse:function(e){for(var t=e.length,r=[],a=0;a<t;a++)r[a>>>1]|=i(e.charCodeAt(a)<<16-a%2*16);return n.create(r,t*2)}};function i(e){return e<<8&4278255360|e>>>8&16711935}})(),e.enc.Utf16})})),Rr=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],a=0;a<n;a+=3)for(var o=t[a>>>2]>>>24-a%4*8&255,s=t[a+1>>>2]>>>24-(a+1)%4*8&255,c=t[a+2>>>2]>>>24-(a+2)%4*8&255,l=o<<16|s<<8|c,u=0;u<4&&a+u*.75<n;u++)i.push(r.charAt(l>>>6*(3-u)&63));var d=r.charAt(64);if(d)for(;i.length%4;)i.push(d);return i.join(``)},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var a=0;a<n.length;a++)r[n.charCodeAt(a)]=a}var o=n.charAt(64);if(o){var s=e.indexOf(o);s!==-1&&(t=s)}return i(e,t,r)},_map:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`};function i(e,t,r){for(var i=[],a=0,o=0;o<t;o++)if(o%4){var s=r[e.charCodeAt(o-1)]<<o%4*2|r[e.charCodeAt(o)]>>>6-o%4*2;i[a>>>2]|=s<<24-a%4*8,a++}return n.create(i,a)}})(),e.enc.Base64})})),zr=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Base64url={stringify:function(e,t){t===void 0&&(t=!0);var n=e.words,r=e.sigBytes,i=t?this._safe_map:this._map;e.clamp();for(var a=[],o=0;o<r;o+=3)for(var s=n[o>>>2]>>>24-o%4*8&255,c=n[o+1>>>2]>>>24-(o+1)%4*8&255,l=n[o+2>>>2]>>>24-(o+2)%4*8&255,u=s<<16|c<<8|l,d=0;d<4&&o+d*.75<r;d++)a.push(i.charAt(u>>>6*(3-d)&63));var f=i.charAt(64);if(f)for(;a.length%4;)a.push(f);return a.join(``)},parse:function(e,t){t===void 0&&(t=!0);var n=e.length,r=t?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var o=0;o<r.length;o++)a[r.charCodeAt(o)]=o}var s=r.charAt(64);if(s){var c=e.indexOf(s);c!==-1&&(n=c)}return i(e,n,a)},_map:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,_safe_map:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`};function i(e,t,r){for(var i=[],a=0,o=0;o<t;o++)if(o%4){var s=r[e.charCodeAt(o-1)]<<o%4*2|r[e.charCodeAt(o)]>>>6-o%4*2;i[a>>>2]|=s<<24-a%4*8,a++}return n.create(i,a)}})(),e.enc.Base64url})})),Br=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=[];(function(){for(var e=0;e<64;e++)s[e]=t.abs(t.sin(e+1))*4294967296|0})();var c=o.MD5=a.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}var a=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],m=e[t+3],h=e[t+4],g=e[t+5],_=e[t+6],v=e[t+7],y=e[t+8],b=e[t+9],x=e[t+10],S=e[t+11],C=e[t+12],ee=e[t+13],te=e[t+14],w=e[t+15],T=a[0],E=a[1],D=a[2],O=a[3];T=l(T,E,D,O,o,7,s[0]),O=l(O,T,E,D,c,12,s[1]),D=l(D,O,T,E,p,17,s[2]),E=l(E,D,O,T,m,22,s[3]),T=l(T,E,D,O,h,7,s[4]),O=l(O,T,E,D,g,12,s[5]),D=l(D,O,T,E,_,17,s[6]),E=l(E,D,O,T,v,22,s[7]),T=l(T,E,D,O,y,7,s[8]),O=l(O,T,E,D,b,12,s[9]),D=l(D,O,T,E,x,17,s[10]),E=l(E,D,O,T,S,22,s[11]),T=l(T,E,D,O,C,7,s[12]),O=l(O,T,E,D,ee,12,s[13]),D=l(D,O,T,E,te,17,s[14]),E=l(E,D,O,T,w,22,s[15]),T=u(T,E,D,O,c,5,s[16]),O=u(O,T,E,D,_,9,s[17]),D=u(D,O,T,E,S,14,s[18]),E=u(E,D,O,T,o,20,s[19]),T=u(T,E,D,O,g,5,s[20]),O=u(O,T,E,D,x,9,s[21]),D=u(D,O,T,E,w,14,s[22]),E=u(E,D,O,T,h,20,s[23]),T=u(T,E,D,O,b,5,s[24]),O=u(O,T,E,D,te,9,s[25]),D=u(D,O,T,E,m,14,s[26]),E=u(E,D,O,T,y,20,s[27]),T=u(T,E,D,O,ee,5,s[28]),O=u(O,T,E,D,p,9,s[29]),D=u(D,O,T,E,v,14,s[30]),E=u(E,D,O,T,C,20,s[31]),T=d(T,E,D,O,g,4,s[32]),O=d(O,T,E,D,y,11,s[33]),D=d(D,O,T,E,S,16,s[34]),E=d(E,D,O,T,te,23,s[35]),T=d(T,E,D,O,c,4,s[36]),O=d(O,T,E,D,h,11,s[37]),D=d(D,O,T,E,v,16,s[38]),E=d(E,D,O,T,x,23,s[39]),T=d(T,E,D,O,ee,4,s[40]),O=d(O,T,E,D,o,11,s[41]),D=d(D,O,T,E,m,16,s[42]),E=d(E,D,O,T,_,23,s[43]),T=d(T,E,D,O,b,4,s[44]),O=d(O,T,E,D,C,11,s[45]),D=d(D,O,T,E,w,16,s[46]),E=d(E,D,O,T,p,23,s[47]),T=f(T,E,D,O,o,6,s[48]),O=f(O,T,E,D,v,10,s[49]),D=f(D,O,T,E,te,15,s[50]),E=f(E,D,O,T,g,21,s[51]),T=f(T,E,D,O,C,6,s[52]),O=f(O,T,E,D,m,10,s[53]),D=f(D,O,T,E,x,15,s[54]),E=f(E,D,O,T,c,21,s[55]),T=f(T,E,D,O,y,6,s[56]),O=f(O,T,E,D,w,10,s[57]),D=f(D,O,T,E,_,15,s[58]),E=f(E,D,O,T,ee,21,s[59]),T=f(T,E,D,O,h,6,s[60]),O=f(O,T,E,D,S,10,s[61]),D=f(D,O,T,E,p,15,s[62]),E=f(E,D,O,T,b,21,s[63]),a[0]=a[0]+T|0,a[1]=a[1]+E|0,a[2]=a[2]+D|0,a[3]=a[3]+O|0},_doFinalize:function(){var e=this._data,n=e.words,r=this._nDataBytes*8,i=e.sigBytes*8;n[i>>>5]|=128<<24-i%32;var a=t.floor(r/4294967296),o=r;n[(i+64>>>9<<4)+15]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,n[(i+64>>>9<<4)+14]=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,e.sigBytes=(n.length+1)*4,this._process();for(var s=this._hash,c=s.words,l=0;l<4;l++){var u=c[l];c[l]=(u<<8|u>>>24)&16711935|(u<<24|u>>>8)&4278255360}return s},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+i+o;return(s<<a|s>>>32-a)+t}function u(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+i+o;return(s<<a|s>>>32-a)+t}function d(e,t,n,r,i,a,o){var s=e+(t^n^r)+i+o;return(s<<a|s>>>32-a)+t}function f(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+i+o;return(s<<a|s>>>32-a)+t}n.MD5=a._createHelper(c),n.HmacMD5=a._createHmacHelper(c)})(Math),e.MD5})})),Vr=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.WordArray,i=n.Hasher,a=t.algo,o=[],s=a.SHA1=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],c=n[4],l=0;l<80;l++){if(l<16)o[l]=e[t+l]|0;else{var u=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=u<<1|u>>>31}var d=(r<<5|r>>>27)+c+o[l];l<20?d+=(i&a|~i&s)+1518500249:l<40?d+=(i^a^s)+1859775393:l<60?d+=(i&a|i&s|a&s)-1894007588:d+=(i^a^s)-899497514,c=s,s=a,a=i<<30|i>>>2,i=r,r=d}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),t[(r+64>>>9<<4)+15]=n,e.sigBytes=t.length*4,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA1=i._createHelper(s),t.HmacSHA1=i._createHmacHelper(s)})(),e.SHA1})})),Hr=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=[],c=[];(function(){function e(e){for(var n=t.sqrt(e),r=2;r<=n;r++)if(!(e%r))return!1;return!0}function n(e){return(e-(e|0))*4294967296|0}for(var r=2,i=0;i<64;)e(r)&&(i<8&&(s[i]=n(t.pow(r,1/2))),c[i]=n(t.pow(r,1/3)),i++),r++})();var l=[],u=o.SHA256=a.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],u=n[5],d=n[6],f=n[7],p=0;p<64;p++){if(p<16)l[p]=e[t+p]|0;else{var m=l[p-15],h=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,g=l[p-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[p]=h+l[p-7]+_+l[p-16]}var v=s&u^~s&d,y=r&i^r&a^i&a,b=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),x=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),S=f+x+v+c[p]+l[p],C=b+y;f=d,d=u,u=s,s=o+S|0,o=a,a=i,i=r,r=S+C|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+u|0,n[6]=n[6]+d|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=this._data,n=e.words,r=this._nDataBytes*8,i=e.sigBytes*8;return n[i>>>5]|=128<<24-i%32,n[(i+64>>>9<<4)+14]=t.floor(r/4294967296),n[(i+64>>>9<<4)+15]=r,e.sigBytes=n.length*4,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});n.SHA256=a._createHelper(u),n.HmacSHA256=a._createHmacHelper(u)})(Math),e.SHA256})})),Ur=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Hr()):typeof define==`function`&&define.amd?define([`./core`,`./sha256`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.algo,i=r.SHA256,a=r.SHA224=i.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=i._doFinalize.call(this);return e.sigBytes-=4,e}});t.SHA224=i._createHelper(a),t.HmacSHA224=i._createHmacHelper(a)})(),e.SHA224})})),Wr=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Fr()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.Hasher,r=t.x64,i=r.Word,a=r.WordArray,o=t.algo;function s(){return i.create.apply(i,arguments)}var c=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];(function(){for(var e=0;e<80;e++)l[e]=s()})();var u=o.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],u=n[5],d=n[6],f=n[7],p=r.high,m=r.low,h=i.high,g=i.low,_=a.high,v=a.low,y=o.high,b=o.low,x=s.high,S=s.low,C=u.high,ee=u.low,te=d.high,w=d.low,T=f.high,E=f.low,D=p,O=m,k=h,ne=g,A=_,j=v,M=y,re=b,ie=x,N=S,P=C,ae=ee,oe=te,se=w,ce=T,F=E,I=0;I<80;I++){var le,ue,de=l[I];if(I<16)ue=de.high=e[t+I*2]|0,le=de.low=e[t+I*2+1]|0;else{var fe=l[I-15],pe=fe.high,me=fe.low,L=(pe>>>1|me<<31)^(pe>>>8|me<<24)^pe>>>7,he=(me>>>1|pe<<31)^(me>>>8|pe<<24)^(me>>>7|pe<<25),ge=l[I-2],_e=ge.high,ve=ge.low,ye=(_e>>>19|ve<<13)^(_e<<3|ve>>>29)^_e>>>6,be=(ve>>>19|_e<<13)^(ve<<3|_e>>>29)^(ve>>>6|_e<<26),R=l[I-7],xe=R.high,Se=R.low,Ce=l[I-16],we=Ce.high,z=Ce.low;le=he+Se,ue=L+xe+ +(le>>>0<he>>>0),le+=be,ue=ue+ye+ +(le>>>0<be>>>0),le+=z,ue=ue+we+ +(le>>>0<z>>>0),de.high=ue,de.low=le}var B=ie&P^~ie&oe,Te=N&ae^~N&se,Ee=D&k^D&A^k&A,De=O&ne^O&j^ne&j,Oe=(D>>>28|O<<4)^(D<<30|O>>>2)^(D<<25|O>>>7),V=(O>>>28|D<<4)^(O<<30|D>>>2)^(O<<25|D>>>7),ke=(ie>>>14|N<<18)^(ie>>>18|N<<14)^(ie<<23|N>>>9),Ae=(N>>>14|ie<<18)^(N>>>18|ie<<14)^(N<<23|ie>>>9),je=c[I],Me=je.high,Ne=je.low,Pe=F+Ae,Fe=ce+ke+ +(Pe>>>0<F>>>0),Pe=Pe+Te,Fe=Fe+B+ +(Pe>>>0<Te>>>0),Pe=Pe+Ne,Fe=Fe+Me+ +(Pe>>>0<Ne>>>0),Pe=Pe+le,Fe=Fe+ue+ +(Pe>>>0<le>>>0),Ie=V+De,Le=Oe+Ee+ +(Ie>>>0<V>>>0);ce=oe,F=se,oe=P,se=ae,P=ie,ae=N,N=re+Pe|0,ie=M+Fe+ +(N>>>0<re>>>0)|0,M=A,re=j,A=k,j=ne,k=D,ne=O,O=Pe+Ie|0,D=Fe+Le+ +(O>>>0<Pe>>>0)|0}m=r.low=m+O,r.high=p+D+ +(m>>>0<O>>>0),g=i.low=g+ne,i.high=h+k+ +(g>>>0<ne>>>0),v=a.low=v+j,a.high=_+A+ +(v>>>0<j>>>0),b=o.low=b+re,o.high=y+M+ +(b>>>0<re>>>0),S=s.low=S+N,s.high=x+ie+ +(S>>>0<N>>>0),ee=u.low=ee+ae,u.high=C+P+ +(ee>>>0<ae>>>0),w=d.low=w+se,d.high=te+oe+ +(w>>>0<se>>>0),E=f.low=E+F,f.high=T+ce+ +(E>>>0<F>>>0)},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+128>>>10<<5)+30]=Math.floor(n/4294967296),t[(r+128>>>10<<5)+31]=n,e.sigBytes=t.length*4,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:1024/32});t.SHA512=n._createHelper(u),t.HmacSHA512=n._createHmacHelper(u)})(),e.SHA512})})),Gr=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Fr(),Wr()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`,`./sha512`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.x64,r=n.Word,i=n.WordArray,a=t.algo,o=a.SHA512,s=a.SHA384=o.extend({_doReset:function(){this._hash=new i.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=o._createHelper(s),t.HmacSHA384=o._createHmacHelper(s)})(),e.SHA384})})),Kr=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Fr()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.x64.Word,s=n.algo,c=[],l=[],u=[];(function(){for(var e=1,t=0,n=0;n<24;n++){c[e+5*t]=(n+1)*(n+2)/2%64;var r=t%5,i=(2*e+3*t)%5;e=r,t=i}for(var e=0;e<5;e++)for(var t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var a=1,s=0;s<24;s++){for(var d=0,f=0,p=0;p<7;p++){if(a&1){var m=(1<<p)-1;m<32?f^=1<<m:d^=1<<m-32}a&128?a=a<<1^113:a<<=1}u[s]=o.create(d,f)}})();var d=[];(function(){for(var e=0;e<25;e++)d[e]=o.create()})();var f=s.SHA3=a.extend({cfg:a.cfg.extend({outputLength:512}),_doReset:function(){for(var e=this._state=[],t=0;t<25;t++)e[t]=new o.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){for(var n=this._state,r=this.blockSize/2,i=0;i<r;i++){var a=e[t+2*i],o=e[t+2*i+1];a=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,o=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360;var s=n[i];s.high^=o,s.low^=a}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,h=0,g=0;g<5;g++){var s=n[p+5*g];m^=s.high,h^=s.low}var _=d[p];_.high=m,_.low=h}for(var p=0;p<5;p++)for(var v=d[(p+4)%5],y=d[(p+1)%5],b=y.high,x=y.low,m=v.high^(b<<1|x>>>31),h=v.low^(x<<1|b>>>31),g=0;g<5;g++){var s=n[p+5*g];s.high^=m,s.low^=h}for(var S=1;S<25;S++){var m,h,s=n[S],C=s.high,ee=s.low,te=c[S];te<32?(m=C<<te|ee>>>32-te,h=ee<<te|C>>>32-te):(m=ee<<te-32|C>>>64-te,h=C<<te-32|ee>>>64-te);var w=d[l[S]];w.high=m,w.low=h}var T=d[0],E=n[0];T.high=E.high,T.low=E.low;for(var p=0;p<5;p++)for(var g=0;g<5;g++){var S=p+5*g,s=n[S],D=d[S],O=d[(p+1)%5+5*g],k=d[(p+2)%5+5*g];s.high=D.high^~O.high&k.high,s.low=D.low^~O.low&k.low}var s=n[0],ne=u[f];s.high^=ne.high,s.low^=ne.low}},_doFinalize:function(){var e=this._data,n=e.words;this._nDataBytes*8;var r=e.sigBytes*8,a=this.blockSize*32;n[r>>>5]|=1<<24-r%32,n[(t.ceil((r+1)/a)*a>>>5)-1]|=128,e.sigBytes=n.length*4,this._process();for(var o=this._state,s=this.cfg.outputLength/8,c=s/8,l=[],u=0;u<c;u++){var d=o[u],f=d.high,p=d.low;f=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,p=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,l.push(p),l.push(f)}return new i.init(l,s)},clone:function(){for(var e=a.clone.call(this),t=e._state=this._state.slice(0),n=0;n<25;n++)t[n]=t[n].clone();return e}});n.SHA3=a._createHelper(f),n.HmacSHA3=a._createHmacHelper(f)})(Math),e.SHA3})})),qr=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),u=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=i.create([0,1518500249,1859775393,2400959708,2840853838]),f=i.create([1352829926,1548603684,1836072691,2053994217,0]),p=o.RIPEMD160=a.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}for(var a=this._hash.words,o=d.words,p=f.words,b=s.words,x=c.words,S=l.words,C=u.words,ee,te,w,T,E,D=ee=a[0],O=te=a[1],k=w=a[2],ne=T=a[3],A=E=a[4],j,n=0;n<80;n+=1)j=ee+e[t+b[n]]|0,n<16?j+=m(te,w,T)+o[0]:n<32?j+=h(te,w,T)+o[1]:n<48?j+=g(te,w,T)+o[2]:n<64?j+=_(te,w,T)+o[3]:j+=v(te,w,T)+o[4],j|=0,j=y(j,S[n]),j=j+E|0,ee=E,E=T,T=y(w,10),w=te,te=j,j=D+e[t+x[n]]|0,n<16?j+=v(O,k,ne)+p[0]:n<32?j+=_(O,k,ne)+p[1]:n<48?j+=g(O,k,ne)+p[2]:n<64?j+=h(O,k,ne)+p[3]:j+=m(O,k,ne)+p[4],j|=0,j=y(j,C[n]),j=j+A|0,D=A,A=ne,ne=y(k,10),k=O,O=j;j=a[1]+w+ne|0,a[1]=a[2]+T+A|0,a[2]=a[3]+E+D|0,a[3]=a[4]+ee+O|0,a[4]=a[0]+te+k|0,a[0]=j},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=(n<<8|n>>>24)&16711935|(n<<24|n>>>8)&4278255360,e.sigBytes=(t.length+1)*4,this._process();for(var i=this._hash,a=i.words,o=0;o<5;o++){var s=a[o];a[o]=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360}return i},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function m(e,t,n){return e^t^n}function h(e,t,n){return e&t|~e&n}function g(e,t,n){return(e|~t)^n}function _(e,t,n){return e&n|t&~n}function v(e,t,n){return e^(t|~n)}function y(e,t){return e<<t|e>>>32-t}n.RIPEMD160=a._createHelper(p),n.HmacRIPEMD160=a._createHmacHelper(p)})(Math),e.RIPEMD160})})),Jr=s(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(G()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){(function(){var t=e,n=t.lib.Base,r=t.enc.Utf8,i=t.algo;i.HMAC=n.extend({init:function(e,t){e=this._hasher=new e.init,typeof t==`string`&&(t=r.parse(t));var n=e.blockSize,i=n*4;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,c=o.words,l=0;l<n;l++)s[l]^=1549556828,c[l]^=909522486;a.sigBytes=o.sigBytes=i,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(n))}})})()})})),Yr=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Hr(),Jr()):typeof define==`function`&&define.amd?define([`./core`,`./sha256`,`./hmac`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.Base,i=n.WordArray,a=t.algo,o=a.SHA256,s=a.HMAC,c=a.PBKDF2=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:25e4}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=s.create(n.hasher,e),a=i.create(),o=i.create([1]),c=a.words,l=o.words,u=n.keySize,d=n.iterations;c.length<u;){var f=r.update(t).finalize(o);r.reset();for(var p=f.words,m=p.length,h=f,g=1;g<d;g++){h=r.finalize(h),r.reset();for(var _=h.words,v=0;v<m;v++)p[v]^=_[v]}a.concat(f),l[0]++}return a.sigBytes=u*4,a}});t.PBKDF2=function(e,t,n){return c.create(n).compute(e,t)}})(),e.PBKDF2})})),Xr=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Vr(),Jr()):typeof define==`function`&&define.amd?define([`./core`,`./sha1`,`./hmac`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.Base,i=n.WordArray,a=t.algo,o=a.MD5,s=a.EvpKDF=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n,r=this.cfg,a=r.hasher.create(),o=i.create(),s=o.words,c=r.keySize,l=r.iterations;s.length<c;){n&&a.update(n),n=a.update(e).finalize(t),a.reset();for(var u=1;u<l;u++)n=a.finalize(n),a.reset();o.concat(n)}return o.sigBytes=c*4,o}});t.EvpKDF=function(e,t,n){return s.create(n).compute(e,t)}})(),e.EvpKDF})})),Zr=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Xr()):typeof define==`function`&&define.amd?define([`./core`,`./evpkdf`],r):r(n.CryptoJS)})(e,function(e){e.lib.Cipher||function(t){var n=e,r=n.lib,i=r.Base,a=r.WordArray,o=r.BufferedBlockAlgorithm,s=n.enc;s.Utf8;var c=s.Base64,l=n.algo.EvpKDF,u=r.Cipher=o.extend({cfg:i.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return typeof e==`string`?S:y}return function(t){return{encrypt:function(n,r,i){return e(r).encrypt(t,n,r,i)},decrypt:function(n,r,i){return e(r).decrypt(t,n,r,i)}}}}()});r.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var d=n.mode={},f=r.BlockCipherMode=i.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),p=d.CBC=function(){var e=f.extend();e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i),r.encryptBlock(e,t),this._prevBlock=e.slice(t,t+i)}}),e.Decryptor=e.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,a=e.slice(t,t+i);r.decryptBlock(e,t),n.call(this,e,t,i),this._prevBlock=a}});function n(e,n,r){var i,a=this._iv;a?(i=a,this._iv=t):i=this._prevBlock;for(var o=0;o<r;o++)e[n+o]^=i[o]}return e}(),m=n.pad={},h=m.Pkcs7={pad:function(e,t){for(var n=t*4,r=n-e.sigBytes%n,i=r<<24|r<<16|r<<8|r,o=[],s=0;s<r;s+=4)o.push(i);var c=a.create(o,r);e.concat(c)},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}};r.BlockCipher=u.extend({cfg:u.cfg.extend({mode:p,padding:h}),reset:function(){var e;u.reset.call(this);var t=this.cfg,n=t.iv,r=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=r.createEncryptor:(e=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,n&&n.words):(this._mode=e.call(r,this,n&&n.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:128/32});var g=r.CipherParams=i.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=n.format={},v=_.OpenSSL={stringify:function(e){var t,n=e.ciphertext,r=e.salt;return t=r?a.create([1398893684,1701076831]).concat(r).concat(n):n,t.toString(c)},parse:function(e){var t,n=c.parse(e),r=n.words;return r[0]==1398893684&&r[1]==1701076831&&(t=a.create(r.slice(2,4)),r.splice(0,4),n.sigBytes-=16),g.create({ciphertext:n,salt:t})}},y=r.SerializableCipher=i.extend({cfg:i.extend({format:v}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r),a=i.finalize(t),o=i.cfg;return g.create({ciphertext:a,key:n,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return typeof e==`string`?t.parse(e,this):e}}),b=n.kdf={},x=b.OpenSSL={execute:function(e,t,n,r,i){if(r||=a.random(64/8),i)var o=l.create({keySize:t+n,hasher:i}).compute(e,r);else var o=l.create({keySize:t+n}).compute(e,r);var s=a.create(o.words.slice(t),n*4);return o.sigBytes=t*4,g.create({key:o,iv:s,salt:r})}},S=r.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:x}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=r.kdf.execute(n,e.keySize,e.ivSize,r.salt,r.hasher);r.iv=i.iv;var a=y.encrypt.call(this,e,t,i.key,r);return a.mixIn(i),a},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var i=r.kdf.execute(n,e.keySize,e.ivSize,t.salt,r.hasher);return r.iv=i.iv,y.decrypt.call(this,e,t,i.key,r)}})}()})})),Qr=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CFB=function(){var t=e.lib.BlockCipherMode.extend();t.Encryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i,r),this._prevBlock=e.slice(t,t+i)}}),t.Decryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,a=e.slice(t,t+i);n.call(this,e,t,i,r),this._prevBlock=a}});function n(e,t,n,r){var i,a=this._iv;a?(i=a.slice(0),this._iv=void 0):i=this._prevBlock,r.encryptBlock(i,0);for(var o=0;o<n;o++)e[t+o]^=i[o]}return t}(),e.mode.CFB})})),$r=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CTR=function(){var t=e.lib.BlockCipherMode.extend();return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,a=this._counter;i&&(a=this._counter=i.slice(0),this._iv=void 0);var o=a.slice(0);n.encryptBlock(o,0),a[r-1]=a[r-1]+1|0;for(var s=0;s<r;s++)e[t+s]^=o[s]}}),t}(),e.mode.CTR})})),ei=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CTRGladman=function(){var t=e.lib.BlockCipherMode.extend();function n(e){if((e>>24&255)==255){var t=e>>16&255,n=e>>8&255,r=e&255;t===255?(t=0,n===255?(n=0,r===255?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}function r(e){return(e[0]=n(e[0]))===0&&(e[1]=n(e[1])),e}return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,i=n.blockSize,a=this._iv,o=this._counter;a&&(o=this._counter=a.slice(0),this._iv=void 0),r(o);var s=o.slice(0);n.encryptBlock(s,0);for(var c=0;c<i;c++)e[t+c]^=s[c]}}),t}(),e.mode.CTRGladman})})),ti=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.OFB=function(){var t=e.lib.BlockCipherMode.extend();return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,a=this._keystream;i&&(a=this._keystream=i.slice(0),this._iv=void 0),n.encryptBlock(a,0);for(var o=0;o<r;o++)e[t+o]^=a[o]}}),t}(),e.mode.OFB})})),ni=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.ECB=function(){var t=e.lib.BlockCipherMode.extend();return t.Encryptor=t.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),t.Decryptor=t.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),t}(),e.mode.ECB})})),ri=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.AnsiX923={pad:function(e,t){var n=e.sigBytes,r=t*4,i=r-n%r,a=n+i-1;e.clamp(),e.words[a>>>2]|=i<<24-a%4*8,e.sigBytes+=i},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},e.pad.Ansix923})})),ii=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.Iso10126={pad:function(t,n){var r=n*4,i=r-t.sigBytes%r;t.concat(e.lib.WordArray.random(i-1)).concat(e.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},e.pad.Iso10126})})),ai=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.Iso97971={pad:function(t,n){t.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(t,n)},unpad:function(t){e.pad.ZeroPadding.unpad(t),t.sigBytes--}},e.pad.Iso97971})})),oi=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.ZeroPadding={pad:function(e,t){var n=t*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var t=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(t[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},e.pad.ZeroPadding})})),si=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding})})),ci=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib.CipherParams,i=n.enc.Hex,a=n.format;a.Hex={stringify:function(e){return e.ciphertext.toString(i)},parse:function(e){var t=i.parse(e);return r.create({ciphertext:t})}}})(),e.format.Hex})})),li=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Rr(),Br(),Xr(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.BlockCipher,r=t.algo,i=[],a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=[];(function(){for(var e=[],t=0;t<256;t++)t<128?e[t]=t<<1:e[t]=t<<1^283;for(var n=0,r=0,t=0;t<256;t++){var m=r^r<<1^r<<2^r<<3^r<<4;m=m>>>8^m&255^99,i[n]=m,a[m]=n;var h=e[n],g=e[h],_=e[g],v=e[m]*257^m*16843008;o[n]=v<<24|v>>>8,s[n]=v<<16|v>>>16,c[n]=v<<8|v>>>24,l[n]=v;var v=_*16843009^g*65537^h*257^n*16843008;u[m]=v<<24|v>>>8,d[m]=v<<16|v>>>16,f[m]=v<<8|v>>>24,p[m]=v,n?(n=h^e[e[e[_^h]]],r^=e[e[r]]):n=r=1}})();var m=[0,1,2,4,8,16,32,64,128,27,54],h=r.AES=n.extend({_doReset:function(){var e;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var t=this._keyPriorReset=this._key,n=t.words,r=t.sigBytes/4,a=((this._nRounds=r+6)+1)*4,o=this._keySchedule=[],s=0;s<a;s++)s<r?o[s]=n[s]:(e=o[s-1],s%r?r>6&&s%r==4&&(e=i[e>>>24]<<24|i[e>>>16&255]<<16|i[e>>>8&255]<<8|i[e&255]):(e=e<<8|e>>>24,e=i[e>>>24]<<24|i[e>>>16&255]<<16|i[e>>>8&255]<<8|i[e&255],e^=m[s/r|0]<<24),o[s]=o[s-r]^e);for(var c=this._invKeySchedule=[],l=0;l<a;l++){var s=a-l;if(l%4)var e=o[s];else var e=o[s-4];l<4||s<=4?c[l]=e:c[l]=u[i[e>>>24]]^d[i[e>>>16&255]]^f[i[e>>>8&255]]^p[i[e&255]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,c,l,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,u,d,f,p,a);var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,s){for(var c=this._nRounds,l=e[t]^n[0],u=e[t+1]^n[1],d=e[t+2]^n[2],f=e[t+3]^n[3],p=4,m=1;m<c;m++){var h=r[l>>>24]^i[u>>>16&255]^a[d>>>8&255]^o[f&255]^n[p++],g=r[u>>>24]^i[d>>>16&255]^a[f>>>8&255]^o[l&255]^n[p++],_=r[d>>>24]^i[f>>>16&255]^a[l>>>8&255]^o[u&255]^n[p++],v=r[f>>>24]^i[l>>>16&255]^a[u>>>8&255]^o[d&255]^n[p++];l=h,u=g,d=_,f=v}var h=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[d>>>8&255]<<8|s[f&255])^n[p++],g=(s[u>>>24]<<24|s[d>>>16&255]<<16|s[f>>>8&255]<<8|s[l&255])^n[p++],_=(s[d>>>24]<<24|s[f>>>16&255]<<16|s[l>>>8&255]<<8|s[u&255])^n[p++],v=(s[f>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[d&255])^n[p++];e[t]=h,e[t+1]=g,e[t+2]=_,e[t+3]=v},keySize:256/32});t.AES=n._createHelper(h)})(),e.AES})})),ui=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Rr(),Br(),Xr(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.WordArray,i=n.BlockCipher,a=t.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=a.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],n=0;n<56;n++){var r=o[n]-1;t[n]=e[r>>>5]>>>31-r%32&1}for(var i=this._subKeys=[],a=0;a<16;a++){for(var l=i[a]=[],u=c[a],n=0;n<24;n++)l[n/6|0]|=t[(s[n]-1+u)%28]<<31-n%6,l[4+(n/6|0)]|=t[28+(s[n+24]-1+u)%28]<<31-n%6;l[0]=l[0]<<1|l[0]>>>31;for(var n=1;n<7;n++)l[n]=l[n]>>>(n-1)*4+3;l[7]=l[7]<<5|l[7]>>>27}for(var d=this._invSubKeys=[],n=0;n<16;n++)d[n]=i[15-n]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,n){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var r=0;r<16;r++){for(var i=n[r],a=this._lBlock,o=this._rBlock,s=0,c=0;c<8;c++)s|=l[c][((o^i[c])&u[c])>>>0];this._lBlock=o,this._rBlock=a^s}var d=this._lBlock;this._lBlock=this._rBlock,this._rBlock=d,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(e,t){var n=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=n,this._lBlock^=n<<e}function p(e,t){var n=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=n,this._rBlock^=n<<e}t.DES=i._createHelper(d);var m=a.TripleDES=i.extend({_doReset:function(){var e=this._key.words;if(e.length!==2&&e.length!==4&&e.length<6)throw Error(`Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.`);var t=e.slice(0,2),n=e.length<4?e.slice(0,2):e.slice(2,4),i=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=d.createEncryptor(r.create(t)),this._des2=d.createEncryptor(r.create(n)),this._des3=d.createEncryptor(r.create(i))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:192/32,ivSize:64/32,blockSize:64/32});t.TripleDES=i._createHelper(m)})(),e.TripleDES})})),di=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Rr(),Br(),Xr(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=r.RC4=n.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes,r=this._S=[],i=0;i<256;i++)r[i]=i;for(var i=0,a=0;i<256;i++){var o=i%n,s=t[o>>>2]>>>24-o%4*8&255;a=(a+r[i]+s)%256;var c=r[i];r[i]=r[a],r[a]=c}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:256/32,ivSize:0});function a(){for(var e=this._S,t=this._i,n=this._j,r=0,i=0;i<4;i++){t=(t+1)%256,n=(n+e[t])%256;var a=e[t];e[t]=e[n],e[n]=a,r|=e[(e[t]+e[n])%256]<<24-i*8}return this._i=t,this._j=n,r}t.RC4=n._createHelper(i);var o=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)a.call(this)}});t.RC4Drop=n._createHelper(o)})(),e.RC4})})),fi=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Rr(),Br(),Xr(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=[],a=[],o=[],s=r.Rabbit=n.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,n=0;n<4;n++)e[n]=(e[n]<<8|e[n]>>>24)&16711935|(e[n]<<24|e[n]>>>8)&4278255360;var r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,e[0]&4294901760|e[1]&65535,e[3]<<16|e[3]>>>16,e[1]&4294901760|e[2]&65535,e[0]<<16|e[0]>>>16,e[2]&4294901760|e[3]&65535,e[1]<<16|e[1]>>>16,e[3]&4294901760|e[0]&65535];this._b=0;for(var n=0;n<4;n++)c.call(this);for(var n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var a=t.words,o=a[0],s=a[1],l=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,u=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,d=l>>>16|u&4294901760,f=u<<16|l&65535;i[0]^=l,i[1]^=d,i[2]^=u,i[3]^=f,i[4]^=l,i[5]^=d,i[6]^=u,i[7]^=f;for(var n=0;n<4;n++)c.call(this)}},_doProcessBlock:function(e,t){var n=this._X;c.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=(i[r]<<8|i[r]>>>24)&16711935|(i[r]<<24|i[r]>>>8)&4278255360,e[t+r]^=i[r]},blockSize:128/32,ivSize:64/32});function c(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+ +(t[0]>>>0<a[0]>>>0)|0,t[2]=t[2]+886263092+ +(t[1]>>>0<a[1]>>>0)|0,t[3]=t[3]+1295307597+ +(t[2]>>>0<a[2]>>>0)|0,t[4]=t[4]+3545052371+ +(t[3]>>>0<a[3]>>>0)|0,t[5]=t[5]+886263092+ +(t[4]>>>0<a[4]>>>0)|0,t[6]=t[6]+1295307597+ +(t[5]>>>0<a[5]>>>0)|0,t[7]=t[7]+3545052371+ +(t[6]>>>0<a[6]>>>0)|0,this._b=+(t[7]>>>0<a[7]>>>0);for(var n=0;n<8;n++){var r=e[n]+t[n],i=r&65535,s=r>>>16;o[n]=((i*i>>>17)+i*s>>>15)+s*s^((r&4294901760)*r|0)+((r&65535)*r|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.Rabbit=n._createHelper(s)})(),e.Rabbit})})),pi=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Rr(),Br(),Xr(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=[],a=[],o=[],s=r.RabbitLegacy=n.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,e[0]&4294901760|e[1]&65535,e[3]<<16|e[3]>>>16,e[1]&4294901760|e[2]&65535,e[0]<<16|e[0]>>>16,e[2]&4294901760|e[3]&65535,e[1]<<16|e[1]>>>16,e[3]&4294901760|e[0]&65535];this._b=0;for(var i=0;i<4;i++)c.call(this);for(var i=0;i<8;i++)r[i]^=n[i+4&7];if(t){var a=t.words,o=a[0],s=a[1],l=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,u=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,d=l>>>16|u&4294901760,f=u<<16|l&65535;r[0]^=l,r[1]^=d,r[2]^=u,r[3]^=f,r[4]^=l,r[5]^=d,r[6]^=u,r[7]^=f;for(var i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(e,t){var n=this._X;c.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=(i[r]<<8|i[r]>>>24)&16711935|(i[r]<<24|i[r]>>>8)&4278255360,e[t+r]^=i[r]},blockSize:128/32,ivSize:64/32});function c(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+ +(t[0]>>>0<a[0]>>>0)|0,t[2]=t[2]+886263092+ +(t[1]>>>0<a[1]>>>0)|0,t[3]=t[3]+1295307597+ +(t[2]>>>0<a[2]>>>0)|0,t[4]=t[4]+3545052371+ +(t[3]>>>0<a[3]>>>0)|0,t[5]=t[5]+886263092+ +(t[4]>>>0<a[4]>>>0)|0,t[6]=t[6]+1295307597+ +(t[5]>>>0<a[5]>>>0)|0,t[7]=t[7]+3545052371+ +(t[6]>>>0<a[6]>>>0)|0,this._b=+(t[7]>>>0<a[7]>>>0);for(var n=0;n<8;n++){var r=e[n]+t[n],i=r&65535,s=r>>>16;o[n]=((i*i>>>17)+i*s>>>15)+s*s^((r&4294901760)*r|0)+((r&65535)*r|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.RabbitLegacy=n._createHelper(s)})(),e.RabbitLegacy})})),mi=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Rr(),Br(),Xr(),Zr()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.BlockCipher,r=t.algo;let i=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function s(e,t){let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=t&255,o=e.sbox[0][n]+e.sbox[1][r];return o^=e.sbox[2][i],o+=e.sbox[3][a],o}function c(e,t,n){let r=t,i=n,a;for(let t=0;t<16;++t)r^=e.pbox[t],i=s(e,r)^i,a=r,r=i,i=a;return a=r,r=i,i=a,i^=e.pbox[16],r^=e.pbox[17],{left:r,right:i}}function l(e,t,n){let r=t,i=n,a;for(let t=17;t>1;--t)r^=e.pbox[t],i=s(e,r)^i,a=r,r=i,i=a;return a=r,r=i,i=a,i^=e.pbox[1],r^=e.pbox[0],{left:r,right:i}}function u(e,t,n){for(let t=0;t<4;t++){e.sbox[t]=[];for(let n=0;n<256;n++)e.sbox[t][n]=a[t][n]}let r=0;for(let a=0;a<18;a++)e.pbox[a]=i[a]^t[r],r++,r>=n&&(r=0);let o=0,s=0,l=0;for(let t=0;t<18;t+=2)l=c(e,o,s),o=l.left,s=l.right,e.pbox[t]=o,e.pbox[t+1]=s;for(let t=0;t<4;t++)for(let n=0;n<256;n+=2)l=c(e,o,s),o=l.left,s=l.right,e.sbox[t][n]=o,e.sbox[t][n+1]=s;return!0}var d=r.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var e=this._keyPriorReset=this._key,t=e.words;u(o,t,e.sigBytes/4)}},encryptBlock:function(e,t){var n=c(o,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},decryptBlock:function(e,t){var n=l(o,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},blockSize:64/32,keySize:128/32,ivSize:64/32});t.Blowfish=n._createHelper(d)})(),e.Blowfish})})),hi=s(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(G(),Fr(),Ir(),Lr(),Rr(),zr(),Br(),Vr(),Hr(),Ur(),Wr(),Gr(),Kr(),qr(),Jr(),Yr(),Xr(),Zr(),Qr(),$r(),ei(),ti(),ni(),ri(),ii(),ai(),oi(),si(),ci(),li(),ui(),di(),fi(),pi(),mi()):typeof define==`function`&&define.amd?define(`./core,./x64-core,./lib-typedarrays,./enc-utf16,./enc-base64,./enc-base64url,./md5,./sha1,./sha256,./sha224,./sha512,./sha384,./sha3,./ripemd160,./hmac,./pbkdf2,./evpkdf,./cipher-core,./mode-cfb,./mode-ctr,./mode-ctr-gladman,./mode-ofb,./mode-ecb,./pad-ansix923,./pad-iso10126,./pad-iso97971,./pad-zeropadding,./pad-nopadding,./format-hex,./aes,./tripledes,./rc4,./rabbit,./rabbit-legacy,./blowfish`.split(`,`),r):n.CryptoJS=r(n.CryptoJS)})(e,function(e){return e})}))();function gi(e,t){return`^ /${e*231+8310+t}P+>A[]`}function _i(e){return`^ /${e*231+8310}P+>A[]`}function vi(e,t){return console.warn(hi.enc.Utf8.parse(e)),hi.AES.encrypt(hi.enc.Utf8.parse(e),_i(t)).toString()}function yi(e,t,n){return hi.AES.decrypt(e,gi(t,n)).toString(hi.enc.Utf8)}function bi(e,t){return hi.AES.decrypt(e,_i(t)).toString(hi.enc.Utf8)}function xi(e){return(0,hi.MD5)(e).toString()}var{parse:Si,stringify:Ci}=JSON,{keys:wi}=Object,Ti=String,Ei=`string`,Di={},Oi=`object`,ki=(e,t)=>t,Ai=e=>e instanceof Ti?Ti(e):e,ji=(e,t)=>typeof t===Ei?new Ti(t):t,Mi=(e,t,n,r)=>i=>{for(let a=wi(i),{length:o}=a,s=0;s<o;s++){let o=a[s],c=i[o];if(c instanceof Ti){let a=e[+c];typeof a===Oi&&!n.has(a)?(n.add(a),i[o]=Di,t.push({o:i,k:o,r:a})):i[o]=r.call(i,o,a)}else i[o]!==Di&&(i[o]=r.call(i,o,c))}return i},Ni=(e,t,n)=>{let r=Ti(t.push(n)-1);return e.set(n,r),r},Pi=(e,t)=>{let n=Si(e,ji).map(Ai),r=t||ki,i=n[0];if(typeof i===Oi&&i){let e=[],t=Mi(n,e,new Set,r);i=t(i);let a=0;for(;a<e.length;){let{o:n,k:i,r:o}=e[a++];n[i]=r.call(n,i,t(o))}}return r.call({"":i},``,i)},Fi=(e,t,n)=>{let r=t&&typeof t===Oi?(e,n)=>e===``||-1<t.indexOf(e)?n:void 0:t||ki,i=new Map,a=[],o=[],s=+Ni(i,a,r.call({"":e},``,e)),c=!s;for(;s<a.length;)c=!0,o[s]=Ci(a[s++],l,n);return`[`+o.join(`,`)+`]`;function l(e,t){if(c)return c=!c,t;let n=r.call(this,e,t);switch(typeof n){case Oi:if(n===null)return n;case Ei:return i.get(n)||Ni(i,a,n)}return n}},Ii=e=>Si(Fi(e)),Li=e=>Pi(Ci(e)),Ri=Object.freeze({MAP:`map`,MAP_OBJECT:`mapObject`,SYSTEM_MESSAGE:`systemMessage`,USER_VAR:`userVar`,USER_NAMED_VAR:`userNamedVar`}),zi=Object.freeze({mapAttribute:!0,objectAttribute:!0,message:!0}),Bi=class{},Vi=class{static{this._usingByteFlag=!1}static{this.MIN_LOOP_COUNT=3}static{this._restartData=void 0}static{this._mapByteLength=0}static{this._firstRandomMapObjectUtf8Table=new Bi}static compress(e,t={}){var n=Object.create(null),r,i;for(r in e)if(!zi[r]){switch(i=e[r],typeof i){case`number`:case`string`:case`boolean`:if(this._restartData[r]===i&&r!==`worldName`)continue;break;case`object`:if(i===null){if(this._restartData[r]===i)continue}else if(i=this.compressObject(r,i,this._restartData[r],t),i===void 0)continue;break;case`undefined`:break;case`function`:continue}n[r]=i}return n}static compressObject(e,t,n,r={}){var i,a,o,s;switch(e){case Ri.MAP:case Ri.MAP_OBJECT:var c,l,u,f,p,m,h,g,_,v,y,b,x,S;for(p in i=Object.create(null),_=Object.create(null),g=Object.create(null),t)for(f in a=t[p],o=n[p],s=Object.create(null),l=-1,a)h=a[f],h!==o[f]&&(s[f]=h,_[h]===void 0&&(_[h]=Object.create(null)),y=_[h],y[p]===void 0&&(y[p]=[]),x=y[p],x.push(Number(f)));for(b in _)for(p in y=_[b],g[b]===void 0&&(g[b]=Object.create(null)),v=g[b],i[b]===void 0&&(i[b]=[]),l=-1,y)x=y[p],x.length===1?(m=x[0],v[m]===void 0&&(v[m]=[]),S=v[m],S.push(Number(p))):(c=Number(p),u=c-l-1,l=c,i[b].push(this.getCompressArray(x),u));for(b in g)for(f in h=Number(b),v=g[b],l=-1,v)S=v[f],c=Number(f),u=c-l-1,l=c,S.length===1?i[b].push(u,S[0]):i[b].push(u,this.getCompressArray(S));var C=[];for(b in l=-1,i)c=Number(b),u=c-l-1,l=c,C.push(u,i[b]);return this._usingByteFlag&&JSON.stringify(C).length>=this._mapByteLength?this.compressMapAllObject(t,n,this._firstRandomMapObjectUtf8Table[e]):C;case Ri.SYSTEM_MESSAGE:i=Object.create(null);var e,ee;for(e in t)ee=t[e],n[e]!==ee&&(i[e]=ee);break;case Ri.USER_VAR:return this.compressUserVars(t);case Ri.USER_NAMED_VAR:if(!(t instanceof Map))throw TypeError(`USER_NAMED_VAR が正しい形式でないためセーブできません`);return{version:2,data:Ii(d(t))};default:return t}if(Object.keys(i).length!==0)return i}static compressUserVars(e){return e.map((e,t)=>[t,e]).filter(([e,t])=>t!==0)}static compressMapAllObject(e,t,n){var r,i,a,o,s,c,l,u,d=this._restartData.mapWidth,f,p,m,h,g,_,v,y,b=new Uint8Array(this._mapByteLength),x=-1,S;for(a=0,o=0,c=0,l=0,y=0,m=[],_=Object.create(null),f=[],p=[],i=0;i<d;i++)for(r=0;r<d;r++)u=e[i][r],u!==t[i][r]&&(x===-1&&(x=o),b[o]=b[o]|1<<a,c=o,_[u]===void 0&&(_[u]=new Hi(u,y++)),_[u].count++),a++,a===8&&(a=0,o++);for(s in _)v=_[s].index,m[v]=_[s];for(h in m.sort(this.idSort),g=Object.create(null),m)u=m[h].id,g[u]=Number(h),f[h]=u;for(i=0;i<d;i++)for(r=0;r<d;r++)u=e[i][r],u!==t[i][r]&&(p[l++]=g[u]);if(n){for(S=b.length,x=-1,c=0,o=0;o<S;o++)b[o]=b[o]&~n[o],b[o]!==0&&(x===-1&&(x=o),c=o);x===-1&&(x=0,c=0)}return[x,b.subarray(x,c+1),f,this.indexListCompress(p,f.length)]}static indexListCompress(e,t){var n=[],r,i,a,o=e.length,s,c,l;for(i=0,r=0;r<o;r++){for(s=e[r],l=0,a=r+1;a<o&&(c=e[a],s===c);a++)l++,r=a;switch(l){case 0:n[i++]=s;break;case 1:n[i++]=s,n[i++]=s;break;default:n[i++]=s,n[i++]=t+l;break}}return n}static idSort(e,t){return t.count-e.count}static getCompressArray(e){var t=[],n=-1,r,i,a,o=e.length,s,c,l;for(s=0,a=0;a<o;a++){for(i=e[a],r=i-n,c=0,l=a;l<o-1&&e[l]+1===e[l+1];)l++,c++;c<this.MIN_LOOP_COUNT?t[s++]=r:(a=l,i+=c,t[s++]=0,t[s++]=r,t[s++]=c-this.MIN_LOOP_COUNT),n=i}return t}static getDecompressArray(e){var t=[],n=-1,r,i,a,o=e.length,s,c;for(a=0,c=0;a<o;a++)if(r=e[a],r===0){for(r=e[++a],i=n+r,s=i+e[++a]+this.MIN_LOOP_COUNT;i<=s;i++)t[c++]=i;n=s}else i=n+r,t[c++]=i,n=i;return t}static decompress(e){var t=structuredClone(this._restartData),n,r;for(n in e){switch(r=e[n],typeof r){case`number`:case`string`:case`boolean`:break;case`object`:r!==null&&(r=this.decompressObject(n,r,t[n]));break;case`undefined`:break;case`function`:continue}t[n]=r}return[t,{isWorldNameEmpty:e.worldName===void 0}]}static decompressObject(e,t,n,r={}){var i,e;switch(e){case Ri.MAP:case Ri.MAP_OBJECT:var a,o,s,c,l,d,f;i=Object.create(null),o=-1;var p,m,h=t;if(m=h.length,m===4&&typeof h[0]==`number`&&(h[1]instanceof Uint8Array||h[1]instanceof Array)&&h[2]instanceof Array&&h[3]instanceof Array)return this.decompressAllMapObject(h,n,this._firstRandomMapObjectUtf8Table[e]),n;for(p=0;p<m;p+=2)s=Number(h[p]),a=o+s+1,o=a,d=a,i[a]=h[p+1];var g,_;for(f in i){for(d=Number(f),h=i[f],m=h.length,g=[],_=[],p=0;p<m;p+=2){var v=h[p],y=h[p+1];v instanceof Array&&(v=this.getDecompressArray(v)),y instanceof Array&&(y=this.getDecompressArray(y)),typeof v==`object`?g.push({x:v,y}):_.push({x:v,y})}for(var b in o=-1,g)if(s=Number(g[b].y),a=o+s+1,o=a,v=g[b].x,l=String(a),v instanceof Array)for(h=v,m=h.length,p=0;p<m;p++)c=String(h[p]),n[l][c]=d;else c=String(v),n[l][c]=d;for(b in o=-1,_)if(s=Number(_[b].x),a=o+s+1,o=a,y=_[b].y,c=String(a),y instanceof Array)for(h=y,m=h.length,p=0;p<m;p++)l=String(h[p]),n[l][c]=d;else l=String(y),n[l][c]=d}return n;case Ri.USER_VAR:return this.decompressUserVars(t);case Ri.USER_NAMED_VAR:if(!t)return t;if(Array.isArray(t))return new Map(structuredClone(t).map(([e,t])=>[e,u(t)]));if(t.version!==2||typeof t.data!=`object`)throw TypeError(`セーブデータが壊れています`);return u(Li(t.data));case Ri.SYSTEM_MESSAGE:default:if(!n)if(t)n=n instanceof Array?[]:Object.create(null);else return;for(e in t)n[e]=t[e];return n}}static decompressUserVars(e){return e.reduce((e,[t,n])=>(e[t]=n,e),this.generateEmptyUserVars())}static generateEmptyUserVars(){let e=Array(L.USER_VAR_NUM);for(let t=0;t<L.USER_VAR_NUM;t++)e[t]=0;return e}static decompressAllMapObject(e,t,n){var r,i,a,o,s,c,a,l=this._restartData.mapWidth,u,d,f,p,m,h=new Uint8Array(this._mapByteLength),r,i,o,s,g,c,_=0;_=e[0],f=e[2],u=e[3];var v=e[1];if(h.set(v,_),n)for(g=h.length,s=0;s<g;s++)h[s]=h[s]|n[s];d=[];var y=f.length,g=u.length,b,x,S,C,ee;for(b=0,x=0;b<g;b++){if(p=u[b],p>=y)for(S=p-y,C=0;C<S;C++)d[x++]=ee;else d[x++]=p;ee=p}for(o=0,s=0,c=0,m=0,g=h.length,s=0;s<g;s++)for(o=0;o<8;o++){if(h[s]&1<<o){if(p=d[m++],p===void 0)return!1;a=f[p],r=c%l,i=c/l|0,t[i][r]=a}c++}return!0}static setRestartData(e,t){this._restartData=e,this._mapByteLength=Math.ceil(e.mapWidth*e.mapWidth/8),this._firstRandomMapObjectUtf8Table[Ri.MAP_OBJECT]=this.getChangedUint8Array(t[Ri.MAP_OBJECT],e[Ri.MAP_OBJECT])}static getChangedUint8Array(e,t){var n,r,i,a,o=this._restartData.mapWidth,s=new Uint8Array(this._mapByteLength),c=-1;for(i=0,a=0,r=0;r<o;r++)for(n=0;n<o;n++)e[r][n]!==t[r][n]&&(c===-1&&(c=a),s[a]=s[a]|1<<i),i++,i===8&&(i=0,a++);return s}static getStartWWAData(e){if(!e)return this._restartData;try{var t=JSON.parse(e)}catch{return this._restartData}if(t){var n;try{if([n]=this.decompress(t),n)return n}catch{}}return this._restartData}static usingByte(e){this._usingByteFlag=e}},Hi=class{constructor(e,t){this.id=0,this.index=0,this.count=0,this.id=e,this.index=t}},Ui=class{constructor(e,t){this._id=0,this.flag=!1,this.date=void 0,this.cvs=void 0,this.ctx=void 0,this.quickSaveData=void 0,this._id=e,this._parent=t,this.cvs=document.createElement(`canvas`),this.cvs.width=he.QUICK_SAVE_THUMNAIL_WIDTH,this.cvs.height=he.QUICK_SAVE_THUMNAIL_HEIGHT,this.ctx=this.cvs.getContext(`2d`,{alpha:!1})}showQickLoad(){H(`cell-load`).textContent=ge.QUICK_LOAD}save(e,t){return this._statusEnergy=t.statusEnergy,this.ctx.clearRect(0,0,this.cvs.width,this.cvs.height),this.ctx.drawImage(e,0,0,e.width,e.height,0,0,this.cvs.width,this.cvs.height),this.quickSaveData=t,this.flag=!0,this.date=new Date,this.showQickLoad(),!0}getStatusEnergy(){return this.flag?this._statusEnergy:-1}load(){return this.quickSaveData}saveDataSet(e,t,n){try{this.quickSaveData=t,this._statusEnergy=t.statusEnergy,this.date=n,this.flag=!0;var r=document.createElement(`img`);r.src=e,r.addEventListener(`load`,()=>{this.flag=!0,this.ctx.drawImage(r,0,0,r.width,r.height,0,0,this.cvs.width,this.cvs.height)}),this.showQickLoad()}catch{}}getDateText(){let e,t,n,r,i,a;return this.date?(e=this.date.getFullYear(),t=this.date.getMonth()+1,n=this.date.getDate(),r=this.date.getHours(),i=this.date.getMinutes(),a=this.date.getSeconds(),e=(`000`+e).slice(-4),t=(`0`+t).slice(-2),n=(`0`+n).slice(-2),r=(`0`+r).slice(-2),i=(`0`+i).slice(-2),a=(`0`+a).slice(-2),e+`/`+t+`/`+n+` `+r+`:`+i+`:`+a):``}isLastSaveData(){return this===this._parent.getLastSaveData()}},Wi=class extends Ui{save(e,t){var n=super.save.apply(this,arguments);return this._parent.dbUpdateSaveData(this._id,e,t,this.date),n}},Gi=class e extends Array{constructor(){super(),Object.setPrototypeOf(this,Object.create(e.prototype))}hasSaveData(){for(var e=0;e<he.QUICK_SAVE_MAX;e++)if(this[e].flag)return!0;return!1}getLastSaveData(){for(var e,t,n=0;n<he.QUICK_SAVE_MAX;n++)t=this[n],t.flag&&(e?t.date&&e.date&&t.date.getTime()>e.date.getTime()&&(e=t):e=t);return e}},Ki=e=>typeof e.isGameOverDisabled==`boolean`?e.isGameOverDisabled===!0?{...e,isGameOverDisabled:void 0,gameOverPolicy:`never`}:e.isGameOverDisabled===!1?{...e,isGameOverDisabled:void 0,gameOverPolicy:`default`}:e:e,qi=e=>Ki(e),Ji=class e extends Gi{static{this.doNotAnything=()=>{}}constructor(t,n,r=e.prototype){super(),this.IDBTransaction={READ_ONLY:`readonly`,READ_WRITE:`readwrite`,VERSION_CHANGE:`versionchangetransaction`},this.keyPath=[`id`,`url`],Object.setPrototypeOf(this,Object.create(r));for(var i=0;i<he.QUICK_SAVE_MAX;i++)this[i]=new Wi(i,this);this.onCheckLoadingSaveData=t,this.onCompleteLoadingSaveData=n,this.createDataBase(),this.selectSaveData()}indexDBOpen(){return indexedDB.open(he.INDEXEDDB_DB_NAME,201205201)}createDataBase(){try{var t=this.indexDBOpen();t.onupgradeneeded=e=>{var n=t.result,r={keyPath:this.keyPath};n.objectStoreNames.contains(he.INDEXEDDB_TABLE_NAME)||n.createObjectStore(he.INDEXEDDB_TABLE_NAME,r).createIndex(`url`,`url`,{unique:!1})},t.onsuccess=e.doNotAnything,t.onerror=e.doNotAnything,t.onblocked=e.doNotAnything}catch{}}getObjectStore(e){let t=e;try{var n=t.transaction(he.INDEXEDDB_TABLE_NAME,this.IDBTransaction.READ_WRITE).objectStore(he.INDEXEDDB_TABLE_NAME)}catch{return}return n}makeSaveDataItem(e,t,n,r){return{url:location.href,id:e,hash:$i.checkOriginalMapString,image:t.toDataURL(),data:n,date:r,worldName:$i.worldName,mapDataRevisionKey:$i.mapDataRevisionKey}}getSaveDataResult(e,t){let n=e.index(`url`),r=IDBKeyRange.only(location.href),i=n.getAll(r);i.onsuccess=()=>{t(i.result)}}dbUpdateSaveData(t,n,r,i){let a=this.indexDBOpen();a.onupgradeneeded=e.doNotAnything,a.onsuccess=()=>{let o=this.getObjectStore(a.result),s=Vi.compress(r),c=this.makeSaveDataItem(t,n,s,i);this.selectDatas[t]=c;let l=o.put(c);l.onsuccess=e.doNotAnything,l.onerror=e.doNotAnything},a.onerror=e.doNotAnything,a.onblocked=e.doNotAnything}dbDeleteSaveData(t){let n=this.indexDBOpen();n.onupgradeneeded=e.doNotAnything,n.onsuccess=()=>{let e=this.getObjectStore(n.result);t.forEach(t=>{e.delete([t,location.href])})},n.onerror=e.doNotAnything,n.onblocked=e.doNotAnything}selectSaveData(){let t=this.indexDBOpen();t.onupgradeneeded=e.doNotAnything,t.onsuccess=()=>{let e=this.getObjectStore(t.result);this.selectDatas=[],this.getSaveDataResult(e,e=>{var t,n,r;let i=[];for(n=e.length,t=0;t<n;t++){var a=e[t];try{r={id:a.id,hash:a.hash,data:a.data,date:a.date,image:a.image,worldName:a.worldName,mapDataRevisionKey:a.mapDataRevisionKey}}catch{continue}let n=this.onCheckLoadingSaveData(r.worldName,r.hash,r.mapDataRevisionKey);if(n!==null){i.push({id:r.id,cause:n});continue}if(!this[r.id])continue;let o=qi(Vi.decompress(r.data)[0]);this[r.id].saveDataSet(r.image,o,r.date)}i.length>0&&this.dbDeleteSaveData(i.map(e=>e.id));let o=i.map(e=>e.cause).filter((e,t,n)=>n.indexOf(e)===t);this.onCompleteLoadingSaveData(o)})},t.onerror=e.doNotAnything,t.onblocked=e.doNotAnything}},Yi=class extends Ui{},Xi=class e extends Gi{constructor(){super(),this._saveNo=0,this._lastAutoSaveMove=0,this._autoInterval=he.SAVE_INTERVAL_MOVE,Object.setPrototypeOf(this,Object.create(e.prototype));for(var t=0;t<he.QUICK_SAVE_MAX;t++)this[t]=new Yi(t,this);this._saveNo=0,this._lastAutoSaveMove=0}resumeStart(){this._lastAutoSaveMove=-1}setPlayer(e){this._lastAutoSaveMove=e.getMoveCount()}isAutoSaveFrame(e){if(this._autoInterval===0)return!1;var t=e.getMoveCount();return this._lastAutoSaveMove>=t||t%this._autoInterval!==0?!1:(this._lastAutoSaveMove=t,!0)}autoSave(e,t){this[this._saveNo].save(e,t),this._saveNo++,this._saveNo%=he.QUICK_SAVE_MAX}setAutoSaveInterval(e){if(e<0){console.warn(`オートセーブの歩数 (${e}) に負の値が設定されています。`);return}this._autoInterval=e|0}};function Zi(e,t){return(0,hi.MD5)(e+t).toString()}var Qi=function(e){return e.UNMATCHED_WORLD_NAME=`UNMATCHED_WORLD_NAME`,e.UNMATCHED_WORLD_PASS_NUMBER=`UNMATCHED_WORLD_PASS_NUMBER`,e.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA=`DISALLOW_OLD_REVISION_WORLD_SAVE_DATA`,e}({}),$i=class e{constructor(t,n,r,i,a){e.checkOriginalMapString=t.checkOriginalMapString,e.worldName=n,e.mapDataRevisionKey=Zi(n,r),this._wwaDBSaveList=new Ji(i,a),this._wwaLogSaveList=new Xi,this.selectDBSaveDataList()}resumeStart(){this._wwaLogSaveList.resumeStart()}isAutoSaveFrame(e){return this._wwaLogSaveList.isAutoSaveFrame(e)}autoSave(e,t){this._wwaLogSaveList.autoSave(e,t)}selectDBSaveDataList(){this.list=this._wwaDBSaveList}selectLogSaveDataList(){this.list=this._wwaLogSaveList}save(e,t,n){var r=this.list[n];return r?r.save(e,t):!1}load(e){var t=this.list[e];return t?t.load():null}hasSaveData(){return this.list.hasSaveData()}setAutoSaveInterval(e){return this._wwaLogSaveList.setAutoSaveInterval(e)}getFirstSaveChoiceCallInfo(e){return e?N.CALL_BY_PASSWORD_LOAD:this._wwaDBSaveList.hasSaveData()?N.CALL_BY_QUICK_LOAD:this._wwaLogSaveList.hasSaveData()?N.CALL_BY_LOG_QUICK_LOAD:N.CALL_BY_PASSWORD_LOAD}getSecondSaveChoiceCallInfo(e){return this.list===this._wwaDBSaveList&&this._wwaLogSaveList.hasSaveData()?N.CALL_BY_LOG_QUICK_LOAD:e?N.CALL_BY_PASSWORD_LOAD:N.NONE}gameStart(e,t){this._wwaLogSaveList.setPlayer(t),this.quickSaveButtonUpdate(e)}quickSaveButtonUpdate(e){e.disableSaveFlag?H(`cell-save`).textContent=ge.EMPTY_SAVE:H(`cell-save`).textContent=ge.QUICK_SAVE}},ea=class{constructor(e,t,n,r,i){this.id=e,this.fileName=t,this.audioContext=n,this.audioGain=r,this.disposeBufferSource=e=>{try{e.stop(),e.disconnect(this.audioGain),e.buffer=null}catch{}e.onended=null},typeof this.id==`number`&&typeof i==`boolean`&&console.warn(`サウンドID ${this.id} に対して isBgm (${i}) が指定されていますが、サウンドIDが数字の場合は自動でBGMかどうかを判定するため、この指定は無視されます。`),this._isBgm=typeof this.id==`number`?this.id>=p.BGM_LB:!!i,this.audioContext=n,this.audioGain=r,this.audioBuffer=null,this.bufferSources=[],this.isLoaded=!1,this.delayBgmTimeoutId=null,this.load()}async fetchSoundFile(){try{return await fetch(this.fileName)}catch{console.warn(`サウンドID ${this.id} の音声ファイルの取得失敗 (fetch)`);return}}async getArrayBuffer(e){try{return await e.arrayBuffer()}catch{console.warn(`サウンドID ${this.id} の音声ファイルの取得失敗 (arrayBuffer)`);return}}async load(e=0){if(e>=10){console.log(`サウンドID ${this.id} の音声ファイルの取得失敗 (最大リトライ回数超過)`),this.isExceededMaxRetryCount=!0;return}let t=await this.fetchSoundFile();if(!t){this.retry(e);return}if(t.status!==0&&t.status!==200){console.warn(`サウンドID ${this.id} の音声ファイルが見つかりません! HTTPエラー番号: ${t.status}`),this.cancelLoad();return}let n=await this.getArrayBuffer(t);if(!n){this.retry(e);return}this.audioContext.decodeAudioData(n,t=>{if(t.length===0){console.log(`サウンドID ${this.id} の音声ファイルのバッファサイズが 0 です `),this.retry(e);return}this.setData(t)})}retry(e){window.setTimeout(async()=>{await this.load(e+1)},100)}setData(e){this.audioBuffer=e,this.isLoaded=!0}cancelLoad(){this.audioBuffer=null,this.isLoaded=!0}play(e=0,t=!1,n){let r=this.audioContext.createBufferSource();this.bufferSources.push(r),r.buffer=this.audioBuffer,(this.isBgm()||t)&&(r.loop=!0),r.connect(this.audioGain);let i=r.duration;(!isFinite(i)||i<0||typeof i!=`number`)&&(i=0),r.onended=()=>{let e=this.bufferSources.indexOf(r);e!==-1&&this.bufferSources.splice(e,1),this.disposeBufferSource(r),n?.()},this.delayBgmTimeoutId=window.setTimeout(()=>{this.delayBgmTimeoutId=null,r.start()},e),this.audioGain.connect(this.audioContext.destination)}pause(){this.delayBgmTimeoutId!==null&&(window.clearTimeout(this.delayBgmTimeoutId),this.delayBgmTimeoutId=null),this.bufferSources.forEach(this.disposeBufferSource),this.bufferSources.length=0}isBgm(){return this._isBgm===!0}hasData(){return this.audioBuffer!==null}isPlaying(){return this.hasData()||this.delayBgmTimeoutId!==null}isLoading(){return!this.isLoaded}isError(){return this.isExceededMaxRetryCount||this.isLoaded&&this.audioBuffer===null}},ta=class{constructor(e){this.target=e??document.createElement(`div`)}dispatch(e,t){let n=new CustomEvent(e,{detail:t});this.target.dispatchEvent(n)}addListener(e,t){let n=e=>t(e.detail);return this.target.addEventListener(e,n),n}removeListener(e,t){this.target.removeEventListener(e,t)}},na={3:`abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile`,5:`class enum extends super const export import`,6:`enum`,strict:`implements interface let package private protected public static yield`,strictBind:`eval arguments`},ra=`break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this`,ia={5:ra,"5module":ra+` export import`,6:ra+` const class extends export import super`},aa=/^in(stanceof)?$/,oa=`ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ`,sa=`‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_`,ca=RegExp(`[`+oa+`]`),la=RegExp(`[`+oa+sa+`]`);oa=sa=null;var ua=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],da=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function fa(e,t){for(var n=65536,r=0;r<t.length;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}}function pa(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&ca.test(String.fromCharCode(e)):t===!1?!1:fa(e,ua)}function ma(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&la.test(String.fromCharCode(e)):t===!1?!1:fa(e,ua)||fa(e,da)}var K=function(e,t){t===void 0&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function ha(e,t){return new K(e,{beforeExpr:!0,binop:t})}var ga={beforeExpr:!0},_a={startsExpr:!0},va={};function q(e,t){return t===void 0&&(t={}),t.keyword=e,va[e]=new K(e,t)}var J={num:new K(`num`,_a),regexp:new K(`regexp`,_a),string:new K(`string`,_a),name:new K(`name`,_a),eof:new K(`eof`),bracketL:new K(`[`,{beforeExpr:!0,startsExpr:!0}),bracketR:new K(`]`),braceL:new K(`{`,{beforeExpr:!0,startsExpr:!0}),braceR:new K(`}`),parenL:new K(`(`,{beforeExpr:!0,startsExpr:!0}),parenR:new K(`)`),comma:new K(`,`,ga),semi:new K(`;`,ga),colon:new K(`:`,ga),dot:new K(`.`),question:new K(`?`,ga),questionDot:new K(`?.`),arrow:new K(`=>`,ga),template:new K(`template`),invalidTemplate:new K(`invalidTemplate`),ellipsis:new K(`...`,ga),backQuote:new K("`",_a),dollarBraceL:new K("${",{beforeExpr:!0,startsExpr:!0}),eq:new K(`=`,{beforeExpr:!0,isAssign:!0}),assign:new K(`_=`,{beforeExpr:!0,isAssign:!0}),incDec:new K(`++/--`,{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new K(`!/~`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:ha(`||`,1),logicalAND:ha(`&&`,2),bitwiseOR:ha(`|`,3),bitwiseXOR:ha(`^`,4),bitwiseAND:ha(`&`,5),equality:ha(`==/!=/===/!==`,6),relational:ha(`</>/<=/>=`,7),bitShift:ha(`<</>>/>>>`,8),plusMin:new K(`+/-`,{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:ha(`%`,10),star:ha(`*`,10),slash:ha(`/`,10),starstar:new K(`**`,{beforeExpr:!0}),coalesce:ha(`??`,1),_break:q(`break`),_case:q(`case`,ga),_catch:q(`catch`),_continue:q(`continue`),_debugger:q(`debugger`),_default:q(`default`,ga),_do:q(`do`,{isLoop:!0,beforeExpr:!0}),_else:q(`else`,ga),_finally:q(`finally`),_for:q(`for`,{isLoop:!0}),_function:q(`function`,_a),_if:q(`if`),_return:q(`return`,ga),_switch:q(`switch`),_throw:q(`throw`,ga),_try:q(`try`),_var:q(`var`),_const:q(`const`),_while:q(`while`,{isLoop:!0}),_with:q(`with`),_new:q(`new`,{beforeExpr:!0,startsExpr:!0}),_this:q(`this`,_a),_super:q(`super`,_a),_class:q(`class`,_a),_extends:q(`extends`,ga),_export:q(`export`),_import:q(`import`,_a),_null:q(`null`,_a),_true:q(`true`,_a),_false:q(`false`,_a),_in:q(`in`,{beforeExpr:!0,binop:7}),_instanceof:q(`instanceof`,{beforeExpr:!0,binop:7}),_typeof:q(`typeof`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:q(`void`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:q(`delete`,{beforeExpr:!0,prefix:!0,startsExpr:!0})},ya=/\r\n?|\n|\u2028|\u2029/,ba=new RegExp(ya.source,`g`);function xa(e,t){return e===10||e===13||!t&&(e===8232||e===8233)}var Sa=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Ca=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,wa=Object.prototype,Ta=wa.hasOwnProperty,Ea=wa.toString;function Da(e,t){return Ta.call(e,t)}var Oa=Array.isArray||(function(e){return Ea.call(e)===`[object Array]`});function ka(e){return RegExp(`^(?:`+e.replace(/ /g,`|`)+`)$`)}var Aa=function(e,t){this.line=e,this.column=t};Aa.prototype.offset=function(e){return new Aa(this.line,this.column+e)};var ja=function(e,t,n){this.start=t,this.end=n,e.sourceFile!==null&&(this.source=e.sourceFile)};function Ma(e,t){for(var n=1,r=0;;){ba.lastIndex=r;var i=ba.exec(e);if(i&&i.index<t)++n,r=i.index+i[0].length;else return new Aa(n,t-r)}}var Na={ecmaVersion:10,sourceType:`script`,onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1};function Pa(e){var t={};for(var n in Na)t[n]=e&&Da(e,n)?e[n]:Na[n];if(t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved??=t.ecmaVersion<5,Oa(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}return Oa(t.onComment)&&(t.onComment=Fa(t,t.onComment)),t}function Fa(e,t){return function(n,r,i,a,o,s){var c={type:n?`Block`:`Line`,value:r,start:i,end:a};e.locations&&(c.loc=new ja(this,o,s)),e.ranges&&(c.range=[i,a]),t.push(c)}}var Ia=1,La=2,Ra=Ia|La,za=4,Ba=8,Va=16,Ha=32,Ua=64,Wa=128;function Ga(e,t){return La|(e?za:0)|(t?Ba:0)}var Ka=0,qa=1,Ja=2,Ya=3,Xa=4,Za=5,Qa=function(e,t,n){this.options=e=Pa(e),this.sourceFile=e.sourceFile,this.keywords=ka(ia[e.ecmaVersion>=6?6:e.sourceType===`module`?`5module`:5]);var r=``;if(e.allowReserved!==!0){for(var i=e.ecmaVersion;!(r=na[i]);i--);e.sourceType===`module`&&(r+=` await`)}this.reservedWords=ka(r);var a=(r?r+` `:``)+na.strict;this.reservedWordsStrict=ka(a),this.reservedWordsStrictBind=ka(a+` `+na.strictBind),this.input=String(t),this.containsEsc=!1,n?(this.pos=n,this.lineStart=this.input.lastIndexOf(`
90
+ `,n-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(ya).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=J.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=e.sourceType===`module`,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},this.pos===0&&e.allowHashBang&&this.input.slice(0,2)===`#!`&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(Ia),this.regexpState=null},$a={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};Qa.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},$a.inFunction.get=function(){return(this.currentVarScope().flags&La)>0},$a.inGenerator.get=function(){return(this.currentVarScope().flags&Ba)>0},$a.inAsync.get=function(){return(this.currentVarScope().flags&za)>0},$a.allowSuper.get=function(){return(this.currentThisScope().flags&Ua)>0},$a.allowDirectSuper.get=function(){return(this.currentThisScope().flags&Wa)>0},$a.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Qa.prototype.inNonArrowFunction=function(){return(this.currentThisScope().flags&La)>0},Qa.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,r=0;r<e.length;r++)n=e[r](n);return n},Qa.parse=function(e,t){return new this(t,e).parse()},Qa.parseExpressionAt=function(e,t,n){var r=new this(n,e,t);return r.nextToken(),r.parseExpression()},Qa.tokenizer=function(e,t){return new this(t,e)},Object.defineProperties(Qa.prototype,$a);var eo=Qa.prototype,to=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;eo.strictDirective=function(e){for(;;){Ca.lastIndex=e,e+=Ca.exec(this.input)[0].length;var t=to.exec(this.input.slice(e));if(!t)return!1;if((t[1]||t[2])===`use strict`){Ca.lastIndex=e+t[0].length;var n=Ca.exec(this.input),r=n.index+n[0].length,i=this.input.charAt(r);return i===`;`||i===`}`||ya.test(n[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(i)||i===`!`&&this.input.charAt(r+1)===`=`)}e+=t[0].length,Ca.lastIndex=e,e+=Ca.exec(this.input)[0].length,this.input[e]===`;`&&e++}},eo.eat=function(e){return this.type===e?(this.next(),!0):!1},eo.isContextual=function(e){return this.type===J.name&&this.value===e&&!this.containsEsc},eo.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},eo.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},eo.canInsertSemicolon=function(){return this.type===J.eof||this.type===J.braceR||ya.test(this.input.slice(this.lastTokEnd,this.start))},eo.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},eo.semicolon=function(){!this.eat(J.semi)&&!this.insertSemicolon()&&this.unexpected()},eo.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},eo.expect=function(e){this.eat(e)||this.unexpected()},eo.unexpected=function(e){this.raise(e??this.start,`Unexpected token`)};function no(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}eo.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,`Comma is not permitted after the rest element`);var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,`Parenthesized pattern`)}},eo.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,r=e.doubleProto;if(!t)return n>=0||r>=0;n>=0&&this.raise(n,`Shorthand property assignments are valid only in destructuring patterns`),r>=0&&this.raiseRecoverable(r,`Redefinition of __proto__ property`)},eo.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,`Yield expression cannot be a default value`),this.awaitPos&&this.raise(this.awaitPos,`Await expression cannot be a default value`)},eo.isSimpleAssignTarget=function(e){return e.type===`ParenthesizedExpression`?this.isSimpleAssignTarget(e.expression):e.type===`Identifier`||e.type===`MemberExpression`};var Y=Qa.prototype;Y.parseTopLevel=function(e){var t={};for(e.body||=[];this.type!==J.eof;){var n=this.parseStatement(null,!0,t);e.body.push(n)}if(this.inModule)for(var r=0,i=Object.keys(this.undefinedExports);r<i.length;r+=1){var a=i[r];this.raiseRecoverable(this.undefinedExports[a].start,`Export '`+a+`' is not defined`)}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType,this.finishNode(e,`Program`)};var ro={kind:`loop`},io={kind:`switch`};Y.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual(`let`))return!1;Ca.lastIndex=this.pos;var t=Ca.exec(this.input),n=this.pos+t[0].length,r=this.input.charCodeAt(n);if(r===91)return!0;if(e)return!1;if(r===123)return!0;if(pa(r,!0)){for(var i=n+1;ma(this.input.charCodeAt(i),!0);)++i;var a=this.input.slice(n,i);if(!aa.test(a))return!0}return!1},Y.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual(`async`))return!1;Ca.lastIndex=this.pos;var e=Ca.exec(this.input),t=this.pos+e[0].length;return!ya.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)===`function`&&(t+8===this.input.length||!ma(this.input.charAt(t+8)))},Y.parseStatement=function(e,t,n){var r=this.type,i=this.startNode(),a;switch(this.isLet(e)&&(r=J._var,a=`let`),r){case J._break:case J._continue:return this.parseBreakContinueStatement(i,r.keyword);case J._debugger:return this.parseDebuggerStatement(i);case J._do:return this.parseDoStatement(i);case J._for:return this.parseForStatement(i);case J._function:return e&&(this.strict||e!==`if`&&e!==`label`)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case J._class:return e&&this.unexpected(),this.parseClass(i,!0);case J._if:return this.parseIfStatement(i);case J._return:return this.parseReturnStatement(i);case J._switch:return this.parseSwitchStatement(i);case J._throw:return this.parseThrowStatement(i);case J._try:return this.parseTryStatement(i);case J._const:case J._var:return a||=this.value,e&&a!==`var`&&this.unexpected(),this.parseVarStatement(i,a);case J._while:return this.parseWhileStatement(i);case J._with:return this.parseWithStatement(i);case J.braceL:return this.parseBlock(!0,i);case J.semi:return this.parseEmptyStatement(i);case J._export:case J._import:if(this.options.ecmaVersion>10&&r===J._import){Ca.lastIndex=this.pos;var o=Ca.exec(this.input),s=this.pos+o[0].length,c=this.input.charCodeAt(s);if(c===40||c===46)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,`'import' and 'export' may only appear at the top level`),this.inModule||this.raise(this.start,`'import' and 'export' may appear only with 'sourceType: module'`)),r===J._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var l=this.value,u=this.parseExpression();return r===J.name&&u.type===`Identifier`&&this.eat(J.colon)?this.parseLabeledStatement(i,l,u,e):this.parseExpressionStatement(i,u)}},Y.parseBreakContinueStatement=function(e,t){var n=t===`break`;this.next(),this.eat(J.semi)||this.insertSemicolon()?e.label=null:this.type===J.name?(e.label=this.parseIdent(),this.semicolon()):this.unexpected();for(var r=0;r<this.labels.length;++r){var i=this.labels[r];if((e.label==null||i.name===e.label.name)&&(i.kind!=null&&(n||i.kind===`loop`)||e.label&&n))break}return r===this.labels.length&&this.raise(e.start,`Unsyntactic `+t),this.finishNode(e,n?`BreakStatement`:`ContinueStatement`)},Y.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,`DebuggerStatement`)},Y.parseDoStatement=function(e){return this.next(),this.labels.push(ro),e.body=this.parseStatement(`do`),this.labels.pop(),this.expect(J._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(J.semi):this.semicolon(),this.finishNode(e,`DoWhileStatement`)},Y.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual(`await`)?this.lastTokStart:-1;if(this.labels.push(ro),this.enterScope(0),this.expect(J.parenL),this.type===J.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===J._var||this.type===J._const||n){var r=this.startNode(),i=n?`let`:this.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,`VariableDeclaration`),(this.type===J._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))&&r.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===J._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,r)):(t>-1&&this.unexpected(t),this.parseFor(e,r))}var a=new no,o=this.parseExpression(!0,a);return this.type===J._in||this.options.ecmaVersion>=6&&this.isContextual(`of`)?(this.options.ecmaVersion>=9&&(this.type===J._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(o,!1,a),this.checkLVal(o),this.parseForIn(e,o)):(this.checkExpressionErrors(a,!0),t>-1&&this.unexpected(t),this.parseFor(e,o))},Y.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,oo|(n?0:so),!1,t)},Y.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(`if`),e.alternate=this.eat(J._else)?this.parseStatement(`if`):null,this.finishNode(e,`IfStatement`)},Y.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,`'return' outside of function`),this.next(),this.eat(J.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,`ReturnStatement`)},Y.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(J.braceL),this.labels.push(io),this.enterScope(0);for(var t,n=!1;this.type!==J.braceR;)if(this.type===J._case||this.type===J._default){var r=this.type===J._case;t&&this.finishNode(t,`SwitchCase`),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,`Multiple default clauses`),n=!0,t.test=null),this.expect(J.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,`SwitchCase`),this.next(),this.labels.pop(),this.finishNode(e,`SwitchStatement`)},Y.parseThrowStatement=function(e){return this.next(),ya.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,`Illegal newline after throw`),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,`ThrowStatement`)};var ao=[];Y.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===J._catch){var t=this.startNode();if(this.next(),this.eat(J.parenL)){t.param=this.parseBindingAtom();var n=t.param.type===`Identifier`;this.enterScope(n?Ha:0),this.checkLVal(t.param,n?Xa:Ja),this.expect(J.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,`CatchClause`)}return e.finalizer=this.eat(J._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,`Missing catch or finally clause`),this.finishNode(e,`TryStatement`)},Y.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,`VariableDeclaration`)},Y.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(ro),e.body=this.parseStatement(`while`),this.labels.pop(),this.finishNode(e,`WhileStatement`)},Y.parseWithStatement=function(e){return this.strict&&this.raise(this.start,`'with' in strict mode`),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(`with`),this.finishNode(e,`WithStatement`)},Y.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,`EmptyStatement`)},Y.parseLabeledStatement=function(e,t,n,r){for(var i=0,a=this.labels;i<a.length;i+=1)a[i].name===t&&this.raise(n.start,`Label '`+t+`' is already declared`);for(var o=this.type.isLoop?`loop`:this.type===J._switch?`switch`:null,s=this.labels.length-1;s>=0;s--){var c=this.labels[s];if(c.statementStart===e.start)c.statementStart=this.start,c.kind=o;else break}return this.labels.push({name:t,kind:o,statementStart:this.start}),e.body=this.parseStatement(r?r.indexOf(`label`)===-1?r+`label`:r:`label`),this.labels.pop(),e.label=n,this.finishNode(e,`LabeledStatement`)},Y.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,`ExpressionStatement`)},Y.parseBlock=function(e,t,n){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(J.braceL),e&&this.enterScope(0);this.type!==J.braceR;){var r=this.parseStatement(null);t.body.push(r)}return n&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,`BlockStatement`)},Y.parseFor=function(e,t){return e.init=t,this.expect(J.semi),e.test=this.type===J.semi?null:this.parseExpression(),this.expect(J.semi),e.update=this.type===J.parenR?null:this.parseExpression(),this.expect(J.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,`ForStatement`)},Y.parseForIn=function(e,t){var n=this.type===J._in;return this.next(),t.type===`VariableDeclaration`&&t.declarations[0].init!=null&&(!n||this.options.ecmaVersion<8||this.strict||t.kind!==`var`||t.declarations[0].id.type!==`Identifier`)?this.raise(t.start,(n?`for-in`:`for-of`)+` loop variable declaration may not have an initializer`):t.type===`AssignmentPattern`&&this.raise(t.start,`Invalid left-hand side in for-loop`),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssign(),this.expect(J.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,n?`ForInStatement`:`ForOfStatement`)},Y.parseVar=function(e,t,n){for(e.declarations=[],e.kind=n;;){var r=this.startNode();if(this.parseVarId(r,n),this.eat(J.eq)?r.init=this.parseMaybeAssign(t):n===`const`&&!(this.type===J._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))?this.unexpected():r.id.type!==`Identifier`&&!(t&&(this.type===J._in||this.isContextual(`of`)))?this.raise(this.lastTokEnd,`Complex binding patterns require an initialization value`):r.init=null,e.declarations.push(this.finishNode(r,`VariableDeclarator`)),!this.eat(J.comma))break}return e},Y.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,t===`var`?qa:Ja,!1)};var oo=1,so=2,co=4;Y.parseFunction=function(e,t,n,r){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===J.star&&t&so&&this.unexpected(),e.generator=this.eat(J.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&oo&&(e.id=t&co&&this.type!==J.name?null:this.parseIdent(),e.id&&!(t&so)&&this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?qa:Ja:Ya));var i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Ga(e.async,e.generator)),t&oo||(e.id=this.type===J.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n,!1),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(e,t&oo?`FunctionDeclaration`:`FunctionExpression`)},Y.parseFunctionParams=function(e){this.expect(J.parenL),e.params=this.parseBindingList(J.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Y.parseClass=function(e,t){this.next();var n=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.startNode(),i=!1;for(r.body=[],this.expect(J.braceL);this.type!==J.braceR;){var a=this.parseClassElement(e.superClass!==null);a&&(r.body.push(a),a.type===`MethodDefinition`&&a.kind===`constructor`&&(i&&this.raise(a.start,`Duplicate constructor in the same class`),i=!0))}return this.strict=n,this.next(),e.body=this.finishNode(r,`ClassBody`),this.finishNode(e,t?`ClassDeclaration`:`ClassExpression`)},Y.parseClassElement=function(e){var t=this;if(this.eat(J.semi))return null;var n=this.startNode(),r=function(e,r){r===void 0&&(r=!1);var i=t.start,a=t.startLoc;return t.eatContextual(e)?t.type!==J.parenL&&(!r||!t.canInsertSemicolon())?!0:(n.key&&t.unexpected(),n.computed=!1,n.key=t.startNodeAt(i,a),n.key.name=e,t.finishNode(n.key,`Identifier`),!1):!1};n.kind=`method`,n.static=r(`static`);var i=this.eat(J.star),a=!1;i||(this.options.ecmaVersion>=8&&r(`async`,!0)?(a=!0,i=this.options.ecmaVersion>=9&&this.eat(J.star)):r(`get`)?n.kind=`get`:r(`set`)&&(n.kind=`set`)),n.key||this.parsePropertyName(n);var o=n.key,s=!1;return!n.computed&&!n.static&&(o.type===`Identifier`&&o.name===`constructor`||o.type===`Literal`&&o.value===`constructor`)?(n.kind!==`method`&&this.raise(o.start,`Constructor can't have get/set modifier`),i&&this.raise(o.start,`Constructor can't be a generator`),a&&this.raise(o.start,`Constructor can't be an async method`),n.kind=`constructor`,s=e):n.static&&o.type===`Identifier`&&o.name===`prototype`&&this.raise(o.start,`Classes may not have a static property named prototype`),this.parseClassMethod(n,i,a,s),n.kind===`get`&&n.value.params.length!==0&&this.raiseRecoverable(n.value.start,`getter should have no params`),n.kind===`set`&&n.value.params.length!==1&&this.raiseRecoverable(n.value.start,`setter should have exactly one param`),n.kind===`set`&&n.value.params[0].type===`RestElement`&&this.raiseRecoverable(n.value.params[0].start,`Setter cannot use rest params`),n},Y.parseClassMethod=function(e,t,n,r){return e.value=this.parseMethod(t,n,r),this.finishNode(e,`MethodDefinition`)},Y.parseClassId=function(e,t){this.type===J.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,Ja,!1)):(t===!0&&this.unexpected(),e.id=null)},Y.parseClassSuper=function(e){e.superClass=this.eat(J._extends)?this.parseExprSubscripts():null},Y.parseExport=function(e,t){if(this.next(),this.eat(J.star))return this.options.ecmaVersion>=11&&(this.eatContextual(`as`)?(e.exported=this.parseIdent(!0),this.checkExport(t,e.exported.name,this.lastTokStart)):e.exported=null),this.expectContextual(`from`),this.type!==J.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,`ExportAllDeclaration`);if(this.eat(J._default)){this.checkExport(t,`default`,this.lastTokStart);var n;if(this.type===J._function||(n=this.isAsyncFunction())){var r=this.startNode();this.next(),n&&this.next(),e.declaration=this.parseFunction(r,oo|co,!1,n)}else if(this.type===J._class){var i=this.startNode();e.declaration=this.parseClass(i,`nullableID`)}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,`ExportDefaultDeclaration`)}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),e.declaration.type===`VariableDeclaration`?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual(`from`))this.type!==J.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var a=0,o=e.specifiers;a<o.length;a+=1){var s=o[a];this.checkUnreserved(s.local),this.checkLocalExport(s.local)}e.source=null}this.semicolon()}return this.finishNode(e,`ExportNamedDeclaration`)},Y.checkExport=function(e,t,n){e&&(Da(e,t)&&this.raiseRecoverable(n,`Duplicate export '`+t+`'`),e[t]=!0)},Y.checkPatternExport=function(e,t){var n=t.type;if(n===`Identifier`)this.checkExport(e,t.name,t.start);else if(n===`ObjectPattern`)for(var r=0,i=t.properties;r<i.length;r+=1){var a=i[r];this.checkPatternExport(e,a)}else if(n===`ArrayPattern`)for(var o=0,s=t.elements;o<s.length;o+=1){var c=s[o];c&&this.checkPatternExport(e,c)}else n===`Property`?this.checkPatternExport(e,t.value):n===`AssignmentPattern`?this.checkPatternExport(e,t.left):n===`RestElement`?this.checkPatternExport(e,t.argument):n===`ParenthesizedExpression`&&this.checkPatternExport(e,t.expression)},Y.checkVariableExport=function(e,t){if(e)for(var n=0,r=t;n<r.length;n+=1){var i=r[n];this.checkPatternExport(e,i.id)}},Y.shouldParseExportStatement=function(){return this.type.keyword===`var`||this.type.keyword===`const`||this.type.keyword===`class`||this.type.keyword===`function`||this.isLet()||this.isAsyncFunction()},Y.parseExportSpecifiers=function(e){var t=[],n=!0;for(this.expect(J.braceL);!this.eat(J.braceR);){if(n)n=!1;else if(this.expect(J.comma),this.afterTrailingComma(J.braceR))break;var r=this.startNode();r.local=this.parseIdent(!0),r.exported=this.eatContextual(`as`)?this.parseIdent(!0):r.local,this.checkExport(e,r.exported.name,r.exported.start),t.push(this.finishNode(r,`ExportSpecifier`))}return t},Y.parseImport=function(e){return this.next(),this.type===J.string?(e.specifiers=ao,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual(`from`),e.source=this.type===J.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,`ImportDeclaration`)},Y.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===J.name){var n=this.startNode();if(n.local=this.parseIdent(),this.checkLVal(n.local,Ja),e.push(this.finishNode(n,`ImportDefaultSpecifier`)),!this.eat(J.comma))return e}if(this.type===J.star){var r=this.startNode();return this.next(),this.expectContextual(`as`),r.local=this.parseIdent(),this.checkLVal(r.local,Ja),e.push(this.finishNode(r,`ImportNamespaceSpecifier`)),e}for(this.expect(J.braceL);!this.eat(J.braceR);){if(t)t=!1;else if(this.expect(J.comma),this.afterTrailingComma(J.braceR))break;var i=this.startNode();i.imported=this.parseIdent(!0),this.eatContextual(`as`)?i.local=this.parseIdent():(this.checkUnreserved(i.imported),i.local=i.imported),this.checkLVal(i.local,Ja),e.push(this.finishNode(i,`ImportSpecifier`))}return e},Y.adaptDirectivePrologue=function(e){for(var t=0;t<e.length&&this.isDirectiveCandidate(e[t]);++t)e[t].directive=e[t].expression.raw.slice(1,-1)},Y.isDirectiveCandidate=function(e){return e.type===`ExpressionStatement`&&e.expression.type===`Literal`&&typeof e.expression.value==`string`&&(this.input[e.start]===`"`||this.input[e.start]===`'`)};var lo=Qa.prototype;lo.toAssignable=function(e,t,n){if(this.options.ecmaVersion>=6&&e)switch(e.type){case`Identifier`:this.inAsync&&e.name===`await`&&this.raise(e.start,`Cannot use 'await' as identifier inside an async function`);break;case`ObjectPattern`:case`ArrayPattern`:case`RestElement`:break;case`ObjectExpression`:e.type=`ObjectPattern`,n&&this.checkPatternErrors(n,!0);for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.toAssignable(a,t),a.type===`RestElement`&&(a.argument.type===`ArrayPattern`||a.argument.type===`ObjectPattern`)&&this.raise(a.argument.start,`Unexpected token`)}break;case`Property`:e.kind!==`init`&&this.raise(e.key.start,`Object pattern can't contain getter or setter`),this.toAssignable(e.value,t);break;case`ArrayExpression`:e.type=`ArrayPattern`,n&&this.checkPatternErrors(n,!0),this.toAssignableList(e.elements,t);break;case`SpreadElement`:e.type=`RestElement`,this.toAssignable(e.argument,t),e.argument.type===`AssignmentPattern`&&this.raise(e.argument.start,`Rest elements cannot have a default value`);break;case`AssignmentExpression`:e.operator!==`=`&&this.raise(e.left.end,`Only '=' operator can be used for specifying default value.`),e.type=`AssignmentPattern`,delete e.operator,this.toAssignable(e.left,t);case`AssignmentPattern`:break;case`ParenthesizedExpression`:this.toAssignable(e.expression,t,n);break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:if(!t)break;default:this.raise(e.start,`Assigning to rvalue`)}else n&&this.checkPatternErrors(n,!0);return e},lo.toAssignableList=function(e,t){for(var n=e.length,r=0;r<n;r++){var i=e[r];i&&this.toAssignable(i,t)}if(n){var a=e[n-1];this.options.ecmaVersion===6&&t&&a&&a.type===`RestElement`&&a.argument.type!==`Identifier`&&this.unexpected(a.argument.start)}return e},lo.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,`SpreadElement`)},lo.parseRestBinding=function(){var e=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==J.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,`RestElement`)},lo.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case J.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(J.bracketR,!0,!0),this.finishNode(e,`ArrayPattern`);case J.braceL:return this.parseObj(!0)}return this.parseIdent()},lo.parseBindingList=function(e,t,n){for(var r=[],i=!0;!this.eat(e);)if(i?i=!1:this.expect(J.comma),t&&this.type===J.comma)r.push(null);else if(n&&this.afterTrailingComma(e))break;else if(this.type===J.ellipsis){var a=this.parseRestBinding();this.parseBindingListItem(a),r.push(a),this.type===J.comma&&this.raise(this.start,`Comma is not permitted after the rest element`),this.expect(e);break}else{var o=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(o),r.push(o)}return r},lo.parseBindingListItem=function(e){return e},lo.parseMaybeDefault=function(e,t,n){if(n||=this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(J.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,`AssignmentPattern`)},lo.checkLVal=function(e,t,n){switch(t===void 0&&(t=Ka),e.type){case`Identifier`:t===Ja&&e.name===`let`&&this.raiseRecoverable(e.start,`let is disallowed as a lexically bound name`),this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(t?`Binding `:`Assigning to `)+e.name+` in strict mode`),n&&(Da(n,e.name)&&this.raiseRecoverable(e.start,`Argument name clash`),n[e.name]=!0),t!==Ka&&t!==Za&&this.declareName(e.name,t,e.start);break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:t&&this.raiseRecoverable(e.start,`Binding member expression`);break;case`ObjectPattern`:for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.checkLVal(a,t,n)}break;case`Property`:this.checkLVal(e.value,t,n);break;case`ArrayPattern`:for(var o=0,s=e.elements;o<s.length;o+=1){var c=s[o];c&&this.checkLVal(c,t,n)}break;case`AssignmentPattern`:this.checkLVal(e.left,t,n);break;case`RestElement`:this.checkLVal(e.argument,t,n);break;case`ParenthesizedExpression`:this.checkLVal(e.expression,t,n);break;default:this.raise(e.start,(t?`Binding`:`Assigning to`)+` rvalue`)}};var X=Qa.prototype;X.checkPropClash=function(e,t,n){if(!(this.options.ecmaVersion>=9&&e.type===`SpreadElement`)&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r=e.key,i;switch(r.type){case`Identifier`:i=r.name;break;case`Literal`:i=String(r.value);break;default:return}var a=e.kind;if(this.options.ecmaVersion>=6){i===`__proto__`&&a===`init`&&(t.proto&&(n?n.doubleProto<0&&(n.doubleProto=r.start):this.raiseRecoverable(r.start,`Redefinition of __proto__ property`)),t.proto=!0);return}i=`$`+i;var o=t[i];o?(a===`init`?this.strict&&o.init||o.get||o.set:o.init||o[a])&&this.raiseRecoverable(r.start,`Redefinition of property`):o=t[i]={init:!1,get:!1,set:!1},o[a]=!0}},X.parseExpression=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeAssign(e,t);if(this.type===J.comma){var a=this.startNodeAt(n,r);for(a.expressions=[i];this.eat(J.comma);)a.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(a,`SequenceExpression`)}return i},X.parseMaybeAssign=function(e,t,n){if(this.isContextual(`yield`)){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,i=-1,a=-1;t?(i=t.parenthesizedAssign,a=t.trailingComma,t.parenthesizedAssign=t.trailingComma=-1):(t=new no,r=!0);var o=this.start,s=this.startLoc;(this.type===J.parenL||this.type===J.name)&&(this.potentialArrowAt=this.start);var c=this.parseMaybeConditional(e,t);if(n&&(c=n.call(this,c,o,s)),this.type.isAssign){var l=this.startNodeAt(o,s);return l.operator=this.value,l.left=this.type===J.eq?this.toAssignable(c,!1,t):c,r||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=l.left.start&&(t.shorthandAssign=-1),this.checkLVal(c),this.next(),l.right=this.parseMaybeAssign(e),this.finishNode(l,`AssignmentExpression`)}else r&&this.checkExpressionErrors(t,!0);return i>-1&&(t.parenthesizedAssign=i),a>-1&&(t.trailingComma=a),c},X.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(this.eat(J.question)){var a=this.startNodeAt(n,r);return a.test=i,a.consequent=this.parseMaybeAssign(),this.expect(J.colon),a.alternate=this.parseMaybeAssign(e),this.finishNode(a,`ConditionalExpression`)}return i},X.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)||i.start===n&&i.type===`ArrowFunctionExpression`?i:this.parseExprOp(i,n,r,-1,e)},X.parseExprOp=function(e,t,n,r,i){var a=this.type.binop;if(a!=null&&(!i||this.type!==J._in)&&a>r){var o=this.type===J.logicalOR||this.type===J.logicalAND,s=this.type===J.coalesce;s&&(a=J.logicalAND.binop);var c=this.value;this.next();var l=this.start,u=this.startLoc,d=this.parseExprOp(this.parseMaybeUnary(null,!1),l,u,a,i),f=this.buildBinary(t,n,e,d,c,o||s);return(o&&this.type===J.coalesce||s&&(this.type===J.logicalOR||this.type===J.logicalAND))&&this.raiseRecoverable(this.start,`Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses`),this.parseExprOp(f,t,n,r,i)}return e},X.buildBinary=function(e,t,n,r,i,a){var o=this.startNodeAt(e,t);return o.left=n,o.operator=i,o.right=r,this.finishNode(o,a?`LogicalExpression`:`BinaryExpression`)},X.parseMaybeUnary=function(e,t){var n=this.start,r=this.startLoc,i;if(this.isContextual(`await`)&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))i=this.parseAwait(),t=!0;else if(this.type.prefix){var a=this.startNode(),o=this.type===J.incDec;a.operator=this.value,a.prefix=!0,this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),o?this.checkLVal(a.argument):this.strict&&a.operator===`delete`&&a.argument.type===`Identifier`?this.raiseRecoverable(a.start,`Deleting local variable in strict mode`):t=!0,i=this.finishNode(a,o?`UpdateExpression`:`UnaryExpression`)}else{if(i=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return i;for(;this.type.postfix&&!this.canInsertSemicolon();){var s=this.startNodeAt(n,r);s.operator=this.value,s.prefix=!1,s.argument=i,this.checkLVal(i),this.next(),i=this.finishNode(s,`UpdateExpression`)}}return!t&&this.eat(J.starstar)?this.buildBinary(n,r,i,this.parseMaybeUnary(null,!1),`**`,!1):i},X.parseExprSubscripts=function(e){var t=this.start,n=this.startLoc,r=this.parseExprAtom(e);if(r.type===`ArrowFunctionExpression`&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==`)`)return r;var i=this.parseSubscripts(r,t,n);return e&&i.type===`MemberExpression`&&(e.parenthesizedAssign>=i.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=i.start&&(e.parenthesizedBind=-1)),i},X.parseSubscripts=function(e,t,n,r){for(var i=this.options.ecmaVersion>=8&&e.type===`Identifier`&&e.name===`async`&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,a=!1;;){var o=this.parseSubscript(e,t,n,r,i,a);if(o.optional&&(a=!0),o===e||o.type===`ArrowFunctionExpression`){if(a){var s=this.startNodeAt(t,n);s.expression=o,o=this.finishNode(s,`ChainExpression`)}return o}e=o}},X.parseSubscript=function(e,t,n,r,i,a){var o=this.options.ecmaVersion>=11,s=o&&this.eat(J.questionDot);r&&s&&this.raise(this.lastTokStart,`Optional chaining cannot appear in the callee of new expressions`);var c=this.eat(J.bracketL);if(c||s&&this.type!==J.parenL&&this.type!==J.backQuote||this.eat(J.dot)){var l=this.startNodeAt(t,n);l.object=e,l.property=c?this.parseExpression():this.parseIdent(this.options.allowReserved!==`never`),l.computed=!!c,c&&this.expect(J.bracketR),o&&(l.optional=s),e=this.finishNode(l,`MemberExpression`)}else if(!r&&this.eat(J.parenL)){var u=new no,d=this.yieldPos,f=this.awaitPos,p=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var m=this.parseExprList(J.parenR,this.options.ecmaVersion>=8,!1,u);if(i&&!s&&!this.canInsertSemicolon()&&this.eat(J.arrow))return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,`Cannot use 'await' as identifier inside an async function`),this.yieldPos=d,this.awaitPos=f,this.awaitIdentPos=p,this.parseArrowExpression(this.startNodeAt(t,n),m,!0);this.checkExpressionErrors(u,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=f||this.awaitPos,this.awaitIdentPos=p||this.awaitIdentPos;var h=this.startNodeAt(t,n);h.callee=e,h.arguments=m,o&&(h.optional=s),e=this.finishNode(h,`CallExpression`)}else if(this.type===J.backQuote){(s||a)&&this.raise(this.start,`Optional chaining cannot appear in the tag of tagged template expressions`);var g=this.startNodeAt(t,n);g.tag=e,g.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(g,`TaggedTemplateExpression`)}return e},X.parseExprAtom=function(e){this.type===J.slash&&this.readRegexp();var t,n=this.potentialArrowAt===this.start;switch(this.type){case J._super:return this.allowSuper||this.raise(this.start,`'super' keyword outside a method`),t=this.startNode(),this.next(),this.type===J.parenL&&!this.allowDirectSuper&&this.raise(t.start,`super() call outside constructor of a subclass`),this.type!==J.dot&&this.type!==J.bracketL&&this.type!==J.parenL&&this.unexpected(),this.finishNode(t,`Super`);case J._this:return t=this.startNode(),this.next(),this.finishNode(t,`ThisExpression`);case J.name:var r=this.start,i=this.startLoc,a=this.containsEsc,o=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!a&&o.name===`async`&&!this.canInsertSemicolon()&&this.eat(J._function))return this.parseFunction(this.startNodeAt(r,i),0,!1,!0);if(n&&!this.canInsertSemicolon()){if(this.eat(J.arrow))return this.parseArrowExpression(this.startNodeAt(r,i),[o],!1);if(this.options.ecmaVersion>=8&&o.name===`async`&&this.type===J.name&&!a)return o=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(J.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(r,i),[o],!0)}return o;case J.regexp:var s=this.value;return t=this.parseLiteral(s.value),t.regex={pattern:s.pattern,flags:s.flags},t;case J.num:case J.string:return this.parseLiteral(this.value);case J._null:case J._true:case J._false:return t=this.startNode(),t.value=this.type===J._null?null:this.type===J._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,`Literal`);case J.parenL:var c=this.start,l=this.parseParenAndDistinguishExpression(n);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(l)&&(e.parenthesizedAssign=c),e.parenthesizedBind<0&&(e.parenthesizedBind=c)),l;case J.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(J.bracketR,!0,!0,e),this.finishNode(t,`ArrayExpression`);case J.braceL:return this.parseObj(!1,e);case J._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case J._class:return this.parseClass(this.startNode(),!1);case J._new:return this.parseNew();case J.backQuote:return this.parseTemplate();case J._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},X.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword import`);var t=this.parseIdent(!0);switch(this.type){case J.parenL:return this.parseDynamicImport(e);case J.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},X.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(J.parenR)){var t=this.start;this.eat(J.comma)&&this.eat(J.parenR)?this.raiseRecoverable(t,`Trailing comma is not allowed in import()`):this.unexpected(t)}return this.finishNode(e,`ImportExpression`)},X.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`meta`&&this.raiseRecoverable(e.property.start,`The only valid meta property for import is 'import.meta'`),t&&this.raiseRecoverable(e.start,`'import.meta' must not contain escaped characters`),this.options.sourceType!==`module`&&this.raiseRecoverable(e.start,`Cannot use 'import.meta' outside a module`),this.finishNode(e,`MetaProperty`)},X.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,``)),this.next(),this.finishNode(t,`Literal`)},X.parseParenExpression=function(){this.expect(J.parenL);var e=this.parseExpression();return this.expect(J.parenR),e},X.parseParenAndDistinguishExpression=function(e){var t=this.start,n=this.startLoc,r,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var a=this.start,o=this.startLoc,s=[],c=!0,l=!1,u=new no,d=this.yieldPos,f=this.awaitPos,p;for(this.yieldPos=0,this.awaitPos=0;this.type!==J.parenR;)if(c?c=!1:this.expect(J.comma),i&&this.afterTrailingComma(J.parenR,!0)){l=!0;break}else if(this.type===J.ellipsis){p=this.start,s.push(this.parseParenItem(this.parseRestBinding())),this.type===J.comma&&this.raise(this.start,`Comma is not permitted after the rest element`);break}else s.push(this.parseMaybeAssign(!1,u,this.parseParenItem));var m=this.start,h=this.startLoc;if(this.expect(J.parenR),e&&!this.canInsertSemicolon()&&this.eat(J.arrow))return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=f,this.parseParenArrowList(t,n,s);(!s.length||l)&&this.unexpected(this.lastTokStart),p&&this.unexpected(p),this.checkExpressionErrors(u,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=f||this.awaitPos,s.length>1?(r=this.startNodeAt(a,o),r.expressions=s,this.finishNodeAt(r,`SequenceExpression`,m,h)):r=s[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var g=this.startNodeAt(t,n);return g.expression=r,this.finishNode(g,`ParenthesizedExpression`)}else return r},X.parseParenItem=function(e){return e},X.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var uo=[];X.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword new`);var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(J.dot)){e.meta=t;var n=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`target`&&this.raiseRecoverable(e.property.start,`The only valid meta property for new is 'new.target'`),n&&this.raiseRecoverable(e.start,`'new.target' must not contain escaped characters`),this.inNonArrowFunction()||this.raiseRecoverable(e.start,`'new.target' can only be used in functions`),this.finishNode(e,`MetaProperty`)}var r=this.start,i=this.startLoc,a=this.type===J._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),r,i,!0),a&&e.callee.type===`ImportExpression`&&this.raise(r,`Cannot use new with import()`),this.eat(J.parenL)?e.arguments=this.parseExprList(J.parenR,this.options.ecmaVersion>=8,!1):e.arguments=uo,this.finishNode(e,`NewExpression`)},X.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===J.invalidTemplate?(t||this.raiseRecoverable(this.start,`Bad escape sequence in untagged template literal`),n.value={raw:this.value,cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,`
91
+ `),cooked:this.value},this.next(),n.tail=this.type===J.backQuote,this.finishNode(n,`TemplateElement`)},X.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.type===J.eof&&this.raise(this.pos,`Unterminated template literal`),this.expect(J.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(J.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,`TemplateLiteral`)},X.isAsyncProp=function(e){return!e.computed&&e.key.type===`Identifier`&&e.key.name===`async`&&(this.type===J.name||this.type===J.num||this.type===J.string||this.type===J.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===J.star)&&!ya.test(this.input.slice(this.lastTokEnd,this.start))},X.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(J.braceR);){if(r)r=!1;else if(this.expect(J.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(J.braceR))break;var a=this.parseProperty(e,t);e||this.checkPropClash(a,i,t),n.properties.push(a)}return this.finishNode(n,e?`ObjectPattern`:`ObjectExpression`)},X.parseProperty=function(e,t){var n=this.startNode(),r,i,a,o;if(this.options.ecmaVersion>=9&&this.eat(J.ellipsis))return e?(n.argument=this.parseIdent(!1),this.type===J.comma&&this.raise(this.start,`Comma is not permitted after the rest element`),this.finishNode(n,`RestElement`)):(this.type===J.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),n.argument=this.parseMaybeAssign(!1,t),this.type===J.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(n,`SpreadElement`));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(e||t)&&(a=this.start,o=this.startLoc),e||(r=this.eat(J.star)));var s=this.containsEsc;return this.parsePropertyName(n),!e&&!s&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(n)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(J.star),this.parsePropertyName(n,t)):i=!1,this.parsePropertyValue(n,e,r,i,a,o,t,s),this.finishNode(n,`Property`)},X.parsePropertyValue=function(e,t,n,r,i,a,o,s){if((n||r)&&this.type===J.colon&&this.unexpected(),this.eat(J.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),e.kind=`init`;else if(this.options.ecmaVersion>=6&&this.type===J.parenL)t&&this.unexpected(),e.kind=`init`,e.method=!0,e.value=this.parseMethod(n,r);else if(!t&&!s&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.type!==J.comma&&this.type!==J.braceR&&this.type!==J.eq){(n||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var c=e.kind===`get`?0:1;if(e.value.params.length!==c){var l=e.value.start;e.kind===`get`?this.raiseRecoverable(l,`getter should have no params`):this.raiseRecoverable(l,`setter should have exactly one param`)}else e.kind===`set`&&e.value.params[0].type===`RestElement`&&this.raiseRecoverable(e.value.params[0].start,`Setter cannot use rest params`)}else this.options.ecmaVersion>=6&&!e.computed&&e.key.type===`Identifier`?((n||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=i),e.kind=`init`,t?e.value=this.parseMaybeDefault(i,a,e.key):this.type===J.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,a,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected()},X.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(J.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(J.bracketR),e.key;e.computed=!1}return e.key=this.type===J.num||this.type===J.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`)},X.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},X.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=e),this.options.ecmaVersion>=8&&(r.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Ga(t,r.generator)|Ua|(n?Wa:0)),this.expect(J.parenL),r.params=this.parseBindingList(J.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(r,`FunctionExpression`)},X.parseArrowExpression=function(e,t,n){var r=this.yieldPos,i=this.awaitPos,a=this.awaitIdentPos;return this.enterScope(Ga(n,!1)|Va),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=r,this.awaitPos=i,this.awaitIdentPos=a,this.finishNode(e,`ArrowFunctionExpression`)},X.parseFunctionBody=function(e,t,n){var r=t&&this.type!==J.braceL,i=this.strict,a=!1;if(r)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!i||o)&&(a=this.strictDirective(this.end),a&&o&&this.raiseRecoverable(e.start,`Illegal 'use strict' directive in function with non-simple parameter list`));var s=this.labels;this.labels=[],a&&(this.strict=!0),this.checkParams(e,!i&&!a&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,Za),e.body=this.parseBlock(!1,void 0,a&&!i),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=s}this.exitScope()},X.isSimpleParamList=function(e){for(var t=0,n=e;t<n.length;t+=1)if(n[t].type!==`Identifier`)return!1;return!0},X.checkParams=function(e,t){for(var n={},r=0,i=e.params;r<i.length;r+=1){var a=i[r];this.checkLVal(a,qa,t?null:n)}},X.parseExprList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);){if(a)a=!1;else if(this.expect(J.comma),t&&this.afterTrailingComma(e))break;var o=void 0;n&&this.type===J.comma?o=null:this.type===J.ellipsis?(o=this.parseSpread(r),r&&this.type===J.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):o=this.parseMaybeAssign(!1,r),i.push(o)}return i},X.checkUnreserved=function(e){var t=e.start,n=e.end,r=e.name;this.inGenerator&&r===`yield`&&this.raiseRecoverable(t,`Cannot use 'yield' as identifier inside a generator`),this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use 'await' as identifier inside an async function`),this.keywords.test(r)&&this.raise(t,`Unexpected keyword '`+r+`'`),!(this.options.ecmaVersion<6&&this.input.slice(t,n).indexOf(`\\`)!==-1)&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(r)&&(!this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use keyword 'await' outside an async function`),this.raiseRecoverable(t,`The keyword '`+r+`' is reserved`))},X.parseIdent=function(e,t){var n=this.startNode();return this.type===J.name?n.name=this.value:this.type.keyword?(n.name=this.type.keyword,(n.name===`class`||n.name===`function`)&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop()):this.unexpected(),this.next(!!e),this.finishNode(n,`Identifier`),e||(this.checkUnreserved(n),n.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=n.start)),n},X.parseYield=function(e){this.yieldPos||=this.start;var t=this.startNode();return this.next(),this.type===J.semi||this.canInsertSemicolon()||this.type!==J.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(J.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,`YieldExpression`)},X.parseAwait=function(){this.awaitPos||=this.start;var e=this.startNode();return this.next(),e.argument=this.parseMaybeUnary(null,!1),this.finishNode(e,`AwaitExpression`)};var fo=Qa.prototype;fo.raise=function(e,t){var n=Ma(this.input,e);t+=` (`+n.line+`:`+n.column+`)`;var r=SyntaxError(t);throw r.pos=e,r.loc=n,r.raisedAt=this.pos,r},fo.raiseRecoverable=fo.raise,fo.curPosition=function(){if(this.options.locations)return new Aa(this.curLine,this.pos-this.lineStart)};var po=Qa.prototype,mo=function(e){this.flags=e,this.var=[],this.lexical=[],this.functions=[]};po.enterScope=function(e){this.scopeStack.push(new mo(e))},po.exitScope=function(){this.scopeStack.pop()},po.treatFunctionsAsVarInScope=function(e){return e.flags&La||!this.inModule&&e.flags&Ia},po.declareName=function(e,t,n){var r=!1;if(t===Ja){var i=this.currentScope();r=i.lexical.indexOf(e)>-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1,i.lexical.push(e),this.inModule&&i.flags&Ia&&delete this.undefinedExports[e]}else if(t===Xa)this.currentScope().lexical.push(e);else if(t===Ya){var a=this.currentScope();r=this.treatFunctionsAsVar?a.lexical.indexOf(e)>-1:a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1,a.functions.push(e)}else for(var o=this.scopeStack.length-1;o>=0;--o){var s=this.scopeStack[o];if(s.lexical.indexOf(e)>-1&&!(s.flags&Ha&&s.lexical[0]===e)||!this.treatFunctionsAsVarInScope(s)&&s.functions.indexOf(e)>-1){r=!0;break}if(s.var.push(e),this.inModule&&s.flags&Ia&&delete this.undefinedExports[e],s.flags&Ra)break}r&&this.raiseRecoverable(n,`Identifier '`+e+`' has already been declared`)},po.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},po.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},po.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&Ra)return t}},po.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&Ra&&!(t.flags&Va))return t}};var ho=function(e,t,n){this.type=``,this.start=t,this.end=0,e.options.locations&&(this.loc=new ja(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},go=Qa.prototype;go.startNode=function(){return new ho(this,this.start,this.startLoc)},go.startNodeAt=function(e,t){return new ho(this,e,t)};function _o(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}go.finishNode=function(e,t){return _o.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},go.finishNodeAt=function(e,t,n,r){return _o.call(this,e,t,n,r)};var vo=function(e,t,n,r,i){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r,this.generator=!!i},yo={b_stat:new vo(`{`,!1),b_expr:new vo(`{`,!0),b_tmpl:new vo("${",!1),p_stat:new vo(`(`,!1),p_expr:new vo(`(`,!0),q_tmpl:new vo("`",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new vo(`function`,!1),f_expr:new vo(`function`,!0),f_expr_gen:new vo(`function`,!0,!1,null,!0),f_gen:new vo(`function`,!1,!1,null,!0)},bo=Qa.prototype;bo.initialContext=function(){return[yo.b_stat]},bo.braceIsBlock=function(e){var t=this.curContext();return t===yo.f_expr||t===yo.f_stat?!0:e===J.colon&&(t===yo.b_stat||t===yo.b_expr)?!t.isExpr:e===J._return||e===J.name&&this.exprAllowed?ya.test(this.input.slice(this.lastTokEnd,this.start)):e===J._else||e===J.semi||e===J.eof||e===J.parenR||e===J.arrow?!0:e===J.braceL?t===yo.b_stat:e===J._var||e===J._const||e===J.name?!1:!this.exprAllowed},bo.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token===`function`)return t.generator}return!1},bo.updateContext=function(e){var t,n=this.type;n.keyword&&e===J.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},J.parenR.updateContext=J.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===yo.b_stat&&this.curContext().token===`function`&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},J.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?yo.b_stat:yo.b_expr),this.exprAllowed=!0},J.dollarBraceL.updateContext=function(){this.context.push(yo.b_tmpl),this.exprAllowed=!0},J.parenL.updateContext=function(e){var t=e===J._if||e===J._for||e===J._with||e===J._while;this.context.push(t?yo.p_stat:yo.p_expr),this.exprAllowed=!0},J.incDec.updateContext=function(){},J._function.updateContext=J._class.updateContext=function(e){e.beforeExpr&&e!==J.semi&&e!==J._else&&!(e===J._return&&ya.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===J.colon||e===J.braceL)&&this.curContext()===yo.b_stat)?this.context.push(yo.f_expr):this.context.push(yo.f_stat),this.exprAllowed=!1},J.backQuote.updateContext=function(){this.curContext()===yo.q_tmpl?this.context.pop():this.context.push(yo.q_tmpl),this.exprAllowed=!1},J.star.updateContext=function(e){if(e===J._function){var t=this.context.length-1;this.context[t]===yo.f_expr?this.context[t]=yo.f_expr_gen:this.context[t]=yo.f_gen}this.exprAllowed=!0},J.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==J.dot&&(this.value===`of`&&!this.exprAllowed||this.value===`yield`&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var xo=`ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS`,So=xo+` Extended_Pictographic`,Co={9:xo,10:So,11:So},wo=`Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu`,To=`Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb`,Eo=To+` Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd`,Do={9:To,10:Eo,11:Eo+` Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho`},Oo={};function ko(e){var t=Oo[e]={binary:ka(Co[e]+` `+wo),nonBinary:{General_Category:ka(wo),Script:ka(Do[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}ko(9),ko(10),ko(11);var Z=Qa.prototype,Ao=function(e){this.parser=e,this.validFlags=`gim`+(e.options.ecmaVersion>=6?`uy`:``)+(e.options.ecmaVersion>=9?`s`:``),this.unicodeProperties=Oo[e.options.ecmaVersion>=11?11:e.options.ecmaVersion],this.source=``,this.flags=``,this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=``,this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};Ao.prototype.reset=function(e,t,n){var r=n.indexOf(`u`)!==-1;this.start=e|0,this.source=t+``,this.flags=n,this.switchU=r&&this.parser.options.ecmaVersion>=6,this.switchN=r&&this.parser.options.ecmaVersion>=9},Ao.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,`Invalid regular expression: /`+this.source+`/: `+e)},Ao.prototype.at=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return-1;var i=n.charCodeAt(e);if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=r)return i;var a=n.charCodeAt(e+1);return a>=56320&&a<=57343?(i<<10)+a-56613888:i},Ao.prototype.nextIndex=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return r;var i=n.charCodeAt(e),a;return!(t||this.switchU)||i<=55295||i>=57344||e+1>=r||(a=n.charCodeAt(e+1))<56320||a>57343?e+1:e+2},Ao.prototype.current=function(e){return e===void 0&&(e=!1),this.at(this.pos,e)},Ao.prototype.lookahead=function(e){return e===void 0&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Ao.prototype.advance=function(e){e===void 0&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Ao.prototype.eat=function(e,t){return t===void 0&&(t=!1),this.current(t)===e?(this.advance(t),!0):!1};function jo(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}Z.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,r=0;r<n.length;r++){var i=n.charAt(r);t.indexOf(i)===-1&&this.raise(e.start,`Invalid regular expression flag`),n.indexOf(i,r+1)>-1&&this.raise(e.start,`Duplicate regular expression flag`)}},Z.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},Z.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue=``,e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise(`Unmatched ')'`),(e.eat(93)||e.eat(125))&&e.raise(`Lone quantifier brackets`)),e.maxBackReference>e.numCapturingParens&&e.raise(`Invalid escape`);for(var t=0,n=e.backReferenceNames;t<n.length;t+=1){var r=n[t];e.groupNames.indexOf(r)===-1&&e.raise(`Invalid named capture referenced`)}},Z.regexp_disjunction=function(e){for(this.regexp_alternative(e);e.eat(124);)this.regexp_alternative(e);this.regexp_eatQuantifier(e,!0)&&e.raise(`Nothing to repeat`),e.eat(123)&&e.raise(`Lone quantifier brackets`)},Z.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},Z.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise(`Invalid quantifier`),!0):(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))?(this.regexp_eatQuantifier(e),!0):!1},Z.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var n=!1;if(this.options.ecmaVersion>=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise(`Unterminated group`),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},Z.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},Z.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},Z.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue),e.eat(125)))return i!==-1&&i<r&&!t&&e.raise(`numbers out of order in {} quantifier`),!0;e.switchU&&!t&&e.raise(`Incomplete quantifier`),e.pos=n}return!1},Z.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)},Z.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},Z.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)&&e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise(`Unterminated group`)}e.pos=t}return!1},Z.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise(`Invalid group`),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise(`Unterminated group`)}return!1},Z.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},Z.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise(`Nothing to repeat`),!1},Z.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Mo(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Mo(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}Z.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;(n=e.current())!==-1&&!Mo(n);)e.advance();return e.pos!==t},Z.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},Z.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise(`Duplicate capture group name`),e.groupNames.push(e.lastStringValue);return}e.raise(`Invalid group`)}},Z.regexp_eatGroupName=function(e){if(e.lastStringValue=``,e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise(`Invalid capture group name`)}return!1},Z.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue=``,this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=jo(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=jo(e.lastIntValue);return!0}return!1},Z.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),No(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function No(e){return pa(e,!0)||e===36||e===95}Z.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Po(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Po(e){return ma(e,!0)||e===36||e===95||e===8204||e===8205}Z.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise(`Invalid unicode escape`),e.raise(`Invalid escape`)),!1)},Z.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},Z.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise(`Invalid named reference`)}return!1},Z.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},Z.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},Z.regexp_eatZero=function(e){return e.current()===48&&!Bo(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},Z.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},Z.regexp_eatControlLetter=function(e){var t=e.current();return Fo(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function Fo(e){return e>=65&&e<=90||e>=97&&e<=122}Z.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var n=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(r&&i>=55296&&i<=56319){var a=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343)return e.lastIntValue=(i-55296)*1024+(o-56320)+65536,!0}e.pos=a,e.lastIntValue=i}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Io(e.lastIntValue))return!0;r&&e.raise(`Invalid unicode escape`),e.pos=n}return!1};function Io(e){return e>=0&&e<=1114111}Z.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},Z.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1},Z.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Lo(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise(`Invalid property name`)}return!1};function Lo(e){return e===100||e===68||e===115||e===83||e===119||e===87}Z.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,r),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i),!0}return!1},Z.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){Da(e.unicodeProperties.nonBinary,t)||e.raise(`Invalid property name`),e.unicodeProperties.nonBinary[t].test(n)||e.raise(`Invalid property value`)},Z.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise(`Invalid property name`)},Z.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue=``;Ro(t=e.current());)e.lastStringValue+=jo(t),e.advance();return e.lastStringValue!==``};function Ro(e){return Fo(e)||e===95}Z.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue=``;zo(t=e.current());)e.lastStringValue+=jo(t),e.advance();return e.lastStringValue!==``};function zo(e){return Ro(e)||Bo(e)}Z.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},Z.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise(`Unterminated character class`)}return!1},Z.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;e.switchU&&(t===-1||n===-1)&&e.raise(`Invalid character class`),t!==-1&&n!==-1&&t>n&&e.raise(`Range out of order in character class`)}}},Z.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(n===99||Uo(n))&&e.raise(`Invalid class escape`),e.raise(`Invalid escape`)}e.pos=t}var r=e.current();return r===93?!1:(e.lastIntValue=r,e.advance(),!0)},Z.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},Z.regexp_eatClassControlLetter=function(e){var t=e.current();return Bo(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},Z.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise(`Invalid escape`),e.pos=t}return!1},Z.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Bo(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t};function Bo(e){return e>=48&&e<=57}Z.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Vo(n=e.current());)e.lastIntValue=16*e.lastIntValue+Ho(n),e.advance();return e.pos!==t};function Vo(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ho(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}Z.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+n*8+e.lastIntValue:e.lastIntValue=t*8+n}else e.lastIntValue=t;return!0}return!1},Z.regexp_eatOctalDigit=function(e){var t=e.current();return Uo(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Uo(e){return e>=48&&e<=55}Z.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var i=e.current();if(!Vo(i))return e.pos=n,!1;e.lastIntValue=16*e.lastIntValue+Ho(i),e.advance()}return!0};var Wo=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new ja(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},Q=Qa.prototype;Q.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword `+this.type.keyword),this.options.onToken&&this.options.onToken(new Wo(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Q.getToken=function(){return this.next(),new Wo(this)},typeof Symbol<`u`&&(Q[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===J.eof,value:t}}}}),Q.curContext=function(){return this.context[this.context.length-1]},Q.nextToken=function(){var e=this.curContext();if((!e||!e.preserveSpace)&&this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length)return this.finishToken(J.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},Q.readToken=function(e){return pa(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},Q.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344)return e;var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888},Q.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf(`*/`,this.pos+=2);if(n===-1&&this.raise(this.pos-2,`Unterminated comment`),this.pos=n+2,this.options.locations){ba.lastIndex=t;for(var r;(r=ba.exec(this.input))&&r.index<this.pos;)++this.curLine,this.lineStart=r.index+r[0].length}this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,n),t,this.pos,e,this.curPosition())},Q.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!xa(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},Q.skipSpace=function(){loop:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break loop}break;default:if(e>8&&e<14||e>=5760&&Sa.test(String.fromCharCode(e)))++this.pos;else break loop}}},Q.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},Q.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(J.ellipsis)):(++this.pos,this.finishToken(J.dot))},Q.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(J.assign,2):this.finishOp(J.slash,1)},Q.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=e===42?J.star:J.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++n,r=J.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(J.assign,n+1):this.finishOp(r,n)},Q.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.options.ecmaVersion>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(J.assign,3):this.finishOp(e===124?J.logicalOR:J.logicalAND,2):t===61?this.finishOp(J.assign,2):this.finishOp(e===124?J.bitwiseOR:J.bitwiseAND,1)},Q.readToken_caret=function(){return this.input.charCodeAt(this.pos+1)===61?this.finishOp(J.assign,2):this.finishOp(J.bitwiseXOR,1)},Q.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||ya.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(J.incDec,2):t===61?this.finishOp(J.assign,2):this.finishOp(J.plusMin,1)},Q.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+n)===61?this.finishOp(J.assign,n+1):this.finishOp(J.bitShift,n)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(n=2),this.finishOp(J.relational,n))},Q.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(J.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(J.arrow)):this.finishOp(e===61?J.eq:J.prefix,1)},Q.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(J.questionDot,2)}if(t===63)return e>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(J.assign,3):this.finishOp(J.coalesce,2)}return this.finishOp(J.question,1)},Q.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(J.parenL);case 41:return++this.pos,this.finishToken(J.parenR);case 59:return++this.pos,this.finishToken(J.semi);case 44:return++this.pos,this.finishToken(J.comma);case 91:return++this.pos,this.finishToken(J.bracketL);case 93:return++this.pos,this.finishToken(J.bracketR);case 123:return++this.pos,this.finishToken(J.braceL);case 125:return++this.pos,this.finishToken(J.braceR);case 58:return++this.pos,this.finishToken(J.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(J.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(J.prefix,1)}this.raise(this.pos,`Unexpected character '`+qo(e)+`'`)},Q.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},Q.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,`Unterminated regular expression`);var r=this.input.charAt(this.pos);if(ya.test(r)&&this.raise(n,`Unterminated regular expression`),e)e=!1;else{if(r===`[`)t=!0;else if(r===`]`&&t)t=!1;else if(r===`/`&&!t)break;e=r===`\\`}++this.pos}var i=this.input.slice(n,this.pos);++this.pos;var a=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(a);var s=this.regexpState||=new Ao(this);s.reset(n,i,o),this.validateRegExpFlags(s),this.validateRegExpPattern(s);var c=null;try{c=new RegExp(i,o)}catch{}return this.finishToken(J.regexp,{pattern:i,flags:o,value:c})},Q.readInt=function(e,t,n){for(var r=this.options.ecmaVersion>=12&&t===void 0,i=n&&this.input.charCodeAt(this.pos)===48,a=this.pos,o=0,s=0,c=0,l=t??1/0;c<l;++c,++this.pos){var u=this.input.charCodeAt(this.pos),d=void 0;if(r&&u===95){i&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed in legacy octal numeric literals`),s===95&&this.raiseRecoverable(this.pos,`Numeric separator must be exactly one underscore`),c===0&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed at the first of digits`),s=u;continue}if(d=u>=97?u-97+10:u>=65?u-65+10:u>=48&&u<=57?u-48:1/0,d>=e)break;s=u,o=o*e+d}return r&&s===95&&this.raiseRecoverable(this.pos-1,`Numeric separator is not allowed at the last of digits`),this.pos===a||t!=null&&this.pos-a!==t?null:o};function Go(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,``))}function Ko(e){return typeof BigInt==`function`?BigInt(e.replace(/_/g,``)):null}Q.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return n??this.raise(this.start+2,`Expected number in radix `+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(n=Ko(this.input.slice(t,this.pos)),++this.pos):pa(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(J.num,n)},Q.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,`Invalid number`);var n=this.pos-t>=2&&this.input.charCodeAt(t)===48;n&&this.strict&&this.raise(t,`Invalid number`);var r=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&r===110){var i=Ko(this.input.slice(t,this.pos));return++this.pos,pa(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(J.num,i)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),r===46&&!n&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!n&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,`Invalid number`)),pa(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`);var a=Go(this.input.slice(t,this.pos),n);return this.finishToken(J.num,a)},Q.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var n=++this.pos;t=this.readHexChar(this.input.indexOf(`}`,this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(n,`Code point out of bounds`)}else t=this.readHexChar(4);return t};function qo(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}Q.readString=function(e){for(var t=``,n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated string constant`);var r=this.input.charCodeAt(this.pos);if(r===e)break;r===92?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):(xa(r,this.options.ecmaVersion>=10)&&this.raise(this.start,`Unterminated string constant`),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(J.string,t)};var Jo={};Q.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Jo)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},Q.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Jo;this.raise(e,t)},Q.readTmplToken=function(){for(var e=``,t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated template`);var n=this.input.charCodeAt(this.pos);if(n===96||n===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===J.template||this.type===J.invalidTemplate)?n===36?(this.pos+=2,this.finishToken(J.dollarBraceL)):(++this.pos,this.finishToken(J.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(J.template,e));if(n===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(xa(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
92
+ `;break;default:e+=String.fromCharCode(n);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else ++this.pos}},Q.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case"`":return this.finishToken(J.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,`Unterminated template`)},Q.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`
93
+ `;case 114:return`\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return qo(this.readCodePoint());case 116:return` `;case 98:return`\b`;case 118:return`\v`;case 102:return`\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(e){var n=this.pos-1;return this.invalidStringToken(n,`Invalid escape sequence in template string`),null}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),(r!==`0`||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-r.length,e?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(i)}return xa(t)?``:String.fromCharCode(t)}},Q.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return n===null&&this.invalidStringToken(t,`Bad character escape sequence`),n},Q.readWord1=function(){this.containsEsc=!1;for(var e=``,t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(ma(i,r))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,e+=this.input.slice(n,this.pos);var a=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\uXXXX`),++this.pos;var o=this.readCodePoint();(t?pa:ma)(o,r)||this.invalidStringToken(a,`Invalid Unicode escape`),e+=qo(o),n=this.pos}else break;t=!1}return e+this.input.slice(n,this.pos)},Q.readWord=function(){var e=this.readWord1(),t=J.name;return this.keywords.test(e)&&(t=va[e]),this.finishToken(t,e)},Qa.acorn={Parser:Qa,version:`7.4.1`,defaultOptions:Na,Position:Aa,SourceLocation:ja,getLineInfo:Ma,Node:ho,TokenType:K,tokTypes:J,keywordTypes:va,TokContext:vo,tokContexts:yo,isIdentifierChar:ma,isIdentifierStart:pa,Token:Wo,isNewLine:xa,lineBreak:ya,lineBreakG:ba,nonASCIIwhitespace:Sa};function Yo(e,t){return Qa.parse(e,t)}function Xo(e){return[`ArrayOrObject1D`,`ArrayOrObject2D`,`ArrayOrObject3DPlus`,`Literal`,`Symbol`,`UnaryOperation`,`BinaryOperation`,`Random`,`CallDefinedFunction`,`AnyFunction`,`ConditionalExpression`,`ArrayExpression`,`ObjectExpression`].includes(e.type)}function Zo(e){return e.type===`Program`?e.body.map(e=>$(e)):[$(e)]}function $(e){switch(e.type){case`Program`:return ms(e);case`ExpressionStatement`:return hs(e);case`AssignmentExpression`:return gs(e);case`MemberExpression`:return ys(e);case`UnaryExpression`:return _s(e);case`BinaryExpression`:return vs(e);case`Identifier`:return bs(e);case`Literal`:return xs(e);case`CallExpression`:return ls(e);case`IfStatement`:return cs(e);case`BlockStatement`:return ss(e);case`FunctionDeclaration`:return Qo(e);case`ForStatement`:return os(e);case`BreakStatement`:return is(e);case`ReturnStatement`:return as(e);case`ContinueStatement`:return rs(e);case`UpdateExpression`:return $o(e);case`LogicalExpression`:return es(e);case`TemplateLiteral`:return ts(e);case`TemplateElement`:return ns(e);case`ConditionalExpression`:return Ss(e);case`Property`:return Cs(e);case`ObjectExpression`:return ws(e);case`ArrayExpression`:return Ts(e);default:throw console.log(e),Error(`未定義の AST ノードです :`+e.type)}}function Qo(e){return{type:`DefinedFunction`,functionName:e.id.name,body:$(e.body)}}function $o(e){return{type:`UpdateExpression`,operator:e.operator,argument:$(e.argument)}}function es(e){return{type:`LogicalExpression`,operator:e.operator,left:$(e.left),right:$(e.right)}}function ts(e){return{type:`TemplateLiteral`,expressions:e.expressions.map(e=>$(e)),quasis:e.quasis.map(e=>$(e))}}function ns(e){return{type:`TemplateElement`,value:e.value}}function rs(e){return{type:`Continue`,label:e.label}}function is(e){return{type:`Break`,label:e.label}}function as(e){return{type:`Return`,argument:$(e.argument)}}function os(e){return{type:`ForStatement`,body:e.body.body.map(e=>$(e)),init:$(e.init),test:$(e.test),update:$(e.update)}}function ss(e){return{type:`BlockStatement`,value:e.body.map(e=>$(e))}}function cs(e){return{type:`IfStatement`,consequent:$(e.consequent),test:$(e.test),alternate:e.alternate?$(e.alternate):void 0}}function ls(e){let t=e.callee.name;switch(t){case`RAND`:return ps(e.arguments);case`JUMPGATE`:return fs(e.arguments);case`MSG`:case`MESSAGE`:return ds(e.arguments);case`MUSIC`:case`SOUND`:case`BGM_STOP`:case`STOP_BGM`:case`SOUND_STOP`:case`STOP_SOUND`:case`ALL_SOUND_STOP`:case`STOP_ALL_SOUND`:case`SAVE`:case`LOG`:case`ABLE_CHANGE_SPEED`:case`SET_SPEED`:case`CHANGE_GAMEOVER_POS`:case`DEL_PLAYER`:case`RESTART_GAME`:case`URL_JUMPGATE`:case`HIDE_STATUS`:case`PARTS`:case`FACE`:case`EFFECT`:case`CHANGE_PLAYER_IMAGE`:case`CHANGE_PLAYER_IMG`:case`HAS_ITEM`:case`REMOVE_ITEM`:case`MOVE`:case`PARTS_MOVE`:case`IS_PLAYER_WAITING_MESSAGE`:case`GET_UNIXTIME`:case`GET_DATE_YEAR`:case`GET_DATE_MONTH`:case`GET_DATE_DAY`:case`GET_DATE_HOUR`:case`GET_DATE_MINUTES`:case`GET_DATE_SECONDS`:case`GET_DATE_MILLISECONDS`:case`GET_DATE_WEEKDAY`:case`CHANGE_SYSMSG`:case`PICTURE`:case`PICTURE_FROM_PARTS`:case`CLEAR_ALL_PICTURES`:case`HAS_PICTURE`:case`SHOW_USER_DEF_VAR`:case`ABS`:case`GET_GAMEOVER_POS_X`:case`GET_GAMEOVER_POS_Y`:case`ABORT_BATTLE`:case`EXIT`:case`GET_IMG_POS_X`:case`GET_IMG_POS_Y`:case`LENGTH`:case`IS_NUMBER`:case`COLOR`:case`EFFITEM`:case`CHANGE_BOM_IMG`:case`CHANGE_BOM_IMAGE`:case`CHANGE_CLICK_IMAGE`:case`CHANGE_CLICK_IMG`:case`CHANGE_FRAME_IMAGE`:case`CHANGE_FRAME_IMG`:case`CHANGE_YESNO_IMAGE`:case`CHANGE_YESNO_IMG`:case`NO_GAMEOVER`:case`DEFAULT`:case`DIR_MAP`:case`CHANGE_SOUND_ATTACK`:case`CHANGE_SOUND_DECISION`:return us(e.arguments,t);default:return{type:`CallDefinedFunction`,functionName:t}}}function us(e,t){return{type:`AnyFunction`,functionName:t,value:e.map(e=>$(e))}}function ds(e){return{type:`Msg`,value:$(e[0])}}function fs(e){if(e.length<2)throw Error(`RAND関数には引数が2つ必要です。`);let t={x:e[0],y:e[1]};return{type:`Jumpgate`,x:$(t.x),y:$(t.y)}}function ps(e){if(e.length<1)throw Error(`RAND関数には引数が必要です。`);return{type:`Random`,value:$(e[0])}}function ms(e){if(e.body.length!==1)throw Error(`bodyが1以外の場合評価できません。`);return $(e.body[0])}function hs(e){return $(e.expression)}function gs(e){let t=$(e.left),n=$(e.right);if(!Xo(n))throw Error(`値以外を代入式の右辺に設定できません`);switch(e.operator){case`=`:case`+=`:case`-=`:case`*=`:case`/=`:if(t.type===`ArrayOrObject2D`){if(t.name===`m`||t.name===`o`)return{type:`PartsAssignment`,partsKind:t.name===`m`?`map`:`object`,destinationX:t.indecies[0],destinationY:t.indecies[1],value:n,operator:e.operator};if(t.name===`v`)return{type:`UserVariableAssignment`,index:[t.indecies[0],t.indecies[1]],value:n,operator:e.operator};throw Error(`想定していない記号が2次元配列ででてきました`)}else if(t.type===`ArrayOrObject1D`){if(t.name===`ITEM`)return{type:`ItemAssignment`,itemBoxPosition1to12:t.indecies[0],value:n,operator:e.operator};if(t.name===`v`)return{type:`UserVariableAssignment`,index:[t.indecies[0]],value:n,operator:e.operator};if(t.name===`LP`)return{type:`LoopPointerAssignment`,index:t.indecies[0],value:n,operator:e.operator};throw Error(`1次元配列にて想定していないシンボルが指定されました ${t.name}`)}else if(t.type===`Symbol`){if(t.name===`m`||t.name===`o`||t.name===`v`||t.name===`ITEM`||t.name===`X`||t.name===`Y`||t.name===`ID`||t.name===`TYPE`||t.name===`CX`||t.name===`CY`||t.name===`PICTURE`||t.name===`PLAYER_PX`||t.name===`PLAYER_PY`||t.name===`MOVE_SPEED`||t.name===`MOVE_FRAME_TIME`||t.name===`LP`||t.name===`undefined`)throw Error(`このシンボルには代入できません`);if(t.name===`AT_TOTAL`)throw Error(`"装備品込みの攻撃力(AT_TOTAL)への代入はできません。"`);if(t.name===`DF_TOTAL`)throw Error(`"装備品込みの防御力(DF_TOTAL)への代入はできません。"`);if(t.name===`ENEMY_HP`||t.name===`ENEMY_AT`||t.name===`ENEMY_DF`||t.name===`ENEMY_GD`)throw Error(`敵ステータス (ENEMY_HP, ENEMY_AT, ENEMY_DF, ENEMY_GD) への代入はできません。`);return{type:`SpecialParameterAssignment`,kind:t.name,value:n,operator:e.operator}}else if(t.type===`Literal`)throw Error(`数値には代入できません`);else if(t.type===`ArrayOrObject3DPlus`&&t.name===`v`)return{type:`UserVariableAssignment`,index:t.indecies,value:n,operator:e.operator};else throw Error(`代入できません`);default:throw Error(`想定していないオペレーターです`)}}function _s(e){let t=$(e.argument);if(![`+`,`-`,`!`].includes(e.operator))throw Error(`未定義の演算子です :`+e.operator);if(!Xo(t))throw Error(`単項演算子が適用できません`);return{type:`UnaryOperation`,operator:e.operator,argument:t}}function vs(e){let t=$(e.left),n=$(e.right);if(!Xo(t)||!Xo(n))throw Error(`左辺または右辺が評価不能です`);switch(e.operator){case`+`:case`-`:case`*`:case`/`:case`%`:case`>`:case`<`:case`>=`:case`<=`:case`==`:case`!=`:return{type:`BinaryOperation`,operator:e.operator,left:t,right:n};default:throw Error(`未定義の演算子です :`+e.operator)}}function ys(e){let t=$(e.object),n=$(e.property);if(t.type===`Symbol`){if(![`v`,`m`,`o`,`ITEM`,`LP`,`PICTURE`].includes(t.name))throw Error(`このシンボルは配列にできません`);if(Xo(n))return{type:`ArrayOrObject1D`,name:t.name,indecies:[n]};throw Error(`WWAでは存在しない構文です`)}else if(t.type===`ArrayOrObject1D`){if(t.name===`ITEM`||t.name===`PICTURE`)throw Error(`この配列は2次元以上にはできません。`);if(Xo(n))return{type:`ArrayOrObject2D`,name:t.name,indecies:[...t.indecies,n]};throw Error(`WWAでは存在しない構文です`)}else if(t.type===`ArrayOrObject2D`||t.type===`ArrayOrObject3DPlus`){if(t.name===`m`||t.name===`o`)throw Error(`この配列は3次元以上にはできません。`);if(t.name===`v`&&Xo(n))return{type:`ArrayOrObject3DPlus`,name:t.name,indecies:[...t.indecies,n]}}else throw Error(`WWAでは存在しない構文です`)}function bs(e){switch(e.name){case`m`:case`o`:case`ITEM`:case`X`:case`Y`:case`ID`:case`TYPE`:case`PX`:case`PY`:case`CX`:case`CY`:case`v`:case`HP`:case`HPMAX`:case`AT`:case`AT_TOTAL`:case`DF`:case`DF_TOTAL`:case`GD`:case`STEP`:case`TIME`:case`PDIR`:case`i`:case`j`:case`k`:case`LOOPLIMIT`:case`ITEM_ID`:case`ITEM_POS`:case`ENEMY_HP`:case`ENEMY_AT`:case`ENEMY_DF`:case`PICTURE`:case`PLAYER_PX`:case`PLAYER_PY`:case`MOVE_SPEED`:case`MOVE_FRAME_TIME`:case`LP`:case`undefined`:return{type:`Symbol`,name:e.name};default:return{type:`Literal`,value:e.name}}}function xs(e){return{type:`Literal`,value:e.value}}function Ss(e){let t=$(e.consequent),n=$(e.alternate);return{type:`ConditionalExpression`,consequent:t,test:$(e.test),alternate:n}}function Cs(e){let t=$(e.key);if(t.type===`Symbol`)throw Error(`Object のキー ${t.name} は予約されているため、使用できません。`);if(t.type!==`Literal`)throw Error(`Object のキーが不正です。 Literal を期待していましたが、実際は ${t.type} でした。`);return{type:`Property`,key:t,value:$(e.value)}}function ws(e){return{type:`ObjectExpression`,properties:e.properties.map(Cs)}}function Ts(e){return{type:`ArrayExpression`,elements:e.elements.map($)}}var Es=[A.OBJECT,A.MAP];function Ds(e){switch(typeof e){case`object`:if(e===null)break;return Array.isArray(e)?e.length:Object.keys(e).length;case`string`:return e.length}throw Error(`LENGTH: 対応できない値が指定されています。`)}var Os=(e,t)=>(e-t)*L.CHIP_SIZE,ks=(e,t)=>(e-t)*L.CHIP_SIZE,As=Object.freeze({"=":(e,t)=>t,"+=":(e,t)=>e+t,"-=":(e,t)=>e-t,"*=":(e,t)=>e*t,"/=":(e,t)=>e/t}),js=class{constructor(e){this.wwa=e,this.loop_limit=1e5,this.state={messagePageAdditionalQueue:[]}}setTriggerParts(e,t,n){this.state={...this.state,triggerParts:{id:e,type:t,position:n}}}clearTemporaryState(){this.state={...this.state,triggerParts:void 0,messagePageAdditionalQueue:[]}}setEarnedItem(e,t){this.state={...this.state,earnedItem:{partsId:e,itemPos1To12:t}}}clearEarnedItem(){this.state={...this.state,earnedItem:void 0}}setBattleDamageCalculationMode(e){this.state={...this.state,battleDamageCalculation:{estimatingParams:e}}}clearBattleDamageCalculationMode(){this.state={...this.state,battleDamageCalculation:void 0}}evalWwaNodes(e){return this.evalWwaNode({type:`BlockStatement`,value:e})}evalWwaNode(e){if(!(e.type===`BlockStatement`&&Array.isArray(e.value)&&e.value.length===0))try{return new Ms(this).evalWwaNode(e)}catch(e){if(e instanceof Ns||e instanceof Ps)return e.value;throw e}}addPageAdditionalItem(e){this.state.messagePageAdditionalQueue.push(e)}pickPageAdditionalQueue(){let e=[...this.state.messagePageAdditionalQueue];return this.state.messagePageAdditionalQueue=[],e}updateLoopLimit(e){this.loop_limit=e}},Ms=class{constructor(e){this.generator=e,this.for_id={i:null,j:null,k:null,LP:[],loopCount:0,break_flag:!1,continue_flag:!1}}evalWwaNodes(e){let t;return e.forEach(e=>{t=this.evalWwaNode(e)}),t}evalWwaNode(e){if(!(this.for_id.break_flag||this.for_id.continue_flag))switch(e.type){case`UnaryOperation`:return this.evalUnaryOperation(e);case`BinaryOperation`:return this.evalBinaryOperation(e);case`Symbol`:return this.evalSymbol(e);case`ArrayOrObject1D`:return this.evalArrayOrObject1D(e);case`ArrayOrObject2D`:return this.evalArrayOrObject2D(e);case`ArrayOrObject3DPlus`:return this.evalArrayOrObject3DPlus(e);case`Literal`:return this.evalLiteral(e);case`UserVariableAssignment`:return this.evalSetUserVariable(e);case`SpecialParameterAssignment`:return this.evalSetSpecialParameter(e);case`Random`:return this.evalRandom(e);case`Jumpgate`:return this.evalJumpgate(e);case`Msg`:return this.evalMessage(e);case`ItemAssignment`:return this.itemAssignment(e);case`IfStatement`:return this.ifStatement(e);case`BlockStatement`:return this.blockStatement(e);case`PartsAssignment`:return this.partsAssignment(e);case`ForStatement`:return this.forStateMent(e);case`AnyFunction`:return this.wrapCallFunction(e,e=>this.evalAnyFunction(e));case`CallDefinedFunction`:return this.wrapCallFunction(e,e=>this.callDefinedFunction(e));case`Break`:return this.breakStatement(e);case`Return`:throw new Ns(this.returnStatement(e));case`Continue`:return this.contunueStatment(e);case`UpdateExpression`:return this.updateExpression(e);case`LogicalExpression`:return this.logicalExpression(e);case`TemplateLiteral`:return this.convertTemplateLiteral(e);case`ConditionalExpression`:return this.convertConditionalExpression(e);case`Property`:return this.property(e);case`ObjectExpression`:return this.objectExpression(e);case`ArrayExpression`:return this.arrayExpression(e);case`LoopPointerAssignment`:return this.convertLoopPointerExpression(e);default:throw console.log(e),Error(`未定義または未実装のノードです`)}}wrapCallFunction(e,t){try{return t(e)}catch(e){if(e instanceof Ns)return e.value;throw e}}callDefinedFunction(e){let t=this.generator.wwa.getUserScript(e.functionName);if(t===null)throw Error(`未定義の関数が呼び出されました: ${e.functionName}`);return this.evalWwaNode(t)}updateExpression(e){if(e.argument.type!==`ArrayOrObject1D`&&e.argument.type!==`ArrayOrObject2D`&&e.argument.type!==`Symbol`)throw Error(`node.argument.typeが インクリメント/デクリメントできる対象ではありません。: ${e.argument.type}`);let t=t=>{switch(e.operator){case`++`:return t+1;case`--`:return t-1;default:throw Error(`想定外のOperatorが渡されました :`+e.operator)}},n=this.evalWwaNode(e.argument),r={type:`Literal`,value:t(n)};switch(e.argument.type){case`ArrayOrObject1D`:if(e.argument.name===`v`)this.evalSetUserVariable({type:`UserVariableAssignment`,index:[e.argument.indecies[0]],value:r});else if(e.argument.name===`ITEM`)this.itemAssignment({type:`ItemAssignment`,itemBoxPosition1to12:e.argument.indecies[0],value:r});else if(e.argument.name===`LP`)this.convertLoopPointerExpression({type:`LoopPointerAssignment`,index:e.argument.indecies[0],value:r,operator:`=`});else throw Error(`このリテラルはインクリメント/デクリメントできません: ${e.argument.type}`);break;case`ArrayOrObject2D`:{let t={type:`PartsAssignment`,destinationX:e.argument.indecies[0],destinationY:e.argument.indecies[1],value:r,operator:`=`};if(e.argument.name===`m`)this.partsAssignment({...t,partsKind:`map`});else if(e.argument.name===`o`)this.partsAssignment({...t,partsKind:`object`});else throw Error(`このリテラルはインクリメント/デクリメントできません: ${e.argument.type}`);break}case`Symbol`:{let t={type:`SpecialParameterAssignment`,kind:e.argument.name,value:r};this.evalSetSpecialParameter(t);break}}return n}logicalExpression(e){let t=this.evalWwaNode(e.left),n=this.evalWwaNode(e.right);switch(e.operator){case`||`:return t||n;case`&&`:return t&&n;default:throw Error(`存在しない論理式です!: `+e.operator)}}convertTemplateLiteral(e){let t=e.expressions.map(e=>this.evalWwaNode(e)),n=e.quasis.map(e=>e.value.cooked),r=``;return n.forEach((e,n)=>{r+=e,t[n]!==void 0&&(r+=t[n])}),r}contunueStatment(e){this.for_id.continue_flag=!0}breakStatement(e){this.for_id.break_flag=!0}returnStatement(e){return this.evalWwaNode(e.argument)}forStateMent(e){let t=e.init;for((()=>{if(`kind`in t)switch(t.kind){case`i`:if(this.for_id.i!==null)throw Error(`iの値が既に外側のforループで使われています。`);break;case`j`:if(this.for_id.j!==null)throw Error(`jの値が既に外側のforループで使われています。`);break;case`k`:if(this.for_id.k!==null)throw Error(`kの値が既に外側のforループで使われています。`);break;default:throw console.log(e),Error(`予想外の変数がfor文内で使用されました :`+t.kind)}else switch(t.type){case`LoopPointerAssignment`:let n=Number(this.evalWwaNode(t.index));if(Number.isNaN(n))throw Error(`LPのIndex値はNumberでないといけません。: ${n}`);if(this.for_id.LP[n]!==null&&this.for_id.LP[n]!==void 0)throw Error(`LP[${n}]の値が既に外側のforループで使われています。`);break;default:throw console.log(e),Error(`予想外の1次元配列がfor文内で使用されました :`+t)}this.evalWwaNode(e.init)})();this.evalWwaNode(e.test);this.evalWwaNode(e.update)){if(this.for_id.loopCount++,this.for_id.loopCount>this.generator.loop_limit)throw Error(`処理回数が多すぎます!
94
+ 上限値は LOOPLIMIT で変えられます。`);if(this.for_id.break_flag||!this.evalWwaNode(e.test))break;this.evalWwaNodes(e.body),this.for_id.continue_flag=!1}if(this.for_id.break_flag=!1,`kind`in t)switch(t.kind){case`i`:this.for_id.i=null;break;case`j`:this.for_id.j=null;break;case`k`:this.for_id.k=null;break}else switch(t.type){case`LoopPointerAssignment`:let e=Number(this.evalWwaNode(t.index));this.for_id.LP[e]=null;break}}_checkArgsLength(e,t){if(t.value.length<e)throw Error(`関数 ${t.functionName} の引数が不足しています!`)}evalAnyFunction(e){let t=this.generator.wwa.getGameStatus();switch(e.functionName){case`MUSIC`:case`SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]),n=e.value[1]?this.evalWwaNode(e.value[1]):void 0,r=e.value[2]?this.evalWwaNode(e.value[2]):!1;return this.generator.wwa.playSound(t,{loopPlaying:n,bgmDelayDurationMs:r>=0?r:void 0}),t}case`BGM_STOP`:case`STOP_BGM`:this.generator.wwa.stopBgm();return;case`SOUND_STOP`:case`STOP_SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);return this.generator.wwa.stopSound(t,{includeBgm:!0}),t}case`STOP_SOUNDS`:case`ALL_SOUND_STOP`:case`STOP_ALL_SOUND`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.stopAllSound({includeBgm:!!t});return}case`SAVE`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);return this.generator.wwa.disableSave(t),t}case`LOG`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);console.log(t instanceof Map?d(t):t);return}case`ABLE_CHANGE_SPEED`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);return this.generator.wwa.speedChangeJudge(t),t}case`SET_SPEED`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));this.generator.wwa.setPlayerSpeedIndex(t);return}case`CHANGE_GAMEOVER_POS`:{this._checkArgsLength(2,e);let t={x:Number(this.evalWwaNode(e.value[0])),y:Number(this.evalWwaNode(e.value[1]))};if(t.x<0||t.x>=this.generator.wwa.getMapWidth()||t.y<0||t.y>this.generator.wwa.getMapWidth())throw Error(`マップの範囲外が指定されています!`);this.generator.wwa.setGameOverPosition(new S(t.x,t.y));return}case`DEL_PLAYER`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.setDelPlayer(t);return}case`RESTART_GAME`:this.generator.wwa.restartGame();return;case`URL_JUMPGATE`:throw Error(`URL_JUMPGATE 関数は調整中のためご利用になれません`);case`HIDE_STATUS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=!!this.evalWwaNode(e.value[1]);this.generator.wwa.hideStatus(t,n);return}case`PARTS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=e.value[2]?Number(this.evalWwaNode(e.value[2])):0,i=e.value[3]?!!this.evalWwaNode(e.value[3]):!1;if(t<0||n<0)throw Error(`パーツ番号が不正です`);if(!Es.includes(r))throw Error(`パーツ種別が不明です`);this.generator.wwa.replaceParts(t,n,r,i);return}case`FACE`:{this._checkArgsLength(6,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2])),i=Number(this.evalWwaNode(e.value[3])),a=Number(this.evalWwaNode(e.value[4])),o=Number(this.evalWwaNode(e.value[5]));if(t<0||n<0||r<0||i<0||a<0||o<0)throw Error(`各引数は0以上の整数でなければなりません。`);this.generator.addPageAdditionalItem({type:`face`,data:{face:new ee(new S(t,n),new S(r,i),new S(a,o))}});return}case`EFFECT`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));if(t<0)throw Error(`待ち時間は0以上の整数でなければなりません。`);if(t===0){this.generator.wwa.stopEffect();return}let n=[];for(let t=1;t<e.value.length;t+=2){let r=Number(this.evalWwaNode(e.value[t]));if(r<0)throw Error(`画像のパーツ座標指定は0以上の整数でなければなりません。`);if(t+1===e.value.length)throw Error(`画像のパーツ座標指定で、Y座標が指定されていません。`);let i=Number(this.evalWwaNode(e.value[t+1]));if(i<0)throw Error(`画像のパーツ座標指定は0以上の整数でなければなりません。`);n.push(new S(r,i))}this.generator.wwa.setEffect(t,n);return}case`CHANGE_PLAYER_IMAGE`:case`CHANGE_PLAYER_IMG`:{this._checkArgsLength(2,e);let t=new S(Number(this.evalWwaNode(e.value[0])),Number(this.evalWwaNode(e.value[1])));this.generator.wwa.setPlayerImgCoord(t);return}case`HAS_ITEM`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0]));return t.itemBox.includes(n)}case`REMOVE_ITEM`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0])),r=e.value[1]?this.evalWwaNode(e.value[1])===1:!1,i=0;for(let e=0;e<t.itemBox.length;e++)if(n===t.itemBox[e]&&(this.generator.wwa.setPlayerGetItem(e+1,0),i++,!r))return i;return i}case`MOVE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));if(t<=0||t>9)throw Error(`MOVEの移動先は2/4/6/8で指定してください!`);return this.generator.wwa.movePlayer(t),this.generator.wwa.movePlayer(t),0}case`PARTS_MOVE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));return this.generator.wwa.setMoveMacroWaitingToPlayer(t),0}case`IS_PLAYER_WAITING_MESSAGE`:return this.generator.wwa.isPlayerWaitingMessage();case`GET_UNIXTIME`:return Math.floor(new Date().getTime()/1e3);case`GET_DATE_YEAR`:return new Date().getFullYear();case`GET_DATE_MONTH`:return new Date().getMonth()+1;case`GET_DATE_DAY`:return new Date().getDate();case`GET_DATE_HOUR`:return new Date().getHours();case`GET_DATE_MINUTES`:return new Date().getMinutes();case`GET_DATE_SECONDS`:return new Date().getSeconds();case`GET_DATE_MILLISECONDS`:return new Date().getMilliseconds();case`GET_DATE_WEEKDAY`:return new Date().getDay();case`SHOW_USER_DEF_VAR`:console.log(this.generator.wwa.getAllUserNameVar());return;case`CHANGE_SYSMSG`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]),n=e.value.length>=2?this.evalWwaNode(e.value[1]):void 0,r=this.resolveSystemMessageKeyFromMacroArg(t);if(!r)throw Error(`このIDのシステムメッセージは未定義です。`);if(typeof n==`number`||typeof n==`string`||typeof n==`boolean`)this.generator.wwa.overwriteSystemMessage(r,String(n));else if(n==null)this.generator.wwa.overwriteSystemMessage(r,void 0);else throw Error(`この値は文字列に変換できないため、システムメッセージを表示できません。`);break}case`PICTURE`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=e.value.length>=2?this.evalWwaNode(e.value[1]):void 0;if(n===void 0){this.generator.wwa.deletePictureRegistry(t);return}if(n instanceof Map)this.generator.wwa.setPictureRegistryFromObject(t,d(n));else if(typeof n==`string`)this.generator.wwa.setPictureRegistryFromRawText(t,n);else throw Error(`ピクチャのプロパティ定義は文字列あるいはオブジェクトである必要があります。`);break}case`PICTURE_FROM_PARTS`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(n===0){this.generator.wwa.deletePictureRegistry(t);return}let r=e.value.length>=3?Number(this.evalWwaNode(e.value[2])):A.OBJECT;if(!Es.includes(r))throw Error(`パーツ種別が不明です`);let i=this.generator.wwa.getGameStatus();this.generator.wwa.setPictureRegistry(t,n,r,i.playerCoord);break}case`CLEAR_ALL_PICTURES`:this.generator.wwa.clearAllPictures();break;case`HAS_PICTURE`:{this._checkArgsLength(1,e);let n=Number(this.evalWwaNode(e.value[0]));return t.wwaData.pictureRegistry.some(e=>e.layerNumber===n)}case`ABS`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0]));return Math.abs(t)}case`GET_GAMEOVER_POS_X`:return this.generator.wwa.getGemeOverPosition().x;case`GET_GAMEOVER_POS_Y`:return this.generator.wwa.getGemeOverPosition().y;case`ABORT_BATTLE`:throw this.generator.state.battleDamageCalculation&&(this.generator.state.battleDamageCalculation.aborted=!0),new Ps(`ABORT_BATTLE`);case`EXIT`:throw new Ps(`EXIT`,this.evalWwaNode(e.value[0]));case`GET_IMG_POS_X`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=(e.value[1]===void 0?0:Number(this.evalWwaNode(e.value[1])))===0?A.OBJECT:A.MAP;if(n===A.OBJECT){let n=e.value[2]===void 0?!0:Number(this.evalWwaNode(e.value[2]))===0,r=this.generator.wwa.getObjectInfo(t),i=n?r[L.ATR_X]:r[L.ATR_X2];return Math.floor(i/L.CHIP_SIZE)}else if(n===A.MAP){let e=this.generator.wwa.getMapInfo(t)[L.ATR_X];return Math.floor(e/L.CHIP_SIZE)}throw Error(`GET_IMG_POS_X: 指定したIDのパーツのTypeが異常です。`)}case`GET_IMG_POS_Y`:{this._checkArgsLength(1,e);let t=Number(this.evalWwaNode(e.value[0])),n=(e.value[1]===void 0?0:Number(this.evalWwaNode(e.value[1])))===0?A.OBJECT:A.MAP;if(n===A.OBJECT){let n=e.value[2]===void 0?!0:Number(this.evalWwaNode(e.value[2]))===0,r=this.generator.wwa.getObjectInfo(t),i=n?r[L.ATR_Y]:r[L.ATR_Y2];return Math.floor(i/L.CHIP_SIZE)}else if(n===A.MAP){let e=this.generator.wwa.getMapInfo(t)[L.ATR_Y];return Math.floor(e/L.CHIP_SIZE)}throw Error(`GET_IMG_POS_Y: 指定したIDのパーツのTypeが異常です。`)}case`LENGTH`:return this._checkArgsLength(1,e),Ds(this.evalWwaNode(e.value[0]));case`IS_NUMBER`:return this._checkArgsLength(1,e),typeof this.evalWwaNode(e.value[0])==`number`;case`COLOR`:{this._checkArgsLength(4,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2])),i=Number(this.evalWwaNode(e.value[3]));if(t<0||t>5)throw Error(`種別は0から5までです`);if(n<0||n>255||r<0||r>255||i<0||i>255)throw Error(`色が範囲外です`);this.generator.wwa.changeStyleRule(t,n,r,i);return}case`EFFITEM`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.updateItemEffectEnabled(t);return}case`CHANGE_BOM_IMAGE`:case`CHANGE_BOM_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(t<0||n<0)throw Error(`座標は0以上の整数ではありません`);this.generator.wwa.setBattleEffectCoord(new S(t,n));return}case`CHANGE_CLICK_IMAGE`:case`CHANGE_CLICK_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));if(t<0||n<0)throw Error(`引数が0以上の整数ではありません`);this.generator.wwa.setImgClick(new S(t,n));return}case`CHANGE_FRAME_IMAGE`:case`CHANGE_FRAME_IMG`:{this._checkArgsLength(3,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2]));if(n<0||r<0)throw Error(`座標は正でなければなりません。`);switch(t){case de.ENERGY:case de.STRENGTH:case de.DEFENCE:case de.GOLD:this.generator.wwa.setStatusIconCoord(t,new S(n,r));break;case de.WIDE_CELL_ROW:this.generator.wwa.setWideCellCoord(new S(n,r));break;case de.ITEM_BG:this.generator.wwa.setItemboxBackgroundPosition({x:n,y:r});break;case de.MAIN_FRAME:this.generator.wwa.setFrameCoord(new S(n,r));break;default:throw Error(`種別が不正です。`)}return}case`CHANGE_YESNO_IMAGE`:case`CHANGE_YESNO_IMG`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1]));this.generator.wwa.setYesNoImgCoord(new S(t,n));return}case`NO_GAMEOVER`:{this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.setGameOverPolicy(t);return}case`DEFAULT`:{this._checkArgsLength(1,e);let t=!!this.evalWwaNode(e.value[0]);this.generator.wwa.setObjectNotCollapseOnPartsOnPlayer(t);return}case`DIR_MAP`:{this._checkArgsLength(2,e);let t=Number(this.evalWwaNode(e.value[0])),n=Number(this.evalWwaNode(e.value[1])),r=e.value[2]===void 0?A.OBJECT:Number(this.evalWwaNode(e.value[2]));if(t<0)throw Error(`パーツ番号が不正です`);if(r===A.OBJECT){if(t>=this.generator.wwa.getObjectPartsNum())throw Error(`パーツ番号が不正です`)}else if(t>=this.generator.wwa.getMapPartsNum())throw Error(`パーツ番号が不正です`);this.generator.wwa.appearPartsByDirection(n,t,r);return}case`CHANGE_SOUND_DECISION`:if(this.generator.wwa.getSoundEnabled()){this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.checkSoundEnabled(t),this.generator.wwa.setDecisionSound(t)}return;case`CHANGE_SOUND_ATTACK`:if(this.generator.wwa.getSoundEnabled()){this._checkArgsLength(1,e);let t=this.evalWwaNode(e.value[0]);this.generator.wwa.checkSoundEnabled(t),this.generator.wwa.setAttackSound(t)}return;default:throw Error(`未定義の関数が指定されました: `+e.functionName)}}resolveSystemMessageKeyFromMacroArg(e){if(typeof e==`string`)return v(e)?e:void 0;if(typeof e==`number`)return y(e)}partsAssignment(e){let t=this.generator.wwa.getGameStatus(),n=this.evalWwaNode(e.destinationX),r=this.evalWwaNode(e.destinationY);if(typeof n!=`number`||typeof r!=`number`)throw Error(`座標は数値で指定してください (${n}, ${r})`);new C(this.generator.wwa,n,r);let i=e.partsKind===`map`?A.MAP:A.OBJECT,a=this.resolveParts(i,n,r),o=this.evalWwaNode(e.value);switch(e.operator){case`=`:case`+=`:case`-=`:case`*=`:case`/=`:{let s=As[e.operator](a,o)|0;if(s<0)throw Error(`負値のパーツ番号 ${s} は代入できません`);this.generator.wwa.appearPartsEval(t.playerCoord,`${n}`,`${r}`,s,i);break}default:throw Error(`演算子 ${e.operator} は partsAssignment では使えません`)}}resolveParts(e,t,n){let r=this.generator.wwa.getGameStatus();switch(e){case A.MAP:return r.wwaData.map[n][t];case A.OBJECT:return r.wwaData.mapObject[n][t];default:throw Error(`存在しないPartsTypeです`,e)}}blockStatement(e){return this.evalWwaNodes(e.value)}ifStatement(e){if(this.evalWwaNode(e.test))return this.evalWwaNode(e.consequent);if(e.alternate)return this.evalWwaNode(e.alternate)}convertConditionalExpression(e){let t=this.evalWwaNode(e.test)?e.consequent:e.alternate;return this.evalWwaNode(t)}property(e){let t=this.evalWwaNode(e.key);if(!f(t))throw Error(`オブジェクトのキーはプリミティブ値でなければなりません。: ${t}`);return[String(this.evalWwaNode(e.key)),this.evalWwaNode(e.value)]}objectExpression(e){let t=e.properties.map(e=>this.evalWwaNode(e));return new Map(t)}arrayExpression(e){return e.elements.map(e=>this.evalWwaNode(e))}convertLoopPointerExpression(e){let t=this.evalWwaNode(e.value),n=this.evalWwaNode(e.index);switch(e.operator){case`+=`:this.for_id.LP[n]=t;break;case`-=`:this.for_id.LP[n]=t;break;case`/=`:this.for_id.LP[n]=t;break;case`*=`:this.for_id.LP[n]=t;break;default:this.for_id.LP[n]=t;break}return 0}itemAssignment(e){let t=this.evalWwaNode(e.itemBoxPosition1to12);if(typeof t!=`number`||t<0||t>12)throw Error(`ITEMの添字に想定外の値が入っています。0以上12以下の添字を指定してください。: `+t);let n=this.evalWwaNode(e.value);switch(e.operator){case`=`:this.generator.wwa.setPlayerGetItem(t,n|0);break;case`+=`:case`-=`:case`*=`:case`/=`:{if(t===0)throw Error(`複合代入では ITEM[0] への操作はできません`);let r=this.generator.wwa.getGameStatus().itemBox[t-1],i=As[e.operator](r,n)|0;if(i<0)throw Error(`負値のパーツ番号 ${i} は代入できません`);this.generator.wwa.setPlayerGetItem(t,i);break}default:throw Error(`演算子 ${e.operator} は itemAssignment では使えません`)}}evalMessage(e){let t=this.evalWwaNode(e.value),n=this.generator.pickPageAdditionalQueue();this.generator.wwa.handleMsgFunction({message:String(t),additionalItems:n})}evalJumpgate(e){let t=this.evalWwaNode(e.x),n=this.evalWwaNode(e.y);if(isNaN(t)||isNaN(n))throw Error(`飛び先の値が数値になっていません。 x=${t} / y=${n}`);this.generator.wwa.forcedJumpGate(t,n)}evalRandom(e){let t=this.evalWwaNode(e.value);return Math.floor(Math.random()*t)}evalSetSpecialParameter(e){let t=this.evalWwaNode(e.value);if(!this.generator.wwa||isNaN(t))return t;let n=this.evalSymbol({type:`Symbol`,name:e.kind});if(Array.isArray(n))throw Error(`配列Objectに対して直接代入は出来ません: ${n}`);let r=(()=>{switch(e.operator){case`+=`:return n+t;case`-=`:return n-t;case`*=`:return n*t;case`/=`:return n/t;default:return t}})();switch(e.kind){case`PX`:return this.generator.wwa.jumpSpecifiedXPos(r),r;case`PY`:return this.generator.wwa.jumpSpecifiedYPos(r),r;case`AT`:return this.generator.wwa.setPlayerStatus(ue.STRENGTH,r,!1),r;case`DF`:return this.generator.wwa.setPlayerStatus(ue.DEFENCE,r,!1),r;case`GD`:return this.generator.wwa.setPlayerStatus(ue.GOLD,r,!1),r;case`HP`:return this.generator.wwa.setPlayerStatus(ue.ENERGY,r,!1),r;case`HPMAX`:return this.generator.wwa.setPlayerEnergyMax(r),r;case`i`:return this.for_id.i=this.evalWwaNode(e.value),this.for_id.i;case`j`:return this.for_id.j=this.evalWwaNode(e.value),this.for_id.j;case`k`:return this.for_id.k=this.evalWwaNode(e.value),this.for_id.k;case`LOOPLIMIT`:{let t=this.evalWwaNode(e.value);return this.generator.updateLoopLimit(t),t}default:console.error(`未実装の要素です: `+e.kind);return}}evalSetUserVariable(e){if(e.index.length>1){let t=this.evalWwaNode(e.value),n=e.index.map(e=>this.evalWwaNode(e));this.generator.wwa.setUserVarIndecies(n,t,e.operator);return}else{let t=this.evalWwaNode(e.value);if(!this.generator.wwa)return t;let n=this.evalWwaNode(e.index[0]);return this.generator.wwa.setUserVar(n,t,e.operator),t}}evalUnaryOperation(e){switch(e.operator){case`+`:return this.evalWwaNode(e.argument);case`-`:return-this.evalWwaNode(e.argument);case`!`:return!this.evalWwaNode(e.argument);default:throw Error(`存在しない単項演算子です`)}}evalBinaryOperation(e){let t=this.evalWwaNode(e.left),n=this.evalWwaNode(e.right);switch(e.operator){case`+`:return t+n;case`-`:return t-n;case`*`:return t*n;case`/`:return n===0?0:Math.floor(t/n);case`%`:return n===0?0:t%n;case`>`:return t>n;case`>=`:return t>=n;case`<`:return t<n;case`<=`:return t<=n;case`==`:return t==n;case`!=`:return t!=n;default:throw Error(`存在しない単項演算子です`)}}evalSymbol(e){let t=this.generator.wwa.getGameStatus(),n=this.generator.wwa.getEnemyStatus();switch(e.name){case`X`:return this.generator.state.triggerParts?.position.x??t.playerCoord.x;case`Y`:return this.generator.state.triggerParts?.position.y??t.playerCoord.y;case`ID`:return this.generator.state.triggerParts?.id??-1;case`TYPE`:return this.generator.state.triggerParts?.type??-1;case`PX`:return t.playerCoord.x;case`PY`:return t.playerCoord.y;case`CX`:return t.cameraCoord.x;case`CY`:return t.cameraCoord.y;case`AT`:return t.bareStatus.strength;case`AT_TOTAL`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.strength??t.totalStatus.strength;case`DF`:return t.bareStatus.defence;case`DF_TOTAL`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.defence??t.totalStatus.defence;case`GD`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.gold??t.totalStatus.gold;case`HP`:return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.energy??t.totalStatus.energy;case`HPMAX`:return t.energyMax;case`STEP`:return t.moveCount;case`TIME`:return t.playTime;case`PDIR`:return t.playerDirection;case`i`:return this.for_id.i;case`j`:return this.for_id.j;case`k`:return this.for_id.k;case`LOOPLIMIT`:return this.generator.loop_limit;case`ITEM_ID`:return this.generator.state.earnedItem?.partsId??-1;case`ITEM_POS`:return this.generator.state.earnedItem?.itemPos1To12??-1;case`ENEMY_HP`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.energy??(typeof n==`number`?-1:n.energy);case`ENEMY_AT`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.strength??(typeof n==`number`?-1:n.strength);case`ENEMY_DF`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.defence??(typeof n==`number`?-1:n.defence);case`ENEMY_GD`:return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.gold??(typeof n==`number`?-1:n.gold);case`PICTURE`:throw Error(`この機能はまだ実装されていません!`);case`PLAYER_PX`:return Os(t.playerCoord.x,t.cameraCoord.x);case`PLAYER_PY`:return ks(t.playerCoord.y,t.cameraCoord.y);case`MOVE_SPEED`:return fe[t.gameSpeedIndex];case`MOVE_FRAME_TIME`:return L.CHIP_SIZE/fe[t.gameSpeedIndex];case`LP`:return this.for_id.LP;case`undefined`:return;default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject1D(e){let t=this.evalWwaNode(e.indecies[0]);if(typeof t!=`number`)switch(e.name){case`v`:return this.generator.wwa.getUserNameVar(t);default:throw Error(`このシンボルは取得できません`)}let n=this.generator.wwa.getGameStatus();switch(e.name){case`v`:return this.generator.wwa.getUserVar(t);case`ITEM`:if(t<1||t>12)throw Error(`ITEMの添字に想定外の値が入っています。1以上12以下の添字を指定してください。: `+t);return n.itemBox[t-1];case`PICTURE`:throw Error(`この機能はまだ実装されていません!`);case`LP`:return this.for_id.LP[t];default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject2D(e){switch(e.name){case`m`:case`o`:let t=this.evalWwaNode(e.indecies[0]),n=this.evalWwaNode(e.indecies[1]);if(typeof t!=`number`||typeof n!=`number`)throw Error(`座標は数値で指定してください (${t}, ${n})`);new C(this.generator.wwa,t,n);let r=e.name===`o`?A.OBJECT:A.MAP;return this.generator.wwa.getPartsID(new S(t,n),r);case`v`:{let t=e.indecies[0].value,n=this.generator.wwa.getUserNameVar(t);if(n===null||!Array.isArray(n)&&typeof n!=`object`&&typeof n!=`string`)throw Error(`指定したユーザー定義変数: v["${t}"] は配列・オブジェクト・文字列ではありません`);return Ye(n,this.evalWwaNode(e.indecies[1]))}default:throw Error(`このシンボルは取得できません`)}}evalArrayOrObject3DPlus(e){let t=e.indecies.map(e=>this.evalWwaNode(e)),n=this.generator.wwa.getUserNameVar(t[0]);return t.slice(1).reduce((e,t)=>Ye(e,t),n)}evalLiteral(e){return e.value}},Ns=class{constructor(e){this.value=e}},Ps=class{constructor(e,t){this.reason=e,this.value=t}};function Fs(e){return Yo(e,{ecmaVersion:2020})}var Is=async e=>{try{let t=await fetch(e);return t.status===200||t.status===304?{kind:`data`,data:await new Response(t.body).text(),fileName:e}:{kind:`httpError`,errorMessage:`ファイル ${e} が読み込めませんでした。ステータスコード: ${t.status}`,fileName:e}}catch(t){return{kind:`otherError`,errorMessage:t.message,fileName:e}}},Ls=`user-variable-label`;function Rs(){let e=document.createElement(`div`);return e.textContent=`-`,e.setAttribute(`aria-hidden`,`true`),e.classList.add(Ls),e}function zs(e,t){e.textContent=t}var Bs=`-`,Vs=`user-variable-card`,Hs=`user-variable-card--is-trimmed`;function Us({index:e,value:t}){let n=document.createElement(`div`);return n.classList.add(Vs),Ys(t)&&n.classList.add(Hs),n.dataset.varIndex=String(e),n.appendChild(Ws(e)),n.appendChild(Gs(t)),n}function Ws(e){let t=document.createElement(`div`);return t.classList.add(`index`),t.textContent=String(e),typeof e==`string`&&t.setAttribute(`title`,e),t.appendChild(Rs()),t}function Gs(e){let t=document.createElement(`div`);return t.classList.add(`value`),typeof e==`string`&&t.setAttribute(`title`,Je(e)),qs(t,e),t}function Ks(e,t){e.dataset.labelledVarIndex=`true`,e.addEventListener(`mouseover`,()=>t.removeAttribute(`aria-hidden`)),e.addEventListener(`mouseleave`,()=>t.setAttribute(`aria-hidden`,`true`))}function qs(e,t){e.textContent=t===void 0?Bs:Je(t)}function Js(e){return e.querySelector(`.${Ls}`)}function Ys(e){return typeof e!=`object`}var Xs=`user-variable-list`;function Zs({kind:e}){let t=document.createElement(`ul`);return t.classList.add(Xs),e===`numbered`&&Array.from({length:L.USER_VAR_NUM}).map((e,t)=>Qs({index:t})).forEach(e=>t.appendChild(e)),t}function Qs({index:e,value:t}){let n=document.createElement(`li`);return n.appendChild(Us({index:e,value:t})),n}function $s(e,{index:t,value:n}){e.appendChild(Qs({index:t,value:n}))}var ec=`information`;function tc(){let e=document.createElement(`p`);return e.classList.add(ec),nc(e,`強調されている番号にカーソルを乗せると説明が表示されます。`),e}function nc(e,t,n=!1){e.textContent=`${n?`【エラー】`:``}${t}`}function rc({heading:e,contentVisibilityToggleButton:t,information:n}){let r=document.createElement(`header`);return r.appendChild(ac({heading:e,contentVisibilityToggleButton:t})),n&&r.appendChild(tc()),r}function ic(e,t){e.textContent=t?`▲隠す`:`▼表示`}function ac({heading:e,contentVisibilityToggleButton:t}){let n=document.createElement(`div`);n.classList.add(`heading-area`);let r=document.createElement(`h2`);r.textContent=e.text,n.appendChild(r);let i=document.createElement(`button`);return i.classList.add(`content-visibility-toggle-button`),ic(i,!0),t.onClick&&i.addEventListener(`click`,t.onClick.bind(i)),n.appendChild(i),n}var oc=`user-variable-list-section`;function sc({kind:e}){let t=document.createElement(`section`);t.classList.add(oc),t.dataset.kind=e;let n=Zs({kind:e}),r=rc({heading:{text:e===`named`?`名前つき変数一覧`:`変数一覧`},information:(e===`numbered`||void 0)&&{},contentVisibilityToggleButton:{onClick:e=>{let t=r.querySelector(`.${ec}`);n.getAttribute(`aria-hidden`)===`true`?cc(n,t,e.target):lc(n,t,e.target)}}});return t.appendChild(r),t.appendChild(n),t}function cc(e,t,n){e.removeAttribute(`aria-hidden`),t instanceof HTMLElement&&t.removeAttribute(`aria-hidden`),n instanceof HTMLElement&&ic(n,!0)}function lc(e,t,n){e.setAttribute(`aria-hidden`,`true`),t instanceof HTMLElement&&t.setAttribute(`aria-hidden`,`true`),n instanceof HTMLElement&&ic(n,!1)}function uc(e,t){if(!(e instanceof HTMLElement))return;let n=_c(e),r=mc(e);if(r instanceof HTMLElement){for(let[i,a]of t){let t=gc(e,i);n.delete(i),t instanceof HTMLElement?qs(t,a):$s(r,{index:i,value:a})}for(let t of n){let n=hc(e,t).parentElement;n instanceof HTMLLIElement&&mc(e).removeChild(n)}}}var dc=`.${oc}[data-kind="named"]`,fc=`${dc} > .${Xs} > li > .${Vs}`;function pc(e){return`${fc}[data-var-index="${CSS.escape(e)}"]`}function mc(e){return e.querySelector(`${dc} > .${Xs}`)}function hc(e,t){return e.querySelector(pc(t))}function gc(e,t){return e.querySelector(`${pc(t)} > .value`)}function _c(e){return new Set([...e.querySelectorAll(fc)].map(e=>e instanceof HTMLElement?e.dataset.varIndex:void 0).filter(Boolean))}function vc(e,t){e instanceof HTMLElement&&Array.from({length:L.USER_VAR_NUM}).map((n,r)=>{let i=Tc(e,r);i instanceof HTMLElement&&qs(i,t[r])})}function yc(e,t){e&&Array.from({length:L.USER_VAR_NUM}).map((n,r)=>{let i=t[r];if(!i)return;let a=wc(e,r);if(!(a instanceof HTMLElement))return;let o=Js(a);o instanceof HTMLElement&&(zs(o,i),Ks(a,o))})}function bc(e,t,n=!1){if(!e)return;let r=Sc(e);r instanceof HTMLElement&&nc(r,t,n)}var xc=`.${oc}[data-kind="numbered"]`;function Sc(e){return e.querySelector(`${xc} > header > .${ec}`)}function Cc(e){return`${xc} > .${Xs} > li > .${Vs}[data-var-index="${CSS.escape(String(e))}"]`}function wc(e,t){return e.querySelector(`${Cc(t)} > .index`)}function Tc(e,t){return e.querySelector(`${Cc(t)} > .value`)}function Ec({dumpElement:e,namedUserVar:t,userVar:n}){t&&uc(e,t),n&&vc(e,n)}var Dc=`wwa-vardump-wrapper`;function Oc(e){let t=Be(e);return t instanceof HTMLElement?(t.classList.add(Dc),t.appendChild(sc({kind:`named`})),t.appendChild(sc({kind:`numbered`})),t):null}function kc(){return{mapdata:``,urlGateEnable:!1,titleImg:void 0,audioDir:`./audio/`,classicModeEnable:!1,itemEffectEnable:!0,useGoToWwa:!1,lookingAround:!1,autoSave:!0,disallowLoadOldSave:!1,resumeSaveData:void 0,varDumpElm:void 0,userVarNamesFile:void 0,displayUserVars:!1,virtualPadEnable:!1,virtualPadViewportFitEnable:!1,virtualPadControllerElm:void 0,userDefinedScriptsFile:`./script/script_file_list.json`}}var Ac;function jc(e,t,n){var r=new _e;return r.current=e,r.total=t,r.stage=n,r}var Mc=class{constructor(e=kc()){this._useSuspend=!1,this._useLookingAround=!0,this._isDisallowLoadOldSave=!1,this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._windowCloseWaitingJumpGateRequest=void 0,this._debugConsoleElement=void 0,this.audioExtension=``,this.soundLoadedCheckTimer=void 0,this._playTimeCalculator=void 0,this.userDefinedFunctions={},this.convertWwaNodes=e=>Zo(Fs(e)),this.mainCaller=()=>this._main(),this.soundCheckCaller=()=>this.checkAllSoundLoaded(),this._checkTurnKeyPressed=()=>this._keyStore.checkHitKey(B.KEY_ESC)||this._keyStore.checkHitKey(B.KEY_SHIFT)||this._keyStore.checkHitKey(B.KEY_N),this._saveDataList=[],this.wwaCustomEventEmitter=new ta(H(`wwa-wrapper`));let t;window.addEventListener(`click`,e=>{this._isActive=!1}),H(`wwa-wrapper`).addEventListener(`click`,e=>{e.stopPropagation(),this._isActive=!0}),this._isActive=!0,e.titleImg===void 0?(this._hasTitleImg=!1,this._cvsCover=H(`progress-panel`),t=this._cvsCover.getContext(`2d`),t.fillStyle=`rgb(0, 0, 0)`):this._hasTitleImg=!0;try{this._hasTitleImg?(H(`unstable-version-warning`).textContent=`この WWA Wing は [不安定版] です。`,H(`version`).textContent=`WWA Wing Ver.4.0.3`):this._setLoadingMessage(t,0)}catch{}this._dumpElement=e.varDumpElm;let n=window.AudioContext||window.webkitAudioContext;n&&(this.audioContext=new n,this.audioGain=this.audioContext.createGain(),this.audioGain.gain.setValueAtTime(1,this.audioContext.currentTime));let r=new Audio;if(r.canPlayType(`audio/mpeg`)!==`no`&&r.canPlayType(`audio/mpeg`)!==``?this.audioExtension=`mp3`:this.audioExtension=`m4a`,this._isURLGateEnable=e.urlGateEnable,this._isClassicModeEnable=e.classicModeEnable,this._mainCallCounter=0,this._animationCounter=0,this._statusPressCounter=new x(0,0,0,0),e.audioDir?e.audioDir[e.audioDir.length-1]!==`/`&&(e.audioDir+=`/`):e.audioDir=`./audio/`,this._audioDirectory=e.audioDir,this._bottomButtonType=e.useGoToWwa?w.GOTO_WWA:w.BATTLE_REPORT,this._userVarNameList=[],this.evalCalcWwaNodeGenerator=new js(this),this.userDevice=new j,location.href.match(/^file/))switch(this.userDevice.device){case re.GAME:switch(this.userDevice.os){case M.NINTENDO:L.BATTLE_INTERVAL_FRAME_NUM=5;break}this._bottomButtonType=w.GAME_END;break;default:alert(`【警告】直接HTMLファイルを開いているようです。
95
+ このプログラムは正常に動作しない可能性があります。
96
+ マップデータの確認を行う場合には同梱の「wwa-server.exe」をご利用ください。
97
+ `+(this.userDevice.browser===ie.FIREFOX?`Firefoxの場合も、バージョン68以降はローカルのHTMLファイルを直接開いた場合、通常起動できないことを確認しております。`:``));break}switch(this.userDevice.device){case re.VR:case re.GAME:this._usePassword=!1;break;default:this._usePassword=!0;break}switch(H(`cell-save`).textContent=ge.QUICK_SAVE,this._usePassword?H(`cell-load`).textContent=ge.PASSWORD:H(`cell-load`).textContent=ge.EMPTY_LOAD,this._bottomButtonType){case w.GOTO_WWA:H(`cell-gotowwa`).textContent=ge.GOTO_WWA;break;case w.BATTLE_REPORT:H(`cell-gotowwa`).textContent=ge.BATTLE_REPORT;break;case w.GAME_END:H(`cell-gotowwa`).textContent=ge.GAME_END;break}let i=performance.now();console.log(`WWA のロード処理を開始します`),Promise.all([new Promise(async n=>{let r=performance.now();console.log(`(A-1) マップデータ ${e.mapdata} のロードを開始します`);let i=new ta,a=t=>{i.removeListener(`mapData`,a),i.removeListener(`progress`,o),i.removeListener(`error`,s),console.log(`(A-1) マップデータ ${e.mapdata} のロードが完了しました (${performance.now()-r}ms)`),n(t)},o=e=>this._setProgressBar(e),s=e=>{throw this._setErrorMessage(`下記のエラーが発生しました。:
98
+ `+e.message,t),Error(`MapData Load Error: `+e.message)};i.addListener(`mapData`,a),i.addListener(`progress`,o),i.addListener(`error`,s),await new Pn(e.mapdata,i).requestAndLoadMapData()}).then(t=>{let n=performance.now();console.log(`(A-2) マップデータからリスタートデータの作成を開始します`),t.isItemEffectEnabled=e.itemEffectEnable;let r=e.mapdata.split(`/`);r.pop(),r.push(t.mapCGName),t.mapCGName=r.join(`/`);let i={wwaData:t,restartData:structuredClone(t),checkOriginalMapString:this._generateMapDataHash(t)};return console.log(`(A-2) マップデータからのリスタートデータの作成が完了しました (${performance.now()-n}ms)`),i}).then(e=>new Promise(n=>{let r=performance.now();console.log(`(A-3) マップ画像 ${e.wwaData.mapCGName} のロードを開始します`);let i=new Image;i.src=e.wwaData.mapCGName,i.decode().then(()=>{console.log(`(A-3) マップ画像 ${e.wwaData.mapCGName} のロードが完了しました (${performance.now()-r}ms)`),n(e)}).catch(()=>{throw this._setErrorMessage(`画像ファイル「`+e.wwaData.mapCGName+`」が見つかりませんでした。
99
+ 管理者の方へ: データがアップロードされているか、
100
+ パーミッションを確かめてください。`,t),Error(`Map CG Image Load Error`)})})),new Promise(async t=>{if(this._canDisplayUserVars=e.displayUserVars,!this._canDisplayUserVars){console.log(`(B) ユーザー変数の表示機能は無効化されています`),t();return}let n=performance.now();console.log(`(B) ユーザー変数名一覧のロードおよび初期化を開始します (名前一覧ファイル: ${e.userVarNamesFile??`未指定`})`),this._inlineUserVarViewer={topUserVarIndex:{named:0,numbered:0},isVisible:!1,kind:`numbered`};let r=await(e.userVarNamesFile?Un(e.userVarNamesFile):{kind:`noFileSpecified`,errorMessage:`data-wwa-user-var-names-file 属性に、変数の説明を記したファイル名を書くことで、その説明を表示できます。詳しくはマニュアルをご覧ください。`});switch(this.setUserVarStatus(r,e.userVarNamesFile),r.kind){case`data`:console.log(`(B) ユーザー変数名一覧のロードおよび初期化が完了しました (${performance.now()-n}ms)`);break;case`noFileSpecified`:console.log(`(B) ユーザー変数名一覧のロードはスキップされました (${performance.now()-n}ms)`);break;default:console.warn(`(B) ユーザー変数名一覧のロード中にエラーが発生しました (${performance.now()-n}ms)`),console.warn(`(B) `+r.errorMessage);break}t()}),new Promise(async t=>{let n=performance.now(),r=e.userDefinedScriptsFile??`./script/script_file_list.json`;console.log(`(C) 外部 WWA Script のロード・解析を開始します (リストファイル: ${r})`);let i=await Un(r);if(i?.kind===`data`&&Array.isArray(i.data)){console.log(`(C) これらの外部 WWA Script がロードされます:`,i.data);let e=i.data.map(e=>Is(e));(await Promise.allSettled(e)).forEach(e=>{if(e.status!==`fulfilled`){alert(`(C) 外部スクリプト ${e.reason.fileName} のロード中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${e.reason.message}`),console.error(e.reason.message);return}switch(e.value.kind){case`data`:try{this.setUserScript(e.value)}catch(t){alert(`外部スクリプト ${e.value.fileName} の解析中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${t instanceof Error?t.message:String(t)}`),console.error(`(C) 外部スクリプト ${e.value.fileName} の解析中にエラーが発生しました。`,t)}return;case`httpError`:console.warn(`(C) 外部スクリプト ${e.value.fileName} が見つからなかったか、その他のHTTPエラーが発生しました。`,e.value.errorMessage);return;case`otherError`:alert(`外部スクリプト ${e.value.fileName} のロード中にエラーが発生しました。\nこのままゲームを開始することはできますが、正常に動作しない可能性が高いです。\n\n詳細:\n${e.value.errorMessage}`),console.error(`(C) 外部スクリプト ${e.value.fileName} のロード中にエラーが発生しました。`,e.value.errorMessage);return;default:alert(`外部スクリプトの解析中に予期せぬエラーが発生しました`),console.error(`(C) 外部スクリプト ${e.value.fileName} の解析中に予期せぬエラーが発生しました`,e.value);return}})}else console.log(`(C) 外部 WWA Script のリスト ${r} が見つからなかったか、内容が不正だったため、外部スクリプトはロードされませんでした。`);console.log(`(C) 外部 WWA Script のロード・解析が完了しました (${performance.now()-n}ms)`),t()})]).then(([{wwaData:e,restartData:t,checkOriginalMapString:n}])=>{this._wwaData=e,this._restartData=t,this.checkOriginalMapString=n,console.log(`WWAのロード処理が完了しました。(${performance.now()-i}ms)`)}).then(()=>{try{this._hasTitleImg?H(`version`).textContent+=` (Map data Ver. `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10+`)`:this._setLoadingMessage(t,1)}catch{}this.initCSSRule(),this._setProgressBar(jc(0,4,ve.GAME_INIT)),this._setLoadingMessage(t,2);let n=this._wwaData.mapCGName.replace(`(`,`\\(`).replace(`)`,`\\)`),r=e=>{e.style.backgroundImage=`url(`+n+`)`};Array.prototype.forEach.call(He(`div.item-cell`),e=>{e.style.backgroundPosition=`-${this._wwaData.imgItemboxX*L.CHIP_SIZE}px -${this._wwaData.imgItemboxY*L.CHIP_SIZE}px`,e.style.backgroundImage=`url(`+n+`)`}),Array.prototype.forEach.call(He(`div.wide-cell-row`),e=>{e.style.backgroundPosition=`-160px -120px`,e.style.backgroundImage=`url(`+n+`)`}),Array.prototype.forEach.call(He(`.item-cell>.item-click-border`),e=>{e.style.backgroundImage=`url('`+L.ITEM_BORDER_IMG_DATA_URL+`')`,e.style.backgroundPosition=`0 0`,e.style.display=`none`,e.style.cursor=`pointer`}),Array.prototype.forEach.call(He(`.item-cell>.item-disp`),r),Array.prototype.forEach.call(He(`div.wide-cell-row>.status-icon`),r),this.setStatusIconCoord(de.ENERGY,new S(this._wwaData.imgStatusEnergyX,this._wwaData.imgStatusEnergyY)),this.setStatusIconCoord(de.STRENGTH,new S(this._wwaData.imgStatusStrengthX,this._wwaData.imgStatusStrengthY)),this.setStatusIconCoord(de.DEFENCE,new S(this._wwaData.imgStatusDefenceX,this._wwaData.imgStatusDefenceY)),this.setStatusIconCoord(de.GOLD,new S(this._wwaData.imgStatusGoldX,this._wwaData.imgStatusGoldY)),this._setProgressBar(jc(1,4,ve.GAME_INIT)),this._setLoadingMessage(t,3),this._mapIDTableCreate(),this._replaceAllRandomObjects(),this._cvs=H(`wwa-map`);var i=this._cvs.getContext(`2d`,{alpha:!1});i.fillStyle=`rgba( 255, 255, 255, 0.5)`,i.fillRect(0,0,440,440);var a=new C(this,this._wwaData.playerX,this._wwaData.playerY);this._camera=new qn(a),this._itemMenu=new Pr;var o=new x(this._wwaData.statusEnergy,this._wwaData.statusStrength,this._wwaData.statusDefence,this._wwaData.statusGold);this._player=new Xn(this,a,this._camera,o,this._wwaData.statusEnergyMax,this._wwaData.moves,this._wwaData.gameSpeedIndex),this._userVar={numbered:Array.from({length:L.USER_VAR_NUM}).map(()=>0),named:new Map},this._objectMovingDataManager=new $n(this,this._player),this._camera.setPlayer(this._player),this._keyStore=new Te,this._mouseStore=new Oe,e.virtualPadEnable?(this._virtualPadButtonElements={BUTTON_ENTER:H(`wwa-enter-button`),BUTTON_ESC:H(`wwa-esc-button`),BUTTON_FAST:H(`wwa-fast-button`),BUTTON_SLOW:H(`wwa-slow-button`),BUTTON_LEFT:H(`wwa-left-button`),BUTTON_UP:H(`wwa-up-button`),BUTTON_RIGHT:H(`wwa-right-button`),BUTTON_DOWN:H(`wwa-down-button`)},this._virtualPadStore=new Fe(this._virtualPadButtonElements,Mr(),H(`wwa-virtualpad-right`),H(`wwa-virtualpad-left`),this._setVirtualPadTouch.bind(this),this._setVirtualPadLeave.bind(this)),Pc(e.virtualPadControllerElm,()=>{this._virtualPadStore.toggleVisible()})):(this._virtualPadButtonElements=null,this._virtualPadStore=new Fe({})),this._debugConsoleElement=Fc(H(`wwa-debug-console-area`)),this._debugConsoleElement?.querySelector(`.script-running-button`).addEventListener(`click`,()=>{this._debugEvalString()}),this._gamePadStore=new Ae,this._pages=[],this._yesNoJudge=O.UNSELECTED,this._yesNoJudgeInNextFrame=O.UNSELECTED,this._yesNoChoiceCallInfo=N.NONE,this._prevFrameEventExected=!1,this._isLastPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._shouldSetNextPage=!1,this._passwordLoadExecInNextFrame=!1,this._pageExecuting=!1,this._messageWindow=new Cr(this,50,180,340,0,this._wwaData.mapCGName,!1,!0,!1,H(`wwa-wrapper`)),this._scoreWindow=new xr(this,new S(50,50),!1,H(`wwa-wrapper`)),this._wwaSave=new $i(Ac,Ac._wwaData.worldName,Ac._wwaData.worldPassNumber,this._checkSaveDataCompatibility.bind(this),e=>{if(e.length>0){let t=`これまでに保存されていたセーブデータは、下記の理由により消えたものがあります。`;e.forEach(e=>{switch(e){case Qi.UNMATCHED_WORLD_NAME:t+=`
101
+ ・制作者によるマップデータのワールド名の変更`;break;case Qi.UNMATCHED_WORLD_PASS_NUMBER:t+=`
102
+ ・制作者によるマップデータの暗証番号の変更`;break;case Qi.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:t+=`
103
+ ・制作者によるマップデータの内容変更 (マップデータ制作者の設定により、内容が変更されるとセーブデータが消去されます)`;break}}),alert(t)}}),this._isDisallowLoadOldSave=e.disallowLoadOldSave,this._messageWindow.setWWASave(this._wwaSave),Vi.setRestartData(this._restartData,this._wwaData),this.clearFaces();let s=H(`wwa-wrapper`).getAttribute(`data-wwa-resume-savedata`);if(typeof s==`string`&&(this._useSuspend=!0,s)){var c=Vi.getStartWWAData(s);this._restartData!==c&&(this._applyQuickLoad(c),this._wwaSave.resumeStart())}let l=H(`wwa-wrapper`).getAttribute(`data-wwa-autosave`);l!==null&&this._wwaSave.setAutoSaveInterval(Number(l)|0);let u=H(`wwa-wrapper`).getAttribute(`data-wwa-looking-around`);if(this._useLookingAround=!(u&&u.match(/false/i)),this._setProgressBar(jc(2,4,ve.GAME_INIT)),this._setLoadingMessage(t,4),window.addEventListener(`keydown`,e=>{if(this._isActive){switch(this.userDevice.os){case M.NINTENDO:e.preventDefault(),e.stopPropagation();return}if(this._keyStore.setPressInfo(e.keyCode),e.keyCode===B.KEY_F5){e.preventDefault();return}this._player.isWaitingMessage()?(e.keyCode===B.KEY_DOWN||e.keyCode===B.KEY_LEFT||e.keyCode===B.KEY_RIGHT||e.keyCode===B.KEY_UP||e.keyCode===B.KEY_SHIFT||e.keyCode===B.KEY_ENTER||e.keyCode===B.KEY_ESC||e.keyCode===B.KEY_SPACE)&&e.preventDefault():this._player.isWaitingPasswordWindow()||(e.keyCode===B.KEY_DOWN||e.keyCode===B.KEY_LEFT||e.keyCode===B.KEY_RIGHT||e.keyCode===B.KEY_UP||e.keyCode===B.KEY_SHIFT||e.keyCode===B.KEY_ENTER||e.keyCode===B.KEY_1||e.keyCode===B.KEY_2||e.keyCode===B.KEY_3||e.keyCode===B.KEY_A||e.keyCode===B.KEY_C||e.keyCode===B.KEY_D||e.keyCode===B.KEY_E||e.keyCode===B.KEY_M||e.keyCode===B.KEY_N||e.keyCode===B.KEY_Q||e.keyCode===B.KEY_S||e.keyCode===B.KEY_W||e.keyCode===B.KEY_X||e.keyCode===B.KEY_Y||e.keyCode===B.KEY_Z||e.keyCode===B.KEY_ESC||e.keyCode===B.KEY_F1||e.keyCode===B.KEY_F2||e.keyCode===B.KEY_F3||e.keyCode===B.KEY_F4||e.keyCode===B.KEY_F6||e.keyCode===B.KEY_F7||e.keyCode===B.KEY_F8||e.keyCode===B.KEY_F12||e.keyCode===B.KEY_SPACE)&&e.preventDefault()}}),window.addEventListener(`keyup`,e=>{if(this._isActive){switch(this.userDevice.os){case M.NINTENDO:e.preventDefault(),e.stopPropagation();return}this._keyStore.setReleaseInfo(e.keyCode),(e.keyCode===B.KEY_F5||(e.keyCode===B.KEY_DOWN||e.keyCode===B.KEY_LEFT||e.keyCode===B.KEY_RIGHT||e.keyCode===B.KEY_UP||e.keyCode===B.KEY_SHIFT||e.keyCode===B.KEY_ENTER||e.keyCode===B.KEY_0||e.keyCode===B.KEY_1||e.keyCode===B.KEY_2||e.keyCode===B.KEY_3||e.keyCode===B.KEY_4||e.keyCode===B.KEY_5||e.keyCode===B.KEY_6||e.keyCode===B.KEY_7||e.keyCode===B.KEY_8||e.keyCode===B.KEY_9||e.keyCode===B.KEY_A||e.keyCode===B.KEY_C||e.keyCode===B.KEY_D||e.keyCode===B.KEY_E||e.keyCode===B.KEY_M||e.keyCode===B.KEY_N||e.keyCode===B.KEY_Q||e.keyCode===B.KEY_S||e.keyCode===B.KEY_W||e.keyCode===B.KEY_X||e.keyCode===B.KEY_Y||e.keyCode===B.KEY_Z||e.keyCode===B.KEY_ESC||e.keyCode===B.KEY_NUM0||e.keyCode===B.KEY_NUM1||e.keyCode===B.KEY_NUM2||e.keyCode===B.KEY_NUM3||e.keyCode===B.KEY_NUM4||e.keyCode===B.KEY_NUM5||e.keyCode===B.KEY_NUM6||e.keyCode===B.KEY_NUM7||e.keyCode===B.KEY_NUM8||e.keyCode===B.KEY_NUM9||e.keyCode===B.KEY_F1||e.keyCode===B.KEY_F3||e.keyCode===B.KEY_F4||e.keyCode===B.KEY_F6||e.keyCode===B.KEY_F7||e.keyCode===B.KEY_F8||e.keyCode===B.KEY_F9||e.keyCode===B.KEY_F12||e.keyCode===B.KEY_SPACE)&&!this._player.isWaitingMessage()&&!this._player.isWaitingPasswordWindow())&&e.preventDefault()}}),window.addEventListener(`blur`,e=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()}),window.addEventListener(`contextmenu`,e=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()}),window.addEventListener(`help`,e=>{this._isActive&&e.preventDefault()}),this._mouseControllerElement=H(`wwa-controller`),this._mouseControllerElement.addEventListener(`mousedown`,e=>{if(this._isActive&&e.which===1){if(this._mouseStore.getMouseState()!==Ee.NONE){e.preventDefault();return}let t=Ue(e.clientX,e.clientY),n=this._player.getDrawingCenterPosition(),r=t.substract(n),i=Math.abs(r.x),a=Math.abs(r.y),o,s=!1;if(i<L.CHIP_SIZE&&a<L.CHIP_SIZE){switch(n.x/L.CHIP_SIZE|0){case 0:s=!0,o=T.LEFT;break;case L.H_PARTS_NUM_IN_WINDOW-1:s=!0,o=T.RIGHT;break}switch(n.y/L.CHIP_SIZE|0){case 0:s=!0,o=T.UP;break;case L.V_PARTS_NUM_IN_WINDOW-1:s=!0,o=T.DOWN;break}}s||(r.y>0&&a>i?o=T.DOWN:r.y<0&&a>i?o=T.UP:r.x>0&&a<i?o=T.RIGHT:r.x<0&&a<i&&(o=T.LEFT)),this._mouseStore.setPressInfo(o,0)}}),this._mouseControllerElement.addEventListener(`mouseleave`,e=>{this._mouseStore.clear()}),this._mouseControllerElement.addEventListener(`mouseup`,e=>{this._isActive&&e.which===1&&(this._mouseStore.setReleaseInfo(),e.preventDefault())}),window.TouchEvent){if(this.audioContext){let e=()=>{this.audioContext.createBufferSource().start(0),this._mouseControllerElement.removeEventListener(`touchstart`,e),e=null};this._mouseControllerElement.addEventListener(`touchstart`,e)}this._mouseControllerElement.addEventListener(`touchstart`,e=>{if(!this._isActive)return;if(this._mouseStore.getMouseState()!==Ee.NONE){e.preventDefault();return}let t=e.changedTouches,n=t.length;for(let e=0;e<n;e++){let n=t[e],r=Ue(n.clientX,n.clientY),i=this._player.getDrawingCenterPosition(),a=r.substract(i),o=Math.abs(a.x),s=Math.abs(a.y),c,l=!1;if(o<L.CHIP_SIZE&&s<L.CHIP_SIZE){switch(i.x/L.CHIP_SIZE|0){case 0:l=!0,c=T.LEFT;break;case L.H_PARTS_NUM_IN_WINDOW-1:l=!0,c=T.RIGHT;break}switch(i.y/L.CHIP_SIZE|0){case 0:l=!0,c=T.UP;break;case L.V_PARTS_NUM_IN_WINDOW-1:l=!0,c=T.DOWN;break}}l||(a.y>0&&s>o?c=T.DOWN:a.y<0&&s>o?c=T.UP:a.x>0&&s<o?c=T.RIGHT:a.x<0&&s<o&&(c=T.LEFT)),this._mouseStore.setPressInfo(c,n.identifier)}e.cancelable&&e.preventDefault()});let e=e=>{if(this._isActive){for(let t=0;t<e.changedTouches.length;t++)if(this._mouseStore.getTouchID()===e.changedTouches[t].identifier){this._mouseStore.setReleaseInfo(),e.preventDefault();break}}};this._mouseControllerElement.addEventListener(`touchend`,e),this._mouseControllerElement.addEventListener(`touchcancel`,e)}H(`button-load`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.QUICK_LOAD)}),H(`button-save`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.QUICK_SAVE)}),H(`button-restart`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.RESTART_GAME)}),H(`button-gotowwa`).addEventListener(`click`,()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(P.GOTO_WWA,!1,!1)}),Array.prototype.forEach.call(He(`.wide-cell-row`),e=>{e.addEventListener(`click`,()=>{this._displayHelp()})}),this._frameCoord=new S(L.IMGPOS_DEFAULT_FRAME_X,L.IMGPOS_DEFAULT_YESNO_Y),this._battleEffectCoord=new S(L.IMGPOS_DEFAULT_BATTLE_EFFECT_X,L.IMGPOS_DEFAULT_BATTLE_EFFECT_Y),this._battleEstimateWindow=new Tr(this,this._wwaData.mapCGName,H(`wwa-wrapper`)),this._passwordWindow=new Ar(this,H(`wwa-wrapper`),e.disallowLoadOldSave),this._monsterWindow=new br(this,new S(50,180),340,60,!1,H(`wwa-wrapper`),this._wwaData.mapCGName),this._setProgressBar(jc(3,4,ve.GAME_INIT)),this._isLoadedSound=!1,this._temporaryInputDisable=!1,this._paintSkipByDoorOpen=!1,this._clearFacesInNextFrame=!1,this._useConsole=!1,this._playTimeCalculator=new je,this.wwaCustomEvent(`wwa_startup`),this._cgManager=new Kn(i,this._wwaData.mapCGName,this._frameCoord,this,e.pictureImageNamesFile,()=>{this._isSkippedSoundMessage=!0;let n=()=>{switch(this.userDevice.device){case re.PC:this.registerSystemMessagePage(`ゲームを開始します。
104
+ 画面をクリックしてください。`,!1);break;case re.SP:this.registerSystemMessagePage(`ゲームを開始します。
105
+ 画面にふれてください。`,!1);break}},r=this.resolveSystemMessage(g.CONFIRM_LOAD_SOUND);if(r===`ON`){this._isLoadedSound=!0,n(),this._setLoadingMessage(t,ve.AUDIO),this.loadSound().then(()=>window.requestAnimationFrame(this.soundCheckCaller));return}else if(r===`OFF`){this._isLoadedSound=!1,n(),this.openGameWindow();return}if(this._isSkippedSoundMessage=!1,this._hasTitleImg||t.clearRect(0,0,L.SCREEN_WIDTH,L.SCREEN_HEIGHT),this._usePassword){let n=r;e.displayUserVars&&(n+=`
13
106
 
14
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
15
-
16
- - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
17
- - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
18
-
19
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
20
- */
21
- function(){var t=a,e=t.lib,s=e.WordArray,i=e.Hasher,r=t.algo,n=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),o=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),h=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),_=s.create([0,1518500249,1859775393,2400959708,2840853838]),l=s.create([1352829926,1548603684,1836072691,2053994217,0]),u=r.RIPEMD160=i.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var s=0;s<16;s++){var a=e+s,i=t[a];t[a]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var r,u,f,y,v,S,A,T,I,C,D,O=this._hash.words,P=_.words,N=l.words,M=n.words,b=o.words,x=h.words,L=c.words;for(S=r=O[0],A=u=O[1],T=f=O[2],I=y=O[3],C=v=O[4],s=0;s<80;s+=1)D=r+t[e+M[s]]|0,D+=s<16?d(u,f,y)+P[0]:s<32?p(u,f,y)+P[1]:s<48?m(u,f,y)+P[2]:s<64?E(u,f,y)+P[3]:g(u,f,y)+P[4],D=(D=w(D|=0,x[s]))+v|0,r=v,v=y,y=w(f,10),f=u,u=D,D=S+t[e+b[s]]|0,D+=s<16?g(A,T,I)+N[0]:s<32?E(A,T,I)+N[1]:s<48?m(A,T,I)+N[2]:s<64?p(A,T,I)+N[3]:d(A,T,I)+N[4],D=(D=w(D|=0,L[s]))+C|0,S=C,C=I,I=w(T,10),T=A,A=D;D=O[1]+f+I|0,O[1]=O[2]+y+C|0,O[2]=O[3]+v+S|0,O[3]=O[4]+r+A|0,O[4]=O[0]+u+T|0,O[0]=D},_doFinalize:function(){var t=this._data,e=t.words,s=8*this._nDataBytes,a=8*t.sigBytes;e[a>>>5]|=128<<24-a%32,e[14+(a+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),t.sigBytes=4*(e.length+1),this._process();for(var i=this._hash,r=i.words,n=0;n<5;n++){var o=r[n];r[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return i},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t}});function d(t,e,s){return t^e^s}function p(t,e,s){return t&e|~t&s}function m(t,e,s){return(t|~e)^s}function E(t,e,s){return t&s|e&~s}function g(t,e,s){return t^(e|~s)}function w(t,e){return t<<e|t>>>32-e}t.RIPEMD160=i._createHelper(u),t.HmacRIPEMD160=i._createHmacHelper(u)}(Math),a.RIPEMD160)},648:function(t,e,s){var a,i,r,n,o,h,c,_;t.exports=(_=s(518),i=(a=_).lib,r=i.WordArray,n=i.Hasher,o=a.algo,h=[],c=o.SHA1=n.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var s=this._hash.words,a=s[0],i=s[1],r=s[2],n=s[3],o=s[4],c=0;c<80;c++){if(c<16)h[c]=0|t[e+c];else{var _=h[c-3]^h[c-8]^h[c-14]^h[c-16];h[c]=_<<1|_>>>31}var l=(a<<5|a>>>27)+o+h[c];l+=c<20?1518500249+(i&r|~i&n):c<40?1859775393+(i^r^n):c<60?(i&r|i&n|r&n)-1894007588:(i^r^n)-899497514,o=n,n=r,r=i<<30|i>>>2,i=a,a=l}s[0]=s[0]+a|0,s[1]=s[1]+i|0,s[2]=s[2]+r|0,s[3]=s[3]+n|0,s[4]=s[4]+o|0},_doFinalize:function(){var t=this._data,e=t.words,s=8*this._nDataBytes,a=8*t.sigBytes;return e[a>>>5]|=128<<24-a%32,e[14+(a+64>>>9<<4)]=Math.floor(s/4294967296),e[15+(a+64>>>9<<4)]=s,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),a.SHA1=n._createHelper(c),a.HmacSHA1=n._createHmacHelper(c),_.SHA1)},623:function(t,e,s){var a,i,r,n,o,h;t.exports=(h=s(518),s(110),i=(a=h).lib.WordArray,r=a.algo,n=r.SHA256,o=r.SHA224=n.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=n._doFinalize.call(this);return t.sigBytes-=4,t}}),a.SHA224=n._createHelper(o),a.HmacSHA224=n._createHmacHelper(o),h.SHA224)},110:function(t,e,s){var a;t.exports=(a=s(518),function(t){var e=a,s=e.lib,i=s.WordArray,r=s.Hasher,n=e.algo,o=[],h=[];!function(){function e(e){for(var s=t.sqrt(e),a=2;a<=s;a++)if(!(e%a))return!1;return!0}function s(t){return 4294967296*(t-(0|t))|0}for(var a=2,i=0;i<64;)e(a)&&(i<8&&(o[i]=s(t.pow(a,.5))),h[i]=s(t.pow(a,1/3)),i++),a++}();var c=[],_=n.SHA256=r.extend({_doReset:function(){this._hash=new i.init(o.slice(0))},_doProcessBlock:function(t,e){for(var s=this._hash.words,a=s[0],i=s[1],r=s[2],n=s[3],o=s[4],_=s[5],l=s[6],u=s[7],d=0;d<64;d++){if(d<16)c[d]=0|t[e+d];else{var p=c[d-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,E=c[d-2],g=(E<<15|E>>>17)^(E<<13|E>>>19)^E>>>10;c[d]=m+c[d-7]+g+c[d-16]}var w=a&i^a&r^i&r,f=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),y=u+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&_^~o&l)+h[d]+c[d];u=l,l=_,_=o,o=n+y|0,n=r,r=i,i=a,a=y+(f+w)|0}s[0]=s[0]+a|0,s[1]=s[1]+i|0,s[2]=s[2]+r|0,s[3]=s[3]+n|0,s[4]=s[4]+o|0,s[5]=s[5]+_|0,s[6]=s[6]+l|0,s[7]=s[7]+u|0},_doFinalize:function(){var e=this._data,s=e.words,a=8*this._nDataBytes,i=8*e.sigBytes;return s[i>>>5]|=128<<24-i%32,s[14+(i+64>>>9<<4)]=t.floor(a/4294967296),s[15+(i+64>>>9<<4)]=a,e.sigBytes=4*s.length,this._process(),this._hash},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=r._createHelper(_),e.HmacSHA256=r._createHmacHelper(_)}(Math),a.SHA256)},882:function(t,e,s){var a;t.exports=(a=s(518),s(703),function(t){var e=a,s=e.lib,i=s.WordArray,r=s.Hasher,n=e.x64.Word,o=e.algo,h=[],c=[],_=[];!function(){for(var t=1,e=0,s=0;s<24;s++){h[t+5*e]=(s+1)*(s+2)/2%64;var a=(2*t+3*e)%5;t=e%5,e=a}for(t=0;t<5;t++)for(e=0;e<5;e++)c[t+5*e]=e+(2*t+3*e)%5*5;for(var i=1,r=0;r<24;r++){for(var o=0,l=0,u=0;u<7;u++){if(1&i){var d=(1<<u)-1;d<32?l^=1<<d:o^=1<<d-32}128&i?i=i<<1^113:i<<=1}_[r]=n.create(o,l)}}();var l=[];!function(){for(var t=0;t<25;t++)l[t]=n.create()}();var u=o.SHA3=r.extend({cfg:r.cfg.extend({outputLength:512}),_doReset:function(){for(var t=this._state=[],e=0;e<25;e++)t[e]=new n.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(t,e){for(var s=this._state,a=this.blockSize/2,i=0;i<a;i++){var r=t[e+2*i],n=t[e+2*i+1];r=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),n=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),(O=s[i]).high^=n,O.low^=r}for(var o=0;o<24;o++){for(var u=0;u<5;u++){for(var d=0,p=0,m=0;m<5;m++)d^=(O=s[u+5*m]).high,p^=O.low;var E=l[u];E.high=d,E.low=p}for(u=0;u<5;u++){var g=l[(u+4)%5],w=l[(u+1)%5],f=w.high,y=w.low;for(d=g.high^(f<<1|y>>>31),p=g.low^(y<<1|f>>>31),m=0;m<5;m++)(O=s[u+5*m]).high^=d,O.low^=p}for(var v=1;v<25;v++){var S=(O=s[v]).high,A=O.low,T=h[v];T<32?(d=S<<T|A>>>32-T,p=A<<T|S>>>32-T):(d=A<<T-32|S>>>64-T,p=S<<T-32|A>>>64-T);var I=l[c[v]];I.high=d,I.low=p}var C=l[0],D=s[0];for(C.high=D.high,C.low=D.low,u=0;u<5;u++)for(m=0;m<5;m++){var O=s[v=u+5*m],P=l[v],N=l[(u+1)%5+5*m],M=l[(u+2)%5+5*m];O.high=P.high^~N.high&M.high,O.low=P.low^~N.low&M.low}O=s[0];var b=_[o];O.high^=b.high,O.low^=b.low}},_doFinalize:function(){var e=this._data,s=e.words,a=(this._nDataBytes,8*e.sigBytes),r=32*this.blockSize;s[a>>>5]|=1<<24-a%32,s[(t.ceil((a+1)/r)*r>>>5)-1]|=128,e.sigBytes=4*s.length,this._process();for(var n=this._state,o=this.cfg.outputLength/8,h=o/8,c=[],_=0;_<h;_++){var l=n[_],u=l.high,d=l.low;u=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),c.push(d),c.push(u)}return new i.init(c,o)},clone:function(){for(var t=r.clone.call(this),e=t._state=this._state.slice(0),s=0;s<25;s++)e[s]=e[s].clone();return t}});e.SHA3=r._createHelper(u),e.HmacSHA3=r._createHmacHelper(u)}(Math),a.SHA3)},78:function(t,e,s){var a,i,r,n,o,h,c,_;t.exports=(_=s(518),s(703),s(759),i=(a=_).x64,r=i.Word,n=i.WordArray,o=a.algo,h=o.SHA512,c=o.SHA384=h.extend({_doReset:function(){this._hash=new n.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var t=h._doFinalize.call(this);return t.sigBytes-=16,t}}),a.SHA384=h._createHelper(c),a.HmacSHA384=h._createHmacHelper(c),_.SHA384)},759:function(t,e,s){var a;t.exports=(a=s(518),s(703),function(){var t=a,e=t.lib.Hasher,s=t.x64,i=s.Word,r=s.WordArray,n=t.algo;function o(){return i.create.apply(i,arguments)}var h=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],c=[];!function(){for(var t=0;t<80;t++)c[t]=o()}();var _=n.SHA512=e.extend({_doReset:function(){this._hash=new r.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var s=this._hash.words,a=s[0],i=s[1],r=s[2],n=s[3],o=s[4],_=s[5],l=s[6],u=s[7],d=a.high,p=a.low,m=i.high,E=i.low,g=r.high,w=r.low,f=n.high,y=n.low,v=o.high,S=o.low,A=_.high,T=_.low,I=l.high,C=l.low,D=u.high,O=u.low,P=d,N=p,M=m,b=E,x=g,L=w,R=f,B=y,U=v,k=S,W=A,V=T,F=I,Y=C,G=D,H=O,K=0;K<80;K++){var j,X,J=c[K];if(K<16)X=J.high=0|t[e+2*K],j=J.low=0|t[e+2*K+1];else{var $=c[K-15],Z=$.high,q=$.low,Q=(Z>>>1|q<<31)^(Z>>>8|q<<24)^Z>>>7,z=(q>>>1|Z<<31)^(q>>>8|Z<<24)^(q>>>7|Z<<25),tt=c[K-2],et=tt.high,st=tt.low,at=(et>>>19|st<<13)^(et<<3|st>>>29)^et>>>6,it=(st>>>19|et<<13)^(st<<3|et>>>29)^(st>>>6|et<<26),rt=c[K-7],nt=rt.high,ot=rt.low,ht=c[K-16],ct=ht.high,_t=ht.low;X=(X=(X=Q+nt+((j=z+ot)>>>0<z>>>0?1:0))+at+((j+=it)>>>0<it>>>0?1:0))+ct+((j+=_t)>>>0<_t>>>0?1:0),J.high=X,J.low=j}var lt,ut=U&W^~U&F,dt=k&V^~k&Y,pt=P&M^P&x^M&x,mt=N&b^N&L^b&L,Et=(P>>>28|N<<4)^(P<<30|N>>>2)^(P<<25|N>>>7),gt=(N>>>28|P<<4)^(N<<30|P>>>2)^(N<<25|P>>>7),wt=(U>>>14|k<<18)^(U>>>18|k<<14)^(U<<23|k>>>9),ft=(k>>>14|U<<18)^(k>>>18|U<<14)^(k<<23|U>>>9),yt=h[K],vt=yt.high,St=yt.low,At=G+wt+((lt=H+ft)>>>0<H>>>0?1:0),Tt=gt+mt;G=F,H=Y,F=W,Y=V,W=U,V=k,U=R+(At=(At=(At=At+ut+((lt+=dt)>>>0<dt>>>0?1:0))+vt+((lt+=St)>>>0<St>>>0?1:0))+X+((lt+=j)>>>0<j>>>0?1:0))+((k=B+lt|0)>>>0<B>>>0?1:0)|0,R=x,B=L,x=M,L=b,M=P,b=N,P=At+(Et+pt+(Tt>>>0<gt>>>0?1:0))+((N=lt+Tt|0)>>>0<lt>>>0?1:0)|0}p=a.low=p+N,a.high=d+P+(p>>>0<N>>>0?1:0),E=i.low=E+b,i.high=m+M+(E>>>0<b>>>0?1:0),w=r.low=w+L,r.high=g+x+(w>>>0<L>>>0?1:0),y=n.low=y+B,n.high=f+R+(y>>>0<B>>>0?1:0),S=o.low=S+k,o.high=v+U+(S>>>0<k>>>0?1:0),T=_.low=T+V,_.high=A+W+(T>>>0<V>>>0?1:0),C=l.low=C+Y,l.high=I+F+(C>>>0<Y>>>0?1:0),O=u.low=O+H,u.high=D+G+(O>>>0<H>>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,s=8*this._nDataBytes,a=8*t.sigBytes;return e[a>>>5]|=128<<24-a%32,e[30+(a+128>>>10<<5)]=Math.floor(s/4294967296),e[31+(a+128>>>10<<5)]=s,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=e.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});t.SHA512=e._createHelper(_),t.HmacSHA512=e._createHmacHelper(_)}(),a.SHA512)},865:function(t,e,s){var a;t.exports=(a=s(518),s(201),s(989),s(953),s(768),function(){var t=a,e=t.lib,s=e.WordArray,i=e.BlockCipher,r=t.algo,n=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],h=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],_=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],l=r.DES=i.extend({_doReset:function(){for(var t=this._key.words,e=[],s=0;s<56;s++){var a=n[s]-1;e[s]=t[a>>>5]>>>31-a%32&1}for(var i=this._subKeys=[],r=0;r<16;r++){var c=i[r]=[],_=h[r];for(s=0;s<24;s++)c[s/6|0]|=e[(o[s]-1+_)%28]<<31-s%6,c[4+(s/6|0)]|=e[28+(o[s+24]-1+_)%28]<<31-s%6;for(c[0]=c[0]<<1|c[0]>>>31,s=1;s<7;s++)c[s]=c[s]>>>4*(s-1)+3;c[7]=c[7]<<5|c[7]>>>27}var l=this._invSubKeys=[];for(s=0;s<16;s++)l[s]=i[15-s]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,s){this._lBlock=t[e],this._rBlock=t[e+1],u.call(this,4,252645135),u.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),u.call(this,1,1431655765);for(var a=0;a<16;a++){for(var i=s[a],r=this._lBlock,n=this._rBlock,o=0,h=0;h<8;h++)o|=c[h][((n^i[h])&_[h])>>>0];this._lBlock=n,this._rBlock=r^o}var l=this._lBlock;this._lBlock=this._rBlock,this._rBlock=l,u.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(t,e){var s=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=s,this._lBlock^=s<<t}function d(t,e){var s=(this._rBlock>>>t^this._lBlock)&e;this._lBlock^=s,this._rBlock^=s<<t}t.DES=i._createHelper(l);var p=r.TripleDES=i.extend({_doReset:function(){var t=this._key.words;if(2!==t.length&&4!==t.length&&t.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var e=t.slice(0,2),a=t.length<4?t.slice(0,2):t.slice(2,4),i=t.length<6?t.slice(0,2):t.slice(4,6);this._des1=l.createEncryptor(s.create(e)),this._des2=l.createEncryptor(s.create(a)),this._des3=l.createEncryptor(s.create(i))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});t.TripleDES=i._createHelper(p)}(),a.TripleDES)},703:function(t,e,s){var a;t.exports=(a=s(518),function(t){var e=a,s=e.lib,i=s.Base,r=s.WordArray,n=e.x64={};n.Word=i.extend({init:function(t,e){this.high=t,this.low=e}}),n.WordArray=i.extend({init:function(e,s){e=this.words=e||[],this.sigBytes=s!=t?s:8*e.length},toX32:function(){for(var t=this.words,e=t.length,s=[],a=0;a<e;a++){var i=t[a];s.push(i.high),s.push(i.low)}return r.create(s,this.sigBytes)},clone:function(){for(var t=i.clone.call(this),e=t.words=this.words.slice(0),s=e.length,a=0;a<s;a++)e[a]=e[a].clone();return t}})}(),a)},156:function(){},699:function(){}},e={};function s(a){var i=e[a];if(void 0!==i)return i.exports;var r=e[a]={exports:{}};return t[a].call(r.exports,r,r.exports,s),r.exports}s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,{a:e}),e},s.d=function(t,e){for(var a in e)s.o(e,a)&&!s.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";const t=Object.freeze({CONFIRM_LOAD_SOUND:{code:1,defaultText:"効果音・BGMデータをロードしますか?",mapdataParams:{messageArea:"systemMessage",index:2}},NO_MONEY:{code:101,defaultText:"所持金がたりない。",mapdataParams:{messageArea:"message",index:6}},NO_ITEM:{code:201,mapdataParams:{messageArea:"message",index:7},defaultText:"アイテムを持っていない。"},ITEM_BOX_FULL:{code:202,defaultText:"これ以上、アイテムを持てません。",mapdataParams:{messageArea:"systemMessage",index:1}},ITEM_SELECT_TUTORIAL:{code:203,defaultText:"このアイテムは%HOW_TO_USE_ITEM%ことで使用できます。\n使用できるアイテムは色枠で囲まれます。",mapdataParams:{messageArea:"systemMessage",index:0}},CONFIRM_USE_ITEM:{code:204,defaultText:"このアイテムを使用します。\nよろしいですか?",mapdataParams:{messageArea:"message",index:8}},CANNOT_DAMAGE_MONSTER:{code:301,defaultText:"相手の防御能力が高すぎる!"},BATTLE_NOT_SETTLED:{code:302,defaultText:"勝負がつかない!"},CONFIRM_ENTER_URL_GATE:{code:401,defaultText:"他のページにリンクします。\nよろしいですか?",mapdataParams:{messageArea:"message",index:5}},GAME_SPEED_CHANGED:{code:501,defaultText:"移動速度を【%GAME_SPEED_NAME%】に切り替えました。\n%HIGH_SPEED_MESSAGE%(%MAX_SPEED_INDEX%段階中%GAME_SPEED_INDEX%)\n速度を落とすには%SPEED_DOWN_BUTTON%, 速度を上げるには%SPEED_UP_BUTTON%を押してください。"},GAME_SPEED_CHANGE_DISABLED:{code:502,defaultText:"ここでは移動速度を\n変更できません。"}}),e=Object.keys(t),a=e.reduce(((t,e)=>({...t,[e]:e})),{}),i=t;function r(t){return e.some((e=>e===t))}function n(t){for(let s of e)if(i[s].code===t)return s}class o{add(t){return this.strength+=t.strength,this.defence+=t.defence,this}plus(t){return new o(this.strength+t.strength,this.defence+t.defence)}minus(t){return new o(this.strength-t.strength,this.defence-t.defence)}equals(t){return this.strength===t.strength&&this.defence===t.defence}constructor(t,e){this.strength=t,this.defence=e}}class h extends o{add(t){return t instanceof h&&(this.energy+=t.energy,this.gold+=t.gold),this.strength+=t.strength,this.defence+=t.defence,this}plus(t){return t instanceof h?new h(this.energy+t.energy,this.strength+t.strength,this.defence+t.defence,this.gold+t.gold):new h(this.energy,this.strength+t.strength,this.defence+t.defence,this.gold)}minus(t){return t instanceof h?new h(this.energy-t.energy,this.strength-t.strength,this.defence-t.defence,this.gold-t.gold):new h(this.energy,this.strength-t.strength,this.defence-t.defence,this.gold)}equals(t){return this.energy===t.energy&&this.strength===t.strength&&this.defence===t.defence&&this.gold===t.gold}calculateScore(t){return Object.keys(t.rates).reduce(((e,s)=>e+t.rates[s]*this[s]),0)}clone(){return new h(this.energy,this.strength,this.defence,this.gold)}constructor(t,e,s,a){super(e,s),this.energy=t,this.gold=a}}class c{equals(t){return this.x===t.x&&this.y===t.y}substract(t){return new c(this.x-t.x,this.y-t.y)}clone(){return new c(this.x,this.y)}convertIntoPosition(t){return new _(t,this.x,this.y,0,0)}getDirectionTo(t){return this.x<t.x?this.y>t.y?p.RIGHT_UP:this.y===t.y?p.RIGHT:p.RIGHT_DOWN:this.x===t.x?this.y>t.y?p.UP:this.y===t.y?p.NO_DIRECTION:p.DOWN:this.y>t.y?p.LEFT_UP:this.y===t.y?p.LEFT:p.LEFT_DOWN}toString(){return"("+this.x+", "+this.y+")"}constructor(t=0,e=0){this.x=t,this.y=e}}class _{getPartsCoord(){return this._partsCoord}getOffsetCoord(){return this._offsetCoord}getScreenTopPosition(){var t=Math.floor(this._partsCoord.x/(V.H_PARTS_NUM_IN_WINDOW-1))*(V.H_PARTS_NUM_IN_WINDOW-1),e=Math.floor(this._partsCoord.y/(V.V_PARTS_NUM_IN_WINDOW-1))*(V.V_PARTS_NUM_IN_WINDOW-1);return new _(this._wwa,t,e,0,0)}getDefaultCameraPosition(){var t=this.getScreenTopPosition(),e=t.getPartsCoord(),s=this._wwa.getMapWidth(),a=t.getPartsCoord().clone();return e.x===s-1&&a.x--,e.y===s-1&&a.y--,a.convertIntoPosition(this._wwa).getScreenTopPosition()}getNextJustPosition(t){if(void 0!==t){var e=this._partsCoord;return new _(this._wwa,e.x+m[t],e.y+E[t],0,0)}var s=this._partsCoord.x,a=this._partsCoord.y;return this._offsetCoord.x<0?s--:this._offsetCoord.x>0&&s++,this._offsetCoord.y<0?a--:this._offsetCoord.y>0&&a++,new _(this._wwa,s,a,0,0)}getNextFramePosition(t,e,s){var a=this._partsCoord.x,i=this._partsCoord.y,r=this._offsetCoord.x+m[t]*e,n=this._offsetCoord.y+E[t]*s;if(r<0){var o=Math.floor(Math.abs(r)/V.CHIP_SIZE);a-=o,r=(r+o*V.CHIP_SIZE)%V.CHIP_SIZE}if(n<0){var h=Math.floor(Math.abs(n)/V.CHIP_SIZE);i-=h,n=(n+h*V.CHIP_SIZE)%V.CHIP_SIZE}return r>=V.CHIP_SIZE&&(a+=Math.floor(r/V.CHIP_SIZE),r=(r+V.CHIP_SIZE)%V.CHIP_SIZE),n>=V.CHIP_SIZE&&(i+=Math.floor(n/V.CHIP_SIZE),n=(n+V.CHIP_SIZE)%V.CHIP_SIZE),new _(this._wwa,a,i,r,n)}isJustPosition(){return 0==this._offsetCoord.x&&0==this._offsetCoord.y}isScreenTopPosition(){var t=this.getScreenTopPosition();return this.equals(t)}equals(t){return this._partsCoord.equals(t.getPartsCoord())&&this._offsetCoord.equals(t.getOffsetCoord())}isInCameraRange(t,e=!1){var s=t.getPosition()._partsCoord,a=this._partsCoord.x,i=this._partsCoord.y,r=e?1:0;return s.x<=a&&a<s.x+V.H_PARTS_NUM_IN_WINDOW-r&&s.y<=i&&i<s.y+V.V_PARTS_NUM_IN_WINDOW-r}hasLocalGate(){return this._wwa.getMapTypeByPosition(this)===V.MAP_LOCALGATE||this._wwa.getObjectTypeByPosition(this)===V.OBJECT_LOCALGATE}clone(){return new _(this._wwa,this._partsCoord.x,this._partsCoord.y,this._offsetCoord.x,this._offsetCoord.y)}constructor(t,e,s,a=0,i=0){if(this._wwa=t,void 0===this._wwa)throw new Error("WWAのインスタンスが存在しません. ");var r=this._wwa.getMapWidth();if(e<0||e>=r||e>=r-1&&a>0||s<0||s>=r||s>=r-1&&i>0)throw new Error("範囲外の座標です!! parts:("+e+", "+s+"), offset:("+a+", "+i+"), mapWidth = "+r);this._partsCoord=new c(e,s),this._offsetCoord=new c(a,i)}}class l{constructor(t,e,s){this.destPos=t.clone(),this.srcPos=e.clone(),this.srcSize=s.clone()}}class u{constructor(t,e,s,a,i){this.partsIDObj=t,this.x=e,this.y=s,this.isStatic=a,this.isFighting=i}}var d,p;!function(t){t[t.GOTO_WWA=0]="GOTO_WWA",t[t.BATTLE_REPORT=1]="BATTLE_REPORT",t[t.GAME_END=2]="GAME_END"}(d||(d={})),function(t){t[t.UNUSED=0]="UNUSED",t[t.LEFT=4]="LEFT",t[t.RIGHT=6]="RIGHT",t[t.DOWN=2]="DOWN",t[t.UP=8]="UP",t[t.LEFT_DOWN=1]="LEFT_DOWN",t[t.LEFT_UP=7]="LEFT_UP",t[t.RIGHT_DOWN=3]="RIGHT_DOWN",t[t.RIGHT_UP=9]="RIGHT_UP",t[t.NO_DIRECTION=5]="NO_DIRECTION"}(p||(p={}));const m=[0,-1,0,1,-1,0,1,-1,0,1],E=[0,1,1,1,0,0,0,-1,-1,-1];var g,w,f,y,v,S,A,T,I,C,D,O,P;!function(t){t[t.YES=0]="YES",t[t.NO=1]="NO",t[t.UNSELECTED=2]="UNSELECTED"}(g||(g={})),function(t){t[t.MAP=0]="MAP",t[t.OBJECT=1]="OBJECT",t[t.CHOICE_YES=2]="CHOICE_YES",t[t.CHOICE_NO=3]="CHOICE_NO"}(w||(w={})),function(t){t[t.NORMAL=0]="NORMAL",t[t.CAN_USE=1]="CAN_USE",t[t.NOT_DISAPPEAR=2]="NOT_DISAPPEAR"}(f||(f={})),function(t){t[t.MAP=1]="MAP",t[t.OBJECT=0]="OBJECT"}(y||(y={}));class N{constructor(){var t=window.navigator.userAgent;this.os=this._getOS(t),this.browser=this.getBrowser(t),this.device=this.getDevice()}_getOS(t){return t.match(/xbox/i)?v.XBOX:t.match(/windows/i)?v.WINDOWS:t.match(/macintosh/i)?"ontouchstart"in document?v.IOS:v.MACINTOSH:t.match(/iphone|ipad|ipod/i)?v.IOS:t.match(/oculus/i)?v.OCULUS:t.match(/android/i)?v.ANDROID:t.match(/nintendo/i)?v.NINTENDO:t.match(/playstation/i)?v.PLAY_STATION:t.match(/linux/i)?v.LINUX:v.OTHERS}getBrowser(t){return t.match(/chrome/i)?A.CHROME:t.match(/firefox/i)?A.FIREFOX:t.match(/safari/i)?A.SAFARI:A.OTHERS}getDevice(){switch(this.os){case v.WINDOWS:case v.MACINTOSH:case v.LINUX:return S.PC;case v.IOS:case v.ANDROID:return S.SP;case v.OCULUS:return S.VR;case v.NINTENDO:case v.PLAY_STATION:case v.XBOX:return S.GAME}return S.OTHERS}}!function(t){t[t.WINDOWS=1]="WINDOWS",t[t.MACINTOSH=2]="MACINTOSH",t[t.LINUX=3]="LINUX",t[t.ANDROID=4]="ANDROID",t[t.IOS=5]="IOS",t[t.NINTENDO=6]="NINTENDO",t[t.PLAY_STATION=7]="PLAY_STATION",t[t.OCULUS=8]="OCULUS",t[t.XBOX=9]="XBOX",t[t.OTHERS=9999]="OTHERS"}(v||(v={})),function(t){t[t.PC=1]="PC",t[t.SP=2]="SP",t[t.VR=3]="VR",t[t.GAME=4]="GAME",t[t.OTHERS=9999]="OTHERS"}(S||(S={})),function(t){t[t.CHROME=1]="CHROME",t[t.FIREFOX=2]="FIREFOX",t[t.SAFARI=3]="SAFARI",t[t.OTHERS=9999]="OTHERS"}(A||(A={})),function(t){t[t.NONE=0]="NONE",t[t.CALL_BY_MAP_PARTS=1]="CALL_BY_MAP_PARTS",t[t.CALL_BY_OBJECT_PARTS=2]="CALL_BY_OBJECT_PARTS",t[t.CALL_BY_ITEM_USE=3]="CALL_BY_ITEM_USE",t[t.CALL_BY_QUICK_SAVE=4]="CALL_BY_QUICK_SAVE",t[t.CALL_BY_QUICK_LOAD=5]="CALL_BY_QUICK_LOAD",t[t.CALL_BY_RESTART_GAME=6]="CALL_BY_RESTART_GAME",t[t.CALL_BY_GOTO_WWA=7]="CALL_BY_GOTO_WWA",t[t.CALL_BY_PASSWORD_SAVE=8]="CALL_BY_PASSWORD_SAVE",t[t.CALL_BY_PASSWORD_LOAD=9]="CALL_BY_PASSWORD_LOAD",t[t.CALL_BY_END_GAME=10]="CALL_BY_END_GAME",t[t.CALL_BY_SUSPEND=11]="CALL_BY_SUSPEND",t[t.CALL_BY_LOG_QUICK_SAVE=12]="CALL_BY_LOG_QUICK_SAVE",t[t.CALL_BY_LOG_QUICK_LOAD=13]="CALL_BY_LOG_QUICK_LOAD"}(T||(T={})),function(t){t[t.QUICK_LOAD=0]="QUICK_LOAD",t[t.QUICK_SAVE=1]="QUICK_SAVE",t[t.RESTART_GAME=2]="RESTART_GAME",t[t.GOTO_WWA=3]="GOTO_WWA"}(I||(I={})),function(t){t[t.UP=0]="UP",t[t.DOWN=1]="DOWN"}(C||(C={})),function(t){t[t.QUICK_LOAD=0]="QUICK_LOAD",t[t.RESTART_GAME=1]="RESTART_GAME",t[t.PASSWORD=2]="PASSWORD"}(D||(D={})),function(t){t[t.STATIC=0]="STATIC",t[t.CHASE_PLAYER=1]="CHASE_PLAYER",t[t.RUN_OUT=2]="RUN_OUT",t[t.HANG_AROUND=3]="HANG_AROUND"}(O||(O={})),function(t){t[t.MODE_X=0]="MODE_X",t[t.MODE_Y=1]="MODE_Y",t[t.UNDECIDED=2]="UNDECIDED"}(P||(P={}));var M,b=["cell-load","cell-save","cell-restart","cell-gotowwa"];!function(t){t[t.UNDEFINED=0]="UNDEFINED",t[t.IMGPLAYER=1]="IMGPLAYER",t[t.IMGYESNO=2]="IMGYESNO",t[t.HPMAX=3]="HPMAX",t[t.SAVE=4]="SAVE",t[t.ITEM=5]="ITEM",t[t.DEFAULT=6]="DEFAULT",t[t.OLDMAP=7]="OLDMAP",t[t.PARTS=8]="PARTS",t[t.MOVE=9]="MOVE",t[t.MAP=10]="MAP",t[t.DIRMAP=11]="DIRMAP",t[t.IMGFRAME=12]="IMGFRAME",t[t.IMGBOM=13]="IMGBOM",t[t.DELPLAYER=14]="DELPLAYER",t[t.FACE=15]="FACE",t[t.EFFECT=16]="EFFECT",t[t.GAMEOVER=17]="GAMEOVER",t[t.IMGCLICK=18]="IMGCLICK",t[t.STATUS=19]="STATUS",t[t.EFFITEM=20]="EFFITEM",t[t.COLOR=21]="COLOR",t[t.WAIT=22]="WAIT",t[t.SOUND=23]="SOUND",t[t.JUMPGATE=24]="JUMPGATE",t[t.RECPOSITION=25]="RECPOSITION",t[t.JUMPRECPOSITION=26]="JUMPRECPOSITION",t[t.CONSOLE_LOG=27]="CONSOLE_LOG",t[t.COPY_HP_TO=28]="COPY_HP_TO",t[t.SET_HP=29]="SET_HP",t[t.COPY_HPMAX_TO=30]="COPY_HPMAX_TO",t[t.SET_HPMAX=31]="SET_HPMAX",t[t.COPY_AT_TO=32]="COPY_AT_TO",t[t.SET_AT=33]="SET_AT",t[t.COPY_DF_TO=34]="COPY_DF_TO",t[t.SET_DF=35]="SET_DF",t[t.COPY_MONEY_TO=36]="COPY_MONEY_TO",t[t.SET_MONEY=37]="SET_MONEY",t[t.COPY_STEP_COUNT_TO=38]="COPY_STEP_COUNT_TO",t[t.VAR_SET_VAL=39]="VAR_SET_VAL",t[t.VAR_SET=40]="VAR_SET",t[t.VAR_ADD=41]="VAR_ADD",t[t.VAR_SUB=42]="VAR_SUB",t[t.VAR_MUL=43]="VAR_MUL",t[t.VAR_DIV=44]="VAR_DIV",t[t.VAR_SET_RAND=45]="VAR_SET_RAND",t[t.SHOW_STR=46]="SHOW_STR",t[t.GAME_SPEED=47]="GAME_SPEED",t[t.IF=50]="IF",t[t.SET_SPEED=51]="SET_SPEED",t[t.COPY_TIME_TO=52]="COPY_TIME_TO",t[t.HIDE_STATUS=53]="HIDE_STATUS",t[t.VAR_MAP=54]="VAR_MAP",t[t.VAR_MOD=55]="VAR_MOD",t[t.NO_GAMEOVER=56]="NO_GAMEOVER",t[t.ELSE_IF=57]="ELSE_IF",t[t.ELSE=58]="ELSE",t[t.END_IF=59]="END_IF",t[t.SET=60]="SET",t[t.MAP2=61]="MAP2",t[t.SHOW_STR2=62]="SHOW_STR2",t[t.CONSOLE_LOG2=63]="CONSOLE_LOG2",t[t.DELAYBGM=64]="DELAYBGM",t[t.SYSMSG=65]="SYSMSG",t[t.GAMEPAD_BUTTON=100]="GAMEPAD_BUTTON",t[t.OLDMOVE=101]="OLDMOVE",t[t.LEGACY_IF=10050]="LEGACY_IF"}(M||(M={}));var x,L,R,B={"":0,$imgplayer:1,$imgyesno:2,$hpmax:3,$save:4,$item:5,$default:6,$oldmap:7,$parts:8,$move:9,$map:10,$dirmap:11,$imgframe:12,$imgbom:13,$delplayer:14,$face:15,$effect:16,$gameover:17,$imgclick:18,$status:19,$effitem:20,$color:21,$wait:22,$sound:23,$jumpgate:24,$rec_pos:25,$jump_rec_pos:26,$console_log:27,$copy_hp_to:28,$set_hp:29,$copy_hpmax_to:30,$set_hpmax:31,$copy_at_to:32,$set_at:33,$copy_df_to:34,$set_df:35,$copy_money_to:36,$set_money:37,$copy_step_count_to:38,$var_set_val:39,$var_set:40,$var_add:41,$var_sub:42,$var_mul:43,$var_div:44,$var_set_rand:45,$show_str:46,$game_speed:47,$if:50,$set_speed:51,$copy_time_to:52,$hide_status:53,$var_map:54,$var_mod:55,$no_gameover:56,$else_if:57,$else:58,$endif:59,$set:60,$map2:61,$show_str2:62,$console_log2:63,$delaybgm:64,$sysmsg:65,$gamepad_button:100,$oldmove:101};!function(t){t[t.ENERGY=0]="ENERGY",t[t.STRENGTH=1]="STRENGTH",t[t.DEFENCE=2]="DEFENCE",t[t.GOLD=3]="GOLD",t[t.MOVES=4]="MOVES"}(x||(x={})),function(t){t[t.ENERGY=0]="ENERGY",t[t.STRENGTH=1]="STRENGTH",t[t.DEFENCE=2]="DEFENCE",t[t.GOLD=3]="GOLD",t[t.WIDE_CELL_ROW=4]="WIDE_CELL_ROW",t[t.ITEM_BG=5]="ITEM_BG",t[t.MAIN_FRAME=6]="MAIN_FRAME"}(L||(L={})),function(t){t[t.DECISION=1]="DECISION",t[t.ATTACK=3]="ATTACK",t[t.BGM_LB=70]="BGM_LB",t[t.NO_SOUND=99]="NO_SOUND"}(R||(R={}));const U=[1,2,5,8,10,20],k=["超低速","低速","準低速","中速","高速","超高速"],W=["energy","strength","defence","gold"];class V{}V.WWA_HOME="http://wwajp.com",V.ITEMBOX_SIZE=12,V.MAP_ATR_MAX=60,V.OBJ_ATR_MAX=60,V.OLD_MAP_ATR_MAX=40,V.OLD_OBJ_ATR_MAX=40,V.ATR_TYPE=3,V.ATR_MODE=4,V.ATR_STRING=5,V.ATR_X=6,V.ATR_Y=7,V.ATR_X2=8,V.ATR_Y2=9,V.ATR_ENERGY=10,V.ATR_STRENGTH=11,V.ATR_DEFENCE=12,V.ATR_GOLD=13,V.ATR_ITEM=14,V.ATR_NUMBER=15,V.ATR_JUMP_X=16,V.ATR_MOVE=16,V.ATR_JUMP_Y=17,V.ATR_SOUND=19,V.ATR_APPERANCE_BASE=20,V.REL_ATR_APPERANCE_ID=0,V.REL_ATR_APPERANCE_X=1,V.REL_ATR_APPERANCE_Y=2,V.REL_ATR_APPERANCE_TYPE=3,V.REL_ATR_APPERANCE_UNIT_LENGTH=4,V.ATR_RANDOM_BASE=10,V.RANDOM_ATR_NUM=10,V.RANDOM_ITERATION_MAX=10,V.MAP_STREET=0,V.MAP_WALL=1,V.MAP_LOCALGATE=2,V.MAP_URLGATE=4,V.OBJECT_NORMAL=0,V.OBJECT_MESSAGE=1,V.OBJECT_URLGATE=2,V.OBJECT_STATUS=3,V.OBJECT_ITEM=4,V.OBJECT_DOOR=5,V.OBJECT_MONSTER=6,V.OBJECT_SCORE=11,V.OBJECT_SELL=14,V.OBJECT_BUY=15,V.OBJECT_RANDOM=16,V.OBJECT_SELECT=17,V.OBJECT_LOCALGATE=18,V.SYSTEM_MESSAGE_NUM=20,V.IMGPOS_DEFAULT_YESNO_X=3,V.IMGPOS_DEFAULT_YESNO_Y=1,V.IMGRELPOS_YESNO_YES_X=0,V.IMGRELPOS_YESNO_NO_X=1,V.IMGRELPOS_YESNO_YESP_X=2,V.IMGRELPOS_YESNO_NOP_X=3,V.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X=0,V.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y=0,V.IMGPOS_DEFAULT_FRAME_X=0,V.IMGPOS_DEFAULT_FRAME_Y=1,V.IMGPOS_DEFAULT_BATTLE_EFFECT_X=3,V.IMGPOS_DEFAULT_BATTLE_EFFECT_Y=3,V.DEFAULT_DISABLE_SAVE=!1,V.DEFAULT_OLDMAP=!1,V.DEFAULT_OBJECT_NO_COLLAPSE=!1,V.SPLASH_SCREEN_DISP_MILLS=100,V.DEFAULT_FRAME_INTERVAL=20,V.GAMEOVER_FRAME_INTERVAL=50,V.YESNO_PRESS_DISP_FRAME_NUM=20,V.WAIT_TIME_FRAME_NUM=6,V.CHIP_SIZE=40,V.MAP_WINDOW_WIDTH=440,V.MAP_WINDOW_HEIGHT=440,V.H_PARTS_NUM_IN_WINDOW=V.MAP_WINDOW_WIDTH/V.CHIP_SIZE,V.V_PARTS_NUM_IN_WINDOW=V.MAP_WINDOW_HEIGHT/V.CHIP_SIZE,V.MIN_SPEED_INDEX=0,V.MAX_SPEED_INDEX=U.length-1,V.QUICK_BATTLE_SPEED_INDECIES=[U.length-2,U.length-1],V.ANIMATION_REP_HALF_FRAME=22,V.PLAYER_LOOKING_AROUND_START_FRAME=4*V.ANIMATION_REP_HALF_FRAME,V.RELATIVE_COORD_BIAS=1e4,V.RELATIVE_COORD_LOWER=V.RELATIVE_COORD_BIAS-1e3,V.PLAYER_COORD=V.RELATIVE_COORD_BIAS-1e3,V.LOCALGATE_PLAYER_WAIT_FRAME=5,V.STATUS_CHANGED_EFFECT_FRAME_NUM=20,V.PASSABLE_OBJECT=1,V.APPERANCE_PARTS_MIN_INDEX=0,V.APPERANCE_PARTS_MAX_INDEX=9,V.APPERANCE_PARTS_MIN_INDEX_NO=5,V.APPERANCE_PARTS_MAX_INDEX_YES=4,V.FADEOUT_SPEED=8,V.STATUS_MINUS_BORDER=3e4,V.ITEMBOX_IS_FULL=-1,V.BATTLE_INTERVAL_FRAME_NUM=10,V.BATTLE_SPEED_CHANGE_TURN_NUM=40,V.RANDOM_MOVE_ITERATION_NUM=50,V.RANDOM_MOVE_ITERATION_NUM_BEFORE_V31=8,V.BATTLE_ESTIMATE_MONSTER_TYPE_MAX=8,V.SOUND_MAX=100,V.ITEM_BORDER_IMG_DATA_URL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAArklEQVRYR+2Y0QqAIAxFt///aENJHwxxuJUSxzeh3S7HXaNpEkly4FIRzba0GEyHeVTN7jqDWvb7V4Y1NLibZIY0NbiL5G3MZLCe / 1fn3XJgJYjB7mgg6O1VCEKwXo79JeklY62nB62kRs9BEIKkeNIDhISQEBJC4k0BBCF4D7D4cV9shf99ixdB + MrM0y3fa3zV05D45GOqhwPMGPkYlccIOEY2VKUN0UNVXxC7ADj7mDi9aFZZAAAAAElFTkSuQmCC",V.LOAD_STAGE_MAX_EXCEPT_AUDIO=7,V.WWA_STYLE_TAG_ID="wwa-additional-style",V.DEFAULT_FRAME_COLOR_R=255,V.DEFAULT_FRAME_COLOR_G=255,V.DEFAULT_FRAME_COLOR_B=255,V.DEFAULT_FRAMEOUT_COLOR_R=96,V.DEFAULT_FRAMEOUT_COLOR_G=96,V.DEFAULT_FRAMEOUT_COLOR_B=96,V.DEFAULT_STRBACK_COLOR_R=0,V.DEFAULT_STRBACK_COLOR_G=0,V.DEFAULT_STRBACK_COLOR_B=0,V.DEFAULT_STATUS_COLOR_R=0,V.DEFAULT_STATUS_COLOR_G=0,V.DEFAULT_STATUS_COLOR_B=0,V.KEYPRESS_MESSAGE_CHANGE_FRAME_NUM=20,V.WWAP_SERVER_OLD="http://wwawing.com/wwap",V.WWAP_SERVER="https://wwaphoenix.github.io",V.WWAP_SERVER_AUDIO_DIR="audio",V.WWAP_SERVER_TITLE_IMG="cover_p.gif",V.WWAP_SERVER_LOADER_NO_WORKER="wwaload.noworker.js",V.SCREEN_WIDTH=560,V.SCREEN_HEIGHT=440,V.LOADING_FONT="Times New Roman",V.MSG_STR_WIDTH=16,V.ITEM_EFFECT_SPEED_PIXEL_PER_FRAME=20,V.ITEMBOX_TOP_Y=140,V.USER_VAR_NUM=256,V.USER_VAR_NUM_MAX_VALUE=9007199254740991,V.USET_VAR_NUM_MIN_VALUE=-9007199254740991,V.CONTROLL_WAIT_FRAME=6,V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM=10,V.FIGHT_DRAW_TURN=40;class F{}F.QUICK_SAVE_MAX=4,F.QUICK_SAVE_THUMNAIL_WIDTH=99,F.QUICK_SAVE_THUMNAIL_HEIGHT=99,F.SAVE_INTERVAL_MOVE=200,F.INDEXEDDB_DB_NAME="WWA_WING_DB",F.INDEXEDDB_TABLE_NAME="SAVE_TABLE",F.DATE_LAST_SAVE_TEXT_COLOR="rgba(255,255,0,1)";class Y{}Y.EMPTY_LOAD="",Y.EMPTY_SAVE="",Y.PASSWORD="Password",Y.QUICK_SAVE="Quick Save",Y.QUICK_LOAD="Quick Load",Y.BATTLE_REPORT="Battle Report",Y.GAME_END="Game End",Y.GOTO_WWA="Goto WWA",Y.RESTART_GAME="Restart Game";class G{}var H;!function(t){t[t.INIT=0]="INIT",t[t.MAP_LOAD=1]="MAP_LOAD",t[t.OBJ_LOAD=2]="OBJ_LOAD",t[t.MAP_ATTR=3]="MAP_ATTR",t[t.OBJ_ATTR=4]="OBJ_ATTR",t[t.RAND_PARTS=5]="RAND_PARTS",t[t.MESSAGE=6]="MESSAGE",t[t.GAME_INIT=7]="GAME_INIT",t[t.AUDIO=8]="AUDIO",t[t.FINISH=9]="FINISH"}(H||(H={}));var K,j,X,J,$,Z,q,Q,z,tt,et,st=["ロードの準備をしています。","背景パーツを読み込んでいます。","物体パーツを読み込んでます。","背景パーツの属性を読み込んでます。","物体パーツの属性を読み込んでます。","ランダムパーツを置換しています。","メッセージを読み込んでます。","Welcome to WWA Wing!"],at=["Welcome to WWA Wing!","Now Map Data Loading .....","Now CG Data Loading .....","Now Making chara CG ....."];!function(t){t[t.LINE=30]="LINE",t[t.TITLE_X=100]="TITLE_X",t[t.TITLE_Y=70]="TITLE_Y",t[t.LOADING_X=50]="LOADING_X",t[t.LOADING_Y=140]="LOADING_Y",t[t.ERROR_X=10]="ERROR_X",t[t.ERROR_Y=180]="ERROR_Y",t[t.FOOTER_X=160]="FOOTER_X",t[t.FOOTER_Y=360]="FOOTER_Y",t[t.WORLD_Y=330]="WORLD_Y",t[t.COPYRIGHT_Y=390]="COPYRIGHT_Y"}(K||(K={})),function(t){t[t.TITLE=32]="TITLE",t[t.LOADING=22]="LOADING",t[t.FOOTER=18]="FOOTER",t[t.ERRROR=16]="ERRROR"}(j||(j={})),function(t){t[t.COLOR_FRAME=0]="COLOR_FRAME",t[t.COLOR_FRAMEOUT=1]="COLOR_FRAMEOUT",t[t.COLOR_STR=2]="COLOR_STR",t[t.COLOR_STATUS_STR=4]="COLOR_STATUS_STR"}(X||(X={})),function(t){t[t.MESSAGE_WINDOW=0]="MESSAGE_WINDOW",t[t.SIDEBAR=1]="SIDEBAR"}(J||(J={})),function(t){t[t.BITSHIFT=16]="BITSHIFT",t[t.BITMASK=65535]="BITMASK"}($||($={})),function(t){t[t.NONE=0]="NONE",t[t.KEYDOWN=1]="KEYDOWN",t[t.KEYPRESS=2]="KEYPRESS",t[t.KEYUP=3]="KEYUP",t[t.KEYPRESS_MESSAGECHANGE=4]="KEYPRESS_MESSAGECHANGE"}(Z||(Z={})),function(t){t[t.KEY_ENTER=13]="KEY_ENTER",t[t.KEY_SHIFT=16]="KEY_SHIFT",t[t.KEY_ESC=27]="KEY_ESC",t[t.KEY_SPACE=32]="KEY_SPACE",t[t.KEY_LEFT=37]="KEY_LEFT",t[t.KEY_UP=38]="KEY_UP",t[t.KEY_RIGHT=39]="KEY_RIGHT",t[t.KEY_DOWN=40]="KEY_DOWN",t[t.KEY_1=49]="KEY_1",t[t.KEY_2=50]="KEY_2",t[t.KEY_3=51]="KEY_3",t[t.KEY_A=65]="KEY_A",t[t.KEY_B=66]="KEY_B",t[t.KEY_C=67]="KEY_C",t[t.KEY_D=68]="KEY_D",t[t.KEY_E=69]="KEY_E",t[t.KEY_F=70]="KEY_F",t[t.KEY_G=71]="KEY_G",t[t.KEY_H=72]="KEY_H",t[t.KEY_I=73]="KEY_I",t[t.KEY_J=74]="KEY_J",t[t.KEY_K=75]="KEY_K",t[t.KEY_L=76]="KEY_L",t[t.KEY_M=77]="KEY_M",t[t.KEY_N=78]="KEY_N",t[t.KEY_O=79]="KEY_O",t[t.KEY_P=80]="KEY_P",t[t.KEY_Q=81]="KEY_Q",t[t.KEY_R=82]="KEY_R",t[t.KEY_S=83]="KEY_S",t[t.KEY_T=84]="KEY_T",t[t.KEY_U=85]="KEY_U",t[t.KEY_V=86]="KEY_V",t[t.KEY_W=87]="KEY_W",t[t.KEY_X=88]="KEY_X",t[t.KEY_Y=89]="KEY_Y",t[t.KEY_Z=90]="KEY_Z",t[t.KEY_F1=112]="KEY_F1",t[t.KEY_F2=113]="KEY_F2",t[t.KEY_F3=114]="KEY_F3",t[t.KEY_F4=115]="KEY_F4",t[t.KEY_F5=116]="KEY_F5",t[t.KEY_F6=117]="KEY_F6",t[t.KEY_F7=118]="KEY_F7",t[t.KEY_F8=119]="KEY_F8",t[t.KEY_F9=120]="KEY_F9",t[t.KEY_F10=121]="KEY_F10",t[t.KEY_F12=123]="KEY_F12"}(q||(q={}));class it{checkHitKey(t){var e=this.getKeyState(t);return e===Z.KEYDOWN||e===Z.KEYPRESS}getKeyState(t){return this._prevKeyState[t]?this._keyState[t]?Z.KEYPRESS:Z.KEYUP:this._keyState[t]?Z.KEYDOWN:Z.NONE}getKeyStateForControllPlayer(t){return this._prevKeyStateOnControllable[t]?this._keyState[t]?Z.KEYPRESS:Z.KEYUP:this._keyState[t]?Z.KEYDOWN:Z.NONE}getKeyStateForMessageCheck(t){return this._prevKeyState[t]?this._keyState[t]?this._keyInputContinueFrameNum[t]>=V.KEYPRESS_MESSAGE_CHANGE_FRAME_NUM?Z.KEYPRESS_MESSAGECHANGE:Z.KEYPRESS:Z.KEYUP:this._keyState[t]?Z.KEYDOWN:Z.NONE}setPressInfo(t){this._nextKeyState[t]=!0,this._keyInputContinueFrameNum[t]=-1}setReleaseInfo(t){this._nextKeyState[t]=!1,this._keyInputContinueFrameNum[t]=-1}update(){var t;for(this._prevKeyState=this._keyState.slice(),this._keyState=this._nextKeyState.slice(),t=0;t<it.KEY_BUFFER_MAX;t++)this._keyState[t]&&this._keyInputContinueFrameNum[t]++}memorizeKeyStateOnControllableFrame(){this._prevKeyStateOnControllable=this._keyState.slice()}allClear(){var t;for(this._nextKeyState=new Array(it.KEY_BUFFER_MAX),t=0;t<it.KEY_BUFFER_MAX;t++)this._nextKeyState[t]=!1}constructor(){var t;for(this._nextKeyState=new Array(it.KEY_BUFFER_MAX),this._keyState=new Array(it.KEY_BUFFER_MAX),this._prevKeyState=new Array(it.KEY_BUFFER_MAX),this._prevKeyStateOnControllable=new Array(it.KEY_BUFFER_MAX),this._keyInputContinueFrameNum=new Array(it.KEY_BUFFER_MAX),t=0;t<it.KEY_BUFFER_MAX;t++)this._nextKeyState[t]=!1,this._keyState[t]=!1,this._prevKeyState[t]=!1,this._prevKeyStateOnControllable[t]=!1,this._keyInputContinueFrameNum[t]=0}}it.KEY_BUFFER_MAX=256,function(t){t[t.NONE=0]="NONE",t[t.MOUSEDOWN=1]="MOUSEDOWN",t[t.MOUSEPRESS=2]="MOUSEPRESS",t[t.MOUSEUP=3]="MOUSEUP"}(Q||(Q={})),function(t){t[t.DIR_KEY=1]="DIR_KEY"}(z||(z={}));class rt{checkClickMouse(t){var e;return(e=void 0!==t?this.getMouseState(t):this.getMouseState())===Q.MOUSEDOWN||e===Q.MOUSEPRESS}getMouseState(t){return void 0!==t&&this._inputDir!==t?Q.NONE:this._prevMouseState?this._mouseState?Q.MOUSEPRESS:Q.MOUSEUP:this._mouseState?Q.MOUSEDOWN:Q.NONE}getMouseStateForControllPlayer(t){return void 0!==t&&this._inputDir!==t?Q.NONE:this._prevMouseStateOnControllable?this._mouseState?Q.MOUSEPRESS:Q.MOUSEUP:this._mouseState?Q.MOUSEDOWN:Q.NONE}setPressInfo(t,e){this._nextMouseState=!0,this._inputDir=t,this._touchID=e}setReleaseInfo(){this._touchID=0,this._nextMouseState=!1}touchIDIsSetDir(){return this._touchID===z.DIR_KEY}memorizeMouseStateOnControllableFrame(){this._prevMouseStateOnControllable=this._mouseState}update(){this._prevMouseState=this._mouseState,this._mouseState=this._nextMouseState}clear(){this._nextMouseState=!1}getTouchID(){return this._touchID}constructor(){this._prevMouseState=!1,this._mouseState=!1,this._nextMouseState=!1}}!function(t){t[t.BUTTON_INDEX_B=0]="BUTTON_INDEX_B",t[t.BUTTON_INDEX_A=1]="BUTTON_INDEX_A",t[t.BUTTON_INDEX_Y=2]="BUTTON_INDEX_Y",t[t.BUTTON_INDEX_X=3]="BUTTON_INDEX_X",t[t.BUTTON_INDEX_L=4]="BUTTON_INDEX_L",t[t.BUTTON_INDEX_R=5]="BUTTON_INDEX_R",t[t.BUTTON_INDEX_ZL=6]="BUTTON_INDEX_ZL",t[t.BUTTON_INDEX_ZR=7]="BUTTON_INDEX_ZR",t[t.BUTTON_INDEX_MINUS=8]="BUTTON_INDEX_MINUS",t[t.BUTTON_INDEX_PLUS=9]="BUTTON_INDEX_PLUS",t[t.BUTTON_INDEX_LEFT_STICK=10]="BUTTON_INDEX_LEFT_STICK",t[t.BUTTON_INDEX_RIGHT_STICK=11]="BUTTON_INDEX_RIGHT_STICK",t[t.BUTTON_CROSS_KEY_UP=12]="BUTTON_CROSS_KEY_UP",t[t.BUTTON_CROSS_KEY_DOWN=13]="BUTTON_CROSS_KEY_DOWN",t[t.BUTTON_CROSS_KEY_LEFT=14]="BUTTON_CROSS_KEY_LEFT",t[t.BUTTON_CROSS_KEY_RIGHT=15]="BUTTON_CROSS_KEY_RIGHT"}(tt||(tt={})),function(t){t[t.AXES_L_HORIZONTAL_INDEX=0]="AXES_L_HORIZONTAL_INDEX",t[t.AXES_L_VERTICAL_INDEX=1]="AXES_L_VERTICAL_INDEX",t[t.AXES_R_HORIZONTAL_INDEX=2]="AXES_R_HORIZONTAL_INDEX",t[t.AXES_R_VERTICAL_INDEX=3]="AXES_R_VERTICAL_INDEX",t[t.AXES_CROSS_KEY=9]="AXES_CROSS_KEY"}(et||(et={}));class nt{constructor(){var t;for(this.gamepad=null,this.triggers=[],t=0;t<16;t++)this.triggers[t]=!1}update(){this.gamepad=null;var t=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[];if(t&&t.length>0&&t[0]){var e=t[0];this.gamepad=e}}buttonTrigger(...t){if(!this.gamepad)return!1;var e,s,a,i,r;for(s=t.length,e=0;e<s;e++){a=t[e];var n=this.gamepad.buttons[a];if(!n)return!1;if(i="object"==typeof n?!0===n.pressed:1===n,r=this.triggers[a],this.triggers[a]=i,i&&!r)return!0}return!1}buttonPressed(...t){if(!this.gamepad)return!1;var e,s,a;for(s=t.length,e=0;e<s;e++){a=t[e];var i=this.gamepad.buttons[a];if(!i)return!1;if("object"==typeof i?!0===i.pressed:1===i)return!0}return!1}crossPressed(...t){if(!this.gamepad)return!1;var e,s;for(s=t.length,e=0;e<s;e++)switch(t[e]){case tt.BUTTON_CROSS_KEY_UP:if(this.gamepad.axes[et.AXES_L_VERTICAL_INDEX]<=-.6||this.gamepad.axes[et.AXES_R_VERTICAL_INDEX]<=-.6||-1===this.stickFloor(et.AXES_CROSS_KEY)||this.buttonPressed(tt.BUTTON_CROSS_KEY_UP))return!0;break;case tt.BUTTON_CROSS_KEY_DOWN:if(this.gamepad.axes[et.AXES_L_VERTICAL_INDEX]>=.7||this.gamepad.axes[et.AXES_R_VERTICAL_INDEX]>=.7||.1===this.stickFloor(et.AXES_CROSS_KEY)||this.buttonPressed(tt.BUTTON_CROSS_KEY_DOWN))return!0;break;case tt.BUTTON_CROSS_KEY_LEFT:if(this.gamepad.axes[et.AXES_L_HORIZONTAL_INDEX]<=-.7||this.gamepad.axes[et.AXES_R_HORIZONTAL_INDEX]<=-.7||.7===this.stickFloor(et.AXES_CROSS_KEY)||this.buttonPressed(tt.BUTTON_CROSS_KEY_LEFT))return!0;break;case tt.BUTTON_CROSS_KEY_RIGHT:if(this.gamepad.axes[et.AXES_L_HORIZONTAL_INDEX]>.6||this.gamepad.axes[et.AXES_R_HORIZONTAL_INDEX]>.6||-.5===this.stickFloor(et.AXES_CROSS_KEY)||this.buttonPressed(tt.BUTTON_CROSS_KEY_RIGHT))return!0}return!1}vibration(t){return!!this.gamepad&&(!!this.gamepad.vibrationActuator&&void(t?this.gamepad.vibrationActuator.playEffect("dual-rumble",{startDelay:0,duration:100,weakMagnitude:1,strongMagnitude:.5}):this.gamepad.vibrationActuator.playEffect("dual-rumble",{startDelay:0,duration:100,weakMagnitude:.5,strongMagnitude:1})))}stickFloor(...t){if(!this.gamepad)return 0;var e,s,a;for(s=t.length,e=0;e<s;e++){a=t[e];var i=this.gamepad.axes[a];return"number"!=typeof i?0:Math.floor(10*i)/10}return 0}}class ot{constructor(t=0){this.lastCalculatedTimeUnixMs=Date.now(),this.lastCalculatedPlayTimeMs=t}calculateTimeMs(){const t=Date.now(),e=t-this.lastCalculatedTimeUnixMs+this.lastCalculatedPlayTimeMs;return this.lastCalculatedTimeUnixMs=t,this.lastCalculatedPlayTimeMs=e,e}calculatePlayTimeFormat(){return ot.formatPlayTimeText(this.calculateTimeMs()/1e3)}static formatPlayTimeText(t){const e=Math.floor(t);return e>=36e6?"9999:99:99":("000"+(e/60/60|0)).slice(-4)+":"+("0"+(e/60|0)%60).slice(-2)+":"+("0"+e%60).slice(-2)}}const ht=["BUTTON_ENTER","BUTTON_ESC","BUTTON_SIDEBAR","BUTTON_FAST","BUTTON_SLOW","BUTTON_LEFT","BUTTON_UP","BUTTON_RIGHT","BUTTON_DOWN"],ct=["BUTTON_LEFT","BUTTON_UP","BUTTON_RIGHT","BUTTON_DOWN"],_t=new Set(ct);class lt{constructor(t,e=!1,s=null,a=null,i=null,r=null){if(this._enabled=null!==t,this._visible=e,this._onTouchStart=i||null,this._onTouchEnd=r||null,this._availableButtons=[],this._isTouchingButtons={},this._moveButtonsElement=a,this._buttonWrapperElement=s,this._setVisible(e),this._moveButtonsElement&&(this._moveButtonsElement.style.visibility="visible"),this._buttonWrapperElement&&(this._buttonWrapperElement.style.visibility="visible"),null!==t){for(const e in t){const s=t[e];if(!s)continue;const a=e;this._availableButtons.push(a),s.setAttribute("type",e),this._isTouchingButtons[a]={prev:!1,current:!1,next:!1};const i=t=>{t.cancelable&&t.preventDefault()},r=t=>{i(t),this.allClear()};s.addEventListener("touchstart",(t=>{i(t),this.setTouchInfo(a)})),s.addEventListener("touchcancel",r),lt.isMoveButton(a)?(s.addEventListener("touchmove",this._detectMovingMoveButton.bind(this)),s.addEventListener("touchend",this.allMoveClear.bind(this))):s.addEventListener("touchend",(t=>{i(t),this.clearTouchInfo(a)}))}null!==a&&a.addEventListener("touchmove",this._detectMovingMoveButton.bind(this))}}_detectMovingMoveButton(t){t.preventDefault(),this.allMoveClear();const e=t.targetTouches.item(0);if(!this._moveButtonsElement||null===e)return;const s=this._moveButtonsElement.getBoundingClientRect(),a=document.body.getBoundingClientRect(),i=s.left-a.left+s.width/2,r=s.top-a.top+s.height/2,n=e.pageX-i,o=e.pageY-r;n>=o?n<=-o?this.setTouchInfo("BUTTON_UP"):this.setTouchInfo("BUTTON_RIGHT"):n>=-o?this.setTouchInfo("BUTTON_DOWN"):this.setTouchInfo("BUTTON_LEFT")}_setVisible(t){null!==this._moveButtonsElement&&(this._moveButtonsElement.style.display=t?"grid":"none"),null!==this._buttonWrapperElement&&(this._buttonWrapperElement.style.display=t?"grid":"none"),this._visible=t}checkTouchButton(t){if(!this._enabled)return!1;return"TOUCH"===this.getButtonState(t)}checkTouchingButton(t){if(!this._enabled)return!1;const e=this.getButtonState(t);return"TOUCH"===e||"TOUCHING"===e}getButtonState(t){const e=this._isTouchingButtons[t];if(!this._enabled||void 0===e)return"NONE";const s=e.prev,a=e.current;return s&&a?"TOUCHING":a?"TOUCH":s?"LEAVE":"NONE"}setTouchInfo(t){const e=this._isTouchingButtons[t];this._enabled&&void 0!==e&&(e.next=!0)}clearTouchInfo(t){const e=this._isTouchingButtons[t];this._enabled&&void 0!==e&&(e.next=!1)}allMoveClear(){ct.forEach((t=>{this._availableButtons.includes(t)&&this.clearTouchInfo(t)}))}allClear(){this._availableButtons.forEach((t=>{if(void 0!==t){const e=this._isTouchingButtons[t];void 0!==e&&(e.next=!1)}}))}static isMoveButton(t){return _t.has(t)}update(){this._availableButtons.forEach((t=>{var e,s;if(void 0===t)return;const a=this._isTouchingButtons[t];if(void 0!==a)switch(this._isTouchingButtons[t].prev=a.current,this._isTouchingButtons[t].current=a.next,this.getButtonState(t)){case"TOUCH":null===(e=this._onTouchStart)||void 0===e||e.call(this,t);break;case"LEAVE":null===(s=this._onTouchEnd)||void 0===s||s.call(this,t)}}))}toggleVisible(){this._setVisible(!this._visible)}}function ut(){const t=document.querySelector("meta[name='viewport']"),e=window.innerWidth,s=window.innerHeight;let a="user-scalable=no";if(e>s){a=`width=${Math.floor(e/s*456)},${a}`}else e<=s&&(a=`width=576,${a}`);null==t||t.setAttribute("content",`${a}`)}var dt=t=>document.getElementById(t),pt=t=>document.querySelector(t),mt=t=>document.querySelector(t),Et=t=>document.querySelectorAll(t),gt=(t,e)=>{var s,a,i=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,r=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;return s=t-dt("wwa-wrapper").offsetLeft+i,a=e-dt("wwa-wrapper").offsetTop+r,new c(s,a)},wt=t=>t.match(/^https?:\/\//)||t.match(/^\.\.\//)?t:location.href="./"+t,ft=t=>{var e="";if(t instanceof Array){for(var s=0;s<t.length;s++)e+=ft(t[s])+"/";return e}return t+""};const yt=t=>t.split("").reverse().join("");function vt(t,e){if("number"!=typeof t)throw new TypeError(`${e} が数値ではありません。`);return!0}function St(t,e){if("string"==typeof t){const s=[...t];return e&&s.length>10?`"${s.slice(0,10).join("")}…`:`"${t}"`}return String(t)}class At{constructor(t,e,s){this.cvs=document.createElement("canvas"),this.cvs.width=t,this.cvs.height=e,this.ctx=this.cvs.getContext("2d",{alpha:s}),this._isTransparent=s}drawCanvas(t,e,s,a,i){this.ctx.drawImage(t,V.CHIP_SIZE*e,V.CHIP_SIZE*s,V.CHIP_SIZE,V.CHIP_SIZE,a,i,V.CHIP_SIZE,V.CHIP_SIZE)}clear(){this.clearRect(0,0,this.cvs.width,this.cvs.height)}clearRectWithLowerYLimit(t){this.clearRect(0,0,this.cvs.width,t)}clearRect(t,e,s,a){this._isTransparent?this.ctx.clearRect(t,e,s,a):(this.ctx.fillStyle="#9E9E9E",this.ctx.fillRect(t,e,s,a))}}class Tt{_load(){this._frameCoord,this._isLoaded||(this.mapCache=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],this.mapObjectCache=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],this._image=new Image,this._image.addEventListener("load",(()=>{this.createFrame(),this._loadCompleteCallBack()})),this._image.addEventListener("error",(()=>{throw new Error("Image Load Failed!!\nfile name:"+this._fileName)})),this._image.src=this._fileName,this._isLoaded=!0)}createFrame(){this._frameCanvas.clear(),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y,0,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y,V.MAP_WINDOW_WIDTH-V.CHIP_SIZE,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y+2,0,V.MAP_WINDOW_HEIGHT-V.CHIP_SIZE),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y+2,V.MAP_WINDOW_WIDTH-V.CHIP_SIZE,V.MAP_WINDOW_HEIGHT-V.CHIP_SIZE);for(var t=1;t<V.H_PARTS_NUM_IN_WINDOW-1;t++)this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+1,this._frameCoord.y,V.CHIP_SIZE*t,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+1,this._frameCoord.y+2,V.CHIP_SIZE*t,V.MAP_WINDOW_HEIGHT-V.CHIP_SIZE);for(t=1;t<V.V_PARTS_NUM_IN_WINDOW-1;t++)this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y+1,0,V.CHIP_SIZE*t),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y+1,V.MAP_WINDOW_WIDTH-V.CHIP_SIZE,V.CHIP_SIZE*t)}updateEffects(t){var e;if(t){var s,a=t.length;for(e=0;e<a;e++){var i=t[e];(s=this._effectCanvases[e])?s.clear():s=this._effectCanvases[e]=new At(V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,!0);for(var r=0;r<V.V_PARTS_NUM_IN_WINDOW;r++)for(var n=0;n<V.H_PARTS_NUM_IN_WINDOW;n++)s.drawCanvas(this._image,i.x,i.y,n*V.CHIP_SIZE,r*V.CHIP_SIZE)}}}drawFrame(){this._ctx.drawImage(this._frameCanvas.cvs,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE),this._ctx.drawImage(this._frameCanvas.cvs,0,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-1),V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE,0,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-1),V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE),this._ctx.drawImage(this._frameCanvas.cvs,0,V.CHIP_SIZE,V.CHIP_SIZE,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-2),0,V.CHIP_SIZE,V.CHIP_SIZE,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-2)),this._ctx.drawImage(this._frameCanvas.cvs,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-1),V.CHIP_SIZE,V.CHIP_SIZE,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-2),V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-1),V.CHIP_SIZE,V.CHIP_SIZE,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-2))}drawEffect(t){var e=this._effectCanvases[t];e&&this._ctx.drawImage(e.cvs,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW)}drawCanvas(t,e,s,a){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._image,V.CHIP_SIZE*t,V.CHIP_SIZE*e,V.CHIP_SIZE,V.CHIP_SIZE,s,a,V.CHIP_SIZE,V.CHIP_SIZE)}drawCanvasWithSize(t,e,s,a,i,r){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._image,V.CHIP_SIZE*t,V.CHIP_SIZE*e,V.CHIP_SIZE*s,V.CHIP_SIZE*a,i,r,V.CHIP_SIZE*s,V.CHIP_SIZE*a)}drawCanvasWithUpperYLimit(t,e,s,a,i){if(!this._isLoaded)throw new Error("No image was loaded.");var r=Math.max(0,a+V.CHIP_SIZE-i);r>=V.CHIP_SIZE||this._ctx.drawImage(this._image,V.CHIP_SIZE*t,V.CHIP_SIZE*e,V.CHIP_SIZE,V.CHIP_SIZE-r,s,a,V.CHIP_SIZE,V.CHIP_SIZE)}copyCanvas(t,e){return(s,a,i,r,n)=>{if(!this._isLoaded)throw new Error("No image was loaded.");const o=Math.max(0,e(r,n));o>=V.CHIP_SIZE||t.ctx.drawImage(this._image,V.CHIP_SIZE*s,V.CHIP_SIZE*a+o,V.CHIP_SIZE,V.CHIP_SIZE-o,i,r+o,V.CHIP_SIZE,V.CHIP_SIZE)}}copyBackCanvasWithUpperYLimit(t,e,s,a,i){this.copyCanvas(this._backCanvas,((t,e)=>t+V.CHIP_SIZE-e))(t,e,s,a,i)}copyBackCanvasWithLowerYLimit(t,e,s,a,i){this.copyCanvas(this._backCanvas,((t,e)=>e-t))(t,e,s,a,i)}copyObjectCanvasWithUpperYLimit(t,e,s,a,i,r){this.copyCanvas(this._objectCanvases[t],((t,e)=>t+V.CHIP_SIZE-e))(e,s,a,i,r)}copyObjectCanvasWithLowerYLimit(t,e,s,a,i,r){this.copyCanvas(this._objectCanvases[t],((t,e)=>e-t))(e,s,a,i,r)}drawBackCanvas(){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._backCanvas.cvs,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW)}drawObjectCanvas(t){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._objectCanvases[t].cvs,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW)}clearBackCanvas(){this._backCanvas.clear()}clearBackCanvasWithLowerYLimit(t){this._backCanvas.clearRectWithLowerYLimit(t)}clearObjectCanvases(){var t;for(t=0;t<2;t++)this._objectCanvases[t].clear()}clearObjectCanvasesWithLowerYLimit(t){var e;for(e=0;e<2;e++)this._objectCanvases[e].clearRectWithLowerYLimit(t)}drawCanvasWithLowerYLimit(t,e,s,a,i){if(!this._isLoaded)throw new Error("No image was loaded.");var r=Math.max(0,i-a);r>=V.CHIP_SIZE||this._ctx.drawImage(this._image,V.CHIP_SIZE*t,V.CHIP_SIZE*e+r,V.CHIP_SIZE,V.CHIP_SIZE-r,s,a+r,V.CHIP_SIZE,V.CHIP_SIZE)}clearCanvas(t,e,s,a){this._ctx.clearRect(t,e,s,a)}drawBase(t,e,s,a){this._ctx.fillStyle="#9E9E9E",this._ctx.fillRect(t,e,s,a)}setFrameImage(t){this._frameCoord=t,this.createFrame()}constructor(t,e,s,a){var i;for(this._isLoaded=!1,this.mapCache=void 0,this.mapObjectCache=void 0,this.mapCacheYLimit=0,this._frameCanvas=new At(V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,!0),this._backCanvas=new At(V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,!1),this._objectCanvases=[],this._effectCanvases=[],i=0;i<2;i++)this._objectCanvases[i]=new At(V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,!0);this._ctx=t,this._fileName=e,this._loadCompleteCallBack=a,this._load(),this._frameCoord=s.clone(),this.cpPartsLog=new c(0,0)}}class It{constructor(t){this._position=null,this.reset(t)}setPlayer(t){this._player=t}isResetting(){return this._isResetting}getPosition(){return this._position}getPreviousPosition(){return this._positionPrev}resetPreviousPosition(){this._positionPrev=null}move(t){var e=U[this._player.getSpeedIndex()];this._position=this._position.getNextFramePosition(t,e*(V.H_PARTS_NUM_IN_WINDOW-1),e*(V.V_PARTS_NUM_IN_WINDOW-1))}getTransitionStepNum(){return this._transitionStep}advanceTransitionStepNum(){return++this._transitionStep,this._transitionStep===V.V_PARTS_NUM_IN_WINDOW&&(this._isResetting=!1,this._transitionStep=0),this._transitionStep}isFinalStep(){if(!1===this._isResetting)throw new Error("リセット中ではありません。");return this._transitionStep===V.V_PARTS_NUM_IN_WINDOW-1}reset(t){this._positionPrev=this._position,this._position=t.getDefaultCameraPosition(),this._transitionStep=0,this._isResetting=!0}}class Ct{getPosition(){return this._position}constructor(t){this._position=t}}class Dt extends Ct{constructor(t){super(t)}}var Ot;!function(t){t[t.CONTROLLABLE=0]="CONTROLLABLE",t[t.MOVING=1]="MOVING",t[t.CAMERA_MOVING=2]="CAMERA_MOVING",t[t.MESSAGE_WAITING=3]="MESSAGE_WAITING",t[t.LOCALGATE_JUMPED=4]="LOCALGATE_JUMPED",t[t.BATTLE=5]="BATTLE",t[t.ESTIMATE_WINDOW_WAITING=6]="ESTIMATE_WINDOW_WAITING",t[t.PASSWORD_WINDOW_WAITING=7]="PASSWORD_WINDOW_WAITING",t[t.LOCALGATE_JUMPED_WITH_MESSAGE=8]="LOCALGATE_JUMPED_WITH_MESSAGE"}(Ot||(Ot={}));class Pt extends Dt{move(){if(this.isControllable())this.controll(this._dir);else if(this._state===Ot.CAMERA_MOVING){try{this._camera.move(this._dir)}catch(t){}this._isOnCameraStopPosition()&&(this._state=Ot.CONTROLLABLE,this._wwa.callCameraMoveUserDefineFunction())}else if(this._state===Ot.MOVING){try{var t=this._position.getNextFramePosition(this._dir,U[this._speedIndex],U[this._speedIndex])}catch(t){}t.isJustPosition()&&(this._state=Ot.CONTROLLABLE,this.toggleMovingImage(),this._moves++,this._isPartsEventExecuted=!1,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,this._wwa.callMoveUserDefineFunction()),this._position=t}}controll(t){var e,s;if(this.isControllable()){this._isPreparedForLookingAround=!1,this._dir=t;try{e=this._position.getNextFramePosition(this._dir,U[this._speedIndex],U[this._speedIndex]),s=this._position.getNextJustPosition(t)}catch(t){return}if(this._isOnCameraMovingPosition()){if(0!==this._wwa.getMapIdByPosition(s)||this._wwa.isOldMap()||this._wwa.debug)try{this._camera.move(this._dir),this._state=Ot.CAMERA_MOVING}catch(t){this._state=Ot.CONTROLLABLE}return}if(!this.canMoveTo(s))return this._wwa.getMapTypeByPosition(s)===V.MAP_WALL&&this._wwa.checkMap(s.getPartsCoord()),void this._wwa.checkObject(s.getPartsCoord());this._position=e,this._state=Ot.MOVING,this._wwa.getMapAttributeByPosition(this._position.getNextJustPosition(t),V.ATR_TYPE)!==V.MAP_LOCALGATE&&this._wwa.moveObjects(!0)}}setDir(t){this._isPreparedForLookingAround=!1,this._dir=t}canMoveTo(t){if(null===t)return!1;if(this._wwa.debug)return!0;this._wwa.getMapWidth(),t.getPartsCoord(),t.getOffsetCoord();return!(0===this._wwa.getMapIdByPosition(t)&&!this._wwa.isOldMap())&&(this._wwa.getMapTypeByPosition(t)!==V.MAP_WALL&&(0===this._wwa.getObjectIdByPosition(t)||(this._wwa.getObjectTypeByPosition(t)===V.OBJECT_NORMAL&&this._wwa.getObjectAttributeByPosition(t,V.ATR_MODE)===V.PASSABLE_OBJECT||this._wwa.getObjectTypeByPosition(t)===V.OBJECT_DOOR&&this._wwa.getObjectAttributeByPosition(t,V.ATR_NUMBER)===V.PASSABLE_OBJECT&&!this.hasItem(this._wwa.getObjectAttributeByPosition(t,V.ATR_ITEM)))))}isMoving(){return this._state==Ot.MOVING||this._state==Ot.CAMERA_MOVING}_isOnCameraMovingPosition(){var t=this._camera.getPosition().getPartsCoord(),e=this.getPosition().getPartsCoord();return e.x-t.x==V.H_PARTS_NUM_IN_WINDOW-1&&this._dir===p.RIGHT||e.x===t.x&&this._dir===p.LEFT||e.y-t.y==V.V_PARTS_NUM_IN_WINDOW-1&&this._dir===p.DOWN||e.y===t.y&&this._dir===p.UP}_isOnCameraStopPosition(){var t=this._camera.getPosition().getPartsCoord(),e=this.getPosition().getPartsCoord();return e.x-t.x==V.H_PARTS_NUM_IN_WINDOW-1&&this._dir===p.LEFT||e.x===t.x&&this._dir===p.RIGHT||e.y-t.y==V.V_PARTS_NUM_IN_WINDOW-1&&this._dir===p.UP||e.y===t.y&&this._dir===p.DOWN}isControllable(){var t=this._afterMoveMacroFlag;return this._afterMoveMacroFlag=!1,this._state===Ot.CONTROLLABLE&&!this._partsAppeared&&(this._wwa.getMapTypeByPosition(this._position)!==V.MAP_LOCALGATE&&this._wwa.getMapTypeByPosition(this._position)!==V.MAP_URLGATE||!this._wwa.isPrevFrameEventExecuted())&&0===this._moveMacroWaitingRemainMoves&&0===this._moveObjectAutoExecTimer&&!t&&this._wwa.canInput()}getCopyOfItemBox(){return this._itemBox.slice()}getDir(){return this._dir}isMovingImage(){return this._isMovingImage}toggleMovingImage(){this._isMovingImage?this._isMovingImage=!1:this._isMovingImage=!0}getEnergyMax(){return this._energyMax}isJumped(){return this._state===Ot.LOCALGATE_JUMPED||this._state===Ot.LOCALGATE_JUMPED_WITH_MESSAGE}setMessageWaiting(){this._state=Ot.MESSAGE_WAITING}isWaitingMessage(){return this._state===Ot.MESSAGE_WAITING}isDelayFrame(){return this._messageDelayFrameCount>0}updateDelayFrame(){this._messageDelayFrameCount--}setDelayFrame(){this._messageDelayFrameCount=1}clearMessageWaiting(){this._state!==Ot.MESSAGE_WAITING&&this._state!==Ot.LOCALGATE_JUMPED_WITH_MESSAGE||(this._state===Ot.MESSAGE_WAITING?this._state=Ot.CONTROLLABLE:this._state===Ot.LOCALGATE_JUMPED_WITH_MESSAGE&&(this._state=Ot.LOCALGATE_JUMPED),this._isPartsEventExecuted=!0,this._isPreparedForLookingAround&&(this._lookingAroundTimer=V.PLAYER_LOOKING_AROUND_START_FRAME))}setEstimateWindowWating(){this._state=Ot.ESTIMATE_WINDOW_WAITING}isWaitingEstimateWindow(){return this._state===Ot.ESTIMATE_WINDOW_WAITING}clearEstimateWindowWaiting(){this._state===Ot.ESTIMATE_WINDOW_WAITING&&(this._state=Ot.CONTROLLABLE)}setPasswordWindowWating(){this._state=Ot.PASSWORD_WINDOW_WAITING}isWaitingPasswordWindow(){return this._state===Ot.PASSWORD_WINDOW_WAITING}clearPasswordWindowWaiting(){this._state===Ot.PASSWORD_WINDOW_WAITING&&(this._state=Ot.CONTROLLABLE)}isPartsEventExecuted(){return this._isPartsEventExecuted}resetEventExecutionInfo(){this._isPartsEventExecuted=!1}getLastExecPartsIDOnSamePosition(t){return t===y.MAP?this._samePosLastExecutedMapID:this._samePosLastExecutedObjID}setLastExecInfoOnSamePosition(t,e){t===y.MAP?this._samePosLastExecutedMapID=e:this._samePosLastExecutedObjID=e}processAfterJump(){this._state!==Ot.LOCALGATE_JUMPED&&this._state!==Ot.LOCALGATE_JUMPED_WITH_MESSAGE||0==--this._jumpWaitFramesRemain&&(this._state=this._state===Ot.LOCALGATE_JUMPED?Ot.CONTROLLABLE:Ot.MESSAGE_WAITING)}jumpTo(t){var e=this._camera.getPosition();this.getPosition();return!this._position.equals(t)&&(this._position=t,t.isInCameraRange(this._camera,!0)||this._camera.reset(t),this._state=this._state===Ot.MESSAGE_WAITING?Ot.LOCALGATE_JUMPED_WITH_MESSAGE:Ot.LOCALGATE_JUMPED,this._jumpWaitFramesRemain=V.LOCALGATE_PLAYER_WAIT_FRAME,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,t.hasLocalGate()?this._dir=p.DOWN:t.getPartsCoord().y<=this._wwa.getMapWidth()-2&&t.getNextJustPosition(p.DOWN).hasLocalGate()?this._dir=p.UP:t.getPartsCoord().y>=1&&t.getNextJustPosition(p.UP).hasLocalGate()?this._dir=p.DOWN:t.getPartsCoord().x<=this._wwa.getMapWidth()-2&&t.getNextJustPosition(p.RIGHT).hasLocalGate()?this._dir=p.LEFT:t.getPartsCoord().x>=1&&t.getNextJustPosition(p.LEFT).hasLocalGate()?this._dir=p.RIGHT:this._dir=p.DOWN,this._camera.getPosition().equals(e)||(this._isPreparedForLookingAround=!0,this._lookingAroundTimer=V.PLAYER_LOOKING_AROUND_START_FRAME),this._wwa.callJumpGateUserDefineFunction(),!0)}systemJumpTo(t){this._position=t,this._camera.reset(t),this._camera.resetPreviousPosition(),this._state=Ot.LOCALGATE_JUMPED,this._jumpWaitFramesRemain=V.LOCALGATE_PLAYER_WAIT_FRAME,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,this._dir=p.DOWN,this._isPreparedForLookingAround=!0,this._lookingAroundTimer=V.PLAYER_LOOKING_AROUND_START_FRAME}addStatusAll(t){return this._status.add(t),this.isDead()&&(this._status.energy=0),0!==this._energyMax&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),this._status}setEnergyMax(t){return this._energyMax=t,0!==t&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),t}setEnergy(t){return this._status.energy=t,this.isDead()&&(this._status.energy=0),0!==this._energyMax&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),t}damage(t){this._status.energy=Math.max(0,this._status.energy-t),this.isDead()&&(this._status.energy=0),0!==this._energyMax&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox()}setStrength(t){return this._status.strength=t,this.updateStatusValueBox(),t}setDefence(t){return this._status.defence=t,this.updateStatusValueBox(),t}setGold(t){return this._status.gold=t,this.updateStatusValueBox(),t}getStatus(){return this._status.plus(this._equipStatus)}getStatusWithoutEquipments(){return this._status.plus(new o(0,0))}getStatusOfEquipments(){return this._equipStatus.plus(new o(0,0))}updateStatusValueBox(){var t;const e=this._status.plus(this._equipStatus);this._energyValueElement.textContent=this._wwa.isVisibleStatus("energy")?String(e.energy):"",this._strengthValueElement.textContent=this._wwa.isVisibleStatus("strength")?String(e.strength):"",this._defenceValueElement.textContent=this._wwa.isVisibleStatus("defence")?String(e.defence):"",this._goldValueElement.textContent=this._wwa.isVisibleStatus("gold")?String(e.gold):"",null===(t=this._wwa._messageWindow)||void 0===t||t.update(),this._wwa.updateScore()}updateItemBox(t){for(let e=0;e<this._itemBoxElement.length;e++){const s=this._itemBoxElement[e],a=pt("#item"+e);if(0===this._itemBox[e]){s.style.backgroundPosition="-40px 0px",this.disposeItemEffect(e,this._itemBoxElement[e],a);continue}const i=this._wwa.getObjectCropXById(this._itemBox[e]),r=this._wwa.getObjectCropYById(this._itemBox[e]);if(!t||e!==t.insertPos-1){s.style.backgroundPosition="-"+i+"px -"+r+"px",this.disposeItemEffect(e,this._itemBoxElement[e],a);continue}const n=t.itemScreenPixelCoord.x-t.itemBoxScreenPixelCoord.x,o=t.itemScreenPixelCoord.y-t.itemBoxScreenPixelCoord.y,h=-n*V.DEFAULT_FRAME_INTERVAL/V.ITEM_EFFECT_SPEED_PIXEL_PER_FRAME,c=0===t.overwrittenObjectId||void 0===t.overwrittenObjectId,_=c?t.itemBoxBackgroundImageCoord.x:this._wwa.getObjectCropXById(t.overwrittenObjectId),l=c?t.itemBoxBackgroundImageCoord.y:this._wwa.getObjectCropYById(t.overwrittenObjectId);s.style.left=n+"px",s.style.top=o+"px","number"==typeof this.itemEffectStartTimers[e]&&clearInterval(this.itemEffectStartTimers[e]),this.itemEffectStartTimers[e]=window.setTimeout((()=>{this.itemEffectStartTimers[e]=void 0,this.startItemEffect(e,s,a,{target:{x:i,y:r},overwritten:{x:_,y:l}},h)}),V.DEFAULT_FRAME_INTERVAL)}}startItemEffect(t,e,s,a,i){const r=s.querySelector(this.overwittenItemSelector);r&&s.removeChild(r);const n=document.createElement("div");n.classList.add(this.overwittenItemClassName),n.style.backgroundPosition="-"+a.overwritten.x+"px -"+a.overwritten.y+"px",n.style.backgroundImage=s.style.backgroundImage,s.appendChild(n),e.style.backgroundPosition="-"+a.target.x+"px -"+a.target.y+"px",e.style.transitionDuration=i+"ms",e.style.transitionProperty="left,top",e.style.transitionTimingFunction="linear",e.style.left="0",e.style.top="0",s.classList.add(this.itemTransitioningClassName),e.addEventListener("transitionend",(()=>{this.disposeItemEffect(t,e,s)}),{once:!0})}disposeItemEffect(t,e,s){"number"==typeof this.itemEffectStartTimers[t]&&(clearInterval(this.itemEffectStartTimers[t]),this.itemEffectStartTimers[t]=void 0),e.style.transitionDuration="0s",e.style.transitionProperty="",e.style.left="0",e.style.top="0",s.classList.contains(this.itemTransitioningClassName)&&s.classList.remove(this.itemTransitioningClassName);const a=s.querySelector(this.overwittenItemSelector);a&&s.removeChild(a)}isDead(){return this._status.energy<=0}addItem(t,e=0,s=!1,a){var i,r,n,o=this._wwa.getObjectAttributeById(t,V.ATR_NUMBER),h=0;if(0===e&&0!==o&&(e=o),0===e){if(0===t)return;if((i=this._getBlankItemPos())===V.ITEMBOX_IS_FULL)throw this._wwa.setEvalCalcWwaNodeEarnedItem(t,-1),this._wwa.callGetItemFullUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),new Error("これ以上、アイテムを持てません。");h=this._itemBox[i-1],this._forceSetItemBox(i,t)}else if(!1===s)if(i=e,n=this._itemBox[i-1],this._wwa.getObjectAttributeById(n,V.ATR_NUMBER)!==this._wwa.getObjectAttributeById(t,V.ATR_NUMBER)){if((r=this._getBlankItemPos())===V.ITEMBOX_IS_FULL)throw this._wwa.setEvalCalcWwaNodeEarnedItem(t,-1),this._wwa.callGetItemFullUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),new Error("これ以上、アイテムを持てません。");this._forceSetItemBox(r,n),this._forceSetItemBox(i,t)}else h=this._itemBox[i-1],this._forceSetItemBox(i,t);else i=e,h=this._itemBox[i-1],this._forceSetItemBox(i,t);this._updateEquipmentStatus(),this.updateItemBox(a?{insertPos:i,itemScreenPixelCoord:a.screenPixelCoord,itemBoxBackgroundImageCoord:a.itemBoxBackgroundImageCoord,itemBoxScreenPixelCoord:new c(V.MAP_WINDOW_WIDTH+(i-1)%3*V.CHIP_SIZE,V.ITEMBOX_TOP_Y+Math.floor((i-1)/3)*V.CHIP_SIZE),overwrittenObjectId:h}:void 0)}_forceSetItemBox(t,e){var s,i=this,r=mt("#item"+(t-1)+">.item-click-border"),n=this._wwa.getObjectAttributeById(e,V.ATR_MODE);if(this.removeItemByItemPosition(t),this._itemBox[t-1]=e,this._wwa.setEvalCalcWwaNodeEarnedItem(e,t),this._wwa.callGetItemUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),0!==e&&n!==f.NORMAL){const e=this._wwa.resolveSystemMessage(a.ITEM_SELECT_TUTORIAL);this._isClickableItemGot||("BLANK"!==e&&this._wwa.registerSystemMessagePage(e),this._isClickableItemGot=!0),r.style.display="block",s=t,i._itemUsingEvent[s-1]=()=>{(i.isControllable()||i._wwa._messageWindow.isItemMenuChoice())&&(i._wwa._itemMenu.close(),i._wwa._setNextPage(),i._wwa.onselectitem(s))},r.addEventListener("click",this._itemUsingEvent[t-1])}}_getBlankItemPos(){var t;for(t=1;t<this._itemBox.length+1;t++)if(0===this._itemBox[t-1])return t;return V.ITEMBOX_IS_FULL}_updateEquipmentStatus(){var t,e=new o(0,0);for(t=0;t<V.ITEMBOX_SIZE;t++)0!==this._itemBox[t]&&(e.strength+=this._wwa.getObjectAttributeById(this._itemBox[t],V.ATR_STRENGTH),e.defence+=this._wwa.getObjectAttributeById(this._itemBox[t],V.ATR_DEFENCE));var s=e.minus(this._equipStatus);this._wwa.setStatusChangedEffect(s),this._equipStatus=e,this.updateStatusValueBox()}hasItem(t){for(var e=0;e<V.ITEMBOX_SIZE;e++)if(this._itemBox[e]===t)return!0;return!1}canUseItem(t){var e=this._itemBox[t-1];return 0!==e&&this._wwa.getObjectAttributeById(e,V.ATR_MODE)!==f.NORMAL}useItem(){var t;t=this._itemBox[this._readyToUseItemPos1To12-1],this._wwa.getObjectAttributeById(t,V.ATR_MODE)!==f.NOT_DISAPPEAR&&this.removeItemByItemPosition(this._readyToUseItemPos1To12);var e=dt("item"+(this._readyToUseItemPos1To12-1));return setTimeout((()=>{e.classList.contains("onpress")&&e.classList.remove("onpress")}),V.DEFAULT_FRAME_INTERVAL),this._wwa.setEvalCalcWwaNodeEarnedItem(t,this._readyToUseItemPos1To12),this._wwa.callUseItemUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),this._isReadyToUseItem=!1,this._readyToUseItemPos1To12=void 0,t}canHaveMoreItems(){return this._getBlankItemPos()!==V.ITEMBOX_IS_FULL}removeItemByItemPosition(t){var e;0!==this._itemBox[t-1]&&(this._wwa.getObjectAttributeById(this._itemBox[t-1],V.ATR_MODE)!==f.NORMAL&&((e=mt("#item"+(t-1)+">.item-click-border")).removeEventListener("click",this._itemUsingEvent[t-1]),e.style.display="none"),this._itemBox[t-1]=0,this._updateEquipmentStatus(),this.updateItemBox())}removeItemByPartsID(t){var e;if(!this.hasItem(t))throw new Error("アイテムを持っていない");for(var s=0;s<V.ITEMBOX_SIZE;s++)if(this._itemBox[s]===t)return this._wwa.getObjectAttributeById(this._itemBox[s],V.ATR_MODE)!==f.NORMAL&&((e=mt("#item"+s+">.item-click-border")).removeEventListener("click",this._itemUsingEvent[s]),e.style.display="none"),this._itemBox[s]=0,this._updateEquipmentStatus(),void this.updateItemBox()}clearItemBox(){for(var t=1;t<=V.ITEMBOX_SIZE;t++)this.removeItemByItemPosition(t);this._updateEquipmentStatus(),this.updateItemBox()}hasGold(t){return this._status.gold>=t}payGold(t){if(!this.hasGold(t))throw new Error("お金が足りない");this.setGold(this._status.gold-t)}earnGold(t){this.setGold(this._status.gold+t)}setPartsAppearedFlag(){this._partsAppeared=!0}clearPartsAppearedFlag(){this._partsAppeared=!1}isPartsAppearedTime(){return!0===this._partsAppeared}startBattleWith(t){this._isPlayerTurn=!0,this._battleFrameCounter=V.BATTLE_INTERVAL_FRAME_NUM,this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=t,this._state=Ot.BATTLE}isFighting(){return this._state===Ot.BATTLE}isTurn(){return this._isPlayerTurn}getTurnNum(){return this._battleTurnLength}isBattleStartFrame(){return this._battleFrameCounter===V.BATTLE_INTERVAL_FRAME_NUM&&0===this._battleTurnLength}calcBattleResultForPlayerTurn(t,e,s=!1){const a=this._wwa.callUserDefinedBattleDamageFunction("playerToEnemy",s?{playerStatus:t,enemyStatus:e}:void 0);return a||{damage:this._calcDamageDefault(t,e)}}calcBattleResultForEnemyTurn(t,e,s=!1){const a=this._wwa.callUserDefinedBattleDamageFunction("enemyToPlayer",s?{playerStatus:e,enemyStatus:t}:void 0);return a||{damage:this._calcDamageDefault(t,e)}}_calcDamageDefault(t,e){const s=t.strength-e.defence;return s>0?s:0}fight(){if(!this.isFighting())throw new Error("バトルが開始されていません。");if(0===this._battleTurnLength&&this._battleFrameCounter===V.BATTLE_INTERVAL_FRAME_NUM&&this._wwa.showMonsterWindow(),--this._battleFrameCounter>0)return;this._battleTurnLength++,this._wwa.isBattleSpeedIndexForQuickBattle(this._speedIndex)||this._battleTurnLength>V.BATTLE_SPEED_CHANGE_TURN_NUM?(1===this._battleTurnLength&&(this._wwa.playSound(R.ATTACK),this._wwa.vibration(!1)),this._battleFrameCounter=1):(this._battleFrameCounter=V.BATTLE_INTERVAL_FRAME_NUM,this._wwa.playSound(R.ATTACK),this._wwa.vibration(!0));var t=this.getStatus(),e=this._enemy.status;let s=!1;if(this._isPlayerTurn){if(1===this._battleTurnLength&&this._wwa.isUsingDefaultDamageCalcFunction()&&t.strength<=e.defence&&t.defence>=e.strength)return this._enemy.battleEndProcess(),this._wwa.registerSystemMessagePageByKey(a.CANNOT_DAMAGE_MONSTER),this._battleTurnLength=0,this._enemy=null,void(this._state=Ot.CONTROLLABLE);const{damage:i,aborted:r}=this.calcBattleResultForPlayerTurn(t,e);this._enemy.damage(i),s=Boolean(r),this._enemy.status.energy<=0&&(this._wwa.playSound(this._wwa.getObjectAttributeById(this._enemy.partsID,V.ATR_SOUND)),this.earnGold(e.gold),this._wwa.setStatusChangedEffect(new h(0,0,0,e.gold)),0!==this._enemy.item?this._wwa.setPartsOnPosition(y.OBJECT,this._enemy.item,this._enemy.position):this._wwa.setPartsOnPosition(y.OBJECT,0,this._enemy.position),this._wwa.reserveAppearPartsInNextFrame(this._enemy.position,w.OBJECT,this._enemy.partsID),this._state=Ot.CONTROLLABLE,this._wwa.registerPageByMessage(this._enemy.message,{triggerParts:{id:this._enemy.partsID,type:y.OBJECT,position:this._enemy.position}}),this._enemy.battleEndProcess(),this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null),null!==this._enemy&&(0===i?this._battleNoDamageTurnLength++:this._battleNoDamageTurnLength=0),this._isPlayerTurn=!1}else{const{damage:a,aborted:i}=this.calcBattleResultForEnemyTurn(e,t);this.damage(a),s=Boolean(i),this._status.energy<=0&&(this.setEnergy(0),this._enemy.battleEndProcess(),this._state=Ot.CONTROLLABLE,this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null,this._wwa.shouldApplyGameOver({isCalledByMacro:!1})&&this._wwa.gameover()),0===a?this._battleNoDamageTurnLength++:this._battleNoDamageTurnLength=0,this._isPlayerTurn=!0}(this._battleNoDamageTurnLength>V.FIGHT_DRAW_TURN||s)&&(this._enemy.battleEndProcess(),this._state=Ot.CONTROLLABLE,this._wwa.registerSystemMessagePageByKey(a.BATTLE_NOT_SETTLED),this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null)}readyToUseItem(t){var e;if(!this.canUseItem(t))throw new Error("アイテムがないか、アイテムが使えません。");e=this._itemBox[t-1],this._wwa.getObjectAttributeById(e,V.ATR_STRING),this._wwa.reserveAppearPartsInNextFrame(this._position.getPartsCoord(),w.OBJECT,e),this._readyToUseItemPos1To12=t,this._isReadyToUseItem=!0}isReadyToUseItem(){return this._isReadyToUseItem}getDrawingCenterPosition(){var t=this._position.getPartsCoord(),e=this._position.getOffsetCoord(),s=this._camera.getPosition(),a=s.getPartsCoord(),i=s.getOffsetCoord(),r=(t.x-a.x)*V.CHIP_SIZE+e.x-i.x+V.CHIP_SIZE/2,n=(t.y-a.y)*V.CHIP_SIZE+e.y-i.y+V.CHIP_SIZE/2;return new c(r,n)}mainFrameCount(){this._frameCount++}getFrameCount(){return this._frameCount}setFrameCount(t){return"number"!=typeof t&&(t=0),this._frameCount=t}getMoveCount(){return this._moves}setMoveCount(t){return this._moves=t}isMoveObjectAutoExecTime(){return 0===this._moveObjectAutoExecTimer}setMoveMacroWaiting(t){t<0||(this._moveMacroWaitingRemainMoves=t,this._moveObjectAutoExecTimer=0)}resetMoveObjectAutoExecTimer(){this._moveObjectAutoExecTimer=V.CHIP_SIZE/U[this._speedIndex],this._moveMacroWaitingRemainMoves--}decrementMoveObjectAutoExecTimer(){return this._moveMacroWaitingRemainMoves>=0&&this._moveObjectAutoExecTimer>0&&(this._moveObjectAutoExecTimer--,0===this._moveMacroWaitingRemainMoves&&0===this._moveObjectAutoExecTimer&&(this._afterMoveMacroFlag=!0)),0}isWaitingMoveMacro(){return 0!==this._moveMacroWaitingRemainMoves||0!==this._moveObjectAutoExecTimer}decrementLookingAroundTimer(){return this._isPreparedForLookingAround&&this._lookingAroundTimer>0?--this._lookingAroundTimer:0}isLookingAround(){return this._isPreparedForLookingAround&&0===this._lookingAroundTimer}getSpeedIndex(){return this._speedIndex}speedUp(){return this._speedIndex=Math.min(V.MAX_SPEED_INDEX,this._speedIndex+1)}speedDown(){return this._speedIndex=Math.max(V.MIN_SPEED_INDEX,this._speedIndex-1)}setSpeedIndex(t){if(t<V.MIN_SPEED_INDEX||V.MAX_SPEED_INDEX<t)throw new Error("#set_speed の引数が異常です:"+t);return this._speedIndex=t,this._speedIndex}constructor(t,e,s,a,i,r,n){super(e),this.itemTransitioningClassName="item-transitioning",this.overwittenItemClassName="item-overwritten",this.overwittenItemSelector=`.${this.overwittenItemClassName}`,this.itemEffectStartTimers=new Array(V.ITEMBOX_SIZE),this._status=a,this._equipStatus=new o(0,0),this._itemBox=new Array(V.ITEMBOX_SIZE),this._itemBoxElement=new Array(V.ITEMBOX_SIZE),this._itemUsingEvent=new Array(V.ITEMBOX_SIZE);for(var h=0;h<this._itemBox.length;h++)this._itemBox[h]=0,this._itemBoxElement[h]=mt("#item"+h+">.item-disp");this.updateItemBox(),this._energyMax=i,this._dir=p.DOWN,this._isMovingImage=!1,this._wwa=t,this._state=Ot.CONTROLLABLE,this._camera=s,this._isPartsEventExecuted=!1,this._energyValueElement=mt("#disp-energy>.status-value-box"),this._strengthValueElement=mt("#disp-strength>.status-value-box"),this._defenceValueElement=mt("#disp-defence>.status-value-box"),this._goldValueElement=mt("#disp-gold>.status-value-box"),this._isReadyToUseItem=!1,this._isClickableItemGot=!1,this._moves=r,this._moveMacroWaitingRemainMoves=0,this._moveObjectAutoExecTimer=0,this.updateStatusValueBox(),this._partsAppeared=!1,this._afterMoveMacroFlag=!1,this._isPreparedForLookingAround=!0,this._lookingAroundTimer=V.PLAYER_LOOKING_AROUND_START_FRAME,this._speedIndex=n,this._messageDelayFrameCount=0,this._battleNoDamageTurnLength=0}}class Nt{constructor(t,e,s,a,i,r,n){this._partsID=t,this._position=e,this._imgCoord=s,this._status=a,this._message=i,this._item=r,this._battleEndCallback=n}get partsID(){return this._partsID}get position(){return this._position}get imgCoord(){return this._imgCoord}get status(){return this._status}get message(){return this._message}get item(){return this._item}damage(t){this._status.energy=Math.max(0,this._status.energy-t)}battleEndProcess(){var t;null===(t=this._battleEndCallback)||void 0===t||t.call(this)}setStatus(t){null!==t.energy&&(this._status.energy=t.energy),null!==t.strength&&(this._status.strength=t.strength),null!==t.defence&&(this._status.defence=t.defence)}clone(){return new Nt(this._partsID,this._position.clone(),this._imgCoord.clone(),this._status.clone(),this._message,this._item,this._battleEndCallback)}}class Mt{constructor(t,e,s,a,i){this._player=t,this._objectID=e,this._srcPos=s,this._destPos=a,this._dir=i,this._currentPos=this._srcPos.clone()}update(){var t=this._player.getSpeedIndex();return this._currentPos=this._currentPos.getNextFramePosition(this._dir,U[t],U[t]),this._currentPos}get isAchievedDestination(){return this._currentPos.equals(this._destPos)}get currentPosition(){return this._currentPos}get beforePosition(){return this._srcPos}get destination(){return this._destPos}get objID(){return this._objectID}}class bt{constructor(t,e){this._wwa=t,this._player=e,this.clear()}add(t,e,s,a){this._queue.push(new Mt(this._player,t,e,s,a))}update(){for(var t=[],e=[],s=0;s<this._queue.length;s++)this._queue[s].update(),this._queue[s].isAchievedDestination?(t.push(this._queue[s]),this._wwa.setPartsOnPosition(y.OBJECT,0,this._queue[s].beforePosition.getPartsCoord()),this._wwa.setPartsOnPosition(y.OBJECT,this._queue[s].objID,this._queue[s].destination.getPartsCoord())):e.push(this._queue[s]);return this._queue=e,t}clear(){this._queue=[]}get objectMovingData(){return this.objectMovingData}getOffsetByBeforePartsCoord(t){var e=this._queue.filter((e=>e.beforePosition.getPartsCoord().equals(t)));return 0===e.length?null:e[0].currentPosition.getOffsetCoord()}}const xt="-?\\d+",Lt=`v\\[(${xt})\\]`,Rt=`m\\[${xt}\\]\\[${xt}\\]`,Bt=`m\\[(${xt})\\]\\[(${xt})\\]`,Ut=`o\\[${xt}\\]\\[${xt}\\]`,kt=`o\\[(${xt})\\]\\[(${xt})\\]`,Wt=`ITEM\\[${xt}\\]`,Vt=`ITEM\\[(${xt})\\]`,Ft=`${`v\\[${xt}\\]`}|${Rt}|${Ut}|${Wt}`,Yt="HP|HPMAX|AT|DF|GD|STEP|PDIR",Gt=`${Ft}|${Rt}|${Ut}|${Wt}|${Yt}`,Ht=`${xt}|${Ft}|AT_TOTAL|AT_ITEMS|DF_TOTAL|DF_ITEMS|TIME|X|Y|PX|PY|ID|TYPE|ITEM_COUNT_ALL|${Yt}`,Kt=`RAND\\((${Ht})\\)`,jt=`ITEM_COUNT\\((${Ht})\\)`,Xt=`${Ht}|${`${`RAND\\((?:${Ht})\\)`}|${`ITEM_COUNT\\((?:${Ht})\\)`}`}`,Jt="\\+|\\-|\\*|\\/|%",$t="^\\(",Zt="\\)$",qt=new RegExp(`^${xt}$`),Qt=new RegExp(`^${Lt}$`),zt=new RegExp(`^${Bt}$`),te=new RegExp(`^${kt}$`),ee=new RegExp(`^${Vt}$`),se=new RegExp(`^${Kt}$`),ae=new RegExp(`${jt}$`),ie=new RegExp(`${$t}(${Gt})=(${Xt})(${Jt})(${Xt})${Zt}`),re=new RegExp(`${$t}(${Gt})(=|\\+=|\\-=|\\*=|\\/=|%=)(${Xt})${Zt}`),ne=new RegExp(`^(${Xt})(?:(${Jt})(${Xt}))?$`),oe=new RegExp(`${$t}(${Xt})(>|<|<=|>=|==|!=)(${Xt})${Zt}`);function he(t){return"RAND"!==t.type&&"ITEM_COUNT"!==t.type}function ce(t){switch(t){case"HP":case"HPMAX":case"AT":case"AT_TOTAL":case"AT_ITEMS":case"DF":case"DF_TOTAL":case"DF_ITEMS":case"GD":case"STEP":case"TIME":case"X":case"Y":case"PX":case"PY":case"PDIR":case"ID":case"TYPE":case"ITEM_COUNT_ALL":return{type:t};default:const e=t.match(Qt);if(e){const t=_e(e);return null===t?null:{type:"VARIABLE",index:t}}const s=t.match(zt);if(s){const t=le(s);return null===t?null:{type:"MAP",x:t[0],y:t[1]}}const a=t.match(te);if(a){const t=le(a);return null===t?null:{type:"OBJECT",x:t[0],y:t[1]}}const i=t.match(ee);if(i){const t=_e(i);return null===t?null:{type:"ITEM",boxIndex1To12:t}}if(t.match(qt)){const e=parseInt(t,10);return null===e||isNaN(e)?null:{type:"NUMBER",rawValue:e}}const r=t.match(se);if(r){const t=r.length>=2?ce(r[1]):null;return null!==t&&he(t)?{type:"RAND",argument:t}:null}const n=t.match(ae);if(n){const t=n.length>=2?ce(n[1]):null;return null!==t&&he(t)?{type:"ITEM_COUNT",argument:t}:null}return null}}function _e(t){const e=t.length>=2?Number(t[1]):null;return null===e||isNaN(e)?null:e}function le(t){if(t.length<3)return null;const e=Number(t[1]),s=Number(t[2]);return isNaN(e)||isNaN(s)?null:[e,s]}function ue(t,e,s=0){if("boolean"==typeof t)return t;const a=de(t.left,e,s),i=de(t.right,e,s);return function(t,e,s){switch(t){case">":return e>s;case"<":return e<s;case">=":return e>=s;case"<=":return e<=s;case"==":return e===s;case"!=":return e!==s;default:return!1}}(t.operator,a,i)}function de(t,e,s=0){var a,i,r,n,o,h;switch(t.type){case"HP":return e.totalStatus.energy;case"HPMAX":return e.energyMax;case"AT":return e.bareStatus.strength;case"AT_TOTAL":return e.totalStatus.strength;case"AT_ITEMS":return e.itemStatus.strength;case"DF":return e.bareStatus.defence;case"DF_TOTAL":return e.totalStatus.defence;case"DF_ITEMS":return e.itemStatus.defence;case"GD":return e.totalStatus.gold;case"STEP":return e.moveCount;case"VARIABLE":{const s=e.userVars[t.index];return vt(s,`v${t.index}`)?s:0}case"MAP":return t.y<0||t.y>=e.map.length||t.x<0||t.x>=e.map[t.y].length?0:e.map[t.y][t.x];case"OBJECT":return t.y<0||t.y>=e.mapObject.length||t.x<0||t.x>=e.mapObject[t.y].length?0:e.mapObject[t.y][t.x];case"ITEM":return t.boxIndex1To12<1||t.boxIndex1To12>12?0:e.itemBox[t.boxIndex1To12-1];case"ITEM_COUNT_ALL":return e.itemBox.filter((t=>0!==t)).length;case"NUMBER":return t.rawValue;case"TIME":return e.playTime;case"X":return null!==(i=null===(a=e.partsPosition)||void 0===a?void 0:a.x)&&void 0!==i?i:e.playerCoord.x;case"Y":return null!==(n=null===(r=e.partsPosition)||void 0===r?void 0:r.y)&&void 0!==n?n:e.playerCoord.y;case"PX":return e.playerCoord.x;case"PY":return e.playerCoord.y;case"PDIR":return e.playerDirection;case"ID":return null!==(o=e.partsId)&&void 0!==o?o:-1;case"TYPE":return null!==(h=e.partsType)&&void 0!==h?h:-1;case"RAND":return Math.floor(Math.random()*de(t.argument,e));case"ITEM_COUNT":return e.itemBox.filter((s=>s===de(t.argument,e))).length;default:return s}}function pe(t,e,s){switch(t){case"=":return s;case"+":case"+=":return e+s;case"-":case"-=":return e-s;case"*":case"*=":return e*s;case"/":case"/=":return 0===s?0:e/s;case"%":case"%=":return 0===s?0:e%s;default:throw new Error("未定義の演算子です")}}function me(t,e){var s;switch(null===(s=ce(e))||void 0===s?void 0:s.type){case"VARIABLE":{const s=e.match(/^v\[(\d+)\]$/),a=Number(s[1]);if(null===a||isNaN(a))throw new Error("ユーザ変数の添字のパースに失敗しました");return{assignee:"variable",index:a,rawValue:t}}case"MAP":{const s=e.match(/^m\[(\d+)\]\[(\d+)\]$/),a=Number(s[1]),i=Number(s[2]);if(null===a||null===i||isNaN(a)||isNaN(i))throw new Error("背景パーツの添字のパースに失敗しました");return{assignee:"map",x:a,y:i,rawValue:t}}case"OBJECT":{const s=e.match(/^o\[(\d+)\]\[(\d+)\]$/),a=Number(s[1]),i=Number(s[2]);if(null===a||null===i||isNaN(a)||isNaN(i))throw new Error("物体パーツの添字のパースに失敗しました");return{assignee:"mapObject",x:a,y:i,rawValue:t}}case"ITEM":{const s=e.match(/^ITEM\[(\d+)\]$/),a=Number(s[1]);if(null===a||isNaN(a))throw new Error("アイテムの添字のパースに失敗しました");return{assignee:"item",boxIndex1to12:a,rawValue:t}}case"ITEM_COUNT_ALL":case"ITEM_COUNT":throw new Error("左辺値に所持アイテム数は入れられません");case"NUMBER":throw new Error("左辺値に定数は入れられません");case"HP":return{assignee:"energy",rawValue:t};case"HPMAX":return{assignee:"energyMax",rawValue:t};case"AT":return{assignee:"strength",rawValue:t};case"AT_TOTAL":throw new Error("左辺値に合計攻撃力は入れられません");case"AT_ITEMS":throw new Error("左辺値にアイテム攻撃力は入れられません");case"DF":return{assignee:"defence",rawValue:t};case"DF_TOTAL":throw new Error("左辺値に合計防御力は入れられません");case"DF_ITEMS":throw new Error("左辺値にアイテム防御力は入れられません");case"GD":return{assignee:"gold",rawValue:t};case"STEP":return{assignee:"moveCount",rawValue:t};case"TIME":throw new Error("左辺値にプレイ時間は入れられません");case"PX":throw new Error("左辺値にプレイヤーX座標は入れられません");case"PY":throw new Error("左辺値にプレイヤーY座標は入れられません");case"X":throw new Error("左辺値にパーツX座標は入れられません");case"Y":throw new Error("左辺値にパーツY座標は入れられません");case"ID":throw new Error("左辺値にパーツ番号座標は入れられません");case"TYPE":throw new Error("左辺値にパーツ種別は入れられません");case"PDIR":return{assignee:"playerDirection",rawValue:t};case"RAND":throw new Error("左辺値に乱数は入れられません");default:throw new Error("この文字列から代入操作オブジェクトは生成できません")}}function Ee(t){return t.replace(/\s/g,"")}function ge(t,e,s=0){return de(ce(t),e,s)}function we(t,e,s=0){const a=Ee(t).match(ne);if(null!==a){const t=ge(a[1],e,s),i=a[3]?ge(a[3],e,s):void 0,r=a[2];return r&&i?pe(r,t,i):t}throw new Error("マクロ引数のフォーマットを満たしていません: "+t)}function fe(t){const e=Ee(t).match(oe);if(null===e||e.length<=3)return void console.error(`判定式が異常です: ${t}`);const s=ce(e[1]),a=ce(e[3]);if(s&&a)return{left:s,right:a,operator:e[2]};console.error(`判定式が異常です: ${t}`)}class ye{constructor(t,e,s,a){this._wwa=t,this._triggerParts=e,this.macroType=s,this.macroArgs=a}isJunction(){return[M.IF,M.ELSE_IF,M.ELSE,M.END_IF].includes(this.macroType)}execute(){try{switch(this.macroType){case M.IMGPLAYER:return this._executeImgPlayerMacro(),{};case M.IMGYESNO:return this._executeImgYesNoMacro(),{};case M.HPMAX:return this._executeHPMaxMacro(),{};case M.SAVE:return this._executeSaveMacro(),{};case M.ITEM:return this._executeItemMacro(),{};case M.DEFAULT:return this._executeDefaultMacro(),{};case M.OLDMAP:return this._executeOldMapMacro(),{};case M.PARTS:return this._executePartsMacro(),{};case M.MOVE:return this._executeMoveMacro(),{};case M.MAP:return this._executeMapMacro(1),{};case M.DIRMAP:return this._executeDirMapMacro(),{};case M.IMGFRAME:return this._executeImgFrameMacro(),{};case M.IMGBOM:return this._executeImgBomMacro(),{};case M.DELPLAYER:return this._executeDelPlayerMacro(),{};case M.FACE:return this._executeFaceMacro(),{};case M.EFFECT:return this._executeEffectMacro(),{};case M.GAMEOVER:return this._executeGameOverMacro(),{};case M.IMGCLICK:return this._executeImgClickMacro(),{};case M.STATUS:{const{isGameOver:t}=this._executeStatusMacro();return{isGameOver:t}}case M.EFFITEM:return this._executeEffItemMacro(),{};case M.COLOR:return this._executeColorMacro(),{};case M.WAIT:return this._executeWaitMacro(),{};case M.SOUND:return this._executeSoundMacro(),{};case M.GAMEPAD_BUTTON:return this._executeGamePadButtonMacro(),{};case M.OLDMOVE:return this._executeOldMoveMacro(),{};case M.JUMPGATE:return this._executeJumpGateMacro(),{};case M.RECPOSITION:return this._executeRecPositionMacro(),{};case M.JUMPRECPOSITION:return this._executeJumpRecPositionMacro(),{};case M.CONSOLE_LOG:return this._executeConsoleLogMacro(1),{};case M.COPY_HP_TO:return this._executeCopyHpToMacro(),{};case M.SET_HP:{const{isGameOver:t}=this._executeSetHPMacro();return{isGameOver:t}}case M.COPY_HPMAX_TO:return this._executeCopyHpMaxToMacro(),{};case M.SET_HPMAX:return this._executeSetHpMaxMacro(),{};case M.COPY_AT_TO:return this._executeCopyAtToMacro(),{};case M.SET_AT:return this._executeSetAtMacro(),{};case M.COPY_DF_TO:return this._executeCopyDfToMacro(),{};case M.SET_DF:return this._executeSetDfMacro(),{};case M.COPY_MONEY_TO:return this._executeCopyMoneyToMacro(),{};case M.SET_MONEY:return this._executeSetMoneyMacro(),{};case M.COPY_STEP_COUNT_TO:return this._executeSetStepCountMacro(),{};case M.VAR_SET_VAL:return this._executeVarSetValMacro(),{};case M.VAR_SET:return this._executeVarSetMacro(),{};case M.VAR_ADD:return this._executeVarAddMacro(),{};case M.VAR_SUB:return this._executeVarSubMacro(),{};case M.VAR_MUL:return this._executeVarMulMacro(),{};case M.VAR_DIV:return this._executeVarDivMacro(),{};case M.VAR_MOD:return this._executeVarModMacro(),{};case M.VAR_SET_RAND:return this._executeVarSetRandMacro(),{};case M.GAME_SPEED:return this._executeGameSpeedMacro(),{};case M.SHOW_STR:case M.SHOW_STR2:case M.IF:return{};case M.LEGACY_IF:return this._executeLegacyIfMacro(),{};case M.ELSE_IF:case M.ELSE:case M.END_IF:return{};case M.SET_SPEED:return this._executeSetSpeedMacro(),{};case M.COPY_TIME_TO:return this._executeCopyTimeToMacro(),{};case M.HIDE_STATUS:return this._executeHideStatusMacro(),{};case M.VAR_MAP:return this._executeVarMapMacro(),{};case M.NO_GAMEOVER:return this._executeNoGameOverMacro(),{};case M.SET:{const{isGameOver:t}=this._executeSetMacro();return{isGameOver:t}}case M.MAP2:return this._executeMapMacro(2),{};case M.CONSOLE_LOG2:return this._executeConsoleLogMacro(2),{};case M.DELAYBGM:return this._executeDelayBgmMacro(),{};case M.SYSMSG:return this._executeSysMsgMacro(),{};default:return console.log("不明なマクロIDが実行されました:"+this.macroType),{}}}catch(t){}}_concatEmptyArgs(t){if(this.macroArgs.length<t){for(var e=new Array(t-this.macroArgs.length),s=0;s<e.length;s++)e[s]="";this.macroArgs=this.macroArgs.concat(e)}}_evaluateIntValue(t,e=0){const s=this.macroArgs[t];if(""===s)return e;const a=Number(s),i=a>=0?Math.floor(a):Math.ceil(a);return isNaN(i)?we(s,this._wwa.generateTokenValues(this._triggerParts),e):i}_executeJumpGateMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.forcedJumpGate(t,e)}_executeRecPositionMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.recUserPosition(t,e)}_executeJumpRecPositionMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.jumpRecUserPosition(t,e)}_executeConsoleLogMacro(t){this._concatEmptyArgs(1);const e=this._evaluateIntValue(0);switch(t){case 1:return void this._wwa.outputUserVar(e);case 2:return void console.log(`${this.macroArgs[0]} = ${e}`)}}_executeCopyHpToMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarHP(t)}_executeCopyHpMaxToMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarHPMAX(t)}_executeCopyAtToMacro(){this._concatEmptyArgs(2);const t=this._evaluateIntValue(0),e=this._parseStatusKind(this._evaluateIntValue(1));this._wwa.setUserVarAT(t,e)}_executeCopyDfToMacro(){this._concatEmptyArgs(2);const t=this._evaluateIntValue(0),e=this._parseStatusKind(this._evaluateIntValue(1));this._wwa.setUserVarDF(t,e)}_parseStatusKind(t){switch(t){case 0:default:return"all";case 1:return"bare";case 2:return"equipment"}}_executeCopyMoneyToMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarMONEY(t)}_executeSetHPMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);return this._wwa.setHPUserVar(t,!0)}_executeSetHpMaxMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setHPMAXUserVar(t)}_executeSetAtMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setATUserVar(t)}_executeSetDfMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setDFUserVar(t)}_executeSetMoneyMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setMONEYUserVar(t)}_executeSetStepCountMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarStep(t)}_executeVarSetValMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserVarVal(t,e)}_executeVarSetMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValOtherUserVal(t,e)}_executeVarAddMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValAdd(t,e)}_executeVarSubMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValSub(t,e)}_executeVarMulMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValMul(t,e)}_executeVarDivMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValDiv(t,e)}_executeVarModMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValMod(t,e)}_executeVarSetRandMacro(){this._concatEmptyArgs(3);const t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2,0);this._wwa.setUserValRandNum(t,e,s)}_executeGameSpeedMacro(){this._concatEmptyArgs(1);var t=!!this._evaluateIntValue(0);this._wwa.speedChangeJudge(t)}_executeLegacyIfMacro(){for(var t=new Array(11),e=0;e<10;e++)t[e]=this.macroArgs[e];this._wwa.userVarUserIf(this._triggerParts.position,t)}_executeSetSpeedMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setPlayerSpeedIndex(t-1)}_executeCopyTimeToMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarPlayTime(t)}_executeHideStatusMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=0!==this._evaluateIntValue(1);this._wwa.hideStatus(t,e)}_executeVarMapMacro(){this._concatEmptyArgs(4);var t=this._evaluateIntValue(0),e=this.macroArgs[1],s=this.macroArgs[2],a=this._evaluateIntValue(3,y.OBJECT);if(t<0)throw new Error("入力変数が不正です");this._wwa.varMap(this._triggerParts.position,e,s,t,a)}_executeImgPlayerMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setPlayerImgCoord(new c(t,e))}_executeImgYesNoMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setYesNoImgCoord(new c(t,e))}_executeHPMaxMacro(){this._concatEmptyArgs(1);var t=Math.max(0,this._evaluateIntValue(0));this._wwa.setPlayerEnergyMax(t)}_executeSaveMacro(){this._concatEmptyArgs(1);var t=!!this._evaluateIntValue(0);this._wwa.disableSave(t)}_executeItemMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setPlayerGetItem(t,e)}_executeDefaultMacro(){this._concatEmptyArgs(1);var t=!!this._evaluateIntValue(0);this._wwa.setObjectNotCollapseOnPartsOnPlayer(t)}_executeOldMapMacro(){this._concatEmptyArgs(1);var t=!!this._evaluateIntValue(0);this._wwa.setOldMap(t)}_executePartsMacro(){this._concatEmptyArgs(4);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2,y.OBJECT),a=this._evaluateIntValue(3);if(s!==y.OBJECT&&s!==y.MAP)throw new Error("パーツ種別が不明です");if(0!==a&&1!==a&&(a=1),t<0||e<0)throw new Error("パーツ番号が不正です");if(s===y.OBJECT){if(t>=this._wwa.getObjectPartsNum()||e>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(t>=this._wwa.getMapPartsNum()||e>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");this._wwa.replaceParts(t,e,s,!!a)}_executeMoveMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setMoveMacroWaitingToPlayer(t)}_executeMapMacro(t){this._concatEmptyArgs(4);const e=this._evaluateIntValue(0);var s=this._evaluateIntValue(3,y.OBJECT);if(e<0)throw new Error("パーツ番号が不正です");if(s===y.OBJECT){if(e>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(e>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");if(1===t){const t=this.macroArgs[1],a=this.macroArgs[2];this._wwa.appearPartsEval(this._triggerParts.position,t,a,e,s)}else if(2===t){const t=this._evaluateIntValue(1),a=this._evaluateIntValue(2);if(isNaN(t)||isNaN(a))throw new Error("出現先座標が不正です");this._wwa.appearPartsEval(this._triggerParts.position,`${t}`,`${a}`,e,s)}}_executeDirMapMacro(){this._concatEmptyArgs(3);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2,y.OBJECT);if(isNaN(t)||isNaN(e)||isNaN(s))throw new Error("引数が整数ではありません");if(t<0)throw new Error("パーツ番号が不正です");if(s===y.OBJECT){if(t>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(t>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");this._wwa.appearPartsByDirection(e,t,s)}_executeImgFrameMacro(){this._concatEmptyArgs(3);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2);if(e<0||s<0)throw new Error("座標は正でなければなりません。");if(t===L.ENERGY||t===L.STRENGTH||t===L.DEFENCE||t===L.GOLD)this._wwa.setStatusIconCoord(t,new c(e,s));else if(t===L.WIDE_CELL_ROW)this._wwa.setWideCellCoord(new c(e,s));else if(t===L.ITEM_BG)this._wwa.setItemboxBackgroundPosition({x:e,y:s});else{if(t!==L.MAIN_FRAME)throw new Error("種別が不正です。");this._wwa.setFrameCoord(new c(e,s))}}_executeImgBomMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||e<0)throw new Error("座標は正でなければなりません。");this._wwa.setBattleEffectCoord(new c(t,e))}_executeDelPlayerMacro(){this._concatEmptyArgs(1);const t=this._evaluateIntValue(0);this._wwa.setDelPlayer(!!t)}_executeFaceMacro(){this._concatEmptyArgs(6);var t,e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=this._evaluateIntValue(2),i=this._evaluateIntValue(3),r=this._evaluateIntValue(4),n=this._evaluateIntValue(5);if(e<0||s<0||a<0||i<0||r<0||n<0)throw new Error("各引数は0以上の整数でなければなりません。");t=new l(new c(e,s),new c(a,i),new c(r,n)),this._wwa.addFace(t)}_executeEffectMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);if(t<0)throw new Error("待ち時間は0以上の整数でなければなりません。");if(0!==t){for(var e=[],s=1;s<this.macroArgs.length;s+=2){var a,i=this._evaluateIntValue(s);if(i<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");if(s+1===this.macroArgs.length)throw new Error("画像のパーツ座標指定で、Y座標が指定されていません。");if((a=this._evaluateIntValue(s+1))<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");e.push(new c(i,a))}this._wwa.setEffect(t,e)}else this._wwa.stopEffect()}_executeGameOverMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||t>=this._wwa.getMapWidth()||e<0||e>=this._wwa.getMapWidth())throw new Error("マップの範囲外が指定されています!");this._wwa.setGameOverPosition(new c(t,e))}_executeImgClickMacro(){if(this._concatEmptyArgs(2),this.macroArgs.length<1)throw new Error("引数が少なすぎます");var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||e<0)throw new Error("引数が0以上の整数ではありません");this._wwa.setImgClick(new c(t,e))}_executeEffItemMacro(){if(this.macroArgs.length<1)throw new Error("引数が少なすぎます");var t=this._evaluateIntValue(0);this._wwa.updateItemEffectEnabled(!!t)}_executeStatusMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||4<t)throw new Error("ステータス種別が範囲外です。");return this._wwa.setPlayerStatus(t,e,!0)}_executeColorMacro(){this._concatEmptyArgs(4);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2),a=this._evaluateIntValue(3);if(t<0||t>5)throw new Error("種別は0から5までです");if(e<0||e>255||s<0||s>255||a<0||a>255)throw new Error("色が範囲外です");this._wwa.changeStyleRule(t,e,s,a)}_executeWaitMacro(){throw new Error("Not implemented!")}_executeSoundMacro(){this._concatEmptyArgs(2);const t=parseInt(this.macroArgs[0]),e=parseInt(this.macroArgs[1]);this._wwa.playSound(t,e)}_executeGamePadButtonMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||e<0)throw new Error("各引数は0以上の整数でなければなりません。");if(e>V.ITEMBOX_SIZE)throw new Error("アイテムボックス上限を超えた数値が指定されました。");this._wwa.setGamePadButtonItemTable(t,e)}_executeOldMoveMacro(){this._concatEmptyArgs(1);const t=!!this._evaluateIntValue(0);this._wwa.setOldMove(t)}_executeNoGameOverMacro(){this._concatEmptyArgs(1);const t=this._evaluateIntValue(0);this._wwa.setGameOverPolicy(t)}_executeSetMacro(){return this._wwa.execSetMacro(this.macroArgs[0],{triggerParts:this._triggerParts})}_executeDelayBgmMacro(){this._concatEmptyArgs(1);const t=this._evaluateIntValue(0);this._wwa.setBgmDelay(t)}_executeSysMsgMacro(){this._concatEmptyArgs(2);const t=this.resolveSystemMessageKeyFromMacroArg(this.macroArgs[0]);if(!t)throw new Error("該当するシステムメッセージの定義がありません");const e=""===this.macroArgs[1]?void 0:this.macroArgs[1].replaceAll("\\n","\n");this._wwa.overwriteSystemMessage(t,e)}resolveSystemMessageKeyFromMacroArg(t){if(r(t))return t;return n(this._evaluateIntValue(0))}}class ve{constructor(t){this.generateTokenValues=t}static executeNodes(t,e){var s;try{return{isError:!1,messages:null!==(s=null==t?void 0:t.execute(e))&&void 0!==s?s:[]}}catch(t){return console.error(t),{isError:!0}}}}class Se extends ve{constructor(t=[],e){super(e),this.branches=t}appendBranch(t){this.branches.push(t)}getLastUnconnectedBranch(){for(let t of this.branches)if(!t.next)return t}evaluateAndGetNextNode(t){for(let e of this.branches)if(!e.descriminant||ue(e.descriminant,this.generateTokenValues(t)))return e.next}hasElseBranch(){return this.branches.filter((t=>Boolean(t.elseBranch))).length>=1}execute(t){if(!t)throw new Error("パーツ起因ページによる実行ではないため、Junctionノードの利用を想定していません。");const e=this.evaluateAndGetNextNode(t);return e?e.execute(t):[]}}class Ae extends ve{constructor(t,e,s,a,i,r){super(e),this.evalScript=s,this.macro=a,this.next=i,this.script=r,this.messageSegments=this.parseMessage(t),void 0===this.macro&&(this.macro=[])}isEmpty(){return this.messageSegments.reduce(((t,e)=>t&&""===e),!0)}generatePrintableMessage(){return this.messageSegments.reduce(((t,e)=>`${t}${"string"==typeof e?e:e()}`),"")}appendMessage(t,e=!1){this.messageSegments=this.messageSegments.concat(e?["\n"]:[],this.parseMessage(t))}static createEmptyMessage(t,e,s){return new Ae([],t,e,void 0,void 0,s)}parseMessage(t){return"string"==typeof t?[t]:t}execute(t){var e;return this.script&&this.evalScript(this.script,t),null===(e=this.macro)||void 0===e||e.forEach((t=>{if(t.execute().isGameOver)throw new Error("ゲームオーバーのため、メッセージ・マクロの実行を打ち切ります。")})),this.next?[this,...this.next.execute(t)]:[this]}}function Te({content:t,script:e,generatingOption:s,pageType:a,parseMacro:i,evalScript:r,generateTokenValuesCallback:n}){let o,h,c;const _=function(t,e){return t.split("\n").map((t=>{const s=t.match(/(\$(?:[a-zA-Z_][a-zA-Z0-9_]*)(?:.*))/);if(!s||s.length<2)return t.startsWith("$")?void 0:{type:"text",text:t};const a=e(s[1]);switch(a.macroType){case M.IF:case M.ELSE_IF:case M.ELSE:case M.END_IF:case M.SHOW_STR:case M.SHOW_STR2:return{type:a.macroType,text:t,macro:a};default:return{type:"normalMacro",text:t,macro:a}}})).filter(Boolean)}(t,i),l=[];if(_.forEach(((t,e)=>{try{const a=0===e?void 0:_[e-1].type,i=l[l.length-1],u=function(t,e,s,a,i){switch(t.type){case M.IF:return new Se([{descriminant:fe(t.macro.macroArgs[0])}],s);case M.SHOW_STR:case M.SHOW_STR2:return e?new Ae(De(t.macro.macroArgs,s,{triggerParts:i.triggerParts,version:t.type===M.SHOW_STR2?2:1}),s,a):void 0;case"text":return e?new Ae(t.text,s,a):void 0;case"normalMacro":return e?new Ae("",s,a,[t.macro]):void 0;default:return}}(t,!o||!Ie(a),n,r,{triggerParts:s.triggerParts}),d=function(t,e,s,a){const i=0===a.length;switch(e.type){case M.IF:return void a.push(t);case M.ELSE_IF:if(i)throw new Error("構文エラー: $if を呼ぶ前に $else_if は呼べません");return void s.appendBranch({descriminant:fe(e.macro.macroArgs[0])});case M.ELSE:if(i)throw new Error("構文エラー: $if を呼ぶ前に $else は呼べません");return void s.appendBranch({descriminant:!0,elseBranch:{type:"real"}});case M.END_IF:if(i)throw new Error("構文エラー: $if を呼ぶ前に $endif は呼べません");return a.pop()}}(u,t,i,l);d&&(c=d),a?function(t,e,s,a,i,r,n,o){const h=Ie(e);switch(e){case M.IF:case M.ELSE_IF:case M.ELSE:{if(!a||!i)return;const t=i.getLastUnconnectedBranch();if(!t)throw new Error("lastUnconnectedBranchが見つかりませんでした。");return void(t.next=a)}case M.END_IF:if(!(a&&r instanceof Se))return;for(let t=0;t<r.branches.length;t++){let e=r.branches[t].next;e?Ce(e,a):r.branches[t].next=a}return void(r.hasElseBranch()||r.branches.push({next:a,descriminant:!0,elseBranch:{type:"pesudo-else"}}));default:{if(!(h&&s instanceof Ae))return;const e=!s.isEmpty();t.type===M.SHOW_STR||t.type===M.SHOW_STR2?s.appendMessage(De(t.macro.macroArgs,n,{triggerParts:o.triggerParts,version:t.type===M.SHOW_STR2?2:1}),e):"text"===t.type?s.appendMessage(t.text,e):"normalMacro"===t.type?s.macro.push(t.macro):s.next=a}}}(t,a,h,u,i,c,n,{triggerParts:s.triggerParts}):o=u,u&&(h=u)}catch(t){console.error(`$if-$else_if-$else-$endif マクロの解析中にエラーが発生しました。ページ ${e}`),console.error(t)}})),e&&"first"===a){const t=Ae.createEmptyMessage(n,r,e);t.next=o,o=t}return{firstNode:o,isLastPage:"last"===a,triggerParts:s.triggerParts,isSystemMessage:s.isSystemMessage,showChoice:"first"===a?s.showChoice:void 0,scoreOption:"first"===a?s.scoreOption:void 0,additionalItems:s.additionalItems}}const Ie=t=>t===M.SHOW_STR||t===M.SHOW_STR2||"text"===t||"normalMacro"===t;function Ce(t,e){let s=t;for(;;)if(s instanceof Se&&(s=s.branches[0].next),s instanceof Ae){if(!s.next)return void(s.next=e);s=s.next}}function De(t,e,s){return t.map((t=>{const a=Number(t);if(!isNaN(a))return()=>{const t=e(s.triggerParts).userVars;return 1===s.version?t[a]:a};return null!==Ee(t).match(ne)?()=>we(t,e(s.triggerParts)):t.replace(/\\n/g,"\n")}))}function Oe(t,e,s,a,i){const r=function(t){return t.split(/\n\<c\>/i)[0].split(/\<c\>/i)[0].replace(/\n\<p\>\n/gi,"<P>").replace(/\n\<p\>/gi,"<P>").replace(/\<p\>\n/gi,"<P>").replace(/\<p\>/gi,"<P>").split("\n").map((t=>{if(!t.startsWith("//"))return t.match(/\/\//)?yt(yt(t).replace(/^.*\/\/(?!:s?ptth)/gi,"")):t})).filter((t=>void 0!==t)).join("\n").replace(/\\\/\\\//gi,"//")}(t),{pageContents:n,script:o}=function(t){if(""===t)return{pageContents:[]};const e=t.split(/\<script\>/i),[s,a]=e.length>1?[e[0],e[1]]:[e[0]];return{pageContents:s.split(/\<p\>/gi),script:a}}(r);return 0===n.length?[{firstNode:Ae.createEmptyMessage(i,a,o),isLastPage:!0,...e}]:n.map(((t,r)=>Te({script:o,content:t,generatingOption:e,pageType:Pe(r,n.length),parseMacro:s,evalScript:a,generateTokenValuesCallback:i})))}function Pe(t,e){return 0===t?"first":t===e-1?"last":"other"}function Ne(t){return void 0===t||(t instanceof Se?t.branches.reduce(((t,e)=>t&&Ne(e.next)),!0):t instanceof Ae?t.isEmpty()&&Ne(t.next):void 0)}class Me{constructor(t,e,s,a,i,r,n){this._wwa=t,this._coord=e,this._width=s,this._height=a,this._isVisible=i,this._parentElement=r,this._element=document.createElement("div"),this._element.style.position="absolute",this._element.style.borderWidth="2px",this._element.style.borderStyle="solid",t.isClassicMode()?this._element.style.borderRadius="15px":this._element.style.borderRadius="10px",this._element.classList.add("wwa-message-window"),this._element.style.zIndex=n+"",this._element.style.left=this._coord.x+"px",this._element.style.top=this._coord.y+"px",this._element.style.width=this._width+"px",this._element.style.height=this._height+"px",this._parentElement.appendChild(this._element)}update(t){}show(){this._isVisible=!0,this._element.style.display="block",this.update(),this._wwa.wwaCustomEvent("wwa_window_show",{name:this.windowName,element:this._element,text:this._element.textContent})}hide(){this._isVisible=!1,this._element.style.display="none",this.update(),this._wwa.wwaCustomEvent("wwa_window_hide",{name:this.windowName})}isVisible(){return this._isVisible}get windowName(){return"TextWindow"}}class be extends Me{constructor(t,e,s,a,i,r,n){super(t,new c(e.x,e.y),s,a,i,r,201),this._cgFileName=n,this._monsterBox=document.createElement("div"),this._monsterBox.style.width=V.CHIP_SIZE+"px",this._monsterBox.style.height=V.CHIP_SIZE+"px",this._monsterBox.style.position="absolute",this._monsterBox.style.left="10px",this._monsterBox.style.top="10px",this._monsterBox.style.backgroundImage="url("+this._cgFileName.replace("(","\\(").replace(")","\\)")+")",this._monsterBox.style.backgroundPosition="0 0",this._element.appendChild(this._monsterBox),this._energyBox=document.createElement("div"),this._energyBox.style.position="absolute",this._energyBox.style.left="80px",this._energyBox.style.top="10px",this._energyBox.textContent="生命力 0",this._element.appendChild(this._energyBox),this._strengthBox=document.createElement("div"),this._strengthBox.style.position="absolute",this._strengthBox.style.left="80px",this._strengthBox.style.top="30px",this._strengthBox.textContent="攻撃力 0",this._element.appendChild(this._strengthBox),this._defenceBox=document.createElement("div"),this._defenceBox.style.position="absolute",this._defenceBox.style.left="180px",this._defenceBox.style.top="30px",this._defenceBox.textContent="防御力 0",this._element.appendChild(this._defenceBox),this._isVisible?this._element.style.display="block":this._element.style.display="none"}update(t){void 0!==t&&(this._monsterBox.style.backgroundPosition="-"+t.imgCoord.x+"px -"+t.imgCoord.y+"px",this._energyBox.textContent="生命力 "+t.status.energy,this._strengthBox.textContent="攻撃力 "+t.status.strength,this._defenceBox.textContent="防御力 "+t.status.defence)}get windowName(){return"MonsterWindow"}}class xe extends Me{constructor(t,e,s,a){t.isClassicMode()?(super(t,new c(2*V.CHIP_SIZE,30),7*V.CHIP_SIZE,40,s,a,202),this._element.style.borderWidth="0",this._element.style.borderRadius="4px",this._element.style.fontSize="20px",this._element.style.lineHeight="40px"):super(t,new c(e.x,e.y),340,30,s,a,202),this._element.style.textAlign="center",this._isVisible?this._element.style.display="block":this._element.style.display="none",this.update(0)}update(t){void 0!==t&&(this._element.textContent="Score: "+t)}get windowName(){return"ScoreWindow"}}var Le,Re;xe.WINDOW_NAME="ScoreWindow",function(t){t[t.TOP=0]="TOP",t[t.CENTER=1]="CENTER",t[t.BOTTOM=2]="BOTTOM",t[t.SCORE=3]="SCORE"}(Le||(Le={}));class Be{constructor(t,e,s,a,i,r,n,o,h,c){this._wwaSave=void 0,this._save_select_id=0,this._save_counter=0,this._save_close=!1;var _=this,l=r.replace("(","\\(").replace(")","\\)");switch(this._wwa=t,this._cgFileName=r,this._x=e,this._y=s,this._width=a,this._height=i,this._message="",this._isVisible=n,this._isYesno=o,this._isItemMenu=h,this._element=document.createElement("div"),this._element.id="wwa-text-message-window",this._element.classList.add("wwa-message-window"),this._msgWrapperElement=document.createElement("div"),this._msgWrapperElement.style.textAlign="left",this._msgWrapperElement.style.wordWrap="break-word",this._msgWrapperElement.style.margin=t.isClassicMode()?"8px 0 8px 16px":"0",this._msgWrapperElement.style.padding=t.isClassicMode()?"0":"7px",this._element.appendChild(this._msgWrapperElement),this._saveElement=document.createElement("div"),this._saveElement.style.padding="0",this._saveElement.style.margin="0",this._element.appendChild(this._saveElement),this._dummyElement=document.createElement("div"),this._dummyElement.style.display="none",this._dummyElement.style.padding="0",this._dummyElement.style.margin="0",this._dummyElement.style.height="55px",this._element.appendChild(this._dummyElement),this._ynWrapperElement=document.createElement("div"),this._ynWrapperElement.classList.add("wwa-yesno-wrapper"),this._element.appendChild(this._ynWrapperElement),this._parentElement=c,this._parentElement.appendChild(this._element),this._divYesElement=document.createElement("div"),this._divYesElement.classList.add("wwa-yes-button"),this._divYesElement.style.background="url("+l+")",this._divYesElement.onclick=function(){_._isInputDisable||(t.setYesNoInput(g.YES),_.update())},this._divYesElement.style.cursor="pointer",this._divNoElement=document.createElement("div"),this._divNoElement.classList.add("wwa-no-button"),this._divNoElement.style.background="url("+l+")",this._divNoElement.onclick=function(){_._isInputDisable||(t.setYesNoInput(g.NO),_.update())},this._ynWrapperElement.appendChild(this._divYesElement),this._ynWrapperElement.appendChild(this._divNoElement),_._isInputDisable=!1,t.userDevice.device){case S.SP:case S.VR:this._parentElement.classList.add("useScaleUp")}this.update()}setPosition(t,e,s,a){this._x=t,this._y=e,this._width=s,this._height=a,this.update()}setPositionByPlayerPosition(t,e,s,a,i){var r,n=a.getPartsCoord().substract(i.getPartsCoord()).y;r=t?Le.BOTTOM:e?Le.SCORE:s?Le.CENTER:n>=Math.ceil(V.V_PARTS_NUM_IN_WINDOW/2)?Le.TOP:Le.BOTTOM,this.setPositionEasy(r)}setPositionEasy(t){var e=Math.floor(this._element.clientHeight/2);return t===Le.CENTER?(this._y=V.MAP_WINDOW_HEIGHT/2-e,void this.update()):t===Le.TOP?(this._y=Math.max(20,V.MAP_WINDOW_HEIGHT/4-e)+10,void this.update()):t===Le.BOTTOM?(this._y=Math.min(V.MAP_WINDOW_HEIGHT-20-this._element.clientHeight,3*V.MAP_WINDOW_HEIGHT/4-e),void this.update()):t===Le.SCORE?(this._y=80,void this.update()):void 0}setMessage(t){this._message=t,this.update()}clear(){this._message="",this.update()}setYesNoChoice(t){return this._isInputDisable=!1,this._isYesno=t,this.update(),this._isYesno}isYesNoChoice(){return this._isYesno}isSaveChoice(){return this._isSave}setItemMenuChoice(t){return this._isInputDisable=!1,this._isItemMenu=t,this.update(),this._isItemMenu}isItemMenuChoice(){return this._isItemMenu}setInputDisable(){this._isInputDisable=!0}isInputDisable(){return this._isInputDisable}show(){this._isVisible=!0,this.update()}hide(){this._isVisible=!1,this.update()}isVisible(){return this._isVisible}isWideChar(t){return null!==t.match(/^[^\x01-\x7E\xA1-\xDF]+$/)}createClassicTextElement(t){var e=document.createElement("span");let s=0,a="";for(let r=0;r<t.length||0!=s;r++)if(this.isWideChar(t.charAt(r))?s+=2:s+=1,a+=t.charAt(r),s+1>2*V.MSG_STR_WIDTH){"。"!==t.charAt(r+1)&&"、"!==t.charAt(r+1)||(a+=t.charAt(r+1),r++);var i=document.createElement("span");i.style.display="inline-block",i.style.width="100%",i.textContent=a,e.appendChild(i),s=0,a=""}return e}update(){var t=this._wwa.getYesNoImgCoord();this._isYesno?(this._wwa.getYesNoState()===g.YES?(this._divYesElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_YESP_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_NO_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px"):this._wwa.getYesNoState()===g.NO?(this._divYesElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_YES_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_NOP_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px"):(this._divYesElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_YES_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_NO_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px"),this._ynWrapperElement.style.display="block"):this._ynWrapperElement.style.display="none",this._msgWrapperElement.textContent="";var e=this._message.split("\n");e.forEach(((t,s)=>{let a;this._wwa.isClassicMode()?a=this.createClassicTextElement(t):(a=document.createElement("span"),a.textContent=e[s]),this._msgWrapperElement.appendChild(a),this._msgWrapperElement.appendChild(document.createElement("br"))})),this._isVisible?(this._element.style.left=this._x+"px",this._element.style.top=this._y+"px"):(this._element.style.left="-999999px",this._element.style.top="-999999px"),this._isSave?this._saveElement.style.display="block":this._saveElement.style.display="none",this._element.style.width=this._width+"px",this._element.style.minHeight=this._height+"px"}setWWASave(t){this._wwaSave=t}createSaveDom(){var t,e,s,a,i,r,n,o,h,c,_;e=document.createElement("div"),c=(o=document.getElementById("disp-energy")).style.backgroundPosition,_=o.style.backgroundImage;for(var l=this._wwaSave.list.length,u=0;u<l;u++)t=this._wwaSave.list[u],(s=document.createElement("div")).classList.add("savedata"),s.setAttribute("save_id",u),s.addEventListener("click",(t=>{this.setSaveID(0|t.currentTarget.getAttribute("save_id")),this._save_close=!0,t.preventDefault()})),(a=document.createElement("div")).classList.add("ss"),s.appendChild(a),(i=document.createElement("div")).classList.add("wide-cell-row"),i.style.backgroundPosition=c,i.style.backgroundImage=_,s.appendChild(i),e.appendChild(s),t.flag&&(a.appendChild(t.cvs),(r=document.createElement("span")).textContent=t.getDateText(),t.isLastSaveData()&&(r.style.color=F.DATE_LAST_SAVE_TEXT_COLOR),a.appendChild(r),(n=document.createElement("div")).classList.add("status-icon"),n.style.backgroundImage=_,n.style.backgroundPosition="-120px -80px",i.appendChild(n),(h=document.createElement("div")).classList.add("status-value-box"),h.textContent=t.getStatusEnergy(),i.appendChild(h));this._saveElement.textContent="",this._saveElement.appendChild(e),this.setSaveID(this._save_select_id),this._isSave=!0,this._save_counter=0,this._save_close=!1}deleteSaveDom(){this._saveElement.textContent="",this._isSave=!1}setSaveID(t){this._save_select_id=t;for(var e,s=document.querySelectorAll(".savedata"),a=s.length,i=0;i<a;i++)e=s[i],t===i?e.classList.add("select"):e.classList.remove("select")}save(t,e){return this._wwaSave.save(t,e,this._save_select_id)}load(){return this._wwaSave.load(this._save_select_id)}saveUpdate(){this._save_counter>0&&this._save_counter--}isSaveClose(){return this._save_close}cursor_wait(){this._save_counter=V.CONTROLL_WAIT_FRAME}saveControll(t){if(!(this._save_counter>0||this._isInputDisable)){switch(t){case p.DOWN:this._save_select_id-=2,this.cursor_wait();break;case p.UP:this._save_select_id+=2,this.cursor_wait();break;case p.LEFT:this._save_select_id--,this.cursor_wait();break;case p.RIGHT:this._save_select_id++,this.cursor_wait()}this.setSaveID((this._save_select_id+F.QUICK_SAVE_MAX)%F.QUICK_SAVE_MAX)}}get windowName(){return"MessageWindow"}}class Ue{constructor(t,e,s){this.id=t,this.imgFileName=e,this.parent=s,this.elem=document.createElement("div"),this.elem.classList.add("est"),this.elem.setAttribute("id","wwa-est-"+t),this.imgElem=document.createElement("div"),this.imgElem.classList.add("est-img-wrapper"),this.imgElem.style.backgroundImage="url("+this.imgFileName.replace("(","\\(").replace(")","\\)")+")",this.statusElem=document.createElement("div"),this.statusElem.classList.add("est-status-wrapper"),this.energyElem=document.createElement("div"),this.energyElem.classList.add("est-energy"),this.energyDispElem=document.createElement("span"),this.energyDispElem.classList.add("est-energy-disp"),this.energyElem.appendChild(this.energyDispElem),this.statusElem.appendChild(this.energyElem),this.strengthElem=document.createElement("div"),this.strengthElem.classList.add("est-strength"),this.strengthDispElem=document.createElement("span"),this.strengthDispElem.classList.add("est-strength-disp"),this.strengthElem.appendChild(this.strengthDispElem),this.statusElem.appendChild(this.strengthElem),this.defenceElem=document.createElement("div"),this.defenceElem.classList.add("est-defence"),this.defenceDispElem=document.createElement("span"),this.defenceDispElem.classList.add("est-defence-disp"),this.defenceElem.appendChild(this.defenceDispElem),this.statusElem.appendChild(this.defenceElem),this.damageElem=document.createElement("div"),this.damageElem.classList.add("est-damage"),this.damageDispElem=document.createElement("span"),this.damageDispElem.classList.add("est-damage-disp"),this.damageElem.appendChild(this.damageDispElem),this.statusElem.appendChild(this.damageElem),this.elem.appendChild(this.imgElem),this.elem.appendChild(this.statusElem)}hide(){this.elem.style.display="none"}show(){this.elem.style.display="block"}setResult(t,e,s){this.imgElem.style.backgroundPosition="-"+t.x+"px -"+t.y+"px",this.energyDispElem.textContent="生命力 "+e.energy,this.strengthDispElem.textContent="攻撃力 "+e.strength,this.defenceDispElem.textContent="防御力 "+e.defence,s.cannotDamageMonster?this.damageDispElem.textContent="攻撃無効":s.noSettled?this.damageDispElem.textContent="勝負がつきません":s.isOverMaxTurn?this.damageDispElem.textContent="長期戦が予想されます":this.damageDispElem.textContent="予測ダメージ "+s.estimatedDamage}}class ke{constructor(t,e,s){var a;this._wwa=t,this._imgFileName=e,this._parent=s,this._element=document.createElement("div"),this._element.setAttribute("id","wwa-battle-estimate"),this._element.style.display="none",this._edes=[];for(var i=0;i<V.BATTLE_ESTIMATE_MONSTER_TYPE_MAX;i++)a=new Ue(i,this._imgFileName,this._element),this._edes.push(a),this._element.appendChild(a.elem);this._element.addEventListener("click",(()=>{this._wwa.hideBattleEstimateWindow()})),this._parent.appendChild(this._element)}update(t,e,s,a,i){for(let r=0;r<V.BATTLE_ESTIMATE_MONSTER_TYPE_MAX;r++){if(r>=e.length){this._edes[r].hide();continue}const n=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_X),o=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_Y),_=new c(n,o),l=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_ENERGY),u=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_STRENGTH),d=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_DEFENCE),p=new h(l,u,d,0),m=We(t,e[r],s,a,i);this._edes[r].setResult(_,p,m),this._edes[r].show()}}show(){this._element.style.display="block"}hide(){this._element.style.display="none"}}function We(t,e,s,a,i){const r=e.clone(),n=t.clone();let o=0,h=0,c=0;const _=t.energy;if(i&&n.strength<=r.status.defence&&n.defence>=r.status.strength)return{cannotDamageMonster:!0,estimatedDamage:0};for(;;){h++;const t=s(n,r);if(r.status.energy-=t.damage,0===t.damage?c++:c=0,r.status.energy<=0)return{estimatedDamage:o};if(c>V.FIGHT_DRAW_TURN||t.aborted)return{noSettled:(_<=0||n.energy>0)&&r.status.energy>0,estimatedDamage:o};if(h>2e4)return{isOverMaxTurn:!0,estimatedDamage:0};h++;const e=a(r,n),i=Math.max(e.damage,0);if(0===i?c++:c=0,o+=i,n.energy=Math.max(n.energy-i,0),c>V.FIGHT_DRAW_TURN||e.aborted)return{noSettled:(_<=0||n.energy>0)&&r.status.energy>0,estimatedDamage:o};if(h>2e4)return{isOverMaxTurn:!0,estimatedDamage:0}}}!function(t){t[t.SAVE=0]="SAVE",t[t.LOAD=1]="LOAD"}(Re||(Re={}));class Ve{constructor(t,e,s){this._wwa=t,this._parent=e,this._isDisallowLoadOldSave=s,this.COPIED_MESSAGE_DISPLAY_MS=1e3,this._element=document.createElement("div"),this._element.setAttribute("id","wwa-password-window"),this._element.style.display="none",this._descriptionElement=document.createElement("div"),this._descriptionElement.classList.add("wwa-password-description"),this._passwordBoxElement=document.createElement("textarea"),this._passwordBoxElement.setAttribute("cols","50"),this._passwordBoxElement.setAttribute("rows","16"),this._passwordBoxElement.addEventListener("focus",(t=>{this._passwordBoxElement.select()})),this._buttonWrapperElement=document.createElement("div"),this._buttonWrapperElement.classList.add("wwa-password-submit"),this._okButtonElement=document.createElement("button"),this._okButtonElement.textContent="OK",this._okButtonElement.addEventListener("click",(()=>{this._wwa.hidePasswordWindow()})),this._cancelButtonElement=document.createElement("button"),this._cancelButtonElement.textContent="キャンセル",this._cancelButtonElement.addEventListener("click",(()=>{this._wwa.hidePasswordWindow(!0)})),this._copyButtonElement=document.createElement("button"),this._copyButtonElement.textContent="コピー",this._copyButtonElement.addEventListener("click",(async()=>{await navigator.clipboard.writeText(this.password),this._copyButtonElement.textContent="コピーしました",this._copyButtonElement.disabled=!0,setTimeout((()=>{this._copyButtonElement&&(this._copyButtonElement.textContent="コピー",this._copyButtonElement.disabled=!1)}),this.COPIED_MESSAGE_DISPLAY_MS)})),this._buttonWrapperElement.appendChild(this._okButtonElement),this._buttonWrapperElement.appendChild(this._cancelButtonElement),this._buttonWrapperElement.appendChild(this._copyButtonElement),this._mode=Re.LOAD,this._element.appendChild(this._descriptionElement),this._element.appendChild(this._passwordBoxElement),this._element.appendChild(this._buttonWrapperElement),this._parent.appendChild(this._element),this.update()}get mode(){return this._mode}set mode(t){this._mode=t,t===Re.LOAD&&(this.password="")}get password(){return this._passwordBoxElement.value}set password(t){this._passwordBoxElement.value=t}show(t){void 0!==t&&(this.mode=t),this._isVisible=!0,this.update()}hide(){this._isVisible=!1,this.update()}update(){var t="";if(this._mode===Re.LOAD){t=`下のボックスに前回のプレイで取得した\n復帰用パスワードを貼り付けてください。\nJava 版 WWA で取得したパスワードはご利用になれません。\n作成者が ${this._isDisallowLoadOldSave?"マップの内容":"ワールド名 か マップの暗証番号"} を変更した場合は\nそれ以前に取得したパスワードは使えなくなります。`;try{this._passwordBoxElement.removeAttribute("readonly")}catch(t){}this._cancelButtonElement.style.display="inline",this._copyButtonElement.style.display="none"}else t="下記テキストがデータ復帰用のパスワードになっています。\nコピーしてメモ帳などのテキストエディタに貼り付けて\n保存してください。",this._passwordBoxElement.setAttribute("readonly","readonly"),this._cancelButtonElement.style.display="none",this._copyButtonElement.style.display="inline";var e=t.split("\n");this._descriptionElement.textContent="";for(var s=0;s<e.length;s++){var a=document.createElement("span");a.textContent=e[s],this._descriptionElement.appendChild(a),this._descriptionElement.appendChild(document.createElement("br"))}this._isVisible?this._element.style.display="block":this._element.style.display="none"}}function Fe(){return"ontouchstart"in window&&"ontouchend"in window&&"ontouchmove"in window}function Ye(t,e,s){var a,i=document.createElement("style");i.type="text/css",i.setAttribute("id",V.WWA_STYLE_TAG_ID),(a="head",document.getElementsByTagName(a))[0].appendChild(i),t.innerHTML=function(t,e){return`\n <canvas id="wwa-map" class="wwa-canvas" width="440" height="440">\n このブラウザは、Canvas要素をサポートしていません。\n </canvas>\n <canvas id="wwa-map-sub" class="wwa-canvas" width="440" height="440"></canvas>\n <div id="wwa-sidebar">\n <div class="wide-cell-row" id="disp-energy"><div class="status-icon"></div><div class="status-value-box">0</div></div>\n <div class="wide-cell-row" id="disp-strength"><div class="status-icon"></div><div class="status-value-box"> 0 </div></div>\n <div class="wide-cell-row" id="disp-defence"><div class="status-icon"></div><div class="status-value-box">0</div></div>\n <div class="wide-cell-row" id="disp-gold"><div class="status-icon"></div><div class="status-value-box">0</div></div>\n <div class="item-cell" id="item0"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item1"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item2"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item3"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item4"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item5"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item6"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item7"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item8"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item9"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item10"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item11"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="wide-cell-row" id="cell-load">Password</div><div class="wide-button" id="button-load"></div>\n <div class="wide-cell-row" id="cell-save">Quick Save</div><div class="wide-button" id="button-save"></div>\n <div class="wide-cell-row" id="cell-restart">Restart Game</div><div class="wide-button" id="button-restart"></div>\n <div class="wide-cell-row" id="cell-gotowwa">Goto WWA</div><div class="wide-button" id="button-gotowwa"></div>\n </div>\n <div id="wwa-controller"></div>\n <div id="wwa-fader"></div>\n${t?'\n <div id="wwa-cover">\n <div id="unstable-version-warning"></div>\n <div id="version"></div>\n <div id="progress-message-container">開始しています...</div>\n <div id="progress-bar-bg"></div>\n <div id="progress-bar" class="progress-bar"></div>\n <div id="progress-bar-audio" class="progress-bar"></div>\n <div id="progress-disp">---</div>\n </div>\n ':`\n <div id="wwa-cover">\n <canvas id="progress-panel" width="${V.SCREEN_WIDTH}" height="${V.SCREEN_HEIGHT}"></canvas>\n </div>`}\n${e?'\n <div id="wwa-virtualpad-left">\n <button class="wwa-virtualpad__button" id="wwa-up-button"></button>\n <button class="wwa-virtualpad__button" id="wwa-left-button"></button>\n <button class="wwa-virtualpad__button" id="wwa-right-button"></button>\n <button class="wwa-virtualpad__button" id="wwa-down-button"></button>\n <div class="wwa-virtualpad__hole"></div>\n </div>\n <div id="wwa-virtualpad-right">\n <button class="wwa-virtualpad__button" id="wwa-slow-button">I</button>\n <button class="wwa-virtualpad__button" id="wwa-fast-button">P</button>\n <button class="wwa-virtualpad__button" id="wwa-enter-button">Y</button>\n <button class="wwa-virtualpad__button" id="wwa-esc-button">N</button>\n </div>':""}\n`}(null!==e,s),null!==e&&(dt("wwa-cover").style.backgroundImage=`url(${e})`,dt("wwa-cover").style.backgroundRepeat="no-repeat",dt("wwa-cover").style.backgroundPosition="0 0")}class Ge{update(){this.counter>0&&this.counter--}cursor_wait(){this.counter=V.CONTROLL_WAIT_FRAME}allClear(){this.col=0,this.row=0,this.counter=0}controll(t){if(!(this.counter>0))switch(t){case p.DOWN:this.row<Ge.ROW_MAX-1&&(this.row++,this.openView(),this.cursor_wait());break;case p.UP:this.row>0&&(this.row--,this.openView(),this.cursor_wait());break;case p.LEFT:this.col>0&&(this.col--,this.openView(),this.cursor_wait());break;case p.RIGHT:this.col<Ge.COL_MAX-1&&(this.col++,this.openView(),this.cursor_wait())}}ok(){this.close();var t=null;(t=mt(Ge.CLICK_DOM_QUERY_TABLE[this.row][this.col])).classList.contains("item-click-border")||this.allClear();var e=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});return t.dispatchEvent(e)}ng(){this.close()}close(){var t,e,s=null;for(t=0;t<Ge.COL_MAX;t++)for(e=0;e<Ge.ROW_MAX;e++)(s=dt(Ge.DOM_ID_TABLE[e][t])).classList.contains("onpress")&&s.classList.remove("onpress")}openView(){this.close();dt(Ge.DOM_ID_TABLE[this.row][this.col]).classList.add("onpress")}init(){this.allClear(),this.openView()}constructor(){this.allClear()}}Ge.ROW_MAX=8,Ge.COL_MAX=3,Ge.DOM_ID_TABLE=[["item0","item1","item2"],["item3","item4","item5"],["item6","item7","item8"],["item9","item10","item11"],["cell-load","cell-load","cell-load"],["cell-save","cell-save","cell-save"],["cell-restart","cell-restart","cell-restart"],["cell-gotowwa","cell-gotowwa","cell-gotowwa"]],Ge.CLICK_DOM_QUERY_TABLE=[["#item0 .item-click-border","#item1 .item-click-border","#item2 .item-click-border"],["#item3 .item-click-border","#item4 .item-click-border","#item5 .item-click-border"],["#item6 .item-click-border","#item7 .item-click-border","#item8 .item-click-border"],["#item9 .item-click-border","#item10 .item-click-border","#item11 .item-click-border"],["#button-load","#button-load","#button-load"],["#button-save","#button-save","#button-save"],["#button-restart","#button-restart","#button-restart"],["#button-gotowwa"," #button-gotowwa","#button-gotowwa"]];var He=s(705);function Ke(t){return`^ /${231*t+8310}P+>A[]`}function je(t){return(0,He.MD5)(t).toString()}const Xe=Object.freeze({MAP:"map",MAP_OBJECT:"mapObject",SYSTEM_MESSAGE:"systemMessage",USER_VAR:"userVar"}),Je=Object.freeze({mapAttribute:!0,objectAttribute:!0,message:!0});class $e{static compress(t){var e,s,a={};for(e in t)if(!Je[e]){switch(typeof(s=t[e])){case"number":case"string":case"boolean":if(this._restartData[e]===s&&"worldName"!==e)continue;break;case"object":if(null===s){if(this._restartData[e]===s)continue}else if(void 0===(s=this.compressObject(e,s,this._restartData[e])))continue;break;case"undefined":break;case"function":continue}a[e]=s}return a}static compressObject(t,e,s){var a,i,r,n;switch(t){case Xe.MAP:case Xe.MAP_OBJECT:var o,h,c,_,l,u,d,p,m,E,g,w,f,y;for(l in a={},m={},p={},e)for(_ in i=e[l],r=s[l],n={},h=-1,i)(d=i[_])!==r[_]&&(n[_]=d,void 0===m[d]&&(m[d]={}),void 0===(g=m[d])[l]&&(g[l]=[]),(f=g[l]).push(Number(_)));for(w in m)for(l in g=m[w],void 0===p[w]&&(p[w]={}),E=p[w],void 0===a[w]&&(a[w]=[]),h=-1,g)1===(f=g[l]).length?(void 0===E[u=f[0]]&&(E[u]=[]),(y=E[u]).push(Number(l))):(c=(o=Number(l))-h-1,h=o,a[w].push(this.getCompressArray(f),c));for(w in p)for(_ in d=Number(w),h=-1,E=p[w])y=E[_],c=(o=Number(_))-h-1,h=o,1===y.length?a[w].push(c,y[0]):a[w].push(c,this.getCompressArray(y));var v=[];for(w in h=-1,a)c=(o=Number(w))-h-1,h=o,v.push(c,a[w]);return this._usingByteFlag&&JSON.stringify(v).length>=this._mapByteLength?this.compressMapAllObject(e,s,this._firstRandomMapObjectUtf8Table[t]):v;case Xe.SYSTEM_MESSAGE:var S;for(t in a={},e)S=e[t],s[t]!==S&&(a[t]=S);break;case Xe.USER_VAR:return this.compressUserVars(e);default:return e}if(0!==Object.keys(a).length)return a}static compressUserVars(t){return t.map(((t,e)=>[e,t])).filter((([t,e])=>0!==e))}static compressMapAllObject(t,e,s){var a,i,r,n,o,h,c,_,l,u,d,p,m,E,g,w,f=this._restartData.mapWidth,y=new Uint8Array(this._mapByteLength),v=-1;for(r=0,n=0,h=0,c=0,g=0,d=[],E={},l=[],u=[],i=0;i<f;i++)for(a=0;a<f;a++)(_=t[i][a])!==e[i][a]&&(-1===v&&(v=n),y[n]=y[n]|1<<r,h=n,void 0===E[_]&&(E[_]=new qe(_,g++)),E[_].count++),8===++r&&(r=0,n++);for(o in E)d[E[o].index]=E[o];for(p in d.sort(this.idSort),m={},d)m[_=d[p].id]=Number(p),l[p]=_;for(i=0;i<f;i++)for(a=0;a<f;a++)(_=t[i][a])!==e[i][a]&&(u[c++]=m[_]);if(s){for(w=y.length,v=-1,h=0,n=0;n<w;n++)y[n]=y[n]&~s[n],0!==y[n]&&(-1===v&&(v=n),h=n);-1===v&&(v=0,h=0)}return[v,y.subarray(v,h+1),l,this.indexListCompress(u,l.length)]}static indexListCompress(t,e){var s,a,i,r,n,o,h=[];for(r=t.length,a=0,s=0;s<r;s++){for(n=t[s],o=0,i=s+1;i<r&&n===t[i];i++)o++,s=i;switch(o){case 0:h[a++]=n;break;case 1:h[a++]=n,h[a++]=n;break;default:h[a++]=n,h[a++]=e+o}}return h}static idSort(t,e){return e.count-t.count}static getCompressArray(t){var e,s,a,i,r,n,o,h,c=[];for(e=-1,r=t.length,n=0,i=0;i<r;i++){for(s=(a=t[i])-e,o=0,h=i;h<r-1&&t[h]+1===t[h+1];)h++,o++;o<this.MIN_LOOP_COUNT?c[n++]=s:(i=h,a+=o,c[n++]=0,c[n++]=s,c[n++]=o-this.MIN_LOOP_COUNT),e=a}return c}static getDecompressArray(t){var e,s,a,i,r,n,o,h=[];for(e=-1,r=t.length,i=0,o=0;i<r;i++)if(0===(s=t[i])){for(n=(a=e+(s=t[++i]))+t[++i]+this.MIN_LOOP_COUNT;a<=n;a++)h[o++]=a;e=n}else a=e+s,h[o++]=a,e=a;return h}static decompress(t){var e,s,a;for(s in e=JSON.parse(JSON.stringify(this._restartData)),t){switch(typeof(a=t[s])){case"number":case"string":case"boolean":case"undefined":break;case"object":null!==a&&(a=this.decompressObject(s,a,e[s]));break;case"function":continue}e[s]=a}return[e,{isWorldNameEmpty:void 0===t.worldName}]}static decompressObject(t,e,s){var a;switch(t){case Xe.MAP:case Xe.MAP_OBJECT:var i,r,n,o,h,c,_,l;a={},r=-1;var u,d,p=e;if(4===(l=p.length)&&"number"==typeof p[0]&&(p[1]instanceof Uint8Array||p[1]instanceof Array)&&p[2]instanceof Array&&p[3]instanceof Array)return this.decompressAllMapObject(p,s,this._firstRandomMapObjectUtf8Table[t]),s;for(_=0;_<l;_+=2)r=i=r+Number(p[_])+1,h=i,a[i]=p[_+1];for(c in a){for(h=Number(c),l=(p=a[c]).length,u=[],d=[],_=0;_<l;_+=2){var m=p[_],E=p[_+1];m instanceof Array&&(m=this.getDecompressArray(m)),E instanceof Array&&(E=this.getDecompressArray(E)),"object"==typeof m?u.push({x:m,y:E}):d.push({x:m,y:E})}var g;for(g in r=-1,u)if(r=i=r+Number(u[g].y)+1,m=u[g].x,o=String(i),m instanceof Array)for(l=(p=m).length,_=0;_<l;_++)n=String(p[_]),s[o][n]=h;else n=String(m),s[o][n]=h;for(g in r=-1,d)if(r=i=r+Number(d[g].x)+1,E=d[g].y,n=String(i),E instanceof Array)for(l=(p=E).length,_=0;_<l;_++)s[o=String(p[_])][n]=h;else s[o=String(E)][n]=h}return s;case Xe.USER_VAR:return this.decompressUserVars(e);case Xe.SYSTEM_MESSAGE:default:if(s);else{if(!e)return;s=s instanceof Array?[]:{}}for(t in e)s[t]=e[t];return s}}static decompressUserVars(t){return t.reduce(((t,[e,s])=>(t[e]=s,t)),this.generateEmptyUserVars())}static generateEmptyUserVars(){const t=new Array(V.USER_VAR_NUM);for(let e=0;e<V.USER_VAR_NUM;e++)t[e]=0;return t}static decompressAllMapObject(t,e,s){var a,i,r,n,o,h,c,_,l,u,d,p=this._restartData.mapWidth,m=new Uint8Array(this._mapByteLength);d=t[0],n=t[2],i=t[3];var E=t[1];if(m.set(E,d),s)for(g=m.length,l=0;l<g;l++)m[l]=m[l]|s[l];r=[];var g,w,f,y,v,S,A=n.length;for(g=i.length,w=0,f=0;w<g;w++){if((o=i[w])>=A)for(y=o-A,v=0;v<y;v++)r[f++]=S;else r[f++]=o;S=o}for(_=0,l=0,u=0,h=0,g=m.length,l=0;l<g;l++)for(_=0;_<8;_++){if(m[l]&1<<_){if(void 0===(o=r[h++]))return!1;a=n[o],c=u%p,e[u/p|0][c]=a}u++}return!0}static setRestartData(t,e){this._restartData=t,this._mapByteLength=Math.ceil(t.mapWidth*t.mapWidth/8),this._firstRandomMapObjectUtf8Table[Xe.MAP_OBJECT]=this.getChangedUint8Array(e[Xe.MAP_OBJECT],t[Xe.MAP_OBJECT])}static getChangedUint8Array(t,e){var s,a,i,r,n=this._restartData.mapWidth,o=new Uint8Array(this._mapByteLength),h=-1;for(i=0,r=0,a=0;a<n;a++)for(s=0;s<n;s++)t[a][s]!==e[a][s]&&(-1===h&&(h=r),o[r]=o[r]|1<<i),8===++i&&(i=0,r++);return o}static getStartWWAData(t){if(!t)return this._restartData;try{var e=JSON.parse(t)}catch(t){return this._restartData}var s;if(e)try{if([s]=this.decompress(e),s)return s}catch(t){}return this._restartData}static usingByte(t){this._usingByteFlag=t}}$e._usingByteFlag=!1,$e.MIN_LOOP_COUNT=3,$e._restartData=void 0,$e._mapByteLength=0,$e._firstRandomMapObjectUtf8Table=new class{};var Ze=$e;class qe{constructor(t,e){this.id=0,this.index=0,this.count=0,this.id=t,this.index=e}}class Qe{constructor(t,e){this._id=0,this.flag=!1,this.date=void 0,this.cvs=void 0,this.ctx=void 0,this.quickSaveData=void 0,this._id=t,this._parent=e,this.cvs=document.createElement("canvas"),this.cvs.width=F.QUICK_SAVE_THUMNAIL_WIDTH,this.cvs.height=F.QUICK_SAVE_THUMNAIL_HEIGHT,this.ctx=this.cvs.getContext("2d",{alpha:!1})}showQickLoad(){dt("cell-load").textContent=Y.QUICK_LOAD}save(t,e){return this._statusEnergy=e.statusEnergy,this.ctx.clearRect(0,0,this.cvs.width,this.cvs.height),this.ctx.drawImage(t,0,0,t.width,t.height,0,0,this.cvs.width,this.cvs.height),this.quickSaveData=e,this.flag=!0,this.date=new Date,this.showQickLoad(),!0}getStatusEnergy(){return this.flag?this._statusEnergy:-1}load(){return this.quickSaveData}saveDataSet(t,e,s){try{this.quickSaveData=e,this._statusEnergy=e.statusEnergy,this.date=s,this.flag=!0;var a=document.createElement("img");a.src=t,a.addEventListener("load",(()=>{this.flag=!0,this.ctx.drawImage(a,0,0,a.width,a.height,0,0,this.cvs.width,this.cvs.height)})),this.showQickLoad()}catch(t){}}getDateText(){let t,e,s,a,i,r;return this.date?(t=this.date.getFullYear(),e=this.date.getMonth()+1,s=this.date.getDate(),a=this.date.getHours(),i=this.date.getMinutes(),r=this.date.getSeconds(),t=("000"+t).slice(-4),e=("0"+e).slice(-2),s=("0"+s).slice(-2),a=("0"+a).slice(-2),i=("0"+i).slice(-2),r=("0"+r).slice(-2),t+"/"+e+"/"+s+" "+a+":"+i+":"+r):""}isLastSaveData(){return this===this._parent.getLastSaveData()}}class ze extends Qe{save(t,e){var s=super.save.apply(this,arguments);return this._parent.dbUpdateSaveData(this._id,t,e,this.date),s}}class ts extends Array{constructor(){super(),Object.setPrototypeOf(this,Object.create(ts.prototype))}hasSaveData(){for(var t=0;t<F.QUICK_SAVE_MAX;t++)if(this[t].flag)return!0;return!1}getLastSaveData(){for(var t,e,s=0;s<F.QUICK_SAVE_MAX;s++)(e=this[s]).flag&&(t?e.date&&t.date&&e.date.getTime()>t.date.getTime()&&(t=e):t=e);return t}}const es=t=>{return"boolean"!=typeof(e=t).isGameOverDisabled?e:!0===e.isGameOverDisabled?{...e,isGameOverDisabled:void 0,gameOverPolicy:"never"}:!1===e.isGameOverDisabled?{...e,isGameOverDisabled:void 0,gameOverPolicy:"default"}:e;var e};class ss extends ts{constructor(t,e,s=ss.prototype){super(),this.IDBTransaction={READ_ONLY:"readonly",READ_WRITE:"readwrite",VERSION_CHANGE:"versionchangetransaction"},this.keyPath=["id","url"],Object.setPrototypeOf(this,Object.create(s));for(var a=0;a<F.QUICK_SAVE_MAX;a++)this[a]=new ze(a,this);this.onCheckLoadingSaveData=t,this.onCompleteLoadingSaveData=e,this.createDataBase(),this.selectSaveData()}indexDBOpen(){return indexedDB.open(F.INDEXEDDB_DB_NAME,201205201)}createDataBase(){try{var t=this.indexDBOpen();t.onupgradeneeded=e=>{var s=t.result,a={keyPath:this.keyPath};s.objectStoreNames.contains(F.INDEXEDDB_TABLE_NAME)||s.createObjectStore(F.INDEXEDDB_TABLE_NAME,a).createIndex("url","url",{unique:!1})},t.onsuccess=ss.doNotAnything,t.onerror=ss.doNotAnything,t.onblocked=ss.doNotAnything}catch(t){}}getObjectStore(t){const e=t;try{var s=e.transaction(F.INDEXEDDB_TABLE_NAME,this.IDBTransaction.READ_WRITE).objectStore(F.INDEXEDDB_TABLE_NAME)}catch(t){return}return s}makeSaveDataItem(t,e,s,a){return{url:location.href,id:t,hash:hs.checkOriginalMapString,image:e.toDataURL(),data:s,date:a,worldName:hs.worldName,mapDataRevisionKey:hs.mapDataRevisionKey}}getSaveDataResult(t,e){const s=t.index("url"),a=IDBKeyRange.only(location.href),i=s.getAll(a);i.onsuccess=()=>{e(i.result)}}dbUpdateSaveData(t,e,s,a){const i=this.indexDBOpen();i.onupgradeneeded=ss.doNotAnything,i.onsuccess=()=>{const r=this.getObjectStore(i.result),n=Ze.compress(s),o=this.makeSaveDataItem(t,e,n,a);this.selectDatas[t]=o;const h=r.put(o);h.onsuccess=ss.doNotAnything,h.onerror=ss.doNotAnything},i.onerror=ss.doNotAnything,i.onblocked=ss.doNotAnything}dbDeleteSaveData(t){const e=this.indexDBOpen();e.onupgradeneeded=ss.doNotAnything,e.onsuccess=()=>{const s=this.getObjectStore(e.result);t.forEach((t=>{s.delete([t,location.href])}))},e.onerror=ss.doNotAnything,e.onblocked=ss.doNotAnything}selectSaveData(){const t=this.indexDBOpen();t.onupgradeneeded=ss.doNotAnything,t.onsuccess=()=>{const e=this.getObjectStore(t.result);this.selectDatas=[];this.getSaveDataResult(e,(t=>{var e,s,a;let i=[];for(s=t.length,e=0;e<s;e++){var r=t[e];try{a={id:r.id,hash:r.hash,data:r.data,date:r.date,image:r.image,worldName:r.worldName,mapDataRevisionKey:r.mapDataRevisionKey}}catch(t){continue}const s=this.onCheckLoadingSaveData(a.worldName,a.hash,a.mapDataRevisionKey);if(null!==s){i.push({id:a.id,cause:s});continue}if(!this[a.id])continue;const n=es(Ze.decompress(a.data)[0]);this[a.id].saveDataSet(a.image,n,a.date)}i.length>0&&this.dbDeleteSaveData(i.map((t=>t.id)));const n=i.map((t=>t.cause)).filter(((t,e,s)=>s.indexOf(t)===e));this.onCompleteLoadingSaveData(n)}))},t.onerror=ss.doNotAnything,t.onblocked=ss.doNotAnything}}ss.doNotAnything=()=>{};var as,is=ss;class rs extends Qe{}class ns extends ts{constructor(){super(),this._saveNo=0,this._lastAutoSaveMove=0,this._autoInterval=F.SAVE_INTERVAL_MOVE,Object.setPrototypeOf(this,Object.create(ns.prototype));for(var t=0;t<F.QUICK_SAVE_MAX;t++)this[t]=new rs(t,this);this._saveNo=0,this._lastAutoSaveMove=0}resumeStart(){this._lastAutoSaveMove=-1}setPlayer(t){this._lastAutoSaveMove=t.getMoveCount()}isAutoSaveFrame(t){if(0===this._autoInterval)return!1;var e=t.getMoveCount();return!(this._lastAutoSaveMove>=e)&&(e%this._autoInterval==0&&(this._lastAutoSaveMove=e,!0))}autoSave(t,e){this[this._saveNo].save(t,e),this._saveNo++,this._saveNo=this._saveNo%F.QUICK_SAVE_MAX}setAutoSaveInterval(t){t<0?console.warn(`オートセーブの歩数 (${t}) に負の値が設定されています。`):this._autoInterval=0|t}}function os(t,e){return(0,He.MD5)(t+e).toString()}class hs{constructor(t,e,s,a,i){hs.checkOriginalMapString=t.checkOriginalMapString,hs.worldName=e,hs.mapDataRevisionKey=os(e,s),this._wwaDBSaveList=new is(a,i),this._wwaLogSaveList=new ns,this.selectDBSaveDataList()}resumeStart(){this._wwaLogSaveList.resumeStart()}isAutoSaveFrame(t){return this._wwaLogSaveList.isAutoSaveFrame(t)}autoSave(t,e){this._wwaLogSaveList.autoSave(t,e)}selectDBSaveDataList(){this.list=this._wwaDBSaveList}selectLogSaveDataList(){this.list=this._wwaLogSaveList}save(t,e,s){var a=this.list[s];return!!a&&a.save(t,e)}load(t){var e=this.list[t];return e?e.load():null}hasSaveData(){return this.list.hasSaveData()}setAutoSaveInterval(t){return this._wwaLogSaveList.setAutoSaveInterval(t)}getFirstSaveChoiceCallInfo(t){return t?T.CALL_BY_PASSWORD_LOAD:this._wwaDBSaveList.hasSaveData()?T.CALL_BY_QUICK_LOAD:this._wwaLogSaveList.hasSaveData()?T.CALL_BY_LOG_QUICK_LOAD:T.CALL_BY_PASSWORD_LOAD}getSecondSaveChoiceCallInfo(t){return this.list===this._wwaDBSaveList&&this._wwaLogSaveList.hasSaveData()?T.CALL_BY_LOG_QUICK_LOAD:t?T.CALL_BY_PASSWORD_LOAD:T.NONE}gameStart(t,e){this._wwaLogSaveList.setPlayer(e),this.quickSaveButtonUpdate(t)}quickSaveButtonUpdate(t){t.disableSaveFlag?dt("cell-save").textContent=Y.EMPTY_SAVE:dt("cell-save").textContent=Y.QUICK_SAVE}}!function(t){t.UNMATCHED_WORLD_NAME="UNMATCHED_WORLD_NAME",t.UNMATCHED_WORLD_PASS_NUMBER="UNMATCHED_WORLD_PASS_NUMBER",t.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA="DISALLOW_OLD_REVISION_WORLD_SAVE_DATA"}(as||(as={}));class cs{constructor(t,e,s,a){this.id=t,this.fileName=e,this.audioContext=s,this.audioGain=a,this.disposeBufferSource=t=>{try{t.stop(),t.disconnect(this.audioGain),t.buffer=null}catch(t){}t.onended=null},this.audioContext=s,this.audioGain=a,this.audioBuffer=null,this.bufferSources=[],this.isLoaded=!1,this.delayBgmTimeoutId=null,this.load()}async fetchSoundFile(){try{return await fetch(this.fileName)}catch(t){return void console.warn(`サウンド ${this.id} 番の音声ファイルの取得失敗 (fetch)`)}}async getArrayBuffer(t){try{return await t.arrayBuffer()}catch(t){return void console.warn(`サウンド ${this.id} 番の音声ファイルの取得失敗 (arrayBuffer)`)}}async load(t=0){if(t>=10)return console.log(`サウンド ${this.id} 番の音声ファイルの取得失敗 (最大リトライ回数超過)`),void(this.isExceededMaxRetryCount=!0);const e=await this.fetchSoundFile();if(!e)return void this.retry(t);if(0!==e.status&&200!==e.status)return console.warn(`サウンド ${this.id} 番の音声ファイルが見つかりません! HTTPエラー番号: ${e.status}`),void this.cancelLoad();const s=await this.getArrayBuffer(e);s?this.audioContext.decodeAudioData(s,(e=>{if(0===e.length)return console.log(`サウンド ${this.id} 番の音声ファイルのバッファサイズが 0 です `),void this.retry(t);this.setData(e)})):this.retry(t)}retry(t){window.setTimeout((async()=>{await this.load(t+1)}),100)}setData(t){this.audioBuffer=t,this.isLoaded=!0}cancelLoad(){this.audioBuffer=null,this.isLoaded=!0}play(t=0){const e=this.audioContext.createBufferSource();this.bufferSources.push(e),e.buffer=this.audioBuffer,this.isBgm()&&(e.loop=!0),e.connect(this.audioGain);let s=e.duration;(!isFinite(s)||s<0||"number"!=typeof s)&&(s=0),e.onended=()=>{const t=this.bufferSources.indexOf(e);-1!==t&&this.bufferSources.splice(t,1),this.disposeBufferSource(e)},this.delayBgmTimeoutId=window.setTimeout((()=>{this.delayBgmTimeoutId=null,e.start()}),t),this.audioGain.connect(this.audioContext.destination)}pause(){null!==this.delayBgmTimeoutId&&(window.clearTimeout(this.delayBgmTimeoutId),this.delayBgmTimeoutId=null),this.bufferSources.forEach(this.disposeBufferSource),this.bufferSources.length=0}isBgm(){return this.id>=R.BGM_LB}hasData(){return null!==this.audioBuffer}isPlaying(){return this.hasData()||null!==this.delayBgmTimeoutId}isLoading(){return!this.isLoaded}isError(){return this.isExceededMaxRetryCount||this.isLoaded&&null===this.audioBuffer}}const _s=(t,e)=>{const s=new Array(t);for(let t=0;t<s.length;t++)s[t]=new Array(e);return s};var ls,us,ds;function ps(t,e){const s=function(t){return t[ls.CHECK]+256*t[ls.CHECK+1]}(t),a=function(t,e){let s=0;if(t[ls.VERSION]>=29){for(let i=2;i<e;i++)s+=(a=t[i],((a%=256)>=128?a-256:a)*(i%8+1));s=s%65536&65535}var a;return s}(t,e);if(s!==a)throw new Error("マップデータが壊れているようです。\n チェックサムの値は"+s+"ですが、実際の和は"+a+"でした。")}!function(t){t[t.CHECK=0]="CHECK",t[t.VERSION=2]="VERSION",t[t.OLD_MAP_COUNT=3]="OLD_MAP_COUNT",t[t.OLD_OBJ_COUNT=4]="OLD_OBJ_COUNT",t[t.OLD_PLAYER_X=5]="OLD_PLAYER_X",t[t.OLD_PLAYER_Y=6]="OLD_PLAYER_Y",t[t.STATUS_ENERGY=10]="STATUS_ENERGY",t[t.STATUS_STRENGTH=12]="STATUS_STRENGTH",t[t.STATUS_DEFENCE=14]="STATUS_DEFENCE",t[t.STATUS_GOLD=16]="STATUS_GOLD",t[t.OLD_GAMEOVER_X=18]="OLD_GAMEOVER_X",t[t.OLD_GAMEOVER_Y=19]="OLD_GAMEOVER_Y",t[t.OLD_ITEMBOX_TOP=20]="OLD_ITEMBOX_TOP",t[t.STATUS_ENERGY_MAX=32]="STATUS_ENERGY_MAX",t[t.MAP_COUNT=34]="MAP_COUNT",t[t.OBJ_COUNT=36]="OBJ_COUNT",t[t.PLAYER_X=38]="PLAYER_X",t[t.PLAYER_Y=40]="PLAYER_Y",t[t.GAMEOVER_X=42]="GAMEOVER_X",t[t.GAMEOVER_Y=44]="GAMEOVER_Y",t[t.MAP_SIZE=46]="MAP_SIZE",t[t.MESSAGE_NUM=48]="MESSAGE_NUM",t[t.ITEMBOX_TOP=60]="ITEMBOX_TOP",t[t.MAPDATA_TOP=90]="MAPDATA_TOP",t[t.OLD_MAPDATA_TOP=100]="OLD_MAPDATA_TOP"}(ls||(ls={}));class ms{}ms.ITEMBOX_SIZE=12,ms.MAP_ATR_MAX=60,ms.OBJ_ATR_MAX=60,ms.OLD_MAP_ATR_MAX=40,ms.OLD_OBJ_ATR_MAX=40,ms.ATR_CROP1=1,ms.ATR_CROP2=2,ms.ATR_TYPE=3,ms.ATR_JUMP_X=16,ms.ATR_JUMP_Y=17,ms.MAP_LOCALGATE=2,ms.OBJECT_LOCALGATE=18,ms.SYSTEM_MESSAGE_NUM=20,ms.IMGPOS_DEFAULT_YESNO_X=3,ms.IMGPOS_DEFAULT_YESNO_Y=1,ms.IMGPOS_DEFAULT_PLAYER_X=2,ms.IMGPOS_DEFAULT_PLAYER_Y=0,ms.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X=0,ms.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y=0,ms.IMGPOS_DEFAULT_STATUS_X=3,ms.IMGPOS_DEFAULT_STATUS_Y=2,ms.IMGRELPOS_ENERGY_ICON_X=0,ms.IMGRELPOS_STRENGTH_ICON_X=1,ms.IMGRELPOS_DEFENCE_ICON_X=2,ms.IMGRELPOS_GOLD_ICON_X=3,ms.IMGPOS_DEFAULT_WIDE_CELL_X=4,ms.IMGPOS_DEFAULT_WIDE_CELL_Y=3,ms.IMGPOS_DEFAULT_ITEMBOX_X=1,ms.IMGPOS_DEFAULT_ITEMBOX_Y=2,ms.IMGPOS_DEFAULT_FRAME_X=0,ms.IMGPOS_DEFAULT_FRAME_Y=1,ms.IMGPOS_DEFAULT_BATTLE_EFFECT_X=3,ms.IMGPOS_DEFAULT_BATTLE_EFFECT_Y=3,ms.DEFAULT_DISABLE_SAVE=!1,ms.DEFAULT_OLDMAP=!1,ms.DEFAULT_OBJECT_NO_COLLAPSE=!1,ms.DEFAULT_FRAME_COLOR_R=255,ms.DEFAULT_FRAME_COLOR_G=255,ms.DEFAULT_FRAME_COLOR_B=255,ms.DEFAULT_FRAMEOUT_COLOR_R=96,ms.DEFAULT_FRAMEOUT_COLOR_G=96,ms.DEFAULT_FRAMEOUT_COLOR_B=96,ms.DEFAULT_STR_COLOR_R=0,ms.DEFAULT_STR_COLOR_G=0,ms.DEFAULT_STR_COLOR_B=0,ms.DEFAULT_STATUS_COLOR_R=0,ms.DEFAULT_STATUS_COLOR_G=0,ms.DEFAULT_STATUS_COLOR_B=0,ms.DEFAULT_MOVES=0,ms.DEFAULT_SPEED_INDEX=3,ms.USER_VAR_NUM=256;!function(t){t[t.MAP=1]="MAP",t[t.OBJECT=0]="OBJECT"}(us||(us={})),function(t){t[t.INIT=0]="INIT",t[t.MAP_LOAD=1]="MAP_LOAD",t[t.OBJ_LOAD=2]="OBJ_LOAD",t[t.MAP_ATTR=3]="MAP_ATTR",t[t.OBJ_ATTR=4]="OBJ_ATTR",t[t.RAND_PARTS=5]="RAND_PARTS",t[t.MESSAGE=6]="MESSAGE"}(ds||(ds={}));class Es{constructor(t,e,s){this.byteMapData=t,this.eventEmitter=s,ps(t,e),this.wwaData={version:void 0,gameoverX:void 0,gameoverY:void 0,playerX:void 0,playerY:void 0,mapPartsMax:void 0,objPartsMax:void 0,isOldMap:void 0,isOldMove:void 0,statusEnergyMax:void 0,statusEnergy:void 0,statusStrength:void 0,statusDefence:void 0,statusGold:void 0,itemBox:void 0,mapWidth:void 0,messageNum:void 0,map:void 0,mapObject:void 0,mapCompressed:void 0,mapObjectCompressed:void 0,mapAttribute:void 0,objectAttribute:void 0,worldPassword:void 0,message:void 0,worldName:void 0,worldPassNumber:void 0,charCGName:void 0,mapCGName:void 0,systemMessage:void 0,moves:void 0,yesnoImgPosX:void 0,yesnoImgPosY:void 0,playerImgPosX:void 0,playerImgPosY:void 0,clickableItemSignImgPosX:void 0,clickableItemSignImgPosY:void 0,disableSaveFlag:void 0,compatibleForOldMapFlag:void 0,objectNoCollapseDefaultFlag:void 0,delPlayerFlag:void 0,bgm:void 0,effectCoords:void 0,effectWaits:void 0,imgStatusEnergyX:void 0,imgStatusEnergyY:void 0,imgStatusStrengthX:void 0,imgStatusStrengthY:void 0,imgStatusDefenceX:void 0,imgStatusDefenceY:void 0,imgStatusGoldX:void 0,imgStatusGoldY:void 0,imgWideCellX:void 0,imgWideCellY:void 0,imgItemboxX:void 0,imgItemboxY:void 0,imgFrameX:void 0,imgFrameY:void 0,imgBattleEffectX:void 0,imgBattleEffectY:void 0,imgClickX:void 0,imgClickY:void 0,frameColorR:void 0,frameColorG:void 0,frameColorB:void 0,frameOutColorR:void 0,frameOutColorG:void 0,frameOutColorB:void 0,fontColorR:void 0,fontColorG:void 0,fontColorB:void 0,statusColorR:void 0,statusColorG:void 0,statusColorB:void 0,checkOriginalMapString:void 0,checkString:void 0,isItemEffectEnabled:void 0,frameCount:void 0,gamePadButtonItemTable:void 0,userVar:void 0,userNamedVar:void 0,permitChangeGameSpeed:void 0,gameSpeedIndex:void 0,playTime:void 0,isVisibleStatusEnergy:void 0,isVisibleStatusStrength:void 0,isVisibleStatusDefence:void 0,isVisibleStatusGold:void 0,isGameOverDisabled:void 0,gameOverPolicy:"default",bgmDelayDurationMs:void 0,customSystemMessages:{}}}extractAllData(){var t,e;return this.wwaData.version=this.byteMapData[ls.VERSION],this._extractInitialParameters(),this.wwaData.version>=29?this.currentPosition=ls.MAPDATA_TOP:this.currentPosition=ls.OLD_MAPDATA_TOP,this.wwaData.map=this._getFieldDataFromBits(us.MAP,this.wwaData.mapPartsMax).concat(),this.wwaData.mapObject=this._getFieldDataFromBits(us.OBJECT,this.wwaData.objPartsMax).concat(),t=this.wwaData.version>29?ms.MAP_ATR_MAX:ms.OLD_MAP_ATR_MAX,e=this.wwaData.version>29?ms.OBJ_ATR_MAX:ms.OLD_OBJ_ATR_MAX,this.wwaData.mapAttribute=this._getPartsDataFromBits(us.MAP,this.wwaData.mapPartsMax,t).concat(),this.wwaData.objectAttribute=this._getPartsDataFromBits(us.OBJECT,this.wwaData.objPartsMax,e).concat(),this.wwaData.version<=29&&(this._convertAttributeV2toV3(us.MAP),this._convertAttributeV2toV3(us.OBJECT)),this._replaceAllRandomObjects(),this.wwaData}_convertAttributeV2toV3(t){var e,s,a;if(t==us.MAP)e=this.wwaData.mapPartsMax,s=this.wwaData.mapAttribute,a=ms.MAP_LOCALGATE;else{if(t!=us.OBJECT)throw new Error("謎のパーツ種別が指定されました");e=this.wwaData.objPartsMax,s=this.wwaData.objectAttribute,a=ms.OBJECT_LOCALGATE}for(var i=0;i<e;i++){for(var r=9;r>=0;r--){var n=255&s[i][20+2*r],o=s[i][20+2*r]>>8,h=255&s[i][20+2*r+1],c=s[i][20+2*r+1]>>8;250===h?h=9e3:h>100&&(h+=9840),250===c?c=9e3:c>100&&(c+=9840),s[i][20+4*r]=n,s[i][20+4*r+3]=o,s[i][20+4*r+1]=h,s[i][20+4*r+2]=c}s[i][ms.ATR_TYPE]===a&&(s[i][ms.ATR_JUMP_X]>100&&(s[i][ms.ATR_JUMP_X]+=9840),s[i][ms.ATR_JUMP_Y]>100&&(s[i][ms.ATR_JUMP_Y]+=9840))}}_get1ByteNumber(t){return this.byteMapData[t]}_get2BytesNumber(t){return this.byteMapData[t]+256*this.byteMapData[t+1]}_extractInitialParameters(){this.wwaData.version>29?(this.wwaData.gameoverX=this._get2BytesNumber(ls.GAMEOVER_X),this.wwaData.gameoverY=this._get2BytesNumber(ls.GAMEOVER_Y),this.wwaData.playerX=this._get2BytesNumber(ls.PLAYER_X),this.wwaData.playerY=this._get2BytesNumber(ls.PLAYER_Y),this.wwaData.mapPartsMax=this._get2BytesNumber(ls.MAP_COUNT),this.wwaData.objPartsMax=this._get2BytesNumber(ls.OBJ_COUNT),this.wwaData.isOldMap=!1):(this.wwaData.gameoverX=this._get1ByteNumber(ls.OLD_GAMEOVER_X),this.wwaData.gameoverY=this._get1ByteNumber(ls.OLD_GAMEOVER_Y),this.wwaData.playerX=this._get1ByteNumber(ls.OLD_PLAYER_X),this.wwaData.playerY=this._get1ByteNumber(ls.OLD_PLAYER_Y),this.wwaData.mapPartsMax=this._get1ByteNumber(ls.OLD_MAP_COUNT),this.wwaData.objPartsMax=this._get1ByteNumber(ls.OLD_OBJ_COUNT),this.wwaData.isOldMap=!0),this.wwaData.statusEnergyMax=this._get2BytesNumber(ls.STATUS_ENERGY_MAX),this.wwaData.statusEnergy=this._get2BytesNumber(ls.STATUS_ENERGY),this.wwaData.statusStrength=this._get2BytesNumber(ls.STATUS_STRENGTH),this.wwaData.statusDefence=this._get2BytesNumber(ls.STATUS_DEFENCE),this.wwaData.statusGold=this._get2BytesNumber(ls.STATUS_GOLD),this._extractInitialItemData(),this.wwaData.mapWidth=this._get2BytesNumber(ls.MAP_SIZE),this.wwaData.messageNum=this._get2BytesNumber(ls.MESSAGE_NUM),this.wwaData.version<28?this.wwaData.mapWidth=71:this.wwaData.version<=29&&(this.wwaData.mapWidth=101)}_extractInitialItemData(){const t=this.wwaData.version>29?ls.ITEMBOX_TOP:ls.OLD_ITEMBOX_TOP;this.wwaData.itemBox=new Array(ms.ITEMBOX_SIZE);for(let e=0;e<ms.ITEMBOX_SIZE;e++)this.wwaData.itemBox[e]=this._get1ByteNumber(t+e)}_getFieldDataFromBits(t,e){var s,a,i;for(i=_s(this.wwaData.mapWidth,this.wwaData.mapWidth),s=0;s<this.wwaData.mapWidth;s++)for(a=0;a<this.wwaData.mapWidth;a++)this.wwaData.version>29?(i[s][a]=this._get2BytesNumber(this.currentPosition),this.currentPosition+=2):(i[s][a]=this._get1ByteNumber(this.currentPosition),this.currentPosition+=1),(s*this.wwaData.mapWidth+a)%200==0&&this.emitProgress(s*this.wwaData.mapWidth+a,this.wwaData.mapWidth*this.wwaData.mapWidth,t===us.MAP?ds.MAP_LOAD:ds.OBJ_LOAD),i[s][a]>=e&&(i[s][a]=0);return this.emitProgress(this.wwaData.mapWidth*this.wwaData.mapWidth,this.wwaData.mapWidth*this.wwaData.mapWidth,t===us.MAP?ds.MAP_LOAD:ds.OBJ_LOAD),i}_getPartsDataFromBits(t,e,s){var a,i,r;for(r=_s(e,s),a=0;a<e;a++)for(i=0;i<s;i++)(a*this.wwaData.mapWidth+i)%200==0&&this.emitProgress(a*s+i,e*s,t===us.MAP?ds.MAP_ATTR:ds.OBJ_ATTR),i!==ms.ATR_CROP1&&i!==ms.ATR_CROP2?(r[a][i]=this._get2BytesNumber(this.currentPosition),this.currentPosition+=2):(r[a][i]=0,this.currentPosition+=2);return this.emitProgress(e*s,e*s,t===us.MAP?ds.MAP_ATTR:ds.OBJ_ATTR),r}_replaceAllRandomObjects(){this.emitProgress(this.wwaData.mapWidth*this.wwaData.mapWidth,this.wwaData.mapWidth*this.wwaData.mapWidth,ds.RAND_PARTS)}emitProgress(t,e,s){this.eventEmitter.dispatch("progress",{current:t,total:e,stage:s})}}class gs{constructor(t,e,s,a){this.wwaData=t,this.compressedMapData=e,this.startPosition=s,this.eventEmitter=a,this.OLDVER_MESSAGE_MAX=400}load(){const t=this.wwaData;this.currentPos=this.startPosition,t.version>=30&&(t.worldPassword=this.getMessageFromData()),t.version<=29&&(t.messageNum=this.OLDVER_MESSAGE_MAX),t.message=new Array(t.messageNum);for(let e=0;e<t.message.length;e++)t.message[e]=this.getMessageFromData(),e%200==0&&this.eventEmitter.dispatch("progress",{current:e,total:t.message.length,stage:ds.MESSAGE});for(;t.messageNum<10;)t.message.push(""),t.messageNum++;this.eventEmitter.dispatch("progress",{current:t.message.length,total:t.message.length,stage:ds.MESSAGE}),t.worldName=this.getMessageFromData(),t.version<=29?t.worldPassword=this.getMessageFromData():this.getMessageFromData(),""===t.worldPassword?t.worldPassNumber=0:t.version>=29?t.worldPassNumber=(parseInt(t.worldPassword)/10-1197)/17-2357:t.worldPassNumber=parseInt(t.worldPassword),t.charCGName=this.getMessageFromData(),t.mapCGName=this.getMessageFromData(),t.systemMessage=new Array(ms.SYSTEM_MESSAGE_NUM);for(let e=0;e<ms.SYSTEM_MESSAGE_NUM;e++)t.version>=30?t.systemMessage[e]=this.getMessageFromData():t.systemMessage[e]="";return t.yesnoImgPosX=ms.IMGPOS_DEFAULT_YESNO_X,t.yesnoImgPosY=ms.IMGPOS_DEFAULT_YESNO_Y,t.playerImgPosX=ms.IMGPOS_DEFAULT_PLAYER_X,t.playerImgPosY=ms.IMGPOS_DEFAULT_PLAYER_Y,t.clickableItemSignImgPosX=ms.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X,t.clickableItemSignImgPosY=ms.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y,t.disableSaveFlag=ms.DEFAULT_DISABLE_SAVE,t.isOldMap=ms.DEFAULT_OLDMAP,t.isOldMove=t.version<31,t.objectNoCollapseDefaultFlag=ms.DEFAULT_OBJECT_NO_COLLAPSE,t.delPlayerFlag=!1,t.bgm=0,t.effectCoords=[],t.effectWaits=0,t.imgStatusEnergyX=ms.IMGPOS_DEFAULT_STATUS_X+ms.IMGRELPOS_ENERGY_ICON_X,t.imgStatusEnergyY=ms.IMGPOS_DEFAULT_STATUS_Y,t.imgStatusStrengthX=ms.IMGPOS_DEFAULT_STATUS_X+ms.IMGRELPOS_STRENGTH_ICON_X,t.imgStatusStrengthY=ms.IMGPOS_DEFAULT_STATUS_Y,t.imgStatusDefenceX=ms.IMGPOS_DEFAULT_STATUS_X+ms.IMGRELPOS_DEFENCE_ICON_X,t.imgStatusDefenceY=ms.IMGPOS_DEFAULT_STATUS_Y,t.imgStatusGoldX=ms.IMGPOS_DEFAULT_STATUS_X+ms.IMGRELPOS_GOLD_ICON_X,t.imgStatusGoldY=ms.IMGPOS_DEFAULT_STATUS_Y,t.imgWideCellX=ms.IMGPOS_DEFAULT_WIDE_CELL_X,t.imgWideCellY=ms.IMGPOS_DEFAULT_WIDE_CELL_Y,t.imgItemboxX=ms.IMGPOS_DEFAULT_ITEMBOX_X,t.imgItemboxY=ms.IMGPOS_DEFAULT_ITEMBOX_Y,t.imgFrameX=ms.IMGPOS_DEFAULT_FRAME_X,t.imgFrameY=ms.IMGPOS_DEFAULT_FRAME_Y,t.imgBattleEffectX=ms.IMGPOS_DEFAULT_BATTLE_EFFECT_X,t.imgBattleEffectY=ms.IMGPOS_DEFAULT_BATTLE_EFFECT_Y,t.imgClickX=0,t.imgClickY=0,t.frameColorR=ms.DEFAULT_FRAME_COLOR_R,t.frameColorG=ms.DEFAULT_FRAME_COLOR_G,t.frameColorB=ms.DEFAULT_FRAME_COLOR_B,t.frameOutColorR=ms.DEFAULT_FRAMEOUT_COLOR_R,t.frameOutColorG=ms.DEFAULT_FRAMEOUT_COLOR_G,t.frameOutColorB=ms.DEFAULT_FRAMEOUT_COLOR_B,t.fontColorR=ms.DEFAULT_STR_COLOR_R,t.fontColorG=ms.DEFAULT_STR_COLOR_G,t.fontColorB=ms.DEFAULT_STR_COLOR_B,t.statusColorR=ms.DEFAULT_STATUS_COLOR_R,t.statusColorG=ms.DEFAULT_STATUS_COLOR_G,t.statusColorB=ms.DEFAULT_STATUS_COLOR_B,t.moves=ms.DEFAULT_MOVES,t.gameSpeedIndex=ms.DEFAULT_SPEED_INDEX,t.permitChangeGameSpeed=!0,t.userVar=Array.from({length:ms.USER_VAR_NUM}).map((()=>0)),t.userNamedVar=[],t.playTime=0,t.isVisibleStatusEnergy=!0,t.isVisibleStatusStrength=!0,t.isVisibleStatusDefence=!0,t.isVisibleStatusGold=!0,t.gameOverPolicy="default",t.bgmDelayDurationMs=0,t}getMessageFromData(){let t="",e=0;for(e=0;e<1500&&(0!=this.compressedMapData[this.currentPos+2*e]||0!=this.compressedMapData[this.currentPos+2*e+1]);e++)t+=String.fromCharCode((this.compressedMapData[this.currentPos+2*e+1]<<8)+this.compressedMapData[this.currentPos+2*e]);return this.currentPos+=2*e+2,t}}class ws{constructor(){}}class fs extends ws{constructor(t){super(),this.uri=t}static async fetch(t){try{return await fetch(t)}catch(e){throw new Error(`マップデータ 「${t}」の読み込みに失敗しました。\n 通信環境の良いところで再度お試しください。\n ローカルテストの場合は、ブラウザが対応していない可能性があります。`)}}static handleError(t,e){const s=`HTTPステータスコードは ${e.status} です。`;switch(e.status){case 200:case 304:return;case 403:throw new Error(`マップデータ「${t}」を読み取る権限がないようです。\n 管理者の方へ: マップデータのパーミッションを確認してください。\n ${s}`);case 404:throw new Error(`マップデータ「${t}」が見つかりませんでした。\n ${s}`);default:throw new Error(`マップデータ「${t}」の読み込みに失敗しました。\n ${s}`)}}async request(){const t=await fs.fetch(this.uri);fs.handleError(this.uri,t);return await t.arrayBuffer()}}var ys=s(699),vs=s.n(ys);class Ss extends ws{constructor(t){super(),this.fileName=t}async request(){return new Promise(((t,e)=>{vs().readFile(this.fileName,((s,a)=>{s&&e(s),t(a.buffer)}))}))}}class As{constructor(t,e){this.fileName=t,this.eventEmitter=e}async requestAndLoadMapData(){const t=(e=this.fileName,"undefined"!=typeof window?new fs(e):new Ss(e));var e;try{const e=await t.request();if(!e)return void this.eventEmitter.dispatch("error",{name:"マップデータ取得に失敗しました",message:"mapdata is empty"});const s=this.loadMapData(e);this.eventEmitter.dispatch("mapData",s)}catch(t){const e=t.name||"",s=t.message||"";this.eventEmitter.dispatch("error",{name:e,message:s})}}loadMapData(t){try{const e=new Uint8Array(t),{byteMapData:s,byteMapLength:a,compressedEndPosition:i}=function(t){let e,s,a=new Uint8Array(t.length);for(e=0,s=0;e<t.length&&(0!==t[e]||0!==t[e+1]||0!==t[e+2]);e++){if(a[s++]=t[e],t[e]===t[e+1]){const i=t[e+2];for(let r=0;r<i;r++)a[s++]=t[e];e+=2}if(s+255>=a.length){var i=new Uint8Array(a.length+65e3);i.set(a),a=i}}return console.log("EXTRACT DATA = "+s+" "+e),{byteMapData:a,byteMapLength:s,compressedEndPosition:e+3}}(e),r=new Es(s,a,this.eventEmitter).extractAllData();return new gs(r,e,i,this.eventEmitter).load()}catch(t){throw t}}}class Ts{constructor(t){this.target=null!=t?t:document.createElement("div")}dispatch(t,e){const s=new CustomEvent(t,{detail:e});this.target.dispatchEvent(s)}addListener(t,e){const s=t=>e(t.detail);return this.target.addEventListener(t,s),s}removeListener(t,e){this.target.removeEventListener(t,e)}}const Is=async t=>fetch(t).then((e=>200===e.status||304===e.status?{kind:"data",data:e}:{kind:"httpError",errorMessage:`ファイル ${t} が読み込めませんでした。ステータスコード: ${e.status}`})).catch((e=>({kind:"connectionError",errorMessage:`ファイル ${t} が読み込めませんでした。通信状態がいい場所で再度お試しください。`}))).then((async t=>"data"===t.kind?{kind:"data",data:await t.data.json()}:t)).catch((e=>({kind:"brokenJson",errorMessage:`ファイル ${t} が壊れています。`})));var Cs={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},Ds="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Os={5:Ds,"5module":Ds+" export import",6:Ds+" const class extends export import super"},Ps=/^in(stanceof)?$/,Ns="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Ms="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",bs=new RegExp("["+Ns+"]"),xs=new RegExp("["+Ns+Ms+"]");Ns=Ms=null;var Ls=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],Rs=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function Bs(t,e){for(var s=65536,a=0;a<e.length;a+=2){if((s+=e[a])>t)return!1;if((s+=e[a+1])>=t)return!0}}function Us(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&bs.test(String.fromCharCode(t)):!1!==e&&Bs(t,Ls)))}function ks(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&xs.test(String.fromCharCode(t)):!1!==e&&(Bs(t,Ls)||Bs(t,Rs)))))}var Ws=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function Vs(t,e){return new Ws(t,{beforeExpr:!0,binop:e})}var Fs={beforeExpr:!0},Ys={startsExpr:!0},Gs={};function Hs(t,e){return void 0===e&&(e={}),e.keyword=t,Gs[t]=new Ws(t,e)}var Ks={num:new Ws("num",Ys),regexp:new Ws("regexp",Ys),string:new Ws("string",Ys),name:new Ws("name",Ys),eof:new Ws("eof"),bracketL:new Ws("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Ws("]"),braceL:new Ws("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Ws("}"),parenL:new Ws("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Ws(")"),comma:new Ws(",",Fs),semi:new Ws(";",Fs),colon:new Ws(":",Fs),dot:new Ws("."),question:new Ws("?",Fs),questionDot:new Ws("?."),arrow:new Ws("=>",Fs),template:new Ws("template"),invalidTemplate:new Ws("invalidTemplate"),ellipsis:new Ws("...",Fs),backQuote:new Ws("`",Ys),dollarBraceL:new Ws("${",{beforeExpr:!0,startsExpr:!0}),eq:new Ws("=",{beforeExpr:!0,isAssign:!0}),assign:new Ws("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Ws("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Ws("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Vs("||",1),logicalAND:Vs("&&",2),bitwiseOR:Vs("|",3),bitwiseXOR:Vs("^",4),bitwiseAND:Vs("&",5),equality:Vs("==/!=/===/!==",6),relational:Vs("</>/<=/>=",7),bitShift:Vs("<</>>/>>>",8),plusMin:new Ws("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Vs("%",10),star:Vs("*",10),slash:Vs("/",10),starstar:new Ws("**",{beforeExpr:!0}),coalesce:Vs("??",1),_break:Hs("break"),_case:Hs("case",Fs),_catch:Hs("catch"),_continue:Hs("continue"),_debugger:Hs("debugger"),_default:Hs("default",Fs),_do:Hs("do",{isLoop:!0,beforeExpr:!0}),_else:Hs("else",Fs),_finally:Hs("finally"),_for:Hs("for",{isLoop:!0}),_function:Hs("function",Ys),_if:Hs("if"),_return:Hs("return",Fs),_switch:Hs("switch"),_throw:Hs("throw",Fs),_try:Hs("try"),_var:Hs("var"),_const:Hs("const"),_while:Hs("while",{isLoop:!0}),_with:Hs("with"),_new:Hs("new",{beforeExpr:!0,startsExpr:!0}),_this:Hs("this",Ys),_super:Hs("super",Ys),_class:Hs("class",Ys),_extends:Hs("extends",Fs),_export:Hs("export"),_import:Hs("import",Ys),_null:Hs("null",Ys),_true:Hs("true",Ys),_false:Hs("false",Ys),_in:Hs("in",{beforeExpr:!0,binop:7}),_instanceof:Hs("instanceof",{beforeExpr:!0,binop:7}),_typeof:Hs("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Hs("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Hs("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},js=/\r\n?|\n|\u2028|\u2029/,Xs=new RegExp(js.source,"g");function Js(t,e){return 10===t||13===t||!e&&(8232===t||8233===t)}var $s=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Zs=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,qs=Object.prototype,Qs=qs.hasOwnProperty,zs=qs.toString;function ta(t,e){return Qs.call(t,e)}var ea=Array.isArray||function(t){return"[object Array]"===zs.call(t)};function sa(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var aa=function(t,e){this.line=t,this.column=e};aa.prototype.offset=function(t){return new aa(this.line,this.column+t)};var ia=function(t,e,s){this.start=e,this.end=s,null!==t.sourceFile&&(this.source=t.sourceFile)};function ra(t,e){for(var s=1,a=0;;){Xs.lastIndex=a;var i=Xs.exec(t);if(!(i&&i.index<e))return new aa(s,e-a);++s,a=i.index+i[0].length}}var na={ecmaVersion:10,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1};function oa(t){var e={};for(var s in na)e[s]=t&&ta(t,s)?t[s]:na[s];if(e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),ea(e.onToken)){var a=e.onToken;e.onToken=function(t){return a.push(t)}}return ea(e.onComment)&&(e.onComment=function(t,e){return function(s,a,i,r,n,o){var h={type:s?"Block":"Line",value:a,start:i,end:r};t.locations&&(h.loc=new ia(this,n,o)),t.ranges&&(h.range=[i,r]),e.push(h)}}(e,e.onComment)),e}function ha(t,e){return 2|(t?4:0)|(e?8:0)}var ca=function(t,e,s){this.options=t=oa(t),this.sourceFile=t.sourceFile,this.keywords=sa(Os[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var a="";if(!0!==t.allowReserved){for(var i=t.ecmaVersion;!(a=Cs[i]);i--);"module"===t.sourceType&&(a+=" await")}this.reservedWords=sa(a);var r=(a?a+" ":"")+Cs.strict;this.reservedWordsStrict=sa(r),this.reservedWordsStrictBind=sa(r+" "+Cs.strictBind),this.input=String(e),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf("\n",s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(js).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=Ks.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},_a={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};ca.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},_a.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},_a.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},_a.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},_a.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},_a.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},_a.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},ca.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},ca.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var s=this,a=0;a<t.length;a++)s=t[a](s);return s},ca.parse=function(t,e){return new this(e,t).parse()},ca.parseExpressionAt=function(t,e,s){var a=new this(s,t,e);return a.nextToken(),a.parseExpression()},ca.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(ca.prototype,_a);var la=ca.prototype,ua=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;function da(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}la.strictDirective=function(t){for(;;){Zs.lastIndex=t,t+=Zs.exec(this.input)[0].length;var e=ua.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){Zs.lastIndex=t+e[0].length;var s=Zs.exec(this.input),a=s.index+s[0].length,i=this.input.charAt(a);return";"===i||"}"===i||js.test(s[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(i)||"!"===i&&"="===this.input.charAt(a+1))}t+=e[0].length,Zs.lastIndex=t,t+=Zs.exec(this.input)[0].length,";"===this.input[t]&&t++}},la.eat=function(t){return this.type===t&&(this.next(),!0)},la.isContextual=function(t){return this.type===Ks.name&&this.value===t&&!this.containsEsc},la.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},la.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},la.canInsertSemicolon=function(){return this.type===Ks.eof||this.type===Ks.braceR||js.test(this.input.slice(this.lastTokEnd,this.start))},la.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},la.semicolon=function(){this.eat(Ks.semi)||this.insertSemicolon()||this.unexpected()},la.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},la.expect=function(t){this.eat(t)||this.unexpected()},la.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")},la.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var s=e?t.parenthesizedAssign:t.parenthesizedBind;s>-1&&this.raiseRecoverable(s,"Parenthesized pattern")}},la.checkExpressionErrors=function(t,e){if(!t)return!1;var s=t.shorthandAssign,a=t.doubleProto;if(!e)return s>=0||a>=0;s>=0&&this.raise(s,"Shorthand property assignments are valid only in destructuring patterns"),a>=0&&this.raiseRecoverable(a,"Redefinition of __proto__ property")},la.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},la.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var pa=ca.prototype;pa.parseTopLevel=function(t){var e={};for(t.body||(t.body=[]);this.type!==Ks.eof;){var s=this.parseStatement(null,!0,e);t.body.push(s)}if(this.inModule)for(var a=0,i=Object.keys(this.undefinedExports);a<i.length;a+=1){var r=i[a];this.raiseRecoverable(this.undefinedExports[r].start,"Export '"+r+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var ma={kind:"loop"},Ea={kind:"switch"};pa.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;Zs.lastIndex=this.pos;var e=Zs.exec(this.input),s=this.pos+e[0].length,a=this.input.charCodeAt(s);if(91===a)return!0;if(t)return!1;if(123===a)return!0;if(Us(a,!0)){for(var i=s+1;ks(this.input.charCodeAt(i),!0);)++i;var r=this.input.slice(s,i);if(!Ps.test(r))return!0}return!1},pa.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Zs.lastIndex=this.pos;var t=Zs.exec(this.input),e=this.pos+t[0].length;return!(js.test(this.input.slice(this.pos,e))||"function"!==this.input.slice(e,e+8)||e+8!==this.input.length&&ks(this.input.charAt(e+8)))},pa.parseStatement=function(t,e,s){var a,i=this.type,r=this.startNode();switch(this.isLet(t)&&(i=Ks._var,a="let"),i){case Ks._break:case Ks._continue:return this.parseBreakContinueStatement(r,i.keyword);case Ks._debugger:return this.parseDebuggerStatement(r);case Ks._do:return this.parseDoStatement(r);case Ks._for:return this.parseForStatement(r);case Ks._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(r,!1,!t);case Ks._class:return t&&this.unexpected(),this.parseClass(r,!0);case Ks._if:return this.parseIfStatement(r);case Ks._return:return this.parseReturnStatement(r);case Ks._switch:return this.parseSwitchStatement(r);case Ks._throw:return this.parseThrowStatement(r);case Ks._try:return this.parseTryStatement(r);case Ks._const:case Ks._var:return a=a||this.value,t&&"var"!==a&&this.unexpected(),this.parseVarStatement(r,a);case Ks._while:return this.parseWhileStatement(r);case Ks._with:return this.parseWithStatement(r);case Ks.braceL:return this.parseBlock(!0,r);case Ks.semi:return this.parseEmptyStatement(r);case Ks._export:case Ks._import:if(this.options.ecmaVersion>10&&i===Ks._import){Zs.lastIndex=this.pos;var n=Zs.exec(this.input),o=this.pos+n[0].length,h=this.input.charCodeAt(o);if(40===h||46===h)return this.parseExpressionStatement(r,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),i===Ks._import?this.parseImport(r):this.parseExport(r,s);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(r,!0,!t);var c=this.value,_=this.parseExpression();return i===Ks.name&&"Identifier"===_.type&&this.eat(Ks.colon)?this.parseLabeledStatement(r,c,_,t):this.parseExpressionStatement(r,_)}},pa.parseBreakContinueStatement=function(t,e){var s="break"===e;this.next(),this.eat(Ks.semi)||this.insertSemicolon()?t.label=null:this.type!==Ks.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var a=0;a<this.labels.length;++a){var i=this.labels[a];if(null==t.label||i.name===t.label.name){if(null!=i.kind&&(s||"loop"===i.kind))break;if(t.label&&s)break}}return a===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,s?"BreakStatement":"ContinueStatement")},pa.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},pa.parseDoStatement=function(t){return this.next(),this.labels.push(ma),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(Ks._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(Ks.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},pa.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(ma),this.enterScope(0),this.expect(Ks.parenL),this.type===Ks.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var s=this.isLet();if(this.type===Ks._var||this.type===Ks._const||s){var a=this.startNode(),i=s?"let":this.value;return this.next(),this.parseVar(a,!0,i),this.finishNode(a,"VariableDeclaration"),(this.type===Ks._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===a.declarations.length?(this.options.ecmaVersion>=9&&(this.type===Ks._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,a)):(e>-1&&this.unexpected(e),this.parseFor(t,a))}var r=new da,n=this.parseExpression(!0,r);return this.type===Ks._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===Ks._in?e>-1&&this.unexpected(e):t.await=e>-1),this.toAssignable(n,!1,r),this.checkLVal(n),this.parseForIn(t,n)):(this.checkExpressionErrors(r,!0),e>-1&&this.unexpected(e),this.parseFor(t,n))},pa.parseFunctionStatement=function(t,e,s){return this.next(),this.parseFunction(t,wa|(s?0:fa),!1,e)},pa.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(Ks._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},pa.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(Ks.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},pa.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(Ks.braceL),this.labels.push(Ea),this.enterScope(0);for(var s=!1;this.type!==Ks.braceR;)if(this.type===Ks._case||this.type===Ks._default){var a=this.type===Ks._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),a?e.test=this.parseExpression():(s&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),s=!0,e.test=null),this.expect(Ks.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},pa.parseThrowStatement=function(t){return this.next(),js.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var ga=[];pa.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===Ks._catch){var e=this.startNode();if(this.next(),this.eat(Ks.parenL)){e.param=this.parseBindingAtom();var s="Identifier"===e.param.type;this.enterScope(s?32:0),this.checkLVal(e.param,s?4:2),this.expect(Ks.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0);e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(Ks._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},pa.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},pa.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(ma),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},pa.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},pa.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},pa.parseLabeledStatement=function(t,e,s,a){for(var i=0,r=this.labels;i<r.length;i+=1){r[i].name===e&&this.raise(s.start,"Label '"+e+"' is already declared")}for(var n=this.type.isLoop?"loop":this.type===Ks._switch?"switch":null,o=this.labels.length-1;o>=0;o--){var h=this.labels[o];if(h.statementStart!==t.start)break;h.statementStart=this.start,h.kind=n}return this.labels.push({name:e,kind:n,statementStart:this.start}),t.body=this.parseStatement(a?-1===a.indexOf("label")?a+"label":a:"label"),this.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")},pa.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},pa.parseBlock=function(t,e,s){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(Ks.braceL),t&&this.enterScope(0);this.type!==Ks.braceR;){var a=this.parseStatement(null);e.body.push(a)}return s&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},pa.parseFor=function(t,e){return t.init=e,this.expect(Ks.semi),t.test=this.type===Ks.semi?null:this.parseExpression(),this.expect(Ks.semi),t.update=this.type===Ks.parenR?null:this.parseExpression(),this.expect(Ks.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},pa.parseForIn=function(t,e){var s=this.type===Ks._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!s||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)?this.raise(e.start,(s?"for-in":"for-of")+" loop variable declaration may not have an initializer"):"AssignmentPattern"===e.type&&this.raise(e.start,"Invalid left-hand side in for-loop"),t.left=e,t.right=s?this.parseExpression():this.parseMaybeAssign(),this.expect(Ks.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")},pa.parseVar=function(t,e,s){for(t.declarations=[],t.kind=s;;){var a=this.startNode();if(this.parseVarId(a,s),this.eat(Ks.eq)?a.init=this.parseMaybeAssign(e):"const"!==s||this.type===Ks._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===a.id.type||e&&(this.type===Ks._in||this.isContextual("of"))?a.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(a,"VariableDeclarator")),!this.eat(Ks.comma))break}return t},pa.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"var"===e?1:2,!1)};var wa=1,fa=2;pa.parseFunction=function(t,e,s,a){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!a)&&(this.type===Ks.star&&e&fa&&this.unexpected(),t.generator=this.eat(Ks.star)),this.options.ecmaVersion>=8&&(t.async=!!a),e&wa&&(t.id=4&e&&this.type!==Ks.name?null:this.parseIdent(),!t.id||e&fa||this.checkLVal(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var i=this.yieldPos,r=this.awaitPos,n=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(ha(t.async,t.generator)),e&wa||(t.id=this.type===Ks.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,s,!1),this.yieldPos=i,this.awaitPos=r,this.awaitIdentPos=n,this.finishNode(t,e&wa?"FunctionDeclaration":"FunctionExpression")},pa.parseFunctionParams=function(t){this.expect(Ks.parenL),t.params=this.parseBindingList(Ks.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},pa.parseClass=function(t,e){this.next();var s=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var a=this.startNode(),i=!1;for(a.body=[],this.expect(Ks.braceL);this.type!==Ks.braceR;){var r=this.parseClassElement(null!==t.superClass);r&&(a.body.push(r),"MethodDefinition"===r.type&&"constructor"===r.kind&&(i&&this.raise(r.start,"Duplicate constructor in the same class"),i=!0))}return this.strict=s,this.next(),t.body=this.finishNode(a,"ClassBody"),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},pa.parseClassElement=function(t){var e=this;if(this.eat(Ks.semi))return null;var s=this.startNode(),a=function(t,a){void 0===a&&(a=!1);var i=e.start,r=e.startLoc;return!!e.eatContextual(t)&&(!(e.type===Ks.parenL||a&&e.canInsertSemicolon())||(s.key&&e.unexpected(),s.computed=!1,s.key=e.startNodeAt(i,r),s.key.name=t,e.finishNode(s.key,"Identifier"),!1))};s.kind="method",s.static=a("static");var i=this.eat(Ks.star),r=!1;i||(this.options.ecmaVersion>=8&&a("async",!0)?(r=!0,i=this.options.ecmaVersion>=9&&this.eat(Ks.star)):a("get")?s.kind="get":a("set")&&(s.kind="set")),s.key||this.parsePropertyName(s);var n=s.key,o=!1;return s.computed||s.static||!("Identifier"===n.type&&"constructor"===n.name||"Literal"===n.type&&"constructor"===n.value)?s.static&&"Identifier"===n.type&&"prototype"===n.name&&this.raise(n.start,"Classes may not have a static property named prototype"):("method"!==s.kind&&this.raise(n.start,"Constructor can't have get/set modifier"),i&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method"),s.kind="constructor",o=t),this.parseClassMethod(s,i,r,o),"get"===s.kind&&0!==s.value.params.length&&this.raiseRecoverable(s.value.start,"getter should have no params"),"set"===s.kind&&1!==s.value.params.length&&this.raiseRecoverable(s.value.start,"setter should have exactly one param"),"set"===s.kind&&"RestElement"===s.value.params[0].type&&this.raiseRecoverable(s.value.params[0].start,"Setter cannot use rest params"),s},pa.parseClassMethod=function(t,e,s,a){return t.value=this.parseMethod(e,s,a),this.finishNode(t,"MethodDefinition")},pa.parseClassId=function(t,e){this.type===Ks.name?(t.id=this.parseIdent(),e&&this.checkLVal(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},pa.parseClassSuper=function(t){t.superClass=this.eat(Ks._extends)?this.parseExprSubscripts():null},pa.parseExport=function(t,e){if(this.next(),this.eat(Ks.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseIdent(!0),this.checkExport(e,t.exported.name,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==Ks.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(Ks._default)){var s;if(this.checkExport(e,"default",this.lastTokStart),this.type===Ks._function||(s=this.isAsyncFunction())){var a=this.startNode();this.next(),s&&this.next(),t.declaration=this.parseFunction(a,4|wa,!1,s)}else if(this.type===Ks._class){var i=this.startNode();t.declaration=this.parseClass(i,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(null),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==Ks.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var r=0,n=t.specifiers;r<n.length;r+=1){var o=n[r];this.checkUnreserved(o.local),this.checkLocalExport(o.local)}t.source=null}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},pa.checkExport=function(t,e,s){t&&(ta(t,e)&&this.raiseRecoverable(s,"Duplicate export '"+e+"'"),t[e]=!0)},pa.checkPatternExport=function(t,e){var s=e.type;if("Identifier"===s)this.checkExport(t,e.name,e.start);else if("ObjectPattern"===s)for(var a=0,i=e.properties;a<i.length;a+=1){var r=i[a];this.checkPatternExport(t,r)}else if("ArrayPattern"===s)for(var n=0,o=e.elements;n<o.length;n+=1){var h=o[n];h&&this.checkPatternExport(t,h)}else"Property"===s?this.checkPatternExport(t,e.value):"AssignmentPattern"===s?this.checkPatternExport(t,e.left):"RestElement"===s?this.checkPatternExport(t,e.argument):"ParenthesizedExpression"===s&&this.checkPatternExport(t,e.expression)},pa.checkVariableExport=function(t,e){if(t)for(var s=0,a=e;s<a.length;s+=1){var i=a[s];this.checkPatternExport(t,i.id)}},pa.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},pa.parseExportSpecifiers=function(t){var e=[],s=!0;for(this.expect(Ks.braceL);!this.eat(Ks.braceR);){if(s)s=!1;else if(this.expect(Ks.comma),this.afterTrailingComma(Ks.braceR))break;var a=this.startNode();a.local=this.parseIdent(!0),a.exported=this.eatContextual("as")?this.parseIdent(!0):a.local,this.checkExport(t,a.exported.name,a.exported.start),e.push(this.finishNode(a,"ExportSpecifier"))}return e},pa.parseImport=function(t){return this.next(),this.type===Ks.string?(t.specifiers=ga,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===Ks.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},pa.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===Ks.name){var s=this.startNode();if(s.local=this.parseIdent(),this.checkLVal(s.local,2),t.push(this.finishNode(s,"ImportDefaultSpecifier")),!this.eat(Ks.comma))return t}if(this.type===Ks.star){var a=this.startNode();return this.next(),this.expectContextual("as"),a.local=this.parseIdent(),this.checkLVal(a.local,2),t.push(this.finishNode(a,"ImportNamespaceSpecifier")),t}for(this.expect(Ks.braceL);!this.eat(Ks.braceR);){if(e)e=!1;else if(this.expect(Ks.comma),this.afterTrailingComma(Ks.braceR))break;var i=this.startNode();i.imported=this.parseIdent(!0),this.eatContextual("as")?i.local=this.parseIdent():(this.checkUnreserved(i.imported),i.local=i.imported),this.checkLVal(i.local,2),t.push(this.finishNode(i,"ImportSpecifier"))}return t},pa.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},pa.isDirectiveCandidate=function(t){return"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var ya=ca.prototype;ya.toAssignable=function(t,e,s){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",s&&this.checkPatternErrors(s,!0);for(var a=0,i=t.properties;a<i.length;a+=1){var r=i[a];this.toAssignable(r,e),"RestElement"!==r.type||"ArrayPattern"!==r.argument.type&&"ObjectPattern"!==r.argument.type||this.raise(r.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",s&&this.checkPatternErrors(s,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);case"AssignmentPattern":break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,s);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else s&&this.checkPatternErrors(s,!0);return t},ya.toAssignableList=function(t,e){for(var s=t.length,a=0;a<s;a++){var i=t[a];i&&this.toAssignable(i,e)}if(s){var r=t[s-1];6===this.options.ecmaVersion&&e&&r&&"RestElement"===r.type&&"Identifier"!==r.argument.type&&this.unexpected(r.argument.start)}return t},ya.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},ya.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==Ks.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},ya.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case Ks.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(Ks.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case Ks.braceL:return this.parseObj(!0)}return this.parseIdent()},ya.parseBindingList=function(t,e,s){for(var a=[],i=!0;!this.eat(t);)if(i?i=!1:this.expect(Ks.comma),e&&this.type===Ks.comma)a.push(null);else{if(s&&this.afterTrailingComma(t))break;if(this.type===Ks.ellipsis){var r=this.parseRestBinding();this.parseBindingListItem(r),a.push(r),this.type===Ks.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}var n=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(n),a.push(n)}return a},ya.parseBindingListItem=function(t){return t},ya.parseMaybeDefault=function(t,e,s){if(s=s||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(Ks.eq))return s;var a=this.startNodeAt(t,e);return a.left=s,a.right=this.parseMaybeAssign(),this.finishNode(a,"AssignmentPattern")},ya.checkLVal=function(t,e,s){switch(void 0===e&&(e=0),t.type){case"Identifier":2===e&&"let"===t.name&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(e?"Binding ":"Assigning to ")+t.name+" in strict mode"),s&&(ta(s,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),s[t.name]=!0),0!==e&&5!==e&&this.declareName(t.name,e,t.start);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":e&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ObjectPattern":for(var a=0,i=t.properties;a<i.length;a+=1){var r=i[a];this.checkLVal(r,e,s)}break;case"Property":this.checkLVal(t.value,e,s);break;case"ArrayPattern":for(var n=0,o=t.elements;n<o.length;n+=1){var h=o[n];h&&this.checkLVal(h,e,s)}break;case"AssignmentPattern":this.checkLVal(t.left,e,s);break;case"RestElement":this.checkLVal(t.argument,e,s);break;case"ParenthesizedExpression":this.checkLVal(t.expression,e,s);break;default:this.raise(t.start,(e?"Binding":"Assigning to")+" rvalue")}};var va=ca.prototype;va.checkPropClash=function(t,e,s){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var a,i=t.key;switch(i.type){case"Identifier":a=i.name;break;case"Literal":a=String(i.value);break;default:return}var r=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===a&&"init"===r&&(e.proto&&(s?s.doubleProto<0&&(s.doubleProto=i.start):this.raiseRecoverable(i.start,"Redefinition of __proto__ property")),e.proto=!0);else{var n=e[a="$"+a];if(n)("init"===r?this.strict&&n.init||n.get||n.set:n.init||n[r])&&this.raiseRecoverable(i.start,"Redefinition of property");else n=e[a]={init:!1,get:!1,set:!1};n[r]=!0}}},va.parseExpression=function(t,e){var s=this.start,a=this.startLoc,i=this.parseMaybeAssign(t,e);if(this.type===Ks.comma){var r=this.startNodeAt(s,a);for(r.expressions=[i];this.eat(Ks.comma);)r.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(r,"SequenceExpression")}return i},va.parseMaybeAssign=function(t,e,s){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var a=!1,i=-1,r=-1;e?(i=e.parenthesizedAssign,r=e.trailingComma,e.parenthesizedAssign=e.trailingComma=-1):(e=new da,a=!0);var n=this.start,o=this.startLoc;this.type!==Ks.parenL&&this.type!==Ks.name||(this.potentialArrowAt=this.start);var h=this.parseMaybeConditional(t,e);if(s&&(h=s.call(this,h,n,o)),this.type.isAssign){var c=this.startNodeAt(n,o);return c.operator=this.value,c.left=this.type===Ks.eq?this.toAssignable(h,!1,e):h,a||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=c.left.start&&(e.shorthandAssign=-1),this.checkLVal(h),this.next(),c.right=this.parseMaybeAssign(t),this.finishNode(c,"AssignmentExpression")}return a&&this.checkExpressionErrors(e,!0),i>-1&&(e.parenthesizedAssign=i),r>-1&&(e.trailingComma=r),h},va.parseMaybeConditional=function(t,e){var s=this.start,a=this.startLoc,i=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return i;if(this.eat(Ks.question)){var r=this.startNodeAt(s,a);return r.test=i,r.consequent=this.parseMaybeAssign(),this.expect(Ks.colon),r.alternate=this.parseMaybeAssign(t),this.finishNode(r,"ConditionalExpression")}return i},va.parseExprOps=function(t,e){var s=this.start,a=this.startLoc,i=this.parseMaybeUnary(e,!1);return this.checkExpressionErrors(e)||i.start===s&&"ArrowFunctionExpression"===i.type?i:this.parseExprOp(i,s,a,-1,t)},va.parseExprOp=function(t,e,s,a,i){var r=this.type.binop;if(null!=r&&(!i||this.type!==Ks._in)&&r>a){var n=this.type===Ks.logicalOR||this.type===Ks.logicalAND,o=this.type===Ks.coalesce;o&&(r=Ks.logicalAND.binop);var h=this.value;this.next();var c=this.start,_=this.startLoc,l=this.parseExprOp(this.parseMaybeUnary(null,!1),c,_,r,i),u=this.buildBinary(e,s,t,l,h,n||o);return(n&&this.type===Ks.coalesce||o&&(this.type===Ks.logicalOR||this.type===Ks.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(u,e,s,a,i)}return t},va.buildBinary=function(t,e,s,a,i,r){var n=this.startNodeAt(t,e);return n.left=s,n.operator=i,n.right=a,this.finishNode(n,r?"LogicalExpression":"BinaryExpression")},va.parseMaybeUnary=function(t,e){var s,a=this.start,i=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))s=this.parseAwait(),e=!0;else if(this.type.prefix){var r=this.startNode(),n=this.type===Ks.incDec;r.operator=this.value,r.prefix=!0,this.next(),r.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),n?this.checkLVal(r.argument):this.strict&&"delete"===r.operator&&"Identifier"===r.argument.type?this.raiseRecoverable(r.start,"Deleting local variable in strict mode"):e=!0,s=this.finishNode(r,n?"UpdateExpression":"UnaryExpression")}else{if(s=this.parseExprSubscripts(t),this.checkExpressionErrors(t))return s;for(;this.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(a,i);o.operator=this.value,o.prefix=!1,o.argument=s,this.checkLVal(s),this.next(),s=this.finishNode(o,"UpdateExpression")}}return!e&&this.eat(Ks.starstar)?this.buildBinary(a,i,s,this.parseMaybeUnary(null,!1),"**",!1):s},va.parseExprSubscripts=function(t){var e=this.start,s=this.startLoc,a=this.parseExprAtom(t);if("ArrowFunctionExpression"===a.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return a;var i=this.parseSubscripts(a,e,s);return t&&"MemberExpression"===i.type&&(t.parenthesizedAssign>=i.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=i.start&&(t.parenthesizedBind=-1)),i},va.parseSubscripts=function(t,e,s,a){for(var i=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&this.potentialArrowAt===t.start,r=!1;;){var n=this.parseSubscript(t,e,s,a,i,r);if(n.optional&&(r=!0),n===t||"ArrowFunctionExpression"===n.type){if(r){var o=this.startNodeAt(e,s);o.expression=n,n=this.finishNode(o,"ChainExpression")}return n}t=n}},va.parseSubscript=function(t,e,s,a,i,r){var n=this.options.ecmaVersion>=11,o=n&&this.eat(Ks.questionDot);a&&o&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var h=this.eat(Ks.bracketL);if(h||o&&this.type!==Ks.parenL&&this.type!==Ks.backQuote||this.eat(Ks.dot)){var c=this.startNodeAt(e,s);c.object=t,c.property=h?this.parseExpression():this.parseIdent("never"!==this.options.allowReserved),c.computed=!!h,h&&this.expect(Ks.bracketR),n&&(c.optional=o),t=this.finishNode(c,"MemberExpression")}else if(!a&&this.eat(Ks.parenL)){var _=new da,l=this.yieldPos,u=this.awaitPos,d=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var p=this.parseExprList(Ks.parenR,this.options.ecmaVersion>=8,!1,_);if(i&&!o&&!this.canInsertSemicolon()&&this.eat(Ks.arrow))return this.checkPatternErrors(_,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=l,this.awaitPos=u,this.awaitIdentPos=d,this.parseArrowExpression(this.startNodeAt(e,s),p,!0);this.checkExpressionErrors(_,!0),this.yieldPos=l||this.yieldPos,this.awaitPos=u||this.awaitPos,this.awaitIdentPos=d||this.awaitIdentPos;var m=this.startNodeAt(e,s);m.callee=t,m.arguments=p,n&&(m.optional=o),t=this.finishNode(m,"CallExpression")}else if(this.type===Ks.backQuote){(o||r)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var E=this.startNodeAt(e,s);E.tag=t,E.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(E,"TaggedTemplateExpression")}return t},va.parseExprAtom=function(t){this.type===Ks.slash&&this.readRegexp();var e,s=this.potentialArrowAt===this.start;switch(this.type){case Ks._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),e=this.startNode(),this.next(),this.type!==Ks.parenL||this.allowDirectSuper||this.raise(e.start,"super() call outside constructor of a subclass"),this.type!==Ks.dot&&this.type!==Ks.bracketL&&this.type!==Ks.parenL&&this.unexpected(),this.finishNode(e,"Super");case Ks._this:return e=this.startNode(),this.next(),this.finishNode(e,"ThisExpression");case Ks.name:var a=this.start,i=this.startLoc,r=this.containsEsc,n=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!r&&"async"===n.name&&!this.canInsertSemicolon()&&this.eat(Ks._function))return this.parseFunction(this.startNodeAt(a,i),0,!1,!0);if(s&&!this.canInsertSemicolon()){if(this.eat(Ks.arrow))return this.parseArrowExpression(this.startNodeAt(a,i),[n],!1);if(this.options.ecmaVersion>=8&&"async"===n.name&&this.type===Ks.name&&!r)return n=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(Ks.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,i),[n],!0)}return n;case Ks.regexp:var o=this.value;return(e=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},e;case Ks.num:case Ks.string:return this.parseLiteral(this.value);case Ks._null:case Ks._true:case Ks._false:return(e=this.startNode()).value=this.type===Ks._null?null:this.type===Ks._true,e.raw=this.type.keyword,this.next(),this.finishNode(e,"Literal");case Ks.parenL:var h=this.start,c=this.parseParenAndDistinguishExpression(s);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),c;case Ks.bracketL:return e=this.startNode(),this.next(),e.elements=this.parseExprList(Ks.bracketR,!0,!0,t),this.finishNode(e,"ArrayExpression");case Ks.braceL:return this.parseObj(!1,t);case Ks._function:return e=this.startNode(),this.next(),this.parseFunction(e,0);case Ks._class:return this.parseClass(this.startNode(),!1);case Ks._new:return this.parseNew();case Ks.backQuote:return this.parseTemplate();case Ks._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},va.parseExprImport=function(){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var e=this.parseIdent(!0);switch(this.type){case Ks.parenL:return this.parseDynamicImport(t);case Ks.dot:return t.meta=e,this.parseImportMeta(t);default:this.unexpected()}},va.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(Ks.parenR)){var e=this.start;this.eat(Ks.comma)&&this.eat(Ks.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},va.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"!==this.options.sourceType&&this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},va.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},va.parseParenExpression=function(){this.expect(Ks.parenL);var t=this.parseExpression();return this.expect(Ks.parenR),t},va.parseParenAndDistinguishExpression=function(t){var e,s=this.start,a=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var r,n=this.start,o=this.startLoc,h=[],c=!0,_=!1,l=new da,u=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==Ks.parenR;){if(c?c=!1:this.expect(Ks.comma),i&&this.afterTrailingComma(Ks.parenR,!0)){_=!0;break}if(this.type===Ks.ellipsis){r=this.start,h.push(this.parseParenItem(this.parseRestBinding())),this.type===Ks.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}h.push(this.parseMaybeAssign(!1,l,this.parseParenItem))}var p=this.start,m=this.startLoc;if(this.expect(Ks.parenR),t&&!this.canInsertSemicolon()&&this.eat(Ks.arrow))return this.checkPatternErrors(l,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=u,this.awaitPos=d,this.parseParenArrowList(s,a,h);h.length&&!_||this.unexpected(this.lastTokStart),r&&this.unexpected(r),this.checkExpressionErrors(l,!0),this.yieldPos=u||this.yieldPos,this.awaitPos=d||this.awaitPos,h.length>1?((e=this.startNodeAt(n,o)).expressions=h,this.finishNodeAt(e,"SequenceExpression",p,m)):e=h[0]}else e=this.parseParenExpression();if(this.options.preserveParens){var E=this.startNodeAt(s,a);return E.expression=e,this.finishNode(E,"ParenthesizedExpression")}return e},va.parseParenItem=function(t){return t},va.parseParenArrowList=function(t,e,s){return this.parseArrowExpression(this.startNodeAt(t,e),s)};var Sa=[];va.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(Ks.dot)){t.meta=e;var s=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),s&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.inNonArrowFunction()||this.raiseRecoverable(t.start,"'new.target' can only be used in functions"),this.finishNode(t,"MetaProperty")}var a=this.start,i=this.startLoc,r=this.type===Ks._import;return t.callee=this.parseSubscripts(this.parseExprAtom(),a,i,!0),r&&"ImportExpression"===t.callee.type&&this.raise(a,"Cannot use new with import()"),this.eat(Ks.parenL)?t.arguments=this.parseExprList(Ks.parenR,this.options.ecmaVersion>=8,!1):t.arguments=Sa,this.finishNode(t,"NewExpression")},va.parseTemplateElement=function(t){var e=t.isTagged,s=this.startNode();return this.type===Ks.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),s.value={raw:this.value,cooked:null}):s.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),s.tail=this.type===Ks.backQuote,this.finishNode(s,"TemplateElement")},va.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var s=this.startNode();this.next(),s.expressions=[];var a=this.parseTemplateElement({isTagged:e});for(s.quasis=[a];!a.tail;)this.type===Ks.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(Ks.dollarBraceL),s.expressions.push(this.parseExpression()),this.expect(Ks.braceR),s.quasis.push(a=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(s,"TemplateLiteral")},va.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===Ks.name||this.type===Ks.num||this.type===Ks.string||this.type===Ks.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===Ks.star)&&!js.test(this.input.slice(this.lastTokEnd,this.start))},va.parseObj=function(t,e){var s=this.startNode(),a=!0,i={};for(s.properties=[],this.next();!this.eat(Ks.braceR);){if(a)a=!1;else if(this.expect(Ks.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(Ks.braceR))break;var r=this.parseProperty(t,e);t||this.checkPropClash(r,i,e),s.properties.push(r)}return this.finishNode(s,t?"ObjectPattern":"ObjectExpression")},va.parseProperty=function(t,e){var s,a,i,r,n=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(Ks.ellipsis))return t?(n.argument=this.parseIdent(!1),this.type===Ks.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(n,"RestElement")):(this.type===Ks.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),n.argument=this.parseMaybeAssign(!1,e),this.type===Ks.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(n,"SpreadElement"));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(t||e)&&(i=this.start,r=this.startLoc),t||(s=this.eat(Ks.star)));var o=this.containsEsc;return this.parsePropertyName(n),!t&&!o&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(n)?(a=!0,s=this.options.ecmaVersion>=9&&this.eat(Ks.star),this.parsePropertyName(n,e)):a=!1,this.parsePropertyValue(n,t,s,a,i,r,e,o),this.finishNode(n,"Property")},va.parsePropertyValue=function(t,e,s,a,i,r,n,o){if((s||a)&&this.type===Ks.colon&&this.unexpected(),this.eat(Ks.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,n),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===Ks.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(s,a);else if(e||o||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===Ks.comma||this.type===Ks.braceR||this.type===Ks.eq)this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((s||a)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=i),t.kind="init",e?t.value=this.parseMaybeDefault(i,r,t.key):this.type===Ks.eq&&n?(n.shorthandAssign<0&&(n.shorthandAssign=this.start),t.value=this.parseMaybeDefault(i,r,t.key)):t.value=t.key,t.shorthand=!0):this.unexpected();else{(s||a)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var h="get"===t.kind?0:1;if(t.value.params.length!==h){var c=t.value.start;"get"===t.kind?this.raiseRecoverable(c,"getter should have no params"):this.raiseRecoverable(c,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}},va.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(Ks.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(Ks.bracketR),t.key;t.computed=!1}return t.key=this.type===Ks.num||this.type===Ks.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},va.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},va.parseMethod=function(t,e,s){var a=this.startNode(),i=this.yieldPos,r=this.awaitPos,n=this.awaitIdentPos;return this.initFunction(a),this.options.ecmaVersion>=6&&(a.generator=t),this.options.ecmaVersion>=8&&(a.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|ha(e,a.generator)|(s?128:0)),this.expect(Ks.parenL),a.params=this.parseBindingList(Ks.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(a,!1,!0),this.yieldPos=i,this.awaitPos=r,this.awaitIdentPos=n,this.finishNode(a,"FunctionExpression")},va.parseArrowExpression=function(t,e,s){var a=this.yieldPos,i=this.awaitPos,r=this.awaitIdentPos;return this.enterScope(16|ha(s,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!s),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1),this.yieldPos=a,this.awaitPos=i,this.awaitIdentPos=r,this.finishNode(t,"ArrowFunctionExpression")},va.parseFunctionBody=function(t,e,s){var a=e&&this.type!==Ks.braceL,i=this.strict,r=!1;if(a)t.body=this.parseMaybeAssign(),t.expression=!0,this.checkParams(t,!1);else{var n=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);i&&!n||(r=this.strictDirective(this.end))&&n&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var o=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(t,!i&&!r&&!e&&!s&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLVal(t.id,5),t.body=this.parseBlock(!1,void 0,r&&!i),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=o}this.exitScope()},va.isSimpleParamList=function(t){for(var e=0,s=t;e<s.length;e+=1){if("Identifier"!==s[e].type)return!1}return!0},va.checkParams=function(t,e){for(var s={},a=0,i=t.params;a<i.length;a+=1){var r=i[a];this.checkLVal(r,1,e?null:s)}},va.parseExprList=function(t,e,s,a){for(var i=[],r=!0;!this.eat(t);){if(r)r=!1;else if(this.expect(Ks.comma),e&&this.afterTrailingComma(t))break;var n=void 0;s&&this.type===Ks.comma?n=null:this.type===Ks.ellipsis?(n=this.parseSpread(a),a&&this.type===Ks.comma&&a.trailingComma<0&&(a.trailingComma=this.start)):n=this.parseMaybeAssign(!1,a),i.push(n)}return i},va.checkUnreserved=function(t){var e=t.start,s=t.end,a=t.name;(this.inGenerator&&"yield"===a&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===a&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.keywords.test(a)&&this.raise(e,"Unexpected keyword '"+a+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,s).indexOf("\\"))||(this.strict?this.reservedWordsStrict:this.reservedWords).test(a)&&(this.inAsync||"await"!==a||this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+a+"' is reserved"))},va.parseIdent=function(t,e){var s=this.startNode();return this.type===Ks.name?s.name=this.value:this.type.keyword?(s.name=this.type.keyword,"class"!==s.name&&"function"!==s.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop()):this.unexpected(),this.next(!!t),this.finishNode(s,"Identifier"),t||(this.checkUnreserved(s),"await"!==s.name||this.awaitIdentPos||(this.awaitIdentPos=s.start)),s},va.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===Ks.semi||this.canInsertSemicolon()||this.type!==Ks.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(Ks.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},va.parseAwait=function(){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!1),this.finishNode(t,"AwaitExpression")};var Aa=ca.prototype;Aa.raise=function(t,e){var s=ra(this.input,t);e+=" ("+s.line+":"+s.column+")";var a=new SyntaxError(e);throw a.pos=t,a.loc=s,a.raisedAt=this.pos,a},Aa.raiseRecoverable=Aa.raise,Aa.curPosition=function(){if(this.options.locations)return new aa(this.curLine,this.pos-this.lineStart)};var Ta=ca.prototype,Ia=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[]};Ta.enterScope=function(t){this.scopeStack.push(new Ia(t))},Ta.exitScope=function(){this.scopeStack.pop()},Ta.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},Ta.declareName=function(t,e,s){var a=!1;if(2===e){var i=this.currentScope();a=i.lexical.indexOf(t)>-1||i.functions.indexOf(t)>-1||i.var.indexOf(t)>-1,i.lexical.push(t),this.inModule&&1&i.flags&&delete this.undefinedExports[t]}else if(4===e){this.currentScope().lexical.push(t)}else if(3===e){var r=this.currentScope();a=this.treatFunctionsAsVar?r.lexical.indexOf(t)>-1:r.lexical.indexOf(t)>-1||r.var.indexOf(t)>-1,r.functions.push(t)}else for(var n=this.scopeStack.length-1;n>=0;--n){var o=this.scopeStack[n];if(o.lexical.indexOf(t)>-1&&!(32&o.flags&&o.lexical[0]===t)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(t)>-1){a=!0;break}if(o.var.push(t),this.inModule&&1&o.flags&&delete this.undefinedExports[t],3&o.flags)break}a&&this.raiseRecoverable(s,"Identifier '"+t+"' has already been declared")},Ta.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},Ta.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ta.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(3&e.flags)return e}},Ta.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(3&e.flags&&!(16&e.flags))return e}};var Ca=function(t,e,s){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new ia(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},Da=ca.prototype;function Oa(t,e,s,a){return t.type=e,t.end=s,this.options.locations&&(t.loc.end=a),this.options.ranges&&(t.range[1]=s),t}Da.startNode=function(){return new Ca(this,this.start,this.startLoc)},Da.startNodeAt=function(t,e){return new Ca(this,t,e)},Da.finishNode=function(t,e){return Oa.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},Da.finishNodeAt=function(t,e,s,a){return Oa.call(this,t,e,s,a)};var Pa=function(t,e,s,a,i){this.token=t,this.isExpr=!!e,this.preserveSpace=!!s,this.override=a,this.generator=!!i},Na={b_stat:new Pa("{",!1),b_expr:new Pa("{",!0),b_tmpl:new Pa("${",!1),p_stat:new Pa("(",!1),p_expr:new Pa("(",!0),q_tmpl:new Pa("`",!0,!0,(function(t){return t.tryReadTemplateToken()})),f_stat:new Pa("function",!1),f_expr:new Pa("function",!0),f_expr_gen:new Pa("function",!0,!1,null,!0),f_gen:new Pa("function",!1,!1,null,!0)},Ma=ca.prototype;Ma.initialContext=function(){return[Na.b_stat]},Ma.braceIsBlock=function(t){var e=this.curContext();return e===Na.f_expr||e===Na.f_stat||(t!==Ks.colon||e!==Na.b_stat&&e!==Na.b_expr?t===Ks._return||t===Ks.name&&this.exprAllowed?js.test(this.input.slice(this.lastTokEnd,this.start)):t===Ks._else||t===Ks.semi||t===Ks.eof||t===Ks.parenR||t===Ks.arrow||(t===Ks.braceL?e===Na.b_stat:t!==Ks._var&&t!==Ks._const&&t!==Ks.name&&!this.exprAllowed):!e.isExpr)},Ma.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},Ma.updateContext=function(t){var e,s=this.type;s.keyword&&t===Ks.dot?this.exprAllowed=!1:(e=s.updateContext)?e.call(this,t):this.exprAllowed=s.beforeExpr},Ks.parenR.updateContext=Ks.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===Na.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},Ks.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?Na.b_stat:Na.b_expr),this.exprAllowed=!0},Ks.dollarBraceL.updateContext=function(){this.context.push(Na.b_tmpl),this.exprAllowed=!0},Ks.parenL.updateContext=function(t){var e=t===Ks._if||t===Ks._for||t===Ks._with||t===Ks._while;this.context.push(e?Na.p_stat:Na.p_expr),this.exprAllowed=!0},Ks.incDec.updateContext=function(){},Ks._function.updateContext=Ks._class.updateContext=function(t){!t.beforeExpr||t===Ks.semi||t===Ks._else||t===Ks._return&&js.test(this.input.slice(this.lastTokEnd,this.start))||(t===Ks.colon||t===Ks.braceL)&&this.curContext()===Na.b_stat?this.context.push(Na.f_stat):this.context.push(Na.f_expr),this.exprAllowed=!1},Ks.backQuote.updateContext=function(){this.curContext()===Na.q_tmpl?this.context.pop():this.context.push(Na.q_tmpl),this.exprAllowed=!1},Ks.star.updateContext=function(t){if(t===Ks._function){var e=this.context.length-1;this.context[e]===Na.f_expr?this.context[e]=Na.f_expr_gen:this.context[e]=Na.f_gen}this.exprAllowed=!0},Ks.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==Ks.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var ba="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",xa=ba+" Extended_Pictographic",La={9:ba,10:xa,11:xa},Ra="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Ba="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Ua=Ba+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",ka={9:Ba,10:Ua,11:Ua+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"},Wa={};function Va(t){var e=Wa[t]={binary:sa(La[t]+" "+Ra),nonBinary:{General_Category:sa(Ra),Script:sa(ka[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}Va(9),Va(10),Va(11);var Fa=ca.prototype,Ya=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":""),this.unicodeProperties=Wa[t.options.ecmaVersion>=11?11:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Ga(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function Ha(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function Ka(t){return t>=65&&t<=90||t>=97&&t<=122}function ja(t){return Ka(t)||95===t}function Xa(t){return ja(t)||Ja(t)}function Ja(t){return t>=48&&t<=57}function $a(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Za(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function qa(t){return t>=48&&t<=55}Ya.prototype.reset=function(t,e,s){var a=-1!==s.indexOf("u");this.start=0|t,this.source=e+"",this.flags=s,this.switchU=a&&this.parser.options.ecmaVersion>=6,this.switchN=a&&this.parser.options.ecmaVersion>=9},Ya.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},Ya.prototype.at=function(t,e){void 0===e&&(e=!1);var s=this.source,a=s.length;if(t>=a)return-1;var i=s.charCodeAt(t);if(!e&&!this.switchU||i<=55295||i>=57344||t+1>=a)return i;var r=s.charCodeAt(t+1);return r>=56320&&r<=57343?(i<<10)+r-56613888:i},Ya.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var s=this.source,a=s.length;if(t>=a)return a;var i,r=s.charCodeAt(t);return!e&&!this.switchU||r<=55295||r>=57344||t+1>=a||(i=s.charCodeAt(t+1))<56320||i>57343?t+1:t+2},Ya.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},Ya.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},Ya.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},Ya.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},Fa.validateRegExpFlags=function(t){for(var e=t.validFlags,s=t.flags,a=0;a<s.length;a++){var i=s.charAt(a);-1===e.indexOf(i)&&this.raise(t.start,"Invalid regular expression flag"),s.indexOf(i,a+1)>-1&&this.raise(t.start,"Duplicate regular expression flag")}},Fa.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},Fa.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,s=t.backReferenceNames;e<s.length;e+=1){var a=s[e];-1===t.groupNames.indexOf(a)&&t.raise("Invalid named capture referenced")}},Fa.regexp_disjunction=function(t){for(this.regexp_alternative(t);t.eat(124);)this.regexp_alternative(t);this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},Fa.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},Fa.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!!(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},Fa.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var s=!1;if(this.options.ecmaVersion>=9&&(s=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!s,!0}return t.pos=e,!1},Fa.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},Fa.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},Fa.regexp_eatBracedQuantifier=function(t,e){var s=t.pos;if(t.eat(123)){var a=0,i=-1;if(this.regexp_eatDecimalDigits(t)&&(a=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue),t.eat(125)))return-1!==i&&i<a&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=s}return!1},Fa.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},Fa.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},Fa.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)&&t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}t.pos=e}return!1},Fa.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},Fa.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},Fa.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},Fa.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!Ha(e)&&(t.lastIntValue=e,t.advance(),!0)},Fa.regexp_eatPatternCharacters=function(t){for(var e=t.pos,s=0;-1!==(s=t.current())&&!Ha(s);)t.advance();return t.pos!==e},Fa.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e)&&(t.advance(),!0)},Fa.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},Fa.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},Fa.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Ga(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Ga(t.lastIntValue);return!0}return!1},Fa.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,s=this.options.ecmaVersion>=11,a=t.current(s);return t.advance(s),92===a&&this.regexp_eatRegExpUnicodeEscapeSequence(t,s)&&(a=t.lastIntValue),function(t){return Us(t,!0)||36===t||95===t}(a)?(t.lastIntValue=a,!0):(t.pos=e,!1)},Fa.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,s=this.options.ecmaVersion>=11,a=t.current(s);return t.advance(s),92===a&&this.regexp_eatRegExpUnicodeEscapeSequence(t,s)&&(a=t.lastIntValue),function(t){return ks(t,!0)||36===t||95===t||8204===t||8205===t}(a)?(t.lastIntValue=a,!0):(t.pos=e,!1)},Fa.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},Fa.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var s=t.lastIntValue;if(t.switchU)return s>t.maxBackReference&&(t.maxBackReference=s),!0;if(s<=t.numCapturingParens)return!0;t.pos=e}return!1},Fa.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},Fa.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},Fa.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},Fa.regexp_eatZero=function(t){return 48===t.current()&&!Ja(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},Fa.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},Fa.regexp_eatControlLetter=function(t){var e=t.current();return!!Ka(e)&&(t.lastIntValue=e%32,t.advance(),!0)},Fa.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var s,a=t.pos,i=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var r=t.lastIntValue;if(i&&r>=55296&&r<=56319){var n=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var o=t.lastIntValue;if(o>=56320&&o<=57343)return t.lastIntValue=1024*(r-55296)+(o-56320)+65536,!0}t.pos=n,t.lastIntValue=r}return!0}if(i&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&((s=t.lastIntValue)>=0&&s<=1114111))return!0;i&&t.raise("Invalid unicode escape"),t.pos=a}return!1},Fa.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e)&&(t.lastIntValue=e,t.advance(),!0)},Fa.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},Fa.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(80===e||112===e)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1},Fa.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var s=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var a=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,s,a),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,i),!0}return!1},Fa.regexp_validateUnicodePropertyNameAndValue=function(t,e,s){ta(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(s)||t.raise("Invalid property value")},Fa.regexp_validateUnicodePropertyNameOrValue=function(t,e){t.unicodeProperties.binary.test(e)||t.raise("Invalid property name")},Fa.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";ja(e=t.current());)t.lastStringValue+=Ga(e),t.advance();return""!==t.lastStringValue},Fa.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";Xa(e=t.current());)t.lastStringValue+=Ga(e),t.advance();return""!==t.lastStringValue},Fa.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},Fa.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},Fa.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var s=t.lastIntValue;!t.switchU||-1!==e&&-1!==s||t.raise("Invalid character class"),-1!==e&&-1!==s&&e>s&&t.raise("Range out of order in character class")}}},Fa.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var s=t.current();(99===s||qa(s))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var a=t.current();return 93!==a&&(t.lastIntValue=a,t.advance(),!0)},Fa.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},Fa.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!Ja(e)&&95!==e)&&(t.lastIntValue=e%32,t.advance(),!0)},Fa.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},Fa.regexp_eatDecimalDigits=function(t){var e=t.pos,s=0;for(t.lastIntValue=0;Ja(s=t.current());)t.lastIntValue=10*t.lastIntValue+(s-48),t.advance();return t.pos!==e},Fa.regexp_eatHexDigits=function(t){var e=t.pos,s=0;for(t.lastIntValue=0;$a(s=t.current());)t.lastIntValue=16*t.lastIntValue+Za(s),t.advance();return t.pos!==e},Fa.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var s=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*s+t.lastIntValue:t.lastIntValue=8*e+s}else t.lastIntValue=e;return!0}return!1},Fa.regexp_eatOctalDigit=function(t){var e=t.current();return qa(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},Fa.regexp_eatFixedHexDigits=function(t,e){var s=t.pos;t.lastIntValue=0;for(var a=0;a<e;++a){var i=t.current();if(!$a(i))return t.pos=s,!1;t.lastIntValue=16*t.lastIntValue+Za(i),t.advance()}return!0};var Qa=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new ia(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},za=ca.prototype;function ti(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}function ei(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}za.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Qa(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},za.getToken=function(){return this.next(),new Qa(this)},"undefined"!=typeof Symbol&&(za[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===Ks.eof,value:e}}}}),za.curContext=function(){return this.context[this.context.length-1]},za.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(Ks.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},za.readToken=function(t){return Us(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},za.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);return t<=55295||t>=57344?t:(t<<10)+this.input.charCodeAt(this.pos+1)-56613888},za.skipBlockComment=function(){var t,e=this.options.onComment&&this.curPosition(),s=this.pos,a=this.input.indexOf("*/",this.pos+=2);if(-1===a&&this.raise(this.pos-2,"Unterminated comment"),this.pos=a+2,this.options.locations)for(Xs.lastIndex=s;(t=Xs.exec(this.input))&&t.index<this.pos;)++this.curLine,this.lineStart=t.index+t[0].length;this.options.onComment&&this.options.onComment(!0,this.input.slice(s+2,a),s,this.pos,e,this.curPosition())},za.skipLineComment=function(t){for(var e=this.pos,s=this.options.onComment&&this.curPosition(),a=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!Js(a);)a=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,s,this.curPosition())},za.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&$s.test(String.fromCharCode(t))))break t;++this.pos}}},za.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var s=this.type;this.type=t,this.value=e,this.updateContext(s)},za.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(Ks.ellipsis)):(++this.pos,this.finishToken(Ks.dot))},za.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(Ks.assign,2):this.finishOp(Ks.slash,1)},za.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),s=1,a=42===t?Ks.star:Ks.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++s,a=Ks.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(Ks.assign,s+1):this.finishOp(a,s)},za.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);if(e===t){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Ks.assign,3);return this.finishOp(124===t?Ks.logicalOR:Ks.logicalAND,2)}return 61===e?this.finishOp(Ks.assign,2):this.finishOp(124===t?Ks.bitwiseOR:Ks.bitwiseAND,1)},za.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(Ks.assign,2):this.finishOp(Ks.bitwiseXOR,1)},za.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!js.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(Ks.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(Ks.assign,2):this.finishOp(Ks.plusMin,1)},za.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),s=1;return e===t?(s=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+s)?this.finishOp(Ks.assign,s+1):this.finishOp(Ks.bitShift,s)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(s=2),this.finishOp(Ks.relational,s)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},za.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(Ks.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(Ks.arrow)):this.finishOp(61===t?Ks.eq:Ks.prefix,1)},za.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var s=this.input.charCodeAt(this.pos+2);if(s<48||s>57)return this.finishOp(Ks.questionDot,2)}if(63===e){if(t>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Ks.assign,3);return this.finishOp(Ks.coalesce,2)}}return this.finishOp(Ks.question,1)},za.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(Ks.parenL);case 41:return++this.pos,this.finishToken(Ks.parenR);case 59:return++this.pos,this.finishToken(Ks.semi);case 44:return++this.pos,this.finishToken(Ks.comma);case 91:return++this.pos,this.finishToken(Ks.bracketL);case 93:return++this.pos,this.finishToken(Ks.bracketR);case 123:return++this.pos,this.finishToken(Ks.braceL);case 125:return++this.pos,this.finishToken(Ks.braceR);case 58:return++this.pos,this.finishToken(Ks.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(Ks.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(Ks.prefix,1)}this.raise(this.pos,"Unexpected character '"+ei(t)+"'")},za.finishOp=function(t,e){var s=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,s)},za.readRegexp=function(){for(var t,e,s=this.pos;;){this.pos>=this.input.length&&this.raise(s,"Unterminated regular expression");var a=this.input.charAt(this.pos);if(js.test(a)&&this.raise(s,"Unterminated regular expression"),t)t=!1;else{if("["===a)e=!0;else if("]"===a&&e)e=!1;else if("/"===a&&!e)break;t="\\"===a}++this.pos}var i=this.input.slice(s,this.pos);++this.pos;var r=this.pos,n=this.readWord1();this.containsEsc&&this.unexpected(r);var o=this.regexpState||(this.regexpState=new Ya(this));o.reset(s,i,n),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var h=null;try{h=new RegExp(i,n)}catch(t){}return this.finishToken(Ks.regexp,{pattern:i,flags:n,value:h})},za.readInt=function(t,e,s){for(var a=this.options.ecmaVersion>=12&&void 0===e,i=s&&48===this.input.charCodeAt(this.pos),r=this.pos,n=0,o=0,h=0,c=null==e?1/0:e;h<c;++h,++this.pos){var _=this.input.charCodeAt(this.pos),l=void 0;if(a&&95===_)i&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===o&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===h&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),o=_;else{if((l=_>=97?_-97+10:_>=65?_-65+10:_>=48&&_<=57?_-48:1/0)>=t)break;o=_,n=n*t+l}}return a&&95===o&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===r||null!=e&&this.pos-r!==e?null:n},za.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var s=this.readInt(t);return null==s&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(s=ti(this.input.slice(e,this.pos)),++this.pos):Us(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Ks.num,s)},za.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var s=this.pos-e>=2&&48===this.input.charCodeAt(e);s&&this.strict&&this.raise(e,"Invalid number");var a=this.input.charCodeAt(this.pos);if(!s&&!t&&this.options.ecmaVersion>=11&&110===a){var i=ti(this.input.slice(e,this.pos));return++this.pos,Us(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Ks.num,i)}s&&/[89]/.test(this.input.slice(e,this.pos))&&(s=!1),46!==a||s||(++this.pos,this.readInt(10),a=this.input.charCodeAt(this.pos)),69!==a&&101!==a||s||(43!==(a=this.input.charCodeAt(++this.pos))&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),Us(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var r,n=(r=this.input.slice(e,this.pos),s?parseInt(r,8):parseFloat(r.replace(/_/g,"")));return this.finishToken(Ks.num,n)},za.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},za.readString=function(t){for(var e="",s=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var a=this.input.charCodeAt(this.pos);if(a===t)break;92===a?(e+=this.input.slice(s,this.pos),e+=this.readEscapedChar(!1),s=this.pos):(Js(a,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(s,this.pos++),this.finishToken(Ks.string,e)};var si={};za.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==si)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},za.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw si;this.raise(t,e)},za.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var s=this.input.charCodeAt(this.pos);if(96===s||36===s&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==Ks.template&&this.type!==Ks.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(Ks.template,t)):36===s?(this.pos+=2,this.finishToken(Ks.dollarBraceL)):(++this.pos,this.finishToken(Ks.backQuote));if(92===s)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(Js(s)){switch(t+=this.input.slice(e,this.pos),++this.pos,s){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(s)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},za.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(Ks.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},za.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return ei(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(t){var s=this.pos-1;return this.invalidStringToken(s,"Invalid escape sequence in template string"),null}default:if(e>=48&&e<=55){var a=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(a,8);return i>255&&(a=a.slice(0,-1),i=parseInt(a,8)),this.pos+=a.length-1,e=this.input.charCodeAt(this.pos),"0"===a&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-a.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(i)}return Js(e)?"":String.fromCharCode(e)}},za.readHexChar=function(t){var e=this.pos,s=this.readInt(16,t);return null===s&&this.invalidStringToken(e,"Bad character escape sequence"),s},za.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,s=this.pos,a=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(ks(i,a))this.pos+=i<=65535?1:2;else{if(92!==i)break;this.containsEsc=!0,t+=this.input.slice(s,this.pos);var r=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var n=this.readCodePoint();(e?Us:ks)(n,a)||this.invalidStringToken(r,"Invalid Unicode escape"),t+=ei(n),s=this.pos}e=!1}return t+this.input.slice(s,this.pos)},za.readWord=function(){var t=this.readWord1(),e=Ks.name;return this.keywords.test(t)&&(e=Gs[t]),this.finishToken(e,t)};function ai(t){return ca.parse(t,{ecmaVersion:2020})}function ii(t){return["Array1D","Array2D","Literal","Symbol","UnaryOperation","BinaryOperation","Random","CallDefinedFunction","AnyFunction","ConditionalExpression"].includes(t.type)}function ri(t){switch(t.type){case"Program":return function(t){if(1!==t.body.length)throw new Error("bodyが1以外の場合評価できません。");return ri(t.body[0])}(t);case"ExpressionStatement":return function(t){return ri(t.expression)}(t);case"AssignmentExpression":return function(t){const e=ri(t.left),s=ri(t.right);if(!ii(s))throw new Error("値以外を代入式の右辺に設定できません");switch(t.operator){case"=":case"+=":case"-=":case"*=":case"/=":if("Array2D"===e.type){if("m"===e.name||"o"===e.name)return{type:"PartsAssignment",partsKind:"m"===e.name?"map":"object",destinationX:e.index0,destinationY:e.index1,value:s,operator:t.operator};throw new Error("想定していない記号が2次元配列ででてきました")}if("Array1D"===e.type){if("ITEM"===e.name)return{type:"ItemAssignment",itemBoxPosition1to12:e.index0,value:s,operator:t.operator};if("v"===e.name)return{type:"UserVariableAssignment",index:e.index0,value:s,operator:t.operator};if("LP"===e.name)return{type:"LoopPointerAssignment",index:e.index0,value:s,operator:t.operator};throw new Error(`1次元配列にて想定していないシンボルが指定されました ${e.name}`)}if("Symbol"===e.type){if("m"===e.name||"o"===e.name||"v"===e.name||"ITEM"===e.name||"X"===e.name||"Y"===e.name||"ID"===e.name||"TYPE"===e.name||"CX"===e.name||"CY"===e.name||"LP"===e.name)throw new Error("このシンボルには代入できません");if("AT_TOTAL"===e.name)throw new Error('"装備品込みの攻撃力(AT_TOTAL)への代入はできません。"');if("DF_TOTAL"===e.name)throw new Error('"装備品込みの防御力(DF_TOTAL)への代入はできません。"');if("ENEMY_HP"===e.name||"ENEMY_AT"===e.name||"ENEMY_DF"===e.name||"ENEMY_GD"===e.name)throw new Error("敵ステータス (ENEMY_HP, ENEMY_AT, ENEMY_DF, ENEMY_GD) への代入はできません。");return{type:"SpecialParameterAssignment",kind:e.name,value:s,operator:t.operator}}throw"Literal"===e.type?new Error("数値には代入できません"):new Error("代入できません");default:throw new Error("想定していないオペレーターです")}}(t);case"MemberExpression":return function(t){const e=ri(t.object),s=ri(t.property);if("Symbol"===e.type){if(!["v","m","o","ITEM","LP"].includes(e.name))throw new Error("このシンボルは配列にできません");if("Literal"===s.type||"Symbol"===s.type||"BinaryOperation"===s.type||"Array1D"===s.type)return{type:"Array1D",name:e.name,index0:s};throw new Error("WWAでは存在しない構文です")}if("Array1D"===e.type){if("ITEM"===e.name||"v"===e.name)throw new Error("この配列は2次元以上にはできません。");if("Literal"===s.type||"Symbol"===s.type||"BinaryOperation"===s.type||"Array1D"===s.type)return{type:"Array2D",name:e.name,index0:e.index0,index1:s};throw new Error("WWAでは存在しない構文です")}}(t);case"UnaryExpression":return function(t){const e=ri(t.argument);if(!["+","-","!"].includes(t.operator))throw new Error("未定義の演算子です :"+t.operator);if(!ii(e))throw new Error("単項演算子が適用できません");return{type:"UnaryOperation",operator:t.operator,argument:e}}(t);case"BinaryExpression":return function(t){const e=ri(t.left),s=ri(t.right);if(!ii(e)||!ii(s))throw new Error("左辺または右辺が評価不能です");switch(t.operator){case"+":case"-":case"*":case"/":case"%":case">":case"<":case">=":case"<=":case"==":case"!=":return{type:"BinaryOperation",operator:t.operator,left:e,right:s};default:throw new Error("未定義の演算子です :"+t.operator)}}(t);case"Identifier":return function(t){switch(t.name){case"m":case"o":case"ITEM":case"X":case"Y":case"ID":case"TYPE":case"PX":case"PY":case"CX":case"CY":case"v":case"HP":case"HPMAX":case"AT":case"AT_TOTAL":case"DF":case"DF_TOTAL":case"GD":case"STEP":case"TIME":case"PDIR":case"i":case"j":case"k":case"LOOPLIMIT":case"ITEM_ID":case"ITEM_POS":case"ENEMY_HP":case"ENEMY_AT":case"ENEMY_DF":case"LP":return{type:"Symbol",name:t.name};default:throw new Error("未定義のシンボルです :\n"+t.name)}}(t);case"Literal":return function(t){return{type:"Literal",value:t.value}}(t);case"CallExpression":return function(t){const e=t.callee.name;switch(e){case"RAND":return function(t){if(t.length<1)throw new Error("RAND関数には引数が必要です。");return{type:"Random",value:ri(t[0])}}(t.arguments);case"JUMPGATE":return function(t){if(t.length<2)throw new Error("RAND関数には引数が2つ必要です。");const e={x:t[0],y:t[1]};return{type:"Jumpgate",x:ri(e.x),y:ri(e.y)}}(t.arguments);case"MSG":case"MESSAGE":return{type:"Msg",value:ri(t.arguments[0])};case"SOUND":case"SAVE":case"LOG":case"ABLE_CHANGE_SPEED":case"SET_SPEED":case"CHANGE_GAMEOVER_POS":case"DEL_PLAYER":case"RESTART_GAME":case"URL_JUMPGATE":case"HIDE_STATUS":case"PARTS":case"FACE":case"EFFECT":case"CHANGE_PLAYER_IMAGE":case"HAS_ITEM":case"REMOVE_ITEM":case"MOVE":case"PARTS_MOVE":case"IS_PLAYER_WAITING_MESSAGE":case"GET_UNIXTIME":case"GET_DATE_YEAR":case"GET_DATE_MONTH":case"GET_DATE_DAY":case"GET_DATE_HOUR":case"GET_DATE_MINUTES":case"GET_DATE_SECONDS":case"GET_DATE_MILLISECONDS":case"GET_DATE_WEEKDAY":case"CHANGE_SYSMSG":case"SHOW_USER_DEF_VAR":case"ABS":case"GET_GAMEOVER_POS_X":case"GET_GAMEOVER_POS_Y":case"ABORT_BATTLE":case"EXIT":case"GET_IMG_POS_X":case"GET_IMG_POS_Y":case"IS_NUMBER":return function(t,e){return{type:"AnyFunction",functionName:e,value:t.map((t=>ri(t)))}}(t.arguments,e);default:return{type:"CallDefinedFunction",functionName:e}}}(t);case"IfStatement":return function(t){const e=ri(t.consequent),s=ri(t.test);return{type:"IfStatement",consequent:e,test:s,alternate:t.alternate?ri(t.alternate):void 0}}(t);case"BlockStatement":return function(t){return{type:"BlockStatement",value:t.body.map((t=>ri(t)))}}(t);case"FunctionDeclaration":return function(t){return{type:"DefinedFunction",functionName:t.id.name,body:ri(t.body)}}(t);case"ForStatement":return function(t){const e=t.body.body.map((t=>ri(t)));return{type:"ForStatement",body:e,init:ri(t.init),test:ri(t.test),update:ri(t.update)}}(t);case"BreakStatement":return function(t){return{type:"Break",label:t.label}}(t);case"ReturnStatement":return function(t){return{type:"Return",argument:ri(t.argument)}}(t);case"ContinueStatement":return function(t){return{type:"Continue",label:t.label}}(t);case"UpdateExpression":return function(t){return{type:"UpdateExpression",operator:t.operator,argument:ri(t.argument)}}(t);case"LogicalExpression":return function(t){return{type:"LogicalExpression",operator:t.operator,left:ri(t.left),right:ri(t.right)}}(t);case"TemplateLiteral":return function(t){return{type:"TemplateLiteral",expressions:t.expressions.map((t=>ri(t))),quasis:t.quasis.map((t=>ri(t)))}}(t);case"TemplateElement":return function(t){return{type:"TemplateElement",value:t.value}}(t);case"ConditionalExpression":return function(t){const e=ri(t.consequent),s=ri(t.alternate),a=ri(t.test);return{type:"ConditionalExpression",consequent:e,test:a,alternate:s}}(t);default:throw console.log(t),new Error("未定義の AST ノードです :"+t.type)}}ca.acorn={Parser:ca,version:"7.4.1",defaultOptions:na,Position:aa,SourceLocation:ia,getLineInfo:ra,Node:Ca,TokenType:Ws,tokTypes:Ks,keywordTypes:Gs,TokContext:Pa,tokContexts:Na,isIdentifierChar:ks,isIdentifierStart:Us,Token:Qa,isNewLine:Js,lineBreak:js,lineBreakG:Xs,nonASCIIwhitespace:$s};const ni=Object.freeze({"=":(t,e)=>e,"+=":(t,e)=>t+e,"-=":(t,e)=>t-e,"*=":(t,e)=>t*e,"/=":(t,e)=>t/e});class oi{constructor(t){this.wwa=t,this.loop_limit=1e5,this.state={messagePageAdditionalQueue:[]}}setTriggerParts(t,e,s){this.state={...this.state,triggerParts:{id:t,type:e,position:s}}}clearTemporaryState(){this.state={...this.state,triggerParts:void 0,messagePageAdditionalQueue:[]}}setEarnedItem(t,e){this.state={...this.state,earnedItem:{partsId:t,itemPos1To12:e}}}clearEarnedItem(){this.state={...this.state,earnedItem:void 0}}setBattleDamageCalculationMode(t){this.state={...this.state,battleDamageCalculation:{estimatingParams:t}}}clearBattleDamageCalculationMode(){this.state={...this.state,battleDamageCalculation:void 0}}evalWwaNodes(t){return this.evalWwaNode({type:"BlockStatement",value:t})}evalWwaNode(t){if("BlockStatement"!==t.type||!Array.isArray(t.value)||0!==t.value.length)try{return new hi(this).evalWwaNode(t)}catch(t){if(t instanceof ci||t instanceof _i)return t.value;throw t}}addPageAdditionalItem(t){this.state.messagePageAdditionalQueue.push(t)}pickPageAdditionalQueue(){const t=[...this.state.messagePageAdditionalQueue];return this.state.messagePageAdditionalQueue=[],t}updateLoopLimit(t){this.loop_limit=t}}class hi{constructor(t){this.generator=t,this.for_id={i:null,j:null,k:null,LP:[],loopCount:0,break_flag:!1,continue_flag:!1}}evalWwaNodes(t){let e;return t.forEach((t=>{e=this.evalWwaNode(t)})),e}evalWwaNode(t){if(!this.for_id.break_flag&&!this.for_id.continue_flag)switch(t.type){case"UnaryOperation":return this.evalUnaryOperation(t);case"BinaryOperation":return this.evalBinaryOperation(t);case"Symbol":return this.evalSymbol(t);case"Array1D":return this.evalArray1D(t);case"Array2D":return this.evalArray2D(t);case"Literal":return this.evalNumber(t);case"UserVariableAssignment":return this.evalSetUserVariable(t);case"SpecialParameterAssignment":return this.evalSetSpecialParameter(t);case"Random":return this.evalRandom(t);case"Jumpgate":return this.evalJumpgate(t);case"Msg":return this.evalMessage(t);case"ItemAssignment":return this.itemAssignment(t);case"IfStatement":return this.ifStatement(t);case"BlockStatement":return this.blockStatement(t);case"PartsAssignment":return this.partsAssignment(t);case"ForStatement":return this.forStateMent(t);case"AnyFunction":return this.wrapCallFunction(t,(t=>this.evalAnyFunction(t)));case"CallDefinedFunction":return this.wrapCallFunction(t,(t=>this.callDefinedFunction(t)));case"Break":return this.breakStatement(t);case"Return":throw new ci(this.returnStatement(t));case"Continue":return this.contunueStatment(t);case"UpdateExpression":return this.updateExpression(t);case"LogicalExpression":return this.logicalExpression(t);case"TemplateLiteral":return this.convertTemplateLiteral(t);case"ConditionalExpression":return this.convertConditionalExpression(t);case"LoopPointerAssignment":return this.convertLoopPointerExpression(t);default:throw console.log(t),new Error("未定義または未実装のノードです")}}wrapCallFunction(t,e){try{return e(t)}catch(t){if(t instanceof ci)return t.value;throw t}}callDefinedFunction(t){const e=this.generator.wwa.getUserScript(t.functionName);if(null===e)throw new Error(`未定義の関数が呼び出されました: ${t.functionName}`);return this.evalWwaNode(e)}updateExpression(t){if("Array1D"!==t.argument.type&&"Array2D"!==t.argument.type&&"Symbol"!==t.argument.type)throw new Error(`node.argument.typeが インクリメント/デクリメントできる対象ではありません。: ${t.argument.type}`);const e=this.evalWwaNode(t.argument),s=(e=>{switch(t.operator){case"++":return e+1;case"--":return e-1;default:throw new Error("想定外のOperatorが渡されました :"+t.operator)}})(e),a={type:"Literal",value:s};switch(t.argument.type){case"Array1D":if("v"===t.argument.name)this.evalSetUserVariable({type:"UserVariableAssignment",index:t.argument.index0,value:a});else if("ITEM"===t.argument.name)this.itemAssignment({type:"ItemAssignment",itemBoxPosition1to12:t.argument.index0,value:a});else{if("LP"!==t.argument.name)throw new Error(`このリテラルはインクリメント/デクリメントできません: ${t.argument.type}`);this.convertLoopPointerExpression({type:"LoopPointerAssignment",index:t.argument.index0,value:a,operator:"="})}break;case"Array2D":{const e={type:"PartsAssignment",destinationX:t.argument.index0,destinationY:t.argument.index1,value:a,operator:"="};if("m"===t.argument.name)this.partsAssignment({...e,partsKind:"map"});else{if("o"!==t.argument.name)throw new Error(`このリテラルはインクリメント/デクリメントできません: ${t.argument.type}`);this.partsAssignment({...e,partsKind:"object"})}break}case"Symbol":{const e={type:"SpecialParameterAssignment",kind:t.argument.name,value:a};this.evalSetSpecialParameter(e);break}}return e}logicalExpression(t){const e=this.evalWwaNode(t.left),s=this.evalWwaNode(t.right);switch(t.operator){case"||":return e||s;case"&&":return e&&s;default:throw new Error("存在しない論理式です!: "+t.operator)}}convertTemplateLiteral(t){const e=t.expressions.map((t=>this.evalWwaNode(t))),s=t.quasis.map((t=>t.value.cooked));let a="";return s.forEach(((t,s)=>{a+=t,void 0!==e[s]&&(a+=e[s])})),a}contunueStatment(t){this.for_id.continue_flag=!0}breakStatement(t){this.for_id.break_flag=!0}returnStatement(t){return this.evalWwaNode(t.argument)}forStateMent(t){const e=t.init;for(((()=>{if("kind"in e)switch(e.kind){case"i":if(null!==this.for_id.i)throw new Error("iの値が既に外側のforループで使われています。");break;case"j":if(null!==this.for_id.j)throw new Error("jの値が既に外側のforループで使われています。");break;case"k":if(null!==this.for_id.k)throw new Error("kの値が既に外側のforループで使われています。");break;default:throw console.log(t),new Error("予想外の変数がfor文内で使用されました :"+e.kind)}else{if("LoopPointerAssignment"!==e.type)throw console.log(t),new Error("予想外の1次元配列がfor文内で使用されました :"+e);{const t=Number(this.evalWwaNode(e.index));if(Number.isNaN(t))throw new Error(`LPのIndex値はNumberでないといけません。: ${t}`);if(null!==this.for_id.LP[t]&&void 0!==this.for_id.LP[t])throw new Error(`LP[${t}]の値が既に外側のforループで使われています。`)}}this.evalWwaNode(t.init)})());this.evalWwaNode(t.test);this.evalWwaNode(t.update)){if(this.for_id.loopCount++,this.for_id.loopCount>this.generator.loop_limit)throw new Error("処理回数が多すぎます!\n上限値は LOOPLIMIT で変えられます。");if(this.for_id.break_flag)break;if(!this.evalWwaNode(t.test))break;this.evalWwaNodes(t.body),this.for_id.continue_flag=!1}if(this.for_id.break_flag=!1,"kind"in e)switch(e.kind){case"i":this.for_id.i=null;break;case"j":this.for_id.j=null;break;case"k":this.for_id.k=null}else if("LoopPointerAssignment"===e.type){const t=Number(this.evalWwaNode(e.index));this.for_id.LP[t]=null}}_checkArgsLength(t,e){if(e.value.length<t)throw new Error(`関数 ${e.functionName} の引数が不足しています!`)}evalAnyFunction(t){const e=this.generator.wwa.getGameStatus();switch(t.functionName){case"SOUND":{this._checkArgsLength(1,t);const e=this.evalWwaNode(t.value[0]);return this.generator.wwa.playSound(e),e}case"SAVE":{this._checkArgsLength(1,t);const e=Boolean(this.evalWwaNode(t.value[0]));return this.generator.wwa.disableSave(e),e}case"LOG":{this._checkArgsLength(1,t);const e=this.evalWwaNode(t.value[0]);return void console.log(e)}case"ABLE_CHANGE_SPEED":{this._checkArgsLength(1,t);const e=Boolean(this.evalWwaNode(t.value[0]));return this.generator.wwa.speedChangeJudge(e),e}case"SET_SPEED":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));return void this.generator.wwa.setPlayerSpeedIndex(e)}case"CHANGE_GAMEOVER_POS":{this._checkArgsLength(2,t);const e={x:Number(this.evalWwaNode(t.value[0])),y:Number(this.evalWwaNode(t.value[1]))};if(e.x<0||e.x>=this.generator.wwa.getMapWidth()||e.y<0||e.y>this.generator.wwa.getMapWidth())throw new Error("マップの範囲外が指定されています!");return void this.generator.wwa.setGameOverPosition(new c(e.x,e.y))}case"DEL_PLAYER":{this._checkArgsLength(1,t);const e=Boolean(this.evalWwaNode(t.value[0]));return void this.generator.wwa.setDelPlayer(e)}case"RESTART_GAME":return void this.generator.wwa.restartGame();case"URL_JUMPGATE":throw new Error("URL_JUMPGATE 関数は調整中のためご利用になれません");case"HIDE_STATUS":{this._checkArgsLength(2,t);const e=Number(this.evalWwaNode(t.value[0])),s=Boolean(this.evalWwaNode(t.value[1]));return void this.generator.wwa.hideStatus(e,s)}case"PARTS":{this._checkArgsLength(2,t);const e=Number(this.evalWwaNode(t.value[0])),s=Number(this.evalWwaNode(t.value[1]));let a=t.value[2]?Number(this.evalWwaNode(t.value[2])):0,i=!!t.value[3]&&Boolean(this.evalWwaNode(t.value[3]));const r=[y.OBJECT,y.MAP];if(e<0||s<0)throw new Error("パーツ番号が不正です");if(!r.includes(a))throw new Error("パーツ種別が不明です");return void this.generator.wwa.replaceParts(e,s,a,i)}case"FACE":{this._checkArgsLength(6,t);const e=Number(this.evalWwaNode(t.value[0])),s=Number(this.evalWwaNode(t.value[1])),a=Number(this.evalWwaNode(t.value[2])),i=Number(this.evalWwaNode(t.value[3])),r=Number(this.evalWwaNode(t.value[4])),n=Number(this.evalWwaNode(t.value[5]));if(e<0||s<0||a<0||i<0||r<0||n<0)throw new Error("各引数は0以上の整数でなければなりません。");return void this.generator.addPageAdditionalItem({type:"face",data:{face:new l(new c(e,s),new c(a,i),new c(r,n))}})}case"EFFECT":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));if(e<0)throw new Error("待ち時間は0以上の整数でなければなりません。");if(0===e)return void this.generator.wwa.stopEffect();const s=[];for(let e=1;e<t.value.length;e+=2){const a=Number(this.evalWwaNode(t.value[e]));if(a<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");if(e+1===t.value.length)throw new Error("画像のパーツ座標指定で、Y座標が指定されていません。");const i=Number(this.evalWwaNode(t.value[e+1]));if(i<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");s.push(new c(a,i))}return void this.generator.wwa.setEffect(e,s)}case"CHANGE_PLAYER_IMAGE":{this._checkArgsLength(2,t);const e=Number(this.evalWwaNode(t.value[0])),s=Number(this.evalWwaNode(t.value[1])),a=new c(e,s);return void this.generator.wwa.setPlayerImgCoord(a)}case"HAS_ITEM":{this._checkArgsLength(1,t);const s=Number(this.evalWwaNode(t.value[0]));return e.itemBox.includes(s)}case"REMOVE_ITEM":{this._checkArgsLength(1,t);const s=Number(this.evalWwaNode(t.value[0])),a=!!t.value[1]&&1===this.evalWwaNode(t.value[1]);let i=0;for(let t=0;t<e.itemBox.length;t++)if(s===e.itemBox[t]&&(this.generator.wwa.setPlayerGetItem(t+1,0),i++,!a))return i;return i}case"MOVE":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));if(e<=0||e>9)throw Error("MOVEの移動先は2/4/6/8で指定してください!");return this.generator.wwa.movePlayer(e),this.generator.wwa.movePlayer(e),0}case"PARTS_MOVE":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));return this.generator.wwa.setMoveMacroWaitingToPlayer(e),0}case"IS_PLAYER_WAITING_MESSAGE":return this.generator.wwa.isPlayerWaitingMessage();case"GET_UNIXTIME":return Math.floor((new Date).getTime()/1e3);case"GET_DATE_YEAR":return(new Date).getFullYear();case"GET_DATE_MONTH":return(new Date).getMonth()+1;case"GET_DATE_DAY":return(new Date).getDate();case"GET_DATE_HOUR":return(new Date).getHours();case"GET_DATE_MINUTES":return(new Date).getMinutes();case"GET_DATE_SECONDS":return(new Date).getSeconds();case"GET_DATE_MILLISECONDS":return(new Date).getMilliseconds();case"GET_DATE_WEEKDAY":return(new Date).getDay();case"SHOW_USER_DEF_VAR":return void console.log(this.generator.wwa.getAllUserNameVar());case"CHANGE_SYSMSG":{this._checkArgsLength(1,t);const e=this.evalWwaNode(t.value[0]),s=t.value.length>=2?this.evalWwaNode(t.value[1]):void 0,a=this.resolveSystemMessageKeyFromMacroArg(e);if(!a)throw new Error("このIDのシステムメッセージは未定義です。");if("number"==typeof s||"string"==typeof s||"boolean"==typeof s)this.generator.wwa.overwriteSystemMessage(a,String(s));else{if(null!=s)throw new Error("この値は文字列に変換できないため、システムメッセージを表示できません。");this.generator.wwa.overwriteSystemMessage(a,void 0)}}break;case"ABS":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));return Math.abs(e)}case"GET_GAMEOVER_POS_X":return this.generator.wwa.getGemeOverPosition().x;case"GET_GAMEOVER_POS_Y":return this.generator.wwa.getGemeOverPosition().y;case"ABORT_BATTLE":throw this.generator.state.battleDamageCalculation&&(this.generator.state.battleDamageCalculation.aborted=!0),new _i("ABORT_BATTLE");case"EXIT":throw new _i("EXIT",this.evalWwaNode(t.value[0]));case"GET_IMG_POS_X":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0])),s=0===(void 0!==t.value[1]?Number(this.evalWwaNode(t.value[1])):0)?y.OBJECT:y.MAP;if(s===y.OBJECT){const s=void 0===t.value[2]||0===Number(this.evalWwaNode(t.value[2])),a=this.generator.wwa.getObjectInfo(e),i=s?a[V.ATR_X]:a[V.ATR_X2];return Math.floor(i/V.CHIP_SIZE)}if(s===y.MAP){const t=this.generator.wwa.getMapInfo(e)[V.ATR_X];return Math.floor(t/V.CHIP_SIZE)}throw new Error("GET_IMG_POS_X: 指定したIDのパーツのTypeが異常です。")}case"GET_IMG_POS_Y":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0])),s=0===(void 0!==t.value[1]?Number(this.evalWwaNode(t.value[1])):0)?y.OBJECT:y.MAP;if(s===y.OBJECT){const s=void 0===t.value[2]||0===Number(this.evalWwaNode(t.value[2])),a=this.generator.wwa.getObjectInfo(e),i=s?a[V.ATR_Y]:a[V.ATR_Y2];return Math.floor(i/V.CHIP_SIZE)}if(s===y.MAP){const t=this.generator.wwa.getMapInfo(e)[V.ATR_Y];return Math.floor(t/V.CHIP_SIZE)}throw new Error("GET_IMG_POS_Y: 指定したIDのパーツのTypeが異常です。")}case"IS_NUMBER":this._checkArgsLength(1,t);return"number"==typeof this.evalWwaNode(t.value[0]);default:throw new Error("未定義の関数が指定されました: "+t.functionName)}}resolveSystemMessageKeyFromMacroArg(t){return"string"==typeof t?r(t)?t:void 0:"number"==typeof t?n(t):void 0}partsAssignment(t){const e=this.generator.wwa.getGameStatus(),s=this.evalWwaNode(t.destinationX),a=this.evalWwaNode(t.destinationY);if("number"!=typeof s||"number"!=typeof a)throw new Error(`座標は数値で指定してください (${s}, ${a})`);new _(this.generator.wwa,s,a);const i="map"===t.partsKind?y.MAP:y.OBJECT,r=this.resolveParts(i,s,a),n=this.evalWwaNode(t.value);switch(t.operator){case"=":case"+=":case"-=":case"*=":case"/=":{const o=0|ni[t.operator](r,n);if(o<0)throw new Error(`負値のパーツ番号 ${o} は代入できません`);this.generator.wwa.appearPartsEval(e.playerCoord,`${s}`,`${a}`,o,i);break}default:throw new Error(`演算子 ${t.operator} は partsAssignment では使えません`)}}resolveParts(t,e,s){const a=this.generator.wwa.getGameStatus();switch(t){case y.MAP:return a.wwaData.map[s][e];case y.OBJECT:return a.wwaData.mapObject[s][e];default:throw new Error("存在しないPartsTypeです",t)}}blockStatement(t){return this.evalWwaNodes(t.value)}ifStatement(t){return this.evalWwaNode(t.test)?this.evalWwaNode(t.consequent):t.alternate?this.evalWwaNode(t.alternate):void 0}convertConditionalExpression(t){const e=this.evalWwaNode(t.test)?t.consequent:t.alternate;return this.evalWwaNode(e)}convertLoopPointerExpression(t){const e=this.evalWwaNode(t.value),s=this.evalWwaNode(t.index);return t.operator,this.for_id.LP[s]=e,0}itemAssignment(t){const e=this.evalWwaNode(t.itemBoxPosition1to12);if("number"!=typeof e||e<0||e>12)throw new Error("ITEMの添字に想定外の値が入っています。0以上12以下の添字を指定してください。: "+e);const s=this.evalWwaNode(t.value);switch(t.operator){case"=":this.generator.wwa.setPlayerGetItem(e,0|s);break;case"+=":case"-=":case"*=":case"/=":{if(0===e)throw new Error("複合代入では ITEM[0] への操作はできません");const a=this.generator.wwa.getGameStatus().itemBox[e-1],i=0|ni[t.operator](a,s);if(i<0)throw new Error(`負値のパーツ番号 ${i} は代入できません`);this.generator.wwa.setPlayerGetItem(e,i);break}default:throw new Error(`演算子 ${t.operator} は itemAssignment では使えません`)}}evalMessage(t){const e=this.evalWwaNode(t.value),s=isNaN(e)?e:e.toString(),a=this.generator.pickPageAdditionalQueue();this.generator.wwa.handleMsgFunction({message:s,additionalItems:a})}evalJumpgate(t){const e=this.evalWwaNode(t.x),s=this.evalWwaNode(t.y);if(isNaN(e)||isNaN(s))throw new Error(`飛び先の値が数値になっていません。 x=${e} / y=${s}`);this.generator.wwa.forcedJumpGate(e,s)}evalRandom(t){const e=this.evalWwaNode(t.value);return Math.floor(Math.random()*e)}evalSetSpecialParameter(t){const e=this.evalWwaNode(t.value);if(!this.generator.wwa||isNaN(e))return e;const s=this.evalSymbol({type:"Symbol",name:t.kind});if(Array.isArray(s))throw new Error(`配列Objectに対して直接代入は出来ません: ${s}`);const a=(()=>{switch(t.operator){case"+=":return s+e;case"-=":return s-e;case"*=":return s*e;case"/=":return s/e;default:return e}})();switch(t.kind){case"PX":return this.generator.wwa.jumpSpecifiedXPos(a),a;case"PY":return this.generator.wwa.jumpSpecifiedYPos(a),a;case"AT":return this.generator.wwa.setPlayerStatus(x.STRENGTH,a,!1),a;case"DF":return this.generator.wwa.setPlayerStatus(x.DEFENCE,a,!1),a;case"GD":return this.generator.wwa.setPlayerStatus(x.GOLD,a,!1),a;case"HP":return this.generator.wwa.setPlayerStatus(x.ENERGY,a,!1),a;case"HPMAX":return this.generator.wwa.setPlayerEnergyMax(a),a;case"i":return this.for_id.i=this.evalWwaNode(t.value),this.for_id.i;case"j":return this.for_id.j=this.evalWwaNode(t.value),this.for_id.j;case"k":return this.for_id.k=this.evalWwaNode(t.value),this.for_id.k;case"LOOPLIMIT":{const e=this.evalWwaNode(t.value);return this.generator.updateLoopLimit(e),e}default:return void console.error("未実装の要素です: "+t.kind)}}evalSetUserVariable(t){const e=this.evalWwaNode(t.value);if(!this.generator.wwa)return e;const s=this.evalWwaNode(t.index);return this.generator.wwa.setUserVar(s,e,t.operator),e}evalUnaryOperation(t){switch(t.operator){case"+":return this.evalWwaNode(t.argument);case"-":return-this.evalWwaNode(t.argument);case"!":return!this.evalWwaNode(t.argument);default:throw new Error("存在しない単項演算子です")}}evalBinaryOperation(t){const e=this.evalWwaNode(t.left),s=this.evalWwaNode(t.right);switch(t.operator){case"+":return e+s;case"-":return e-s;case"*":return e*s;case"/":return 0===s?0:Math.floor(e/s);case"%":return 0===s?0:e%s;case">":return e>s;case">=":return e>=s;case"<":return e<s;case"<=":return e<=s;case"==":return e==s;case"!=":return e!=s;default:throw new Error("存在しない単項演算子です")}}evalSymbol(t){var e,s,a,i,r,n,o,h,c,_,l,u,d,p,m,E,g,w,f,y,v,S,A,T,I,C,D,O,P,N,M,b,x,L,R,B;const U=this.generator.wwa.getGameStatus(),k=this.generator.wwa.getEnemyStatus();switch(t.name){case"X":return null!==(s=null===(e=this.generator.state.triggerParts)||void 0===e?void 0:e.position.x)&&void 0!==s?s:U.playerCoord.x;case"Y":return null!==(i=null===(a=this.generator.state.triggerParts)||void 0===a?void 0:a.position.y)&&void 0!==i?i:U.playerCoord.y;case"ID":return null!==(n=null===(r=this.generator.state.triggerParts)||void 0===r?void 0:r.id)&&void 0!==n?n:-1;case"TYPE":return null!==(h=null===(o=this.generator.state.triggerParts)||void 0===o?void 0:o.type)&&void 0!==h?h:-1;case"PX":return U.playerCoord.x;case"PY":return U.playerCoord.y;case"CX":return U.cameraCoord.x;case"CY":return U.cameraCoord.y;case"AT":return U.bareStatus.strength;case"AT_TOTAL":return null!==(l=null===(_=null===(c=this.generator.state.battleDamageCalculation)||void 0===c?void 0:c.estimatingParams)||void 0===_?void 0:_.playerStatus.strength)&&void 0!==l?l:U.totalStatus.strength;case"DF":return U.bareStatus.defence;case"DF_TOTAL":return null!==(p=null===(d=null===(u=this.generator.state.battleDamageCalculation)||void 0===u?void 0:u.estimatingParams)||void 0===d?void 0:d.playerStatus.defence)&&void 0!==p?p:U.totalStatus.defence;case"GD":return null!==(g=null===(E=null===(m=this.generator.state.battleDamageCalculation)||void 0===m?void 0:m.estimatingParams)||void 0===E?void 0:E.playerStatus.gold)&&void 0!==g?g:U.totalStatus.gold;case"HP":return null!==(y=null===(f=null===(w=this.generator.state.battleDamageCalculation)||void 0===w?void 0:w.estimatingParams)||void 0===f?void 0:f.playerStatus.energy)&&void 0!==y?y:U.totalStatus.energy;case"HPMAX":return U.energyMax;case"STEP":return U.moveCount;case"TIME":return U.playTime;case"PDIR":return U.playerDirection;case"i":return this.for_id.i;case"j":return this.for_id.j;case"k":return this.for_id.k;case"LOOPLIMIT":return this.generator.loop_limit;case"ITEM_ID":return null!==(S=null===(v=this.generator.state.earnedItem)||void 0===v?void 0:v.partsId)&&void 0!==S?S:-1;case"ITEM_POS":return null!==(T=null===(A=this.generator.state.earnedItem)||void 0===A?void 0:A.itemPos1To12)&&void 0!==T?T:-1;case"ENEMY_HP":return null!==(D=null===(C=null===(I=this.generator.state.battleDamageCalculation)||void 0===I?void 0:I.estimatingParams)||void 0===C?void 0:C.enemyStatus.energy)&&void 0!==D?D:"number"==typeof k?-1:k.energy;case"ENEMY_AT":return null!==(N=null===(P=null===(O=this.generator.state.battleDamageCalculation)||void 0===O?void 0:O.estimatingParams)||void 0===P?void 0:P.enemyStatus.strength)&&void 0!==N?N:"number"==typeof k?-1:k.strength;case"ENEMY_DF":return null!==(x=null===(b=null===(M=this.generator.state.battleDamageCalculation)||void 0===M?void 0:M.estimatingParams)||void 0===b?void 0:b.enemyStatus.defence)&&void 0!==x?x:"number"==typeof k?-1:k.defence;case"ENEMY_GD":return null!==(B=null===(R=null===(L=this.generator.state.battleDamageCalculation)||void 0===L?void 0:L.estimatingParams)||void 0===R?void 0:R.enemyStatus.gold)&&void 0!==B?B:"number"==typeof k?-1:k.gold;case"LP":return this.for_id.LP;default:throw new Error("このシンボルは取得できません")}}evalArray1D(t){const e=this.evalWwaNode(t.index0);if("number"!=typeof e){if("v"===t.name)return this.generator.wwa.getUserNameVar(e);throw new Error("このシンボルは取得できません")}const s=this.generator.wwa.getGameStatus();switch(t.name){case"v":return this.generator.wwa.getUserVar(e);case"ITEM":if(e<1||e>12)throw new Error("ITEMの添字に想定外の値が入っています。1以上12以下の添字を指定してください。: "+e);return s.itemBox[e-1];case"LP":return this.for_id.LP[e];default:throw new Error("このシンボルは取得できません")}}evalArray2D(t){switch(t.name){case"m":case"o":const e=this.evalWwaNode(t.index0),s=this.evalWwaNode(t.index1);if("number"!=typeof e||"number"!=typeof s)throw new Error(`座標は数値で指定してください (${e}, ${s})`);new _(this.generator.wwa,e,s);const a="o"===t.name?y.OBJECT:y.MAP;return this.generator.wwa.getPartsID(new c(e,s),a);default:throw new Error("このシンボルは取得できません")}}evalNumber(t){return t.value}}class ci{constructor(t){this.value=t}}class _i{constructor(t,e){this.reason=t,this.value=e}}const li="user-variable-label";const ui="user-variable-card";function di({index:t,value:e}){const s=document.createElement("div");return s.classList.add(ui),s.dataset.varIndex=String(t),s.appendChild(function(t){const e=document.createElement("div");e.classList.add("index"),e.textContent=String(t),"string"==typeof t&&e.setAttribute("title",t);return e.appendChild(function(){const t=document.createElement("div");return t.textContent="-",t.setAttribute("aria-hidden","true"),t.classList.add(li),t}()),e}(t)),s.appendChild(function(t){const e=document.createElement("div");e.classList.add("value"),"string"==typeof t&&e.setAttribute("title",St(t));return pi(e,t),e}(e)),s}function pi(t,e){t.textContent=void 0===e?"-":St(e)}const mi="user-variable-list";function Ei({index:t,value:e}){const s=document.createElement("li");return s.appendChild(di({index:t,value:e})),s}function gi(t,{index:e,value:s}){t.appendChild(Ei({index:e,value:s}))}const wi="information";function fi(t,e,s=!1){t.textContent=`${s?"【エラー】":""}${e}`}function yi({heading:t,contentVisibilityToggleButton:e,information:s}){const a=document.createElement("header");return a.appendChild(function({heading:t,contentVisibilityToggleButton:e}){const s=document.createElement("div");s.classList.add("heading-area");const a=document.createElement("h2");a.textContent=t.text,s.appendChild(a);const i=document.createElement("button");i.classList.add("content-visibility-toggle-button"),vi(i,!0),e.onClick&&i.addEventListener("click",e.onClick.bind(i));return s.appendChild(i),s}({heading:t,contentVisibilityToggleButton:e})),s&&a.appendChild(function(){const t=document.createElement("p");return t.classList.add(wi),fi(t,"強調されている番号にカーソルを乗せると説明が表示されます。"),t}()),a}function vi(t,e){t.textContent=e?"▲隠す":"▼表示"}const Si="user-variable-list-section";function Ai({kind:t}){const e=document.createElement("section");e.classList.add(Si),e.dataset.kind=t;const s=function({kind:t}){const e=document.createElement("ul");return e.classList.add(mi),"numbered"===t&&Array.from({length:V.USER_VAR_NUM}).map(((t,e)=>Ei({index:e}))).forEach((t=>e.appendChild(t))),e}({kind:t}),a=yi({heading:{text:"named"===t?"名前つき変数一覧":"変数一覧"},information:"numbered"===t?{}:void 0,contentVisibilityToggleButton:{onClick:t=>{const e=a.querySelector(`.${wi}`);"true"===s.getAttribute("aria-hidden")?function(t,e,s){t.removeAttribute("aria-hidden"),e instanceof HTMLElement&&e.removeAttribute("aria-hidden");s instanceof HTMLElement&&vi(s,!0)}(s,e,t.target):function(t,e,s){t.setAttribute("aria-hidden","true"),e instanceof HTMLElement&&e.setAttribute("aria-hidden","true");s instanceof HTMLElement&&vi(s,!1)}(s,e,t.target)}}});return e.appendChild(a),e.appendChild(s),e}function Ti(t,e){t instanceof HTMLElement&&Array.from({length:V.USER_VAR_NUM}).map(((s,a)=>{const i=function(t,e){return t.querySelector(`${Oi(e)} > .value`)}(t,a);i instanceof HTMLElement&&pi(i,e[a])}))}function Ii(t,e){t&&Array.from({length:V.USER_VAR_NUM}).map(((s,a)=>{const i=e[a];if(!i)return;const r=function(t,e){return t.querySelector(`${Oi(e)} > .index`)}(t,a);if(!(r instanceof HTMLElement))return;const n=r.querySelector(`.${li}`);n instanceof HTMLElement&&(function(t,e){t.textContent=e}(n,i),function(t,e){t.dataset.labelledVarIndex="true",t.addEventListener("mouseover",(()=>e.removeAttribute("aria-hidden"))),t.addEventListener("mouseleave",(()=>e.setAttribute("aria-hidden","true")))}(r,n))}))}function Ci(t,e,s=!1){if(!t)return;const a=function(t){return t.querySelector(`${Di} > header > .${wi}`)}(t);a instanceof HTMLElement&&fi(a,e,s)}const Di=`.${Si}[data-kind="numbered"]`;function Oi(t){return`${Di} > .${mi} > li > .${ui}[data-var-index="${CSS.escape(String(t))}"]`}function Pi(t,e){if(!(t instanceof HTMLElement))return;const s=function(t){return new Set([...t.querySelectorAll(Mi)].map((t=>t instanceof HTMLElement?t.dataset.varIndex:void 0)).filter(Boolean))}(t),a=xi(t);if(a instanceof HTMLElement){for(const[i,r]of e){const e=Ri(t,i);s.delete(i),e instanceof HTMLElement?pi(e,r):gi(a,{index:i,value:r})}for(const e of s){const s=Li(t,e).parentElement;s instanceof HTMLLIElement&&xi(t).removeChild(s)}}}const Ni=`.${Si}[data-kind="named"]`,Mi=`${Ni} > .${mi} > li > .${ui}`;function bi(t){return`${Mi}[data-var-index="${CSS.escape(t)}"]`}function xi(t){return t.querySelector(`${Ni} > .${mi}`)}function Li(t,e){return t.querySelector(bi(e))}function Ri(t,e){return t.querySelector(`${bi(e)} > .value`)}let Bi;function Ui(t,e,s){var a=new G;return a.current=t,a.total=e,a.stage=s,a}class ki{constructor(t={mapdata:"",urlGateEnable:!1,titleImg:void 0,audioDir:"./audio/",classicModeEnable:!1,itemEffectEnable:!0,useGoToWwa:!1,lookingAround:!1,autoSave:!0,disallowLoadOldSave:!1,resumeSaveData:void 0,varDumpElm:void 0,userVarNamesFile:void 0,displayUserVars:!1,virtualPadEnable:!1,virtualPadViewportFitEnable:!1,virtualPadControllerElm:void 0,userDefinedScriptsFile:"./script/script_file_list.json"}){var e;this._useSuspend=!1,this._useLookingAround=!0,this._isDisallowLoadOldSave=!1,this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._windowCloseWaitingJumpGateRequest=void 0,this._debugConsoleElement=void 0,this.audioExtension="",this.soundLoadedCheckTimer=void 0,this._playTimeCalculator=void 0,this.userDefinedFunctions={},this.convertWwaNodes=t=>function(t){if("Program"===t.type)return t.body.map((t=>ri(t)));return[ri(t)]}(ai(t)),this.mainCaller=()=>this._main(),this.soundCheckCaller=()=>this.checkAllSoundLoaded(),this._checkTurnKeyPressed=()=>this._keyStore.checkHitKey(q.KEY_ESC)||this._keyStore.checkHitKey(q.KEY_SHIFT)||this._keyStore.checkHitKey(q.KEY_N),this._saveDataList=[],this.wwaCustomEventEmitter=new Ts(dt("wwa-wrapper")),window.addEventListener("click",(t=>{this._isActive=!1})),dt("wwa-wrapper").addEventListener("click",(t=>{t.stopPropagation(),this._isActive=!0})),this._isActive=!0,void 0===t.titleImg?(this._hasTitleImg=!1,this._cvsCover=dt("progress-panel"),(e=this._cvsCover.getContext("2d")).fillStyle="rgb(0, 0, 0)"):this._hasTitleImg=!0;try{this._hasTitleImg?(dt("unstable-version-warning").textContent="この WWA Wing は [不安定版] です。",dt("version").textContent="WWA Wing Ver.4.0.0"):this._setLoadingMessage(e,0)}catch(t){}this._dumpElement=t.varDumpElm;const s=window.AudioContext||window.webkitAudioContext;s&&(this.audioContext=new s,this.audioGain=this.audioContext.createGain(),this.audioGain.gain.setValueAtTime(1,this.audioContext.currentTime));var i=new Audio;"no"!==i.canPlayType("audio/mpeg")&&""!==i.canPlayType("audio/mpeg")?this.audioExtension="mp3":this.audioExtension="m4a",this.userDevice=new N,this._isURLGateEnable=t.urlGateEnable,this._isClassicModeEnable=t.classicModeEnable,this._mainCallCounter=0,this._animationCounter=0,this._statusPressCounter=new h(0,0,0,0),t.audioDir?"/"!==t.audioDir[t.audioDir.length-1]&&(t.audioDir+="/"):t.audioDir="./audio/",this._audioDirectory=t.audioDir,this._bottomButtonType=t.useGoToWwa?d.GOTO_WWA:d.BATTLE_REPORT;var r=(new Date).getTime();if(!!location.href.match(/^file/))if(this.userDevice.device===S.GAME){if(this.userDevice.os===v.NINTENDO)V.BATTLE_INTERVAL_FRAME_NUM=5;this._bottomButtonType=d.GAME_END}else alert("【警告】直接HTMLファイルを開いているようです。\nこのプログラムは正常に動作しない可能性があります。\nマップデータの確認を行う場合には同梱の「wwa-server.exe」をご利用ください。\n"+(this.userDevice.browser===A.FIREFOX?"Firefoxの場合も、バージョン68以降はローカルのHTMLファイルを直接開いた場合、通常起動できないことを確認しております。":""));switch(this.userDevice.device){case S.VR:case S.GAME:this._usePassword=!1;break;default:this._usePassword=!0}switch(dt("cell-save").textContent=Y.QUICK_SAVE,this._usePassword?dt("cell-load").textContent=Y.PASSWORD:dt("cell-load").textContent=Y.EMPTY_LOAD,this._bottomButtonType){case d.GOTO_WWA:dt("cell-gotowwa").textContent=Y.GOTO_WWA;break;case d.BATTLE_REPORT:dt("cell-gotowwa").textContent=Y.BATTLE_REPORT;break;case d.GAME_END:dt("cell-gotowwa").textContent=Y.GAME_END}this._loadHandler=s=>{var i;this._wwaData=s,this._wwaData.isItemEffectEnabled=t.itemEffectEnable;try{this._hasTitleImg?dt("version").textContent+=" (Map data Ver. "+Math.floor(this._wwaData.version/10)+"."+ +this._wwaData.version%10+")":this._setLoadingMessage(e,1)}catch(t){}var n=dt("wwa-wrapper").getAttribute("data-wwa-mapdata").split("/");n.pop(),n.push(this._wwaData.mapCGName),this._wwaData.mapCGName=n.join("/"),this._playTimeCalculator=new ot,this._restartData=JSON.parse(JSON.stringify(this._wwaData)),this.checkOriginalMapString=this._generateMapDataHash(this._restartData),this.initCSSRule(),this._setProgressBar(Ui(0,4,H.GAME_INIT)),this._setLoadingMessage(e,2);var o=new Image;o.src=this._wwaData.mapCGName,o.addEventListener("error",(()=>{this._setErrorMessage("画像ファイル「"+this._wwaData.mapCGName+"」が見つかりませんでした。\n管理者の方へ: データがアップロードされているか、\nパーミッションを確かめてください。",e)}));var l=this._wwaData.mapCGName.replace("(","\\(").replace(")","\\)");const u=t=>{t.style.backgroundImage="url("+l+")"};Array.prototype.forEach.call(Et("div.item-cell"),(t=>{t.style.backgroundPosition=`-${this._wwaData.imgItemboxX*V.CHIP_SIZE}px -${this._wwaData.imgItemboxY*V.CHIP_SIZE}px`,t.style.backgroundImage="url("+l+")"})),Array.prototype.forEach.call(Et("div.wide-cell-row"),(t=>{t.style.backgroundPosition="-160px -120px",t.style.backgroundImage="url("+l+")"})),Array.prototype.forEach.call(Et(".item-cell>.item-click-border"),(t=>{t.style.backgroundImage="url('"+V.ITEM_BORDER_IMG_DATA_URL+"')",t.style.backgroundPosition="0 0",t.style.display="none",t.style.cursor="pointer"})),Array.prototype.forEach.call(Et(".item-cell>.item-disp"),u),Array.prototype.forEach.call(Et("div.wide-cell-row>.status-icon"),u),this.setStatusIconCoord(L.ENERGY,new c(this._wwaData.imgStatusEnergyX,this._wwaData.imgStatusEnergyY)),this.setStatusIconCoord(L.STRENGTH,new c(this._wwaData.imgStatusStrengthX,this._wwaData.imgStatusStrengthY)),this.setStatusIconCoord(L.DEFENCE,new c(this._wwaData.imgStatusDefenceX,this._wwaData.imgStatusDefenceY)),this.setStatusIconCoord(L.GOLD,new c(this._wwaData.imgStatusGoldX,this._wwaData.imgStatusGoldY)),this._setProgressBar(Ui(1,4,H.GAME_INIT)),this._setLoadingMessage(e,3),this._mapIDTableCreate(),this._replaceAllRandomObjects();var d=(new Date).getTime();console.log("Loading Complete!"+(d-r)+"ms"),this._cvs=dt("wwa-map");var m=this._cvs.getContext("2d",{alpha:!1});m.fillStyle="rgba( 255, 255, 255, 0.5)",m.fillRect(0,0,440,440);var E=new _(this,this._wwaData.playerX,this._wwaData.playerY);this._camera=new It(E),this._itemMenu=new Ge;var w=new h(this._wwaData.statusEnergy,this._wwaData.statusStrength,this._wwaData.statusDefence,this._wwaData.statusGold);this._player=new Pt(this,E,this._camera,w,this._wwaData.statusEnergyMax,this._wwaData.moves,this._wwaData.gameSpeedIndex),this._userVar={numbered:Array.from({length:V.USER_VAR_NUM}).map((()=>0)),named:new Map},this._objectMovingDataManager=new bt(this,this._player),this._camera.setPlayer(this._player),this._keyStore=new it,this._mouseStore=new rt,t.virtualPadEnable?(this._virtualPadButtonElements={BUTTON_ENTER:dt("wwa-enter-button"),BUTTON_ESC:dt("wwa-esc-button"),BUTTON_FAST:dt("wwa-fast-button"),BUTTON_SLOW:dt("wwa-slow-button"),BUTTON_LEFT:dt("wwa-left-button"),BUTTON_UP:dt("wwa-up-button"),BUTTON_RIGHT:dt("wwa-right-button"),BUTTON_DOWN:dt("wwa-down-button")},this._virtualPadStore=new lt(this._virtualPadButtonElements,Fe(),dt("wwa-virtualpad-right"),dt("wwa-virtualpad-left"),this._setVirtualPadTouch.bind(this),this._setVirtualPadLeave.bind(this)),function(t,e){if(null===t)return;const s=document.createElement("button");s.classList.add("wwa-virtualpad-toggle-button"),s.textContent="仮想パッド表示切り替え",s.addEventListener("click",e),t.appendChild(s)}(t.virtualPadControllerElm,(()=>{this._virtualPadStore.toggleVisible()}))):(this._virtualPadButtonElements=null,this._virtualPadStore=new lt({})),this._debugConsoleElement=function(t){if(null===t)return;const e=document.createElement("section");e.setAttribute("id","wwa-debug-console");const s=document.createElement("textarea");s.setAttribute("rows","10"),s.setAttribute("cols","60"),s.textContent='v["money"] = 100;\nv["name"] = "ヤツロウ";\nMSG(v["name"]+"「俺の所持金は"+v["money"]+"ゴールドだ」");\nfor(LP[0]=0; LP[0]<2; LP[0]++) {\n LOG(LP);\n}';const a=t=>t.stopPropagation();s.addEventListener("keydown",a),s.addEventListener("keypress",a),s.addEventListener("keyup",a),s.classList.add("console-text-area"),e.appendChild(s);const i=document.createElement("button");return i.classList.add("script-running-button"),i.textContent="実行(X)",e.appendChild(i),t.appendChild(e),e}(dt("wwa-debug-console-area")),null===(i=this._debugConsoleElement)||void 0===i||i.querySelector(".script-running-button").addEventListener("click",(()=>{this._debugEvalString()})),this._gamePadStore=new nt,this._pages=[],this._yesNoJudge=g.UNSELECTED,this._yesNoJudgeInNextFrame=g.UNSELECTED,this._yesNoChoiceCallInfo=T.NONE,this._prevFrameEventExected=!1,this._isLastPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._shouldSetNextPage=!1,this._passwordLoadExecInNextFrame=!1,this._pageExecuting=!1,this._messageWindow=new Be(this,50,180,340,0,this._wwaData.mapCGName,!1,!0,!1,dt("wwa-wrapper")),this._scoreWindow=new xe(this,new c(50,50),!1,dt("wwa-wrapper")),this._wwaSave=new hs(Bi,Bi._wwaData.worldName,Bi._wwaData.worldPassNumber,this._checkSaveDataCompatibility.bind(this),(t=>{if(t.length>0){let e="これまでに保存されていたセーブデータは、下記の理由により消えたものがあります。";t.forEach((t=>{switch(t){case as.UNMATCHED_WORLD_NAME:e+="\n・制作者によるマップデータのワールド名の変更";break;case as.UNMATCHED_WORLD_PASS_NUMBER:e+="\n・制作者によるマップデータの暗証番号の変更";break;case as.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:e+="\n・制作者によるマップデータの内容変更 (マップデータ制作者の設定により、内容が変更されるとセーブデータが消去されます)"}})),alert(e)}})),this._isDisallowLoadOldSave=t.disallowLoadOldSave,this._messageWindow.setWWASave(this._wwaSave),Ze.setRestartData(this._restartData,this._wwaData),this.clearFaces();const f=dt("wwa-wrapper").getAttribute("data-wwa-resume-savedata");if("string"==typeof f&&(this._useSuspend=!0,f)){var y=Ze.getStartWWAData(f);this._restartData!==y&&(this._applyQuickLoad(y),this._wwaSave.resumeStart())}const A=dt("wwa-wrapper").getAttribute("data-wwa-autosave");null!==A&&this._wwaSave.setAutoSaveInterval(0|Number(A));const C=dt("wwa-wrapper").getAttribute("data-wwa-looking-around");if(this._useLookingAround=!(C&&C.match(/false/i)),this._setProgressBar(Ui(2,4,H.GAME_INIT)),this._setLoadingMessage(e,4),window.addEventListener("keydown",(t=>{if(this._isActive){if(this.userDevice.os===v.NINTENDO)return t.preventDefault(),void t.stopPropagation();this._keyStore.setPressInfo(t.keyCode),t.keyCode!==q.KEY_F5?this._player.isWaitingMessage()?t.keyCode!==q.KEY_DOWN&&t.keyCode!==q.KEY_LEFT&&t.keyCode!==q.KEY_RIGHT&&t.keyCode!==q.KEY_UP&&t.keyCode!==q.KEY_SHIFT&&t.keyCode!==q.KEY_ENTER&&t.keyCode!==q.KEY_ESC&&t.keyCode!==q.KEY_SPACE||t.preventDefault():this._player.isWaitingPasswordWindow()||t.keyCode!==q.KEY_DOWN&&t.keyCode!==q.KEY_LEFT&&t.keyCode!==q.KEY_RIGHT&&t.keyCode!==q.KEY_UP&&t.keyCode!==q.KEY_SHIFT&&t.keyCode!==q.KEY_ENTER&&t.keyCode!==q.KEY_1&&t.keyCode!==q.KEY_2&&t.keyCode!==q.KEY_3&&t.keyCode!==q.KEY_A&&t.keyCode!==q.KEY_C&&t.keyCode!==q.KEY_D&&t.keyCode!==q.KEY_E&&t.keyCode!==q.KEY_M&&t.keyCode!==q.KEY_N&&t.keyCode!==q.KEY_Q&&t.keyCode!==q.KEY_S&&t.keyCode!==q.KEY_W&&t.keyCode!==q.KEY_X&&t.keyCode!==q.KEY_Y&&t.keyCode!==q.KEY_Z&&t.keyCode!==q.KEY_ESC&&t.keyCode!==q.KEY_F1&&t.keyCode!==q.KEY_F2&&t.keyCode!==q.KEY_F3&&t.keyCode!==q.KEY_F4&&t.keyCode!==q.KEY_F6&&t.keyCode!==q.KEY_F7&&t.keyCode!==q.KEY_F8&&t.keyCode!==q.KEY_F12&&t.keyCode!==q.KEY_SPACE||t.preventDefault():t.preventDefault()}})),window.addEventListener("keyup",(t=>{if(this._isActive){if(this.userDevice.os===v.NINTENDO)return t.preventDefault(),void t.stopPropagation();this._keyStore.setReleaseInfo(t.keyCode),t.keyCode===q.KEY_F5?t.preventDefault():t.keyCode!==q.KEY_DOWN&&t.keyCode!==q.KEY_LEFT&&t.keyCode!==q.KEY_RIGHT&&t.keyCode!==q.KEY_UP&&t.keyCode!==q.KEY_SHIFT&&t.keyCode!==q.KEY_ENTER&&t.keyCode!==q.KEY_1&&t.keyCode!==q.KEY_2&&t.keyCode!==q.KEY_3&&t.keyCode!==q.KEY_A&&t.keyCode!==q.KEY_C&&t.keyCode!==q.KEY_D&&t.keyCode!==q.KEY_E&&t.keyCode!==q.KEY_M&&t.keyCode!==q.KEY_N&&t.keyCode!==q.KEY_Q&&t.keyCode!==q.KEY_S&&t.keyCode!==q.KEY_W&&t.keyCode!==q.KEY_X&&t.keyCode!==q.KEY_Y&&t.keyCode!==q.KEY_Z&&t.keyCode!==q.KEY_ESC&&t.keyCode!==q.KEY_F1&&t.keyCode!==q.KEY_F3&&t.keyCode!==q.KEY_F4&&t.keyCode!==q.KEY_F6&&t.keyCode!==q.KEY_F7&&t.keyCode!==q.KEY_F8&&t.keyCode!==q.KEY_F9&&t.keyCode!==q.KEY_F12&&t.keyCode!==q.KEY_SPACE||this._player.isWaitingMessage()||this._player.isWaitingPasswordWindow()||t.preventDefault()}})),window.addEventListener("blur",(t=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()})),window.addEventListener("contextmenu",(t=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()})),window.addEventListener("help",(t=>{this._isActive&&t.preventDefault()})),this._mouseControllerElement=dt("wwa-controller"),this._mouseControllerElement.addEventListener("mousedown",(t=>{if(this._isActive&&1===t.which){if(this._mouseStore.getMouseState()!==Q.NONE)return void t.preventDefault();const e=gt(t.clientX,t.clientY),s=this._player.getDrawingCenterPosition(),a=e.substract(s),i=Math.abs(a.x),r=Math.abs(a.y);let n,o=!1;if(i<V.CHIP_SIZE&&r<V.CHIP_SIZE){switch(s.x/V.CHIP_SIZE|0){case 0:o=!0,n=p.LEFT;break;case V.H_PARTS_NUM_IN_WINDOW-1:o=!0,n=p.RIGHT}switch(s.y/V.CHIP_SIZE|0){case 0:o=!0,n=p.UP;break;case V.V_PARTS_NUM_IN_WINDOW-1:o=!0,n=p.DOWN}}o||(a.y>0&&r>i?n=p.DOWN:a.y<0&&r>i?n=p.UP:a.x>0&&r<i?n=p.RIGHT:a.x<0&&r<i&&(n=p.LEFT)),this._mouseStore.setPressInfo(n,0)}})),this._mouseControllerElement.addEventListener("mouseleave",(t=>{this._mouseStore.clear()})),this._mouseControllerElement.addEventListener("mouseup",(t=>{this._isActive&&1===t.which&&(this._mouseStore.setReleaseInfo(),t.preventDefault())})),window.TouchEvent){if(this.audioContext){let t=()=>{this.audioContext.createBufferSource().start(0),this._mouseControllerElement.removeEventListener("touchstart",t),t=null};this._mouseControllerElement.addEventListener("touchstart",t)}this._mouseControllerElement.addEventListener("touchstart",(t=>{if(!this._isActive)return;if(this._mouseStore.getMouseState()!==Q.NONE)return void t.preventDefault();const e=t.changedTouches,s=e.length;for(let t=0;t<s;t++){const s=e[t],a=gt(s.clientX,s.clientY),i=this._player.getDrawingCenterPosition(),r=a.substract(i),n=Math.abs(r.x),o=Math.abs(r.y);let h,c=!1;if(n<V.CHIP_SIZE&&o<V.CHIP_SIZE){switch(i.x/V.CHIP_SIZE|0){case 0:c=!0,h=p.LEFT;break;case V.H_PARTS_NUM_IN_WINDOW-1:c=!0,h=p.RIGHT}switch(i.y/V.CHIP_SIZE|0){case 0:c=!0,h=p.UP;break;case V.V_PARTS_NUM_IN_WINDOW-1:c=!0,h=p.DOWN}}c||(r.y>0&&o>n?h=p.DOWN:r.y<0&&o>n?h=p.UP:r.x>0&&o<n?h=p.RIGHT:r.x<0&&o<n&&(h=p.LEFT)),this._mouseStore.setPressInfo(h,s.identifier)}t.cancelable&&t.preventDefault()}));const t=t=>{if(this._isActive)for(let e=0;e<t.changedTouches.length;e++)if(this._mouseStore.getTouchID()===t.changedTouches[e].identifier){this._mouseStore.setReleaseInfo(),t.preventDefault();break}};this._mouseControllerElement.addEventListener("touchend",t),this._mouseControllerElement.addEventListener("touchcancel",t)}dt("button-load").addEventListener("click",(()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(I.QUICK_LOAD)})),dt("button-save").addEventListener("click",(()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(I.QUICK_SAVE)})),dt("button-restart").addEventListener("click",(()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(I.RESTART_GAME)})),dt("button-gotowwa").addEventListener("click",(()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(I.GOTO_WWA,!1,!1)})),Array.prototype.forEach.call(Et(".wide-cell-row"),(t=>{t.addEventListener("click",(()=>{this._displayHelp()}))})),this._frameCoord=new c(V.IMGPOS_DEFAULT_FRAME_X,V.IMGPOS_DEFAULT_YESNO_Y),this._battleEffectCoord=new c(V.IMGPOS_DEFAULT_BATTLE_EFFECT_X,V.IMGPOS_DEFAULT_BATTLE_EFFECT_Y),this._battleEstimateWindow=new ke(this,this._wwaData.mapCGName,dt("wwa-wrapper")),this._passwordWindow=new Ve(this,dt("wwa-wrapper"),t.disallowLoadOldSave),this._monsterWindow=new be(this,new c(50,180),340,60,!1,dt("wwa-wrapper"),this._wwaData.mapCGName),this._setProgressBar(Ui(3,4,H.GAME_INIT)),this._isLoadedSound=!1,this._temporaryInputDisable=!1,this._paintSkipByDoorOpen=!1,this._clearFacesInNextFrame=!1,this._useConsole=!1,this.wwaCustomEvent("wwa_startup"),this._cgManager=new Tt(m,this._wwaData.mapCGName,this._frameCoord,(()=>{this._isSkippedSoundMessage=!0;const s=()=>{switch(this.userDevice.device){case S.PC:this.registerSystemMessagePage("ゲームを開始します。\n画面をクリックしてください。",!1);break;case S.SP:this.registerSystemMessagePage("ゲームを開始します。\n画面にふれてください。",!1)}},i=this.resolveSystemMessage(a.CONFIRM_LOAD_SOUND);if("ON"===i)return this._isLoadedSound=!0,s(),this._setLoadingMessage(e,H.AUDIO),this.loadSound(),void window.requestAnimationFrame(this.soundCheckCaller);if("OFF"===i)return this._isLoadedSound=!1,s(),void this.openGameWindow();if(this._isSkippedSoundMessage=!1,this._hasTitleImg||e.clearRect(0,0,V.SCREEN_WIDTH,V.SCREEN_HEIGHT),this._usePassword){let s=i;t.displayUserVars&&(s+='\n\n※変数表示が有効になっています。\n公開前に必ずHTMLファイル内の\n data-wwa-display-user-vars="true" \nを消してください。'),this._messageWindow.setMessage(s),this._messageWindow.show(),this._setProgressBar(Ui(4,4,H.GAME_INIT));var r=setInterval((()=>{this._keyStore.update(),this._gamePadStore.update(),this._virtualPadStore.update(),this._yesNoJudgeInNextFrame===g.UNSELECTED&&(this._keyStore.getKeyState(q.KEY_ENTER)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_Y)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this._yesNoJudgeInNextFrame=g.YES:(this._keyStore.getKeyState(q.KEY_N)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_ESC)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&(this._yesNoJudgeInNextFrame=g.NO)),this._yesNoJudgeInNextFrame===g.YES?(clearInterval(r),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout((()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=g.UNSELECTED,this._yesNoJudgeInNextFrame=g.UNSELECTED,this._isLoadedSound=!0,this._setLoadingMessage(e,H.AUDIO),this.loadSound(),window.requestAnimationFrame(this.soundCheckCaller)}),V.YESNO_PRESS_DISP_FRAME_NUM*V.DEFAULT_FRAME_INTERVAL)):this._yesNoJudgeInNextFrame===g.NO&&(clearInterval(r),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout((()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=g.UNSELECTED,this._yesNoJudgeInNextFrame=g.UNSELECTED,this._isLoadedSound=!1,this.openGameWindow()}),V.YESNO_PRESS_DISP_FRAME_NUM*V.DEFAULT_FRAME_INTERVAL))}),V.DEFAULT_FRAME_INTERVAL)}else clearInterval(r),this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=g.UNSELECTED,this._yesNoJudgeInNextFrame=g.UNSELECTED,this._isLoadedSound=!0,this.loadSound(),window.requestAnimationFrame(this.soundCheckCaller)})),this.wwaCustomEvent("wwa_start")};const n=new Ts;n.addListener("mapData",(t=>this._loadHandler(t))),n.addListener("progress",(t=>this._setProgressBar(t))),n.addListener("error",(t=>this._setErrorMessage("下記のエラーが発生しました。: \n"+t.message,e)));new As(t.mapdata,n).requestAndLoadMapData().then((async()=>{if(this._canDisplayUserVars=t.displayUserVars,this._userVarNameList=[],this._canDisplayUserVars){this._inlineUserVarViewer={topUserVarIndex:{named:0,numbered:0},isVisible:!1,kind:"numbered"};const e=await(t.userVarNamesFile?Is(t.userVarNamesFile):{kind:"noFileSpecified",errorMessage:"data-wwa-user-var-names-file 属性に、変数の説明を記したファイル名を書くことで、その説明を表示できます。詳しくはマニュアルをご覧ください。"});this.setUserVarStatus(e,t.userVarNamesFile)}})),(async()=>{var e;const s=null!==(e=t.userDefinedScriptsFile)&&void 0!==e?e:"./script/script_file_list.json",a=await Is(s);let i=[];console.log(a),"data"===(null==a?void 0:a.kind)&&Array.isArray(a.data)&&a.data.map((t=>{i.push((async t=>{try{const e=await fetch(t);return 200===e.status||304===e.status?{kind:"data",data:await new Response(e.body).text()}:{kind:"httpError",errorMessage:`ファイル ${t} が読み込めませんでした。ステータスコード: ${e.status}`}}catch(t){return{kind:"otherError",errorMessage:t.message}}})(t))}));(await Promise.all(i)).forEach((t=>{try{this.setUsertScript(t)}catch(t){console.error(t.message)}}));const r=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_WWA_START;r&&this.evalCalcWwaNodeGenerator.evalWwaNode(r)})(),this.evalCalcWwaNodeGenerator=new oi(this)}setEvalCalcWwaNodeEarnedItem(t,e){this.evalCalcWwaNodeGenerator.setEarnedItem(t,e)}clearEvalCalcWwaNodeEarnedItem(){this.evalCalcWwaNodeGenerator.clearEarnedItem()}callGetItemUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callGetItemFullUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM_FULL;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callUseItemUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_USE_ITEM;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callJumpGateUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_JUMPGATE;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callUserDefinedBattleDamageFunction(t,e){const s=this.getUserDefinedDamageFunctionNode(t);if(s){this.evalCalcWwaNodeGenerator.setBattleDamageCalculationMode(e);try{const e=this.evalCalcWwaNodeGenerator.evalWwaNode(s),a=this.evalCalcWwaNodeGenerator.state.battleDamageCalculation.aborted;return this.evalCalcWwaNodeGenerator.clearBattleDamageCalculationMode(),a?{damage:0,aborted:a}:"number"==typeof e?{damage:this.toAssignableValue(e),aborted:a}:(console.warn(`${t} のダメージ計算結果が数値になりませんでした。(結果: ${e})。このターンのダメージは無効になります。`),{damage:0,aborted:a})}catch(e){return console.warn(`${t} のダメージ計算中にエラーが発生しました。このターンのダメージは無効になります。`),console.warn(e),{damage:0,hasError:!0}}}}getUserDefinedDamageFunctionNode(t){var e;return null===(e=this.userDefinedFunctions)||void 0===e?void 0:e[{playerToEnemy:"CALC_PLAYER_TO_ENEMY_DAMAGE",enemyToPlayer:"CALC_ENEMY_TO_PLAYER_DAMAGE"}[t]]}callMoveUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_MOVE;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callCameraMoveUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CAMERA_MOVE;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}getUserScript(t){return this.userDefinedFunctions&&this.userDefinedFunctions[t]||null}setUsertScript(t){if("data"!==t.kind)return void console.error(t);this.convertWwaNodes(t.data).forEach((t=>{if("DefinedFunction"===t.type&&this.userDefinedFunctions){const e=t.functionName;this.userDefinedFunctions[e]=t.body}}))}setUserVarStatus(t,e){if(t)if("noFileSpecified"!==t.kind){if("data"!==t.kind)return this._userVarNameListRequestError=t,void Ci(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);if(!t.data||"object"!=typeof t.data)return this._userVarNameListRequestError={kind:"notObject",errorMessage:`ユーザ変数一覧 ${e} が正しい形式で書かれていません。`},void Ci(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);this._userVarNameList=this.convertUserVariableNameListToArray(t.data),Ii(this._dumpElement,this._userVarNameList)}else Ci(this._dumpElement,t.errorMessage,!1)}convertUserVariableNameListToArray(t){const e=new Array(V.USER_VAR_NUM);for(let t=0;t<V.USER_VAR_NUM;t++)e[t]=void 0;return Object.keys(t).forEach((s=>{const a=parseInt(s,10);"string"!=typeof t[s]||"string"!=typeof s||isNaN(a)||a<0||a>=V.USER_VAR_NUM||(e[a]=t[s])})),e}_setProgressBar(t){this._hasTitleImg&&(t.stage<=V.LOAD_STAGE_MAX_EXCEPT_AUDIO?(dt("progress-message-container").textContent=t.stage===V.LOAD_STAGE_MAX_EXCEPT_AUDIO?"World Name: "+this._wwaData.worldName:st[t.stage],dt("progress-bar").style.width=(1*t.stage+t.current/t.total*1)/(V.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*V.MAP_WINDOW_WIDTH+"px",dt("progress-disp").textContent=((1*t.stage+t.current/t.total*1)/(V.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*100).toFixed(2)+"%"):(this._usePassword?dt("progress-message-container").textContent="効果音/BGMを読み込んでいます。(スペースキーでスキップ)":dt("progress-message-container").textContent="ゲームデータを読み込んでいます。",dt("progress-bar-audio").style.width=t.current*V.MAP_WINDOW_WIDTH/t.total+"px",dt("progress-disp").textContent=(t.current/t.total*100).toFixed(2)+"%"))}_setLoadingMessage(t,e){if(!this._hasTitleImg)if(e<=0)t.font=j.TITLE+"px "+V.LOADING_FONT,t.fillText(at[0],K.TITLE_X,K.TITLE_Y),t.font=j.FOOTER+"px "+V.LOADING_FONT,t.fillText("WWA Wing Ver.4.0.0",K.FOOTER_X,K.COPYRIGHT_Y);else if(e<=at.length)t.font=j.LOADING+"px "+V.LOADING_FONT,e>=2&&(t.clearRect(K.LOADING_X,K.LOADING_Y+K.LINE*(e-3),V.SCREEN_WIDTH-K.LOADING_X,K.LINE),t.fillText(at[e-1]+" Complete!",K.LOADING_X,K.LOADING_Y+K.LINE*(e-2))),e<at.length&&t.fillText(at[e],K.LOADING_X,K.LOADING_Y+K.LINE*(e-1)),1==e&&(t.font=j.FOOTER+"px "+V.LOADING_FONT,t.fillText("World Name "+this._wwaData.worldName,K.FOOTER_X,K.WORLD_Y),t.fillText(" (Map data Ver. "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10+")",K.FOOTER_X,K.WORLD_Y+K.LINE));else{var s;s=this._isSkippedSoundMessage?K.LOADING_Y+K.LINE*(at.length-1):K.FOOTER_Y,e<=H.AUDIO?t.fillText("Now Sound data Loading .....",K.LOADING_X,s):(t.clearRect(K.LOADING_X,s-K.LINE,V.SCREEN_WIDTH-K.LOADING_X,K.LINE),t.fillText("Now Sound data Loading ..... Complete!",K.LOADING_X,s))}}_setErrorMessage(t,e){this._hasTitleImg?alert(t):(e.clearRect(0,0,V.SCREEN_WIDTH,V.SCREEN_HEIGHT),e.font=j.ERRROR+"px "+V.LOADING_FONT,t.split("\n").forEach((function(t,s){e.fillText(t,K.ERROR_X,K.ERROR_Y+K.LINE*s)})))}createSoundInstance(t){if(0===t||t===R.NO_SOUND||this.sounds[t])return;const e=`${this._audioDirectory}${t}.${this.audioExtension}`;this.sounds[t]=new cs(t,e,this.audioContext,this.audioGain)}loadSound(){this.sounds=new Array(V.SOUND_MAX+1),this.createSoundInstance(R.DECISION),this.createSoundInstance(R.ATTACK);for(let t=1;t<this._wwaData.mapPartsMax;t++){const e=this._wwaData.mapAttribute[t][V.ATR_SOUND];this.createSoundInstance(e)}for(let t=1;t<this._wwaData.objPartsMax;t++){if(this._wwaData.objectAttribute[t][V.ATR_TYPE]===V.OBJECT_RANDOM)continue;const e=this._wwaData.objectAttribute[t][V.ATR_SOUND];this.createSoundInstance(e)}this._wwaData.message.forEach((t=>t.split("\n").forEach((t=>{const e=t.match(/^\$sound=(\d+)/);if(!e||e.length<2)return;const s=parseInt(e[1],10);!isNaN(s)&&0<s&&s<R.NO_SOUND&&this.createSoundInstance(s)})))),this._wwaData.bgm=0,this._soundLoadSkipFlag=!1}checkAllSoundLoaded(){let t=0,e=0;if(!this._hasTitleImg)var s=this._cvsCover.getContext("2d");this._keyStore.update(),this._keyStore.getKeyState(q.KEY_SPACE)===Z.KEYDOWN&&(this._soundLoadSkipFlag=!0);for(let s=1;s<=V.SOUND_MAX;s++){const a=this.sounds[s];void 0===a||a.isError()||(e++,a.hasData()&&t++)}if(t<e&&!this._soundLoadSkipFlag)return this._setProgressBar(Ui(t,e,H.AUDIO)),void window.requestAnimationFrame(this.soundCheckCaller);this._setProgressBar(Ui(V.SOUND_MAX,V.SOUND_MAX,H.AUDIO)),this._setLoadingMessage(s,H.FINISH),this.openGameWindow()}_setSoundLoadedCheckTimer(t){const e=this.sounds[t];e.isError()||(this.soundLoadedCheckTimer=window.setInterval((()=>{this._wwaData.bgm===t?e.hasData()?(e.play(this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=t,this._clearSoundLoadedCheckTimer()):e.isError()&&this._clearSoundLoadedCheckTimer():this._clearSoundLoadedCheckTimer()}),100))}_clearSoundLoadedCheckTimer(){this.soundLoadedCheckTimer&&(clearInterval(this.soundLoadedCheckTimer),this.soundLoadedCheckTimer=void 0)}playSound(t,e){if(!this._isLoadedSound)return void(t===R.NO_SOUND?this._wwaData.bgm=0:t>=R.BGM_LB&&(this._wwaData.bgm=t));if(t<0||t>=V.SOUND_MAX)return void console.warn("サウンド番号が範囲外です。");if(t>=R.BGM_LB&&this._wwaData.bgm===t)return;if((t===R.NO_SOUND||t>=R.BGM_LB)&&0!==this._wwaData.bgm&&(this.sounds[this._wwaData.bgm].isPlaying()&&this.sounds[this._wwaData.bgm].pause(),this._wwaData.bgm=0),0===t||t===R.NO_SOUND)return;this.sounds[t].hasData()?t>=R.BGM_LB?(this.sounds[t].play(null!=e?e:this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=t):this.sounds[t].play():t>=R.BGM_LB&&(this._wwaData.bgm=t,this._setSoundLoadedCheckTimer(t))}openGameWindow(){var t=this._player.getPosition();dt("wwa-cover").style.opacity="0",0!==this.getObjectIdByPosition(t)&&this._player.setPartsAppearedFlag();var e=dt("wwa-wrapper").getAttribute("data-wwa-resume-savedata");if("string"==typeof e&&(this._useSuspend=!0,e)){var s=Ze.getStartWWAData(e);this._restartData!==s&&(this._applyQuickLoad(s),this._wwaSave.resumeStart())}setTimeout((()=>{dt("wwa-wrapper").removeChild(dt("wwa-cover")),this._main()}),V.SPLASH_SCREEN_DISP_MILLS)}onselectitem(t){if(this._player.canUseItem(t)){dt("item"+(t-1)).classList.add("onpress"),this.playSound(R.DECISION);const i=this.resolveSystemMessage(a.CONFIRM_USE_ITEM);if("BLANK"===i){this._player.readyToUseItem(t);var e=this._player.useItem(),s=this.getObjectAttributeById(e,V.ATR_STRING);this.registerPageByMessage(this.getMessageById(s),{showChoice:!1,isSystemMessage:!1,triggerParts:{id:e,type:y.OBJECT,position:this._player.getPosition().getPartsCoord()}})}else this.registerPageByMessage(i,{showChoice:!0,isSystemMessage:!0}),this._yesNoChoiceCallInfo=T.CALL_BY_ITEM_USE,this._yesNoUseItemPos=t;return!0}return!1}onselectbutton(t,e=!1,s=!1){var a=dt(b[t]);if(this.playSound(R.DECISION),this._itemMenu.close(),a.classList.add("onpress"),t===I.QUICK_LOAD)switch(this._yesNoChoiceCallInfo=this._wwaSave.getFirstSaveChoiceCallInfo(e),this._yesNoChoiceCallInfo){case T.CALL_BY_QUICK_LOAD:case T.CALL_BY_LOG_QUICK_LOAD:var i,r="";switch(this._yesNoChoiceCallInfo){case T.CALL_BY_QUICK_LOAD:r="読み込むデータを選んでください。",this._wwaSave.selectDBSaveDataList();break;case T.CALL_BY_LOG_QUICK_LOAD:r="読み込むオートセーブを選んでください。",this._wwaSave.selectLogSaveDataList()}switch(i=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._messageWindow.createSaveDom(),i){case T.CALL_BY_LOG_QUICK_LOAD:this.registerSystemMessagePage(r+"\n→Noでオートセーブ復帰画面に移ります。",!0);break;case T.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage(r+"\n→Noでデータ復帰用パスワードの\n 入力選択ができます。",!0);break;case T.NONE:this.registerSystemMessagePage(r,!0)}break;case T.CALL_BY_PASSWORD_LOAD:this.onpasswordloadcalled()}else if(t===I.QUICK_SAVE)this._wwaData.disableSaveFlag?this.registerSystemMessagePage("ここではセーブ機能は\n使用できません。"):(this._wwaSave.selectDBSaveDataList(),this._messageWindow.createSaveDom(),this._usePassword?(this.registerSystemMessagePage("データの一時保存先を選んでください。\n→Noでデータ復帰用パスワードの\n 表示選択ができます。",!0),this._yesNoChoiceCallInfo=T.CALL_BY_QUICK_SAVE):(this.registerSystemMessagePage("データの一時保存先を選んでください。",!0),this._yesNoChoiceCallInfo=T.CALL_BY_QUICK_SAVE));else if(t===I.RESTART_GAME)this.registerSystemMessagePage("初めからスタートしなおしますか?",!0),this._yesNoChoiceCallInfo=T.CALL_BY_RESTART_GAME;else if(t===I.GOTO_WWA)if(s)this._bottomButtonType!==d.GOTO_WWA&&dt(b[I.GOTO_WWA]).classList.remove("onpress"),this.registerSystemMessagePage("WWAの公式サイトを開きますか?",!0),this._yesNoChoiceCallInfo=T.CALL_BY_GOTO_WWA;else switch(this._bottomButtonType){case d.GOTO_WWA:this._yesNoChoiceCallInfo=T.CALL_BY_GOTO_WWA,this.registerSystemMessagePage("WWAの公式サイトを開きますか?",!0);break;case d.GAME_END:this._yesNoChoiceCallInfo=T.CALL_BY_END_GAME,this.registerSystemMessagePage("WWAゲームを終了しますか?",!0);break;case d.BATTLE_REPORT:this.launchBattleEstimateWindow()}}onpasswordloadcalled(){this._usePassword?(dt(b[I.QUICK_LOAD]).classList.add("onpress"),this.registerSystemMessagePage("データ復帰用のパスワードを入力しますか?",!0),this._yesNoChoiceCallInfo=T.CALL_BY_PASSWORD_LOAD):this.registerSystemMessagePage("セーブデータがありません。")}onpasswordsavecalled(){dt(b[I.QUICK_SAVE]).classList.add("onpress"),this._wwaData.disableSaveFlag?this.registerSystemMessagePage("ここではセーブ機能は\n使用できません。"):this._useSuspend?(this.registerSystemMessagePage("ゲームを中断しますか?",!0),this._yesNoChoiceCallInfo=T.CALL_BY_SUSPEND):this._usePassword&&(this.registerSystemMessagePage("データ復帰用のパスワードを表示しますか?",!0),this._yesNoChoiceCallInfo=T.CALL_BY_PASSWORD_SAVE)}onpasssuspendsavecalled(){dt(b[I.QUICK_SAVE]).classList.add("onpress"),this._wwaData.disableSaveFlag?this.registerSystemMessagePage("ここではセーブ機能は\n使用できません。"):(this.registerSystemMessagePage("ゲームを中断しますか?",!0),this._yesNoChoiceCallInfo=T.CALL_BY_SUSPEND)}onitemmenucalled(){this.registerSystemMessagePage("右のメニューを選択してください。"),this._messageWindow.setItemMenuChoice(!0),this.playSound(R.DECISION),this._itemMenu.openView()}onchangespeed(t){if(!this._wwaData.permitChangeGameSpeed)return void this.registerSystemMessagePageByKey(a.GAME_SPEED_CHANGE_DISABLED);switch(t){case C.UP:this._player.speedUp();break;case C.DOWN:this._player.speedDown()}const e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CHANGE_SPEED;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e),this.registerSystemMessagePageByKey(a.GAME_SPEED_CHANGED)}isBattleSpeedIndexForQuickBattle(t){return V.QUICK_BATTLE_SPEED_INDECIES.some((e=>e===t))}_main(){var t;this._temporaryInputDisable=!1,this._stopUpdateByLoadFlag=!1,this._keyStore.update(),this._mouseStore.update(),this._virtualPadStore.update(),this._gamePadStore.update();const e=this._reservedPartsAppearances.length>0;if(this._reservedPartsAppearances.forEach((t=>this.appearParts(t))),this._reservedPartsAppearances=[],this._waitFrame-- >0)return e&&this._drawAll(),void window.requestAnimationFrame(this.mainCaller);if(this._waitFrame=0,void 0!==this._yesNoJudgeInNextFrame&&(this._yesNoJudge=this._yesNoJudgeInNextFrame,this._yesNoJudgeInNextFrame=void 0),this._clearFacesInNextFrame&&(this.clearFaces(),this._clearFacesInNextFrame=!1),this._pageExecuting=!0,this._pages.length>0&&this._shouldSetNextPage)for(this._shouldSetNextPage=!1;this._pages.length>0;){const t=this._pages.shift(),e=ve.executeNodes(t.firstNode,t.triggerParts);if(!0===e.isError){this._isLastPage=!1;break}void 0!==this._reservedMoveMacroTurn&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0);const s=e.messages.filter((t=>!t.isEmpty())),a=Boolean(t.scoreOption);a&&0===s.length&&s.push(this._createSimpleMessage("スコアを表示します。",t.triggerParts)),t.additionalItems&&t.additionalItems.forEach((t=>{if("face"===t.type)this.addFace(t.data.face)}));if(s.length>0){const e=s.map((t=>t.generatePrintableMessage())).join("\n");this._messageWindow.setMessage(e),this._messageWindow.setYesNoChoice(t.showChoice),this._messageWindow.setPositionByPlayerPosition(0!==this._faces.length,a,t.isSystemMessage,this._player.getPosition(),this._camera.getPosition()),a&&(this._lastScoreOptions=t.scoreOption,this.updateScore(t.scoreOption),this._scoreWindow.show()),this._player.setMessageWaiting(),this._isLastPage=t.isLastPage,this._shouldSetNextPage=!1;break}if(0===this._pages.length){if(this._hideMessageWindow().newPageGenerated)continue;if(this._dispatchWindowClosedTimeRequests().newPageGenerated)continue;this.clearFaces();break}}if(this._pageExecuting=!1,this._reservedJumpDestination&&(this._player.jumpTo(this._reservedJumpDestination),this._reservedJumpDestination=void 0),this._player.mainFrameCount(),this._player.isControllable()){if(this._wwaData.disableSaveFlag||this._wwaSave.isAutoSaveFrame(this._player)&&this._quickSave(T.CALL_BY_LOG_QUICK_SAVE),this._player.isDelayFrame())this._player.updateDelayFrame();else{const t=this._player.getDir(),e=[NaN,NaN,q.KEY_DOWN,NaN,q.KEY_LEFT,NaN,q.KEY_RIGHT,NaN,q.KEY_UP,NaN][t];this._actionGamePadButtonItemMacro()||(this._keyStore.getKeyStateForControllPlayer(q.KEY_LEFT)===Z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(q.KEY_UP)===Z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(q.KEY_RIGHT)===Z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(q.KEY_DOWN)===Z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(p.LEFT)===Q.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(p.UP)===Q.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(p.RIGHT)===Q.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(p.DOWN)===Q.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(e)?this._checkTurnKeyPressed()?this._player.setDir(t):(this._player.controll(t),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(q.KEY_LEFT)?this._checkTurnKeyPressed()?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(q.KEY_UP)?this._checkTurnKeyPressed()?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(q.KEY_RIGHT)?this._checkTurnKeyPressed()?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(q.KEY_DOWN)?this._checkTurnKeyPressed()?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(p.LEFT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(p.UP)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(p.RIGHT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(p.DOWN)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_LEFT)?this._gamePadStore.buttonPressed(tt.BUTTON_INDEX_B)?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_UP)?this._gamePadStore.buttonPressed(tt.BUTTON_INDEX_B)?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_RIGHT)?this._gamePadStore.buttonPressed(tt.BUTTON_INDEX_B)?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_DOWN)?this._gamePadStore.buttonPressed(tt.BUTTON_INDEX_B)?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_LEFT")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_UP")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_RIGHT")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_DOWN")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._keyStore.getKeyState(q.KEY_1)===Z.KEYDOWN?this.onselectitem(1):this._keyStore.getKeyState(q.KEY_2)===Z.KEYDOWN?this.onselectitem(2):this._keyStore.getKeyState(q.KEY_3)===Z.KEYDOWN?this.onselectitem(3):this._keyStore.getKeyState(q.KEY_Q)===Z.KEYDOWN?this.onselectitem(4):this._keyStore.getKeyState(q.KEY_W)===Z.KEYDOWN?this.onselectitem(5):this._keyStore.getKeyState(q.KEY_E)===Z.KEYDOWN?this.onselectitem(6):this._keyStore.getKeyState(q.KEY_A)===Z.KEYDOWN?this.onselectitem(7):this._keyStore.getKeyState(q.KEY_S)===Z.KEYDOWN?this.onselectitem(8):this._keyStore.getKeyState(q.KEY_D)===Z.KEYDOWN?this.onselectitem(9):this._keyStore.getKeyState(q.KEY_Z)===Z.KEYDOWN?this.onselectitem(10):this._keyStore.getKeyState(q.KEY_X)===Z.KEYDOWN?this.onselectitem(11):this._keyStore.getKeyState(q.KEY_C)===Z.KEYDOWN?this.onselectitem(12):this._keyStore.getKeyState(q.KEY_I)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_MINUS)||this._virtualPadStore.checkTouchButton("BUTTON_SLOW")?this.onchangespeed(C.DOWN):this._keyStore.getKeyState(q.KEY_P)===Z.KEYDOWN||this._keyStore.checkHitKey(q.KEY_F2)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_PLUS)||this._virtualPadStore.checkTouchButton("BUTTON_FAST")?this.onchangespeed(C.UP):this._keyStore.getKeyState(q.KEY_F1)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_M)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this.launchBattleEstimateWindow():this._keyStore.checkHitKey(q.KEY_F3)?(this.playSound(R.DECISION),this.onselectbutton(I.QUICK_LOAD,!0)):this._keyStore.checkHitKey(q.KEY_F4)?(this.playSound(R.DECISION),this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled()):this._keyStore.checkHitKey(q.KEY_F5)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_ZR)?this.onselectbutton(I.QUICK_LOAD):this._keyStore.checkHitKey(q.KEY_F6)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_ZL)?this.onselectbutton(I.QUICK_SAVE):this._keyStore.checkHitKey(q.KEY_F7)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_R)?this.onselectbutton(I.RESTART_GAME):this._keyStore.checkHitKey(q.KEY_F8)?this.onselectbutton(I.GOTO_WWA,!1,!0):this._keyStore.checkHitKey(q.KEY_F9)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_X)||this._virtualPadStore.checkTouchButton("BUTTON_ESC")?(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onitemmenucalled():this._keyStore.checkHitKey(q.KEY_V)?this._displayUserVars():this._keyStore.checkHitKey(q.KEY_X)?this._debugConsoleElement&&this._debugEvalString():(this._keyStore.checkHitKey(q.KEY_F12)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_Y))&&this._displayHelp());[{key:q.KEY_A,func:"CALL_PUSH_A"},{key:q.KEY_B,func:"CALL_PUSH_B"},{key:q.KEY_C,func:"CALL_PUSH_C"},{key:q.KEY_D,func:"CALL_PUSH_D"},{key:q.KEY_E,func:"CALL_PUSH_E"},{key:q.KEY_F,func:"CALL_PUSH_F"},{key:q.KEY_G,func:"CALL_PUSH_G"},{key:q.KEY_H,func:"CALL_PUSH_H"},{key:q.KEY_I,func:"CALL_PUSH_I"},{key:q.KEY_J,func:"CALL_PUSH_J"},{key:q.KEY_K,func:"CALL_PUSH_K"},{key:q.KEY_L,func:"CALL_PUSH_L"},{key:q.KEY_M,func:"CALL_PUSH_M"},{key:q.KEY_N,func:"CALL_PUSH_N"},{key:q.KEY_O,func:"CALL_PUSH_O"},{key:q.KEY_P,func:"CALL_PUSH_P"},{key:q.KEY_Q,func:"CALL_PUSH_Q"},{key:q.KEY_R,func:"CALL_PUSH_R"},{key:q.KEY_S,func:"CALL_PUSH_S"},{key:q.KEY_T,func:"CALL_PUSH_T"},{key:q.KEY_U,func:"CALL_PUSH_U"},{key:q.KEY_V,func:"CALL_PUSH_V"},{key:q.KEY_W,func:"CALL_PUSH_W"},{key:q.KEY_X,func:"CALL_PUSH_X"},{key:q.KEY_Y,func:"CALL_PUSH_Y"},{key:q.KEY_Z,func:"CALL_PUSH_Z"},{key:q.KEY_ENTER,func:"CALL_PUSH_ENTER"},{key:q.KEY_ESC,func:"CALL_PUSH_ESC"},{key:q.KEY_SPACE,func:"CALL_PUSH_SPACE"},{key:q.KEY_LEFT,func:"CALL_PUSH_LEFT"},{key:q.KEY_RIGHT,func:"CALL_PUSH_RIGHT"},{key:q.KEY_UP,func:"CALL_PUSH_UP"},{key:q.KEY_DOWN,func:"CALL_PUSH_DOWN"}].forEach((t=>{if(this._keyStore.checkHitKey(t.key)){const e=this.userDefinedFunctions&&this.userDefinedFunctions[t.func];e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}}))}this._keyStore.memorizeKeyStateOnControllableFrame(),this._mouseStore.memorizeMouseStateOnControllableFrame()}else if(this._player.isJumped())this._camera.isResetting()||this._player.processAfterJump();else if(this._player.isMoving())this._player.move(),this._objectMovingDataManager.update(),this._player.getPosition().isJustPosition()&&this._dispatchPlayerAndObjectsStopTimeRequests();else if(this._player.isWaitingMessage()){if(this._messageWindow.isVisible()||this._messageWindow.show(),this._messageWindow.isYesNoChoice())this._messageWindow.isSaveChoice()&&(this._messageWindow.saveUpdate(),this._messageWindow.isSaveClose()||(this._keyStore.checkHitKey(q.KEY_LEFT)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchButton("BUTTON_LEFT")?this._messageWindow.saveControll(p.LEFT):this._keyStore.checkHitKey(q.KEY_UP)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchButton("BUTTON_UP")?this._messageWindow.saveControll(p.UP):this._keyStore.checkHitKey(q.KEY_RIGHT)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchButton("BUTTON_RIGHT")?this._messageWindow.saveControll(p.RIGHT):(this._keyStore.checkHitKey(q.KEY_DOWN)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchButton("BUTTON_DOWN"))&&this._messageWindow.saveControll(p.DOWN))),this._messageWindow.isInputDisable()||(this._yesNoJudge===g.UNSELECTED&&(this._keyStore.getKeyState(q.KEY_ENTER)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_Y)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this._yesNoJudge=g.YES:(this._keyStore.getKeyState(q.KEY_N)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_ESC)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&(this._yesNoJudge=g.NO)),(this._yesNoJudge===g.YES||this._yesNoJudge===g.NO)&&(this.playSound(R.DECISION),this._yesNoDispCounter=V.YESNO_PRESS_DISP_FRAME_NUM,this._messageWindow.setInputDisable(),this._messageWindow.update()));else if(this._messageWindow.isItemMenuChoice()){if(this._itemMenu.update(),this._keyStore.checkHitKey(q.KEY_LEFT)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchingButton("BUTTON_LEFT")?this._itemMenu.controll(p.LEFT):this._keyStore.checkHitKey(q.KEY_UP)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchingButton("BUTTON_UP")?this._itemMenu.controll(p.UP):this._keyStore.checkHitKey(q.KEY_RIGHT)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchingButton("BUTTON_RIGHT")?this._itemMenu.controll(p.RIGHT):(this._keyStore.checkHitKey(q.KEY_DOWN)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchingButton("BUTTON_DOWN"))&&this._itemMenu.controll(p.DOWN),this._keyStore.getKeyState(q.KEY_ENTER)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_Y)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER"))this._setNextPage(),this._messageWindow.setItemMenuChoice(!1),this._itemMenu.ok();else if(this._mouseStore.checkClickMouse(p.LEFT)||this._mouseStore.checkClickMouse(p.UP)||this._mouseStore.checkClickMouse(p.RIGHT)||this._mouseStore.checkClickMouse(p.DOWN)||this._keyStore.getKeyState(q.KEY_N)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_ESC)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC")){for(var s=0;s<b.length;s++){(n=dt(b[s])).classList.contains("onpress")&&n.classList.remove("onpress")}this._itemMenu.ng(),this._setNextPage(),this.playSound(R.DECISION),this._messageWindow.setItemMenuChoice(!1)}}else{var a=this._keyStore.getKeyStateForMessageCheck(q.KEY_ENTER),i=this._keyStore.getKeyStateForMessageCheck(q.KEY_SPACE),r=this._keyStore.getKeyStateForMessageCheck(q.KEY_ESC);if(a===Z.KEYDOWN||a===Z.KEYPRESS_MESSAGECHANGE||i===Z.KEYDOWN||i===Z.KEYPRESS_MESSAGECHANGE||r===Z.KEYDOWN||r===Z.KEYPRESS_MESSAGECHANGE||this._mouseStore.getMouseState()===Q.MOUSEDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")||this._virtualPadStore.checkTouchButton("BUTTON_ESC")){for(s=0;s<b.length;s++){var n;(n=dt(b[s])).classList.contains("onpress")&&n.classList.remove("onpress")}this._setNextPage()}}if(null===(t=this._inlineUserVarViewer)||void 0===t?void 0:t.isVisible){const t=this._inlineUserVarViewer.kind;let e=!1;const s="named"===t?this._userVar.named.size:V.USER_VAR_NUM;this._keyStore.getKeyState(q.KEY_DOWN)===Z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[t]++,e=!0),this._keyStore.getKeyState(q.KEY_UP)===Z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[t]--,e=!0),this._keyStore.getKeyState(q.KEY_RIGHT)===Z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[t]+=V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,e=!0),this._keyStore.getKeyState(q.KEY_LEFT)===Z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[t]-=V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,e=!0),this._keyStore.getKeyState(q.KEY_V)===Z.KEYDOWN&&("named"===this._inlineUserVarViewer.kind?this._inlineUserVarViewer.kind="numbered":"numbered"===this._inlineUserVarViewer.kind&&(this._inlineUserVarViewer.kind="named"),e=!0),this._inlineUserVarViewer.topUserVarIndex[t]<0&&(this._inlineUserVarViewer.topUserVarIndex[t]+=s),this._inlineUserVarViewer.topUserVarIndex[t]>s&&(this._inlineUserVarViewer.topUserVarIndex[t]-=s),e&&(this._setNextPage(),this._inlineUserVarViewer.isVisible=!0,this._displayUserVars())}}else this._player.isWaitingEstimateWindow()?(this._keyStore.getKeyState(q.KEY_ENTER)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_SPACE)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&this.hideBattleEstimateWindow():this._player.isFighting()?(this._player.fight(),this._monsterWindow.update(this._monster)):this._player.isWaitingMoveMacro()&&(this._player.isMoveObjectAutoExecTime()&&(this.moveObjects(!1),this._player.resetMoveObjectAutoExecTimer()),this._objectMovingDataManager.update());if(this._prevFrameEventExected=!1,this._player.getPosition().isJustPosition()&&this._camera.getPosition().isScreenTopPosition()){if(!(this._shouldTreatWillMessageDisplay(this._pages)||this._player.isJumped()||this._player.isWaitingMessage()||this._player.isWaitingEstimateWindow()||this._player.isWaitingMoveMacro()||this._player.isFighting())){this._player.isPartsAppearedTime()&&this._player.clearPartsAppearedFlag(),this._replaceRandomObjectsInScreen();var o=this.checkMap();o||this.checkObject(),this._prevFrameEventExected=o}this._player.isWaitingMessage()&&this._messageWindow.isYesNoChoice()&&this._yesNoJudge!==g.UNSELECTED&&!this._player.isWaitingMoveMacro()&&!this._player.isFighting()&&this._execChoiceWindowRunningEvent()}this._passwordLoadExecInNextFrame&&(this._stopUpdateByLoadFlag=!0,this._loadType=D.PASSWORD,this._player.clearPasswordWindowWaiting(),this._passwordLoadExecInNextFrame=!1),this._drawAll(),this._mainCallCounter++,this._mainCallCounter%=1e9,this._player.isWaitingMessage()&&this._isClassicModeEnable||(this._animationCounter=(this._animationCounter+1)%(2*V.ANIMATION_REP_HALF_FRAME)),this._camera.isResetting()&&this._camera.advanceTransitionStepNum(),this._player.isWaitingMessage()||(this._player.decrementLookingAroundTimer(),this._statusPressCounter.energy>0&&0==--this._statusPressCounter.energy&&dt("disp-energy").classList.remove("onpress"),this._statusPressCounter.strength>0&&0==--this._statusPressCounter.strength&&dt("disp-strength").classList.remove("onpress"),this._statusPressCounter.defence>0&&0==--this._statusPressCounter.defence&&dt("disp-defence").classList.remove("onpress"),this._statusPressCounter.gold>0&&0==--this._statusPressCounter.gold&&dt("disp-gold").classList.remove("onpress")),this._player.isWaitingMoveMacro()&&(this._player.decrementMoveObjectAutoExecTimer(),this._player.isWaitingMoveMacro()||this._dispatchPlayerAndObjectsStopTimeRequests()),this._stopUpdateByLoadFlag?this._fadeout((()=>{if(this._loadType===D.QUICK_LOAD){this._quickLoad(),this.wwaCustomEvent("wwa_quickload");const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_QUICKLOAD;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}else if(this._loadType===D.RESTART_GAME){this.restartGame(),this.wwaCustomEvent("wwa_restert");const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_RESTART;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}else if(this._loadType===D.PASSWORD){this._applyQuickLoad(this._passwordSaveExtractData),this._passwordSaveExtractData=void 0,this.wwaCustomEvent("wwa_passwordload");const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_PASSWORDLOAD;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}setTimeout(this.mainCaller,V.DEFAULT_FRAME_INTERVAL,this)})):window.requestAnimationFrame(this.mainCaller),function({dumpElement:t,namedUserVar:e,userVar:s}){e&&Pi(t,e),s&&Ti(t,s)}({dumpElement:this._dumpElement,userVar:this._userVar.numbered,namedUserVar:this._userVar.named});const h=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_FRAME;h&&this.evalCalcWwaNodeGenerator.evalWwaNode(h)}vibration(t){this._gamePadStore.vibration(t)}_drawAll(){var t,e,s=this._camera.getPosition().getPartsCoord(),a=this._camera.getPosition().getOffsetCoord(),i=V.MAP_WINDOW_HEIGHT,r=this._player.getPosition().getPartsCoord();if(this._paintSkipByDoorOpen)this._paintSkipByDoorOpen=!1;else{if(this._cgManager.clearCanvas(0,0,V.MAP_WINDOW_WIDTH,V.MAP_WINDOW_HEIGHT),this._cgManager.drawBase(0,0,V.MAP_WINDOW_WIDTH,V.MAP_WINDOW_HEIGHT),this._camera.isResetting()){if(null!==this._camera.getPreviousPosition())var n=this._camera.getPreviousPosition().getPartsCoord(),o=this._camera.getPreviousPosition().getOffsetCoord();i=this._camera.getTransitionStepNum()*V.CHIP_SIZE}var h=!1;if(i!==this._cgManager.mapCacheYLimit&&(this._cgManager.mapCacheYLimit=i,h=!0),s.x===this._cgManager.cpPartsLog.x&&s.y===this._cgManager.cpPartsLog.y||(this._cgManager.cpPartsLog.x=s.x,this._cgManager.cpPartsLog.y=s.y,h=!0),h&&(this._cgManager.clearBackCanvas(),this._cgManager.clearObjectCanvases()),this._camera.isResetting()&&(this._drawMap(n,o,i,!0),this._drawPlayer(n,o,i,!0),this._drawObjects(n,o,i,!0),this._camera.isFinalStep()))var c=255,_=setInterval((()=>{var t=dt("wwa-fader");if((c-=3*V.FADEOUT_SPEED)<=0)return clearInterval(_),t.style.backgroundColor="transparent",t.removeAttribute("style"),void(t.style.display="none");t.style.opacity=c/255+""}),20);this._drawMap(s,a,i,!1,h),this._drawPlayer(s,a,i),this._drawObjects(s,a,i,!1,h),this._player.isFighting()&&!this._player.isBattleStartFrame()&&(t=this._player.isTurn()?this._monster.position.x:r.x,e=this._player.isTurn()?this._monster.position.y:r.y,this._cgManager.drawCanvas(this._battleEffectCoord.x,this._battleEffectCoord.y,V.CHIP_SIZE*(t-s.x)-a.x,V.CHIP_SIZE*(e-s.y)-a.y)),this._drawEffect(),this._drawFaces(),this._drawFrame()}}_drawMap(t,e,s,a=!1,i=!1){if(void 0!==t){var r,n=Math.max(0,t.x-1),o=Math.min(this._wwaData.mapWidth-1,t.x+V.H_PARTS_NUM_IN_WINDOW),h=Math.max(0,t.y-1),c=Math.min(this._wwaData.mapWidth-1,t.y+V.V_PARTS_NUM_IN_WINDOW);if(r=0,a)for(var _=n;_<=o;_++)for(var l=h;l<=c;l++){var u=this._wwaData.map[l][_],d=this._wwaData.mapAttribute[u][V.ATR_X]/V.CHIP_SIZE,p=this._wwaData.mapAttribute[u][V.ATR_Y]/V.CHIP_SIZE,m=V.CHIP_SIZE*(_-t.x)-e.x,E=V.CHIP_SIZE*(l-t.y)-e.y;this._cgManager.copyBackCanvasWithLowerYLimit(d,p,m,E,s)}else{for(_=n;_<=o;_++)for(l=h;l<=c;l++){u=this._wwaData.map[l][_];this._cgManager.mapCache[r]!==u&&(this._cgManager.mapCache[r]=u,i=!0),r++}if(i){this._cgManager.clearBackCanvasWithLowerYLimit(s);for(_=n;_<=o;_++)for(l=h;l<=c;l++){u=this._wwaData.map[l][_],d=this._wwaData.mapAttribute[u][V.ATR_X]/V.CHIP_SIZE,p=this._wwaData.mapAttribute[u][V.ATR_Y]/V.CHIP_SIZE,m=V.CHIP_SIZE*(_-t.x)-e.x,E=V.CHIP_SIZE*(l-t.y)-e.y;this._cgManager.copyBackCanvasWithUpperYLimit(d,p,m,E,s)}}this._cgManager.drawBackCanvas()}}}_drawPlayer(t,e,s,a=!1){if(void 0===t||this._wwaData.delPlayerFlag)return;const i=this._player.getPosition().getPartsCoord(),r=this._player.getPosition().getOffsetCoord(),n=[NaN,NaN,2,NaN,4,NaN,6,NaN,0,NaN][this._player.getDir()],o=(i.x-t.x)*V.CHIP_SIZE+r.x-e.x,h=(i.y-t.y)*V.CHIP_SIZE+r.y-e.y;let c;if(this._useLookingAround&&this._player.isLookingAround()&&!this._player.isWaitingMessage()){const t=[2,3,4,5,0,1,6,7];c=this._wwaData.playerImgPosX+t[Math.floor(this._mainCallCounter%64/8)]}else c=this._player.isMovingImage()?this._wwaData.playerImgPosX+n+1:this._wwaData.playerImgPosX+n;a?this._cgManager.drawCanvasWithLowerYLimit(c,this._wwaData.playerImgPosY,o,h,s):this._cgManager.drawCanvasWithUpperYLimit(c,this._wwaData.playerImgPosY,o,h,s)}_drawObjects(t,e,s,a=!1,i=!1){if(void 0!==t){var r,n,o,h,_,l,d,p,m,E,g,w,f,y,v=Math.max(0,t.x-1),S=Math.min(this._wwaData.mapWidth-1,t.x+V.H_PARTS_NUM_IN_WINDOW),A=Math.max(0,t.y-1),T=Math.min(this._wwaData.mapWidth-1,t.y+V.V_PARTS_NUM_IN_WINDOW),I=0,C=this._animationCounter>V.ANIMATION_REP_HALF_FRAME,D=this._player.isFighting()&&this._player.isTurn()&&this._player.getPosition().getPartsCoord().equals(this._monster.position);if(a)for(E=v;E<=S;E++)for(g=A;g<=T;g++)D&&new c(E,g).equals(this._monster.position)||(w=this._wwaData.mapObject[g][E],r=new c(0,0),this._wwaData.objectAttribute[w][V.ATR_MOVE]!==O.STATIC&&null!==(m=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new c(E,g)))&&(r=m),_=V.CHIP_SIZE*(E-t.x)+r.x-e.x,l=V.CHIP_SIZE*(g-t.y)+r.y-e.y,n=C||0===this._wwaData.objectAttribute[w][V.ATR_X2]&&0===this._wwaData.objectAttribute[w][V.ATR_Y2],o=this._wwaData.objectAttribute[w][n?V.ATR_X:V.ATR_X2]/V.CHIP_SIZE,h=this._wwaData.objectAttribute[w][n?V.ATR_Y:V.ATR_Y2]/V.CHIP_SIZE,d=this._wwaData.objectAttribute[w][V.ATR_TYPE],p=this._wwaData.objectAttribute[w][V.ATR_NUMBER],0===w||this._checkNoDrawObject(new c(E,g),d,p)||this._cgManager.copyObjectCanvasWithLowerYLimit(C?1:0,o,h,_,l,s));else{var P,N,M,b,x,L=[],R=[];for(E=v;E<=S;E++)for(g=A;g<=T;g++)f=w=this._wwaData.mapObject[g][E],d=this._wwaData.objectAttribute[w][V.ATR_TYPE],p=this._wwaData.objectAttribute[w][V.ATR_NUMBER],this._checkNoDrawObject(new c(E,g),d,p)&&(f=0),N=this._wwaData.objectAttribute[w][V.ATR_MOVE]===O.STATIC,0!==f&&(M=!(!D||!new c(E,g).equals(this._monster.position)),N?R.push(new u(w,E,g,N,M)):(L.push(new u(w,E,g,N,M)),f=0),M&&(f=0)),this._cgManager.mapObjectCache[I]!==f&&(this._cgManager.mapObjectCache[I]=f,i=!0),I++;for(i&&(this._cgManager.clearObjectCanvasesWithLowerYLimit(s),Array.prototype.push.apply(L,R)),x=L.length,b=0;b<x;b++)if(E=(P=L[b]).x,g=P.y,w=P.partsIDObj,N=P.isStatic,M=P.isFighting,_=V.CHIP_SIZE*(E-t.x)-e.x,l=V.CHIP_SIZE*(g-t.y)-e.y,N){if(M)continue;for(y=0;y<2;y++)n=!!y||0===this._wwaData.objectAttribute[w][V.ATR_X2]&&0===this._wwaData.objectAttribute[w][V.ATR_Y2],o=this._wwaData.objectAttribute[w][n?V.ATR_X:V.ATR_X2]/V.CHIP_SIZE,h=this._wwaData.objectAttribute[w][n?V.ATR_Y:V.ATR_Y2]/V.CHIP_SIZE,this._cgManager.copyObjectCanvasWithUpperYLimit(y,o,h,_,l,s)}else null!==(m=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new c(E,g)))&&(_+=m.x,l+=m.y),n=C||0===this._wwaData.objectAttribute[w][V.ATR_X2]&&0===this._wwaData.objectAttribute[w][V.ATR_Y2],o=this._wwaData.objectAttribute[w][n?V.ATR_X:V.ATR_X2]/V.CHIP_SIZE,h=this._wwaData.objectAttribute[w][n?V.ATR_Y:V.ATR_Y2]/V.CHIP_SIZE,this._cgManager.drawCanvasWithUpperYLimit(o,h,_,l,s);this._cgManager.drawObjectCanvas(C?1:0)}}}_drawEffect(){if(0!==this._wwaData.effectCoords.length&&0!==this._wwaData.effectWaits){var t=Math.floor(this._mainCallCounter%(this._wwaData.effectCoords.length*this._wwaData.effectWaits)/this._wwaData.effectWaits);this._cgManager.drawEffect(t)}}_drawFaces(){for(var t=0;t<this._faces.length;t++)this._cgManager.drawCanvasWithSize(this._faces[t].srcPos.x,this._faces[t].srcPos.y,this._faces[t].srcSize.x,this._faces[t].srcSize.y,this._faces[t].destPos.x,this._faces[t].destPos.y)}_drawFrame(){this._cgManager.drawFrame()}_checkNoDrawObject(t,e,s){var a=this._player.getPosition(),i=a.getPartsCoord();return!(!a.isJustPosition()||i.x!==t.x||i.y!==t.y||this._wwaData.objectNoCollapseDefaultFlag)&&(e===V.OBJECT_DOOR&&0===s||(e===V.OBJECT_STATUS||e===V.OBJECT_MESSAGE||e===V.OBJECT_ITEM||e===V.OBJECT_SELL||e===V.OBJECT_BUY||e===V.OBJECT_SELL||e===V.OBJECT_LOCALGATE))}getMapWidth(){if(void 0===this._wwaData)throw new Error("マップデータがロードされていません");return this._wwaData.mapWidth}getMapIdByPosition(t){var e=t.getPartsCoord();return this._wwaData.map[e.y][e.x]}getObjectIdByPosition(t){var e=t.getPartsCoord();return this._wwaData.mapObject[e.y][e.x]}getMapTypeByPosition(t){var e=t.getPartsCoord(),s=this._wwaData.map[e.y][e.x];return this._wwaData.mapAttribute[s][V.ATR_TYPE]}getObjectTypeByPosition(t){var e=t.getPartsCoord(),s=this._wwaData.mapObject[e.y][e.x];return this._wwaData.objectAttribute[s][V.ATR_TYPE]}getMapAttributeByPosition(t,e){var s=t.getPartsCoord(),a=this._wwaData.map[s.y][s.x];return this._wwaData.mapAttribute[a][e]}isCurrentPosMapPartsIncludingMessage(t){return 0!==this.getMapAttributeByPosition(t,V.ATR_STRING)}getObjectAttributeByPosition(t,e){var s=t.getPartsCoord(),a=this._wwaData.mapObject[s.y][s.x];return this._wwaData.objectAttribute[a][e]}getMapAttributeById(t,e){return this._wwaData.mapAttribute[t][e]}getObjectAttributeById(t,e){return this._wwaData.objectAttribute[t][e]}getObjectCropXById(t){return this._wwaData.objectAttribute[t][V.ATR_X]}getObjectCropYById(t){return this._wwaData.objectAttribute[t][V.ATR_Y]}getMessageById(t){return this._wwaData.message[t]}getSystemMessageById(t){return this._wwaData.systemMessage[t]}getMapInfo(t){return this._wwaData.mapAttribute[t]}checkMap(t){var e=this._player.getPosition().getPartsCoord();t=null!=t?t:e;var s=this._wwaData.map[t.y][t.x];var a=this.getMapInfo(s)[V.ATR_TYPE],i=t.x===e.x&&t.y===e.y,r=!1;return(!i||this._player.getLastExecPartsIDOnSamePosition(y.MAP)!==s)&&(a===V.MAP_STREET?r=this._execMapStreetEvent(t,s,a):a===V.MAP_WALL?r=this._execMapWallEvent(t,s,a):a===V.MAP_LOCALGATE?r=this._execMapLocalGateEvent(t,s,a):a===V.MAP_URLGATE&&(r=this._execMapUrlGateEvent(t,s,a)),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(y.MAP,s),r)}getObjectInfo(t){return this._wwaData.objectAttribute[t]}checkObject(t){var e=this._player.getPosition().getPartsCoord();t=null!=t?t:e;var s=this._wwaData.mapObject[t.y][t.x];var a=this.getObjectInfo(s)[V.ATR_TYPE],i=t.x===e.x&&t.y===e.y;i&&this._player.getLastExecPartsIDOnSamePosition(y.OBJECT)===s||(a===V.OBJECT_NORMAL?this._execObjectNormalEvent(t,s,a):a===V.OBJECT_MESSAGE?this._execObjectMessageEvent(t,s,a):a===V.OBJECT_MONSTER?this._execObjectMonsterEvent(t,s,a):a===V.OBJECT_ITEM?this._execObjectItemEvent(t,s,a):a===V.OBJECT_DOOR?this._execObjectDoorEvent(t,s,a):a===V.OBJECT_STATUS?this._execObjectStatusEvent(t,s,a):a===V.OBJECT_BUY?this._execObjectBuyEvent(t,s,a):a===V.OBJECT_SELL?this._execObjectSellEvent(t,s,a):a===V.OBJECT_URLGATE?this._execObjectUrlGateEvent(t,s,a):a===V.OBJECT_SCORE?this._execObjectScoreEvent(t,s,a):a===V.OBJECT_SELECT?this._execObjectYesNoChoiceEvent(t,s,a):a===V.OBJECT_LOCALGATE&&this._execObjectLocalGateEvent(t,s,a),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(y.OBJECT,s))}_execMapStreetEvent(t,e,s){var a=this._wwaData.mapAttribute[e][V.ATR_ITEM];if(0!==a&&!this._player.hasItem(a))return!1;this.reserveAppearPartsInNextFrame(t,w.MAP,e);const i=this._wwaData.mapAttribute[e][V.ATR_STRING],r=this._wwaData.message[i],n=this._wwaData.mapAttribute[e][V.ATR_NUMBER];return this._waitFrame+=n*V.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.registerPageByMessage(r,{triggerParts:{id:e,type:y.MAP,position:t.clone()}}),this.playSound(this._wwaData.mapAttribute[e][V.ATR_SOUND]),0!==i&&this._shouldTreatWillMessageDisplay(this._pages)||0!==n}_shouldTreatWillMessageDisplay(t){return t.reduce(((t,e)=>t||!Ne(e.firstNode)),!1)}_execMapWallEvent(t,e,s){var a=this.getObjectIdByPosition(t.convertIntoPosition(this)),i=this.getObjectAttributeById(a,V.ATR_TYPE);if(0===a||i===V.OBJECT_NORMAL||i===V.OBJECT_DOOR&&(!this._player.hasItem(this.getObjectAttributeById(a,V.ATR_ITEM))||this.getObjectAttributeById(i,V.ATR_MODE)===V.PASSABLE_OBJECT)){this.reserveAppearPartsInNextFrame(t,w.MAP,e);var r=this._wwaData.mapAttribute[e][V.ATR_STRING],n=this._wwaData.message[r];return this.registerPageByMessage(n,{triggerParts:{id:e,type:y.MAP,position:t.clone()}}),this.playSound(this._wwaData.mapAttribute[e][V.ATR_SOUND]),!1}return!1}_execMapLocalGateEvent(t,e,s){var a=this._player.getPosition().getPartsCoord(),i=this._wwaData.mapAttribute[e][V.ATR_JUMP_X],r=this._wwaData.mapAttribute[e][V.ATR_JUMP_Y];return i>V.RELATIVE_COORD_LOWER&&(i=t.x+i-V.RELATIVE_COORD_BIAS),r>V.RELATIVE_COORD_LOWER&&(r=t.y+r-V.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(t,w.MAP,e),0<=i&&0<=r&&i<this._wwaData.mapWidth&&r<this._wwaData.mapWidth&&(i!==a.x||r!==a.y)&&(this.reserveJumpInNextFrame(new _(this,i,r,0,0)),this.playSound(this._wwaData.mapAttribute[e][V.ATR_SOUND]),!0)}_execMapUrlGateEvent(t,e,s){var i=this._wwaData.mapAttribute[e][V.ATR_STRING];if(!this._isURLGateEnable)return!0;const r=this.resolveSystemMessage(a.CONFIRM_ENTER_URL_GATE);if("BLANK"!==r)return this.registerSystemMessagePage(r,!0),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_MAP_PARTS,this._yesNoURL=this._wwaData.message[i].split(/\s/g)[0],!0;location.href=wt(this._wwaData.message[i].split(/\s/g)[0])}_execObjectNormalEvent(t,e,s){}_execObjectMessageEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_STRING],i=this._wwaData.message[a],r=this._player.getPosition().getPartsCoord(),n=this._wwaData.objectAttribute[e][V.ATR_SOUND];t.x!==r.x||t.y!==r.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(y.OBJECT,0,t),this.registerPageByMessage(i,{triggerParts:{id:e,type:y.OBJECT,position:t}}),this._waitFrame+=this._wwaData.objectAttribute[e][V.ATR_NUMBER]*V.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.reserveAppearPartsInNextFrame(t,w.OBJECT,e),this.playSound(n)}_execObjectStatusEvent(t,e,s){var a=new h(this._wwaData.objectAttribute[e][V.ATR_ENERGY],this._wwaData.objectAttribute[e][V.ATR_STRENGTH],this._wwaData.objectAttribute[e][V.ATR_DEFENCE],this._wwaData.objectAttribute[e][V.ATR_GOLD]),i=this._wwaData.objectAttribute[e][V.ATR_STRING],r=this._wwaData.message[i],n=this._player.getStatusWithoutEquipments();if(a.strength>V.STATUS_MINUS_BORDER&&n.strength<a.strength-V.STATUS_MINUS_BORDER||a.defence>V.STATUS_MINUS_BORDER&&n.defence<a.defence-V.STATUS_MINUS_BORDER||a.gold>V.STATUS_MINUS_BORDER&&n.gold<a.gold-V.STATUS_MINUS_BORDER)return this.setPartsOnPosition(y.OBJECT,0,t),this._keyStore.allClear(),void this._mouseStore.clear();a.energy=a.energy>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-a.energy:a.energy,a.strength=a.strength>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-a.strength:a.strength,a.defence=a.defence>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-a.defence:a.defence,a.gold=a.gold>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-a.gold:a.gold,this._player.addStatusAll(a),this.setStatusChangedEffect(a),this._player.isDead()&&0!==this._wwaData.objectAttribute[e][V.ATR_ENERGY]&&this.shouldApplyGameOver({isCalledByMacro:!1})?this.gameover():(this.registerPageByMessage(r,{triggerParts:{id:e,type:y.OBJECT,position:t.clone()}}),this.setPartsOnPosition(y.OBJECT,0,t),this.reserveAppearPartsInNextFrame(t,w.OBJECT,e),this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND]))}_execObjectMonsterEvent(t,e,s){this._monster=this._createMonster(e,t,(()=>{this._monster=void 0,this._monsterWindow.hide(),this._dispatchWindowClosedTimeRequests()})),this._player.startBattleWith(this._monster)}_execObjectBuyEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_STRING],i=this._wwaData.message[a],r=this._player.getPosition().getPartsCoord();t.x!==r.x||t.y!==r.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(y.OBJECT,0,t),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:e,type:y.OBJECT,position:t.clone()}}),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}_execObjectSellEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_STRING],i=this._wwaData.message[a],r=this._player.getPosition().getPartsCoord();t.x!==r.x||t.y!==r.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(y.OBJECT,0,t),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:e,type:y.OBJECT,position:t.clone()}}),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}_execObjectItemEvent(t,e,s){var i=this._wwaData.objectAttribute[e][V.ATR_STRING],r=this._wwaData.message[i];try{var n=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),o=(t.x-n.x)*V.CHIP_SIZE,h=(t.y-n.y)*V.CHIP_SIZE;this._player.addItem(e,this._wwaData.objectAttribute[e][V.ATR_NUMBER],!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new c(o,h),itemBoxBackgroundImageCoord:new c(this._wwaData.imgItemboxX*V.CHIP_SIZE,this._wwaData.imgItemboxY*V.CHIP_SIZE)}:void 0),this.setPartsOnPosition(y.OBJECT,0,t),0!==this._wwaData.objectAttribute[e][V.ATR_MODE]||(this.registerPageByMessage(r,{triggerParts:{id:e,type:y.OBJECT,position:t.clone()}}),this.reserveAppearPartsInNextFrame(t,w.OBJECT,e))}catch(t){this.registerSystemMessagePageByKey(a.ITEM_BOX_FULL)}this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}_execObjectDoorEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_ITEM],i=this._wwaData.objectAttribute[e][V.ATR_STRING],r=this._wwaData.message[i];this._player.hasItem(a)&&(0===this._wwaData.objectAttribute[e][V.ATR_MODE]&&this._player.removeItemByPartsID(a),this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND]),this.registerPageByMessage(r,{triggerParts:{id:e,type:y.OBJECT,position:t.clone()}}),this.setPartsOnPosition(y.OBJECT,0,t),this.reserveAppearPartsInNextFrame(t,w.OBJECT,e),this._paintSkipByDoorOpen=!0)}_execObjectYesNoChoiceEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_STRING],i=this._wwaData.message[a],r=this._player.getPosition().getPartsCoord();t.x!==r.x||t.y!==r.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(y.OBJECT,0,t),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:e,type:y.OBJECT,position:t.clone()}}),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}_execObjectLocalGateEvent(t,e,s){var a=this._player.getPosition().getPartsCoord();t.x!==a.x||t.y!==a.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(y.OBJECT,0,t);var i=this._wwaData.objectAttribute[e][V.ATR_JUMP_X],r=this._wwaData.objectAttribute[e][V.ATR_JUMP_Y];i>V.RELATIVE_COORD_LOWER&&(i=a.x+i-V.RELATIVE_COORD_BIAS),r>V.RELATIVE_COORD_LOWER&&(r=a.y+r-V.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(t,w.OBJECT,e),0<=i&&0<=r&&i<this._wwaData.mapWidth&&r<this._wwaData.mapWidth&&(i!==a.x||r!==a.y)&&(this.reserveJumpInNextFrame(new _(this,i,r,0,0)),this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND]))}_execObjectUrlGateEvent(t,e,s){var i=this._wwaData.objectAttribute[e][V.ATR_STRING];if(!this._isURLGateEnable)return;const r=this.resolveSystemMessage(a.CONFIRM_ENTER_URL_GATE);"BLANK"!==r?(this.registerSystemMessagePage(r,!0),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_OBJECT_PARTS,this._yesNoURL=this._wwaData.message[i].split(/\s/g)[0]):location.href=wt(this._wwaData.message[i].split(/\s/g)[0])}_execObjectScoreEvent(t,e,s){const a=this._wwaData.objectAttribute[e][V.ATR_STRING];this.registerPageByMessage(this._wwaData.message[a],{triggerParts:{id:e,type:y.OBJECT,position:t},scoreOption:{rates:{energy:this._wwaData.objectAttribute[e][V.ATR_ENERGY],strength:this._wwaData.objectAttribute[e][V.ATR_STRENGTH],defence:this._wwaData.objectAttribute[e][V.ATR_DEFENCE],gold:this._wwaData.objectAttribute[e][V.ATR_GOLD]}}}),this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}updateScore(t){const e=t||this._lastScoreOptions;if(!e)return;const s=this._player.getStatus().calculateScore(e);this._scoreWindow.update(s)}_execChoiceWindowObjectSellEvent(){if(!this._player.hasGold(this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_GOLD]))return this.registerSystemMessagePageByKey(a.NO_MONEY),{};if(0!==this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ITEM]){const t=this._yesNoChoicePartsCoord,e=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),s=(t.x-e.x)*V.CHIP_SIZE,i=(t.y-e.y)*V.CHIP_SIZE,r=this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ITEM],n=this._wwaData.objectAttribute[r][V.ATR_NUMBER];try{this._player.addItem(r,n,!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new c(s,i),itemBoxBackgroundImageCoord:new c(this._wwaData.imgItemboxX*V.CHIP_SIZE,this._wwaData.imgItemboxY*V.CHIP_SIZE)}:void 0)}catch(t){return this.registerSystemMessagePageByKey(a.ITEM_BOX_FULL),{}}}const t=new h(this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ENERGY],this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_STRENGTH],this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_DEFENCE],-this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_GOLD]);return t.energy=t.energy>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-t.energy:t.energy,this.setStatusChangedEffect(t),this._player.addStatusAll(t),this._player.isDead()&&0!==this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ENERGY]&&this.shouldApplyGameOver({isCalledByMacro:!1})?(this.gameover(),{isGameOver:!0}):(this.appearParts({pos:this._yesNoChoicePartsCoord,triggerType:w.OBJECT,triggerPartsId:this._yesNoChoicePartsID}),{})}_execChoiceWindowRunningEvent(){var t,e;if(0==--this._yesNoDispCounter)if(this._yesNoJudge===g.YES){if(this._yesNoChoiceCallInfo===T.CALL_BY_MAP_PARTS)(t=this._wwaData.mapAttribute[this._yesNoChoicePartsID][V.ATR_TYPE])===V.MAP_URLGATE&&(location.href=wt(this._yesNoURL));else if(this._yesNoChoiceCallInfo===T.CALL_BY_OBJECT_PARTS)if((t=this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_TYPE])===V.OBJECT_BUY)this._player.hasItem(this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ITEM])?(this._player.removeItemByPartsID(this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ITEM]),e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_GOLD],this._player.earnGold(e),this.setStatusChangedEffect(new h(0,0,0,e)),this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,w.OBJECT,this._yesNoChoicePartsID)):this.registerSystemMessagePageByKey(a.NO_ITEM);else if(t===V.OBJECT_SELL){const{isGameOver:t}=this._execChoiceWindowObjectSellEvent();if(t)return}else t===V.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,w.CHOICE_YES,this._yesNoChoicePartsID):t===V.OBJECT_URLGATE&&(location.href=wt(this._yesNoURL));else this._yesNoChoiceCallInfo===T.CALL_BY_ITEM_USE?this._player.readyToUseItem(this._yesNoUseItemPos):this._yesNoChoiceCallInfo===T.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===T.CALL_BY_LOG_QUICK_LOAD?(this._messageWindow.deleteSaveDom(),dt(b[I.QUICK_LOAD]).classList.remove("onpress"),this._messageWindow.load()&&(this._stopUpdateByLoadFlag=!0,this._loadType=D.QUICK_LOAD)):this._yesNoChoiceCallInfo===T.CALL_BY_QUICK_SAVE?(this._messageWindow.deleteSaveDom(),dt(b[I.QUICK_SAVE]).classList.remove("onpress"),this._quickSave(T.CALL_BY_QUICK_SAVE)):this._yesNoChoiceCallInfo===T.CALL_BY_RESTART_GAME?(dt(b[I.RESTART_GAME]).classList.remove("onpress"),this._stopUpdateByLoadFlag=!0,this._loadType=D.RESTART_GAME):this._yesNoChoiceCallInfo===T.CALL_BY_END_GAME?(window.history.back(-1),dt(b[I.GOTO_WWA]).classList.remove("onpress")):this._yesNoChoiceCallInfo===T.CALL_BY_GOTO_WWA?(location.href=wt(V.WWA_HOME),dt(b[I.GOTO_WWA]).classList.remove("onpress")):this._yesNoChoiceCallInfo===T.CALL_BY_PASSWORD_LOAD?(dt(b[I.QUICK_LOAD]).classList.remove("onpress"),this._player.setPasswordWindowWating(),this._passwordWindow.show(Re.LOAD)):this._yesNoChoiceCallInfo===T.CALL_BY_PASSWORD_SAVE?(dt(b[I.QUICK_SAVE]).classList.remove("onpress"),this._player.setPasswordWindowWating(),this._passwordWindow.password=this._quickSave(T.CALL_BY_PASSWORD_SAVE),this._passwordWindow.show(Re.SAVE)):this._yesNoChoiceCallInfo===T.CALL_BY_SUSPEND&&(dt(b[I.QUICK_SAVE]).classList.remove("onpress"),this._quickSave(T.CALL_BY_SUSPEND));this._yesNoJudge=g.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=T.NONE,this._messageWindow.setYesNoChoice(!1)}else if(this._yesNoJudge===g.NO){if(this._yesNoChoiceCallInfo===T.CALL_BY_MAP_PARTS)t=this._wwaData.mapAttribute[this._yesNoChoicePartsID][V.ATR_TYPE],V.MAP_URLGATE;else if(this._yesNoChoiceCallInfo===T.CALL_BY_OBJECT_PARTS)(t=this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_TYPE])===V.OBJECT_BUY||t===V.OBJECT_SELL||(t===V.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,w.CHOICE_NO,this._yesNoChoicePartsID):V.OBJECT_URLGATE);else if(this._yesNoChoiceCallInfo===T.CALL_BY_ITEM_USE){dt("item"+(this._yesNoUseItemPos-1)).classList.remove("onpress")}else if(this._yesNoChoiceCallInfo===T.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===T.CALL_BY_LOG_QUICK_LOAD)switch(this._messageWindow.deleteSaveDom(),this._yesNoChoiceCallInfo=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._yesNoChoiceCallInfo){case T.NONE:dt(b[I.QUICK_LOAD]).classList.remove("onpress");break;case T.CALL_BY_PASSWORD_LOAD:return this._yesNoJudge=g.UNSELECTED,void this.onpasswordloadcalled();case T.CALL_BY_LOG_QUICK_LOAD:this._wwaSave.selectLogSaveDataList(),this._messageWindow.createSaveDom();var s=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword);switch(this._yesNoJudge=g.UNSELECTED,s){case T.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage("読み込むオートセーブを選んでください。\n→Noでデータ復帰用パスワードの\n 入力選択ができます。",!0);break;case T.NONE:this.registerSystemMessagePage("読み込むオートセーブを選んでください。",!0)}return}else if(this._yesNoChoiceCallInfo===T.CALL_BY_QUICK_SAVE){if(this._messageWindow.deleteSaveDom(),this._usePassword||this._useSuspend)return this._yesNoJudge=g.UNSELECTED,void(this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled());dt(b[I.QUICK_SAVE]).classList.remove("onpress")}else if(this._yesNoChoiceCallInfo===T.CALL_BY_RESTART_GAME)dt(b[I.RESTART_GAME]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_END_GAME)dt(b[I.GOTO_WWA]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_GOTO_WWA)dt(b[I.GOTO_WWA]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_PASSWORD_LOAD)dt(b[I.QUICK_LOAD]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_PASSWORD_SAVE)dt(b[I.QUICK_SAVE]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_SUSPEND){if(this._usePassword)return this._yesNoJudge=g.UNSELECTED,void this.onpasswordsavecalled();dt(b[I.QUICK_SAVE]).classList.remove("onpress")}this._yesNoJudge=g.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=T.NONE,this._messageWindow.setYesNoChoice(!1)}}_dispatchWindowClosedTimeRequests(){if(this._windowCloseWaitingJumpGateRequest&&this.forcedJumpGate(this._windowCloseWaitingJumpGateRequest.x,this._windowCloseWaitingJumpGateRequest.y),this._windowCloseWaitingMessageDisplayRequests.length>0){const t=this._windowCloseWaitingMessageDisplayRequests.shift();return this.registerPageByMessage(t.message,{additionalItems:t.additionalItems}),{newPageGenerated:!0}}return{newPageGenerated:!1}}_dispatchPlayerAndObjectsStopTimeRequests(){this._playerAndObjectsStopWaitingGameSpeedChangeRequest&&(this.setPlayerSpeedIndex(this._playerAndObjectsStopWaitingGameSpeedChangeRequest.speedIndex),this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0),this._playerAndObjectsStopWaitingMessageDisplayRequests.length>0&&(this.registerPageByMessage(this._playerAndObjectsStopWaitingMessageDisplayRequests.map((t=>t.message)).join("<p>"),{additionalItems:this._playerAndObjectsStopWaitingMessageDisplayRequests.map((t=>t.additionalItems)).flat()}),this._playerAndObjectsStopWaitingMessageDisplayRequests=[])}_clearAllRequests(){this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingJumpGateRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[]}reserveMessageDisplayWhenShouldOpen(t){this._player.isWaitingMessage()||this._player.isFighting()||this._player.isWaitingPasswordWindow()||this._player.isWaitingEstimateWindow()?this._windowCloseWaitingMessageDisplayRequests.push(t):this._player.isMoving()||this._player.isWaitingMoveMacro()?this._playerAndObjectsStopWaitingMessageDisplayRequests.push(t):this.registerPageByMessage(t.message,{additionalItems:t.additionalItems})}handleMsgFunction(t){this._pageExecuting?this._windowCloseWaitingMessageDisplayRequests.push(t):this.reserveMessageDisplayWhenShouldOpen(t)}registerSystemMessagePage(t,e=!1){this.registerPageByMessage(t,{showChoice:e,isSystemMessage:!0})}registerSystemMessagePageByKey(t){const e=this.resolveSystemMessage(t);"BLANK"!==e&&this.registerPageByMessage(e,{isSystemMessage:!0})}_createSimpleMessage(t,e){return new Ae(t,(()=>this.generateTokenValues(e)),((t,e)=>this._execEvalString(t,e)))}registerPageByMessage(t,{showChoice:e=!1,isSystemMessage:s=!1,triggerParts:a={id:0,type:y.OBJECT,position:new c(0,0)},scoreOption:i,additionalItems:r=[]}={}){const n=Oe(t,{triggerParts:a,isSystemMessage:s,showChoice:e,scoreOption:i,additionalItems:r},(t=>function(t,e,s){var a;let i=s.match(/^\$([a-zA-Z_][a-zA-Z0-9_]*)\=(.*)$/);if((null===i||3!==i.length)&&(i=s.match(/^\$([a-zA-Z_][a-zA-Z0-9_]*)/),null===i||2!==i.length))throw new Error("マクロではありません");const r=`$${i[1].toLowerCase()}`,n="$if"===r&&s.match(/,/)?M.LEGACY_IF:B[r],o=Boolean(n!==M.SHOW_STR&&n!==M.SHOW_STR2),h=(null!==(a=i[2])&&void 0!==a?a:"").split(",").map((t=>o?t.trim():t));return new ye(t,e,void 0===n?M.UNDEFINED:n,h)}(this,a,t)),((t,e)=>this._execEvalString(t,e)),(t=>this.generateTokenValues(t)));this._pages=this._pages.concat(n),this._shouldSetNextPage=!0}appearParts({pos:t,triggerType:e,triggerPartsId:s}){var a,i,r,n,o,h,l=e===w.CHOICE_NO?V.APPERANCE_PARTS_MIN_INDEX_NO:V.APPERANCE_PARTS_MIN_INDEX,u=e===w.CHOICE_YES?V.APPERANCE_PARTS_MAX_INDEX_YES:V.APPERANCE_PARTS_MAX_INDEX;for(e===w.MAP?(s=0===s?this._wwaData.map[t.y][t.x]:s,a=y.MAP):(s=0===s?this._wwaData.mapObject[t.y][t.x]:s,a=y.OBJECT),h=l;h<=u;h++){var d=V.ATR_APPERANCE_BASE+h*V.REL_ATR_APPERANCE_UNIT_LENGTH,p=d+V.REL_ATR_APPERANCE_ID,m=d+V.REL_ATR_APPERANCE_X,E=d+V.REL_ATR_APPERANCE_Y,g=d+V.REL_ATR_APPERANCE_TYPE;if(i=a===y.MAP?this._wwaData.mapAttribute[s][p]:this._wwaData.objectAttribute[s][p],r=a===y.MAP?this._wwaData.mapAttribute[s][g]:this._wwaData.objectAttribute[s][g],n=a===y.MAP?this._wwaData.mapAttribute[s][m]:this._wwaData.objectAttribute[s][m],o=a===y.MAP?this._wwaData.mapAttribute[s][E]:this._wwaData.objectAttribute[s][E],n===V.PLAYER_COORD?(n=this._player.getPosition().getPartsCoord().x,this._player.resetEventExecutionInfo()):n>V.RELATIVE_COORD_LOWER&&(n=t.x+n-V.RELATIVE_COORD_BIAS),o===V.PLAYER_COORD?(o=this._player.getPosition().getPartsCoord().y,this._player.resetEventExecutionInfo()):o>V.RELATIVE_COORD_LOWER&&(o=t.y+o-V.RELATIVE_COORD_BIAS),0!==n||0!==o)try{if(new _(this,n,o,0,0),r===y.MAP){if(i>=this._wwaData.mapPartsMax)throw new Error("背景パーツの範囲外IDが指定されました");var f=new c(n,o);this.setPartsOnPosition(y.MAP,i,f)}else{if(i>=this._wwaData.objPartsMax)throw new Error("物体パーツの範囲外IDが指定されました");f=new c(n,o);this.setPartsOnPosition(y.OBJECT,i,f),this._replaceRandomObject(new c(n,o)),n===this._player.getPosition().getPartsCoord().x&&o===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch(t){}}}reserveAppearPartsInNextFrame(t,e,s=0){this._reservedPartsAppearances.push({pos:t,triggerType:e,triggerPartsId:s})}reserveJumpInNextFrame(t){this._reservedJumpDestination=t}appearPartsByDirection(t,e,s){var a=this._player.getPosition().getPartsCoord(),i=this._player.getDir(),r=m[i],n=E[i];this.appearPartsEval(a,(r>=0?"+":"-")+Math.abs(r)*t,(n>=0?"+":"-")+Math.abs(n)*t,e,s)}appearPartsEval(t,e,s,a,i){var r,n,o=this._player.getPosition().getPartsCoord();if("P"===e||"p"===e)r=o.x;else if("+"===e[0])r=t.x+parseInt(e.substr(1));else if("-"===e[0])r=t.x-parseInt(e.substr(1));else if(r=parseInt(e),isNaN(r))throw new Error("座標として解釈できない文字が含まれています。");if("P"===s||"p"===s)n=o.y;else if("+"===s[0])n=t.y+parseInt(s.substr(1));else if("-"===s[0])n=t.y-parseInt(s.substr(1));else if(n=parseInt(s),isNaN(n))throw new Error("座標として解釈できない文字が含まれています。");try{new _(this,r,n,0,0);if(i===y.MAP){if(a>=this._wwaData.mapPartsMax)throw new Error("背景パーツの範囲外IDが指定されました");var h=new c(r,n);this.setPartsOnPosition(y.MAP,a,h)}else{if(a>=this._wwaData.objPartsMax)throw new Error("物体パーツの範囲外IDが指定されました");h=new c(r,n);this.setPartsOnPosition(y.OBJECT,a,h),this._replaceRandomObject(new c(r,n)),r===this._player.getPosition().getPartsCoord().x&&n===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch(t){}}getPartsID(t,e){if(t.x<0||t.y<0)throw new Error("想定外の座標が指定されました");return e===y.MAP?this._wwaData.map[t.y][t.x]:this._wwaData.mapObject[t.y][t.x]}_replaceRandomObject(t){var e,s,a=this._wwaData.mapObject[t.y][t.x];if(this._wwaData.objectAttribute[a][V.ATR_TYPE]===V.OBJECT_RANDOM){for(var i=0;i<V.RANDOM_ITERATION_MAX;i++){if(s=Math.floor(10*Math.random()),(e=this._wwaData.objectAttribute[a][V.ATR_RANDOM_BASE+s])>=this._wwaData.objPartsMax){e=0;break}if(this._wwaData.objectAttribute[e][V.ATR_TYPE]!==V.OBJECT_RANDOM)break;a=e}this.setPartsOnPosition(y.OBJECT,e,t)}}_replaceRandomObjectsInScreen(){for(var t=this._camera.getPosition().getPartsCoord(),e=Math.max(0,t.x-1),s=Math.min(this._wwaData.mapWidth-1,t.x+V.H_PARTS_NUM_IN_WINDOW),a=Math.max(0,t.y-1),i=Math.min(this._wwaData.mapWidth-1,t.y+V.V_PARTS_NUM_IN_WINDOW),r=e;r<=s;r++)for(var n=a;n<=i;n++)this._replaceRandomObject(new c(r,n))}_replaceAllRandomObjects(){for(var t=0;t<this._wwaData.mapWidth;t++)for(var e=0;e<this._wwaData.mapWidth;e++)this._replaceRandomObject(new c(t,e))}gameover(){var t=this._wwaData.gameoverX,e=this._wwaData.gameoverY;this._yesNoJudge=g.UNSELECTED,this._pages=[],this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=T.NONE,this._player.clearMessageWaiting(),this._messageWindow.clear(),this._messageWindow.setYesNoChoice(!1),this._waitFrame=0,this._temporaryInputDisable=!0,this._shouldSetNextPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._clearAllRequests(),this._player.jumpTo(new _(this,t,e,0,0));const s=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GAMEOVER;s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s)}setYesNoInput(t){this._yesNoJudgeInNextFrame=t}getYesNoState(){return void 0!==this._yesNoJudgeInNextFrame?this._yesNoJudgeInNextFrame:this._yesNoJudge}setStatusChangedEffect(t){this._wwaData.isItemEffectEnabled&&(0!==t.strength&&(dt("disp-strength").classList.add("onpress"),this._statusPressCounter.strength=V.STATUS_CHANGED_EFFECT_FRAME_NUM),0!==t.defence&&(dt("disp-defence").classList.add("onpress"),this._statusPressCounter.defence=V.STATUS_CHANGED_EFFECT_FRAME_NUM),t instanceof h&&(0!==t.energy&&(dt("disp-energy").classList.add("onpress"),this._statusPressCounter.energy=V.STATUS_CHANGED_EFFECT_FRAME_NUM),0!==t.gold&&(dt("disp-gold").classList.add("onpress"),this._statusPressCounter.gold=V.STATUS_CHANGED_EFFECT_FRAME_NUM)))}setPartsOnPosition(t,e,s){var a,i,r=s.y<<$.BITSHIFT|s.x;t===y.MAP?(a=this._wwaData.map[s.y][s.x],e=this.loadMapPartsID(e),a=this.loadMapPartsID(a),this._wwaData.map[s.y][s.x]=e,-1!==(i=this._mapIDTable[a].indexOf(r))&&this._mapIDTable[a].splice(i,1),-1===(i=this._mapIDTable[e].indexOf(r))&&this._mapIDTable[e].push(r)):(a=this._wwaData.mapObject[s.y][s.x],e=this.loadMapPartsObjectID(e),a=this.loadMapPartsObjectID(a),this._wwaData.mapObject[s.y][s.x]=e,-1!==(i=this._mapObjectIDTable[a].indexOf(r))&&this._mapObjectIDTable[a].splice(i,1),-1===(i=this._mapObjectIDTable[e].indexOf(r))&&this._mapObjectIDTable[e].push(r))}_countSamePartsLength(t,e){var s;for(s=e+1;s<t.length&&t[s]===t[s-1];s++);return s-e}_compressMap(t){for(var e=[],s=0;s<t.length;s++){e[s]=[];for(var a=0;a<t[s].length;){var i=this._countSamePartsLength(t[s],a);e[s].push([t[s][a],i]),a+=i}}return e}_decompressMap(t){for(var e=[],s=0;s<t.length;s++){e[s]=[];for(var a=0;a<t[s].length;a++)for(var i=t[s][a][1],r=0;r<i;r++)e[s].push(t[s][a][0])}return e}_generateMapDataHash(t){var e="A",s=0,a=0,i=0;for(i=0;i<t.map.length;i++){for(a=0;a<t.map[i].length;)s=this._countSamePartsLength(t.map[i],a),e+=t.map[i][a]+"|"+s+"/",a+=s;for(a=0;a<t.mapObject[i].length;)s=this._countSamePartsLength(t.mapObject[i],a),e+=t.mapObject[i][a]+"|"+s+"/",a+=s}for(var r=0;r<t.mapAttribute.length;r++)for(var n=0;n<t.mapAttribute[r].length;n++)e+=t.mapAttribute[r][n]+"/";for(var o=0;o<t.objectAttribute.length;o++)for(var h=0;h<t.objectAttribute[o].length;h++)e+=t.objectAttribute[o][h]+"/";return je(e+="Z")}_generateSaveDataHash(t){var e=this._generateMapDataHash(t),s=[];for(var a in t)"map"!==a&&"mapObject"!==a&&"mapCompressed"!==a&&"mapObjectCompressed"!==a&&"mapAttribute"!==a&&"objectAttribute"!==a&&"checkString"!==a&&s.push(a);s.sort();for(var i=0;i<s.length;i++)e+=ft(t[s[i]]);return je(e)}compressSystem(){return Ze}_quickSave(t){var e,s;const a=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_SAVE;a&&this.evalCalcWwaNodeGenerator.evalWwaNode(a);var i,r,n=JSON.parse(JSON.stringify(this._wwaData)),o=this._player.getPosition().getPartsCoord(),h=this._player.getStatusWithoutEquipments();switch(n.itemBox=this._player.getCopyOfItemBox(),n.playerX=o.x,n.playerY=o.y,n.statusEnergyMax=this._player.getEnergyMax(),n.statusEnergy=h.energy,n.statusStrength=h.strength,n.statusDefence=h.defence,n.statusGold=h.gold,n.moves=this._player.getMoveCount(),n.frameCount=this._player.getFrameCount(),n.gameSpeedIndex=this._player.getSpeedIndex(),n.playTime=null!==(s=null===(e=this._playTimeCalculator)||void 0===e?void 0:e.calculateTimeMs())&&void 0!==s?s:0,n.userVar=this._userVar.numbered.slice(),n.userNamedVar=[...this._userVar.named],t){case T.CALL_BY_LOG_QUICK_SAVE:case T.CALL_BY_QUICK_SAVE:case T.CALL_BY_SUSPEND:break;case T.CALL_BY_PASSWORD_SAVE:n.checkOriginalMapString=this.checkOriginalMapString,n.checkString=this._generateSaveDataHash(n)}switch(n.message=void 0,n.mapAttribute=void 0,n.objectAttribute=void 0,t){case T.CALL_BY_QUICK_SAVE:return this._messageWindow.save(this._cvs,n),this.wwaCustomEvent("wwa_quicksave",{data:n}),"";case T.CALL_BY_PASSWORD_SAVE:const t=Ze.compress(n);t.isCompress=1;const e=JSON.stringify(t);return this.wwaCustomEvent("wwa_passwordsave",{data:n,compress:t}),i=e,r=this._wwaData.worldPassNumber,console.warn(He.enc.Utf8.parse(i)),He.AES.encrypt(He.enc.Utf8.parse(i),Ke(r)).toString();case T.CALL_BY_SUSPEND:this.wwaCustomEvent("wwa_suspend",{data:n,compress:Ze.compress(n)});break;case T.CALL_BY_LOG_QUICK_SAVE:this.wwaCustomEvent("wwa_autosave",{data:n}),this._wwaSave.autoSave(this._cvs,n)}}wwaCustomEvent(t,e={}){this.wwaCustomEventEmitter.dispatch(t,e)}_decodePassword(t){let e,s="";try{a=t,i=this._wwaData.worldPassNumber,s=He.AES.decrypt(a,Ke(i)).toString(He.enc.Utf8)}catch(t){e=t}var a,i,r;if(!s){console.warn("新方式でのパスワード暗号化解除失敗:",e);try{s=function(t,e,s){return He.AES.decrypt(t,function(t,e){return`^ /${231*t+8310+e}P+>A[]`}(e,s)).toString(He.enc.Utf8)}(t,this._wwaData.worldPassNumber,this.checkOriginalMapString)}catch(t){e=t}}if(!s){console.warn("旧方式でのパスワード暗号化解除失敗:",e);const t=e&&e.message?e.message:"";throw new Error("パスワード取得時からワールド制作者によってマップの暗証番号が変更されたか、\nパスワードが壊れているために正常にセーブデータが復元できませんでした。\n"+t)}try{r=JSON.parse(s)}catch(t){throw new Error("マップデータ以外のものが暗号化されたか、マップデータに何かが不足しているようです。\nJSON PARSE FAILED")}if(r.isCompress){delete r.isCompress;const[t,e]=Ze.decompress(r);return[es(t),e]}return[r,{isWorldNameEmpty:!1}]}_quickLoad(t=!1,e=null,s=!0){if(!t&&void 0===this._wwaSave.hasSaveData()&&null===e)throw new Error("セーブデータがありません。");let a,i=!1;if(null!==e){const t=this._decodePassword(e);a=t[0],i=t[1].isWorldNameEmpty}else a=JSON.parse(JSON.stringify(t?this._restartData:this._messageWindow.load()));if(a.message=JSON.parse(JSON.stringify(this._restartData.message)),a.mapAttribute=JSON.parse(JSON.stringify(this._restartData.mapAttribute)),a.objectAttribute=JSON.parse(JSON.stringify(this._restartData.objectAttribute)),void 0===a.map&&(a.map=this._decompressMap(a.mapCompressed)),void 0===a.mapObject&&(a.mapObject=this._decompressMap(a.mapObjectCompressed)),delete a.mapCompressed,delete a.mapObjectCompressed,null!==e){if(!i&&a.worldName!==this._wwaData.worldName)throw console.error("Invalid title",`(password)=${a.worldName} (current map)=${this._wwaData.worldName}`),new Error("前回パスワード取得時から、制作者によってワールド名が変更されたためロードできませんでした。\n予めご了承ください。");const t=this.checkOriginalMapString;if(this._isDisallowLoadOldSave&&a.checkOriginalMapString!==t)throw console.error("Invalid hash",`(password)=${a.checkOriginalMapString} (current map)=${t}`),new Error("前回パスワード取得時から、制作者によってマップが変更されたためロードできませんでした。\n(マップデータ制作者の設定により、内容が変更されると以前のパスワードは利用できなくなります。)\n予めご了承ください。");console.log("Valid Password!")}return s&&this._applyQuickLoad(a),a}_applyQuickLoad(t){this._userVar.named=new Map(t.userNamedVar),this._userVar.numbered=t.userVar,this._player.setEnergyMax(t.statusEnergyMax),this._player.setEnergy(t.statusEnergy),this._player.setStrength(t.statusStrength),this._player.setDefence(t.statusDefence),this._player.setGold(t.statusGold),this._player.setMoveCount(t.moves),this._player.setFrameCount(t.frameCount),this._player.clearItemBox();for(var e=0;e<t.itemBox.length;e++)this._player.addItem(t.itemBox[e],e+1,!0);this._player.systemJumpTo(new _(this,t.playerX,t.playerY,0,0)),0===t.bgm?this.playSound(R.NO_SOUND):this.playSound(t.bgm,t.bgmDelayDurationMs),this.setImgClick(new c(t.imgClickX,t.imgClickY)),0!==this.getObjectIdByPosition(this._player.getPosition())&&this._player.setPartsAppearedFlag(),this._clearAllRequests(),this._playTimeCalculator=new ot(t.playTime),this._wwaData=t,this._mapIDTableCreate(),this._replaceAllRandomObjects(),this.setStatusIconCoord(L.ENERGY,new c(t.imgStatusEnergyX,t.imgStatusEnergyY)),this.setStatusIconCoord(L.STRENGTH,new c(t.imgStatusStrengthX,t.imgStatusStrengthY)),this.setStatusIconCoord(L.DEFENCE,new c(t.imgStatusDefenceX,t.imgStatusDefenceY)),this.setStatusIconCoord(L.GOLD,new c(t.imgStatusGoldX,t.imgStatusGoldY)),this.setWideCellCoord(new c(t.imgWideCellX,t.imgWideCellY)),this.setItemboxBackgroundPosition({x:t.imgItemboxX,y:t.imgItemboxY}),this.setFrameCoord(new c(t.imgFrameX,t.imgFrameY)),this.setPlayerSpeedIndex(t.gameSpeedIndex),this.updateCSSRule(),this.updateEffect(),this._player.updateStatusValueBox(),this._wwaSave.quickSaveButtonUpdate(this._wwaData)}_mapIDTableCreate(){var t;for(this._mapIDTable=[],this._mapObjectIDTable=[],t=0;t<this._wwaData.mapPartsMax;t++)this._mapIDTable[t]=[];for(t=0;t<this._wwaData.objPartsMax;t++)this._mapObjectIDTable[t]=[];for(var e=0;e<this._wwaData.mapWidth;e++)for(var s=0;s<this._wwaData.mapWidth;s++){var a=s<<$.BITSHIFT|e;t=this._wwaData.map[s][e],this._mapIDTable[t]instanceof Array||(this._mapIDTable[t]=[]),this._mapIDTable[t].push(a),t=this._wwaData.mapObject[s][e],this._mapObjectIDTable[t]instanceof Array||(this._mapObjectIDTable[t]=[]),this._mapObjectIDTable[t].push(a)}}restartGame(){this._quickLoad(!0)}_fadeout(t){var e=0,s=V.MAP_WINDOW_WIDTH,a=V.FADEOUT_SPEED,i=dt("wwa-fader");i.style.display="block";var r=setInterval((()=>{if(e+=a,(s-=2*a)<=0||2*e>V.MAP_WINDOW_WIDTH)return i.removeAttribute("style"),i.style.display="block",i.style.borderWidth="0",i.style.width=V.MAP_WINDOW_WIDTH+"px",i.style.height=V.MAP_WINDOW_HEIGHT+"px",i.style.backgroundColor="#808080",clearInterval(r),void t();i.style.width=s+"px",i.style.height=s+"px",i.style.borderWidth=e+"px"}),20)}moveObjects(t){var e,s,a,i=this._camera.getPosition(),r=(this._player.getPosition(),i.getPartsCoord(),i.getPartsCoord().x),n=i.getPartsCoord().y;if(this.getMapAttributeByPosition(this._player.getPosition(),V.ATR_TYPE)!==V.MAP_LOCALGATE&&this.getObjectAttributeByPosition(this._player.getPosition(),V.ATR_TYPE)!==V.OBJECT_LOCALGATE){for(e=new Array(V.V_PARTS_NUM_IN_WINDOW+2),this.hoge=new Array(V.V_PARTS_NUM_IN_WINDOW+2),a=-1;a<=V.V_PARTS_NUM_IN_WINDOW;a++)for(e[a+1]=new Array(V.H_PARTS_NUM_IN_WINDOW+2),this.hoge[a+1]=new Array(V.H_PARTS_NUM_IN_WINDOW+2),s=-1;s<=V.H_PARTS_NUM_IN_WINDOW;s++)if(n+a<0||n+a>=this._wwaData.mapWidth||r+s<0||r+s>=this._wwaData.mapWidth)e[a+1][s+1]=0,this.hoge[a+1][s+1]=0;else{try{var o=(h=new _(this,r+s,n+a,0,0)).getPartsCoord()}catch(t){e[a+1][s+1]=0,this.hoge[a+1][s+1]=0;continue}this._wwaData.mapObject[o.y][o.x];e[a+1][s+1]=this._wwaData.mapObject[o.y][o.x],this.hoge[a+1][s+1]=-this._wwaData.mapObject[o.y][o.x]}for(s=-1;s<=V.H_PARTS_NUM_IN_WINDOW;s++)if(!(r+s<0||r+s>=this._wwaData.mapWidth))for(a=-1;a<=V.V_PARTS_NUM_IN_WINDOW;a++)if(!(n+a<0||n+a>=this._wwaData.mapWidth)){try{var h;o=(h=new _(this,r+s,n+a,0,0)).getPartsCoord()}catch(t){continue}var l=this._wwaData.mapObject[o.y][o.x];if(0!==l&&this._wwaData.objectAttribute[l][V.ATR_MOVE]!==O.STATIC&&this._wwaData.objectAttribute[l][V.ATR_TYPE]!==V.OBJECT_LOCALGATE&&this._wwaData.objectAttribute[l][V.ATR_TYPE]!==V.OBJECT_RANDOM&&(this._wwaData.objectAttribute[l][V.ATR_MOVE]===O.CHASE_PLAYER||this._wwaData.objectAttribute[l][V.ATR_MOVE]===O.RUN_OUT||this._wwaData.objectAttribute[l][V.ATR_MOVE]===O.HANG_AROUND)){var u=this._wwaData.objectAttribute[l][V.ATR_MOVE];if(u!==O.HANG_AROUND){var d,p=this._getCandidateCoord(t,h,u),m=new c(p.x,o.y),E=new c(o.x,p.y),g=null;if(this._objectCanMoveTo(t,p,e))this._setObjectsInNextFrame(o,p,r,n,e,l);else{var w=this._getSecondCandidateMoveMode(t,o,p,m,E,this._wwaData.objectAttribute[l][V.ATR_TYPE]===V.OBJECT_MONSTER,e);w===P.MODE_X?this._setObjectsInNextFrame(o,m,r,n,e,l):w===P.MODE_Y?this._setObjectsInNextFrame(o,E,r,n,e,l):null===(g=this._getThirdCandidate(t,h,p,u,e))||this._wwaData.isOldMove?(d=this._getRandomMoveCoord(t,h,e),this._setObjectsInNextFrame(o,d,r,n,e,l)):this._setObjectsInNextFrame(o,g,r,n,e,l)}}else d=this._getRandomMoveCoord(t,h,e),this._setObjectsInNextFrame(o,d,r,n,e,l)}}}}_getCandidateCoord(t,e,s){var a=e.getPartsCoord();this._player.getPosition().getOffsetCoord(),this._player.getPosition().getPartsCoord();try{var i=t?this._player.getPosition().getNextJustPosition().getPartsCoord():this._player.getPosition().getPartsCoord()}catch(t){throw new Error("予期せぬ方向への移動のようです。")}var r=a.clone(),n=0,o=0;return s===O.CHASE_PLAYER?(n=a.x>i.x?-1:a.x<i.x?1:0,o=a.y>i.y?-1:a.y<i.y?1:0):s===O.RUN_OUT&&(n=a.x>i.x?1:a.x<i.x?-1:0,o=a.y>i.y?1:a.y<i.y?-1:0),r.x+=n,r.y+=o,r.x=Math.min(this._wwaData.mapWidth-1,Math.max(0,r.x)),r.y=Math.min(this._wwaData.mapWidth-1,Math.max(0,r.y)),r}_getSecondCandidateMoveMode(t,e,s,a,i,r,n){return!t||(this._player.getDir()!==p.UP&&this._player.getDir()!==p.DOWN||!r)&&(this._player.getDir()!==p.LEFT&&this._player.getDir()!==p.RIGHT||r)?this._objectCanMoveTo(t,a,n)?P.MODE_X:this._objectCanMoveTo(t,i,n)?P.MODE_Y:P.UNDECIDED:this._objectCanMoveTo(t,i,n)?P.MODE_Y:this._objectCanMoveTo(t,a,n)?P.MODE_X:P.UNDECIDED}_getThirdCandidate(t,e,s,a,i){var r,n=a===O.CHASE_PLAYER?1:a===O.RUN_OUT?-1:0,o=t?this._player.getPosition().getNextJustPosition().getPartsCoord():this._player.getPosition().getPartsCoord(),h=e.getPartsCoord();if(o.x!==h.x){if(r=new c(s.x,h.y+1*n),this._objectCanMoveTo(t,r,i))return r;if(r=new c(s.x,h.y-1*n),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x,h.y+1*n),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x,h.y-1*n),this._objectCanMoveTo(t,r,i))return r}if(o.y!==h.y){if(r=new c(h.x+1*n,s.y),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x-1*n,s.y),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x+1*n,h.y),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x-1*n,h.y),this._objectCanMoveTo(t,r,i))return r}return null}_getRandomMoveCoord(t,e,s){const a=e.getPartsCoord(),i=a.clone(),r=this._wwaData.isOldMove?V.RANDOM_MOVE_ITERATION_NUM_BEFORE_V31:V.RANDOM_MOVE_ITERATION_NUM;for(let e=0;e<r;e++){const e=[-1,1,0,0,-1,-1,1,1],r=[0,0,1,-1,1,-1,1,-1],n=Math.floor(Math.random()*e.length);if(i.x=a.x+e[n],i.y=a.y+r[n],this._objectCanMoveTo(t,i,s))return i}return a}isPrevFrameEventExecuted(){return this._prevFrameEventExected}_objectCanMoveTo(t,e,s){if(e.x<0||e.y<0||this._wwaData.mapWidth<=e.x||this._wwaData.mapWidth<=e.y)return!1;var a=this._wwaData.map[e.y][e.x],i=this._wwaData.mapObject[e.y][e.x],r=this._wwaData.mapAttribute[a][V.ATR_TYPE],n=this._camera.getPosition(),o=n.getPartsCoord().x,h=n.getPartsCoord().y;if(0===a&&!this.isOldMap()||r===V.MAP_WALL)return!1;var c=e.x-o+1,_=e.y-h+1;if(0<=c&&0<=_&&c<s.length&&_<s.length){if(0!==s[_][c])return!1}else if(0!==i)return!1;if(t){if(this._player.getPosition().getNextJustPosition().getPartsCoord().equals(e))return!1}else if(this._player.getPosition().getPartsCoord().equals(e))return!1;return!0}_setObjectsInNextFrame(t,e,s,a,i,r){var n=e.x-s+1,o=e.y-a+1;0<=e.x&&e.x<=this._wwaData.mapWidth&&0<=e.y&&e.y<=this._wwaData.mapWidth&&(0<=n&&n<i.length&&0<=o&&o<i.length&&(i[t.y-a+1][t.x-s+1]=0,i[e.y-a+1][e.x-s+1]=r,this.hoge[e.y-a+1][e.x-s+1]=r),this._objectMovingDataManager.add(r,t.convertIntoPosition(this),e.convertIntoPosition(this),t.getDirectionTo(e)))}launchBattleEstimateWindow(){const t=this._camera.getPosition().getPartsCoord(),e=Math.max(0,t.x),s=Math.min(this._wwaData.mapWidth-1,t.x+V.H_PARTS_NUM_IN_WINDOW-1),a=Math.max(0,t.y),i=Math.min(this._wwaData.mapWidth-1,t.y+V.V_PARTS_NUM_IN_WINDOW-1),r=[];this.playSound(R.DECISION);for(let t=e;t<=s;t++)for(let e=a;e<=i;e++){const s=this._wwaData.mapObject[e][t];this._wwaData.objectAttribute[s][V.ATR_TYPE]!==V.OBJECT_MONSTER||r.find((t=>t.partsID===s))||r.push(this._createMonster(s,new c(t,e)))}if(this._bottomButtonType===d.BATTLE_REPORT&&dt(b[I.GOTO_WWA]).classList.add("onpress"),0===r.length)return dt(b[I.GOTO_WWA]).classList.remove("onpress"),this.hideBattleEstimateWindow(),!1;this._battleEstimateWindow.update(this._player.getStatus(),r,((t,e)=>this._player.calcBattleResultForPlayerTurn(t,e.status,!0)),((t,e)=>this._player.calcBattleResultForEnemyTurn(t.status,e,!0)),this.isUsingDefaultDamageCalcFunction()),this._battleEstimateWindow.show(),this._player.setEstimateWindowWating();const n=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_BATTLE_REPORT;return n&&this.evalCalcWwaNodeGenerator.evalWwaNode(n),!0}isUsingDefaultDamageCalcFunction(){return void 0===this.getUserDefinedDamageFunctionNode("enemyToPlayer")&&void 0===this.getUserDefinedDamageFunctionNode("playerToEnemy")}_createMonster(t,e,s){return new Nt(t,e,new c(this._wwaData.objectAttribute[t][V.ATR_X],this._wwaData.objectAttribute[t][V.ATR_Y]),new h(this._wwaData.objectAttribute[t][V.ATR_ENERGY],this._wwaData.objectAttribute[t][V.ATR_STRENGTH],this._wwaData.objectAttribute[t][V.ATR_DEFENCE],this._wwaData.objectAttribute[t][V.ATR_GOLD]),this._wwaData.message[this._wwaData.objectAttribute[t][V.ATR_STRING]],this._wwaData.objectAttribute[t][V.ATR_ITEM],s)}hideBattleEstimateWindow(){this._battleEstimateWindow.hide(),this._player.clearEstimateWindowWaiting(),dt(b[I.GOTO_WWA]).classList.remove("onpress"),this._dispatchWindowClosedTimeRequests()}hidePasswordWindow(t=!1){if(this._passwordWindow.hide(),t||this._passwordWindow.mode===Re.SAVE)return this._player.clearPasswordWindowWaiting(),void this._dispatchWindowClosedTimeRequests();try{var e=this._quickLoad(!1,this._passwordWindow.password,!1)}catch(t){return this._player.clearPasswordWindowWaiting(),this._dispatchWindowClosedTimeRequests(),void alert("セーブデータの復元に失敗しました。\nエラー詳細:\n"+t.message)}this._passwordLoadExecInNextFrame=!0,this._passwordSaveExtractData=e}_displayUserVars(){if(!this._canDisplayUserVars||!this._inlineUserVarViewer)return;let t="";if(this._inlineUserVarViewer.isVisible=!0,this._player.isControllable()){const e=[...this._userVar.named];if("named"===this._inlineUserVarViewer.kind)if(t="名前つき変数一覧\n",0===e.length)t+="名前つき変数はありません\n";else if(e.length<=V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM)t+=e.map((([t,e])=>`${t}: ${St(e)}`)).join("\n"),t+="\n";else for(let s=0;s<V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM;s++){let a=(this._inlineUserVarViewer.topUserVarIndex[this._inlineUserVarViewer.kind]+s)%e.length;t+=`${e[a][0]}: ${St(e[a][1],!0)}\n`}else if("numbered"===this._inlineUserVarViewer.kind){t="変数一覧\n",this._userVarNameListRequestError&&("noFileSpecified"===this._userVarNameListRequestError.kind?t+=this._userVarNameListRequestError.errorMessage+"\n":(t+="【変数名取得失敗】\n",t+=" すべての変数を名無しとしています。\n",t+=` エラー詳細: ${this._userVarNameListRequestError.errorMessage}\n`));for(let e=0;e<V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM;e++){let s=(this._inlineUserVarViewer.topUserVarIndex[this._inlineUserVarViewer.kind]+e)%V.USER_VAR_NUM;t+=`${`変数 ${s}: ${this._userVarNameList&&this._userVarNameList[s]?this._userVarNameList[s]:"名無し"}`}: ${St(this._userVar.numbered[s],!0)}\n`}}t+="\n操作方法\n",t+="上キー:1つ戻す 下キー:1つ進める\n",t+="左キー:10個戻す 右キー:10個進める\n",t+="Vキー: 名前付き変数/通常変数の切り替え",this.registerSystemMessagePage(t)}}_displayHelp(){var t;if(this._player.isControllable()){const s=null===(t=this._playTimeCalculator)||void 0===t?void 0:t.calculatePlayTimeFormat();var e="";switch(this.userDevice.device){case S.GAME:switch(this.userDevice.os){case v.NINTENDO:e=" 【操作方法】\nA:Yes,戦闘結果予測の表示\nB:No\nX:メニュー\nY:このリストの表示\nR:初めからスタート\nZL:データの一時保存\nZR:一時保存データの読み込み\n+: 移動速度を上げる\n-: 移動速度を落とす\n WWA Wing バージョン:4.0.0\n マップデータ バージョン: "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;case v.PLAY_STATION:e=" 【操作方法】\n〇:Yes,戦闘結果予測の表示\n×:No\n△:メニュー\n□:このリストの表示\nR1:初めからスタート\nL2:データの一時保存\nR2:一時保存データの読み込み\nOPTIONS: 移動速度を上げる\nSHARE: 移動速度を落とす\n  現在の移動回数:"+this._player.getMoveCount()+"\n"+(s?"  プレイ時間:"+s+"\n":"")+" WWA Wing バージョン:4.0.0\n マップデータ バージョン: "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;case v.XBOX:e=" 【操作方法】\nB:Yes,戦闘結果予測の表示\nA:No\nY:メニュー\nX:このリストの表示\nRB:初めからスタート\nLT:データの一時保存\nRT:一時保存データの読み込み\nMENU: 移動速度を上げる\nWINDOW: 移動速度を落とす\n  現在の移動回数:"+this._player.getMoveCount()+"\n"+(s?"  プレイ時間:"+s+"\n":"")+" WWA Wing バージョン:4.0.0\n マップデータ バージョン: "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;default:return}break;case S.SP:case S.VR:return;case S.PC:e=" 【操作方法】\nF1、M:戦闘結果予測の表示\nF3:復帰用パスワード入力\nF4:復帰用パスワード表示\nF5:一時保存データの読み込み\nF6:データの一時保存\nF7:初めからスタート\nF8:WWA公式ページにリンク\nF12:このリストの表示\nキーボードの「123、QWE、ASD、ZXC」は右のアイテムボックスに対応。\n「Enter、Y」はYes,\n「Esc、N」はNoに対応。\n   I: 移動速度を落とす/\nF2、P: 移動速度を上げる\n  現在の移動回数:"+this._player.getMoveCount()+"\n"+(s?"  プレイ時間:"+s+"\n":"")+" WWA Wing バージョン:4.0.0\n マップデータ バージョン: "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;default:return}e&&this.registerSystemMessagePage(e)}}_setNextPage(){if(this._clearFacesInNextFrame=!0,this._scoreWindow.isVisible()&&this._scoreWindow.hide(),this._isLastPage&&void 0!==this._reservedMoveMacroTurn&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0),0===this._pages.length){const{newPageGenerated:t}=this._hideMessageWindow();t||(this.clearFaces(),this._dispatchWindowClosedTimeRequests())}else this._shouldSetNextPage=!0;this._inlineUserVarViewer&&(this._inlineUserVarViewer.isVisible=!1)}_hideMessageWindow(){const t=this._player.isReadyToUseItem()?this._player.useItem():0,e=this.getObjectAttributeById(t,V.ATR_STRING);return 0===e?(this._messageWindow.isVisible()&&(this._player.setDelayFrame(),this._messageWindow.hide(),this._keyStore.allClear(),this._mouseStore.clear()),this._player.clearMessageWaiting(),{newPageGenerated:!1}):(this.registerPageByMessage(this.getMessageById(e),{triggerParts:{id:t,type:y.OBJECT,position:this._player.getPosition().getPartsCoord()}}),{newPageGenerated:0!==this._pages.length})}getPlayerPositon(){return this._player.getPosition()}loadMapPartsObjectID(t){return(t|=0)<0||t>=this._wwaData.objPartsMax?0:t}loadMapPartsID(t){return(t|=0)<0||t>=this._wwaData.mapPartsMax?0:t}replaceParts(t,e,s=y.OBJECT,a=!1){var i,r,n,o,h,c,_,l,u=this._camera.getPosition().getPartsCoord(),d=a?Math.max(0,u.x):0,p=a?Math.min(this._wwaData.mapWidth-1,u.x+V.H_PARTS_NUM_IN_WINDOW-1):this._wwaData.mapWidth-1,m=a?Math.max(0,u.y):0,E=a?Math.min(this._wwaData.mapWidth-1,u.y+V.V_PARTS_NUM_IN_WINDOW)-1:this._wwaData.mapWidth-1;if(a=0!==d||p!==this._wwaData.mapWidth-1||0!==m||E!==this._wwaData.mapWidth-1,s===y.OBJECT)if(t=this.loadMapPartsObjectID(t),e=this.loadMapPartsObjectID(e),o=this._mapObjectIDTable[t].concat(),(_=this._mapObjectIDTable[t]).length=0,l=this._mapObjectIDTable[e],r=o.length,a)for(n=0;n<r;n++)h=(i=o[n])&$.BITMASK,c=i>>>$.BITSHIFT&$.BITMASK,d<=h&&h<=p&&m<=c&&c<=E?(this._wwaData.mapObject[c][h]=e,l.push(i)):_.push(i);else{for(n=0;n<r;n++)h=(i=o[n])&$.BITMASK,c=i>>>$.BITSHIFT&$.BITMASK,this._wwaData.mapObject[c][h]=e;Array.prototype.push.apply(l,o)}else if(t=this.loadMapPartsID(t),e=this.loadMapPartsID(e),o=this._mapIDTable[t].concat(),(_=this._mapIDTable[t]).length=0,l=this._mapIDTable[e],r=o.length,a)for(n=0;n<r;n++)h=(i=o[n])&$.BITMASK,c=i>>>$.BITSHIFT&$.BITMASK,d<=h&&h<=p&&m<=c&&c<=E?(this._wwaData.map[c][h]=e,l.push(i)):_.push(i);else{for(n=0;n<r;n++)h=(i=o[n])&$.BITMASK,c=i>>>$.BITSHIFT&$.BITMASK,this._wwaData.map[c][h]=e;Array.prototype.push.apply(l,o)}}getYesNoImgCoord(){return new c(this._wwaData.yesnoImgPosX,this._wwaData.yesnoImgPosY)}setYesNoImgCoord(t){return this._wwaData.yesnoImgPosX=t.x,this._wwaData.yesnoImgPosY=t.y,t}getPlayerImgCoord(){return new c(this._wwaData.playerImgPosX,this._wwaData.playerImgPosY)}setPlayerImgCoord(t){return this._wwaData.playerImgPosX=t.x,this._wwaData.playerImgPosY=t.y,t}setPlayerEnergyMax(t){return this._player.setEnergyMax(this.toValidStatusValue(t))}getMapPartsNum(){return this._wwaData.mapPartsMax}getObjectPartsNum(){return this._wwaData.objPartsMax}setMoveMacroWaitingToPlayer(t){this._reservedMoveMacroTurn=t}disableSave(t){return this._wwaData.disableSaveFlag=t,this._wwaSave.quickSaveButtonUpdate(this._wwaData),t}isOldMap(){return this._wwaData.isOldMap}setOldMap(t){return this._wwaData.isOldMap=t}setObjectNotCollapseOnPartsOnPlayer(t){return this._wwaData.objectNoCollapseDefaultFlag=t}setGameOverPosition(t){if(t.x<0||t.x>=this.getMapWidth()||t.y<0||t.y>=this.getMapWidth())throw new Error("マップの範囲外が指定されています!");return this._wwaData.gameoverX=t.x,this._wwaData.gameoverY=t.y,t}getGemeOverPosition(){return new c(this._wwaData.gameoverX,this._wwaData.gameoverY)}toValidStatusValue(t){return this.isNotNumberTypeOrNaN(t)||t<0?0:Math.floor(t)}setPlayerStatus(t,e,s){if(t===x.ENERGY){if(this._player.setEnergy(this.toValidStatusValue(e)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:s}))return this.gameover(),{isGameOver:!0}}else if(t===x.STRENGTH)this._player.setStrength(this.toValidStatusValue(e));else if(t===x.DEFENCE)this._player.setDefence(this.toValidStatusValue(e));else if(t===x.GOLD)this._player.setGold(this.toValidStatusValue(e));else{if(t!==x.MOVES)throw new Error("未定義のステータスタイプです");this._player.setMoveCount(this.toValidStatusValue(e))}return{}}setDelPlayer(t){return this._wwaData.delPlayerFlag=t}setPlayerGetItem(t,e){try{this._player.addItem(e,t,!0)}catch(t){}}setStatusIconCoord(t,e){const s=e.x*V.CHIP_SIZE,a=e.y*V.CHIP_SIZE,i=t=>{mt(`${t}>.status-icon`).style.backgroundPosition=`-${s}px -${a}px`};switch(t){case L.ENERGY:this._wwaData.imgStatusEnergyX=e.x,this._wwaData.imgStatusEnergyY=e.y,i("#disp-energy");break;case L.STRENGTH:this._wwaData.imgStatusStrengthX=e.x,this._wwaData.imgStatusStrengthY=e.y,i("#disp-strength");break;case L.DEFENCE:this._wwaData.imgStatusDefenceX=e.x,this._wwaData.imgStatusDefenceY=e.y,i("#disp-defence");break;case L.GOLD:this._wwaData.imgStatusGoldX=e.x,this._wwaData.imgStatusGoldY=e.y,i("#disp-gold");break;default:throw new Error("種別が不正です。")}return e.clone()}setWideCellCoord(t){this._wwaData.imgWideCellX=t.x,this._wwaData.imgWideCellY=t.y;const e=t.x*V.CHIP_SIZE,s=t.y*V.CHIP_SIZE;return Array.prototype.forEach.call(Et("div.wide-cell-row"),(t=>{t.style.backgroundPosition="-"+e+"px -"+s+"px"})),t.clone()}setFrameCoord(t){return this._wwaData.imgFrameX=t.x,this._wwaData.imgFrameY=t.y,this._cgManager.setFrameImage(t),t.clone()}setBattleEffectCoord(t){return this._battleEffectCoord=t.clone()}canInput(){return!this._temporaryInputDisable}setEffect(t,e){this._wwaData.effectWaits=t,this._wwaData.effectCoords=e,this.updateEffect()}stopEffect(){this._wwaData.effectCoords=[],this.updateEffect()}updateEffect(){this._cgManager.updateEffects(this._wwaData.effectCoords)}setImgClick(t){if(this._wwaData.imgClickX=t.x,this._wwaData.imgClickY=t.y,t.equals(new c(0,0)))Array.prototype.forEach.call(Et(".item-cell>.item-click-border"),(t=>{t.style.backgroundImage="url('"+V.ITEM_BORDER_IMG_DATA_URL+"')",t.style.backgroundPosition="0 0"}));else{var e=this._wwaData.mapCGName.replace("(","\\(").replace(")","\\)");Array.prototype.forEach.call(Et(".item-cell>.item-click-border"),(s=>{s.style.backgroundImage="url('"+e+"')",s.style.backgroundPosition="-"+t.x*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px"}))}}addFace(t){this._faces.push(t),this._messageWindow.setPositionByPlayerPosition(0!==this._faces.length,this._scoreWindow.isVisible(),!1,this._player.getPosition(),this._camera.getPosition())}clearFaces(){this._faces=[]}updateItemEffectEnabled(t){this._wwaData.isItemEffectEnabled=t}setOldMove(t){this._wwaData.isOldMove=t}setGameOverPolicy(t){switch(t){case 0:return void(this._wwaData.gameOverPolicy="default");case 1:return void(this._wwaData.gameOverPolicy="never");case 2:return void(this._wwaData.gameOverPolicy="except-macro");default:return}}setBgmDelay(t){this._wwaData.bgmDelayDurationMs=t}initCSSRule(){this._styleElm=dt(V.WWA_STYLE_TAG_ID),this._sheet=this._styleElm.sheet,this.updateCSSRule()}updateCSSRule(){if(void 0===this._stylePos)this._stylePos=new Array(2);else if(void 0!==this._sheet.addRule)for(var t=0;t<this._stylePos.length;t++)this._sheet.removeRule(this._stylePos[this._styleElm[t]]);else for(t=0;t<this._stylePos.length;t++)this._sheet.deleteRule(this._stylePos[this._styleElm[t]]);const e="div.wwa-message-window, div#wwa-text-message-window, div#wwa-battle-estimate, div#wwa-password-window",s=this._isClassicModeEnable?1:.9,a=`\nbackground-color: rgba(${this._wwaData.frameColorR}, ${this._wwaData.frameColorG}, ${this._wwaData.frameColorB}, ${s});\nborder-color: rgba(${this._wwaData.frameOutColorR}, ${this._wwaData.frameOutColorG}, ${this._wwaData.frameOutColorB}, 1);\ncolor: rgba(${this._wwaData.fontColorR}, ${this._wwaData.fontColorG}, ${this._wwaData.fontColorB}, 1);\nwhite-space: pre-wrap;\n`,i="div#wwa-sidebar",r=`\ncolor: rgba(${this._wwaData.statusColorR}, ${this._wwaData.statusColorG}, ${this._wwaData.statusColorB},1);\nfont-weight: bold;\n`;void 0!==this._sheet.addRule?(this._stylePos[J.MESSAGE_WINDOW]=this._sheet.addRule(e,a),this._stylePos[J.SIDEBAR]=this._sheet.addRule(i,r)):(this._stylePos[J.MESSAGE_WINDOW]=this._sheet.insertRule(`${e} { ${a} }`,0),this._stylePos[J.SIDEBAR]=this._sheet.insertRule(`${i} { ${r} }`,1))}changeStyleRule(t,e,s,a){t===X.COLOR_FRAME?(this._wwaData.frameColorR=e,this._wwaData.frameColorG=s,this._wwaData.frameColorB=a):t===X.COLOR_FRAMEOUT?(this._wwaData.frameOutColorR=e,this._wwaData.frameOutColorG=s,this._wwaData.frameOutColorB=a):t===X.COLOR_STR?(this._wwaData.fontColorR=e,this._wwaData.fontColorG=s,this._wwaData.fontColorB=a):t===X.COLOR_STATUS_STR&&(this._wwaData.statusColorR=e,this._wwaData.statusColorG=s,this._wwaData.statusColorB=a),this.updateCSSRule()}showMonsterWindow(){this._monsterWindow.show()}isClassicMode(){return this._isClassicModeEnable}isConsoleOutputMode(){return this._useConsole}forcedJumpGate(t,e){this._player.isWaitingMessage()?this._windowCloseWaitingJumpGateRequest={x:t,y:e}:(this._windowCloseWaitingJumpGateRequest=void 0,this._player.jumpTo(new _(this,t,e,0,0)))}setUserVar(t,e,s){const a=(t,e)=>{if("number"==typeof t){if("number"!=typeof e)throw new TypeError("数字index変数への数値以外の代入は今のところできません。あらかじめご了承ください。");this._userVar.numbered[t]="number"==typeof e?this.toAssignableValue(e):e}else this._userVar.named.set(t,e)},i=(t=>"number"==typeof t?this._userVar.numbered[t]:this._userVar.named.get(t))(t);if("number"==typeof e)switch(s){case"+=":if("number"==typeof i)a(t,i+e);else{if("string"!=typeof i)throw new TypeError("boolean に number は足せません");a(t,String(i)+e)}break;case"-=":if("number"!=typeof i)throw new TypeError("string/boolean から number は引けません");a(t,i-e);break;case"*=":if("number"!=typeof i)throw new TypeError("string/boolean に number はかけられません");a(t,i*e);break;case"/=":if("number"!=typeof i)throw new TypeError("string/boolean は number で割れません");a(t,i/e);break;default:a(t,e)}else if("string"==typeof e)switch(s){case"+=":a(t,i+e);break;case"=":a(t,e);break;default:throw new TypeError("文字列を -=, *=, /= で複合代入することはできません")}else switch(s){case"+=":if("string"!=typeof i)throw new TypeError("number/boolean に boolean を足せません");a(t,i+e);break;case"=":a(t,e);break;default:throw new TypeError("booleanを -=, *=, /= で複合代入することはできません")}this._messageWindow.update()}toAssignableValue(t){const e=t>0?Math.floor(t):Math.ceil(t),s=Math.max(Math.min(e,V.USER_VAR_NUM_MAX_VALUE),V.USET_VAR_NUM_MIN_VALUE);return this.isNotNumberTypeOrNaN(s)?0:s}isValidUserVarIndex(t){return"number"==typeof t&&t>=0&&t<V.USER_VAR_NUM&&(0|t)===t}isNotNumberTypeOrNaN(t){return"number"!=typeof t||t!=t}getUserVar(t){return this._userVar.numbered[t]}getUserNameVar(t){return this._userVar.named.get(t.toString())}getAllUserNameVar(){return Array.from(this._userVar.named)}recUserPosition(t,e){var s=this._player.getPosition().getPartsCoord();this.setUserVar(t,s.x),this.setUserVar(e,s.y)}jumpRecUserPosition(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];vt(s,`v[${t}]`)&&vt(a,`v[${e}]`)&&this.forcedJumpGate(s,a)}jumpSpecifiedXPos(t){const e=this._player.getPosition().getPartsCoord();this.forcedJumpGate(t,e.y)}jumpSpecifiedYPos(t){const e=this._player.getPosition().getPartsCoord();this.forcedJumpGate(e.x,t)}outputUserVar(t){console.log("Var["+t+"] = "+this._userVar.numbered[t])}setUserVarHP(t){this.setUserVar(t,this._player.getStatus().energy)}setUserVarHPMAX(t){this.setUserVar(t,this._player.getEnergyMax())}setUserVarAT(t,e){switch(e){case"bare":return void this.setUserVar(t,this._player.getStatusWithoutEquipments().strength);case"equipment":return void this.setUserVar(t,this._player.getStatusOfEquipments().strength);default:return void this.setUserVar(t,this._player.getStatus().strength)}}setUserVarDF(t,e){switch(e){case"bare":return void this.setUserVar(t,this._player.getStatusWithoutEquipments().defence);case"equipment":return void this.setUserVar(t,this._player.getStatusOfEquipments().defence);default:return void this.setUserVar(t,this._player.getStatus().defence)}}setUserVarMONEY(t){this.setUserVar(t,this._player.getStatus().gold)}setHPUserVar(t,e){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const s=this._userVar.numbered[t];if(vt(s,`v[${t}]`))return this._player.setEnergy(this.toValidStatusValue(s)),this._player.updateStatusValueBox(),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:e})?(this.gameover(),{isGameOver:!0}):{}}setHPMAXUserVar(t){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const e=this._userVar.numbered[t];vt(e,`v[${t}]`)&&(this._player.setEnergyMax(this.toValidStatusValue(e)),this._player.updateStatusValueBox())}setATUserVar(t){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const e=this._userVar.numbered[t];vt(e,`v[${t}]`)&&(this._player.setStrength(this.toValidStatusValue(e)),this._player.updateStatusValueBox())}setDFUserVar(t){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const e=this._userVar.numbered[t];vt(e,`v[${t}]`)&&(this._player.setDefence(this.toValidStatusValue(e)),this._player.updateStatusValueBox())}setMONEYUserVar(t){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const e=this._userVar.numbered[t];vt(e,`v[${t}]`)&&(this._player.setGold(this.toValidStatusValue(e)),this._player.updateStatusValueBox())}setUserVarStep(t){this.setUserVar(t,this._player.getMoveCount())}setUserVarVal(t,e){this.setUserVar(t,e)}setUserValOtherUserVal(t,e){this.setUserVar(t,this._userVar.numbered[e])}setUserValAdd(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];"boolean"!=typeof s&&"boolean"!=typeof a&&this.setUserVar(t,s+a)}setUserValSub(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];vt(s,`v[${t}]`)&&vt(a,`v[${e}]`)&&this.setUserVar(t,s-a)}setUserValMul(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];vt(s,`v[${t}]`)&&vt(a,`v[${e}]`)&&this.setUserVar(t,s*a)}setUserValDiv(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];vt(s,`v[${t}]`)&&vt(a,`v[${e}]`)&&this.setUserVar(t,0===a?0:s/a)}setUserValMod(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];vt(s,`v[${t}]`)&&vt(a,`v[${e}]`)&&this.setUserVar(t,0===a?0:s%a)}setUserValRandNum(t,e,s){this.setUserVar(t,Math.floor(Math.random()*this.toAssignableValue(e))+s)}speedChangeJudge(t){this._wwaData.permitChangeGameSpeed=t}execSetMacro(t="",e){const s=function(t,e){const s=Ee(t),a=s.match(ie);if(null!==a){const t=ge(a[2],e),s=ge(a[4],e);return me(pe(a[3],t,s),a[1])}const i=s.match(re);if(null!==i){const t=ge(i[1],e),s=ge(i[3],e);return me(pe(i[2],t,s),i[1])}throw new Error("setMacroのフォーマットを満たしていません: "+t)}(t,this.generateTokenValues(e.triggerParts)),{assignee:a,rawValue:i}=s;switch(a){case"energy":if(this._player.setEnergy(this.toValidStatusValue(i)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:!0}))return this._player.updateStatusValueBox(),this.gameover(),{isGameOver:!0};break;case"energyMax":this._player.setEnergyMax(this.toValidStatusValue(i));break;case"strength":this._player.setStrength(this.toValidStatusValue(i));break;case"defence":this._player.setDefence(this.toValidStatusValue(i));break;case"gold":this._player.setGold(this.toValidStatusValue(i));break;case"moveCount":this._player.setMoveCount(this.toValidStatusValue(i));break;case"variable":if(isNaN(s.index)||!this.isValidUserVarIndex(s.index))throw new Error("ユーザ変数の添字が範囲外です。");this.setUserVar(s.index,this.toAssignableValue(i));break;case"map":this.appearPartsEval(e.triggerParts.position,`${s.x}`,`${s.y}`,s.rawValue,y.MAP);break;case"mapObject":this.appearPartsEval(e.triggerParts.position,`${s.x}`,`${s.y}`,s.rawValue,y.OBJECT);break;case"item":this.setPlayerGetItem(s.boxIndex1to12,i);break;case"playerDirection":this._player.setDir(i)}return this._player.updateStatusValueBox(),{}}generateTokenValues(t){var e,s;return{totalStatus:this._player.getStatus(),bareStatus:this._player.getStatusWithoutEquipments(),itemStatus:this._player.getStatusOfEquipments(),energyMax:this._player.getEnergyMax(),moveCount:this._player.getMoveCount(),playTime:null!==(s=null===(e=this._playTimeCalculator)||void 0===e?void 0:e.calculateTimeMs())&&void 0!==s?s:0,userVars:this._userVar.numbered,playerCoord:this._player.getPosition().getPartsCoord(),playerDirection:this._player.getDir(),itemBox:this._player.getCopyOfItemBox(),partsId:null==t?void 0:t.id,partsType:null==t?void 0:t.type,partsPosition:null==t?void 0:t.position,map:this._wwaData.map,mapObject:this._wwaData.mapObject}}userVarUserIf(t,e){if(void 0===e[5])throw new Error("$if の引数不足 str="+e);const s=parseInt(e[0],10),a=parseInt(e[2],10);if(!this.isValidUserVarIndex(s)||!this.isValidUserVarIndex(a))throw new Error("判定対象のユーザ変数の添字が範囲外です!");const i=this._userVar.numbered[s],r=e[1],n=this._userVar.numbered[a];if(!vt(i,`v[${s}]`)||!vt(n,`v[${a}]`))return;const o=t=>parseInt(t,10)?y.MAP:y.OBJECT;if(this.compareUserVar(i,r,n)){const s=parseInt(e[3],10),a=e[4],i=e[5],r=o(e[6]);return void this.appearPartsEval(t,a,i,s,r)}if(void 0===e[9])return;const h=parseInt(e[7],10),c=e[8],_=e[9],l=o(e[10]);this.appearPartsEval(t,c,_,h,l)}compareUserVar(t,e,s){switch(e){case"==":return t===s;case"!=":return t!==s;case">=":return t>=s;case">":return t>s;case"<=":return t<=s;case"<":return t<s;default:throw new Error(`未定義の演算子です: ${e}`)}}setPlayerSpeedIndex(t){if(t<V.MIN_SPEED_INDEX||V.MAX_SPEED_INDEX<t)throw new Error("#set_speed の引数が異常です:"+t);this._player.isMoving()?this._playerAndObjectsStopWaitingGameSpeedChangeRequest={speedIndex:t}:(this._wwaData.gameSpeedIndex=this._player.setSpeedIndex(t),this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0)}setUserVarPlayTime(t){var e,s;this.setUserVar(t,null!==(s=null===(e=this._playTimeCalculator)||void 0===e?void 0:e.calculateTimeMs())&&void 0!==s?s:0)}hideStatus(t,e){if(t<0||t>W.length)throw new Error("隠すパラメータは0から3の間で指定してください。");this._changeStatusVisibility(W[t],!e),this._player.updateStatusValueBox()}varMap(t,e,s,a,i){if(!this.isValidUserVarIndex(a))throw new Error("対象のユーザ変数の添字が範囲外です");const r=this._userVar.numbered[a];if("number"!=typeof r)throw new Error("数値でないパーツ番号は指定できません");if(r<0)throw new Error("負のパーツ番号は指定できません");if(i===y.OBJECT&&r>=this.getObjectPartsNum())throw new Error("物体パーツ番号の最大値を超えるパーツ番号が指定されました");if(i===y.MAP&&r>=this.getMapPartsNum())throw new Error("背景パーツ番号の最大値を超えるパーツ番号が指定されました");this.appearPartsEval(t,e,s,r,i)}setItemboxBackgroundPosition(t){this._wwaData.imgItemboxX=t.x,this._wwaData.imgItemboxY=t.y,Array.prototype.forEach.call(Et("div.item-cell"),(e=>{e.style.backgroundPosition=`-${t.x*V.CHIP_SIZE}px -${t.y*V.CHIP_SIZE}px`}))}_getVirtualPadButton(t){if(!ht.includes(t))throw new ReferenceError(`WWAの仮想パッド ${t} は存在しません。`);return this._virtualPadButtonElements[t]}_setVirtualPadTouch(t){this._getVirtualPadButton(t).classList.add("wwa-virtualpad__button--pressed")}_setVirtualPadLeave(t){this._getVirtualPadButton(t).classList.remove("wwa-virtualpad__button--pressed")}_actionGamePadButtonItemMacro(){if(!this._wwaData.gamePadButtonItemTable)return!1;var t,e,s,a;for(t=this._wwaData.gamePadButtonItemTable.length,e=0;e<t;e++)if(s=this._wwaData.gamePadButtonItemTable[e]){switch(a=!1,e){case tt.BUTTON_CROSS_KEY_LEFT:this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_LEFT)&&(a=!0);break;case tt.BUTTON_CROSS_KEY_RIGHT:this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_RIGHT)&&(a=!0);break;case tt.BUTTON_CROSS_KEY_UP:this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_UP)&&(a=!0);break;case tt.BUTTON_CROSS_KEY_DOWN:this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_DOWN)&&(a=!0)}if(this._gamePadStore.buttonTrigger(e)&&(a=!0),a&&this.onselectitem(s))return!0}return!1}setGamePadButtonItemTable(t,e){var s,a;if(!this._wwaData.gamePadButtonItemTable)for(a in this._wwaData.gamePadButtonItemTable=[],tt)s=a,this._wwaData.gamePadButtonItemTable[s]=0;this._wwaData.gamePadButtonItemTable.length>t&&(this._wwaData.gamePadButtonItemTable[t]=e)}_checkSaveDataCompatibility(t,e,s){return void 0!==t&&t!==this._wwaData.worldName?as.UNMATCHED_WORLD_NAME:s&&s!==os(this._wwaData.worldName,this._wwaData.worldPassNumber)?as.UNMATCHED_WORLD_PASS_NUMBER:this._isDisallowLoadOldSave&&e!==this.checkOriginalMapString?as.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:null}isVisibleStatus(t){switch(t){case"energy":return this._wwaData.isVisibleStatusEnergy;case"strength":return this._wwaData.isVisibleStatusStrength;case"defence":return this._wwaData.isVisibleStatusDefence;case"gold":return this._wwaData.isVisibleStatusGold;default:throw new Error("存在しないステータスが与えられました")}}_changeStatusVisibility(t,e){switch(t){case"energy":return void(this._wwaData.isVisibleStatusEnergy=e);case"strength":return void(this._wwaData.isVisibleStatusStrength=e);case"defence":return void(this._wwaData.isVisibleStatusDefence=e);case"gold":return void(this._wwaData.isVisibleStatusGold=e);default:throw new Error("存在しないステータスが与えられました")}}shouldApplyGameOver({isCalledByMacro:t}){return t?"default"===this._wwaData.gameOverPolicy:"default"===this._wwaData.gameOverPolicy||"except-macro"===this._wwaData.gameOverPolicy}getEnemyStatus(){return this._monster?this._monster.status:-1}setEnemyStatus(t){if(!this._monster)throw new Error("敵が存在しません");this._monster.setStatus(t)}getGameStatus(){var t,e;return{totalStatus:this._player.getStatus(),bareStatus:this._player.getStatusWithoutEquipments(),itemStatus:this._player.getStatusOfEquipments(),energyMax:this._player.getEnergyMax(),moveCount:this._player.getMoveCount(),playTime:null!==(e=null===(t=this._playTimeCalculator)||void 0===t?void 0:t.calculateTimeMs())&&void 0!==e?e:0,userVars:this._userVar.numbered,playerCoord:this._player.getPosition().getPartsCoord(),playerDirection:this._player.getDir(),cameraCoord:this._camera.getPosition().getPartsCoord(),itemBox:this._player.getCopyOfItemBox(),wwaData:this._wwaData}}_debugEvalString(){if(this._player.isControllable())try{const t=this._debugConsoleElement.querySelector(".console-text-area");if(!(t instanceof HTMLTextAreaElement))throw new Error("要素 #wwa-debug-console > .console-text-area が textarea 要素でありません");this._execEvalString(t.value)}catch(t){console.error(t),this.registerSystemMessagePage("解析中にエラーが発生しました :\n"+t.message)}}_execEvalString(t,e){try{const s=this.convertWwaNodes(t);e&&this.evalCalcWwaNodeGenerator.setTriggerParts(e.id,e.type,e.position),this.evalCalcWwaNodeGenerator.evalWwaNodes(s),this.evalCalcWwaNodeGenerator.clearTemporaryState()}catch(t){console.error(t),this.registerSystemMessagePage("解析中にエラーが発生しました :\n"+t.message)}}movePlayer(t){this._player.controll(t)}isPlayerWaitingMessage(){return this._player.isWaitingMessage()}_loadSystemMessage(t){if(this._wwaData.customSystemMessages[t])return this._wwaData.customSystemMessages[t];const e=i[t];if(e.mapdataParams)switch(e.mapdataParams.messageArea){case"message":{const t=this._wwaData.message[e.mapdataParams.index];return""===t?e.defaultText:t}case"systemMessage":{const t=this._wwaData.systemMessage[e.mapdataParams.index];return""===t?e.defaultText:t}default:throw new Error("システムエラー: システムメッセージの設定がおかしいようです")}return e.defaultText}resolveSystemMessage(t){const e=this._loadSystemMessage(t);switch(t){case a.ITEM_SELECT_TUTORIAL:return e.replaceAll("%HOW_TO_USE_ITEM%",(()=>{switch(this.userDevice.device){case S.PC:return"右のボックスを選択する";case S.VR:return"右のボックスをクリックする";case S.SP:return"右のボックスをタップする";case S.GAME:switch(this.userDevice.os){case v.NINTENDO:return"Xボタンを押すか、右のボックスをタップする";case v.PLAY_STATION:return"△ボタンを押す";case v.XBOX:return"Yボタンを押す";default:return"右のボックスを選択する"}default:return"右のボックスを選択する"}})());case a.GAME_SPEED_CHANGED:{const t=this._player.getSpeedIndex();return e.replaceAll("%GAME_SPEED_NAME%",k[t]).replaceAll("%HIGH_SPEED_MESSAGE%",this.isBattleSpeedIndexForQuickBattle(t)?"戦闘も速くなります。\n":"").replaceAll("%MAX_SPEED_INDEX%",String(V.MAX_SPEED_INDEX+1)).replaceAll("%GAME_SPEED_INDEX%",String(t+1)).replaceAll("%SPEED_UP_BUTTON%",this.userDevice.os===v.NINTENDO?"+ボタン":"Pキー").replaceAll("%SPEED_DOWN_BUTTON%",this.userDevice.os===v.NINTENDO?"-ボタン":"Iキー")}default:return e}}overwriteSystemMessage(t,e){this._wwaData.customSystemMessages[t]=e}}var Wi=!1;function Vi(){if(navigator.userAgent.match(/(?:msie|trident)/i)||navigator.userAgent.match(/edge/i))return void alert("このゲームをプレイするには、Google Chrome や Mozilla Firefox などの最新のブラウザでこのページを開いてください。\nご利用の環境のサポートは、既に終了しています。");Array.prototype.forEach.call(Et("a.wwa-copyright"),(t=>{t.addEventListener("click",(()=>{Wi=!0}))})),window.addEventListener("beforeunload",(t=>{var e="このページを離れますか?";if(Wi)return Wi=!1,t.returnValue=e,e}));const t=dt("wwa-wrapper").getAttribute("data-wwa-title-img"),e=dt("wwa-wrapper").getAttribute("data-wwa-virtualpad-enable"),s=null!==e&&null!==e.match(/^true$/i);Ye(dt("wwa-wrapper"),t,s);var a=dt("wwa-wrapper").getAttribute("data-wwa-mapdata"),i=dt("wwa-wrapper").getAttribute("data-wwa-audio-dir"),r=dt("wwa-wrapper").getAttribute("data-wwa-var-dump-elm"),n=null,o="true"===dt("wwa-wrapper").getAttribute("data-wwa-display-user-vars"),h=dt("wwa-wrapper").getAttribute("data-wwa-user-var-names-file");dt("wwa-wrapper").hasAttribute("data-wwa-var-dump-elm")&&o&&(n=function(t){const e=pt(t);return e instanceof HTMLElement?(e.classList.add("wwa-vardump-wrapper"),e.appendChild(Ai({kind:"named"})),e.appendChild(Ai({kind:"numbered"})),e):null}(r));var c=!0;dt("wwa-wrapper").getAttribute("data-wwa-urlgate-enable").match(/^false$/i)&&(c=!1);var _=dt("wwa-wrapper").getAttribute("data-wwa-classic-mode-enable"),l=!1;null!==_&&_.match(/^true$/i)&&(l=!0);var u=!0,d=dt("wwa-wrapper").getAttribute("data-wwa-item-effect-enable");null!==d&&d.match(/^false$/i)&&(u=!1);let p=!1;const m=dt("wwa-wrapper").getAttribute("data-wwa-use-go-to-wwa");null!==m&&m.match(/^true$/i)&&(p=!0);const E=dt("wwa-wrapper").getAttribute("data-wwa-virtualpad-viewport-fit-enable");Fe()&&null!==E&&E.match(/^true$/i)&&(!function(){const t=document.getElementsByTagName("head")[0];let e=document.createElement("meta");e.setAttribute("name","viewport"),t.appendChild(e),ut()}(),window.addEventListener("resize",ut));const g=dt("wwa-wrapper").getAttribute("data-wwa-virtualpad-controller-elm"),w=s&&g?mt(g):null,f=(()=>{const t=dt("wwa-wrapper").getAttribute("data-wwa-disallow-load-old-save");return!(null===t||!t.match(/^true$/i))})(),y=dt("wwa-wrapper").getAttribute("data-wwa-user-defined-scripts-file");Bi=new ki({mapdata:a,urlGateEnable:c,titleImg:null!=t?t:void 0,audioDir:i,classicModeEnable:l,itemEffectEnable:u,useGoToWwa:p,disallowLoadOldSave:f,varDumpElm:n,userVarNamesFile:h,displayUserVars:o,virtualPadEnable:s,virtualPadControllerElm:w,userDefinedScriptsFile:y})}"complete"===document.readyState?setTimeout(Vi):window.addEventListener("load",(function(){setTimeout(Vi)}))}()}();
107
+ ※変数表示が有効になっています。
108
+ 公開前に必ずHTMLファイル内の
109
+ data-wwa-display-user-vars="true"
110
+ を消してください。`),this._messageWindow.setMessage(n),this._messageWindow.show(),this._setProgressBar(jc(4,4,ve.GAME_INIT));var i=setInterval(()=>{this._keyStore.update(),this._gamePadStore.update(),this._virtualPadStore.update(),this._yesNoJudgeInNextFrame===O.UNSELECTED&&(this._keyStore.getKeyState(B.KEY_ENTER)===z.KEYDOWN||this._keyStore.getKeyState(B.KEY_Y)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this._yesNoJudgeInNextFrame=O.YES:(this._keyStore.getKeyState(B.KEY_N)===z.KEYDOWN||this._keyStore.getKeyState(B.KEY_ESC)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&(this._yesNoJudgeInNextFrame=O.NO)),this._yesNoJudgeInNextFrame===O.YES?(clearInterval(i),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout(()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=O.UNSELECTED,this._yesNoJudgeInNextFrame=O.UNSELECTED,this._isLoadedSound=!0,this._setLoadingMessage(t,ve.AUDIO),this.loadSound().then(()=>window.requestAnimationFrame(this.soundCheckCaller))},L.YESNO_PRESS_DISP_FRAME_NUM*L.DEFAULT_FRAME_INTERVAL)):this._yesNoJudgeInNextFrame===O.NO&&(clearInterval(i),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout(()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=O.UNSELECTED,this._yesNoJudgeInNextFrame=O.UNSELECTED,this._isLoadedSound=!1,this.openGameWindow()},L.YESNO_PRESS_DISP_FRAME_NUM*L.DEFAULT_FRAME_INTERVAL))},L.DEFAULT_FRAME_INTERVAL)}else clearInterval(i),this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=O.UNSELECTED,this._yesNoJudgeInNextFrame=O.UNSELECTED,this._isLoadedSound=!0,this.loadSound().then(()=>window.requestAnimationFrame(this.soundCheckCaller))}),console.log(`WWA_START`),this.wwaCustomEvent(`wwa_start`);let d=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_WWA_START;if(d)try{this.evalCalcWwaNodeGenerator.evalWwaNode(d)}catch(e){alert(`CALL_WWA_START でエラーが発生しました。\n\n詳細:\n${e.message}`),console.error(e.message)}})}setEvalCalcWwaNodeEarnedItem(e,t){this.evalCalcWwaNodeGenerator.setEarnedItem(e,t)}clearEvalCalcWwaNodeEarnedItem(){this.evalCalcWwaNodeGenerator.clearEarnedItem()}callGetItemUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callGetItemFullUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM_FULL;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callUseItemUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_USE_ITEM;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callJumpGateUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_JUMPGATE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callUserDefinedBattleDamageFunction(e,t){let n=this.getUserDefinedDamageFunctionNode(e);if(n){this.evalCalcWwaNodeGenerator.setBattleDamageCalculationMode(t);try{let t=this.evalCalcWwaNodeGenerator.evalWwaNode(n),r=this.evalCalcWwaNodeGenerator.state.battleDamageCalculation.aborted;return this.evalCalcWwaNodeGenerator.clearBattleDamageCalculationMode(),r?{damage:0,aborted:r}:typeof t==`number`?{damage:this.toAssignableValue(t),aborted:r}:(console.warn(`${e} のダメージ計算結果が数値になりませんでした。(結果: ${t})。このターンのダメージは無効になります。`),{damage:0,aborted:r})}catch(t){return console.warn(`${e} のダメージ計算中にエラーが発生しました。このターンのダメージは無効になります。`),console.warn(t),{damage:0,hasError:!0}}}}getUserDefinedDamageFunctionNode(e){return this.userDefinedFunctions?.[{playerToEnemy:`CALC_PLAYER_TO_ENEMY_DAMAGE`,enemyToPlayer:`CALC_ENEMY_TO_PLAYER_DAMAGE`}[e]]}callMoveUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_MOVE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callCameraMoveUserDefineFunction(){let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CAMERA_MOVE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}getUserScript(e){return this.userDefinedFunctions&&this.userDefinedFunctions[e]||null}setUserScript(e){if(e.kind!==`data`){console.error(e);return}this.convertWwaNodes(e.data).forEach(e=>{if(e.type===`DefinedFunction`&&this.userDefinedFunctions){let t=e.functionName;this.userDefinedFunctions[t]=e.body}})}callUserScript(e){let t=this.getUserScript(e);t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}setUserVarStatus(e,t){if(e){if(e.kind===`noFileSpecified`){bc(this._dumpElement,e.errorMessage,!1);return}if(e.kind!==`data`){this._userVarNameListRequestError=e,bc(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);return}if(!e.data||typeof e.data!=`object`){this._userVarNameListRequestError={kind:`notObject`,errorMessage:`ユーザ変数一覧 ${t} が正しい形式で書かれていません。`},bc(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);return}this._userVarNameList=this.convertUserVariableNameListToArray(e.data),yc(this._dumpElement,this._userVarNameList)}}convertUserVariableNameListToArray(e){let t=Array(L.USER_VAR_NUM);for(let e=0;e<L.USER_VAR_NUM;e++)t[e]=void 0;return Object.keys(e).forEach(n=>{let r=parseInt(n,10);typeof e[n]!=`string`||typeof n!=`string`||isNaN(r)||r<0||r>=L.USER_VAR_NUM||(t[r]=e[n])}),t}_setProgressBar(e){this._hasTitleImg&&(e.stage<=L.LOAD_STAGE_MAX_EXCEPT_AUDIO?(H(`progress-message-container`).textContent=e.stage===L.LOAD_STAGE_MAX_EXCEPT_AUDIO?`World Name: `+this._wwaData.worldName:ye[e.stage],H(`progress-bar`).style.width=(1*e.stage+e.current/e.total*1)/(L.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*L.MAP_WINDOW_WIDTH+`px`,H(`progress-disp`).textContent=((1*e.stage+e.current/e.total*1)/(L.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*100).toFixed(2)+`%`):(this._usePassword?H(`progress-message-container`).textContent=`効果音/BGMを読み込んでいます。(スペースキーでスキップ)`:H(`progress-message-container`).textContent=`ゲームデータを読み込んでいます。`,H(`progress-bar-audio`).style.width=e.current*L.MAP_WINDOW_WIDTH/e.total+`px`,H(`progress-disp`).textContent=(e.current/e.total*100).toFixed(2)+`%`))}_setLoadingMessage(e,t){if(!this._hasTitleImg)if(t<=0)e.font=xe.TITLE+`px `+L.LOADING_FONT,e.fillText(be[0],R.TITLE_X,R.TITLE_Y),e.font=xe.FOOTER+`px `+L.LOADING_FONT,e.fillText(`WWA Wing Ver.4.0.3`,R.FOOTER_X,R.COPYRIGHT_Y);else if(t<=be.length)e.font=xe.LOADING+`px `+L.LOADING_FONT,t>=2&&(e.clearRect(R.LOADING_X,R.LOADING_Y+R.LINE*(t-3),L.SCREEN_WIDTH-R.LOADING_X,R.LINE),e.fillText(be[t-1]+` Complete!`,R.LOADING_X,R.LOADING_Y+R.LINE*(t-2))),t<be.length&&e.fillText(be[t],R.LOADING_X,R.LOADING_Y+R.LINE*(t-1)),t==1&&(e.font=xe.FOOTER+`px `+L.LOADING_FONT,e.fillText(`World Name `+this._wwaData.worldName,R.FOOTER_X,R.WORLD_Y),e.fillText(` (Map data Ver. `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10+`)`,R.FOOTER_X,R.WORLD_Y+R.LINE));else{var n=this._isSkippedSoundMessage?R.LOADING_Y+R.LINE*(be.length-1):R.FOOTER_Y;t<=ve.AUDIO?e.fillText(`Now Sound data Loading .....`,R.LOADING_X,n):(e.clearRect(R.LOADING_X,n-R.LINE,L.SCREEN_WIDTH-R.LOADING_X,R.LINE),e.fillText(`Now Sound data Loading ..... Complete!`,R.LOADING_X,n))}}_setErrorMessage(e,t){this._hasTitleImg?alert(e):(t.clearRect(0,0,L.SCREEN_WIDTH,L.SCREEN_HEIGHT),t.font=xe.ERRROR+`px `+L.LOADING_FONT,e.split(`
111
+ `).forEach(function(e,n){t.fillText(e,R.ERROR_X,R.ERROR_Y+R.LINE*n)}))}createSoundInstance(e){if(e===0||e===p.NO_SOUND||this._soundMap.has(e))return;let t=`${this._audioDirectory}${e}.${this.audioExtension}`;this._soundMap.set(e,new ea(e,t,this.audioContext,this.audioGain))}async loadSound(){this._soundMap=new Map,console.log(`(D) サウンドのロードを開始します。`),console.log(`(D-1) システムサウンドのロードを開始します。`),this.createSoundInstance(p.DECISION),this.createSoundInstance(p.ATTACK),console.log(`(D-2) 背景パーツ記載のサウンドのロードを開始します。`);for(let e=1;e<this._wwaData.mapPartsMax;e++){let t=this._wwaData.mapAttribute[e][L.ATR_SOUND];this.createSoundInstance(t)}console.log(`(D-3) 物体パーツ記載のサウンドのロードを開始します。`);for(let e=1;e<this._wwaData.objPartsMax;e++){if(this._wwaData.objectAttribute[e][L.ATR_TYPE]===L.OBJECT_RANDOM)continue;let t=this._wwaData.objectAttribute[e][L.ATR_SOUND];this.createSoundInstance(t)}console.log(`(D-4) $sound マクロ記載のサウンドのロードを開始します。`),this._wwaData.message.forEach(e=>e.split(`
112
+ `).forEach(e=>{let t=e.match(/^\$sound=(\d+)/);if(!t||t.length<2)return;let n=parseInt(t[1],10);!isNaN(n)&&0<n&&n<p.NO_SOUND&&this.createSoundInstance(n)})),console.log(`(D-4) マップから抽出したサウンド番号一覧:`,Array.from(this._soundMap.keys())),await this.loadCustomSound(),console.log(`(D-6) 次のサウンドがロードされます:`,Array.from(this._soundMap.keys()).sort((e,t)=>typeof e==`number`?typeof t==`number`?e-t:-1:typeof t==`number`?1:e.localeCompare(t))),this._wwaData.bgm=0,this._soundLoadSkipFlag=!1}async loadCustomSound(){let e=this._audioDirectory+`sound-list.json`;console.log(`(D-5) サウンドリストファイル: ${e} の解析を開始します。`);let t=await Un(e);if(t?.kind!==`data`||!Array.isArray(t.data)){console.warn(`(D-5) カスタムオーディオファイルのリストの取得に失敗しました。リストファイルが存在するか、正しい形式で書かれているかを確認してください。 (リストファイル: ${e})`);return}t.data.forEach(e=>{switch(typeof e){case`number`:this.createSoundInstance(e);return;case`string`:{if(e.startsWith(`#`))return;let t=Number(e);if(e.includes(`/`)||e.includes(`\\`)||t<=0||t>2**53-1||t==p.NO_SOUND){console.warn(`(D-5) 無効なサウンドIDが指定されました: ${e}`);return}if(!Number.isNaN(t)){console.warn(`(D-5) 文字列で数値のサウンドIDが与えられました。数値として解釈します。 (指定されたサウンドID: `+e+`)`),this.createSoundInstance(t);return}this.createSoundInstance(e);return}case`object`:if(!e)return;if(Array.isArray(e)){if(e.length!==2){console.warn(`(D-5) 配列形式でサウンドIDを与える場合は2要素で与えてください: ${JSON.stringify(e)}`);return}try{e.forEach(t=>{if(typeof t!=`number`||t<=0||t>2**53-1)throw Error(`(D-5) 無効なサウンドIDが指定されました: ${JSON.stringify(e)}`)})}catch(e){console.warn(e.message);return}let[t,n]=e;if(t>n){console.warn(`(D-5) サウンドIDが配列形式で与えられていますが、from (${t}) to (${n}) より大きくなっています: ${JSON.stringify(e)}`);return}for(let e=t;e<=n;e++){if(e==p.NO_SOUND){console.warn(`(D-5) サウンドID ${e} が範囲に含まれていますが、これは停止用に使用している値で無効なのでスキップします。`);continue}this.createSoundInstance(e)}return}console.warn(`(D-5) サウンドIDがオブジェクトのようですが、現在この記法はサポートされていません: ${JSON.stringify(e)}`);return;default:console.warn(`(D-5) この形式のサウンドIDはサポートされていません: ${e}`);return}})}checkAllSoundLoaded(){let e=0,t=0;if(!this._hasTitleImg)var n=this._cvsCover.getContext(`2d`);if(this._keyStore.update(),this._keyStore.getKeyState(B.KEY_SPACE)===z.KEYDOWN&&(this._soundLoadSkipFlag=!0),this._soundMap.forEach(n=>{!n||n.isError()||(t++,n.hasData()&&e++)}),e<t&&!this._soundLoadSkipFlag){this._setProgressBar(jc(e,t,ve.AUDIO)),window.requestAnimationFrame(this.soundCheckCaller);return}this._setProgressBar(jc(L.SOUND_MAX,L.SOUND_MAX,ve.AUDIO)),this._setLoadingMessage(n,ve.FINISH),console.log(`(D-7) サウンドのロードが完了しました。`),this.openGameWindow()}_setSoundLoadedCheckTimer(e){let t=this._soundMap.get(e);!t||t.isError()||(this.soundLoadedCheckTimer=window.setInterval(()=>{this._wwaData.bgm===e?t.hasData()?(t.play(this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=e,this._clearSoundLoadedCheckTimer()):t.isError()&&this._clearSoundLoadedCheckTimer():this._clearSoundLoadedCheckTimer()},100))}_clearSoundLoadedCheckTimer(){this.soundLoadedCheckTimer&&=(clearInterval(this.soundLoadedCheckTimer),void 0)}getSoundEnabled(){return this._isLoadedSound}checkSoundEnabled(e){this._soundMap.get(e).hasData()}stopBgm(){let e=this._soundMap.get(this._wwaData.bgm);e?.isPlaying()&&e.pause(),this._wwaData.bgm=0}stopSound(e,t){if(this.soundIsBgm(e)){t.includeBgm&&this._wwaData.bgm===e&&this.stopBgm();return}let n=this._soundMap.get(e);n?.isPlaying()&&n.pause()}stopAllSound(e){this._soundMap.keys().forEach(t=>this.stopSound(t,e))}playSound(e,t={}){let n=this.soundIsBgm(e),r=t.loopPlaying===void 0?n:t.loopPlaying;if(!this._isLoadedSound){e===p.NO_SOUND?this._wwaData.bgm=0:n&&(this._wwaData.bgm=r?e:0);return}if(typeof e==`number`&&(e<0||e>=L.SOUND_MAX)){console.warn(`サウンド番号が範囲外です。`);return}if(n&&this._wwaData.bgm===e||((e===p.NO_SOUND||n)&&this._wwaData.bgm!==0&&this.stopBgm(),e===0||e===p.NO_SOUND))return;let i=this._soundMap.get(e);if(!i){console.warn(`サウンドID ${e} は、マップデータにも ${this._audioDirectory}sound-list.json にも出現しないため、再生できません。`);return}i.hasData()?n?(i?.play(t.bgmDelayDurationMs??this._wwaData.bgmDelayDurationMs,r,()=>{e===this._wwaData.bgm&&!r&&(this._wwaData.bgm=0)}),this._wwaData.bgm=e):i?.play(0,r):n&&(this._wwaData.bgm=r?e:0,this._setSoundLoadedCheckTimer(e))}playDecisionSound(){this.playSound(this._wwaData.decisionSound??p.DECISION)}playAttackSound(){this.playSound(this._wwaData.attackSound??p.ATTACK)}setDecisionSound(e){if(this.soundIsBgm(e)){console.warn(`決定音にBGMを設定することはできません。`);return}this._wwaData.decisionSound=e}setAttackSound(e){if(this.soundIsBgm(e)){console.warn(`攻撃音にBGMを設定することはできません。`);return}this._wwaData.attackSound=e}soundIsBgm(e){switch(typeof e){case`number`:return e>=p.BGM_LB;case`string`:return e.match(/^bgm_/i)!==null;default:throw TypeError(`Invalid soundId type: ${typeof e}`)}}openGameWindow(){var e=this._player.getPosition();H(`wwa-cover`).style.opacity=`0`,this.getObjectIdByPosition(e)!==0&&this._player.setPartsAppearedFlag();var t=H(`wwa-wrapper`).getAttribute(`data-wwa-resume-savedata`);if(typeof t==`string`&&(this._useSuspend=!0,t)){var n=Vi.getStartWWAData(t);this._restartData!==n&&(this._applyQuickLoad(n),this._wwaSave.resumeStart())}setTimeout(()=>{H(`wwa-wrapper`).removeChild(H(`wwa-cover`)),this._main()},L.SPLASH_SCREEN_DISP_MILLS)}onselectitem(e){if(this._player.canUseItem(e)){H(`item`+(e-1)).classList.add(`onpress`),this.playDecisionSound();let r=this.resolveSystemMessage(g.CONFIRM_USE_ITEM);if(r===`BLANK`){this._player.readyToUseItem(e);var t=this._player.useItem(),n=this.getObjectAttributeById(t,L.ATR_STRING);this.registerPageByMessage(this.getMessageById(n),{showChoice:!1,isSystemMessage:!1,triggerParts:{id:t,type:A.OBJECT,position:this._player.getPosition().getPartsCoord()}})}else this.registerPageByMessage(r,{showChoice:!0,isSystemMessage:!0}),this._yesNoChoiceCallInfo=N.CALL_BY_ITEM_USE,this._yesNoUseItemPos=e;return!0}return!1}onselectbutton(e,t=!1,n=!1){var r=H(F[e]);if(this.playDecisionSound(),this._itemMenu.close(),r.classList.add(`onpress`),e===P.QUICK_LOAD)switch(this._yesNoChoiceCallInfo=this._wwaSave.getFirstSaveChoiceCallInfo(t),this._yesNoChoiceCallInfo){case N.CALL_BY_QUICK_LOAD:case N.CALL_BY_LOG_QUICK_LOAD:var i,a=``;switch(this._yesNoChoiceCallInfo){case N.CALL_BY_QUICK_LOAD:a=`読み込むデータを選んでください。`,this._wwaSave.selectDBSaveDataList();break;case N.CALL_BY_LOG_QUICK_LOAD:a=`読み込むオートセーブを選んでください。`,this._wwaSave.selectLogSaveDataList();break}switch(i=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._messageWindow.createSaveDom(),i){case N.CALL_BY_LOG_QUICK_LOAD:this.registerSystemMessagePage(a+`
113
+ →Noでオートセーブ復帰画面に移ります。`,!0);break;case N.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage(a+`
114
+ →Noでデータ復帰用パスワードの
115
+  入力選択ができます。`,!0);break;case N.NONE:this.registerSystemMessagePage(a,!0);break}break;case N.CALL_BY_PASSWORD_LOAD:this.onpasswordloadcalled();break}else if(e===P.QUICK_SAVE)this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
116
+ 使用できません。`):(this._wwaSave.selectDBSaveDataList(),this._messageWindow.createSaveDom(),this._usePassword?(this.registerSystemMessagePage(`データの一時保存先を選んでください。
117
+ →Noでデータ復帰用パスワードの
118
+  表示選択ができます。`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_QUICK_SAVE):(this.registerSystemMessagePage(`データの一時保存先を選んでください。`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_QUICK_SAVE));else if(e===P.RESTART_GAME)this.registerSystemMessagePage(`初めからスタートしなおしますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_RESTART_GAME;else if(e===P.GOTO_WWA)if(n)this._bottomButtonType!==w.GOTO_WWA&&H(F[P.GOTO_WWA]).classList.remove(`onpress`),this.registerSystemMessagePage(`WWAの公式サイトを開きますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_GOTO_WWA;else switch(this._bottomButtonType){case w.GOTO_WWA:this._yesNoChoiceCallInfo=N.CALL_BY_GOTO_WWA,this.registerSystemMessagePage(`WWAの公式サイトを開きますか?`,!0);break;case w.GAME_END:this._yesNoChoiceCallInfo=N.CALL_BY_END_GAME,this.registerSystemMessagePage(`WWAゲームを終了しますか?`,!0);break;case w.BATTLE_REPORT:this.launchBattleEstimateWindow();break}}onpasswordloadcalled(){this._usePassword?(H(F[P.QUICK_LOAD]).classList.add(`onpress`),this.registerSystemMessagePage(`データ復帰用のパスワードを入力しますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_PASSWORD_LOAD):this.registerSystemMessagePage(`セーブデータがありません。`)}onpasswordsavecalled(){H(F[P.QUICK_SAVE]).classList.add(`onpress`),this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
119
+ 使用できません。`):this._useSuspend?(this.registerSystemMessagePage(`ゲームを中断しますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_SUSPEND):this._usePassword&&(this.registerSystemMessagePage(`データ復帰用のパスワードを表示しますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_PASSWORD_SAVE)}onpasssuspendsavecalled(){H(F[P.QUICK_SAVE]).classList.add(`onpress`),this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
120
+ 使用できません。`):(this.registerSystemMessagePage(`ゲームを中断しますか?`,!0),this._yesNoChoiceCallInfo=N.CALL_BY_SUSPEND)}onitemmenucalled(){this.registerSystemMessagePage(`右のメニューを選択してください。`),this._messageWindow.setItemMenuChoice(!0),this.playDecisionSound(),this._itemMenu.openView()}onchangespeed(e){if(!this._wwaData.permitChangeGameSpeed){this.registerSystemMessagePageByKey(g.GAME_SPEED_CHANGE_DISABLED);return}switch(e){case ae.UP:this._player.speedUp();break;case ae.DOWN:this._player.speedDown();break}let t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CHANGE_SPEED;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t),this.registerSystemMessagePageByKey(g.GAME_SPEED_CHANGED)}isBattleSpeedIndexForQuickBattle(e){return L.QUICK_BATTLE_SPEED_INDECIES.some(t=>t===e)}_main(){this._temporaryInputDisable=!1,this._stopUpdateByLoadFlag=!1,this._keyStore.update(),this._mouseStore.update(),this._virtualPadStore.update(),this._gamePadStore.update();let e=this._reservedPartsAppearances.length>0;if(this._reservedPartsAppearances.forEach(e=>this.appearParts(e)),this._reservedPartsAppearances=[],this._waitFrame-- >0){e&&this._drawAll(),window.requestAnimationFrame(this.mainCaller);return}if(this._waitFrame=0,this._yesNoJudgeInNextFrame!==void 0&&(this._yesNoJudge=this._yesNoJudgeInNextFrame,this._yesNoJudgeInNextFrame=void 0),this._clearFacesInNextFrame&&=(this.clearFaces(),!1),this._pageExecuting=!0,this._pages.length>0&&this._shouldSetNextPage)for(this._shouldSetNextPage=!1;this._pages.length>0;){let e=this._pages.shift(),t=rr.executeNodes(e.firstNode,e.triggerParts);if(t.isError===!0){this._isLastPage=!1;break}this._reservedMoveMacroTurn!==void 0&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0);let n=t.messages.filter(e=>!e.isEmpty()),r=!!e.scoreOption;if(r&&n.length===0&&n.push(this._createSimpleMessage(`スコアを表示します。`,e.triggerParts)),e.additionalItems&&e.additionalItems.forEach(e=>{switch(e.type){case`face`:this.addFace(e.data.face)}}),n.length>0){let t=n.map(e=>e.generatePrintableMessage()).join(`
121
+ `);this._messageWindow.setMessage(t),this._messageWindow.setYesNoChoice(e.showChoice),this._messageWindow.setPositionByPlayerPosition(this._faces.length!==0,r,e.isSystemMessage,this._player.getPosition(),this._camera.getPosition()),r&&(this._lastScoreOptions=e.scoreOption,this.updateScore(e.scoreOption),this._scoreWindow.show()),this._player.setMessageWaiting(),this._isLastPage=e.isLastPage,this._shouldSetNextPage=!1;break}if(this._pages.length===0){if(this._hideMessageWindow().newPageGenerated||this._dispatchWindowClosedTimeRequests().newPageGenerated)continue;this.clearFaces();break}}if(this._pageExecuting=!1,this._reservedJumpDestination&&=(this._player.jumpTo(this._reservedJumpDestination),void 0),this._player.mainFrameCount(),this._player.isControllable()){if(this._wwaData.disableSaveFlag||this._wwaSave.isAutoSaveFrame(this._player)&&this._quickSave(N.CALL_BY_LOG_QUICK_SAVE),this._player.isDelayFrame())this._player.updateDelayFrame();else{let e=this._player.getDir(),t=[NaN,NaN,B.KEY_DOWN,NaN,B.KEY_LEFT,NaN,B.KEY_RIGHT,NaN,B.KEY_UP,NaN][e];this._actionGamePadButtonItemMacro()||(this._keyStore.getKeyStateForControllPlayer(B.KEY_LEFT)===z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(T.LEFT):(this._player.controll(T.LEFT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(B.KEY_UP)===z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(T.UP):(this._player.controll(T.UP),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(B.KEY_RIGHT)===z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(T.RIGHT):(this._player.controll(T.RIGHT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(B.KEY_DOWN)===z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(T.DOWN):(this._player.controll(T.DOWN),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(T.LEFT)===Ee.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(T.LEFT):(this._player.controll(T.LEFT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(T.UP)===Ee.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(T.UP):(this._player.controll(T.UP),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(T.RIGHT)===Ee.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(T.RIGHT):(this._player.controll(T.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(T.DOWN)===Ee.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(T.DOWN):(this._player.controll(T.DOWN),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(t)?this._checkTurnKeyPressed()?this._player.setDir(e):(this._player.controll(e),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(B.KEY_LEFT)?this._checkTurnKeyPressed()?this._player.setDir(T.LEFT):(this._player.controll(T.LEFT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(B.KEY_UP)?this._checkTurnKeyPressed()?this._player.setDir(T.UP):(this._player.controll(T.UP),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(B.KEY_RIGHT)?this._checkTurnKeyPressed()?this._player.setDir(T.RIGHT):(this._player.controll(T.RIGHT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(B.KEY_DOWN)?this._checkTurnKeyPressed()?this._player.setDir(T.DOWN):(this._player.controll(T.DOWN),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(T.LEFT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(T.LEFT):(this._player.controll(T.LEFT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(T.UP)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(T.UP):(this._player.controll(T.UP),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(T.RIGHT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(T.RIGHT):(this._player.controll(T.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(T.DOWN)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(T.DOWN):(this._player.controll(T.DOWN),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_LEFT)?this._gamePadStore.buttonPressed(V.BUTTON_INDEX_B)?this._player.setDir(T.LEFT):(this._player.controll(T.LEFT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_UP)?this._gamePadStore.buttonPressed(V.BUTTON_INDEX_B)?this._player.setDir(T.UP):(this._player.controll(T.UP),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_RIGHT)?this._gamePadStore.buttonPressed(V.BUTTON_INDEX_B)?this._player.setDir(T.RIGHT):(this._player.controll(T.RIGHT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_DOWN)?this._gamePadStore.buttonPressed(V.BUTTON_INDEX_B)?this._player.setDir(T.DOWN):(this._player.controll(T.DOWN),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_LEFT`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(T.LEFT):(this._player.controll(T.LEFT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_UP`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(T.UP):(this._player.controll(T.UP),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_RIGHT`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(T.RIGHT):(this._player.controll(T.RIGHT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton(`BUTTON_DOWN`)?this._virtualPadStore.checkTouchingButton(`BUTTON_ESC`)?this._player.setDir(T.DOWN):(this._player.controll(T.DOWN),this._objectMovingDataManager.update()):this._keyStore.getKeyState(B.KEY_1)===z.KEYDOWN?this.onselectitem(1):this._keyStore.getKeyState(B.KEY_2)===z.KEYDOWN?this.onselectitem(2):this._keyStore.getKeyState(B.KEY_3)===z.KEYDOWN?this.onselectitem(3):this._keyStore.getKeyState(B.KEY_Q)===z.KEYDOWN?this.onselectitem(4):this._keyStore.getKeyState(B.KEY_W)===z.KEYDOWN?this.onselectitem(5):this._keyStore.getKeyState(B.KEY_E)===z.KEYDOWN?this.onselectitem(6):this._keyStore.getKeyState(B.KEY_A)===z.KEYDOWN?this.onselectitem(7):this._keyStore.getKeyState(B.KEY_S)===z.KEYDOWN?this.onselectitem(8):this._keyStore.getKeyState(B.KEY_D)===z.KEYDOWN?this.onselectitem(9):this._keyStore.getKeyState(B.KEY_Z)===z.KEYDOWN?this.onselectitem(10):this._keyStore.getKeyState(B.KEY_X)===z.KEYDOWN?this.onselectitem(11):this._keyStore.getKeyState(B.KEY_C)===z.KEYDOWN?this.onselectitem(12):this._keyStore.getKeyState(B.KEY_I)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_MINUS)||this._virtualPadStore.checkTouchButton(`BUTTON_SLOW`)?this.onchangespeed(ae.DOWN):this._keyStore.getKeyState(B.KEY_P)===z.KEYDOWN||this._keyStore.checkHitKey(B.KEY_F2)||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_PLUS)||this._virtualPadStore.checkTouchButton(`BUTTON_FAST`)?this.onchangespeed(ae.UP):this._keyStore.getKeyState(B.KEY_F1)===z.KEYDOWN||this._keyStore.getKeyState(B.KEY_M)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this.launchBattleEstimateWindow():this._keyStore.checkHitKey(B.KEY_F3)?(this.playDecisionSound(),this.onselectbutton(P.QUICK_LOAD,!0)):this._keyStore.checkHitKey(B.KEY_F4)?(this.playDecisionSound(),this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled()):this._keyStore.checkHitKey(B.KEY_F5)||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A,V.BUTTON_INDEX_ZR)?this.onselectbutton(P.QUICK_LOAD):this._keyStore.checkHitKey(B.KEY_F6)||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A,V.BUTTON_INDEX_ZL)?this.onselectbutton(P.QUICK_SAVE):this._keyStore.checkHitKey(B.KEY_F7)||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A,V.BUTTON_INDEX_R)?this.onselectbutton(P.RESTART_GAME):this._keyStore.checkHitKey(B.KEY_F8)?this.onselectbutton(P.GOTO_WWA,!1,!0):this._keyStore.checkHitKey(B.KEY_F9)||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_X)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)?(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onitemmenucalled():this._keyStore.checkHitKey(B.KEY_V)?this._displayUserVars():this._keyStore.checkHitKey(B.KEY_X)?this._debugConsoleElement&&this._debugEvalString():(this._keyStore.checkHitKey(B.KEY_F12)||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_Y))&&this._displayHelp());let n=(e,t)=>({key:B[`KEY_${e}`],func:t});[...`0123456789`.split(``).map(e=>n(e,`CALL_PUSH_${e}`)),...`0123456789`.split(``).map(e=>n(`NUM${e}`,`CALL_PUSH_${e}`)),...`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``).map(e=>n(e,`CALL_PUSH_${e}`)),...[`ENTER`,`SHIFT`,`ESC`,`SPACE`,`LEFT`,`RIGHT`,`UP`,`DOWN`].map(e=>n(e,`CALL_PUSH_${e}`))].forEach(e=>{if(this._keyStore.checkHitKey(e.key)){let t=this.userDefinedFunctions&&this.userDefinedFunctions[e.func];t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}})}this._keyStore.memorizeKeyStateOnControllableFrame(),this._mouseStore.memorizeMouseStateOnControllableFrame()}else if(this._player.isJumped())this._camera.isResetting()||this._player.processAfterJump();else if(this._player.isMoving())this._player.move(),this._objectMovingDataManager.update(),this._player.getPosition().isJustPosition()&&this._dispatchPlayerAndObjectsStopTimeRequests();else if(this._player.isWaitingMessage()){if(this._messageWindow.isVisible()||this._messageWindow.show(),this._messageWindow.isYesNoChoice())this._messageWindow.isSaveChoice()&&(this._messageWindow.saveUpdate(),this._messageWindow.isSaveClose()||(this._keyStore.checkHitKey(B.KEY_LEFT)||this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchButton(`BUTTON_LEFT`)?this._messageWindow.saveControll(T.LEFT):this._keyStore.checkHitKey(B.KEY_UP)||this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchButton(`BUTTON_UP`)?this._messageWindow.saveControll(T.UP):this._keyStore.checkHitKey(B.KEY_RIGHT)||this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchButton(`BUTTON_RIGHT`)?this._messageWindow.saveControll(T.RIGHT):(this._keyStore.checkHitKey(B.KEY_DOWN)||this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchButton(`BUTTON_DOWN`))&&this._messageWindow.saveControll(T.DOWN))),this._messageWindow.isInputDisable()||(this._yesNoJudge===O.UNSELECTED&&(this._keyStore.getKeyState(B.KEY_ENTER)===z.KEYDOWN||this._keyStore.getKeyState(B.KEY_Y)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)?this._yesNoJudge=O.YES:(this._keyStore.getKeyState(B.KEY_N)===z.KEYDOWN||this._keyStore.getKeyState(B.KEY_ESC)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&(this._yesNoJudge=O.NO)),(this._yesNoJudge===O.YES||this._yesNoJudge===O.NO)&&(this.playDecisionSound(),this._yesNoDispCounter=L.YESNO_PRESS_DISP_FRAME_NUM,this._messageWindow.setInputDisable(),this._messageWindow.update()));else if(this._messageWindow.isItemMenuChoice()){if(this._itemMenu.update(),this._keyStore.checkHitKey(B.KEY_LEFT)||this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchingButton(`BUTTON_LEFT`)?this._itemMenu.controll(T.LEFT):this._keyStore.checkHitKey(B.KEY_UP)||this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchingButton(`BUTTON_UP`)?this._itemMenu.controll(T.UP):this._keyStore.checkHitKey(B.KEY_RIGHT)||this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchingButton(`BUTTON_RIGHT`)?this._itemMenu.controll(T.RIGHT):(this._keyStore.checkHitKey(B.KEY_DOWN)||this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchingButton(`BUTTON_DOWN`))&&this._itemMenu.controll(T.DOWN),this._keyStore.getKeyState(B.KEY_ENTER)===z.KEYDOWN||this._keyStore.getKeyState(B.KEY_Y)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`))this._setNextPage(),this._messageWindow.setItemMenuChoice(!1),this._itemMenu.ok();else if(this._mouseStore.checkClickMouse(T.LEFT)||this._mouseStore.checkClickMouse(T.UP)||this._mouseStore.checkClickMouse(T.RIGHT)||this._mouseStore.checkClickMouse(T.DOWN)||this._keyStore.getKeyState(B.KEY_N)===z.KEYDOWN||this._keyStore.getKeyState(B.KEY_ESC)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)){for(var t=0;t<F.length;t++){var n=H(F[t]);n.classList.contains(`onpress`)&&n.classList.remove(`onpress`)}this._itemMenu.ng(),this._setNextPage(),this.playDecisionSound(),this._messageWindow.setItemMenuChoice(!1)}}else{var r=this._keyStore.getKeyStateForMessageCheck(B.KEY_ENTER),i=this._keyStore.getKeyStateForMessageCheck(B.KEY_SPACE),a=this._keyStore.getKeyStateForMessageCheck(B.KEY_ESC);if(r===z.KEYDOWN||r===z.KEYPRESS_MESSAGECHANGE||i===z.KEYDOWN||i===z.KEYPRESS_MESSAGECHANGE||a===z.KEYDOWN||a===z.KEYPRESS_MESSAGECHANGE||this._mouseStore.getMouseState()===Ee.MOUSEDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A,V.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`)){for(var t=0;t<F.length;t++){var n=H(F[t]);n.classList.contains(`onpress`)&&n.classList.remove(`onpress`)}this._setNextPage()}}if(this._inlineUserVarViewer?.isVisible){let e=this._inlineUserVarViewer.kind,t=!1,n=e===`named`?this._userVar.named.size:L.USER_VAR_NUM;this._keyStore.getKeyState(B.KEY_DOWN)===z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]++,t=!0),this._keyStore.getKeyState(B.KEY_UP)===z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]--,t=!0),this._keyStore.getKeyState(B.KEY_RIGHT)===z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]+=L.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,t=!0),this._keyStore.getKeyState(B.KEY_LEFT)===z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[e]-=L.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,t=!0),this._keyStore.getKeyState(B.KEY_V)===z.KEYDOWN&&(this._inlineUserVarViewer.kind===`named`?this._inlineUserVarViewer.kind=`numbered`:this._inlineUserVarViewer.kind===`numbered`&&(this._inlineUserVarViewer.kind=`named`),t=!0),this._inlineUserVarViewer.topUserVarIndex[e]<0&&(this._inlineUserVarViewer.topUserVarIndex[e]+=n),this._inlineUserVarViewer.topUserVarIndex[e]>n&&(this._inlineUserVarViewer.topUserVarIndex[e]-=n),t&&(this._setNextPage(),this._inlineUserVarViewer.isVisible=!0,this._displayUserVars())}}else this._player.isWaitingEstimateWindow()?(this._keyStore.getKeyState(B.KEY_ENTER)===z.KEYDOWN||this._keyStore.getKeyState(B.KEY_SPACE)===z.KEYDOWN||this._gamePadStore.buttonTrigger(V.BUTTON_INDEX_A,V.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton(`BUTTON_ENTER`)||this._virtualPadStore.checkTouchButton(`BUTTON_ESC`))&&this.hideBattleEstimateWindow():this._player.isFighting()?(this._player.fight(),this._monsterWindow.update(this._monster)):this._player.isWaitingMoveMacro()&&(this._player.isMoveObjectAutoExecTime()&&(this.moveObjects(!1),this._player.resetMoveObjectAutoExecTimer()),this._objectMovingDataManager.update());if(this.updatePicturesAnimation(),this._cgManager.picture.updateFrameTimerValue(),this._prevFrameEventExected=!1,this._player.getPosition().isJustPosition()&&this._camera.getPosition().isScreenTopPosition()){if(!this._shouldTreatWillMessageDisplay(this._pages)&&!this._player.isPausing()){this._player.isPartsAppearedTime()&&this._player.clearPartsAppearedFlag(),this._replaceRandomObjectsInScreen();var o=this.checkMap();o||this.checkObject(),this._prevFrameEventExected=o}this._player.isWaitingMessage()&&this._messageWindow.isYesNoChoice()&&this._yesNoJudge!==O.UNSELECTED&&!this._player.isWaitingMoveMacro()&&!this._player.isFighting()&&this._execChoiceWindowRunningEvent()}this._passwordLoadExecInNextFrame&&=(this._stopUpdateByLoadFlag=!0,this._loadType=oe.PASSWORD,this._player.clearPasswordWindowWaiting(),!1),this._drawAll(),this._mainCallCounter++,this._mainCallCounter%=1e9,(!this._player.isWaitingMessage()||!this._isClassicModeEnable)&&(this._animationCounter=(this._animationCounter+1)%(L.ANIMATION_REP_HALF_FRAME*2),(this._animationCounter===0||this._animationCounter===L.ANIMATION_REP_HALF_FRAME+1)&&this.updateAllPicturesCache()),this._camera.isResetting()&&this._camera.advanceTransitionStepNum(),this._player.isWaitingMessage()||(this._player.decrementLookingAroundTimer(),this._statusPressCounter.energy>0&&--this._statusPressCounter.energy===0&&H(`disp-energy`).classList.remove(`onpress`),this._statusPressCounter.strength>0&&--this._statusPressCounter.strength===0&&H(`disp-strength`).classList.remove(`onpress`),this._statusPressCounter.defence>0&&--this._statusPressCounter.defence===0&&H(`disp-defence`).classList.remove(`onpress`),this._statusPressCounter.gold>0&&--this._statusPressCounter.gold===0&&H(`disp-gold`).classList.remove(`onpress`)),this._player.isWaitingMoveMacro()&&(this._player.decrementMoveObjectAutoExecTimer(),this._player.isWaitingMoveMacro()||this._dispatchPlayerAndObjectsStopTimeRequests()),this._stopUpdateByLoadFlag?this._fadeout(()=>{if(this._loadType===oe.QUICK_LOAD){this._quickLoad(),this.wwaCustomEvent(`wwa_quickload`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_QUICKLOAD;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}else if(this._loadType===oe.RESTART_GAME){this.restartGame(),this.wwaCustomEvent(`wwa_restert`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_RESTART;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}else if(this._loadType===oe.PASSWORD){this._applyQuickLoad(this._passwordSaveExtractData),this._passwordSaveExtractData=void 0,this.wwaCustomEvent(`wwa_passwordload`);let e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_PASSWORDLOAD;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}setTimeout(this.mainCaller,L.DEFAULT_FRAME_INTERVAL,this)}):window.requestAnimationFrame(this.mainCaller),Ec({dumpElement:this._dumpElement,userVar:this._userVar.numbered,namedUserVar:this._userVar.named});let s=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_FRAME;s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s)}vibration(e){this._gamePadStore.vibration(e)}_isMainAnimation(){return this._animationCounter>L.ANIMATION_REP_HALF_FRAME}_drawAll(){var e=this._camera.getPosition().getPartsCoord(),t=this._camera.getPosition().getOffsetCoord(),n=L.MAP_WINDOW_HEIGHT,r,i,a=this._player.getPosition().getPartsCoord();if(this._paintSkipByDoorOpen){this._paintSkipByDoorOpen=!1;return}if(this._cgManager.clearCanvas(0,0,L.MAP_WINDOW_WIDTH,L.MAP_WINDOW_HEIGHT),this._cgManager.drawBase(0,0,L.MAP_WINDOW_WIDTH,L.MAP_WINDOW_HEIGHT),this._camera.isResetting()){if(this._camera.getPreviousPosition()!==null)var o=this._camera.getPreviousPosition().getPartsCoord(),s=this._camera.getPreviousPosition().getOffsetCoord();n=this._camera.getTransitionStepNum()*L.CHIP_SIZE}var c=!1;if(n!==this._cgManager.mapCacheYLimit&&(this._cgManager.mapCacheYLimit=n,c=!0),(e.x!==this._cgManager.cpPartsLog.x||e.y!==this._cgManager.cpPartsLog.y)&&(this._cgManager.cpPartsLog.x=e.x,this._cgManager.cpPartsLog.y=e.y,c=!0),c&&(this._cgManager.clearBackCanvas(),this._cgManager.clearObjectCanvases()),this._camera.isResetting()&&(this._drawMap(o,s,n,!0),this._drawPlayer(o,s,n,!0),this._drawObjects(o,s,n,!0),this._camera.isFinalStep()))var l=255,u=setInterval(()=>{var e=H(`wwa-fader`);if(l-=L.FADEOUT_SPEED*3,l<=0){clearInterval(u),e.style.backgroundColor=`transparent`,e.removeAttribute(`style`),e.style.display=`none`;return}e.style.opacity=l/255+``},20);this._drawMap(e,t,n,!1,c),this._drawPlayer(e,t,n),this._drawObjects(e,t,n,!1,c),this._player.isFighting()&&!this._player.isBattleStartFrame()&&(r=this._player.isTurn()?this._monster.position.x:a.x,i=this._player.isTurn()?this._monster.position.y:a.y,this._cgManager.drawCanvas(this._battleEffectCoord.x,this._battleEffectCoord.y,L.CHIP_SIZE*(r-e.x)-t.x,L.CHIP_SIZE*(i-e.y)-t.y)),this._drawEffect(),this._drawPictures(),this._drawFaces(),this._drawFrame()}_drawMap(e,t,n,r=!1,i=!1){if(e!==void 0){var a=Math.max(0,e.x-1),o=Math.min(this._wwaData.mapWidth-1,e.x+L.H_PARTS_NUM_IN_WINDOW),s=Math.max(0,e.y-1),c=Math.min(this._wwaData.mapWidth-1,e.y+L.V_PARTS_NUM_IN_WINDOW),l=0;if(r)for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u],p=this._wwaData.mapAttribute[f][L.ATR_X]/L.CHIP_SIZE,m=this._wwaData.mapAttribute[f][L.ATR_Y]/L.CHIP_SIZE,h=L.CHIP_SIZE*(u-e.x)-t.x,g=L.CHIP_SIZE*(d-e.y)-t.y;this._cgManager.copyBackCanvasWithLowerYLimit(p,m,h,g,n)}else{for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u];this._cgManager.mapCache[l]!==f&&(this._cgManager.mapCache[l]=f,i=!0),l++}if(i){this._cgManager.clearBackCanvasWithLowerYLimit(n);for(var u=a;u<=o;u++)for(var d=s;d<=c;d++){var f=this._wwaData.map[d][u],p=this._wwaData.mapAttribute[f][L.ATR_X]/L.CHIP_SIZE,m=this._wwaData.mapAttribute[f][L.ATR_Y]/L.CHIP_SIZE,h=L.CHIP_SIZE*(u-e.x)-t.x,g=L.CHIP_SIZE*(d-e.y)-t.y;this._cgManager.copyBackCanvasWithUpperYLimit(p,m,h,g,n)}}this._cgManager.drawBackCanvas()}}}_drawPlayer(e,t,n,r=!1){if(e===void 0||this._wwaData.delPlayerFlag)return;let i=this._player.getPosition().getPartsCoord(),a=this._player.getPosition().getOffsetCoord(),o=[NaN,NaN,2,NaN,4,NaN,6,NaN,0,NaN][this._player.getDir()],s=(i.x-e.x)*L.CHIP_SIZE+a.x-t.x,c=(i.y-e.y)*L.CHIP_SIZE+a.y-t.y,l;l=this._useLookingAround&&this._player.isLookingAround()&&!this._player.isWaitingMessage()?this._wwaData.playerImgPosX+[2,3,4,5,0,1,6,7][Math.floor(this._mainCallCounter%64/8)]:this._player.isMovingImage()?this._wwaData.playerImgPosX+o+1:this._wwaData.playerImgPosX+o,r?this._cgManager.drawCanvasWithLowerYLimit(l,this._wwaData.playerImgPosY,s,c,n):this._cgManager.drawCanvasWithUpperYLimit(l,this._wwaData.playerImgPosY,s,c,n)}_drawObjects(e,t,n,r=!1,i=!1){if(e!==void 0){var a=Math.max(0,e.x-1),o=Math.min(this._wwaData.mapWidth-1,e.x+L.H_PARTS_NUM_IN_WINDOW),s=Math.max(0,e.y-1),c=Math.min(this._wwaData.mapWidth-1,e.y+L.V_PARTS_NUM_IN_WINDOW),l,u=0,d=this._isMainAnimation(),f,p,m,h,g,_,v,y,b,x,C,ee,w,T=this._player.isFighting()&&this._player.isTurn()&&this._player.getPosition().getPartsCoord().equals(this._monster.position);if(r)for(b=a;b<=o;b++)for(x=s;x<=c;x++)T&&new S(b,x).equals(this._monster.position)||(C=this._wwaData.mapObject[x][b],l=new S(0,0),this._wwaData.objectAttribute[C][L.ATR_MOVE]!==se.STATIC&&(y=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new S(b,x)),y!==null&&(l=y)),h=L.CHIP_SIZE*(b-e.x)+l.x-t.x,g=L.CHIP_SIZE*(x-e.y)+l.y-t.y,f=d||this._wwaData.objectAttribute[C][L.ATR_X2]===0&&this._wwaData.objectAttribute[C][L.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?L.ATR_X:L.ATR_X2]/L.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?L.ATR_Y:L.ATR_Y2]/L.CHIP_SIZE,_=this._wwaData.objectAttribute[C][L.ATR_TYPE],v=this._wwaData.objectAttribute[C][L.ATR_NUMBER],C!==0&&!this._checkNoDrawObject(new S(b,x),_,v)&&this._cgManager.copyObjectCanvasWithLowerYLimit(+!!d,p,m,h,g,n));else{var E=[],D=[],O,k,ne;for(b=a;b<=o;b++)for(x=s;x<=c;x++)ee=C=this._wwaData.mapObject[x][b],_=this._wwaData.objectAttribute[C][L.ATR_TYPE],v=this._wwaData.objectAttribute[C][L.ATR_NUMBER],this._checkNoDrawObject(new S(b,x),_,v)&&(ee=0),k=this._wwaData.objectAttribute[C][L.ATR_MOVE]===se.STATIC,ee!==0&&(ne=!!(T&&new S(b,x).equals(this._monster.position)),k?D.push(new te(C,b,x,k,ne)):(E.push(new te(C,b,x,k,ne)),ee=0),ne&&(ee=0)),this._cgManager.mapObjectCache[u]!==ee&&(this._cgManager.mapObjectCache[u]=ee,i=!0),u++;i&&(this._cgManager.clearObjectCanvasesWithLowerYLimit(n),Array.prototype.push.apply(E,D));var A,j=E.length;for(A=0;A<j;A++)if(O=E[A],b=O.x,x=O.y,C=O.partsIDObj,k=O.isStatic,ne=O.isFighting,h=L.CHIP_SIZE*(b-e.x)-t.x,g=L.CHIP_SIZE*(x-e.y)-t.y,k){if(ne)continue;for(w=0;w<2;w++)f=!!w||this._wwaData.objectAttribute[C][L.ATR_X2]===0&&this._wwaData.objectAttribute[C][L.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?L.ATR_X:L.ATR_X2]/L.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?L.ATR_Y:L.ATR_Y2]/L.CHIP_SIZE,this._cgManager.copyObjectCanvasWithUpperYLimit(w,p,m,h,g,n)}else y=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new S(b,x)),y!==null&&(h+=y.x,g+=y.y),f=d||this._wwaData.objectAttribute[C][L.ATR_X2]===0&&this._wwaData.objectAttribute[C][L.ATR_Y2]===0,p=this._wwaData.objectAttribute[C][f?L.ATR_X:L.ATR_X2]/L.CHIP_SIZE,m=this._wwaData.objectAttribute[C][f?L.ATR_Y:L.ATR_Y2]/L.CHIP_SIZE,this._cgManager.drawCanvasWithUpperYLimit(p,m,h,g,n);this._cgManager.drawObjectCanvas(+!!d)}}}_drawEffect(){if(!(this._wwaData.effectCoords.length===0||this._wwaData.effectWaits===0)){var e=Math.floor(this._mainCallCounter%(this._wwaData.effectCoords.length*this._wwaData.effectWaits)/this._wwaData.effectWaits);this._cgManager.drawEffect(e)}}_drawFaces(){for(var e=0;e<this._faces.length;e++)this._cgManager.drawCanvasWithSize(this._faces[e].srcPos.x,this._faces[e].srcPos.y,this._faces[e].srcSize.x,this._faces[e].srcSize.y,this._faces[e].destPos.x,this._faces[e].destPos.y)}_drawFrame(){this._cgManager.drawFrame()}_drawPictures(){this._cgManager.drawPictures()}_checkNoDrawObject(e,t,n){var r=this._player.getPosition(),i=r.getPartsCoord();return!r.isJustPosition()||i.x!==e.x||i.y!==e.y||this._wwaData.objectNoCollapseDefaultFlag?!1:t===L.OBJECT_DOOR&&n===0?!0:t===L.OBJECT_STATUS||t===L.OBJECT_MESSAGE||t===L.OBJECT_ITEM||t===L.OBJECT_SELL||t===L.OBJECT_BUY||t===L.OBJECT_SELL||t===L.OBJECT_LOCALGATE}getMapWidth(){if(this._wwaData===void 0)throw Error(`マップデータがロードされていません`);return this._wwaData.mapWidth}getMapIdByPosition(e){var t=e.getPartsCoord();return this._wwaData.map[t.y][t.x]}getObjectIdByPosition(e){var t=e.getPartsCoord();return this._wwaData.mapObject[t.y][t.x]}getMapTypeByPosition(e){var t=e.getPartsCoord(),n=this._wwaData.map[t.y][t.x];return this._wwaData.mapAttribute[n][L.ATR_TYPE]}getObjectTypeByPosition(e){var t=e.getPartsCoord(),n=this._wwaData.mapObject[t.y][t.x];return this._wwaData.objectAttribute[n][L.ATR_TYPE]}getMapAttributeByPosition(e,t){var n=e.getPartsCoord(),r=this._wwaData.map[n.y][n.x];return this._wwaData.mapAttribute[r][t]}isCurrentPosMapPartsIncludingMessage(e){return this.getMapAttributeByPosition(e,L.ATR_STRING)!==0}getObjectAttributeByPosition(e,t){var n=e.getPartsCoord(),r=this._wwaData.mapObject[n.y][n.x];return this._wwaData.objectAttribute[r][t]}getMapAttributeById(e,t){return this._wwaData.mapAttribute[e][t]}getObjectAttributeById(e,t){return this._wwaData.objectAttribute[e][t]}getObjectCropXById(e){return this._wwaData.objectAttribute[e][L.ATR_X]}getObjectCropYById(e){return this._wwaData.objectAttribute[e][L.ATR_Y]}getMessageById(e){return this._wwaData.message[e]}getSystemMessageById(e){return this._wwaData.systemMessage[e]}getMapInfo(e){return this._wwaData.mapAttribute[e]}checkMap(e){var t=this._player.getPosition().getPartsCoord();e??=t;var n=this._wwaData.map[e.y][e.x],r=this.getMapInfo(n)[L.ATR_TYPE],i=e.x===t.x&&e.y===t.y,a=!1;return i&&this._player.getLastExecPartsIDOnSamePosition(A.MAP)===n?!1:(r===L.MAP_STREET?a=this._execMapStreetEvent(e,n,r):r===L.MAP_WALL?a=this._execMapWallEvent(e,n,r):r===L.MAP_LOCALGATE?a=this._execMapLocalGateEvent(e,n,r):r===L.MAP_URLGATE&&(a=this._execMapUrlGateEvent(e,n,r)),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(A.MAP,n),a)}getObjectInfo(e){return this._wwaData.objectAttribute[e]}checkObject(e){var t=this._player.getPosition().getPartsCoord();e??=t;var n=this._wwaData.mapObject[e.y][e.x],r=this.getObjectInfo(n)[L.ATR_TYPE],i=e.x===t.x&&e.y===t.y;i&&this._player.getLastExecPartsIDOnSamePosition(A.OBJECT)===n||(r===L.OBJECT_NORMAL?this._execObjectNormalEvent(e,n,r):r===L.OBJECT_MESSAGE?this._execObjectMessageEvent(e,n,r):r===L.OBJECT_MONSTER?this._execObjectMonsterEvent(e,n,r):r===L.OBJECT_ITEM?this._execObjectItemEvent(e,n,r):r===L.OBJECT_DOOR?this._execObjectDoorEvent(e,n,r):r===L.OBJECT_STATUS?this._execObjectStatusEvent(e,n,r):r===L.OBJECT_BUY?this._execObjectBuyEvent(e,n,r):r===L.OBJECT_SELL?this._execObjectSellEvent(e,n,r):r===L.OBJECT_URLGATE?this._execObjectUrlGateEvent(e,n,r):r===L.OBJECT_SCORE?this._execObjectScoreEvent(e,n,r):r===L.OBJECT_SELECT?this._execObjectYesNoChoiceEvent(e,n,r):r===L.OBJECT_LOCALGATE&&this._execObjectLocalGateEvent(e,n,r),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(A.OBJECT,n))}_execMapStreetEvent(e,t,n){var r=this._wwaData.mapAttribute[t][L.ATR_ITEM];if(r!==0&&!this._player.hasItem(r))return!1;this.reserveAppearPartsInNextFrame(e,k.MAP,t);let i=this._wwaData.mapAttribute[t][L.ATR_STRING],a=this._wwaData.message[i],o=this._wwaData.mapAttribute[t][L.ATR_NUMBER];return this._waitFrame+=o*L.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.registerPageByMessage(a,{triggerParts:{id:t,type:A.MAP,position:e.clone()}}),this.playSound(this._wwaData.mapAttribute[t][L.ATR_SOUND]),i!==0&&this._shouldTreatWillMessageDisplay(this._pages)||o!==0}_shouldTreatWillMessageDisplay(e){return e.reduce((e,t)=>e||!vr(t.firstNode),!1)}_execMapWallEvent(e,t,n){var r=this.getObjectIdByPosition(e.convertIntoPosition(this)),i=this.getObjectAttributeById(r,L.ATR_TYPE);if(r===0||i===L.OBJECT_NORMAL||i===L.OBJECT_DOOR&&(!this._player.hasItem(this.getObjectAttributeById(r,L.ATR_ITEM))||this.getObjectAttributeById(i,L.ATR_MODE)===L.PASSABLE_OBJECT)){this.reserveAppearPartsInNextFrame(e,k.MAP,t);var a=this._wwaData.mapAttribute[t][L.ATR_STRING],o=this._wwaData.message[a];return this.registerPageByMessage(o,{triggerParts:{id:t,type:A.MAP,position:e.clone()}}),this.playSound(this._wwaData.mapAttribute[t][L.ATR_SOUND]),!1}return!1}_execMapLocalGateEvent(e,t,n){var r=this._player.getPosition().getPartsCoord(),i=this._wwaData.mapAttribute[t][L.ATR_JUMP_X],a=this._wwaData.mapAttribute[t][L.ATR_JUMP_Y];return i>L.RELATIVE_COORD_LOWER&&(i=e.x+i-L.RELATIVE_COORD_BIAS),a>L.RELATIVE_COORD_LOWER&&(a=e.y+a-L.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(e,k.MAP,t),0<=i&&0<=a&&i<this._wwaData.mapWidth&&a<this._wwaData.mapWidth&&(i!==r.x||a!==r.y)?(this.reserveJumpInNextFrame(new C(this,i,a,0,0)),this.playSound(this._wwaData.mapAttribute[t][L.ATR_SOUND]),!0):!1}_execMapUrlGateEvent(e,t,n){var r=this._wwaData.mapAttribute[t][L.ATR_STRING];if(!this._isURLGateEnable)return!0;let i=this.resolveSystemMessage(g.CONFIRM_ENTER_URL_GATE);if(i===`BLANK`){location.href=We(this._wwaData.message[r].split(/\s/g)[0]);return}return this.registerSystemMessagePage(i,!0),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_MAP_PARTS,this._yesNoURL=this._wwaData.message[r].split(/\s/g)[0],!0}_execObjectNormalEvent(e,t,n){}_execObjectMessageEvent(e,t,n){var r=this._wwaData.objectAttribute[t][L.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord(),o=this._wwaData.objectAttribute[t][L.ATR_SOUND];e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(A.OBJECT,0,e),this.registerPageByMessage(i,{triggerParts:{id:t,type:A.OBJECT,position:e}}),this._waitFrame+=this._wwaData.objectAttribute[t][L.ATR_NUMBER]*L.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.reserveAppearPartsInNextFrame(e,k.OBJECT,t),this.playSound(o)}_execObjectStatusEvent(e,t,n){var r=new x(this._wwaData.objectAttribute[t][L.ATR_ENERGY],this._wwaData.objectAttribute[t][L.ATR_STRENGTH],this._wwaData.objectAttribute[t][L.ATR_DEFENCE],this._wwaData.objectAttribute[t][L.ATR_GOLD]),i=this._wwaData.objectAttribute[t][L.ATR_STRING],a=this._wwaData.message[i],o=this._player.getStatusWithoutEquipments();if(r.strength>L.STATUS_MINUS_BORDER&&o.strength<r.strength-L.STATUS_MINUS_BORDER||r.defence>L.STATUS_MINUS_BORDER&&o.defence<r.defence-L.STATUS_MINUS_BORDER||r.gold>L.STATUS_MINUS_BORDER&&o.gold<r.gold-L.STATUS_MINUS_BORDER){this.setPartsOnPosition(A.OBJECT,0,e),this._keyStore.allClear(),this._mouseStore.clear();return}if(r.energy=r.energy>L.STATUS_MINUS_BORDER?L.STATUS_MINUS_BORDER-r.energy:r.energy,r.strength=r.strength>L.STATUS_MINUS_BORDER?L.STATUS_MINUS_BORDER-r.strength:r.strength,r.defence=r.defence>L.STATUS_MINUS_BORDER?L.STATUS_MINUS_BORDER-r.defence:r.defence,r.gold=r.gold>L.STATUS_MINUS_BORDER?L.STATUS_MINUS_BORDER-r.gold:r.gold,this._player.addStatusAll(r),this.setStatusChangedEffect(r),this._player.isDead()&&this._wwaData.objectAttribute[t][L.ATR_ENERGY]!==0&&this.shouldApplyGameOver({isCalledByMacro:!1})){this.gameover();return}this.registerPageByMessage(a,{triggerParts:{id:t,type:A.OBJECT,position:e.clone()}}),this.setPartsOnPosition(A.OBJECT,0,e),this.reserveAppearPartsInNextFrame(e,k.OBJECT,t),this.playSound(this._wwaData.objectAttribute[t][L.ATR_SOUND])}_execObjectMonsterEvent(e,t,n){this._monster=this._createMonster(t,e,()=>{this._monster=void 0,this._monsterWindow.hide(),this._dispatchWindowClosedTimeRequests()}),this._player.startBattleWith(this._monster)}_execObjectBuyEvent(e,t,n){var r=this._wwaData.objectAttribute[t][L.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(A.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:A.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][L.ATR_SOUND])}_execObjectSellEvent(e,t,n){var r=this._wwaData.objectAttribute[t][L.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(A.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:A.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][L.ATR_SOUND])}_execObjectItemEvent(e,t,n){var r=this._wwaData.objectAttribute[t][L.ATR_STRING],i=this._wwaData.message[r];try{var a=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),o=(e.x-a.x)*L.CHIP_SIZE,s=(e.y-a.y)*L.CHIP_SIZE;this._player.addItem(t,this._wwaData.objectAttribute[t][L.ATR_NUMBER],!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new S(o,s),itemBoxBackgroundImageCoord:new S(this._wwaData.imgItemboxX*L.CHIP_SIZE,this._wwaData.imgItemboxY*L.CHIP_SIZE)}:void 0),this.setPartsOnPosition(A.OBJECT,0,e),this._wwaData.objectAttribute[t][L.ATR_MODE]!==0||(this.registerPageByMessage(i,{triggerParts:{id:t,type:A.OBJECT,position:e.clone()}}),this.reserveAppearPartsInNextFrame(e,k.OBJECT,t))}catch{this.registerSystemMessagePageByKey(g.ITEM_BOX_FULL)}this.playSound(this._wwaData.objectAttribute[t][L.ATR_SOUND])}_execObjectDoorEvent(e,t,n){var r=this._wwaData.objectAttribute[t][L.ATR_ITEM],i=this._wwaData.objectAttribute[t][L.ATR_STRING],a=this._wwaData.message[i];this._player.hasItem(r)&&(this._wwaData.objectAttribute[t][L.ATR_MODE]===0&&this._player.removeItemByPartsID(r),this.playSound(this._wwaData.objectAttribute[t][L.ATR_SOUND]),this.registerPageByMessage(a,{triggerParts:{id:t,type:A.OBJECT,position:e.clone()}}),this.setPartsOnPosition(A.OBJECT,0,e),this.reserveAppearPartsInNextFrame(e,k.OBJECT,t),this._paintSkipByDoorOpen=!0)}_execObjectYesNoChoiceEvent(e,t,n){var r=this._wwaData.objectAttribute[t][L.ATR_STRING],i=this._wwaData.message[r],a=this._player.getPosition().getPartsCoord();e.x===a.x&&e.y===a.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(A.OBJECT,0,e),this.registerPageByMessage(i,{showChoice:!0,triggerParts:{id:t,type:A.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[t][L.ATR_SOUND])}_execObjectLocalGateEvent(e,t,n){var r=this._player.getPosition().getPartsCoord();e.x===r.x&&e.y===r.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(A.OBJECT,0,e);var i=this._wwaData.objectAttribute[t][L.ATR_JUMP_X],a=this._wwaData.objectAttribute[t][L.ATR_JUMP_Y];i>L.RELATIVE_COORD_LOWER&&(i=r.x+i-L.RELATIVE_COORD_BIAS),a>L.RELATIVE_COORD_LOWER&&(a=r.y+a-L.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(e,k.OBJECT,t),0<=i&&0<=a&&i<this._wwaData.mapWidth&&a<this._wwaData.mapWidth&&(i!==r.x||a!==r.y)&&(this.reserveJumpInNextFrame(new C(this,i,a,0,0)),this.playSound(this._wwaData.objectAttribute[t][L.ATR_SOUND]))}_execObjectUrlGateEvent(e,t,n){var r=this._wwaData.objectAttribute[t][L.ATR_STRING];if(!this._isURLGateEnable)return;let i=this.resolveSystemMessage(g.CONFIRM_ENTER_URL_GATE);if(i===`BLANK`){location.href=We(this._wwaData.message[r].split(/\s/g)[0]);return}this.registerSystemMessagePage(i,!0),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=t,this._yesNoChoiceCallInfo=N.CALL_BY_OBJECT_PARTS,this._yesNoURL=this._wwaData.message[r].split(/\s/g)[0]}_execObjectScoreEvent(e,t,n){let r=this._wwaData.objectAttribute[t][L.ATR_STRING];this.registerPageByMessage(this._wwaData.message[r],{triggerParts:{id:t,type:A.OBJECT,position:e},scoreOption:{rates:{energy:this._wwaData.objectAttribute[t][L.ATR_ENERGY],strength:this._wwaData.objectAttribute[t][L.ATR_STRENGTH],defence:this._wwaData.objectAttribute[t][L.ATR_DEFENCE],gold:this._wwaData.objectAttribute[t][L.ATR_GOLD]}}}),this.playSound(this._wwaData.objectAttribute[t][L.ATR_SOUND])}updateScore(e){let t=e||this._lastScoreOptions;if(!t)return;let n=this._player.getStatus().calculateScore(t);this._scoreWindow.update(n)}_execChoiceWindowObjectSellEvent(){if(!this._player.hasGold(this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_GOLD]))return this.registerSystemMessagePageByKey(g.NO_MONEY),{};if(this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_ITEM]!==0){let e=this._yesNoChoicePartsCoord,t=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),n=(e.x-t.x)*L.CHIP_SIZE,r=(e.y-t.y)*L.CHIP_SIZE,i=this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_ITEM],a=this._wwaData.objectAttribute[i][L.ATR_NUMBER];try{this._player.addItem(i,a,!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new S(n,r),itemBoxBackgroundImageCoord:new S(this._wwaData.imgItemboxX*L.CHIP_SIZE,this._wwaData.imgItemboxY*L.CHIP_SIZE)}:void 0)}catch{return this.registerSystemMessagePageByKey(g.ITEM_BOX_FULL),{}}}let e=new x(this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_ENERGY],this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_STRENGTH],this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_DEFENCE],-this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_GOLD]);return e.energy=e.energy>L.STATUS_MINUS_BORDER?L.STATUS_MINUS_BORDER-e.energy:e.energy,this.setStatusChangedEffect(e),this._player.addStatusAll(e),this._player.isDead()&&this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_ENERGY]!==0&&this.shouldApplyGameOver({isCalledByMacro:!1})?(this.gameover(),{isGameOver:!0}):(this.appearParts({pos:this._yesNoChoicePartsCoord,triggerType:k.OBJECT,triggerPartsId:this._yesNoChoicePartsID}),{})}_execChoiceWindowRunningEvent(){var e,t;if(--this._yesNoDispCounter===0){if(this._yesNoJudge===O.YES){if(this._yesNoChoiceCallInfo===N.CALL_BY_MAP_PARTS)e=this._wwaData.mapAttribute[this._yesNoChoicePartsID][L.ATR_TYPE],e===L.MAP_URLGATE&&(location.href=We(this._yesNoURL));else if(this._yesNoChoiceCallInfo===N.CALL_BY_OBJECT_PARTS)if(e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_TYPE],e===L.OBJECT_BUY)this._player.hasItem(this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_ITEM])?(this._player.removeItemByPartsID(this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_ITEM]),t=this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_GOLD],this._player.earnGold(t),this.setStatusChangedEffect(new x(0,0,0,t)),this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,k.OBJECT,this._yesNoChoicePartsID)):this.registerSystemMessagePageByKey(g.NO_ITEM);else if(e===L.OBJECT_SELL){let{isGameOver:e}=this._execChoiceWindowObjectSellEvent();if(e)return}else e===L.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,k.CHOICE_YES,this._yesNoChoicePartsID):e===L.OBJECT_URLGATE&&(location.href=We(this._yesNoURL));else this._yesNoChoiceCallInfo===N.CALL_BY_ITEM_USE?this._player.readyToUseItem(this._yesNoUseItemPos):this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===N.CALL_BY_LOG_QUICK_LOAD?(this._messageWindow.deleteSaveDom(),H(F[P.QUICK_LOAD]).classList.remove(`onpress`),this._messageWindow.load()&&(this._stopUpdateByLoadFlag=!0,this._loadType=oe.QUICK_LOAD)):this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_SAVE?(this._messageWindow.deleteSaveDom(),H(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._quickSave(N.CALL_BY_QUICK_SAVE)):this._yesNoChoiceCallInfo===N.CALL_BY_RESTART_GAME?(H(F[P.RESTART_GAME]).classList.remove(`onpress`),this._stopUpdateByLoadFlag=!0,this._loadType=oe.RESTART_GAME):this._yesNoChoiceCallInfo===N.CALL_BY_END_GAME?(window.history.back(-1),H(F[P.GOTO_WWA]).classList.remove(`onpress`)):this._yesNoChoiceCallInfo===N.CALL_BY_GOTO_WWA?(location.href=We(L.WWA_HOME),H(F[P.GOTO_WWA]).classList.remove(`onpress`)):this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_LOAD?(H(F[P.QUICK_LOAD]).classList.remove(`onpress`),this._player.setPasswordWindowWating(),this._passwordWindow.show(Dr.LOAD)):this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_SAVE?(H(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._player.setPasswordWindowWating(),this._passwordWindow.password=this._quickSave(N.CALL_BY_PASSWORD_SAVE),this._passwordWindow.show(Dr.SAVE)):this._yesNoChoiceCallInfo===N.CALL_BY_SUSPEND&&(H(F[P.QUICK_SAVE]).classList.remove(`onpress`),this._quickSave(N.CALL_BY_SUSPEND));this._yesNoJudge=O.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=N.NONE,this._messageWindow.setYesNoChoice(!1)}else if(this._yesNoJudge===O.NO){if(this._yesNoChoiceCallInfo===N.CALL_BY_MAP_PARTS)e=this._wwaData.mapAttribute[this._yesNoChoicePartsID][L.ATR_TYPE],L.MAP_URLGATE;else if(this._yesNoChoiceCallInfo===N.CALL_BY_OBJECT_PARTS)e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][L.ATR_TYPE],e===L.OBJECT_BUY||e===L.OBJECT_SELL||(e===L.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,k.CHOICE_NO,this._yesNoChoicePartsID):L.OBJECT_URLGATE);else if(this._yesNoChoiceCallInfo===N.CALL_BY_ITEM_USE)H(`item`+(this._yesNoUseItemPos-1)).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===N.CALL_BY_LOG_QUICK_LOAD)switch(this._messageWindow.deleteSaveDom(),this._yesNoChoiceCallInfo=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._yesNoChoiceCallInfo){case N.NONE:H(F[P.QUICK_LOAD]).classList.remove(`onpress`);break;case N.CALL_BY_PASSWORD_LOAD:this._yesNoJudge=O.UNSELECTED,this.onpasswordloadcalled();return;case N.CALL_BY_LOG_QUICK_LOAD:this._wwaSave.selectLogSaveDataList(),this._messageWindow.createSaveDom();var n=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword);switch(this._yesNoJudge=O.UNSELECTED,n){case N.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage(`読み込むオートセーブを選んでください。
122
+ →Noでデータ復帰用パスワードの
123
+  入力選択ができます。`,!0);break;case N.NONE:this.registerSystemMessagePage(`読み込むオートセーブを選んでください。`,!0);break}return}else if(this._yesNoChoiceCallInfo===N.CALL_BY_QUICK_SAVE)if(this._messageWindow.deleteSaveDom(),this._usePassword||this._useSuspend){this._yesNoJudge=O.UNSELECTED,this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled();return}else H(F[P.QUICK_SAVE]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_RESTART_GAME)H(F[P.RESTART_GAME]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_END_GAME)H(F[P.GOTO_WWA]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_GOTO_WWA)H(F[P.GOTO_WWA]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_LOAD)H(F[P.QUICK_LOAD]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_PASSWORD_SAVE)H(F[P.QUICK_SAVE]).classList.remove(`onpress`);else if(this._yesNoChoiceCallInfo===N.CALL_BY_SUSPEND)if(this._usePassword){this._yesNoJudge=O.UNSELECTED,this.onpasswordsavecalled();return}else H(F[P.QUICK_SAVE]).classList.remove(`onpress`);this._yesNoJudge=O.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=N.NONE,this._messageWindow.setYesNoChoice(!1)}}}_dispatchWindowClosedTimeRequests(){if(this._windowCloseWaitingJumpGateRequest&&this.forcedJumpGate(this._windowCloseWaitingJumpGateRequest.x,this._windowCloseWaitingJumpGateRequest.y),this._windowCloseWaitingMessageDisplayRequests.length>0){let e=this._windowCloseWaitingMessageDisplayRequests.shift();return this.registerPageByMessage(e.message,{additionalItems:e.additionalItems}),{newPageGenerated:!0}}return{newPageGenerated:!1}}_dispatchPlayerAndObjectsStopTimeRequests(){this._playerAndObjectsStopWaitingGameSpeedChangeRequest&&=(this.setPlayerSpeedIndex(this._playerAndObjectsStopWaitingGameSpeedChangeRequest.speedIndex),void 0),this._playerAndObjectsStopWaitingMessageDisplayRequests.length>0&&(this.registerPageByMessage(this._playerAndObjectsStopWaitingMessageDisplayRequests.map(e=>e.message).join(`<p>`),{additionalItems:this._playerAndObjectsStopWaitingMessageDisplayRequests.map(e=>e.additionalItems).flat()}),this._playerAndObjectsStopWaitingMessageDisplayRequests=[])}_clearAllRequests(){this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingJumpGateRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[]}reserveMessageDisplayWhenShouldOpen(e){this._player.isWaitingMessage()||this._player.isFighting()||this._player.isWaitingPasswordWindow()||this._player.isWaitingEstimateWindow()?this._windowCloseWaitingMessageDisplayRequests.push(e):this._player.isMoving()||this._player.isWaitingMoveMacro()?this._playerAndObjectsStopWaitingMessageDisplayRequests.push(e):this.registerPageByMessage(e.message,{additionalItems:e.additionalItems})}handleMsgFunction(e){this._pageExecuting?this._windowCloseWaitingMessageDisplayRequests.push(e):this.reserveMessageDisplayWhenShouldOpen(e)}registerSystemMessagePage(e,t=!1){this.registerPageByMessage(e,{showChoice:t,isSystemMessage:!0})}registerSystemMessagePageByKey(e){let t=this.resolveSystemMessage(e);t!==`BLANK`&&this.registerPageByMessage(t,{isSystemMessage:!0})}_createSimpleMessage(e,t){return new ar(e,()=>this.generateTokenValues(t),(e,t)=>this._execEvalString(e,t))}registerPageByMessage(e,{showChoice:t=!1,isSystemMessage:n=!1,triggerParts:r={id:0,type:A.OBJECT,position:new S(0,0)},scoreOption:i=void 0,additionalItems:a=[]}={}){let o=gr(e,{triggerParts:r,isSystemMessage:n,showChoice:t,scoreOption:i,additionalItems:a},e=>nr(this,r,e),(e,t)=>this._execEvalString(e,t),e=>this.generateTokenValues(e));this._pages=this._pages.concat(o),this._shouldSetNextPage=!0}appearParts({pos:e,triggerType:t,triggerPartsId:n}){var r,i=t===k.CHOICE_NO?L.APPERANCE_PARTS_MIN_INDEX_NO:L.APPERANCE_PARTS_MIN_INDEX,a=t===k.CHOICE_YES?L.APPERANCE_PARTS_MAX_INDEX_YES:L.APPERANCE_PARTS_MAX_INDEX,o,s,c,l,u;for(t===k.MAP?(n=n===0?this._wwaData.map[e.y][e.x]:n,r=A.MAP):(n=n===0?this._wwaData.mapObject[e.y][e.x]:n,r=A.OBJECT),u=i;u<=a;u++){var d=L.ATR_APPERANCE_BASE+u*L.REL_ATR_APPERANCE_UNIT_LENGTH,f=d+L.REL_ATR_APPERANCE_ID,p=d+L.REL_ATR_APPERANCE_X,m=d+L.REL_ATR_APPERANCE_Y,h=d+L.REL_ATR_APPERANCE_TYPE;if(o=r===A.MAP?this._wwaData.mapAttribute[n][f]:this._wwaData.objectAttribute[n][f],s=r===A.MAP?this._wwaData.mapAttribute[n][h]:this._wwaData.objectAttribute[n][h],c=r===A.MAP?this._wwaData.mapAttribute[n][p]:this._wwaData.objectAttribute[n][p],l=r===A.MAP?this._wwaData.mapAttribute[n][m]:this._wwaData.objectAttribute[n][m],c===L.PLAYER_COORD?(c=this._player.getPosition().getPartsCoord().x,this._player.resetEventExecutionInfo()):c>L.RELATIVE_COORD_LOWER&&(c=e.x+c-L.RELATIVE_COORD_BIAS),l===L.PLAYER_COORD?(l=this._player.getPosition().getPartsCoord().y,this._player.resetEventExecutionInfo()):l>L.RELATIVE_COORD_LOWER&&(l=e.y+l-L.RELATIVE_COORD_BIAS),!(c===0&&l===0))try{if(new C(this,c,l,0,0),s===A.MAP){if(o>=this._wwaData.mapPartsMax)throw Error(`背景パーツの範囲外IDが指定されました`);var g=new S(c,l);this.setPartsOnPosition(A.MAP,o,g)}else{if(o>=this._wwaData.objPartsMax)throw Error(`物体パーツの範囲外IDが指定されました`);var g=new S(c,l);this.setPartsOnPosition(A.OBJECT,o,g),this._replaceRandomObject(new S(c,l)),c===this._player.getPosition().getPartsCoord().x&&l===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch{}}}reserveAppearPartsInNextFrame(e,t,n=0){this._reservedPartsAppearances.push({pos:e,triggerType:t,triggerPartsId:n})}reserveJumpInNextFrame(e){this._reservedJumpDestination=e}appearPartsByDirection(e,t,n){var r=this._player.getPosition().getPartsCoord(),i=this._player.getDir(),a=E[i],o=D[i];this.appearPartsEval(r,(a>=0?`+`:`-`)+Math.abs(a)*e,(o>=0?`+`:`-`)+Math.abs(o)*e,t,n)}appearPartsEval(e,t,n,r,i){var a,o,s=this._player.getPosition().getPartsCoord();if(t===`P`||t===`p`)a=s.x;else if(t[0]===`+`)a=e.x+parseInt(t.substr(1));else if(t[0]===`-`)a=e.x-parseInt(t.substr(1));else if(a=parseInt(t),isNaN(a))throw Error(`座標として解釈できない文字が含まれています。`);if(n===`P`||n===`p`)o=s.y;else if(n[0]===`+`)o=e.y+parseInt(n.substr(1));else if(n[0]===`-`)o=e.y-parseInt(n.substr(1));else if(o=parseInt(n),isNaN(o))throw Error(`座標として解釈できない文字が含まれています。`);try{if(new C(this,a,o,0,0),i===A.MAP){if(r>=this._wwaData.mapPartsMax)throw Error(`背景パーツの範囲外IDが指定されました`);var c=new S(a,o);this.setPartsOnPosition(A.MAP,r,c)}else{if(r>=this._wwaData.objPartsMax)throw Error(`物体パーツの範囲外IDが指定されました`);var c=new S(a,o);this.setPartsOnPosition(A.OBJECT,r,c),this._replaceRandomObject(new S(a,o)),a===this._player.getPosition().getPartsCoord().x&&o===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch{}}getPartsID(e,t){if(e.x<0||e.y<0)throw Error(`想定外の座標が指定されました`);return t===A.MAP?this._wwaData.map[e.y][e.x]:this._wwaData.mapObject[e.y][e.x]}_replaceRandomObject(e){var t=this._wwaData.mapObject[e.y][e.x],n=this._wwaData.objectAttribute[t][L.ATR_TYPE],r,i;if(n===L.OBJECT_RANDOM){for(var a=0;a<L.RANDOM_ITERATION_MAX;a++){if(i=Math.floor(Math.random()*10),r=this._wwaData.objectAttribute[t][L.ATR_RANDOM_BASE+i],r>=this._wwaData.objPartsMax){r=0;break}if(this._wwaData.objectAttribute[r][L.ATR_TYPE]!==L.OBJECT_RANDOM)break;t=r}this.setPartsOnPosition(A.OBJECT,r,e)}}_replaceRandomObjectsInScreen(){for(var e=this._camera.getPosition().getPartsCoord(),t=Math.max(0,e.x-1),n=Math.min(this._wwaData.mapWidth-1,e.x+L.H_PARTS_NUM_IN_WINDOW),r=Math.max(0,e.y-1),i=Math.min(this._wwaData.mapWidth-1,e.y+L.V_PARTS_NUM_IN_WINDOW),a=t;a<=n;a++)for(var o=r;o<=i;o++)this._replaceRandomObject(new S(a,o))}_replaceAllRandomObjects(){for(var e=0;e<this._wwaData.mapWidth;e++)for(var t=0;t<this._wwaData.mapWidth;t++)this._replaceRandomObject(new S(e,t))}gameover(){var e=this._wwaData.gameoverX,t=this._wwaData.gameoverY;this._yesNoJudge=O.UNSELECTED,this._pages=[],this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=N.NONE,this._player.clearMessageWaiting(),this._messageWindow.clear(),this._messageWindow.setYesNoChoice(!1),this._waitFrame=0,this._temporaryInputDisable=!0,this._shouldSetNextPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._clearAllRequests(),this._player.jumpTo(new C(this,e,t,0,0));let n=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GAMEOVER;n&&this.evalCalcWwaNodeGenerator.evalWwaNode(n)}setYesNoInput(e){this._yesNoJudgeInNextFrame=e}getYesNoState(){return this._yesNoJudgeInNextFrame===void 0?this._yesNoJudge:this._yesNoJudgeInNextFrame}setStatusChangedEffect(e){this._wwaData.isItemEffectEnabled&&(e.strength!==0&&(H(`disp-strength`).classList.add(`onpress`),this._statusPressCounter.strength=L.STATUS_CHANGED_EFFECT_FRAME_NUM),e.defence!==0&&(H(`disp-defence`).classList.add(`onpress`),this._statusPressCounter.defence=L.STATUS_CHANGED_EFFECT_FRAME_NUM),e instanceof x&&(e.energy!==0&&(H(`disp-energy`).classList.add(`onpress`),this._statusPressCounter.energy=L.STATUS_CHANGED_EFFECT_FRAME_NUM),e.gold!==0&&(H(`disp-gold`).classList.add(`onpress`),this._statusPressCounter.gold=L.STATUS_CHANGED_EFFECT_FRAME_NUM)))}setPartsOnPosition(e,t,n){var r,i,a=n.y<<we.BITSHIFT|n.x;e===A.MAP?(r=this._wwaData.map[n.y][n.x],t=this.loadMapPartsID(t),r=this.loadMapPartsID(r),this._wwaData.map[n.y][n.x]=t,i=this._mapIDTable[r].indexOf(a),i!==-1&&this._mapIDTable[r].splice(i,1),i=this._mapIDTable[t].indexOf(a),i===-1&&this._mapIDTable[t].push(a)):(r=this._wwaData.mapObject[n.y][n.x],t=this.loadMapPartsObjectID(t),r=this.loadMapPartsObjectID(r),this._wwaData.mapObject[n.y][n.x]=t,i=this._mapObjectIDTable[r].indexOf(a),i!==-1&&this._mapObjectIDTable[r].splice(i,1),i=this._mapObjectIDTable[t].indexOf(a),i===-1&&this._mapObjectIDTable[t].push(a))}_countSamePartsLength(e,t){var n;for(n=t+1;n<e.length&&e[n]===e[n-1];n++);return n-t}_compressMap(e){for(var t=[],n=0;n<e.length;n++){t[n]=[];for(var r=0;r<e[n].length;){var i=this._countSamePartsLength(e[n],r);t[n].push([e[n][r],i]),r+=i}}return t}_decompressMap(e){for(var t=[],n=0;n<e.length;n++){t[n]=[];for(var r=0;r<e[n].length;r++)for(var i=e[n][r][1],a=0;a<i;a++)t[n].push(e[n][r][0])}return t}_generateMapDataHash(e){var t=`A`,n=0,r=0,i=0;for(i=0;i<e.map.length;i++){for(r=0;r<e.map[i].length;)n=this._countSamePartsLength(e.map[i],r),t+=e.map[i][r]+`|`+n+`/`,r+=n;for(r=0;r<e.mapObject[i].length;)n=this._countSamePartsLength(e.mapObject[i],r),t+=e.mapObject[i][r]+`|`+n+`/`,r+=n}for(var a=0;a<e.mapAttribute.length;a++)for(var o=0;o<e.mapAttribute[a].length;o++)t+=e.mapAttribute[a][o]+`/`;for(var s=0;s<e.objectAttribute.length;s++)for(var c=0;c<e.objectAttribute[s].length;c++)t+=e.objectAttribute[s][c]+`/`;return t+=`Z`,xi(t)}_generateSaveDataHash(e){var t=this._generateMapDataHash(e),n=[];for(var r in e)r===`map`||r===`mapObject`||r===`mapCompressed`||r===`mapObjectCompressed`||r===`mapAttribute`||r===`objectAttribute`||r===`checkString`||n.push(r);n.sort();for(var i=0;i<n.length;i++)t+=Ge(e[n[i]]);return xi(t)}compressSystem(){return Vi}_quickSave(e){let t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_SAVE;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t);var n=structuredClone(this._wwaData),r=this._player.getPosition().getPartsCoord(),i=this._player.getStatusWithoutEquipments();switch(n.itemBox=this._player.getCopyOfItemBox(),n.playerX=r.x,n.playerY=r.y,n.statusEnergyMax=this._player.getEnergyMax(),n.statusEnergy=i.energy,n.statusStrength=i.strength,n.statusDefence=i.defence,n.statusGold=i.gold,n.moves=this._player.getMoveCount(),n.frameCount=this._player.getFrameCount(),n.gameSpeedIndex=this._player.getSpeedIndex(),n.playTime=this._playTimeCalculator?.calculateTimeMs()??0,n.userVar=this._userVar.numbered.slice(),n.userNamedVar=structuredClone(this._userVar.named),e){case N.CALL_BY_LOG_QUICK_SAVE:case N.CALL_BY_QUICK_SAVE:case N.CALL_BY_SUSPEND:break;case N.CALL_BY_PASSWORD_SAVE:n.checkOriginalMapString=this.checkOriginalMapString,n.checkString=this._generateSaveDataHash(n);break}switch(n.message=void 0,n.mapAttribute=void 0,n.objectAttribute=void 0,e){case N.CALL_BY_QUICK_SAVE:return this._messageWindow.save(this._cvs,n),this.wwaCustomEvent(`wwa_quicksave`,{data:n}),``;case N.CALL_BY_PASSWORD_SAVE:let e=Vi.compress(n,{isPassword:!0});e.isCompress=1;let t=JSON.stringify(e);return this.wwaCustomEvent(`wwa_passwordsave`,{data:n,compress:e}),vi(t,this._wwaData.worldPassNumber);case N.CALL_BY_SUSPEND:this.wwaCustomEvent(`wwa_suspend`,{data:n,compress:Vi.compress(n)});break;case N.CALL_BY_LOG_QUICK_SAVE:this.wwaCustomEvent(`wwa_autosave`,{data:n}),this._wwaSave.autoSave(this._cvs,n);break}}wwaCustomEvent(e,t={}){this.wwaCustomEventEmitter.dispatch(e,t)}_decodePassword(e){let t=``,n;try{t=bi(e,this._wwaData.worldPassNumber)}catch(e){n=e}if(!t){console.warn(`新方式でのパスワード暗号化解除失敗:`,n);try{t=yi(e,this._wwaData.worldPassNumber,this.checkOriginalMapString)}catch(e){n=e}}if(!t){console.warn(`旧方式でのパスワード暗号化解除失敗:`,n);let e=n&&n.message?n.message:``;throw Error(`パスワード取得時からワールド制作者によってマップの暗証番号が変更されたか、
124
+ パスワードが壊れているために正常にセーブデータが復元できませんでした。
125
+ `+e)}var r;try{r=JSON.parse(t)}catch{throw Error(`マップデータ以外のものが暗号化されたか、マップデータに何かが不足しているようです。
126
+ JSON PARSE FAILED`)}if(r.isCompress){delete r.isCompress;let[e,t]=Vi.decompress(r);return[qi(e),t]}else return[r,{isWorldNameEmpty:!1}]}_quickLoad(e=!1,t=null,n=!0){if(!e&&this._wwaSave.hasSaveData()===void 0&&t===null)throw Error(`セーブデータがありません。`);let r,i=!1;if(t!==null){let e=this._decodePassword(t);r=e[0],i=e[1].isWorldNameEmpty}else r=structuredClone(e?this._restartData:this._messageWindow.load());if(r.message=structuredClone(this._restartData.message),r.mapAttribute=structuredClone(this._restartData.mapAttribute),r.objectAttribute=structuredClone(this._restartData.objectAttribute),r.map===void 0&&(r.map=this._decompressMap(r.mapCompressed)),r.mapObject===void 0&&(r.mapObject=this._decompressMap(r.mapObjectCompressed)),delete r.mapCompressed,delete r.mapObjectCompressed,t!==null){if(!i&&r.worldName!==this._wwaData.worldName)throw console.error(`Invalid title`,`(password)=${r.worldName} (current map)=${this._wwaData.worldName}`),Error(`前回パスワード取得時から、制作者によってワールド名が変更されたためロードできませんでした。
127
+ 予めご了承ください。`);let e=this.checkOriginalMapString;if(this._isDisallowLoadOldSave&&r.checkOriginalMapString!==e)throw console.error(`Invalid hash`,`(password)=${r.checkOriginalMapString} (current map)=${e}`),Error(`前回パスワード取得時から、制作者によってマップが変更されたためロードできませんでした。
128
+ (マップデータ制作者の設定により、内容が変更されると以前のパスワードは利用できなくなります。)
129
+ 予めご了承ください。`);console.log(`Valid Password!`)}return n&&this._applyQuickLoad(r),r}_applyQuickLoad(e){this._userVar.named=e.userNamedVar,this._userVar.numbered=e.userVar,this._player.setEnergyMax(e.statusEnergyMax),this._player.setEnergy(e.statusEnergy),this._player.setStrength(e.statusStrength),this._player.setDefence(e.statusDefence),this._player.setGold(e.statusGold),this._player.setMoveCount(e.moves),this._player.setFrameCount(e.frameCount),this._player.clearItemBox();for(var t=0;t<e.itemBox.length;t++)this._player.addItem(e.itemBox[t],t+1,!0);this._player.systemJumpTo(new C(this,e.playerX,e.playerY,0,0)),e.bgm===0?this.playSound(p.NO_SOUND):this.playSound(e.bgm,{bgmDelayDurationMs:e.bgmDelayDurationMs}),this.setImgClick(new S(e.imgClickX,e.imgClickY)),this.getObjectIdByPosition(this._player.getPosition())!==0&&this._player.setPartsAppearedFlag(),this._clearAllRequests(),this._playTimeCalculator=new je(e.playTime),this._wwaData=e,this._mapIDTableCreate(),this._replaceAllRandomObjects(),this.setStatusIconCoord(de.ENERGY,new S(e.imgStatusEnergyX,e.imgStatusEnergyY)),this.setStatusIconCoord(de.STRENGTH,new S(e.imgStatusStrengthX,e.imgStatusStrengthY)),this.setStatusIconCoord(de.DEFENCE,new S(e.imgStatusDefenceX,e.imgStatusDefenceY)),this.setStatusIconCoord(de.GOLD,new S(e.imgStatusGoldX,e.imgStatusGoldY)),this.setWideCellCoord(new S(e.imgWideCellX,e.imgWideCellY)),this.setItemboxBackgroundPosition({x:e.imgItemboxX,y:e.imgItemboxY}),this.setFrameCoord(new S(e.imgFrameX,e.imgFrameY)),this.setPlayerSpeedIndex(e.gameSpeedIndex),this.updateCSSRule(),this.updateEffect(),this._cgManager.restorePictures(this._wwaData.pictureRegistry),this.updateAllPicturesCache(),this._player.updateStatusValueBox(),this._wwaSave.quickSaveButtonUpdate(this._wwaData)}_mapIDTableCreate(){var e;for(this._mapIDTable=[],this._mapObjectIDTable=[],e=0;e<this._wwaData.mapPartsMax;e++)this._mapIDTable[e]=[];for(e=0;e<this._wwaData.objPartsMax;e++)this._mapObjectIDTable[e]=[];for(var t=0;t<this._wwaData.mapWidth;t++)for(var n=0;n<this._wwaData.mapWidth;n++){var r=n<<we.BITSHIFT|t;e=this._wwaData.map[n][t],this._mapIDTable[e]instanceof Array||(this._mapIDTable[e]=[]),this._mapIDTable[e].push(r),e=this._wwaData.mapObject[n][t],this._mapObjectIDTable[e]instanceof Array||(this._mapObjectIDTable[e]=[]),this._mapObjectIDTable[e].push(r)}}restartGame(){this._quickLoad(!0)}_fadeout(e){var t=0,n=L.MAP_WINDOW_WIDTH,r=L.FADEOUT_SPEED,i=H(`wwa-fader`);i.style.display=`block`;var a=setInterval(()=>{if(t+=r,n-=r*2,n<=0||t*2>L.MAP_WINDOW_WIDTH){i.removeAttribute(`style`),i.style.display=`block`,i.style.borderWidth=`0`,i.style.width=L.MAP_WINDOW_WIDTH+`px`,i.style.height=L.MAP_WINDOW_HEIGHT+`px`,i.style.backgroundColor=`#808080`,clearInterval(a),e();return}i.style.width=n+`px`,i.style.height=n+`px`,i.style.borderWidth=t+`px`},20)}moveObjects(e){var t=this._camera.getPosition();this._player.getPosition(),t.getPartsCoord();var n=t.getPartsCoord().x,r=t.getPartsCoord().y,i,a,o;if(!(this.getMapAttributeByPosition(this._player.getPosition(),L.ATR_TYPE)===L.MAP_LOCALGATE||this.getObjectAttributeByPosition(this._player.getPosition(),L.ATR_TYPE)===L.OBJECT_LOCALGATE)){for(i=Array(L.V_PARTS_NUM_IN_WINDOW+2),this.hoge=Array(L.V_PARTS_NUM_IN_WINDOW+2),o=-1;o<=L.V_PARTS_NUM_IN_WINDOW;o++)for(i[o+1]=Array(L.H_PARTS_NUM_IN_WINDOW+2),this.hoge[o+1]=Array(L.H_PARTS_NUM_IN_WINDOW+2),a=-1;a<=L.H_PARTS_NUM_IN_WINDOW;a++){if(r+o<0||r+o>=this._wwaData.mapWidth||n+a<0||n+a>=this._wwaData.mapWidth){i[o+1][a+1]=0,this.hoge[o+1][a+1]=0;continue}try{var s=new C(this,n+a,r+o,0,0),c=s.getPartsCoord()}catch{i[o+1][a+1]=0,this.hoge[o+1][a+1]=0;continue}this._wwaData.mapObject[c.y][c.x],i[o+1][a+1]=this._wwaData.mapObject[c.y][c.x],this.hoge[o+1][a+1]=-this._wwaData.mapObject[c.y][c.x]}for(a=-1;a<=L.H_PARTS_NUM_IN_WINDOW;a++)if(!(n+a<0||n+a>=this._wwaData.mapWidth)){for(o=-1;o<=L.V_PARTS_NUM_IN_WINDOW;o++)if(!(r+o<0||r+o>=this._wwaData.mapWidth)){try{var s=new C(this,n+a,r+o,0,0),c=s.getPartsCoord()}catch{continue}var l=this._wwaData.mapObject[c.y][c.x];if(!(l===0||this._wwaData.objectAttribute[l][L.ATR_MOVE]===se.STATIC||this._wwaData.objectAttribute[l][L.ATR_TYPE]===L.OBJECT_LOCALGATE||this._wwaData.objectAttribute[l][L.ATR_TYPE]===L.OBJECT_RANDOM)&&!(this._wwaData.objectAttribute[l][L.ATR_MOVE]!==se.CHASE_PLAYER&&this._wwaData.objectAttribute[l][L.ATR_MOVE]!==se.RUN_OUT&&this._wwaData.objectAttribute[l][L.ATR_MOVE]!==se.HANG_AROUND)){var u=this._wwaData.objectAttribute[l][L.ATR_MOVE];if(u!==se.HANG_AROUND){var d=this._getCandidateCoord(e,s,u),f=new S(d.x,c.y),p=new S(c.x,d.y),m=null,h;if(this._objectCanMoveTo(e,d,i))this._setObjectsInNextFrame(c,d,n,r,i,l);else{var g=this._getSecondCandidateMoveMode(e,c,d,f,p,this._wwaData.objectAttribute[l][L.ATR_TYPE]===L.OBJECT_MONSTER,i);g===ce.MODE_X?this._setObjectsInNextFrame(c,f,n,r,i,l):g===ce.MODE_Y?this._setObjectsInNextFrame(c,p,n,r,i,l):(m=this._getThirdCandidate(e,s,d,u,i),m!==null&&!this._wwaData.isOldMove?this._setObjectsInNextFrame(c,m,n,r,i,l):(h=this._getRandomMoveCoord(e,s,i),this._setObjectsInNextFrame(c,h,n,r,i,l)))}}else h=this._getRandomMoveCoord(e,s,i),this._setObjectsInNextFrame(c,h,n,r,i,l)}}}}}_getCandidateCoord(e,t,n){var r=t.getPartsCoord();this._player.getPosition().getOffsetCoord(),this._player.getPosition().getPartsCoord();try{var i=e?this._player.getPosition().getNextJustPosition().getPartsCoord():this._player.getPosition().getPartsCoord()}catch{throw Error(`予期せぬ方向への移動のようです。`)}var a=r.clone(),o=0,s=0;return n===se.CHASE_PLAYER?(o=r.x>i.x?-1:+(r.x<i.x),s=r.y>i.y?-1:+(r.y<i.y)):n===se.RUN_OUT&&(o=r.x>i.x?1:r.x<i.x?-1:0,s=r.y>i.y?1:r.y<i.y?-1:0),a.x+=o,a.y+=s,a.x=Math.min(this._wwaData.mapWidth-1,Math.max(0,a.x)),a.y=Math.min(this._wwaData.mapWidth-1,Math.max(0,a.y)),a}_getSecondCandidateMoveMode(e,t,n,r,i,a,o){return e&&((this._player.getDir()===T.UP||this._player.getDir()===T.DOWN)&&a||(this._player.getDir()===T.LEFT||this._player.getDir()===T.RIGHT)&&!a)?this._objectCanMoveTo(e,i,o)?ce.MODE_Y:this._objectCanMoveTo(e,r,o)?ce.MODE_X:ce.UNDECIDED:this._objectCanMoveTo(e,r,o)?ce.MODE_X:this._objectCanMoveTo(e,i,o)?ce.MODE_Y:ce.UNDECIDED}_getThirdCandidate(e,t,n,r,i){var a=r===se.CHASE_PLAYER?1:r===se.RUN_OUT?-1:0,o=e?this._player.getPosition().getNextJustPosition().getPartsCoord():this._player.getPosition().getPartsCoord(),s=t.getPartsCoord(),c;return o.x!==s.x&&(c=new S(n.x,s.y+1*a),this._objectCanMoveTo(e,c,i)||(c=new S(n.x,s.y-1*a),this._objectCanMoveTo(e,c,i))||(c=new S(s.x,s.y+1*a),this._objectCanMoveTo(e,c,i))||(c=new S(s.x,s.y-1*a),this._objectCanMoveTo(e,c,i)))||o.y!==s.y&&(c=new S(s.x+1*a,n.y),this._objectCanMoveTo(e,c,i)||(c=new S(s.x-1*a,n.y),this._objectCanMoveTo(e,c,i))||(c=new S(s.x+1*a,s.y),this._objectCanMoveTo(e,c,i))||(c=new S(s.x-1*a,s.y),this._objectCanMoveTo(e,c,i)))?c:null}_getRandomMoveCoord(e,t,n){let r=t.getPartsCoord(),i=r.clone(),a=this._wwaData.isOldMove?L.RANDOM_MOVE_ITERATION_NUM_BEFORE_V31:L.RANDOM_MOVE_ITERATION_NUM;for(let t=0;t<a;t++){let t=[-1,1,0,0,-1,-1,1,1],a=[0,0,1,-1,1,-1,1,-1],o=Math.floor(Math.random()*t.length);if(i.x=r.x+t[o],i.y=r.y+a[o],this._objectCanMoveTo(e,i,n))return i}return r}isPrevFrameEventExecuted(){return this._prevFrameEventExected}_objectCanMoveTo(e,t,n){if(t.x<0||t.y<0||this._wwaData.mapWidth<=t.x||this._wwaData.mapWidth<=t.y)return!1;var r=this._wwaData.map[t.y][t.x],i=this._wwaData.mapObject[t.y][t.x],a=this._wwaData.mapAttribute[r][L.ATR_TYPE],o=this._camera.getPosition(),s=o.getPartsCoord().x,c=o.getPartsCoord().y;if(r===0&&!this.isOldMap()||a===L.MAP_WALL)return!1;var l=t.x-s+1,u=t.y-c+1;if(0<=l&&0<=u&&l<n.length&&u<n.length){if(n[u][l]!==0)return!1}else if(i!==0)return!1;if(e){if(this._player.getPosition().getNextJustPosition().getPartsCoord().equals(t))return!1}else if(this._player.getPosition().getPartsCoord().equals(t))return!1;return!0}_setObjectsInNextFrame(e,t,n,r,i,a){var o=t.x-n+1,s=t.y-r+1;0<=t.x&&t.x<=this._wwaData.mapWidth&&0<=t.y&&t.y<=this._wwaData.mapWidth&&(0<=o&&o<i.length&&0<=s&&s<i.length&&(i[e.y-r+1][e.x-n+1]=0,i[t.y-r+1][t.x-n+1]=a,this.hoge[t.y-r+1][t.x-n+1]=a),this._objectMovingDataManager.add(a,e.convertIntoPosition(this),t.convertIntoPosition(this),e.getDirectionTo(t)))}launchBattleEstimateWindow(){let e=this._camera.getPosition().getPartsCoord(),t=Math.max(0,e.x),n=Math.min(this._wwaData.mapWidth-1,e.x+L.H_PARTS_NUM_IN_WINDOW-1),r=Math.max(0,e.y),i=Math.min(this._wwaData.mapWidth-1,e.y+L.V_PARTS_NUM_IN_WINDOW-1),a=[];this.playDecisionSound();for(let e=t;e<=n;e++)for(let t=r;t<=i;t++){let n=this._wwaData.mapObject[t][e];this._wwaData.objectAttribute[n][L.ATR_TYPE]!==L.OBJECT_MONSTER||a.find(e=>e.partsID===n)||a.push(this._createMonster(n,new S(e,t)))}if(this._bottomButtonType===w.BATTLE_REPORT&&H(F[P.GOTO_WWA]).classList.add(`onpress`),a.length===0)return H(F[P.GOTO_WWA]).classList.remove(`onpress`),this.hideBattleEstimateWindow(),!1;this._battleEstimateWindow.update(this._player.getStatus(),a,(e,t)=>this._player.calcBattleResultForPlayerTurn(e,t.status,!0),(e,t)=>this._player.calcBattleResultForEnemyTurn(e.status,t,!0),this.isUsingDefaultDamageCalcFunction()),this._battleEstimateWindow.show(),this._player.setEstimateWindowWating();let o=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_BATTLE_REPORT;return o&&this.evalCalcWwaNodeGenerator.evalWwaNode(o),!0}isUsingDefaultDamageCalcFunction(){return this.getUserDefinedDamageFunctionNode(`enemyToPlayer`)===void 0&&this.getUserDefinedDamageFunctionNode(`playerToEnemy`)===void 0}_createMonster(e,t,n){return new Zn(e,t,new S(this._wwaData.objectAttribute[e][L.ATR_X],this._wwaData.objectAttribute[e][L.ATR_Y]),new x(this._wwaData.objectAttribute[e][L.ATR_ENERGY],this._wwaData.objectAttribute[e][L.ATR_STRENGTH],this._wwaData.objectAttribute[e][L.ATR_DEFENCE],this._wwaData.objectAttribute[e][L.ATR_GOLD]),this._wwaData.message[this._wwaData.objectAttribute[e][L.ATR_STRING]],this._wwaData.objectAttribute[e][L.ATR_ITEM],n)}hideBattleEstimateWindow(){this._battleEstimateWindow.hide(),this._player.clearEstimateWindowWaiting(),H(F[P.GOTO_WWA]).classList.remove(`onpress`),this._dispatchWindowClosedTimeRequests()}hidePasswordWindow(e=!1){if(this._passwordWindow.hide(),e||this._passwordWindow.mode===Dr.SAVE){this._player.clearPasswordWindowWaiting(),this._dispatchWindowClosedTimeRequests();return}try{var t=this._quickLoad(!1,this._passwordWindow.password,!1)}catch(e){this._player.clearPasswordWindowWaiting(),this._dispatchWindowClosedTimeRequests(),alert(`セーブデータの復元に失敗しました。
130
+ エラー詳細:
131
+ `+e.message);return}this._passwordLoadExecInNextFrame=!0,this._passwordSaveExtractData=t}_displayUserVars(){if(!this._canDisplayUserVars||!this._inlineUserVarViewer)return;let e=``;if(this._inlineUserVarViewer.isVisible=!0,this._player.isControllable()){let t=[...this._userVar.named];if(this._inlineUserVarViewer.kind===`named`)if(e=`名前つき変数一覧
132
+ `,t.length===0)e+=`名前つき変数はありません
133
+ `;else if(t.length<=L.INLINE_USER_VAR_VIEWER_DISPLAY_NUM)e+=t.map(([e,t])=>`${e}: ${Je(t)}`).join(`
134
+ `),e+=`
135
+ `;else for(let n=0;n<L.INLINE_USER_VAR_VIEWER_DISPLAY_NUM;n++){let r=(this._inlineUserVarViewer.topUserVarIndex[this._inlineUserVarViewer.kind]+n)%t.length;e+=`${t[r][0]}: ${Je(t[r][1],!0)}\n`}else if(this._inlineUserVarViewer.kind===`numbered`){e=`変数一覧
136
+ `,this._userVarNameListRequestError&&(this._userVarNameListRequestError.kind===`noFileSpecified`?e+=this._userVarNameListRequestError.errorMessage+`
137
+ `:(e+=`【変数名取得失敗】
138
+ `,e+=` すべての変数を名無しとしています。
139
+ `,e+=` エラー詳細: ${this._userVarNameListRequestError.errorMessage}\n`));for(let t=0;t<L.INLINE_USER_VAR_VIEWER_DISPLAY_NUM;t++){let n=(this._inlineUserVarViewer.topUserVarIndex[this._inlineUserVarViewer.kind]+t)%L.USER_VAR_NUM,r=`変数 ${n}: ${this._userVarNameList&&this._userVarNameList[n]?this._userVarNameList[n]:`名無し`}`;e+=`${r}: ${Je(this._userVar.numbered[n],!0)}\n`}}e+=`
140
+ 操作方法
141
+ `,e+=`上キー:1つ戻す 下キー:1つ進める
142
+ `,e+=`左キー:10個戻す 右キー:10個進める
143
+ `,e+=`Vキー: 名前付き変数/通常変数の切り替え`,this.registerSystemMessagePage(e)}}_displayHelp(){if(this._player.isControllable()){let t=this._playTimeCalculator?.calculatePlayTimeFormat();var e=``;switch(this.userDevice.device){case re.GAME:switch(this.userDevice.os){case M.NINTENDO:e=` 【操作方法】
144
+ A:Yes,戦闘結果予測の表示
145
+ B:No
146
+ X:メニュー
147
+ Y:このリストの表示
148
+ R:初めからスタート
149
+ ZL:データの一時保存
150
+ ZR:一時保存データの読み込み
151
+ +: 移動速度を上げる
152
+ -: 移動速度を落とす
153
+  WWA Wing バージョン:4.0.3
154
+  マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10;break;case M.PLAY_STATION:e=` 【操作方法】
155
+ 〇:Yes,戦闘結果予測の表示
156
+ ×:No
157
+ △:メニュー
158
+ □:このリストの表示
159
+ R1:初めからスタート
160
+ L2:データの一時保存
161
+ R2:一時保存データの読み込み
162
+ OPTIONS: 移動速度を上げる
163
+ SHARE: 移動速度を落とす
164
+   現在の移動回数:`+this._player.getMoveCount()+`
165
+ `+(t?`  プレイ時間:`+t+`
166
+ `:``)+` WWA Wing バージョン:4.0.3
167
+  マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10;break;case M.XBOX:e=` 【操作方法】
168
+ B:Yes,戦闘結果予測の表示
169
+ A:No
170
+ Y:メニュー
171
+ X:このリストの表示
172
+ RB:初めからスタート
173
+ LT:データの一時保存
174
+ RT:一時保存データの読み込み
175
+ MENU: 移動速度を上げる
176
+ WINDOW: 移動速度を落とす
177
+   現在の移動回数:`+this._player.getMoveCount()+`
178
+ `+(t?`  プレイ時間:`+t+`
179
+ `:``)+` WWA Wing バージョン:4.0.3
180
+  マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10;break;default:return}break;case re.SP:return;case re.VR:return;case re.PC:e=` 【操作方法】
181
+ F1、M:戦闘結果予測の表示
182
+ F3:復帰用パスワード入力
183
+ F4:復帰用パスワード表示
184
+ F5:一時保存データの読み込み
185
+ F6:データの一時保存
186
+ F7:初めからスタート
187
+ F8:WWA公式ページにリンク
188
+ F12:このリストの表示
189
+ キーボードの「123、QWE、ASD、ZXC」は右のアイテムボックスに対応。
190
+ 「Enter、Y」はYes,
191
+ 「Esc、N」はNoに対応。
192
+    I: 移動速度を落とす/
193
+ F2、P: 移動速度を上げる
194
+   現在の移動回数:`+this._player.getMoveCount()+`
195
+ `+(t?`  プレイ時間:`+t+`
196
+ `:``)+` WWA Wing バージョン:4.0.3
197
+  マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+`.`+this._wwaData.version%10;break;default:return}e&&this.registerSystemMessagePage(e)}}_setNextPage(){if(this._clearFacesInNextFrame=!0,this._scoreWindow.isVisible()&&this._scoreWindow.hide(),this._isLastPage&&this._reservedMoveMacroTurn!==void 0&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0),this._pages.length===0){let{newPageGenerated:e}=this._hideMessageWindow();e||(this.clearFaces(),this._dispatchWindowClosedTimeRequests())}else this._shouldSetNextPage=!0;this._inlineUserVarViewer&&(this._inlineUserVarViewer.isVisible=!1)}_hideMessageWindow(){let e=this._player.isReadyToUseItem()?this._player.useItem():0,t=this.getObjectAttributeById(e,L.ATR_STRING);return t===0?(this._messageWindow.isVisible()&&(this._player.setDelayFrame(),this._messageWindow.hide(),this._keyStore.allClear(),this._mouseStore.clear()),this._player.clearMessageWaiting(),{newPageGenerated:!1}):(this.registerPageByMessage(this.getMessageById(t),{triggerParts:{id:e,type:A.OBJECT,position:this._player.getPosition().getPartsCoord()}}),{newPageGenerated:this._pages.length!==0})}getPlayerPositon(){return this._player.getPosition()}loadMapPartsObjectID(e){return e|=0,e<0||e>=this._wwaData.objPartsMax?0:e}loadMapPartsID(e){return e|=0,e<0||e>=this._wwaData.mapPartsMax?0:e}replaceParts(e,t,n=A.OBJECT,r=!1){var i=this._camera.getPosition().getPartsCoord(),a=r?Math.max(0,i.x):0,o=r?Math.min(this._wwaData.mapWidth-1,i.x+L.H_PARTS_NUM_IN_WINDOW-1):this._wwaData.mapWidth-1,s=r?Math.max(0,i.y):0,c=r?Math.min(this._wwaData.mapWidth-1,i.y+L.V_PARTS_NUM_IN_WINDOW)-1:this._wwaData.mapWidth-1;r=a!==0||o!==this._wwaData.mapWidth-1||s!==0||c!==this._wwaData.mapWidth-1;var l,u,d,f,p,m,h,g;if(n===A.OBJECT)if(e=this.loadMapPartsObjectID(e),t=this.loadMapPartsObjectID(t),f=this._mapObjectIDTable[e].concat(),h=this._mapObjectIDTable[e],h.length=0,g=this._mapObjectIDTable[t],u=f.length,r)for(d=0;d<u;d++)l=f[d],p=l&we.BITMASK,m=l>>>we.BITSHIFT&we.BITMASK,a<=p&&p<=o&&s<=m&&m<=c?(this._wwaData.mapObject[m][p]=t,g.push(l)):h.push(l);else{for(d=0;d<u;d++)l=f[d],p=l&we.BITMASK,m=l>>>we.BITSHIFT&we.BITMASK,this._wwaData.mapObject[m][p]=t;Array.prototype.push.apply(g,f)}else if(e=this.loadMapPartsID(e),t=this.loadMapPartsID(t),f=this._mapIDTable[e].concat(),h=this._mapIDTable[e],h.length=0,g=this._mapIDTable[t],u=f.length,r)for(d=0;d<u;d++)l=f[d],p=l&we.BITMASK,m=l>>>we.BITSHIFT&we.BITMASK,a<=p&&p<=o&&s<=m&&m<=c?(this._wwaData.map[m][p]=t,g.push(l)):h.push(l);else{for(d=0;d<u;d++)l=f[d],p=l&we.BITMASK,m=l>>>we.BITSHIFT&we.BITMASK,this._wwaData.map[m][p]=t;Array.prototype.push.apply(g,f)}}getYesNoImgCoord(){return new S(this._wwaData.yesnoImgPosX,this._wwaData.yesnoImgPosY)}setYesNoImgCoord(e){return this._wwaData.yesnoImgPosX=e.x,this._wwaData.yesnoImgPosY=e.y,e}getPlayerImgCoord(){return new S(this._wwaData.playerImgPosX,this._wwaData.playerImgPosY)}setPlayerImgCoord(e){return this._wwaData.playerImgPosX=e.x,this._wwaData.playerImgPosY=e.y,e}setPlayerEnergyMax(e){return this._player.setEnergyMax(this.toValidStatusValue(e))}getMapPartsNum(){return this._wwaData.mapPartsMax}getObjectPartsNum(){return this._wwaData.objPartsMax}setMoveMacroWaitingToPlayer(e){this._reservedMoveMacroTurn=e}disableSave(e){return this._wwaData.disableSaveFlag=e,this._wwaSave.quickSaveButtonUpdate(this._wwaData),e}isOldMap(){return this._wwaData.isOldMap}setOldMap(e){return this._wwaData.isOldMap=e}setObjectNotCollapseOnPartsOnPlayer(e){return this._wwaData.objectNoCollapseDefaultFlag=e}setGameOverPosition(e){if(e.x<0||e.x>=this.getMapWidth()||e.y<0||e.y>=this.getMapWidth())throw Error(`マップの範囲外が指定されています!`);return this._wwaData.gameoverX=e.x,this._wwaData.gameoverY=e.y,e}getGemeOverPosition(){return new S(this._wwaData.gameoverX,this._wwaData.gameoverY)}toValidStatusValue(e){return this.isNotNumberTypeOrNaN(e)||e<0?0:Math.floor(e)}setPlayerStatus(e,t,n){if(e===ue.ENERGY){if(this._player.setEnergy(this.toValidStatusValue(t)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:n}))return this.gameover(),{isGameOver:!0}}else if(e===ue.STRENGTH)this._player.setStrength(this.toValidStatusValue(t));else if(e===ue.DEFENCE)this._player.setDefence(this.toValidStatusValue(t));else if(e===ue.GOLD)this._player.setGold(this.toValidStatusValue(t));else if(e===ue.MOVES)this._player.setMoveCount(this.toValidStatusValue(t));else throw Error(`未定義のステータスタイプです`);return{}}setDelPlayer(e){return this._wwaData.delPlayerFlag=e}setPlayerGetItem(e,t){try{this._player.addItem(t,e,!0)}catch{}}setStatusIconCoord(e,t){let n=t.x*L.CHIP_SIZE,r=t.y*L.CHIP_SIZE,i=e=>{let t=Ve(`${e}>.status-icon`);t.style.backgroundPosition=`-${n}px -${r}px`};switch(e){case de.ENERGY:this._wwaData.imgStatusEnergyX=t.x,this._wwaData.imgStatusEnergyY=t.y,i(`#disp-energy`);break;case de.STRENGTH:this._wwaData.imgStatusStrengthX=t.x,this._wwaData.imgStatusStrengthY=t.y,i(`#disp-strength`);break;case de.DEFENCE:this._wwaData.imgStatusDefenceX=t.x,this._wwaData.imgStatusDefenceY=t.y,i(`#disp-defence`);break;case de.GOLD:this._wwaData.imgStatusGoldX=t.x,this._wwaData.imgStatusGoldY=t.y,i(`#disp-gold`);break;default:throw Error(`種別が不正です。`)}return t.clone()}setWideCellCoord(e){this._wwaData.imgWideCellX=e.x,this._wwaData.imgWideCellY=e.y;let t=e.x*L.CHIP_SIZE,n=e.y*L.CHIP_SIZE;return Array.prototype.forEach.call(He(`div.wide-cell-row`),e=>{e.style.backgroundPosition=`-`+t+`px -`+n+`px`}),e.clone()}setFrameCoord(e){return this._wwaData.imgFrameX=e.x,this._wwaData.imgFrameY=e.y,this._cgManager.setFrameImage(e),e.clone()}setBattleEffectCoord(e){return this._battleEffectCoord=e.clone()}canInput(){return!this._temporaryInputDisable&&!this._cgManager.picture.isWaiting()}setEffect(e,t){this._wwaData.effectWaits=e,this._wwaData.effectCoords=t,this.updateEffect()}stopEffect(){this._wwaData.effectCoords=[],this.updateEffect()}updateEffect(){this._cgManager.updateEffects(this._wwaData.effectCoords)}updateAllPicturesCache(){this._cgManager.updateAllPicturesCache(this._isMainAnimation())}updatePicturesAnimation(){this._player.isPausing()||this._cgManager.updatePicturesAnimation(this._isMainAnimation())}setImgClick(e){if(this._wwaData.imgClickX=e.x,this._wwaData.imgClickY=e.y,e.equals(new S(0,0)))Array.prototype.forEach.call(He(`.item-cell>.item-click-border`),e=>{e.style.backgroundImage=`url('`+L.ITEM_BORDER_IMG_DATA_URL+`')`,e.style.backgroundPosition=`0 0`});else{var t=this._wwaData.mapCGName.replace(`(`,`\\(`).replace(`)`,`\\)`);Array.prototype.forEach.call(He(`.item-cell>.item-click-border`),n=>{n.style.backgroundImage=`url('`+t+`')`,n.style.backgroundPosition=`-`+e.x*L.CHIP_SIZE+`px -`+e.y*L.CHIP_SIZE+`px`})}}addFace(e){this._faces.push(e),this._messageWindow.setPositionByPlayerPosition(this._faces.length!==0,this._scoreWindow.isVisible(),!1,this._player.getPosition(),this._camera.getPosition())}clearFaces(){this._faces=[]}updateItemEffectEnabled(e){this._wwaData.isItemEffectEnabled=e}setOldMove(e){this._wwaData.isOldMove=e}setGameOverPolicy(e){switch(e){case 0:this._wwaData.gameOverPolicy=`default`;return;case 1:this._wwaData.gameOverPolicy=`never`;return;case 2:this._wwaData.gameOverPolicy=`except-macro`;return;default:return}}setBgmDelay(e){this._wwaData.bgmDelayDurationMs=e}setPictureRegistry(e,t,n,r,i){let a=n===A.OBJECT?this._wwaData.objectAttribute[t]:n===A.MAP?this._wwaData.mapAttribute[t]:null;if(a===null)throw Error(`対応していないパーツ番号です。`);let o=this.getMessageById(a[L.ATR_STRING]);if(!o)throw n===A.OBJECT?Error(`物体パーツ ${t} 番に対応したテキストが見つかりませんでした。`):Error(`背景パーツ ${t} 番に対応したテキストが見つかりませんでした。`);let s=this._returnEvalString(`(`+o+`)`),c=this._cgManager.picture.registerPictureFromRawRegistry({layerNumber:e,imgPosX:(a[L.ATR_X]??0)/L.CHIP_SIZE,imgPosX2:(a[L.ATR_X2]??0)/L.CHIP_SIZE,imgPosY:(a[L.ATR_Y]??0)/L.CHIP_SIZE,imgPosY2:(a[L.ATR_Y2]??0)/L.CHIP_SIZE,triggerPartsX:r.x,triggerPartsY:r.y,soundNumber:a[L.ATR_SOUND]??0,properties:d(s)},t,n,i);this._wwaData.pictureRegistry=c,this.updateAllPicturesCache()}setPictureRegistryFromRawText(e,t){let n=this._cgManager.picture.registerPictureFromRawText(e,t);this._wwaData.pictureRegistry=n,this.updateAllPicturesCache()}setPictureRegistryFromObject(e,t){let n=this._cgManager.picture.registerPictureFromObject(e,t);this._wwaData.pictureRegistry=n,this.updateAllPicturesCache()}deletePictureRegistry(e){let t=this._cgManager.picture.deletePicture(e);this._wwaData.pictureRegistry=t}clearAllPictures(){this._cgManager.picture.clearAllPictures(),this._wwaData.pictureRegistry=[]}initCSSRule(){this._styleElm=H(L.WWA_STYLE_TAG_ID),this._sheet=this._styleElm.sheet,this.updateCSSRule()}updateCSSRule(){if(this._stylePos===void 0)this._stylePos=[,,];else if(this._sheet.addRule!==void 0)for(var e=0;e<this._stylePos.length;e++)this._sheet.removeRule(this._stylePos[this._styleElm[e]]);else for(var e=0;e<this._stylePos.length;e++)this._sheet.deleteRule(this._stylePos[this._styleElm[e]]);let t=`div.wwa-message-window, div#wwa-text-message-window, div#wwa-battle-estimate, div#wwa-password-window`,n=this._isClassicModeEnable?1:.9,r=`
198
+ background-color: rgba(${this._wwaData.frameColorR}, ${this._wwaData.frameColorG}, ${this._wwaData.frameColorB}, ${n});
199
+ border-color: rgba(${this._wwaData.frameOutColorR}, ${this._wwaData.frameOutColorG}, ${this._wwaData.frameOutColorB}, 1);
200
+ color: rgba(${this._wwaData.fontColorR}, ${this._wwaData.fontColorG}, ${this._wwaData.fontColorB}, 1);
201
+ white-space: pre-wrap;
202
+ `,i=`div#wwa-sidebar`,a=`
203
+ color: rgba(${this._wwaData.statusColorR}, ${this._wwaData.statusColorG}, ${this._wwaData.statusColorB},1);
204
+ font-weight: bold;
205
+ `;this._sheet.addRule===void 0?(this._stylePos[Ce.MESSAGE_WINDOW]=this._sheet.insertRule(`${t} { ${r} }`,0),this._stylePos[Ce.SIDEBAR]=this._sheet.insertRule(`${i} { ${a} }`,1)):(this._stylePos[Ce.MESSAGE_WINDOW]=this._sheet.addRule(t,r),this._stylePos[Ce.SIDEBAR]=this._sheet.addRule(i,a))}changeStyleRule(e,t,n,r){e===Se.COLOR_FRAME?(this._wwaData.frameColorR=t,this._wwaData.frameColorG=n,this._wwaData.frameColorB=r):e===Se.COLOR_FRAMEOUT?(this._wwaData.frameOutColorR=t,this._wwaData.frameOutColorG=n,this._wwaData.frameOutColorB=r):e===Se.COLOR_STR?(this._wwaData.fontColorR=t,this._wwaData.fontColorG=n,this._wwaData.fontColorB=r):e===Se.COLOR_STATUS_STR&&(this._wwaData.statusColorR=t,this._wwaData.statusColorG=n,this._wwaData.statusColorB=r),this.updateCSSRule()}showMonsterWindow(){this._monsterWindow.show()}isClassicMode(){return this._isClassicModeEnable}isConsoleOutputMode(){return this._useConsole}forcedJumpGate(e,t){this._player.isWaitingMessage()?this._windowCloseWaitingJumpGateRequest={x:e,y:t}:(this._windowCloseWaitingJumpGateRequest=void 0,this._player.jumpTo(new C(this,e,t,0,0)))}setUserVarIndecies(e,t,n=`=`){let r=this._userVar.named.get(e[0]),i=e.length-1,a=e.slice(1,i).reduce((e,t)=>Ye(e,t),r),o=t,s=e[i];if(e.length>1){switch(n){case`=`:o=t;break;case`+=`:o=Ye(a,s)+t;break;case`-=`:if(typeof t!=`number`)throw TypeError(`その演算子は利用できません: ${n}`);o=Ye(a,s)-t;break;case`*=`:if(typeof t!=`number`)throw TypeError(`その演算子は利用できません: ${n}`);o=Ye(a,s)*t;break;case`/=`:if(typeof t!=`number`)throw TypeError(`その演算子は利用できません: ${n}`);o=Ye(a,s)/t;break;default:throw TypeError(`その演算子は利用できません: ${n}`)}if(Array.isArray(a))if(typeof s==`number`)a[s]=o;else throw TypeError(`配列の添字に数字以外は使えません: ${e[i]}`);else if(typeof a==`object`&&a)Xe(a,String(s),o);else if(typeof a==`string`)throw TypeError(`文字列 "${a}" の特定の文字を直接書き換えることはできません`);else Xe(a,s,o);this._userVar.named.set(e[0],r)}else throw Error(`indeciesの引数が足りていません: ${e}`)}setUserVar(e,t,n){let r=(e,t)=>{if(typeof e==`number`){if(typeof t!=`number`)throw TypeError(`数字index変数への数値以外の代入は今のところできません。あらかじめご了承ください。`);this._userVar.numbered[e]=typeof t==`number`?this.toAssignableValue(t):t}else this._userVar.named.set(e,t)},i=(e=>typeof e==`number`?this._userVar.numbered[e]:this._userVar.named.get(e))(e);if(typeof t==`number`)switch(n){case`+=`:if(typeof i==`number`)r(e,i+t);else if(typeof i==`string`)r(e,String(i)+t);else throw TypeError(`boolean に number は足せません`);break;case`-=`:if(typeof i==`number`)r(e,i-t);else throw TypeError(`string/boolean から number は引けません`);break;case`*=`:if(typeof i==`number`)r(e,i*t);else throw TypeError(`string/boolean に number はかけられません`);break;case`/=`:if(typeof i==`number`)r(e,i/t);else throw TypeError(`string/boolean は number で割れません`);break;default:r(e,t);break}else if(typeof t==`string`)switch(n){case`+=`:r(e,i+t);break;case`=`:r(e,t);break;default:throw TypeError(`文字列を -=, *=, /= で複合代入することはできません`)}else switch(n){case`+=`:if(typeof i==`string`)r(e,i+t);else throw TypeError(`number/boolean に boolean を足せません`);break;case`=`:r(e,t);break;default:throw TypeError(`booleanを -=, *=, /= で複合代入することはできません`)}this._messageWindow.update()}toAssignableValue(e){let t=Math.max(Math.min(e>0?Math.floor(e):Math.ceil(e),L.USER_VAR_NUM_MAX_VALUE),L.USET_VAR_NUM_MIN_VALUE);return this.isNotNumberTypeOrNaN(t)?0:t}isValidUserVarIndex(e){return typeof e==`number`&&e>=0&&e<L.USER_VAR_NUM&&(e|0)===e}isNotNumberTypeOrNaN(e){return typeof e!=`number`||e!==e}getUserVar(e){return this._userVar.numbered[e]}getUserNameVar(e){return this._userVar.named.get(e.toString())}getAllUserNameVar(){return d(this._userVar.named)}recUserPosition(e,t){var n=this._player.getPosition().getPartsCoord();this.setUserVar(e,n.x),this.setUserVar(t,n.y)}jumpRecUserPosition(e,t){let n=this._userVar.numbered[e],r=this._userVar.numbered[t];!qe(n,`v[${e}]`)||!qe(r,`v[${t}]`)||this.forcedJumpGate(n,r)}jumpSpecifiedXPos(e){let t=this._player.getPosition().getPartsCoord();this.forcedJumpGate(e,t.y)}jumpSpecifiedYPos(e){let t=this._player.getPosition().getPartsCoord();this.forcedJumpGate(t.x,e)}outputUserVar(e){console.log(`Var[`+e+`] = `+this._userVar.numbered[e])}setUserVarHP(e){this.setUserVar(e,this._player.getStatus().energy)}setUserVarHPMAX(e){this.setUserVar(e,this._player.getEnergyMax())}setUserVarAT(e,t){switch(t){case`bare`:this.setUserVar(e,this._player.getStatusWithoutEquipments().strength);return;case`equipment`:this.setUserVar(e,this._player.getStatusOfEquipments().strength);return;default:this.setUserVar(e,this._player.getStatus().strength);return}}setUserVarDF(e,t){switch(t){case`bare`:this.setUserVar(e,this._player.getStatusWithoutEquipments().defence);return;case`equipment`:this.setUserVar(e,this._player.getStatusOfEquipments().defence);return;default:this.setUserVar(e,this._player.getStatus().defence);return}}setUserVarMONEY(e){this.setUserVar(e,this._player.getStatus().gold)}setHPUserVar(e,t){if(!this.isValidUserVarIndex(e))throw Error(`ユーザ変数の添字が範囲外です。`);let n=this._userVar.numbered[e];if(qe(n,`v[${e}]`))return this._player.setEnergy(this.toValidStatusValue(n)),this._player.updateStatusValueBox(),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:t})?(this.gameover(),{isGameOver:!0}):{}}setHPMAXUserVar(e){if(!this.isValidUserVarIndex(e))throw Error(`ユーザ変数の添字が範囲外です。`);let t=this._userVar.numbered[e];qe(t,`v[${e}]`)&&(this._player.setEnergyMax(this.toValidStatusValue(t)),this._player.updateStatusValueBox())}setATUserVar(e){if(!this.isValidUserVarIndex(e))throw Error(`ユーザ変数の添字が範囲外です。`);let t=this._userVar.numbered[e];qe(t,`v[${e}]`)&&(this._player.setStrength(this.toValidStatusValue(t)),this._player.updateStatusValueBox())}setDFUserVar(e){if(!this.isValidUserVarIndex(e))throw Error(`ユーザ変数の添字が範囲外です。`);let t=this._userVar.numbered[e];qe(t,`v[${e}]`)&&(this._player.setDefence(this.toValidStatusValue(t)),this._player.updateStatusValueBox())}setMONEYUserVar(e){if(!this.isValidUserVarIndex(e))throw Error(`ユーザ変数の添字が範囲外です。`);let t=this._userVar.numbered[e];qe(t,`v[${e}]`)&&(this._player.setGold(this.toValidStatusValue(t)),this._player.updateStatusValueBox())}setUserVarStep(e){this.setUserVar(e,this._player.getMoveCount())}setUserVarVal(e,t){this.setUserVar(e,t)}setUserValOtherUserVal(e,t){this.setUserVar(e,this._userVar.numbered[t])}setUserValAdd(e,t){let n=this._userVar.numbered[e],r=this._userVar.numbered[t];typeof n!=`boolean`&&typeof r!=`boolean`&&this.setUserVar(e,n+r)}setUserValSub(e,t){let n=this._userVar.numbered[e],r=this._userVar.numbered[t];qe(n,`v[${e}]`)&&qe(r,`v[${t}]`)&&this.setUserVar(e,n-r)}setUserValMul(e,t){let n=this._userVar.numbered[e],r=this._userVar.numbered[t];qe(n,`v[${e}]`)&&qe(r,`v[${t}]`)&&this.setUserVar(e,n*r)}setUserValDiv(e,t){let n=this._userVar.numbered[e],r=this._userVar.numbered[t];qe(n,`v[${e}]`)&&qe(r,`v[${t}]`)&&this.setUserVar(e,r===0?0:n/r)}setUserValMod(e,t){let n=this._userVar.numbered[e],r=this._userVar.numbered[t];qe(n,`v[${e}]`)&&qe(r,`v[${t}]`)&&this.setUserVar(e,r===0?0:n%r)}setUserValRandNum(e,t,n){this.setUserVar(e,Math.floor(Math.random()*this.toAssignableValue(t))+n)}speedChangeJudge(e){this._wwaData.permitChangeGameSpeed=e}execSetMacro(e=``,t){let n=qt(e,this.generateTokenValues(t.triggerParts)),{assignee:r,rawValue:i}=n;switch(r){case`energy`:if(this._player.setEnergy(this.toValidStatusValue(i)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:!0}))return this._player.updateStatusValueBox(),this.gameover(),{isGameOver:!0};break;case`energyMax`:this._player.setEnergyMax(this.toValidStatusValue(i));break;case`strength`:this._player.setStrength(this.toValidStatusValue(i));break;case`defence`:this._player.setDefence(this.toValidStatusValue(i));break;case`gold`:this._player.setGold(this.toValidStatusValue(i));break;case`moveCount`:this._player.setMoveCount(this.toValidStatusValue(i));break;case`variable`:if(isNaN(n.index)||!this.isValidUserVarIndex(n.index))throw Error(`ユーザ変数の添字が範囲外です。`);this.setUserVar(n.index,this.toAssignableValue(i));break;case`map`:this.appearPartsEval(t.triggerParts.position,`${n.x}`,`${n.y}`,n.rawValue,A.MAP);break;case`mapObject`:this.appearPartsEval(t.triggerParts.position,`${n.x}`,`${n.y}`,n.rawValue,A.OBJECT);break;case`item`:this.setPlayerGetItem(n.boxIndex1to12,i);break;case`playerDirection`:this._player.setDir(i);break}return this._player.updateStatusValueBox(),{}}generateTokenValues(e){return{totalStatus:this._player.getStatus(),bareStatus:this._player.getStatusWithoutEquipments(),itemStatus:this._player.getStatusOfEquipments(),energyMax:this._player.getEnergyMax(),moveCount:this._player.getMoveCount(),playTime:this._playTimeCalculator?.calculateTimeMs()??0,userVars:this._userVar.numbered,playerCoord:this._player.getPosition().getPartsCoord(),playerDirection:this._player.getDir(),itemBox:this._player.getCopyOfItemBox(),partsId:e?.id,partsType:e?.type,partsPosition:e?.position,map:this._wwaData.map,mapObject:this._wwaData.mapObject}}userVarUserIf(e,t){if(t[5]===void 0)throw Error(`$if の引数不足 str=`+t);let n=parseInt(t[0],10),r=parseInt(t[2],10);if(!this.isValidUserVarIndex(n)||!this.isValidUserVarIndex(r))throw Error(`判定対象のユーザ変数の添字が範囲外です!`);let i=this._userVar.numbered[n],a=t[1],o=this._userVar.numbered[r];if(!qe(i,`v[${n}]`)||!qe(o,`v[${r}]`))return;let s=e=>parseInt(e,10)?A.MAP:A.OBJECT;if(this.compareUserVar(i,a,o)){let n=parseInt(t[3],10),r=t[4],i=t[5],a=s(t[6]);this.appearPartsEval(e,r,i,n,a);return}if(t[9]===void 0)return;let c=parseInt(t[7],10),l=t[8],u=t[9],d=s(t[10]);this.appearPartsEval(e,l,u,c,d)}compareUserVar(e,t,n){switch(t){case`==`:return e===n;case`!=`:return e!==n;case`>=`:return e>=n;case`>`:return e>n;case`<=`:return e<=n;case`<`:return e<n;default:throw Error(`未定義の演算子です: ${t}`)}}setPlayerSpeedIndex(e){if(e<L.MIN_SPEED_INDEX||L.MAX_SPEED_INDEX<e)throw Error(`#set_speed の引数が異常です:`+e);if(this._player.isMoving()){this._playerAndObjectsStopWaitingGameSpeedChangeRequest={speedIndex:e};return}this._wwaData.gameSpeedIndex=this._player.setSpeedIndex(e),this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0}setUserVarPlayTime(e){this.setUserVar(e,this._playTimeCalculator?.calculateTimeMs()??0)}hideStatus(e,t){if(e<0||e>me.length)throw Error(`隠すパラメータは0から3の間で指定してください。`);this._changeStatusVisibility(me[e],!t),this._player.updateStatusValueBox()}varMap(e,t,n,r,i){if(!this.isValidUserVarIndex(r))throw Error(`対象のユーザ変数の添字が範囲外です`);let a=this._userVar.numbered[r];if(typeof a!=`number`)throw Error(`数値でないパーツ番号は指定できません`);if(a<0)throw Error(`負のパーツ番号は指定できません`);if(i===A.OBJECT&&a>=this.getObjectPartsNum())throw Error(`物体パーツ番号の最大値を超えるパーツ番号が指定されました`);if(i===A.MAP&&a>=this.getMapPartsNum())throw Error(`背景パーツ番号の最大値を超えるパーツ番号が指定されました`);this.appearPartsEval(e,t,n,a,i)}setItemboxBackgroundPosition(e){this._wwaData.imgItemboxX=e.x,this._wwaData.imgItemboxY=e.y,Array.prototype.forEach.call(He(`div.item-cell`),t=>{t.style.backgroundPosition=`-${e.x*L.CHIP_SIZE}px -${e.y*L.CHIP_SIZE}px`})}_getVirtualPadButton(e){if(!Me.includes(e))throw ReferenceError(`WWAの仮想パッド ${e} は存在しません。`);return this._virtualPadButtonElements[e]}_setVirtualPadTouch(e){this._getVirtualPadButton(e).classList.add(`wwa-virtualpad__button--pressed`)}_setVirtualPadLeave(e){this._getVirtualPadButton(e).classList.remove(`wwa-virtualpad__button--pressed`)}_actionGamePadButtonItemMacro(){if(!this._wwaData.gamePadButtonItemTable)return!1;var e=this._wwaData.gamePadButtonItemTable.length,t,n,r;for(t=0;t<e;t++)if(n=this._wwaData.gamePadButtonItemTable[t],n){switch(r=!1,t){case V.BUTTON_CROSS_KEY_LEFT:this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_LEFT)&&(r=!0);break;case V.BUTTON_CROSS_KEY_RIGHT:this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_RIGHT)&&(r=!0);break;case V.BUTTON_CROSS_KEY_UP:this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_UP)&&(r=!0);break;case V.BUTTON_CROSS_KEY_DOWN:this._gamePadStore.crossPressed(V.BUTTON_CROSS_KEY_DOWN)&&(r=!0);break}if(this._gamePadStore.buttonTrigger(t)&&(r=!0),r&&this.onselectitem(n))return!0}return!1}setGamePadButtonItemTable(e,t){if(!this._wwaData.gamePadButtonItemTable){var n,r;for(r in this._wwaData.gamePadButtonItemTable=[],V)n=r,this._wwaData.gamePadButtonItemTable[n]=0}this._wwaData.gamePadButtonItemTable.length>e&&(this._wwaData.gamePadButtonItemTable[e]=t)}_checkSaveDataCompatibility(e,t,n){return e!==void 0&&e!==this._wwaData.worldName?Qi.UNMATCHED_WORLD_NAME:n&&n!==Zi(this._wwaData.worldName,this._wwaData.worldPassNumber)?Qi.UNMATCHED_WORLD_PASS_NUMBER:this._isDisallowLoadOldSave&&t!==this.checkOriginalMapString?Qi.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:null}isVisibleStatus(e){switch(e){case`energy`:return this._wwaData.isVisibleStatusEnergy;case`strength`:return this._wwaData.isVisibleStatusStrength;case`defence`:return this._wwaData.isVisibleStatusDefence;case`gold`:return this._wwaData.isVisibleStatusGold;default:throw Error(`存在しないステータスが与えられました`)}}_changeStatusVisibility(e,t){switch(e){case`energy`:this._wwaData.isVisibleStatusEnergy=t;return;case`strength`:this._wwaData.isVisibleStatusStrength=t;return;case`defence`:this._wwaData.isVisibleStatusDefence=t;return;case`gold`:this._wwaData.isVisibleStatusGold=t;return;default:throw Error(`存在しないステータスが与えられました`)}}shouldApplyGameOver({isCalledByMacro:e}){return e?this._wwaData.gameOverPolicy===`default`:this._wwaData.gameOverPolicy===`default`||this._wwaData.gameOverPolicy===`except-macro`}getEnemyStatus(){return this._monster?this._monster.status:-1}setEnemyStatus(e){if(this._monster)this._monster.setStatus(e);else throw Error(`敵が存在しません`)}getGameStatus(){return{totalStatus:this._player.getStatus(),bareStatus:this._player.getStatusWithoutEquipments(),itemStatus:this._player.getStatusOfEquipments(),energyMax:this._player.getEnergyMax(),moveCount:this._player.getMoveCount(),playTime:this._playTimeCalculator?.calculateTimeMs()??0,userVars:this._userVar.numbered,playerCoord:this._player.getPosition().getPartsCoord(),playerDirection:this._player.getDir(),cameraCoord:this._camera.getPosition().getPartsCoord(),itemBox:this._player.getCopyOfItemBox(),gameSpeedIndex:this._player.getSpeedIndex(),wwaData:this._wwaData}}_debugEvalString(){if(this._player.isControllable())try{let e=this._debugConsoleElement.querySelector(`.console-text-area`);if(!(e instanceof HTMLTextAreaElement))throw Error(`要素 #wwa-debug-console > .console-text-area が textarea 要素でありません`);this._execEvalString(e.value)}catch(e){console.error(e),this.registerSystemMessagePage(`解析中にエラーが発生しました :
206
+ `+e.message)}}_execEvalString(e,t){try{let n=this.convertWwaNodes(e);t&&this.evalCalcWwaNodeGenerator.setTriggerParts(t.id,t.type,t.position),this.evalCalcWwaNodeGenerator.evalWwaNodes(n),this.evalCalcWwaNodeGenerator.clearTemporaryState()}catch(e){console.error(e),this.registerSystemMessagePage(`解析中にエラーが発生しました :
207
+ `+e.message)}}_returnEvalString(e){try{let t=$(Fs(`(`+e+`)`));return this.evalCalcWwaNodeGenerator.evalWwaNode(t)}catch(e){console.error(e),this.registerSystemMessagePage(`解析中にエラーが発生しました :
208
+ `+e.message,!1)}}movePlayer(e){this._player.controll(e)}isPlayerWaitingMessage(){return this._player.isWaitingMessage()}_loadSystemMessage(e){if(this._wwaData.customSystemMessages[e])return this._wwaData.customSystemMessages[e];let t=_[e];if(t.mapdataParams)switch(t.mapdataParams.messageArea){case`message`:{let e=this._wwaData.message[t.mapdataParams.index];return e===``?t.defaultText:e}case`systemMessage`:{let e=this._wwaData.systemMessage[t.mapdataParams.index];return e===``?t.defaultText:e}default:throw Error(`システムエラー: システムメッセージの設定がおかしいようです`)}return t.defaultText}resolveSystemMessage(e){let t=this._loadSystemMessage(e);switch(e){case g.ITEM_SELECT_TUTORIAL:return t.replaceAll(`%HOW_TO_USE_ITEM%`,(()=>{switch(this.userDevice.device){case re.PC:return`右のボックスを選択する`;case re.VR:return`右のボックスをクリックする`;case re.SP:return`右のボックスをタップする`;case re.GAME:switch(this.userDevice.os){case M.NINTENDO:return`Xボタンを押すか、右のボックスをタップする`;case M.PLAY_STATION:return`△ボタンを押す`;case M.XBOX:return`Yボタンを押す`;default:return`右のボックスを選択する`}default:return`右のボックスを選択する`}})());case g.GAME_SPEED_CHANGED:{let e=this._player.getSpeedIndex();return t.replaceAll(`%GAME_SPEED_NAME%`,pe[e]).replaceAll(`%HIGH_SPEED_MESSAGE%`,this.isBattleSpeedIndexForQuickBattle(e)?`戦闘も速くなります。
209
+ `:``).replaceAll(`%MAX_SPEED_INDEX%`,String(L.MAX_SPEED_INDEX+1)).replaceAll(`%GAME_SPEED_INDEX%`,String(e+1)).replaceAll(`%SPEED_UP_BUTTON%`,this.userDevice.os===M.NINTENDO?`+ボタン`:`Pキー`).replaceAll(`%SPEED_DOWN_BUTTON%`,this.userDevice.os===M.NINTENDO?`-ボタン`:`Iキー`)}default:return t}}overwriteSystemMessage(e,t){this._wwaData.customSystemMessages[e]=t}},Nc=!1;function Pc(e,t){if(e===null)return;let n=document.createElement(`button`);n.classList.add(`wwa-virtualpad-toggle-button`),n.textContent=`仮想パッド表示切り替え`,n.addEventListener(`click`,t),e.appendChild(n)}function Fc(e){if(e===null)return;let t=document.createElement(`section`);t.setAttribute(`id`,`wwa-debug-console`);let n=document.createElement(`textarea`);n.setAttribute(`rows`,`10`),n.setAttribute(`cols`,`60`),n.textContent=`v["money"] = 100;
210
+ v["name"] = "ヤツロウ";
211
+ MSG(v["name"]+"「俺の所持金は"+v["money"]+"ゴールドだ」");
212
+ for(LP[0]=0; LP[0]<2; LP[0]++) {
213
+ LOG(LP);
214
+ }`;let r=e=>e.stopPropagation();n.addEventListener(`keydown`,r),n.addEventListener(`keypress`,r),n.addEventListener(`keyup`,r),n.classList.add(`console-text-area`),t.appendChild(n);let i=document.createElement(`button`);return i.classList.add(`script-running-button`),i.textContent=`実行(X)`,t.appendChild(i),e.appendChild(t),t}function Ic(){if(navigator.userAgent.match(/(?:msie|trident)/i)||navigator.userAgent.match(/edge/i)){alert(`このゲームをプレイするには、Google Chrome や Mozilla Firefox などの最新のブラウザでこのページを開いてください。
215
+ ご利用の環境のサポートは、既に終了しています。`);return}Array.prototype.forEach.call(He(`a.wwa-copyright`),e=>{e.addEventListener(`click`,()=>{Nc=!0})}),window.addEventListener(`beforeunload`,e=>{var t=`このページを離れますか?`;if(Nc)return Nc=!1,e.returnValue=t,t});let e=H(`wwa-wrapper`).getAttribute(`data-wwa-title-img`),t=H(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-enable`),n=t!==null&&t.match(/^true$/i)!==null;Nr(H(`wwa-wrapper`),e,n);var r=H(`wwa-wrapper`).getAttribute(`data-wwa-mapdata`),i=H(`wwa-wrapper`).getAttribute(`data-wwa-audio-dir`),a=H(`wwa-wrapper`).getAttribute(`data-wwa-var-dump-elm`),o=null,s=H(`wwa-wrapper`).getAttribute(`data-wwa-display-user-vars`)===`true`,c=H(`wwa-wrapper`).getAttribute(`data-wwa-user-var-names-file`);H(`wwa-wrapper`).hasAttribute(`data-wwa-var-dump-elm`)&&s&&(o=Oc(a));var l=!0;H(`wwa-wrapper`).getAttribute(`data-wwa-urlgate-enable`).match(/^false$/i)&&(l=!1);var u=H(`wwa-wrapper`).getAttribute(`data-wwa-classic-mode-enable`),d=!1;u!==null&&u.match(/^true$/i)&&(d=!0);var f=!0,p=H(`wwa-wrapper`).getAttribute(`data-wwa-item-effect-enable`);p!==null&&p.match(/^false$/i)&&(f=!1);let m=!1,h=H(`wwa-wrapper`).getAttribute(`data-wwa-use-go-to-wwa`);h!==null&&h.match(/^true$/i)&&(m=!0);let g=H(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-viewport-fit-enable`);Mr()&&g!==null&&g.match(/^true$/i)&&(Ie(),window.addEventListener(`resize`,Le));let _=H(`wwa-wrapper`).getAttribute(`data-wwa-virtualpad-controller-elm`),v=n&&_?Ve(_):null,y=H(`wwa-wrapper`).getAttribute(`data-wwa-picture-image-names-file`),b=(()=>{let e=H(`wwa-wrapper`).getAttribute(`data-wwa-disallow-load-old-save`);return!!(e!==null&&e.match(/^true$/i))})(),x=H(`wwa-wrapper`).getAttribute(`data-wwa-user-defined-scripts-file`);Ac=new Mc({mapdata:r,urlGateEnable:l,titleImg:e??void 0,audioDir:i,classicModeEnable:d,itemEffectEnable:f,useGoToWwa:m,disallowLoadOldSave:b,varDumpElm:o,userVarNamesFile:c,displayUserVars:s,virtualPadEnable:n,virtualPadControllerElm:v,userDefinedScriptsFile:x,pictureImageNamesFile:y})}return document.readyState===`complete`?setTimeout(Ic):window.addEventListener(`load`,function(){setTimeout(Ic)}),e.WWA=Mc,e.getProgress=jc,e})({});