pinets 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +3 -0
  2. package/dist/pinets.dev.browser.js +3739 -1372
  3. package/dist/pinets.dev.cjs +3734 -1368
  4. package/dist/pinets.dev.cjs.map +1 -1
  5. package/dist/pinets.dev.es.js +3688 -1326
  6. package/dist/pinets.dev.es.js.map +1 -1
  7. package/dist/pinets.min.browser.js +15 -11
  8. package/dist/pinets.min.cjs +15 -11
  9. package/dist/pinets.min.es.js +5 -1
  10. package/dist/types/Context.class.d.ts +61 -15
  11. package/dist/types/PineTS.class.d.ts +11 -1
  12. package/dist/types/namespaces/Core.d.ts +1 -0
  13. package/dist/types/namespaces/array/methods/from.d.ts +1 -1
  14. package/dist/types/namespaces/request/methods/security.d.ts +1 -1
  15. package/dist/types/namespaces/request/types/barmerge.type.d.ts +7 -0
  16. package/dist/types/namespaces/request/utils/findLTFContextIdx.d.ts +1 -0
  17. package/dist/types/namespaces/ta/getters/obv.d.ts +12 -0
  18. package/dist/types/namespaces/ta/methods/accdist.d.ts +7 -0
  19. package/dist/types/namespaces/ta/methods/alma.d.ts +18 -0
  20. package/dist/types/namespaces/ta/methods/barssince.d.ts +6 -0
  21. package/dist/types/namespaces/ta/methods/bb.d.ts +17 -0
  22. package/dist/types/namespaces/ta/methods/bbw.d.ts +9 -0
  23. package/dist/types/namespaces/ta/methods/cci.d.ts +20 -0
  24. package/dist/types/namespaces/ta/methods/cmo.d.ts +17 -0
  25. package/dist/types/namespaces/ta/methods/cog.d.ts +18 -0
  26. package/dist/types/namespaces/ta/methods/correlation.d.ts +7 -0
  27. package/dist/types/namespaces/ta/methods/cross.d.ts +15 -0
  28. package/dist/types/namespaces/ta/methods/cum.d.ts +14 -0
  29. package/dist/types/namespaces/ta/methods/dmi.d.ts +24 -0
  30. package/dist/types/namespaces/ta/methods/falling.d.ts +15 -0
  31. package/dist/types/namespaces/ta/methods/highestbars.d.ts +7 -0
  32. package/dist/types/namespaces/ta/methods/iii.d.ts +7 -0
  33. package/dist/types/namespaces/ta/methods/kc.d.ts +12 -0
  34. package/dist/types/namespaces/ta/methods/kcw.d.ts +11 -0
  35. package/dist/types/namespaces/ta/methods/lowestbars.d.ts +7 -0
  36. package/dist/types/namespaces/ta/methods/macd.d.ts +18 -0
  37. package/dist/types/namespaces/ta/methods/mfi.d.ts +15 -0
  38. package/dist/types/namespaces/ta/methods/mode.d.ts +6 -0
  39. package/dist/types/namespaces/ta/methods/nvi.d.ts +10 -0
  40. package/dist/types/namespaces/ta/methods/obv.d.ts +12 -0
  41. package/dist/types/namespaces/ta/methods/percentile_linear_interpolation.d.ts +6 -0
  42. package/dist/types/namespaces/ta/methods/percentile_nearest_rank.d.ts +7 -0
  43. package/dist/types/namespaces/ta/methods/percentrank.d.ts +6 -0
  44. package/dist/types/namespaces/ta/methods/pvi.d.ts +10 -0
  45. package/dist/types/namespaces/ta/methods/pvt.d.ts +12 -0
  46. package/dist/types/namespaces/ta/methods/range.d.ts +7 -0
  47. package/dist/types/namespaces/ta/methods/rising.d.ts +15 -0
  48. package/dist/types/namespaces/ta/methods/sar.d.ts +12 -0
  49. package/dist/types/namespaces/ta/methods/stoch.d.ts +21 -0
  50. package/dist/types/namespaces/ta/methods/supertrend.d.ts +23 -0
  51. package/dist/types/namespaces/ta/methods/swma.d.ts +14 -0
  52. package/dist/types/namespaces/ta/methods/tr.d.ts +1 -0
  53. package/dist/types/namespaces/ta/methods/tsi.d.ts +17 -0
  54. package/dist/types/namespaces/ta/methods/valuewhen.d.ts +6 -0
  55. package/dist/types/namespaces/ta/methods/vwap.d.ts +14 -0
  56. package/dist/types/namespaces/ta/methods/wad.d.ts +11 -0
  57. package/dist/types/namespaces/ta/methods/wpr.d.ts +17 -0
  58. package/dist/types/namespaces/ta/methods/wvad.d.ts +7 -0
  59. package/dist/types/namespaces/ta/ta.index.d.ts +120 -5
  60. package/dist/types/transpiler/analysis/ScopeManager.d.ts +11 -0
  61. package/dist/types/transpiler/index.d.ts +4 -1
  62. package/dist/types/transpiler/transformers/InjectionTransformer.d.ts +6 -0
  63. package/dist/types/transpiler/transformers/MainTransformer.d.ts +4 -1
  64. package/dist/types/transpiler/transformers/NormalizationTransformer.d.ts +15 -0
  65. package/dist/types/transpiler/transformers/WrapperTransformer.d.ts +9 -0
  66. package/dist/types/transpiler/utils/ASTFactory.d.ts +2 -0
  67. package/package.json +1 -1
@@ -15,18 +15,22 @@
15
15
  * You should have received a copy of the GNU Affero General Public License
16
16
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
  */
18
- (function(he,we){typeof exports=="object"&&typeof module<"u"?we(exports):typeof define=="function"&&define.amd?define(["exports"],we):(he=typeof globalThis<"u"?globalThis:he||self,we(he.PineTSLib={}))})(this,function(he){"use strict";var we=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,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,343,9,54,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,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,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,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239],ct=[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,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,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,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,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,20,1,64,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,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,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,38,6,186,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,19,72,200,32,32,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,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,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,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,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,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],pi="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65",ht="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",Fe={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"},Ue="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",li={5:Ue,"5module":Ue+" export import",6:Ue+" const class extends export import super"},fi=/^in(stanceof)?$/,mi=new RegExp("["+ht+"]"),di=new RegExp("["+ht+pi+"]");function qe(e,t){for(var i=65536,r=0;r<t.length;r+=2){if(i+=t[r],i>e)return!1;if(i+=t[r+1],i>=e)return!0}return!1}function se(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&mi.test(String.fromCharCode(e)):t===!1?!1:qe(e,ct)}function de(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&&di.test(String.fromCharCode(e)):t===!1?!1:qe(e,ct)||qe(e,we)}var A=function(t,i){i===void 0&&(i={}),this.label=t,this.keyword=i.keyword,this.beforeExpr=!!i.beforeExpr,this.startsExpr=!!i.startsExpr,this.isLoop=!!i.isLoop,this.isAssign=!!i.isAssign,this.prefix=!!i.prefix,this.postfix=!!i.postfix,this.binop=i.binop||null,this.updateContext=null};function W(e,t){return new A(e,{beforeExpr:!0,binop:t})}var z={beforeExpr:!0},F={startsExpr:!0},$e={};function k(e,t){return t===void 0&&(t={}),t.keyword=e,$e[e]=new A(e,t)}var o={num:new A("num",F),regexp:new A("regexp",F),string:new A("string",F),name:new A("name",F),privateId:new A("privateId",F),eof:new A("eof"),bracketL:new A("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new A("]"),braceL:new A("{",{beforeExpr:!0,startsExpr:!0}),braceR:new A("}"),parenL:new A("(",{beforeExpr:!0,startsExpr:!0}),parenR:new A(")"),comma:new A(",",z),semi:new A(";",z),colon:new A(":",z),dot:new A("."),question:new A("?",z),questionDot:new A("?."),arrow:new A("=>",z),template:new A("template"),invalidTemplate:new A("invalidTemplate"),ellipsis:new A("...",z),backQuote:new A("`",F),dollarBraceL:new A("${",{beforeExpr:!0,startsExpr:!0}),eq:new A("=",{beforeExpr:!0,isAssign:!0}),assign:new A("_=",{beforeExpr:!0,isAssign:!0}),incDec:new A("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new A("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:W("||",1),logicalAND:W("&&",2),bitwiseOR:W("|",3),bitwiseXOR:W("^",4),bitwiseAND:W("&",5),equality:W("==/!=/===/!==",6),relational:W("</>/<=/>=",7),bitShift:W("<</>>/>>>",8),plusMin:new A("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:W("%",10),star:W("*",10),slash:W("/",10),starstar:new A("**",{beforeExpr:!0}),coalesce:W("??",1),_break:k("break"),_case:k("case",z),_catch:k("catch"),_continue:k("continue"),_debugger:k("debugger"),_default:k("default",z),_do:k("do",{isLoop:!0,beforeExpr:!0}),_else:k("else",z),_finally:k("finally"),_for:k("for",{isLoop:!0}),_function:k("function",F),_if:k("if"),_return:k("return",z),_switch:k("switch"),_throw:k("throw",z),_try:k("try"),_var:k("var"),_const:k("const"),_while:k("while",{isLoop:!0}),_with:k("with"),_new:k("new",{beforeExpr:!0,startsExpr:!0}),_this:k("this",F),_super:k("super",F),_class:k("class",F),_extends:k("extends",z),_export:k("export"),_import:k("import",F),_null:k("null",F),_true:k("true",F),_false:k("false",F),_in:k("in",{beforeExpr:!0,binop:7}),_instanceof:k("instanceof",{beforeExpr:!0,binop:7}),_typeof:k("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:k("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:k("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},H=/\r\n?|\n|\u2028|\u2029/,xi=new RegExp(H.source,"g");function xe(e){return e===10||e===13||e===8232||e===8233}function pt(e,t,i){i===void 0&&(i=e.length);for(var r=t;r<i;r++){var a=e.charCodeAt(r);if(xe(a))return r<i-1&&a===13&&e.charCodeAt(r+1)===10?r+2:r+1}return-1}var lt=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,K=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,ft=Object.prototype,gi=ft.hasOwnProperty,yi=ft.toString,ge=Object.hasOwn||function(e,t){return gi.call(e,t)},mt=Array.isArray||function(e){return yi.call(e)==="[object Array]"},dt=Object.create(null);function pe(e){return dt[e]||(dt[e]=new RegExp("^(?:"+e.replace(/ /g,"|")+")$"))}function ne(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}var bi=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Ce=function(t,i){this.line=t,this.column=i};Ce.prototype.offset=function(t){return new Ce(this.line,this.column+t)};var Pe=function(t,i,r){this.start=i,this.end=r,t.sourceFile!==null&&(this.source=t.sourceFile)};function xt(e,t){for(var i=1,r=0;;){var a=pt(e,r,t);if(a<0)return new Ce(i,t-r);++i,r=a}}var Ge={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},gt=!1;function vi(e){var t={};for(var i in Ge)t[i]=e&&ge(e,i)?e[i]:Ge[i];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!gt&&typeof console=="object"&&console.warn&&(gt=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
19
- Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),mt(t.onToken)){var r=t.onToken;t.onToken=function(a){return r.push(a)}}return mt(t.onComment)&&(t.onComment=wi(t,t.onComment)),t}function wi(e,t){return function(i,r,a,s,n,u){var c={type:i?"Block":"Line",value:r,start:a,end:s};e.locations&&(c.loc=new Pe(this,n,u)),e.ranges&&(c.range=[a,s]),t.push(c)}}var Se=1,ye=2,We=4,yt=8,bt=16,vt=32,ze=64,wt=128,Ee=256,He=Se|ye|Ee;function Ke(e,t){return ye|(e?We:0)|(t?yt:0)}var Ne=0,Qe=1,oe=2,Ct=3,St=4,Et=5,M=function(t,i,r){this.options=t=vi(t),this.sourceFile=t.sourceFile,this.keywords=pe(li[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var a="";t.allowReserved!==!0&&(a=Fe[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(a+=" await")),this.reservedWords=pe(a);var s=(a?a+" ":"")+Fe.strict;this.reservedWordsStrict=pe(s),this.reservedWordsStrictBind=pe(s+" "+Fe.strictBind),this.input=String(i),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf(`
20
- `,r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(H).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=o.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=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(Se),this.regexpState=null,this.privateNameStack=[]},ie={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};M.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},ie.inFunction.get=function(){return(this.currentVarScope().flags&ye)>0},ie.inGenerator.get=function(){return(this.currentVarScope().flags&yt)>0&&!this.currentVarScope().inClassFieldInit},ie.inAsync.get=function(){return(this.currentVarScope().flags&We)>0&&!this.currentVarScope().inClassFieldInit},ie.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&Ee)return!1;if(t.flags&ye)return(t.flags&We)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},ie.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&ze)>0||i||this.options.allowSuperOutsideMethod},ie.allowDirectSuper.get=function(){return(this.currentThisScope().flags&wt)>0},ie.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},ie.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&(ye|Ee))>0||i},ie.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&Ee)>0},M.extend=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];for(var r=this,a=0;a<t.length;a++)r=t[a](r);return r},M.parse=function(t,i){return new this(i,t).parse()},M.parseExpressionAt=function(t,i,r){var a=new this(r,t,i);return a.nextToken(),a.parseExpression()},M.tokenizer=function(t,i){return new this(i,t)},Object.defineProperties(M.prototype,ie);var B=M.prototype,Ci=/^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;B.strictDirective=function(e){if(this.options.ecmaVersion<5)return!1;for(;;){K.lastIndex=e,e+=K.exec(this.input)[0].length;var t=Ci.exec(this.input.slice(e));if(!t)return!1;if((t[1]||t[2])==="use strict"){K.lastIndex=e+t[0].length;var i=K.exec(this.input),r=i.index+i[0].length,a=this.input.charAt(r);return a===";"||a==="}"||H.test(i[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(a)||a==="!"&&this.input.charAt(r+1)==="=")}e+=t[0].length,K.lastIndex=e,e+=K.exec(this.input)[0].length,this.input[e]===";"&&e++}},B.eat=function(e){return this.type===e?(this.next(),!0):!1},B.isContextual=function(e){return this.type===o.name&&this.value===e&&!this.containsEsc},B.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},B.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},B.canInsertSemicolon=function(){return this.type===o.eof||this.type===o.braceR||H.test(this.input.slice(this.lastTokEnd,this.start))},B.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},B.semicolon=function(){!this.eat(o.semi)&&!this.insertSemicolon()&&this.unexpected()},B.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},B.expect=function(e){this.eat(e)||this.unexpected()},B.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};var Ve=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};B.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var i=t?e.parenthesizedAssign:e.parenthesizedBind;i>-1&&this.raiseRecoverable(i,t?"Assigning to rvalue":"Parenthesized pattern")}},B.checkExpressionErrors=function(e,t){if(!e)return!1;var i=e.shorthandAssign,r=e.doubleProto;if(!t)return i>=0||r>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),r>=0&&this.raiseRecoverable(r,"Redefinition of __proto__ property")},B.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")},B.isSimpleAssignTarget=function(e){return e.type==="ParenthesizedExpression"?this.isSimpleAssignTarget(e.expression):e.type==="Identifier"||e.type==="MemberExpression"};var b=M.prototype;b.parseTopLevel=function(e){var t=Object.create(null);for(e.body||(e.body=[]);this.type!==o.eof;){var i=this.parseStatement(null,!0,t);e.body.push(i)}if(this.inModule)for(var r=0,a=Object.keys(this.undefinedExports);r<a.length;r+=1){var s=a[r];this.raiseRecoverable(this.undefinedExports[s].start,"Export '"+s+"' is not defined")}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType,this.finishNode(e,"Program")};var Ye={kind:"loop"},Si={kind:"switch"};b.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;K.lastIndex=this.pos;var t=K.exec(this.input),i=this.pos+t[0].length,r=this.input.charCodeAt(i);if(r===91||r===92)return!0;if(e)return!1;if(r===123||r>55295&&r<56320)return!0;if(se(r,!0)){for(var a=i+1;de(r=this.input.charCodeAt(a),!0);)++a;if(r===92||r>55295&&r<56320)return!0;var s=this.input.slice(i,a);if(!fi.test(s))return!0}return!1},b.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;K.lastIndex=this.pos;var e=K.exec(this.input),t=this.pos+e[0].length,i;return!H.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(de(i=this.input.charCodeAt(t+8))||i>55295&&i<56320))},b.parseStatement=function(e,t,i){var r=this.type,a=this.startNode(),s;switch(this.isLet(e)&&(r=o._var,s="let"),r){case o._break:case o._continue:return this.parseBreakContinueStatement(a,r.keyword);case o._debugger:return this.parseDebuggerStatement(a);case o._do:return this.parseDoStatement(a);case o._for:return this.parseForStatement(a);case o._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(a,!1,!e);case o._class:return e&&this.unexpected(),this.parseClass(a,!0);case o._if:return this.parseIfStatement(a);case o._return:return this.parseReturnStatement(a);case o._switch:return this.parseSwitchStatement(a);case o._throw:return this.parseThrowStatement(a);case o._try:return this.parseTryStatement(a);case o._const:case o._var:return s=s||this.value,e&&s!=="var"&&this.unexpected(),this.parseVarStatement(a,s);case o._while:return this.parseWhileStatement(a);case o._with:return this.parseWithStatement(a);case o.braceL:return this.parseBlock(!0,a);case o.semi:return this.parseEmptyStatement(a);case o._export:case o._import:if(this.options.ecmaVersion>10&&r===o._import){K.lastIndex=this.pos;var n=K.exec(this.input),u=this.pos+n[0].length,c=this.input.charCodeAt(u);if(c===40||c===46)return this.parseExpressionStatement(a,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===o._import?this.parseImport(a):this.parseExport(a,i);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(a,!0,!e);var h=this.value,p=this.parseExpression();return r===o.name&&p.type==="Identifier"&&this.eat(o.colon)?this.parseLabeledStatement(a,h,p,e):this.parseExpressionStatement(a,p)}},b.parseBreakContinueStatement=function(e,t){var i=t==="break";this.next(),this.eat(o.semi)||this.insertSemicolon()?e.label=null:this.type!==o.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var r=0;r<this.labels.length;++r){var a=this.labels[r];if((e.label==null||a.name===e.label.name)&&(a.kind!=null&&(i||a.kind==="loop")||e.label&&i))break}return r===this.labels.length&&this.raise(e.start,"Unsyntactic "+t),this.finishNode(e,i?"BreakStatement":"ContinueStatement")},b.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")},b.parseDoStatement=function(e){return this.next(),this.labels.push(Ye),e.body=this.parseStatement("do"),this.labels.pop(),this.expect(o._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(o.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},b.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Ye),this.enterScope(0),this.expect(o.parenL),this.type===o.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var i=this.isLet();if(this.type===o._var||this.type===o._const||i){var r=this.startNode(),a=i?"let":this.value;return this.next(),this.parseVar(r,!0,a),this.finishNode(r,"VariableDeclaration"),(this.type===o._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&r.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===o._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,r)):(t>-1&&this.unexpected(t),this.parseFor(e,r))}var s=this.isContextual("let"),n=!1,u=this.containsEsc,c=new Ve,h=this.start,p=t>-1?this.parseExprSubscripts(c,"await"):this.parseExpression(!0,c);return this.type===o._in||(n=this.options.ecmaVersion>=6&&this.isContextual("of"))?(t>-1?(this.type===o._in&&this.unexpected(t),e.await=!0):n&&this.options.ecmaVersion>=8&&(p.start===h&&!u&&p.type==="Identifier"&&p.name==="async"?this.unexpected():this.options.ecmaVersion>=9&&(e.await=!1)),s&&n&&this.raise(p.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(p,!1,c),this.checkLValPattern(p),this.parseForIn(e,p)):(this.checkExpressionErrors(c,!0),t>-1&&this.unexpected(t),this.parseFor(e,p))},b.parseFunctionStatement=function(e,t,i){return this.next(),this.parseFunction(e,_e|(i?0:Xe),!1,t)},b.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(o._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},b.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(o.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},b.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(o.braceL),this.labels.push(Si),this.enterScope(0);for(var t,i=!1;this.type!==o.braceR;)if(this.type===o._case||this.type===o._default){var r=this.type===o._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,t.test=null),this.expect(o.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")},b.parseThrowStatement=function(e){return this.next(),H.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 Ei=[];b.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type==="Identifier";return this.enterScope(t?vt:0),this.checkLValPattern(e,t?St:oe),this.expect(o.parenR),e},b.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===o._catch){var t=this.startNode();this.next(),this.eat(o.parenL)?t.param=this.parseCatchClauseParam():(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(o._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},b.parseVarStatement=function(e,t,i){return this.next(),this.parseVar(e,!1,t,i),this.semicolon(),this.finishNode(e,"VariableDeclaration")},b.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Ye),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},b.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")},b.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},b.parseLabeledStatement=function(e,t,i,r){for(var a=0,s=this.labels;a<s.length;a+=1){var n=s[a];n.name===t&&this.raise(i.start,"Label '"+t+"' is already declared")}for(var u=this.type.isLoop?"loop":this.type===o._switch?"switch":null,c=this.labels.length-1;c>=0;c--){var h=this.labels[c];if(h.statementStart===e.start)h.statementStart=this.start,h.kind=u;else break}return this.labels.push({name:t,kind:u,statementStart:this.start}),e.body=this.parseStatement(r?r.indexOf("label")===-1?r+"label":r:"label"),this.labels.pop(),e.label=i,this.finishNode(e,"LabeledStatement")},b.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},b.parseBlock=function(e,t,i){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(o.braceL),e&&this.enterScope(0);this.type!==o.braceR;){var r=this.parseStatement(null);t.body.push(r)}return i&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},b.parseFor=function(e,t){return e.init=t,this.expect(o.semi),e.test=this.type===o.semi?null:this.parseExpression(),this.expect(o.semi),e.update=this.type===o.parenR?null:this.parseExpression(),this.expect(o.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},b.parseForIn=function(e,t){var i=this.type===o._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!i||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(i?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=i?this.parseExpression():this.parseMaybeAssign(),this.expect(o.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,i?"ForInStatement":"ForOfStatement")},b.parseVar=function(e,t,i,r){for(e.declarations=[],e.kind=i;;){var a=this.startNode();if(this.parseVarId(a,i),this.eat(o.eq)?a.init=this.parseMaybeAssign(t):!r&&i==="const"&&!(this.type===o._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():!r&&a.id.type!=="Identifier"&&!(t&&(this.type===o._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):a.init=null,e.declarations.push(this.finishNode(a,"VariableDeclarator")),!this.eat(o.comma))break}return e},b.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?Qe:oe,!1)};var _e=1,Xe=2,_t=4;b.parseFunction=function(e,t,i,r,a){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===o.star&&t&Xe&&this.unexpected(),e.generator=this.eat(o.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&_e&&(e.id=t&_t&&this.type!==o.name?null:this.parseIdent(),e.id&&!(t&Xe)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Qe:oe:Ct));var s=this.yieldPos,n=this.awaitPos,u=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Ke(e.async,e.generator)),t&_e||(e.id=this.type===o.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,i,!1,a),this.yieldPos=s,this.awaitPos=n,this.awaitIdentPos=u,this.finishNode(e,t&_e?"FunctionDeclaration":"FunctionExpression")},b.parseFunctionParams=function(e){this.expect(o.parenL),e.params=this.parseBindingList(o.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},b.parseClass=function(e,t){this.next();var i=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.enterClassBody(),a=this.startNode(),s=!1;for(a.body=[],this.expect(o.braceL);this.type!==o.braceR;){var n=this.parseClassElement(e.superClass!==null);n&&(a.body.push(n),n.type==="MethodDefinition"&&n.kind==="constructor"?(s&&this.raiseRecoverable(n.start,"Duplicate constructor in the same class"),s=!0):n.key&&n.key.type==="PrivateIdentifier"&&_i(r,n)&&this.raiseRecoverable(n.key.start,"Identifier '#"+n.key.name+"' has already been declared"))}return this.strict=i,this.next(),e.body=this.finishNode(a,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},b.parseClassElement=function(e){if(this.eat(o.semi))return null;var t=this.options.ecmaVersion,i=this.startNode(),r="",a=!1,s=!1,n="method",u=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(o.braceL))return this.parseClassStaticBlock(i),i;this.isClassElementNameStart()||this.type===o.star?u=!0:r="static"}if(i.static=u,!r&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===o.star)&&!this.canInsertSemicolon()?s=!0:r="async"),!r&&(t>=9||!s)&&this.eat(o.star)&&(a=!0),!r&&!s&&!a){var c=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?n=c:r=c)}if(r?(i.computed=!1,i.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),i.key.name=r,this.finishNode(i.key,"Identifier")):this.parseClassElementName(i),t<13||this.type===o.parenL||n!=="method"||a||s){var h=!i.static&&Te(i,"constructor"),p=h&&e;h&&n!=="method"&&this.raise(i.key.start,"Constructor can't have get/set modifier"),i.kind=h?"constructor":n,this.parseClassMethod(i,a,s,p)}else this.parseClassField(i);return i},b.isClassElementNameStart=function(){return this.type===o.name||this.type===o.privateId||this.type===o.num||this.type===o.string||this.type===o.bracketL||this.type.keyword},b.parseClassElementName=function(e){this.type===o.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},b.parseClassMethod=function(e,t,i,r){var a=e.key;e.kind==="constructor"?(t&&this.raise(a.start,"Constructor can't be a generator"),i&&this.raise(a.start,"Constructor can't be an async method")):e.static&&Te(e,"prototype")&&this.raise(a.start,"Classes may not have a static property named prototype");var s=e.value=this.parseMethod(t,i,r);return e.kind==="get"&&s.params.length!==0&&this.raiseRecoverable(s.start,"getter should have no params"),e.kind==="set"&&s.params.length!==1&&this.raiseRecoverable(s.start,"setter should have exactly one param"),e.kind==="set"&&s.params[0].type==="RestElement"&&this.raiseRecoverable(s.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},b.parseClassField=function(e){if(Te(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Te(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(o.eq)){var t=this.currentThisScope(),i=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=i}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},b.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(Ee|ze);this.type!==o.braceR;){var i=this.parseStatement(null);e.body.push(i)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},b.parseClassId=function(e,t){this.type===o.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,oe,!1)):(t===!0&&this.unexpected(),e.id=null)},b.parseClassSuper=function(e){e.superClass=this.eat(o._extends)?this.parseExprSubscripts(null,!1):null},b.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},b.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,i=e.used;if(this.options.checkPrivateFields)for(var r=this.privateNameStack.length,a=r===0?null:this.privateNameStack[r-1],s=0;s<i.length;++s){var n=i[s];ge(t,n.name)||(a?a.used.push(n):this.raiseRecoverable(n.start,"Private field '#"+n.name+"' must be declared in an enclosing class"))}};function _i(e,t){var i=t.key.name,r=e[i],a="true";return t.type==="MethodDefinition"&&(t.kind==="get"||t.kind==="set")&&(a=(t.static?"s":"i")+t.kind),r==="iget"&&a==="iset"||r==="iset"&&a==="iget"||r==="sget"&&a==="sset"||r==="sset"&&a==="sget"?(e[i]="true",!1):r?!0:(e[i]=a,!1)}function Te(e,t){var i=e.computed,r=e.key;return!i&&(r.type==="Identifier"&&r.name===t||r.type==="Literal"&&r.value===t)}b.parseExportAllDeclaration=function(e,t){return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==o.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,"ExportAllDeclaration")},b.parseExport=function(e,t){if(this.next(),this.eat(o.star))return this.parseExportAllDeclaration(e,t);if(this.eat(o._default))return this.checkExport(t,"default",this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==o.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause());else{for(var i=0,r=e.specifiers;i<r.length;i+=1){var a=r[i];this.checkUnreserved(a.local),this.checkLocalExport(a.local),a.local.type==="Literal"&&this.raise(a.local.start,"A string literal cannot be used as an exported binding without `from`.")}e.source=null}this.semicolon()}return this.finishNode(e,"ExportNamedDeclaration")},b.parseExportDeclaration=function(e){return this.parseStatement(null)},b.parseExportDefaultDeclaration=function(){var e;if(this.type===o._function||(e=this.isAsyncFunction())){var t=this.startNode();return this.next(),e&&this.next(),this.parseFunction(t,_e|_t,!1,e)}else if(this.type===o._class){var i=this.startNode();return this.parseClass(i,"nullableID")}else{var r=this.parseMaybeAssign();return this.semicolon(),r}},b.checkExport=function(e,t,i){e&&(typeof t!="string"&&(t=t.type==="Identifier"?t.name:t.value),ge(e,t)&&this.raiseRecoverable(i,"Duplicate export '"+t+"'"),e[t]=!0)},b.checkPatternExport=function(e,t){var i=t.type;if(i==="Identifier")this.checkExport(e,t,t.start);else if(i==="ObjectPattern")for(var r=0,a=t.properties;r<a.length;r+=1){var s=a[r];this.checkPatternExport(e,s)}else if(i==="ArrayPattern")for(var n=0,u=t.elements;n<u.length;n+=1){var c=u[n];c&&this.checkPatternExport(e,c)}else i==="Property"?this.checkPatternExport(e,t.value):i==="AssignmentPattern"?this.checkPatternExport(e,t.left):i==="RestElement"&&this.checkPatternExport(e,t.argument)},b.checkVariableExport=function(e,t){if(e)for(var i=0,r=t;i<r.length;i+=1){var a=r[i];this.checkPatternExport(e,a.id)}},b.shouldParseExportStatement=function(){return this.type.keyword==="var"||this.type.keyword==="const"||this.type.keyword==="class"||this.type.keyword==="function"||this.isLet()||this.isAsyncFunction()},b.parseExportSpecifier=function(e){var t=this.startNode();return t.local=this.parseModuleExportName(),t.exported=this.eatContextual("as")?this.parseModuleExportName():t.local,this.checkExport(e,t.exported,t.exported.start),this.finishNode(t,"ExportSpecifier")},b.parseExportSpecifiers=function(e){var t=[],i=!0;for(this.expect(o.braceL);!this.eat(o.braceR);){if(i)i=!1;else if(this.expect(o.comma),this.afterTrailingComma(o.braceR))break;t.push(this.parseExportSpecifier(e))}return t},b.parseImport=function(e){return this.next(),this.type===o.string?(e.specifiers=Ei,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),e.source=this.type===o.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},b.parseImportSpecifier=function(){var e=this.startNode();return e.imported=this.parseModuleExportName(),this.eatContextual("as")?e.local=this.parseIdent():(this.checkUnreserved(e.imported),e.local=e.imported),this.checkLValSimple(e.local,oe),this.finishNode(e,"ImportSpecifier")},b.parseImportDefaultSpecifier=function(){var e=this.startNode();return e.local=this.parseIdent(),this.checkLValSimple(e.local,oe),this.finishNode(e,"ImportDefaultSpecifier")},b.parseImportNamespaceSpecifier=function(){var e=this.startNode();return this.next(),this.expectContextual("as"),e.local=this.parseIdent(),this.checkLValSimple(e.local,oe),this.finishNode(e,"ImportNamespaceSpecifier")},b.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===o.name&&(e.push(this.parseImportDefaultSpecifier()),!this.eat(o.comma)))return e;if(this.type===o.star)return e.push(this.parseImportNamespaceSpecifier()),e;for(this.expect(o.braceL);!this.eat(o.braceR);){if(t)t=!1;else if(this.expect(o.comma),this.afterTrailingComma(o.braceR))break;e.push(this.parseImportSpecifier())}return e},b.parseWithClause=function(){var e=[];if(!this.eat(o._with))return e;this.expect(o.braceL);for(var t={},i=!0;!this.eat(o.braceR);){if(i)i=!1;else if(this.expect(o.comma),this.afterTrailingComma(o.braceR))break;var r=this.parseImportAttribute(),a=r.key.type==="Identifier"?r.key.name:r.key.value;ge(t,a)&&this.raiseRecoverable(r.key.start,"Duplicate attribute key '"+a+"'"),t[a]=!0,e.push(r)}return e},b.parseImportAttribute=function(){var e=this.startNode();return e.key=this.type===o.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never"),this.expect(o.colon),this.type!==o.string&&this.unexpected(),e.value=this.parseExprAtom(),this.finishNode(e,"ImportAttribute")},b.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===o.string){var e=this.parseLiteral(this.value);return bi.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},b.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)},b.isDirectiveCandidate=function(e){return this.options.ecmaVersion>=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var Q=M.prototype;Q.toAssignable=function(e,t,i){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"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var r=0,a=e.properties;r<a.length;r+=1){var s=a[r];this.toAssignable(s,t),s.type==="RestElement"&&(s.argument.type==="ArrayPattern"||s.argument.type==="ObjectPattern")&&this.raise(s.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",i&&this.checkPatternErrors(i,!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);break;case"ParenthesizedExpression":this.toAssignable(e.expression,t,i);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 i&&this.checkPatternErrors(i,!0);return e},Q.toAssignableList=function(e,t){for(var i=e.length,r=0;r<i;r++){var a=e[r];a&&this.toAssignable(a,t)}if(i){var s=e[i-1];this.options.ecmaVersion===6&&t&&s&&s.type==="RestElement"&&s.argument.type!=="Identifier"&&this.unexpected(s.argument.start)}return e},Q.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,"SpreadElement")},Q.parseRestBinding=function(){var e=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==o.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,"RestElement")},Q.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case o.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(o.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case o.braceL:return this.parseObj(!0)}return this.parseIdent()},Q.parseBindingList=function(e,t,i,r){for(var a=[],s=!0;!this.eat(e);)if(s?s=!1:this.expect(o.comma),t&&this.type===o.comma)a.push(null);else{if(i&&this.afterTrailingComma(e))break;if(this.type===o.ellipsis){var n=this.parseRestBinding();this.parseBindingListItem(n),a.push(n),this.type===o.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}else a.push(this.parseAssignableListItem(r))}return a},Q.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},Q.parseBindingListItem=function(e){return e},Q.parseMaybeDefault=function(e,t,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(o.eq))return i;var r=this.startNodeAt(e,t);return r.left=i,r.right=this.parseMaybeAssign(),this.finishNode(r,"AssignmentPattern")},Q.checkLValSimple=function(e,t,i){t===void 0&&(t=Ne);var r=t!==Ne;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(r?"Binding ":"Assigning to ")+e.name+" in strict mode"),r&&(t===oe&&e.name==="let"&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),i&&(ge(i,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),i[e.name]=!0),t!==Et&&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":r&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ParenthesizedExpression":return r&&this.raiseRecoverable(e.start,"Binding parenthesized expression"),this.checkLValSimple(e.expression,t,i);default:this.raise(e.start,(r?"Binding":"Assigning to")+" rvalue")}},Q.checkLValPattern=function(e,t,i){switch(t===void 0&&(t=Ne),e.type){case"ObjectPattern":for(var r=0,a=e.properties;r<a.length;r+=1){var s=a[r];this.checkLValInnerPattern(s,t,i)}break;case"ArrayPattern":for(var n=0,u=e.elements;n<u.length;n+=1){var c=u[n];c&&this.checkLValInnerPattern(c,t,i)}break;default:this.checkLValSimple(e,t,i)}},Q.checkLValInnerPattern=function(e,t,i){switch(t===void 0&&(t=Ne),e.type){case"Property":this.checkLValInnerPattern(e.value,t,i);break;case"AssignmentPattern":this.checkLValPattern(e.left,t,i);break;case"RestElement":this.checkLValPattern(e.argument,t,i);break;default:this.checkLValPattern(e,t,i)}};var Z=function(t,i,r,a,s){this.token=t,this.isExpr=!!i,this.preserveSpace=!!r,this.override=a,this.generator=!!s},T={b_stat:new Z("{",!1),b_expr:new Z("{",!0),b_tmpl:new Z("${",!1),p_stat:new Z("(",!1),p_expr:new Z("(",!0),q_tmpl:new Z("`",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new Z("function",!1),f_expr:new Z("function",!0),f_expr_gen:new Z("function",!0,!1,null,!0),f_gen:new Z("function",!1,!1,null,!0)},be=M.prototype;be.initialContext=function(){return[T.b_stat]},be.curContext=function(){return this.context[this.context.length-1]},be.braceIsBlock=function(e){var t=this.curContext();return t===T.f_expr||t===T.f_stat?!0:e===o.colon&&(t===T.b_stat||t===T.b_expr)?!t.isExpr:e===o._return||e===o.name&&this.exprAllowed?H.test(this.input.slice(this.lastTokEnd,this.start)):e===o._else||e===o.semi||e===o.eof||e===o.parenR||e===o.arrow?!0:e===o.braceL?t===T.b_stat:e===o._var||e===o._const||e===o.name?!1:!this.exprAllowed},be.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},be.updateContext=function(e){var t,i=this.type;i.keyword&&e===o.dot?this.exprAllowed=!1:(t=i.updateContext)?t.call(this,e):this.exprAllowed=i.beforeExpr},be.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},o.parenR.updateContext=o.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===T.b_stat&&this.curContext().token==="function"&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},o.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?T.b_stat:T.b_expr),this.exprAllowed=!0},o.dollarBraceL.updateContext=function(){this.context.push(T.b_tmpl),this.exprAllowed=!0},o.parenL.updateContext=function(e){var t=e===o._if||e===o._for||e===o._with||e===o._while;this.context.push(t?T.p_stat:T.p_expr),this.exprAllowed=!0},o.incDec.updateContext=function(){},o._function.updateContext=o._class.updateContext=function(e){e.beforeExpr&&e!==o._else&&!(e===o.semi&&this.curContext()!==T.p_stat)&&!(e===o._return&&H.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===o.colon||e===o.braceL)&&this.curContext()===T.b_stat)?this.context.push(T.f_expr):this.context.push(T.f_stat),this.exprAllowed=!1},o.colon.updateContext=function(){this.curContext().token==="function"&&this.context.pop(),this.exprAllowed=!0},o.backQuote.updateContext=function(){this.curContext()===T.q_tmpl?this.context.pop():this.context.push(T.q_tmpl),this.exprAllowed=!1},o.star.updateContext=function(e){if(e===o._function){var t=this.context.length-1;this.context[t]===T.f_expr?this.context[t]=T.f_expr_gen:this.context[t]=T.f_gen}this.exprAllowed=!0},o.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==o.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var w=M.prototype;w.checkPropClash=function(e,t,i){if(!(this.options.ecmaVersion>=9&&e.type==="SpreadElement")&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r=e.key,a;switch(r.type){case"Identifier":a=r.name;break;case"Literal":a=String(r.value);break;default:return}var s=e.kind;if(this.options.ecmaVersion>=6){a==="__proto__"&&s==="init"&&(t.proto&&(i?i.doubleProto<0&&(i.doubleProto=r.start):this.raiseRecoverable(r.start,"Redefinition of __proto__ property")),t.proto=!0);return}a="$"+a;var n=t[a];if(n){var u;s==="init"?u=this.strict&&n.init||n.get||n.set:u=n.init||n[s],u&&this.raiseRecoverable(r.start,"Redefinition of property")}else n=t[a]={init:!1,get:!1,set:!1};n[s]=!0}},w.parseExpression=function(e,t){var i=this.start,r=this.startLoc,a=this.parseMaybeAssign(e,t);if(this.type===o.comma){var s=this.startNodeAt(i,r);for(s.expressions=[a];this.eat(o.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(s,"SequenceExpression")}return a},w.parseMaybeAssign=function(e,t,i){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,a=-1,s=-1,n=-1;t?(a=t.parenthesizedAssign,s=t.trailingComma,n=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Ve,r=!0);var u=this.start,c=this.startLoc;(this.type===o.parenL||this.type===o.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e==="await");var h=this.parseMaybeConditional(e,t);if(i&&(h=i.call(this,h,u,c)),this.type.isAssign){var p=this.startNodeAt(u,c);return p.operator=this.value,this.type===o.eq&&(h=this.toAssignable(h,!1,t)),r||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=h.start&&(t.shorthandAssign=-1),this.type===o.eq?this.checkLValPattern(h):this.checkLValSimple(h),p.left=h,this.next(),p.right=this.parseMaybeAssign(e),n>-1&&(t.doubleProto=n),this.finishNode(p,"AssignmentExpression")}else r&&this.checkExpressionErrors(t,!0);return a>-1&&(t.parenthesizedAssign=a),s>-1&&(t.trailingComma=s),h},w.parseMaybeConditional=function(e,t){var i=this.start,r=this.startLoc,a=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return a;if(this.eat(o.question)){var s=this.startNodeAt(i,r);return s.test=a,s.consequent=this.parseMaybeAssign(),this.expect(o.colon),s.alternate=this.parseMaybeAssign(e),this.finishNode(s,"ConditionalExpression")}return a},w.parseExprOps=function(e,t){var i=this.start,r=this.startLoc,a=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||a.start===i&&a.type==="ArrowFunctionExpression"?a:this.parseExprOp(a,i,r,-1,e)},w.parseExprOp=function(e,t,i,r,a){var s=this.type.binop;if(s!=null&&(!a||this.type!==o._in)&&s>r){var n=this.type===o.logicalOR||this.type===o.logicalAND,u=this.type===o.coalesce;u&&(s=o.logicalAND.binop);var c=this.value;this.next();var h=this.start,p=this.startLoc,x=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,a),h,p,s,a),d=this.buildBinary(t,i,e,x,c,n||u);return(n&&this.type===o.coalesce||u&&(this.type===o.logicalOR||this.type===o.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(d,t,i,r,a)}return e},w.buildBinary=function(e,t,i,r,a,s){r.type==="PrivateIdentifier"&&this.raise(r.start,"Private identifier can only be left side of binary expression");var n=this.startNodeAt(e,t);return n.left=i,n.operator=a,n.right=r,this.finishNode(n,s?"LogicalExpression":"BinaryExpression")},w.parseMaybeUnary=function(e,t,i,r){var a=this.start,s=this.startLoc,n;if(this.isContextual("await")&&this.canAwait)n=this.parseAwait(r),t=!0;else if(this.type.prefix){var u=this.startNode(),c=this.type===o.incDec;u.operator=this.value,u.prefix=!0,this.next(),u.argument=this.parseMaybeUnary(null,!0,c,r),this.checkExpressionErrors(e,!0),c?this.checkLValSimple(u.argument):this.strict&&u.operator==="delete"&&kt(u.argument)?this.raiseRecoverable(u.start,"Deleting local variable in strict mode"):u.operator==="delete"&&Ze(u.argument)?this.raiseRecoverable(u.start,"Private fields can not be deleted"):t=!0,n=this.finishNode(u,c?"UpdateExpression":"UnaryExpression")}else if(!t&&this.type===o.privateId)(r||this.privateNameStack.length===0)&&this.options.checkPrivateFields&&this.unexpected(),n=this.parsePrivateIdent(),this.type!==o._in&&this.unexpected();else{if(n=this.parseExprSubscripts(e,r),this.checkExpressionErrors(e))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var h=this.startNodeAt(a,s);h.operator=this.value,h.prefix=!1,h.argument=n,this.checkLValSimple(n),this.next(),n=this.finishNode(h,"UpdateExpression")}}if(!i&&this.eat(o.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(a,s,n,this.parseMaybeUnary(null,!1,!1,r),"**",!1);else return n};function kt(e){return e.type==="Identifier"||e.type==="ParenthesizedExpression"&&kt(e.expression)}function Ze(e){return e.type==="MemberExpression"&&e.property.type==="PrivateIdentifier"||e.type==="ChainExpression"&&Ze(e.expression)||e.type==="ParenthesizedExpression"&&Ze(e.expression)}w.parseExprSubscripts=function(e,t){var i=this.start,r=this.startLoc,a=this.parseExprAtom(e,t);if(a.type==="ArrowFunctionExpression"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==")")return a;var s=this.parseSubscripts(a,i,r,!1,t);return e&&s.type==="MemberExpression"&&(e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1),e.trailingComma>=s.start&&(e.trailingComma=-1)),s},w.parseSubscripts=function(e,t,i,r,a){for(var s=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,n=!1;;){var u=this.parseSubscript(e,t,i,r,s,n,a);if(u.optional&&(n=!0),u===e||u.type==="ArrowFunctionExpression"){if(n){var c=this.startNodeAt(t,i);c.expression=u,u=this.finishNode(c,"ChainExpression")}return u}e=u}},w.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(o.arrow)},w.parseSubscriptAsyncArrow=function(e,t,i,r){return this.parseArrowExpression(this.startNodeAt(e,t),i,!0,r)},w.parseSubscript=function(e,t,i,r,a,s,n){var u=this.options.ecmaVersion>=11,c=u&&this.eat(o.questionDot);r&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var h=this.eat(o.bracketL);if(h||c&&this.type!==o.parenL&&this.type!==o.backQuote||this.eat(o.dot)){var p=this.startNodeAt(t,i);p.object=e,h?(p.property=this.parseExpression(),this.expect(o.bracketR)):this.type===o.privateId&&e.type!=="Super"?p.property=this.parsePrivateIdent():p.property=this.parseIdent(this.options.allowReserved!=="never"),p.computed=!!h,u&&(p.optional=c),e=this.finishNode(p,"MemberExpression")}else if(!r&&this.eat(o.parenL)){var x=new Ve,d=this.yieldPos,l=this.awaitPos,g=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var S=this.parseExprList(o.parenR,this.options.ecmaVersion>=8,!1,x);if(a&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(x,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=d,this.awaitPos=l,this.awaitIdentPos=g,this.parseSubscriptAsyncArrow(t,i,S,n);this.checkExpressionErrors(x,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=l||this.awaitPos,this.awaitIdentPos=g||this.awaitIdentPos;var _=this.startNodeAt(t,i);_.callee=e,_.arguments=S,u&&(_.optional=c),e=this.finishNode(_,"CallExpression")}else if(this.type===o.backQuote){(c||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var P=this.startNodeAt(t,i);P.tag=e,P.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(P,"TaggedTemplateExpression")}return e},w.parseExprAtom=function(e,t,i){this.type===o.slash&&this.readRegexp();var r,a=this.potentialArrowAt===this.start;switch(this.type){case o._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),r=this.startNode(),this.next(),this.type===o.parenL&&!this.allowDirectSuper&&this.raise(r.start,"super() call outside constructor of a subclass"),this.type!==o.dot&&this.type!==o.bracketL&&this.type!==o.parenL&&this.unexpected(),this.finishNode(r,"Super");case o._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case o.name:var s=this.start,n=this.startLoc,u=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!u&&c.name==="async"&&!this.canInsertSemicolon()&&this.eat(o._function))return this.overrideContext(T.f_expr),this.parseFunction(this.startNodeAt(s,n),0,!1,!0,t);if(a&&!this.canInsertSemicolon()){if(this.eat(o.arrow))return this.parseArrowExpression(this.startNodeAt(s,n),[c],!1,t);if(this.options.ecmaVersion>=8&&c.name==="async"&&this.type===o.name&&!u&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return c=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(o.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,n),[c],!0,t)}return c;case o.regexp:var h=this.value;return r=this.parseLiteral(h.value),r.regex={pattern:h.pattern,flags:h.flags},r;case o.num:case o.string:return this.parseLiteral(this.value);case o._null:case o._true:case o._false:return r=this.startNode(),r.value=this.type===o._null?null:this.type===o._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,"Literal");case o.parenL:var p=this.start,x=this.parseParenAndDistinguishExpression(a,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(x)&&(e.parenthesizedAssign=p),e.parenthesizedBind<0&&(e.parenthesizedBind=p)),x;case o.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(o.bracketR,!0,!0,e),this.finishNode(r,"ArrayExpression");case o.braceL:return this.overrideContext(T.b_expr),this.parseObj(!1,e);case o._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case o._class:return this.parseClass(this.startNode(),!1);case o._new:return this.parseNew();case o.backQuote:return this.parseTemplate();case o._import:return this.options.ecmaVersion>=11?this.parseExprImport(i):this.unexpected();default:return this.parseExprAtomDefault()}},w.parseExprAtomDefault=function(){this.unexpected()},w.parseExprImport=function(e){var t=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import"),this.next(),this.type===o.parenL&&!e)return this.parseDynamicImport(t);if(this.type===o.dot){var i=this.startNodeAt(t.start,t.loc&&t.loc.start);return i.name="import",t.meta=this.finishNode(i,"Identifier"),this.parseImportMeta(t)}else this.unexpected()},w.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(o.parenR)?e.options=null:(this.expect(o.comma),this.afterTrailingComma(o.parenR)?e.options=null:(e.options=this.parseMaybeAssign(),this.eat(o.parenR)||(this.expect(o.comma),this.afterTrailingComma(o.parenR)||this.unexpected())));else if(!this.eat(o.parenR)){var t=this.start;this.eat(o.comma)&&this.eat(o.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},w.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.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},w.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")},w.parseParenExpression=function(){this.expect(o.parenL);var e=this.parseExpression();return this.expect(o.parenR),e},w.shouldParseArrow=function(e){return!this.canInsertSemicolon()},w.parseParenAndDistinguishExpression=function(e,t){var i=this.start,r=this.startLoc,a,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n=this.start,u=this.startLoc,c=[],h=!0,p=!1,x=new Ve,d=this.yieldPos,l=this.awaitPos,g;for(this.yieldPos=0,this.awaitPos=0;this.type!==o.parenR;)if(h?h=!1:this.expect(o.comma),s&&this.afterTrailingComma(o.parenR,!0)){p=!0;break}else if(this.type===o.ellipsis){g=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===o.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}else c.push(this.parseMaybeAssign(!1,x,this.parseParenItem));var S=this.lastTokEnd,_=this.lastTokEndLoc;if(this.expect(o.parenR),e&&this.shouldParseArrow(c)&&this.eat(o.arrow))return this.checkPatternErrors(x,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=l,this.parseParenArrowList(i,r,c,t);(!c.length||p)&&this.unexpected(this.lastTokStart),g&&this.unexpected(g),this.checkExpressionErrors(x,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=l||this.awaitPos,c.length>1?(a=this.startNodeAt(n,u),a.expressions=c,this.finishNodeAt(a,"SequenceExpression",S,_)):a=c[0]}else a=this.parseParenExpression();if(this.options.preserveParens){var P=this.startNodeAt(i,r);return P.expression=a,this.finishNode(P,"ParenthesizedExpression")}else return a},w.parseParenItem=function(e){return e},w.parseParenArrowList=function(e,t,i,r){return this.parseArrowExpression(this.startNodeAt(e,t),i,!1,r)};var ki=[];w.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===o.dot){var t=this.startNodeAt(e.start,e.loc&&e.loc.start);t.name="new",e.meta=this.finishNode(t,"Identifier"),this.next();var i=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'"),i&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var r=this.start,a=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),r,a,!0,!1),this.eat(o.parenL)?e.arguments=this.parseExprList(o.parenR,this.options.ecmaVersion>=8,!1):e.arguments=ki,this.finishNode(e,"NewExpression")},w.parseTemplateElement=function(e){var t=e.isTagged,i=this.startNode();return this.type===o.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value.replace(/\r\n?/g,`
18
+ (function(fe,Ie){typeof exports=="object"&&typeof module<"u"?Ie(exports):typeof define=="function"&&define.amd?define(["exports"],Ie):(fe=typeof globalThis<"u"?globalThis:fe||self,Ie(fe.PineTSLib={}))})(this,function(fe){"use strict";var Ie=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,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,343,9,54,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,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,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,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239],wt=[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,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,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,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,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,20,1,64,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,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,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,38,6,186,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,19,72,200,32,32,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,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,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,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,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,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],Ii="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65",St="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",Ke={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"},Qe="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",Ai={5:Qe,"5module":Qe+" export import",6:Qe+" const class extends export import super"},Pi=/^in(stanceof)?$/,Vi=new RegExp("["+St+"]"),Ti=new RegExp("["+St+Ii+"]");function Xe(e,t){for(var i=65536,r=0;r<t.length;r+=2){if(i+=t[r],i>e)return!1;if(i+=t[r+1],i>=e)return!0}return!1}function ue(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Vi.test(String.fromCharCode(e)):t===!1?!1:Xe(e,wt)}function ve(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&&Ti.test(String.fromCharCode(e)):t===!1?!1:Xe(e,wt)||Xe(e,Ie)}var T=function(t,i){i===void 0&&(i={}),this.label=t,this.keyword=i.keyword,this.beforeExpr=!!i.beforeExpr,this.startsExpr=!!i.startsExpr,this.isLoop=!!i.isLoop,this.isAssign=!!i.isAssign,this.prefix=!!i.prefix,this.postfix=!!i.postfix,this.binop=i.binop||null,this.updateContext=null};function K(e,t){return new T(e,{beforeExpr:!0,binop:t})}var Q={beforeExpr:!0},G={startsExpr:!0},Ye={};function V(e,t){return t===void 0&&(t={}),t.keyword=e,Ye[e]=new T(e,t)}var l={num:new T("num",G),regexp:new T("regexp",G),string:new T("string",G),name:new T("name",G),privateId:new T("privateId",G),eof:new T("eof"),bracketL:new T("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new T("]"),braceL:new T("{",{beforeExpr:!0,startsExpr:!0}),braceR:new T("}"),parenL:new T("(",{beforeExpr:!0,startsExpr:!0}),parenR:new T(")"),comma:new T(",",Q),semi:new T(";",Q),colon:new T(":",Q),dot:new T("."),question:new T("?",Q),questionDot:new T("?."),arrow:new T("=>",Q),template:new T("template"),invalidTemplate:new T("invalidTemplate"),ellipsis:new T("...",Q),backQuote:new T("`",G),dollarBraceL:new T("${",{beforeExpr:!0,startsExpr:!0}),eq:new T("=",{beforeExpr:!0,isAssign:!0}),assign:new T("_=",{beforeExpr:!0,isAssign:!0}),incDec:new T("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new T("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:K("||",1),logicalAND:K("&&",2),bitwiseOR:K("|",3),bitwiseXOR:K("^",4),bitwiseAND:K("&",5),equality:K("==/!=/===/!==",6),relational:K("</>/<=/>=",7),bitShift:K("<</>>/>>>",8),plusMin:new T("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:K("%",10),star:K("*",10),slash:K("/",10),starstar:new T("**",{beforeExpr:!0}),coalesce:K("??",1),_break:V("break"),_case:V("case",Q),_catch:V("catch"),_continue:V("continue"),_debugger:V("debugger"),_default:V("default",Q),_do:V("do",{isLoop:!0,beforeExpr:!0}),_else:V("else",Q),_finally:V("finally"),_for:V("for",{isLoop:!0}),_function:V("function",G),_if:V("if"),_return:V("return",Q),_switch:V("switch"),_throw:V("throw",Q),_try:V("try"),_var:V("var"),_const:V("const"),_while:V("while",{isLoop:!0}),_with:V("with"),_new:V("new",{beforeExpr:!0,startsExpr:!0}),_this:V("this",G),_super:V("super",G),_class:V("class",G),_extends:V("extends",Q),_export:V("export"),_import:V("import",G),_null:V("null",G),_true:V("true",G),_false:V("false",G),_in:V("in",{beforeExpr:!0,binop:7}),_instanceof:V("instanceof",{beforeExpr:!0,binop:7}),_typeof:V("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:V("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:V("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},X=/\r\n?|\n|\u2028|\u2029/,Mi=new RegExp(X.source,"g");function we(e){return e===10||e===13||e===8232||e===8233}function Ct(e,t,i){i===void 0&&(i=e.length);for(var r=t;r<i;r++){var a=e.charCodeAt(r);if(we(a))return r<i-1&&a===13&&e.charCodeAt(r+1)===10?r+2:r+1}return-1}var Nt=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Y=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,_t=Object.prototype,Li=_t.hasOwnProperty,Di=_t.toString,Se=Object.hasOwn||function(e,t){return Li.call(e,t)},Et=Array.isArray||function(e){return Di.call(e)==="[object Array]"},kt=Object.create(null);function me(e){return kt[e]||(kt[e]=new RegExp("^(?:"+e.replace(/ /g,"|")+")$"))}function ce(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}var Ri=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Ae=function(t,i){this.line=t,this.column=i};Ae.prototype.offset=function(t){return new Ae(this.line,this.column+t)};var Re=function(t,i,r){this.start=i,this.end=r,t.sourceFile!==null&&(this.source=t.sourceFile)};function It(e,t){for(var i=1,r=0;;){var a=Ct(e,r,t);if(a<0)return new Ae(i,t-r);++i,r=a}}var Ze={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},At=!1;function Bi(e){var t={};for(var i in Ze)t[i]=e&&Se(e,i)?e[i]:Ze[i];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!At&&typeof console=="object"&&console.warn&&(At=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
19
+ Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),Et(t.onToken)){var r=t.onToken;t.onToken=function(a){return r.push(a)}}return Et(t.onComment)&&(t.onComment=ji(t,t.onComment)),t}function ji(e,t){return function(i,r,a,s,n,o){var u={type:i?"Block":"Line",value:r,start:a,end:s};e.locations&&(u.loc=new Re(this,n,o)),e.ranges&&(u.range=[a,s]),t.push(u)}}var Pe=1,Ce=2,Je=4,Pt=8,Vt=16,Tt=32,et=64,Mt=128,Ve=256,tt=Pe|Ce|Ve;function it(e,t){return Ce|(e?Je:0)|(t?Pt:0)}var Be=0,rt=1,le=2,Lt=3,Dt=4,Rt=5,R=function(t,i,r){this.options=t=Bi(t),this.sourceFile=t.sourceFile,this.keywords=me(Ai[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var a="";t.allowReserved!==!0&&(a=Ke[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(a+=" await")),this.reservedWords=me(a);var s=(a?a+" ":"")+Ke.strict;this.reservedWordsStrict=me(s),this.reservedWordsStrictBind=me(s+" "+Ke.strictBind),this.input=String(i),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf(`
20
+ `,r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(X).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=l.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=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(Pe),this.regexpState=null,this.privateNameStack=[]},se={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};R.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},se.inFunction.get=function(){return(this.currentVarScope().flags&Ce)>0},se.inGenerator.get=function(){return(this.currentVarScope().flags&Pt)>0&&!this.currentVarScope().inClassFieldInit},se.inAsync.get=function(){return(this.currentVarScope().flags&Je)>0&&!this.currentVarScope().inClassFieldInit},se.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&Ve)return!1;if(t.flags&Ce)return(t.flags&Je)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},se.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&et)>0||i||this.options.allowSuperOutsideMethod},se.allowDirectSuper.get=function(){return(this.currentThisScope().flags&Mt)>0},se.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},se.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&(Ce|Ve))>0||i},se.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&Ve)>0},R.extend=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];for(var r=this,a=0;a<t.length;a++)r=t[a](r);return r},R.parse=function(t,i){return new this(i,t).parse()},R.parseExpressionAt=function(t,i,r){var a=new this(r,t,i);return a.nextToken(),a.parseExpression()},R.tokenizer=function(t,i){return new this(i,t)},Object.defineProperties(R.prototype,se);var $=R.prototype,Oi=/^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;$.strictDirective=function(e){if(this.options.ecmaVersion<5)return!1;for(;;){Y.lastIndex=e,e+=Y.exec(this.input)[0].length;var t=Oi.exec(this.input.slice(e));if(!t)return!1;if((t[1]||t[2])==="use strict"){Y.lastIndex=e+t[0].length;var i=Y.exec(this.input),r=i.index+i[0].length,a=this.input.charAt(r);return a===";"||a==="}"||X.test(i[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(a)||a==="!"&&this.input.charAt(r+1)==="=")}e+=t[0].length,Y.lastIndex=e,e+=Y.exec(this.input)[0].length,this.input[e]===";"&&e++}},$.eat=function(e){return this.type===e?(this.next(),!0):!1},$.isContextual=function(e){return this.type===l.name&&this.value===e&&!this.containsEsc},$.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},$.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},$.canInsertSemicolon=function(){return this.type===l.eof||this.type===l.braceR||X.test(this.input.slice(this.lastTokEnd,this.start))},$.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},$.semicolon=function(){!this.eat(l.semi)&&!this.insertSemicolon()&&this.unexpected()},$.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},$.expect=function(e){this.eat(e)||this.unexpected()},$.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};var je=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};$.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var i=t?e.parenthesizedAssign:e.parenthesizedBind;i>-1&&this.raiseRecoverable(i,t?"Assigning to rvalue":"Parenthesized pattern")}},$.checkExpressionErrors=function(e,t){if(!e)return!1;var i=e.shorthandAssign,r=e.doubleProto;if(!t)return i>=0||r>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),r>=0&&this.raiseRecoverable(r,"Redefinition of __proto__ property")},$.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")},$.isSimpleAssignTarget=function(e){return e.type==="ParenthesizedExpression"?this.isSimpleAssignTarget(e.expression):e.type==="Identifier"||e.type==="MemberExpression"};var N=R.prototype;N.parseTopLevel=function(e){var t=Object.create(null);for(e.body||(e.body=[]);this.type!==l.eof;){var i=this.parseStatement(null,!0,t);e.body.push(i)}if(this.inModule)for(var r=0,a=Object.keys(this.undefinedExports);r<a.length;r+=1){var s=a[r];this.raiseRecoverable(this.undefinedExports[s].start,"Export '"+s+"' is not defined")}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType,this.finishNode(e,"Program")};var at={kind:"loop"},Fi={kind:"switch"};N.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;Y.lastIndex=this.pos;var t=Y.exec(this.input),i=this.pos+t[0].length,r=this.input.charCodeAt(i);if(r===91||r===92)return!0;if(e)return!1;if(r===123||r>55295&&r<56320)return!0;if(ue(r,!0)){for(var a=i+1;ve(r=this.input.charCodeAt(a),!0);)++a;if(r===92||r>55295&&r<56320)return!0;var s=this.input.slice(i,a);if(!Pi.test(s))return!0}return!1},N.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Y.lastIndex=this.pos;var e=Y.exec(this.input),t=this.pos+e[0].length,i;return!X.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(ve(i=this.input.charCodeAt(t+8))||i>55295&&i<56320))},N.parseStatement=function(e,t,i){var r=this.type,a=this.startNode(),s;switch(this.isLet(e)&&(r=l._var,s="let"),r){case l._break:case l._continue:return this.parseBreakContinueStatement(a,r.keyword);case l._debugger:return this.parseDebuggerStatement(a);case l._do:return this.parseDoStatement(a);case l._for:return this.parseForStatement(a);case l._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(a,!1,!e);case l._class:return e&&this.unexpected(),this.parseClass(a,!0);case l._if:return this.parseIfStatement(a);case l._return:return this.parseReturnStatement(a);case l._switch:return this.parseSwitchStatement(a);case l._throw:return this.parseThrowStatement(a);case l._try:return this.parseTryStatement(a);case l._const:case l._var:return s=s||this.value,e&&s!=="var"&&this.unexpected(),this.parseVarStatement(a,s);case l._while:return this.parseWhileStatement(a);case l._with:return this.parseWithStatement(a);case l.braceL:return this.parseBlock(!0,a);case l.semi:return this.parseEmptyStatement(a);case l._export:case l._import:if(this.options.ecmaVersion>10&&r===l._import){Y.lastIndex=this.pos;var n=Y.exec(this.input),o=this.pos+n[0].length,u=this.input.charCodeAt(o);if(u===40||u===46)return this.parseExpressionStatement(a,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===l._import?this.parseImport(a):this.parseExport(a,i);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(a,!0,!e);var c=this.value,p=this.parseExpression();return r===l.name&&p.type==="Identifier"&&this.eat(l.colon)?this.parseLabeledStatement(a,c,p,e):this.parseExpressionStatement(a,p)}},N.parseBreakContinueStatement=function(e,t){var i=t==="break";this.next(),this.eat(l.semi)||this.insertSemicolon()?e.label=null:this.type!==l.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var r=0;r<this.labels.length;++r){var a=this.labels[r];if((e.label==null||a.name===e.label.name)&&(a.kind!=null&&(i||a.kind==="loop")||e.label&&i))break}return r===this.labels.length&&this.raise(e.start,"Unsyntactic "+t),this.finishNode(e,i?"BreakStatement":"ContinueStatement")},N.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")},N.parseDoStatement=function(e){return this.next(),this.labels.push(at),e.body=this.parseStatement("do"),this.labels.pop(),this.expect(l._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(l.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},N.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(at),this.enterScope(0),this.expect(l.parenL),this.type===l.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var i=this.isLet();if(this.type===l._var||this.type===l._const||i){var r=this.startNode(),a=i?"let":this.value;return this.next(),this.parseVar(r,!0,a),this.finishNode(r,"VariableDeclaration"),(this.type===l._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&r.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===l._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,r)):(t>-1&&this.unexpected(t),this.parseFor(e,r))}var s=this.isContextual("let"),n=!1,o=this.containsEsc,u=new je,c=this.start,p=t>-1?this.parseExprSubscripts(u,"await"):this.parseExpression(!0,u);return this.type===l._in||(n=this.options.ecmaVersion>=6&&this.isContextual("of"))?(t>-1?(this.type===l._in&&this.unexpected(t),e.await=!0):n&&this.options.ecmaVersion>=8&&(p.start===c&&!o&&p.type==="Identifier"&&p.name==="async"?this.unexpected():this.options.ecmaVersion>=9&&(e.await=!1)),s&&n&&this.raise(p.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(p,!1,u),this.checkLValPattern(p),this.parseForIn(e,p)):(this.checkExpressionErrors(u,!0),t>-1&&this.unexpected(t),this.parseFor(e,p))},N.parseFunctionStatement=function(e,t,i){return this.next(),this.parseFunction(e,Te|(i?0:nt),!1,t)},N.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(l._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},N.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(l.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},N.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(l.braceL),this.labels.push(Fi),this.enterScope(0);for(var t,i=!1;this.type!==l.braceR;)if(this.type===l._case||this.type===l._default){var r=this.type===l._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,t.test=null),this.expect(l.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")},N.parseThrowStatement=function(e){return this.next(),X.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 Wi=[];N.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type==="Identifier";return this.enterScope(t?Tt:0),this.checkLValPattern(e,t?Dt:le),this.expect(l.parenR),e},N.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===l._catch){var t=this.startNode();this.next(),this.eat(l.parenL)?t.param=this.parseCatchClauseParam():(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(l._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},N.parseVarStatement=function(e,t,i){return this.next(),this.parseVar(e,!1,t,i),this.semicolon(),this.finishNode(e,"VariableDeclaration")},N.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(at),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},N.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")},N.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},N.parseLabeledStatement=function(e,t,i,r){for(var a=0,s=this.labels;a<s.length;a+=1){var n=s[a];n.name===t&&this.raise(i.start,"Label '"+t+"' is already declared")}for(var o=this.type.isLoop?"loop":this.type===l._switch?"switch":null,u=this.labels.length-1;u>=0;u--){var c=this.labels[u];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=i,this.finishNode(e,"LabeledStatement")},N.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},N.parseBlock=function(e,t,i){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(l.braceL),e&&this.enterScope(0);this.type!==l.braceR;){var r=this.parseStatement(null);t.body.push(r)}return i&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},N.parseFor=function(e,t){return e.init=t,this.expect(l.semi),e.test=this.type===l.semi?null:this.parseExpression(),this.expect(l.semi),e.update=this.type===l.parenR?null:this.parseExpression(),this.expect(l.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},N.parseForIn=function(e,t){var i=this.type===l._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!i||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(i?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=i?this.parseExpression():this.parseMaybeAssign(),this.expect(l.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,i?"ForInStatement":"ForOfStatement")},N.parseVar=function(e,t,i,r){for(e.declarations=[],e.kind=i;;){var a=this.startNode();if(this.parseVarId(a,i),this.eat(l.eq)?a.init=this.parseMaybeAssign(t):!r&&i==="const"&&!(this.type===l._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():!r&&a.id.type!=="Identifier"&&!(t&&(this.type===l._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):a.init=null,e.declarations.push(this.finishNode(a,"VariableDeclarator")),!this.eat(l.comma))break}return e},N.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?rt:le,!1)};var Te=1,nt=2,Bt=4;N.parseFunction=function(e,t,i,r,a){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===l.star&&t&nt&&this.unexpected(),e.generator=this.eat(l.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&Te&&(e.id=t&Bt&&this.type!==l.name?null:this.parseIdent(),e.id&&!(t&nt)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?rt:le:Lt));var s=this.yieldPos,n=this.awaitPos,o=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(it(e.async,e.generator)),t&Te||(e.id=this.type===l.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,i,!1,a),this.yieldPos=s,this.awaitPos=n,this.awaitIdentPos=o,this.finishNode(e,t&Te?"FunctionDeclaration":"FunctionExpression")},N.parseFunctionParams=function(e){this.expect(l.parenL),e.params=this.parseBindingList(l.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},N.parseClass=function(e,t){this.next();var i=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.enterClassBody(),a=this.startNode(),s=!1;for(a.body=[],this.expect(l.braceL);this.type!==l.braceR;){var n=this.parseClassElement(e.superClass!==null);n&&(a.body.push(n),n.type==="MethodDefinition"&&n.kind==="constructor"?(s&&this.raiseRecoverable(n.start,"Duplicate constructor in the same class"),s=!0):n.key&&n.key.type==="PrivateIdentifier"&&$i(r,n)&&this.raiseRecoverable(n.key.start,"Identifier '#"+n.key.name+"' has already been declared"))}return this.strict=i,this.next(),e.body=this.finishNode(a,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},N.parseClassElement=function(e){if(this.eat(l.semi))return null;var t=this.options.ecmaVersion,i=this.startNode(),r="",a=!1,s=!1,n="method",o=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(l.braceL))return this.parseClassStaticBlock(i),i;this.isClassElementNameStart()||this.type===l.star?o=!0:r="static"}if(i.static=o,!r&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===l.star)&&!this.canInsertSemicolon()?s=!0:r="async"),!r&&(t>=9||!s)&&this.eat(l.star)&&(a=!0),!r&&!s&&!a){var u=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?n=u:r=u)}if(r?(i.computed=!1,i.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),i.key.name=r,this.finishNode(i.key,"Identifier")):this.parseClassElementName(i),t<13||this.type===l.parenL||n!=="method"||a||s){var c=!i.static&&Oe(i,"constructor"),p=c&&e;c&&n!=="method"&&this.raise(i.key.start,"Constructor can't have get/set modifier"),i.kind=c?"constructor":n,this.parseClassMethod(i,a,s,p)}else this.parseClassField(i);return i},N.isClassElementNameStart=function(){return this.type===l.name||this.type===l.privateId||this.type===l.num||this.type===l.string||this.type===l.bracketL||this.type.keyword},N.parseClassElementName=function(e){this.type===l.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},N.parseClassMethod=function(e,t,i,r){var a=e.key;e.kind==="constructor"?(t&&this.raise(a.start,"Constructor can't be a generator"),i&&this.raise(a.start,"Constructor can't be an async method")):e.static&&Oe(e,"prototype")&&this.raise(a.start,"Classes may not have a static property named prototype");var s=e.value=this.parseMethod(t,i,r);return e.kind==="get"&&s.params.length!==0&&this.raiseRecoverable(s.start,"getter should have no params"),e.kind==="set"&&s.params.length!==1&&this.raiseRecoverable(s.start,"setter should have exactly one param"),e.kind==="set"&&s.params[0].type==="RestElement"&&this.raiseRecoverable(s.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},N.parseClassField=function(e){if(Oe(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Oe(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(l.eq)){var t=this.currentThisScope(),i=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=i}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},N.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(Ve|et);this.type!==l.braceR;){var i=this.parseStatement(null);e.body.push(i)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},N.parseClassId=function(e,t){this.type===l.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,le,!1)):(t===!0&&this.unexpected(),e.id=null)},N.parseClassSuper=function(e){e.superClass=this.eat(l._extends)?this.parseExprSubscripts(null,!1):null},N.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},N.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,i=e.used;if(this.options.checkPrivateFields)for(var r=this.privateNameStack.length,a=r===0?null:this.privateNameStack[r-1],s=0;s<i.length;++s){var n=i[s];Se(t,n.name)||(a?a.used.push(n):this.raiseRecoverable(n.start,"Private field '#"+n.name+"' must be declared in an enclosing class"))}};function $i(e,t){var i=t.key.name,r=e[i],a="true";return t.type==="MethodDefinition"&&(t.kind==="get"||t.kind==="set")&&(a=(t.static?"s":"i")+t.kind),r==="iget"&&a==="iset"||r==="iset"&&a==="iget"||r==="sget"&&a==="sset"||r==="sset"&&a==="sget"?(e[i]="true",!1):r?!0:(e[i]=a,!1)}function Oe(e,t){var i=e.computed,r=e.key;return!i&&(r.type==="Identifier"&&r.name===t||r.type==="Literal"&&r.value===t)}N.parseExportAllDeclaration=function(e,t){return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==l.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,"ExportAllDeclaration")},N.parseExport=function(e,t){if(this.next(),this.eat(l.star))return this.parseExportAllDeclaration(e,t);if(this.eat(l._default))return this.checkExport(t,"default",this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==l.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause());else{for(var i=0,r=e.specifiers;i<r.length;i+=1){var a=r[i];this.checkUnreserved(a.local),this.checkLocalExport(a.local),a.local.type==="Literal"&&this.raise(a.local.start,"A string literal cannot be used as an exported binding without `from`.")}e.source=null}this.semicolon()}return this.finishNode(e,"ExportNamedDeclaration")},N.parseExportDeclaration=function(e){return this.parseStatement(null)},N.parseExportDefaultDeclaration=function(){var e;if(this.type===l._function||(e=this.isAsyncFunction())){var t=this.startNode();return this.next(),e&&this.next(),this.parseFunction(t,Te|Bt,!1,e)}else if(this.type===l._class){var i=this.startNode();return this.parseClass(i,"nullableID")}else{var r=this.parseMaybeAssign();return this.semicolon(),r}},N.checkExport=function(e,t,i){e&&(typeof t!="string"&&(t=t.type==="Identifier"?t.name:t.value),Se(e,t)&&this.raiseRecoverable(i,"Duplicate export '"+t+"'"),e[t]=!0)},N.checkPatternExport=function(e,t){var i=t.type;if(i==="Identifier")this.checkExport(e,t,t.start);else if(i==="ObjectPattern")for(var r=0,a=t.properties;r<a.length;r+=1){var s=a[r];this.checkPatternExport(e,s)}else if(i==="ArrayPattern")for(var n=0,o=t.elements;n<o.length;n+=1){var u=o[n];u&&this.checkPatternExport(e,u)}else i==="Property"?this.checkPatternExport(e,t.value):i==="AssignmentPattern"?this.checkPatternExport(e,t.left):i==="RestElement"&&this.checkPatternExport(e,t.argument)},N.checkVariableExport=function(e,t){if(e)for(var i=0,r=t;i<r.length;i+=1){var a=r[i];this.checkPatternExport(e,a.id)}},N.shouldParseExportStatement=function(){return this.type.keyword==="var"||this.type.keyword==="const"||this.type.keyword==="class"||this.type.keyword==="function"||this.isLet()||this.isAsyncFunction()},N.parseExportSpecifier=function(e){var t=this.startNode();return t.local=this.parseModuleExportName(),t.exported=this.eatContextual("as")?this.parseModuleExportName():t.local,this.checkExport(e,t.exported,t.exported.start),this.finishNode(t,"ExportSpecifier")},N.parseExportSpecifiers=function(e){var t=[],i=!0;for(this.expect(l.braceL);!this.eat(l.braceR);){if(i)i=!1;else if(this.expect(l.comma),this.afterTrailingComma(l.braceR))break;t.push(this.parseExportSpecifier(e))}return t},N.parseImport=function(e){return this.next(),this.type===l.string?(e.specifiers=Wi,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),e.source=this.type===l.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},N.parseImportSpecifier=function(){var e=this.startNode();return e.imported=this.parseModuleExportName(),this.eatContextual("as")?e.local=this.parseIdent():(this.checkUnreserved(e.imported),e.local=e.imported),this.checkLValSimple(e.local,le),this.finishNode(e,"ImportSpecifier")},N.parseImportDefaultSpecifier=function(){var e=this.startNode();return e.local=this.parseIdent(),this.checkLValSimple(e.local,le),this.finishNode(e,"ImportDefaultSpecifier")},N.parseImportNamespaceSpecifier=function(){var e=this.startNode();return this.next(),this.expectContextual("as"),e.local=this.parseIdent(),this.checkLValSimple(e.local,le),this.finishNode(e,"ImportNamespaceSpecifier")},N.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===l.name&&(e.push(this.parseImportDefaultSpecifier()),!this.eat(l.comma)))return e;if(this.type===l.star)return e.push(this.parseImportNamespaceSpecifier()),e;for(this.expect(l.braceL);!this.eat(l.braceR);){if(t)t=!1;else if(this.expect(l.comma),this.afterTrailingComma(l.braceR))break;e.push(this.parseImportSpecifier())}return e},N.parseWithClause=function(){var e=[];if(!this.eat(l._with))return e;this.expect(l.braceL);for(var t={},i=!0;!this.eat(l.braceR);){if(i)i=!1;else if(this.expect(l.comma),this.afterTrailingComma(l.braceR))break;var r=this.parseImportAttribute(),a=r.key.type==="Identifier"?r.key.name:r.key.value;Se(t,a)&&this.raiseRecoverable(r.key.start,"Duplicate attribute key '"+a+"'"),t[a]=!0,e.push(r)}return e},N.parseImportAttribute=function(){var e=this.startNode();return e.key=this.type===l.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never"),this.expect(l.colon),this.type!==l.string&&this.unexpected(),e.value=this.parseExprAtom(),this.finishNode(e,"ImportAttribute")},N.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===l.string){var e=this.parseLiteral(this.value);return Ri.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},N.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)},N.isDirectiveCandidate=function(e){return this.options.ecmaVersion>=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var Z=R.prototype;Z.toAssignable=function(e,t,i){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"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var r=0,a=e.properties;r<a.length;r+=1){var s=a[r];this.toAssignable(s,t),s.type==="RestElement"&&(s.argument.type==="ArrayPattern"||s.argument.type==="ObjectPattern")&&this.raise(s.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",i&&this.checkPatternErrors(i,!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);break;case"ParenthesizedExpression":this.toAssignable(e.expression,t,i);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 i&&this.checkPatternErrors(i,!0);return e},Z.toAssignableList=function(e,t){for(var i=e.length,r=0;r<i;r++){var a=e[r];a&&this.toAssignable(a,t)}if(i){var s=e[i-1];this.options.ecmaVersion===6&&t&&s&&s.type==="RestElement"&&s.argument.type!=="Identifier"&&this.unexpected(s.argument.start)}return e},Z.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,"SpreadElement")},Z.parseRestBinding=function(){var e=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==l.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,"RestElement")},Z.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case l.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(l.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case l.braceL:return this.parseObj(!0)}return this.parseIdent()},Z.parseBindingList=function(e,t,i,r){for(var a=[],s=!0;!this.eat(e);)if(s?s=!1:this.expect(l.comma),t&&this.type===l.comma)a.push(null);else{if(i&&this.afterTrailingComma(e))break;if(this.type===l.ellipsis){var n=this.parseRestBinding();this.parseBindingListItem(n),a.push(n),this.type===l.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}else a.push(this.parseAssignableListItem(r))}return a},Z.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},Z.parseBindingListItem=function(e){return e},Z.parseMaybeDefault=function(e,t,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(l.eq))return i;var r=this.startNodeAt(e,t);return r.left=i,r.right=this.parseMaybeAssign(),this.finishNode(r,"AssignmentPattern")},Z.checkLValSimple=function(e,t,i){t===void 0&&(t=Be);var r=t!==Be;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(r?"Binding ":"Assigning to ")+e.name+" in strict mode"),r&&(t===le&&e.name==="let"&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),i&&(Se(i,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),i[e.name]=!0),t!==Rt&&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":r&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ParenthesizedExpression":return r&&this.raiseRecoverable(e.start,"Binding parenthesized expression"),this.checkLValSimple(e.expression,t,i);default:this.raise(e.start,(r?"Binding":"Assigning to")+" rvalue")}},Z.checkLValPattern=function(e,t,i){switch(t===void 0&&(t=Be),e.type){case"ObjectPattern":for(var r=0,a=e.properties;r<a.length;r+=1){var s=a[r];this.checkLValInnerPattern(s,t,i)}break;case"ArrayPattern":for(var n=0,o=e.elements;n<o.length;n+=1){var u=o[n];u&&this.checkLValInnerPattern(u,t,i)}break;default:this.checkLValSimple(e,t,i)}},Z.checkLValInnerPattern=function(e,t,i){switch(t===void 0&&(t=Be),e.type){case"Property":this.checkLValInnerPattern(e.value,t,i);break;case"AssignmentPattern":this.checkLValPattern(e.left,t,i);break;case"RestElement":this.checkLValPattern(e.argument,t,i);break;default:this.checkLValPattern(e,t,i)}};var te=function(t,i,r,a,s){this.token=t,this.isExpr=!!i,this.preserveSpace=!!r,this.override=a,this.generator=!!s},M={b_stat:new te("{",!1),b_expr:new te("{",!0),b_tmpl:new te("${",!1),p_stat:new te("(",!1),p_expr:new te("(",!0),q_tmpl:new te("`",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new te("function",!1),f_expr:new te("function",!0),f_expr_gen:new te("function",!0,!1,null,!0),f_gen:new te("function",!1,!1,null,!0)},Ne=R.prototype;Ne.initialContext=function(){return[M.b_stat]},Ne.curContext=function(){return this.context[this.context.length-1]},Ne.braceIsBlock=function(e){var t=this.curContext();return t===M.f_expr||t===M.f_stat?!0:e===l.colon&&(t===M.b_stat||t===M.b_expr)?!t.isExpr:e===l._return||e===l.name&&this.exprAllowed?X.test(this.input.slice(this.lastTokEnd,this.start)):e===l._else||e===l.semi||e===l.eof||e===l.parenR||e===l.arrow?!0:e===l.braceL?t===M.b_stat:e===l._var||e===l._const||e===l.name?!1:!this.exprAllowed},Ne.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},Ne.updateContext=function(e){var t,i=this.type;i.keyword&&e===l.dot?this.exprAllowed=!1:(t=i.updateContext)?t.call(this,e):this.exprAllowed=i.beforeExpr},Ne.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},l.parenR.updateContext=l.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===M.b_stat&&this.curContext().token==="function"&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},l.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?M.b_stat:M.b_expr),this.exprAllowed=!0},l.dollarBraceL.updateContext=function(){this.context.push(M.b_tmpl),this.exprAllowed=!0},l.parenL.updateContext=function(e){var t=e===l._if||e===l._for||e===l._with||e===l._while;this.context.push(t?M.p_stat:M.p_expr),this.exprAllowed=!0},l.incDec.updateContext=function(){},l._function.updateContext=l._class.updateContext=function(e){e.beforeExpr&&e!==l._else&&!(e===l.semi&&this.curContext()!==M.p_stat)&&!(e===l._return&&X.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===l.colon||e===l.braceL)&&this.curContext()===M.b_stat)?this.context.push(M.f_expr):this.context.push(M.f_stat),this.exprAllowed=!1},l.colon.updateContext=function(){this.curContext().token==="function"&&this.context.pop(),this.exprAllowed=!0},l.backQuote.updateContext=function(){this.curContext()===M.q_tmpl?this.context.pop():this.context.push(M.q_tmpl),this.exprAllowed=!1},l.star.updateContext=function(e){if(e===l._function){var t=this.context.length-1;this.context[t]===M.f_expr?this.context[t]=M.f_expr_gen:this.context[t]=M.f_gen}this.exprAllowed=!0},l.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==l.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var E=R.prototype;E.checkPropClash=function(e,t,i){if(!(this.options.ecmaVersion>=9&&e.type==="SpreadElement")&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r=e.key,a;switch(r.type){case"Identifier":a=r.name;break;case"Literal":a=String(r.value);break;default:return}var s=e.kind;if(this.options.ecmaVersion>=6){a==="__proto__"&&s==="init"&&(t.proto&&(i?i.doubleProto<0&&(i.doubleProto=r.start):this.raiseRecoverable(r.start,"Redefinition of __proto__ property")),t.proto=!0);return}a="$"+a;var n=t[a];if(n){var o;s==="init"?o=this.strict&&n.init||n.get||n.set:o=n.init||n[s],o&&this.raiseRecoverable(r.start,"Redefinition of property")}else n=t[a]={init:!1,get:!1,set:!1};n[s]=!0}},E.parseExpression=function(e,t){var i=this.start,r=this.startLoc,a=this.parseMaybeAssign(e,t);if(this.type===l.comma){var s=this.startNodeAt(i,r);for(s.expressions=[a];this.eat(l.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(s,"SequenceExpression")}return a},E.parseMaybeAssign=function(e,t,i){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,a=-1,s=-1,n=-1;t?(a=t.parenthesizedAssign,s=t.trailingComma,n=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new je,r=!0);var o=this.start,u=this.startLoc;(this.type===l.parenL||this.type===l.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e==="await");var c=this.parseMaybeConditional(e,t);if(i&&(c=i.call(this,c,o,u)),this.type.isAssign){var p=this.startNodeAt(o,u);return p.operator=this.value,this.type===l.eq&&(c=this.toAssignable(c,!1,t)),r||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=c.start&&(t.shorthandAssign=-1),this.type===l.eq?this.checkLValPattern(c):this.checkLValSimple(c),p.left=c,this.next(),p.right=this.parseMaybeAssign(e),n>-1&&(t.doubleProto=n),this.finishNode(p,"AssignmentExpression")}else r&&this.checkExpressionErrors(t,!0);return a>-1&&(t.parenthesizedAssign=a),s>-1&&(t.trailingComma=s),c},E.parseMaybeConditional=function(e,t){var i=this.start,r=this.startLoc,a=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return a;if(this.eat(l.question)){var s=this.startNodeAt(i,r);return s.test=a,s.consequent=this.parseMaybeAssign(),this.expect(l.colon),s.alternate=this.parseMaybeAssign(e),this.finishNode(s,"ConditionalExpression")}return a},E.parseExprOps=function(e,t){var i=this.start,r=this.startLoc,a=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||a.start===i&&a.type==="ArrowFunctionExpression"?a:this.parseExprOp(a,i,r,-1,e)},E.parseExprOp=function(e,t,i,r,a){var s=this.type.binop;if(s!=null&&(!a||this.type!==l._in)&&s>r){var n=this.type===l.logicalOR||this.type===l.logicalAND,o=this.type===l.coalesce;o&&(s=l.logicalAND.binop);var u=this.value;this.next();var c=this.start,p=this.startLoc,m=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,a),c,p,s,a),d=this.buildBinary(t,i,e,m,u,n||o);return(n&&this.type===l.coalesce||o&&(this.type===l.logicalOR||this.type===l.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(d,t,i,r,a)}return e},E.buildBinary=function(e,t,i,r,a,s){r.type==="PrivateIdentifier"&&this.raise(r.start,"Private identifier can only be left side of binary expression");var n=this.startNodeAt(e,t);return n.left=i,n.operator=a,n.right=r,this.finishNode(n,s?"LogicalExpression":"BinaryExpression")},E.parseMaybeUnary=function(e,t,i,r){var a=this.start,s=this.startLoc,n;if(this.isContextual("await")&&this.canAwait)n=this.parseAwait(r),t=!0;else if(this.type.prefix){var o=this.startNode(),u=this.type===l.incDec;o.operator=this.value,o.prefix=!0,this.next(),o.argument=this.parseMaybeUnary(null,!0,u,r),this.checkExpressionErrors(e,!0),u?this.checkLValSimple(o.argument):this.strict&&o.operator==="delete"&&jt(o.argument)?this.raiseRecoverable(o.start,"Deleting local variable in strict mode"):o.operator==="delete"&&st(o.argument)?this.raiseRecoverable(o.start,"Private fields can not be deleted"):t=!0,n=this.finishNode(o,u?"UpdateExpression":"UnaryExpression")}else if(!t&&this.type===l.privateId)(r||this.privateNameStack.length===0)&&this.options.checkPrivateFields&&this.unexpected(),n=this.parsePrivateIdent(),this.type!==l._in&&this.unexpected();else{if(n=this.parseExprSubscripts(e,r),this.checkExpressionErrors(e))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var c=this.startNodeAt(a,s);c.operator=this.value,c.prefix=!1,c.argument=n,this.checkLValSimple(n),this.next(),n=this.finishNode(c,"UpdateExpression")}}if(!i&&this.eat(l.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(a,s,n,this.parseMaybeUnary(null,!1,!1,r),"**",!1);else return n};function jt(e){return e.type==="Identifier"||e.type==="ParenthesizedExpression"&&jt(e.expression)}function st(e){return e.type==="MemberExpression"&&e.property.type==="PrivateIdentifier"||e.type==="ChainExpression"&&st(e.expression)||e.type==="ParenthesizedExpression"&&st(e.expression)}E.parseExprSubscripts=function(e,t){var i=this.start,r=this.startLoc,a=this.parseExprAtom(e,t);if(a.type==="ArrowFunctionExpression"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==")")return a;var s=this.parseSubscripts(a,i,r,!1,t);return e&&s.type==="MemberExpression"&&(e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1),e.trailingComma>=s.start&&(e.trailingComma=-1)),s},E.parseSubscripts=function(e,t,i,r,a){for(var s=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,n=!1;;){var o=this.parseSubscript(e,t,i,r,s,n,a);if(o.optional&&(n=!0),o===e||o.type==="ArrowFunctionExpression"){if(n){var u=this.startNodeAt(t,i);u.expression=o,o=this.finishNode(u,"ChainExpression")}return o}e=o}},E.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(l.arrow)},E.parseSubscriptAsyncArrow=function(e,t,i,r){return this.parseArrowExpression(this.startNodeAt(e,t),i,!0,r)},E.parseSubscript=function(e,t,i,r,a,s,n){var o=this.options.ecmaVersion>=11,u=o&&this.eat(l.questionDot);r&&u&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var c=this.eat(l.bracketL);if(c||u&&this.type!==l.parenL&&this.type!==l.backQuote||this.eat(l.dot)){var p=this.startNodeAt(t,i);p.object=e,c?(p.property=this.parseExpression(),this.expect(l.bracketR)):this.type===l.privateId&&e.type!=="Super"?p.property=this.parsePrivateIdent():p.property=this.parseIdent(this.options.allowReserved!=="never"),p.computed=!!c,o&&(p.optional=u),e=this.finishNode(p,"MemberExpression")}else if(!r&&this.eat(l.parenL)){var m=new je,d=this.yieldPos,h=this.awaitPos,g=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var x=this.parseExprList(l.parenR,this.options.ecmaVersion>=8,!1,m);if(a&&!u&&this.shouldParseAsyncArrow())return this.checkPatternErrors(m,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=d,this.awaitPos=h,this.awaitIdentPos=g,this.parseSubscriptAsyncArrow(t,i,x,n);this.checkExpressionErrors(m,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=h||this.awaitPos,this.awaitIdentPos=g||this.awaitIdentPos;var b=this.startNodeAt(t,i);b.callee=e,b.arguments=x,o&&(b.optional=u),e=this.finishNode(b,"CallExpression")}else if(this.type===l.backQuote){(u||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var _=this.startNodeAt(t,i);_.tag=e,_.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(_,"TaggedTemplateExpression")}return e},E.parseExprAtom=function(e,t,i){this.type===l.slash&&this.readRegexp();var r,a=this.potentialArrowAt===this.start;switch(this.type){case l._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),r=this.startNode(),this.next(),this.type===l.parenL&&!this.allowDirectSuper&&this.raise(r.start,"super() call outside constructor of a subclass"),this.type!==l.dot&&this.type!==l.bracketL&&this.type!==l.parenL&&this.unexpected(),this.finishNode(r,"Super");case l._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case l.name:var s=this.start,n=this.startLoc,o=this.containsEsc,u=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!o&&u.name==="async"&&!this.canInsertSemicolon()&&this.eat(l._function))return this.overrideContext(M.f_expr),this.parseFunction(this.startNodeAt(s,n),0,!1,!0,t);if(a&&!this.canInsertSemicolon()){if(this.eat(l.arrow))return this.parseArrowExpression(this.startNodeAt(s,n),[u],!1,t);if(this.options.ecmaVersion>=8&&u.name==="async"&&this.type===l.name&&!o&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return u=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(l.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,n),[u],!0,t)}return u;case l.regexp:var c=this.value;return r=this.parseLiteral(c.value),r.regex={pattern:c.pattern,flags:c.flags},r;case l.num:case l.string:return this.parseLiteral(this.value);case l._null:case l._true:case l._false:return r=this.startNode(),r.value=this.type===l._null?null:this.type===l._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,"Literal");case l.parenL:var p=this.start,m=this.parseParenAndDistinguishExpression(a,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(m)&&(e.parenthesizedAssign=p),e.parenthesizedBind<0&&(e.parenthesizedBind=p)),m;case l.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(l.bracketR,!0,!0,e),this.finishNode(r,"ArrayExpression");case l.braceL:return this.overrideContext(M.b_expr),this.parseObj(!1,e);case l._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case l._class:return this.parseClass(this.startNode(),!1);case l._new:return this.parseNew();case l.backQuote:return this.parseTemplate();case l._import:return this.options.ecmaVersion>=11?this.parseExprImport(i):this.unexpected();default:return this.parseExprAtomDefault()}},E.parseExprAtomDefault=function(){this.unexpected()},E.parseExprImport=function(e){var t=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import"),this.next(),this.type===l.parenL&&!e)return this.parseDynamicImport(t);if(this.type===l.dot){var i=this.startNodeAt(t.start,t.loc&&t.loc.start);return i.name="import",t.meta=this.finishNode(i,"Identifier"),this.parseImportMeta(t)}else this.unexpected()},E.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(l.parenR)?e.options=null:(this.expect(l.comma),this.afterTrailingComma(l.parenR)?e.options=null:(e.options=this.parseMaybeAssign(),this.eat(l.parenR)||(this.expect(l.comma),this.afterTrailingComma(l.parenR)||this.unexpected())));else if(!this.eat(l.parenR)){var t=this.start;this.eat(l.comma)&&this.eat(l.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},E.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.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},E.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")},E.parseParenExpression=function(){this.expect(l.parenL);var e=this.parseExpression();return this.expect(l.parenR),e},E.shouldParseArrow=function(e){return!this.canInsertSemicolon()},E.parseParenAndDistinguishExpression=function(e,t){var i=this.start,r=this.startLoc,a,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n=this.start,o=this.startLoc,u=[],c=!0,p=!1,m=new je,d=this.yieldPos,h=this.awaitPos,g;for(this.yieldPos=0,this.awaitPos=0;this.type!==l.parenR;)if(c?c=!1:this.expect(l.comma),s&&this.afterTrailingComma(l.parenR,!0)){p=!0;break}else if(this.type===l.ellipsis){g=this.start,u.push(this.parseParenItem(this.parseRestBinding())),this.type===l.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}else u.push(this.parseMaybeAssign(!1,m,this.parseParenItem));var x=this.lastTokEnd,b=this.lastTokEndLoc;if(this.expect(l.parenR),e&&this.shouldParseArrow(u)&&this.eat(l.arrow))return this.checkPatternErrors(m,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=h,this.parseParenArrowList(i,r,u,t);(!u.length||p)&&this.unexpected(this.lastTokStart),g&&this.unexpected(g),this.checkExpressionErrors(m,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=h||this.awaitPos,u.length>1?(a=this.startNodeAt(n,o),a.expressions=u,this.finishNodeAt(a,"SequenceExpression",x,b)):a=u[0]}else a=this.parseParenExpression();if(this.options.preserveParens){var _=this.startNodeAt(i,r);return _.expression=a,this.finishNode(_,"ParenthesizedExpression")}else return a},E.parseParenItem=function(e){return e},E.parseParenArrowList=function(e,t,i,r){return this.parseArrowExpression(this.startNodeAt(e,t),i,!1,r)};var qi=[];E.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===l.dot){var t=this.startNodeAt(e.start,e.loc&&e.loc.start);t.name="new",e.meta=this.finishNode(t,"Identifier"),this.next();var i=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'"),i&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var r=this.start,a=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),r,a,!0,!1),this.eat(l.parenL)?e.arguments=this.parseExprList(l.parenR,this.options.ecmaVersion>=8,!1):e.arguments=qi,this.finishNode(e,"NewExpression")},E.parseTemplateElement=function(e){var t=e.isTagged,i=this.startNode();return this.type===l.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value.replace(/\r\n?/g,`
21
21
  `),cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,`
22
- `),cooked:this.value},this.next(),i.tail=this.type===o.backQuote,this.finishNode(i,"TemplateElement")},w.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var i=this.startNode();this.next(),i.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(i.quasis=[r];!r.tail;)this.type===o.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(o.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(o.braceR),i.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(i,"TemplateLiteral")},w.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===o.name||this.type===o.num||this.type===o.string||this.type===o.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===o.star)&&!H.test(this.input.slice(this.lastTokEnd,this.start))},w.parseObj=function(e,t){var i=this.startNode(),r=!0,a={};for(i.properties=[],this.next();!this.eat(o.braceR);){if(r)r=!1;else if(this.expect(o.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(o.braceR))break;var s=this.parseProperty(e,t);e||this.checkPropClash(s,a,t),i.properties.push(s)}return this.finishNode(i,e?"ObjectPattern":"ObjectExpression")},w.parseProperty=function(e,t){var i=this.startNode(),r,a,s,n;if(this.options.ecmaVersion>=9&&this.eat(o.ellipsis))return e?(i.argument=this.parseIdent(!1),this.type===o.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(i,"RestElement")):(i.argument=this.parseMaybeAssign(!1,t),this.type===o.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(i,"SpreadElement"));this.options.ecmaVersion>=6&&(i.method=!1,i.shorthand=!1,(e||t)&&(s=this.start,n=this.startLoc),e||(r=this.eat(o.star)));var u=this.containsEsc;return this.parsePropertyName(i),!e&&!u&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(i)?(a=!0,r=this.options.ecmaVersion>=9&&this.eat(o.star),this.parsePropertyName(i)):a=!1,this.parsePropertyValue(i,e,r,a,s,n,t,u),this.finishNode(i,"Property")},w.parseGetterSetter=function(e){e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var t=e.kind==="get"?0:1;if(e.value.params.length!==t){var i=e.value.start;e.kind==="get"?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"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")},w.parsePropertyValue=function(e,t,i,r,a,s,n,u){(i||r)&&this.type===o.colon&&this.unexpected(),this.eat(o.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,n),e.kind="init"):this.options.ecmaVersion>=6&&this.type===o.parenL?(t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(i,r)):!t&&!u&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==o.comma&&this.type!==o.braceR&&this.type!==o.eq?((i||r)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((i||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=a),e.kind="init",t?e.value=this.parseMaybeDefault(a,s,this.copyNode(e.key)):this.type===o.eq&&n?(n.shorthandAssign<0&&(n.shorthandAssign=this.start),e.value=this.parseMaybeDefault(a,s,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},w.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(o.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(o.bracketR),e.key;e.computed=!1}return e.key=this.type===o.num||this.type===o.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},w.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},w.parseMethod=function(e,t,i){var r=this.startNode(),a=this.yieldPos,s=this.awaitPos,n=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(Ke(t,r.generator)|ze|(i?wt:0)),this.expect(o.parenL),r.params=this.parseBindingList(o.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0,!1),this.yieldPos=a,this.awaitPos=s,this.awaitIdentPos=n,this.finishNode(r,"FunctionExpression")},w.parseArrowExpression=function(e,t,i,r){var a=this.yieldPos,s=this.awaitPos,n=this.awaitIdentPos;return this.enterScope(Ke(i,!1)|bt),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!i),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,r),this.yieldPos=a,this.awaitPos=s,this.awaitIdentPos=n,this.finishNode(e,"ArrowFunctionExpression")},w.parseFunctionBody=function(e,t,i,r){var a=t&&this.type!==o.braceL,s=this.strict,n=!1;if(a)e.body=this.parseMaybeAssign(r),e.expression=!0,this.checkParams(e,!1);else{var u=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!s||u)&&(n=this.strictDirective(this.end),n&&u&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var c=this.labels;this.labels=[],n&&(this.strict=!0),this.checkParams(e,!s&&!n&&!t&&!i&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Et),e.body=this.parseBlock(!1,void 0,n&&!s),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=c}this.exitScope()},w.isSimpleParamList=function(e){for(var t=0,i=e;t<i.length;t+=1){var r=i[t];if(r.type!=="Identifier")return!1}return!0},w.checkParams=function(e,t){for(var i=Object.create(null),r=0,a=e.params;r<a.length;r+=1){var s=a[r];this.checkLValInnerPattern(s,Qe,t?null:i)}},w.parseExprList=function(e,t,i,r){for(var a=[],s=!0;!this.eat(e);){if(s)s=!1;else if(this.expect(o.comma),t&&this.afterTrailingComma(e))break;var n=void 0;i&&this.type===o.comma?n=null:this.type===o.ellipsis?(n=this.parseSpread(r),r&&this.type===o.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):n=this.parseMaybeAssign(!1,r),a.push(n)}return a},w.checkUnreserved=function(e){var t=e.start,i=e.end,r=e.name;if(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.currentThisScope().inClassFieldInit&&r==="arguments"&&this.raiseRecoverable(t,"Cannot use 'arguments' in class field initializer"),this.inClassStaticBlock&&(r==="arguments"||r==="await")&&this.raise(t,"Cannot use "+r+" in class static initialization block"),this.keywords.test(r)&&this.raise(t,"Unexpected keyword '"+r+"'"),!(this.options.ecmaVersion<6&&this.input.slice(t,i).indexOf("\\")!==-1)){var a=this.strict?this.reservedWordsStrict:this.reservedWords;a.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"))}},w.parseIdent=function(e){var t=this.parseIdentNode();return this.next(!!e),this.finishNode(t,"Identifier"),e||(this.checkUnreserved(t),t.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=t.start)),t},w.parseIdentNode=function(){var e=this.startNode();return this.type===o.name?e.name=this.value:this.type.keyword?(e.name=this.type.keyword,(e.name==="class"||e.name==="function")&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop(),this.type=o.name):this.unexpected(),e},w.parsePrivateIdent=function(){var e=this.startNode();return this.type===o.privateId?e.name=this.value:this.unexpected(),this.next(),this.finishNode(e,"PrivateIdentifier"),this.options.checkPrivateFields&&(this.privateNameStack.length===0?this.raise(e.start,"Private field '#"+e.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(e)),e},w.parseYield=function(e){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===o.semi||this.canInsertSemicolon()||this.type!==o.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(o.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,"YieldExpression")},w.parseAwait=function(e){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0,!1,e),this.finishNode(t,"AwaitExpression")};var Le=M.prototype;Le.raise=function(e,t){var i=xt(this.input,e);t+=" ("+i.line+":"+i.column+")";var r=new SyntaxError(t);throw r.pos=e,r.loc=i,r.raisedAt=this.pos,r},Le.raiseRecoverable=Le.raise,Le.curPosition=function(){if(this.options.locations)return new Ce(this.curLine,this.pos-this.lineStart)};var le=M.prototype,Ai=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[],this.inClassFieldInit=!1};le.enterScope=function(e){this.scopeStack.push(new Ai(e))},le.exitScope=function(){this.scopeStack.pop()},le.treatFunctionsAsVarInScope=function(e){return e.flags&ye||!this.inModule&&e.flags&Se},le.declareName=function(e,t,i){var r=!1;if(t===oe){var a=this.currentScope();r=a.lexical.indexOf(e)>-1||a.functions.indexOf(e)>-1||a.var.indexOf(e)>-1,a.lexical.push(e),this.inModule&&a.flags&Se&&delete this.undefinedExports[e]}else if(t===St){var s=this.currentScope();s.lexical.push(e)}else if(t===Ct){var n=this.currentScope();this.treatFunctionsAsVar?r=n.lexical.indexOf(e)>-1:r=n.lexical.indexOf(e)>-1||n.var.indexOf(e)>-1,n.functions.push(e)}else for(var u=this.scopeStack.length-1;u>=0;--u){var c=this.scopeStack[u];if(c.lexical.indexOf(e)>-1&&!(c.flags&vt&&c.lexical[0]===e)||!this.treatFunctionsAsVarInScope(c)&&c.functions.indexOf(e)>-1){r=!0;break}if(c.var.push(e),this.inModule&&c.flags&Se&&delete this.undefinedExports[e],c.flags&He)break}r&&this.raiseRecoverable(i,"Identifier '"+e+"' has already been declared")},le.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},le.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},le.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&He)return t}},le.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&He&&!(t.flags&bt))return t}};var Me=function(t,i,r){this.type="",this.start=i,this.end=0,t.options.locations&&(this.loc=new Pe(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[i,0])},ke=M.prototype;ke.startNode=function(){return new Me(this,this.start,this.startLoc)},ke.startNodeAt=function(e,t){return new Me(this,e,t)};function At(e,t,i,r){return e.type=t,e.end=i,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=i),e}ke.finishNode=function(e,t){return At.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},ke.finishNodeAt=function(e,t,i,r){return At.call(this,e,t,i,r)},ke.copyNode=function(e){var t=new Me(this,e.start,this.startLoc);for(var i in e)t[i]=e[i];return t};var Ii="Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz",It="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",Pt=It+" Extended_Pictographic",Nt=Pt,Vt=Nt+" EBase EComp EMod EPres ExtPict",Tt=Vt,Pi=Tt,Ni={9:It,10:Pt,11:Nt,12:Vt,13:Tt,14:Pi},Vi="Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji",Ti={9:"",10:"",11:"",12:"",13:"",14:Vi},Lt="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",Mt="Adlam Adlm 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 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",Rt=Mt+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Bt=Rt+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Dt=Bt+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Ot=Dt+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Li=Ot+" "+Ii,Mi={9:Mt,10:Rt,11:Bt,12:Dt,13:Ot,14:Li},jt={};function Ri(e){var t=jt[e]={binary:pe(Ni[e]+" "+Lt),binaryOfStrings:pe(Ti[e]),nonBinary:{General_Category:pe(Lt),Script:pe(Mi[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}for(var Je=0,Ft=[9,10,11,12,13,14];Je<Ft.length;Je+=1){var Bi=Ft[Je];Ri(Bi)}var y=M.prototype,Re=function(t,i){this.parent=t,this.base=i||this};Re.prototype.separatedFrom=function(t){for(var i=this;i;i=i.parent)for(var r=t;r;r=r.parent)if(i.base===r.base&&i!==r)return!0;return!1},Re.prototype.sibling=function(){return new Re(this.parent,this.base)};var re=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=jt[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};re.prototype.reset=function(t,i,r){var a=r.indexOf("v")!==-1,s=r.indexOf("u")!==-1;this.start=t|0,this.source=i+"",this.flags=r,a&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=s&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=s&&this.parser.options.ecmaVersion>=9)},re.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},re.prototype.at=function(t,i){i===void 0&&(i=!1);var r=this.source,a=r.length;if(t>=a)return-1;var s=r.charCodeAt(t);if(!(i||this.switchU)||s<=55295||s>=57344||t+1>=a)return s;var n=r.charCodeAt(t+1);return n>=56320&&n<=57343?(s<<10)+n-56613888:s},re.prototype.nextIndex=function(t,i){i===void 0&&(i=!1);var r=this.source,a=r.length;if(t>=a)return a;var s=r.charCodeAt(t),n;return!(i||this.switchU)||s<=55295||s>=57344||t+1>=a||(n=r.charCodeAt(t+1))<56320||n>57343?t+1:t+2},re.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},re.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},re.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},re.prototype.eat=function(t,i){return i===void 0&&(i=!1),this.current(i)===t?(this.advance(i),!0):!1},re.prototype.eatChars=function(t,i){i===void 0&&(i=!1);for(var r=this.pos,a=0,s=t;a<s.length;a+=1){var n=s[a],u=this.at(r,i);if(u===-1||u!==n)return!1;r=this.nextIndex(r,i)}return this.pos=r,!0},y.validateRegExpFlags=function(e){for(var t=e.validFlags,i=e.flags,r=!1,a=!1,s=0;s<i.length;s++){var n=i.charAt(s);t.indexOf(n)===-1&&this.raise(e.start,"Invalid regular expression flag"),i.indexOf(n,s+1)>-1&&this.raise(e.start,"Duplicate regular expression flag"),n==="u"&&(r=!0),n==="v"&&(a=!0)}this.options.ecmaVersion>=15&&r&&a&&this.raise(e.start,"Invalid regular expression flag")};function Di(e){for(var t in e)return!0;return!1}y.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&Di(e.groupNames)&&(e.switchN=!0,this.regexp_pattern(e))},y.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames=Object.create(null),e.backReferenceNames.length=0,e.branchID=null,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,i=e.backReferenceNames;t<i.length;t+=1){var r=i[t];e.groupNames[r]||e.raise("Invalid named capture referenced")}},y.regexp_disjunction=function(e){var t=this.options.ecmaVersion>=16;for(t&&(e.branchID=new Re(e.branchID,null)),this.regexp_alternative(e);e.eat(124);)t&&(e.branchID=e.branchID.sibling()),this.regexp_alternative(e);t&&(e.branchID=e.branchID.parent),this.regexp_eatQuantifier(e,!0)&&e.raise("Nothing to repeat"),e.eat(123)&&e.raise("Lone quantifier brackets")},y.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},y.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},y.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 i=!1;if(this.options.ecmaVersion>=9&&(i=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!i,!0}return e.pos=t,!1},y.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},y.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},y.regexp_eatBracedQuantifier=function(e,t){var i=e.pos;if(e.eat(123)){var r=0,a=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(a=e.lastIntValue),e.eat(125)))return a!==-1&&a<r&&!t&&e.raise("numbers out of order in {} quantifier"),!0;e.switchU&&!t&&e.raise("Incomplete quantifier"),e.pos=i}return!1},y.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)},y.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},y.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)){if(this.options.ecmaVersion>=16){var i=this.regexp_eatModifiers(e),r=e.eat(45);if(i||r){for(var a=0;a<i.length;a++){var s=i.charAt(a);i.indexOf(s,a+1)>-1&&e.raise("Duplicate regular expression modifiers")}if(r){var n=this.regexp_eatModifiers(e);!i&&!n&&e.current()===58&&e.raise("Invalid regular expression modifiers");for(var u=0;u<n.length;u++){var c=n.charAt(u);(n.indexOf(c,u+1)>-1||i.indexOf(c)>-1)&&e.raise("Duplicate regular expression modifiers")}}}}if(e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise("Unterminated group")}}e.pos=t}return!1},y.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},y.regexp_eatModifiers=function(e){for(var t="",i=0;(i=e.current())!==-1&&Oi(i);)t+=ne(i),e.advance();return t};function Oi(e){return e===105||e===109||e===115}y.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)},y.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},y.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Ut(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Ut(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}y.regexp_eatPatternCharacters=function(e){for(var t=e.pos,i=0;(i=e.current())!==-1&&!Ut(i);)e.advance();return e.pos!==t},y.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},y.regexp_groupSpecifier=function(e){if(e.eat(63)){this.regexp_eatGroupName(e)||e.raise("Invalid group");var t=this.options.ecmaVersion>=16,i=e.groupNames[e.lastStringValue];if(i)if(t)for(var r=0,a=i;r<a.length;r+=1){var s=a[r];s.separatedFrom(e.branchID)||e.raise("Duplicate capture group name")}else e.raise("Duplicate capture group name");t?(i||(e.groupNames[e.lastStringValue]=[])).push(e.branchID):e.groupNames[e.lastStringValue]=!0}},y.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},y.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=ne(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=ne(e.lastIntValue);return!0}return!1},y.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,r=e.current(i);return e.advance(i),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(r=e.lastIntValue),ji(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function ji(e){return se(e,!0)||e===36||e===95}y.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,r=e.current(i);return e.advance(i),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(r=e.lastIntValue),Fi(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Fi(e){return de(e,!0)||e===36||e===95||e===8204||e===8205}y.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)},y.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var i=e.lastIntValue;if(e.switchU)return i>e.maxBackReference&&(e.maxBackReference=i),!0;if(i<=e.numCapturingParens)return!0;e.pos=t}return!1},y.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},y.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)},y.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},y.regexp_eatZero=function(e){return e.current()===48&&!Be(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},y.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},y.regexp_eatControlLetter=function(e){var t=e.current();return qt(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function qt(e){return e>=65&&e<=90||e>=97&&e<=122}y.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var i=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(r&&a>=55296&&a<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(n>=56320&&n<=57343)return e.lastIntValue=(a-55296)*1024+(n-56320)+65536,!0}e.pos=s,e.lastIntValue=a}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Ui(e.lastIntValue))return!0;r&&e.raise("Invalid unicode escape"),e.pos=i}return!1};function Ui(e){return e>=0&&e<=1114111}y.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},y.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};var $t=0,ue=1,Y=2;y.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(qi(t))return e.lastIntValue=-1,e.advance(),ue;var i=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((i=t===80)||t===112)){e.lastIntValue=-1,e.advance();var r;if(e.eat(123)&&(r=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return i&&r===Y&&e.raise("Invalid property name"),r;e.raise("Invalid property name")}return $t};function qi(e){return e===100||e===68||e===115||e===83||e===119||e===87}y.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var i=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,i,r),ue}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var a=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,a)}return $t},y.regexp_validateUnicodePropertyNameAndValue=function(e,t,i){ge(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(i)||e.raise("Invalid property value")},y.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return ue;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return Y;e.raise("Invalid property name")},y.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Gt(t=e.current());)e.lastStringValue+=ne(t),e.advance();return e.lastStringValue!==""};function Gt(e){return qt(e)||e===95}y.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";$i(t=e.current());)e.lastStringValue+=ne(t),e.advance();return e.lastStringValue!==""};function $i(e){return Gt(e)||Be(e)}y.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},y.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),i=this.regexp_classContents(e);return e.eat(93)||e.raise("Unterminated character class"),t&&i===Y&&e.raise("Negated character class may contain strings"),!0}return!1},y.regexp_classContents=function(e){return e.current()===93?ue:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),ue)},y.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var i=e.lastIntValue;e.switchU&&(t===-1||i===-1)&&e.raise("Invalid character class"),t!==-1&&i!==-1&&t>i&&e.raise("Range out of order in character class")}}},y.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var i=e.current();(i===99||Ht(i))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var r=e.current();return r!==93?(e.lastIntValue=r,e.advance(),!0):!1},y.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)},y.regexp_classSetExpression=function(e){var t=ue,i;if(!this.regexp_eatClassSetRange(e))if(i=this.regexp_eatClassSetOperand(e)){i===Y&&(t=Y);for(var r=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(i=this.regexp_eatClassSetOperand(e))){i!==Y&&(t=ue);continue}e.raise("Invalid character in character class")}if(r!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise("Invalid character in character class");if(r!==e.pos)return t}else e.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(e)){if(i=this.regexp_eatClassSetOperand(e),!i)return t;i===Y&&(t=Y)}},y.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var i=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var r=e.lastIntValue;return i!==-1&&r!==-1&&i>r&&e.raise("Range out of order in character class"),!0}e.pos=t}return!1},y.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?ue:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},y.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var i=e.eat(94),r=this.regexp_classContents(e);if(e.eat(93))return i&&r===Y&&e.raise("Negated character class may contain strings"),r;e.pos=t}if(e.eat(92)){var a=this.regexp_eatCharacterClassEscape(e);if(a)return a;e.pos=t}return null},y.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var i=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return i}else e.raise("Invalid escape");e.pos=t}return null},y.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===Y&&(t=Y);return t},y.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?ue:Y},y.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var i=e.current();return i<0||i===e.lookahead()&&Gi(i)||Wi(i)?!1:(e.advance(),e.lastIntValue=i,!0)};function Gi(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Wi(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}y.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return zi(t)?(e.lastIntValue=t,e.advance(),!0):!1};function zi(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}y.regexp_eatClassControlLetter=function(e){var t=e.current();return Be(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},y.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},y.regexp_eatDecimalDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Be(i=e.current());)e.lastIntValue=10*e.lastIntValue+(i-48),e.advance();return e.pos!==t};function Be(e){return e>=48&&e<=57}y.regexp_eatHexDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Wt(i=e.current());)e.lastIntValue=16*e.lastIntValue+zt(i),e.advance();return e.pos!==t};function Wt(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function zt(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}y.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var i=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+i*8+e.lastIntValue:e.lastIntValue=t*8+i}else e.lastIntValue=t;return!0}return!1},y.regexp_eatOctalDigit=function(e){var t=e.current();return Ht(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Ht(e){return e>=48&&e<=55}y.regexp_eatFixedHexDigits=function(e,t){var i=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var a=e.current();if(!Wt(a))return e.pos=i,!1;e.lastIntValue=16*e.lastIntValue+zt(a),e.advance()}return!0};var et=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Pe(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},E=M.prototype;E.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 et(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},E.getToken=function(){return this.next(),new et(this)},typeof Symbol<"u"&&(E[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===o.eof,value:t}}}}),E.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(o.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},E.readToken=function(e){return se(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},E.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},E.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(i===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(var r=void 0,a=t;(r=pt(this.input,a,this.pos))>-1;)++this.curLine,a=this.lineStart=r;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,i),t,this.pos,e,this.curPosition())},E.skipLineComment=function(e){for(var t=this.pos,i=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!xe(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,i,this.curPosition())},E.skipSpace=function(){e: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 e}break;default:if(e>8&&e<14||e>=5760&&lt.test(String.fromCharCode(e)))++this.pos;else break e}}},E.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=e,this.value=t,this.updateContext(i)},E.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(o.ellipsis)):(++this.pos,this.finishToken(o.dot))},E.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(o.assign,2):this.finishOp(o.slash,1)},E.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),i=1,r=e===42?o.star:o.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++i,r=o.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(o.assign,i+1):this.finishOp(r,i)},E.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var i=this.input.charCodeAt(this.pos+2);if(i===61)return this.finishOp(o.assign,3)}return this.finishOp(e===124?o.logicalOR:o.logicalAND,2)}return t===61?this.finishOp(o.assign,2):this.finishOp(e===124?o.bitwiseOR:o.bitwiseAND,1)},E.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(o.assign,2):this.finishOp(o.bitwiseXOR,1)},E.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||H.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(o.incDec,2):t===61?this.finishOp(o.assign,2):this.finishOp(o.plusMin,1)},E.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),i=1;return t===e?(i=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+i)===61?this.finishOp(o.assign,i+1):this.finishOp(o.bitShift,i)):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&&(i=2),this.finishOp(o.relational,i))},E.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(o.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(o.arrow)):this.finishOp(e===61?o.eq:o.prefix,1)},E.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var i=this.input.charCodeAt(this.pos+2);if(i<48||i>57)return this.finishOp(o.questionDot,2)}if(t===63){if(e>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61)return this.finishOp(o.assign,3)}return this.finishOp(o.coalesce,2)}}return this.finishOp(o.question,1)},E.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),se(t,!0)||t===92))return this.finishToken(o.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+ne(t)+"'")},E.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(o.parenL);case 41:return++this.pos,this.finishToken(o.parenR);case 59:return++this.pos,this.finishToken(o.semi);case 44:return++this.pos,this.finishToken(o.comma);case 91:return++this.pos,this.finishToken(o.bracketL);case 93:return++this.pos,this.finishToken(o.bracketR);case 123:return++this.pos,this.finishToken(o.braceL);case 125:return++this.pos,this.finishToken(o.braceR);case 58:return++this.pos,this.finishToken(o.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(o.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(o.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+ne(e)+"'")},E.finishOp=function(e,t){var i=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,i)},E.readRegexp=function(){for(var e,t,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var r=this.input.charAt(this.pos);if(H.test(r)&&this.raise(i,"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 a=this.input.slice(i,this.pos);++this.pos;var s=this.pos,n=this.readWord1();this.containsEsc&&this.unexpected(s);var u=this.regexpState||(this.regexpState=new re(this));u.reset(i,a,n),this.validateRegExpFlags(u),this.validateRegExpPattern(u);var c=null;try{c=new RegExp(a,n)}catch{}return this.finishToken(o.regexp,{pattern:a,flags:n,value:c})},E.readInt=function(e,t,i){for(var r=this.options.ecmaVersion>=12&&t===void 0,a=i&&this.input.charCodeAt(this.pos)===48,s=this.pos,n=0,u=0,c=0,h=t??1/0;c<h;++c,++this.pos){var p=this.input.charCodeAt(this.pos),x=void 0;if(r&&p===95){a&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),u===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"),u=p;continue}if(p>=97?x=p-97+10:p>=65?x=p-65+10:p>=48&&p<=57?x=p-48:x=1/0,x>=e)break;u=p,n=n*e+x}return r&&u===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||t!=null&&this.pos-s!==t?null:n};function Hi(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Kt(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}E.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var i=this.readInt(e);return i==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(i=Kt(this.input.slice(t,this.pos)),++this.pos):se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(o.num,i)},E.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var i=this.pos-t>=2&&this.input.charCodeAt(t)===48;i&&this.strict&&this.raise(t,"Invalid number");var r=this.input.charCodeAt(this.pos);if(!i&&!e&&this.options.ecmaVersion>=11&&r===110){var a=Kt(this.input.slice(t,this.pos));return++this.pos,se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(o.num,a)}i&&/[89]/.test(this.input.slice(t,this.pos))&&(i=!1),r===46&&!i&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!i&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),se(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s=Hi(this.input.slice(t,this.pos),i);return this.finishToken(o.num,s)},E.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var i=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(i,"Code point out of bounds")}else t=this.readHexChar(4);return t},E.readString=function(e){for(var t="",i=++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(i,this.pos),t+=this.readEscapedChar(!1),i=this.pos):r===8232||r===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(xe(r)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(i,this.pos++),this.finishToken(o.string,t)};var Qt={};E.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Qt)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},E.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Qt;this.raise(e,t)},E.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(i===96||i===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===o.template||this.type===o.invalidTemplate)?i===36?(this.pos+=2,this.finishToken(o.dollarBraceL)):(++this.pos,this.finishToken(o.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(o.template,e));if(i===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(xe(i)){switch(e+=this.input.slice(t,this.pos),++this.pos,i){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
23
- `;break;default:e+=String.fromCharCode(i);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},E.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(o.invalidTemplate,this.input.slice(this.start,this.pos));case"\r":this.input[this.pos+1]===`
22
+ `),cooked:this.value},this.next(),i.tail=this.type===l.backQuote,this.finishNode(i,"TemplateElement")},E.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var i=this.startNode();this.next(),i.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(i.quasis=[r];!r.tail;)this.type===l.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(l.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(l.braceR),i.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(i,"TemplateLiteral")},E.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===l.name||this.type===l.num||this.type===l.string||this.type===l.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===l.star)&&!X.test(this.input.slice(this.lastTokEnd,this.start))},E.parseObj=function(e,t){var i=this.startNode(),r=!0,a={};for(i.properties=[],this.next();!this.eat(l.braceR);){if(r)r=!1;else if(this.expect(l.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(l.braceR))break;var s=this.parseProperty(e,t);e||this.checkPropClash(s,a,t),i.properties.push(s)}return this.finishNode(i,e?"ObjectPattern":"ObjectExpression")},E.parseProperty=function(e,t){var i=this.startNode(),r,a,s,n;if(this.options.ecmaVersion>=9&&this.eat(l.ellipsis))return e?(i.argument=this.parseIdent(!1),this.type===l.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(i,"RestElement")):(i.argument=this.parseMaybeAssign(!1,t),this.type===l.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(i,"SpreadElement"));this.options.ecmaVersion>=6&&(i.method=!1,i.shorthand=!1,(e||t)&&(s=this.start,n=this.startLoc),e||(r=this.eat(l.star)));var o=this.containsEsc;return this.parsePropertyName(i),!e&&!o&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(i)?(a=!0,r=this.options.ecmaVersion>=9&&this.eat(l.star),this.parsePropertyName(i)):a=!1,this.parsePropertyValue(i,e,r,a,s,n,t,o),this.finishNode(i,"Property")},E.parseGetterSetter=function(e){e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var t=e.kind==="get"?0:1;if(e.value.params.length!==t){var i=e.value.start;e.kind==="get"?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"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")},E.parsePropertyValue=function(e,t,i,r,a,s,n,o){(i||r)&&this.type===l.colon&&this.unexpected(),this.eat(l.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,n),e.kind="init"):this.options.ecmaVersion>=6&&this.type===l.parenL?(t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(i,r)):!t&&!o&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==l.comma&&this.type!==l.braceR&&this.type!==l.eq?((i||r)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((i||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=a),e.kind="init",t?e.value=this.parseMaybeDefault(a,s,this.copyNode(e.key)):this.type===l.eq&&n?(n.shorthandAssign<0&&(n.shorthandAssign=this.start),e.value=this.parseMaybeDefault(a,s,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},E.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(l.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(l.bracketR),e.key;e.computed=!1}return e.key=this.type===l.num||this.type===l.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},E.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},E.parseMethod=function(e,t,i){var r=this.startNode(),a=this.yieldPos,s=this.awaitPos,n=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(it(t,r.generator)|et|(i?Mt:0)),this.expect(l.parenL),r.params=this.parseBindingList(l.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0,!1),this.yieldPos=a,this.awaitPos=s,this.awaitIdentPos=n,this.finishNode(r,"FunctionExpression")},E.parseArrowExpression=function(e,t,i,r){var a=this.yieldPos,s=this.awaitPos,n=this.awaitIdentPos;return this.enterScope(it(i,!1)|Vt),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!i),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,r),this.yieldPos=a,this.awaitPos=s,this.awaitIdentPos=n,this.finishNode(e,"ArrowFunctionExpression")},E.parseFunctionBody=function(e,t,i,r){var a=t&&this.type!==l.braceL,s=this.strict,n=!1;if(a)e.body=this.parseMaybeAssign(r),e.expression=!0,this.checkParams(e,!1);else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!s||o)&&(n=this.strictDirective(this.end),n&&o&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var u=this.labels;this.labels=[],n&&(this.strict=!0),this.checkParams(e,!s&&!n&&!t&&!i&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Rt),e.body=this.parseBlock(!1,void 0,n&&!s),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=u}this.exitScope()},E.isSimpleParamList=function(e){for(var t=0,i=e;t<i.length;t+=1){var r=i[t];if(r.type!=="Identifier")return!1}return!0},E.checkParams=function(e,t){for(var i=Object.create(null),r=0,a=e.params;r<a.length;r+=1){var s=a[r];this.checkLValInnerPattern(s,rt,t?null:i)}},E.parseExprList=function(e,t,i,r){for(var a=[],s=!0;!this.eat(e);){if(s)s=!1;else if(this.expect(l.comma),t&&this.afterTrailingComma(e))break;var n=void 0;i&&this.type===l.comma?n=null:this.type===l.ellipsis?(n=this.parseSpread(r),r&&this.type===l.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):n=this.parseMaybeAssign(!1,r),a.push(n)}return a},E.checkUnreserved=function(e){var t=e.start,i=e.end,r=e.name;if(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.currentThisScope().inClassFieldInit&&r==="arguments"&&this.raiseRecoverable(t,"Cannot use 'arguments' in class field initializer"),this.inClassStaticBlock&&(r==="arguments"||r==="await")&&this.raise(t,"Cannot use "+r+" in class static initialization block"),this.keywords.test(r)&&this.raise(t,"Unexpected keyword '"+r+"'"),!(this.options.ecmaVersion<6&&this.input.slice(t,i).indexOf("\\")!==-1)){var a=this.strict?this.reservedWordsStrict:this.reservedWords;a.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"))}},E.parseIdent=function(e){var t=this.parseIdentNode();return this.next(!!e),this.finishNode(t,"Identifier"),e||(this.checkUnreserved(t),t.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=t.start)),t},E.parseIdentNode=function(){var e=this.startNode();return this.type===l.name?e.name=this.value:this.type.keyword?(e.name=this.type.keyword,(e.name==="class"||e.name==="function")&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop(),this.type=l.name):this.unexpected(),e},E.parsePrivateIdent=function(){var e=this.startNode();return this.type===l.privateId?e.name=this.value:this.unexpected(),this.next(),this.finishNode(e,"PrivateIdentifier"),this.options.checkPrivateFields&&(this.privateNameStack.length===0?this.raise(e.start,"Private field '#"+e.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(e)),e},E.parseYield=function(e){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===l.semi||this.canInsertSemicolon()||this.type!==l.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(l.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,"YieldExpression")},E.parseAwait=function(e){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0,!1,e),this.finishNode(t,"AwaitExpression")};var Fe=R.prototype;Fe.raise=function(e,t){var i=It(this.input,e);t+=" ("+i.line+":"+i.column+")";var r=new SyntaxError(t);throw r.pos=e,r.loc=i,r.raisedAt=this.pos,r},Fe.raiseRecoverable=Fe.raise,Fe.curPosition=function(){if(this.options.locations)return new Ae(this.curLine,this.pos-this.lineStart)};var de=R.prototype,Ui=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[],this.inClassFieldInit=!1};de.enterScope=function(e){this.scopeStack.push(new Ui(e))},de.exitScope=function(){this.scopeStack.pop()},de.treatFunctionsAsVarInScope=function(e){return e.flags&Ce||!this.inModule&&e.flags&Pe},de.declareName=function(e,t,i){var r=!1;if(t===le){var a=this.currentScope();r=a.lexical.indexOf(e)>-1||a.functions.indexOf(e)>-1||a.var.indexOf(e)>-1,a.lexical.push(e),this.inModule&&a.flags&Pe&&delete this.undefinedExports[e]}else if(t===Dt){var s=this.currentScope();s.lexical.push(e)}else if(t===Lt){var n=this.currentScope();this.treatFunctionsAsVar?r=n.lexical.indexOf(e)>-1:r=n.lexical.indexOf(e)>-1||n.var.indexOf(e)>-1,n.functions.push(e)}else for(var o=this.scopeStack.length-1;o>=0;--o){var u=this.scopeStack[o];if(u.lexical.indexOf(e)>-1&&!(u.flags&Tt&&u.lexical[0]===e)||!this.treatFunctionsAsVarInScope(u)&&u.functions.indexOf(e)>-1){r=!0;break}if(u.var.push(e),this.inModule&&u.flags&Pe&&delete this.undefinedExports[e],u.flags&tt)break}r&&this.raiseRecoverable(i,"Identifier '"+e+"' has already been declared")},de.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},de.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},de.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&tt)return t}},de.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&tt&&!(t.flags&Vt))return t}};var We=function(t,i,r){this.type="",this.start=i,this.end=0,t.options.locations&&(this.loc=new Re(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[i,0])},Me=R.prototype;Me.startNode=function(){return new We(this,this.start,this.startLoc)},Me.startNodeAt=function(e,t){return new We(this,e,t)};function Ot(e,t,i,r){return e.type=t,e.end=i,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=i),e}Me.finishNode=function(e,t){return Ot.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Me.finishNodeAt=function(e,t,i,r){return Ot.call(this,e,t,i,r)},Me.copyNode=function(e){var t=new We(this,e.start,this.startLoc);for(var i in e)t[i]=e[i];return t};var Gi="Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz",Ft="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",Wt=Ft+" Extended_Pictographic",$t=Wt,qt=$t+" EBase EComp EMod EPres ExtPict",Ut=qt,Hi=Ut,zi={9:Ft,10:Wt,11:$t,12:qt,13:Ut,14:Hi},Ki="Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji",Qi={9:"",10:"",11:"",12:"",13:"",14:Ki},Gt="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",Ht="Adlam Adlm 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 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",zt=Ht+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Kt=zt+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Qt=Kt+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Xt=Qt+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Xi=Xt+" "+Gi,Yi={9:Ht,10:zt,11:Kt,12:Qt,13:Xt,14:Xi},Yt={};function Zi(e){var t=Yt[e]={binary:me(zi[e]+" "+Gt),binaryOfStrings:me(Qi[e]),nonBinary:{General_Category:me(Gt),Script:me(Yi[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}for(var ot=0,Zt=[9,10,11,12,13,14];ot<Zt.length;ot+=1){var Ji=Zt[ot];Zi(Ji)}var S=R.prototype,$e=function(t,i){this.parent=t,this.base=i||this};$e.prototype.separatedFrom=function(t){for(var i=this;i;i=i.parent)for(var r=t;r;r=r.parent)if(i.base===r.base&&i!==r)return!0;return!1},$e.prototype.sibling=function(){return new $e(this.parent,this.base)};var oe=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=Yt[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};oe.prototype.reset=function(t,i,r){var a=r.indexOf("v")!==-1,s=r.indexOf("u")!==-1;this.start=t|0,this.source=i+"",this.flags=r,a&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=s&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=s&&this.parser.options.ecmaVersion>=9)},oe.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},oe.prototype.at=function(t,i){i===void 0&&(i=!1);var r=this.source,a=r.length;if(t>=a)return-1;var s=r.charCodeAt(t);if(!(i||this.switchU)||s<=55295||s>=57344||t+1>=a)return s;var n=r.charCodeAt(t+1);return n>=56320&&n<=57343?(s<<10)+n-56613888:s},oe.prototype.nextIndex=function(t,i){i===void 0&&(i=!1);var r=this.source,a=r.length;if(t>=a)return a;var s=r.charCodeAt(t),n;return!(i||this.switchU)||s<=55295||s>=57344||t+1>=a||(n=r.charCodeAt(t+1))<56320||n>57343?t+1:t+2},oe.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},oe.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},oe.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},oe.prototype.eat=function(t,i){return i===void 0&&(i=!1),this.current(i)===t?(this.advance(i),!0):!1},oe.prototype.eatChars=function(t,i){i===void 0&&(i=!1);for(var r=this.pos,a=0,s=t;a<s.length;a+=1){var n=s[a],o=this.at(r,i);if(o===-1||o!==n)return!1;r=this.nextIndex(r,i)}return this.pos=r,!0},S.validateRegExpFlags=function(e){for(var t=e.validFlags,i=e.flags,r=!1,a=!1,s=0;s<i.length;s++){var n=i.charAt(s);t.indexOf(n)===-1&&this.raise(e.start,"Invalid regular expression flag"),i.indexOf(n,s+1)>-1&&this.raise(e.start,"Duplicate regular expression flag"),n==="u"&&(r=!0),n==="v"&&(a=!0)}this.options.ecmaVersion>=15&&r&&a&&this.raise(e.start,"Invalid regular expression flag")};function er(e){for(var t in e)return!0;return!1}S.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&er(e.groupNames)&&(e.switchN=!0,this.regexp_pattern(e))},S.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames=Object.create(null),e.backReferenceNames.length=0,e.branchID=null,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,i=e.backReferenceNames;t<i.length;t+=1){var r=i[t];e.groupNames[r]||e.raise("Invalid named capture referenced")}},S.regexp_disjunction=function(e){var t=this.options.ecmaVersion>=16;for(t&&(e.branchID=new $e(e.branchID,null)),this.regexp_alternative(e);e.eat(124);)t&&(e.branchID=e.branchID.sibling()),this.regexp_alternative(e);t&&(e.branchID=e.branchID.parent),this.regexp_eatQuantifier(e,!0)&&e.raise("Nothing to repeat"),e.eat(123)&&e.raise("Lone quantifier brackets")},S.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},S.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},S.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 i=!1;if(this.options.ecmaVersion>=9&&(i=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!i,!0}return e.pos=t,!1},S.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},S.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},S.regexp_eatBracedQuantifier=function(e,t){var i=e.pos;if(e.eat(123)){var r=0,a=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(a=e.lastIntValue),e.eat(125)))return a!==-1&&a<r&&!t&&e.raise("numbers out of order in {} quantifier"),!0;e.switchU&&!t&&e.raise("Incomplete quantifier"),e.pos=i}return!1},S.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)},S.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},S.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)){if(this.options.ecmaVersion>=16){var i=this.regexp_eatModifiers(e),r=e.eat(45);if(i||r){for(var a=0;a<i.length;a++){var s=i.charAt(a);i.indexOf(s,a+1)>-1&&e.raise("Duplicate regular expression modifiers")}if(r){var n=this.regexp_eatModifiers(e);!i&&!n&&e.current()===58&&e.raise("Invalid regular expression modifiers");for(var o=0;o<n.length;o++){var u=n.charAt(o);(n.indexOf(u,o+1)>-1||i.indexOf(u)>-1)&&e.raise("Duplicate regular expression modifiers")}}}}if(e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise("Unterminated group")}}e.pos=t}return!1},S.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},S.regexp_eatModifiers=function(e){for(var t="",i=0;(i=e.current())!==-1&&tr(i);)t+=ce(i),e.advance();return t};function tr(e){return e===105||e===109||e===115}S.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)},S.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},S.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Jt(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Jt(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}S.regexp_eatPatternCharacters=function(e){for(var t=e.pos,i=0;(i=e.current())!==-1&&!Jt(i);)e.advance();return e.pos!==t},S.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},S.regexp_groupSpecifier=function(e){if(e.eat(63)){this.regexp_eatGroupName(e)||e.raise("Invalid group");var t=this.options.ecmaVersion>=16,i=e.groupNames[e.lastStringValue];if(i)if(t)for(var r=0,a=i;r<a.length;r+=1){var s=a[r];s.separatedFrom(e.branchID)||e.raise("Duplicate capture group name")}else e.raise("Duplicate capture group name");t?(i||(e.groupNames[e.lastStringValue]=[])).push(e.branchID):e.groupNames[e.lastStringValue]=!0}},S.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},S.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=ce(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=ce(e.lastIntValue);return!0}return!1},S.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,r=e.current(i);return e.advance(i),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(r=e.lastIntValue),ir(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function ir(e){return ue(e,!0)||e===36||e===95}S.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,r=e.current(i);return e.advance(i),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(r=e.lastIntValue),rr(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function rr(e){return ve(e,!0)||e===36||e===95||e===8204||e===8205}S.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)},S.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var i=e.lastIntValue;if(e.switchU)return i>e.maxBackReference&&(e.maxBackReference=i),!0;if(i<=e.numCapturingParens)return!0;e.pos=t}return!1},S.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},S.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)},S.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},S.regexp_eatZero=function(e){return e.current()===48&&!qe(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},S.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},S.regexp_eatControlLetter=function(e){var t=e.current();return ei(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function ei(e){return e>=65&&e<=90||e>=97&&e<=122}S.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var i=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(r&&a>=55296&&a<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(n>=56320&&n<=57343)return e.lastIntValue=(a-55296)*1024+(n-56320)+65536,!0}e.pos=s,e.lastIntValue=a}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&ar(e.lastIntValue))return!0;r&&e.raise("Invalid unicode escape"),e.pos=i}return!1};function ar(e){return e>=0&&e<=1114111}S.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},S.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};var ti=0,pe=1,J=2;S.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(nr(t))return e.lastIntValue=-1,e.advance(),pe;var i=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((i=t===80)||t===112)){e.lastIntValue=-1,e.advance();var r;if(e.eat(123)&&(r=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return i&&r===J&&e.raise("Invalid property name"),r;e.raise("Invalid property name")}return ti};function nr(e){return e===100||e===68||e===115||e===83||e===119||e===87}S.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var i=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,i,r),pe}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var a=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,a)}return ti},S.regexp_validateUnicodePropertyNameAndValue=function(e,t,i){Se(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(i)||e.raise("Invalid property value")},S.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return pe;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return J;e.raise("Invalid property name")},S.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";ii(t=e.current());)e.lastStringValue+=ce(t),e.advance();return e.lastStringValue!==""};function ii(e){return ei(e)||e===95}S.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";sr(t=e.current());)e.lastStringValue+=ce(t),e.advance();return e.lastStringValue!==""};function sr(e){return ii(e)||qe(e)}S.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},S.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),i=this.regexp_classContents(e);return e.eat(93)||e.raise("Unterminated character class"),t&&i===J&&e.raise("Negated character class may contain strings"),!0}return!1},S.regexp_classContents=function(e){return e.current()===93?pe:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),pe)},S.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var i=e.lastIntValue;e.switchU&&(t===-1||i===-1)&&e.raise("Invalid character class"),t!==-1&&i!==-1&&t>i&&e.raise("Range out of order in character class")}}},S.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var i=e.current();(i===99||ni(i))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var r=e.current();return r!==93?(e.lastIntValue=r,e.advance(),!0):!1},S.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)},S.regexp_classSetExpression=function(e){var t=pe,i;if(!this.regexp_eatClassSetRange(e))if(i=this.regexp_eatClassSetOperand(e)){i===J&&(t=J);for(var r=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(i=this.regexp_eatClassSetOperand(e))){i!==J&&(t=pe);continue}e.raise("Invalid character in character class")}if(r!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise("Invalid character in character class");if(r!==e.pos)return t}else e.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(e)){if(i=this.regexp_eatClassSetOperand(e),!i)return t;i===J&&(t=J)}},S.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var i=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var r=e.lastIntValue;return i!==-1&&r!==-1&&i>r&&e.raise("Range out of order in character class"),!0}e.pos=t}return!1},S.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?pe:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},S.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var i=e.eat(94),r=this.regexp_classContents(e);if(e.eat(93))return i&&r===J&&e.raise("Negated character class may contain strings"),r;e.pos=t}if(e.eat(92)){var a=this.regexp_eatCharacterClassEscape(e);if(a)return a;e.pos=t}return null},S.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var i=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return i}else e.raise("Invalid escape");e.pos=t}return null},S.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===J&&(t=J);return t},S.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?pe:J},S.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var i=e.current();return i<0||i===e.lookahead()&&or(i)||ur(i)?!1:(e.advance(),e.lastIntValue=i,!0)};function or(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function ur(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}S.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return cr(t)?(e.lastIntValue=t,e.advance(),!0):!1};function cr(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}S.regexp_eatClassControlLetter=function(e){var t=e.current();return qe(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},S.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},S.regexp_eatDecimalDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;qe(i=e.current());)e.lastIntValue=10*e.lastIntValue+(i-48),e.advance();return e.pos!==t};function qe(e){return e>=48&&e<=57}S.regexp_eatHexDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;ri(i=e.current());)e.lastIntValue=16*e.lastIntValue+ai(i),e.advance();return e.pos!==t};function ri(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function ai(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}S.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var i=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+i*8+e.lastIntValue:e.lastIntValue=t*8+i}else e.lastIntValue=t;return!0}return!1},S.regexp_eatOctalDigit=function(e){var t=e.current();return ni(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function ni(e){return e>=48&&e<=55}S.regexp_eatFixedHexDigits=function(e,t){var i=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var a=e.current();if(!ri(a))return e.pos=i,!1;e.lastIntValue=16*e.lastIntValue+ai(a),e.advance()}return!0};var ut=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Re(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},P=R.prototype;P.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 ut(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},P.getToken=function(){return this.next(),new ut(this)},typeof Symbol<"u"&&(P[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===l.eof,value:t}}}}),P.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(l.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},P.readToken=function(e){return ue(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},P.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},P.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(i===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(var r=void 0,a=t;(r=Ct(this.input,a,this.pos))>-1;)++this.curLine,a=this.lineStart=r;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,i),t,this.pos,e,this.curPosition())},P.skipLineComment=function(e){for(var t=this.pos,i=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!we(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,i,this.curPosition())},P.skipSpace=function(){e: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 e}break;default:if(e>8&&e<14||e>=5760&&Nt.test(String.fromCharCode(e)))++this.pos;else break e}}},P.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=e,this.value=t,this.updateContext(i)},P.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(l.ellipsis)):(++this.pos,this.finishToken(l.dot))},P.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(l.assign,2):this.finishOp(l.slash,1)},P.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),i=1,r=e===42?l.star:l.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++i,r=l.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(l.assign,i+1):this.finishOp(r,i)},P.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var i=this.input.charCodeAt(this.pos+2);if(i===61)return this.finishOp(l.assign,3)}return this.finishOp(e===124?l.logicalOR:l.logicalAND,2)}return t===61?this.finishOp(l.assign,2):this.finishOp(e===124?l.bitwiseOR:l.bitwiseAND,1)},P.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(l.assign,2):this.finishOp(l.bitwiseXOR,1)},P.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||X.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(l.incDec,2):t===61?this.finishOp(l.assign,2):this.finishOp(l.plusMin,1)},P.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),i=1;return t===e?(i=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+i)===61?this.finishOp(l.assign,i+1):this.finishOp(l.bitShift,i)):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&&(i=2),this.finishOp(l.relational,i))},P.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(l.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(l.arrow)):this.finishOp(e===61?l.eq:l.prefix,1)},P.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var i=this.input.charCodeAt(this.pos+2);if(i<48||i>57)return this.finishOp(l.questionDot,2)}if(t===63){if(e>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61)return this.finishOp(l.assign,3)}return this.finishOp(l.coalesce,2)}}return this.finishOp(l.question,1)},P.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),ue(t,!0)||t===92))return this.finishToken(l.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+ce(t)+"'")},P.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(l.parenL);case 41:return++this.pos,this.finishToken(l.parenR);case 59:return++this.pos,this.finishToken(l.semi);case 44:return++this.pos,this.finishToken(l.comma);case 91:return++this.pos,this.finishToken(l.bracketL);case 93:return++this.pos,this.finishToken(l.bracketR);case 123:return++this.pos,this.finishToken(l.braceL);case 125:return++this.pos,this.finishToken(l.braceR);case 58:return++this.pos,this.finishToken(l.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(l.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(l.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+ce(e)+"'")},P.finishOp=function(e,t){var i=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,i)},P.readRegexp=function(){for(var e,t,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var r=this.input.charAt(this.pos);if(X.test(r)&&this.raise(i,"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 a=this.input.slice(i,this.pos);++this.pos;var s=this.pos,n=this.readWord1();this.containsEsc&&this.unexpected(s);var o=this.regexpState||(this.regexpState=new oe(this));o.reset(i,a,n),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var u=null;try{u=new RegExp(a,n)}catch{}return this.finishToken(l.regexp,{pattern:a,flags:n,value:u})},P.readInt=function(e,t,i){for(var r=this.options.ecmaVersion>=12&&t===void 0,a=i&&this.input.charCodeAt(this.pos)===48,s=this.pos,n=0,o=0,u=0,c=t??1/0;u<c;++u,++this.pos){var p=this.input.charCodeAt(this.pos),m=void 0;if(r&&p===95){a&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),o===95&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),u===0&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),o=p;continue}if(p>=97?m=p-97+10:p>=65?m=p-65+10:p>=48&&p<=57?m=p-48:m=1/0,m>=e)break;o=p,n=n*e+m}return r&&o===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||t!=null&&this.pos-s!==t?null:n};function lr(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function si(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}P.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var i=this.readInt(e);return i==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(i=si(this.input.slice(t,this.pos)),++this.pos):ue(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(l.num,i)},P.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var i=this.pos-t>=2&&this.input.charCodeAt(t)===48;i&&this.strict&&this.raise(t,"Invalid number");var r=this.input.charCodeAt(this.pos);if(!i&&!e&&this.options.ecmaVersion>=11&&r===110){var a=si(this.input.slice(t,this.pos));return++this.pos,ue(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(l.num,a)}i&&/[89]/.test(this.input.slice(t,this.pos))&&(i=!1),r===46&&!i&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!i&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),ue(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s=lr(this.input.slice(t,this.pos),i);return this.finishToken(l.num,s)},P.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var i=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(i,"Code point out of bounds")}else t=this.readHexChar(4);return t},P.readString=function(e){for(var t="",i=++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(i,this.pos),t+=this.readEscapedChar(!1),i=this.pos):r===8232||r===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(we(r)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(i,this.pos++),this.finishToken(l.string,t)};var oi={};P.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===oi)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},P.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw oi;this.raise(e,t)},P.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(i===96||i===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===l.template||this.type===l.invalidTemplate)?i===36?(this.pos+=2,this.finishToken(l.dollarBraceL)):(++this.pos,this.finishToken(l.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(l.template,e));if(i===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(we(i)){switch(e+=this.input.slice(t,this.pos),++this.pos,i){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
23
+ `;break;default:e+=String.fromCharCode(i);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},P.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(l.invalidTemplate,this.input.slice(this.start,this.pos));case"\r":this.input[this.pos+1]===`
24
24
  `&&++this.pos;case`
25
- `:case"\u2028":case"\u2029":++this.curLine,this.lineStart=this.pos+1;break}this.raise(this.start,"Unterminated template")},E.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`
26
- `;case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return ne(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(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),e){var i=this.pos-1;this.invalidStringToken(i,"Invalid escape sequence in template string")}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],a=parseInt(r,8);return a>255&&(r=r.slice(0,-1),a=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(a)}return xe(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),""):String.fromCharCode(t)}},E.readHexChar=function(e){var t=this.pos,i=this.readInt(16,e);return i===null&&this.invalidStringToken(t,"Bad character escape sequence"),i},E.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,i=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var a=this.fullCharCodeAtPos();if(de(a,r))this.pos+=a<=65535?1:2;else if(a===92){this.containsEsc=!0,e+=this.input.slice(i,this.pos);var s=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var n=this.readCodePoint();(t?se:de)(n,r)||this.invalidStringToken(s,"Invalid Unicode escape"),e+=ne(n),i=this.pos}else break;t=!1}return e+this.input.slice(i,this.pos)},E.readWord=function(){var e=this.readWord1(),t=o.name;return this.keywords.test(e)&&(t=$e[e]),this.finishToken(t,e)};var Ki="8.14.0";M.acorn={Parser:M,version:Ki,defaultOptions:Ge,Position:Ce,SourceLocation:Pe,getLineInfo:xt,Node:Me,TokenType:A,tokTypes:o,keywordTypes:$e,TokContext:Z,tokContexts:T,isIdentifierChar:de,isIdentifierStart:se,Token:et,isNewLine:xe,lineBreak:H,lineBreakG:xi,nonASCIIwhitespace:lt};function Qi(e,t){return M.parse(e,t)}const{stringify:Yi}=JSON;if(!String.prototype.repeat)throw new Error("String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation");if(!String.prototype.endsWith)throw new Error("String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation");const De={"||":2,"??":3,"&&":4,"|":5,"^":6,"&":7,"==":8,"!=":8,"===":8,"!==":8,"<":9,">":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":13},J=17,Xi={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,PrivateIdentifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,ChainExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:J,ClassExpression:J,FunctionExpression:J,ObjectExpression:J,UpdateExpression:16,UnaryExpression:15,AwaitExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1};function ve(e,t){const{generator:i}=e;if(e.write("("),t!=null&&t.length>0){i[t[0].type](t[0],e);const{length:r}=t;for(let a=1;a<r;a++){const s=t[a];e.write(", "),i[s.type](s,e)}}e.write(")")}function Yt(e,t,i,r){const a=e.expressionsPrecedence[t.type];if(a===J)return!0;const s=e.expressionsPrecedence[i.type];return a!==s?!r&&a===15&&s===14&&i.operator==="**"||a<s:a!==13&&a!==14?!1:t.operator==="**"&&i.operator==="**"?!r:a===13&&s===13&&(t.operator==="??"||i.operator==="??")?!0:r?De[t.operator]<=De[i.operator]:De[t.operator]<De[i.operator]}function Oe(e,t,i,r){const{generator:a}=e;Yt(e,t,i,r)?(e.write("("),a[t.type](t,e),e.write(")")):a[t.type](t,e)}function Zi(e,t,i,r){const a=t.split(`
27
- `),s=a.length-1;if(e.write(a[0].trim()),s>0){e.write(r);for(let n=1;n<s;n++)e.write(i+a[n].trim()+r);e.write(i+a[s].trim())}}function D(e,t,i,r){const{length:a}=t;for(let s=0;s<a;s++){const n=t[s];e.write(i),n.type[0]==="L"?e.write("// "+n.value.trim()+`
28
- `,n):(e.write("/*"),Zi(e,n.value,i,r),e.write("*/"+r))}}function Ji(e){let t=e;for(;t!=null;){const{type:i}=t;if(i[0]==="C"&&i[1]==="a")return!0;if(i[0]==="M"&&i[1]==="e"&&i[2]==="m")t=t.object;else return!1}}function tt(e,t){const{generator:i}=e,{declarations:r}=t;e.write(t.kind+" ");const{length:a}=r;if(a>0){i.VariableDeclarator(r[0],e);for(let s=1;s<a;s++)e.write(", "),i.VariableDeclarator(r[s],e)}}let Xt,Zt,Jt,ei,ti,ii;const er={Program(e,t){const i=t.indent.repeat(t.indentLevel),{lineEnd:r,writeComments:a}=t;a&&e.comments!=null&&D(t,e.comments,i,r);const s=e.body,{length:n}=s;for(let u=0;u<n;u++){const c=s[u];a&&c.comments!=null&&D(t,c.comments,i,r),t.write(i),this[c.type](c,t),t.write(r)}a&&e.trailingComments!=null&&D(t,e.trailingComments,i,r)},BlockStatement:ii=function(e,t){const i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:a}=t,s=i+t.indent;t.write("{");const n=e.body;if(n!=null&&n.length>0){t.write(r),a&&e.comments!=null&&D(t,e.comments,s,r);const{length:u}=n;for(let c=0;c<u;c++){const h=n[c];a&&h.comments!=null&&D(t,h.comments,s,r),t.write(s),this[h.type](h,t),t.write(r)}t.write(i)}else a&&e.comments!=null&&(t.write(r),D(t,e.comments,s,r),t.write(i));a&&e.trailingComments!=null&&D(t,e.trailingComments,s,r),t.write("}"),t.indentLevel--},ClassBody:ii,StaticBlock(e,t){t.write("static "),this.BlockStatement(e,t)},EmptyStatement(e,t){t.write(";")},ExpressionStatement(e,t){const i=t.expressionsPrecedence[e.expression.type];i===J||i===3&&e.expression.left.type[0]==="O"?(t.write("("),this[e.expression.type](e.expression,t),t.write(")")):this[e.expression.type](e.expression,t),t.write(";")},IfStatement(e,t){t.write("if ("),this[e.test.type](e.test,t),t.write(") "),this[e.consequent.type](e.consequent,t),e.alternate!=null&&(t.write(" else "),this[e.alternate.type](e.alternate,t))},LabeledStatement(e,t){this[e.label.type](e.label,t),t.write(": "),this[e.body.type](e.body,t)},BreakStatement(e,t){t.write("break"),e.label!=null&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},ContinueStatement(e,t){t.write("continue"),e.label!=null&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},WithStatement(e,t){t.write("with ("),this[e.object.type](e.object,t),t.write(") "),this[e.body.type](e.body,t)},SwitchStatement(e,t){const i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:a}=t;t.indentLevel++;const s=i+t.indent,n=s+t.indent;t.write("switch ("),this[e.discriminant.type](e.discriminant,t),t.write(") {"+r);const{cases:u}=e,{length:c}=u;for(let h=0;h<c;h++){const p=u[h];a&&p.comments!=null&&D(t,p.comments,s,r),p.test?(t.write(s+"case "),this[p.test.type](p.test,t),t.write(":"+r)):t.write(s+"default:"+r);const{consequent:x}=p,{length:d}=x;for(let l=0;l<d;l++){const g=x[l];a&&g.comments!=null&&D(t,g.comments,n,r),t.write(n),this[g.type](g,t),t.write(r)}}t.indentLevel-=2,t.write(i+"}")},ReturnStatement(e,t){t.write("return"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t)),t.write(";")},ThrowStatement(e,t){t.write("throw "),this[e.argument.type](e.argument,t),t.write(";")},TryStatement(e,t){if(t.write("try "),this[e.block.type](e.block,t),e.handler){const{handler:i}=e;i.param==null?t.write(" catch "):(t.write(" catch ("),this[i.param.type](i.param,t),t.write(") ")),this[i.body.type](i.body,t)}e.finalizer&&(t.write(" finally "),this[e.finalizer.type](e.finalizer,t))},WhileStatement(e,t){t.write("while ("),this[e.test.type](e.test,t),t.write(") "),this[e.body.type](e.body,t)},DoWhileStatement(e,t){t.write("do "),this[e.body.type](e.body,t),t.write(" while ("),this[e.test.type](e.test,t),t.write(");")},ForStatement(e,t){if(t.write("for ("),e.init!=null){const{init:i}=e;i.type[0]==="V"?tt(t,i):this[i.type](i,t)}t.write("; "),e.test&&this[e.test.type](e.test,t),t.write("; "),e.update&&this[e.update.type](e.update,t),t.write(") "),this[e.body.type](e.body,t)},ForInStatement:Xt=function(e,t){t.write(`for ${e.await?"await ":""}(`);const{left:i}=e;i.type[0]==="V"?tt(t,i):this[i.type](i,t),t.write(e.type[3]==="I"?" in ":" of "),this[e.right.type](e.right,t),t.write(") "),this[e.body.type](e.body,t)},ForOfStatement:Xt,DebuggerStatement(e,t){t.write("debugger;",e)},FunctionDeclaration:Zt=function(e,t){t.write((e.async?"async ":"")+(e.generator?"function* ":"function ")+(e.id?e.id.name:""),e),ve(t,e.params),t.write(" "),this[e.body.type](e.body,t)},FunctionExpression:Zt,VariableDeclaration(e,t){tt(t,e),t.write(";")},VariableDeclarator(e,t){this[e.id.type](e.id,t),e.init!=null&&(t.write(" = "),this[e.init.type](e.init,t))},ClassDeclaration(e,t){if(t.write("class "+(e.id?`${e.id.name} `:""),e),e.superClass){t.write("extends ");const{superClass:i}=e,{type:r}=i,a=t.expressionsPrecedence[r];(r[0]!=="C"||r[1]!=="l"||r[5]!=="E")&&(a===J||a<t.expressionsPrecedence.ClassExpression)?(t.write("("),this[e.superClass.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ")}this.ClassBody(e.body,t)},ImportDeclaration(e,t){t.write("import ");const{specifiers:i,attributes:r}=e,{length:a}=i;let s=0;if(a>0){for(;s<a;){s>0&&t.write(", ");const n=i[s],u=n.type[6];if(u==="D")t.write(n.local.name,n),s++;else if(u==="N")t.write("* as "+n.local.name,n),s++;else break}if(s<a){for(t.write("{");;){const n=i[s],{name:u}=n.imported;if(t.write(u,n),u!==n.local.name&&t.write(" as "+n.local.name),++s<a)t.write(", ");else break}t.write("}")}t.write(" from ")}if(this.Literal(e.source,t),r&&r.length>0){t.write(" with { ");for(let n=0;n<r.length;n++)this.ImportAttribute(r[n],t),n<r.length-1&&t.write(", ");t.write(" }")}t.write(";")},ImportAttribute(e,t){this.Identifier(e.key,t),t.write(": "),this.Literal(e.value,t)},ImportExpression(e,t){t.write("import("),this[e.source.type](e.source,t),t.write(")")},ExportDefaultDeclaration(e,t){t.write("export default "),this[e.declaration.type](e.declaration,t),t.expressionsPrecedence[e.declaration.type]!=null&&e.declaration.type[0]!=="F"&&t.write(";")},ExportNamedDeclaration(e,t){if(t.write("export "),e.declaration)this[e.declaration.type](e.declaration,t);else{t.write("{");const{specifiers:i}=e,{length:r}=i;if(r>0)for(let a=0;;){const s=i[a],{name:n}=s.local;if(t.write(n,s),n!==s.exported.name&&t.write(" as "+s.exported.name),++a<r)t.write(", ");else break}if(t.write("}"),e.source&&(t.write(" from "),this.Literal(e.source,t)),e.attributes&&e.attributes.length>0){t.write(" with { ");for(let a=0;a<e.attributes.length;a++)this.ImportAttribute(e.attributes[a],t),a<e.attributes.length-1&&t.write(", ");t.write(" }")}t.write(";")}},ExportAllDeclaration(e,t){if(e.exported!=null?t.write("export * as "+e.exported.name+" from "):t.write("export * from "),this.Literal(e.source,t),e.attributes&&e.attributes.length>0){t.write(" with { ");for(let i=0;i<e.attributes.length;i++)this.ImportAttribute(e.attributes[i],t),i<e.attributes.length-1&&t.write(", ");t.write(" }")}t.write(";")},MethodDefinition(e,t){e.static&&t.write("static ");const i=e.kind[0];(i==="g"||i==="s")&&t.write(e.kind+" "),e.value.async&&t.write("async "),e.value.generator&&t.write("*"),e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),ve(t,e.value.params),t.write(" "),this[e.value.body.type](e.value.body,t)},ClassExpression(e,t){this.ClassDeclaration(e,t)},ArrowFunctionExpression(e,t){t.write(e.async?"async ":"",e);const{params:i}=e;i!=null&&(i.length===1&&i[0].type[0]==="I"?t.write(i[0].name,i[0]):ve(t,e.params)),t.write(" => "),e.body.type[0]==="O"?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression(e,t){t.write("this",e)},Super(e,t){t.write("super",e)},RestElement:Jt=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:Jt,YieldExpression(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression(e,t){t.write("await ",e),Oe(t,e.argument,e)},TemplateLiteral(e,t){const{quasis:i,expressions:r}=e;t.write("`");const{length:a}=r;for(let n=0;n<a;n++){const u=r[n],c=i[n];t.write(c.value.raw,c),t.write("${"),this[u.type](u,t),t.write("}")}const s=i[i.length-1];t.write(s.value.raw,s),t.write("`")},TemplateElement(e,t){t.write(e.value.raw,e)},TaggedTemplateExpression(e,t){Oe(t,e.tag,e),this[e.quasi.type](e.quasi,t)},ArrayExpression:ti=function(e,t){if(t.write("["),e.elements.length>0){const{elements:i}=e,{length:r}=i;for(let a=0;;){const s=i[a];if(s!=null&&this[s.type](s,t),++a<r)t.write(", ");else{s==null&&t.write(", ");break}}}t.write("]")},ArrayPattern:ti,ObjectExpression(e,t){const i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:a}=t,s=i+t.indent;if(t.write("{"),e.properties.length>0){t.write(r),a&&e.comments!=null&&D(t,e.comments,s,r);const n=","+r,{properties:u}=e,{length:c}=u;for(let h=0;;){const p=u[h];if(a&&p.comments!=null&&D(t,p.comments,s,r),t.write(s),this[p.type](p,t),++h<c)t.write(n);else break}t.write(r),a&&e.trailingComments!=null&&D(t,e.trailingComments,s,r),t.write(i+"}")}else a?e.comments!=null?(t.write(r),D(t,e.comments,s,r),e.trailingComments!=null&&D(t,e.trailingComments,s,r),t.write(i+"}")):e.trailingComments!=null?(t.write(r),D(t,e.trailingComments,s,r),t.write(i+"}")):t.write("}"):t.write("}");t.indentLevel--},Property(e,t){e.method||e.kind[0]!=="i"?this.MethodDefinition(e,t):(e.shorthand||(e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),t.write(": ")),this[e.value.type](e.value,t))},PropertyDefinition(e,t){if(e.static&&t.write("static "),e.computed&&t.write("["),this[e.key.type](e.key,t),e.computed&&t.write("]"),e.value==null){e.key.type[0]!=="F"&&t.write(";");return}t.write(" = "),this[e.value.type](e.value,t),t.write(";")},ObjectPattern(e,t){if(t.write("{"),e.properties.length>0){const{properties:i}=e,{length:r}=i;for(let a=0;this[i[a].type](i[a],t),++a<r;)t.write(", ")}t.write("}")},SequenceExpression(e,t){ve(t,e.expressions)},UnaryExpression(e,t){if(e.prefix){const{operator:i,argument:r,argument:{type:a}}=e;t.write(i);const s=Yt(t,r,e);!s&&(i.length>1||a[0]==="U"&&(a[1]==="n"||a[1]==="p")&&r.prefix&&r.operator[0]===i&&(i==="+"||i==="-"))&&t.write(" "),s?(t.write(i.length>1?" (":"("),this[a](r,t),t.write(")")):this[a](r,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:ei=function(e,t){const i=e.operator==="in";i&&t.write("("),Oe(t,e.left,e,!1),t.write(" "+e.operator+" "),Oe(t,e.right,e,!0),i&&t.write(")")},LogicalExpression:ei,ConditionalExpression(e,t){const{test:i}=e,r=t.expressionsPrecedence[i.type];r===J||r<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[i.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression(e,t){t.write("new ");const i=t.expressionsPrecedence[e.callee.type];i===J||i<t.expressionsPrecedence.CallExpression||Ji(e.callee)?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),ve(t,e.arguments)},CallExpression(e,t){const i=t.expressionsPrecedence[e.callee.type];i===J||i<t.expressionsPrecedence.CallExpression?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),e.optional&&t.write("?."),ve(t,e.arguments)},ChainExpression(e,t){this[e.expression.type](e.expression,t)},MemberExpression(e,t){const i=t.expressionsPrecedence[e.object.type];i===J||i<t.expressionsPrecedence.MemberExpression?(t.write("("),this[e.object.type](e.object,t),t.write(")")):this[e.object.type](e.object,t),e.computed?(e.optional&&t.write("?."),t.write("["),this[e.property.type](e.property,t),t.write("]")):(e.optional?t.write("?."):t.write("."),this[e.property.type](e.property,t))},MetaProperty(e,t){t.write(e.meta.name+"."+e.property.name,e)},Identifier(e,t){t.write(e.name,e)},PrivateIdentifier(e,t){t.write(`#${e.name}`,e)},Literal(e,t){e.raw!=null?t.write(e.raw,e):e.regex!=null?this.RegExpLiteral(e,t):e.bigint!=null?t.write(e.bigint+"n",e):t.write(Yi(e.value),e)},RegExpLiteral(e,t){const{regex:i}=e;t.write(`/${i.pattern}/${i.flags}`,e)}},tr={};class ir{constructor(t){const i=t??tr;this.output="",i.output!=null?(this.output=i.output,this.write=this.writeToStream):this.output="",this.generator=i.generator!=null?i.generator:er,this.expressionsPrecedence=i.expressionsPrecedence!=null?i.expressionsPrecedence:Xi,this.indent=i.indent!=null?i.indent:" ",this.lineEnd=i.lineEnd!=null?i.lineEnd:`
25
+ `:case"\u2028":case"\u2029":++this.curLine,this.lineStart=this.pos+1;break}this.raise(this.start,"Unterminated template")},P.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`
26
+ `;case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return ce(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(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),e){var i=this.pos-1;this.invalidStringToken(i,"Invalid escape sequence in template string")}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],a=parseInt(r,8);return a>255&&(r=r.slice(0,-1),a=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(a)}return we(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),""):String.fromCharCode(t)}},P.readHexChar=function(e){var t=this.pos,i=this.readInt(16,e);return i===null&&this.invalidStringToken(t,"Bad character escape sequence"),i},P.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,i=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var a=this.fullCharCodeAtPos();if(ve(a,r))this.pos+=a<=65535?1:2;else if(a===92){this.containsEsc=!0,e+=this.input.slice(i,this.pos);var s=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var n=this.readCodePoint();(t?ue:ve)(n,r)||this.invalidStringToken(s,"Invalid Unicode escape"),e+=ce(n),i=this.pos}else break;t=!1}return e+this.input.slice(i,this.pos)},P.readWord=function(){var e=this.readWord1(),t=l.name;return this.keywords.test(e)&&(t=Ye[e]),this.finishToken(t,e)};var pr="8.14.0";R.acorn={Parser:R,version:pr,defaultOptions:Ze,Position:Ae,SourceLocation:Re,getLineInfo:It,Node:We,TokenType:T,tokTypes:l,keywordTypes:Ye,TokContext:te,tokContexts:M,isIdentifierChar:ve,isIdentifierStart:ue,Token:ut,isNewLine:we,lineBreak:X,lineBreakG:Mi,nonASCIIwhitespace:Nt};function ui(e,t){return R.parse(e,t)}const{stringify:hr}=JSON;if(!String.prototype.repeat)throw new Error("String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation");if(!String.prototype.endsWith)throw new Error("String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation");const Ue={"||":2,"??":3,"&&":4,"|":5,"^":6,"&":7,"==":8,"!=":8,"===":8,"!==":8,"<":9,">":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":13},ie=17,fr={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,PrivateIdentifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,ChainExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:ie,ClassExpression:ie,FunctionExpression:ie,ObjectExpression:ie,UpdateExpression:16,UnaryExpression:15,AwaitExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1};function _e(e,t){const{generator:i}=e;if(e.write("("),t!=null&&t.length>0){i[t[0].type](t[0],e);const{length:r}=t;for(let a=1;a<r;a++){const s=t[a];e.write(", "),i[s.type](s,e)}}e.write(")")}function ci(e,t,i,r){const a=e.expressionsPrecedence[t.type];if(a===ie)return!0;const s=e.expressionsPrecedence[i.type];return a!==s?!r&&a===15&&s===14&&i.operator==="**"||a<s:a!==13&&a!==14?!1:t.operator==="**"&&i.operator==="**"?!r:a===13&&s===13&&(t.operator==="??"||i.operator==="??")?!0:r?Ue[t.operator]<=Ue[i.operator]:Ue[t.operator]<Ue[i.operator]}function Ge(e,t,i,r){const{generator:a}=e;ci(e,t,i,r)?(e.write("("),a[t.type](t,e),e.write(")")):a[t.type](t,e)}function mr(e,t,i,r){const a=t.split(`
27
+ `),s=a.length-1;if(e.write(a[0].trim()),s>0){e.write(r);for(let n=1;n<s;n++)e.write(i+a[n].trim()+r);e.write(i+a[s].trim())}}function q(e,t,i,r){const{length:a}=t;for(let s=0;s<a;s++){const n=t[s];e.write(i),n.type[0]==="L"?e.write("// "+n.value.trim()+`
28
+ `,n):(e.write("/*"),mr(e,n.value,i,r),e.write("*/"+r))}}function dr(e){let t=e;for(;t!=null;){const{type:i}=t;if(i[0]==="C"&&i[1]==="a")return!0;if(i[0]==="M"&&i[1]==="e"&&i[2]==="m")t=t.object;else return!1}}function ct(e,t){const{generator:i}=e,{declarations:r}=t;e.write(t.kind+" ");const{length:a}=r;if(a>0){i.VariableDeclarator(r[0],e);for(let s=1;s<a;s++)e.write(", "),i.VariableDeclarator(r[s],e)}}let li,pi,hi,fi,mi,di;const lt={Program(e,t){const i=t.indent.repeat(t.indentLevel),{lineEnd:r,writeComments:a}=t;a&&e.comments!=null&&q(t,e.comments,i,r);const s=e.body,{length:n}=s;for(let o=0;o<n;o++){const u=s[o];a&&u.comments!=null&&q(t,u.comments,i,r),t.write(i),this[u.type](u,t),t.write(r)}a&&e.trailingComments!=null&&q(t,e.trailingComments,i,r)},BlockStatement:di=function(e,t){const i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:a}=t,s=i+t.indent;t.write("{");const n=e.body;if(n!=null&&n.length>0){t.write(r),a&&e.comments!=null&&q(t,e.comments,s,r);const{length:o}=n;for(let u=0;u<o;u++){const c=n[u];a&&c.comments!=null&&q(t,c.comments,s,r),t.write(s),this[c.type](c,t),t.write(r)}t.write(i)}else a&&e.comments!=null&&(t.write(r),q(t,e.comments,s,r),t.write(i));a&&e.trailingComments!=null&&q(t,e.trailingComments,s,r),t.write("}"),t.indentLevel--},ClassBody:di,StaticBlock(e,t){t.write("static "),this.BlockStatement(e,t)},EmptyStatement(e,t){t.write(";")},ExpressionStatement(e,t){const i=t.expressionsPrecedence[e.expression.type];i===ie||i===3&&e.expression.left.type[0]==="O"?(t.write("("),this[e.expression.type](e.expression,t),t.write(")")):this[e.expression.type](e.expression,t),t.write(";")},IfStatement(e,t){t.write("if ("),this[e.test.type](e.test,t),t.write(") "),this[e.consequent.type](e.consequent,t),e.alternate!=null&&(t.write(" else "),this[e.alternate.type](e.alternate,t))},LabeledStatement(e,t){this[e.label.type](e.label,t),t.write(": "),this[e.body.type](e.body,t)},BreakStatement(e,t){t.write("break"),e.label!=null&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},ContinueStatement(e,t){t.write("continue"),e.label!=null&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},WithStatement(e,t){t.write("with ("),this[e.object.type](e.object,t),t.write(") "),this[e.body.type](e.body,t)},SwitchStatement(e,t){const i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:a}=t;t.indentLevel++;const s=i+t.indent,n=s+t.indent;t.write("switch ("),this[e.discriminant.type](e.discriminant,t),t.write(") {"+r);const{cases:o}=e,{length:u}=o;for(let c=0;c<u;c++){const p=o[c];a&&p.comments!=null&&q(t,p.comments,s,r),p.test?(t.write(s+"case "),this[p.test.type](p.test,t),t.write(":"+r)):t.write(s+"default:"+r);const{consequent:m}=p,{length:d}=m;for(let h=0;h<d;h++){const g=m[h];a&&g.comments!=null&&q(t,g.comments,n,r),t.write(n),this[g.type](g,t),t.write(r)}}t.indentLevel-=2,t.write(i+"}")},ReturnStatement(e,t){t.write("return"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t)),t.write(";")},ThrowStatement(e,t){t.write("throw "),this[e.argument.type](e.argument,t),t.write(";")},TryStatement(e,t){if(t.write("try "),this[e.block.type](e.block,t),e.handler){const{handler:i}=e;i.param==null?t.write(" catch "):(t.write(" catch ("),this[i.param.type](i.param,t),t.write(") ")),this[i.body.type](i.body,t)}e.finalizer&&(t.write(" finally "),this[e.finalizer.type](e.finalizer,t))},WhileStatement(e,t){t.write("while ("),this[e.test.type](e.test,t),t.write(") "),this[e.body.type](e.body,t)},DoWhileStatement(e,t){t.write("do "),this[e.body.type](e.body,t),t.write(" while ("),this[e.test.type](e.test,t),t.write(");")},ForStatement(e,t){if(t.write("for ("),e.init!=null){const{init:i}=e;i.type[0]==="V"?ct(t,i):this[i.type](i,t)}t.write("; "),e.test&&this[e.test.type](e.test,t),t.write("; "),e.update&&this[e.update.type](e.update,t),t.write(") "),this[e.body.type](e.body,t)},ForInStatement:li=function(e,t){t.write(`for ${e.await?"await ":""}(`);const{left:i}=e;i.type[0]==="V"?ct(t,i):this[i.type](i,t),t.write(e.type[3]==="I"?" in ":" of "),this[e.right.type](e.right,t),t.write(") "),this[e.body.type](e.body,t)},ForOfStatement:li,DebuggerStatement(e,t){t.write("debugger;",e)},FunctionDeclaration:pi=function(e,t){t.write((e.async?"async ":"")+(e.generator?"function* ":"function ")+(e.id?e.id.name:""),e),_e(t,e.params),t.write(" "),this[e.body.type](e.body,t)},FunctionExpression:pi,VariableDeclaration(e,t){ct(t,e),t.write(";")},VariableDeclarator(e,t){this[e.id.type](e.id,t),e.init!=null&&(t.write(" = "),this[e.init.type](e.init,t))},ClassDeclaration(e,t){if(t.write("class "+(e.id?`${e.id.name} `:""),e),e.superClass){t.write("extends ");const{superClass:i}=e,{type:r}=i,a=t.expressionsPrecedence[r];(r[0]!=="C"||r[1]!=="l"||r[5]!=="E")&&(a===ie||a<t.expressionsPrecedence.ClassExpression)?(t.write("("),this[e.superClass.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ")}this.ClassBody(e.body,t)},ImportDeclaration(e,t){t.write("import ");const{specifiers:i,attributes:r}=e,{length:a}=i;let s=0;if(a>0){for(;s<a;){s>0&&t.write(", ");const n=i[s],o=n.type[6];if(o==="D")t.write(n.local.name,n),s++;else if(o==="N")t.write("* as "+n.local.name,n),s++;else break}if(s<a){for(t.write("{");;){const n=i[s],{name:o}=n.imported;if(t.write(o,n),o!==n.local.name&&t.write(" as "+n.local.name),++s<a)t.write(", ");else break}t.write("}")}t.write(" from ")}if(this.Literal(e.source,t),r&&r.length>0){t.write(" with { ");for(let n=0;n<r.length;n++)this.ImportAttribute(r[n],t),n<r.length-1&&t.write(", ");t.write(" }")}t.write(";")},ImportAttribute(e,t){this.Identifier(e.key,t),t.write(": "),this.Literal(e.value,t)},ImportExpression(e,t){t.write("import("),this[e.source.type](e.source,t),t.write(")")},ExportDefaultDeclaration(e,t){t.write("export default "),this[e.declaration.type](e.declaration,t),t.expressionsPrecedence[e.declaration.type]!=null&&e.declaration.type[0]!=="F"&&t.write(";")},ExportNamedDeclaration(e,t){if(t.write("export "),e.declaration)this[e.declaration.type](e.declaration,t);else{t.write("{");const{specifiers:i}=e,{length:r}=i;if(r>0)for(let a=0;;){const s=i[a],{name:n}=s.local;if(t.write(n,s),n!==s.exported.name&&t.write(" as "+s.exported.name),++a<r)t.write(", ");else break}if(t.write("}"),e.source&&(t.write(" from "),this.Literal(e.source,t)),e.attributes&&e.attributes.length>0){t.write(" with { ");for(let a=0;a<e.attributes.length;a++)this.ImportAttribute(e.attributes[a],t),a<e.attributes.length-1&&t.write(", ");t.write(" }")}t.write(";")}},ExportAllDeclaration(e,t){if(e.exported!=null?t.write("export * as "+e.exported.name+" from "):t.write("export * from "),this.Literal(e.source,t),e.attributes&&e.attributes.length>0){t.write(" with { ");for(let i=0;i<e.attributes.length;i++)this.ImportAttribute(e.attributes[i],t),i<e.attributes.length-1&&t.write(", ");t.write(" }")}t.write(";")},MethodDefinition(e,t){e.static&&t.write("static ");const i=e.kind[0];(i==="g"||i==="s")&&t.write(e.kind+" "),e.value.async&&t.write("async "),e.value.generator&&t.write("*"),e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),_e(t,e.value.params),t.write(" "),this[e.value.body.type](e.value.body,t)},ClassExpression(e,t){this.ClassDeclaration(e,t)},ArrowFunctionExpression(e,t){t.write(e.async?"async ":"",e);const{params:i}=e;i!=null&&(i.length===1&&i[0].type[0]==="I"?t.write(i[0].name,i[0]):_e(t,e.params)),t.write(" => "),e.body.type[0]==="O"?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression(e,t){t.write("this",e)},Super(e,t){t.write("super",e)},RestElement:hi=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:hi,YieldExpression(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression(e,t){t.write("await ",e),Ge(t,e.argument,e)},TemplateLiteral(e,t){const{quasis:i,expressions:r}=e;t.write("`");const{length:a}=r;for(let n=0;n<a;n++){const o=r[n],u=i[n];t.write(u.value.raw,u),t.write("${"),this[o.type](o,t),t.write("}")}const s=i[i.length-1];t.write(s.value.raw,s),t.write("`")},TemplateElement(e,t){t.write(e.value.raw,e)},TaggedTemplateExpression(e,t){Ge(t,e.tag,e),this[e.quasi.type](e.quasi,t)},ArrayExpression:mi=function(e,t){if(t.write("["),e.elements.length>0){const{elements:i}=e,{length:r}=i;for(let a=0;;){const s=i[a];if(s!=null&&this[s.type](s,t),++a<r)t.write(", ");else{s==null&&t.write(", ");break}}}t.write("]")},ArrayPattern:mi,ObjectExpression(e,t){const i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:a}=t,s=i+t.indent;if(t.write("{"),e.properties.length>0){t.write(r),a&&e.comments!=null&&q(t,e.comments,s,r);const n=","+r,{properties:o}=e,{length:u}=o;for(let c=0;;){const p=o[c];if(a&&p.comments!=null&&q(t,p.comments,s,r),t.write(s),this[p.type](p,t),++c<u)t.write(n);else break}t.write(r),a&&e.trailingComments!=null&&q(t,e.trailingComments,s,r),t.write(i+"}")}else a?e.comments!=null?(t.write(r),q(t,e.comments,s,r),e.trailingComments!=null&&q(t,e.trailingComments,s,r),t.write(i+"}")):e.trailingComments!=null?(t.write(r),q(t,e.trailingComments,s,r),t.write(i+"}")):t.write("}"):t.write("}");t.indentLevel--},Property(e,t){e.method||e.kind[0]!=="i"?this.MethodDefinition(e,t):(e.shorthand||(e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),t.write(": ")),this[e.value.type](e.value,t))},PropertyDefinition(e,t){if(e.static&&t.write("static "),e.computed&&t.write("["),this[e.key.type](e.key,t),e.computed&&t.write("]"),e.value==null){e.key.type[0]!=="F"&&t.write(";");return}t.write(" = "),this[e.value.type](e.value,t),t.write(";")},ObjectPattern(e,t){if(t.write("{"),e.properties.length>0){const{properties:i}=e,{length:r}=i;for(let a=0;this[i[a].type](i[a],t),++a<r;)t.write(", ")}t.write("}")},SequenceExpression(e,t){_e(t,e.expressions)},UnaryExpression(e,t){if(e.prefix){const{operator:i,argument:r,argument:{type:a}}=e;t.write(i);const s=ci(t,r,e);!s&&(i.length>1||a[0]==="U"&&(a[1]==="n"||a[1]==="p")&&r.prefix&&r.operator[0]===i&&(i==="+"||i==="-"))&&t.write(" "),s?(t.write(i.length>1?" (":"("),this[a](r,t),t.write(")")):this[a](r,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:fi=function(e,t){const i=e.operator==="in";i&&t.write("("),Ge(t,e.left,e,!1),t.write(" "+e.operator+" "),Ge(t,e.right,e,!0),i&&t.write(")")},LogicalExpression:fi,ConditionalExpression(e,t){const{test:i}=e,r=t.expressionsPrecedence[i.type];r===ie||r<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[i.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression(e,t){t.write("new ");const i=t.expressionsPrecedence[e.callee.type];i===ie||i<t.expressionsPrecedence.CallExpression||dr(e.callee)?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),_e(t,e.arguments)},CallExpression(e,t){const i=t.expressionsPrecedence[e.callee.type];i===ie||i<t.expressionsPrecedence.CallExpression?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),e.optional&&t.write("?."),_e(t,e.arguments)},ChainExpression(e,t){this[e.expression.type](e.expression,t)},MemberExpression(e,t){const i=t.expressionsPrecedence[e.object.type];i===ie||i<t.expressionsPrecedence.MemberExpression?(t.write("("),this[e.object.type](e.object,t),t.write(")")):this[e.object.type](e.object,t),e.computed?(e.optional&&t.write("?."),t.write("["),this[e.property.type](e.property,t),t.write("]")):(e.optional?t.write("?."):t.write("."),this[e.property.type](e.property,t))},MetaProperty(e,t){t.write(e.meta.name+"."+e.property.name,e)},Identifier(e,t){t.write(e.name,e)},PrivateIdentifier(e,t){t.write(`#${e.name}`,e)},Literal(e,t){e.raw!=null?t.write(e.raw,e):e.regex!=null?this.RegExpLiteral(e,t):e.bigint!=null?t.write(e.bigint+"n",e):t.write(hr(e.value),e)},RegExpLiteral(e,t){const{regex:i}=e;t.write(`/${i.pattern}/${i.flags}`,e)}},gr={},xr=lt;class yr{constructor(t){const i=t??gr;this.output="",i.output!=null?(this.output=i.output,this.write=this.writeToStream):this.output="",this.generator=i.generator!=null?i.generator:lt,this.expressionsPrecedence=i.expressionsPrecedence!=null?i.expressionsPrecedence:fr,this.indent=i.indent!=null?i.indent:" ",this.lineEnd=i.lineEnd!=null?i.lineEnd:`
29
29
  `,this.indentLevel=i.startingIndentLevel!=null?i.startingIndentLevel:0,this.writeComments=i.comments?i.comments:!1,i.sourceMap!=null&&(this.write=i.output==null?this.writeAndMap:this.writeToStreamAndMap,this.sourceMap=i.sourceMap,this.line=1,this.column=0,this.lineEndSize=this.lineEnd.split(`
30
- `).length-1,this.mapping={original:null,generated:this,name:void 0,source:i.sourceMap.file||i.sourceMap._file})}write(t){this.output+=t}writeToStream(t){this.output.write(t)}writeAndMap(t,i){this.output+=t,this.map(t,i)}writeToStreamAndMap(t,i){this.output.write(t),this.map(t,i)}map(t,i){if(i!=null){const{type:s}=i;if(s[0]==="L"&&s[2]==="n"){this.column=0,this.line++;return}if(i.loc!=null){const{mapping:n}=this;n.original=i.loc.start,n.name=i.name,this.sourceMap.addMapping(n)}if(s[0]==="T"&&s[8]==="E"||s[0]==="L"&&s[1]==="i"&&typeof i.value=="string"){const{length:n}=t;let{column:u,line:c}=this;for(let h=0;h<n;h++)t[h]===`
31
- `?(u=0,c++):u++;this.column=u,this.line=c;return}}const{length:r}=t,{lineEnd:a}=this;r>0&&(this.lineEndSize>0&&(a.length===1?t[r-1]===a:t.endsWith(a))?(this.line+=this.lineEndSize,this.column=0):this.column+=r)}toString(){return this.output}}function rr(e,t){const i=new ir(t);return i.generator[e.type](e,i),i.output}var ar=Object.defineProperty,sr=(e,t,i)=>t in e?ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,$=(e,t,i)=>sr(e,typeof t!="symbol"?t+"":t,i);class nr{constructor(){$(this,"scopes",[]),$(this,"scopeTypes",[]),$(this,"scopeCounts",new Map),$(this,"contextBoundVars",new Set),$(this,"arrayPatternElements",new Set),$(this,"rootParams",new Set),$(this,"varKinds",new Map),$(this,"loopVars",new Set),$(this,"loopVarNames",new Map),$(this,"paramIdCounter",0),$(this,"cacheIdCounter",0),$(this,"tempVarCounter",0),$(this,"taCallIdCounter",0),this.pushScope("glb")}get nextParamIdArg(){return{type:"Identifier",name:`'p${this.paramIdCounter++}'`}}get nextCacheIdArg(){return{type:"Identifier",name:`'cache_${this.cacheIdCounter++}'`}}getNextTACallId(){return{type:"Literal",value:`_ta${this.taCallIdCounter++}`}}pushScope(t){this.scopes.push(new Map),this.scopeTypes.push(t),this.scopeCounts.set(t,(this.scopeCounts.get(t)||0)+1)}popScope(){this.scopes.pop(),this.scopeTypes.pop()}getCurrentScopeType(){return this.scopeTypes[this.scopeTypes.length-1]}getCurrentScopeCount(){return this.scopeCounts.get(this.getCurrentScopeType())||1}addContextBoundVar(t,i=!1){this.contextBoundVars.add(t),i&&this.rootParams.add(t)}removeContextBoundVar(t){this.contextBoundVars.has(t)&&(this.contextBoundVars.delete(t),this.rootParams.has(t)&&this.rootParams.delete(t))}addArrayPatternElement(t){this.arrayPatternElements.add(t)}isContextBound(t){return this.contextBoundVars.has(t)}isArrayPatternElement(t){return this.arrayPatternElements.has(t)}isRootParam(t){return this.rootParams.has(t)}addLoopVariable(t,i){this.loopVars.add(t),this.loopVarNames.set(t,i)}getLoopVariableName(t){return this.loopVarNames.get(t)}isLoopVariable(t){return this.loopVars.has(t)}addVariable(t,i){if(this.isContextBound(t))return t;const r=this.scopes[this.scopes.length-1],a=this.scopeTypes[this.scopeTypes.length-1],s=this.scopeCounts.get(a)||1,n=`${a}${s}_${t}`;return r.set(t,n),this.varKinds.set(n,i),n}getVariable(t){if(this.loopVars.has(t)){const i=this.loopVarNames.get(t);if(i)return[i,"let"]}if(this.isContextBound(t))return[t,"let"];for(let i=this.scopes.length-1;i>=0;i--){const r=this.scopes[i];if(r.has(t)){const a=r.get(t),s=this.varKinds.get(a)||"let";return[a,s]}}return[t,"let"]}generateTempVar(){return`temp_${++this.tempVarCounter}`}}function it(e,t,i,r,a){i||(i=m),function s(n,u,c){var h=c||n.type;i[h](n,u,s),t[h]&&t[h](n,u)}(e,r,a)}function O(e,t,i,r,a){var s=i?or(i,r||void 0):r;(function n(u,c,h){s[h||u.type](u,c,n)})(e,t,a)}function or(e,t){var i=Object.create(t||m);for(var r in e)i[r]=e[r];return i}function rt(e,t,i){i(e,t)}function me(e,t,i){}var m={};m.Program=m.BlockStatement=m.StaticBlock=function(e,t,i){for(var r=0,a=e.body;r<a.length;r+=1){var s=a[r];i(s,t,"Statement")}},m.Statement=rt,m.EmptyStatement=me,m.ExpressionStatement=m.ParenthesizedExpression=m.ChainExpression=function(e,t,i){return i(e.expression,t,"Expression")},m.IfStatement=function(e,t,i){i(e.test,t,"Expression"),i(e.consequent,t,"Statement"),e.alternate&&i(e.alternate,t,"Statement")},m.LabeledStatement=function(e,t,i){return i(e.body,t,"Statement")},m.BreakStatement=m.ContinueStatement=me,m.WithStatement=function(e,t,i){i(e.object,t,"Expression"),i(e.body,t,"Statement")},m.SwitchStatement=function(e,t,i){i(e.discriminant,t,"Expression");for(var r=0,a=e.cases;r<a.length;r+=1){var s=a[r];i(s,t)}},m.SwitchCase=function(e,t,i){e.test&&i(e.test,t,"Expression");for(var r=0,a=e.consequent;r<a.length;r+=1){var s=a[r];i(s,t,"Statement")}},m.ReturnStatement=m.YieldExpression=m.AwaitExpression=function(e,t,i){e.argument&&i(e.argument,t,"Expression")},m.ThrowStatement=m.SpreadElement=function(e,t,i){return i(e.argument,t,"Expression")},m.TryStatement=function(e,t,i){i(e.block,t,"Statement"),e.handler&&i(e.handler,t),e.finalizer&&i(e.finalizer,t,"Statement")},m.CatchClause=function(e,t,i){e.param&&i(e.param,t,"Pattern"),i(e.body,t,"Statement")},m.WhileStatement=m.DoWhileStatement=function(e,t,i){i(e.test,t,"Expression"),i(e.body,t,"Statement")},m.ForStatement=function(e,t,i){e.init&&i(e.init,t,"ForInit"),e.test&&i(e.test,t,"Expression"),e.update&&i(e.update,t,"Expression"),i(e.body,t,"Statement")},m.ForInStatement=m.ForOfStatement=function(e,t,i){i(e.left,t,"ForInit"),i(e.right,t,"Expression"),i(e.body,t,"Statement")},m.ForInit=function(e,t,i){e.type==="VariableDeclaration"?i(e,t):i(e,t,"Expression")},m.DebuggerStatement=me,m.FunctionDeclaration=function(e,t,i){return i(e,t,"Function")},m.VariableDeclaration=function(e,t,i){for(var r=0,a=e.declarations;r<a.length;r+=1){var s=a[r];i(s,t)}},m.VariableDeclarator=function(e,t,i){i(e.id,t,"Pattern"),e.init&&i(e.init,t,"Expression")},m.Function=function(e,t,i){e.id&&i(e.id,t,"Pattern");for(var r=0,a=e.params;r<a.length;r+=1){var s=a[r];i(s,t,"Pattern")}i(e.body,t,e.expression?"Expression":"Statement")},m.Pattern=function(e,t,i){e.type==="Identifier"?i(e,t,"VariablePattern"):e.type==="MemberExpression"?i(e,t,"MemberPattern"):i(e,t)},m.VariablePattern=me,m.MemberPattern=rt,m.RestElement=function(e,t,i){return i(e.argument,t,"Pattern")},m.ArrayPattern=function(e,t,i){for(var r=0,a=e.elements;r<a.length;r+=1){var s=a[r];s&&i(s,t,"Pattern")}},m.ObjectPattern=function(e,t,i){for(var r=0,a=e.properties;r<a.length;r+=1){var s=a[r];s.type==="Property"?(s.computed&&i(s.key,t,"Expression"),i(s.value,t,"Pattern")):s.type==="RestElement"&&i(s.argument,t,"Pattern")}},m.Expression=rt,m.ThisExpression=m.Super=m.MetaProperty=me,m.ArrayExpression=function(e,t,i){for(var r=0,a=e.elements;r<a.length;r+=1){var s=a[r];s&&i(s,t,"Expression")}},m.ObjectExpression=function(e,t,i){for(var r=0,a=e.properties;r<a.length;r+=1){var s=a[r];i(s,t)}},m.FunctionExpression=m.ArrowFunctionExpression=m.FunctionDeclaration,m.SequenceExpression=function(e,t,i){for(var r=0,a=e.expressions;r<a.length;r+=1){var s=a[r];i(s,t,"Expression")}},m.TemplateLiteral=function(e,t,i){for(var r=0,a=e.quasis;r<a.length;r+=1){var s=a[r];i(s,t)}for(var n=0,u=e.expressions;n<u.length;n+=1){var c=u[n];i(c,t,"Expression")}},m.TemplateElement=me,m.UnaryExpression=m.UpdateExpression=function(e,t,i){i(e.argument,t,"Expression")},m.BinaryExpression=m.LogicalExpression=function(e,t,i){i(e.left,t,"Expression"),i(e.right,t,"Expression")},m.AssignmentExpression=m.AssignmentPattern=function(e,t,i){i(e.left,t,"Pattern"),i(e.right,t,"Expression")},m.ConditionalExpression=function(e,t,i){i(e.test,t,"Expression"),i(e.consequent,t,"Expression"),i(e.alternate,t,"Expression")},m.NewExpression=m.CallExpression=function(e,t,i){if(i(e.callee,t,"Expression"),e.arguments)for(var r=0,a=e.arguments;r<a.length;r+=1){var s=a[r];i(s,t,"Expression")}},m.MemberExpression=function(e,t,i){i(e.object,t,"Expression"),e.computed&&i(e.property,t,"Expression")},m.ExportNamedDeclaration=m.ExportDefaultDeclaration=function(e,t,i){e.declaration&&i(e.declaration,t,e.type==="ExportNamedDeclaration"||e.declaration.id?"Statement":"Expression"),e.source&&i(e.source,t,"Expression")},m.ExportAllDeclaration=function(e,t,i){e.exported&&i(e.exported,t),i(e.source,t,"Expression")},m.ImportDeclaration=function(e,t,i){for(var r=0,a=e.specifiers;r<a.length;r+=1){var s=a[r];i(s,t)}i(e.source,t,"Expression")},m.ImportExpression=function(e,t,i){i(e.source,t,"Expression")},m.ImportSpecifier=m.ImportDefaultSpecifier=m.ImportNamespaceSpecifier=m.Identifier=m.PrivateIdentifier=m.Literal=me,m.TaggedTemplateExpression=function(e,t,i){i(e.tag,t,"Expression"),i(e.quasi,t,"Expression")},m.ClassDeclaration=m.ClassExpression=function(e,t,i){return i(e,t,"Class")},m.Class=function(e,t,i){e.id&&i(e.id,t,"Pattern"),e.superClass&&i(e.superClass,t,"Expression"),i(e.body,t)},m.ClassBody=function(e,t,i){for(var r=0,a=e.body;r<a.length;r+=1){var s=a[r];i(s,t)}},m.MethodDefinition=m.PropertyDefinition=m.Property=function(e,t,i){e.computed&&i(e.key,t,"Expression"),e.value&&i(e.value,t,"Expression")};const R="$",v={createIdentifier(e){return{type:"Identifier",name:e}},createLiteral(e){return{type:"Literal",value:e}},createMemberExpression(e,t,i=!1){return{type:"MemberExpression",object:e,property:t,computed:i}},createContextIdentifier(){return this.createIdentifier(R)},createContextVariableReference(e,t){const i=this.createContextIdentifier(),r=this.createIdentifier(e),a=this.createIdentifier(t);return this.createMemberExpression(this.createMemberExpression(i,r,!1),a,!1)},createContextVariableAccess0(e,t){const i=this.createContextVariableReference(e,t);return this.createArrayAccess(i,0)},createArrayAccess(e,t){const i=typeof t=="number"?this.createLiteral(t):t;return this.createMemberExpression(e,i,!0)},createCallExpression(e,t){return{type:"CallExpression",callee:e,arguments:t}},createAssignmentExpression(e,t,i="="){return{type:"AssignmentExpression",operator:i,left:e,right:t}},createExpressionStatement(e){return{type:"ExpressionStatement",expression:e}},createInitCall(e,t,i){const r=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("init"),!1),a=[e,t];return i&&a.push(i),this.createCallExpression(r,a)},createGetCall(e,t){const i=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("get"),!1),r=typeof t=="number"?this.createLiteral(t):t;return this.createCallExpression(i,[e,r])},createSetCall(e,t){const i=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("set"),!1);return this.createCallExpression(i,[e,t])},createMathEqCall(e,t){const i=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("math"),!1),r=this.createMemberExpression(i,this.createIdentifier("__eq"),!1);return this.createCallExpression(r,[e,t])},createWrapperFunction(e){return{type:"FunctionDeclaration",id:null,params:[this.createIdentifier("context")],body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:e}]}}}};function ur(e){O(e,null,{VariableDeclaration(t,i,r){t.declarations&&t.declarations.length>0&&t.declarations.forEach(a=>{if(a.init&&a.init.type==="ArrowFunctionExpression"&&a.init.start!==0){const s={type:"FunctionDeclaration",id:a.id,params:a.init.params,body:a.init.body.type==="BlockStatement"?a.init.body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:a.init.body}]},async:a.init.async,generator:!1};Object.assign(t,s)}}),t.body&&t.body.body&&t.body.body.forEach(a=>r(a,i))}})}function cr(e,t){it(e,{VariableDeclaration(i){i.declarations.forEach(r=>{const a=r.init&&r.init.type==="MemberExpression"&&r.init.object&&(r.init.object.name==="context"||r.init.object.name===R||r.init.object.name==="context2"),s=r.init&&r.init.type==="MemberExpression"&&r.init.object?.object&&(r.init.object.object.name==="context"||r.init.object.object.name===R||r.init.object.object.name==="context2");(a||s)&&(r.id.name&&t.addContextBoundVar(r.id.name),r.id.properties&&r.id.properties.forEach(n=>{n.key.name&&t.addContextBoundVar(n.key.name)}))})}})}function hr(e,t,i=!1){e.params.forEach(r=>{r.type==="Identifier"&&t.addContextBoundVar(r.name,i)})}function pr(e,t){e.params.forEach(i=>{i.type==="Identifier"&&t.addContextBoundVar(i.name,!1)})}function lr(e,t){let i;return it(e,{FunctionDeclaration(r){pr(r,t)},ArrowFunctionExpression(r){const a=r.start===0;a&&r.params&&r.params.length>0&&(i=r.params[0].name,r.params[0].name=R),hr(r,t,a)},VariableDeclaration(r){r.declarations.forEach(a=>{if(a.id.type==="ArrayPattern"){const s=t.generateTempVar(),n={type:"VariableDeclaration",kind:r.kind,declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:s},init:a.init}]};a.id.elements?.forEach(c=>{c.type==="Identifier"&&t.addArrayPatternElement(c.name)});const u=a.id.elements.map((c,h)=>({type:"VariableDeclaration",kind:r.kind,declarations:[{type:"VariableDeclarator",id:c,init:{type:"MemberExpression",object:{type:"Identifier",name:s},property:{type:"Literal",value:h},computed:!0}}]}));Object.assign(r,{type:"BlockStatement",body:[n,...u]})}})},ForStatement(r){}}),i}const at={type:"Identifier",name:"undefined"};function fe(e,t){if(e.computed&&e.property.type==="Identifier"){if(t.isLoopVariable(e.property.name))return;if(!t.isContextBound(e.property.name)){const[i,r]=t.getVariable(e.property.name);e.property=v.createContextVariableReference(r,i),e.property=v.createGetCall(e.property,0)}}if(e.computed&&e.object.type==="Identifier"){if(t.isLoopVariable(e.object.name))return;if(!t.isContextBound(e.object.name)){const[i,r]=t.getVariable(e.object.name);e.object=v.createContextVariableReference(r,i)}if(e.property.type==="MemberExpression"){const i=e.property;i._indexTransformed||(fe(i,t),i._indexTransformed=!0)}}}function ce(e,t){const i=v.createGetCall(v.createIdentifier(e.name),0);e.start!==void 0&&(i.start=e.start),e.end!==void 0&&(i.end=e.end),i._indexTransformed=!0,Object.assign(e,i)}function G(e,t){if(e.name!==R){if(e.name==="Math"||e.name==="NaN"||e.name==="undefined"||e.name==="Infinity"||e.name==="null"||e.name.startsWith("'")&&e.name.endsWith("'")||e.name.startsWith('"')&&e.name.endsWith('"')||e.name.startsWith("`")&&e.name.endsWith("`")||t.isLoopVariable(e.name)||t.isContextBound(e.name)&&!t.isRootParam(e.name))return;const i=e.parent&&e.parent.type==="MemberExpression"&&e.parent.object===e&&t.isContextBound(e.name),r=e.parent&&e.parent.type==="CallExpression"&&e.parent.callee&&e.parent.callee.type==="MemberExpression"&&e.parent.callee.property.name==="param";e.parent&&e.parent.type==="AssignmentExpression"&&e.parent.left;const a=e.parent&&e.parent.type==="CallExpression"&&e.parent.callee&&e.parent.callee.type==="MemberExpression"&&t.isContextBound(e.parent.callee.object.name),s=e.parent&&e.parent.type==="MemberExpression"&&e.parent.computed,n=e.parent&&e.parent.type==="MemberExpression"&&e.parent.computed&&e.parent.property===e&&e.parent.parent&&e.parent.parent.type==="CallExpression"&&e.parent.parent.callee&&e.parent.parent.callee.type==="MemberExpression"&&t.isContextBound(e.parent.parent.callee.object.name),u=e.parent&&e.parent.type==="CallExpression"&&e.parent.callee===e;if(i||r||a||n||u){if(u)return;const[x,d]=t.getVariable(e.name),l=v.createContextVariableReference(d,x);Object.assign(e,l);return}const[c,h]=t.getVariable(e.name),p=v.createContextVariableReference(h,c);if(!(e.parent&&e.parent.type==="MemberExpression"&&e.parent.computed&&e.parent.object===e)&&!s){const x=v.createGetCall(p,0);Object.assign(e,x)}else Object.assign(e,p)}}function ee(e,t,i){if(e.object&&e.object.type==="Identifier"&&e.object.name==="Math")return;const r=i.getCurrentScopeType()=="if",a=i.getCurrentScopeType()=="els",s=i.getCurrentScopeType()=="for";if(!r&&!a&&!s&&e.object&&e.object.type==="Identifier"&&i.isContextBound(e.object.name)&&!i.isRootParam(e.object.name)&&!e.computed)return;e._indexTransformed||(fe(e,i),e._indexTransformed=!0);const n=e.object&&e.object.type==="MemberExpression"&&e.object.object&&e.object.object.type==="MemberExpression"&&e.object.object.object&&e.object.object.object.name===R,u=e.object&&e.object.type==="Identifier"&&i.isContextBound(e.object.name);if(e.computed&&(n||u)){if(e.parent&&e.parent.type==="AssignmentExpression"&&e.parent.left===e)return;const c=v.createGetCall(e.object,e.property);e.start&&(c.start=e.start),e.end&&(c.end=e.end),Object.assign(e,c)}}function Ae(e,t){if(e.type==="Identifier"){if(e.name==="na")return e.name="NaN",e;if(t.isLoopVariable(e.name))return e;if(t.isRootParam(e.name)){const[a,s]=t.getVariable(e.name);return v.createContextVariableReference(s,a)}if(t.isContextBound(e.name))return e;const[i,r]=t.getVariable(e.name);return v.createContextVariableReference(r,i)}return e}function Ie(e,t,i=""){switch(e.type){case"BinaryExpression":return ri(e,t,i);case"MemberExpression":return{type:"MemberExpression",object:e.object.type==="Identifier"?Ae(e.object,t):e.object,property:e.property,computed:e.computed};case"Identifier":{if(t.isLoopVariable(e.name)||e.parent&&e.parent.type==="MemberExpression"&&e.parent.property===e)return e;const r=Ae(e,t);return v.createGetCall(r,0)}case"UnaryExpression":return ai(e,t,i)}return e}function ri(e,t,i){const r=Ie(e.left,t,i),a=Ie(e.right,t,i),s={type:"BinaryExpression",operator:e.operator,left:r,right:a,start:e.start,end:e.end};return O(s,t,{CallExpression(n,u){n._transformed||te(n,u)},MemberExpression(n){ee(n,"",t)}}),s}function fr(e,t,i){const r=Ie(e.left,t,i),a=Ie(e.right,t,i),s={type:"LogicalExpression",operator:e.operator,left:r,right:a,start:e.start,end:e.end};return O(s,t,{CallExpression(n,u){n._transformed||te(n,u)}}),s}function mr(e,t,i){return O(e,{parent:e,inNamespaceCall:!1},{Identifier(r,a,s){if(r.name=="NaN")return;if(r.name=="na"){r.name="NaN";return}r.parent=a.parent,G(r,t);const n=r.parent&&r.parent.type==="BinaryExpression";(r.parent&&r.parent.type==="ConditionalExpression"||n)&&(r.type==="MemberExpression"?fe(r,t):r.type==="Identifier"&&(r.parent&&r.parent.type==="CallExpression"&&r.parent.callee&&r.parent.callee.object&&r.parent.callee.object.name===R&&r.parent.callee.property.name==="get"||ce(r)))},MemberExpression(r,a,s){fe(r,t),r.object&&s(r.object,{parent:r,inNamespaceCall:a.inNamespaceCall})},CallExpression(r,a,s){const n=r.callee&&r.callee.type==="MemberExpression"&&r.callee.object&&r.callee.object.type==="Identifier"&&t.isContextBound(r.callee.object.name);te(r,t),r.arguments.forEach(u=>s(u,{parent:r,inNamespaceCall:n||a.inNamespaceCall}))}}),{type:"CallExpression",callee:v.createMemberExpression(v.createIdentifier(i),v.createIdentifier("param")),arguments:[e,at,t.nextParamIdArg],_transformed:!0,_isParamCall:!0}}function ai(e,t,i){const r=Ie(e.argument,t,i);return{type:"UnaryExpression",operator:e.operator,prefix:e.prefix,argument:r,start:e.start,end:e.end}}function si(e,t,i){switch(e?.type){case"BinaryExpression":e=ri(e,i,t);break;case"LogicalExpression":e=fr(e,i,t);break;case"ConditionalExpression":return mr(e,i,t);case"UnaryExpression":e=ai(e,i,t);break}if(e.type==="MemberExpression"&&e.computed&&e.property){const r=e.object.type==="Identifier"&&i.isContextBound(e.object.name)&&!i.isRootParam(e.object.name)?e.object:Ae(e.object,i),a=e.property.type==="Identifier"&&!i.isContextBound(e.property.name)&&!i.isLoopVariable(e.property.name)?Ae(e.property,i):e.property;return{type:"CallExpression",callee:v.createMemberExpression(v.createIdentifier(t),v.createIdentifier("param")),arguments:[r,a,i.nextParamIdArg],_transformed:!0,_isParamCall:!0}}if(e.type==="ObjectExpression"&&(e.properties=e.properties.map(r=>{if(r.value.name){const[a,s]=i.getVariable(r.value.name);return{type:"Property",key:{type:"Identifier",name:r.key.name},value:v.createContextVariableReference(s,a),kind:"init",method:!1,shorthand:!1,computed:!1}}return r})),e.type==="Identifier"){if(e.name==="na")return e.name="NaN",e;if(i.isContextBound(e.name)&&!i.isRootParam(e.name))return{type:"CallExpression",callee:v.createMemberExpression(v.createIdentifier(t),v.createIdentifier("param")),arguments:[e,at,i.nextParamIdArg],_transformed:!0,_isParamCall:!0}}return e?.type==="CallExpression"&&te(e,i),{type:"CallExpression",callee:v.createMemberExpression(v.createIdentifier(t),v.createIdentifier("param")),arguments:[e.type==="Identifier"?Ae(e,i):e,at,i.nextParamIdArg],_transformed:!0,_isParamCall:!0}}function te(e,t,i){if(!e._transformed){if(e.callee&&e.callee.type==="MemberExpression"&&e.callee.object&&e.callee.object.type==="Identifier"&&(t.isContextBound(e.callee.object.name)||e.callee.object.name==="math"||e.callee.object.name==="ta")){if(e.callee.object.name===R&&["get","init","param"].includes(e.callee.property.name))return;const r=e.callee.object.name;e.arguments=e.arguments.map(a=>a._isParamCall?a:si(a,r,t)),r==="ta"&&e.arguments.push(t.getNextTACallId()),e._transformed=!0}else e.callee&&e.callee.type==="Identifier"&&(e.arguments=e.arguments.map(r=>r._isParamCall?r:si(r,R,t)),e._transformed=!0);e.arguments.forEach(r=>{O(r,t,{Identifier(a,s,n){a.parent=s.parent,G(a,t);const u=a.parent&&a.parent.type==="BinaryExpression";(a.parent&&a.parent.type==="ConditionalExpression"||u)&&(a.type==="MemberExpression"?fe(a,t):a.type==="Identifier"&&(a.parent&&a.parent.type==="CallExpression"&&a.parent.callee&&a.parent.callee.object&&a.parent.callee.object.name===R&&a.parent.callee.property.name==="get"||ce(a)))},CallExpression(a,s,n){a._transformed||te(a,s)},MemberExpression(a,s,n){ee(a,"",t),a.object&&n(a.object,{parent:a,inNamespaceCall:s.inNamespaceCall})}})})}}function ni(e,t){let i=null;if(e.left.type==="Identifier"){const[r,a]=t.getVariable(e.left.name);i=v.createContextVariableReference(a,r)}else if(e.left.type==="MemberExpression"&&e.left.computed&&e.left.object.type==="Identifier"){const r=e.left.object.name,[a,s]=t.getVariable(r),n=a!==r,u=t.isContextBound(r);(n||u)&&!t.isLoopVariable(r)&&e.left.property.type==="Literal"&&e.left.property.value===0&&(i=v.createContextVariableReference(s,a))}if(O(e.right,{parent:e.right,inNamespaceCall:!1},{Identifier(r,a,s){r.name=="na"&&(r.name="NaN"),r.parent=a.parent,G(r,t);const n=r.parent&&r.parent.type==="BinaryExpression",u=r.parent&&r.parent.type==="ConditionalExpression",c=t.isContextBound(r.name)&&!t.isRootParam(r.name),h=r.parent&&r.parent.type==="MemberExpression"&&r.parent.computed&&r.parent.object===r,p=r.parent&&r.parent._isParamCall,x=r.parent&&r.parent.type==="MemberExpression",d=r.name==="NaN",l=r.parent&&r.parent.type==="CallExpression"&&r.parent.callee&&r.parent.callee.object&&r.parent.callee.object.name===R&&r.parent.callee.property.name==="get";(c||u||n)&&(r.type==="MemberExpression"?fe(r,t):r.type==="Identifier"&&!x&&!h&&!p&&!d&&!l&&ce(r))},MemberExpression(r,a,s){ee(r,"",t),r.type==="CallExpression"?r.arguments.forEach(n=>s(n,{parent:r,inNamespaceCall:a.inNamespaceCall})):r.object&&s(r.object,{parent:r,inNamespaceCall:a.inNamespaceCall})},CallExpression(r,a,s){const n=r.callee&&r.callee.type==="MemberExpression"&&r.callee.object&&r.callee.object.type==="Identifier"&&t.isContextBound(r.callee.object.name);te(r,t),r.arguments.forEach(u=>s(u,{parent:r,inNamespaceCall:n||a.inNamespaceCall}))}}),i){let r=e.right;if(e.operator!=="="){const s=e.operator.replace("=",""),n=v.createGetCall(i,0);r={type:"BinaryExpression",operator:s,left:n,right:e.right,start:e.start,end:e.end}}const a=v.createSetCall(i,r);e.start&&(a.start=e.start),e.end&&(a.end=e.end),Object.assign(e,a)}}function oi(e,t){e.declarations.forEach(i=>{i.init.name=="na"&&(i.init.name="NaN");const r=i.init&&i.init.type==="MemberExpression"&&i.init.object&&(i.init.object.name==="context"||i.init.object.name===R||i.init.object.name==="context2"),a=i.init&&i.init.type==="MemberExpression"&&i.init.object?.object&&(i.init.object.object.name==="context"||i.init.object.object.name===R||i.init.object.object.name==="context2"),s=i.init&&i.init.type==="ArrowFunctionExpression";if(r){i.id.name&&t.addContextBoundVar(i.id.name),i.id.properties&&i.id.properties.forEach(l=>{l.key.name&&t.addContextBoundVar(l.key.name)}),i.init.object.name=R;return}if(a){i.id.name&&t.addContextBoundVar(i.id.name),i.id.properties&&i.id.properties.forEach(l=>{l.key.name&&t.addContextBoundVar(l.key.name)}),i.init.object.object.name=R;return}s&&i.init.params.forEach(l=>{l.type==="Identifier"&&t.addContextBoundVar(l.name)});const n=t.addVariable(i.id.name,e.kind),u=e.kind;i.init&&!s&&(i.init.type==="CallExpression"&&i.init.callee.type==="MemberExpression"&&i.init.callee.object&&i.init.callee.object.type==="Identifier"&&t.isContextBound(i.init.callee.object.name)?te(i.init,t):O(i.init,{parent:i.init},{Identifier(l,g){l.parent=g.parent,G(l,t);const S=l.parent&&l.parent.type==="BinaryExpression",_=l.parent&&l.parent.type==="ConditionalExpression",P=l.parent&&l.parent.type==="CallExpression"&&l.parent.callee&&l.parent.callee.object&&l.parent.callee.object.name===R&&l.parent.callee.property.name==="get";l.type==="Identifier"&&(S||_)&&!P&&ce(l)},CallExpression(l,g,S){l.callee.type==="Identifier"&&(l.callee.parent=l),l.arguments.forEach(_=>{_.type==="Identifier"&&(_.parent=l)}),te(l,t),l.arguments.forEach(_=>S(_,{parent:l}))},BinaryExpression(l,g,S){l.left.type==="Identifier"&&(l.left.parent=l),l.right.type==="Identifier"&&(l.right.parent=l),S(l.left,{parent:l}),S(l.right,{parent:l})},MemberExpression(l,g,S){l.object&&l.object.type==="Identifier"&&(l.object.parent=l),l.property&&l.property.type==="Identifier"&&(l.property.parent=l),ee(l,"",t),l.type==="CallExpression"?l.arguments.forEach(_=>S(_,{parent:l})):l.object&&S(l.object,{parent:l})}}));const c=v.createContextVariableReference(u,n),h=t.isArrayPatternElement(i.id.name),p=!h&&i.init&&i.init.type==="MemberExpression"&&i.init.computed&&i.init.property&&(i.init.property.type==="Literal"||i.init.property.type==="MemberExpression");i.init?.property?.type==="MemberExpression"&&(i.init.property._indexTransformed||(fe(i.init.property,t),i.init.property._indexTransformed=!0));let x;i.init?s||h?x=i.init:x=v.createInitCall(c,p?i.init.object:i.init,p?i.init.property:void 0):x=v.createIdentifier("undefined");const d=v.createExpressionStatement(v.createAssignmentExpression(c,x));if(h){d.expression.right.object.property.name+=`?.[0][${i.init.property.value}]`;const l=d.expression.right.object;d.expression.right=v.createCallExpression(v.createMemberExpression(v.createContextIdentifier(),v.createIdentifier("init")),[c,l])}s&&(t.pushScope("fn"),O(i.init.body,t,{BlockStatement(l,g,S){l.body.forEach(_=>S(_,g))},IfStatement(l,g,S){g.pushScope("if"),S(l.consequent,g),l.alternate&&(g.pushScope("els"),S(l.alternate,g),g.popScope()),g.popScope()},VariableDeclaration(l,g){oi(l,g)},Identifier(l,g){G(l,g)},AssignmentExpression(l,g){ni(l,g)}}),t.popScope()),Object.assign(e,d)})}function dr(e,t,i){if(e.init&&e.init.type==="VariableDeclaration"){const r=e.init.declarations[0],a=r.id.name;t.addLoopVariable(a,a),e.init={type:"VariableDeclaration",kind:e.init.kind,declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:a},init:r.init}]},r.init&&O(r.init,t,{Identifier(s,n){t.isLoopVariable(s.name)||(t.pushScope("for"),G(s,n),t.popScope())},MemberExpression(s){t.pushScope("for"),ee(s,"",t),t.popScope()}})}e.test&&O(e.test,t,{Identifier(r,a){!t.isLoopVariable(r.name)&&!r.computed&&(t.pushScope("for"),G(r,a),r.type==="Identifier"&&(r.computed=!0,ce(r)),t.popScope())},MemberExpression(r){t.pushScope("for"),ee(r,"",t),t.popScope()}}),e.update&&O(e.update,t,{Identifier(r,a){t.isLoopVariable(r.name)||(t.pushScope("for"),G(r,a),t.popScope())}}),t.pushScope("for"),i(e.body,t),t.popScope()}function xr(e,t){O(e,t,{MemberExpression(i){ee(i,"",t)},CallExpression(i,r){te(i,r)},Identifier(i,r){G(i,r);const a=t.getCurrentScopeType()==="if";t.isContextBound(i.name)&&!t.isRootParam(i.name)&&a&&ce(i)}})}function gr(e,t,i){e.test&&(t.pushScope("if"),xr(e.test,t),t.popScope()),t.pushScope("if"),i(e.consequent,t),t.popScope(),e.alternate&&(t.pushScope("els"),i(e.alternate,t),t.popScope())}function yr(e,t){const i=t.getCurrentScopeType();if(e.argument&&(e.argument.type==="ArrayExpression"?(e.argument.elements=e.argument.elements.map(r=>{if(r.type==="Identifier"){if(t.isContextBound(r.name)&&!t.isRootParam(r.name))return v.createArrayAccess(r,0);const[a,s]=t.getVariable(r.name);return v.createContextVariableAccess0(s,a)}else if(r.type==="MemberExpression")return r.computed&&r.object.type==="Identifier"&&t.isContextBound(r.object.name)&&!t.isRootParam(r.object.name)||ee(r,"",t),r;return r}),e.argument={type:"ArrayExpression",elements:[e.argument]}):e.argument.type==="BinaryExpression"?O(e.argument,t,{Identifier(r,a){G(r,a),r.type==="Identifier"&&ce(r)},MemberExpression(r){ee(r,"",t)}}):e.argument.type==="ObjectExpression"?e.argument.properties=e.argument.properties.map(r=>{if(r.shorthand){const[a,s]=t.getVariable(r.value.name);return{type:"Property",key:v.createIdentifier(r.key.name),value:v.createContextVariableReference(s,a),kind:"init",method:!1,shorthand:!1,computed:!1}}return r}):e.argument.type==="Identifier"&&(G(e.argument,t),e.argument.type==="Identifier"&&ce(e.argument)),i==="fn")){e.argument.type==="Identifier"&&t.isContextBound(e.argument.name)&&!t.isRootParam(e.argument.name)?e.argument=v.createArrayAccess(e.argument,0):e.argument.type==="MemberExpression"?e.argument.object.type==="Identifier"&&t.isContextBound(e.argument.object.name)&&!t.isRootParam(e.argument.object.name)&&(e.argument._indexTransformed||(fe(e.argument,t),e.argument._indexTransformed=!0)):(e.argument.type==="BinaryExpression"||e.argument.type==="LogicalExpression"||e.argument.type==="ConditionalExpression"||e.argument.type==="CallExpression")&&O(e.argument,t,{Identifier(a,s){G(a,s),a.type==="Identifier"&&!a._arrayAccessed&&(ce(a),a._arrayAccessed=!0)},MemberExpression(a){ee(a,"",t)},CallExpression(a,s){te(a,s)}});const r=v.createCallExpression(v.createMemberExpression(v.createContextIdentifier(),v.createIdentifier("precision")),[e.argument]);e.argument=r}}function br(e,t,i){e.body&&e.body.type==="BlockStatement"&&(t.pushScope("fn"),i(e.body,t),t.popScope())}function vr(e){it(e,{BinaryExpression(t){if(t.operator==="=="||t.operator==="==="){const i=t.left,r=t.right,a=v.createMathEqCall(i,r);a._transformed=!0,Object.assign(t,a)}}})}function wr(e,t,i){O(e,t,{BlockStatement(r,a,s){r.body.forEach(n=>s(n,a))},ReturnStatement(r,a){yr(r,a)},VariableDeclaration(r,a){oi(r,a)},Identifier(r,a){G(r,a)},CallExpression(r,a){te(r,a)},MemberExpression(r,a){ee(r,i,a)},AssignmentExpression(r,a){ni(r,a)},FunctionDeclaration(r,a,s){br(r,a,s)},ForStatement(r,a,s){dr(r,a,s)},IfStatement(r,a,s){gr(r,a,s)}})}function Cr(e){let t=typeof e=="function"?e.toString():e;const i=Qi(t.trim(),{ecmaVersion:"latest",sourceType:"module"});ur(i);const r=new nr;cr(i,r);const a=lr(i,r)||"";wr(i,r,a),vr(i);const s=rr(i);return new Function("",`return ${s}`)(this)}class f{constructor(t,i=0){this.data=t,this.offset=i}get(t){const i=this.data.length-1-(this.offset+t);return i<0||i>=this.data.length?NaN:this.data[i]}set(t,i){const r=this.data.length-1-(this.offset+t);r>=0&&r<this.data.length&&(this.data[r]=i)}get length(){return this.data.length}toArray(){return this.data}static from(t){return t instanceof f?t:Array.isArray(t)?new f(t):new f([t])}}var Sr=Object.defineProperty,Er=(e,t,i)=>t in e?Sr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,_r=(e,t,i)=>Er(e,typeof t!="symbol"?t+"":t,i);class kr{constructor(t){this.context=t,_r(this,"color",{param:(i,r=0)=>f.from(i).get(r),rgb:(i,r,a,s)=>s?`rgba(${i}, ${r}, ${a}, ${s})`:`rgb(${i}, ${r}, ${a})`,new:(i,r)=>{if(i&&i.startsWith("#")){const a=i.slice(1),s=parseInt(a.slice(0,2),16),n=parseInt(a.slice(2,4),16),u=parseInt(a.slice(4,6),16);return r?`rgba(${s}, ${n}, ${u}, ${r})`:`rgb(${s}, ${n}, ${u})`}return r?`rgba(${i}, ${r})`:i},white:"white",lime:"lime",green:"green",red:"red",maroon:"maroon",black:"black",gray:"gray",blue:"blue"})}extractPlotOptions(t){const i={};for(let r in t)i[r]=f.from(t[r]).get(0);return i}indicator(t,i,r){}plotchar(t,i,r){this.context.plots[i]||(this.context.plots[i]={data:[],options:this.extractPlotOptions(r),title:i});const a=f.from(t).get(0);this.context.plots[i].data.push({time:this.context.marketData[this.context.idx].openTime,value:a,options:{...this.extractPlotOptions(r),style:"char"}})}plot(t,i,r){this.context.plots[i]||(this.context.plots[i]={data:[],options:this.extractPlotOptions(r),title:i});const a=f.from(t).get(0);this.context.plots[i].data.push({time:this.context.marketData[this.context.idx].openTime,value:a,options:this.extractPlotOptions(r)})}na(t){return isNaN(f.from(t).get(0))}nz(t,i=0){const r=f.from(t).get(0),a=f.from(i).get(0);return isNaN(r)?a:r}}function Ar(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Ir(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Pr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Nr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Vr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Tr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Lr(e){return(t,i=0)=>[f.from(t).get(i)]}function Mr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Rr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Br(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Dr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Or(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function jr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Fr(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Ur(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}var qr=Object.defineProperty,$r=(e,t,i)=>t in e?qr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,j=(e,t,i)=>$r(e,typeof t!="symbol"?t+"":t,i);const Gr={any:Ar,bool:Ir,color:Pr,enum:Nr,float:Vr,int:Tr,param:Lr,price:Mr,session:Rr,source:Br,string:Dr,symbol:Or,text_area:jr,time:Fr,timeframe:Ur};class Wr{constructor(t){this.context=t,j(this,"any"),j(this,"bool"),j(this,"color"),j(this,"enum"),j(this,"float"),j(this,"int"),j(this,"param"),j(this,"price"),j(this,"session"),j(this,"source"),j(this,"string"),j(this,"symbol"),j(this,"text_area"),j(this,"time"),j(this,"timeframe"),Object.entries(Gr).forEach(([i,r])=>{this[i]=r(t)})}}function zr(e){return t=>Math.abs(f.from(t).get(0))}function Hr(e){return t=>Math.acos(f.from(t).get(0))}function Kr(e){return t=>Math.asin(f.from(t).get(0))}function Qr(e){return t=>Math.atan(f.from(t).get(0))}function Yr(e){return(...t)=>{const i=t.map(r=>f.from(r).get(0));return i.reduce((r,a)=>r+a,0)/i.length}}function Xr(e){return t=>Math.ceil(f.from(t).get(0))}function Zr(e){return t=>Math.cos(f.from(t).get(0))}function Jr(e){return t=>Math.exp(f.from(t).get(0))}function ea(e){return t=>Math.floor(f.from(t).get(0))}function ta(e){return t=>Math.log(f.from(t).get(0))}function ia(e){return t=>Math.log(f.from(t).get(0))}function ra(e){return t=>Math.log10(f.from(t).get(0))}function aa(e){return(...t)=>{const i=t.map(r=>f.from(r).get(0));return Math.max(...i)}}function sa(e){return(...t)=>{const i=t.map(r=>f.from(r).get(0));return Math.min(...i)}}function na(e){return(t,i,r)=>typeof t=="string"?t:t instanceof f?i?new f(t.data,t.offset+i):t:!Array.isArray(t)&&typeof t=="object"?t:(e.params[r]||(e.params[r]=[]),Array.isArray(t)?new f(t,i||0):(e.params[r].length===0?e.params[r].push(t):e.params[r][e.params[r].length-1]=t,new f(e.params[r],0)))}function oa(e){return(t,i)=>Math.pow(f.from(t).get(0),f.from(i).get(0))}function ua(e){return()=>Math.random()}function ca(e){return t=>Math.round(f.from(t).get(0))}function ha(e){return t=>Math.sin(f.from(t).get(0))}function pa(e){return t=>Math.sqrt(f.from(t).get(0))}function la(e){return(t,i)=>{const r=f.from(i).get(0),a=f.from(t);let s=0;for(let n=0;n<r;n++){const u=a.get(n);isNaN(u)||(s+=u)}return s}}function fa(e){return t=>Math.tan(f.from(t).get(0))}function ma(e){return(t,i)=>{const r=f.from(t).get(0),a=f.from(i).get(0);return isNaN(r)&&isNaN(a)?!0:isNaN(r)||isNaN(a)?!1:Math.abs(r-a)<1e-8}}var da=Object.defineProperty,xa=(e,t,i)=>t in e?da(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,L=(e,t,i)=>xa(e,typeof t!="symbol"?t+"":t,i);const ga={abs:zr,acos:Hr,asin:Kr,atan:Qr,avg:Yr,ceil:Xr,cos:Zr,exp:Jr,floor:ea,ln:ta,log:ia,log10:ra,max:aa,min:sa,param:na,pow:oa,random:ua,round:ca,sin:ha,sqrt:pa,sum:la,tan:fa,__eq:ma};class ya{constructor(t){this.context=t,L(this,"_cache",{}),L(this,"abs"),L(this,"acos"),L(this,"asin"),L(this,"atan"),L(this,"avg"),L(this,"ceil"),L(this,"cos"),L(this,"exp"),L(this,"floor"),L(this,"ln"),L(this,"log"),L(this,"log10"),L(this,"max"),L(this,"min"),L(this,"param"),L(this,"pow"),L(this,"random"),L(this,"round"),L(this,"sin"),L(this,"sqrt"),L(this,"sum"),L(this,"tan"),L(this,"__eq"),Object.entries(ga).forEach(([i,r])=>{this[i]=r(t)})}}function ba(e){return(t,i,r)=>(e.params[r]||(e.params[r]=[]),t instanceof f||Array.isArray(t)?[f.from(t).get(i||0),r]:(e.params[r].length===0?e.params[r].push(t):e.params[r][e.params[r].length-1]=t,[t,r]))}const ui=["1","3","5","15","30","45","60","120","180","240","D","W","M"];function ci(e,t,i,r,a=!1){for(let s=0;s<i.length;s++)if(i[s]<=e&&t<=r[s])return s+(a?1:2);return-1}function va(e){return async(t,i,r,a=!1,s=!1,n=!1,u=null,c=null)=>{const h=t[0],p=i[0],x=r[0],d=r[1],l=ui.indexOf(e.timeframe),g=ui.indexOf(p);if(l==-1||g==-1)throw new Error("Invalid timeframe");if(l>g)throw new Error("Only higher timeframes are supported for now");if(l===g)return x;const S=e.data.openTime[0],_=e.data.closeTime[0];if(e.cache[d]){const ae=e.cache[d],I=ci(S,_,ae.data.openTime,ae.data.closeTime,s);return I==-1?NaN:ae.params[d][I]}const P=await new hi(e.source,h,p,e.limit||1e3,e.sDate,e.eDate).run(e.pineTSCode);e.cache[d]=P;const X=ci(S,_,P.data.openTime,P.data.closeTime,s);return X==-1?NaN:P.params[d][X]}}var wa=Object.defineProperty,Ca=(e,t,i)=>t in e?wa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,st=(e,t,i)=>Ca(e,typeof t!="symbol"?t+"":t,i);const Sa={param:ba,security:va};class Ea{constructor(t){this.context=t,st(this,"_cache",{}),st(this,"param"),st(this,"security"),Object.entries(Sa).forEach(([i,r])=>{this[i]=r(t)})}}function _a(e){return()=>{const t=e.get(e.data.high,0),i=e.get(e.data.low,0),r=e.get(e.data.close,1);return isNaN(r)?t-i:Math.max(t-i,Math.abs(t-r),Math.abs(i-r))}}function ka(e){return(t,i)=>{const r=f.from(t).get(0);e.taState||(e.taState={});const a=i||`atr_${r}`;e.taState[a]||(e.taState[a]={prevAtr:null,initSum:0,initCount:0,prevClose:null});const s=e.taState[a],n=e.get(e.data.high,0),u=e.get(e.data.low,0),c=e.get(e.data.close,0);let h;if(s.prevClose!==null){const x=n-u,d=Math.abs(n-s.prevClose),l=Math.abs(u-s.prevClose);h=Math.max(x,d,l)}else h=n-u;if(s.prevClose=c,s.initCount<r)return s.initSum+=h,s.initCount++,s.initCount===r?(s.prevAtr=s.initSum/r,e.precision(s.prevAtr)):NaN;const p=(s.prevAtr*(r-1)+h)/r;return s.prevAtr=p,e.precision(p)}}function Aa(e){return(t,i=1,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`change_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],u=f.from(t).get(0);if(n.window.unshift(u),n.window.length<=a)return NaN;n.window.length>a+1&&n.window.pop();const c=u-n.window[a];return e.precision(c)}}function Ia(e){return(t,i)=>{const r=f.from(t),a=f.from(i),s=r.get(0),n=a.get(0),u=r.get(1),c=a.get(1);return u<c&&s>n}}function Pa(e){return(t,i)=>{const r=f.from(t),a=f.from(i),s=r.get(0),n=a.get(0),u=r.get(1),c=a.get(1);return u>c&&s<n}}function Na(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`dev_${a}`;e.taState[s]||(e.taState[s]={window:[],sum:0});const n=e.taState[s],u=f.from(t).get(0)||0;if(n.window.unshift(u),n.sum+=u,n.window.length<a)return NaN;if(n.window.length>a){const x=n.window.pop();n.sum-=x}const c=n.sum/a;let h=0;for(let x=0;x<a;x++)h+=Math.abs(n.window[x]-c);const p=h/a;return e.precision(p)}}function Va(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`ema_${a}`;e.taState[s]||(e.taState[s]={prevEma:null,initSum:0,initCount:0});const n=e.taState[s],u=f.from(t).get(0);if(n.initCount<a)return n.initSum+=u,n.initCount++,n.initCount===a?(n.prevEma=n.initSum/a,e.precision(n.prevEma)):NaN;const c=2/(a+1),h=u*c+n.prevEma*(1-c);return n.prevEma=h,e.precision(h)}}function Ta(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`highest_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],u=f.from(t).get(0);if(n.window.unshift(u),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();const c=Math.max(...n.window.filter(h=>!isNaN(h)));return e.precision(c)}}function La(e){return(t,i,r)=>{const a=f.from(i).get(0),s=Math.floor(a/2),n=Math.floor(Math.sqrt(a)),u=e.ta.wma,c=u(t,s,r?`${r}_wma1`:void 0),h=u(t,a,r?`${r}_wma2`:void 0);if(isNaN(c)||isNaN(h))return NaN;e.taState||(e.taState={});const p=r||`hma_raw_${a}`;e.taState[p]||(e.taState[p]=[]);const x=2*c-h;e.taState[p].unshift(x);const d=r?`${r}_hma_final`:`hma_final_${a}`;e.taState[d]||(e.taState[d]={window:[]});const l=e.taState[d];if(l.window.unshift(x),l.window.length<n)return NaN;l.window.length>n&&l.window.pop();let g=0,S=0;for(let P=0;P<n;P++){const X=n-P;g+=l.window[P]*X,S+=X}const _=g/S;return e.precision(_)}}function Ma(e){return(t,i,r,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0);e.taState||(e.taState={});const u=a||`linreg_${s}_${n}`;e.taState[u]||(e.taState[u]={window:[]});const c=e.taState[u],h=f.from(t).get(0);if(c.window.unshift(h),c.window.length<s)return NaN;c.window.length>s&&c.window.pop();let p=0,x=0,d=0,l=0;const g=s;for(let X=0;X<s;X++){const ae=s-1-X,I=c.window[X];p+=ae,x+=I,d+=ae*I,l+=ae*ae}const S=g*l-p*p;if(S===0)return NaN;const _=(g*d-p*x)/S,P=(x-_*p)/g+_*(s-1-n);return e.precision(P)}}function Ra(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`lowest_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],u=f.from(t).get(0);if(n.window.unshift(u),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();const c=n.window.filter(p=>!isNaN(p)&&p!==void 0),h=c.length>0?Math.min(...c):NaN;return e.precision(h)}}function Ba(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`median_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],u=f.from(t).get(0);if(n.window.unshift(u),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();const c=n.window.slice().sort((x,d)=>x-d),h=Math.floor(a/2),p=a%2===0?(c[h-1]+c[h])/2:c[h];return e.precision(p)}}function Da(e){return(t,i,r)=>{const a=f.from(i).get(0);return e.ta.change(t,a)}}function Oa(e){return(t,i,r)=>t instanceof f?i?new f(t.data,t.offset+i):t:(e.params[r]||(e.params[r]=[]),Array.isArray(t)?new f(t,i||0):(e.params[r].length===0?e.params[r].push(t):e.params[r][e.params[r].length-1]=t,new f(e.params[r],0)))}function ja(e,t,i){const r=new Array(e.length).fill(NaN);for(let a=t+i;a<e.length;a++){const s=e[a-i];let n=!0;for(let u=1;u<=t;u++)if(e[a-i-u]>=s){n=!1;break}if(n){for(let u=1;u<=i;u++)if(e[a-i+u]>=s){n=!1;break}}n&&(r[a]=s)}return r}function Fa(e){return(t,i,r)=>{r==null&&(r=i,i=t,t=e.data.high);const a=f.from(i).get(0),s=f.from(r).get(0),n=f.from(t).toArray(),u=ja(n,a,s),c=e.idx;return e.precision(u[c])}}function Ua(e,t,i){const r=new Array(e.length).fill(NaN);for(let a=t+i;a<e.length;a++){const s=e[a-i];let n=!0;for(let u=1;u<=t;u++)if(e[a-i-u]<=s){n=!1;break}if(n){for(let u=1;u<=i;u++)if(e[a-i+u]<=s){n=!1;break}}n&&(r[a]=s)}return r}function qa(e){return(t,i,r)=>{r==null&&(r=i,i=t,t=e.data.low);const a=f.from(i).get(0),s=f.from(r).get(0),n=f.from(t).toArray(),u=Ua(n,a,s),c=e.idx;return e.precision(u[c])}}function $a(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`rma_${a}`;e.taState[s]||(e.taState[s]={prevRma:null,initSum:0,initCount:0});const n=e.taState[s],u=f.from(t).get(0)||0;if(n.initCount<a)return n.initSum+=u,n.initCount++,n.initCount===a?(n.prevRma=n.initSum/a,e.precision(n.prevRma)):NaN;const c=1/a,h=u*c+n.prevRma*(1-c);return n.prevRma=h,e.precision(h)}}function Ga(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`roc_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],u=f.from(t).get(0);if(n.window.unshift(u),n.window.length<=a)return NaN;n.window.length>a+1&&n.window.pop();const c=n.window[a],h=(u-c)/c*100;return e.precision(h)}}function Wa(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`rsi_${a}`;e.taState[s]||(e.taState[s]={prevValue:null,avgGain:0,avgLoss:0,initGains:[],initLosses:[]});const n=e.taState[s],u=f.from(t).get(0);if(n.prevValue!==null){const c=u-n.prevValue,h=c>0?c:0,p=c<0?-c:0;if(n.initGains.length<a){if(n.initGains.push(h),n.initLosses.push(p),n.initGains.length===a){n.avgGain=n.initGains.reduce((l,g)=>l+g,0)/a,n.avgLoss=n.initLosses.reduce((l,g)=>l+g,0)/a,n.prevValue=u;const d=n.avgLoss===0?100:100-100/(1+n.avgGain/n.avgLoss);return e.precision(d)}return n.prevValue=u,NaN}n.avgGain=(n.avgGain*(a-1)+h)/a,n.avgLoss=(n.avgLoss*(a-1)+p)/a;const x=n.avgLoss===0?100:100-100/(1+n.avgGain/n.avgLoss);return n.prevValue=u,e.precision(x)}return n.prevValue=u,NaN}}function za(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`sma_${a}`;e.taState[s]||(e.taState[s]={window:[],sum:0});const n=e.taState[s],u=f.from(t).get(0)||0;if(n.window.unshift(u),n.sum+=u,n.window.length<a)return NaN;if(n.window.length>a){const h=n.window.pop();n.sum-=h}const c=n.sum/a;return e.precision(c)}}function Ha(e){return(t,i,r=!0,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0);e.taState||(e.taState={});const u=a||`stdev_${s}_${n}`;e.taState[u]||(e.taState[u]={window:[],sum:0});const c=e.taState[u],h=f.from(t).get(0);if(c.window.unshift(h),c.sum+=h,c.window.length<s)return NaN;if(c.window.length>s){const g=c.window.pop();c.sum-=g}const p=c.sum/s;let x=0;for(let g=0;g<s;g++)x+=Math.pow(c.window[g]-p,2);const d=n?s:s-1,l=Math.sqrt(x/d);return e.precision(l)}}function Ka(e){return(t,i,r)=>{const a=f.from(t).get(0),s=f.from(i).get(0);e.taState||(e.taState={});const n=`supertrend_${a}_${s}`;e.taState[n]||(e.taState[n]={prevUpperBand:null,prevLowerBand:null,prevSupertrend:null,prevDirection:null});const u=e.taState[n],c=e.get(e.data.high,0),h=e.get(e.data.low,0),p=e.get(e.data.close,0),x=e.get(e.data.close,1),d=e.ta.atr(s,r?`${r}_atr`:void 0);if(isNaN(d))return[[NaN,0]];const l=(c+h)/2;let g=l+a*d,S=l-a*d;u.prevUpperBand!==null&&(g<u.prevUpperBand||x>u.prevUpperBand?g=g:g=u.prevUpperBand,S>u.prevLowerBand||x<u.prevLowerBand?S=S:S=u.prevLowerBand);let _,P;return u.prevSupertrend===null?(_=p<=g?-1:1,P=_===-1?g:S):u.prevSupertrend===u.prevUpperBand?p>g?(_=1,P=S):(_=-1,P=g):p<S?(_=-1,P=g):(_=1,P=S),u.prevUpperBand=g,u.prevLowerBand=S,u.prevSupertrend=P,u.prevDirection=_,[[e.precision(P),_]]}}function Qa(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`variance_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],u=f.from(t).get(0);if(n.window.unshift(u),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();let c=0,h=0;for(let d=0;d<a;d++)c+=n.window[d],h+=n.window[d]*n.window[d];const p=c/a,x=h/a-p*p;return e.precision(x)}}function Ya(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`vwma_${a}`;e.taState[s]||(e.taState[s]={window:[],volumeWindow:[]});const n=e.taState[s],u=f.from(t).get(0),c=e.get(e.data.volume,0);if(n.window.unshift(u),n.volumeWindow.unshift(c),n.window.length<a)return NaN;n.window.length>a&&(n.window.pop(),n.volumeWindow.pop());let h=0,p=0;for(let d=0;d<a;d++)h+=n.window[d]*n.volumeWindow[d],p+=n.volumeWindow[d];const x=h/p;return e.precision(x)}}function Xa(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`wma_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],u=f.from(t).get(0);if(n.window.unshift(u),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();let c=0,h=0;for(let x=0;x<a;x++){const d=a-x;c+=n.window[x]*d,h+=d}const p=c/h;return e.precision(p)}}var Za=Object.defineProperty,Ja=(e,t,i)=>t in e?Za(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,V=(e,t,i)=>Ja(e,typeof t!="symbol"?t+"":t,i);const es={tr:_a},ts={atr:ka,change:Aa,crossover:Ia,crossunder:Pa,dev:Na,ema:Va,highest:Ta,hma:La,linreg:Ma,lowest:Ra,median:Ba,mom:Da,param:Oa,pivothigh:Fa,pivotlow:qa,rma:$a,roc:Ga,rsi:Wa,sma:za,stdev:Ha,supertrend:Ka,variance:Qa,vwma:Ya,wma:Xa};class is{constructor(t){this.context=t,V(this,"tr"),V(this,"atr"),V(this,"change"),V(this,"crossover"),V(this,"crossunder"),V(this,"dev"),V(this,"ema"),V(this,"highest"),V(this,"hma"),V(this,"linreg"),V(this,"lowest"),V(this,"median"),V(this,"mom"),V(this,"param"),V(this,"pivothigh"),V(this,"pivotlow"),V(this,"rma"),V(this,"roc"),V(this,"rsi"),V(this,"sma"),V(this,"stdev"),V(this,"supertrend"),V(this,"variance"),V(this,"vwma"),V(this,"wma"),Object.entries(es).forEach(([i,r])=>{Object.defineProperty(this,i,{get:r(t),enumerable:!0})}),Object.entries(ts).forEach(([i,r])=>{this[i]=r(t)})}}class U{constructor(t){this.array=t}toString(){return"PineArrayObject:"+this.array.toString()}}function rs(e){return t=>new U(t.array.map(i=>Math.abs(i)))}function as(e){return t=>e.array.sum(t)/t.array.length}function ss(e){return t=>{t.array.length=0}}function ns(e){return(t,i)=>(t.array.push(...i.array),t)}function os(e){return t=>new U([...t.array])}function us(e){return(t,i,r=!0)=>{if(t.array.length!==i.array.length||t.array.length<2)return NaN;const a=r?t.array.length:t.array.length-1,s=e.array.avg(t),n=e.array.avg(i);let u=0;for(let c=0;c<t.array.length;c++)u+=(t.array[c]-s)*(i.array[c]-n);return u/a}}function cs(e){return(t,i)=>t.array.every(i)}function hs(e){return(t,i,r=0,a)=>{const s=t.array.length,n=a!==void 0?Math.min(a,s):s;for(let u=r;u<n;u++)t.array[u]=i}}function ps(e){return t=>t.array.length>0?t.array[0]:e.NA}function ls(e){return t=>new U([...t])}function fs(e){return(t,i)=>t.array[i]}function ms(e){return(t,i)=>t.array.includes(i)}function ds(e){return(t,i)=>t.array.indexOf(i)}function xs(e){return(t,i,r)=>{t.array.splice(i,0,r)}}function gs(e){return(t,i=",")=>t.array.join(i)}function ys(e){return t=>t.array.length>0?t.array[t.array.length-1]:e.NA}function bs(e){return(t,i)=>t.array.lastIndexOf(i)}function vs(e){return(t,i=0)=>[...t.array].sort((r,a)=>a-r)[i]??e.NA}function ws(e){return(t,i=0)=>[...t.array].sort((r,a)=>r-a)[i]??e.NA}function Cs(e){return(t,i)=>new U(Array(t).fill(i))}function Ss(e){return(t,i=!1)=>new U(Array(t).fill(i))}function Es(e){return(t,i=NaN)=>new U(Array(t).fill(i))}function _s(e){return(t,i=0)=>new U(Array(t).fill(Math.round(i)))}function ks(e){return(t,i="")=>new U(Array(t).fill(i))}function As(e){return(t,i=0)=>f.from(t).get(i)}function Is(e){return t=>t.array.pop()}function Ps(e){return(t,i)=>{t.array.push(i)}}function Ns(e){return t=>e.array.max(t)-e.array.min(t)}function Vs(e){return(t,i)=>i>=0&&i<t.array.length?t.array.splice(i,1)[0]:e.NA}function Ts(e){return t=>{t.array.reverse()}}function Ls(e){return(t,i,r)=>{t.array[i]=r}}function Ms(e){return t=>t.array.shift()}function Rs(e){return t=>t.array.length}function Bs(e){return(t,i,r)=>{const a=r!==void 0?r+1:void 0;return new U(t.array.slice(i,a))}}function Ds(e){return(t,i)=>t.array.some(i)}function Os(e){return(t,i="asc")=>{t.array.sort((r,a)=>i==="asc"?r-a:a-r)}}function js(e){return(t,i)=>{const r=t.array.map((a,s)=>s);return r.sort((a,s)=>{const n=t.array[a],u=t.array[s];return i?i(n,u):n-u}),new U(r)}}function Fs(e){return t=>{const i=e.array.avg(t),r=e.array.stdev(t);return r===0?new U(t.array.map(()=>0)):new U(t.array.map(a=>(a-i)/r))}}function Us(e){return(t,i=!0)=>{const r=e.array.avg(t),a=t.array.map(n=>Math.pow(n-r,2)),s=i?t.array.length:t.array.length-1;return Math.sqrt(e.array.sum(new U(a))/s)}}function qs(e){return t=>t.array.reduce((i,r)=>i+(isNaN(r)?0:r),0)}function $s(e){return(t,i)=>{t.array.unshift(i)}}function Gs(e){return(t,i=!0)=>{const r=e.array.avg(t),a=t.array.map(n=>Math.pow(n-r,2)),s=i?t.array.length:t.array.length-1;return e.array.sum(new U(a))/s}}var Ws=Object.defineProperty,zs=(e,t,i)=>t in e?Ws(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,C=(e,t,i)=>zs(e,typeof t!="symbol"?t+"":t,i);const Hs={abs:rs,avg:as,clear:ss,concat:ns,copy:os,covariance:us,every:cs,fill:hs,first:ps,from:ls,get:fs,includes:ms,indexof:ds,insert:xs,join:gs,last:ys,lastindexof:bs,max:vs,min:ws,new:Cs,new_bool:Ss,new_float:Es,new_int:_s,new_string:ks,param:As,pop:Is,push:Ps,range:Ns,remove:Vs,reverse:Ts,set:Ls,shift:Ms,size:Rs,slice:Bs,some:Ds,sort:Os,sort_indices:js,standardize:Fs,stdev:Us,sum:qs,unshift:$s,variance:Gs};class Ks{constructor(t){this.context=t,C(this,"_cache",{}),C(this,"abs"),C(this,"avg"),C(this,"clear"),C(this,"concat"),C(this,"copy"),C(this,"covariance"),C(this,"every"),C(this,"fill"),C(this,"first"),C(this,"from"),C(this,"get"),C(this,"includes"),C(this,"indexof"),C(this,"insert"),C(this,"join"),C(this,"last"),C(this,"lastindexof"),C(this,"max"),C(this,"min"),C(this,"new"),C(this,"new_bool"),C(this,"new_float"),C(this,"new_int"),C(this,"new_string"),C(this,"param"),C(this,"pop"),C(this,"push"),C(this,"range"),C(this,"remove"),C(this,"reverse"),C(this,"set"),C(this,"shift"),C(this,"size"),C(this,"slice"),C(this,"some"),C(this,"sort"),C(this,"sort_indices"),C(this,"standardize"),C(this,"stdev"),C(this,"sum"),C(this,"unshift"),C(this,"variance"),Object.entries(Hs).forEach(([i,r])=>{this[i]=r(t)})}}var Qs=Object.defineProperty,Ys=(e,t,i)=>t in e?Qs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,N=(e,t,i)=>Ys(e,typeof t!="symbol"?t+"":t,i);class nt{constructor({marketData:t,source:i,tickerId:r,timeframe:a,limit:s,sDate:n,eDate:u}){N(this,"data",{open:[],high:[],low:[],close:[],volume:[],hl2:[],hlc3:[],ohlc4:[]}),N(this,"cache",{}),N(this,"taState",{}),N(this,"NA",NaN),N(this,"math"),N(this,"ta"),N(this,"input"),N(this,"request"),N(this,"array"),N(this,"core"),N(this,"lang"),N(this,"idx",0),N(this,"params",{}),N(this,"const",{}),N(this,"var",{}),N(this,"let",{}),N(this,"result"),N(this,"plots",{}),N(this,"marketData"),N(this,"source"),N(this,"tickerId"),N(this,"timeframe",""),N(this,"limit"),N(this,"sDate"),N(this,"eDate"),N(this,"pineTSCode"),this.marketData=t,this.source=i,this.tickerId=r,this.timeframe=a,this.limit=s,this.sDate=n,this.eDate=u,this.math=new ya(this),this.ta=new is(this),this.input=new Wr(this),this.request=new Ea(this),this.array=new Ks(this);const c=new kr(this);this.core={plotchar:c.plotchar.bind(c),na:c.na.bind(c),color:c.color,plot:c.plot.bind(c),nz:c.nz.bind(c)}}init(t,i,r=0){return i instanceof f&&(i=i.get(0)),t?!Array.isArray(i)||Array.isArray(i[0])?t[t.length-1]=Array.isArray(i?.[0])?i[0]:this.precision(i):t[t.length-1]=this.precision(i[i.length-1+r]):Array.isArray(i)?t=[this.precision(i[i.length-1+r])]:t=[this.precision(i)],t}precision(t,i=10){return typeof t!="number"||isNaN(t)?t:Number(t.toFixed(i))}param(t,i,r){return typeof t=="string"?t:t instanceof f?i?new f(t.data,t.offset+i):t:!Array.isArray(t)&&typeof t=="object"?t:(this.params[r]||(this.params[r]=[]),Array.isArray(t)?new f(t,i||0):(this.params[r].length===0?this.params[r].push(t):this.params[r][this.params[r].length-1]=t,new f(this.params[r],0)))}get(t,i){if(t instanceof f)return t.get(i);if(Array.isArray(t)){const r=t.length-1-i;return r<0||r>=t.length?NaN:t[r]}return t}set(t,i){if(t instanceof f){t.set(0,i);return}if(Array.isArray(t)){t.length>0?t[t.length-1]=i:t.push(i);return}}}var Xs=Object.defineProperty,Zs=(e,t,i)=>t in e?Xs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,q=(e,t,i)=>Zs(e,typeof t!="symbol"?t+"":t,i);class hi{constructor(t,i,r,a,s,n){this.source=t,this.tickerId=i,this.timeframe=r,this.limit=a,this.sDate=s,this.eDate=n,q(this,"data",[]),q(this,"open",[]),q(this,"high",[]),q(this,"low",[]),q(this,"close",[]),q(this,"volume",[]),q(this,"hl2",[]),q(this,"hlc3",[]),q(this,"ohlc4",[]),q(this,"openTime",[]),q(this,"closeTime",[]),q(this,"_readyPromise",null),q(this,"_ready",!1),q(this,"_transpiledCode",null),this._readyPromise=new Promise(u=>{this.loadMarketData(t,i,r,a,s,n).then(c=>{const h=c;this.data=h;const p=h.map(I=>I.open),x=h.map(I=>I.close),d=h.map(I=>I.high),l=h.map(I=>I.low),g=h.map(I=>I.volume),S=h.map(I=>(I.high+I.low+I.close)/3),_=h.map(I=>(I.high+I.low)/2),P=h.map(I=>(I.high+I.low+I.open+I.close)/4),X=h.map(I=>I.openTime),ae=h.map(I=>I.closeTime);this.open=p,this.close=x,this.high=d,this.low=l,this.volume=g,this.hl2=_,this.hlc3=S,this.ohlc4=P,this.openTime=X,this.closeTime=ae,this._ready=!0,u(!0)})})}get transpiledCode(){return this._transpiledCode}async loadMarketData(t,i,r,a,s,n){return Array.isArray(t)?t:t.getMarketData(i,r,a,s,n)}async ready(){if(this._ready)return!0;if(!this._readyPromise)throw new Error("PineTS is not ready");return this._readyPromise}run(t,i,r){if(r&&r>0){const a=typeof this.eDate>"u"&&!Array.isArray(this.source);return this._runPaginated(t,i,r,a)}else return this._runComplete(t,i)}async _runComplete(t,i){await this.ready(),i||(i=this.data.length);const r=this._initializeContext(t);return this._transpiledCode=this._transpileCode(t),await this._executeIterations(r,this._transpiledCode,this.data.length-i,this.data.length),r}async*_runPaginated(t,i,r,a=!1){await this.ready(),i||(i=this.data.length);const s=this._initializeContext(t);this._transpiledCode=this._transpileCode(t);let n=this.data.length-i;for(;;){const u=this.data.length-n;if(u>0){const p=Math.min(u,r),x=this._getResultLength(s.result);await this._executeIterations(s,this._transpiledCode,n,n+p),n+=p,yield this._createPageContext(s,x);continue}if(!a||Array.isArray(this.source))break;const{newCandles:c,updatedLastCandle:h}=await this._updateMarketData();if(c===0&&!h){yield null;continue}this._removeLastResult(s),n=this.data.length-(c+1)}}_getResultLength(t){if(Array.isArray(t))return t.length;if(typeof t=="object"&&t!==null){const i=Object.keys(t);if(i.length>0&&Array.isArray(t[i[0]]))return t[i[0]].length}return 0}_createPageContext(t,i){const r=new nt({marketData:this.data,source:this.source,tickerId:this.tickerId,timeframe:this.timeframe,limit:this.limit,sDate:this.sDate,eDate:this.eDate});if(r.pineTSCode=t.pineTSCode,r.idx=t.idx,Array.isArray(t.result))r.result=t.result.slice(i);else if(typeof t.result=="object"&&t.result!==null){r.result={};for(let a in t.result)Array.isArray(t.result[a])?r.result[a]=t.result[a].slice(i):r.result[a]=t.result[a]}else r.result=t.result;return r.plots={...t.plots},r}async _updateMarketData(t){if(Array.isArray(this.source))return{newCandles:0,updatedLastCandle:!1};const i=this.source,r=this.data.length-1,a=this.data[r].openTime;try{const s=await i.getMarketData(this.tickerId,this.timeframe,void 0,a,t);if(!s||s.length===0)return{newCandles:0,updatedLastCandle:!1};let n=!1,u=0;for(let c=0;c<s.length;c++){const h=s[c];h.openTime===a?(this._replaceCandle(r,h),n=!0):h.openTime>a&&(this._appendCandle(h),u++)}return{newCandles:u,updatedLastCandle:n}}catch(s){return console.error("Error updating market data:",s),{newCandles:0,updatedLastCandle:!1}}}_replaceCandle(t,i){this.data[t]=i,this.open[t]=i.open,this.close[t]=i.close,this.high[t]=i.high,this.low[t]=i.low,this.volume[t]=i.volume,this.hl2[t]=(i.high+i.low)/2,this.hlc3[t]=(i.high+i.low+i.close)/3,this.ohlc4[t]=(i.high+i.low+i.open+i.close)/4,this.openTime[t]=i.openTime,this.closeTime[t]=i.closeTime}_appendCandle(t){this.data.push(t),this.open.push(t.open),this.close.push(t.close),this.high.push(t.high),this.low.push(t.low),this.volume.push(t.volume),this.hl2.push((t.high+t.low)/2),this.hlc3.push((t.high+t.low+t.close)/3),this.ohlc4.push((t.high+t.low+t.open+t.close)/4),this.openTime.push(t.openTime),this.closeTime.push(t.closeTime)}_removeLastResult(t){if(Array.isArray(t.result))t.result.pop();else if(typeof t.result=="object"&&t.result!==null)for(let i in t.result)Array.isArray(t.result[i])&&t.result[i].pop();t.data.close.pop(),t.data.open.pop(),t.data.high.pop(),t.data.low.pop(),t.data.volume.pop(),t.data.hl2.pop(),t.data.hlc3.pop(),t.data.ohlc4.pop(),t.data.openTime.pop(),t.data.closeTime&&t.data.closeTime.pop()}_initializeContext(t){const i=new nt({marketData:this.data,source:this.source,tickerId:this.tickerId,timeframe:this.timeframe,limit:this.limit,sDate:this.sDate,eDate:this.eDate});return i.pineTSCode=t,i.data.close=[],i.data.open=[],i.data.high=[],i.data.low=[],i.data.volume=[],i.data.hl2=[],i.data.hlc3=[],i.data.ohlc4=[],i.data.openTime=[],i.data.closeTime=[],i}_transpileCode(t){return Cr.bind(this)(t)}async _executeIterations(t,i,r,a){const s=["const","var","let","params"];for(let n=r;n<a;n++){t.idx=n,t.data.close.push(this.close[n]),t.data.open.push(this.open[n]),t.data.high.push(this.high[n]),t.data.low.push(this.low[n]),t.data.volume.push(this.volume[n]),t.data.hl2.push(this.hl2[n]),t.data.hlc3.push(this.hlc3[n]),t.data.ohlc4.push(this.ohlc4[n]),t.data.openTime.push(this.openTime[n]);const u=await i(t);if(typeof u=="object"){typeof t.result!="object"&&(t.result={});for(let c in u){t.result[c]===void 0&&(t.result[c]=[]);const h=Array.isArray(u[c])?u[c][u[c].length-1]:u[c];t.result[c].push(h)}}else Array.isArray(t.result)||(t.result=[]),t.result.push(u);for(let c of s)for(let h in t[c])if(Array.isArray(t[c][h])){const p=t[c][h],x=p[p.length-1];p.push(x)}}}}var Js=Object.defineProperty,en=(e,t,i)=>t in e?Js(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ot=(e,t,i)=>en(e,typeof t!="symbol"?t+"":t,i);const tn="https://api.binance.com/api/v3",ut={1:"1m",3:"3m",5:"5m",15:"15m",30:"30m",45:null,60:"1h",120:"2h",180:null,240:"4h","4H":"4h","1D":"1d",D:"1d","1W":"1w",W:"1w","1M":"1M",M:"1M"};class rn{constructor(t=5*60*1e3){ot(this,"cache"),ot(this,"cacheDuration"),this.cache=new Map,this.cacheDuration=t}generateKey(t){return Object.entries(t).filter(([i,r])=>r!==void 0).map(([i,r])=>`${i}:${r}`).join("|")}get(t){const i=this.generateKey(t),r=this.cache.get(i);return r?Date.now()-r.timestamp>this.cacheDuration?(this.cache.delete(i),null):r.data:null}set(t,i){const r=this.generateKey(t);this.cache.set(r,{data:i,timestamp:Date.now()})}clear(){this.cache.clear()}cleanup(){const t=Date.now();for(const[i,r]of this.cache.entries())t-r.timestamp>this.cacheDuration&&this.cache.delete(i)}}class an{constructor(){ot(this,"cacheManager"),this.cacheManager=new rn(5*60*1e3)}async getMarketDataInterval(t,i,r,a){try{const s=ut[i.toUpperCase()];if(!s)return console.error(`Unsupported timeframe: ${i}`),[];const n={"1m":60*1e3,"3m":3*60*1e3,"5m":5*60*1e3,"15m":15*60*1e3,"30m":30*60*1e3,"1h":60*60*1e3,"2h":2*60*60*1e3,"4h":4*60*60*1e3,"1d":24*60*60*1e3,"1w":7*24*60*60*1e3,"1M":30*24*60*60*1e3};let u=[],c=r;const h=a,p=n[s];if(!p)return console.error(`Duration not defined for interval: ${s}`),[];for(;c<h;){const x=Math.min(c+1e3*p,h),d=await this.getMarketData(t,i,1e3,c,x);if(d.length===0)break;u=u.concat(d),c=d[d.length-1].closeTime+1}return u}catch(s){return console.error("Error in getMarketDataInterval:",s),[]}}async getMarketData(t,i,r,a,s){try{const n={tickerId:t,timeframe:i,limit:r,sDate:a,eDate:s},u=this.cacheManager.get(n);if(u)return console.log("cache hit",t,i,r,a,s),u;const c=ut[i.toUpperCase()];if(!c)return console.error(`Unsupported timeframe: ${i}`),[];if(this.shouldPaginate(i,r,a,s)&&a&&s){const d=await this.getMarketDataInterval(t,i,a,s),l=r?d.slice(0,r):d;return this.cacheManager.set(n,l),l}let h=`${tn}/klines?symbol=${t}&interval=${c}`;r&&(h+=`&limit=${Math.min(r,1e3)}`),a&&(h+=`&startTime=${a}`),s&&(h+=`&endTime=${s}`);const p=await fetch(h);if(!p.ok)throw new Error(`HTTP error! status: ${p.status}`);const x=(await p.json()).map(d=>({openTime:parseInt(d[0]),open:parseFloat(d[1]),high:parseFloat(d[2]),low:parseFloat(d[3]),close:parseFloat(d[4]),volume:parseFloat(d[5]),closeTime:parseInt(d[6]),quoteAssetVolume:parseFloat(d[7]),numberOfTrades:parseInt(d[8]),takerBuyBaseAssetVolume:parseFloat(d[9]),takerBuyQuoteAssetVolume:parseFloat(d[10]),ignore:d[11]}));return this.cacheManager.set(n,x),x}catch(n){return console.error("Error in binance.klines:",n),[]}}shouldPaginate(t,i,r,a){if(i&&i>1e3)return!0;if(r&&a){const s=ut[t.toUpperCase()],n={"1m":60*1e3,"3m":3*60*1e3,"5m":5*60*1e3,"15m":15*60*1e3,"30m":30*60*1e3,"1h":60*60*1e3,"2h":2*60*60*1e3,"4h":4*60*60*1e3,"1d":24*60*60*1e3,"1w":7*24*60*60*1e3,"1M":30*24*60*60*1e3}[s];if(n)return Math.ceil((a-r)/n)>1e3}return!1}}class sn{async getMarketData(){return[]}}const nn=typeof process<"u"&&process.versions&&process.versions.node;let je=null;if(nn)try{je=new sn}catch{je=null}const on={Binance:new an,...je?{Mock:je}:{}};he.Context=nt,he.PineTS=hi,he.Provider=on,Object.defineProperty(he,"__esModule",{value:!0})});
30
+ `).length-1,this.mapping={original:null,generated:this,name:void 0,source:i.sourceMap.file||i.sourceMap._file})}write(t){this.output+=t}writeToStream(t){this.output.write(t)}writeAndMap(t,i){this.output+=t,this.map(t,i)}writeToStreamAndMap(t,i){this.output.write(t),this.map(t,i)}map(t,i){if(i!=null){const{type:s}=i;if(s[0]==="L"&&s[2]==="n"){this.column=0,this.line++;return}if(i.loc!=null){const{mapping:n}=this;n.original=i.loc.start,n.name=i.name,this.sourceMap.addMapping(n)}if(s[0]==="T"&&s[8]==="E"||s[0]==="L"&&s[1]==="i"&&typeof i.value=="string"){const{length:n}=t;let{column:o,line:u}=this;for(let c=0;c<n;c++)t[c]===`
31
+ `?(o=0,u++):o++;this.column=o,this.line=u;return}}const{length:r}=t,{lineEnd:a}=this;r>0&&(this.lineEndSize>0&&(a.length===1?t[r-1]===a:t.endsWith(a))?(this.line+=this.lineEndSize,this.column=0):this.column+=r)}toString(){return this.output}}function br(e,t){const i=new yr(t);return i.generator[e.type](e,i),i.output}var vr=Object.defineProperty,wr=(e,t,i)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,F=(e,t,i)=>wr(e,typeof t!="symbol"?t+"":t,i);const Sr=new Set(["Infinity","NaN","undefined","null","true","false"]),Cr=new Set(["Math","Array","Object","String","Number","Boolean","Date","RegExp","Error","JSON","Promise","Set","Map","WeakSet","WeakMap","Symbol","BigInt","Proxy","Reflect","console","isNaN","isFinite","parseInt","parseFloat","encodeURI","decodeURI","encodeURIComponent","decodeURIComponent"]);class Nr{constructor(){F(this,"scopes",[]),F(this,"scopeTypes",[]),F(this,"scopeCounts",new Map),F(this,"contextBoundVars",new Set),F(this,"arrayPatternElements",new Set),F(this,"rootParams",new Set),F(this,"localSeriesVars",new Set),F(this,"varKinds",new Map),F(this,"loopVars",new Set),F(this,"loopVarNames",new Map),F(this,"paramIdCounter",0),F(this,"cacheIdCounter",0),F(this,"tempVarCounter",0),F(this,"taCallIdCounter",0),F(this,"hoistingStack",[]),F(this,"suppressHoisting",!1),this.pushScope("glb")}get nextParamIdArg(){return{type:"Identifier",name:`'p${this.paramIdCounter++}'`}}get nextCacheIdArg(){return{type:"Identifier",name:`'cache_${this.cacheIdCounter++}'`}}getNextTACallId(){return{type:"Literal",value:`_ta${this.taCallIdCounter++}`}}pushScope(t){this.scopes.push(new Map),this.scopeTypes.push(t),this.scopeCounts.set(t,(this.scopeCounts.get(t)||0)+1)}popScope(){this.scopes.pop(),this.scopeTypes.pop()}getCurrentScopeType(){return this.scopeTypes[this.scopeTypes.length-1]}getCurrentScopeCount(){return this.scopeCounts.get(this.getCurrentScopeType())||1}addLocalSeriesVar(t){this.localSeriesVars.add(t)}isLocalSeriesVar(t){return this.localSeriesVars.has(t)}addContextBoundVar(t,i=!1){this.contextBoundVars.add(t),i&&this.rootParams.add(t)}removeContextBoundVar(t){this.contextBoundVars.has(t)&&(this.contextBoundVars.delete(t),this.rootParams.has(t)&&this.rootParams.delete(t))}addArrayPatternElement(t){this.arrayPatternElements.add(t)}isContextBound(t){return Sr.has(t)||Cr.has(t)?!1:this.contextBoundVars.has(t)}isArrayPatternElement(t){return this.arrayPatternElements.has(t)}isRootParam(t){return this.rootParams.has(t)}addLoopVariable(t,i){this.loopVars.add(t),this.loopVarNames.set(t,i)}getLoopVariableName(t){return this.loopVarNames.get(t)}isLoopVariable(t){return this.loopVars.has(t)}addVariable(t,i){if(this.isContextBound(t))return t;const r=this.scopes[this.scopes.length-1],a=this.scopeTypes[this.scopeTypes.length-1],s=this.scopeCounts.get(a)||1,n=`${a}${s}_${t}`;return r.set(t,n),this.varKinds.set(n,i),n}getVariable(t){if(this.loopVars.has(t)){const i=this.loopVarNames.get(t);if(i)return[i,"let"]}if(this.isContextBound(t))return[t,"let"];for(let i=this.scopes.length-1;i>=0;i--){const r=this.scopes[i];if(r.has(t)){const a=r.get(t),s=this.varKinds.get(a)||"let";return[a,s]}}return[t,"let"]}generateTempVar(){return`temp_${++this.tempVarCounter}`}enterHoistingScope(){this.hoistingStack.push([])}exitHoistingScope(){return this.hoistingStack.pop()||[]}addHoistedStatement(t){this.hoistingStack.length>0&&!this.suppressHoisting&&this.hoistingStack[this.hoistingStack.length-1].push(t)}setSuppressHoisting(t){this.suppressHoisting=t}shouldSuppressHoisting(){return this.suppressHoisting}generateParamId(){return`p${this.paramIdCounter++}`}}function pt(e,t,i,r,a){i||(i=y),function s(n,o,u){var c=u||n.type;i[c](n,o,s),t[c]&&t[c](n,o)}(e,r,a)}function j(e,t,i,r,a){var s=i?_r(i,r||void 0):r;(function n(o,u,c){s[c||o.type](o,u,n)})(e,t,a)}function _r(e,t){var i=Object.create(t||y);for(var r in e)i[r]=e[r];return i}function ht(e,t,i){i(e,t)}function be(e,t,i){}var y={};y.Program=y.BlockStatement=y.StaticBlock=function(e,t,i){for(var r=0,a=e.body;r<a.length;r+=1){var s=a[r];i(s,t,"Statement")}},y.Statement=ht,y.EmptyStatement=be,y.ExpressionStatement=y.ParenthesizedExpression=y.ChainExpression=function(e,t,i){return i(e.expression,t,"Expression")},y.IfStatement=function(e,t,i){i(e.test,t,"Expression"),i(e.consequent,t,"Statement"),e.alternate&&i(e.alternate,t,"Statement")},y.LabeledStatement=function(e,t,i){return i(e.body,t,"Statement")},y.BreakStatement=y.ContinueStatement=be,y.WithStatement=function(e,t,i){i(e.object,t,"Expression"),i(e.body,t,"Statement")},y.SwitchStatement=function(e,t,i){i(e.discriminant,t,"Expression");for(var r=0,a=e.cases;r<a.length;r+=1){var s=a[r];i(s,t)}},y.SwitchCase=function(e,t,i){e.test&&i(e.test,t,"Expression");for(var r=0,a=e.consequent;r<a.length;r+=1){var s=a[r];i(s,t,"Statement")}},y.ReturnStatement=y.YieldExpression=y.AwaitExpression=function(e,t,i){e.argument&&i(e.argument,t,"Expression")},y.ThrowStatement=y.SpreadElement=function(e,t,i){return i(e.argument,t,"Expression")},y.TryStatement=function(e,t,i){i(e.block,t,"Statement"),e.handler&&i(e.handler,t),e.finalizer&&i(e.finalizer,t,"Statement")},y.CatchClause=function(e,t,i){e.param&&i(e.param,t,"Pattern"),i(e.body,t,"Statement")},y.WhileStatement=y.DoWhileStatement=function(e,t,i){i(e.test,t,"Expression"),i(e.body,t,"Statement")},y.ForStatement=function(e,t,i){e.init&&i(e.init,t,"ForInit"),e.test&&i(e.test,t,"Expression"),e.update&&i(e.update,t,"Expression"),i(e.body,t,"Statement")},y.ForInStatement=y.ForOfStatement=function(e,t,i){i(e.left,t,"ForInit"),i(e.right,t,"Expression"),i(e.body,t,"Statement")},y.ForInit=function(e,t,i){e.type==="VariableDeclaration"?i(e,t):i(e,t,"Expression")},y.DebuggerStatement=be,y.FunctionDeclaration=function(e,t,i){return i(e,t,"Function")},y.VariableDeclaration=function(e,t,i){for(var r=0,a=e.declarations;r<a.length;r+=1){var s=a[r];i(s,t)}},y.VariableDeclarator=function(e,t,i){i(e.id,t,"Pattern"),e.init&&i(e.init,t,"Expression")},y.Function=function(e,t,i){e.id&&i(e.id,t,"Pattern");for(var r=0,a=e.params;r<a.length;r+=1){var s=a[r];i(s,t,"Pattern")}i(e.body,t,e.expression?"Expression":"Statement")},y.Pattern=function(e,t,i){e.type==="Identifier"?i(e,t,"VariablePattern"):e.type==="MemberExpression"?i(e,t,"MemberPattern"):i(e,t)},y.VariablePattern=be,y.MemberPattern=ht,y.RestElement=function(e,t,i){return i(e.argument,t,"Pattern")},y.ArrayPattern=function(e,t,i){for(var r=0,a=e.elements;r<a.length;r+=1){var s=a[r];s&&i(s,t,"Pattern")}},y.ObjectPattern=function(e,t,i){for(var r=0,a=e.properties;r<a.length;r+=1){var s=a[r];s.type==="Property"?(s.computed&&i(s.key,t,"Expression"),i(s.value,t,"Pattern")):s.type==="RestElement"&&i(s.argument,t,"Pattern")}},y.Expression=ht,y.ThisExpression=y.Super=y.MetaProperty=be,y.ArrayExpression=function(e,t,i){for(var r=0,a=e.elements;r<a.length;r+=1){var s=a[r];s&&i(s,t,"Expression")}},y.ObjectExpression=function(e,t,i){for(var r=0,a=e.properties;r<a.length;r+=1){var s=a[r];i(s,t)}},y.FunctionExpression=y.ArrowFunctionExpression=y.FunctionDeclaration,y.SequenceExpression=function(e,t,i){for(var r=0,a=e.expressions;r<a.length;r+=1){var s=a[r];i(s,t,"Expression")}},y.TemplateLiteral=function(e,t,i){for(var r=0,a=e.quasis;r<a.length;r+=1){var s=a[r];i(s,t)}for(var n=0,o=e.expressions;n<o.length;n+=1){var u=o[n];i(u,t,"Expression")}},y.TemplateElement=be,y.UnaryExpression=y.UpdateExpression=function(e,t,i){i(e.argument,t,"Expression")},y.BinaryExpression=y.LogicalExpression=function(e,t,i){i(e.left,t,"Expression"),i(e.right,t,"Expression")},y.AssignmentExpression=y.AssignmentPattern=function(e,t,i){i(e.left,t,"Pattern"),i(e.right,t,"Expression")},y.ConditionalExpression=function(e,t,i){i(e.test,t,"Expression"),i(e.consequent,t,"Expression"),i(e.alternate,t,"Expression")},y.NewExpression=y.CallExpression=function(e,t,i){if(i(e.callee,t,"Expression"),e.arguments)for(var r=0,a=e.arguments;r<a.length;r+=1){var s=a[r];i(s,t,"Expression")}},y.MemberExpression=function(e,t,i){i(e.object,t,"Expression"),e.computed&&i(e.property,t,"Expression")},y.ExportNamedDeclaration=y.ExportDefaultDeclaration=function(e,t,i){e.declaration&&i(e.declaration,t,e.type==="ExportNamedDeclaration"||e.declaration.id?"Statement":"Expression"),e.source&&i(e.source,t,"Expression")},y.ExportAllDeclaration=function(e,t,i){e.exported&&i(e.exported,t),i(e.source,t,"Expression")},y.ImportDeclaration=function(e,t,i){for(var r=0,a=e.specifiers;r<a.length;r+=1){var s=a[r];i(s,t)}i(e.source,t,"Expression")},y.ImportExpression=function(e,t,i){i(e.source,t,"Expression")},y.ImportSpecifier=y.ImportDefaultSpecifier=y.ImportNamespaceSpecifier=y.Identifier=y.PrivateIdentifier=y.Literal=be,y.TaggedTemplateExpression=function(e,t,i){i(e.tag,t,"Expression"),i(e.quasi,t,"Expression")},y.ClassDeclaration=y.ClassExpression=function(e,t,i){return i(e,t,"Class")},y.Class=function(e,t,i){e.id&&i(e.id,t,"Pattern"),e.superClass&&i(e.superClass,t,"Expression"),i(e.body,t)},y.ClassBody=function(e,t,i){for(var r=0,a=e.body;r<a.length;r+=1){var s=a[r];i(s,t)}},y.MethodDefinition=y.PropertyDefinition=y.Property=function(e,t,i){e.computed&&i(e.key,t,"Expression"),e.value&&i(e.value,t,"Expression")};const B="$",v={createIdentifier(e){return{type:"Identifier",name:e}},createLiteral(e){return{type:"Literal",value:e}},createMemberExpression(e,t,i=!1){return{type:"MemberExpression",object:e,property:t,computed:i}},createContextIdentifier(){return this.createIdentifier(B)},createContextVariableReference(e,t){const i=this.createContextIdentifier(),r=this.createIdentifier(e),a=this.createIdentifier(t);return this.createMemberExpression(this.createMemberExpression(i,r,!1),a,!1)},createContextVariableAccess0(e,t){const i=this.createContextVariableReference(e,t);return this.createGetCall(i,0)},createArrayAccess(e,t){const i=typeof t=="number"?this.createLiteral(t):t;return this.createMemberExpression(e,i,!0)},createCallExpression(e,t){return{type:"CallExpression",callee:e,arguments:t}},createAssignmentExpression(e,t,i="="){return{type:"AssignmentExpression",operator:i,left:e,right:t}},createExpressionStatement(e){return{type:"ExpressionStatement",expression:e}},createInitCall(e,t,i){const r=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("init"),!1),a=[e,t];return i&&a.push(i),this.createCallExpression(r,a)},createInitVarCall(e,t){const i=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("initVar"),!1),r=[e,t];return this.createCallExpression(i,r)},createGetCall(e,t){const i=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("get"),!1),r=typeof t=="number"?this.createLiteral(t):t;return this.createCallExpression(i,[e,r])},createSetCall(e,t){const i=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("set"),!1);return this.createCallExpression(i,[e,t])},createMathEqCall(e,t){const i=this.createMemberExpression(this.createContextIdentifier(),this.createIdentifier("math"),!1),r=this.createMemberExpression(i,this.createIdentifier("__eq"),!1);return this.createCallExpression(r,[e,t])},createWrapperFunction(e){return{type:"FunctionDeclaration",id:null,params:[this.createIdentifier("context")],body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:e}]}}},createVariableDeclaration(e,t){return{type:"VariableDeclaration",kind:"const",declarations:[{type:"VariableDeclarator",id:this.createIdentifier(e),init:t}]}}};function Er(e){let t=null,i=B;if(e.type==="Program"&&e.body.length>0){const h=e.body[0];if(h.type==="ExpressionStatement"&&(h.expression.type==="ArrowFunctionExpression"||h.expression.type==="FunctionExpression")){const g=h.expression;g.body.type==="BlockStatement"&&(t=g.body.body,g.params.length>0&&g.params[0].type==="Identifier"&&(i=g.params[0].name))}}if(!t)return;const r=new Set,a=new Set,s=h=>{h.type==="Identifier"?r.add(h.name):h.type==="ObjectPattern"?h.properties.forEach(g=>s(g.value)):h.type==="ArrayPattern"&&h.elements.forEach(g=>{g&&s(g)})};j(e,{},{VariableDeclarator(h,g,x){s(h.id),h.init&&x(h.init,g)},FunctionDeclaration(h,g,x){s(h.id),x(h.body,g)},Identifier(h,g,x){a.add(h.name)},MemberExpression(h,g,x){x(h.object,g),h.computed&&x(h.property,g)},Property(h,g,x){h.computed&&x(h.key,g),x(h.value,g)}}),t.forEach(h=>{h.type==="VariableDeclaration"?h.declarations.forEach(g=>s(g.id)):h.type==="FunctionDeclaration"&&s(h.id)});const n=["open","high","low","close","volume","hl2","hlc3","ohlc4","openTime","closeTime"],o=["input","ta","math","request","array","na","plotchar","color","plot","nz","strategy","library","str","box","line","label","table","map","matrix"],u=n.filter(h=>!r.has(h)),c=o.filter(h=>!r.has(h)),p=u.filter(h=>a.has(h)),m=c.filter(h=>a.has(h)),d=[];p.length>0&&d.push({type:"VariableDeclaration",kind:"const",declarations:[{type:"VariableDeclarator",id:{type:"ObjectPattern",properties:p.map(h=>({type:"Property",key:{type:"Identifier",name:h},value:{type:"Identifier",name:h},kind:"init",shorthand:!0}))},init:{type:"MemberExpression",object:{type:"Identifier",name:i},property:{type:"Identifier",name:"data"},computed:!1}}]}),m.length>0&&d.push({type:"VariableDeclaration",kind:"const",declarations:[{type:"VariableDeclarator",id:{type:"ObjectPattern",properties:m.map(h=>({type:"Property",key:{type:"Identifier",name:h},value:{type:"Identifier",name:h},kind:"init",shorthand:!0}))},init:{type:"MemberExpression",object:{type:"Identifier",name:i},property:{type:"Identifier",name:"pine"},computed:!1}}]}),d.length>0&&t.unshift(...d)}function kr(e){let t=null,i=B;if(e.type==="Program"&&e.body.length>0){const o=e.body[0];if(o.type==="ExpressionStatement"&&(o.expression.type==="ArrowFunctionExpression"||o.expression.type==="FunctionExpression")){const u=o.expression;u.body.type==="BlockStatement"&&(t=u.body.body,u.params.length>0&&u.params[0].type==="Identifier"&&(i=u.params[0].name))}}if(!t)return;const r=new Set(["open","high","low","close","volume","hl2","hlc3","ohlc4","openTime","closeTime"]),a=new Set(["input","ta","math","request","array","na","plotchar","color","plot","nz","strategy","library","str","box","line","label","table","map","matrix"]),s=new Set(["na","nz","plot","plotchar","color"]),n=new Map;t.forEach(o=>{o.type==="VariableDeclaration"&&o.declarations.forEach(u=>{if(u.init&&u.init.type==="MemberExpression"&&u.init.object.type==="Identifier"&&u.init.object.name===i&&u.init.property.type==="Identifier"){const c=u.init.property.name;let p=null;if(c==="data"?p=r:c==="pine"?p=a:c==="core"&&(p=s),p&&u.id.type==="ObjectPattern")u.id.properties.forEach(m=>{if(m.type==="Property"&&m.key.type==="Identifier"&&m.value.type==="Identifier"){const d=m.key.name,h=m.value.name;p.has(d)&&d!==h&&(n.set(h,d),m.value.name=d,m.shorthand=!0)}});else if(u.id.type==="Identifier"&&["ta","math","input","request","array"].includes(c)){const m=c,d=u.id.name;m!==d&&(n.set(d,m),u.id.name=m)}}})}),n.size>0&&j(e,{},{Identifier(o){n.has(o.name)&&(o.name=n.get(o.name))},MemberExpression(o,u,c){c(o.object,u),o.computed&&c(o.property,u)},Property(o,u,c){o.computed&&c(o.key,u),c(o.value,u)}})}function Ir(e){try{const t=ui(e,{ecmaVersion:"latest",sourceType:"module"});if(t.type==="Program"&&t.body.length===1){const i=t.body[0];if(i.type==="ExpressionStatement"){const r=i.expression;if(r.type==="ArrowFunctionExpression"||r.type==="FunctionExpression")return!0}if(i.type==="FunctionDeclaration")return!0}return!1}catch{return!1}}function Ar(e){return e=e.trim(),Ir(e)?e:`(context) => {
32
+ ${e}
33
+ }`}function Pr(e){j(e,null,{VariableDeclaration(t,i,r){t.declarations&&t.declarations.length>0&&t.declarations.forEach(a=>{if(a.init&&a.init.type==="ArrowFunctionExpression"&&a.init.start!==0){const s={type:"FunctionDeclaration",id:a.id,params:a.init.params,body:a.init.body.type==="BlockStatement"?a.init.body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:a.init.body}]},async:a.init.async,generator:!1};Object.assign(t,s)}}),t.body&&t.body.body&&t.body.body.forEach(a=>r(a,i))}})}function Vr(e,t){pt(e,{VariableDeclaration(i){i.declarations.forEach(r=>{const a=r.init&&r.init.type==="MemberExpression"&&r.init.object&&(r.init.object.name==="context"||r.init.object.name===B||r.init.object.name==="context2"),s=r.init&&r.init.type==="MemberExpression"&&r.init.object?.object&&(r.init.object.object.name==="context"||r.init.object.object.name===B||r.init.object.object.name==="context2");(a||s)&&(r.id.name&&t.addContextBoundVar(r.id.name),r.id.properties&&r.id.properties.forEach(n=>{n.key.name&&t.addContextBoundVar(n.key.name)}))})}})}function Tr(e,t,i=!1){e.params.forEach(r=>{r.type==="Identifier"&&t.addContextBoundVar(r.name,i)})}function Mr(e,t){e.params.forEach(i=>{i.type==="Identifier"&&t.addContextBoundVar(i.name,!1)})}function Lr(e,t){let i;return pt(e,{FunctionDeclaration(r){Mr(r,t)},ArrowFunctionExpression(r){const a=r.start===0;a&&r.params&&r.params.length>0&&(i=r.params[0].name,r.params[0].name=B),Tr(r,t,a)},VariableDeclaration(r){r.declarations.forEach(a=>{if(a.id.type==="ArrayPattern"){const s=t.generateTempVar(),n={type:"VariableDeclaration",kind:r.kind,declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:s},init:a.init}]};a.id.elements?.forEach(u=>{u.type==="Identifier"&&t.addArrayPatternElement(u.name)});const o=a.id.elements.map((u,c)=>({type:"VariableDeclaration",kind:r.kind,declarations:[{type:"VariableDeclarator",id:u,init:{type:"MemberExpression",object:{type:"Identifier",name:s},property:{type:"Literal",value:c},computed:!0}}]}));Object.assign(r,{type:"BlockStatement",body:[n,...o]})}})},ForStatement(r){}}),i}const ft={type:"Identifier",name:"undefined"};function ge(e,t){if(e.computed&&e.property.type==="Identifier"){if(t.isLoopVariable(e.property.name)){if(e.object.type==="Identifier"&&!t.isLoopVariable(e.object.name)&&!t.isContextBound(e.object.name)){const[i,r]=t.getVariable(e.object.name),a=v.createContextVariableReference(r,i),s=v.createGetCall(a,e.property);Object.assign(e,s),e._indexTransformed=!0}return}if(!t.isContextBound(e.property.name)){const[i,r]=t.getVariable(e.property.name);e.property=v.createContextVariableReference(r,i),e.property=v.createGetCall(e.property,0)}}if(e.computed&&e.object.type==="Identifier"){if(t.isLoopVariable(e.object.name))return;if(!t.isContextBound(e.object.name)){const[i,r]=t.getVariable(e.object.name);e.object=v.createContextVariableReference(r,i)}if(e.property.type==="MemberExpression"){const i=e.property;i._indexTransformed||(ge(i,t),i._indexTransformed=!0)}}}function he(e,t){const i=v.createGetCall(v.createIdentifier(e.name),0);e.start!==void 0&&(i.start=e.start),e.end!==void 0&&(i.end=e.end),i._indexTransformed=!0,Object.assign(e,i)}function z(e,t){if(e.name!==B){if(e.name==="na"&&!(e.parent&&e.parent.type==="CallExpression"&&e.parent.callee===e)){e.name="NaN";return}if(e.name==="Math"||e.name==="NaN"||e.name==="undefined"||e.name==="Infinity"||e.name==="null"||e.name.startsWith("'")&&e.name.endsWith("'")||e.name.startsWith('"')&&e.name.endsWith('"')||e.name.startsWith("`")&&e.name.endsWith("`")||t.isLoopVariable(e.name)||t.isContextBound(e.name)&&!t.isRootParam(e.name))return;const i=e.parent&&e.parent.type==="MemberExpression"&&e.parent.object===e&&t.isContextBound(e.name),r=e.parent&&e.parent.type==="CallExpression"&&e.parent.callee&&e.parent.callee.type==="MemberExpression"&&e.parent.callee.property.name==="param";e.parent&&e.parent.type==="AssignmentExpression"&&e.parent.left;let a=!1;if(e.parent&&e.parent.type==="CallExpression"&&e.parent.arguments.includes(e)){const d=e.parent.callee;d.type==="MemberExpression"&&d.object&&d.object.name===B&&["get","set","init","param"].includes(d.property.name)?e.parent.arguments.indexOf(e)===0&&(a=!0):a=!0}const s=e.parent&&e.parent.type==="MemberExpression"&&e.parent.computed,n=e.parent&&e.parent.type==="MemberExpression"&&e.parent.computed&&e.parent.property===e&&e.parent.parent&&e.parent.parent.type==="CallExpression"&&e.parent.parent.callee&&e.parent.parent.callee.type==="MemberExpression"&&t.isContextBound(e.parent.parent.callee.object.name),o=e.parent&&e.parent.type==="CallExpression"&&e.parent.callee===e,u=e.parent&&e.parent.type==="MemberExpression"&&e.parent.computed&&e.parent.object===e;if(i||r||a||n||o){if(o||t.isLocalSeriesVar(e.name))return;const[d,h]=t.getVariable(e.name),g=v.createContextVariableReference(h,d);Object.assign(e,g);return}if(t.isLocalSeriesVar(e.name)){if(!u&&!s){const d=v.createIdentifier(e.name),h=v.createGetCall(d,0);Object.assign(e,h)}return}const[c,p]=t.getVariable(e.name),m=v.createContextVariableReference(p,c);if(!u&&!s){const d=v.createGetCall(m,0);Object.assign(e,d)}else Object.assign(e,m)}}function re(e,t,i){if(e.object&&e.object.type==="Identifier"&&e.object.name==="Math")return;const r=["ta","math","request","array","input"];if(e.object&&e.object.type==="Identifier"&&r.includes(e.object.name)&&i.isContextBound(e.object.name)&&!e.computed){const c=e.parent&&e.parent.type==="CallExpression"&&e.parent.callee===e,p=e.parent&&(e.parent.type==="VariableDeclarator"||e.parent.type==="Property"||e.parent.type==="AssignmentExpression");if(!c&&!p){const m={type:"CallExpression",callee:{type:"MemberExpression",object:e.object,property:e.property,computed:!1},arguments:[],_transformed:!1};e.start!==void 0&&(m.start=e.start),e.end!==void 0&&(m.end=e.end),Object.assign(e,m);return}}const a=i.getCurrentScopeType()=="if",s=i.getCurrentScopeType()=="els",n=i.getCurrentScopeType()=="for";if(!a&&!s&&!n&&e.object&&e.object.type==="Identifier"&&i.isContextBound(e.object.name)&&!i.isRootParam(e.object.name)&&!e.computed)return;e._indexTransformed||(ge(e,i),e._indexTransformed=!0);const o=e.object&&e.object.type==="MemberExpression"&&e.object.object&&e.object.object.type==="MemberExpression"&&e.object.object.object&&e.object.object.object.name===B,u=e.object&&e.object.type==="Identifier"&&i.isContextBound(e.object.name);if(e.computed&&(o||u)){if(e.parent&&e.parent.type==="AssignmentExpression"&&e.parent.left===e)return;const c=v.createGetCall(e.object,e.property);e.start&&(c.start=e.start),e.end&&(c.end=e.end),Object.assign(e,c)}}function Le(e,t){if(e.type==="Identifier"){if(e.name==="na")return e.name="NaN",e;if(t.isLoopVariable(e.name))return e;if(t.isRootParam(e.name)){const[a,s]=t.getVariable(e.name);return v.createContextVariableReference(s,a)}if(t.isContextBound(e.name)||t.isLocalSeriesVar(e.name))return e;const[i,r]=t.getVariable(e.name);return i===e.name&&!t.isContextBound(e.name)?e:v.createContextVariableReference(r,i)}return e}function xe(e,t,i=""){switch(e.type){case"BinaryExpression":return gi(e,t,i);case"MemberExpression":return{type:"MemberExpression",object:e.object.type==="Identifier"?Le(e.object,t):e.object,property:e.property,computed:e.computed};case"Identifier":{if(t.isLoopVariable(e.name)||e.parent&&e.parent.type==="MemberExpression"&&e.parent.property===e)return e;const r=Le(e,t);return r.type==="Identifier"&&(r.name==="NaN"||r.name==="undefined"||r.name==="Infinity"||r.name==="null"||r.name==="Math")?r:v.createGetCall(r,0)}case"UnaryExpression":return xi(e,t,i);case"ConditionalExpression":{const r=xe(e.test,t,i),a=xe(e.consequent,t,i),s=xe(e.alternate,t,i);return{type:"ConditionalExpression",test:r,consequent:a,alternate:s,start:e.start,end:e.end}}}return e}function gi(e,t,i){const r=xe(e.left,t,i),a=xe(e.right,t,i),s={type:"BinaryExpression",operator:e.operator,left:r,right:a,start:e.start,end:e.end};return j(s,t,{CallExpression(n,o){n._transformed||ae(n,o)},MemberExpression(n){re(n,"",t)}}),s}function Dr(e,t,i){const r=xe(e.left,t,i),a=xe(e.right,t,i),s={type:"LogicalExpression",operator:e.operator,left:r,right:a,start:e.start,end:e.end};return j(s,t,{CallExpression(n,o){n._transformed||ae(n,o)}}),s}function Rr(e,t,i){j(e,{parent:e,inNamespaceCall:!1},{Identifier(n,o,u){if(n.name=="NaN")return;if(n.name=="na"){n.name="NaN";return}n.parent=o.parent,z(n,t);const c=n.parent&&n.parent.type==="BinaryExpression";(n.parent&&n.parent.type==="ConditionalExpression"||c)&&(n.type==="MemberExpression"?ge(n,t):n.type==="Identifier"&&(n.parent&&n.parent.type==="CallExpression"&&n.parent.callee&&n.parent.callee.object&&n.parent.callee.object.name===B&&n.parent.callee.property.name==="get"||he(n)))},MemberExpression(n,o,u){ge(n,t),n.object&&u(n.object,{parent:n,inNamespaceCall:o.inNamespaceCall})},ConditionalExpression(n,o,u){n.test&&u(n.test,{parent:n,inNamespaceCall:o.inNamespaceCall}),n.consequent&&u(n.consequent,{parent:n,inNamespaceCall:o.inNamespaceCall}),n.alternate&&u(n.alternate,{parent:n,inNamespaceCall:o.inNamespaceCall})},CallExpression(n,o,u){const c=n.callee&&n.callee.type==="MemberExpression"&&n.callee.object&&n.callee.object.type==="Identifier"&&t.isContextBound(n.callee.object.name);ae(n,t),n.arguments.forEach(p=>u(p,{parent:n,inNamespaceCall:c||o.inNamespaceCall}))}});const r=v.createMemberExpression(v.createIdentifier(i),v.createIdentifier("param")),a=t.generateParamId(),s={type:"CallExpression",callee:r,arguments:[e,ft,{type:"Identifier",name:`'${a}'`}],_transformed:!0,_isParamCall:!0};if(!t.shouldSuppressHoisting()){const n=a;t.addLocalSeriesVar(n);const o=v.createVariableDeclaration(n,s);return t.addHoistedStatement(o),v.createIdentifier(n)}return s}function xi(e,t,i){const r=xe(e.argument,t,i);return{type:"UnaryExpression",operator:e.operator,prefix:e.prefix,argument:r,start:e.start,end:e.end}}function yi(e,t,i){switch(e?.type){case"BinaryExpression":e=gi(e,i,t);break;case"LogicalExpression":e=Dr(e,i,t);break;case"ConditionalExpression":return Rr(e,i,t);case"UnaryExpression":e=xi(e,i,t);break;case"ArrayExpression":e.elements=e.elements.map(o=>{if(o.type==="Identifier"){if(i.isContextBound(o.name)&&!i.isRootParam(o.name))return o;const[u,c]=i.getVariable(o.name);return v.createContextVariableAccess0(c,u)}return o});break}if(e.type==="MemberExpression"&&e.computed&&e.property){const o=e.object.type==="Identifier"&&i.isContextBound(e.object.name)&&!i.isRootParam(e.object.name)?e.object:Le(e.object,i),u=e.property.type==="Identifier"&&!i.isContextBound(e.property.name)&&!i.isLoopVariable(e.property.name)?Le(e.property,i):e.property,c=v.createMemberExpression(v.createIdentifier(t),v.createIdentifier("param")),p=i.generateParamId(),m={type:"CallExpression",callee:c,arguments:[o,u,{type:"Identifier",name:`'${p}'`}],_transformed:!0,_isParamCall:!0};if(!i.shouldSuppressHoisting()){const d=p;i.addLocalSeriesVar(d);const h=v.createVariableDeclaration(d,m);return i.addHoistedStatement(h),v.createIdentifier(d)}return m}if(e.type==="ObjectExpression"&&(e.properties=e.properties.map(o=>{if(o.value.name){const[u,c]=i.getVariable(o.value.name);return{type:"Property",key:{type:"Identifier",name:o.key.name},value:v.createContextVariableReference(c,u),kind:"init",method:!1,shorthand:!1,computed:!1}}return o})),e.type==="Identifier"){if(e.name==="na")return e.name="NaN",e;if(i.isContextBound(e.name)&&!i.isRootParam(e.name)){const o=v.createMemberExpression(v.createIdentifier(t),v.createIdentifier("param")),u=i.generateParamId(),c={type:"CallExpression",callee:o,arguments:[e,ft,{type:"Identifier",name:`'${u}'`}],_transformed:!0,_isParamCall:!0};if(!i.shouldSuppressHoisting()){const p=u;i.addLocalSeriesVar(p);const m=v.createVariableDeclaration(p,c);return i.addHoistedStatement(m),v.createIdentifier(p)}return c}}e?.type==="CallExpression"&&ae(e,i);const r=v.createMemberExpression(v.createIdentifier(t),v.createIdentifier("param")),a=e.type==="Identifier"?Le(e,i):e,s=i.generateParamId(),n={type:"CallExpression",callee:r,arguments:[a,ft,{type:"Identifier",name:`'${s}'`}],_transformed:!0,_isParamCall:!0};if(!i.shouldSuppressHoisting()){const o=s;i.addLocalSeriesVar(o);const u=v.createVariableDeclaration(o,n);return i.addHoistedStatement(u),v.createIdentifier(o)}return n}function ae(e,t,i){if(!e._transformed){if(e.callee&&e.callee.type==="MemberExpression"&&e.callee.object&&e.callee.object.type==="Identifier"&&(t.isContextBound(e.callee.object.name)||e.callee.object.name==="math"||e.callee.object.name==="ta")){if(e.callee.object.name===B&&["get","init","param"].includes(e.callee.property.name))return;const r=e.callee.object.name,a=[];if(e.arguments.forEach(s=>{if(s._isParamCall){a.push(s);return}a.push(yi(s,r,t))}),e.arguments=a,r==="ta"&&e.arguments.push(t.getNextTACallId()),!t.shouldSuppressHoisting()){const s=t.generateTempVar();t.addLocalSeriesVar(s);const n=v.createVariableDeclaration(s,Object.assign({},e));t.addHoistedStatement(n),Object.assign(e,v.createIdentifier(s));return}e._transformed=!0}else e.callee&&e.callee.type==="Identifier"&&(e.arguments=e.arguments.map(r=>r._isParamCall?r:yi(r,B,t)),e._transformed=!0);e.arguments.forEach(r=>{j(r,{parent:e},{Identifier(a,s,n){a.parent=s.parent,z(a,t);const o=a.parent&&a.parent.type==="BinaryExpression";(a.parent&&a.parent.type==="ConditionalExpression"||o)&&(a.type==="MemberExpression"?ge(a,t):a.type==="Identifier"&&(a.parent&&a.parent.type==="CallExpression"&&a.parent.callee&&a.parent.callee.object&&a.parent.callee.object.name===B&&a.parent.callee.property.name==="get"||he(a)))},CallExpression(a,s,n){a._transformed||ae(a,t)},MemberExpression(a,s,n){re(a,"",t),a.object&&n(a.object,{parent:a})}})})}}function bi(e,t){let i=null;if(e.left.type==="Identifier"){const[r,a]=t.getVariable(e.left.name);i=v.createContextVariableReference(a,r)}else if(e.left.type==="MemberExpression"&&e.left.computed&&e.left.object.type==="Identifier"){const r=e.left.object.name,[a,s]=t.getVariable(r),n=a!==r,o=t.isContextBound(r);(n||o)&&!t.isLoopVariable(r)&&e.left.property.type==="Literal"&&e.left.property.value===0&&(i=v.createContextVariableReference(s,a))}if(j(e.right,{parent:e.right,inNamespaceCall:!1},{Identifier(r,a,s){r.name=="na"&&(r.name="NaN"),r.parent=a.parent,z(r,t);const n=r.parent&&r.parent.type==="BinaryExpression",o=r.parent&&r.parent.type==="ConditionalExpression",u=t.isContextBound(r.name)&&!t.isRootParam(r.name),c=r.parent&&r.parent.type==="MemberExpression"&&r.parent.computed&&r.parent.object===r,p=r.parent&&r.parent._isParamCall,m=r.parent&&r.parent.type==="MemberExpression",d=r.name==="NaN",h=r.parent&&r.parent.type==="CallExpression"&&r.parent.callee&&r.parent.callee.object&&r.parent.callee.object.name===B&&r.parent.callee.property.name==="get";(u||o||n)&&(r.type==="MemberExpression"?ge(r,t):r.type==="Identifier"&&!m&&!c&&!p&&!d&&!h&&he(r))},MemberExpression(r,a,s){re(r,"",t),r.type==="CallExpression"?r.arguments.forEach(n=>s(n,{parent:r,inNamespaceCall:a.inNamespaceCall})):r.object&&s(r.object,{parent:r,inNamespaceCall:a.inNamespaceCall})},CallExpression(r,a,s){const n=r.callee&&r.callee.type==="MemberExpression"&&r.callee.object&&r.callee.object.type==="Identifier"&&t.isContextBound(r.callee.object.name);ae(r,t),r.type==="CallExpression"&&r.arguments.forEach(o=>s(o,{parent:r,inNamespaceCall:n||a.inNamespaceCall}))}}),i){let r=e.right;if(e.operator!=="="){const s=e.operator.replace("=",""),n=v.createGetCall(i,0);r={type:"BinaryExpression",operator:s,left:n,right:e.right,start:e.start,end:e.end}}const a=v.createSetCall(i,r);e.start&&(a.start=e.start),e.end&&(a.end=e.end),Object.assign(e,a)}}function vi(e,t){e.declarations.forEach(i=>{i.init.name=="na"&&(i.init.name="NaN");const r=i.init&&i.init.type==="MemberExpression"&&i.init.object&&(i.init.object.name==="context"||i.init.object.name===B||i.init.object.name==="context2"),a=i.init&&i.init.type==="MemberExpression"&&i.init.object?.object&&(i.init.object.object.name==="context"||i.init.object.object.name===B||i.init.object.object.name==="context2"),s=i.init&&i.init.type==="ArrowFunctionExpression";if(r){i.id.name&&t.addContextBoundVar(i.id.name),i.id.properties&&i.id.properties.forEach(h=>{h.key.name&&t.addContextBoundVar(h.key.name)}),i.init.object.name=B;return}if(a){i.id.name&&t.addContextBoundVar(i.id.name),i.id.properties&&i.id.properties.forEach(h=>{h.key.name&&t.addContextBoundVar(h.key.name)}),i.init.object.object.name=B;return}s&&i.init.params.forEach(h=>{h.type==="Identifier"&&t.addContextBoundVar(h.name)});const n=t.addVariable(i.id.name,e.kind),o=e.kind;i.init&&!s&&(i.init.type==="CallExpression"&&i.init.callee.type==="MemberExpression"&&i.init.callee.object&&i.init.callee.object.type==="Identifier"&&t.isContextBound(i.init.callee.object.name)?ae(i.init,t):j(i.init,{parent:i.init},{Identifier(h,g){h.parent=g.parent,z(h,t);const x=h.parent&&h.parent.type==="BinaryExpression",b=h.parent&&h.parent.type==="UnaryExpression",_=h.parent&&h.parent.type==="ConditionalExpression",A=h.parent&&h.parent.type==="CallExpression"&&h.parent.callee&&h.parent.callee.object&&h.parent.callee.object.name===B&&h.parent.callee.property.name==="get";h.type==="Identifier"&&(x||b||_)&&!A&&he(h)},CallExpression(h,g,x){h.callee.type==="Identifier"&&(h.callee.parent=h),h.arguments.forEach(b=>{b.type==="Identifier"&&(b.parent=h)}),ae(h,t),h.type==="CallExpression"&&h.arguments.forEach(b=>x(b,{parent:h}))},BinaryExpression(h,g,x){h.left.type==="Identifier"&&(h.left.parent=h),h.right.type==="Identifier"&&(h.right.parent=h),x(h.left,{parent:h}),x(h.right,{parent:h})},MemberExpression(h,g,x){h.object&&h.object.type==="Identifier"&&(h.object.parent=h),h.property&&h.property.type==="Identifier"&&(h.property.parent=h),re(h,"",t),h.type==="CallExpression"?h.arguments.forEach(b=>x(b,{parent:h})):h.object&&x(h.object,{parent:h})}}));const u=v.createContextVariableReference(o,n),c=t.isArrayPatternElement(i.id.name),p=!c&&i.init&&i.init.type==="MemberExpression"&&i.init.computed&&i.init.property&&(i.init.property.type==="Literal"||i.init.property.type==="MemberExpression");i.init?.property?.type==="MemberExpression"&&(i.init.property._indexTransformed||(ge(i.init.property,t),i.init.property._indexTransformed=!0));let m;i.init?s||c?m=i.init:o==="var"?m=v.createInitVarCall(u,i.init):m=v.createInitCall(u,p?i.init.object:i.init,p?i.init.property:void 0):m=v.createIdentifier("undefined");const d=v.createExpressionStatement(v.createAssignmentExpression(u,m));if(c){const h=d.expression.right.object,g=i.init.property.value,x={type:"MemberExpression",object:v.createGetCall(h,0),property:{type:"Literal",value:g},computed:!0};d.expression.right=v.createCallExpression(v.createMemberExpression(v.createContextIdentifier(),v.createIdentifier("init")),[u,x])}s&&(t.pushScope("fn"),j(i.init.body,t,{BlockStatement(h,g,x){h.body.forEach(b=>x(b,g))},IfStatement(h,g,x){g.pushScope("if"),x(h.consequent,g),h.alternate&&(g.pushScope("els"),x(h.alternate,g),g.popScope()),g.popScope()},VariableDeclaration(h,g){vi(h,g)},Identifier(h,g){z(h,g)},AssignmentExpression(h,g){bi(h,g)}}),t.popScope()),Object.assign(e,d)})}function Br(e,t,i){if(t.setSuppressHoisting(!0),e.init&&e.init.type==="VariableDeclaration"){const r=e.init.declarations[0],a=r.id.name;t.addLoopVariable(a,a),e.init={type:"VariableDeclaration",kind:e.init.kind,declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:a},init:r.init}]},r.init&&j(r.init,t,{Identifier(s,n){t.isLoopVariable(s.name)||(t.pushScope("for"),z(s,n),t.popScope())},MemberExpression(s){t.pushScope("for"),re(s,"",t),t.popScope()}})}e.test&&j(e.test,t,{Identifier(r,a){!t.isLoopVariable(r.name)&&!r.computed&&(t.pushScope("for"),z(r,a),r.type==="Identifier"&&(r.computed=!0,he(r)),t.popScope())},MemberExpression(r){t.pushScope("for"),re(r,"",t),t.popScope()}}),e.update&&j(e.update,t,{Identifier(r,a){t.isLoopVariable(r.name)||(t.pushScope("for"),z(r,a),t.popScope())}}),t.setSuppressHoisting(!1),t.pushScope("for"),i(e.body,t),t.popScope()}function jr(e,t){j(e,t,{MemberExpression(i){re(i,"",t)},CallExpression(i,r){ae(i,r)},Identifier(i,r){z(i,r);const a=t.getCurrentScopeType()==="if";t.isContextBound(i.name)&&!t.isRootParam(i.name)&&a&&he(i)}})}function Or(e,t,i){e.test&&(t.pushScope("if"),jr(e.test,t),t.popScope()),t.pushScope("if"),i(e.consequent,t),t.popScope(),e.alternate&&(t.pushScope("els"),i(e.alternate,t),t.popScope())}function Fr(e,t){const i=t.getCurrentScopeType();if(e.argument&&(e.argument.type==="ArrayExpression"?(e.argument.elements=e.argument.elements.map(r=>{if(r.type==="Identifier"){if(t.isContextBound(r.name)&&!t.isRootParam(r.name))return v.createGetCall(r,0);const[a,s]=t.getVariable(r.name);return v.createContextVariableAccess0(s,a)}else if(r.type==="MemberExpression")return r.object&&r.object.type==="MemberExpression"&&r.object.object&&r.object.object.type==="Identifier"&&r.object.object.name==="$"&&r.object.property&&["const","let","var","params"].includes(r.object.property.name)?v.createGetCall(r,0):(r.computed&&r.object.type==="Identifier"&&t.isContextBound(r.object.name)&&!t.isRootParam(r.object.name)||re(r,"",t),r);return r}),e.argument={type:"ArrayExpression",elements:[e.argument]}):e.argument.type==="BinaryExpression"?j(e.argument,t,{Identifier(r,a){z(r,a),r.type==="Identifier"&&he(r)},MemberExpression(r){re(r,"",t)}}):e.argument.type==="ObjectExpression"?e.argument.properties=e.argument.properties.map(r=>{if(r.shorthand){const[a,s]=t.getVariable(r.value.name);return{type:"Property",key:v.createIdentifier(r.key.name),value:v.createContextVariableReference(s,a),kind:"init",method:!1,shorthand:!1,computed:!1}}if(r.value&&r.value.type==="Identifier"){if(t.isContextBound(r.value.name)&&!t.isRootParam(r.value.name))r.value=v.createGetCall(r.value,0);else if(!t.isContextBound(r.value.name)){const[a,s]=t.getVariable(r.value.name);r.value=v.createContextVariableReference(s,a)}}return r}):e.argument.type==="Identifier"&&(z(e.argument,t),e.argument.type==="Identifier"&&he(e.argument)),i==="fn")){e.argument.type==="Identifier"&&t.isContextBound(e.argument.name)&&!t.isRootParam(e.argument.name)?e.argument=v.createArrayAccess(e.argument,0):e.argument.type==="MemberExpression"?e.argument.object.type==="Identifier"&&t.isContextBound(e.argument.object.name)&&!t.isRootParam(e.argument.object.name)&&(e.argument._indexTransformed||(ge(e.argument,t),e.argument._indexTransformed=!0)):(e.argument.type==="BinaryExpression"||e.argument.type==="LogicalExpression"||e.argument.type==="ConditionalExpression"||e.argument.type==="CallExpression")&&j(e.argument,t,{Identifier(a,s){z(a,s),a.type==="Identifier"&&!a._arrayAccessed&&(he(a),a._arrayAccessed=!0)},MemberExpression(a){re(a,"",t)},CallExpression(a,s){ae(a,s)}});const r=v.createCallExpression(v.createMemberExpression(v.createContextIdentifier(),v.createIdentifier("precision")),[e.argument]);e.argument=r}}function Wr(e,t,i){e.body&&e.body.type==="BlockStatement"&&(t.pushScope("fn"),i(e.body,t),t.popScope())}function $r(e){const t={...y,LineComment:()=>{}};pt(e,{BinaryExpression(i){if(i.operator==="=="||i.operator==="==="){const r=i.left,a=i.right,s=v.createMathEqCall(r,a);s._transformed=!0,Object.assign(i,s)}}},t)}function qr(e,t,i,r={debug:!1,ln:!1},a=[]){const s=n=>{if(!r.debug||!n.loc||!a.length)return null;const o=n.loc.start.line-1;if(o>=0&&o<a.length){const u=a[o].trim();if(u)return{type:"LineComment",value:`${r.ln?` [Line ${n.loc.start.line}]`:""} ${u}`}}return null};j(e,t,{Program(n,o,u){const c=[];n.body.forEach(p=>{o.enterHoistingScope(),u(p,o);const m=o.exitHoistingScope(),d=s(p);d&&c.push(d),c.push(...m),c.push(p)}),n.body=c},BlockStatement(n,o,u){const c=[];n.body.forEach(p=>{o.enterHoistingScope(),u(p,o);const m=o.exitHoistingScope(),d=s(p);d&&c.push(d),c.push(...m),c.push(p)}),n.body=c},ReturnStatement(n,o){Fr(n,o)},VariableDeclaration(n,o){vi(n,o)},Identifier(n,o){z(n,o)},CallExpression(n,o){ae(n,o)},MemberExpression(n,o){re(n,i,o)},AssignmentExpression(n,o){bi(n,o)},FunctionDeclaration(n,o,u){Wr(n,o,u)},ForStatement(n,o,u){Br(n,o,u)},IfStatement(n,o,u){Or(n,o,u)}})}function Ur(e,t={debug:!1,ln:!1}){typeof t=="boolean"&&(t={debug:t,ln:!0});const{debug:i}=t;let r=typeof e=="function"?e.toString():e;r=r.trim(),r=Ar(r);const a=i?r.split(`
34
+ `):[],s=ui(r,{ecmaVersion:"latest",sourceType:"module",locations:i});Pr(s),kr(s),Er(s);const n=new Nr;Vr(s,n);const o=Lr(s,n)||"";qr(s,n,o,t,a),$r(s);const u=xr||lt||void 0,c=Object.assign({},u,{LineComment(m,d){d.write("//"+m.value)}}),p=br(s,{generator:c,comments:i});return new Function("",`var _r = ${p}
35
+ ; return _r;`)(this)}class H{constructor(t){this.array=t}toString(){return"PineArrayObject:"+this.array.toString()}}function Gr(e){return t=>new H(t.array.map(i=>Math.abs(i)))}function Hr(e){return t=>e.array.sum(t)/t.array.length}function zr(e){return t=>{t.array.length=0}}function Kr(e){return(t,i)=>(t.array.push(...i.array),t)}function Qr(e){return t=>new H([...t.array])}function Xr(e){return(t,i,r=!0)=>{if(t.array.length!==i.array.length||t.array.length<2)return NaN;const a=r?t.array.length:t.array.length-1,s=e.array.avg(t),n=e.array.avg(i);let o=0;for(let u=0;u<t.array.length;u++)o+=(t.array[u]-s)*(i.array[u]-n);return o/a}}function Yr(e){return(t,i)=>t.array.every(i)}function Zr(e){return(t,i,r=0,a)=>{const s=t.array.length,n=a!==void 0?Math.min(a,s):s;for(let o=r;o<n;o++)t.array[o]=i}}function Jr(e){return t=>t.array.length>0?t.array[0]:e.NA}function ea(e){return(...t)=>new H([...t])}function ta(e){return(t,i)=>t.array[i]}function ia(e){return(t,i)=>t.array.includes(i)}function ra(e){return(t,i)=>t.array.indexOf(i)}function aa(e){return(t,i,r)=>{t.array.splice(i,0,r)}}function na(e){return(t,i=",")=>t.array.join(i)}function sa(e){return t=>t.array.length>0?t.array[t.array.length-1]:e.NA}function oa(e){return(t,i)=>t.array.lastIndexOf(i)}function ua(e){return(t,i=0)=>[...t.array].sort((r,a)=>a-r)[i]??e.NA}function ca(e){return(t,i=0)=>[...t.array].sort((r,a)=>r-a)[i]??e.NA}function la(e){return(t,i)=>new H(Array(t).fill(i))}function pa(e){return(t,i=!1)=>new H(Array(t).fill(i))}function ha(e){return(t,i=NaN)=>new H(Array(t).fill(i))}function fa(e){return(t,i=0)=>new H(Array(t).fill(Math.round(i)))}function ma(e){return(t,i="")=>new H(Array(t).fill(i))}class f{constructor(t,i=0){this.data=t,this.offset=i}get(t){const i=this.data.length-1-(this.offset+t);return i<0||i>=this.data.length?NaN:this.data[i]}set(t,i){const r=this.data.length-1-(this.offset+t);r>=0&&r<this.data.length&&(this.data[r]=i)}get length(){return this.data.length}toArray(){return this.data}static from(t){return t instanceof f?t:Array.isArray(t)?new f(t):new f([t])}}function da(e){return(t,i=0)=>f.from(t).get(i)}function ga(e){return t=>t.array.pop()}function xa(e){return(t,i)=>{t.array.push(i)}}function ya(e){return t=>e.array.max(t)-e.array.min(t)}function ba(e){return(t,i)=>i>=0&&i<t.array.length?t.array.splice(i,1)[0]:e.NA}function va(e){return t=>{t.array.reverse()}}function wa(e){return(t,i,r)=>{t.array[i]=r}}function Sa(e){return t=>t.array.shift()}function Ca(e){return t=>t.array.length}function Na(e){return(t,i,r)=>{const a=r!==void 0?r+1:void 0;return new H(t.array.slice(i,a))}}function _a(e){return(t,i)=>t.array.some(i)}function Ea(e){return(t,i="asc")=>{t.array.sort((r,a)=>i==="asc"?r-a:a-r)}}function ka(e){return(t,i)=>{const r=t.array.map((a,s)=>s);return r.sort((a,s)=>{const n=t.array[a],o=t.array[s];return i?i(n,o):n-o}),new H(r)}}function Ia(e){return t=>{const i=e.array.avg(t),r=e.array.stdev(t);return r===0?new H(t.array.map(()=>0)):new H(t.array.map(a=>(a-i)/r))}}function Aa(e){return(t,i=!0)=>{const r=e.array.avg(t),a=t.array.map(n=>Math.pow(n-r,2)),s=i?t.array.length:t.array.length-1;return Math.sqrt(e.array.sum(new H(a))/s)}}function Pa(e){return t=>t.array.reduce((i,r)=>i+(isNaN(r)?0:r),0)}function Va(e){return(t,i)=>{t.array.unshift(i)}}function Ta(e){return(t,i=!0)=>{const r=e.array.avg(t),a=t.array.map(n=>Math.pow(n-r,2)),s=i?t.array.length:t.array.length-1;return e.array.sum(new H(a))/s}}var Ma=Object.defineProperty,La=(e,t,i)=>t in e?Ma(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,I=(e,t,i)=>La(e,typeof t!="symbol"?t+"":t,i);const Da={abs:Gr,avg:Hr,clear:zr,concat:Kr,copy:Qr,covariance:Xr,every:Yr,fill:Zr,first:Jr,from:ea,get:ta,includes:ia,indexof:ra,insert:aa,join:na,last:sa,lastindexof:oa,max:ua,min:ca,new:la,new_bool:pa,new_float:ha,new_int:fa,new_string:ma,param:da,pop:ga,push:xa,range:ya,remove:ba,reverse:va,set:wa,shift:Sa,size:Ca,slice:Na,some:_a,sort:Ea,sort_indices:ka,standardize:Ia,stdev:Aa,sum:Pa,unshift:Va,variance:Ta};class Ra{constructor(t){this.context=t,I(this,"_cache",{}),I(this,"abs"),I(this,"avg"),I(this,"clear"),I(this,"concat"),I(this,"copy"),I(this,"covariance"),I(this,"every"),I(this,"fill"),I(this,"first"),I(this,"from"),I(this,"get"),I(this,"includes"),I(this,"indexof"),I(this,"insert"),I(this,"join"),I(this,"last"),I(this,"lastindexof"),I(this,"max"),I(this,"min"),I(this,"new"),I(this,"new_bool"),I(this,"new_float"),I(this,"new_int"),I(this,"new_string"),I(this,"param"),I(this,"pop"),I(this,"push"),I(this,"range"),I(this,"remove"),I(this,"reverse"),I(this,"set"),I(this,"shift"),I(this,"size"),I(this,"slice"),I(this,"some"),I(this,"sort"),I(this,"sort_indices"),I(this,"standardize"),I(this,"stdev"),I(this,"sum"),I(this,"unshift"),I(this,"variance"),Object.entries(Da).forEach(([i,r])=>{this[i]=r(t)})}}var Ba=Object.defineProperty,ja=(e,t,i)=>t in e?Ba(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,Oa=(e,t,i)=>ja(e,typeof t!="symbol"?t+"":t,i);class Fa{constructor(t){this.context=t,Oa(this,"color",{param:(i,r=0)=>f.from(i).get(r),rgb:(i,r,a,s)=>s?`rgba(${i}, ${r}, ${a}, ${s})`:`rgb(${i}, ${r}, ${a})`,new:(i,r)=>{if(i&&i.startsWith("#")){const a=i.slice(1),s=parseInt(a.slice(0,2),16),n=parseInt(a.slice(2,4),16),o=parseInt(a.slice(4,6),16);return r?`rgba(${s}, ${n}, ${o}, ${r})`:`rgb(${s}, ${n}, ${o})`}return r?`rgba(${i}, ${r})`:i},white:"white",lime:"lime",green:"green",red:"red",maroon:"maroon",black:"black",gray:"gray",blue:"blue"})}extractPlotOptions(t){const i={};for(let r in t)i[r]=f.from(t[r]).get(0);return i}indicator(t,i,r){}plotchar(t,i,r){this.context.plots[i]||(this.context.plots[i]={data:[],options:this.extractPlotOptions(r),title:i});const a=f.from(t).get(0);this.context.plots[i].data.push({time:this.context.marketData[this.context.idx].openTime,value:a,options:{...this.extractPlotOptions(r),style:"char"}})}plot(t,i,r){this.context.plots[i]||(this.context.plots[i]={data:[],options:this.extractPlotOptions(r),title:i});const a=f.from(t).get(0);this.context.plots[i].data.push({time:this.context.marketData[this.context.idx].openTime,value:a,options:this.extractPlotOptions(r)})}get bar_index(){return this.context.idx}na(t){return isNaN(f.from(t).get(0))}nz(t,i=0){const r=f.from(t).get(0),a=f.from(i).get(0);return isNaN(r)?a:r}}function Wa(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function $a(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function qa(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Ua(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Ga(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Ha(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function za(e){return(t,i=0)=>[f.from(t).get(i)]}function Ka(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Qa(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Xa(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Ya(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Za(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function Ja(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function en(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}function tn(e){return(t,{title:i,group:r}={})=>Array.isArray(t)?t[0]:t}var rn=Object.defineProperty,an=(e,t,i)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,U=(e,t,i)=>an(e,typeof t!="symbol"?t+"":t,i);const nn={any:Wa,bool:$a,color:qa,enum:Ua,float:Ga,int:Ha,param:za,price:Ka,session:Qa,source:Xa,string:Ya,symbol:Za,text_area:Ja,time:en,timeframe:tn};class sn{constructor(t){this.context=t,U(this,"any"),U(this,"bool"),U(this,"color"),U(this,"enum"),U(this,"float"),U(this,"int"),U(this,"param"),U(this,"price"),U(this,"session"),U(this,"source"),U(this,"string"),U(this,"symbol"),U(this,"text_area"),U(this,"time"),U(this,"timeframe"),Object.entries(nn).forEach(([i,r])=>{this[i]=r(t)})}}function on(e){return t=>Math.abs(f.from(t).get(0))}function un(e){return t=>Math.acos(f.from(t).get(0))}function cn(e){return t=>Math.asin(f.from(t).get(0))}function ln(e){return t=>Math.atan(f.from(t).get(0))}function pn(e){return(...t)=>{const i=t.map(r=>f.from(r).get(0));return i.reduce((r,a)=>r+a,0)/i.length}}function hn(e){return t=>Math.ceil(f.from(t).get(0))}function fn(e){return t=>Math.cos(f.from(t).get(0))}function mn(e){return t=>Math.exp(f.from(t).get(0))}function dn(e){return t=>Math.floor(f.from(t).get(0))}function gn(e){return t=>Math.log(f.from(t).get(0))}function xn(e){return t=>Math.log(f.from(t).get(0))}function yn(e){return t=>Math.log10(f.from(t).get(0))}function bn(e){return(...t)=>{const i=t.map(r=>f.from(r).get(0));return Math.max(...i)}}function vn(e){return(...t)=>{const i=t.map(r=>f.from(r).get(0));return Math.min(...i)}}function wn(e){return(t,i,r)=>typeof t=="string"?t:t instanceof f?i?new f(t.data,t.offset+i):t:!Array.isArray(t)&&typeof t=="object"?t:(e.params[r]||(e.params[r]=[]),Array.isArray(t)?new f(t,i||0):(e.params[r].length===0?e.params[r].push(t):e.params[r][e.params[r].length-1]=t,new f(e.params[r],0)))}function Sn(e){return(t,i)=>Math.pow(f.from(t).get(0),f.from(i).get(0))}function Cn(e){return()=>Math.random()}function Nn(e){return t=>Math.round(f.from(t).get(0))}function _n(e){return t=>Math.sin(f.from(t).get(0))}function En(e){return t=>Math.sqrt(f.from(t).get(0))}function kn(e){return(t,i)=>{const r=f.from(i).get(0),a=f.from(t);let s=0;for(let n=0;n<r;n++){const o=a.get(n);s+=o}return s}}function In(e){return t=>Math.tan(f.from(t).get(0))}function An(e){return(t,i)=>{const r=f.from(t).get(0),a=f.from(i).get(0);return isNaN(r)&&isNaN(a)?!0:isNaN(r)||isNaN(a)?!1:Math.abs(r-a)<1e-8}}var Pn=Object.defineProperty,Vn=(e,t,i)=>t in e?Pn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,L=(e,t,i)=>Vn(e,typeof t!="symbol"?t+"":t,i);const Tn={abs:on,acos:un,asin:cn,atan:ln,avg:pn,ceil:hn,cos:fn,exp:mn,floor:dn,ln:gn,log:xn,log10:yn,max:bn,min:vn,param:wn,pow:Sn,random:Cn,round:Nn,sin:_n,sqrt:En,sum:kn,tan:In,__eq:An};class Mn{constructor(t){this.context=t,L(this,"_cache",{}),L(this,"abs"),L(this,"acos"),L(this,"asin"),L(this,"atan"),L(this,"avg"),L(this,"ceil"),L(this,"cos"),L(this,"exp"),L(this,"floor"),L(this,"ln"),L(this,"log"),L(this,"log10"),L(this,"max"),L(this,"min"),L(this,"param"),L(this,"pow"),L(this,"random"),L(this,"round"),L(this,"sin"),L(this,"sqrt"),L(this,"sum"),L(this,"tan"),L(this,"__eq"),Object.entries(Tn).forEach(([i,r])=>{this[i]=r(t)})}}function Ln(e){return(t,i,r)=>{e.params[r]||(e.params[r]=[]);let a;if(t instanceof f)a=t.get(i||0);else if(Array.isArray(t)){const s=t.every(o=>o instanceof f),n=t.every(o=>!(o instanceof f)&&!Array.isArray(o));(s||n)&&t.length>=1?s?a=t.map(o=>o.get(0)):a=t:a=f.from(t).get(i||0)}else a=t;return e.params[r].length===0?e.params[r].push(a):e.params[r][e.params[r].length-1]=a,[a,r]}}const wi=["1","3","5","15","30","45","60","120","180","240","D","W","M"];function Si(e,t,i,r,a=!1){for(let s=0;s<i.length;s++)if(i[s]<=e&&t<=r[s])return a||t>=r[s]?s:s-1;return-1}function Ci(e,t,i,r,a=!1,s,n=!1){for(let o=i.length-1;o>=0;o--){if(r[o]<=t&&i[o]>=e){const u=s&&t>s;if(n&&a)for(let c=0;c<i.length;c++){if(i[c]>=e&&i[c]<t)return c;if(i[c]>=t)break}if(u&&a&&!n)for(let c=0;c<i.length;c++){if(i[c]>=e&&i[c]<t)return c;if(i[c]>=t)break}return o}if(r[o]<e)break}return-1}function Dn(e){return async(t,i,r,a=!1,s=!1,n=!1,o=null,u=null)=>{const c=t[0],p=i[0],m=r[0],d=r[1],h=Array.isArray(a)?a[0]:a,g=Array.isArray(s)?s[0]:s;if(e.isSecondaryContext)return m;const x=wi.indexOf(e.timeframe),b=wi.indexOf(p);if(x==-1||b==-1)throw new Error("Invalid timeframe");if(x===b)return m;const _=x>b,A=f.from(e.data.openTime).get(0),k=f.from(e.data.closeTime).get(0),w=`${c}_${p}_${d}`,O=`${w}_prevIdx`;if(e.cache[w]){const De=e.cache[w],ze=_?Ci(A,k,De.data.openTime.data,De.data.closeTime.data,g,e.eDate,h):Si(A,k,De.data.openTime.data,De.data.closeTime.data,g);if(ze==-1)return NaN;const ke=De.params[d][ze];if(!_&&h){const ki=e.cache[O];return ki!==void 0&&ki===ze?NaN:(e.cache[O]=ze,Array.isArray(ke)?[ke]:ke)}return Array.isArray(ke)?[ke]:ke}const ee=1e3*60*60*24*30,ye=e.sDate?e.sDate-ee:void 0,ne=e.sDate&&e.eDate?void 0:e.limit||1e3,Ei=new _i(e.source,c,p,ne,ye,void 0);Ei.markAsSecondary();const Ee=await Ei.run(e.pineTSCode);e.cache[w]=Ee;const yt=_?Ci(A,k,Ee.data.openTime.data,Ee.data.closeTime.data,g,e.eDate,h):Si(A,k,Ee.data.openTime.data,Ee.data.closeTime.data,g);if(yt==-1)return NaN;const bt=Ee.params[d][yt];return!_&&h?(e.cache[O]=yt,NaN):Array.isArray(bt)?[bt]:bt}}var Rn=Object.defineProperty,Bn=(e,t,i)=>t in e?Rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,mt=(e,t,i)=>Bn(e,typeof t!="symbol"?t+"":t,i);const jn={param:Ln,security:Dn};class On{constructor(t){this.context=t,mt(this,"_cache",{}),mt(this,"param"),mt(this,"security"),Object.entries(jn).forEach(([i,r])=>{this[i]=r(t)})}}function Fn(e){return t=>{e.taState||(e.taState={});const i=t||"accdist";e.taState[i]||(e.taState[i]={cumulativeSum:0});const r=e.taState[i],a=e.get(e.data.close,0),s=e.get(e.data.high,0),n=e.get(e.data.low,0),o=e.get(e.data.volume,0);if(isNaN(a)||isNaN(s)||isNaN(n)||isNaN(o))return e.precision(r.cumulativeSum);const u=s-n;let c=0;return u!==0&&(c=(a-n-(s-a))/u*o),r.cumulativeSum+=c,e.precision(r.cumulativeSum)}}function Wn(e){return(t,i,r,a,s)=>{const n=f.from(i).get(0),o=f.from(r).get(0),u=f.from(a).get(0);e.taState||(e.taState={});const c=s||`alma_${n}_${o}_${u}`;if(!e.taState[c]){const h=o*(n-1),g=n/u,x=[];let b=0;for(let _=0;_<n;_++){const A=Math.exp(-Math.pow(_-h,2)/(2*g*g));x.push(A),b+=A}for(let _=0;_<x.length;_++)x[_]/=b;e.taState[c]={window:[],weights:x}}const p=e.taState[c],m=f.from(t).get(0);if(p.window.unshift(m),p.window.length<n)return NaN;p.window.length>n&&p.window.pop();let d=0;for(let h=0;h<n;h++)d+=p.weights[h]*p.window[n-1-h];return e.precision(d)}}function $n(e){return(t,i)=>{const r=f.from(t).get(0);e.taState||(e.taState={});const a=i||`atr_${r}`;e.taState[a]||(e.taState[a]={prevAtr:null,initSum:0,initCount:0,prevClose:null});const s=e.taState[a],n=e.get(e.data.high,0),o=e.get(e.data.low,0),u=e.get(e.data.close,0);let c;if(s.prevClose!==null){const m=n-o,d=Math.abs(n-s.prevClose),h=Math.abs(o-s.prevClose);c=Math.max(m,d,h)}else c=n-o;if(s.prevClose=u,s.initCount<r)return s.initSum+=c,s.initCount++,s.initCount===r?(s.prevAtr=s.initSum/r,e.precision(s.prevAtr)):NaN;const p=(s.prevAtr*(r-1)+c)/r;return s.prevAtr=p,e.precision(p)}}function qn(e){return(t,i)=>{e.taState||(e.taState={});const r=i||"barssince";e.taState[r]||(e.taState[r]={lastTrueIndex:null});const a=e.taState[r];return f.from(t).get(0)?(a.lastTrueIndex=e.idx,0):a.lastTrueIndex===null?NaN:e.idx-a.lastTrueIndex}}function Un(e){return(t,i,r,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0);e.taState||(e.taState={});const o=a||`bb_${s}_${n}`;e.taState[o]||(e.taState[o]={window:[],sum:0});const u=e.taState[o],c=f.from(t).get(0);if(isNaN(c))return[[NaN,NaN,NaN]];if(u.window.unshift(c),u.sum+=c,u.window.length<s)return[[NaN,NaN,NaN]];if(u.window.length>s){const x=u.window.pop();u.sum-=x}const p=u.sum/s;let m=0;for(let x=0;x<s;x++)m+=Math.pow(u.window[x]-p,2);const d=Math.sqrt(m/s),h=p+n*d,g=p-n*d;return[[e.precision(h),e.precision(p),e.precision(g)]]}}function Gn(e){return(t,i,r,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0);e.taState||(e.taState={});const o=a||`bbw_${s}_${n}`;e.taState[o]||(e.taState[o]={window:[],sum:0});const u=e.taState[o],c=f.from(t).get(0);if(isNaN(c))return NaN;if(u.window.unshift(c),u.sum+=c,u.window.length<s)return NaN;if(u.window.length>s){const b=u.window.pop();u.sum-=b}const p=u.sum/s;let m=0;for(let b=0;b<s;b++){const _=u.window[b]-p;m+=_*_}const d=m/s,h=Math.sqrt(d),g=n*h;if(p===0)return e.precision(0);const x=2*g/p*100;return e.precision(x)}}function Hn(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`cci_${a}`;e.taState[s]||(e.taState[s]={window:[],sum:0});const n=e.taState[s],o=f.from(t).get(0);if(isNaN(o))return NaN;if(n.window.unshift(o),n.sum+=o,n.window.length<a)return NaN;if(n.window.length>a){const d=n.window.pop();n.sum-=d}const u=n.sum/a;let c=0;for(let d=0;d<a;d++)c+=Math.abs(n.window[d]-u);const p=c/a;if(p===0)return 0;const m=(o-u)/(.015*p);return e.precision(m)}}function zn(e){return(t,i=1,r)=>{typeof i=="string"&&(r=i,i=1);const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`change_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.window.unshift(o),n.window.length<=a)return NaN;n.window.length>a+1&&n.window.pop();const u=o-n.window[a];return e.precision(u)}}function Kn(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`cmo_${a}`;e.taState[s]||(e.taState[s]={gainsWindow:[],lossesWindow:[],gainsSum:0,lossesSum:0});const n=e.taState[s],o=f.from(t).get(0),u=f.from(t).get(1);if(isNaN(o)||isNaN(u))return NaN;const c=o-u,p=c>=0?c:0,m=c>=0?0:-c;if(n.gainsWindow.unshift(p),n.lossesWindow.unshift(m),n.gainsSum+=p,n.lossesSum+=m,n.gainsWindow.length<a)return NaN;if(n.gainsWindow.length>a){const g=n.gainsWindow.pop(),x=n.lossesWindow.pop();n.gainsSum-=g,n.lossesSum-=x}const d=n.gainsSum+n.lossesSum;if(d===0)return e.precision(0);const h=100*(n.gainsSum-n.lossesSum)/d;return e.precision(h)}}function Qn(e){return(t,i,r)=>{const a=f.from(i).get(0),s=f.from(t);let n=0,o=!1;for(let p=0;p<a;p++){const m=s.get(p);if(isNaN(m)){o=!0;break}n+=m}if(o)return NaN;let u=0;for(let p=0;p<a;p++){const m=s.get(p);u+=m*(p+1)}if(n===0)return NaN;const c=-u/n;return e.precision(c)}}function Xn(e){return(t,i,r,a)=>{const s=f.from(r).get(0),n=f.from(t),o=f.from(i);if(e.idx<s-1)return NaN;let u=0,c=0,p=0,m=0,d=0,h=0;for(let A=0;A<s;A++){const k=n.get(A),w=o.get(A);isNaN(k)||isNaN(w)||(u+=k,c+=w,p+=k*w,m+=k*k,d+=w*w,h++)}if(h<2)return NaN;const g=h*p-u*c,x=h*m-u*u,b=h*d-c*c;if(x<=0||b<=0)return e.precision(0);const _=g/Math.sqrt(x*b);return e.precision(_)}}function Yn(e){return(t,i,r)=>{const a=f.from(t),s=f.from(i),n=a.get(0),o=s.get(0),u=a.get(1),c=s.get(1);if(isNaN(n)||isNaN(o)||isNaN(u)||isNaN(c))return!1;const p=n>o&&u<=c,m=n<o&&u>=c;return p||m}}function Zn(e){return(t,i)=>{const r=f.from(t),a=f.from(i),s=r.get(0),n=a.get(0),o=r.get(1),u=a.get(1);return o<u&&s>n}}function Jn(e){return(t,i)=>{const r=f.from(t),a=f.from(i),s=r.get(0),n=a.get(0),o=r.get(1),u=a.get(1);return o>u&&s<n}}function es(e){return(t,i)=>{e.taState||(e.taState={});const r=i||"cum";e.taState[r]||(e.taState[r]={cumulativeSum:0});const a=e.taState[r],s=f.from(t).get(0);return isNaN(s)||(a.cumulativeSum+=s),e.precision(a.cumulativeSum)}}function ts(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`dev_${a}`;e.taState[s]||(e.taState[s]={window:[],sum:0});const n=e.taState[s],o=f.from(t).get(0)||0;if(n.window.unshift(o),n.sum+=o,n.window.length<a)return NaN;if(n.window.length>a){const m=n.window.pop();n.sum-=m}const u=n.sum/a;let c=0;for(let m=0;m<a;m++)c+=Math.abs(n.window[m]-u);const p=c/a;return e.precision(p)}}function is(e){return(t,i,r)=>{const a=f.from(t).get(0),s=f.from(i).get(0);e.taState||(e.taState={});const n=r||`dmi_${a}_${s}`;e.taState[n]||(e.taState[n]={prevHigh:NaN,prevLow:NaN,prevClose:NaN,trInitSum:0,plusInitSum:0,minusInitSum:0,initCount:0,prevSmoothedTR:NaN,prevSmoothedPlus:NaN,prevSmoothedMinus:NaN,dxInitSum:0,adxInitCount:0,prevADX:NaN});const o=e.taState[n],u=e.get(e.data.high,0),c=e.get(e.data.low,0),p=e.get(e.data.close,0);if(isNaN(u)||isNaN(c)||isNaN(p))return[[NaN,NaN,NaN]];if(isNaN(o.prevHigh))return o.prevHigh=u,o.prevLow=c,o.prevClose=p,[[NaN,NaN,NaN]];const m=Math.max(u-c,Math.abs(u-o.prevClose),Math.abs(c-o.prevClose)),d=u-o.prevHigh,h=o.prevLow-c,g=d>h&&d>0?d:0,x=h>d&&h>0?h:0;o.prevHigh=u,o.prevLow=c,o.prevClose=p;let b,_,A;if(o.initCount++,o.initCount<=a)o.trInitSum+=m,o.plusInitSum+=g,o.minusInitSum+=x,o.initCount===a&&(o.prevSmoothedTR=o.trInitSum/a,o.prevSmoothedPlus=o.plusInitSum/a,o.prevSmoothedMinus=o.minusInitSum/a);else{const ne=1/a;o.prevSmoothedTR=ne*m+(1-ne)*o.prevSmoothedTR,o.prevSmoothedPlus=ne*g+(1-ne)*o.prevSmoothedPlus,o.prevSmoothedMinus=ne*x+(1-ne)*o.prevSmoothedMinus}if(b=o.prevSmoothedTR,_=o.prevSmoothedPlus,A=o.prevSmoothedMinus,o.initCount<a)return[[NaN,NaN,NaN]];const k=b===0?0:100*_/b,w=b===0?0:100*A/b,O=k+w,ee=O===0?0:100*Math.abs(k-w)/O;let ye=NaN;if(o.adxInitCount++,o.adxInitCount<=s)o.dxInitSum+=ee,o.adxInitCount===s&&(o.prevADX=o.dxInitSum/s,ye=o.prevADX);else{const ne=1/s;o.prevADX=ne*ee+(1-ne)*o.prevADX,ye=o.prevADX}return[[e.precision(k),e.precision(w),e.precision(ye)]]}}function rs(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`ema_${a}`;e.taState[s]||(e.taState[s]={prevEma:null,initSum:0,initCount:0});const n=e.taState[s],o=f.from(t).get(0);if(n.initCount<a)return n.initSum+=o,n.initCount++,n.initCount===a?(n.prevEma=n.initSum/a,e.precision(n.prevEma)):NaN;const u=2/(a+1),c=o*u+n.prevEma*(1-u);return n.prevEma=c,e.precision(c)}}function as(e){return(t,i,r)=>{const a=f.from(i).get(0),s=f.from(t);for(let n=0;n<a;n++){const o=s.get(n),u=s.get(n+1);if(isNaN(o)||isNaN(u)||o>=u)return!1}return!0}}function ns(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`highest_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.window.unshift(o),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();const u=Math.max(...n.window.filter(c=>!isNaN(c)));return e.precision(u)}}function ss(e){return(t,i,r)=>{const a=f.from(i).get(0),s=f.from(t);if(e.idx<a-1)return NaN;let n=-1/0,o=NaN;for(let u=0;u<a;u++){const c=s.get(u);isNaN(c)||(isNaN(o)||c>n)&&(n=c,o=-u)}return o}}function os(e){return(t,i,r)=>{const a=f.from(i).get(0),s=Math.floor(a/2),n=Math.floor(Math.sqrt(a)),o=e.ta.wma,u=o(t,s,r?`${r}_wma1`:void 0),c=o(t,a,r?`${r}_wma2`:void 0);if(isNaN(u)||isNaN(c))return NaN;e.taState||(e.taState={});const p=r||`hma_raw_${a}`;e.taState[p]||(e.taState[p]=[]);const m=2*u-c;e.taState[p].unshift(m);const d=r?`${r}_hma_final`:`hma_final_${a}`;e.taState[d]||(e.taState[d]={window:[]});const h=e.taState[d];if(h.window.unshift(m),h.window.length<n)return NaN;h.window.length>n&&h.window.pop();let g=0,x=0;for(let _=0;_<n;_++){const A=n-_;g+=h.window[_]*A,x+=A}const b=g/x;return e.precision(b)}}function us(e){return t=>{const i=e.get(e.data.close,0),r=e.get(e.data.high,0),a=e.get(e.data.low,0),s=e.get(e.data.volume,0);if(isNaN(i)||isNaN(r)||isNaN(a)||isNaN(s))return NaN;const n=(r-a)*s;if(n===0)return e.precision(0);const o=(2*i-r-a)/n;return e.precision(o)}}function cs(e){return(t,i,r,a,s)=>{const n=f.from(i).get(0),o=f.from(r).get(0);let u=!0;typeof a=="string"?s=a:a!==void 0&&(u=f.from(a).get(0));let c;const p=e.get(e.data.high,0),m=e.get(e.data.low,0);if(u){const w=e.get(e.data.close,1);isNaN(w)?c=NaN:c=Math.max(p-m,Math.abs(p-w),Math.abs(m-w))}else c=p-m;const d=f.from(t).get(0);e.taState||(e.taState={});const h=s||`kc_${n}_${o}_${u}`;e.taState[h]||(e.taState[h]={basisState:{prevEma:null,initSum:0,initCount:0},rangeState:{prevEma:null,initSum:0,initCount:0}});const g=e.taState[h],x=(w,O,ee)=>{if(isNaN(O))return NaN;if(w.initCount<ee)return w.initSum+=O,w.initCount++,w.initCount===ee?(w.prevEma=w.initSum/ee,w.prevEma):NaN;const ye=2/(ee+1);return w.prevEma=O*ye+w.prevEma*(1-ye),w.prevEma},b=x(g.basisState,d,n),_=x(g.rangeState,c,n);if(isNaN(b)||isNaN(_))return[[NaN,NaN,NaN]];const A=b+_*o,k=b-_*o;return[[e.precision(b),e.precision(A),e.precision(k)]]}}function ls(e){return(t,i,r,a,s)=>{const n=f.from(i).get(0),o=f.from(r).get(0);let u=!0;typeof a=="string"?s=a:a!==void 0&&(u=f.from(a).get(0)),e.taState||(e.taState={});const c=s||`kcw_${n}_${o}_${u}`;e.taState[c]||(e.taState[c]={basisState:{prevEma:null,initSum:0,initCount:0},rangeState:{prevEma:null,initSum:0,initCount:0}});const p=e.taState[c],m=(k,w,O)=>{if(isNaN(w))return NaN;if(k.initCount<O)return k.initSum+=w,k.initCount++,k.initCount===O?(k.prevEma=k.initSum/O,k.prevEma):NaN;const ee=2/(O+1);return k.prevEma=w*ee+k.prevEma*(1-ee),k.prevEma};let d;const h=e.get(e.data.high,0),g=e.get(e.data.low,0);if(u){const k=e.get(e.data.close,1);isNaN(k)?d=NaN:d=Math.max(h-g,Math.abs(h-k),Math.abs(g-k))}else d=h-g;const x=f.from(t).get(0),b=m(p.basisState,x,n),_=m(p.rangeState,d,n);if(isNaN(b)||isNaN(_))return NaN;if(b===0)return e.precision(0);const A=2*_*o/b;return e.precision(A)}}function ps(e){return(t,i,r,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0);e.taState||(e.taState={});const o=a||`linreg_${s}_${n}`;e.taState[o]||(e.taState[o]={window:[]});const u=e.taState[o],c=f.from(t).get(0);if(u.window.unshift(c),u.window.length<s)return NaN;u.window.length>s&&u.window.pop();let p=0,m=0,d=0,h=0;const g=s;for(let A=0;A<s;A++){const k=s-1-A,w=u.window[A];p+=k,m+=w,d+=k*w,h+=k*k}const x=g*h-p*p;if(x===0)return NaN;const b=(g*d-p*m)/x,_=(m-b*p)/g+b*(s-1-n);return e.precision(_)}}function hs(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`lowest_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.window.unshift(o),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();const u=n.window.filter(p=>!isNaN(p)&&p!==void 0),c=u.length>0?Math.min(...u):NaN;return e.precision(c)}}function fs(e){return(t,i,r)=>{const a=f.from(i).get(0),s=f.from(t);if(e.idx<a-1)return NaN;let n=1/0,o=NaN;for(let u=0;u<a;u++){const c=s.get(u);isNaN(c)||(isNaN(o)||c<n)&&(n=c,o=-u)}return o}}function ms(e){return(t,i,r,a,s)=>{const n=f.from(i).get(0),o=f.from(r).get(0),u=f.from(a).get(0),c=s||`macd_${n}_${o}_${u}`,p=`${c}_fast`,m=`${c}_slow`,d=`${c}_signal`,h=e.ta.ema(t,n,p),g=e.ta.ema(t,o,m);let x=NaN;!isNaN(h)&&!isNaN(g)&&(x=h-g);let b=NaN;isNaN(x)||(b=e.ta.ema(x,u,d));let _=NaN;return!isNaN(x)&&!isNaN(b)&&(_=x-b),[[e.precision(x),e.precision(b),e.precision(_)]]}}function ds(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`median_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.window.unshift(o),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();const u=n.window.slice().sort((m,d)=>m-d),c=Math.floor(a/2),p=a%2===0?(u[c-1]+u[c])/2:u[c];return e.precision(p)}}function gs(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`mfi_${a}`;e.taState[s]||(e.taState[s]={upperWindow:[],lowerWindow:[],upperSum:0,lowerSum:0});const n=e.taState[s],o=f.from(t).get(0),u=f.from(t).get(1),c=e.get(e.data.volume,0);if(isNaN(o)||isNaN(c))return NaN;const p=isNaN(u)?NaN:o-u;let m=0,d=0;if(m=c*(p<=0?0:o),d=c*(p>=0?0:o),n.upperWindow.unshift(m),n.lowerWindow.unshift(d),n.upperSum+=m,n.lowerSum+=d,n.upperWindow.length<a)return NaN;if(n.upperWindow.length>a){const g=n.upperWindow.pop(),x=n.lowerWindow.pop();n.upperSum-=g,n.lowerSum-=x}if(n.lowerSum===0)return n.upperSum,e.precision(100);if(n.upperSum===0)return e.precision(0);const h=100-100/(1+n.upperSum/n.lowerSum);return e.precision(h)}}function xs(e){return(t,i,r)=>{const a=f.from(i).get(0),s=f.from(t);if(e.idx<a-1)return NaN;const n=new Map;for(let c=0;c<a;c++){const p=s.get(c);isNaN(p)||n.set(p,(n.get(p)||0)+1)}if(n.size===0)return NaN;let o=NaN,u=-1;for(const[c,p]of n.entries())p>u?(u=p,o=c):p===u&&c<o&&(o=c);return o}}function ys(e){return(t,i,r)=>{const a=f.from(i).get(0);return e.ta.change(t,a)}}function bs(e){return t=>{e.taState||(e.taState={});const i=t||"nvi";e.taState[i]||(e.taState[i]={nvi:1});const r=e.taState[i],a=e.get(e.data.close,0),s=e.get(e.data.close,1),n=e.get(e.data.volume,0),o=e.get(e.data.volume,1),u=isNaN(a)?0:a,c=isNaN(s)?0:s,p=isNaN(n)?0:n,m=isNaN(o)?0:o;if(!(u===0||c===0)&&p<m){const d=(u-c)/c;r.nvi=r.nvi+d*r.nvi}return e.precision(r.nvi)}}function vs(e){return()=>{e.taState||(e.taState={});const t="obv";e.taState[t]||(e.taState[t]={prevOBV:0});const i=e.taState[t],r=e.get(e.data.close,0),a=e.get(e.data.volume,0),s=e.get(e.data.close,1);if(isNaN(s))return i.prevOBV=0,e.precision(0);let n;return r>s?n=i.prevOBV+a:r<s?n=i.prevOBV-a:n=i.prevOBV,i.prevOBV=n,e.precision(n)}}function ws(e){return(t,i,r)=>t instanceof f?i?new f(t.data,t.offset+i):t:(e.params[r]||(e.params[r]=[]),Array.isArray(t)?new f(t,i||0):(e.params[r].length===0?e.params[r].push(t):e.params[r][e.params[r].length-1]=t,new f(e.params[r],0)))}function Ss(e){return(t,i,r,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0),o=f.from(t);if(e.idx<s-1)return NaN;const u=[];for(let g=0;g<s;g++){const x=o.get(g);if(isNaN(x))return NaN;u.push(x)}u.sort((g,x)=>g-x);let c=n/100*s-.5;c<0&&(c=0),c>s-1&&(c=s-1);const p=Math.floor(c),m=Math.ceil(c);if(p===m)return e.precision(u[p]);const d=c-p,h=u[p]+d*(u[m]-u[p]);return e.precision(h)}}function Cs(e){return(t,i,r,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0),o=f.from(t);if(e.idx<s-1)return NaN;const u=[];for(let p=0;p<s;p++){const m=o.get(p);isNaN(m)||u.push(m)}if(u.length===0)return NaN;u.sort((p,m)=>p-m);let c=Math.ceil(n/100*u.length)-1;return c<0&&(c=0),c>=u.length&&(c=u.length-1),e.precision(u[c])}}function Ns(e){return(t,i,r)=>{const a=f.from(i).get(0),s=f.from(t);if(e.idx<a)return NaN;const n=s.get(0);if(isNaN(n))return NaN;let o=0,u=0;for(let c=1;c<=a;c++){const p=s.get(c);isNaN(p)||(u++,p<=n&&o++)}return u===0?NaN:e.precision(o/u*100)}}function _s(e,t,i){const r=new Array(e.length).fill(NaN);for(let a=t+i;a<e.length;a++){const s=e[a-i];let n=!0;for(let o=1;o<=t;o++)if(e[a-i-o]>=s){n=!1;break}if(n){for(let o=1;o<=i;o++)if(e[a-i+o]>=s){n=!1;break}}n&&(r[a]=s)}return r}function Es(e){return(t,i,r)=>{r==null&&(r=i,i=t,t=e.data.high);const a=f.from(i).get(0),s=f.from(r).get(0),n=f.from(t).toArray(),o=_s(n,a,s),u=e.idx;return e.precision(o[u])}}function ks(e,t,i){const r=new Array(e.length).fill(NaN);for(let a=t+i;a<e.length;a++){const s=e[a-i];let n=!0;for(let o=1;o<=t;o++)if(e[a-i-o]<=s){n=!1;break}if(n){for(let o=1;o<=i;o++)if(e[a-i+o]<=s){n=!1;break}}n&&(r[a]=s)}return r}function Is(e){return(t,i,r)=>{r==null&&(r=i,i=t,t=e.data.low);const a=f.from(i).get(0),s=f.from(r).get(0),n=f.from(t).toArray(),o=ks(n,a,s),u=e.idx;return e.precision(o[u])}}function As(e){return t=>{e.taState||(e.taState={});const i=t||"pvi";e.taState[i]||(e.taState[i]={pvi:1});const r=e.taState[i],a=e.get(e.data.close,0),s=e.get(e.data.close,1),n=e.get(e.data.volume,0),o=e.get(e.data.volume,1),u=isNaN(a)?0:a,c=isNaN(s)?0:s,p=isNaN(n)?0:n,m=isNaN(o)?0:o;if(!(u===0||c===0)&&p>m){const d=(u-c)/c;r.pvi=r.pvi+d*r.pvi}return e.precision(r.pvi)}}function Ps(e){return t=>{e.taState||(e.taState={});const i=t||"pvt";e.taState[i]||(e.taState[i]={cumulativeSum:0});const r=e.taState[i],a=e.get(e.data.close,0),s=e.get(e.data.close,1),n=e.get(e.data.volume,0);if(!isNaN(a)&&!isNaN(s)&&!isNaN(n)&&s!==0){const o=(a-s)/s*n;r.cumulativeSum+=o}return e.precision(r.cumulativeSum)}}function Vs(e){return(t,i,r)=>{const a=e.pine.ta.highest(t,i,(r||"range")+"_h"),s=e.pine.ta.lowest(t,i,(r||"range")+"_l");return isNaN(a)||isNaN(s)?NaN:e.precision(a-s)}}function Ts(e){return(t,i,r)=>{const a=f.from(i).get(0),s=f.from(t);for(let n=0;n<a;n++){const o=s.get(n),u=s.get(n+1);if(isNaN(o)||isNaN(u)||o<=u)return!1}return!0}}function Ms(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`rma_${a}`;e.taState[s]||(e.taState[s]={prevRma:null,initSum:0,initCount:0});const n=e.taState[s],o=f.from(t).get(0)||0;if(n.initCount<a)return n.initSum+=o,n.initCount++,n.initCount===a?(n.prevRma=n.initSum/a,e.precision(n.prevRma)):NaN;const u=1/a,c=o*u+n.prevRma*(1-u);return n.prevRma=c,e.precision(c)}}function Ls(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`roc_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.window.unshift(o),n.window.length<=a)return NaN;n.window.length>a+1&&n.window.pop();const u=n.window[a],c=(o-u)/u*100;return e.precision(c)}}function Ds(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`rsi_${a}`;e.taState[s]||(e.taState[s]={prevValue:null,avgGain:0,avgLoss:0,initGains:[],initLosses:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.prevValue!==null){const u=o-n.prevValue,c=u>0?u:0,p=u<0?-u:0;if(n.initGains.length<a){if(n.initGains.push(c),n.initLosses.push(p),n.initGains.length===a){n.avgGain=n.initGains.reduce((h,g)=>h+g,0)/a,n.avgLoss=n.initLosses.reduce((h,g)=>h+g,0)/a,n.prevValue=o;const d=n.avgLoss===0?100:100-100/(1+n.avgGain/n.avgLoss);return e.precision(d)}return n.prevValue=o,NaN}n.avgGain=(n.avgGain*(a-1)+c)/a,n.avgLoss=(n.avgLoss*(a-1)+p)/a;const m=n.avgLoss===0?100:100-100/(1+n.avgGain/n.avgLoss);return n.prevValue=o,e.precision(m)}return n.prevValue=o,NaN}}function Rs(e){return(t,i,r,a)=>{const s=f.from(t).get(0),n=f.from(i).get(0),o=f.from(r).get(0);e.taState||(e.taState={});const u=a||`sar_${s}_${n}_${o}`;e.taState[u]||(e.taState[u]={result:NaN,maxMin:NaN,acceleration:NaN,isBelow:!1,barIndex:0});const c=e.taState[u],p=e.get(e.data.high,0),m=e.get(e.data.low,0),d=e.get(e.data.close,0),h=e.get(e.data.close,1),g=e.get(e.data.high,1),x=e.get(e.data.low,1),b=e.get(e.data.high,2),_=e.get(e.data.low,2);if(isNaN(p)||isNaN(m)||isNaN(d))return NaN;let A=!1;return c.barIndex===1&&(d>h?(c.isBelow=!0,c.maxMin=p,c.result=x):(c.isBelow=!1,c.maxMin=m,c.result=g),A=!0,c.acceleration=s),c.barIndex>=1&&(c.result=c.result+c.acceleration*(c.maxMin-c.result),c.isBelow?c.result>m&&(A=!0,c.isBelow=!1,c.result=Math.max(p,c.maxMin),c.maxMin=m,c.acceleration=s):c.result<p&&(A=!0,c.isBelow=!0,c.result=Math.min(m,c.maxMin),c.maxMin=p,c.acceleration=s),A||(c.isBelow?p>c.maxMin&&(c.maxMin=p,c.acceleration=Math.min(c.acceleration+n,o)):m<c.maxMin&&(c.maxMin=m,c.acceleration=Math.min(c.acceleration+n,o))),c.isBelow?(c.result=Math.min(c.result,x),c.barIndex>1&&(c.result=Math.min(c.result,_))):(c.result=Math.max(c.result,g),c.barIndex>1&&(c.result=Math.max(c.result,b)))),c.barIndex++,c.barIndex<=1?NaN:e.precision(c.result)}}function Bs(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`sma_${a}`;e.taState[s]||(e.taState[s]={window:[],sum:0});const n=e.taState[s],o=f.from(t).get(0)||0;if(n.window.unshift(o),n.sum+=o,n.window.length<a)return NaN;if(n.window.length>a){const c=n.window.pop();n.sum-=c}const u=n.sum/a;return e.precision(u)}}function js(e){return(t,i,r=!0,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0);e.taState||(e.taState={});const o=a||`stdev_${s}_${n}`;e.taState[o]||(e.taState[o]={window:[],sum:0});const u=e.taState[o],c=f.from(t).get(0);if(u.window.unshift(c),u.sum+=c,u.window.length<s)return NaN;if(u.window.length>s){const g=u.window.pop();u.sum-=g}const p=u.sum/s;let m=0;for(let g=0;g<s;g++)m+=Math.pow(u.window[g]-p,2);const d=n?s:s-1,h=Math.sqrt(m/d);return e.precision(h)}}function Os(e){return(t,i,r,a,s)=>{const n=f.from(a).get(0);e.taState||(e.taState={});const o=s||`stoch_${n}`;e.taState[o]||(e.taState[o]={highWindow:[],lowWindow:[]});const u=e.taState[o],c=f.from(t).get(0),p=f.from(i).get(0),m=f.from(r).get(0);if(isNaN(c)||isNaN(p)||isNaN(m))return NaN;if(u.highWindow.unshift(p),u.lowWindow.unshift(m),u.highWindow.length<n)return NaN;u.highWindow.length>n&&(u.highWindow.pop(),u.lowWindow.pop());let d=u.highWindow[0],h=u.lowWindow[0];for(let b=1;b<n;b++)u.highWindow[b]>d&&(d=u.highWindow[b]),u.lowWindow[b]<h&&(h=u.lowWindow[b]);const g=d-h;if(g===0)return NaN;const x=100*(c-h)/g;return e.precision(x)}}function Fs(e){return(t,i,r)=>{const a=f.from(t).get(0),s=f.from(i).get(0);e.taState||(e.taState={});const n=r||`supertrend_${a}_${s}`;e.taState[n]||(e.taState[n]={trWindow:[],trSum:0,atrValue:NaN,atrCount:0,prevLowerBand:NaN,prevUpperBand:NaN,prevSuperTrend:NaN,prevDirection:NaN,prevClose:NaN});const o=e.taState[n],u=e.get(e.data.high,0),c=e.get(e.data.low,0),p=e.get(e.data.close,0);if(isNaN(u)||isNaN(c)||isNaN(p))return[[NaN,NaN]];const m=(u+c)/2;let d;isNaN(o.prevClose)?d=u-c:d=Math.max(u-c,Math.abs(u-o.prevClose),Math.abs(c-o.prevClose)),o.atrCount++,o.atrCount<=s?(o.trWindow.push(d),o.trSum+=d,o.atrCount===s&&(o.atrValue=o.trSum/s)):o.atrValue=(o.atrValue*(s-1)+d)/s;const h=o.atrValue,g=o.prevClose;if(o.prevClose=p,isNaN(h))return[[NaN,NaN]];let x=m+a*h,b=m-a*h;const _=isNaN(o.prevLowerBand)?0:o.prevLowerBand,A=isNaN(o.prevUpperBand)?0:o.prevUpperBand;isNaN(o.prevLowerBand)||b>_||g<_||(b=_),isNaN(o.prevUpperBand)||x<A||g>A||(x=A);let k,w;const O=o.prevSuperTrend;return o.atrCount===s?k=1:O===o.prevUpperBand?k=p>x?-1:1:k=p<b?1:-1,w=k===-1?b:x,o.prevLowerBand=b,o.prevUpperBand=x,o.prevSuperTrend=w,o.prevDirection=k,[[e.precision(w),k]]}}function Ws(e){return(t,i)=>{const r=[1,2,2,1],a=6;e.taState||(e.taState={});const s=i||"swma";e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.window.unshift(o),n.window.length<4)return NaN;n.window.length>4&&n.window.pop();let u=0;for(let c=0;c<4;c++)u+=r[c]*n.window[3-c];return u/=a,e.precision(u)}}function $s(e){return(t,i)=>{let r=!0;typeof t=="string"||t!==void 0&&(r=f.from(t).get(0));const a=e.get(e.data.high,0),s=e.get(e.data.low,0),n=e.get(e.data.close,1);return isNaN(n)?r?a-s:NaN:Math.max(a-s,Math.abs(a-n),Math.abs(s-n))}}function qs(e){return(t,i,r,a)=>{const s=f.from(i).get(0),n=f.from(r).get(0);e.taState||(e.taState={});const o=a||`tsi_${s}_${n}`;e.taState[o]||(e.taState[o]={prevSource:NaN,ema1_pc_multiplier:2/(n+1),ema1_pc_value:NaN,ema1_pc_count:0,ema1_pc_sum:0,ema2_pc_multiplier:2/(s+1),ema2_pc_value:NaN,ema2_pc_count:0,ema2_pc_sum:0,ema1_abs_multiplier:2/(n+1),ema1_abs_value:NaN,ema1_abs_count:0,ema1_abs_sum:0,ema2_abs_multiplier:2/(s+1),ema2_abs_value:NaN,ema2_abs_count:0,ema2_abs_sum:0});const u=e.taState[o],c=f.from(t).get(0);if(isNaN(c))return NaN;const p=isNaN(u.prevSource)?NaN:c-u.prevSource;if(u.prevSource=c,isNaN(p))return NaN;const m=Math.abs(p);if(u.ema1_pc_count++,u.ema1_pc_count<=n?(u.ema1_pc_sum+=p,u.ema1_pc_count===n&&(u.ema1_pc_value=u.ema1_pc_sum/n)):u.ema1_pc_value=p*u.ema1_pc_multiplier+u.ema1_pc_value*(1-u.ema1_pc_multiplier),u.ema1_abs_count++,u.ema1_abs_count<=n?(u.ema1_abs_sum+=m,u.ema1_abs_count===n&&(u.ema1_abs_value=u.ema1_abs_sum/n)):u.ema1_abs_value=m*u.ema1_abs_multiplier+u.ema1_abs_value*(1-u.ema1_abs_multiplier),isNaN(u.ema1_pc_value)||isNaN(u.ema1_abs_value))return NaN;if(u.ema2_pc_count++,u.ema2_pc_count<=s?(u.ema2_pc_sum+=u.ema1_pc_value,u.ema2_pc_count===s&&(u.ema2_pc_value=u.ema2_pc_sum/s)):u.ema2_pc_value=u.ema1_pc_value*u.ema2_pc_multiplier+u.ema2_pc_value*(1-u.ema2_pc_multiplier),u.ema2_abs_count++,u.ema2_abs_count<=s?(u.ema2_abs_sum+=u.ema1_abs_value,u.ema2_abs_count===s&&(u.ema2_abs_value=u.ema2_abs_sum/s)):u.ema2_abs_value=u.ema1_abs_value*u.ema2_abs_multiplier+u.ema2_abs_value*(1-u.ema2_abs_multiplier),isNaN(u.ema2_pc_value)||isNaN(u.ema2_abs_value))return NaN;if(u.ema2_abs_value===0)return e.precision(0);const d=u.ema2_pc_value/u.ema2_abs_value;return e.precision(d)}}function Us(e){return(t,i,r,a)=>{e.taState||(e.taState={});const s=a||"valuewhen";e.taState[s]||(e.taState[s]={values:[]});const n=e.taState[s],o=f.from(t).get(0),u=f.from(i).get(0),c=f.from(r).get(0);if(o&&n.values.push(u),isNaN(c)||c<0)return NaN;const p=n.values.length-1-c;if(p<0)return NaN;const m=n.values[p];return typeof m=="number"?e.precision(m):m}}function Gs(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`variance_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.window.unshift(o),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();let u=0,c=0;for(let d=0;d<a;d++)u+=n.window[d],c+=n.window[d]*n.window[d];const p=u/a,m=c/a-p*p;return e.precision(m)}}function Hs(e){return(t,i)=>{e.taState||(e.taState={});const r=i||"vwap";e.taState[r]||(e.taState[r]={cumulativePV:0,cumulativeVolume:0,lastSessionDate:null});const a=e.taState[r],s=f.from(t).get(0),n=f.from(e.data.volume).get(0),o=f.from(e.data.openTime).get(0),u=new Date(o).toISOString().slice(0,10);if(a.lastSessionDate!==u&&(a.cumulativePV=0,a.cumulativeVolume=0,a.lastSessionDate=u),a.cumulativePV+=s*n,a.cumulativeVolume+=n,a.cumulativeVolume===0)return NaN;const c=a.cumulativePV/a.cumulativeVolume;return e.precision(c)}}function zs(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`vwma_${a}`;e.taState[s]||(e.taState[s]={window:[],volumeWindow:[]});const n=e.taState[s],o=f.from(t).get(0),u=e.get(e.data.volume,0);if(n.window.unshift(o),n.volumeWindow.unshift(u),n.window.length<a)return NaN;n.window.length>a&&(n.window.pop(),n.volumeWindow.pop());let c=0,p=0;for(let d=0;d<a;d++)c+=n.window[d]*n.volumeWindow[d],p+=n.volumeWindow[d];const m=c/p;return e.precision(m)}}function Ks(e){return t=>{e.taState||(e.taState={});const i=t||"wad";e.taState[i]||(e.taState[i]={cumulativeSum:0});const r=e.taState[i],a=e.get(e.data.close,0),s=e.get(e.data.high,0),n=e.get(e.data.low,0),o=e.get(e.data.close,1);if(isNaN(a)||isNaN(s)||isNaN(n))return e.precision(r.cumulativeSum);let u=0;if(!isNaN(o)){const c=Math.max(s,o),p=Math.min(n,o),m=a-o;m>0?u=a-p:m<0&&(u=a-c)}return r.cumulativeSum+=u,e.precision(r.cumulativeSum)}}function Qs(e){return(t,i,r)=>{const a=f.from(i).get(0);e.taState||(e.taState={});const s=r||`wma_${a}`;e.taState[s]||(e.taState[s]={window:[]});const n=e.taState[s],o=f.from(t).get(0);if(n.window.unshift(o),n.window.length<a)return NaN;n.window.length>a&&n.window.pop();let u=0,c=0;for(let m=0;m<a;m++){const d=a-m;u+=n.window[m]*d,c+=d}const p=u/c;return e.precision(p)}}function Xs(e){return(t,i)=>{const r=f.from(t).get(0);e.taState||(e.taState={});const a=i||`wpr_${r}`;e.taState[a]||(e.taState[a]={highWindow:[],lowWindow:[]});const s=e.taState[a],n=e.get(e.data.high,0),o=e.get(e.data.low,0),u=e.get(e.data.close,0);if(isNaN(n)||isNaN(o)||isNaN(u))return NaN;if(s.highWindow.unshift(n),s.lowWindow.unshift(o),s.highWindow.length<r)return NaN;s.highWindow.length>r&&(s.highWindow.pop(),s.lowWindow.pop());let c=s.highWindow[0],p=s.lowWindow[0];for(let h=1;h<r;h++)s.highWindow[h]>c&&(c=s.highWindow[h]),s.lowWindow[h]<p&&(p=s.lowWindow[h]);const m=c-p;if(m===0)return e.precision(0);const d=(c-u)/m*-100;return e.precision(d)}}function Ys(e){return t=>{const i=e.get(e.data.close,0),r=e.get(e.data.open,0),a=e.get(e.data.high,0),s=e.get(e.data.low,0),n=e.get(e.data.volume,0);if(isNaN(i)||isNaN(r)||isNaN(a)||isNaN(s)||isNaN(n))return NaN;const o=a-s;if(o===0)return e.precision(0);const u=(i-r)/o*n;return e.precision(u)}}var Zs=Object.defineProperty,Js=(e,t,i)=>t in e?Zs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,C=(e,t,i)=>Js(e,typeof t!="symbol"?t+"":t,i);const eo={accdist:Fn,alma:Wn,atr:$n,barssince:qn,bb:Un,bbw:Gn,cci:Hn,change:zn,cmo:Kn,cog:Qn,correlation:Xn,cross:Yn,crossover:Zn,crossunder:Jn,cum:es,dev:ts,dmi:is,ema:rs,falling:as,highest:ns,highestbars:ss,hma:os,iii:us,kc:cs,kcw:ls,linreg:ps,lowest:hs,lowestbars:fs,macd:ms,median:ds,mfi:gs,mode:xs,mom:ys,nvi:bs,obv:vs,param:ws,percentile_linear_interpolation:Ss,percentile_nearest_rank:Cs,percentrank:Ns,pivothigh:Es,pivotlow:Is,pvi:As,pvt:Ps,range:Vs,rising:Ts,rma:Ms,roc:Ls,rsi:Ds,sar:Rs,sma:Bs,stdev:js,stoch:Os,supertrend:Fs,swma:Ws,tr:$s,tsi:qs,valuewhen:Us,variance:Gs,vwap:Hs,vwma:zs,wad:Ks,wma:Qs,wpr:Xs,wvad:Ys};class to{constructor(t){this.context=t,C(this,"accdist"),C(this,"alma"),C(this,"atr"),C(this,"barssince"),C(this,"bb"),C(this,"bbw"),C(this,"cci"),C(this,"change"),C(this,"cmo"),C(this,"cog"),C(this,"correlation"),C(this,"cross"),C(this,"crossover"),C(this,"crossunder"),C(this,"cum"),C(this,"dev"),C(this,"dmi"),C(this,"ema"),C(this,"falling"),C(this,"highest"),C(this,"highestbars"),C(this,"hma"),C(this,"iii"),C(this,"kc"),C(this,"kcw"),C(this,"linreg"),C(this,"lowest"),C(this,"lowestbars"),C(this,"macd"),C(this,"median"),C(this,"mfi"),C(this,"mode"),C(this,"mom"),C(this,"nvi"),C(this,"obv"),C(this,"param"),C(this,"percentile_linear_interpolation"),C(this,"percentile_nearest_rank"),C(this,"percentrank"),C(this,"pivothigh"),C(this,"pivotlow"),C(this,"pvi"),C(this,"pvt"),C(this,"range"),C(this,"rising"),C(this,"rma"),C(this,"roc"),C(this,"rsi"),C(this,"sar"),C(this,"sma"),C(this,"stdev"),C(this,"stoch"),C(this,"supertrend"),C(this,"swma"),C(this,"tr"),C(this,"tsi"),C(this,"valuewhen"),C(this,"variance"),C(this,"vwap"),C(this,"vwma"),C(this,"wad"),C(this,"wma"),C(this,"wpr"),C(this,"wvad"),Object.entries(eo).forEach(([i,r])=>{this[i]=r(t)})}}var io=Object.defineProperty,ro=(e,t,i)=>t in e?io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,D=(e,t,i)=>ro(e,typeof t!="symbol"?t+"":t,i);const Ni=class vt{constructor({marketData:t,source:i,tickerId:r,timeframe:a,limit:s,sDate:n,eDate:o}){D(this,"data",{open:new f([]),high:new f([]),low:new f([]),close:new f([]),volume:new f([]),hl2:new f([]),hlc3:new f([]),ohlc4:new f([])}),D(this,"cache",{}),D(this,"taState",{}),D(this,"isSecondaryContext",!1),D(this,"NA",NaN),D(this,"lang"),D(this,"pine"),D(this,"idx",0),D(this,"params",{}),D(this,"const",{}),D(this,"var",{}),D(this,"let",{}),D(this,"result"),D(this,"plots",{}),D(this,"marketData"),D(this,"source"),D(this,"tickerId"),D(this,"timeframe",""),D(this,"limit"),D(this,"sDate"),D(this,"eDate"),D(this,"pineTSCode"),this.marketData=t,this.source=i,this.tickerId=r,this.timeframe=a,this.limit=s,this.sDate=n,this.eDate=o;const u=new Fa(this),c={plotchar:u.plotchar.bind(u),na:u.na.bind(u),color:u.color,plot:u.plot.bind(u),nz:u.nz.bind(u)},p=this;this.pine={input:new sn(this),ta:new to(this),math:new Mn(this),request:new On(this),array:new Ra(this),na:c.na,plotchar:c.plotchar,color:c.color,plot:c.plot,nz:c.nz,get bar_index(){return p.idx}}}init(t,i,r=0){let a;return i instanceof f?a=i.get(0):Array.isArray(i)?Array.isArray(i[0])?a=i[0]:a=this.precision(i[i.length-1+r]):a=this.precision(i),t?t instanceof f?(t.data[t.data.length-1]=a,t):Array.isArray(t)?(t[t.length-1]=a,new f(t)):new f([a]):new f([a])}initVar(t,i){if(t)return t;let r;return i instanceof f?r=i.get(0):Array.isArray(i)?Array.isArray(i[0])?r=i[0]:r=this.precision(i[i.length-1]):r=this.precision(i),new f([r])}precision(t,i=10){return typeof t!="number"||isNaN(t)?t:Number(t.toFixed(i))}param(t,i,r){return typeof t=="string"?t:t instanceof f?i?new f(t.data,t.offset+i):t:!Array.isArray(t)&&typeof t=="object"?t:(this.params[r]||(this.params[r]=[]),Array.isArray(t)?new f(t,i||0):(this.params[r].length===0?this.params[r].push(t):this.params[r][this.params[r].length-1]=t,new f(this.params[r],0)))}get(t,i){if(t instanceof f)return t.get(i);if(Array.isArray(t)){const r=t.length-1-i;return r<0||r>=t.length?NaN:t[r]}return t}set(t,i){if(t instanceof f){t.set(0,i);return}if(Array.isArray(t)){t.length>0?t[t.length-1]=i:t.push(i);return}}get math(){return this._showDeprecationWarning("const math = context.math","const { math, ta, input } = context.pine"),this.pine.math}get ta(){return this._showDeprecationWarning("const ta = context.ta","const { ta, math, input } = context.pine"),this.pine.ta}get input(){return this._showDeprecationWarning("const input = context.input","const { input, math, ta } = context.pine"),this.pine.input}get request(){return this._showDeprecationWarning("const request = context.request","const { request, math, ta } = context.pine"),this.pine.request}get array(){return this._showDeprecationWarning("const array = context.array","const { array, math, ta } = context.pine"),this.pine.array}get core(){return this._showDeprecationWarning("context.core.*","context.pine (e.g., const { na, plotchar, color, plot, nz } = context.pine)"),{na:this.pine.na,plotchar:this.pine.plotchar,color:this.pine.color,plot:this.pine.plot,nz:this.pine.nz}}_showDeprecationWarning(t,i){const r=`${t}->${i}`;vt._deprecationWarningsShown.has(r)||(vt._deprecationWarningsShown.add(r),typeof window<"u"?console.warn("%c[WARNING]%c %s syntax is deprecated. Use %s instead. This will be removed in a future version.","color: #FFA500; font-weight: bold;","color: #FFA500;",t,i):console.warn(`\x1B[33m[WARNING] ${t} syntax is deprecated. Use ${i} instead. This will be removed in a future version.\x1B[0m`))}};D(Ni,"_deprecationWarningsShown",new Set);let dt=Ni;var ao=Object.defineProperty,no=(e,t,i)=>t in e?ao(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,W=(e,t,i)=>no(e,typeof t!="symbol"?t+"":t,i);class _i{constructor(t,i,r,a,s,n){this.source=t,this.tickerId=i,this.timeframe=r,this.limit=a,this.sDate=s,this.eDate=n,W(this,"data",[]),W(this,"open",[]),W(this,"high",[]),W(this,"low",[]),W(this,"close",[]),W(this,"volume",[]),W(this,"hl2",[]),W(this,"hlc3",[]),W(this,"ohlc4",[]),W(this,"openTime",[]),W(this,"closeTime",[]),W(this,"_readyPromise",null),W(this,"_ready",!1),W(this,"_debugSettings",{ln:!1,debug:!1}),W(this,"_transpiledCode",null),W(this,"_isSecondaryContext",!1),this._readyPromise=new Promise(o=>{this.loadMarketData(t,i,r,a,s,n).then(u=>{const c=u;this.data=c;const p=c.map(w=>w.open),m=c.map(w=>w.close),d=c.map(w=>w.high),h=c.map(w=>w.low),g=c.map(w=>w.volume),x=c.map(w=>(w.high+w.low+w.close)/3),b=c.map(w=>(w.high+w.low)/2),_=c.map(w=>(w.high+w.low+w.open+w.close)/4),A=c.map(w=>w.openTime),k=c.map(w=>w.closeTime);this.open=p,this.close=m,this.high=d,this.low=h,this.volume=g,this.hl2=b,this.hlc3=x,this.ohlc4=_,this.openTime=A,this.closeTime=k,this._ready=!0,o(!0)})})}get transpiledCode(){return this._transpiledCode}markAsSecondary(){this._isSecondaryContext=!0}setDebugSettings({ln:t,debug:i}){this._debugSettings.ln=t,this._debugSettings.debug=i}async loadMarketData(t,i,r,a,s,n){return Array.isArray(t)?t:t.getMarketData(i,r,a,s,n)}async ready(){if(this._ready)return!0;if(!this._readyPromise)throw new Error("PineTS is not ready");return this._readyPromise}run(t,i,r){if(r&&r>0){const a=typeof this.eDate>"u"&&!Array.isArray(this.source);return this._runPaginated(t,i,r,a)}else return this._runComplete(t,i)}async _runComplete(t,i){await this.ready(),i||(i=this.data.length);const r=this._initializeContext(t,this._isSecondaryContext);return this._transpiledCode=this._transpileCode(t),await this._executeIterations(r,this._transpiledCode,this.data.length-i,this.data.length),r}async*_runPaginated(t,i,r,a=!1){await this.ready(),i||(i=this.data.length);const s=this._initializeContext(t,this._isSecondaryContext);this._transpiledCode=this._transpileCode(t);let n=this.data.length-i;for(;;){const o=this.data.length-n;if(o>0){const p=Math.min(o,r),m=this._getResultLength(s.result);await this._executeIterations(s,this._transpiledCode,n,n+p),n+=p,yield this._createPageContext(s,m);continue}if(!a||Array.isArray(this.source))break;const{newCandles:u,updatedLastCandle:c}=await this._updateMarketData();if(u===0&&!c){yield null;continue}this._removeLastResult(s),n=this.data.length-(u+1)}}_getResultLength(t){if(Array.isArray(t))return t.length;if(typeof t=="object"&&t!==null){const i=Object.keys(t);if(i.length>0&&Array.isArray(t[i[0]]))return t[i[0]].length}return 0}_createPageContext(t,i){const r=new dt({marketData:this.data,source:this.source,tickerId:this.tickerId,timeframe:this.timeframe,limit:this.limit,sDate:this.sDate,eDate:this.eDate});if(r.pineTSCode=t.pineTSCode,r.idx=t.idx,Array.isArray(t.result))r.result=t.result.slice(i);else if(typeof t.result=="object"&&t.result!==null){r.result={};for(let a in t.result)Array.isArray(t.result[a])?r.result[a]=t.result[a].slice(i):r.result[a]=t.result[a]}else r.result=t.result;return r.plots={...t.plots},r}async _updateMarketData(t){if(Array.isArray(this.source))return{newCandles:0,updatedLastCandle:!1};const i=this.source,r=this.data.length-1,a=this.data[r].openTime;try{const s=await i.getMarketData(this.tickerId,this.timeframe,void 0,a,t);if(!s||s.length===0)return{newCandles:0,updatedLastCandle:!1};let n=!1,o=0;for(let u=0;u<s.length;u++){const c=s[u];c.openTime===a?(this._replaceCandle(r,c),n=!0):c.openTime>a&&(this._appendCandle(c),o++)}return{newCandles:o,updatedLastCandle:n}}catch(s){return console.error("Error updating market data:",s),{newCandles:0,updatedLastCandle:!1}}}_replaceCandle(t,i){this.data[t]=i,this.open[t]=i.open,this.close[t]=i.close,this.high[t]=i.high,this.low[t]=i.low,this.volume[t]=i.volume,this.hl2[t]=(i.high+i.low)/2,this.hlc3[t]=(i.high+i.low+i.close)/3,this.ohlc4[t]=(i.high+i.low+i.open+i.close)/4,this.openTime[t]=i.openTime,this.closeTime[t]=i.closeTime}_appendCandle(t){this.data.push(t),this.open.push(t.open),this.close.push(t.close),this.high.push(t.high),this.low.push(t.low),this.volume.push(t.volume),this.hl2.push((t.high+t.low)/2),this.hlc3.push((t.high+t.low+t.close)/3),this.ohlc4.push((t.high+t.low+t.open+t.close)/4),this.openTime.push(t.openTime),this.closeTime.push(t.closeTime)}_removeLastResult(t){if(Array.isArray(t.result))t.result.pop();else if(typeof t.result=="object"&&t.result!==null)for(let i in t.result)Array.isArray(t.result[i])&&t.result[i].pop();t.data.close.data.pop(),t.data.open.data.pop(),t.data.high.data.pop(),t.data.low.data.pop(),t.data.volume.data.pop(),t.data.hl2.data.pop(),t.data.hlc3.data.pop(),t.data.ohlc4.data.pop(),t.data.openTime.data.pop(),t.data.closeTime&&t.data.closeTime.data.pop()}_initializeContext(t,i=!1){const r=new dt({marketData:this.data,source:this.source,tickerId:this.tickerId,timeframe:this.timeframe,limit:this.limit,sDate:this.sDate,eDate:this.eDate});return r.pineTSCode=t,r.isSecondaryContext=i,r.data.close=new f([]),r.data.open=new f([]),r.data.high=new f([]),r.data.low=new f([]),r.data.volume=new f([]),r.data.hl2=new f([]),r.data.hlc3=new f([]),r.data.ohlc4=new f([]),r.data.openTime=new f([]),r.data.closeTime=new f([]),r}_transpileCode(t){return Ur.bind(this)(t,this._debugSettings)}async _executeIterations(t,i,r,a){const s=["const","var","let","params"];for(let n=r;n<a;n++){t.idx=n,t.data.close.data.push(this.close[n]),t.data.open.data.push(this.open[n]),t.data.high.data.push(this.high[n]),t.data.low.data.push(this.low[n]),t.data.volume.data.push(this.volume[n]),t.data.hl2.data.push(this.hl2[n]),t.data.hlc3.data.push(this.hlc3[n]),t.data.ohlc4.data.push(this.ohlc4[n]),t.data.openTime.data.push(this.openTime[n]),t.data.closeTime.data.push(this.closeTime[n]);const o=await i(t);if(typeof o=="object"){typeof t.result!="object"&&(t.result={});for(let u in o){t.result[u]===void 0&&(t.result[u]=[]);let c;o[u]instanceof f?c=o[u].get(0):Array.isArray(o[u])?c=o[u][o[u].length-1]:c=o[u],t.result[u].push(c)}}else Array.isArray(t.result)||(t.result=[]),t.result.push(o);for(let u of s)for(let c in t[u]){const p=t[u][c];if(p instanceof f){const m=p.get(0);p.data.push(m)}else if(Array.isArray(p)){const m=p[p.length-1];p.push(m)}}}}}var so=Object.defineProperty,oo=(e,t,i)=>t in e?so(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,gt=(e,t,i)=>oo(e,typeof t!="symbol"?t+"":t,i);const uo="https://api.binance.com/api/v3",xt={1:"1m",3:"3m",5:"5m",15:"15m",30:"30m",45:null,60:"1h",120:"2h",180:null,240:"4h","4H":"4h","1D":"1d",D:"1d","1W":"1w",W:"1w","1M":"1M",M:"1M"};class co{constructor(t=5*60*1e3){gt(this,"cache"),gt(this,"cacheDuration"),this.cache=new Map,this.cacheDuration=t}generateKey(t){return Object.entries(t).filter(([i,r])=>r!==void 0).map(([i,r])=>`${i}:${r}`).join("|")}get(t){const i=this.generateKey(t),r=this.cache.get(i);return r?Date.now()-r.timestamp>this.cacheDuration?(this.cache.delete(i),null):r.data:null}set(t,i){const r=this.generateKey(t);this.cache.set(r,{data:i,timestamp:Date.now()})}clear(){this.cache.clear()}cleanup(){const t=Date.now();for(const[i,r]of this.cache.entries())t-r.timestamp>this.cacheDuration&&this.cache.delete(i)}}class lo{constructor(){gt(this,"cacheManager"),this.cacheManager=new co(5*60*1e3)}async getMarketDataInterval(t,i,r,a){try{const s=xt[i.toUpperCase()];if(!s)return console.error(`Unsupported timeframe: ${i}`),[];const n={"1m":60*1e3,"3m":3*60*1e3,"5m":5*60*1e3,"15m":15*60*1e3,"30m":30*60*1e3,"1h":60*60*1e3,"2h":2*60*60*1e3,"4h":4*60*60*1e3,"1d":24*60*60*1e3,"1w":7*24*60*60*1e3,"1M":30*24*60*60*1e3};let o=[],u=r;const c=a,p=n[s];if(!p)return console.error(`Duration not defined for interval: ${s}`),[];for(;u<c;){const m=Math.min(u+1e3*p,c),d=await this.getMarketData(t,i,1e3,u,m);if(d.length===0)break;o=o.concat(d),u=d[d.length-1].closeTime+1}return o}catch(s){return console.error("Error in getMarketDataInterval:",s),[]}}async getMarketData(t,i,r,a,s){try{const n={tickerId:t,timeframe:i,limit:r,sDate:a,eDate:s},o=this.cacheManager.get(n);if(o)return o;const u=xt[i.toUpperCase()];if(!u)return console.error(`Unsupported timeframe: ${i}`),[];if(this.shouldPaginate(i,r,a,s)&&a&&s){const d=await this.getMarketDataInterval(t,i,a,s),h=r?d.slice(0,r):d;return this.cacheManager.set(n,h),h}let c=`${uo}/klines?symbol=${t}&interval=${u}`;r&&(c+=`&limit=${Math.min(r,1e3)}`),a&&(c+=`&startTime=${a}`),s&&(c+=`&endTime=${s}`);const p=await fetch(c);if(!p.ok)throw new Error(`HTTP error! status: ${p.status}`);const m=(await p.json()).map(d=>({openTime:parseInt(d[0]),open:parseFloat(d[1]),high:parseFloat(d[2]),low:parseFloat(d[3]),close:parseFloat(d[4]),volume:parseFloat(d[5]),closeTime:parseInt(d[6]),quoteAssetVolume:parseFloat(d[7]),numberOfTrades:parseInt(d[8]),takerBuyBaseAssetVolume:parseFloat(d[9]),takerBuyQuoteAssetVolume:parseFloat(d[10]),ignore:d[11]}));return this.cacheManager.set(n,m),m}catch(n){return console.error("Error in binance.klines:",n),[]}}shouldPaginate(t,i,r,a){if(i&&i>1e3)return!0;if(r&&a){const s=xt[t.toUpperCase()],n={"1m":60*1e3,"3m":3*60*1e3,"5m":5*60*1e3,"15m":15*60*1e3,"30m":30*60*1e3,"1h":60*60*1e3,"2h":2*60*60*1e3,"4h":4*60*60*1e3,"1d":24*60*60*1e3,"1w":7*24*60*60*1e3,"1M":30*24*60*60*1e3}[s];if(n)return Math.ceil((a-r)/n)>1e3}return!1}}class po{async getMarketData(){return[]}}const ho=typeof process<"u"&&process.versions&&process.versions.node;let He=null;if(ho)try{He=new po}catch{He=null}const fo={Binance:new lo,...He?{Mock:He}:{}};fe.Context=dt,fe.PineTS=_i,fe.Provider=fo,Object.defineProperty(fe,"__esModule",{value:!0})});
32
36
  ;var PineTS = PineTSLib.PineTS;PineTS.Provider = PineTSLib.Provider;PineTS.Context = PineTSLib.Context;