@famibee/skynovel 1.48.13 → 1.63.11

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 (289) hide show
  1. package/README.md +2 -1
  2. package/dist/CallStack.js +25 -0
  3. package/dist/CallStack.js.map +1 -0
  4. package/dist/EventMng.js +1588 -0
  5. package/dist/EventMng.js.map +1 -0
  6. package/dist/LayerMng.js +2924 -0
  7. package/dist/LayerMng.js.map +1 -0
  8. package/dist/PropParser.js +833 -0
  9. package/dist/PropParser.js.map +1 -0
  10. package/dist/Reading.js +784 -0
  11. package/dist/Reading.js.map +1 -0
  12. package/dist/ScriptIterator.js +1125 -0
  13. package/dist/ScriptIterator.js.map +1 -0
  14. package/dist/SndBuf.js +1519 -0
  15. package/dist/SndBuf.js.map +1 -0
  16. package/dist/SoundMng.js +136 -0
  17. package/dist/SoundMng.js.map +1 -0
  18. package/dist/Variable.js +479 -0
  19. package/dist/Variable.js.map +1 -0
  20. package/dist/app.d.ts +5 -1
  21. package/dist/app.d.ts.map +1 -1
  22. package/dist/appMain.d.ts +6 -6
  23. package/dist/appMain.d.ts.map +1 -1
  24. package/dist/appMain_cmn.d.ts +30 -0
  25. package/dist/appMain_cmn.d.ts.map +1 -0
  26. package/dist/build.d.ts +2 -0
  27. package/dist/build.d.ts.map +1 -0
  28. package/dist/gamepad.js +511 -0
  29. package/dist/gamepad.js.map +1 -0
  30. package/dist/index.d.ts +32 -38
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/preload.d.ts +34 -31
  33. package/dist/preload.d.ts.map +1 -1
  34. package/dist/sn/AnalyzeTagArg.d.ts +10 -6
  35. package/dist/sn/AnalyzeTagArg.d.ts.map +1 -1
  36. package/dist/sn/Areas.d.ts +7 -5
  37. package/dist/sn/Areas.d.ts.map +1 -1
  38. package/dist/sn/Button.d.ts +2 -2
  39. package/dist/sn/Button.d.ts.map +1 -1
  40. package/dist/sn/CallStack.d.ts +12 -5
  41. package/dist/sn/CallStack.d.ts.map +1 -1
  42. package/dist/sn/CmnInterface.d.ts +178 -117
  43. package/dist/sn/CmnInterface.d.ts.map +1 -1
  44. package/dist/sn/CmnLib.d.ts +20 -19
  45. package/dist/sn/CmnLib.d.ts.map +1 -1
  46. package/dist/sn/CmnTween.d.ts +6 -8
  47. package/dist/sn/CmnTween.d.ts.map +1 -1
  48. package/dist/sn/Config.d.ts +6 -4
  49. package/dist/sn/Config.d.ts.map +1 -1
  50. package/dist/sn/ConfigBase.d.ts +39 -24
  51. package/dist/sn/ConfigBase.d.ts.map +1 -1
  52. package/dist/sn/DebugMng.d.ts +3 -2
  53. package/dist/sn/DebugMng.d.ts.map +1 -1
  54. package/dist/sn/DesignCast.d.ts +5 -6
  55. package/dist/sn/DesignCast.d.ts.map +1 -1
  56. package/dist/sn/EventListenerCtn.d.ts +3 -3
  57. package/dist/sn/EventListenerCtn.d.ts.map +1 -1
  58. package/dist/sn/EventMng.d.ts +5 -11
  59. package/dist/sn/EventMng.d.ts.map +1 -1
  60. package/dist/sn/FocusMng.d.ts.map +1 -1
  61. package/dist/sn/FrameMng.d.ts +3 -4
  62. package/dist/sn/FrameMng.d.ts.map +1 -1
  63. package/dist/sn/Grammar.d.ts +133 -16
  64. package/dist/sn/Grammar.d.ts.map +1 -1
  65. package/dist/sn/GrpLayer.d.ts +8 -4
  66. package/dist/sn/GrpLayer.d.ts.map +1 -1
  67. package/dist/sn/Hyphenation.d.ts +42 -0
  68. package/dist/sn/Hyphenation.d.ts.map +1 -0
  69. package/dist/sn/Layer.d.ts +24 -4
  70. package/dist/sn/Layer.d.ts.map +1 -1
  71. package/dist/sn/LayerMng.d.ts +17 -24
  72. package/dist/sn/LayerMng.d.ts.map +1 -1
  73. package/dist/sn/Log.d.ts +18 -0
  74. package/dist/sn/Log.d.ts.map +1 -0
  75. package/dist/sn/Main.d.ts +4 -6
  76. package/dist/sn/Main.d.ts.map +1 -1
  77. package/dist/sn/Pages.d.ts +1 -1
  78. package/dist/sn/Pages.d.ts.map +1 -1
  79. package/dist/sn/PropParser.d.ts +2 -2
  80. package/dist/sn/PropParser.d.ts.map +1 -1
  81. package/dist/sn/Reading.d.ts +86 -0
  82. package/dist/sn/Reading.d.ts.map +1 -0
  83. package/dist/sn/RubySpliter.d.ts +1 -3
  84. package/dist/sn/RubySpliter.d.ts.map +1 -1
  85. package/dist/sn/ScriptIterator.d.ts +20 -10
  86. package/dist/sn/ScriptIterator.d.ts.map +1 -1
  87. package/dist/sn/SndBuf.d.ts +15 -5
  88. package/dist/sn/SndBuf.d.ts.map +1 -1
  89. package/dist/sn/SoundMng.d.ts +3 -2
  90. package/dist/sn/SoundMng.d.ts.map +1 -1
  91. package/dist/sn/SpritesMng.d.ts +4 -4
  92. package/dist/sn/SpritesMng.d.ts.map +1 -1
  93. package/dist/sn/SysApp.d.ts +12 -16
  94. package/dist/sn/SysApp.d.ts.map +1 -1
  95. package/dist/sn/SysBase.d.ts +24 -27
  96. package/dist/sn/SysBase.d.ts.map +1 -1
  97. package/dist/sn/SysNode.d.ts +9 -9
  98. package/dist/sn/SysNode.d.ts.map +1 -1
  99. package/dist/sn/SysWeb.d.ts +10 -14
  100. package/dist/sn/SysWeb.d.ts.map +1 -1
  101. package/dist/sn/TxtLayer.d.ts +79 -7
  102. package/dist/sn/TxtLayer.d.ts.map +1 -1
  103. package/dist/sn/TxtStage.d.ts +45 -30
  104. package/dist/sn/TxtStage.d.ts.map +1 -1
  105. package/dist/sn/Variable.d.ts +33 -13
  106. package/dist/sn/Variable.d.ts.map +1 -1
  107. package/dist/sn/htm2tx.d.ts +3 -0
  108. package/dist/sn/htm2tx.d.ts.map +1 -0
  109. package/dist/test/AnalyzeTagArg.test.d.ts +2 -0
  110. package/dist/test/AnalyzeTagArg.test.d.ts.map +1 -0
  111. package/dist/test/AreasTest.test.d.ts +2 -0
  112. package/dist/test/AreasTest.test.d.ts.map +1 -0
  113. package/dist/test/CmnLib.test.d.ts +2 -0
  114. package/dist/test/CmnLib.test.d.ts.map +1 -0
  115. package/dist/test/Config.test.d.ts +2 -0
  116. package/dist/test/Config.test.d.ts.map +1 -0
  117. package/dist/test/Grammar.test.d.ts +2 -0
  118. package/dist/test/Grammar.test.d.ts.map +1 -0
  119. package/dist/test/HyphTest.test.d.ts +2 -0
  120. package/dist/test/HyphTest.test.d.ts.map +1 -0
  121. package/dist/test/Log.test.d.ts +2 -0
  122. package/dist/test/Log.test.d.ts.map +1 -0
  123. package/dist/test/PropParser.test.d.ts +2 -0
  124. package/dist/test/PropParser.test.d.ts.map +1 -0
  125. package/dist/test/RubySpliter.test.d.ts +2 -0
  126. package/dist/test/RubySpliter.test.d.ts.map +1 -0
  127. package/dist/test/SysTest.d.ts +5 -0
  128. package/dist/test/SysTest.d.ts.map +1 -0
  129. package/dist/test/ValTest.d.ts +31 -0
  130. package/dist/test/ValTest.d.ts.map +1 -0
  131. package/dist/test/Variable.test.d.ts +2 -0
  132. package/dist/test/Variable.test.d.ts.map +1 -0
  133. package/dist/web.d.ts +5 -1
  134. package/dist/web.d.ts.map +1 -1
  135. package/dist/web.js +6 -30102
  136. package/dist/web.js.map +1 -1
  137. package/dist/web2.js +23020 -0
  138. package/dist/web2.js.map +1 -0
  139. package/dist_app/CallStack.js +25 -0
  140. package/dist_app/CallStack.js.map +1 -0
  141. package/dist_app/EventMng.js +1588 -0
  142. package/dist_app/EventMng.js.map +1 -0
  143. package/dist_app/LayerMng.js +2924 -0
  144. package/dist_app/LayerMng.js.map +1 -0
  145. package/dist_app/PropParser.js +833 -0
  146. package/dist_app/PropParser.js.map +1 -0
  147. package/dist_app/Reading.js +784 -0
  148. package/dist_app/Reading.js.map +1 -0
  149. package/dist_app/ScriptIterator.js +1125 -0
  150. package/dist_app/ScriptIterator.js.map +1 -0
  151. package/dist_app/SndBuf.js +1519 -0
  152. package/dist_app/SndBuf.js.map +1 -0
  153. package/dist_app/SoundMng.js +136 -0
  154. package/dist_app/SoundMng.js.map +1 -0
  155. package/dist_app/Variable.js +479 -0
  156. package/dist_app/Variable.js.map +1 -0
  157. package/dist_app/app.d.ts +9 -0
  158. package/dist_app/app.d.ts.map +1 -0
  159. package/dist_app/app.js +9 -0
  160. package/dist_app/app.js.map +1 -0
  161. package/dist_app/app2.js +19819 -0
  162. package/dist_app/app2.js.map +1 -0
  163. package/dist_app/appMain.d.ts +9 -0
  164. package/dist_app/appMain.d.ts.map +1 -0
  165. package/dist_app/appMain.js +23 -0
  166. package/dist_app/appMain.js.map +1 -0
  167. package/dist_app/appMain_cmn.d.ts +30 -0
  168. package/dist_app/appMain_cmn.d.ts.map +1 -0
  169. package/dist_app/build.d.ts +2 -0
  170. package/dist_app/build.d.ts.map +1 -0
  171. package/dist_app/gamepad.js +511 -0
  172. package/dist_app/gamepad.js.map +1 -0
  173. package/dist_app/index.d.ts +33 -0
  174. package/dist_app/index.d.ts.map +1 -0
  175. package/dist_app/preload.d.ts +47 -0
  176. package/dist_app/preload.d.ts.map +1 -0
  177. package/dist_app/preload.js +2 -0
  178. package/dist_app/preload.js.map +1 -0
  179. package/dist_app/sn/AnalyzeTagArg.d.ts +28 -0
  180. package/dist_app/sn/AnalyzeTagArg.d.ts.map +1 -0
  181. package/dist_app/sn/Areas.d.ts +15 -0
  182. package/dist_app/sn/Areas.d.ts.map +1 -0
  183. package/dist_app/sn/Button.d.ts +23 -0
  184. package/dist_app/sn/Button.d.ts.map +1 -0
  185. package/dist_app/sn/CallStack.d.ts +23 -0
  186. package/dist_app/sn/CallStack.d.ts.map +1 -0
  187. package/dist_app/sn/CmnInterface.d.ts +227 -0
  188. package/dist_app/sn/CmnInterface.d.ts.map +1 -0
  189. package/dist_app/sn/CmnLib.d.ts +46 -0
  190. package/dist_app/sn/CmnLib.d.ts.map +1 -0
  191. package/dist_app/sn/CmnTween.d.ts +35 -0
  192. package/dist_app/sn/CmnTween.d.ts.map +1 -0
  193. package/dist_app/sn/Config.d.ts +12 -0
  194. package/dist_app/sn/Config.d.ts.map +1 -0
  195. package/dist_app/sn/ConfigBase.d.ts +111 -0
  196. package/dist_app/sn/ConfigBase.d.ts.map +1 -0
  197. package/dist_app/sn/DebugMng.d.ts +14 -0
  198. package/dist_app/sn/DebugMng.d.ts.map +1 -0
  199. package/dist_app/sn/DesignCast.d.ts +53 -0
  200. package/dist_app/sn/DesignCast.d.ts.map +1 -0
  201. package/dist_app/sn/EventListenerCtn.d.ts +13 -0
  202. package/dist_app/sn/EventListenerCtn.d.ts.map +1 -0
  203. package/dist_app/sn/EventMng.d.ts +29 -0
  204. package/dist_app/sn/EventMng.d.ts.map +1 -0
  205. package/dist_app/sn/FocusMng.d.ts +13 -0
  206. package/dist_app/sn/FocusMng.d.ts.map +1 -0
  207. package/dist_app/sn/FrameMng.d.ts +20 -0
  208. package/dist_app/sn/FrameMng.d.ts.map +1 -0
  209. package/dist_app/sn/Grammar.d.ts +291 -0
  210. package/dist_app/sn/Grammar.d.ts.map +1 -0
  211. package/dist_app/sn/GrpLayer.d.ts +49 -0
  212. package/dist_app/sn/GrpLayer.d.ts.map +1 -0
  213. package/dist_app/sn/Hyphenation.d.ts +42 -0
  214. package/dist_app/sn/Hyphenation.d.ts.map +1 -0
  215. package/dist_app/sn/Layer.d.ts +86 -0
  216. package/dist_app/sn/Layer.d.ts.map +1 -0
  217. package/dist_app/sn/LayerMng.d.ts +46 -0
  218. package/dist_app/sn/LayerMng.d.ts.map +1 -0
  219. package/dist_app/sn/Log.d.ts +18 -0
  220. package/dist_app/sn/Log.d.ts.map +1 -0
  221. package/dist_app/sn/Main.d.ts +16 -0
  222. package/dist_app/sn/Main.d.ts.map +1 -0
  223. package/dist_app/sn/Pages.d.ts +26 -0
  224. package/dist_app/sn/Pages.d.ts.map +1 -0
  225. package/dist_app/sn/PropParser.d.ts +12 -0
  226. package/dist_app/sn/PropParser.d.ts.map +1 -0
  227. package/dist_app/sn/Reading.d.ts +86 -0
  228. package/dist_app/sn/Reading.d.ts.map +1 -0
  229. package/dist_app/sn/RubySpliter.d.ts +14 -0
  230. package/dist_app/sn/RubySpliter.d.ts.map +1 -0
  231. package/dist_app/sn/ScriptIterator.d.ts +58 -0
  232. package/dist_app/sn/ScriptIterator.d.ts.map +1 -0
  233. package/dist_app/sn/SndBuf.d.ts +30 -0
  234. package/dist_app/sn/SndBuf.d.ts.map +1 -0
  235. package/dist_app/sn/SoundMng.d.ts +16 -0
  236. package/dist_app/sn/SoundMng.d.ts.map +1 -0
  237. package/dist_app/sn/SpritesMng.d.ts +27 -0
  238. package/dist_app/sn/SpritesMng.d.ts.map +1 -0
  239. package/dist_app/sn/SysApp.d.ts +32 -0
  240. package/dist_app/sn/SysApp.d.ts.map +1 -0
  241. package/dist_app/sn/SysBase.d.ts +79 -0
  242. package/dist_app/sn/SysBase.d.ts.map +1 -0
  243. package/dist_app/sn/SysNode.d.ts +15 -0
  244. package/dist_app/sn/SysNode.d.ts.map +1 -0
  245. package/dist_app/sn/SysWeb.d.ts +26 -0
  246. package/dist_app/sn/SysWeb.d.ts.map +1 -0
  247. package/dist_app/sn/TxtLayer.d.ts +121 -0
  248. package/dist_app/sn/TxtLayer.d.ts.map +1 -0
  249. package/dist_app/sn/TxtStage.d.ts +90 -0
  250. package/dist_app/sn/TxtStage.d.ts.map +1 -0
  251. package/dist_app/sn/Variable.d.ts +48 -0
  252. package/dist_app/sn/Variable.d.ts.map +1 -0
  253. package/dist_app/sn/htm2tx.d.ts +3 -0
  254. package/dist_app/sn/htm2tx.d.ts.map +1 -0
  255. package/dist_app/test/AnalyzeTagArg.test.d.ts +2 -0
  256. package/dist_app/test/AnalyzeTagArg.test.d.ts.map +1 -0
  257. package/dist_app/test/AreasTest.test.d.ts +2 -0
  258. package/dist_app/test/AreasTest.test.d.ts.map +1 -0
  259. package/dist_app/test/CmnLib.test.d.ts +2 -0
  260. package/dist_app/test/CmnLib.test.d.ts.map +1 -0
  261. package/dist_app/test/Config.test.d.ts +2 -0
  262. package/dist_app/test/Config.test.d.ts.map +1 -0
  263. package/dist_app/test/Grammar.test.d.ts +2 -0
  264. package/dist_app/test/Grammar.test.d.ts.map +1 -0
  265. package/dist_app/test/HyphTest.test.d.ts +2 -0
  266. package/dist_app/test/HyphTest.test.d.ts.map +1 -0
  267. package/dist_app/test/Log.test.d.ts +2 -0
  268. package/dist_app/test/Log.test.d.ts.map +1 -0
  269. package/dist_app/test/PropParser.test.d.ts +2 -0
  270. package/dist_app/test/PropParser.test.d.ts.map +1 -0
  271. package/dist_app/test/RubySpliter.test.d.ts +2 -0
  272. package/dist_app/test/RubySpliter.test.d.ts.map +1 -0
  273. package/dist_app/test/SysTest.d.ts +5 -0
  274. package/dist_app/test/SysTest.d.ts.map +1 -0
  275. package/dist_app/test/ValTest.d.ts +31 -0
  276. package/dist_app/test/ValTest.d.ts.map +1 -0
  277. package/dist_app/test/Variable.test.d.ts +2 -0
  278. package/dist_app/test/Variable.test.d.ts.map +1 -0
  279. package/dist_app/web.d.ts +9 -0
  280. package/dist_app/web.d.ts.map +1 -0
  281. package/package.json +57 -51
  282. package/dist/app.js +0 -28154
  283. package/dist/app.js.map +0 -1
  284. package/dist/appMain.js +0 -16
  285. package/dist/appMain.js.map +0 -1
  286. package/dist/preload.js +0 -2
  287. package/dist/preload.js.map +0 -1
  288. package/dist/sn/ReadState.d.ts +0 -79
  289. package/dist/sn/ReadState.d.ts.map +0 -1
@@ -0,0 +1,30 @@
1
+ import { SAVE_WIN_INF } from './preload';
2
+ import { BrowserWindow } from 'electron/main';
3
+ export type T_ipc_appMain_cmn = {
4
+ handle(channel: string, listener: (e: unknown, ...args: any[]) => any | Promise<any>): void;
5
+ on(channel: string, listener: (e: unknown, ...args: any[]) => void): void;
6
+ };
7
+ export type T_HINFO = {
8
+ getAppPath: string;
9
+ isPackaged: boolean;
10
+ downloads: string;
11
+ userData: string;
12
+ getVersion: string;
13
+ env: {
14
+ SKYNOVEL_DBG?: string;
15
+ SKYNOVEL_PORT?: string;
16
+ };
17
+ platform: string;
18
+ arch: string;
19
+ };
20
+ export declare class appMain_cmn {
21
+ #private;
22
+ protected readonly bw: BrowserWindow;
23
+ readonly version: string;
24
+ static init(ipc: T_ipc_appMain_cmn): void;
25
+ constructor(bw: BrowserWindow, version: string);
26
+ protected sendShutdown(): void;
27
+ protected sendSaveWinInf(_arg: SAVE_WIN_INF): void;
28
+ openDevTools: () => void;
29
+ }
30
+ //# sourceMappingURL=appMain_cmn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appMain_cmn.d.ts","sourceRoot":"","sources":["../../src/appMain_cmn.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,YAAY,EAAa,MAAM,WAAW,CAAC;AAGxD,OAAO,KAAK,EAAC,aAAa,EAA6C,MAAM,eAAe,CAAC;AAQ7F,MAAM,MAAM,iBAAiB,GAAG;IAE/B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAG3F,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CAG1E,CAAA;AAGD,MAAM,MAAM,OAAO,GAAG;IACrB,UAAU,EAAG,MAAM,CAAC;IACpB,UAAU,EAAG,OAAO,CAAC;IACrB,SAAS,EAAG,MAAM,CAAC;IACnB,QAAQ,EAAG,MAAM,CAAC;IAClB,UAAU,EAAG,MAAM,CAAC;IACpB,GAAG,EAAK;QACP,YAAY,CAAC,EAAG,MAAM,CAAC;QACvB,aAAa,CAAC,EAAG,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,EAAG,MAAM,CAAC;IAClB,IAAI,EAAI,MAAM,CAAC;CACf,CAAA;AAKD,qBAAa,WAAW;;IA4BX,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM;IA3B1E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB;gBA2BH,EAAE,EAAE,aAAa,EAAW,OAAO,EAAE,MAAM;IAwN1E,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY;IAI3C,YAAY,aAAwB;CAEpC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/build.ts"],"names":[],"mappings":""}
@@ -0,0 +1,511 @@
1
+ function Q(F, z) {
2
+ for (var D = 0; D < z.length; D++) {
3
+ const B = z[D];
4
+ if (typeof B != "string" && !Array.isArray(B)) {
5
+ for (const x in B)
6
+ if (x !== "default" && !(x in F)) {
7
+ const q = Object.getOwnPropertyDescriptor(B, x);
8
+ q && Object.defineProperty(F, x, q.get ? q : {
9
+ enumerable: !0,
10
+ get: () => B[x]
11
+ });
12
+ }
13
+ }
14
+ }
15
+ return Object.freeze(Object.defineProperty(F, Symbol.toStringTag, { value: "Module" }));
16
+ }
17
+ var U = { exports: {} }, X = U.exports, W;
18
+ function Y() {
19
+ return W || (W = 1, function(F, z) {
20
+ (function(D, B) {
21
+ F.exports = B();
22
+ })(X, () => (() => {
23
+ var D = { 944: function(m) {
24
+ var g;
25
+ g = () => (() => {
26
+ var S = { d: (u, c) => {
27
+ for (var s in c) S.o(c, s) && !S.o(u, s) && Object.defineProperty(u, s, { enumerable: !0, get: c[s] });
28
+ }, o: (u, c) => Object.prototype.hasOwnProperty.call(u, c) }, I = {};
29
+ function w(u) {
30
+ return w = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(c) {
31
+ return typeof c;
32
+ } : function(c) {
33
+ return c && typeof Symbol == "function" && c.constructor === Symbol && c !== Symbol.prototype ? "symbol" : typeof c;
34
+ }, w(u);
35
+ }
36
+ function A(u, c) {
37
+ var s = typeof Symbol < "u" && u[Symbol.iterator] || u["@@iterator"];
38
+ if (!s) {
39
+ if (Array.isArray(u) || (s = O(u)) || c) {
40
+ s && (u = s);
41
+ var i = 0, f = function() {
42
+ };
43
+ return { s: f, n: function() {
44
+ return i >= u.length ? { done: !0 } : { done: !1, value: u[i++] };
45
+ }, e: function(p) {
46
+ throw p;
47
+ }, f };
48
+ }
49
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
50
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
51
+ }
52
+ var d, v = !0, h = !1;
53
+ return { s: function() {
54
+ s = s.call(u);
55
+ }, n: function() {
56
+ var p = s.next();
57
+ return v = p.done, p;
58
+ }, e: function(p) {
59
+ h = !0, d = p;
60
+ }, f: function() {
61
+ try {
62
+ v || s.return == null || s.return();
63
+ } finally {
64
+ if (h) throw d;
65
+ }
66
+ } };
67
+ }
68
+ function y(u, c) {
69
+ return function(s) {
70
+ if (Array.isArray(s)) return s;
71
+ }(u) || function(s, i) {
72
+ var f = s == null ? null : typeof Symbol < "u" && s[Symbol.iterator] || s["@@iterator"];
73
+ if (f != null) {
74
+ var d, v, h, p, R = [], V = !0, L = !1;
75
+ try {
76
+ if (h = (f = f.call(s)).next, i !== 0) for (; !(V = (d = h.call(f)).done) && (R.push(d.value), R.length !== i); V = !0) ;
77
+ } catch (H) {
78
+ L = !0, v = H;
79
+ } finally {
80
+ try {
81
+ if (!V && f.return != null && (p = f.return(), Object(p) !== p)) return;
82
+ } finally {
83
+ if (L) throw v;
84
+ }
85
+ }
86
+ return R;
87
+ }
88
+ }(u, c) || O(u, c) || function() {
89
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
90
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
91
+ }();
92
+ }
93
+ function O(u, c) {
94
+ if (u) {
95
+ if (typeof u == "string") return E(u, c);
96
+ var s = Object.prototype.toString.call(u).slice(8, -1);
97
+ return s === "Object" && u.constructor && (s = u.constructor.name), s === "Map" || s === "Set" ? Array.from(u) : s === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s) ? E(u, c) : void 0;
98
+ }
99
+ }
100
+ function E(u, c) {
101
+ (c == null || c > u.length) && (c = u.length);
102
+ for (var s = 0, i = new Array(c); s < c; s++) i[s] = u[s];
103
+ return i;
104
+ }
105
+ function j(u, c) {
106
+ if (!(u instanceof c)) throw new TypeError("Cannot call a class as a function");
107
+ }
108
+ S.d(I, { default: () => Z });
109
+ var Z = function() {
110
+ function u() {
111
+ var i = !(arguments.length > 0 && arguments[0] !== void 0) || arguments[0];
112
+ j(this, u), this.strict = i, this.defaults = /* @__PURE__ */ new Map(), this.validators = /* @__PURE__ */ new Map(), this.types = /* @__PURE__ */ new Map(), this.optional = /* @__PURE__ */ new Set(), this.required = /* @__PURE__ */ new Set();
113
+ }
114
+ var c, s;
115
+ return c = u, (s = [{ key: "allowExtra", value: function() {
116
+ return this.strict = !1, this;
117
+ } }, { key: "setDefaults", value: function(i) {
118
+ var f = this;
119
+ return Object.entries(i).forEach(function(d) {
120
+ var v = y(d, 2), h = v[0], p = v[1];
121
+ return f.defaults.set(h, p);
122
+ }), this;
123
+ } }, { key: "setValidators", value: function(i) {
124
+ var f = this;
125
+ return Object.entries(i).forEach(function(d) {
126
+ var v = y(d, 2), h = v[0], p = v[1];
127
+ return f.validators.set(h, p);
128
+ }), this;
129
+ } }, { key: "setTypes", value: function(i) {
130
+ var f = this;
131
+ return Object.entries(i).forEach(function(d) {
132
+ var v = y(d, 2), h = v[0], p = v[1];
133
+ return f.types.set(h, p);
134
+ }), this;
135
+ } }, { key: "setOptional", value: function(i) {
136
+ var f = this;
137
+ return i.forEach(function(d) {
138
+ return f.optional.add(d);
139
+ }), this;
140
+ } }, { key: "setRequired", value: function(i) {
141
+ var f = this;
142
+ return i.forEach(function(d) {
143
+ return f.required.add(d);
144
+ }), this;
145
+ } }, { key: "resolve", value: function(i) {
146
+ return this.validate(Object.assign(this.getDefaults(), i));
147
+ } }, { key: "getDefaults", value: function() {
148
+ var i, f = {}, d = A(this.defaults);
149
+ try {
150
+ for (d.s(); !(i = d.n()).done; ) {
151
+ var v = y(i.value, 2), h = v[0], p = v[1];
152
+ f[h] = p;
153
+ }
154
+ } catch (R) {
155
+ d.e(R);
156
+ } finally {
157
+ d.f();
158
+ }
159
+ return f;
160
+ } }, { key: "validate", value: function(i) {
161
+ for (var f in i) this.validators.has(f) && (i[f] = this.validators.get(f)(i[f]));
162
+ for (var d in i) {
163
+ if (!this.optionExists(d)) throw new Error('Unkown option "'.concat(d, '".'));
164
+ this.checkType(d, i[d]);
165
+ }
166
+ var v, h = A(this.required.values());
167
+ try {
168
+ for (h.s(); !(v = h.n()).done; ) {
169
+ var p = v.value;
170
+ if (i[p] === void 0) throw new Error('Option "'.concat(p, '" is required.'));
171
+ }
172
+ } catch (R) {
173
+ h.e(R);
174
+ } finally {
175
+ h.f();
176
+ }
177
+ return i;
178
+ } }, { key: "checkType", value: function(i, f) {
179
+ if (this.types.has(i)) {
180
+ var d = this.types.get(i), v = w(f);
181
+ if (v !== d) throw new Error('Wrong value for option "'.concat(i, '": expected type "').concat(d, '", got "').concat(v, '".'));
182
+ }
183
+ } }, { key: "optionExists", value: function(i) {
184
+ return !this.strict || this.defaults.has(i) || this.validators.has(i) || this.optional.has(i) || this.required.has(i) || this.types.has(i);
185
+ } }]) && function(i, f) {
186
+ for (var d = 0; d < f.length; d++) {
187
+ var v = f[d];
188
+ v.enumerable = v.enumerable || !1, v.configurable = !0, "value" in v && (v.writable = !0), Object.defineProperty(i, (h = function(p, R) {
189
+ if (w(p) !== "object" || p === null) return p;
190
+ var V = p[Symbol.toPrimitive];
191
+ if (V !== void 0) {
192
+ var L = V.call(p, "string");
193
+ if (w(L) !== "object") return L;
194
+ throw new TypeError("@@toPrimitive must return a primitive value.");
195
+ }
196
+ return String(p);
197
+ }(v.key), w(h) === "symbol" ? h : String(h)), v);
198
+ }
199
+ var h;
200
+ }(c.prototype, s), Object.defineProperty(c, "prototype", { writable: !1 }), u;
201
+ }();
202
+ return I.default;
203
+ })(), m.exports = g();
204
+ }, 162: function(m) {
205
+ m.exports = (() => {
206
+ var g = { d: (w, A) => {
207
+ for (var y in A) g.o(A, y) && !g.o(w, y) && Object.defineProperty(w, y, { enumerable: !0, get: A[y] });
208
+ }, o: (w, A) => Object.prototype.hasOwnProperty.call(w, A) }, S = {};
209
+ g.d(S, { default: () => I });
210
+ var I = function() {
211
+ function w() {
212
+ (function(y, O) {
213
+ if (!(y instanceof O)) throw new TypeError("Cannot call a class as a function");
214
+ })(this, w), this._events = {}, this.on = this.addEventListener, this.off = this.removeEventListener;
215
+ }
216
+ var A;
217
+ return (A = [{ key: "emit", value: function(y, O) {
218
+ if (Object.prototype.hasOwnProperty.call(this._events, y)) for (var E = this._events[y], j = { type: y, detail: O }, Z = E.length, u = 0; u < Z; u++) this.handle(E[u], j);
219
+ } }, { key: "handle", value: function(y, O) {
220
+ y(O);
221
+ } }, { key: "addEventListener", value: function(y, O) {
222
+ Object.prototype.hasOwnProperty.call(this._events, y) || (this._events[y] = []), this._events[y].indexOf(O) < 0 && this._events[y].push(O);
223
+ } }, { key: "removeEventListener", value: function(y, O) {
224
+ if (Object.prototype.hasOwnProperty.call(this._events, y)) {
225
+ var E = this._events[y], j = E.indexOf(O);
226
+ j >= 0 && E.splice(j, 1), E.length === 0 && delete this._events[y];
227
+ }
228
+ } }]) && function(y, O) {
229
+ for (var E = 0; E < O.length; E++) {
230
+ var j = O[E];
231
+ j.enumerable = j.enumerable || !1, j.configurable = !0, "value" in j && (j.writable = !0), Object.defineProperty(y, j.key, j);
232
+ }
233
+ }(w.prototype, A), w;
234
+ }();
235
+ return S.default;
236
+ })();
237
+ } }, B = {};
238
+ function x(m) {
239
+ var g = B[m];
240
+ if (g !== void 0) return g.exports;
241
+ var S = B[m] = { exports: {} };
242
+ return D[m].call(S.exports, S, S.exports, x), S.exports;
243
+ }
244
+ x.n = (m) => {
245
+ var g = m && m.__esModule ? () => m.default : () => m;
246
+ return x.d(g, { a: g }), g;
247
+ }, x.d = (m, g) => {
248
+ for (var S in g) x.o(g, S) && !x.o(m, S) && Object.defineProperty(m, S, { enumerable: !0, get: g[S] });
249
+ }, x.o = (m, g) => Object.prototype.hasOwnProperty.call(m, g), x.r = (m) => {
250
+ typeof Symbol < "u" && Symbol.toStringTag && Object.defineProperty(m, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(m, "__esModule", { value: !0 });
251
+ };
252
+ var q = {};
253
+ return (() => {
254
+ x.r(q), x.d(q, { GamepadHandler: () => i, GamepadListener: () => K });
255
+ var m = x(162), g = x.n(m), S = x(944), I = x.n(S);
256
+ function w(a) {
257
+ return w = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
258
+ return typeof e;
259
+ } : function(e) {
260
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
261
+ }, w(a);
262
+ }
263
+ function A(a, e) {
264
+ if (!(a instanceof e)) throw new TypeError("Cannot call a class as a function");
265
+ }
266
+ function y(a, e) {
267
+ for (var o = 0; o < e.length; o++) {
268
+ var l = e[o];
269
+ l.enumerable = l.enumerable || !1, l.configurable = !0, "value" in l && (l.writable = !0), Object.defineProperty(a, Z(l.key), l);
270
+ }
271
+ }
272
+ function O(a, e) {
273
+ return O = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, l) {
274
+ return o.__proto__ = l, o;
275
+ }, O(a, e);
276
+ }
277
+ function E(a, e) {
278
+ if (e && (w(e) === "object" || typeof e == "function")) return e;
279
+ if (e !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
280
+ return function(o) {
281
+ if (o === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
282
+ return o;
283
+ }(a);
284
+ }
285
+ function j(a) {
286
+ return j = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
287
+ return e.__proto__ || Object.getPrototypeOf(e);
288
+ }, j(a);
289
+ }
290
+ function Z(a) {
291
+ var e = function(o, l) {
292
+ if (w(o) !== "object" || o === null) return o;
293
+ var k = o[Symbol.toPrimitive];
294
+ if (k !== void 0) {
295
+ var _ = k.call(o, "string");
296
+ if (w(_) !== "object") return _;
297
+ throw new TypeError("@@toPrimitive must return a primitive value.");
298
+ }
299
+ return String(o);
300
+ }(a);
301
+ return w(e) === "symbol" ? e : String(e);
302
+ }
303
+ var u, c, s, i = function(a) {
304
+ (function(n, r) {
305
+ if (typeof r != "function" && r !== null) throw new TypeError("Super expression must either be null or a function");
306
+ n.prototype = Object.create(r && r.prototype, { constructor: { value: n, writable: !0, configurable: !0 } }), Object.defineProperty(n, "prototype", { writable: !1 }), r && O(n, r);
307
+ })(t, a);
308
+ var e, o, l, k, _, C = (k = t, _ = function() {
309
+ if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham) return !1;
310
+ if (typeof Proxy == "function") return !0;
311
+ try {
312
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
313
+ })), !0;
314
+ } catch {
315
+ return !1;
316
+ }
317
+ }(), function() {
318
+ var n, r = j(k);
319
+ if (_) {
320
+ var b = j(this).constructor;
321
+ n = Reflect.construct(r, arguments, b);
322
+ } else n = r.apply(this, arguments);
323
+ return E(this, n);
324
+ });
325
+ function t(n, r) {
326
+ var b, M = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
327
+ return A(this, t), (b = C.call(this)).index = n, b.gamepad = r, b.options = b.constructor.resolveOptions(M), b.axes = new Array(r.axes.length).fill(null), b.buttons = new Array(r.buttons.length).fill(null), b.initAxes(), b.initButtons(), b;
328
+ }
329
+ return e = t, l = [{ key: "resolveOptions", value: function(n) {
330
+ var r, b, M, T, P = n.axis, N = n.button;
331
+ return { axis: this.optionResolver.resolve((r = (b = P ?? N) !== null && b !== void 0 ? b : n) !== null && r !== void 0 ? r : {}), button: this.optionResolver.resolve((M = (T = N ?? P) !== null && T !== void 0 ? T : n) !== null && M !== void 0 ? M : {}) };
332
+ } }], (o = [{ key: "initAxes", value: function() {
333
+ for (var n = this.axes.length, r = 0; r < n; r++) this.axes[r] = this.resolveAxisValue(r);
334
+ } }, { key: "initButtons", value: function() {
335
+ for (var n = this.buttons.length, r = 0; r < n; r++) this.buttons[r] = this.resolveButtonValue(r);
336
+ } }, { key: "update", value: function(n) {
337
+ this.gamepad = n, this.updateAxis(), this.updateButtons();
338
+ } }, { key: "updateAxis", value: function() {
339
+ for (var n = this.axes.length, r = 0; r < n; r++) this.setAxisValue(r, this.resolveAxisValue(r));
340
+ } }, { key: "updateButtons", value: function() {
341
+ for (var n = this.buttons.length, r = 0; r < n; r++) this.setButtonValue(r, this.resolveButtonValue(r));
342
+ } }, { key: "setAxisValue", value: function(n, r) {
343
+ this.axes[n] !== r && (this.axes[n] = r, this.emit("axis", { gamepad: this.gamepad, index: this.index, axis: n, value: r }));
344
+ } }, { key: "setButtonValue", value: function(n, r) {
345
+ this.buttons[n] !== r && (this.buttons[n] = r, this.emit("button", { gamepad: this.gamepad, index: this.index, button: n, pressed: this.gamepad.buttons[n].pressed, value: r }));
346
+ } }, { key: "resolveAxisValue", value: function(n) {
347
+ var r = this.options.axis, b = r.deadZone, M = r.analog, T = r.precision, P = this.gamepad.axes[n];
348
+ return b && P < b && P > -b ? 0 : M ? T ? Math.round(P * T) / T : P : P > 0 ? 1 : P < 0 ? -1 : 0;
349
+ } }, { key: "resolveButtonValue", value: function(n) {
350
+ var r = this.options.button, b = r.deadZone, M = r.analog, T = r.precision, P = this.gamepad.buttons[n].value;
351
+ return b > 0 && P < b && P > -b ? 0 : M ? T ? Math.round(P * T) / T : P : P === 0 ? 0 : 1;
352
+ } }]) && y(e.prototype, o), l && y(e, l), Object.defineProperty(e, "prototype", { writable: !1 }), t;
353
+ }(g());
354
+ function f(a) {
355
+ return f = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
356
+ return typeof e;
357
+ } : function(e) {
358
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
359
+ }, f(a);
360
+ }
361
+ function d(a, e) {
362
+ for (var o = 0; o < e.length; o++) {
363
+ var l = e[o];
364
+ l.enumerable = l.enumerable || !1, l.configurable = !0, "value" in l && (l.writable = !0), Object.defineProperty(a, v(l.key), l);
365
+ }
366
+ }
367
+ function v(a) {
368
+ var e = function(o, l) {
369
+ if (f(o) !== "object" || o === null) return o;
370
+ var k = o[Symbol.toPrimitive];
371
+ if (k !== void 0) {
372
+ var _ = k.call(o, "string");
373
+ if (f(_) !== "object") return _;
374
+ throw new TypeError("@@toPrimitive must return a primitive value.");
375
+ }
376
+ return String(o);
377
+ }(a);
378
+ return f(e) === "symbol" ? e : String(e);
379
+ }
380
+ u = i, c = "optionResolver", s = new (I())().setDefaults({ analog: !0, deadZone: 0, precision: 0 }).setTypes({ analog: "boolean", deadZone: "number", precision: "number" }).setValidators({ deadZone: function(a) {
381
+ return Math.max(Math.min(a, 1), 0);
382
+ }, precision: function(a) {
383
+ return a > 0 ? Math.pow(10, a) : 0;
384
+ } }), (c = Z(c)) in u ? Object.defineProperty(u, c, { value: s, enumerable: !0, configurable: !0, writable: !0 }) : u[c] = s;
385
+ var h = function() {
386
+ function a(l) {
387
+ (function(k, _) {
388
+ if (!(k instanceof _)) throw new TypeError("Cannot call a class as a function");
389
+ })(this, a), this.callback = l, this.frame = null, this.update = this.update.bind(this);
390
+ }
391
+ var e, o;
392
+ return e = a, (o = [{ key: "setCallback", value: function(l) {
393
+ this.callback = l;
394
+ } }, { key: "start", value: function() {
395
+ this.frame || (this.frame = window.requestAnimationFrame(this.update));
396
+ } }, { key: "stop", value: function() {
397
+ this.frame && (window.cancelAnimationFrame(this.frame), this.frame = null);
398
+ } }, { key: "update", value: function() {
399
+ this.frame = window.requestAnimationFrame(this.update), this.callback();
400
+ } }]) && d(e.prototype, o), Object.defineProperty(e, "prototype", { writable: !1 }), a;
401
+ }();
402
+ function p(a) {
403
+ return p = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
404
+ return typeof e;
405
+ } : function(e) {
406
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
407
+ }, p(a);
408
+ }
409
+ function R(a, e) {
410
+ if (!(a instanceof e)) throw new TypeError("Cannot call a class as a function");
411
+ }
412
+ function V(a, e) {
413
+ for (var o = 0; o < e.length; o++) {
414
+ var l = e[o];
415
+ l.enumerable = l.enumerable || !1, l.configurable = !0, "value" in l && (l.writable = !0), Object.defineProperty(a, L(l.key), l);
416
+ }
417
+ }
418
+ function L(a) {
419
+ var e = function(o, l) {
420
+ if (p(o) !== "object" || o === null) return o;
421
+ var k = o[Symbol.toPrimitive];
422
+ if (k !== void 0) {
423
+ var _ = k.call(o, "string");
424
+ if (p(_) !== "object") return _;
425
+ throw new TypeError("@@toPrimitive must return a primitive value.");
426
+ }
427
+ return String(o);
428
+ }(a);
429
+ return p(e) === "symbol" ? e : String(e);
430
+ }
431
+ function H(a, e) {
432
+ return H = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, l) {
433
+ return o.__proto__ = l, o;
434
+ }, H(a, e);
435
+ }
436
+ function J(a, e) {
437
+ if (e && (p(e) === "object" || typeof e == "function")) return e;
438
+ if (e !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
439
+ return G(a);
440
+ }
441
+ function G(a) {
442
+ if (a === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
443
+ return a;
444
+ }
445
+ function $(a) {
446
+ return $ = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
447
+ return e.__proto__ || Object.getPrototypeOf(e);
448
+ }, $(a);
449
+ }
450
+ var K = function(a) {
451
+ (function(t, n) {
452
+ if (typeof n != "function" && n !== null) throw new TypeError("Super expression must either be null or a function");
453
+ t.prototype = Object.create(n && n.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), n && H(t, n);
454
+ })(C, a);
455
+ var e, o, l, k, _ = (l = C, k = function() {
456
+ if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham) return !1;
457
+ if (typeof Proxy == "function") return !0;
458
+ try {
459
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
460
+ })), !0;
461
+ } catch {
462
+ return !1;
463
+ }
464
+ }(), function() {
465
+ var t, n = $(l);
466
+ if (k) {
467
+ var r = $(this).constructor;
468
+ t = Reflect.construct(n, arguments, r);
469
+ } else t = n.apply(this, arguments);
470
+ return J(this, t);
471
+ });
472
+ function C() {
473
+ var t, n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
474
+ if (R(this, C), t = _.call(this), typeof navigator.getGamepads != "function") throw new Error("This browser does not support gamepad API.");
475
+ return t.options = n, t.onAxis = t.onAxis.bind(G(t)), t.update = t.update.bind(G(t)), t.start = t.start.bind(G(t)), t.stop = t.stop.bind(G(t)), t.discover = t.discover.bind(G(t)), t.onButton = t.onButton.bind(G(t)), t.handlers = new Array(4).fill(null), t.loop = new h(t.update), window.addEventListener("error", t.stop), t;
476
+ }
477
+ return e = C, (o = [{ key: "start", value: function() {
478
+ this.loop.start();
479
+ } }, { key: "stop", value: function() {
480
+ this.loop.stop();
481
+ } }, { key: "update", value: function() {
482
+ var t = navigator.getGamepads();
483
+ this.discover(t[0], 0), this.discover(t[1], 1), this.discover(t[2], 2), this.discover(t[3], 3);
484
+ } }, { key: "discover", value: function(t, n) {
485
+ t ? (this.handlers[n] === null && this.registerHandler(n, t), this.handlers[n].update(t)) : this.handlers[n] && this.removeGamepad(n);
486
+ } }, { key: "registerHandler", value: function(t, n) {
487
+ var r = new i(t, n, this.options);
488
+ this.handlers[t] = r, r.addEventListener("axis", this.onAxis), r.addEventListener("button", this.onButton), this.emit("gamepad:connected", { index: t, gamepad: n }), this.emit("gamepad:".concat(t, ":connected"), { index: t, gamepad: n });
489
+ } }, { key: "removeGamepad", value: function(t) {
490
+ var n = this.handlers[t];
491
+ n.removeEventListener("axis", this.onAxis), n.removeEventListener("button", this.onButton), this.handlers[t] = null, this.emit("gamepad:disconnected", { index: t }), this.emit("gamepad:".concat(t, ":disconnected"), { index: t });
492
+ } }, { key: "onAxis", value: function(t) {
493
+ var n = t.detail.index;
494
+ this.emit("gamepad:axis", t.detail), this.emit("gamepad:".concat(n, ":axis"), t.detail), this.emit("gamepad:".concat(n, ":axis:").concat(t.detail.axis), t.detail);
495
+ } }, { key: "onButton", value: function(t) {
496
+ var n = t.detail.index;
497
+ this.emit("gamepad:button", t.detail), this.emit("gamepad:".concat(n, ":button"), t.detail), this.emit("gamepad:".concat(n, ":button:").concat(t.detail.button), t.detail);
498
+ } }]) && V(e.prototype, o), Object.defineProperty(e, "prototype", { writable: !1 }), C;
499
+ }(g());
500
+ })(), q;
501
+ })());
502
+ }(U)), U.exports;
503
+ }
504
+ var ee = Y();
505
+ const te = /* @__PURE__ */ Q({
506
+ __proto__: null
507
+ }, [ee]);
508
+ export {
509
+ te as g
510
+ };
511
+ //# sourceMappingURL=gamepad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gamepad.js","sources":["../node_modules/gamepad.js/gamepad.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.gamepad=e():t.gamepad=e()}(this,(()=>(()=>{var t={944:function(t){var e;e=()=>(()=>{\"use strict\";var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};function n(t){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n(t)}function r(t,e){var n=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!n){if(Array.isArray(t)||(n=i(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,u=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return u=t.done,t},e:function(t){s=!0,a=t},f:function(){try{u||null==n.return||n.return()}finally{if(s)throw a}}}}function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,o,i,a,u=[],s=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);s=!0);}catch(t){l=!0,o=t}finally{try{if(!s&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||i(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,e){if(t){if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function u(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}t.d(e,{default:()=>s});var s=function(){function t(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];u(this,t),this.strict=e,this.defaults=new Map,this.validators=new Map,this.types=new Map,this.optional=new Set,this.required=new Set}var e,i;return e=t,(i=[{key:\"allowExtra\",value:function(){return this.strict=!1,this}},{key:\"setDefaults\",value:function(t){var e=this;return Object.entries(t).forEach((function(t){var n=o(t,2),r=n[0],i=n[1];return e.defaults.set(r,i)})),this}},{key:\"setValidators\",value:function(t){var e=this;return Object.entries(t).forEach((function(t){var n=o(t,2),r=n[0],i=n[1];return e.validators.set(r,i)})),this}},{key:\"setTypes\",value:function(t){var e=this;return Object.entries(t).forEach((function(t){var n=o(t,2),r=n[0],i=n[1];return e.types.set(r,i)})),this}},{key:\"setOptional\",value:function(t){var e=this;return t.forEach((function(t){return e.optional.add(t)})),this}},{key:\"setRequired\",value:function(t){var e=this;return t.forEach((function(t){return e.required.add(t)})),this}},{key:\"resolve\",value:function(t){return this.validate(Object.assign(this.getDefaults(),t))}},{key:\"getDefaults\",value:function(){var t,e={},n=r(this.defaults);try{for(n.s();!(t=n.n()).done;){var i=o(t.value,2),a=i[0],u=i[1];e[a]=u}}catch(t){n.e(t)}finally{n.f()}return e}},{key:\"validate\",value:function(t){for(var e in t)this.validators.has(e)&&(t[e]=this.validators.get(e)(t[e]));for(var n in t){if(!this.optionExists(n))throw new Error('Unkown option \"'.concat(n,'\".'));this.checkType(n,t[n])}var o,i=r(this.required.values());try{for(i.s();!(o=i.n()).done;){var a=o.value;if(void 0===t[a])throw new Error('Option \"'.concat(a,'\" is required.'))}}catch(t){i.e(t)}finally{i.f()}return t}},{key:\"checkType\",value:function(t,e){if(this.types.has(t)){var r=this.types.get(t),o=n(e);if(o!==r)throw new Error('Wrong value for option \"'.concat(t,'\": expected type \"').concat(r,'\", got \"').concat(o,'\".'))}}},{key:\"optionExists\",value:function(t){return!this.strict||this.defaults.has(t)||this.validators.has(t)||this.optional.has(t)||this.required.has(t)||this.types.has(t)}}])&&function(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,(i=function(t,e){if(\"object\"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,\"string\");if(\"object\"!==n(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(o.key),\"symbol\"===n(i)?i:String(i)),o)}var i}(e.prototype,i),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();return e.default})(),t.exports=e()},162:function(t){t.exports=(()=>{\"use strict\";var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};t.d(e,{default:()=>n});var n=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this._events={},this.on=this.addEventListener,this.off=this.removeEventListener}var e;return(e=[{key:\"emit\",value:function(t,e){if(Object.prototype.hasOwnProperty.call(this._events,t))for(var n=this._events[t],r={type:t,detail:e},o=n.length,i=0;i<o;i++)this.handle(n[i],r)}},{key:\"handle\",value:function(t,e){t(e)}},{key:\"addEventListener\",value:function(t,e){Object.prototype.hasOwnProperty.call(this._events,t)||(this._events[t]=[]),this._events[t].indexOf(e)<0&&this._events[t].push(e)}},{key:\"removeEventListener\",value:function(t,e){if(Object.prototype.hasOwnProperty.call(this._events,t)){var n=this._events[t],r=n.indexOf(e);r>=0&&n.splice(r,1),0===n.length&&delete this._events[t]}}}])&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}(t.prototype,e),t}();return e.default})()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r].call(i.exports,i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var r={};return(()=>{\"use strict\";n.r(r),n.d(r,{GamepadHandler:()=>h,GamepadListener:()=>A});var t=n(162),e=n.n(t),o=n(944),i=n.n(o);function a(t){return a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},a(t)}function u(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,p(r.key),r)}}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function c(t,e){if(e&&(\"object\"===a(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t)}function f(t){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},f(t)}function p(t){var e=function(t,e){if(\"object\"!==a(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,\"string\");if(\"object\"!==a(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(t);return\"symbol\"===a(e)?e:String(e)}var d,y,v,h=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&l(t,e)}(p,t);var e,n,r,o,i,a=(o=p,i=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=f(o);if(i){var n=f(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return c(this,t)});function p(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return u(this,p),(n=a.call(this)).index=t,n.gamepad=e,n.options=n.constructor.resolveOptions(r),n.axes=new Array(e.axes.length).fill(null),n.buttons=new Array(e.buttons.length).fill(null),n.initAxes(),n.initButtons(),n}return e=p,r=[{key:\"resolveOptions\",value:function(t){var e,n,r,o,i=t.axis,a=t.button;return{axis:this.optionResolver.resolve(null!==(e=null!==(n=null!=i?i:a)&&void 0!==n?n:t)&&void 0!==e?e:{}),button:this.optionResolver.resolve(null!==(r=null!==(o=null!=a?a:i)&&void 0!==o?o:t)&&void 0!==r?r:{})}}}],(n=[{key:\"initAxes\",value:function(){for(var t=this.axes.length,e=0;e<t;e++)this.axes[e]=this.resolveAxisValue(e)}},{key:\"initButtons\",value:function(){for(var t=this.buttons.length,e=0;e<t;e++)this.buttons[e]=this.resolveButtonValue(e)}},{key:\"update\",value:function(t){this.gamepad=t,this.updateAxis(),this.updateButtons()}},{key:\"updateAxis\",value:function(){for(var t=this.axes.length,e=0;e<t;e++)this.setAxisValue(e,this.resolveAxisValue(e))}},{key:\"updateButtons\",value:function(){for(var t=this.buttons.length,e=0;e<t;e++)this.setButtonValue(e,this.resolveButtonValue(e))}},{key:\"setAxisValue\",value:function(t,e){this.axes[t]!==e&&(this.axes[t]=e,this.emit(\"axis\",{gamepad:this.gamepad,index:this.index,axis:t,value:e}))}},{key:\"setButtonValue\",value:function(t,e){this.buttons[t]!==e&&(this.buttons[t]=e,this.emit(\"button\",{gamepad:this.gamepad,index:this.index,button:t,pressed:this.gamepad.buttons[t].pressed,value:e}))}},{key:\"resolveAxisValue\",value:function(t){var e=this.options.axis,n=e.deadZone,r=e.analog,o=e.precision,i=this.gamepad.axes[t];return n&&i<n&&i>-n?0:r?o?Math.round(i*o)/o:i:i>0?1:i<0?-1:0}},{key:\"resolveButtonValue\",value:function(t){var e=this.options.button,n=e.deadZone,r=e.analog,o=e.precision,i=this.gamepad.buttons[t].value;return n>0&&i<n&&i>-n?0:r?o?Math.round(i*o)/o:i:0===i?0:1}}])&&s(e.prototype,n),r&&s(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),p}(e());function b(t){return b=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},b(t)}function m(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,g(r.key),r)}}function g(t){var e=function(t,e){if(\"object\"!==b(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,\"string\");if(\"object\"!==b(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(t);return\"symbol\"===b(e)?e:String(e)}d=h,y=\"optionResolver\",v=(new(i())).setDefaults({analog:!0,deadZone:0,precision:0}).setTypes({analog:\"boolean\",deadZone:\"number\",precision:\"number\"}).setValidators({deadZone:function(t){return Math.max(Math.min(t,1),0)},precision:function(t){return t>0?Math.pow(10,t):0}}),(y=p(y))in d?Object.defineProperty(d,y,{value:v,enumerable:!0,configurable:!0,writable:!0}):d[y]=v;var w=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.callback=e,this.frame=null,this.update=this.update.bind(this)}var e,n;return e=t,(n=[{key:\"setCallback\",value:function(t){this.callback=t}},{key:\"start\",value:function(){this.frame||(this.frame=window.requestAnimationFrame(this.update))}},{key:\"stop\",value:function(){this.frame&&(window.cancelAnimationFrame(this.frame),this.frame=null)}},{key:\"update\",value:function(){this.frame=window.requestAnimationFrame(this.update),this.callback()}}])&&m(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();function x(t){return x=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},x(t)}function O(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function j(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,k(r.key),r)}}function k(t){var e=function(t,e){if(\"object\"!==x(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,\"string\");if(\"object\"!==x(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(t);return\"symbol\"===x(e)?e:String(e)}function S(t,e){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},S(t,e)}function P(t,e){if(e&&(\"object\"===x(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return E(t)}function E(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function _(t){return _=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_(t)}var A=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&S(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=_(r);if(o){var n=_(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return P(this,t)});function a(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(O(this,a),t=i.call(this),\"function\"!=typeof navigator.getGamepads)throw new Error(\"This browser does not support gamepad API.\");return t.options=e,t.onAxis=t.onAxis.bind(E(t)),t.update=t.update.bind(E(t)),t.start=t.start.bind(E(t)),t.stop=t.stop.bind(E(t)),t.discover=t.discover.bind(E(t)),t.onButton=t.onButton.bind(E(t)),t.handlers=new Array(4).fill(null),t.loop=new w(t.update),window.addEventListener(\"error\",t.stop),t}return e=a,(n=[{key:\"start\",value:function(){this.loop.start()}},{key:\"stop\",value:function(){this.loop.stop()}},{key:\"update\",value:function(){var t=navigator.getGamepads();this.discover(t[0],0),this.discover(t[1],1),this.discover(t[2],2),this.discover(t[3],3)}},{key:\"discover\",value:function(t,e){t?(null===this.handlers[e]&&this.registerHandler(e,t),this.handlers[e].update(t)):this.handlers[e]&&this.removeGamepad(e)}},{key:\"registerHandler\",value:function(t,e){var n=new h(t,e,this.options);this.handlers[t]=n,n.addEventListener(\"axis\",this.onAxis),n.addEventListener(\"button\",this.onButton),this.emit(\"gamepad:connected\",{index:t,gamepad:e}),this.emit(\"gamepad:\".concat(t,\":connected\"),{index:t,gamepad:e})}},{key:\"removeGamepad\",value:function(t){var e=this.handlers[t];e.removeEventListener(\"axis\",this.onAxis),e.removeEventListener(\"button\",this.onButton),this.handlers[t]=null,this.emit(\"gamepad:disconnected\",{index:t}),this.emit(\"gamepad:\".concat(t,\":disconnected\"),{index:t})}},{key:\"onAxis\",value:function(t){var e=t.detail.index;this.emit(\"gamepad:axis\",t.detail),this.emit(\"gamepad:\".concat(e,\":axis\"),t.detail),this.emit(\"gamepad:\".concat(e,\":axis:\").concat(t.detail.axis),t.detail)}},{key:\"onButton\",value:function(t){var e=t.detail.index;this.emit(\"gamepad:button\",t.detail),this.emit(\"gamepad:\".concat(e,\":button\"),t.detail),this.emit(\"gamepad:\".concat(e,\":button:\").concat(t.detail.button),t.detail)}}])&&j(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),a}(e())})(),r})()));"],"names":["t","e","module","this","n","r","i","o","a","u","s","l","h","A","p","c","f","d","y","v","b","m","g","w","x","O","j","k","S","P","E","_"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,KAAC,SAASA,GAAEC,GAAE;AAAmD,MAAAC,EAAA,UAAeD,EAAC;AAAA,IAAgH,GAAEE,GAAM,OAAK,MAAI;AAAC,UAAIH,IAAE,EAAC,KAAI,SAASA,GAAE;AAAC,YAAIC;AAAE,QAAAA,IAAE,OAAK,MAAI;AAAc,cAAID,IAAE,EAAC,GAAE,CAACC,GAAEG,MAAI;AAAC,qBAAQC,KAAKD,EAAE,CAAAJ,EAAE,EAAEI,GAAEC,CAAC,KAAG,CAACL,EAAE,EAAEC,GAAEI,CAAC,KAAG,OAAO,eAAeJ,GAAEI,GAAE,EAAC,YAAW,IAAG,KAAID,EAAEC,CAAC,EAAC,CAAC;AAAA,UAAC,GAAE,GAAE,CAACL,GAAEC,MAAI,OAAO,UAAU,eAAe,KAAKD,GAAEC,CAAC,EAAC,GAAEA,IAAE;AAAG,mBAASG,EAAEJ,GAAE;AAAC,mBAAOI,IAAc,OAAO,UAAnB,cAAqC,OAAO,OAAO,YAAxB,WAAiC,SAASJ,GAAE;AAAC,qBAAO,OAAOA;AAAA,YAAC,IAAE,SAASA,GAAE;AAAC,qBAAOA,KAAe,OAAO,UAAnB,cAA2BA,EAAE,gBAAc,UAAQA,MAAI,OAAO,YAAU,WAAS,OAAOA;AAAA,YAAC,GAAEI,EAAEJ,CAAC;AAAA,UAAC;AAAC,mBAASK,EAAEL,GAAEC,GAAE;AAAC,gBAAIG,IAAe,OAAO,SAApB,OAA4BJ,EAAE,OAAO,QAAQ,KAAGA,EAAE,YAAY;AAAE,gBAAG,CAACI,GAAE;AAAC,kBAAG,MAAM,QAAQJ,CAAC,MAAII,IAAEE,EAAEN,CAAC,MAAIC,GAAgC;AAAC,gBAAAG,MAAIJ,IAAEI;AAAG,oBAAIC,IAAE,GAAEE,IAAE,WAAU;AAAA;AAAG,uBAAM,EAAC,GAAEA,GAAE,GAAE,WAAU;AAAC,yBAAOF,KAAGL,EAAE,SAAO,EAAC,MAAK,GAAE,IAAE,EAAC,MAAK,IAAG,OAAMA,EAAEK,GAAG,EAAC;AAAA,gBAAC,GAAE,GAAE,SAASL,GAAE;AAAC,wBAAMA;AAAA,gBAAC,GAAEO,EAAG;AAAA,cAAC;AAAC,oBAAM,IAAI,UAAU;AAAA,mFAAuI;AAAA,YAAC;AAAC,gBAAIC,GAAEC,IAAE,IAAGC,IAAE;AAAG,mBAAM,EAAC,GAAE,WAAU;AAAC,cAAAN,IAAEA,EAAE,KAAKJ,CAAC;AAAA,YAAC,GAAE,GAAE,WAAU;AAAC,kBAAIA,IAAEI,EAAE,KAAI;AAAG,qBAAOK,IAAET,EAAE,MAAKA;AAAA,YAAC,GAAE,GAAE,SAASA,GAAE;AAAC,cAAAU,IAAE,IAAGF,IAAER;AAAA,YAAC,GAAE,GAAE,WAAU;AAAC,kBAAG;AAAC,gBAAAS,KAASL,EAAE,UAAR,QAAgBA,EAAE,OAAM;AAAA,cAAE,UAAC;AAAQ,oBAAGM,EAAE,OAAMF;AAAA,cAAC;AAAA,YAAC,EAAC;AAAA,UAAC;AAAC,mBAASD,EAAEP,GAAEC,GAAE;AAAC,mBAAO,SAASD,GAAE;AAAC,kBAAG,MAAM,QAAQA,CAAC,EAAE,QAAOA;AAAA,YAAC,EAAEA,CAAC,KAAG,SAASA,GAAEC,GAAE;AAAC,kBAAIG,IAAQJ,KAAN,OAAQ,OAAkB,OAAO,SAApB,OAA4BA,EAAE,OAAO,QAAQ,KAAGA,EAAE,YAAY;AAAE,kBAASI,KAAN,MAAQ;AAAC,oBAAIC,GAAEE,GAAED,GAAEE,GAAEC,IAAE,IAAGC,IAAE,IAAGC,IAAE;AAAG,oBAAG;AAAC,sBAAGL,KAAGF,IAAEA,EAAE,KAAKJ,CAAC,GAAG,MAASC,MAAJ,EAAyC,QAAK,EAAES,KAAGL,IAAEC,EAAE,KAAKF,CAAC,GAAG,UAAQK,EAAE,KAAKJ,EAAE,KAAK,GAAEI,EAAE,WAASR,IAAGS,IAAE,GAAG;AAAA,gBAAC,SAAOV,GAAE;AAAC,kBAAAW,IAAE,IAAGJ,IAAEP;AAAA,gBAAC,UAAC;AAAQ,sBAAG;AAAC,wBAAG,CAACU,KAASN,EAAE,UAAR,SAAiBI,IAAEJ,EAAE,UAAS,OAAOI,CAAC,MAAIA,GAAG;AAAA,kBAAM,UAAC;AAAQ,wBAAGG,EAAE,OAAMJ;AAAA,kBAAC;AAAA,gBAAC;AAAC,uBAAOE;AAAA,cAAC;AAAA,YAAC,EAAET,GAAEC,CAAC,KAAGK,EAAEN,GAAEC,CAAC,KAAG,WAAU;AAAC,oBAAM,IAAI,UAAU;AAAA,mFAA2I;AAAA,YAAC,EAAC;AAAA,UAAE;AAAC,mBAASK,EAAEN,GAAEC,GAAE;AAAC,gBAAGD,GAAE;AAAC,kBAAa,OAAOA,KAAjB,SAAmB,QAAOQ,EAAER,GAAEC,CAAC;AAAE,kBAAIG,IAAE,OAAO,UAAU,SAAS,KAAKJ,CAAC,EAAE,MAAM,GAAE,EAAE;AAAE,qBAAiBI,MAAX,YAAcJ,EAAE,gBAAcI,IAAEJ,EAAE,YAAY,OAAcI,MAAR,SAAmBA,MAAR,QAAU,MAAM,KAAKJ,CAAC,IAAgBI,MAAd,eAAiB,2CAA2C,KAAKA,CAAC,IAAEI,EAAER,GAAEC,CAAC,IAAE;AAAA,YAAM;AAAA,UAAC;AAAC,mBAASO,EAAER,GAAEC,GAAE;AAAC,aAAOA,KAAN,QAASA,IAAED,EAAE,YAAUC,IAAED,EAAE;AAAQ,qBAAQI,IAAE,GAAEC,IAAE,IAAI,MAAMJ,CAAC,GAAEG,IAAEH,GAAEG,IAAI,CAAAC,EAAED,CAAC,IAAEJ,EAAEI,CAAC;AAAE,mBAAOC;AAAA,UAAC;AAAC,mBAASI,EAAET,GAAEC,GAAE;AAAC,gBAAG,EAAED,aAAaC,GAAG,OAAM,IAAI,UAAU,mCAAmC;AAAA,UAAC;AAAC,UAAAD,EAAE,EAAEC,GAAE,EAAC,SAAQ,MAAIS,EAAC,CAAC;AAAE,cAAIA,IAAE,WAAU;AAAC,qBAASV,IAAG;AAAC,kBAAIC,IAAE,EAAE,UAAU,SAAO,KAAY,UAAU,CAAC,MAApB,WAAwB,UAAU,CAAC;AAAE,cAAAQ,EAAE,MAAKT,CAAC,GAAE,KAAK,SAAOC,GAAE,KAAK,WAAS,oBAAI,OAAI,KAAK,aAAW,oBAAI,OAAI,KAAK,QAAM,oBAAI,OAAI,KAAK,WAAS,oBAAI,OAAI,KAAK,WAAS,oBAAI;AAAA,YAAG;AAAC,gBAAIA,GAAEK;AAAE,mBAAOL,IAAED,IAAGM,IAAE,CAAC,EAAC,KAAI,cAAa,OAAM,WAAU;AAAC,qBAAO,KAAK,SAAO,IAAG;AAAA,YAAI,EAAC,GAAE,EAAC,KAAI,eAAc,OAAM,SAASN,GAAE;AAAC,kBAAIC,IAAE;AAAK,qBAAO,OAAO,QAAQD,CAAC,EAAE,QAAS,SAASA,GAAE;AAAC,oBAAII,IAAEG,EAAEP,GAAE,CAAC,GAAEK,IAAED,EAAE,CAAC,GAAEE,IAAEF,EAAE,CAAC;AAAE,uBAAOH,EAAE,SAAS,IAAII,GAAEC,CAAC;AAAA,cAAC,CAAC,GAAG;AAAA,YAAI,EAAC,GAAE,EAAC,KAAI,iBAAgB,OAAM,SAASN,GAAE;AAAC,kBAAIC,IAAE;AAAK,qBAAO,OAAO,QAAQD,CAAC,EAAE,QAAS,SAASA,GAAE;AAAC,oBAAII,IAAEG,EAAEP,GAAE,CAAC,GAAEK,IAAED,EAAE,CAAC,GAAEE,IAAEF,EAAE,CAAC;AAAE,uBAAOH,EAAE,WAAW,IAAII,GAAEC,CAAC;AAAA,cAAC,CAAC,GAAG;AAAA,YAAI,EAAC,GAAE,EAAC,KAAI,YAAW,OAAM,SAASN,GAAE;AAAC,kBAAIC,IAAE;AAAK,qBAAO,OAAO,QAAQD,CAAC,EAAE,QAAS,SAASA,GAAE;AAAC,oBAAII,IAAEG,EAAEP,GAAE,CAAC,GAAEK,IAAED,EAAE,CAAC,GAAEE,IAAEF,EAAE,CAAC;AAAE,uBAAOH,EAAE,MAAM,IAAII,GAAEC,CAAC;AAAA,cAAC,CAAC,GAAG;AAAA,YAAI,EAAC,GAAE,EAAC,KAAI,eAAc,OAAM,SAASN,GAAE;AAAC,kBAAIC,IAAE;AAAK,qBAAOD,EAAE,QAAS,SAASA,GAAE;AAAC,uBAAOC,EAAE,SAAS,IAAID,CAAC;AAAA,cAAC,CAAC,GAAG;AAAA,YAAI,EAAC,GAAE,EAAC,KAAI,eAAc,OAAM,SAASA,GAAE;AAAC,kBAAIC,IAAE;AAAK,qBAAOD,EAAE,QAAS,SAASA,GAAE;AAAC,uBAAOC,EAAE,SAAS,IAAID,CAAC;AAAA,cAAC,IAAI;AAAA,YAAI,EAAC,GAAE,EAAC,KAAI,WAAU,OAAM,SAASA,GAAE;AAAC,qBAAO,KAAK,SAAS,OAAO,OAAO,KAAK,YAAW,GAAGA,CAAC,CAAC;AAAA,YAAC,EAAC,GAAE,EAAC,KAAI,eAAc,OAAM,WAAU;AAAC,kBAAIA,GAAEC,IAAE,CAAA,GAAGG,IAAEC,EAAE,KAAK,QAAQ;AAAE,kBAAG;AAAC,qBAAID,EAAE,EAAC,GAAG,EAAEJ,IAAEI,EAAE,KAAK,QAAM;AAAC,sBAAIE,IAAEC,EAAEP,EAAE,OAAM,CAAC,GAAEQ,IAAEF,EAAE,CAAC,GAAEG,IAAEH,EAAE,CAAC;AAAE,kBAAAL,EAAEO,CAAC,IAAEC;AAAA,gBAAC;AAAA,cAAC,SAAOT,GAAE;AAAC,gBAAAI,EAAE,EAAEJ,CAAC;AAAA,cAAC,UAAC;AAAQ,gBAAAI,EAAE;cAAG;AAAC,qBAAOH;AAAA,YAAC,EAAC,GAAE,EAAC,KAAI,YAAW,OAAM,SAASD,GAAE;AAAC,uBAAQC,KAAKD,EAAE,MAAK,WAAW,IAAIC,CAAC,MAAID,EAAEC,CAAC,IAAE,KAAK,WAAW,IAAIA,CAAC,EAAED,EAAEC,CAAC,CAAC;AAAG,uBAAQG,KAAKJ,GAAE;AAAC,oBAAG,CAAC,KAAK,aAAaI,CAAC,EAAE,OAAM,IAAI,MAAM,kBAAkB,OAAOA,GAAE,IAAI,CAAC;AAAE,qBAAK,UAAUA,GAAEJ,EAAEI,CAAC,CAAC;AAAA,cAAC;AAAC,kBAAIG,GAAED,IAAED,EAAE,KAAK,SAAS,OAAM,CAAE;AAAE,kBAAG;AAAC,qBAAIC,EAAE,EAAC,GAAG,EAAEC,IAAED,EAAE,EAAC,GAAI,QAAM;AAAC,sBAAIE,IAAED,EAAE;AAAM,sBAAYP,EAAEQ,CAAC,MAAZ,OAAc,OAAM,IAAI,MAAM,WAAW,OAAOA,GAAE,gBAAgB,CAAC;AAAA,gBAAC;AAAA,cAAC,SAAOR,GAAE;AAAC,gBAAAM,EAAE,EAAEN,CAAC;AAAA,cAAC,UAAC;AAAQ,gBAAAM,EAAE,EAAC;AAAA,cAAE;AAAC,qBAAON;AAAA,YAAC,EAAC,GAAE,EAAC,KAAI,aAAY,OAAM,SAASA,GAAEC,GAAE;AAAC,kBAAG,KAAK,MAAM,IAAID,CAAC,GAAE;AAAC,oBAAIK,IAAE,KAAK,MAAM,IAAIL,CAAC,GAAEO,IAAEH,EAAEH,CAAC;AAAE,oBAAGM,MAAIF,EAAE,OAAM,IAAI,MAAM,2BAA2B,OAAOL,GAAE,oBAAoB,EAAE,OAAOK,GAAE,UAAU,EAAE,OAAOE,GAAE,IAAI,CAAC;AAAA,cAAC;AAAA,YAAC,EAAC,GAAE,EAAC,KAAI,gBAAe,OAAM,SAASP,GAAE;AAAC,qBAAM,CAAC,KAAK,UAAQ,KAAK,SAAS,IAAIA,CAAC,KAAG,KAAK,WAAW,IAAIA,CAAC,KAAG,KAAK,SAAS,IAAIA,CAAC,KAAG,KAAK,SAAS,IAAIA,CAAC,KAAG,KAAK,MAAM,IAAIA,CAAC;AAAA,YAAC,EAAC,CAAC,MAAI,SAASA,GAAEC,GAAE;AAAC,uBAAQI,IAAE,GAAEA,IAAEJ,EAAE,QAAOI,KAAI;AAAC,oBAAIE,IAAEN,EAAEI,CAAC;AAAE,gBAAAE,EAAE,aAAWA,EAAE,cAAY,IAAGA,EAAE,eAAa,IAAG,WAAUA,MAAIA,EAAE,WAAS,KAAI,OAAO,eAAeP,IAAGM,IAAE,SAASN,GAAEC,GAAE;AAAC,sBAAcG,EAAEJ,CAAC,MAAd,YAAwBA,MAAP,KAAS,QAAOA;AAAE,sBAAIK,IAAEL,EAAE,OAAO,WAAW;AAAE,sBAAYK,MAAT,QAAW;AAAC,wBAAIE,IAAEF,EAAE,KAAKL,GAAE,QAAQ;AAAE,wBAAcI,EAAEG,CAAC,MAAd,SAAgB,QAAOA;AAAE,0BAAM,IAAI,UAAU,8CAA8C;AAAA,kBAAC;AAAC,yBAAO,OAAOP,CAAC;AAAA,gBAAC,EAAEO,EAAE,GAAG,GAAaH,EAAEE,CAAC,MAAd,WAAgBA,IAAE,OAAOA,CAAC,IAAGC,CAAC;AAAA,cAAC;AAAC,kBAAID;AAAA,YAAC,EAAEL,EAAE,WAAUK,CAAC,GAAE,OAAO,eAAeL,GAAE,aAAY,EAAC,UAAS,GAAE,CAAC,GAAED;AAAA,UAAC,EAAC;AAAG,iBAAOC,EAAE;AAAA,QAAO,GAAC,GAAID,EAAE,UAAQC,EAAC;AAAA,MAAE,GAAE,KAAI,SAASD,GAAE;AAAC,QAAAA,EAAE,WAAS,MAAI;AAAc,cAAIA,IAAE,EAAC,GAAE,CAACC,GAAEG,MAAI;AAAC,qBAAQC,KAAKD,EAAE,CAAAJ,EAAE,EAAEI,GAAEC,CAAC,KAAG,CAACL,EAAE,EAAEC,GAAEI,CAAC,KAAG,OAAO,eAAeJ,GAAEI,GAAE,EAAC,YAAW,IAAG,KAAID,EAAEC,CAAC,EAAC,CAAC;AAAA,UAAC,GAAE,GAAE,CAACL,GAAEC,MAAI,OAAO,UAAU,eAAe,KAAKD,GAAEC,CAAC,EAAC,GAAEA,IAAE;AAAG,UAAAD,EAAE,EAAEC,GAAE,EAAC,SAAQ,MAAIG,EAAC,CAAC;AAAE,cAAIA,IAAE,WAAU;AAAC,qBAASJ,IAAG;AAAC,eAAC,SAASA,GAAEC,GAAE;AAAC,oBAAG,EAAED,aAAaC,GAAG,OAAM,IAAI,UAAU,mCAAmC;AAAA,cAAC,GAAE,MAAKD,CAAC,GAAE,KAAK,UAAQ,CAAA,GAAG,KAAK,KAAG,KAAK,kBAAiB,KAAK,MAAI,KAAK;AAAA,YAAmB;AAAC,gBAAIC;AAAE,oBAAOA,IAAE,CAAC,EAAC,KAAI,QAAO,OAAM,SAASD,GAAEC,GAAE;AAAC,kBAAG,OAAO,UAAU,eAAe,KAAK,KAAK,SAAQD,CAAC,EAAE,UAAQI,IAAE,KAAK,QAAQJ,CAAC,GAAEK,IAAE,EAAC,MAAKL,GAAE,QAAOC,EAAC,GAAEM,IAAEH,EAAE,QAAOE,IAAE,GAAEA,IAAEC,GAAED,IAAI,MAAK,OAAOF,EAAEE,CAAC,GAAED,CAAC;AAAA,YAAC,EAAC,GAAE,EAAC,KAAI,UAAS,OAAM,SAASL,GAAEC,GAAE;AAAC,cAAAD,EAAEC,CAAC;AAAA,YAAC,EAAC,GAAE,EAAC,KAAI,oBAAmB,OAAM,SAASD,GAAEC,GAAE;AAAC,qBAAO,UAAU,eAAe,KAAK,KAAK,SAAQD,CAAC,MAAI,KAAK,QAAQA,CAAC,IAAE,KAAI,KAAK,QAAQA,CAAC,EAAE,QAAQC,CAAC,IAAE,KAAG,KAAK,QAAQD,CAAC,EAAE,KAAKC,CAAC;AAAA,YAAC,EAAC,GAAE,EAAC,KAAI,uBAAsB,OAAM,SAASD,GAAEC,GAAE;AAAC,kBAAG,OAAO,UAAU,eAAe,KAAK,KAAK,SAAQD,CAAC,GAAE;AAAC,oBAAII,IAAE,KAAK,QAAQJ,CAAC,GAAEK,IAAED,EAAE,QAAQH,CAAC;AAAE,gBAAAI,KAAG,KAAGD,EAAE,OAAOC,GAAE,CAAC,GAAMD,EAAE,WAAN,KAAc,OAAO,KAAK,QAAQJ,CAAC;AAAA,cAAC;AAAA,YAAC,EAAC,CAAC,MAAI,SAASA,GAAEC,GAAE;AAAC,uBAAQG,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,oBAAIC,IAAEJ,EAAEG,CAAC;AAAE,gBAAAC,EAAE,aAAWA,EAAE,cAAY,IAAGA,EAAE,eAAa,IAAG,WAAUA,MAAIA,EAAE,WAAS,KAAI,OAAO,eAAeL,GAAEK,EAAE,KAAIA,CAAC;AAAA,cAAC;AAAA,YAAC,EAAEL,EAAE,WAAUC,CAAC,GAAED;AAAA,UAAC,EAAC;AAAG,iBAAOC,EAAE;AAAA,QAAO;MAAI,EAAC,GAAEA,IAAE;AAAG,eAASG,EAAEC,GAAE;AAAC,YAAIE,IAAEN,EAAEI,CAAC;AAAE,YAAYE,MAAT,OAAW,QAAOA,EAAE;AAAQ,YAAID,IAAEL,EAAEI,CAAC,IAAE,EAAC,SAAQ,GAAE;AAAE,eAAOL,EAAEK,CAAC,EAAE,KAAKC,EAAE,SAAQA,GAAEA,EAAE,SAAQF,CAAC,GAAEE,EAAE;AAAA,MAAO;AAAC,MAAAF,EAAE,IAAE,CAAAJ,MAAG;AAAC,YAAIC,IAAED,KAAGA,EAAE,aAAW,MAAIA,EAAE,UAAQ,MAAIA;AAAE,eAAOI,EAAE,EAAEH,GAAE,EAAC,GAAEA,EAAC,CAAC,GAAEA;AAAA,MAAC,GAAEG,EAAE,IAAE,CAACJ,GAAEC,MAAI;AAAC,iBAAQI,KAAKJ,EAAE,CAAAG,EAAE,EAAEH,GAAEI,CAAC,KAAG,CAACD,EAAE,EAAEJ,GAAEK,CAAC,KAAG,OAAO,eAAeL,GAAEK,GAAE,EAAC,YAAW,IAAG,KAAIJ,EAAEI,CAAC,EAAC,CAAC;AAAA,MAAC,GAAED,EAAE,IAAE,CAACJ,GAAEC,MAAI,OAAO,UAAU,eAAe,KAAKD,GAAEC,CAAC,GAAEG,EAAE,IAAE,CAAAJ,MAAG;AAAC,QAAa,OAAO,SAApB,OAA4B,OAAO,eAAa,OAAO,eAAeA,GAAE,OAAO,aAAY,EAAC,OAAM,SAAQ,CAAC,GAAE,OAAO,eAAeA,GAAE,cAAa,EAAC,OAAM,GAAE,CAAC;AAAA,MAAC;AAAE,UAAIK,IAAE,CAAA;AAAG,cAAO,MAAI;AAAc,QAAAD,EAAE,EAAEC,CAAC,GAAED,EAAE,EAAEC,GAAE,EAAC,gBAAe,MAAIO,GAAE,iBAAgB,MAAIC,EAAC,CAAC;AAAE,YAAIb,IAAEI,EAAE,GAAG,GAAEH,IAAEG,EAAE,EAAEJ,CAAC,GAAEO,IAAEH,EAAE,GAAG,GAAEE,IAAEF,EAAE,EAAEG,CAAC;AAAE,iBAASC,EAAER,GAAE;AAAC,iBAAOQ,IAAc,OAAO,UAAnB,cAAqC,OAAO,OAAO,YAAxB,WAAiC,SAASR,GAAE;AAAC,mBAAO,OAAOA;AAAA,UAAC,IAAE,SAASA,GAAE;AAAC,mBAAOA,KAAe,OAAO,UAAnB,cAA2BA,EAAE,gBAAc,UAAQA,MAAI,OAAO,YAAU,WAAS,OAAOA;AAAA,UAAC,GAAEQ,EAAER,CAAC;AAAA,QAAC;AAAC,iBAASS,EAAET,GAAE,GAAE;AAAC,cAAG,EAAEA,aAAa,GAAG,OAAM,IAAI,UAAU,mCAAmC;AAAA,QAAC;AAAC,iBAASU,EAAEV,GAAE,GAAE;AAAC,mBAAQI,IAAE,GAAEA,IAAE,EAAE,QAAOA,KAAI;AAAC,gBAAIC,IAAE,EAAED,CAAC;AAAE,YAAAC,EAAE,aAAWA,EAAE,cAAY,IAAGA,EAAE,eAAa,IAAG,WAAUA,MAAIA,EAAE,WAAS,KAAI,OAAO,eAAeL,GAAEc,EAAET,EAAE,GAAG,GAAEA,CAAC;AAAA,UAAC;AAAA,QAAC;AAAC,iBAASM,EAAEX,GAAE,GAAE;AAAC,iBAAOW,IAAE,OAAO,iBAAe,OAAO,eAAe,KAAI,IAAG,SAASX,GAAEC,GAAE;AAAC,mBAAOD,EAAE,YAAUC,GAAED;AAAA,UAAC,GAAEW,EAAEX,GAAE,CAAC;AAAA,QAAC;AAAC,iBAASe,EAAEf,GAAE,GAAE;AAAC,cAAG,MAAeQ,EAAE,CAAC,MAAd,YAA6B,OAAO,KAAnB,YAAsB,QAAO;AAAE,cAAY,MAAT,OAAW,OAAM,IAAI,UAAU,0DAA0D;AAAE,iBAAO,SAASR,GAAE;AAAC,gBAAYA,MAAT,OAAW,OAAM,IAAI,eAAe,2DAA2D;AAAE,mBAAOA;AAAA,UAAC,EAAEA,CAAC;AAAA,QAAC;AAAC,iBAASgB,EAAEhB,GAAE;AAAC,iBAAOgB,IAAE,OAAO,iBAAe,OAAO,eAAe,KAAI,IAAG,SAAShB,GAAE;AAAC,mBAAOA,EAAE,aAAW,OAAO,eAAeA,CAAC;AAAA,UAAC,GAAEgB,EAAEhB,CAAC;AAAA,QAAC;AAAC,iBAASc,EAAEd,GAAE;AAAC,cAAI,IAAE,SAASA,GAAEC,GAAE;AAAC,gBAAcO,EAAER,CAAC,MAAd,YAAwBA,MAAP,KAAS,QAAOA;AAAE,gBAAII,IAAEJ,EAAE,OAAO,WAAW;AAAE,gBAAYI,MAAT,QAAW;AAAC,kBAAIC,IAAED,EAAE,KAAKJ,GAAE,QAAQ;AAAE,kBAAcQ,EAAEH,CAAC,MAAd,SAAgB,QAAOA;AAAE,oBAAM,IAAI,UAAU,8CAA8C;AAAA,YAAC;AAAC,mBAAO,OAAOL,CAAC;AAAA,UAAC,EAAEA,CAAC;AAAE,iBAAiBQ,EAAE,CAAC,MAAd,WAAgB,IAAE,OAAO,CAAC;AAAA,QAAC;AAAC,YAAIS,GAAEC,GAAEC,GAAEP,IAAE,SAASZ,GAAE;AAAC,WAAC,SAASA,GAAEC,GAAE;AAAC,gBAAe,OAAOA,KAAnB,cAA6BA,MAAP,KAAS,OAAM,IAAI,UAAU,oDAAoD;AAAE,YAAAD,EAAE,YAAU,OAAO,OAAOC,KAAGA,EAAE,WAAU,EAAC,aAAY,EAAC,OAAMD,GAAE,UAAS,IAAG,cAAa,GAAE,EAAC,CAAC,GAAE,OAAO,eAAeA,GAAE,aAAY,EAAC,UAAS,GAAE,CAAC,GAAEC,KAAGU,EAAEX,GAAEC,CAAC;AAAA,UAAC,GAAEa,GAAEd,CAAC;AAAE,cAAI,GAAEI,GAAEC,GAAEE,GAAED,GAAEE,KAAGD,IAAEO,GAAER,IAAE,WAAU;AAA6D,gBAA5C,OAAO,UAApB,OAA6B,CAAC,QAAQ,aAAsB,QAAQ,UAAU,KAAK,QAAM;AAAG,gBAAe,OAAO,SAAnB,WAAyB,QAAM;AAAG,gBAAG;AAAC,qBAAO,QAAQ,UAAU,QAAQ,KAAK,QAAQ,UAAU,SAAQ,CAAA,GAAI,WAAU;AAAA,cAAA,CAAE,CAAE,GAAE;AAAA,YAAE,QAAS;AAAC,qBAAM;AAAA,YAAE;AAAA,UAAC,EAAC,GAAG,WAAU;AAAC,gBAAIN,GAAEC,IAAEe,EAAET,CAAC;AAAE,gBAAGD,GAAE;AAAC,kBAAIF,IAAEY,EAAE,IAAI,EAAE;AAAY,cAAAhB,IAAE,QAAQ,UAAUC,GAAE,WAAUG,CAAC;AAAA,YAAC,MAAM,CAAAJ,IAAEC,EAAE,MAAM,MAAK,SAAS;AAAE,mBAAOc,EAAE,MAAKf,CAAC;AAAA,UAAC;AAAG,mBAASc,EAAEd,GAAEC,GAAE;AAAC,gBAAIG,GAAEC,IAAE,UAAU,SAAO,KAAY,UAAU,CAAC,MAApB,SAAsB,UAAU,CAAC,IAAE,CAAA;AAAG,mBAAOI,EAAE,MAAKK,CAAC,IAAGV,IAAEI,EAAE,KAAK,IAAI,GAAG,QAAMR,GAAEI,EAAE,UAAQH,GAAEG,EAAE,UAAQA,EAAE,YAAY,eAAeC,CAAC,GAAED,EAAE,OAAK,IAAI,MAAMH,EAAE,KAAK,MAAM,EAAE,KAAK,IAAI,GAAEG,EAAE,UAAQ,IAAI,MAAMH,EAAE,QAAQ,MAAM,EAAE,KAAK,IAAI,GAAEG,EAAE,YAAWA,EAAE,YAAW,GAAGA;AAAA,UAAC;AAAC,iBAAO,IAAEU,GAAET,IAAE,CAAC,EAAC,KAAI,kBAAiB,OAAM,SAASL,GAAE;AAAC,gBAAIC,GAAEG,GAAEC,GAAEE,GAAED,IAAEN,EAAE,MAAKQ,IAAER,EAAE;AAAO,mBAAM,EAAC,MAAK,KAAK,eAAe,SAAgBC,KAAUG,IAAQE,KAAIE,OAApB,QAAiCJ,MAAT,SAAWA,IAAEJ,OAA/C,QAA4DC,MAAT,SAAWA,IAAE,CAAA,CAAE,GAAE,QAAO,KAAK,eAAe,SAAgBI,KAAUE,IAAQC,KAAIF,OAApB,QAAiCC,MAAT,SAAWA,IAAEP,OAA/C,QAA4DK,MAAT,SAAWA,IAAE,CAAA,CAAE,EAAC;AAAA,UAAC,EAAC,CAAC,IAAGD,IAAE,CAAC,EAAC,KAAI,YAAW,OAAM,WAAU;AAAC,qBAAQJ,IAAE,KAAK,KAAK,QAAOC,IAAE,GAAEA,IAAED,GAAEC,IAAI,MAAK,KAAKA,CAAC,IAAE,KAAK,iBAAiBA,CAAC;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,eAAc,OAAM,WAAU;AAAC,qBAAQD,IAAE,KAAK,QAAQ,QAAOC,IAAE,GAAEA,IAAED,GAAEC,IAAI,MAAK,QAAQA,CAAC,IAAE,KAAK,mBAAmBA,CAAC;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,UAAS,OAAM,SAASD,GAAE;AAAC,iBAAK,UAAQA,GAAE,KAAK,WAAU,GAAG,KAAK,cAAa;AAAA,UAAE,EAAC,GAAE,EAAC,KAAI,cAAa,OAAM,WAAU;AAAC,qBAAQA,IAAE,KAAK,KAAK,QAAOC,IAAE,GAAEA,IAAED,GAAEC,IAAI,MAAK,aAAaA,GAAE,KAAK,iBAAiBA,CAAC,CAAC;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,iBAAgB,OAAM,WAAU;AAAC,qBAAQD,IAAE,KAAK,QAAQ,QAAOC,IAAE,GAAEA,IAAED,GAAEC,IAAI,MAAK,eAAeA,GAAE,KAAK,mBAAmBA,CAAC,CAAC;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,gBAAe,OAAM,SAASD,GAAEC,GAAE;AAAC,iBAAK,KAAKD,CAAC,MAAIC,MAAI,KAAK,KAAKD,CAAC,IAAEC,GAAE,KAAK,KAAK,QAAO,EAAC,SAAQ,KAAK,SAAQ,OAAM,KAAK,OAAM,MAAKD,GAAE,OAAMC,EAAC,CAAC;AAAA,UAAE,EAAC,GAAE,EAAC,KAAI,kBAAiB,OAAM,SAASD,GAAEC,GAAE;AAAC,iBAAK,QAAQD,CAAC,MAAIC,MAAI,KAAK,QAAQD,CAAC,IAAEC,GAAE,KAAK,KAAK,UAAS,EAAC,SAAQ,KAAK,SAAQ,OAAM,KAAK,OAAM,QAAOD,GAAE,SAAQ,KAAK,QAAQ,QAAQA,CAAC,EAAE,SAAQ,OAAMC,EAAC,CAAC;AAAA,UAAE,EAAC,GAAE,EAAC,KAAI,oBAAmB,OAAM,SAASD,GAAE;AAAC,gBAAIC,IAAE,KAAK,QAAQ,MAAKG,IAAEH,EAAE,UAASI,IAAEJ,EAAE,QAAOM,IAAEN,EAAE,WAAUK,IAAE,KAAK,QAAQ,KAAKN,CAAC;AAAE,mBAAOI,KAAGE,IAAEF,KAAGE,IAAE,CAACF,IAAE,IAAEC,IAAEE,IAAE,KAAK,MAAMD,IAAEC,CAAC,IAAEA,IAAED,IAAEA,IAAE,IAAE,IAAEA,IAAE,IAAE,KAAG;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,sBAAqB,OAAM,SAASN,GAAE;AAAC,gBAAIC,IAAE,KAAK,QAAQ,QAAOG,IAAEH,EAAE,UAASI,IAAEJ,EAAE,QAAOM,IAAEN,EAAE,WAAUK,IAAE,KAAK,QAAQ,QAAQN,CAAC,EAAE;AAAM,mBAAOI,IAAE,KAAGE,IAAEF,KAAGE,IAAE,CAACF,IAAE,IAAEC,IAAEE,IAAE,KAAK,MAAMD,IAAEC,CAAC,IAAEA,IAAED,IAAMA,MAAJ,IAAM,IAAE;AAAA,UAAC,EAAC,CAAC,MAAII,EAAE,EAAE,WAAUN,CAAC,GAAEC,KAAGK,EAAE,GAAEL,CAAC,GAAE,OAAO,eAAe,GAAE,aAAY,EAAC,UAAS,GAAE,CAAC,GAAES;AAAA,QAAC,EAAEb,EAAC,CAAE;AAAE,iBAASmB,EAAEpB,GAAE;AAAC,iBAAOoB,IAAc,OAAO,UAAnB,cAAqC,OAAO,OAAO,YAAxB,WAAiC,SAASpB,GAAE;AAAC,mBAAO,OAAOA;AAAA,UAAC,IAAE,SAASA,GAAE;AAAC,mBAAOA,KAAe,OAAO,UAAnB,cAA2BA,EAAE,gBAAc,UAAQA,MAAI,OAAO,YAAU,WAAS,OAAOA;AAAA,UAAC,GAAEoB,EAAEpB,CAAC;AAAA,QAAC;AAAC,iBAASqB,EAAErB,GAAE,GAAE;AAAC,mBAAQI,IAAE,GAAEA,IAAE,EAAE,QAAOA,KAAI;AAAC,gBAAIC,IAAE,EAAED,CAAC;AAAE,YAAAC,EAAE,aAAWA,EAAE,cAAY,IAAGA,EAAE,eAAa,IAAG,WAAUA,MAAIA,EAAE,WAAS,KAAI,OAAO,eAAeL,GAAEsB,EAAEjB,EAAE,GAAG,GAAEA,CAAC;AAAA,UAAC;AAAA,QAAC;AAAC,iBAASiB,EAAEtB,GAAE;AAAC,cAAI,IAAE,SAASA,GAAEC,GAAE;AAAC,gBAAcmB,EAAEpB,CAAC,MAAd,YAAwBA,MAAP,KAAS,QAAOA;AAAE,gBAAII,IAAEJ,EAAE,OAAO,WAAW;AAAE,gBAAYI,MAAT,QAAW;AAAC,kBAAIC,IAAED,EAAE,KAAKJ,GAAE,QAAQ;AAAE,kBAAcoB,EAAEf,CAAC,MAAd,SAAgB,QAAOA;AAAE,oBAAM,IAAI,UAAU,8CAA8C;AAAA,YAAC;AAAC,mBAAO,OAAOL,CAAC;AAAA,UAAC,EAAEA,CAAC;AAAE,iBAAiBoB,EAAE,CAAC,MAAd,WAAgB,IAAE,OAAO,CAAC;AAAA,QAAC;AAAC,QAAAH,IAAEL,GAAEM,IAAE,kBAAiBC,IAAG,KAAIb,EAAC,KAAK,YAAY,EAAC,QAAO,IAAG,UAAS,GAAE,WAAU,EAAC,CAAC,EAAE,SAAS,EAAC,QAAO,WAAU,UAAS,UAAS,WAAU,SAAQ,CAAC,EAAE,cAAc,EAAC,UAAS,SAASN,GAAE;AAAC,iBAAO,KAAK,IAAI,KAAK,IAAIA,GAAE,CAAC,GAAE,CAAC;AAAA,QAAC,GAAE,WAAU,SAASA,GAAE;AAAC,iBAAOA,IAAE,IAAE,KAAK,IAAI,IAAGA,CAAC,IAAE;AAAA,QAAC,EAAC,CAAC,IAAGkB,IAAEJ,EAAEI,CAAC,MAAKD,IAAE,OAAO,eAAeA,GAAEC,GAAE,EAAC,OAAMC,GAAE,YAAW,IAAG,cAAa,IAAG,UAAS,GAAE,CAAC,IAAEF,EAAEC,CAAC,IAAEC;AAAE,YAAII,IAAE,WAAU;AAAC,mBAASvB,EAAEC,GAAE;AAAC,aAAC,SAASD,GAAEC,GAAE;AAAC,kBAAG,EAAED,aAAaC,GAAG,OAAM,IAAI,UAAU,mCAAmC;AAAA,YAAC,GAAE,MAAKD,CAAC,GAAE,KAAK,WAASC,GAAE,KAAK,QAAM,MAAK,KAAK,SAAO,KAAK,OAAO,KAAK,IAAI;AAAA,UAAC;AAAC,cAAI,GAAEG;AAAE,iBAAO,IAAEJ,IAAGI,IAAE,CAAC,EAAC,KAAI,eAAc,OAAM,SAASJ,GAAE;AAAC,iBAAK,WAASA;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,SAAQ,OAAM,WAAU;AAAC,iBAAK,UAAQ,KAAK,QAAM,OAAO,sBAAsB,KAAK,MAAM;AAAA,UAAE,EAAC,GAAE,EAAC,KAAI,QAAO,OAAM,WAAU;AAAC,iBAAK,UAAQ,OAAO,qBAAqB,KAAK,KAAK,GAAE,KAAK,QAAM;AAAA,UAAK,EAAC,GAAE,EAAC,KAAI,UAAS,OAAM,WAAU;AAAC,iBAAK,QAAM,OAAO,sBAAsB,KAAK,MAAM,GAAE,KAAK;UAAU,EAAC,CAAC,MAAIqB,EAAE,EAAE,WAAUjB,CAAC,GAAE,OAAO,eAAe,GAAE,aAAY,EAAC,UAAS,GAAE,CAAC,GAAEJ;AAAA,QAAC,EAAC;AAAG,iBAASwB,EAAExB,GAAE;AAAC,iBAAOwB,IAAc,OAAO,UAAnB,cAAqC,OAAO,OAAO,YAAxB,WAAiC,SAASxB,GAAE;AAAC,mBAAO,OAAOA;AAAA,UAAC,IAAE,SAASA,GAAE;AAAC,mBAAOA,KAAe,OAAO,UAAnB,cAA2BA,EAAE,gBAAc,UAAQA,MAAI,OAAO,YAAU,WAAS,OAAOA;AAAA,UAAC,GAAEwB,EAAExB,CAAC;AAAA,QAAC;AAAC,iBAASyB,EAAEzB,GAAE,GAAE;AAAC,cAAG,EAAEA,aAAa,GAAG,OAAM,IAAI,UAAU,mCAAmC;AAAA,QAAC;AAAC,iBAAS0B,EAAE1B,GAAE,GAAE;AAAC,mBAAQI,IAAE,GAAEA,IAAE,EAAE,QAAOA,KAAI;AAAC,gBAAIC,IAAE,EAAED,CAAC;AAAE,YAAAC,EAAE,aAAWA,EAAE,cAAY,IAAGA,EAAE,eAAa,IAAG,WAAUA,MAAIA,EAAE,WAAS,KAAI,OAAO,eAAeL,GAAE2B,EAAEtB,EAAE,GAAG,GAAEA,CAAC;AAAA,UAAC;AAAA,QAAC;AAAC,iBAASsB,EAAE3B,GAAE;AAAC,cAAI,IAAE,SAASA,GAAEC,GAAE;AAAC,gBAAcuB,EAAExB,CAAC,MAAd,YAAwBA,MAAP,KAAS,QAAOA;AAAE,gBAAII,IAAEJ,EAAE,OAAO,WAAW;AAAE,gBAAYI,MAAT,QAAW;AAAC,kBAAIC,IAAED,EAAE,KAAKJ,GAAE,QAAQ;AAAE,kBAAcwB,EAAEnB,CAAC,MAAd,SAAgB,QAAOA;AAAE,oBAAM,IAAI,UAAU,8CAA8C;AAAA,YAAC;AAAC,mBAAO,OAAOL,CAAC;AAAA,UAAC,EAAEA,CAAC;AAAE,iBAAiBwB,EAAE,CAAC,MAAd,WAAgB,IAAE,OAAO,CAAC;AAAA,QAAC;AAAC,iBAASI,EAAE5B,GAAE,GAAE;AAAC,iBAAO4B,IAAE,OAAO,iBAAe,OAAO,eAAe,KAAI,IAAG,SAAS5B,GAAEC,GAAE;AAAC,mBAAOD,EAAE,YAAUC,GAAED;AAAA,UAAC,GAAE4B,EAAE5B,GAAE,CAAC;AAAA,QAAC;AAAC,iBAAS6B,EAAE7B,GAAE,GAAE;AAAC,cAAG,MAAewB,EAAE,CAAC,MAAd,YAA6B,OAAO,KAAnB,YAAsB,QAAO;AAAE,cAAY,MAAT,OAAW,OAAM,IAAI,UAAU,0DAA0D;AAAE,iBAAOM,EAAE9B,CAAC;AAAA,QAAC;AAAC,iBAAS8B,EAAE9B,GAAE;AAAC,cAAYA,MAAT,OAAW,OAAM,IAAI,eAAe,2DAA2D;AAAE,iBAAOA;AAAA,QAAC;AAAC,iBAAS+B,EAAE/B,GAAE;AAAC,iBAAO+B,IAAE,OAAO,iBAAe,OAAO,eAAe,SAAO,SAAS/B,GAAE;AAAC,mBAAOA,EAAE,aAAW,OAAO,eAAeA,CAAC;AAAA,UAAC,GAAE+B,EAAE/B,CAAC;AAAA,QAAC;AAAC,YAAIa,IAAE,SAASb,GAAE;AAAC,WAAC,SAAS,GAAEC,GAAE;AAAC,gBAAe,OAAOA,KAAnB,cAA6BA,MAAP,KAAS,OAAM,IAAI,UAAU,oDAAoD;AAAE,cAAE,YAAU,OAAO,OAAOA,KAAGA,EAAE,WAAU,EAAC,aAAY,EAAC,OAAM,GAAE,UAAS,IAAG,cAAa,GAAE,EAAC,CAAC,GAAE,OAAO,eAAe,GAAE,aAAY,EAAC,UAAS,GAAE,CAAC,GAAEA,KAAG2B,EAAE,GAAE3B,CAAC;AAAA,UAAC,GAAEO,GAAER,CAAC;AAAE,cAAI,GAAEI,GAAEC,GAAEE,GAAED,KAAGD,IAAEG,GAAED,IAAE,WAAU;AAA6D,gBAA5C,OAAO,UAApB,OAA6B,CAAC,QAAQ,aAAsB,QAAQ,UAAU,KAAK;AAAS,gBAAe,OAAO,SAAnB,WAAyB;AAAS,gBAAG;AAAC,qBAAO,QAAQ,UAAU,QAAQ,KAAK,QAAQ,UAAU,SAAQ,CAAA,GAAI,WAAU;AAAA,cAAA,CAAE,CAAE,GAAE;AAAA,YAAE,QAAS;AAAC,qBAAM;AAAA,YAAE;AAAA,UAAC,EAAC,GAAG,WAAU;AAAC,gBAAI,GAAEN,IAAE8B,EAAE1B,CAAC;AAAE,gBAAGE,GAAE;AAAC,kBAAIH,IAAE2B,EAAE,IAAI,EAAE;AAAY,kBAAE,QAAQ,UAAU9B,GAAE,WAAUG,CAAC;AAAA,YAAC,MAAM,KAAEH,EAAE,MAAM,MAAK,SAAS;AAAE,mBAAO4B,EAAE,MAAK,CAAC;AAAA,UAAC;AAAG,mBAASrB,IAAG;AAAC,gBAAI,GAAEP,IAAE,UAAU,SAAO,KAAY,UAAU,CAAC,MAApB,SAAsB,UAAU,CAAC,IAAE,CAAA;AAAG,gBAAGwB,EAAE,MAAKjB,CAAC,GAAE,IAAEF,EAAE,KAAK,IAAI,GAAc,OAAO,UAAU,eAA7B,WAAyC,OAAM,IAAI,MAAM,4CAA4C;AAAE,mBAAO,EAAE,UAAQL,GAAE,EAAE,SAAO,EAAE,OAAO,KAAK6B,EAAE,CAAC,CAAC,GAAE,EAAE,SAAO,EAAE,OAAO,KAAKA,EAAE,CAAC,CAAC,GAAE,EAAE,QAAM,EAAE,MAAM,KAAKA,EAAE,CAAC,CAAC,GAAE,EAAE,OAAK,EAAE,KAAK,KAAKA,EAAE,CAAC,CAAC,GAAE,EAAE,WAAS,EAAE,SAAS,KAAKA,EAAE,CAAC,CAAC,GAAE,EAAE,WAAS,EAAE,SAAS,KAAKA,EAAE,CAAC,CAAC,GAAE,EAAE,WAAS,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,GAAE,EAAE,OAAK,IAAIP,EAAE,EAAE,MAAM,GAAE,OAAO,iBAAiB,SAAQ,EAAE,IAAI,GAAE;AAAA,UAAC;AAAC,iBAAO,IAAEf,IAAGJ,IAAE,CAAC,EAAC,KAAI,SAAQ,OAAM,WAAU;AAAC,iBAAK,KAAK,MAAK;AAAA,UAAE,EAAC,GAAE,EAAC,KAAI,QAAO,OAAM,WAAU;AAAC,iBAAK,KAAK,KAAI;AAAA,UAAE,EAAC,GAAE,EAAC,KAAI,UAAS,OAAM,WAAU;AAAC,gBAAI,IAAE,UAAU;AAAc,iBAAK,SAAS,EAAE,CAAC,GAAE,CAAC,GAAE,KAAK,SAAS,EAAE,CAAC,GAAE,CAAC,GAAE,KAAK,SAAS,EAAE,CAAC,GAAE,CAAC,GAAE,KAAK,SAAS,EAAE,CAAC,GAAE,CAAC;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,YAAW,OAAM,SAAS,GAAEH,GAAE;AAAC,iBAAU,KAAK,SAASA,CAAC,MAAtB,QAAyB,KAAK,gBAAgBA,GAAE,CAAC,GAAE,KAAK,SAASA,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,SAASA,CAAC,KAAG,KAAK,cAAcA,CAAC;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,mBAAkB,OAAM,SAAS,GAAEA,GAAE;AAAC,gBAAIG,IAAE,IAAIQ,EAAE,GAAEX,GAAE,KAAK,OAAO;AAAE,iBAAK,SAAS,CAAC,IAAEG,GAAEA,EAAE,iBAAiB,QAAO,KAAK,MAAM,GAAEA,EAAE,iBAAiB,UAAS,KAAK,QAAQ,GAAE,KAAK,KAAK,qBAAoB,EAAC,OAAM,GAAE,SAAQH,EAAC,CAAC,GAAE,KAAK,KAAK,WAAW,OAAO,GAAE,YAAY,GAAE,EAAC,OAAM,GAAE,SAAQA,EAAC,CAAC;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,iBAAgB,OAAM,SAAS,GAAE;AAAC,gBAAIA,IAAE,KAAK,SAAS,CAAC;AAAE,YAAAA,EAAE,oBAAoB,QAAO,KAAK,MAAM,GAAEA,EAAE,oBAAoB,UAAS,KAAK,QAAQ,GAAE,KAAK,SAAS,CAAC,IAAE,MAAK,KAAK,KAAK,wBAAuB,EAAC,OAAM,EAAC,CAAC,GAAE,KAAK,KAAK,WAAW,OAAO,GAAE,eAAe,GAAE,EAAC,OAAM,EAAC,CAAC;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,UAAS,OAAM,SAAS,GAAE;AAAC,gBAAIA,IAAE,EAAE,OAAO;AAAM,iBAAK,KAAK,gBAAe,EAAE,MAAM,GAAE,KAAK,KAAK,WAAW,OAAOA,GAAE,OAAO,GAAE,EAAE,MAAM,GAAE,KAAK,KAAK,WAAW,OAAOA,GAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,GAAE,EAAE,MAAM;AAAA,UAAC,EAAC,GAAE,EAAC,KAAI,YAAW,OAAM,SAAS,GAAE;AAAC,gBAAIA,IAAE,EAAE,OAAO;AAAM,iBAAK,KAAK,kBAAiB,EAAE,MAAM,GAAE,KAAK,KAAK,WAAW,OAAOA,GAAE,SAAS,GAAE,EAAE,MAAM,GAAE,KAAK,KAAK,WAAW,OAAOA,GAAE,UAAU,EAAE,OAAO,EAAE,OAAO,MAAM,GAAE,EAAE,MAAM;AAAA,UAAC,EAAC,CAAC,MAAIyB,EAAE,EAAE,WAAUtB,CAAC,GAAE,OAAO,eAAe,GAAE,aAAY,EAAC,UAAS,GAAE,CAAC,GAAEI;AAAA,QAAC,EAAEP,EAAC,CAAE;AAAA,MAAC,GAAC,GAAII;AAAA,IAAC,GAAC,CAAG;AAAA;;;;;;","x_google_ignoreList":[0]}