@unotest/dsl 0.30.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +67 -0
- package/EXTENSIONS.md +53 -0
- package/dist/chunk-N2WSGHD6.js +1 -0
- package/dist/executor/index.d.ts +75 -4
- package/dist/executor/index.js +1 -1
- package/dist/index.d.ts +19 -2
- package/dist/index.js +1 -1
- package/dist/validator/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-32TK5QEV.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,72 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.32.0] - 2026-09-05
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 047ca68: Failure text no longer carries terminal colouring into files and replies.
|
|
8
|
+
|
|
9
|
+
Playwright paints its call log whenever the environment claims a terminal is
|
|
10
|
+
watching — `FORCE_COLOR`, which an MCP server inherits from whatever launched
|
|
11
|
+
it — and that message was copied verbatim into `steps.jsonl`, `runtime.json`
|
|
12
|
+
and the failure bundle. An agent reading the JSON got an escape sequence in
|
|
13
|
+
the middle of the sentence it was trying to parse, and the viewer rendered
|
|
14
|
+
it as a chewed-up word.
|
|
15
|
+
|
|
16
|
+
The colouring is dropped where a thrown error becomes our data, so every
|
|
17
|
+
reader of a failure gets the same clean text. Our own output is unaffected:
|
|
18
|
+
it paints at print time, which is where colour belongs.
|
|
19
|
+
|
|
20
|
+
The same on mobile: a failure's text in the run journal and in the report no
|
|
21
|
+
longer carries terminal escapes.
|
|
22
|
+
|
|
23
|
+
- 047ca68: A `step.soft(...)` failure no longer stops a debug run — or goes missing from it.
|
|
24
|
+
|
|
25
|
+
Under a debugger (`run_test`, or `e2e --debug`), every soft failure raised
|
|
26
|
+
the debug wheel: the run stopped on each one and an agent had to `resume`
|
|
27
|
+
its way through them. Worse, it was then lost — a paused failure is consumed
|
|
28
|
+
where it paused, so it never reached the `step.soft` envelope that records
|
|
29
|
+
it, the envelope closed as if the block had passed, and a run with three
|
|
30
|
+
soft failures could finish green with none of them listed.
|
|
31
|
+
|
|
32
|
+
Pausing is now for a failure that ENDS the run. A failure under any
|
|
33
|
+
enclosing soft step is recorded and stepped over exactly as it is on the
|
|
34
|
+
command line, and `runtime.json` — which the `run_test` reply is built from —
|
|
35
|
+
carries every soft failure of the run, not just the last stop.
|
|
36
|
+
|
|
37
|
+
A hard failure still pauses: that is what the debugger is for.
|
|
38
|
+
|
|
39
|
+
The same holds on mobile: a `step.soft(...)` failure no longer stops a run
|
|
40
|
+
under the debugger, and every soft failure of a run is now part of its
|
|
41
|
+
runtime state instead of being lost at the pause.
|
|
42
|
+
|
|
43
|
+
## [0.31.0] - 2026-09-04
|
|
44
|
+
|
|
45
|
+
### Minor Changes
|
|
46
|
+
|
|
47
|
+
- 56784b3: `ExecutionWalker.run` takes a trailing `entryArgs` list and binds it by
|
|
48
|
+
position onto the entry function's parameters (missing ones `null`) in
|
|
49
|
+
the root scope before the body runs — what `explore_run_flow` needs to
|
|
50
|
+
replay a parameterised `flow_*` helper live.
|
|
51
|
+
- 100ab9d: `step[.soft](label, [{tag: <expr>},] () => { … })`. The parser reads
|
|
52
|
+
`.soft` as the one step modifier and an options object after the label;
|
|
53
|
+
the validator (`step-shape`) allows the single option `tag` (any
|
|
54
|
+
expression) and `step.soft` inside `test_*` only. The walker evaluates the
|
|
55
|
+
tag when the block starts, emits a `step-block-start` / `step-block-end`
|
|
56
|
+
envelope around each block (label, tag, soft flag, outcome), and turns a
|
|
57
|
+
failure inside a soft block into a recorded soft failure: the rest of that
|
|
58
|
+
body is skipped, the run continues after the block, and `RunResult` ends
|
|
59
|
+
`failed` with `softFailures` and an aggregate error (`N soft step(s)
|
|
60
|
+
failed: …`, name `SoftStepFailure`). Statement events carry `stepTag`
|
|
61
|
+
next to `stepLabel`. Control-flow signals pass through untouched.
|
|
62
|
+
- ad7c918: The walker yields a `loop-iteration` marker before every pass of a
|
|
63
|
+
`for` / `while` / `do-while` body — the loop statement's position and
|
|
64
|
+
the 0-based pass index — inside the loop header's own step envelope. A
|
|
65
|
+
marker, not a frame: consumers that pair `step-start` / `step-end` are
|
|
66
|
+
unaffected; a reader building an execution tree opens an "iteration N"
|
|
67
|
+
group at the marker and closes it at the next one or at the loop's end.
|
|
68
|
+
An iteration that runs no statement still gets its marker.
|
|
69
|
+
|
|
3
70
|
## [0.30.0] - 2026-09-03
|
|
4
71
|
|
|
5
72
|
## [0.29.0] - 2026-09-02
|
package/EXTENSIONS.md
CHANGED
|
@@ -121,6 +121,59 @@ attributes) return strings — comparing against a number wants `==`.
|
|
|
121
121
|
|
|
122
122
|
---
|
|
123
123
|
|
|
124
|
+
## 7. Step blocks — `step[.soft](label, [{tag: expr},] () => { … })`
|
|
125
|
+
|
|
126
|
+
`step` is a keyword token, not a function: the parser owns the shape.
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
step("Sign in", () => { … });
|
|
130
|
+
step("Question", {tag: q.id}, () => { … });
|
|
131
|
+
step.soft("Question", {tag: q.id}, () => { … });
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
- `label` is any expression to the parser; the validator (`step-shape`)
|
|
135
|
+
constrains it to a string literal — the intent a human reads.
|
|
136
|
+
- `.soft` is the only modifier (`DOT` + `WORD("soft")` after the `STEP`
|
|
137
|
+
token); any other word is a parse error. A soft step turns a failure
|
|
138
|
+
inside its body into a recorded soft failure: the rest of the body is
|
|
139
|
+
skipped, the run continues after the block, the test is still failed
|
|
140
|
+
at the end with every soft failure listed. `return` / `break` /
|
|
141
|
+
`continue` pass through untouched. Allowed inside `test_*` only
|
|
142
|
+
(`step-shape`) — a helper has no test to report a soft failure on.
|
|
143
|
+
Under a debugger (`pauseOnFailure`) a soft failure does **not** hold the
|
|
144
|
+
run: pausing is for a failure that ends it, and one the run steps over
|
|
145
|
+
would otherwise stop the debugger on every soft block — and be lost,
|
|
146
|
+
because a paused failure never reaches the envelope that records it.
|
|
147
|
+
- The options object is recognised by its opening brace after the
|
|
148
|
+
label's comma (the only other legal token there is `(`). It is the
|
|
149
|
+
first statement-level options object in the grammar; `ObjectExpression`
|
|
150
|
+
parses it, the validator allows the single key `tag`, whose value is
|
|
151
|
+
any expression — the case id a data-driven iteration is on.
|
|
152
|
+
- The executor emits a `step-block-start` / `step-block-end` envelope
|
|
153
|
+
per block (label, evaluated tag, soft flag, outcome) around the
|
|
154
|
+
statements' own `step-start` / `step-end` events.
|
|
155
|
+
|
|
156
|
+
Why: a data-driven gate (one `test_*`, a loop over cases) needs a way
|
|
157
|
+
to name the case an iteration is on and to keep going after one case
|
|
158
|
+
fails, the way `expect.soft` does inside a Playwright `test.step`.
|
|
159
|
+
|
|
160
|
+
## 8. Entry arguments — `walker.run(…, entryArgs)`
|
|
161
|
+
|
|
162
|
+
An executor-level extension, not grammar: `ExecutionWalker.run` takes a
|
|
163
|
+
trailing `entryArgs` list and binds it by position onto the entry
|
|
164
|
+
function's parameters before its body runs — the same rule as a helper
|
|
165
|
+
call (missing arguments are `null`), but in the root scope, since the
|
|
166
|
+
entry body is the root frame.
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
function flow_guard_login(username, password) { … }
|
|
170
|
+
walker.run(ast, 'flow_guard_login', runtime, opts, helpers, file, fnFile, ['ivan', 's3cret']);
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Why: `explore_run_flow` replays a parameterised flow live during a
|
|
174
|
+
recording; without the binding every use of a parameter failed with
|
|
175
|
+
`Variable "username" is not defined`.
|
|
176
|
+
|
|
124
177
|
## Deliberately not supported
|
|
125
178
|
|
|
126
179
|
- **`${}` template interpolation** — see extension 2.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x15dbcc=_0x29a9;(function(_0x5e3634,_0x2a12c1){const _0x4ec0db={_0x489b3c:0x14e,_0x4eadee:0x157,_0x125074:0x100,_0x5a7bd2:0x1be,_0x54108d:0x1f8},_0x121482=_0x29a9,_0xa3cfa9=_0x5e3634();while(!![]){try{const _0x535d52=-parseInt(_0x121482(0x1ff))/0x1*(parseInt(_0x121482(_0x4ec0db._0x489b3c))/0x2)+-parseInt(_0x121482(0x14a))/0x3+-parseInt(_0x121482(0x1c0))/0x4*(-parseInt(_0x121482(0xc7))/0x5)+-parseInt(_0x121482(_0x4ec0db._0x4eadee))/0x6+parseInt(_0x121482(_0x4ec0db._0x125074))/0x7*(parseInt(_0x121482(0x147))/0x8)+-parseInt(_0x121482(_0x4ec0db._0x5a7bd2))/0x9+parseInt(_0x121482(0x142))/0xa*(parseInt(_0x121482(_0x4ec0db._0x54108d))/0xb);if(_0x535d52===_0x2a12c1)break;else _0xa3cfa9['push'](_0xa3cfa9['shift']());}catch(_0x4dd24f){_0xa3cfa9['push'](_0xa3cfa9['shift']());}}}(_0x470d,0x2476b));var __defProp=Object[_0x15dbcc(0x14d)],__name=(_0x3e797f,_0x53f0ac)=>__defProp(_0x3e797f,_0x15dbcc(0x231),{'value':_0x53f0ac,'configurable':!![]});function escapeDslString(_0x42bcfc){const _0x534230={_0x2ab257:0x1a2},_0x36f6a1=_0x15dbcc;return'\x22'+_0x42bcfc[_0x36f6a1(_0x534230._0x2ab257)](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')+'\x22';}__name(escapeDslString,_0x15dbcc(0x14c));function locator(_0x2c72da,_0x2a6c47){const _0x54f162={_0x3a758f:0xe7,_0x20a4ef:0x12a,_0x485731:0x134},_0x106b1e=_0x15dbcc,_0xe7909=_0x2c72da['replace'](/\\/g,'\x5c\x5c')[_0x106b1e(0x1a2)](/'/g,'\x5c\x27');if(_0x2a6c47!==void 0x0)return'toLocator([locator(\x27'+_0xe7909+'\x27),\x20nth('+_0x2a6c47+_0x106b1e(_0x54f162._0x3a758f);return _0x106b1e(_0x54f162._0x20a4ef)+_0xe7909+_0x106b1e(_0x54f162._0x485731);}__name(locator,_0x15dbcc(0x227));function buildClickDsl(_0x11693f,_0xc69a6,_0x1dc889=''){const _0x100625={_0x92085e:0x16d},_0x13fdbd=_0x15dbcc;return _0x13fdbd(_0x100625._0x92085e)+locator(_0x11693f,_0xc69a6)+',\x20'+escapeDslString(_0x1dc889)+');';}__name(buildClickDsl,_0x15dbcc(0x1af));function buildFillDsl(_0x54c6d8,_0x33e040,_0x10e847,_0x49405a=''){const _0x17f09a={_0x291b34:0x13a},_0x3dfd17=_0x15dbcc;return _0x3dfd17(_0x17f09a._0x291b34)+locator(_0x54c6d8,_0x10e847)+',\x20'+escapeDslString(_0x33e040)+',\x20'+escapeDslString(_0x49405a)+');';}__name(buildFillDsl,_0x15dbcc(0xf8));function buildTypeTextDsl(_0x384fae,_0x446f0b,_0x37e06f=''){const _0x4ab800=_0x15dbcc;return _0x4ab800(0x19a)+locator(_0x384fae)+',\x20'+escapeDslString(_0x446f0b)+',\x20'+escapeDslString(_0x37e06f)+');';}__name(buildTypeTextDsl,_0x15dbcc(0xc1));function buildOpenDsl(_0x5c6f5f,_0x4bbedb='0',_0x553781=''){const _0x24263c={_0x2a1788:0x15c},_0x29f985=_0x15dbcc;return _0x29f985(_0x24263c._0x2a1788)+escapeDslString(_0x5c6f5f)+',\x20'+escapeDslString(_0x4bbedb)+',\x20'+escapeDslString(_0x553781)+');';}__name(buildOpenDsl,_0x15dbcc(0xf6));var buildNavigateDsl=buildOpenDsl;function buildAssertVisibleDsl(_0xb61c51,_0x55f184=''){const _0x54b43e={_0xbddcc1:0x22d},_0xeb05a3=_0x15dbcc;return _0xeb05a3(_0x54b43e._0xbddcc1)+locator(_0xb61c51)+',\x20'+escapeDslString(_0x55f184)+');';}__name(buildAssertVisibleDsl,_0x15dbcc(0x13e));function buildAssertUrlContainsDsl(_0x1b193c,_0x2edb3b=''){return'urlAssert(\x22CONTAINS\x22,\x20'+escapeDslString(_0x1b193c)+',\x20'+escapeDslString(_0x2edb3b)+');';}__name(buildAssertUrlContainsDsl,_0x15dbcc(0xe8));function buildAssertPageReadyDsl(_0x19978b=''){const _0x369278={_0x35fb5b:0x10d},_0x47c928=_0x15dbcc;return _0x47c928(_0x369278._0x35fb5b)+escapeDslString(_0x19978b)+');';}__name(buildAssertPageReadyDsl,_0x15dbcc(0x217));function buildAssertAuthenticatedDsl(_0x5ea809=''){const _0x579d21=_0x15dbcc;return _0x579d21(0x23f)+escapeDslString(_0x5ea809)+');';}__name(buildAssertAuthenticatedDsl,'buildAssertAuthenticatedDsl');function buildAssertTableNotEmptyDsl(_0x37566e,_0x157395=''){return'assertTableNotEmpty('+locator(_0x37566e)+',\x20'+escapeDslString(_0x157395)+');';}__name(buildAssertTableNotEmptyDsl,_0x15dbcc(0x207));function buildAssertListNotEmptyDsl(_0x543017,_0x5e8f51=''){const _0x4c01e5=_0x15dbcc;return _0x4c01e5(0x215)+locator(_0x543017)+',\x20'+escapeDslString(_0x5e8f51)+');';}__name(buildAssertListNotEmptyDsl,'buildAssertListNotEmptyDsl');function buildAssertNoVisibleErrorDsl(_0x31af09=''){const _0x216d41=_0x15dbcc;return _0x216d41(0x1dd)+escapeDslString(_0x31af09)+');';}__name(buildAssertNoVisibleErrorDsl,'buildAssertNoVisibleErrorDsl');function buildAssertSectionTitleDsl(_0xf88a2c,_0x4adbbb=''){const _0x436c87={_0x90ff99:0xe4},_0xe44ab8=_0x15dbcc;return _0xe44ab8(_0x436c87._0x90ff99)+escapeDslString(_0xf88a2c)+',\x20'+escapeDslString(_0x4adbbb)+');';}__name(buildAssertSectionTitleDsl,_0x15dbcc(0x18c));function buildAssertToastVisibleDsl(_0x1a5d95,_0x4dd6eb=''){const _0x42f474={_0x39a060:0x1b1},_0x2eb43f=_0x15dbcc;return _0x2eb43f(_0x42f474._0x39a060)+escapeDslString(_0x1a5d95)+',\x20'+escapeDslString(_0x4dd6eb)+');';}__name(buildAssertToastVisibleDsl,_0x15dbcc(0x148));function buildAssertDialogOpenDsl(_0x1dfb4c,_0xbcac64=''){return'assertDialogOpen('+escapeDslString(_0x1dfb4c)+',\x20'+escapeDslString(_0xbcac64)+');';}__name(buildAssertDialogOpenDsl,_0x15dbcc(0x13c));function buildAssertRouteIsDsl(_0x53d1f7,_0xa5aa02=''){const _0x11088e=_0x15dbcc;return _0x11088e(0x220)+escapeDslString(_0x53d1f7)+',\x20'+escapeDslString(_0xa5aa02)+');';}__name(buildAssertRouteIsDsl,_0x15dbcc(0x1c9));function buildSelectComboboxValueDsl(_0x39b255,_0x51469f,_0x22acd2=''){const _0x9fc1f9=_0x15dbcc;return _0x9fc1f9(0xb9)+locator(_0x39b255)+',\x20'+escapeDslString(_0x51469f)+',\x20'+escapeDslString(_0x22acd2)+');';}__name(buildSelectComboboxValueDsl,_0x15dbcc(0xc9));function buildLoginAsDsl(_0x293485,_0x43f7fc,_0x178a3=''){const _0x50fbcc={_0x5c7d45:0xdd},_0x128f98=_0x15dbcc;return _0x128f98(_0x50fbcc._0x5c7d45)+escapeDslString(_0x293485)+',\x20'+escapeDslString(_0x43f7fc)+',\x20'+escapeDslString(_0x178a3)+');';}__name(buildLoginAsDsl,_0x15dbcc(0x1d2));function buildOpenMenuItemDsl(_0x31eb9b,_0xf91e18=''){const _0x13b4b7={_0x1d0d16:0x12f},_0x27a2ea=_0x15dbcc;return _0x27a2ea(_0x13b4b7._0x1d0d16)+escapeDslString(_0x31eb9b)+',\x20'+escapeDslString(_0xf91e18)+');';}function _0x29a9(_0x24185e,_0x333a64){_0x24185e=_0x24185e-0xa5;const _0x470d6e=_0x470d();let _0x29a905=_0x470d6e[_0x24185e];if(_0x29a9['VezVyP']===undefined){var _0x486903=function(_0x290b78){const _0x2e6a7e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e797f='',_0x53f0ac='';for(let _0x42bcfc=0x0,_0x2c72da,_0x2a6c47,_0xe7909=0x0;_0x2a6c47=_0x290b78['charAt'](_0xe7909++);~_0x2a6c47&&(_0x2c72da=_0x42bcfc%0x4?_0x2c72da*0x40+_0x2a6c47:_0x2a6c47,_0x42bcfc++%0x4)?_0x3e797f+=String['fromCharCode'](0xff&_0x2c72da>>(-0x2*_0x42bcfc&0x6)):0x0){_0x2a6c47=_0x2e6a7e['indexOf'](_0x2a6c47);}for(let _0x11693f=0x0,_0xc69a6=_0x3e797f['length'];_0x11693f<_0xc69a6;_0x11693f++){_0x53f0ac+='%'+('00'+_0x3e797f['charCodeAt'](_0x11693f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53f0ac);};_0x29a9['jANblz']=_0x486903,_0x29a9['MWvbxG']={},_0x29a9['VezVyP']=!![];}const _0x539438=_0x470d6e[0x0],_0x36eca4=_0x24185e+_0x539438,_0x221c6=_0x29a9['MWvbxG'][_0x36eca4];return!_0x221c6?(_0x29a905=_0x29a9['jANblz'](_0x29a905),_0x29a9['MWvbxG'][_0x36eca4]=_0x29a905):_0x29a905=_0x221c6,_0x29a905;}__name(buildOpenMenuItemDsl,_0x15dbcc(0x18b));function buildOpenTabDsl(_0x3cece0,_0x323978=''){const _0x10139c=_0x15dbcc;return _0x10139c(0x234)+escapeDslString(_0x3cece0)+',\x20'+escapeDslString(_0x323978)+');';}__name(buildOpenTabDsl,'buildOpenTabDsl');function buildCloseDialogDsl(_0x3a2c54,_0x20a404=''){const _0x4e7e07=_0x15dbcc;return _0x4e7e07(0x12b)+escapeDslString(_0x3a2c54)+',\x20'+escapeDslString(_0x20a404)+');';}__name(buildCloseDialogDsl,_0x15dbcc(0xd7));function buildFillFormDsl(_0x13c226,_0x443a8a=''){const _0x29bc64={_0x5ce6e5:0xdb,_0x2b33af:0x1a2},_0x384c14=_0x15dbcc,_0x173bd4=JSON[_0x384c14(_0x29bc64._0x5ce6e5)](_0x13c226)[_0x384c14(0x1a2)](/\\/g,'\x5c\x5c')[_0x384c14(_0x29bc64._0x2b33af)](/"/g,'\x5c\x22');return _0x384c14(0xd6)+_0x173bd4+_0x384c14(0x19e)+escapeDslString(_0x443a8a)+');';}__name(buildFillFormDsl,_0x15dbcc(0x240));function buildSaveFormDsl(_0x34e2f8,_0x4b9487=''){const _0x454a89=_0x15dbcc;return _0x454a89(0x242)+escapeDslString(_0x34e2f8)+',\x20'+escapeDslString(_0x4b9487)+');';}__name(buildSaveFormDsl,'buildSaveFormDsl');function buildWaitForDsl(_0x3b7a85,_0x591f12='',_0x39e5c8){const _0x1ea17a=_0x39e5c8?',\x20'+_0x39e5c8:'';return'waitFor('+locator(_0x3b7a85)+',\x20'+escapeDslString(_0x591f12)+_0x1ea17a+');';}__name(buildWaitForDsl,'buildWaitForDsl');function buildWaitForTextDsl(_0x3b2976,_0x300b8d,_0x359567='',_0x5dc5b2){const _0x81ff29={_0x3f28f3:0x1c8},_0x28d96b=_0x15dbcc,_0x3f5330=_0x5dc5b2?',\x20'+_0x5dc5b2:'';return _0x28d96b(_0x81ff29._0x3f28f3)+locator(_0x3b2976)+',\x20'+escapeDslString(_0x300b8d)+',\x20'+escapeDslString(_0x359567)+_0x3f5330+');';}__name(buildWaitForTextDsl,'buildWaitForTextDsl');function buildWaitForHiddenDsl(_0x306eed,_0x2c028e='',_0x4acedb){const _0x9bc732={_0x3acf3b:0x10a},_0x5a7799=_0x15dbcc,_0x430301=_0x4acedb?',\x20'+_0x4acedb:'';return _0x5a7799(_0x9bc732._0x3acf3b)+locator(_0x306eed)+',\x20'+escapeDslString(_0x2c028e)+_0x430301+');';}__name(buildWaitForHiddenDsl,_0x15dbcc(0x1b5));function buildWaitForURLDsl(_0x40eba8,_0x5e64f2='',_0x1b2d6f){const _0x4c8eb6=_0x15dbcc,_0x52195e=_0x1b2d6f?',\x20'+_0x1b2d6f:'';return _0x4c8eb6(0x106)+escapeDslString(_0x40eba8)+',\x20'+escapeDslString(_0x5e64f2)+_0x52195e+');';}__name(buildWaitForURLDsl,_0x15dbcc(0x155));function buildWaitForNavigationDsl(_0x3917b7='',_0x101c94){const _0x57eb18=_0x101c94?',\x20'+_0x101c94:'';return'waitForNavigation('+escapeDslString(_0x3917b7)+_0x57eb18+');';}__name(buildWaitForNavigationDsl,_0x15dbcc(0x1c2));function buildAssertInputValueDsl(_0x381db9,_0x121095,_0x1f5f23='',_0x346dd9){const _0x3ae65d={_0x4a38a4:0x163},_0x34e8a3=_0x15dbcc,_0x1443a7=_0x346dd9&&_0x346dd9!=='IS'?',\x20'+escapeDslString(_0x346dd9):'';return _0x34e8a3(_0x3ae65d._0x4a38a4)+locator(_0x381db9)+',\x20'+escapeDslString(_0x121095)+',\x20'+escapeDslString(_0x1f5f23)+_0x1443a7+');';}__name(buildAssertInputValueDsl,_0x15dbcc(0x210));function buildScrollIntoViewDsl(_0x41ac48,_0x17d5b3=''){const _0xf43bc4=_0x15dbcc;return _0xf43bc4(0x187)+locator(_0x41ac48)+',\x20'+escapeDslString(_0x17d5b3)+');';}__name(buildScrollIntoViewDsl,_0x15dbcc(0xc8));function buildScrollToBottomDsl(_0x11e513,_0x458f39=''){const _0x592c8d={_0x46759e:0x191},_0x2f8a66=_0x15dbcc;return _0x2f8a66(_0x592c8d._0x46759e)+locator(_0x11e513)+',\x20'+escapeDslString(_0x458f39)+');';}__name(buildScrollToBottomDsl,_0x15dbcc(0x1f4));function buildScrollToTopDsl(_0x1af7df,_0x1dec9f=''){const _0x3628f9={_0x2a3be9:0xae},_0x51c081=_0x15dbcc;return _0x51c081(_0x3628f9._0x2a3be9)+locator(_0x1af7df)+',\x20'+escapeDslString(_0x1dec9f)+');';}__name(buildScrollToTopDsl,_0x15dbcc(0x1e9));function buildForceClickDsl(_0x581536,_0x23eee7=''){const _0xf25257=_0x15dbcc;return _0xf25257(0x21a)+locator(_0x581536)+',\x20'+escapeDslString(_0x23eee7)+');';}__name(buildForceClickDsl,'buildForceClickDsl');function buildDragAndDropDsl(_0x14e0e4,_0x111ee9,_0x28de42=''){return'dragAndDrop('+locator(_0x14e0e4)+',\x20'+locator(_0x111ee9)+',\x20'+escapeDslString(_0x28de42)+');';}__name(buildDragAndDropDsl,_0x15dbcc(0x126));function buildClipboardPasteDsl(_0x1e264c,_0x8f85b6,_0x37fb31=''){const _0x48a4cc=_0x15dbcc;return _0x48a4cc(0x16e)+locator(_0x1e264c)+',\x20'+escapeDslString(_0x8f85b6)+',\x20'+escapeDslString(_0x37fb31)+');';}__name(buildClipboardPasteDsl,_0x15dbcc(0x175));function buildKeypressDsl(_0x7be51e,_0x3b4c64=_0x15dbcc(0xbf),_0x13fb85=''){return'press('+locator(_0x3b4c64)+',\x20'+escapeDslString(_0x7be51e)+',\x20'+escapeDslString(_0x13fb85)+');';}__name(buildKeypressDsl,_0x15dbcc(0xf5));function buildSwitchToFrameDsl(_0x2b3675,_0x6e1ef1=''){const _0x2d4dd6={_0x3f4da6:0x11d},_0x585a96=_0x15dbcc;return _0x585a96(_0x2d4dd6._0x3f4da6)+locator(_0x2b3675)+',\x20'+escapeDslString(_0x6e1ef1)+');';}__name(buildSwitchToFrameDsl,'buildSwitchToFrameDsl');function buildSwitchToMainFrameDsl(_0x5ae7fa=''){return'switchToMainFrame('+escapeDslString(_0x5ae7fa)+');';}__name(buildSwitchToMainFrameDsl,_0x15dbcc(0x108));function buildAssertNotVisibleDsl(_0x13d7c4,_0x1557e6=''){const _0x30b925=_0x15dbcc;return _0x30b925(0xd8)+locator(_0x13d7c4)+',\x20'+escapeDslString(_0x1557e6)+');';}__name(buildAssertNotVisibleDsl,'buildAssertNotVisibleDsl');function buildAssertTextContainsDsl(_0x10cf2c,_0xf8b5c0,_0x42788a=''){const _0x49f61b={_0x2502fd:0x114},_0x3cfc9a=_0x15dbcc;return _0x3cfc9a(_0x49f61b._0x2502fd)+locator(_0x10cf2c)+',\x20'+escapeDslString(_0xf8b5c0)+',\x20'+escapeDslString(_0x42788a)+');';}__name(buildAssertTextContainsDsl,_0x15dbcc(0x1a3));function buildAssertTextEqualsDsl(_0x3b78cc,_0x590d58,_0x1e4329=''){return'elementAssert(\x22IS\x22,\x20'+locator(_0x3b78cc)+',\x20'+escapeDslString(_0x590d58)+',\x20'+escapeDslString(_0x1e4329)+');';}__name(buildAssertTextEqualsDsl,_0x15dbcc(0x105));function buildAssertUrlEqualsDsl(_0x5a5073,_0x8918b4=''){const _0x1df018={_0x302e90:0xdc},_0x28dfd0=_0x15dbcc;return _0x28dfd0(_0x1df018._0x302e90)+escapeDslString(_0x5a5073)+',\x20'+escapeDslString(_0x8918b4)+');';}__name(buildAssertUrlEqualsDsl,_0x15dbcc(0x170));function buildAssertCountEqualsDsl(_0x5b2983,_0x257dcc,_0x59ab88=''){return'elementCountAssert(\x22EQUAL\x22,\x20'+locator(_0x5b2983)+',\x20'+_0x257dcc+',\x20'+escapeDslString(_0x59ab88)+');';}__name(buildAssertCountEqualsDsl,_0x15dbcc(0x138));function _0x470d(){const _0x448716=['Dg9Rzw5PEMvxB3jK','uMvNrxHWrxHWCMvZC2LVBG','C3rLCfn0yxrLBwvUDa','zMLSBezVCM0OiG','yNvPBgrdBg9ZzurPywXVz0rZBa','zwXLBwvUDfzPC2LIAwXPDhLbC3nLCNqOiK5pvf9wsvnjqKXfiIWG','qu1qqu1q','Dg9Rzw5PEMvsyxDuzxH0','C3rYAw5NAwz5','DxjSqxnZzxj0kcjjuYiSia','Bg9NAw5bCYG','ihWG','BMv4Da','rNvUy3rPB25tDgf0zw1LBNq','D2L0Aa','y2f0y2G','C3rHDgvTzw50','yxnZzxj0u2vJDgLVBLrPDgXLka','zM9YicG','zg8GEWO','kv0P','yNvPBgrbC3nLCNrvCMXdB250ywLUC0rZBa','AgfZ','y29SDw1U','lcaIiZy2y2nJyYiPoW','Bg9NAwnHBefUza','Dgv4Da','rvHdtevr','q0Xpu0vFtuvuqv9cte9dsW','y29UzgL0Aw9U','rNvUy3rPB25Z','r1rf','rvHdta','Cg9Z','yNvPBgrlzxLWCMvZC0rZBa','yNvPBgrpCgvUrhnS','wKvstW','yNvPBgrgAwXSrhnS','q2fUBM90ignHC3qGyxjYyxKGDg8GBNvTyMvY','iIdIGjqGDgHLig9UBhKGB25LigLZihn0zxaUC29MDcGUlI4PlG','DMfY','vxnLCKrLzMLUzuz1BMn0Aw9U','AxnoDw1Izxi','vevyva','ica+ia','nZC2mdjmBKjUy1i','C3vWzxi','Aw5KzxHLCW','zM9Yu3rHDgvTzw50','yxnoDw1Izxi','yNvPBgrbC3nLCNruzxH0rxf1ywXZrhnS','D2fPDezVCLvstcG','vMfYAwfIBgvfEhbYzxnZAw9U','yNvPBgrtD2L0y2HuB01HAw5gCMfTzurZBa','y29UzgL0Aw9UywW','D2fPDezVCKHPzgrLBIG','uKjsqunlrvq','tejsqunf','yxnZzxj0ugfNzvjLywr5ka','sw5JCMvTzw50rxHWCMvZC2LVBG','uhjVCgvYDhKTCMvHzcbLEhbYzxnZAw9UihvZzwqGyxmGysbZDgf0zw1LBNqGkg5VihnPzguGzwzMzwn0ks4GrwL0AgvYigfZC2LNBIbPDcaOyhGGpsbYB3CUzM9VycKGB3iGy2fSBcbHig1LDgHVzcaOyhjVDY5MB28OkwaPlG','qxnZAwDUBwvUDfn0yxrLBwvUDa','D2HPBgvtDgf0zw1LBNq','u0Xbu0G','AwztDgf0zw1LBNq','zwXLBwvUDefZC2vYDcGIq09ovefjtLmIlca','y29UC3vTzq','u0vr','z2v0qxjNC05HBwu','rvHdtevrrve','ruXtrq','DMfSAwrHDgvfCZvgBgfNCW','D2HPBgu','Dg9Rzw5PEMvszwDLEa','C3DPDgnOvg9gCMfTzsG','pt09','DgHYB3C','vw5HCNLfEhbYzxnZAw9U','zM9YrwfJAa','twLZC2LUzYbJBg9Zzsb0ywCGAw4Gy29TBwvUDa','ChjPBNqG','qvjst1C','C3rLCa','yNvPBgreCMfNqw5KrhjVCerZBa','DMfYAwfIBgu','yMXVy2S','ugfYC2vY','Dg9mB2nHDg9YkfTSB2nHDg9YkcC','y2XVC2veAwfSB2CO','zwnOBW','Aw1WB3j0','z2v0uMvZDwX0','B3bLBK1LBNvjDgvTka','twv0yujSB2nRu3rHDgvTzw50','vw5LEhbLy3rLzca','igvSC2uG','vMfYAwfIBgvZihn0ywnRihvUzgvMAw5Lza','jYLDkq','tuLovvm','AM9PBG','uKjsqunf','yNvPBgrbC3nLCNrdB3vUDevXDwfSC0rZBa','DMfSDwu','zMLSBcG','Aw5KzxHpzG','yNvPBgrbC3nLCNreAwfSB2DpCgvUrhnS','rvffuuvr','yNvPBgrbC3nLCNrwAxnPyMXLrhnS','yNvPBgrgBg93rhnS','tuvuqv9cte9dsW','Bgv0','mJqWmJy5meXOCMDyvq','zNjVBq','lcb0zxH0oIaI','v09sra','q09ntue','mtKYtgnYq2nK','yNvPBgrbC3nLCNruB2fZDfzPC2LIBgveC2W','y2HHCKf0','mtC4oda2u1PqC1Pg','t2jQzwn0rxHWCMvZC2LVBG','zxnJyxbLrhnSu3rYAw5N','zgvMAw5LuhjVCgvYDhK','nZa0A0fIuLDK','BxvSDgLWBgLJyxrL','u0vnsunpte9o','Bg9JywXLq29TCgfYzq','C3rHy2S','ywrK','tfrfuq','yNvPBgrxywL0rM9YvvjmrhnS','AgLNAgXPz2H0qMXVy2S','mtiZmdyWnKHfBuTXrq','C3rHDgvTzw50t3jcBg9JAW','Dw5HCNK','C3DPDgnO','tejsqunlrvq','B3bLBIG','y29Z','qLjfquS','B3bLCMf0B3i','Cg9W','id0G','BgfZDeLUzgv4','yxnZzxj0sw5WDxrwywX1zsG','qxjYyxLby2nLC3nfEhbYzxnZAw9U','yNjLywS','BgfIzwXuzxH0','vMfYAwfIBguGBMfTzsaN','ue9tvezjwf9jtKnsru1ftLq','D2HPBguGka','rxHWzwn0zwqGAwrLBNrPzMLLCIbHzNrLCIaNlIC','B3bLCMfUza','sw5KzxGGywnJzxnZig9UigeGBwvTyMvYigv4ChjLC3nPB24GkguUzY4Gyhn0yxrLlM1HDgnOzxnBmf1GksbPCYbUB3qGC3vWCg9YDgvKiokaLcbPBMrLEgLUzYb3B3jRCYbVBIbHigjHCMuGDMfYAwfIBguGB25SEs4GqxnZAwDUihrOzsbTzw1IzxiGDg8Gysb2yxjPywjSzsbMAxjZDdOGyg0GpsbZDgf0zs5TyxrJAgvZoYbSyxn0id0GBvTTlMXLBMD0AcaTidfDo2a','y2XPy2SO','y2XPCgjVyxjKugfZDguO','z2v0qxjNC0nVDw50','yNvPBgrbC3nLCNrvCMXfCxvHBhneC2W','yxDHAxq','qNjLywTtDgf0zw1LBNq','ywrKAxrPDMu','ywz0zxjcBg9JAW','yNvPBgrdBgLWyM9HCMrqyxn0zurZBa','v0Hjteu','Bwf0y2G','yMXVy2TnzxrHqMXVy2S','CgfYC2u','qxjYyxLfEhbYzxnZAw9U','u1rbuG','qKfsqKfs','Bwf4','yxjNtMfTzxm','qxjYyxLwywX1zq','Dg9Rzw5PEMvdB21Tzw50','q29UDgLUDwvtDgf0zw1LBNq','yM9VBgvHBG','Dg9Rzw5PEMvoDw1Izxi','DgfNrxHWCMvZC2LVBG','Dg9Rzw5Z','qu1q','C2nYB2XSsw50B1zPzxCO','u3rLCfn0yxrLBwvUDa','uMvNrxHWrMXHz0vYCM9Y','z2v0qxjYyxK','yNvPBgrpCgvUtwvUDuL0zw1eC2W','yNvPBgrbC3nLCNrtzwn0Aw9UvgL0BgveC2W','zxzHBa','C3rHDgvTzw50CW','Bwv0yujSB2nR','BgvUz3rO','C2nYB2XSvg9cB3r0B20O','sw52ywXPzcbMBg9HDcbUDw1Izxi','uKvhrvG','q29UC3rHBNqG','CgvLA0DYB3vW','DgfN','DMfYu3rHDgvTzw50','zw50CMLLCW','q09oveLovuu','DhLWzvrLEhqO','uKvuvvjo','vKfs','vu5eruzjtKve','iIWG','z2v0tgLUzq','C2XPy2u','Dg9Rzw5PEMvpCgvYyxrVCG','CMvWBgfJzq','yNvPBgrbC3nLCNruzxH0q29UDgfPBNneC2W','zxHWCJe','Dw5RBM93BIbYzwDLEcbMBgfNicC','BwfW','C29MDa','qMLUyxj5rxHWCMvZC2LVBG','uhjVCgvYDhLby2nLC3nfEhbYzxnZAw9UlMv2ywWOksbPCYbUB3qGAw1WBgvTzw50zwqGAw4GDgHLigLUlxbYB2nLC3mGAw50zxjWCMv0zxiG4OcuihvZzsbbC3rfEgvJDxrVCIaOC3jJl2rZBc9HC3qTzxHLy3v0B3iUDhmPigLUC3rLywqU','ChjPBwfYEq','B3bLCMf0Aw9U','zMLSBa','v2HPBgvtDgf0zw1LBNq','ufjjtLq','yNvPBgrdBgLJA0rZBa','jYbPCYbHihjLC2vYDMvKiePHDMfty3jPChqGA2v5D29Yzc4GvxnLigeGzgLMzMvYzw50ig5HBwuU','yxnZzxj0vg9HC3rwAxnPyMXLka','t1bfuKfut1jt','CMvWzwf0','yxntDhjPBMC','yNvPBgrxywL0rM9YsgLKzgvUrhnS','y2XHC3m','t2jQzwn0vMfSDwu','zwXZzq','q29UzgL0Aw9UywXfEhbYzxnZAw9U','vg9Rzw4ODhLWztOG','B3bLBG','vw5KzwzPBMvKvMfSDwu','zw5K','mtuXmte0nw93uLDfuG','CMv0DxjU','mteWnJblvKT3BKy','zxH0zw5KCW','yNvPBgrxywL0rM9YtMf2AwDHDgLVBKrZBa','y29UC3vTzufYCMf5','zwXLBwvUDev4ChjLC3nPB24','yxnZAwDUBwvUDfn0yxrLBwvUDa','re9u','BNvTyMvY','D2fPDezVCLrLEhqO','yNvPBgrbC3nLCNrsB3v0zuLZrhnS','qxjYyxKGzxHWzwn0zwq','Dg9Rzw5PEMvnDwX0AwXPBMvdB21Tzw50','zxHWCMvZC2LVBG','vMfSDwvfEhbYzxnZAw9U','dqOa','tuLovvnnsu5vuW','BgLUzq','Bg9VA01HDgnO','yNvPBgrmB2DPBKfZrhnS','sw52ywXPzcb0B2TLBJOGDw5LEhbLy3rLzca','twvTyMvYq2fSBev4ChjLC3nPB24','u1rfua','z2v0tMfTzq','ywrKvg9Rzw4','vw50zxjTAw5HDgvKihjLz2v4igXPDgvYywWGkgrHBMDSAw5NigjHy2TZBgfZAcKU','Aw5WDxq','zgvJBgfYyxrVCNm','rM9Yu3rHDgvTzw50','DM9Pza','yxnZzxj0tM9wAxnPyMXLrxjYB3iO','vw5YzwnVz25PEMvKihzHBhvLlIa','tfrf','tM90igv4zwn1DguGuMv0DxjUu3rHDgvTzw50','zMfSC2u','Dhj1zq','B3b0Aw9UCW','EwLLBgq','DMfYAwfIBgvZ','tLvnqKvs','yxjYyxLfEhbYzxnZAw9U','Aw5KzxG','yNvPBgrty3jVBgXuB1rVCerZBa','BMv3','zxf1ywXPDhK','tKvr','y29UC3vTzvDVCMq','zMXVD18','y29UDgLUDwu','vMfYAwfIBgvZ','DgvYBwLUyxrPB24','sw52ywXPzcbHCMD1BwvUDcbJB3vUDcbMB3iGzNvUy3rPB24G','lY9a','yNvPBgrty3jVBgXuB0jVDhrVBurZBa','vw50zxjTAw5HDgvKihjLz2v4igXPDgvYywWGkgXPBMuGyNjLywSGAw5ZAwrLigjVzhKPlG','DhLWzq','vw5RBM93BIbMDw5JDgLVBJOG','mJjJzxrwA1u','z2v0vgv4Da','vw5LEhbLy3rLzcbJAgfYywn0zxiG','r1rfuq','igrVzxmGBM90igv4Axn0iq','cN0P','ChjVCgvYDgLLCW','nta3swnfzerX','C3rHCNrZv2L0Aa','zxHWCJi','sw52ywXPzcb0B2TLBML6zu9WzxjHDg9YoIb1BMv4CgvJDgvKigvUzcbVzIbPBNb1Da','C2v0','sw5JCMvTzw50u3rHDgvTzw50','Aw5PDgLHBgL6yxrPB24','zNvUy3rPB25fEhbYzxnZAw9U','yNvPBgrbC3nLCNruywjSzu5VDevTChr5rhnS','vw50zxjTAw5HDgvKihjLz2v4igXPDgvYywWGkg1PC3nPBMCGy2XVC2LUzYaVks4','uMvNrxHWvMfSDwu','z2v0q29SDw1U','zwXLBwvUDhm','u05fuq','uhjVCgvYDhLby2nLC3nfEhbYzxnZAw9U','z2v0vhLWzq','it09','yNvPBgrbC3nLCNrjBNb1DfzHBhvLrhnS','AwyG','zM9Y','q09mt04','z2v0','yxnZzxj0tgLZDe5VDevTChr5ka','u3rYAw5N','yNvPBgrbC3nLCNrqywDLuMvHzhLeC2W','BgfIzwW','CgvLAW','zM9Yy2vdBgLJAYG','y2fSBfDPDgHqB3n0zML4','C291CMnL','C2L6zq','Dhj5','ueXvuW','yxnZzxj0uM91DgvjCYG','u3rYAw5NvMfSDwu','zNvUy3rPB25Z','kqP7cG','lcbJB2X1Bw4G','DgHPCW','CMvJzwL2zxi','Bg9JyxrVCG','CMvZDwX0','Aw5JCMvTzw50','y29TBwvUDhm','oIbLEhbLy3rLzca','ChvZAa','zwXLBwvUDfzPC2LIAwXPDhLbC3nLCNqOiLzju0LcteuIlca','ufjfrKLyx0rfq1jftuvova','rNvUy3rPB25ezwzPBMvtDgf0zw1LBNq','j3zHCICGAw4GzM9YlwXVB3aGAw5PDgLHBgL6yxrPB24GAxmGBM90ihn1ChbVCNrLzcbIEsb0AguGqMXVy2TSEsbJB252zxj0zxiUifvZzsbWBgfPBIbHC3nPz25Tzw50oIaNzM9YicHRid0GmtSGAYa8psbooYbRid0GAYaRidePjY4','BMfTzq','y2XVBMu','tfbbuKvo','B3bLBLrHyIG','Dw5KzwzPBMvK','ChjPBNq','z2v0t3bLCMf0B3joyw1L','zgvMyxvSDa','Bg9N','zwXZzvn0yxrLBwvUDa','yxjYyxK','Dg9tDhjPBMC','ugfYC2vfCNjVCG','kcKGpt4GEWO','yxnZzxj0qxv0AgvUDgLJyxrLzcG','yNvPBgrgAwXSrM9YBurZBa','Dg9Rzw4','C2f2zuzVCM0O','AxnfEgLZDhm','tvvmveLqtfK','B2jQzwn0rxHWCMvZC2LVBG','vw5LEhbLy3rLzcbUB24TyNjLywTPBMCGC3bHy2uGkfuRmdbbmcKG4OcuihjLCgXHy2uGAxqGD2L0AcbHihjLz3vSyxiGC3bHy2u','DhjPBq','Axnmzxr0zxjjBLDVCMq','ru9g','ueXvu1bmvvm','zgvIDwDNzxi','rvffuq','Aw5PDa','zNvUy3rPB24','qMXVy2TtDgf0zw1LBNq','C2nYB2XSvg9uB3aO','ue9tvezjwf9erunsru1ftLq','q2fUBM90igLUy3jLBwvUDc9KzwnYzw1LBNqGBM9Ulw51BwvYAwmGDMfSDwu','yxjNDw1LBNrZ','rK9s','Aw5KzxHfEhbYzxnZAw9UCW','icHSAw5Lia','ufjfrKLyx0Loq1jftuvova','rvmYmde4igrVDefSBa','iIWGBgLUztOG','kY0QlYGPE31Bxt08pIeMFcW6oY4','C2vSzwn0q29TyM9IB3HwywX1zsG','ywrKqxjNDw1LBNq','z2v0uhjVCgvYDgLLCW','C3bSAxq','vw5RBM93BIbZDgf0zw1LBNq6ihvUzxHWzwn0zwqG','zNvUy3rPB25HBev4ChjLC3nPB24','yM9KEq','jY4Grvm1igfSBg93CYbNlcbPlcbTlG','yNvPBgruExbLvgv4DerZBa','tNvTyMvYvMfSDwu','Dg9Rzw5PEMvnzxrHv29Yza','sw52ywXPzcb0B2TLBML6zu9WzxjHDg9Yia','qKfs','BwLU','mJvmCuTXrvO','yNvPBgrty3jVBgXjBNrVvMLLD0rZBa','yNvPBgrtzwXLy3rdB21IB2jVEfzHBhvLrhnS','t1bfuKfut1jFq0HbuLm','uLbbuKvo','Dg9Rzw5PEMvuzxH0','zxHLy3v0zq','uKvtrvjwrurFv09srfm','rNvUy3rPB25HBev4ChjLC3nPB24','twLZC2LUzYbJBg9ZzsbXDw90zsbPBIbZDhjPBMCGBgL0zxjHBa','Bg9NAwnHBe9Y','zMXHz3m'];_0x470d=function(){return _0x448716;};return _0x470d();}function buildFlowDsl(_0x2a5110,_0x55a9d8){const _0x4226e4={_0x262268:0x1a2},_0xc22fb1=_0x15dbcc,_0x11ab45=_0x2a5110[_0xc22fb1(_0x4226e4._0x262268)](/-/g,'_');return _0xc22fb1(0x1ee)+_0x11ab45+'('+escapeDslString(_0x2a5110)+',\x20'+escapeDslString(_0x55a9d8)+_0xc22fb1(0xeb);}__name(buildFlowDsl,_0x15dbcc(0x13f));var ArrayValue=class _ArrayValue{static{__name(this,_0x15dbcc(0x17f));}[_0x15dbcc(0x20b)];constructor(_0x2d1950){const _0x31dc77={_0x2f40a7:0x1c7,_0x58d35d:0x20b},_0x65c434=_0x15dbcc;if(typeof _0x2d1950===_0x65c434(_0x31dc77._0x2f40a7))this[_0x65c434(0x20b)]=new Array(_0x2d1950)[_0x65c434(0x1ac)](void 0x0);else Array['isArray'](_0x2d1950)?this[_0x65c434(0x20b)]=[..._0x2d1950]:this[_0x65c434(_0x31dc77._0x58d35d)]=[..._0x2d1950['elements']];}[_0x15dbcc(0x214)](_0x19bd11){const _0x452cf9={_0x2062d6:0x20b},_0x34273e=_0x15dbcc;return this[_0x34273e(_0x452cf9._0x2062d6)][_0x19bd11];}[_0x15dbcc(0x203)](_0x5aaa3f,_0x331175){const _0x4be0fd=_0x15dbcc;this[_0x4be0fd(0x20b)][_0x5aaa3f]=_0x331175;}[_0x15dbcc(0x104)](){const _0x1ce07e=_0x15dbcc;throw new Error(_0x1ce07e(0xf9));}[_0x15dbcc(0x232)](){const _0x217bc4=_0x15dbcc;return new _ArrayValue(this['elements'][_0x217bc4(0x1a6)](_0x596c9e=>_0x596c9e[_0x217bc4(0x232)]()));}[_0x15dbcc(0x1b4)](){const _0x1d841e={_0x31359e:0x20b,_0x545620:0x1a6,_0x2786c1:0x136},_0x2d5239=_0x15dbcc;return'['+this[_0x2d5239(_0x1d841e._0x31359e)][_0x2d5239(_0x1d841e._0x545620)](_0x2ef060=>_0x2ef060[_0x2d5239(0x1b4)]())[_0x2d5239(_0x1d841e._0x2786c1)](',\x20')+']';}[_0x15dbcc(0x23c)](){return this['asString']();}},NumberValue=class _NumberValue{static{__name(this,_0x15dbcc(0xc2));}static [_0x15dbcc(0xf7)]=new _NumberValue(0x0);['value'];constructor(_0x20e765){const _0x26650f={_0x15ac96:0x182,_0x57df0d:0x139},_0x186e06=_0x15dbcc;typeof _0x20e765===_0x186e06(_0x26650f._0x15ac96)?this['value']=_0x20e765?0x1:0x0:this[_0x186e06(_0x26650f._0x57df0d)]=_0x20e765;}[_0x15dbcc(0x232)](){const _0x410801=_0x15dbcc;return new _NumberValue(this[_0x410801(0x139)]);}['asNumber'](){const _0x198313={_0x2fb881:0x139},_0x486b7e=_0x15dbcc;return this[_0x486b7e(_0x198313._0x2fb881)];}[_0x15dbcc(0x1b4)](){const _0x475451=_0x15dbcc;return this['value'][_0x475451(0x23c)]();}[_0x15dbcc(0x23c)](){const _0x11968b={_0x421659:0x1b4},_0x232437=_0x15dbcc;return this[_0x232437(_0x11968b._0x421659)]();}},Functions=class{static{__name(this,_0x15dbcc(0xf1));}static [_0x15dbcc(0x222)]=new Map([[_0x15dbcc(0x15d),{'execute'(...args){const _0x4a863a=_0x15dbcc;if(args['length']!==0x1)throw new Error('One\x20argument\x20expected');return new NumberValue(Math['cos'](args[0x0][_0x4a863a(0x104)]()));}}],[_0x15dbcc(0x12c),{'execute'(...args){const _0x2193c0={_0x5339ee:0x1b4,_0xa6d3d7:0xf7},_0x4d2666=_0x15dbcc;for(const arg of args){console[_0x4d2666(0x239)](arg[_0x4d2666(_0x2193c0._0x5339ee)]());}return NumberValue[_0x4d2666(_0x2193c0._0xa6d3d7)];}}],[_0x15dbcc(0x156),{'execute'(...args){const _0x1f2ac0={_0x5e43:0xf7},_0x1be1fd=_0x15dbcc;return NumberValue[_0x1be1fd(_0x1f2ac0._0x5e43)];}}],['setPage',{'execute'(...args){const _0x1ad2f0=_0x15dbcc;return NumberValue[_0x1ad2f0(0xf7)];}}],[_0x15dbcc(0x174),{'execute'(...args){const _0x24649c={_0x270916:0xf7},_0x4f208a=_0x15dbcc;return NumberValue[_0x4f208a(_0x24649c._0x270916)];}}],[_0x15dbcc(0x1bb),{'execute'(...args){return NumberValue['ZERO'];}}],[_0x15dbcc(0x216),{'execute'(...args){const _0x55f05e={_0x182ed7:0xf7},_0x569d5b=_0x15dbcc;return NumberValue[_0x569d5b(_0x55f05e._0x182ed7)];}}]]);static[_0x15dbcc(0x243)](_0x37ccee){const _0x3cb83f={_0x2444d9:0x222,_0x5adc66:0xe9},_0x347ea2=_0x15dbcc;return this[_0x347ea2(_0x3cb83f._0x2444d9)][_0x347ea2(_0x3cb83f._0x5adc66)](_0x37ccee);}static[_0x15dbcc(0x214)](_0x52ed6d){const _0x1a6516={_0x5c5a18:0x222,_0x4f9c0c:0x1f7},_0x1fc671=_0x15dbcc,_0x21b22d=this[_0x1fc671(_0x1a6516._0x5c5a18)][_0x1fc671(0x214)](_0x52ed6d);if(!_0x21b22d)throw new TypeError(_0x1fc671(_0x1a6516._0x4f9c0c)+_0x52ed6d);return _0x21b22d;}static[_0x15dbcc(0x203)](_0x21687f,_0x284062){const _0x338c5f=_0x15dbcc;this[_0x338c5f(0x222)]['set'](_0x21687f,_0x284062);}},ObjectValue=class _ObjectValue{static{__name(this,_0x15dbcc(0x1b7));}['properties'];constructor(_0x4b2984=new Map()){const _0x46235c={_0x142bf2:0x1fe},_0x268bd1=_0x15dbcc;this[_0x268bd1(_0x46235c._0x142bf2)]=_0x4b2984;}[_0x15dbcc(0x214)](_0x305e7b){const _0x31dde5={_0x14919c:0x1fe},_0x38b6e8=_0x15dbcc;return this[_0x38b6e8(_0x31dde5._0x14919c)][_0x38b6e8(0x214)](_0x305e7b);}[_0x15dbcc(0x203)](_0x86e01a,_0x34baf5){const _0x51a60f={_0xb41325:0x1fe},_0x288e52=_0x15dbcc;this[_0x288e52(_0x51a60f._0xb41325)][_0x288e52(0x203)](_0x86e01a,_0x34baf5);}['asNumber'](){const _0x1e2ad9={_0xb8208f:0x21d},_0x123ab1=_0x15dbcc;return this[_0x123ab1(0x1fe)][_0x123ab1(_0x1e2ad9._0xb8208f)];}[_0x15dbcc(0x1b4)](){const _0x22f847={_0x11082f:0x198,_0x4af733:0x136},_0x901380=_0x15dbcc,_0x205cae=Array['from'](this[_0x901380(0x1fe)][_0x901380(_0x22f847._0x11082f)]())[_0x901380(0x1a6)](([_0x51a4ad,_0x5a2c0a])=>_0x51a4ad+':\x20'+_0x5a2c0a[_0x901380(0x1b4)]())[_0x901380(_0x22f847._0x4af733)](',\x20');return'{'+_0x205cae+'}';}[_0x15dbcc(0x232)](){const _0x5b77e2={_0x41e8e1:0x121},_0x5a8519=_0x15dbcc,_0x428f32=new Map();return this[_0x5a8519(0x1fe)][_0x5a8519(_0x5b77e2._0x41e8e1)]((_0x23656c,_0x211b1e)=>{const _0x10424d=_0x5a8519;_0x428f32[_0x10424d(0x203)](_0x211b1e,_0x23656c['clone']());}),new _ObjectValue(_0x428f32);}[_0x15dbcc(0xbb)](){const _0x3442ed={_0x223f8f:0x1fe},_0x38be89=_0x15dbcc;return this[_0x38be89(_0x3442ed._0x223f8f)];}},RegExpValue=class _RegExpValue{static{__name(this,_0x15dbcc(0x209));}['source'];[_0x15dbcc(0xd2)];constructor(_0x54c4ad,_0x55a9e2){const _0x571479=_0x15dbcc;validateEs5Flags(_0x55a9e2),this['source']=_0x54c4ad,this[_0x571479(0xd2)]=_0x55a9e2;}[_0x15dbcc(0x232)](){const _0x14e92f={_0x3e7e90:0xd2},_0x573b29=_0x15dbcc;return new _RegExpValue(this['source'],this[_0x573b29(_0x14e92f._0x3e7e90)]);}[_0x15dbcc(0x104)](){return NaN;}[_0x15dbcc(0x1b4)](){const _0x163613={_0x523fb4:0x21c,_0x3ca4a7:0xd2},_0x5ecc34=_0x15dbcc;return'/'+this[_0x5ecc34(_0x163613._0x523fb4)]+'/'+this[_0x5ecc34(_0x163613._0x3ca4a7)];}[_0x15dbcc(0x23c)](){const _0x31109b=_0x15dbcc;return this[_0x31109b(0x1b4)]();}},ES5_FLAGS=new Set(['g','i','m']),POST_ES5_FLAGS={'s':_0x15dbcc(0xb6),'u':'ES6\x20unicode','y':'ES6\x20sticky','d':'ES2022\x20hasIndices','v':'ES2024\x20unicodeSets'};function validateEs5Flags(_0x2c4fcb){const _0x13b788={_0x5a70a9:0xe9,_0x3a9c29:0x1a5,_0xbc71f6:0xc0,_0x6347d5:0xe9,_0x1b1d3e:0x153},_0x93bc58=_0x15dbcc,_0xd3e9d0=new Set();for(const _0x5f4488 of _0x2c4fcb){if(POST_ES5_FLAGS[_0x5f4488])throw new RegExpFlagError('regex\x20flag\x20\x27'+_0x5f4488+'\x27\x20requires\x20'+POST_ES5_FLAGS[_0x5f4488]+';\x20not\x20in\x20ES5\x20subset.\x20See\x20docs/dsl/regex-literal-es5.md\x20for\x20the\x20supported\x20flag\x20set.');if(!ES5_FLAGS[_0x93bc58(_0x13b788._0x5a70a9)](_0x5f4488))throw new RegExpFlagError(_0x93bc58(_0x13b788._0x3a9c29)+_0x5f4488+_0x93bc58(_0x13b788._0xbc71f6));if(_0xd3e9d0[_0x93bc58(_0x13b788._0x6347d5)](_0x5f4488))throw new RegExpFlagError('duplicate\x20regex\x20flag\x20\x27'+_0x5f4488+'\x27.');_0xd3e9d0[_0x93bc58(_0x13b788._0x1b1d3e)](_0x5f4488);}}__name(validateEs5Flags,_0x15dbcc(0x11a));var RegExpFlagError=class extends Error{static{__name(this,_0x15dbcc(0x189));}constructor(_0x45ab36){const _0x583c24={_0x42b0f8:0x231,_0x67072f:0x189},_0x4c5aa0=_0x15dbcc;super(_0x45ab36),this[_0x4c5aa0(_0x583c24._0x42b0f8)]=_0x4c5aa0(_0x583c24._0x67072f);}},StringValue=class _StringValue{static{__name(this,_0x15dbcc(0x221));}[_0x15dbcc(0x139)];constructor(_0x4da1e9){const _0x2fcf7e={_0xa08749:0x139},_0x3e47bd=_0x15dbcc;this[_0x3e47bd(_0x2fcf7e._0xa08749)]=_0x4da1e9;}[_0x15dbcc(0x232)](){return new _StringValue(this['value']);}[_0x15dbcc(0x104)](){const _0x247c1a={_0x2640db:0x139},_0x254ded=_0x15dbcc;try{return parseFloat(this[_0x254ded(_0x247c1a._0x2640db)]);}catch(_0x2c46cd){return 0x0;}}[_0x15dbcc(0x1b4)](){const _0x51a87c={_0x380a0e:0x139},_0x2e6584=_0x15dbcc;return this[_0x2e6584(_0x51a87c._0x380a0e)];}['toString'](){const _0xfc2cd1={_0x261cbc:0x1b4},_0x2d8f17=_0x15dbcc;return this[_0x2d8f17(_0xfc2cd1._0x261cbc)]();}},UserDefineFunction=class{static{__name(this,_0x15dbcc(0xfc));}[_0x15dbcc(0x17e)];[_0x15dbcc(0xbf)];constructor(_0x1b57a4,_0x49198c){const _0x577ff5={_0x409fbe:0x17e},_0x295df4=_0x15dbcc;this[_0x295df4(_0x577ff5._0x409fbe)]=_0x1b57a4,this[_0x295df4(0xbf)]=_0x49198c;}[_0x15dbcc(0x16f)](){const _0x4fb075={_0x31b9e8:0x17e},_0x3d8265=_0x15dbcc;return this[_0x3d8265(_0x4fb075._0x31b9e8)]['length'];}[_0x15dbcc(0x117)](_0x5b3351){const _0x54e671={_0x3798e9:0x190},_0x9af5ad=_0x15dbcc;if(_0x5b3351<0x0||_0x5b3351>=this['argNames'][_0x9af5ad(_0x54e671._0x3798e9)])return'';return this['argNames'][_0x5b3351];}[_0x15dbcc(0xcd)](..._0x3c8824){const _0x2bbc87={_0x39e249:0xbf,_0x3270fe:0xf7},_0x279a0c=_0x15dbcc;try{return this[_0x279a0c(_0x2bbc87._0x39e249)]['execute'](),NumberValue[_0x279a0c(_0x2bbc87._0x3270fe)];}catch(_0x2c202a){if(_0x2c202a instanceof ReturnStatement)return _0x2c202a['getResult']();throw _0x2c202a;}}},Variables=class{static{__name(this,_0x15dbcc(0x1f0));}static [_0x15dbcc(0x152)]=[];static ['variables']=new Map([['PI',new NumberValue(Math['PI'])],['E',new NumberValue(Math['E'])]]);static[_0x15dbcc(0x22c)](){const _0xd537a1=_0x15dbcc,_0x21ac33=new Map([]);for(const [_0x4c24cf,_0x528b82]of this[_0xd537a1(0x1e5)]['entries']()){_0x21ac33[_0xd537a1(0x203)](_0x4c24cf,_0x528b82);}this['stack'][_0xd537a1(0x22c)](_0x21ac33);}static[_0x15dbcc(0x160)](){const _0x5da550=_0x15dbcc,_0x30ca2c=this['stack'][_0x5da550(0x160)]();if(!_0x30ca2c)throw new Error(_0x5da550(0x133));this['variables']=_0x30ca2c;}static[_0x15dbcc(0x243)](_0x24129f){const _0xd1cd1d=_0x15dbcc;return this[_0xd1cd1d(0x1e5)][_0xd1cd1d(0xe9)](_0x24129f);}static['get'](_0x4caea3){const _0x3b14c9={_0x1ebd56:0x1e5},_0x3ce8de=_0x15dbcc;return this[_0x3ce8de(_0x3b14c9._0x1ebd56)]['get'](_0x4caea3)||NumberValue['ZERO'];}static[_0x15dbcc(0x203)](_0x2b0253,_0xbc3ba3){const _0x4eddad={_0x3e1120:0x1e5,_0x34c9d2:0x203},_0x245101=_0x15dbcc;this[_0x245101(_0x4eddad._0x3e1120)][_0x245101(_0x4eddad._0x34c9d2)](_0x2b0253,_0xbc3ba3);}},ArrayAccessExpression=class{static{__name(this,_0x15dbcc(0x164));}[_0x15dbcc(0x127)];['indexes'];[_0x15dbcc(0x241)];constructor(_0x1e8b7d,_0x5e87bc,_0x36975f){const _0x25ce2b={_0x588362:0x127,_0x23e4b2:0x102},_0x49ddba=_0x15dbcc;this[_0x49ddba(_0x25ce2b._0x588362)]=_0x1e8b7d,this[_0x49ddba(_0x25ce2b._0x23e4b2)]=_0x5e87bc,this['token']=_0x36975f;}get['variableName'](){const _0x1cb253={_0x553a4c:0x127},_0x349dc9=_0x15dbcc;return this[_0x349dc9(_0x1cb253._0x553a4c)];}get[_0x15dbcc(0xb3)](){const _0x83a1b8=_0x15dbcc;return this[_0x83a1b8(0x102)];}['eval'](){const _0x46c3ac={_0x1dac4a:0x214},_0x4aeedf=_0x15dbcc,_0x60444c=this[_0x4aeedf(0x162)](),_0x35ca57=this[_0x4aeedf(0x18a)]();return _0x35ca57[_0x4aeedf(_0x46c3ac._0x1dac4a)](_0x60444c);}[_0x15dbcc(0x162)](){const _0x8cc1b1={_0x582465:0x102,_0x3e2bc8:0x190},_0x276ee1=_0x15dbcc;return this[_0x276ee1(0x1e8)](this[_0x276ee1(_0x8cc1b1._0x582465)][_0x276ee1(_0x8cc1b1._0x3e2bc8)]-0x1);}['index'](_0x44561c){const _0x1b462e={_0x207295:0x102,_0x2c00c8:0x18d},_0x22bf18=_0x15dbcc;return this[_0x22bf18(_0x1b462e._0x207295)][_0x44561c][_0x22bf18(_0x1b462e._0x2c00c8)]()['asNumber']();}[_0x15dbcc(0x18a)](){const _0x25d5be={_0x30cee0:0x214,_0xd903e5:0x127,_0x2d5a74:0x102},_0x2ba368=_0x15dbcc;let _0x500b6f=this['consumeArray'](Variables[_0x2ba368(_0x25d5be._0x30cee0)](this[_0x2ba368(_0x25d5be._0xd903e5)]));const _0x502298=this[_0x2ba368(_0x25d5be._0x2d5a74)]['length']-0x1;for(let _0x13d27e=0x0;_0x13d27e<_0x502298;_0x13d27e++){_0x500b6f=this[_0x2ba368(0x1c3)](_0x500b6f[_0x2ba368(0x214)](this['index'](_0x13d27e)));}return _0x500b6f;}[_0x15dbcc(0x1c3)](_0x3edc9f){const _0x4d131b=_0x15dbcc;if(_0x3edc9f instanceof ArrayValue)return _0x3edc9f;throw new Error(_0x4d131b(0x1ca));}['toString'](){const _0x17d90d={_0x53a0bf:0x102},_0x198248=_0x15dbcc;return''+(this['variable']+this[_0x198248(_0x17d90d._0x53a0bf)]);}},ArrayAssignmentStatement=class{static{__name(this,'ArrayAssignmentStatement');}[_0x15dbcc(0x23b)];[_0x15dbcc(0x1cc)];[_0x15dbcc(0x241)];constructor(_0x261cc2,_0x4023ca,_0x203316){const _0x2e1ee4={_0x1c0fdb:0x23b,_0x46d9db:0x1cc,_0x4b2909:0x241},_0x2a24e6=_0x15dbcc;this[_0x2a24e6(_0x2e1ee4._0x1c0fdb)]=_0x261cc2,this[_0x2a24e6(_0x2e1ee4._0x46d9db)]=_0x4023ca,this[_0x2a24e6(_0x2e1ee4._0x4b2909)]=_0x203316;}[_0x15dbcc(0xcd)](){const _0x4b5609={_0x29ce1e:0x23b,_0x326a15:0x1cc},_0x46eb35=_0x15dbcc;this[_0x46eb35(_0x4b5609._0x29ce1e)][_0x46eb35(0x18a)]()['set'](this[_0x46eb35(_0x4b5609._0x29ce1e)]['lastIndex'](),this[_0x46eb35(_0x4b5609._0x326a15)]['eval']());}[_0x15dbcc(0x23c)](){const _0x4bdd61={_0x2717b8:0x23b},_0x406218=_0x15dbcc;return this[_0x406218(_0x4bdd61._0x2717b8)]+'\x20=\x20'+this[_0x406218(0x1cc)];}},ArrayExpression=class{static{__name(this,_0x15dbcc(0x17a));}[_0x15dbcc(0x20b)];[_0x15dbcc(0x241)];constructor(_0x592f6e,_0x55cc75){const _0x2a7700=_0x15dbcc;this[_0x2a7700(0x20b)]=_0x592f6e,this['token']=_0x55cc75;}[_0x15dbcc(0x18d)](){const _0x41adbf={_0x969806:0x20b,_0x272b1e:0x1a6},_0x13f5df=_0x15dbcc,_0x356db7=this[_0x13f5df(_0x41adbf._0x969806)][_0x13f5df(_0x41adbf._0x272b1e)](_0x18f6b2=>_0x18f6b2['eval']());return new ArrayValue(_0x356db7);}[_0x15dbcc(0x23c)](){return''+this['elements']['toString']();}},AssignmentStatement=class{static{__name(this,_0x15dbcc(0x110));}[_0x15dbcc(0x127)];[_0x15dbcc(0x1cc)];[_0x15dbcc(0x241)];constructor(_0x6200ca,_0x32d691,_0x1c12ea){const _0x2a2f47={_0x3f3f5a:0x241},_0xd5b0df=_0x15dbcc;this[_0xd5b0df(0x127)]=_0x6200ca,this[_0xd5b0df(0x1cc)]=_0x32d691,this[_0xd5b0df(_0x2a2f47._0x3f3f5a)]=_0x1c12ea;}['execute'](){const _0x4d3380={_0x2094d3:0x1cc,_0x111d98:0x18d,_0x17adb3:0x203},_0x5861e6=_0x15dbcc,_0xdeeeb9=this[_0x5861e6(_0x4d3380._0x2094d3)][_0x5861e6(_0x4d3380._0x111d98)]();Variables[_0x5861e6(_0x4d3380._0x17adb3)](this[_0x5861e6(0x127)],_0xdeeeb9);}[_0x15dbcc(0x23c)](){const _0x32a8d8={_0x2304cd:0x161},_0x18a8bf=_0x15dbcc;return this['variable']+_0x18a8bf(_0x32a8d8._0x2304cd)+this['expression'];}},BinaryExpression=class{constructor(_0x4096b5,_0x30b7de,_0x2a0bd4,_0x414386){const _0x2f87ba={_0x15c2d3:0x1ab,_0x398af1:0x201},_0x419a35=_0x15dbcc;this[_0x419a35(_0x2f87ba._0x15c2d3)]=_0x4096b5,this['expr1']=_0x30b7de,this[_0x419a35(_0x2f87ba._0x398af1)]=_0x2a0bd4,this['token']=_0x414386;}['operation'];['expr1'];[_0x15dbcc(0x201)];[_0x15dbcc(0x241)];static{__name(this,_0x15dbcc(0x1a8));}[_0x15dbcc(0x18d)](){const _0x2d313f={_0x2f4732:0x18d,_0x582325:0x1b4},_0x5ac9b6=_0x15dbcc,_0x3644f8=this[_0x5ac9b6(0x1a4)][_0x5ac9b6(_0x2d313f._0x2f4732)]();if(_0x3644f8 instanceof StringValue||_0x3644f8 instanceof ArrayValue){const _0x1b02ae=_0x3644f8[_0x5ac9b6(_0x2d313f._0x582325)](),_0x25098a=this['expr2'][_0x5ac9b6(_0x2d313f._0x2f4732)]()[_0x5ac9b6(0x1b4)]();switch(this['operation']){case'+':return new StringValue(_0x1b02ae+_0x25098a);default:throw new Error('Unrecognized\x20operator\x20for\x20string\x20value');}}const _0xf433b1=this[_0x5ac9b6(0x1a4)][_0x5ac9b6(0x18d)]()['asNumber'](),_0x2030b9=this[_0x5ac9b6(0x201)]['eval']()[_0x5ac9b6(0x104)]();switch(this['operation']){case'-':return new NumberValue(_0xf433b1-_0x2030b9);case'+':return new NumberValue(_0xf433b1+_0x2030b9);case'/':return new NumberValue(_0xf433b1/_0x2030b9);case'*':default:return new NumberValue(_0xf433b1*_0x2030b9);}}[_0x15dbcc(0x23c)](){const _0x4f3ed4=_0x15dbcc;return this['expr1']+'\x20'+this[_0x4f3ed4(0x1ab)]+'\x20'+this['expr2'];}},BlockStatement=class{static{__name(this,_0x15dbcc(0xad));}[_0x15dbcc(0x18e)]=[];[_0x15dbcc(0x241)];constructor(_0x4daff3){this['token']=_0x4daff3;}[_0x15dbcc(0x153)](_0x5e3547){const _0x501ad0=_0x15dbcc;this[_0x501ad0(0x18e)][_0x501ad0(0x22c)](_0x5e3547);}[_0x15dbcc(0xcd)](){const _0x3347ce={_0x323b66:0xcd},_0x2da337=_0x15dbcc;for(const _0x38118d of this['statements']){_0x38118d[_0x2da337(_0x3347ce._0x323b66)]();}}[_0x15dbcc(0x23c)](){const _0x3d6b45={_0x3dc71b:0x18e,_0x643461:0x136},_0x23a594=_0x15dbcc;return''+this[_0x23a594(_0x3d6b45._0x3dc71b)][_0x23a594(_0x3d6b45._0x643461)]('\x0a');}},BreakStatement=class extends Error{static{__name(this,_0x15dbcc(0x172));}[_0x15dbcc(0x241)];constructor(_0x2b9688){const _0x29501d=_0x15dbcc;super('BreakStatement'),this[_0x29501d(0x241)]=_0x2b9688;}['execute'](){throw this;}['toString'](){const _0x4d03cb={_0x256da0:0x165},_0x4c15e9=_0x15dbcc;return _0x4c15e9(_0x4d03cb._0x256da0);}},Operator=(_0x7d150e=>{const _0x222260={_0x3e309e:0x21f,_0x53db4c:0x11e,_0x27df23:0x1df,_0xaeffe7:0xf2},_0x2d3522=_0x15dbcc;return _0x7d150e[_0x2d3522(_0x222260._0x3e309e)]='+',_0x7d150e[_0x2d3522(0x135)]='-',_0x7d150e[_0x2d3522(0x244)]='*',_0x7d150e['DIVIDE']='/',_0x7d150e['EQ']='==',_0x7d150e[_0x2d3522(0x1ec)]='!=',_0x7d150e[_0x2d3522(0x116)]=_0x2d3522(_0x222260._0x53db4c),_0x7d150e[_0x2d3522(0x20c)]=_0x2d3522(0x20f),_0x7d150e['LT']='<',_0x7d150e[_0x2d3522(_0x222260._0x27df23)]='<=',_0x7d150e['GT']='>',_0x7d150e[_0x2d3522(_0x222260._0xaeffe7)]='>=',_0x7d150e['AND']='&&',_0x7d150e['OR']='||',_0x7d150e;})(Operator||{});function getOperatorName(_0x10b22a){const _0x4169ea=_0x15dbcc;for(const [_0x31737d,_0x1be504]of Object[_0x4169ea(0x198)](Operator)){if(_0x1be504===_0x10b22a)return _0x31737d;}return'EQ';}__name(getOperatorName,_0x15dbcc(0x237));var ConditionalExpression=class{constructor(_0x2500e9,_0x33e2a9,_0x419f68,_0x1fb5b0){const _0x35accd={_0x1da7b:0x241},_0x4b917b=_0x15dbcc;this['operation']=_0x2500e9,this[_0x4b917b(0x1a4)]=_0x33e2a9,this['expr2']=_0x419f68,this[_0x4b917b(_0x35accd._0x1da7b)]=_0x1fb5b0;}[_0x15dbcc(0x1ab)];['expr1'];['expr2'];[_0x15dbcc(0x241)];static{__name(this,_0x15dbcc(0x1b9));}[_0x15dbcc(0x18d)](){const _0x4bf72d={_0x2332c2:0x1a4,_0x468a50:0x18d,_0x9c5ad9:0x11e,_0x34f7de:0x1ab,_0x1fa39b:0x1b4,_0x2f88e1:0x104,_0x1b3443:0x104},_0x3ecf3b=_0x15dbcc,_0x391c1f=this[_0x3ecf3b(_0x4bf72d._0x2332c2)]['eval'](),_0x167c7c=this['expr2'][_0x3ecf3b(_0x4bf72d._0x468a50)]();if(this[_0x3ecf3b(0x1ab)]===_0x3ecf3b(_0x4bf72d._0x9c5ad9)||this[_0x3ecf3b(_0x4bf72d._0x34f7de)]===_0x3ecf3b(0x20f)){let _0x4b1646;if(_0x391c1f instanceof StringValue&&_0x167c7c instanceof StringValue)_0x4b1646=_0x391c1f[_0x3ecf3b(_0x4bf72d._0x1fa39b)]()===_0x167c7c[_0x3ecf3b(0x1b4)]();else _0x391c1f instanceof NumberValue&&_0x167c7c instanceof NumberValue?_0x4b1646=_0x391c1f[_0x3ecf3b(_0x4bf72d._0x2f88e1)]()===_0x167c7c[_0x3ecf3b(_0x4bf72d._0x2f88e1)]():_0x4b1646=![];return new NumberValue(this['operation']===_0x3ecf3b(_0x4bf72d._0x9c5ad9)?_0x4b1646:!_0x4b1646);}let _0x53a181,_0x22637d;_0x391c1f instanceof StringValue?(_0x53a181=_0x53a181=_0x391c1f['asString']()[_0x3ecf3b(0x151)](_0x167c7c[_0x3ecf3b(_0x4bf72d._0x1fa39b)]()),_0x22637d=0x0):(_0x53a181=this[_0x3ecf3b(0x1a4)]['eval']()[_0x3ecf3b(0x104)](),_0x22637d=this[_0x3ecf3b(0x201)]['eval']()[_0x3ecf3b(_0x4bf72d._0x1b3443)]());let _0xe03d6f;switch(this[_0x3ecf3b(0x1ab)]){case'<':_0xe03d6f=_0x53a181<_0x22637d;break;case'<=':_0xe03d6f=_0x53a181<=_0x22637d;break;case'>':_0xe03d6f=_0x53a181>_0x22637d;break;case'>=':_0xe03d6f=_0x53a181>=_0x22637d;break;case'!=':_0xe03d6f=_0x53a181!=_0x22637d;break;case'&&':_0xe03d6f=_0x53a181!=0x0&&_0x22637d!=0x0;break;case'||':_0xe03d6f=_0x53a181!=0x0||_0x22637d!=0x0;break;case'==':default:_0xe03d6f=_0x53a181===_0x22637d;}return new NumberValue(_0xe03d6f);}[_0x15dbcc(0x23c)](){const _0x254a72={_0xf1d6ed:0x1a4},_0x407355=_0x15dbcc;return this[_0x407355(_0x254a72._0xf1d6ed)]+'\x20'+this['operation']+'\x20'+this[_0x407355(0x201)];}},ContinueStatement=class extends Error{static{__name(this,_0x15dbcc(0x181));}[_0x15dbcc(0x241)];constructor(_0x19a142){const _0x13da0e={_0x56954a:0x181},_0x12d2b8=_0x15dbcc;super(_0x12d2b8(_0x13da0e._0x56954a)),this['token']=_0x19a142;}[_0x15dbcc(0xcd)](){throw this;}[_0x15dbcc(0x23c)](){const _0x459a9c=_0x15dbcc;return _0x459a9c(0x1ef);}},DoWhileStatement=class{constructor(_0x3474e3,_0x14038a,_0x1158c8){const _0x56bfde={_0x5760bb:0xe3},_0x4a8d6e=_0x15dbcc;this['condition']=_0x3474e3,this[_0x4a8d6e(_0x56bfde._0x5760bb)]=_0x14038a,this['token']=_0x1158c8;}[_0x15dbcc(0xf0)];[_0x15dbcc(0xe3)];[_0x15dbcc(0x241)];static{__name(this,'DoWhileStatement');}[_0x15dbcc(0xcd)](){const _0x2f4182={_0x1b2301:0xcd,_0x4f10ed:0x104},_0x1de3cb=_0x15dbcc;do{try{this['statement'][_0x1de3cb(_0x2f4182._0x1b2301)]();}catch(_0x5dfc71){if(_0x5dfc71 instanceof BreakStatement)break;else{if(_0x5dfc71 instanceof ContinueStatement){}else throw _0x5dfc71;}}}while(this[_0x1de3cb(0xf0)]['eval']()[_0x1de3cb(_0x2f4182._0x4f10ed)]()!=0x0);}['toString'](){const _0x376058=_0x15dbcc;return _0x376058(0xe6)+this['statement']+'\x0a}\x0awhile\x20('+this['condition']+')\x0a';}},ForStatement=class{static{__name(this,_0x15dbcc(0x1db));}[_0x15dbcc(0x205)];[_0x15dbcc(0x1f1)];['increment'];[_0x15dbcc(0x128)];['token'];constructor(_0x557fe,_0x2d5e1c,_0x47fc32,_0x552a20,_0x432978){const _0x2951bd={_0x5b05e5:0x1f1,_0x40dd31:0x229},_0x48d49d=_0x15dbcc;this[_0x48d49d(0x205)]=_0x557fe,this[_0x48d49d(_0x2951bd._0x5b05e5)]=_0x2d5e1c,this[_0x48d49d(_0x2951bd._0x40dd31)]=_0x47fc32,this['block']=_0x552a20,this['token']=_0x432978;}[_0x15dbcc(0xcd)](){const _0x5c981f={_0x2ee10c:0x205,_0x4a3e64:0x1f1,_0x59644d:0x229,_0x2c2db4:0xcd},_0x51d994=_0x15dbcc;for(this[_0x51d994(_0x5c981f._0x2ee10c)]['execute']();this[_0x51d994(_0x5c981f._0x4a3e64)]['eval']()['asNumber']()!=0x0;this[_0x51d994(_0x5c981f._0x59644d)][_0x51d994(_0x5c981f._0x2c2db4)]()){try{this[_0x51d994(0x128)][_0x51d994(0xcd)]();}catch(_0x5331fe){if(_0x5331fe instanceof BreakStatement)break;else{if(_0x5331fe instanceof ContinueStatement){}else throw _0x5331fe;}}}}['toString'](){const _0x4e9f6a={_0x55ff1a:0x229},_0x217792=_0x15dbcc;return _0x217792(0xe5)+this[_0x217792(0x205)]+';\x20'+this[_0x217792(0x1f1)]+';\x20'+this[_0x217792(_0x4e9f6a._0x55ff1a)]+_0x217792(0x223)+this[_0x217792(0x128)]+'\x0a}';}},FunctionDefineStatement=class{constructor(_0x42d2f7,_0x19ed2b,_0x240270,_0x38756c){const _0x42636b={_0x222f4c:0x231,_0x4b978a:0x17e,_0x1a905f:0xbf,_0x5249c1:0x241},_0x2a5583=_0x15dbcc;this[_0x2a5583(_0x42636b._0x222f4c)]=_0x42d2f7,this[_0x2a5583(_0x42636b._0x4b978a)]=_0x19ed2b,this[_0x2a5583(_0x42636b._0x1a905f)]=_0x240270,this[_0x2a5583(_0x42636b._0x5249c1)]=_0x38756c;}['name'];[_0x15dbcc(0x17e)];[_0x15dbcc(0xbf)];[_0x15dbcc(0x241)];static{__name(this,_0x15dbcc(0x22f));}[_0x15dbcc(0xcd)](){const _0x398c4c={_0x132023:0x231,_0x2dcdbf:0x17e,_0x5d7a6c:0xbf},_0x353093=_0x15dbcc;Functions[_0x353093(0x203)](this[_0x353093(_0x398c4c._0x132023)],new UserDefineFunction(this[_0x353093(_0x398c4c._0x2dcdbf)],this[_0x353093(_0x398c4c._0x5d7a6c)]));}[_0x15dbcc(0x23c)](){const _0x9ed3c7={_0x4193d2:0x231},_0x274482=_0x15dbcc,_0x4982a8=this['argNames']['map'](_0x3416b0=>_0x3416b0[_0x274482(0x23c)]())['join'](',\x20');return'function\x20'+this[_0x274482(_0x9ed3c7._0x4193d2)]+'('+_0x4982a8+')';}},FunctionStatement=class{static{__name(this,_0x15dbcc(0xe0));}[_0x15dbcc(0xbe)];[_0x15dbcc(0x241)];constructor(_0x353b9a,_0x4e7470){const _0x4a7508={_0x27f1a7:0xbe,_0x4d9d2a:0x241},_0x2ceb0c=_0x15dbcc;this[_0x2ceb0c(_0x4a7508._0x27f1a7)]=_0x353b9a,this[_0x2ceb0c(_0x4a7508._0x4d9d2a)]=_0x4e7470;}[_0x15dbcc(0xcd)](){const _0xbeeef1=_0x15dbcc;this['functionalExpression'][_0xbeeef1(0x18d)]();}[_0x15dbcc(0x23c)](){const _0xa9772b=_0x15dbcc;return''+this[_0xa9772b(0xbe)][_0xa9772b(0x23c)]();}},FunctionalExpression=class{static{__name(this,_0x15dbcc(0xcf));}[_0x15dbcc(0x231)];[_0x15dbcc(0xb1)];[_0x15dbcc(0x241)];constructor(_0x427e05,_0x3ad41c,_0x5b4a37){const _0x6520ac={_0x36bf6d:0x231,_0x38244e:0x241},_0x311e17=_0x15dbcc;this[_0x311e17(_0x6520ac._0x36bf6d)]=_0x427e05,this['arguments']=_0x3ad41c,this[_0x311e17(_0x6520ac._0x38244e)]=_0x5b4a37;}[_0x15dbcc(0xba)](_0x4c3ef3){const _0x199c63={_0x2740ae:0xb1},_0x5d1aa0=_0x15dbcc;return this[_0x5d1aa0(_0x199c63._0x2740ae)][_0x5d1aa0(0x22c)](_0x4c3ef3);}[_0x15dbcc(0x18d)](){const _0x4cedec={_0x4afc00:0xb1,_0x2d4440:0x22b,_0x2968ea:0xcd},_0x459114=_0x15dbcc,_0xaef3ce=this[_0x459114(_0x4cedec._0x4afc00)]['map'](_0x11a324=>_0x11a324[_0x459114(0x18d)]()),_0x158ed0=_0xaef3ce[_0x459114(0x190)],_0x1b7f6f=Functions['get'](this[_0x459114(0x231)]);if(_0x1b7f6f instanceof UserDefineFunction){const _0x2fce35=_0x1b7f6f;if(_0xaef3ce[_0x459114(0x190)]!==_0x2fce35[_0x459114(0x16f)]())throw new Error(_0x459114(0x1f2)+this['name']+_0x459114(_0x4cedec._0x2d4440)+_0x158ed0);Variables[_0x459114(0x22c)]();for(let _0x50d35e=0x0;_0x50d35e<_0x158ed0;_0x50d35e++){Variables[_0x459114(0x203)](_0x2fce35['getArgsName'](_0x50d35e),_0xaef3ce[_0x50d35e]);}const _0x4885b2=_0x2fce35[_0x459114(_0x4cedec._0x2968ea)](..._0xaef3ce);return Variables['pop'](),_0x4885b2;}return _0x1b7f6f[_0x459114(_0x4cedec._0x2968ea)](..._0xaef3ce);}['toString'](){const _0x4c00b4={_0x2e4a28:0x231},_0x545803=_0x15dbcc,_0x3637be=this['arguments'][_0x545803(0x1a6)](_0x13bf25=>_0x13bf25[_0x545803(0x23c)]())['join'](',\x20');return this[_0x545803(_0x4c00b4._0x2e4a28)]+'('+_0x3637be+')';}},IfStatement=class{static{__name(this,'IfStatement');}['expression'];['ifStatement'];[_0x15dbcc(0x23a)];[_0x15dbcc(0x241)];constructor(_0x39c31e,_0x4330db,_0x2b00be,_0x54fff){const _0xc6614={_0x1d1681:0x1cc},_0x40600f=_0x15dbcc;this[_0x40600f(_0xc6614._0x1d1681)]=_0x39c31e,this['ifStatement']=_0x4330db,this['elseStatement']=_0x2b00be,this['token']=_0x54fff;}['execute'](){const _0x4b62e9={_0x34df86:0x1cc,_0x4a6b05:0x104,_0x28d991:0x113,_0x2dce69:0xcd,_0x1fbc70:0x23a},_0x1acfd8=_0x15dbcc,_0x313d04=this[_0x1acfd8(_0x4b62e9._0x34df86)]['eval']()[_0x1acfd8(_0x4b62e9._0x4a6b05)]();if(_0x313d04!=0x0)this[_0x1acfd8(_0x4b62e9._0x28d991)][_0x1acfd8(_0x4b62e9._0x2dce69)]();else this['elseStatement']!=null&&this[_0x1acfd8(_0x4b62e9._0x1fbc70)][_0x1acfd8(0xcd)]();}['toString'](){const _0x261b88={_0x152b8e:0x211,_0x173f01:0x1cc,_0x32116b:0x23a},_0x2ff41c=_0x15dbcc;let _0x212752=_0x2ff41c(_0x261b88._0x152b8e)+this[_0x2ff41c(_0x261b88._0x173f01)]+'\x20'+this['ifStatement'];return this['elseStatement']!=null&&(_0x212752+=_0x2ff41c(0x132)+this[_0x2ff41c(_0x261b88._0x32116b)]),_0x212752[_0x2ff41c(0x23c)]();}},IncrementType=(_0x5e81da=>{const _0x29959a={_0x4fc160:0xb5,_0x2a2d57:0x22e,_0x595cf0:0x168,_0x5321e8:0xaf},_0x17cb72=_0x15dbcc;return _0x5e81da[_0x5e81da[_0x17cb72(_0x29959a._0x4fc160)]=0x0]=_0x17cb72(_0x29959a._0x4fc160),_0x5e81da[_0x5e81da[_0x17cb72(_0x29959a._0x2a2d57)]=0x1]='PREFIX_DECREMENT',_0x5e81da[_0x5e81da[_0x17cb72(_0x29959a._0x595cf0)]=0x2]=_0x17cb72(0x168),_0x5e81da[_0x5e81da['POSTFIX_DECREMENT']=0x3]=_0x17cb72(_0x29959a._0x5321e8),_0x5e81da;})(IncrementType||{}),IncrementExpression=class{static{__name(this,_0x15dbcc(0x10e));}[_0x15dbcc(0x127)];[_0x15dbcc(0x1f6)];[_0x15dbcc(0x241)];constructor(_0x59629e,_0x1a5ac9,_0x2f6c63){const _0x320cef={_0x1730cf:0x241},_0x3ba8f5=_0x15dbcc;this['variable']=_0x59629e,this[_0x3ba8f5(0x1f6)]=_0x1a5ac9,this[_0x3ba8f5(_0x320cef._0x1730cf)]=_0x2f6c63;}['eval'](){const _0x27537a={_0x172fef:0x214,_0x2763ed:0xb0,_0x592feb:0x203},_0x27e3de=_0x15dbcc,_0x21575e=this[_0x27e3de(0x127)]['getName'](),_0x383400=Variables[_0x27e3de(_0x27537a._0x172fef)](_0x21575e);if(!(_0x383400 instanceof NumberValue))throw new Error(_0x27e3de(_0x27537a._0x2763ed));const _0x3295ed=_0x383400[_0x27e3de(0x104)]();let _0xe60a5b;switch(this[_0x27e3de(0x1f6)]){case 0x0:_0xe60a5b=_0x3295ed+0x1,Variables['set'](_0x21575e,new NumberValue(_0xe60a5b));return new NumberValue(_0xe60a5b);case 0x1:_0xe60a5b=_0x3295ed-0x1,Variables['set'](_0x21575e,new NumberValue(_0xe60a5b));return new NumberValue(_0xe60a5b);case 0x2:Variables[_0x27e3de(0x203)](_0x21575e,new NumberValue(_0x3295ed+0x1));return new NumberValue(_0x3295ed);case 0x3:Variables[_0x27e3de(_0x27537a._0x592feb)](_0x21575e,new NumberValue(_0x3295ed-0x1));return new NumberValue(_0x3295ed);}}},IncrementStatement=class{static{__name(this,_0x15dbcc(0x204));}[_0x15dbcc(0x1cc)];[_0x15dbcc(0x241)];constructor(_0x2aaf31,_0x5c878b){const _0x1c84a1=_0x15dbcc;this[_0x1c84a1(0x1cc)]=_0x2aaf31,this[_0x1c84a1(0x241)]=_0x5c878b;}[_0x15dbcc(0xcd)](){const _0x4f5e31={_0x56a6ae:0x1cc},_0x161822=_0x15dbcc;this[_0x161822(_0x4f5e31._0x56a6ae)][_0x161822(0x18d)]();}},MemberCallExpression=class{static{__name(this,_0x15dbcc(0x1d4));}['receiver'];[_0x15dbcc(0x231)];[_0x15dbcc(0xb1)];[_0x15dbcc(0x241)];constructor(_0x52549d,_0x3c9c97,_0x37008f,_0x153b14){const _0x4cd9e2={_0x145861:0x226},_0x14610f=_0x15dbcc;this[_0x14610f(_0x4cd9e2._0x145861)]=_0x52549d,this['name']=_0x3c9c97,this[_0x14610f(0xb1)]=_0x37008f,this[_0x14610f(0x241)]=_0x153b14;}[_0x15dbcc(0x18d)](){throw new Error('MemberCallExpression.eval()\x20is\x20not\x20implemented\x20in\x20the\x20in-process\x20interpreter\x20—\x20use\x20AstExecutor\x20(src/dsl/ast-executor.ts)\x20instead.');}['toString'](){const _0x4e8e56={_0x51a68f:0x226},_0x47eb8f=_0x15dbcc,_0x4cad0e=this[_0x47eb8f(0xb1)]['map'](_0x38c7ea=>_0x38c7ea[_0x47eb8f(0x23c)]())[_0x47eb8f(0x136)](',\x20');return this[_0x47eb8f(_0x4e8e56._0x51a68f)]['toString']()+'.'+this[_0x47eb8f(0x231)]+'('+_0x4cad0e+')';}},MetaBlockStatement=class{constructor(_0x5c8503,_0x333c30,_0x24d548,_0x2c1632){const _0x53eaaf={_0x42522f:0x231,_0x2f14e8:0x17e,_0x3cab23:0xbf,_0x4e10eb:0x241},_0x12de3f=_0x15dbcc;this[_0x12de3f(_0x53eaaf._0x42522f)]=_0x5c8503,this[_0x12de3f(_0x53eaaf._0x2f14e8)]=_0x333c30,this[_0x12de3f(_0x53eaaf._0x3cab23)]=_0x24d548,this[_0x12de3f(_0x53eaaf._0x4e10eb)]=_0x2c1632;}['name'];[_0x15dbcc(0x17e)];[_0x15dbcc(0xbf)];[_0x15dbcc(0x241)];static{__name(this,_0x15dbcc(0x130));}['execute'](){}[_0x15dbcc(0x23c)](){const _0x2a9aa6={_0x2d7650:0x136},_0xde9d88=_0x15dbcc,_0x21ae3e=this['argNames'][_0xde9d88(0x1a6)](_0x1b9de8=>_0x1b9de8[_0xde9d88(0x23c)]())[_0xde9d88(_0x2a9aa6._0x2d7650)](',\x20');return _0xde9d88(0x1f3)+this['name']+'('+_0x21ae3e+')\x0a'+this[_0xde9d88(0xbf)]+'\x0a//@end-'+this[_0xde9d88(0x231)];}},ObjectExpression=class{static{__name(this,_0x15dbcc(0x14b));}['properties'];['token'];constructor(_0x3ef65b=new Map(),_0x2c527d){const _0x49e863=_0x15dbcc;this['properties']=_0x3ef65b,this[_0x49e863(0x241)]=_0x2c527d;}[_0x15dbcc(0x18d)](){const _0x2429b4={_0x3519bc:0x1fe,_0xff1449:0x121},_0x4389c0={_0xb290b:0x203},_0x5f4bec=_0x15dbcc,_0x31f760=new Map();return this[_0x5f4bec(_0x2429b4._0x3519bc)][_0x5f4bec(_0x2429b4._0xff1449)]((_0x3ff203,_0x1848ac)=>{const _0x5cc024=_0x5f4bec;_0x31f760[_0x5cc024(_0x4389c0._0xb290b)](_0x1848ac,_0x3ff203[_0x5cc024(0x18d)]());}),new ObjectValue(_0x31f760);}[_0x15dbcc(0x23c)](){const _0x10d6ad={_0x31bc91:0x143,_0x3a2620:0x198},_0x5c3364=_0x15dbcc,_0x3ed743=Array[_0x5c3364(_0x10d6ad._0x31bc91)](this[_0x5c3364(0x1fe)][_0x5c3364(_0x10d6ad._0x3a2620)]())[_0x5c3364(0x1a6)](([_0x323fe6,_0x27fe3d])=>_0x323fe6+':\x20'+_0x27fe3d['toString']())['join'](',\x20');return'{'+_0x3ed743+'}';}},PrintStatement=class{static{__name(this,'PrintStatement');}[_0x15dbcc(0x1cc)];[_0x15dbcc(0x241)];constructor(_0x264851,_0x368664){const _0x362bcd={_0x52e5e6:0x1cc},_0x521a89=_0x15dbcc;this[_0x521a89(_0x362bcd._0x52e5e6)]=_0x264851,this[_0x521a89(0x241)]=_0x368664;}[_0x15dbcc(0xcd)](){const _0x2c98c4={_0x3645d2:0x1cc,_0x5b075a:0x1b4},_0x3ee049=_0x15dbcc,_0x4bacbf=this[_0x3ee049(_0x2c98c4._0x3645d2)][_0x3ee049(0x18d)]()[_0x3ee049(_0x2c98c4._0x5b075a)]();console['log'](''+_0x4bacbf);}[_0x15dbcc(0x23c)](){const _0x447042={_0x540f8f:0x123},_0x191221=_0x15dbcc;return _0x191221(_0x447042._0x540f8f)+this['expression'];}},PropertyAccessExpression=class{static{__name(this,_0x15dbcc(0x20d));}['receiver'];[_0x15dbcc(0x231)];[_0x15dbcc(0x241)];constructor(_0x5c9fcd,_0x5e6050,_0x277d39){const _0x3f0bdf=_0x15dbcc;this['receiver']=_0x5c9fcd,this['name']=_0x5e6050,this[_0x3f0bdf(0x241)]=_0x277d39;}['eval'](){const _0xaa036b={_0x381c24:0x1a9},_0x577ed0=_0x15dbcc;throw new Error(_0x577ed0(_0xaa036b._0x381c24));}[_0x15dbcc(0x23c)](){const _0x408ef9=_0x15dbcc;return this[_0x408ef9(0x226)]['toString']()+'.'+this[_0x408ef9(0x231)];}},RegExpExpression=class{static{__name(this,_0x15dbcc(0xd4));}[_0x15dbcc(0x241)];[_0x15dbcc(0x21c)];['flags'];[_0x15dbcc(0x139)];constructor(_0x12c586,_0x1617c8,_0x489290){const _0x394864={_0x7ca86:0xd2},_0x51d75d=_0x15dbcc;this[_0x51d75d(0x241)]=_0x489290,this[_0x51d75d(0x21c)]=_0x12c586,this[_0x51d75d(_0x394864._0x7ca86)]=_0x1617c8,this[_0x51d75d(0x139)]=new RegExpValue(_0x12c586,_0x1617c8);}[_0x15dbcc(0x18d)](){const _0x27cf7a={_0x368904:0x139},_0x2d3632=_0x15dbcc;return this[_0x2d3632(_0x27cf7a._0x368904)];}['toString'](){const _0x3540fb=_0x15dbcc;return this[_0x3540fb(0x139)]['asString']();}},ReturnStatement=class extends Error{static{__name(this,'ReturnStatement');}[_0x15dbcc(0x1cc)];['result'];[_0x15dbcc(0x241)];constructor(_0x33507d,_0x35e35d){const _0x1b4268={_0x10652b:0x181},_0x268335=_0x15dbcc;super(_0x268335(_0x1b4268._0x10652b)),this['expression']=_0x33507d,this[_0x268335(0x241)]=_0x35e35d;}[_0x15dbcc(0x12e)](){const _0x582348={_0x2713b3:0x228,_0x27022e:0x1e0},_0x5da2e6=_0x15dbcc;if(!this[_0x5da2e6(_0x582348._0x2713b3)])throw new Error(_0x5da2e6(_0x582348._0x27022e));return this[_0x5da2e6(0x228)];}[_0x15dbcc(0xcd)](){const _0x69feee={_0x298cc2:0x228},_0x43a752=_0x15dbcc;this[_0x43a752(_0x69feee._0x298cc2)]=this[_0x43a752(0x1cc)][_0x43a752(0x18d)]();throw this;}[_0x15dbcc(0x23c)](){return'return';}},TokenType=(_0x34dbfd=>{const _0x334ca6={_0x462552:0x1e6,_0x2f1503:0x1e6,_0x43b637:0xfe,_0x4d15fd:0x193,_0x4ba3ef:0x1ae,_0x1c8070:0x119,_0x3dc7f9:0xb2,_0x26c8c1:0x15e,_0xaf588d:0x199,_0x58f5ce:0x21f,_0x463218:0x135,_0x253cad:0x1cf,_0x574387:0x17b,_0x5eef0f:0x17b,_0xe14d31:0x112,_0x418b1e:0xee,_0x47ef46:0x1fb,_0x4325e5:0x10c,_0x411763:0x137,_0x359b0f:0x15b,_0x209b9a:0x10b,_0xd0c718:0x213,_0x33fbcd:0x150,_0xaa54b4:0x1c6,_0x56945e:0x124,_0x4a7a0d:0x140,_0x636d7a:0xef,_0x5770d7:0xa7},_0x5d3e9f=_0x15dbcc;return _0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x462552)]=0x0]=_0x5d3e9f(_0x334ca6._0x2f1503),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x145)]=0x1]='WORD',_0x34dbfd[_0x34dbfd[_0x5d3e9f(0xfe)]=0x2]=_0x5d3e9f(_0x334ca6._0x43b637),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x193)]=0x3]=_0x5d3e9f(_0x334ca6._0x4d15fd),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x19c)]=0x4]=_0x5d3e9f(0x19c),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x4ba3ef)]=0x5]='PRINT',_0x34dbfd[_0x34dbfd['IF']=0x6]='IF',_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x1c8070)]=0x7]=_0x5d3e9f(0x119),_0x34dbfd[_0x34dbfd['WHILE']=0x8]=_0x5d3e9f(0x176),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0xb2)]=0x9]=_0x5d3e9f(_0x334ca6._0x3dc7f9),_0x34dbfd[_0x34dbfd['DO']=0xa]='DO',_0x34dbfd[_0x34dbfd['BREAK']=0xb]=_0x5d3e9f(_0x334ca6._0x26c8c1),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0xaf588d)]=0xc]=_0x5d3e9f(0x199),_0x34dbfd[_0x34dbfd['FUNCTION']=0xd]='FUNCTION',_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x19b)]=0xe]=_0x5d3e9f(0x19b),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x1d5)]=0xf]='STEP',_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x58f5ce)]=0x10]=_0x5d3e9f(0x21f),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0xa8)]=0x11]='PLUSPLUS',_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x463218)]=0x12]=_0x5d3e9f(_0x334ca6._0x463218),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x253cad)]=0x13]=_0x5d3e9f(0x1cf),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x574387)]=0x14]=_0x5d3e9f(_0x334ca6._0x5eef0f),_0x34dbfd[_0x34dbfd['SLASH']=0x15]=_0x5d3e9f(_0x334ca6._0xe14d31),_0x34dbfd[_0x34dbfd['EQ']=0x16]='EQ',_0x34dbfd[_0x34dbfd[_0x5d3e9f(0xaa)]=0x17]=_0x5d3e9f(0xaa),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x13d)]=0x18]=_0x5d3e9f(0x13d),_0x34dbfd[_0x34dbfd['EXCL']=0x19]=_0x5d3e9f(0xf3),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x418b1e)]=0x1a]=_0x5d3e9f(0xee),_0x34dbfd[_0x34dbfd['EXCLEQEQ']=0x1b]=_0x5d3e9f(0x118),_0x34dbfd[_0x34dbfd['LT']=0x1c]='LT',_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x154)]=0x1d]=_0x5d3e9f(0x154),_0x34dbfd[_0x34dbfd['GT']=0x1e]='GT',_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x47ef46)]=0x1f]='GTEQ',_0x34dbfd[_0x34dbfd[_0x5d3e9f(0xc5)]=0x20]=_0x5d3e9f(0xc5),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x17c)]=0x21]=_0x5d3e9f(0x17c),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x186)]=0x22]=_0x5d3e9f(0x186),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0xd9)]=0x23]='AMPAMP',_0x34dbfd[_0x34dbfd['LPAREN']=0x24]=_0x5d3e9f(0x233),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0xcb)]=0x25]=_0x5d3e9f(0xcb),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x4325e5)]=0x26]='LBRACE',_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x137)]=0x27]=_0x5d3e9f(_0x334ca6._0x411763),_0x34dbfd[_0x34dbfd['LBRACKET']=0x28]=_0x5d3e9f(_0x334ca6._0x359b0f),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x10b)]=0x29]=_0x5d3e9f(_0x334ca6._0x209b9a),_0x34dbfd[_0x34dbfd['COMMA']=0x2a]=_0x5d3e9f(0x146),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0xd0c718)]=0x2b]=_0x5d3e9f(0x213),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x33fbcd)]=0x2c]=_0x5d3e9f(0x150),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0xaa54b4)]=0x2d]=_0x5d3e9f(0x1c6),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x56945e)]=0x2e]=_0x5d3e9f(0x124),_0x34dbfd[_0x34dbfd[_0x5d3e9f(0x140)]=0x2f]=_0x5d3e9f(_0x334ca6._0x4a7a0d),_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x636d7a)]=0x30]='CLOSE_META_BLOCK',_0x34dbfd[_0x34dbfd[_0x5d3e9f(_0x334ca6._0x5770d7)]=0x31]=_0x5d3e9f(0xa7),_0x34dbfd;})(TokenType||{}),ValueExpression=class{static{__name(this,_0x15dbcc(0x1cd));}[_0x15dbcc(0x139)];[_0x15dbcc(0x241)];constructor(_0x32ddbe,_0x5c6e71){const _0xf8be32={_0x364eac:0x20e},_0xc23910=_0x15dbcc;this[_0xc23910(0x241)]=_0x5c6e71;if(_0x5c6e71[_0xc23910(_0xf8be32._0x364eac)]()===0x0){this['value']=new NumberValue(parseFloat(_0x32ddbe));return;}if(_0x5c6e71[_0xc23910(_0xf8be32._0x364eac)]()===0x2){this[_0xc23910(0x139)]=new StringValue(_0x32ddbe);return;}throw new Error(_0xc23910(0x1de)+_0x5c6e71);}[_0x15dbcc(0x18d)](){const _0x3993d0=_0x15dbcc;return this[_0x3993d0(0x139)];}[_0x15dbcc(0x23c)](){return''+this['value']['asString']();}},StepStatement=class{static{__name(this,_0x15dbcc(0x188));}[_0x15dbcc(0x218)];[_0x15dbcc(0xbf)];[_0x15dbcc(0x241)];[_0x15dbcc(0x1a7)];[_0x15dbcc(0x1e3)];constructor(_0x3dda34,_0x3a7748,_0x5ed588,_0x5045e3={}){const _0x3e12d2={_0x101ec7:0x241},_0x52c8b1=_0x15dbcc;this[_0x52c8b1(0x218)]=_0x3dda34,this[_0x52c8b1(0xbf)]=_0x3a7748,this[_0x52c8b1(_0x3e12d2._0x101ec7)]=_0x5ed588,this[_0x52c8b1(0x1a7)]=_0x5045e3['soft']??![],this[_0x52c8b1(0x1e3)]=_0x5045e3[_0x52c8b1(0x1e3)]??null;}[_0x15dbcc(0x184)](){const _0x1b065c={_0x452ee3:0x1e3,_0x54de02:0x214},_0x2ffa7c=_0x15dbcc;return this[_0x2ffa7c(_0x1b065c._0x452ee3)]instanceof ObjectExpression?this['options']['properties'][_0x2ffa7c(_0x1b065c._0x54de02)](_0x2ffa7c(0x196)):void 0x0;}[_0x15dbcc(0xcd)](){}[_0x15dbcc(0x166)](){const _0x53e564={_0x4a282f:0x218},_0x932661=_0x15dbcc;return this[_0x932661(_0x53e564._0x4a282f)]instanceof ValueExpression?this[_0x932661(0x218)][_0x932661(0x139)][_0x932661(0x1b4)]():'';}['toString'](){const _0x31c280={_0x10d43a:0x1e3,_0x2b7ad7:0xbf},_0xb26f3a=_0x15dbcc,_0x2681d8=this['soft']?'step.soft':'step',_0x443538=this[_0xb26f3a(0x1e3)]?this[_0xb26f3a(_0x31c280._0x10d43a)]+',\x20':'';return _0x2681d8+'('+this['label']+',\x20'+_0x443538+_0xb26f3a(0x23e)+this[_0xb26f3a(_0x31c280._0x2b7ad7)]+_0xb26f3a(0x1fd);}},UnaryExpression=class{static{__name(this,_0x15dbcc(0x120));}['operand'];[_0x15dbcc(0x15f)];[_0x15dbcc(0x241)];constructor(_0x57e7c9,_0x13513e,_0x483fe6){const _0x3a8f9c={_0x3c7aaa:0x241},_0x216c06=_0x15dbcc;this[_0x216c06(0x15f)]=_0x57e7c9,this[_0x216c06(0x16b)]=_0x13513e,this[_0x216c06(_0x3a8f9c._0x3c7aaa)]=_0x483fe6;}['eval'](){const _0x364c57={_0x41de7d:0x15f,_0x106c10:0x18d},_0x59fb72=_0x15dbcc;switch(this[_0x59fb72(_0x364c57._0x41de7d)]){case'-':return new NumberValue(-this[_0x59fb72(0x16b)][_0x59fb72(_0x364c57._0x106c10)]()[_0x59fb72(0x104)]());case'+':default:return new NumberValue(this[_0x59fb72(0x16b)][_0x59fb72(0x18d)]()['asNumber']());}}[_0x15dbcc(0x23c)](){const _0xdb1c7e={_0x2d2e14:0x16b},_0x40daff=_0x15dbcc;return''+this['operator']+this[_0x40daff(_0xdb1c7e._0x2d2e14)];}},UndefinedValue=class _UndefinedValue{static{__name(this,_0x15dbcc(0x1bc));}static [_0x15dbcc(0x19d)]=new _UndefinedValue();[_0x15dbcc(0x232)](){const _0x5d2920=_0x15dbcc;return _UndefinedValue[_0x5d2920(0x19d)];}['asNumber'](){return NaN;}['asString'](){return'undefined';}[_0x15dbcc(0x23c)](){const _0x13fa85=_0x15dbcc;return this[_0x13fa85(0x1b4)]();}},VarStatement=class{static{__name(this,'VarStatement');}[_0x15dbcc(0x1da)];['token'];constructor(_0x17cdad,_0x1b80da){const _0x5576d8={_0x211da8:0x1da,_0x472981:0x241},_0x5ac0ab=_0x15dbcc;this[_0x5ac0ab(_0x5576d8._0x211da8)]=_0x17cdad,this[_0x5ac0ab(_0x5576d8._0x472981)]=_0x1b80da;}[_0x15dbcc(0xcd)](){const _0x1e058b={_0x3a2ecc:0x1da,_0x4234:0x18d,_0x35dd51:0x203},_0x5d9943=_0x15dbcc;for(const _0x64895 of this[_0x5d9943(_0x1e058b._0x3a2ecc)]){if(_0x64895[_0x5d9943(0xab)]){const _0x3ade76=_0x64895['init'][_0x5d9943(_0x1e058b._0x4234)]();Variables['set'](_0x64895[_0x5d9943(0x231)],_0x3ade76);}else Variables[_0x5d9943(_0x1e058b._0x35dd51)](_0x64895[_0x5d9943(0x231)],UndefinedValue[_0x5d9943(0x19d)]);}}[_0x15dbcc(0x23c)](){const _0x23eb94={_0x16a118:0x1a6,_0x2fdf70:0x136},_0x528ef5=_0x15dbcc,_0x2efa43=this[_0x528ef5(0x1da)][_0x528ef5(_0x23eb94._0x16a118)](_0x316670=>_0x316670[_0x528ef5(0xab)]?_0x316670[_0x528ef5(0x231)]+'\x20=\x20'+_0x316670['init']:_0x316670[_0x528ef5(0x231)])[_0x528ef5(_0x23eb94._0x2fdf70)](',\x20');return'var\x20'+_0x2efa43;}},VariableExpression=class{static{__name(this,_0x15dbcc(0x107));}[_0x15dbcc(0x231)];['token'];constructor(_0x372323,_0xd0ae6b){const _0x3434bb=_0x15dbcc;this[_0x3434bb(0x231)]=_0x372323,this[_0x3434bb(0x241)]=_0xd0ae6b;}[_0x15dbcc(0x18d)](){const _0x1b34b4={_0x1d8116:0x194,_0x8a15c3:0x1fc,_0x4d8e18:0x214},_0x4b3b28=_0x15dbcc;if(!Variables['isExists'](this['name']))throw new Error(_0x4b3b28(_0x1b34b4._0x1d8116)+this['name']+_0x4b3b28(_0x1b34b4._0x8a15c3));return Variables[_0x4b3b28(_0x1b34b4._0x4d8e18)](this[_0x4b3b28(0x231)]);}[_0x15dbcc(0x1d6)](){return this['name'];}['toString'](){return''+this['name'];}},WhileStatement=class{constructor(_0x1e743a,_0x24e84c,_0x2cb55c){const _0x36de38={_0x4a26a7:0x241},_0x4030d3=_0x15dbcc;this[_0x4030d3(0xf0)]=_0x1e743a,this['statement']=_0x24e84c,this[_0x4030d3(_0x36de38._0x4a26a7)]=_0x2cb55c;}[_0x15dbcc(0xf0)];[_0x15dbcc(0xe3)];[_0x15dbcc(0x241)];static{__name(this,_0x15dbcc(0x1ad));}[_0x15dbcc(0xcd)](){const _0x10a603={_0x7153a4:0xcd},_0x2d008f=_0x15dbcc;while(this[_0x2d008f(0xf0)][_0x2d008f(0x18d)]()['asNumber']()!=0x0){try{this['statement'][_0x2d008f(_0x10a603._0x7153a4)]();}catch(_0x3ebb6f){if(_0x3ebb6f instanceof BreakStatement)break;else{if(_0x3ebb6f instanceof ContinueStatement){}else throw _0x3ebb6f;}}}}[_0x15dbcc(0x23c)](){const _0x11837a={_0x13f89e:0x169,_0x24274f:0xf0},_0x5dbcfe=_0x15dbcc;return _0x5dbcfe(_0x11837a._0x13f89e)+this[_0x5dbcfe(_0x11837a._0x24274f)]+_0x5dbcfe(0x223)+this[_0x5dbcfe(0xe3)]+'\x0a}';}},ParseError=class _ParseError extends Error{static{__name(this,'ParseError');}['line'];[_0x15dbcc(0xea)];constructor(_0x4d5f51,_0x1af6d8,_0x506fc7){const _0x2c1aad={_0x324607:0x231,_0x5cc72c:0x23d,_0xb480af:0x1d0,_0x42760b:0xea},_0x12d66b=_0x15dbcc;super(_0x4d5f51),this[_0x12d66b(_0x2c1aad._0x324607)]=_0x12d66b(_0x2c1aad._0x5cc72c),this[_0x12d66b(_0x2c1aad._0xb480af)]=_0x1af6d8,this[_0x12d66b(_0x2c1aad._0x42760b)]=_0x506fc7;}static['at'](_0x3dadc2,_0x147565){return new _ParseError(_0x147565,_0x3dadc2['getLine'](),_0x3dadc2['getColumn']());}},Token=class{static{__name(this,'Token');}[_0x15dbcc(0xed)];[_0x15dbcc(0x1f6)];[_0x15dbcc(0xea)];[_0x15dbcc(0x1d0)];constructor(_0x9cec04,_0x10af73,_0x386f39,_0x33bbe0){const _0x499d6a=_0x15dbcc;this['type']=_0x9cec04,this[_0x499d6a(0xed)]=_0x10af73,this['column']=_0x386f39,this[_0x499d6a(0x1d0)]=_0x33bbe0;}[_0x15dbcc(0x1f9)](){const _0x5e7503=_0x15dbcc;return this[_0x5e7503(0xed)];}['getType'](){const _0x38f424={_0x283b88:0x1f6},_0x3baa27=_0x15dbcc;return this[_0x3baa27(_0x38f424._0x283b88)];}[_0x15dbcc(0x19f)](){return this['line'];}[_0x15dbcc(0x20a)](){const _0x132617=_0x15dbcc;return this[_0x132617(0xea)];}[_0x15dbcc(0x23c)](){const _0x570fd3={_0x52109d:0xea},_0x4ed44c=_0x15dbcc;return _0x4ed44c(0x1ba)+TokenType[this[_0x4ed44c(0x1f6)]]+_0x4ed44c(0x144)+this['text']+_0x4ed44c(0xb7)+this['line']+',\x20column:\x20'+this[_0x4ed44c(_0x570fd3._0x52109d)]+')';}};function isNumber(_0x136f59){const _0x4c74ca=_0x15dbcc,_0x431704=Number(_0x136f59);return!isNaN(_0x431704)&&_0x136f59[_0x4c74ca(0xa5)]()===_0x431704[_0x4c74ca(0x23c)]();}__name(isNumber,_0x15dbcc(0xfd));function isWordStart(_0x116012){return/^[a-zA-Zа-яА-ЯёЁ_$]$/['test'](_0x116012);}__name(isWordStart,'isWordStart');function isLetterInWord(_0xd8bb18){return/^[a-zA-Zа-яА-ЯёЁ0-9_$]$/['test'](_0xd8bb18);}__name(isLetterInWord,_0x15dbcc(0xa6));var DIVIDE_AFTER=new Set([0x0,0x1,0x2,0x4,0x25,0x29,0x11,0x13]);function isRegexAllowedAfter(_0xcfad3){const _0x1473a2=_0x15dbcc;return!DIVIDE_AFTER[_0x1473a2(0xe9)](_0xcfad3);}__name(isRegexAllowedAfter,'isRegexAllowedAfter');var Lexer=class{static{__name(this,'Lexer');}[_0x15dbcc(0xca)]=_0x15dbcc(0xb8);[_0x15dbcc(0x1b2)]=new Map([['+',0x10],['++',0x11],['-',0x12],['--',0x13],['*',0x14],['/',0x15],['(',0x24],[')',0x25],['{',0x26],['}',0x27],['[',0x28],[']',0x29],['=',0x16],['<',0x1c],['>',0x1e],[',',0x2a],[':',0x2b],[';',0x2c],['.',0x2d],['!',0x19],['&',0x22],['|',0x20],['==',0x17],[_0x15dbcc(0x11e),0x18],['!=',0x1a],['!==',0x1b],['<=',0x1d],['>=',0x1f],['=>',0x2e],['&&',0x23],['||',0x21]]);[_0x15dbcc(0x1d9)];[_0x15dbcc(0x190)];['tokens']=[];[_0x15dbcc(0xf4)]=0x0;[_0x15dbcc(0xea)]=0x1;[_0x15dbcc(0x1d0)]=0x1;[_0x15dbcc(0x22a)]=[];constructor(_0x4cf240){const _0x2c394e={_0x166e35:0x190},_0x301b39=_0x15dbcc;this['input']=_0x4cf240,this[_0x301b39(0x190)]=_0x4cf240[_0x301b39(_0x2c394e._0x166e35)];}['tokenize'](){const _0x2a359b={_0x54bb69:0x219,_0x46c5aa:0xda,_0x32627d:0x1f3,_0x334db5:0x11c,_0x475b39:0xca,_0x3ea434:0x13b,_0x5b062:0x1a1,_0x320b3d:0xdb},_0xd7ba4a=_0x15dbcc;while(this['pos']<this['length']){const _0x344979=this[_0xd7ba4a(_0x2a359b._0x54bb69)](0x0);if(isNumber(_0x344979))this[_0xd7ba4a(0x183)]();else{if(isWordStart(_0x344979))this[_0xd7ba4a(0xd3)]();else{if(_0x344979==='\x22'||_0x344979==='\x27')this[_0xd7ba4a(0xcc)](_0x344979);else{if(_0x344979==='`')this[_0xd7ba4a(_0x2a359b._0x46c5aa)]();else{if(this['peekGroup'](0x3)===_0xd7ba4a(_0x2a359b._0x32627d))this[_0xd7ba4a(0xc3)]();else{if(_0x344979==='/'&&this['regexContextAllowed']())this[_0xd7ba4a(_0x2a359b._0x334db5)]();else{if(this[_0xd7ba4a(_0x2a359b._0x475b39)][_0xd7ba4a(_0x2a359b._0x3ea434)](_0x344979)!==-0x1)this[_0xd7ba4a(_0x2a359b._0x5b062)]();else{if(_0x344979==='\x20'||_0x344979==='\x09'||_0x344979==='\x0d'||_0x344979==='\x0a'||_0x344979==='\ufeff')this['next']();else{if(_0x344979==='\u00a0')throw new ParseError(_0xd7ba4a(0x246),this[_0xd7ba4a(0x1d0)],this['column']);else throw new ParseError(_0xd7ba4a(0x1fa)+JSON[_0xd7ba4a(_0x2a359b._0x320b3d)](_0x344979),this[_0xd7ba4a(0x1d0)],this['column']);}}}}}}}}}return this[_0xd7ba4a(0x185)];}['regexContextAllowed'](){const _0x11137c={_0x3c2032:0x190,_0x35e18f:0x185,_0x2409d5:0x20e},_0x174aeb=_0x15dbcc;if(this['peek'](0x1)==='/'||this[_0x174aeb(0x219)](0x1)==='*')return![];const _0x3374f1=this[_0x174aeb(0x185)][_0x174aeb(_0x11137c._0x3c2032)]===0x0?null:this[_0x174aeb(0x185)][this[_0x174aeb(_0x11137c._0x35e18f)][_0x174aeb(0x190)]-0x1];if(_0x3374f1===null)return!![];return isRegexAllowedAfter(_0x3374f1[_0x174aeb(_0x11137c._0x2409d5)]());}[_0x15dbcc(0x11c)](){const _0x3c81ea={_0x787ea0:0x1d0,_0x4cdc37:0x1f5,_0x50c47d:0xdf,_0x5da6fd:0x208},_0x5dc60a=_0x15dbcc,_0x3567f9=this[_0x5dc60a(0xea)],_0x557aaf=this[_0x5dc60a(_0x3c81ea._0x787ea0)];this['next']();const _0x4ae092=[];let _0x277d90=![],_0x1118bd=this[_0x5dc60a(0x219)](0x0);while(_0x1118bd!=='\x00'){if(_0x1118bd==='\x0a'||_0x1118bd==='\x0d')throw new ParseError(_0x5dc60a(_0x3c81ea._0x4cdc37),_0x557aaf,_0x3567f9);if(_0x1118bd==='\x5c'){_0x4ae092['push'](_0x1118bd),_0x1118bd=this['next']();if(_0x1118bd==='\x00'||_0x1118bd==='\x0a'||_0x1118bd==='\x0d')throw new ParseError(_0x5dc60a(0x1d8),_0x557aaf,_0x3567f9);_0x4ae092['push'](_0x1118bd),_0x1118bd=this['next']();continue;}if(_0x1118bd==='['&&!_0x277d90){_0x277d90=!![],_0x4ae092['push'](_0x1118bd),_0x1118bd=this[_0x5dc60a(_0x3c81ea._0x50c47d)]();continue;}if(_0x1118bd===']'&&_0x277d90){_0x277d90=![],_0x4ae092['push'](_0x1118bd),_0x1118bd=this[_0x5dc60a(0xdf)]();continue;}if(_0x1118bd==='/'&&!_0x277d90)break;_0x4ae092[_0x5dc60a(0x22c)](_0x1118bd),_0x1118bd=this[_0x5dc60a(_0x3c81ea._0x50c47d)]();}if(_0x1118bd!=='/')throw new ParseError(_0x5dc60a(_0x3c81ea._0x5da6fd),_0x557aaf,_0x3567f9);this[_0x5dc60a(_0x3c81ea._0x50c47d)]();const _0x2ec5ba=[];_0x1118bd=this[_0x5dc60a(0x219)](0x0);while(_0x1118bd!=='\x00'&&isLetterInWord(_0x1118bd)){_0x2ec5ba[_0x5dc60a(0x22c)](_0x1118bd),_0x1118bd=this['next']();}this['addToken'](0x3,_0x4ae092[_0x5dc60a(0x136)]('')+'\x00'+_0x2ec5ba[_0x5dc60a(0x136)](''),_0x3567f9,_0x557aaf);}[_0x15dbcc(0xdf)](){const _0x489a01={_0x3b6511:0xf4,_0x47799b:0x1d0,_0x4bb702:0xea,_0xd5b7c3:0x219},_0x1e72c5=_0x15dbcc,_0x4fc656=this['input'][_0x1e72c5(0x149)](this[_0x1e72c5(0xf4)]);return this[_0x1e72c5(_0x489a01._0x3b6511)]++,_0x4fc656=='\x0a'?(this[_0x1e72c5(_0x489a01._0x47799b)]++,this[_0x1e72c5(_0x489a01._0x4bb702)]=0x1):this[_0x1e72c5(_0x489a01._0x4bb702)]++,this[_0x1e72c5(_0x489a01._0xd5b7c3)](0x0);}[_0x15dbcc(0x219)](_0x122312){const _0x388453=_0x15dbcc,_0xf5bac7=this['pos']+_0x122312;if(_0xf5bac7>=this[_0x388453(0x190)])return'\x00';return this[_0x388453(0x1d9)]['charAt'](_0xf5bac7);}[_0x15dbcc(0x195)](_0x5e4727){const _0xe30a91={_0xbde08:0x22c,_0x4fbef7:0x219},_0xf7cab4=_0x15dbcc,_0x3ba390=[];for(let _0x4d67f8=0x0;_0x4d67f8<_0x5e4727;_0x4d67f8++){_0x3ba390[_0xf7cab4(_0xe30a91._0xbde08)](this[_0xf7cab4(_0xe30a91._0x4fbef7)](_0x4d67f8));}return _0x3ba390[_0xf7cab4(0x136)]('');}[_0x15dbcc(0x1d7)](_0x5f43f3,_0x32cfdb,_0x427325,_0x4a2abc){const _0x44a309={_0x510eb9:0x22c},_0x49d03a=_0x15dbcc;this[_0x49d03a(0x185)][_0x49d03a(_0x44a309._0x510eb9)](new Token(_0x5f43f3,_0x32cfdb,_0x427325,_0x4a2abc));}[_0x15dbcc(0x183)](){const _0x55823e={_0x287070:0xea,_0x48638c:0x219,_0x1a1209:0x192,_0x1087ee:0x1d0,_0x2004dc:0x22c,_0x3c0186:0x136},_0x88caa9=_0x15dbcc,_0x4e06f2=this[_0x88caa9(_0x55823e._0x287070)],_0x991c02=this['line'],_0x497a12=[];let _0x834c71=this[_0x88caa9(_0x55823e._0x48638c)](0x0);while(_0x834c71!=='\x00'){if(_0x834c71=='.'){if(_0x497a12[_0x88caa9(0x13b)]('.')!==-0x1)throw new ParseError(_0x88caa9(_0x55823e._0x1a1209),this[_0x88caa9(_0x55823e._0x1087ee)],this[_0x88caa9(0xea)]);}else{if(!isNumber(_0x834c71))break;}_0x497a12[_0x88caa9(_0x55823e._0x2004dc)](_0x834c71),_0x834c71=this[_0x88caa9(0xdf)]();}this['addToken'](0x0,_0x497a12[_0x88caa9(_0x55823e._0x3c0186)](''),_0x4e06f2,_0x991c02);}['consumeWord'](){const _0x1ce6b1=_0x15dbcc,_0x4eac1d=[];let _0x33c47a=this[_0x1ce6b1(0x219)](0x0);while(_0x33c47a!=='\x00'){if(!isLetterInWord(_0x33c47a))break;_0x4eac1d[_0x1ce6b1(0x22c)](_0x33c47a),_0x33c47a=this[_0x1ce6b1(0xdf)]();}return _0x4eac1d[_0x1ce6b1(0x136)]('');}['tokenizeMetaWord'](){const _0x20a9ba={_0x10882d:0xea,_0x53a488:0xdf,_0x296e57:0x1ed,_0x5daf7c:0x1bd},_0x3be7e1=_0x15dbcc,_0x50190a=this[_0x3be7e1(_0x20a9ba._0x10882d)],_0x2d221d=this[_0x3be7e1(0x1d0)];this[_0x3be7e1(_0x20a9ba._0x53a488)](),this[_0x3be7e1(_0x20a9ba._0x53a488)](),this[_0x3be7e1(0xdf)]();const _0x37d658=this[_0x3be7e1(_0x20a9ba._0x296e57)]();_0x37d658[_0x3be7e1(0x200)](_0x3be7e1(_0x20a9ba._0x5daf7c))?this[_0x3be7e1(0x1d7)](0x30,_0x37d658,_0x50190a,_0x2d221d):this[_0x3be7e1(0x1d7)](0x2f,_0x37d658,_0x50190a,_0x2d221d);}['tokenizeWord'](){const _0x1410d3={_0x5598d9:0xea,_0x236ced:0x1ed,_0x46a7f0:0xfb,_0x3bcbc4:0x1d7,_0x45f474:0x1d7,_0x2bfaa5:0x1b8,_0x51ff82:0x212,_0x293496:0x11b,_0x58a934:0x165,_0x5a07eb:0x1d7,_0x17e03f:0x1bf,_0x3fc138:0x125},_0x324180=_0x15dbcc,_0x17339f=this[_0x324180(_0x1410d3._0x5598d9)],_0x32a7d2=this[_0x324180(0x1d0)],_0x4c97cf=this[_0x324180(_0x1410d3._0x236ced)]();switch(_0x4c97cf){case _0x324180(_0x1410d3._0x46a7f0):this[_0x324180(_0x1410d3._0x3bcbc4)](0x4,'',_0x17339f,_0x32a7d2);break;case _0x324180(0x236):this[_0x324180(0x1d7)](0x5,'',_0x17339f,_0x32a7d2);break;case'if':this[_0x324180(_0x1410d3._0x45f474)](0x6,'',_0x17339f,_0x32a7d2);break;case _0x324180(_0x1410d3._0x2bfaa5):this[_0x324180(0x1d7)](0x7,'',_0x17339f,_0x32a7d2);break;case _0x324180(_0x1410d3._0x51ff82):this['addToken'](0x9,'',_0x17339f,_0x32a7d2);break;case _0x324180(_0x1410d3._0x293496):this[_0x324180(0x1d7)](0x8,'',_0x17339f,_0x32a7d2);break;case'do':this['addToken'](0xa,'',_0x17339f,_0x32a7d2);break;case _0x324180(_0x1410d3._0x58a934):this[_0x324180(0x1d7)](0xb,'',_0x17339f,_0x32a7d2);break;case _0x324180(0x1ef):this[_0x324180(_0x1410d3._0x5a07eb)](0xc,'',_0x17339f,_0x32a7d2);break;case _0x324180(0xac):this[_0x324180(0x1d7)](0xd,'',_0x17339f,_0x32a7d2);break;case _0x324180(_0x1410d3._0x17e03f):this[_0x324180(_0x1410d3._0x3bcbc4)](0xe,'',_0x17339f,_0x32a7d2);break;case _0x324180(_0x1410d3._0x3fc138):this['addToken'](0xf,'',_0x17339f,_0x32a7d2);break;default:this[_0x324180(_0x1410d3._0x45f474)](0x1,_0x4c97cf,_0x17339f,_0x32a7d2);}}['tokenizeText'](_0x90a88f){const _0x439f70={_0x51d43a:0x1d0,_0x13361e:0x219,_0x12cdfa:0xdf,_0x168db0:0xdf,_0x2ae545:0xd0,_0xc485b2:0x1d7},_0x108fa5=_0x15dbcc,_0x5ae9ed=this['column'],_0x445f0b=this[_0x108fa5(_0x439f70._0x51d43a)];this[_0x108fa5(0xdf)]();const _0x43a43f=[];let _0x39f10a=this[_0x108fa5(_0x439f70._0x13361e)](0x0);while(_0x39f10a!=='\x00'){if(_0x39f10a=='\x5c'){_0x39f10a=this[_0x108fa5(_0x439f70._0x12cdfa)]();switch(_0x39f10a){case _0x90a88f:_0x39f10a=this[_0x108fa5(0xdf)](),_0x43a43f['push'](_0x90a88f);continue;case'n':_0x39f10a=this[_0x108fa5(_0x439f70._0x168db0)](),_0x43a43f[_0x108fa5(0x22c)]('\x0a');continue;case't':_0x39f10a=this['next'](),_0x43a43f['push']('\x09');continue;case'\x5c':_0x39f10a=this['next'](),_0x43a43f[_0x108fa5(0x22c)]('\x5c');continue;}_0x43a43f[_0x108fa5(0x22c)]('\x5c');_0x39f10a!=='\x00'&&(_0x43a43f[_0x108fa5(0x22c)](_0x39f10a),_0x39f10a=this['next']());continue;}if(_0x39f10a==_0x90a88f)break;_0x43a43f['push'](_0x39f10a),_0x39f10a=this[_0x108fa5(0xdf)]();}if(_0x39f10a==='\x00')throw new ParseError(_0x108fa5(_0x439f70._0x2ae545),_0x445f0b,_0x5ae9ed);this['next']();const _0x52384a=_0x43a43f['join']('');this[_0x108fa5(_0x439f70._0xc485b2)](0x2,_0x52384a,_0x5ae9ed,_0x445f0b);}[_0x15dbcc(0xda)](){const _0x1d6bce={_0x205c05:0xea,_0x418387:0x1d0,_0x4d3129:0xdf,_0x2b3a53:0x1d7},_0x56839a=_0x15dbcc,_0x5ff983=this[_0x56839a(_0x1d6bce._0x205c05)],_0x11608e=this[_0x56839a(_0x1d6bce._0x418387)];this[_0x56839a(_0x1d6bce._0x4d3129)]();const _0x4c0a9b=[];let _0x4e6fb4=this[_0x56839a(0x219)](0x0);while(_0x4e6fb4!=='\x00'&&_0x4e6fb4!=='`'){if(_0x4e6fb4==='$'&&this[_0x56839a(0x219)](0x1)==='{')throw new ParseError('Template\x20interpolation\x20`${...}`\x20is\x20not\x20allowed\x20in\x20unotest\x20DSL\x20strings.\x20Use\x20positional\x20args\x20instead:\x20evaluate(\x27return\x20arg.x\x27,\x20{arg:\x20value}).',this['line'],this['column']);_0x4c0a9b[_0x56839a(0x22c)](_0x4e6fb4),_0x4e6fb4=this['next']();}if(_0x4e6fb4==='\x00')throw new ParseError('Missing\x20close\x20backtick\x20in\x20raw\x20string\x20literal',_0x11608e,_0x5ff983);this[_0x56839a(0xdf)](),this[_0x56839a(_0x1d6bce._0x2b3a53)](0x2,_0x4c0a9b['join'](''),_0x5ff983,_0x11608e);}['tokenizeComment'](_0x23eca9,_0x3dcec6){const _0x51f3fb={_0x12af25:0x1ce,_0x4276b8:0x13b,_0x9ca573:0x22c,_0xe28690:0xa5},_0xa4dcd9=_0x15dbcc,_0x11c02c=[];let _0x3c16b7=this[_0xa4dcd9(0x219)](0x0);while(_0xa4dcd9(_0x51f3fb._0x12af25)[_0xa4dcd9(_0x51f3fb._0x4276b8)](_0x3c16b7)==-0x1){_0x11c02c[_0xa4dcd9(0x22c)](_0x3c16b7),_0x3c16b7=this[_0xa4dcd9(0xdf)]();}this[_0xa4dcd9(0x22a)][_0xa4dcd9(_0x51f3fb._0x9ca573)]({'line':_0x23eca9,'column':_0x3dcec6,'text':_0x11c02c['join']('')[_0xa4dcd9(_0x51f3fb._0xe28690)]()});}[_0x15dbcc(0x1cb)](_0x4ec0d1,_0x519193){const _0x1d25bc={_0x202cfd:0x219,_0x16c888:0x22c,_0x6ac6d8:0x122,_0x2175bc:0xdf,_0x41e594:0x22a,_0x422dc0:0x22c,_0x2e26cc:0x136,_0x5dc5f0:0xa5},_0x4822ee=_0x15dbcc,_0x374bc3=[];let _0x288b42=this[_0x4822ee(_0x1d25bc._0x202cfd)](0x0);while(_0x288b42!='\x00'){if(_0x288b42=='*'&&this[_0x4822ee(_0x1d25bc._0x202cfd)](0x1)=='/')break;_0x374bc3[_0x4822ee(_0x1d25bc._0x16c888)](_0x288b42),_0x288b42=this[_0x4822ee(0xdf)]();}if(_0x288b42=='\x00')throw new ParseError(_0x4822ee(_0x1d25bc._0x6ac6d8),_0x4ec0d1,_0x519193);this[_0x4822ee(0xdf)](),this[_0x4822ee(_0x1d25bc._0x2175bc)](),this[_0x4822ee(_0x1d25bc._0x41e594)][_0x4822ee(_0x1d25bc._0x422dc0)]({'line':_0x4ec0d1,'column':_0x519193,'text':_0x374bc3[_0x4822ee(_0x1d25bc._0x2e26cc)]('')[_0x4822ee(_0x1d25bc._0x5dc5f0)]()});}[_0x15dbcc(0x1a1)](){const _0x125f82={_0x777112:0x219,_0x2dd552:0xdf,_0x21fede:0x180,_0xb18912:0xdf,_0x5cf478:0xea,_0x5e811b:0x136,_0x248af0:0x1b2,_0xca15ea:0xc4,_0x870059:0x214,_0x253ea9:0x1d7,_0x1b7eff:0x202},_0x3edf7a=_0x15dbcc;let _0x38d318=this[_0x3edf7a(_0x125f82._0x777112)](0x0);if(_0x38d318=='/'){const _0x27c94c=this['line'],_0x4a3633=this[_0x3edf7a(0xea)];if(this[_0x3edf7a(0x219)](0x1)=='/'){this['next'](),this[_0x3edf7a(_0x125f82._0x2dd552)](),this[_0x3edf7a(_0x125f82._0x21fede)](_0x27c94c,_0x4a3633);return;}else{if(this['peek'](0x1)=='*'){this['next'](),this[_0x3edf7a(_0x125f82._0xb18912)](),this['tokenizeMultilineComment'](_0x27c94c,_0x4a3633);return;}}}const _0x1566df=this[_0x3edf7a(_0x125f82._0x5cf478)],_0x150bb3=this[_0x3edf7a(0x1d0)],_0x10bf70=[];while(_0x38d318!=='\x00'){const _0x2bc4be=_0x10bf70[_0x3edf7a(_0x125f82._0x5e811b)]('');if(!this['OPERATORS'][_0x3edf7a(0xe9)](_0x2bc4be+_0x38d318)&&_0x2bc4be!=''){const _0x5d218f=this[_0x3edf7a(_0x125f82._0x248af0)]['get'](_0x2bc4be);if(!_0x5d218f)throw new ParseError(_0x3edf7a(_0x125f82._0xca15ea)+_0x2bc4be,_0x150bb3,_0x1566df);this[_0x3edf7a(0x1d7)](_0x5d218f,'',_0x1566df,_0x150bb3);return;}_0x10bf70[_0x3edf7a(0x22c)](_0x38d318),_0x38d318=this[_0x3edf7a(_0x125f82._0x2dd552)]();}const _0x43dda6=_0x10bf70[_0x3edf7a(0x136)]('');if(_0x43dda6!==''){const _0x87f754=this[_0x3edf7a(_0x125f82._0x248af0)][_0x3edf7a(_0x125f82._0x870059)](_0x43dda6);if(_0x87f754){this[_0x3edf7a(_0x125f82._0x253ea9)](_0x87f754,'',_0x1566df,_0x150bb3);return;}}throw new ParseError(_0x3edf7a(_0x125f82._0x1b7eff),_0x150bb3,_0x1566df);}},CONTEXT_LINES=0x2;function formatCodeFrame(_0x4aa023,_0x12cd5c,_0x4d4d33,_0x2d0b85=CONTEXT_LINES){const _0xb2506c={_0x3f6e34:0xc6,_0x31111f:0x17d,_0x3f49f7:0x190,_0x3e2f8d:0x190,_0x5260ad:0x22c,_0x1acde1:0xde,_0x491db2:0x22c},_0x3a1266=_0x15dbcc,_0x403ea9=_0x4aa023[_0x3a1266(0xbc)](/\r\n|\n|\r/),_0x5da15b=Math[_0x3a1266(_0xb2506c._0x3f6e34)](Math[_0x3a1266(_0xb2506c._0x31111f)](_0x12cd5c,0x1),_0x403ea9[_0x3a1266(0x190)]),_0xa85b31=Math['max'](0x1,_0x5da15b-_0x2d0b85),_0x1fea70=Math[_0x3a1266(0xc6)](_0x403ea9[_0x3a1266(_0xb2506c._0x3f49f7)],_0x5da15b+_0x2d0b85),_0x2bd40e=String(_0x1fea70)[_0x3a1266(_0xb2506c._0x3e2f8d)],_0x4c2093=[];for(let _0x3f015c=_0xa85b31;_0x3f015c<=_0x1fea70;_0x3f015c++){const _0x4ac7b2=_0x403ea9[_0x3f015c-0x1]??'',_0x4a8a77=String(_0x3f015c)['padStart'](_0x2bd40e);if(_0x3f015c!==_0x5da15b){_0x4c2093[_0x3a1266(_0xb2506c._0x5260ad)]('\x20\x20\x20\x20'+_0x4a8a77+_0x3a1266(_0xb2506c._0x1acde1)+_0x4ac7b2);continue;}_0x4c2093[_0x3a1266(0x22c)](_0x3a1266(0xff)+_0x4a8a77+_0x3a1266(0xde)+_0x4ac7b2);const _0x508ee1=Math[_0x3a1266(0xc6)](Math[_0x3a1266(_0xb2506c._0x31111f)](_0x4d4d33,0x1),_0x4ac7b2['length']+0x1)-0x1;_0x4c2093[_0x3a1266(_0xb2506c._0x491db2)]('\x20\x20\x20\x20'+'\x20'[_0x3a1266(0x1b3)](_0x2bd40e)+_0x3a1266(0xde)+'\x20'['repeat'](_0x508ee1)+'^');}return _0x4c2093[_0x3a1266(0x136)]('\x0a');}__name(formatCodeFrame,'formatCodeFrame');function formatParseError(_0x41dd72,_0x1d9ab3){const _0x3ae9a2={_0x19d003:0xb4,_0x36d90a:0x224,_0x15963d:0xea},_0x16af4c=_0x15dbcc;return _0x1d9ab3['message']+_0x16af4c(_0x3ae9a2._0x19d003)+_0x1d9ab3[_0x16af4c(0x1d0)]+_0x16af4c(_0x3ae9a2._0x36d90a)+_0x1d9ab3[_0x16af4c(_0x3ae9a2._0x15963d)]+')\x0a'+formatCodeFrame(_0x41dd72,_0x1d9ab3[_0x16af4c(0x1d0)],_0x1d9ab3[_0x16af4c(0xea)]);}__name(formatParseError,'formatParseError');var Parser=class _Parser{static{__name(this,_0x15dbcc(0x129));}[_0x15dbcc(0xa7)]=new Token(0x31,'',-0x1,-0x1);[_0x15dbcc(0x185)]=[];[_0x15dbcc(0xf4)]=0x0;[_0x15dbcc(0x21d)];constructor(_0x5b8ff7){const _0x535ac2=_0x15dbcc;this[_0x535ac2(0x185)]=_0x5b8ff7,this['size']=_0x5b8ff7[_0x535ac2(0x190)];}[_0x15dbcc(0x179)](){const _0x1cc4bf={_0x591498:0x214,_0x4889ae:0xe3},_0x27e5d5=_0x15dbcc,_0x3371c9=this[_0x27e5d5(_0x1cc4bf._0x591498)](0x0),_0x1ac1cd=new BlockStatement(_0x3371c9);while(!this[_0x27e5d5(0x177)](0x31)){_0x1ac1cd[_0x27e5d5(0x153)](this[_0x27e5d5(_0x1cc4bf._0x4889ae)]()),this[_0x27e5d5(0x177)](0x2c);}return _0x1ac1cd;}[_0x15dbcc(0x158)](){const _0x272a0d=_0x15dbcc;if(this[_0x272a0d(0x214)](0x0)[_0x272a0d(0x20e)]()===0x26)return this['block']();return this[_0x272a0d(0xe3)]();}[_0x15dbcc(0x178)](_0x40841e){const _0x3635ba={_0xf33fb0:0x177,_0xb49670:0x153},_0x598a80=_0x15dbcc,_0x12b3c6=this[_0x598a80(0x214)](0x0),_0x3899e8=new BlockStatement(_0x12b3c6);while(!this[_0x598a80(_0x3635ba._0xf33fb0)](0x30)){_0x3899e8[_0x598a80(_0x3635ba._0xb49670)](this[_0x598a80(0xe3)]()),this[_0x598a80(_0x3635ba._0xf33fb0)](0x2c);}return _0x3899e8;}[_0x15dbcc(0x18f)](){const _0x115cff={_0x3f8460:0x22c},_0x471818=_0x15dbcc,_0x133b54=this['get'](0x0),_0x115e98=this[_0x471818(0x115)](0x2f)[_0x471818(0x1f9)]();this[_0x471818(0x115)](0x24);const _0x5b9f0b=[];while(!this[_0x471818(0x177)](0x25)){_0x5b9f0b[_0x471818(_0x115cff._0x3f8460)](this[_0x471818(0x115)](0x2)['getText']()),this[_0x471818(0x177)](0x2a);}const _0x48d2be=this[_0x471818(0x178)](_0x115e98);return new MetaBlockStatement(_0x115e98,_0x5b9f0b,_0x48d2be,_0x133b54);}['stepStatement'](_0x52e86a){const _0xd03eb8={_0x1bf081:0x177,_0x1f7f96:0x1f9,_0x2a6283:0xfa,_0x4ed0a2:0x115,_0x580be9:0x1cc,_0x3b5f80:0x115,_0xdcd05a:0x115},_0x57132b=_0x15dbcc;let _0x5b9680=![];if(this[_0x57132b(_0xd03eb8._0x1bf081)](0x2d)){const _0x46d219=this['consume'](0x1);if(_0x46d219[_0x57132b(_0xd03eb8._0x1f7f96)]()!=='soft')throw ParseError['at'](_0x46d219,'Unknown\x20step\x20modifier\x20\x22'+_0x46d219[_0x57132b(0x1f9)]()+_0x57132b(_0xd03eb8._0x2a6283));_0x5b9680=!![];}this[_0x57132b(_0xd03eb8._0x4ed0a2)](0x24);const _0x932432=this[_0x57132b(_0xd03eb8._0x580be9)]();this[_0x57132b(_0xd03eb8._0x3b5f80)](0x2a);let _0x322e0e=null;this[_0x57132b(0x1d1)](0x0,0x26)&&(_0x322e0e=this[_0x57132b(0x1cc)](),this[_0x57132b(_0xd03eb8._0xdcd05a)](0x2a));this['consume'](0x24),this['consume'](0x25),this['consume'](0x2e);const _0x521811=this[_0x57132b(0x128)]();return this[_0x57132b(0x115)](0x25),new StepStatement(_0x932432,_0x521811,_0x52e86a,{'soft':_0x5b9680,'options':_0x322e0e});}[_0x15dbcc(0x128)](){const _0x97bf9d={_0x29eda3:0x177,_0x10ba9e:0x153,_0x4f8307:0xe3},_0x402c63=_0x15dbcc,_0x5c359e=this['get'](0x0),_0x410045=new BlockStatement(_0x5c359e);this['consume'](0x26);while(!this[_0x402c63(_0x97bf9d._0x29eda3)](0x27)){_0x410045[_0x402c63(_0x97bf9d._0x10ba9e)](this[_0x402c63(_0x97bf9d._0x4f8307)]()),this[_0x402c63(0x177)](0x2c);}return _0x410045;}[_0x15dbcc(0xe3)](){const _0x5b6ebc={_0x4a5962:0x177,_0x122764:0x197,_0x3870fb:0x1cc,_0x410afc:0x177,_0x5c7543:0x111,_0x3c3271:0x177,_0x128ecd:0x177,_0x29d02e:0x177,_0x4186f4:0x177,_0x2981d8:0x18f,_0x276df8:0x1d1,_0x2c11c1:0x206,_0x224bb5:0x10f,_0x493f05:0x115,_0x16e37b:0x1d1,_0x3a43ce:0x1f9},_0x1ec84=_0x15dbcc,_0x197ee3=this[_0x1ec84(0x214)](0x0);if(this[_0x1ec84(_0x5b6ebc._0x4a5962)](0x4))return this[_0x1ec84(_0x5b6ebc._0x122764)](_0x197ee3);if(this[_0x1ec84(_0x5b6ebc._0x4a5962)](0x5))return new PrintStatement(this[_0x1ec84(_0x5b6ebc._0x3870fb)](),_0x197ee3);if(this[_0x1ec84(_0x5b6ebc._0x4a5962)](0x6))return this['ifElse'](_0x197ee3);if(this[_0x1ec84(_0x5b6ebc._0x410afc)](0x8))return this[_0x1ec84(_0x5b6ebc._0x5c7543)](_0x197ee3);if(this[_0x1ec84(0x177)](0xa))return this['doWhileStatement'](_0x197ee3);if(this[_0x1ec84(_0x5b6ebc._0x3c3271)](0xb))return new BreakStatement(_0x197ee3);if(this[_0x1ec84(_0x5b6ebc._0x128ecd)](0xc))return new ContinueStatement(_0x197ee3);if(this[_0x1ec84(_0x5b6ebc._0x29d02e)](0xe))return new ReturnStatement(this[_0x1ec84(_0x5b6ebc._0x3870fb)](),_0x197ee3);if(this['match'](0x9))return this[_0x1ec84(0x103)](_0x197ee3);if(this[_0x1ec84(0x177)](0xd))return this['functionDefine'](_0x197ee3);if(this[_0x1ec84(_0x5b6ebc._0x4186f4)](0xf))return this[_0x1ec84(0xd5)](_0x197ee3);if(this['lookMatch'](0x0,0x2f))return this[_0x1ec84(_0x5b6ebc._0x2981d8)]();if(this[_0x1ec84(_0x5b6ebc._0x276df8)](0x0,0x1)&&this[_0x1ec84(0x1d1)](0x1,0x24)){const _0xa9c8c4=this[_0x1ec84(0x21b)](this[_0x1ec84(_0x5b6ebc._0x2c11c1)](_0x197ee3));return new FunctionStatement(_0xa9c8c4,_0x197ee3);}if(this[_0x1ec84(0x1d1)](0x0,0x1)&&this['lookMatch'](0x1,0x2d)){const _0x363c8d=new VariableExpression(this['consume'](0x1)['getText'](),_0x197ee3),_0x3b791a=this['callWithPostfix'](_0x363c8d);if(!(_0x3b791a instanceof MemberCallExpression))throw ParseError['at'](_0x197ee3,_0x1ec84(_0x5b6ebc._0x224bb5));return new FunctionStatement(_0x3b791a,_0x197ee3);}if(this[_0x1ec84(0x177)](0x11)){const _0x4af55f=new VariableExpression(this[_0x1ec84(_0x5b6ebc._0x493f05)](0x1)[_0x1ec84(0x1f9)](),_0x197ee3);return new IncrementStatement(new IncrementExpression(_0x4af55f,0x0,_0x197ee3),_0x197ee3);}if(this[_0x1ec84(0x177)](0x13)){const _0x4b6581=new VariableExpression(this[_0x1ec84(0x115)](0x1)['getText'](),_0x197ee3);return new IncrementStatement(new IncrementExpression(_0x4b6581,0x1,_0x197ee3),_0x197ee3);}if(this['lookMatch'](0x0,0x1)&&(this[_0x1ec84(_0x5b6ebc._0x276df8)](0x1,0x11)||this[_0x1ec84(_0x5b6ebc._0x16e37b)](0x1,0x13))){const _0x5e655a=this[_0x1ec84(_0x5b6ebc._0x493f05)](0x1),_0x5545ad=new VariableExpression(_0x5e655a[_0x1ec84(_0x5b6ebc._0x3a43ce)](),_0x5e655a);if(this[_0x1ec84(0x177)](0x11))return new IncrementStatement(new IncrementExpression(_0x5545ad,0x2,_0x5e655a),_0x5e655a);return this[_0x1ec84(0x115)](0x13),new IncrementStatement(new IncrementExpression(_0x5545ad,0x3,_0x5e655a),_0x5e655a);}return this['assignmentStatement']();}static [_0x15dbcc(0xce)]=new Set([_0x15dbcc(0x1e2),_0x15dbcc(0x1e1),'null',_0x15dbcc(0x235),_0x15dbcc(0x141),'const',_0x15dbcc(0x1b6),_0x15dbcc(0x1ea),'delete','typeof','instanceof','in','of',_0x15dbcc(0x12d),'export',_0x15dbcc(0x238),_0x15dbcc(0x1c1),_0x15dbcc(0x101),_0x15dbcc(0x225),_0x15dbcc(0x1dc),_0x15dbcc(0x11f),_0x15dbcc(0x21e),_0x15dbcc(0xe2),'finally',_0x15dbcc(0x15a),'case',_0x15dbcc(0xe1),_0x15dbcc(0xa9),_0x15dbcc(0x1e4),_0x15dbcc(0x171)]);[_0x15dbcc(0x197)](_0x34843a){const _0xbd0b4={_0x2deb3d:0x115,_0x4b6067:0x177},_0x2a9a89=_0x15dbcc,_0x4caebc=[];do{const _0x5ab3c2=this[_0x2a9a89(_0xbd0b4._0x2deb3d)](0x1),_0x3879a8=_0x5ab3c2[_0x2a9a89(0x1f9)]();if(_Parser[_0x2a9a89(0xce)]['has'](_0x3879a8))throw ParseError['at'](_0x5ab3c2,_0x2a9a89(0x167)+_0x3879a8+_0x2a9a89(0x1b0));let _0x21aba9=null;this[_0x2a9a89(_0xbd0b4._0x4b6067)](0x16)&&(_0x21aba9=this['expression']()),_0x4caebc[_0x2a9a89(0x22c)]({'name':_0x3879a8,'init':_0x21aba9});}while(this[_0x2a9a89(_0xbd0b4._0x4b6067)](0x2a));return new VarStatement(_0x4caebc,_0x34843a);}[_0x15dbcc(0x1c5)](){const _0x353403={_0xde24e4:0x214,_0x887d97:0x1d1,_0x125466:0x115,_0x4bc463:0x1f9,_0x47bdcb:0x1d1,_0x54e5c9:0x1c4,_0x14329a:0xbd,_0x199804:0x20e},_0x3e1b43=_0x15dbcc,_0x99d2cf=this[_0x3e1b43(_0x353403._0xde24e4)](0x0);if(this[_0x3e1b43(_0x353403._0x887d97)](0x0,0x1)&&this[_0x3e1b43(_0x353403._0x887d97)](0x1,0x16)){const _0x12c3f4=this[_0x3e1b43(_0x353403._0x125466)](0x1)[_0x3e1b43(_0x353403._0x4bc463)]();return this[_0x3e1b43(0x115)](0x16),new AssignmentStatement(_0x12c3f4,this['expression'](),_0x99d2cf);}if(this[_0x3e1b43(0x1d1)](0x0,0x1)&&this[_0x3e1b43(_0x353403._0x47bdcb)](0x1,0x28)){const _0x52e26d=this[_0x3e1b43(_0x353403._0x54e5c9)](_0x99d2cf);return this[_0x3e1b43(_0x353403._0x125466)](0x16),new ArrayAssignmentStatement(_0x52e26d,this['expression'](),_0x99d2cf);}throw ParseError['at'](this[_0x3e1b43(0x214)](0x0),_0x3e1b43(_0x353403._0x14329a)+TokenType[this[_0x3e1b43(0x214)](0x0)[_0x3e1b43(_0x353403._0x199804)]()]);}['ifElse'](_0x5d8655){const _0x2b283a={_0x154a2e:0x158},_0x8e2a30=_0x15dbcc,_0x1e1f0f=this[_0x8e2a30(0x1cc)](),_0x37065b=this['statementOrBlock']();let _0xbcecb2;return this['match'](0x7)?_0xbcecb2=this[_0x8e2a30(_0x2b283a._0x154a2e)]():_0xbcecb2=null,new IfStatement(_0x1e1f0f,_0x37065b,_0xbcecb2,_0x5d8655);}['doWhileStatement'](_0x457702){const _0x207ba3={_0x405098:0x158},_0x2ee6ce=_0x15dbcc,_0x3fd045=this[_0x2ee6ce(_0x207ba3._0x405098)]();this['consume'](0x8);const _0x1f22a8=this[_0x2ee6ce(0x1cc)]();return new DoWhileStatement(_0x1f22a8,_0x3fd045,_0x457702);}[_0x15dbcc(0x111)](_0x469a09){const _0x52e6ef={_0x1eba3d:0x158},_0x4dfc20=_0x15dbcc,_0x5d397c=this['expression'](),_0x3e175d=this[_0x4dfc20(_0x52e6ef._0x1eba3d)]();return new WhileStatement(_0x5d397c,_0x3e175d,_0x469a09);}[_0x15dbcc(0x103)](_0x1811b2){const _0x1aee25={_0x16f97c:0x230,_0x4049a3:0x1cc,_0x50f4b0:0x115,_0xcb7bb6:0xe3},_0xe1d14d=_0x15dbcc;this[_0xe1d14d(0x115)](0x24);let _0x120bbb;if(this['match'](0x4))throw ParseError['at'](this[_0xe1d14d(0x214)](-0x1),_0xe1d14d(_0x1aee25._0x16f97c));else _0x120bbb=this[_0xe1d14d(0x1c5)]();this['consume'](0x2c);const _0x16f123=this[_0xe1d14d(_0x1aee25._0x4049a3)]();this[_0xe1d14d(_0x1aee25._0x50f4b0)](0x2c);const _0x5215b2=this[_0xe1d14d(_0x1aee25._0xcb7bb6)]();this['consume'](0x25);const _0xa009c3=this[_0xe1d14d(0x158)]();return new ForStatement(_0x120bbb,_0x16f123,_0x5215b2,_0xa009c3,_0x1811b2);}['functionDefine'](_0x48db4d){const _0x5b6169={_0x384b29:0x115},_0x5b3179=_0x15dbcc,_0x21d328=this[_0x5b3179(0x115)](0x1)[_0x5b3179(0x1f9)]();this[_0x5b3179(_0x5b6169._0x384b29)](0x24);const _0x33338b=[];while(!this[_0x5b3179(0x177)](0x25)){_0x33338b[_0x5b3179(0x22c)](this['consume'](0x1)[_0x5b3179(0x1f9)]()),this['match'](0x2a);}const _0x4ee680=this['statementOrBlock']();return new FunctionDefineStatement(_0x21d328,_0x33338b,_0x4ee680,_0x48db4d);}['functionExpression'](_0x872097){const _0x3ccadd={_0x40dd33:0x115,_0x13330f:0xba,_0x1d402a:0x1cc},_0x4f59ef=_0x15dbcc,_0x4fcb9a=this[_0x4f59ef(0x115)](0x1)[_0x4f59ef(0x1f9)]();this[_0x4f59ef(_0x3ccadd._0x40dd33)](0x24);const _0x14683f=new FunctionalExpression(_0x4fcb9a,[],_0x872097);while(!this[_0x4f59ef(0x177)](0x25)){_0x14683f[_0x4f59ef(_0x3ccadd._0x13330f)](this[_0x4f59ef(_0x3ccadd._0x1d402a)]()),this['match'](0x2a);}return _0x14683f;}[_0x15dbcc(0x1c4)](_0x131397){const _0x49fe71={_0x55aadf:0x115,_0x1a925e:0x1d1},_0x429ae8=_0x15dbcc,_0x30de69=this[_0x429ae8(0x115)](0x1)['getText'](),_0x5d8c5a=[];do{this[_0x429ae8(_0x49fe71._0x55aadf)](0x28),_0x5d8c5a['push'](this[_0x429ae8(0x1cc)]()),this[_0x429ae8(0x115)](0x29);}while(this[_0x429ae8(_0x49fe71._0x1a925e)](0x0,0x28));return new ArrayAccessExpression(_0x30de69,_0x5d8c5a,_0x131397);}[_0x15dbcc(0x1e7)](_0x274291){const _0x1e3b03={_0x1a1417:0x115,_0x48b91f:0x22c},_0x4de675=_0x15dbcc;this[_0x4de675(_0x1e3b03._0x1a1417)](0x28);const _0xb8d876=[];while(!this['match'](0x29)){_0xb8d876[_0x4de675(_0x1e3b03._0x48b91f)](this[_0x4de675(0x1cc)]()),this[_0x4de675(0x177)](0x2a);}return new ArrayExpression(_0xb8d876,_0x274291);}[_0x15dbcc(0x245)](_0x1496b5){const _0x2e51c3={_0x3a27:0x1d1},_0x83e850=_0x15dbcc;this[_0x83e850(0x115)](0x26);const _0x2f2ff3=new Map();while(!this['match'](0x27)){let _0x9c6440;if(this[_0x83e850(0x1d1)](0x0,0x1))_0x9c6440=this[_0x83e850(0x115)](0x1)[_0x83e850(0x1f9)]();else{if(this[_0x83e850(_0x2e51c3._0x3a27)](0x0,0x2))_0x9c6440=this[_0x83e850(0x115)](0x2)[_0x83e850(0x1f9)]();else throw ParseError['at'](this[_0x83e850(0x214)](0x0),'Expected\x20property\x20key\x20(word\x20or\x20string)');}this['consume'](0x2b);const _0x3861f9=this['expression']();_0x2f2ff3[_0x83e850(0x203)](_0x9c6440,_0x3861f9),this[_0x83e850(0x177)](0x2a);}return new ObjectExpression(_0x2f2ff3,_0x1496b5);}[_0x15dbcc(0x1cc)](){const _0x461397=_0x15dbcc;return this[_0x461397(0xd1)]();}['logicalOr'](){const _0x1979d3={_0x316996:0x214,_0xea3e59:0xec},_0x1fc48b=_0x15dbcc;let _0x6a66b7=this[_0x1fc48b(0xec)]();while(this[_0x1fc48b(0x177)](0x21)){const _0x1e45bd=this[_0x1fc48b(_0x1979d3._0x316996)](0x0);_0x6a66b7=new ConditionalExpression('||',_0x6a66b7,this[_0x1fc48b(_0x1979d3._0xea3e59)](),_0x1e45bd);}return _0x6a66b7;}[_0x15dbcc(0xec)](){const _0x11c61d={_0x4656c5:0x1eb},_0x17d674=_0x15dbcc;let _0x1e1cb0=this[_0x17d674(_0x11c61d._0x4656c5)]();while(this[_0x17d674(0x177)](0x23)){const _0x381b67=this[_0x17d674(0x214)](0x0);_0x1e1cb0=new ConditionalExpression('&&',_0x1e1cb0,this['equality'](),_0x381b67);}return _0x1e1cb0;}[_0x15dbcc(0x1eb)](){const _0x4b5793={_0x47f594:0x109,_0x1f3caa:0x177},_0xf4dfce=_0x15dbcc,_0x2c52e5=this[_0xf4dfce(0x214)](0x0),_0xdeb62d=this[_0xf4dfce(0x109)]();if(this[_0xf4dfce(0x177)](0x17))return new ConditionalExpression('==',_0xdeb62d,this[_0xf4dfce(_0x4b5793._0x47f594)](),_0x2c52e5);if(this[_0xf4dfce(_0x4b5793._0x1f3caa)](0x18))return new ConditionalExpression(_0xf4dfce(0x11e),_0xdeb62d,this[_0xf4dfce(0x109)](),_0x2c52e5);if(this['match'](0x1a))return new ConditionalExpression('!=',_0xdeb62d,this['conditional'](),_0x2c52e5);if(this['match'](0x1b))return new ConditionalExpression(_0xf4dfce(0x20f),_0xdeb62d,this[_0xf4dfce(_0x4b5793._0x47f594)](),_0x2c52e5);return _0xdeb62d;}[_0x15dbcc(0x109)](){const _0xb3d451={_0x128b39:0x1d1,_0xae9977:0x173,_0x373cd6:0x177,_0x4c2111:0x173},_0x28ec6d=_0x15dbcc;let _0x16303f=this['additive']();while(this['lookMatch'](0x0,0x1c)||this['lookMatch'](0x0,0x1d)||this[_0x28ec6d(_0xb3d451._0x128b39)](0x0,0x1e)||this[_0x28ec6d(0x1d1)](0x0,0x1f)){const _0x5a1189=this['get'](0x0);if(this['match'](0x1c)){_0x16303f=new ConditionalExpression('<',_0x16303f,this['additive'](),_0x5a1189);continue;}if(this[_0x28ec6d(0x177)](0x1d)){_0x16303f=new ConditionalExpression('<=',_0x16303f,this['additive'](),_0x5a1189);continue;}if(this['match'](0x1e)){_0x16303f=new ConditionalExpression('>',_0x16303f,this[_0x28ec6d(_0xb3d451._0xae9977)](),_0x5a1189);continue;}if(this[_0x28ec6d(_0xb3d451._0x373cd6)](0x1f)){_0x16303f=new ConditionalExpression('>=',_0x16303f,this[_0x28ec6d(_0xb3d451._0x4c2111)](),_0x5a1189);continue;}}return _0x16303f;}['additive'](){const _0x16cf70={_0x5b2080:0x14f,_0x1a0b8f:0x115},_0x3728b1=_0x15dbcc;let _0x49a3a6=this[_0x3728b1(_0x16cf70._0x5b2080)]();while(this['lookMatch'](0x0,0x10)||this[_0x3728b1(0x1d1)](0x0,0x12)){if(this[_0x3728b1(0x177)](0x10)){const _0x277f67=this['get'](-0x1);_0x49a3a6=new BinaryExpression('+',_0x49a3a6,this[_0x3728b1(0x14f)](),_0x277f67);continue;}this[_0x3728b1(_0x16cf70._0x1a0b8f)](0x12);const _0x4d1bf3=this[_0x3728b1(0x214)](-0x1);_0x49a3a6=new BinaryExpression('-',_0x49a3a6,this[_0x3728b1(_0x16cf70._0x5b2080)](),_0x4d1bf3);}return _0x49a3a6;}[_0x15dbcc(0x14f)](){const _0x250c25={_0x92b5f9:0x1d1},_0x2b870e=_0x15dbcc;let _0x46c768=this['unary']();while(this[_0x2b870e(_0x250c25._0x92b5f9)](0x0,0x14)||this[_0x2b870e(0x1d1)](0x0,0x15)){if(this[_0x2b870e(0x177)](0x14)){const _0xef1aa0=this['get'](-0x1);_0x46c768=new BinaryExpression('*',_0x46c768,this['unary'](),_0xef1aa0);continue;}this[_0x2b870e(0x115)](0x15);const _0x191c23=this[_0x2b870e(0x214)](-0x1);_0x46c768=new BinaryExpression('/',_0x46c768,this[_0x2b870e(0x159)](),_0x191c23);}return _0x46c768;}[_0x15dbcc(0x159)](){const _0x51dd17={_0x310d05:0x214,_0x4f3b25:0x177,_0x23025a:0x1f9,_0x353365:0x1aa},_0x3ce6b9=_0x15dbcc,_0x4c2731=this[_0x3ce6b9(_0x51dd17._0x310d05)](0x0);if(this[_0x3ce6b9(0x177)](0x12))return new UnaryExpression('-',this[_0x3ce6b9(0x1aa)](),_0x4c2731);if(this[_0x3ce6b9(_0x51dd17._0x4f3b25)](0x11)){const _0x443aec=new VariableExpression(this[_0x3ce6b9(0x115)](0x1)[_0x3ce6b9(_0x51dd17._0x23025a)](),_0x4c2731);return new IncrementExpression(_0x443aec,0x0,_0x4c2731);}if(this[_0x3ce6b9(0x177)](0x13)){const _0x16c059=new VariableExpression(this['consume'](0x1)[_0x3ce6b9(0x1f9)](),_0x4c2731);return new IncrementExpression(_0x16c059,0x1,_0x4c2731);}return this[_0x3ce6b9(_0x51dd17._0x353365)]();}[_0x15dbcc(0x1aa)](){const _0x284193={_0xc4c0e:0x214,_0x559380:0x177,_0x70dd6b:0x177,_0x324925:0x1f9,_0x16da25:0x13b,_0x50c3fb:0x1a0,_0x6c0fb2:0x1c4,_0x6ef062:0x1d1,_0x3a2a62:0x177,_0x461821:0x20e},_0x4dd9a1=_0x15dbcc,_0x23b7f6=this[_0x4dd9a1(_0x284193._0xc4c0e)](0x0);let _0x71e7c2;if(this[_0x4dd9a1(_0x284193._0x559380)](0x0))_0x71e7c2=new ValueExpression(_0x23b7f6[_0x4dd9a1(0x1f9)](),_0x23b7f6);else{if(this[_0x4dd9a1(_0x284193._0x70dd6b)](0x3)){const _0x113b16=_0x23b7f6[_0x4dd9a1(_0x284193._0x324925)](),_0x4bc90e=_0x113b16[_0x4dd9a1(_0x284193._0x16da25)]('\x00'),_0x10f447=_0x4bc90e<0x0?_0x113b16:_0x113b16[_0x4dd9a1(_0x284193._0x50c3fb)](0x0,_0x4bc90e),_0x1d2839=_0x4bc90e<0x0?'':_0x113b16[_0x4dd9a1(0x1a0)](_0x4bc90e+0x1);_0x71e7c2=new RegExpExpression(_0x10f447,_0x1d2839,_0x23b7f6);}else{if(this[_0x4dd9a1(0x1d1)](0x0,0x1)&&this['lookMatch'](0x1,0x24))_0x71e7c2=this[_0x4dd9a1(0x206)](_0x23b7f6);else{if(this[_0x4dd9a1(0x1d1)](0x0,0x1)&&this[_0x4dd9a1(0x1d1)](0x1,0x28))_0x71e7c2=this[_0x4dd9a1(_0x284193._0x6c0fb2)](_0x23b7f6);else{if(this[_0x4dd9a1(_0x284193._0x6ef062)](0x0,0x28))_0x71e7c2=this['arrayExpression'](_0x23b7f6);else{if(this[_0x4dd9a1(0x1d1)](0x0,0x26))_0x71e7c2=this['objectExpression'](_0x23b7f6);else{if(this[_0x4dd9a1(_0x284193._0x70dd6b)](0x1)){const _0x54c9b0=new VariableExpression(_0x23b7f6['getText'](),_0x23b7f6);_0x71e7c2=_0x54c9b0;if(this[_0x4dd9a1(_0x284193._0x559380)](0x11))_0x71e7c2=new IncrementExpression(_0x54c9b0,0x2,_0x23b7f6);else this[_0x4dd9a1(0x177)](0x13)&&(_0x71e7c2=new IncrementExpression(_0x54c9b0,0x3,_0x23b7f6));}else{if(this[_0x4dd9a1(_0x284193._0x3a2a62)](0x2))_0x71e7c2=new ValueExpression(_0x23b7f6[_0x4dd9a1(0x1f9)](),_0x23b7f6);else{if(this[_0x4dd9a1(0x177)](0x24))_0x71e7c2=this[_0x4dd9a1(0x1cc)](),this[_0x4dd9a1(_0x284193._0x3a2a62)](0x25);else throw ParseError['at'](_0x23b7f6,_0x4dd9a1(0x1d3)+TokenType[_0x23b7f6[_0x4dd9a1(_0x284193._0x461821)]()]);}}}}}}}}return this['callWithPostfix'](_0x71e7c2);}['callWithPostfix'](_0x8980d7){const _0x55993e={_0x42eebb:0x20e,_0x2774a9:0x16a,_0x240d03:0x115,_0x2550d6:0x177,_0x58d98b:0x22c,_0xfcb4e1:0x1d1,_0x25b7da:0x214},_0x2ef521=_0x15dbcc;let _0x115145=_0x8980d7;while(this[_0x2ef521(0x177)](0x2d)){const _0x2e1820=this['get'](0x0);if(_0x2e1820[_0x2ef521(_0x55993e._0x42eebb)]()!==0x1)throw ParseError['at'](_0x2e1820,_0x2ef521(_0x55993e._0x2774a9));const _0x47d55c=this[_0x2ef521(_0x55993e._0x240d03)](0x1)['getText']();if(this[_0x2ef521(0x177)](0x24)){const _0x711817=[];while(!this[_0x2ef521(_0x55993e._0x2550d6)](0x25)){_0x711817[_0x2ef521(_0x55993e._0x58d98b)](this['expression']()),this['match'](0x2a);}_0x115145=new MemberCallExpression(_0x115145,_0x47d55c,_0x711817,_0x2e1820);}else _0x115145=new PropertyAccessExpression(_0x115145,_0x47d55c,_0x2e1820);}if(this[_0x2ef521(_0x55993e._0xfcb4e1)](0x0,0x28)&&!(_0x115145 instanceof VariableExpression))throw ParseError['at'](this[_0x2ef521(_0x55993e._0x25b7da)](0x0),_0x2ef521(0x16c));return _0x115145;}['consume'](_0x465ea3){const _0x59d023={_0x4c50a6:0x214,_0x297caf:0x20e},_0x37ee0e=_0x15dbcc,_0x540db8=this[_0x37ee0e(_0x59d023._0x4c50a6)](0x0);if(_0x465ea3!=_0x540db8[_0x37ee0e(_0x59d023._0x297caf)]())throw ParseError['at'](_0x540db8,_0x37ee0e(0x131)+TokenType[_0x540db8['getType']()]+',\x20expected\x20'+TokenType[_0x465ea3]);return this[_0x37ee0e(0xf4)]++,_0x540db8;}[_0x15dbcc(0x177)](_0x4d56ac){const _0x20bd0d={_0x2449ba:0x20e},_0x13fbd5=_0x15dbcc,_0x4f7158=this['get'](0x0);if(_0x4d56ac!=_0x4f7158[_0x13fbd5(_0x20bd0d._0x2449ba)]())return![];return this['pos']++,!![];}[_0x15dbcc(0x1d1)](_0x44003e,_0x117989){return this['get'](_0x44003e)['getType']()==_0x117989;}[_0x15dbcc(0x214)](_0x33b6ab){const _0x55d0b7=_0x15dbcc,_0xded664=this[_0x55d0b7(0xf4)]+_0x33b6ab;if(_0xded664>=this[_0x55d0b7(0x21d)])return this['EOF'];return this['tokens'][_0xded664];}};export{__name,buildClickDsl,buildFillDsl,buildTypeTextDsl,buildOpenDsl,buildNavigateDsl,buildAssertVisibleDsl,buildAssertUrlContainsDsl,buildAssertPageReadyDsl,buildAssertAuthenticatedDsl,buildAssertTableNotEmptyDsl,buildAssertListNotEmptyDsl,buildAssertNoVisibleErrorDsl,buildAssertSectionTitleDsl,buildAssertToastVisibleDsl,buildAssertDialogOpenDsl,buildAssertRouteIsDsl,buildSelectComboboxValueDsl,buildLoginAsDsl,buildOpenMenuItemDsl,buildOpenTabDsl,buildCloseDialogDsl,buildFillFormDsl,buildSaveFormDsl,buildWaitForDsl,buildWaitForTextDsl,buildWaitForHiddenDsl,buildWaitForURLDsl,buildWaitForNavigationDsl,buildAssertInputValueDsl,buildScrollIntoViewDsl,buildScrollToBottomDsl,buildScrollToTopDsl,buildForceClickDsl,buildDragAndDropDsl,buildClipboardPasteDsl,buildKeypressDsl,buildSwitchToFrameDsl,buildSwitchToMainFrameDsl,buildAssertNotVisibleDsl,buildAssertTextContainsDsl,buildAssertTextEqualsDsl,buildAssertUrlEqualsDsl,buildAssertCountEqualsDsl,buildFlowDsl,ArrayValue,NumberValue,Functions,ObjectValue,RegExpValue,RegExpFlagError,StringValue,UserDefineFunction,Variables,ArrayAccessExpression,ArrayAssignmentStatement,ArrayExpression,AssignmentStatement,BinaryExpression,BlockStatement,BreakStatement,Operator,getOperatorName,ConditionalExpression,ContinueStatement,DoWhileStatement,ForStatement,FunctionDefineStatement,FunctionStatement,FunctionalExpression,IfStatement,IncrementType,IncrementExpression,IncrementStatement,MemberCallExpression,MetaBlockStatement,ObjectExpression,PrintStatement,PropertyAccessExpression,RegExpExpression,ReturnStatement,TokenType,ValueExpression,StepStatement,UnaryExpression,VarStatement,VariableExpression,WhileStatement,ParseError,Token,Lexer,formatCodeFrame,formatParseError,Parser};
|
package/dist/executor/index.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ type ExecutionEvent = {
|
|
|
28
28
|
col: number;
|
|
29
29
|
callStack?: readonly string[];
|
|
30
30
|
stepLabel?: string;
|
|
31
|
+
stepTag?: string;
|
|
31
32
|
} | {
|
|
32
33
|
kind: 'step-end';
|
|
33
34
|
node: Statement;
|
|
@@ -37,6 +38,7 @@ type ExecutionEvent = {
|
|
|
37
38
|
ok: true;
|
|
38
39
|
callStack?: readonly string[];
|
|
39
40
|
stepLabel?: string;
|
|
41
|
+
stepTag?: string;
|
|
40
42
|
} | {
|
|
41
43
|
kind: 'step-end';
|
|
42
44
|
node: Statement;
|
|
@@ -49,13 +51,55 @@ type ExecutionEvent = {
|
|
|
49
51
|
/** Label of the innermost enclosing `step("…")` block, if any — the
|
|
50
52
|
* human-readable intent failure reporting prints as `in step "…"`. */
|
|
51
53
|
stepLabel?: string;
|
|
54
|
+
/** The evaluated `{tag}` of that block, if it has one — the case a
|
|
55
|
+
* data-driven step is on (`Question [q17]`). */
|
|
56
|
+
stepTag?: string;
|
|
52
57
|
} | {
|
|
53
58
|
kind: 'paused';
|
|
54
59
|
reason: 'step' | 'failure' | 'breakpoint';
|
|
55
60
|
file: string;
|
|
56
61
|
line: number;
|
|
57
62
|
col: number;
|
|
58
|
-
}
|
|
63
|
+
} | {
|
|
64
|
+
kind: 'loop-iteration';
|
|
65
|
+
node: Statement;
|
|
66
|
+
file: string;
|
|
67
|
+
line: number;
|
|
68
|
+
col: number;
|
|
69
|
+
index: number;
|
|
70
|
+
} | ({
|
|
71
|
+
kind: 'step-block-start';
|
|
72
|
+
} & StepBlockInfo) | ({
|
|
73
|
+
kind: 'step-block-end';
|
|
74
|
+
ok: true;
|
|
75
|
+
} & StepBlockInfo) | ({
|
|
76
|
+
kind: 'step-block-end';
|
|
77
|
+
ok: false;
|
|
78
|
+
error: ExecutionError;
|
|
79
|
+
} & StepBlockInfo);
|
|
80
|
+
interface StepBlockInfo {
|
|
81
|
+
node: Statement;
|
|
82
|
+
file: string;
|
|
83
|
+
line: number;
|
|
84
|
+
col: number;
|
|
85
|
+
label: string;
|
|
86
|
+
/** The evaluated `{tag}` expression, as text; absent when the block has none. */
|
|
87
|
+
tag?: string;
|
|
88
|
+
/** `step.soft(...)`: a failed envelope is recorded in `RunResult.softFailures`
|
|
89
|
+
* and the run continues after the block. */
|
|
90
|
+
soft: boolean;
|
|
91
|
+
callStack?: readonly string[];
|
|
92
|
+
}
|
|
93
|
+
/** One `step.soft(...)` block whose body failed. The run went on; the
|
|
94
|
+
* test is still failed at the end, with every soft failure listed. */
|
|
95
|
+
interface SoftFailure {
|
|
96
|
+
label: string;
|
|
97
|
+
tag?: string;
|
|
98
|
+
error: ExecutionError;
|
|
99
|
+
file: string;
|
|
100
|
+
line: number;
|
|
101
|
+
col: number;
|
|
102
|
+
}
|
|
59
103
|
interface RunOptions {
|
|
60
104
|
/** "auto" = run until completion / failure. "step" = pause after each statement. */
|
|
61
105
|
mode: 'auto' | 'step';
|
|
@@ -92,6 +136,10 @@ interface RunResult {
|
|
|
92
136
|
stepsExecuted: number;
|
|
93
137
|
durationMs: number;
|
|
94
138
|
error?: ExecutionError;
|
|
139
|
+
/** Soft-step failures the run recorded and went past. Non-empty only with
|
|
140
|
+
* `outcome: 'failed'` — `error` then carries their aggregate (or the hard
|
|
141
|
+
* failure that ended the run, when there was one after them). */
|
|
142
|
+
softFailures?: SoftFailure[];
|
|
95
143
|
}
|
|
96
144
|
|
|
97
145
|
/** Per-run variable + call-depth state. The walker calls these around
|
|
@@ -139,8 +187,23 @@ declare class ExecutionWalker<R extends IExecutionRuntime = IExecutionRuntime> {
|
|
|
139
187
|
* every frame has a `fnFile` entry; the `?? entryFile` is a defensive
|
|
140
188
|
* fallback, not a normal path. */
|
|
141
189
|
private fileForStack;
|
|
142
|
-
run(program: BlockStatement, testName: string, runtime: R, opts: RunOptions, helpers?: BlockStatement[], entryFile?: string, fnFile?: ReadonlyMap<string, string
|
|
190
|
+
run(program: BlockStatement, testName: string, runtime: R, opts: RunOptions, helpers?: BlockStatement[], entryFile?: string, fnFile?: ReadonlyMap<string, string>, entryArgs?: readonly unknown[]): AsyncGenerator<ExecutionEvent, RunResult>;
|
|
143
191
|
private runBlock;
|
|
192
|
+
/** A `step[.soft]("label", [{tag},] () => { … })` block. Each statement
|
|
193
|
+
* inside gets its own step-start/step-end; the block adds an envelope
|
|
194
|
+
* carrying the label, the evaluated tag and — for a soft step — the
|
|
195
|
+
* outcome the run went past. The label is also pushed so every inlined
|
|
196
|
+
* child's events carry their enclosing step title (failure reporting
|
|
197
|
+
* prints `in step "…"`). finally-pop: the label must not leak past a
|
|
198
|
+
* throw or the next step misattributes.
|
|
199
|
+
*
|
|
200
|
+
* Soft semantics: an error inside the body closes the envelope as
|
|
201
|
+
* `ok: false`, is recorded in `cx.softFailures`, and execution resumes
|
|
202
|
+
* with the statement after the block — the rest of the body is skipped,
|
|
203
|
+
* as after `expect.soft` inside a Playwright `test.step`. Control-flow
|
|
204
|
+
* signals (`return`, `break`, `continue`) are not failures and pass
|
|
205
|
+
* through untouched. */
|
|
206
|
+
private runStepBlock;
|
|
144
207
|
private runStatement;
|
|
145
208
|
private execStatement;
|
|
146
209
|
private evalExpression;
|
|
@@ -149,7 +212,15 @@ declare class ExecutionWalker<R extends IExecutionRuntime = IExecutionRuntime> {
|
|
|
149
212
|
/** Run one loop-body pass. Returns `true` if a `break` fired (caller stops
|
|
150
213
|
* the loop), `false` for normal completion or `continue` (both end this
|
|
151
214
|
* iteration the same way). Each pass counts as a step so an empty-bodied
|
|
152
|
-
* infinite loop still trips `maxSteps`; `checkBudgets` enforces wall-clock.
|
|
215
|
+
* infinite loop still trips `maxSteps`; `checkBudgets` enforces wall-clock.
|
|
216
|
+
*
|
|
217
|
+
* Before the body a `loop-iteration` marker is yielded: the loop
|
|
218
|
+
* statement's position plus the pass index. It is a marker, not a frame
|
|
219
|
+
* — the loop header's own step-start/step-end envelope encloses every
|
|
220
|
+
* pass, and a reader building an execution tree opens an "iteration N"
|
|
221
|
+
* group at the marker and closes it at the next one or at the loop's
|
|
222
|
+
* step-end. Without it iterations had to be guessed from a repeated
|
|
223
|
+
* first statement, which `continue` and an empty body defeat. */
|
|
153
224
|
private runLoopIteration;
|
|
154
225
|
/** Host-dispatch tail shared by bare calls and member calls. */
|
|
155
226
|
private invokeHostFunction;
|
|
@@ -190,4 +261,4 @@ declare class UserFunctionResolver {
|
|
|
190
261
|
names(): string[];
|
|
191
262
|
}
|
|
192
263
|
|
|
193
|
-
export { type AstSourceLocation, BreakSignal, ContinueSignal, type ExecutionError, type ExecutionEvent, ExecutionWalker, type HostFunction, type IExecutionRuntime, type IFunctionDispatcher, IncrementTypeError, PropertyAccessTypeError, ReturnSignal, type RunOptions, type RunResult, UnsupportedAstNodeError, UserFunctionResolver, VariableScope };
|
|
264
|
+
export { type AstSourceLocation, BreakSignal, ContinueSignal, type ExecutionError, type ExecutionEvent, ExecutionWalker, type HostFunction, type IExecutionRuntime, type IFunctionDispatcher, IncrementTypeError, PropertyAccessTypeError, ReturnSignal, type RunOptions, type RunResult, type SoftFailure, type StepBlockInfo, UnsupportedAstNodeError, UserFunctionResolver, VariableScope };
|