@unotest/web 0.26.1 → 0.28.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.
@@ -677,7 +677,7 @@ definitions.
677
677
 
678
678
  - **Production data mutation.** `apiCall` / `dbExec` against a
679
679
  production base URL is a footgun — the `sandbox.*` pin model in
680
- `unotest.config.{js,mjs,ts}` prevents it. Don't bypass.
680
+ `unotest/unotest.config.{js,mjs,ts}` prevents it. Don't bypass.
681
681
  - **Browser automation for scraping.** This is an E2E testing tool;
682
682
  scraping violates many target sites' terms of service.
683
683
  - **Calling external LLM APIs.** `agent_fix` builds prompts for the
@@ -811,7 +811,7 @@ definitions.
811
811
 
812
812
  - **Production data mutation.** `apiCall` / `dbExec` against a
813
813
  production base URL is a footgun — the `sandbox.*` pin model in
814
- `unotest.config.{js,mjs,ts}` prevents it. Don't bypass.
814
+ `unotest/unotest.config.{js,mjs,ts}` prevents it. Don't bypass.
815
815
  - **Browser automation for scraping.** This is an E2E testing tool;
816
816
  scraping violates many target sites' terms of service.
817
817
  - **Calling external LLM APIs.** `agent_fix` builds prompts for the
package/CHANGELOG.md CHANGED
@@ -1,5 +1,157 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.28.0] - 2026-09-01
4
+
5
+ ### Minor Changes
6
+
7
+ - 6f385ec: **BREAKING.** The suite is its own npm package now:
8
+ `unotest/package.json` pins `@unotest/web`, `unotest.config.*` moved
9
+ into `unotest/`, and a bundle carries that directory and nothing above
10
+ it.
11
+
12
+ A bundle used to carry the project's root `package.json` and lockfile,
13
+ and a box ran `npm ci` over the whole product tree to obtain one
14
+ dependency. On a real customer that failed outright: their own peer
15
+ conflict (`@nestjs/core@10` against `@nestjs/websockets@11`) was hidden
16
+ locally behind `legacy-peer-deps=true` in `~/.npmrc`, which does not
17
+ travel in a bundle and must not — registry tokens live there. The
18
+ bundle arrived, the install died, the environment never got it. The
19
+ same class of failure was waiting for anyone with a private registry, a
20
+ native build or a `prepare` hook. Fixing it by editing the customer's
21
+ dependency stack is not an option: a test runner has no business in the
22
+ dependency graph of the application it tests.
23
+
24
+ What follows from it: we no longer dictate your package manager (the
25
+ "your project locks with pnpm, and a box installs with `npm ci`"
26
+ refusal is gone — npm is now only about `unotest/`), a box install
27
+ shrinks from the product tree to the suite's own dependencies, and
28
+ upgrading `@unotest/web` can no longer collide with your application.
29
+
30
+ The CLI finds the project root by walking UP for `unotest/e2e`, the way
31
+ git finds a repository, so `cd unotest && npx @unotest/web e2e <name>`
32
+ works as well as running from the root. Relative path arguments resolve
33
+ against the directory you typed them in.
34
+
35
+ Migrating from 0.27:
36
+
37
+ ```
38
+ npx @unotest/web init
39
+ git mv unotest.config.mjs unotest/unotest.config.mjs
40
+ npm install --prefix unotest
41
+ ```
42
+
43
+ and drop `@unotest/web` from your application's `package.json`. The old
44
+ layout is diagnosed rather than ignored: a config left at the project
45
+ root fails the load with these instructions, because the alternative is
46
+ a suite running silently on defaults — no `baseUrl`, no `sandbox`, no
47
+ schedules.
48
+
49
+ Two traps worth knowing about, both named by that diagnostic:
50
+
51
+ - `unotest/jsconfig.json` — an `include` written for the old layout
52
+ points at `../node_modules`, where the package no longer is, and
53
+ editor autocomplete for the DSL dies silently. It is your file, so
54
+ nothing rewrites it: `../node_modules/` becomes `./node_modules/`.
55
+ - a config that derives paths from its own location
56
+ (`dirname(fileURLToPath(import.meta.url))`) now sits one level
57
+ deeper, so those paths need a `..`.
58
+
59
+ On the box side: bundles pushed before 0.28.0 are refused with an
60
+ explicit message instead of being installed — push them again from
61
+ 0.28.0 or newer. Without that, `npm ci` in a `unotest/` that has no
62
+ manifest would walk up the tree (that is how npm behaves), install the
63
+ old root manifest, and leave the box `unhealthy` for twenty minutes
64
+ without saying why.
65
+
66
+ ### Patch Changes
67
+
68
+ - @unotest/viewer@0.28.0
69
+ - @unotest/core@0.28.0
70
+ - @unotest/dsl@0.28.0
71
+ - @unotest/grounder-client@0.28.0
72
+ - @unotest/protocol@0.28.0
73
+
74
+ ## [0.27.0] - 2026-08-31
75
+
76
+ ### Minor Changes
77
+
78
+ - `viewer` starts quietly: the Nest boot log (a line per module and
79
+ route) no longer floods the terminal — you get the viewer URL and
80
+ nothing else. Errors and warnings still print; `UNOTEST_DEBUG=1`
81
+ brings the full boot map back.
82
+
83
+ - The LOCAL viewer now shows the same effective schedule set a box
84
+ would run — what you see is what a push ships, 1:1.
85
+
86
+ - Locally the schedule registry reads the merged set through
87
+ `schedules --json` (the same path a box uses): config-declared
88
+ entries are finally visible, marked read-only ("declared in
89
+ `unotest.config` — edit it there"); yaml entries stay editable as
90
+ before. A runner without a schedules command falls back to the
91
+ yaml half.
92
+ - `bundle push` records a fingerprint of the effective set in the
93
+ bundle manifest. The box re-computes the set in its own environment
94
+ and — when a config that reads `process.env` computes something
95
+ different there — warns in its log, and the deployed viewer shows a
96
+ drift line instead of letting "what I see is what I pushed" stand.
97
+ - `bundle push` now refuses to pack a project whose schedules
98
+ registry cannot be read — the same broken yaml used to upload fine
99
+ and un-schedule the suite on the box.
100
+ - `npx @unotest/web schedules` marks entries outside the previewable
101
+ cron subset (`not previewable — an executor may drop it`), and the
102
+ new `--check` flag turns that mark into a non-zero exit for a
103
+ pre-push hook or a CI gate.
104
+
105
+ - Schedules stop lying on a box, and a wrong cron is caught before the
106
+ push.
107
+
108
+ - `npx @unotest/web schedules` now previews every entry's next run —
109
+ `next tomorrow 03:00` — on this machine's clock (an executor ticks
110
+ in its own timezone, and the output says so). Expressions outside
111
+ the schedule-builder subset are shown verbatim, never guessed at.
112
+ - On a box the viewer shows the EFFECTIVE schedule set — the config's
113
+ `schedules` merged with `unotest/schedules.yaml`, read through the
114
+ project's own CLI — as read-only, with a badge: schedules are
115
+ declared in the repo, and the box runs whatever the deployed bundle
116
+ declares. Editing there used to write into a disposable bundle copy
117
+ nothing ever re-read; now the popup points at the repo and the API
118
+ refuses the write (403).
119
+
120
+ - c843d21: Schedules from the viewer — for collections and single tests.
121
+
122
+ Right-click a test or a collection in the viewer → **Schedule…**: a
123
+ human schedule builder (frequency select — every 5/15 min, hourly,
124
+ every 2/4/6/12 h, daily, weekly — plus toggle badges for minutes,
125
+ hours and weekdays; multi-select, so `04` + `16` × `00` + `30` runs
126
+ four times a day). Saved to `unotest/schedules.yaml`, versioned next
127
+ to the tests; a box applies it after commit & sync. The Home screen
128
+ gains a `last run | schedule` toggle: in schedule mode tiles are
129
+ tinted by how often a test runs (grey = not scheduled), with an
130
+ upcoming list and per-tile next-run times in your browser's clock.
131
+
132
+ Under the hood:
133
+
134
+ - `unotest/schedules.yaml` is a new schedule registry; `unotest-web
135
+ schedules [--json]` prints it merged with the config's `schedules`
136
+ (the file wins on a duplicate target), so boxes pick both up
137
+ unchanged.
138
+ - A schedule entry may now target a single test: `scenario:
139
+ <ref>` instead of `collection: <name>`.
140
+ - `unotest-web e2e <name> --scheduled[=index]` runs a test the way its
141
+ entry says (env + prepare, exit 94 when prepare fails) — the
142
+ per-test mirror of `collection --scheduled`.
143
+ - Viewer server: `GET/PUT /api/schedules` (validated by the same
144
+ parser the CLI reads the file with).
145
+
146
+ ### Patch Changes
147
+
148
+ - Updated dependencies [c843d21]
149
+ - @unotest/protocol@0.27.0
150
+ - @unotest/viewer@0.27.0
151
+ - @unotest/core@0.27.0
152
+ - @unotest/dsl@0.27.0
153
+ - @unotest/grounder-client@0.27.0
154
+
3
155
  ## [0.26.1] - 2026-08-30
4
156
 
5
157
  ### Patch Changes
package/README.md CHANGED
@@ -77,10 +77,27 @@ still run in parallel inside it.
77
77
 
78
78
  ### Running on a schedule
79
79
 
80
- Declare what should run on its own next to the tests it runs:
80
+ The easiest way: open the viewer, right-click a test or a collection
81
+ **Schedule…** and pick when it runs. That saves to
82
+ `unotest/schedules.yaml` — a plain file, versioned next to the tests it
83
+ runs, so a box picks it up with your next push:
84
+
85
+ ```yaml
86
+ # unotest/schedules.yaml
87
+ schedules:
88
+ - collection: nightly
89
+ cron: "0 3 * * *"
90
+ - scenario: checkout/happy-path
91
+ cron: "0,30 4,16 * * *"
92
+ env: staging
93
+ ```
94
+
95
+ Hand-written setups can keep declaring `schedules: [...]` in
96
+ `unotest.config` — both sources merge, the yaml wins on a duplicate
97
+ target:
81
98
 
82
99
  ```js
83
- // unotest.config.mjs
100
+ // unotest/unotest.config.mjs
84
101
  export default {
85
102
  schedules: [
86
103
  { collection: "smoke", cron: "0 * * * *" },
@@ -89,11 +106,28 @@ export default {
89
106
  };
90
107
  ```
91
108
 
92
- `npx @unotest/web schedules` prints them. Nothing in the CLI ticks: cron
93
- is executed by whatever hosts your runs your CI, or a box so a clone
94
- of your repo never starts running suites in the background. Run one now
95
- with `npx @unotest/web collection nightly --scheduled` (that also runs its
96
- `prepare` command, inside the same run slot).
109
+ `npx @unotest/web schedules` prints the merged list, with a `next …`
110
+ preview per entry (your machine's clock) so a wrong cron is visible
111
+ before you push it. A hand-written expression outside the previewable
112
+ subset is marked `not previewable an executor may drop it`;
113
+ `npx @unotest/web schedules --check` turns that mark into a non-zero
114
+ exit for a pre-push hook or a CI gate. Nothing in the CLI ticks: cron is
115
+ executed by whatever hosts your runs — your CI, or a box — so a clone of
116
+ your repo never starts running suites in the background. Run one now with
117
+ `npx @unotest/web collection nightly --scheduled`, or
118
+ `npx @unotest/web e2e checkout/happy-path --scheduled` for a per-test
119
+ entry (both also run the entry's `prepare` command, inside the same run
120
+ slot).
121
+
122
+ The viewer shows this same merged list everywhere — locally the yaml
123
+ half is editable and config entries are read-only ("declared in
124
+ `unotest.config`"); on a box the whole list is read-only: the box runs
125
+ whatever the deployed bundle declares, so the place to change a schedule
126
+ is your repo — edit, push, done. What you see locally is what a push
127
+ ships, 1:1. `bundle push` also records a fingerprint of this set in the
128
+ bundle, so if your config computes `schedules` from its environment, the
129
+ box notices the difference and says so instead of silently arming
130
+ another set.
97
131
 
98
132
  ### Sending the suite to a box
99
133
 
@@ -104,23 +138,26 @@ schedules and the history in one place), tests get there by being pushed:
104
138
  npx @unotest/web bundle push --box https://tests.example.com
105
139
  ```
106
140
 
107
- It packs `unotest/`, your `unotest.config`, `package.json` and its
108
- lockfile nothing else — and uploads that. **The box never reads your
109
- repository**: it holds no key to it, so nothing is there that you did not
110
- send. Uncommitted work is included and marked *wip*, which is what makes
111
- this a fast loop rather than a release step. Secrets stay behind:
112
- `unotest/.env*` and `.secrets*` never travel, because environment values
113
- belong to the environment and are injected over the bundle when it runs.
114
- Your project's install hooks (`postinstall`, `prepare`, ...) are removed
115
- from the packed `package.json`: a box installs the suite's dependencies,
116
- it does not run project hooks they reference files that do not travel,
117
- and env setup they usually do is the box's job anyway. Dependency install
118
- scripts (native modules) run as normal.
141
+ It packs `unotest/` the suite package, with its config, its
142
+ `package.json` and its lockfile — and nothing else. Your application's
143
+ manifest and dependencies do not travel and are never installed on the
144
+ box, which is why a box can run a suite for a project whose own
145
+ dependency graph it could not resolve in the first place.
146
+
147
+ **The box never reads your repository**: it holds no key to it, so
148
+ nothing is there that you did not send. Uncommitted work is included and
149
+ marked *wip*, which is what makes this a fast loop rather than a release
150
+ step. Secrets stay behind: `unotest/.env*` and `.secrets*` never travel,
151
+ because environment values belong to the environment and are injected
152
+ over the bundle when it runs. Install hooks (`postinstall`, `prepare`,
153
+ ...) are removed from the packed `unotest/package.json`: a box installs
154
+ the suite's dependencies, it does not run a checkout's hooks. Dependency
155
+ install scripts (native modules) run as normal.
119
156
 
120
157
  What would break on the box is refused here instead — a scenario that
121
- reads a file outside `unotest/`, a missing lockfile, no `@unotest/web`
122
- pin. The bundle's id is a hash of its content, so pushing an unchanged
123
- suite is a no-op.
158
+ reads a file outside `unotest/`, a missing `unotest/package-lock.json`,
159
+ no `@unotest/web` pin. The bundle's id is a hash of its content, so
160
+ pushing an unchanged suite is a no-op.
124
161
 
125
162
  From a CI job, push and run in one command:
126
163
 
@@ -215,15 +215,15 @@ declare const WebServerConfigSchema: z.ZodObject<{
215
215
  /** How long to wait for the URL to come up after spawning. */
216
216
  timeoutMs: z.ZodDefault<z.ZodNumber>;
217
217
  }, "strip", z.ZodTypeAny, {
218
- url: string;
219
- timeoutMs: number;
220
218
  command: string;
219
+ url: string;
221
220
  reuseExistingServer: boolean;
221
+ timeoutMs: number;
222
222
  }, {
223
- url: string;
224
223
  command: string;
225
- timeoutMs?: number | undefined;
224
+ url: string;
226
225
  reuseExistingServer?: boolean | undefined;
226
+ timeoutMs?: number | undefined;
227
227
  }>;
228
228
  type WebServerConfig = z.infer<typeof WebServerConfigSchema>;
229
229
  declare const UnotestConfigSchema: z.ZodObject<{
@@ -249,15 +249,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
249
249
  /** How long to wait for the URL to come up after spawning. */
250
250
  timeoutMs: z.ZodDefault<z.ZodNumber>;
251
251
  }, "strip", z.ZodTypeAny, {
252
- url: string;
253
- timeoutMs: number;
254
252
  command: string;
253
+ url: string;
255
254
  reuseExistingServer: boolean;
255
+ timeoutMs: number;
256
256
  }, {
257
- url: string;
258
257
  command: string;
259
- timeoutMs?: number | undefined;
258
+ url: string;
260
259
  reuseExistingServer?: boolean | undefined;
260
+ timeoutMs?: number | undefined;
261
261
  }>>;
262
262
  browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
263
263
  channel: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodNull]>>;
@@ -508,10 +508,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
508
508
  };
509
509
  baseUrl?: string | undefined;
510
510
  webServer?: {
511
- url: string;
512
- timeoutMs: number;
513
511
  command: string;
512
+ url: string;
514
513
  reuseExistingServer: boolean;
514
+ timeoutMs: number;
515
515
  } | undefined;
516
516
  channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
517
517
  storageState?: string | undefined;
@@ -564,10 +564,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
564
564
  };
565
565
  baseUrl?: string | undefined;
566
566
  webServer?: {
567
- url: string;
568
567
  command: string;
569
- timeoutMs?: number | undefined;
568
+ url: string;
570
569
  reuseExistingServer?: boolean | undefined;
570
+ timeoutMs?: number | undefined;
571
571
  } | undefined;
572
572
  channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
573
573
  storageState?: string | undefined;
@@ -1 +1 @@
1
- function _0x20b0(){var _0x5a1d62=['DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','BMv0D29YAW','DMfSAwrHDg9YoNvUA25VD24TzNvUy3rPB24','B3b0Aw9UywW','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','BgLUDdPZy2vUyxjPBY1PBI1YB290','nZiZntG4AgjwuNbA','Dw5PB24','ntCXmZe4nvL6BuvAra','BgLUDdPLy2HVlwfZC2vYDa','BgL0zxjHBa','DhjHBNnPzw50','C3rYAw5N','y2HYB21PDw0','C3rKAw8','DMfSAwrHDg9YoMfYAxr5','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','BxnLzgDL','yM9VBgvHBG','DMfSAwrHDg9YoNn0zxaTC2HHCgu','DMfSAwrHDg9YoMfYzY1RAw5K','BgLUDdPNB3rVlwnVBMnHDa','B2zM','mtqYmZGYoeHkz0zHva','Cg9ZAxrPDMu','BgLUDdPMBg93lxjLDhvYBNmTDMfSDwu','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','B2jQzwn0','mtm5mdKYmhvjz2PTEq','zMLYzwzVEa','mte3mZe5owPHA3PutG','lNvUB3rLC3qVzMfPBhvYzxm','DMfSAwrHDg9YoMzVCI1ZAgfWzq','ntK4mdKZofDnzLH1Ba','zgLZBwLZCW','DMfSAwrHDg9YoM1LDgeTC2HHCgu','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','Aw50','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','BwLU','DxjS','DMfSAwrHDg9YoMXPC3qTyxjN','BNvSBa','ywnJzxb0','Bwf4','zgvMyxvSDa','yxjYyxK','zxjYB3i','Dw5VDgvZDc9LmMu','ndy1otuYqwzWrfvZ','DMfSAwrHDg9YoNzHCI1ZAgfWzq','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','BgLUDdPWyxvZzs1LEhbSAwnPDa','DMfSAwrHDg9YoMLMlxnOyxbL','zw51Bq','D2fYBG','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','BNvTyMvY'];_0x20b0=function(){return _0x5a1d62;};return _0x20b0();}var _0x18d8c4=_0x1b61;(function(_0x483e52,_0x421b37){var _0x55fb8a={_0x4e1e74:0x1d9,_0xf371bf:0x1c3},_0x16126e=_0x1b61,_0x49abc8=_0x483e52();while(!![]){try{var _0x29b3c1=parseInt(_0x16126e(_0x55fb8a._0x4e1e74))/0x1+parseInt(_0x16126e(0x1c1))/0x2+-parseInt(_0x16126e(0x1d7))/0x3+-parseInt(_0x16126e(0x1ec))/0x4+-parseInt(_0x16126e(_0x55fb8a._0xf371bf))/0x5+parseInt(_0x16126e(0x1dc))/0x6+-parseInt(_0x16126e(0x1d2))/0x7;if(_0x29b3c1===_0x421b37)break;else _0x49abc8['push'](_0x49abc8['shift']());}catch(_0x479238){_0x49abc8['push'](_0x49abc8['shift']());}}}(_0x20b0,0x93dcf));function _0x1b61(_0xf86022,_0x44c7f0){_0xf86022=_0xf86022-0x1bd;var _0x20b003=_0x20b0();var _0x1b6183=_0x20b003[_0xf86022];if(_0x1b61['HlmCyi']===undefined){var _0x33860d=function(_0xb3b745){var _0x57e223='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3595a1='',_0x5dde2f='';for(var _0x3deded=0x0,_0x1d704f,_0x2b1a71,_0x2b6476=0x0;_0x2b1a71=_0xb3b745['charAt'](_0x2b6476++);~_0x2b1a71&&(_0x1d704f=_0x3deded%0x4?_0x1d704f*0x40+_0x2b1a71:_0x2b1a71,_0x3deded++%0x4)?_0x3595a1+=String['fromCharCode'](0xff&_0x1d704f>>(-0x2*_0x3deded&0x6)):0x0){_0x2b1a71=_0x57e223['indexOf'](_0x2b1a71);}for(var _0x56ece8=0x0,_0x14ee7c=_0x3595a1['length'];_0x56ece8<_0x14ee7c;_0x56ece8++){_0x5dde2f+='%'+('00'+_0x3595a1['charCodeAt'](_0x56ece8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5dde2f);};_0x1b61['OHdqFs']=_0x33860d,_0x1b61['fPmlGC']={},_0x1b61['HlmCyi']=!![];}var _0x6d98ec=_0x20b003[0x0],_0x57b7ad=_0xf86022+_0x6d98ec,_0x5c5be6=_0x1b61['fPmlGC'][_0x57b7ad];return!_0x5c5be6?(_0x1b6183=_0x1b61['OHdqFs'](_0x1b6183),_0x1b61['fPmlGC'][_0x57b7ad]=_0x1b6183):_0x1b6183=_0x5c5be6,_0x1b6183;}import{z}from'zod';var BrowserSchema=z[_0x18d8c4(0x1f1)]([_0x18d8c4(0x1c8),_0x18d8c4(0x1d8),'webkit']),BrowserChannelSchema=z[_0x18d8c4(0x1c2)]([z[_0x18d8c4(0x1c5)]('chrome'),z['literal'](_0x18d8c4(0x1cc)),z[_0x18d8c4(0x1c5)]('chrome-beta'),z[_0x18d8c4(0x1e5)]()])['optional'](),ViewportSchema=z[_0x18d8c4(0x1d6)]({'width':z['number']()[_0x18d8c4(0x1e0)]()[_0x18d8c4(0x1d3)](),'height':z[_0x18d8c4(0x1f4)]()[_0x18d8c4(0x1e0)]()[_0x18d8c4(0x1d3)]()}),RetryReasonSchema=z[_0x18d8c4(0x1f1)](['transient',_0x18d8c4(0x1f6),'crash']),RetryConfigSchema=z[_0x18d8c4(0x1d6)]({'count':z[_0x18d8c4(0x1f4)]()[_0x18d8c4(0x1e0)]()[_0x18d8c4(0x1e2)](0x0)[_0x18d8c4(0x1e7)](0xa),'on':z[_0x18d8c4(0x1e9)](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x18d8c4(0x1d6)]({'tier1':z[_0x18d8c4(0x1c5)](!![])[_0x18d8c4(0x1e8)](!![]),'tier2':z[_0x18d8c4(0x1cd)](),'tier3':z['object']({'network':z[_0x18d8c4(0x1cd)](),'video':z[_0x18d8c4(0x1cd)]()}),'retention':z[_0x18d8c4(0x1d6)]({'runs':z[_0x18d8c4(0x1f4)]()['int']()[_0x18d8c4(0x1d3)](),'days':z['number']()[_0x18d8c4(0x1e0)]()[_0x18d8c4(0x1d3)]()}),'storageDir':z['string']()[_0x18d8c4(0x1e2)](0x1)}),DialogPolicySchema=z[_0x18d8c4(0x1f1)]([_0x18d8c4(0x1e6),_0x18d8c4(0x1dd),'manual']),LinterRuleIdSchema=z['enum'](['lint:deep-css','lint:xpath','lint:obfuscated-class',_0x18d8c4(0x1ef),_0x18d8c4(0x1f3),'lint:evaluate-discouraged',_0x18d8c4(0x1c0),'lint:mustache-in-dsl',_0x18d8c4(0x1d0),'lint:regex-invalid',_0x18d8c4(0x1c4),'lint:api-call-file-body',_0x18d8c4(0x1bf),_0x18d8c4(0x1d4),_0x18d8c4(0x1bd),_0x18d8c4(0x1ca),_0x18d8c4(0x1cf),_0x18d8c4(0x1cb),_0x18d8c4(0x1ce),_0x18d8c4(0x1de),'validator:function-shape',_0x18d8c4(0x1db),_0x18d8c4(0x1f0),_0x18d8c4(0x1ed),_0x18d8c4(0x1e1),'validator:unsupported-expression',_0x18d8c4(0x1df),_0x18d8c4(0x1f5),_0x18d8c4(0x1e4),_0x18d8c4(0x1d5)]),LinterSeveritySchema=z[_0x18d8c4(0x1f1)]([_0x18d8c4(0x1d1),'warn',_0x18d8c4(0x1ea)]),LinterConfigSchema=z[_0x18d8c4(0x1d6)]({'enabled':z[_0x18d8c4(0x1cd)](),'rules':z['record'](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=z[_0x18d8c4(0x1d6)]({'enabled':z['boolean']()['default'](!![]),'concurrency':z[_0x18d8c4(0x1f4)]()[_0x18d8c4(0x1e0)]()[_0x18d8c4(0x1d3)]()['default'](0x1)}),ScheduleSchema=z[_0x18d8c4(0x1d6)]({'collection':z[_0x18d8c4(0x1c7)]()[_0x18d8c4(0x1e2)](0x1),'cron':z[_0x18d8c4(0x1c7)]()[_0x18d8c4(0x1e2)](0x1),'env':z[_0x18d8c4(0x1c7)]()[_0x18d8c4(0x1e2)](0x1)[_0x18d8c4(0x1be)](),'prepare':z[_0x18d8c4(0x1c7)]()[_0x18d8c4(0x1e2)](0x1)[_0x18d8c4(0x1be)]()}),McpConfigSchema=z[_0x18d8c4(0x1d6)]({'transport':z[_0x18d8c4(0x1c5)](_0x18d8c4(0x1c9))}),SandboxConfigSchema=z[_0x18d8c4(0x1d6)]({'shellCwd':z['string']()[_0x18d8c4(0x1be)](),'shellTimeoutMs':z[_0x18d8c4(0x1f4)]()[_0x18d8c4(0x1e0)]()['positive']()[_0x18d8c4(0x1be)](),'exportSecrets':z[_0x18d8c4(0x1e9)](z['string']())[_0x18d8c4(0x1be)](),'database':z['string']()['optional'](),'apiBaseUrl':z[_0x18d8c4(0x1c7)]()['url']()['optional'](),'uploadDir':z[_0x18d8c4(0x1c7)]()['optional']()}),WebServerConfigSchema=z['object']({'command':z[_0x18d8c4(0x1c7)]()[_0x18d8c4(0x1e2)](0x1),'url':z['string']()[_0x18d8c4(0x1e3)](),'reuseExistingServer':z['boolean']()[_0x18d8c4(0x1e8)](!![]),'timeoutMs':z['number']()[_0x18d8c4(0x1e0)]()['positive']()['default'](0xea60)}),UnotestConfigSchema=z['object']({'baseUrl':z[_0x18d8c4(0x1c7)]()[_0x18d8c4(0x1e3)]()[_0x18d8c4(0x1be)](),'webServer':WebServerConfigSchema[_0x18d8c4(0x1be)](),'browsers':z[_0x18d8c4(0x1e9)](BrowserSchema)[_0x18d8c4(0x1e2)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z['string']()[_0x18d8c4(0x1be)](),'testDir':z['string']()[_0x18d8c4(0x1e2)](0x1),'helpersDir':z[_0x18d8c4(0x1c7)]()[_0x18d8c4(0x1e2)](0x1),'defaultTimeoutMs':z['number']()['int']()[_0x18d8c4(0x1d3)](),'defaultNavigationTimeoutMs':z[_0x18d8c4(0x1f4)]()[_0x18d8c4(0x1e0)]()[_0x18d8c4(0x1d3)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':z[_0x18d8c4(0x1e9)](ScheduleSchema)[_0x18d8c4(0x1e8)]([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x18d8c4(0x1c8)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x18d8c4(0x1c6)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x18d8c4(0x1da)},'dialogPolicy':_0x18d8c4(0x1e6),'testDir':_0x18d8c4(0x1eb),'helpersDir':_0x18d8c4(0x1ee),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x18d8c4(0x1f2),'lint:xpath':_0x18d8c4(0x1f2),'lint:obfuscated-class':_0x18d8c4(0x1f2),'lint:pause-explicit':_0x18d8c4(0x1f2),'lint:disambig-by-index':_0x18d8c4(0x1d1),'lint:evaluate-discouraged':_0x18d8c4(0x1f2),'lint:scenario-in-root':_0x18d8c4(0x1ea),'lint:mustache-in-dsl':_0x18d8c4(0x1ea),'lint:goto-concat':_0x18d8c4(0x1f2),'lint:regex-invalid':'error','lint:echo-assert':_0x18d8c4(0x1f2),'lint:lint-ok-missing-reason':_0x18d8c4(0x1f2),'lint:flow-returns-value':_0x18d8c4(0x1f2),'validator:unknown-function':_0x18d8c4(0x1ea)}},'mcp':{'transport':_0x18d8c4(0x1c9)},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
1
+ var _0x24fdd6=_0x42f7;function _0x42f7(_0x477848,_0x5a99c7){_0x477848=_0x477848-0x148;var _0x54289c=_0x5428();var _0x42f77b=_0x54289c[_0x477848];if(_0x42f7['uwlKOX']===undefined){var _0x119bb0=function(_0x210b08){var _0x276a92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xf3b8ce='',_0xe22a10='';for(var _0x5832ef=0x0,_0xf59077,_0x42c7e3,_0x341a32=0x0;_0x42c7e3=_0x210b08['charAt'](_0x341a32++);~_0x42c7e3&&(_0xf59077=_0x5832ef%0x4?_0xf59077*0x40+_0x42c7e3:_0x42c7e3,_0x5832ef++%0x4)?_0xf3b8ce+=String['fromCharCode'](0xff&_0xf59077>>(-0x2*_0x5832ef&0x6)):0x0){_0x42c7e3=_0x276a92['indexOf'](_0x42c7e3);}for(var _0x4c2d81=0x0,_0x1efeb8=_0xf3b8ce['length'];_0x4c2d81<_0x1efeb8;_0x4c2d81++){_0xe22a10+='%'+('00'+_0xf3b8ce['charCodeAt'](_0x4c2d81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe22a10);};_0x42f7['WBWYIK']=_0x119bb0,_0x42f7['udoSja']={},_0x42f7['uwlKOX']=!![];}var _0x2b0708=_0x54289c[0x0],_0x56a4ba=_0x477848+_0x2b0708,_0x5df688=_0x42f7['udoSja'][_0x56a4ba];return!_0x5df688?(_0x42f77b=_0x42f7['WBWYIK'](_0x42f77b),_0x42f7['udoSja'][_0x56a4ba]=_0x42f77b):_0x42f77b=_0x5df688,_0x42f77b;}(function(_0x545305,_0x276715){var _0xfbc0a2={_0x2da65c:0x17e,_0x461a27:0x173,_0x4997cc:0x165,_0x1dbfec:0x168,_0x19d4a8:0x161,_0x2e0bd1:0x16d},_0x3c11fb=_0x42f7,_0xb03dbf=_0x545305();while(!![]){try{var _0x57eaa8=-parseInt(_0x3c11fb(_0xfbc0a2._0x2da65c))/0x1+parseInt(_0x3c11fb(0x176))/0x2*(parseInt(_0x3c11fb(_0xfbc0a2._0x461a27))/0x3)+-parseInt(_0x3c11fb(0x180))/0x4+parseInt(_0x3c11fb(0x149))/0x5+parseInt(_0x3c11fb(_0xfbc0a2._0x4997cc))/0x6+-parseInt(_0x3c11fb(_0xfbc0a2._0x1dbfec))/0x7*(parseInt(_0x3c11fb(_0xfbc0a2._0x19d4a8))/0x8)+parseInt(_0x3c11fb(_0xfbc0a2._0x2e0bd1))/0x9;if(_0x57eaa8===_0x276715)break;else _0xb03dbf['push'](_0xb03dbf['shift']());}catch(_0x13dda3){_0xb03dbf['push'](_0xb03dbf['shift']());}}}(_0x5428,0x3b7dd));import{z}from'zod';var BrowserSchema=z[_0x24fdd6(0x158)]([_0x24fdd6(0x16a),_0x24fdd6(0x164),_0x24fdd6(0x16b)]),BrowserChannelSchema=z[_0x24fdd6(0x160)]([z[_0x24fdd6(0x157)](_0x24fdd6(0x15c)),z[_0x24fdd6(0x157)](_0x24fdd6(0x152)),z['literal'](_0x24fdd6(0x14c)),z[_0x24fdd6(0x14b)]()])[_0x24fdd6(0x169)](),ViewportSchema=z[_0x24fdd6(0x177)]({'width':z[_0x24fdd6(0x162)]()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)](),'height':z[_0x24fdd6(0x162)]()[_0x24fdd6(0x17d)]()['positive']()}),RetryReasonSchema=z['enum']([_0x24fdd6(0x15a),_0x24fdd6(0x174),'crash']),RetryConfigSchema=z[_0x24fdd6(0x177)]({'count':z[_0x24fdd6(0x162)]()['int']()[_0x24fdd6(0x167)](0x0)[_0x24fdd6(0x172)](0xa),'on':z[_0x24fdd6(0x179)](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x24fdd6(0x177)]({'tier1':z[_0x24fdd6(0x157)](!![])[_0x24fdd6(0x155)](!![]),'tier2':z[_0x24fdd6(0x187)](),'tier3':z[_0x24fdd6(0x177)]({'network':z[_0x24fdd6(0x187)](),'video':z[_0x24fdd6(0x187)]()}),'retention':z[_0x24fdd6(0x177)]({'runs':z['number']()['int']()[_0x24fdd6(0x185)](),'days':z['number']()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)]()}),'storageDir':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1)}),DialogPolicySchema=z[_0x24fdd6(0x158)](['accept',_0x24fdd6(0x156),_0x24fdd6(0x16e)]),LinterRuleIdSchema=z['enum']([_0x24fdd6(0x171),_0x24fdd6(0x15f),_0x24fdd6(0x182),'lint:pause-explicit','lint:disambig-by-index','lint:evaluate-discouraged',_0x24fdd6(0x163),'lint:mustache-in-dsl',_0x24fdd6(0x178),_0x24fdd6(0x14f),_0x24fdd6(0x186),_0x24fdd6(0x17f),_0x24fdd6(0x14e),'lint:flow-returns-value','validator:unknown-function','validator:arity',_0x24fdd6(0x151),_0x24fdd6(0x154),'validator:step-shape',_0x24fdd6(0x15e),_0x24fdd6(0x150),_0x24fdd6(0x181),'validator:if-shape',_0x24fdd6(0x16c),_0x24fdd6(0x184),_0x24fdd6(0x15d),_0x24fdd6(0x17b),_0x24fdd6(0x17c),_0x24fdd6(0x159),_0x24fdd6(0x148)]),LinterSeveritySchema=z[_0x24fdd6(0x158)]([_0x24fdd6(0x166),'warn',_0x24fdd6(0x183)]),LinterConfigSchema=z[_0x24fdd6(0x177)]({'enabled':z[_0x24fdd6(0x187)](),'rules':z[_0x24fdd6(0x15b)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=z[_0x24fdd6(0x177)]({'enabled':z['boolean']()[_0x24fdd6(0x155)](!![]),'concurrency':z['number']()[_0x24fdd6(0x17d)]()['positive']()[_0x24fdd6(0x155)](0x1)}),ScheduleSchema=z['object']({'collection':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1),'cron':z[_0x24fdd6(0x14a)]()['min'](0x1),'env':z['string']()['min'](0x1)[_0x24fdd6(0x169)](),'prepare':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1)[_0x24fdd6(0x169)]()}),McpConfigSchema=z[_0x24fdd6(0x177)]({'transport':z[_0x24fdd6(0x157)](_0x24fdd6(0x153))}),SandboxConfigSchema=z['object']({'shellCwd':z['string']()['optional'](),'shellTimeoutMs':z['number']()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)]()[_0x24fdd6(0x169)](),'exportSecrets':z[_0x24fdd6(0x179)](z['string']())[_0x24fdd6(0x169)](),'database':z[_0x24fdd6(0x14a)]()['optional'](),'apiBaseUrl':z['string']()['url']()['optional'](),'uploadDir':z[_0x24fdd6(0x14a)]()['optional']()}),WebServerConfigSchema=z[_0x24fdd6(0x177)]({'command':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1),'url':z['string']()['url'](),'reuseExistingServer':z['boolean']()[_0x24fdd6(0x155)](!![]),'timeoutMs':z['number']()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)]()[_0x24fdd6(0x155)](0xea60)}),UnotestConfigSchema=z[_0x24fdd6(0x177)]({'baseUrl':z[_0x24fdd6(0x14a)]()['url']()[_0x24fdd6(0x169)](),'webServer':WebServerConfigSchema[_0x24fdd6(0x169)](),'browsers':z[_0x24fdd6(0x179)](BrowserSchema)[_0x24fdd6(0x167)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x169)](),'testDir':z[_0x24fdd6(0x14a)]()['min'](0x1),'helpersDir':z[_0x24fdd6(0x14a)]()[_0x24fdd6(0x167)](0x1),'defaultTimeoutMs':z[_0x24fdd6(0x162)]()[_0x24fdd6(0x17d)]()[_0x24fdd6(0x185)](),'defaultNavigationTimeoutMs':z['number']()[_0x24fdd6(0x17d)]()['positive'](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':z[_0x24fdd6(0x179)](ScheduleSchema)['default']([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x24fdd6(0x16a)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x24fdd6(0x15a)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x24fdd6(0x16f)},'dialogPolicy':_0x24fdd6(0x14d),'testDir':_0x24fdd6(0x17a),'helpersDir':_0x24fdd6(0x170),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x24fdd6(0x175),'lint:xpath':_0x24fdd6(0x175),'lint:obfuscated-class':_0x24fdd6(0x175),'lint:pause-explicit':_0x24fdd6(0x175),'lint:disambig-by-index':'off','lint:evaluate-discouraged':_0x24fdd6(0x175),'lint:scenario-in-root':_0x24fdd6(0x183),'lint:mustache-in-dsl':'error','lint:goto-concat':_0x24fdd6(0x175),'lint:regex-invalid':'error','lint:echo-assert':_0x24fdd6(0x175),'lint:lint-ok-missing-reason':_0x24fdd6(0x175),'lint:flow-returns-value':_0x24fdd6(0x175),'validator:unknown-function':_0x24fdd6(0x183)}},'mcp':{'transport':'stdio'},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};function _0x5428(){var _0x535b92=['DhjHBNnPzw50','CMvJB3jK','y2HYB21L','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','DMfSAwrHDg9YoM1LDgeTC2HHCgu','BgLUDdP4Cgf0Aa','Dw5PB24','mtq0yKvmwejr','BNvTyMvY','BgLUDdPZy2vUyxjPBY1PBI1YB290','zMLYzwzVEa','mJCWnZaYDxDzAfHz','B2zM','BwLU','mtCWnJm5AxvevxbS','B3b0Aw9UywW','y2HYB21PDw0','D2vIA2L0','DMfSAwrHDg9YoNzHCI1ZAgfWzq','nJmXndG1owHwBe5eCW','BwfUDwfS','lNvUB3rLC3qVzMfPBhvYzxm','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','BgLUDdPKzwvWlwnZCW','Bwf4','odKZn1jVBuXuyW','BMv0D29YAW','D2fYBG','mJC4thLUBe1q','B2jQzwn0','BgLUDdPNB3rVlwnVBMnHDa','yxjYyxK','Dw5VDgvZDc9LmMu','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','Aw50','mZqYoty3DwzYrwPz','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','mtmYmJi5mNfdr2zWsG','DMfSAwrHDg9YoMzVCI1ZAgfWzq','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','zxjYB3i','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','Cg9ZAxrPDMu','BgLUDdPLy2HVlwfZC2vYDa','yM9VBgvHBG','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','otC1nZCWuw1buhnW','C3rYAw5N','BNvSBa','y2HYB21LlwjLDge','ywnJzxb0','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','BgLUDdPYzwDLEc1PBNzHBgLK','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','DMfSAwrHDg9YoMfYzY1RAw5K','BxnLzgDL','C3rKAw8','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','zgvMyxvSDa','zgLZBwLZCW','BgL0zxjHBa','zw51Bq','DMfSAwrHDg9YoMXPC3qTyxjN'];_0x5428=function(){return _0x535b92;};return _0x5428();}
@@ -1 +1 @@
1
- const _0x16c074=_0x7c15;function _0x7c15(_0xa87c37,_0x2a39b7){_0xa87c37=_0xa87c37-0x12d;const _0x24f9c6=_0x24f9();let _0x7c154a=_0x24f9c6[_0xa87c37];if(_0x7c15['ehINWC']===undefined){var _0x1cb1cd=function(_0x1c09a2){const _0x2a68c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x235a7c='',_0x4266a8='';for(let _0x42cfb7=0x0,_0x372379,_0x4b9172,_0x5e7eec=0x0;_0x4b9172=_0x1c09a2['charAt'](_0x5e7eec++);~_0x4b9172&&(_0x372379=_0x42cfb7%0x4?_0x372379*0x40+_0x4b9172:_0x4b9172,_0x42cfb7++%0x4)?_0x235a7c+=String['fromCharCode'](0xff&_0x372379>>(-0x2*_0x42cfb7&0x6)):0x0){_0x4b9172=_0x2a68c9['indexOf'](_0x4b9172);}for(let _0x1244de=0x0,_0x204f7e=_0x235a7c['length'];_0x1244de<_0x204f7e;_0x1244de++){_0x4266a8+='%'+('00'+_0x235a7c['charCodeAt'](_0x1244de)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4266a8);};_0x7c15['rHayec']=_0x1cb1cd,_0x7c15['xhMZdR']={},_0x7c15['ehINWC']=!![];}const _0x2d97b8=_0x24f9c6[0x0],_0x4b0cb8=_0xa87c37+_0x2d97b8,_0x4891a7=_0x7c15['xhMZdR'][_0x4b0cb8];return!_0x4891a7?(_0x7c154a=_0x7c15['rHayec'](_0x7c154a),_0x7c15['xhMZdR'][_0x4b0cb8]=_0x7c154a):_0x7c154a=_0x4891a7,_0x7c154a;}(function(_0x130b96,_0x50de3c){const _0x1e4ee8={_0xec422b:0x199,_0x1085bd:0x15c,_0x176409:0x179,_0x16d61f:0x194,_0x4fc65a:0x155},_0x2b971e=_0x7c15,_0x5aa858=_0x130b96();while(!![]){try{const _0x252741=-parseInt(_0x2b971e(_0x1e4ee8._0xec422b))/0x1*(parseInt(_0x2b971e(_0x1e4ee8._0x1085bd))/0x2)+parseInt(_0x2b971e(0x144))/0x3+-parseInt(_0x2b971e(0x14d))/0x4*(-parseInt(_0x2b971e(0x12f))/0x5)+-parseInt(_0x2b971e(_0x1e4ee8._0x176409))/0x6*(parseInt(_0x2b971e(0x150))/0x7)+-parseInt(_0x2b971e(_0x1e4ee8._0x16d61f))/0x8+parseInt(_0x2b971e(0x14e))/0x9+parseInt(_0x2b971e(_0x1e4ee8._0x4fc65a))/0xa*(parseInt(_0x2b971e(0x19b))/0xb);if(_0x252741===_0x50de3c)break;else _0x5aa858['push'](_0x5aa858['shift']());}catch(_0x171db9){_0x5aa858['push'](_0x5aa858['shift']());}}}(_0x24f9,0xd9df4));var __defProp=Object[_0x16c074(0x15f)],__name=(_0x235a7c,_0x4266a8)=>__defProp(_0x235a7c,_0x16c074(0x1a2),{'value':_0x4266a8,'configurable':!![]});function subscribe(_0x42cfb7,_0x372379){const _0x5315b2=_0x16c074;return _0x42cfb7[_0x5315b2(0x137)](_0x372379),()=>{const _0x18b797=_0x5315b2;_0x42cfb7[_0x18b797(0x167)](_0x372379);};}__name(subscribe,_0x16c074(0x197));import{UnotestError}from'@unotest/core';function _0x24f9(){const _0x3600d1=['ywrK','z29gB3j3yxjK','Bwv0Ag9K','ywn0AxzLswr4','z2v0q29VA2LL','rMfRzunVBNrLEhq','Ag92zxi','D2fPDezVCLvYBa','CMvM','iJ48l2rPDJ4','zxzHBhvHDgvpBKXVy2f0B3i','D3nfBMrWB2LUDa','zMLSBa','mZaWmtKZnwfMChfbwG','Cg9WDxbpBKnSAwnR','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','CgfNzxm','AxneAxnHyMXLzej5rgvMyxvSDa','AxnwAxnPyMXL','Bg9JywXtDg9YywDL','zMfRzs1WBMC','mJa4mZzSs1PgCvi','nJq2nZiWmLzVzu9htq','ChvZAa','n1bqrMvnsG','DxjS','Cg9W','y2HLy2TLzfn0yxrL','C2nVCgu','ndmYntbpCu9Nwha','DxbSB2fKrMLSzq','BgvUz3rO','CMvSB2fK','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','DgL0Bgu','zg91yMXLq2XPy2S','mJa1otq2mMnjsLbMtq','z2v0tg9JywXtDg9YywDL','Dgv4DenVBNrLBNq','zgvMAw5LuhjVCgvYDhK','C2nYB2XSsw50B1zPzxC','Aw5WDxrwywX1zq','C2v0tg9JywXtDg9YywDL','y2XVC2vgywTLugfNzq','BMv3q29UDgv4Da','BMv3ugfNzuXPC3rLBMvYCW','yMvOyxzPB3i','zgvSzxrL','z2v0qxr0CMLIDxrL','C2vSzwn0t3b0Aw9U','yxr0ywnOrxHPC3rPBMC','zxHPDezYyw1L','Aw5PDgLHBfvYBa','Bgf1BMnOzwq','B3v0zxjiDg1SqNLszwy','zhjHz0fUzerYB3a','C2f2zvn0B3jHz2vtDgf0zq','y29VA2LLu3rHDgu','y2XVC2u','lNbHz2uW','y2XPCgjVyxjKugfZDgu','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','D2fPDezVCKXVywrtDgf0zq','C2v0qwn0AxzLugfNzq','Dw5JAgvJAW','mtaXmdGZmZH4shL0z1m','A2LUza','CMvJB3jKzxi','D2fPDezVCG','ChjLC3m','y2fSBhm','y3vYCMvUDfvYBa','y291BNrcEurLzMf1Bhq','y2HLy2S','zxjYB3jpBK5LEhrby3rPB24','B3v0zxjive1m','rMfRzvbHz2u','Bwf5yMvuAhjVDW','rhjPDMvYrxjYB3i','CMvJB3jK','C3rLChm','y2fSBhngB3i','zNjHBwvtDgfJAW','AxnwAxnPyMXLqNLezwzHDwX0','CgfNzuXPC3q','Aw5WDxrwywX1zuj5rgvMyxvSDa','B25bzNrLCKnSAwnR','z29cywnR','ywjVDxq6yMXHBMS','D2fPDezVCK5HDMLNyxrPB24','y3r4','zw1PDezHA2vqB3b1Ca','mta5ndC5otjvrNnluve','pgrPDJ48l2rPDJ4','Bgf1BMnO','C3vIC2nYAwjL','Aw5UzxjuzxH0qNLezwzHDwX0','mvjusfv3Aa','y3jLyxrLuMvJB3jKzxi','nJi4mwfPAer0qq','tg9JyxrVCKvYCM9Y','zxzHBhvHDgu','D2fPDezVCLrLEhq','zNjVBq','C2v0q29VA2LL','B25ozxDqywDL','BMfTzq','Aw5ZCgvJDevSzw1LBNq','Aw5UzxjuzxH0','C3bSAwnL','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','y2HLy2TLzfn0yxrLqNLezwzHDwX0','rMfRzvDLyKrYAxzLCG','Dgv4DenVBNrLBNrcEurLzMf1Bhq','C2nYzwvUC2HVDa','y29UDgv4Dhm','zMLSDgvY','AxneAxnHyMXLza','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','zhjPDMvY','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','zw50zxjgCMfTzq','nZu1AMfXEhfz','y29VA2LLCW','y291BNq','Bg9JywXtDg9YywDLu3rHDgu','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','y29UC29SzuvUDhjPzxm','y2XPy2S','zNjHBwvezxb0Aa'];_0x24f9=function(){return _0x3600d1;};return _0x24f9();}var DriverError=class extends UnotestError{static{__name(this,_0x16c074(0x186));}},LocatorError=class extends UnotestError{static{__name(this,_0x16c074(0x19c));}};function createRecorder(){const _0x2d1d7d={_0x55921e:0x17e},_0x304c3a=_0x16c074,_0x4b9172=[];let _0x5e7eec=0x0;return{'push':__name(_0x1244de=>_0x4b9172[_0x304c3a(0x14f)]({..._0x1244de,'seq':_0x5e7eec++}),_0x304c3a(0x14f)),'calls':__name(()=>_0x4b9172,_0x304c3a(_0x2d1d7d._0x55921e))};}__name(createRecorder,_0x16c074(0x19a));var FakePage=class{constructor(_0x204f7e,_0x573528,_0x2d85b8,_0x177eb4){const _0x480b0d={_0x36bf95:0x17b,_0x4612b8:0x166,_0x44ef94:0x154},_0x257a06=_0x16c074;this[_0x257a06(_0x480b0d._0x36bf95)]=_0x204f7e,this[_0x257a06(_0x480b0d._0x4612b8)]=_0x573528,this[_0x257a06(_0x480b0d._0x44ef94)]=_0x2d85b8,this[_0x257a06(0x17f)]=_0x177eb4;}['recorder'];[_0x16c074(0x166)];[_0x16c074(0x154)];static{__name(this,_0x16c074(0x184));}[_0x16c074(0x17f)];[_0x16c074(0x18e)];[_0x16c074(0x187)](_0x196cb7,_0x309900){const _0xd03fe={_0x5ac3eb:0x17b,_0x59b7b2:0x154},_0x11f528=_0x16c074;this[_0x11f528(_0xd03fe._0x5ac3eb)][_0x11f528(0x14f)]({'scope':this[_0x11f528(_0xd03fe._0x59b7b2)],'method':_0x196cb7,'args':_0x309900});}['maybeThrow'](){const _0x4cb94e={_0x29f0e4:0x166,_0x30942e:0x182},_0x503ddf=_0x16c074;if(this['behavior']['errorOnNextAction']){const _0x2e8835=this[_0x503ddf(_0x4cb94e._0x29f0e4)][_0x503ddf(_0x4cb94e._0x30942e)];this[_0x503ddf(_0x4cb94e._0x29f0e4)][_0x503ddf(0x182)]=void 0x0;throw _0x2e8835;}}[_0x16c074(0x151)](){const _0x2c7d1c=_0x16c074;return this[_0x2c7d1c(0x17f)];}async['title'](){const _0x664642={_0x225c17:0x15a},_0x2e1f79=_0x16c074;return this[_0x2e1f79(0x187)](_0x2e1f79(_0x664642._0x225c17),[]),'fake\x20title';}async[_0x16c074(0x135)](_0xbf042e,_0x2826e7){const _0x39a604={_0x1cecd:0x185,_0x4f1223:0x18e},_0x354ec5=_0x16c074;this['record'](_0x354ec5(0x135),[_0xbf042e,_0x2826e7]),this[_0x354ec5(_0x39a604._0x1cecd)](),this[_0x354ec5(_0x39a604._0x4f1223)]?.();}async['doubleClick'](_0x559be9,_0x5280e3){const _0x259eb7={_0x2b1c9f:0x187,_0xd52e9b:0x15b},_0x48068a=_0x16c074;this[_0x48068a(_0x259eb7._0x2b1c9f)](_0x48068a(_0x259eb7._0xd52e9b),[_0x559be9,_0x5280e3]),this[_0x48068a(0x185)]();}async[_0x16c074(0x143)](_0x3cbd1d,_0x252ca6,_0x238bff){const _0x4ae75f={_0x129486:0x143},_0x235395=_0x16c074;this[_0x235395(0x187)](_0x235395(_0x4ae75f._0x129486),[_0x3cbd1d,_0x252ca6,_0x238bff]),this[_0x235395(0x185)]();}async[_0x16c074(0x17d)](_0x35eacd,_0x341585,_0x4fc61a){this['record']('press',[_0x35eacd,_0x341585,_0x4fc61a]),this['maybeThrow']();}async[_0x16c074(0x181)](_0x5e89eb,_0x53cbb3){const _0x3c1993={_0x2edcce:0x187,_0x406a3f:0x181},_0x31b170=_0x16c074;this[_0x31b170(_0x3c1993._0x2edcce)](_0x31b170(_0x3c1993._0x406a3f),[_0x5e89eb,_0x53cbb3]),this[_0x31b170(0x185)]();}async[_0x16c074(0x178)](_0xdbd98e,_0x2aa2a0){const _0x31aeac={_0x169ef4:0x187,_0x2595f7:0x185},_0x2e86ff=_0x16c074;this[_0x2e86ff(_0x31aeac._0x169ef4)]('uncheck',[_0xdbd98e,_0x2aa2a0]),this[_0x2e86ff(_0x31aeac._0x2595f7)]();}async[_0x16c074(0x169)](_0x5c091a,_0x11ff92,_0x353707){const _0x31ff45=_0x16c074;this['record'](_0x31ff45(0x169),[_0x5c091a,_0x11ff92,_0x353707]),this['maybeThrow']();}async[_0x16c074(0x13d)](_0x2abf4d,_0x3e81e7){const _0x70d33b={_0xfad269:0x13d,_0x28502a:0x185},_0x216f57=_0x16c074;this[_0x216f57(0x187)](_0x216f57(_0x70d33b._0xfad269),[_0x2abf4d,_0x3e81e7]),this[_0x216f57(_0x70d33b._0x28502a)]();}async[_0x16c074(0x160)](_0x15469f){const _0x50b51a=_0x16c074;this[_0x50b51a(0x187)](_0x50b51a(0x160),[_0x15469f]),this[_0x50b51a(0x185)]();}async[_0x16c074(0x16f)](_0x5aa551,_0x51311c,_0x272215){const _0x5dd3fc={_0x1bf612:0x16f,_0x27ebd4:0x185},_0x2fda37=_0x16c074;this['record'](_0x2fda37(_0x5dd3fc._0x1bf612),[_0x5aa551,_0x51311c,_0x272215]),this[_0x2fda37(_0x5dd3fc._0x27ebd4)]();}async['uploadFile'](_0x1a15bf,_0x365c79){const _0x375e22={_0x2af062:0x185},_0x3d5fb4=_0x16c074;this[_0x3d5fb4(0x187)](_0x3d5fb4(0x156),[_0x1a15bf,_0x365c79]),this[_0x3d5fb4(_0x375e22._0x2af062)]();}async[_0x16c074(0x174)](_0x6ebb79,_0x5bdb04){this['record']('clipboardPaste',[_0x6ebb79,_0x5bdb04]),this['maybeThrow']();}async[_0x16c074(0x131)](_0x5a5460){const _0x27daf8={_0x4b972a:0x180},_0x492102=_0x16c074;return this['record'](_0x492102(0x131),[_0x5a5460]),this[_0x492102(0x166)][_0x492102(_0x27daf8._0x4b972a)]??0x1;}async[_0x16c074(0x15e)](_0x21117a){const _0x1a97bb={_0x39ba07:0x187,_0x26f0e9:0x166,_0x7a43f3:0x1a9},_0x5e1ac1=_0x16c074;return this[_0x5e1ac1(_0x1a97bb._0x39ba07)](_0x5e1ac1(0x15e),[_0x21117a]),this[_0x5e1ac1(_0x1a97bb._0x26f0e9)][_0x5e1ac1(_0x1a97bb._0x7a43f3)]??'';}async[_0x16c074(0x1a4)](_0x2fe353){const _0x292a64={_0x5e6078:0x187,_0xb3b8d6:0x166,_0x1624a3:0x198,_0x301a17:0x1a9},_0xb0c07a=_0x16c074;return this[_0xb0c07a(_0x292a64._0x5e6078)](_0xb0c07a(0x1a4),[_0x2fe353]),this[_0xb0c07a(_0x292a64._0xb3b8d6)][_0xb0c07a(_0x292a64._0x1624a3)]??this['behavior'][_0xb0c07a(_0x292a64._0x301a17)]??'';}async[_0x16c074(0x161)](_0x1a4ff8){const _0x130dc1={_0x13080a:0x161,_0x5ac6ce:0x166},_0x8ae2ea=_0x16c074;return this[_0x8ae2ea(0x187)](_0x8ae2ea(_0x130dc1._0x13080a),[_0x1a4ff8]),this[_0x8ae2ea(_0x130dc1._0x5ac6ce)][_0x8ae2ea(0x18d)]??'';}async[_0x16c074(0x153)](_0x32cd16){const _0x3c6bc1={_0x392b16:0x153},_0x59fa56=_0x16c074;return this[_0x59fa56(0x187)](_0x59fa56(_0x3c6bc1._0x392b16),[_0x32cd16]),this[_0x59fa56(0x166)][_0x59fa56(0x1a7)]??null;}async['isVisible'](_0x40595c){const _0x44350e=_0x16c074;return this['record'](_0x44350e(0x14a),[_0x40595c]),this[_0x44350e(0x166)][_0x44350e(0x18b)]??!![];}async[_0x16c074(0x1ad)](_0x21b2fa){const _0x3c021c={_0x406df4:0x1ad},_0x4510a8=_0x16c074;return this['record'](_0x4510a8(_0x3c021c._0x406df4),[_0x21b2fa]),this['behavior'][_0x4510a8(0x149)]??![];}async[_0x16c074(0x168)](_0x31e204,_0x190c89){const _0x2543cf={_0x5c4a76:0x187},_0x566696=_0x16c074;return this[_0x566696(_0x2543cf._0x5c4a76)](_0x566696(0x168),[_0x31e204,_0x190c89]),this['behavior']['attributesByDefault']?.[_0x190c89]??null;}async[_0x16c074(0x17c)](_0x1420cf,_0x44e7fa){const _0x234ff0={_0x3f236e:0x17c},_0x25f2d0=_0x16c074;this[_0x25f2d0(0x187)](_0x25f2d0(_0x234ff0._0x3f236e),[_0x1420cf,_0x44e7fa]);}async[_0x16c074(0x13e)](_0x2ff3c3,_0x8f5dd1){const _0x3b53e4={_0x1dc8ec:0x13e},_0x542d33=_0x16c074;this[_0x542d33(0x187)](_0x542d33(_0x3b53e4._0x1dc8ec),[_0x2ff3c3,_0x8f5dd1]);}async[_0x16c074(0x19e)](_0x58168a,_0x56df85){const _0x57abb2=_0x16c074;this['record'](_0x57abb2(0x19e),[_0x58168a,_0x56df85]);}async['waitForNavigation'](_0x3bfd1f){const _0x16b53b=_0x16c074;this['record'](_0x16b53b(0x191),[_0x3bfd1f]);}async[_0x16c074(0x176)](_0x3ee71f,_0x5641a1){this['record']('waitForLoadState',[_0x3ee71f,_0x5641a1]);}async['goto'](_0x129c98,_0x342531){const _0x46bf1c={_0x310192:0x17f},_0x5f3bde=_0x16c074;this[_0x5f3bde(0x187)]('goto',[_0x129c98,_0x342531]),this[_0x5f3bde(_0x46bf1c._0x310192)]=_0x129c98;}async['reload'](_0x403658){const _0x26988b={_0x1ccd1c:0x187},_0x1ff888=_0x16c074;this[_0x1ff888(_0x26988b._0x1ccd1c)](_0x1ff888(0x158),[_0x403658]);}async['goBack'](_0x814794){const _0x13d812=_0x16c074;this['record'](_0x13d812(0x18f),[_0x814794]);}async[_0x16c074(0x138)](_0x31d3f7){const _0x231a98=_0x16c074;this['record'](_0x231a98(0x138),[_0x31d3f7]);}async[_0x16c074(0x19d)](_0x194c8c){return this['record']('evaluate',[_0x194c8c]),void 0x0;}async[_0x16c074(0x141)](_0x33632f,_0x4a2469){const _0xfe14f3={_0x5b828e:0x187},_0x173701=_0x16c074;return this[_0x173701(_0xfe14f3._0x5b828e)](_0x173701(0x141),[_0x33632f,_0x4a2469]),void 0x0;}async['inspectElement'](_0x4fa758){const _0x44aa4e={_0x224839:0x157,_0x310f58:0x188,_0x25546e:0x13f},_0x4cceff=_0x16c074;this['record'](_0x4cceff(0x1a3),[_0x4fa758]);if(_0x4fa758['steps'][_0x4cceff(_0x44aa4e._0x224839)]!==0x1||_0x4fa758[_0x4cceff(_0x44aa4e._0x310f58)][0x0]['kind']!==_0x4cceff(_0x44aa4e._0x25546e))return null;const _0x121948=_0x4fa758[_0x4cceff(0x188)][0x0][_0x4cceff(0x13f)],_0x522d14=this['behavior']['elementHintByRef']?.[_0x121948];return _0x522d14??null;}async[_0x16c074(0x1aa)](_0x63638f){const _0x49fff8={_0x2d28f2:0x19f},_0x28b85c=_0x16c074;return this['record'](_0x28b85c(0x1aa),[_0x63638f]),Buffer[_0x28b85c(_0x49fff8._0x2d28f2)](_0x28b85c(0x14c));}async[_0x16c074(0x183)](_0x2c1c9c){const _0x3f1966={_0x2edb81:0x188,_0x1cec0c:0x13f,_0x55609b:0x16e,_0x209a9e:0x12d,_0x441e44:0x195},_0x17c690=_0x16c074;this['record']('outerHTML',[_0x2c1c9c]);if(_0x2c1c9c[_0x17c690(_0x3f1966._0x2edb81)][_0x17c690(0x157)]===0x1&&_0x2c1c9c[_0x17c690(_0x3f1966._0x2edb81)][0x0][_0x17c690(0x17a)]==='ref'){const _0x4a0a99=_0x2c1c9c[_0x17c690(0x188)][0x0][_0x17c690(_0x3f1966._0x1cec0c)];return this['behavior'][_0x17c690(_0x3f1966._0x55609b)]?.[_0x4a0a99]??_0x17c690(_0x3f1966._0x209a9e)+_0x4a0a99+_0x17c690(0x140);}return _0x17c690(_0x3f1966._0x441e44);}},FakeContext=class{constructor(_0x2cb5dc,_0x1bc706,_0x2a70ee){const _0x8b00fe={_0x19bf6b:0x166,_0x227c1f:0x173,_0xb0c3ee:0x190,_0x1b9941:0x145,_0x4661a6:0x18e,_0x2dfe90:0x132,_0x43e907:0x14b,_0x5f1736:0x130},_0x1b115f=_0x16c074;this[_0x1b115f(0x17b)]=_0x2cb5dc,this[_0x1b115f(_0x8b00fe._0x19bf6b)]=_0x1bc706,this[_0x1b115f(0x154)]=_0x2a70ee;const _0x164706=new FakePage(_0x2cb5dc,_0x1bc706,_0x2a70ee+_0x1b115f(_0x8b00fe._0x227c1f),_0x1bc706[_0x1b115f(0x16c)]??_0x1b115f(_0x8b00fe._0xb0c3ee));_0x1bc706[_0x1b115f(_0x8b00fe._0x1b9941)]&&(_0x164706[_0x1b115f(_0x8b00fe._0x4661a6)]=()=>{const _0x3c2e6e=_0x1b115f;this['emitFakePopup'](_0x1bc706[_0x3c2e6e(0x145)]);}),this['pageList']=[_0x164706],this[_0x1b115f(_0x8b00fe._0x2dfe90)]={..._0x1bc706[_0x1b115f(_0x8b00fe._0x43e907)]??{}},this['cookieState']={..._0x1bc706[_0x1b115f(_0x8b00fe._0x5f1736)]??{}};}[_0x16c074(0x17b)];[_0x16c074(0x166)];[_0x16c074(0x154)];static{__name(this,_0x16c074(0x13c));}['pageList'];['activeIdx']=0x0;[_0x16c074(0x18a)]=[];[_0x16c074(0x132)];['cookieState'];['newPageListeners']=new Set();[_0x16c074(0x187)](_0x2abcbb,_0x537ca2){const _0x194c88={_0x3e14ec:0x17b,_0x55c5d0:0x14f,_0x55f833:0x154},_0x423a0e=_0x16c074;this[_0x423a0e(_0x194c88._0x3e14ec)][_0x423a0e(_0x194c88._0x55c5d0)]({'scope':this[_0x423a0e(_0x194c88._0x55f833)],'method':_0x2abcbb,'args':_0x537ca2});}[_0x16c074(0x148)](){const _0x407299=_0x16c074;return this[_0x407299(0x18c)];}['activePage'](){const _0x7e6ef=_0x16c074,_0x37aa12=this[_0x7e6ef(0x18c)][this['activeIdx']];if(!_0x37aa12)throw new DriverError(_0x7e6ef(0x175),{'activeIdx':this[_0x7e6ef(0x13a)]});return _0x37aa12;}[_0x16c074(0x134)](){const _0x46b840=_0x16c074;return this[_0x46b840(0x166)][_0x46b840(0x134)]??[];}['networkEntries'](){return this['behavior']['networkEntries']??[];}async[_0x16c074(0x177)](_0x43c224){const _0x2023a3={_0x596e53:0x177,_0x5bb8ea:0x18c,_0x1e1b87:0x146,_0x4fc62d:0x157,_0x11e373:0x18a,_0x354d12:0x157},_0x555b54=_0x16c074;this[_0x555b54(0x187)](_0x555b54(_0x2023a3._0x596e53),[_0x43c224]);if(_0x43c224<0x0||_0x43c224>=this[_0x555b54(_0x2023a3._0x5bb8ea)]['length'])throw new DriverError(_0x555b54(_0x2023a3._0x1e1b87),{'index':_0x43c224,'available':this[_0x555b54(0x18c)][_0x555b54(_0x2023a3._0x4fc62d)]});this['activeIdx']=_0x43c224,this[_0x555b54(_0x2023a3._0x11e373)][_0x555b54(_0x2023a3._0x354d12)]=0x0;}[_0x16c074(0x1a1)](_0x3d9d98){const _0x55da31=_0x16c074;return subscribe(this[_0x55da31(0x165)],_0x3d9d98);}[_0x16c074(0x193)](_0x24101c){const _0x1d0253={_0x37622b:0x154,_0x51a1a0:0x157,_0x4a97d8:0x166,_0x29cdbf:0x18c,_0x2fe7cb:0x14f,_0x1ddf1f:0x157,_0x1e923e:0x165},_0x4d111b=_0x16c074,_0x372047=this[_0x4d111b(_0x1d0253._0x37622b)]+'.page'+this[_0x4d111b(0x18c)][_0x4d111b(_0x1d0253._0x51a1a0)],_0x41edce=new FakePage(this[_0x4d111b(0x17b)],this[_0x4d111b(_0x1d0253._0x4a97d8)],_0x372047,_0x24101c);this[_0x4d111b(_0x1d0253._0x29cdbf)][_0x4d111b(_0x1d0253._0x2fe7cb)](_0x41edce);const _0x1a7b1c=this['pageList'][_0x4d111b(_0x1d0253._0x1ddf1f)]-0x1;for(const _0x5f5c19 of this[_0x4d111b(_0x1d0253._0x1e923e)]){try{_0x5f5c19({'index':_0x1a7b1c,'url':_0x24101c});}catch{}}return _0x1a7b1c;}[_0x16c074(0x163)](_0x57b793){const _0x2d13ee={_0x759079:0x146,_0x566d1a:0x157,_0x18a1a3:0x1a5},_0xd908e=_0x16c074;if(_0x57b793<0x0||_0x57b793>=this[_0xd908e(0x18c)]['length'])throw new DriverError(_0xd908e(_0x2d13ee._0x759079),{'index':_0x57b793,'available':this['pageList'][_0xd908e(_0x2d13ee._0x566d1a)]});this[_0xd908e(0x18c)][_0xd908e(_0x2d13ee._0x18a1a3)](_0x57b793,0x1);}async[_0x16c074(0x12e)](_0x5d3ddb){const _0x3b4e29={_0x4f09d5:0x157,_0x4213c1:0x14f},_0xa3c6e7=_0x16c074;this[_0xa3c6e7(0x187)]('enterFrame',[_0x5d3ddb]);if(!_0x5d3ddb['steps'][_0xa3c6e7(_0x3b4e29._0x4f09d5)])throw new LocatorError(_0xa3c6e7(0x147),{'locator':_0x5d3ddb});this[_0xa3c6e7(0x18a)][_0xa3c6e7(_0x3b4e29._0x4213c1)](_0x5d3ddb);}async['exitFrame'](){const _0x2f7400={_0x34e6a8:0x157,_0x222565:0x133,_0x44a5aa:0x152},_0x28ad17=_0x16c074;this[_0x28ad17(0x187)](_0x28ad17(0x16b),[]);if(this[_0x28ad17(0x18a)][_0x28ad17(_0x2f7400._0x34e6a8)]===0x0)throw new DriverError(_0x28ad17(_0x2f7400._0x222565),{});this[_0x28ad17(0x18a)][_0x28ad17(_0x2f7400._0x44a5aa)]();}async['setLocalStorage'](_0x263f15,_0xb431e){const _0x4afb4d={_0x52456f:0x162},_0x4380fc=_0x16c074;this['record'](_0x4380fc(_0x4afb4d._0x52456f),[_0x263f15,_0xb431e]),this['localStorageState'][_0x263f15]=_0xb431e;}async[_0x16c074(0x15d)](_0x3e3fa1){const _0x2da7db=_0x16c074;return this[_0x2da7db(0x187)](_0x2da7db(0x15d),[_0x3e3fa1]),this[_0x2da7db(0x132)][_0x3e3fa1]??null;}async['setCookie'](_0x337ef6,_0x2c540f,_0x9dd56b){const _0x2610a9={_0x2142f6:0x171},_0x4058dd=_0x16c074;this['record'](_0x4058dd(0x1a0),[_0x337ef6,_0x2c540f,_0x9dd56b]),this[_0x4058dd(_0x2610a9._0x2142f6)][_0x337ef6]=_0x2c540f;}async[_0x16c074(0x13b)](_0x126c04){const _0x3ec08d=_0x16c074;return this['record'](_0x3ec08d(0x13b),[_0x126c04]),this['cookieState'][_0x126c04]??null;}async[_0x16c074(0x170)](_0x559d0a){const _0x153825={_0x837118:0x187},_0x2e5a95=_0x16c074;this[_0x2e5a95(_0x153825._0x837118)]('saveStorageState',[_0x559d0a]);}async[_0x16c074(0x19d)](_0x397175){return this['record']('evaluate',[_0x397175]),void 0x0;}async['close'](){const _0x4b3e2d={_0x29e85f:0x187,_0x3b92ba:0x172},_0xcaee8c=_0x16c074;this[_0xcaee8c(_0x4b3e2d._0x29e85f)](_0xcaee8c(_0x4b3e2d._0x3b92ba),[]);}[_0x16c074(0x136)](){const _0x54b944=_0x16c074;return this[_0x54b944(0x18a)][_0x54b944(0x157)];}},FakeWebDriver=class{constructor(_0x3d15f5={}){const _0x38a134=_0x16c074;this['behavior']=_0x3d15f5,this[_0x38a134(0x17b)]=createRecorder();}[_0x16c074(0x166)];static{__name(this,_0x16c074(0x1a8));}[_0x16c074(0x16d)]=![];['recorder'];[_0x16c074(0x1ab)]=[];async[_0x16c074(0x196)](_0x48ca5f){const _0xba3ec1=_0x16c074;this[_0xba3ec1(0x17b)][_0xba3ec1(0x14f)]({'scope':_0xba3ec1(0x1af),'method':_0xba3ec1(0x196),'args':[_0x48ca5f]}),this['launched']=!![];}async[_0x16c074(0x164)](_0x15b98c){const _0x38a6bb={_0x2d8f90:0x17b,_0x270a8a:0x159,_0x385e15:0x17b},_0x1a7dec=_0x16c074;this[_0x1a7dec(_0x38a6bb._0x2d8f90)]['push']({'scope':_0x1a7dec(0x1af),'method':'newContext','args':[_0x15b98c]});if(!this[_0x1a7dec(0x16d)])throw new DriverError(_0x1a7dec(_0x38a6bb._0x270a8a),{});const _0x3740ab=new FakeContext(this[_0x1a7dec(_0x38a6bb._0x385e15)],this['behavior'],_0x1a7dec(0x192)+this['contexts']['length']);return this['contexts']['push'](_0x3740ab),_0x3740ab;}async[_0x16c074(0x172)](){const _0x3e1252={_0x2610a3:0x14f,_0x8dec2d:0x172},_0x5266bf=_0x16c074;this[_0x5266bf(0x17b)][_0x5266bf(_0x3e1252._0x2610a3)]({'scope':_0x5266bf(0x1af),'method':_0x5266bf(_0x3e1252._0x8dec2d),'args':[]}),this[_0x5266bf(0x16d)]=![];}[_0x16c074(0x142)](){return void 0x0;}async['connectShared'](){const _0x1995e7=_0x16c074;throw new DriverError(_0x1995e7(0x1a6),{});}[_0x16c074(0x16a)](){const _0x661ca0={_0xf50aac:0x1ae},_0x18aa10=_0x16c074;throw new DriverError(_0x18aa10(_0x661ca0._0xf50aac),{});}[_0x16c074(0x17e)](){const _0x311cdf={_0x4bcf79:0x17b},_0x39f99e=_0x16c074;return this[_0x39f99e(_0x311cdf._0x4bcf79)]['calls']();}[_0x16c074(0x189)](_0x563716){const _0x33198d={_0x1b4a23:0x17b,_0x1864ac:0x1ac},_0x5e0a9c=_0x16c074;return this[_0x5e0a9c(_0x33198d._0x1b4a23)][_0x5e0a9c(0x17e)]()[_0x5e0a9c(_0x33198d._0x1864ac)](_0x2796e0=>_0x2796e0[_0x5e0a9c(0x139)]===_0x563716);}};export{FakeWebDriver};
1
+ const _0x559004=_0x10f0;(function(_0xeb1dab,_0x512977){const _0x48d42f={_0x2ee5ab:0xdb,_0x5b01ec:0x12e,_0x3c9507:0x100,_0x1557ab:0x10f},_0x570eac=_0x10f0,_0x5dd061=_0xeb1dab();while(!![]){try{const _0x36a370=parseInt(_0x570eac(_0x48d42f._0x2ee5ab))/0x1+parseInt(_0x570eac(0xdc))/0x2*(parseInt(_0x570eac(0x134))/0x3)+parseInt(_0x570eac(_0x48d42f._0x5b01ec))/0x4+-parseInt(_0x570eac(0xd2))/0x5*(-parseInt(_0x570eac(0x131))/0x6)+-parseInt(_0x570eac(0x11f))/0x7+parseInt(_0x570eac(0x135))/0x8*(-parseInt(_0x570eac(_0x48d42f._0x3c9507))/0x9)+-parseInt(_0x570eac(_0x48d42f._0x1557ab))/0xa*(parseInt(_0x570eac(0xda))/0xb);if(_0x36a370===_0x512977)break;else _0x5dd061['push'](_0x5dd061['shift']());}catch(_0x48b054){_0x5dd061['push'](_0x5dd061['shift']());}}}(_0x13c4,0xcd760));var __defProp=Object['defineProperty'],__name=(_0x13ceb9,_0x86752c)=>__defProp(_0x13ceb9,_0x559004(0x106),{'value':_0x86752c,'configurable':!![]});function _0x10f0(_0x1aed2d,_0x173598){_0x1aed2d=_0x1aed2d-0xcd;const _0x13c43c=_0x13c4();let _0x10f07a=_0x13c43c[_0x1aed2d];if(_0x10f0['Lbhrww']===undefined){var _0x1df32e=function(_0x30deb1){const _0x3a0621='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13ceb9='',_0x86752c='';for(let _0x422282=0x0,_0x187f6d,_0x11dfe5,_0x22f118=0x0;_0x11dfe5=_0x30deb1['charAt'](_0x22f118++);~_0x11dfe5&&(_0x187f6d=_0x422282%0x4?_0x187f6d*0x40+_0x11dfe5:_0x11dfe5,_0x422282++%0x4)?_0x13ceb9+=String['fromCharCode'](0xff&_0x187f6d>>(-0x2*_0x422282&0x6)):0x0){_0x11dfe5=_0x3a0621['indexOf'](_0x11dfe5);}for(let _0x2d40ff=0x0,_0x1d04d6=_0x13ceb9['length'];_0x2d40ff<_0x1d04d6;_0x2d40ff++){_0x86752c+='%'+('00'+_0x13ceb9['charCodeAt'](_0x2d40ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x86752c);};_0x10f0['cjJBpo']=_0x1df32e,_0x10f0['dfAgtM']={},_0x10f0['Lbhrww']=!![];}const _0x49a606=_0x13c43c[0x0],_0x32ec82=_0x1aed2d+_0x49a606,_0xa31309=_0x10f0['dfAgtM'][_0x32ec82];return!_0xa31309?(_0x10f07a=_0x10f0['cjJBpo'](_0x10f07a),_0x10f0['dfAgtM'][_0x32ec82]=_0x10f07a):_0x10f07a=_0xa31309,_0x10f07a;}function subscribe(_0x422282,_0x187f6d){return _0x422282['add'](_0x187f6d),()=>{const _0x5ac964=_0x10f0;_0x422282[_0x5ac964(0xe6)](_0x187f6d);};}function _0x13c4(){const _0x1ff6a0=['y2XVC2u','Bgf1BMnOzwq','Bgf1BMnO','zw1PDezHA2vqB3b1Ca','Ag92zxi','AxnwAxnPyMXL','D2fPDezVCG','tg9JyxrVCKvYCM9Y','nunXAxjysG','z290BW','y3jLyxrLuMvJB3jKzxi','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','ywn0AxzLugfNzq','C3rLChm','BgvUz3rO','zMLSBa','otq4mZi4n2LssKjKzW','nZe1mdi2ve1bvwD4','ndq0nKfKwvLlva','iJ48l2rPDJ4','C2nVCgu','Cg9W','C2f2zvn0B3jHz2vtDgf0zq','Dgv4DenVBNrLBNrcEurLzMf1Bhq','Bg9JywXtDg9YywDL','rMfRzvbHz2u','A2LUza','B25bzNrLCKnSAwnR','zgvSzxrL','y29UDgv4Dhm','zxzHBhvHDgvpBKXVy2f0B3i','BMv0D29YA0vUDhjPzxm','zNjHBwvtDgfJAW','y2XPy2S','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','BMv3ugfNzuXPC3rLBMvYCW','pgrPDJ48l2rPDJ4','zhjHz0fUzerYB3a','ChvZAa','CMvJB3jK','BMv3q29UDgv4Da','Aw5ZCgvJDevSzw1LBNq','lNbHz2u','y29UC29SzuvUDhjPzxm','y2HLy2S','zMLSDgvY','D2fPDezVCK5HDMLNyxrPB24','y291BNq','z2v0tg9JywXtDg9YywDL','zxHPDezYyw1L','D3nfBMrWB2LUDa','C2v0q29VA2LL','D2fPDezVCLvYBa','DgL0Bgu','mZy5rxDTDgXX','DxbSB2fKrMLSzq','CMvJB3jKzxi','ywn0AxzLswr4','y2fSBhm','z2v0q29VA2LL','BMfTzq','C3bSAwnL','AxneAxnHyMXLzej5rgvMyxvSDa','zg91yMXLq2XPy2S','y2fSBhngB3i','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','yMvOyxzPB3i','rMfRzvDLyKrYAxzLCG','C3vIC2nYAwjL','mJbPueLfC2m','yxr0ywnOrxHPC3rPBMC','y291BNrcEurLzMf1Bhq','zNjHBwvezxb0Aa','D2fPDezVCKXVywrtDgf0zq','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','Bg9JywXtDg9YywDLu3rHDgu','Cg9WDxbpBKnSAwnR','y29UBMvJDfnOyxjLza','rhjPDMvYrxjYB3i','y29VA2LLu3rHDgu','CMvM','B3v0zxjive1m','zhjPDMvY','CgfNzuXPC3q','z29gB3j3yxjK','mZe0mZm2ngLlEu91wa','CMvSB2fK','B3v0zxjiDg1SqNLszwy','y2XPCgjVyxjKugfZDgu','lNbHz2uW','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','y2HLy2TLzfn0yxrL','Aw5UzxjuzxH0qNLezwzHDwX0','zw50zxjgCMfTzq','C2nYB2XSsw50B1zPzxC','Aw5WDxrwywX1zq','Dw5JAgvJAW','y3vYCMvUDfvYBa','y3r4','Bwf5yMvuAhjVDW','mtyWmtyWC2zMuxjX','D2fPDezVCLrLEhq','zxjYB3jpBK5LEhrby3rPB24','nZmYmJqXogfcvgfQra','C2v0qwn0AxzLugfNzq','C2v0tg9JywXtDg9YywDL','mtyZoeDjC0zArq','mZqWmJryAwPKu2y','Aw5UzxjuzxH0','zxzHBhvHDgu','y2XVC2vgywTLugfNzq','Dgv4DenVBNrLBNq','AxneAxnHyMXLza','C2nYzwvUC2HVDa','zMfRzsb0AxrSzq','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','C2vSzwn0t3b0Aw9U'];_0x13c4=function(){return _0x1ff6a0;};return _0x13c4();}__name(subscribe,_0x559004(0x10e));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,_0x559004(0x118));}},LocatorError=class extends UnotestError{static{__name(this,_0x559004(0xd1));}};function createRecorder(){const _0x489f7f=_0x559004,_0x11dfe5=[];let _0x22f118=0x0;return{'push':__name(_0x2d40ff=>_0x11dfe5[_0x489f7f(0xf0)]({..._0x2d40ff,'seq':_0x22f118++}),_0x489f7f(0xf0)),'calls':__name(()=>_0x11dfe5,'calls')};}__name(createRecorder,_0x559004(0xd4));var FakePage=class{constructor(_0x1d04d6,_0x560eeb,_0x36f39b,_0x11e62d){const _0x3585ec={_0x3977c5:0x10c,_0x2253ed:0x12b},_0x5a0a71=_0x559004;this[_0x5a0a71(0x102)]=_0x1d04d6,this[_0x5a0a71(_0x3585ec._0x3977c5)]=_0x560eeb,this['scope']=_0x36f39b,this[_0x5a0a71(_0x3585ec._0x2253ed)]=_0x11e62d;}['recorder'];[_0x559004(0x10c)];[_0x559004(0xde)];static{__name(this,_0x559004(0xe3));}[_0x559004(0x12b)];[_0x559004(0xe5)];[_0x559004(0xf1)](_0x13d4f8,_0x1b49b7){const _0x386d11={_0x527d9b:0xf0},_0x926a22=_0x559004;this['recorder'][_0x926a22(_0x386d11._0x527d9b)]({'scope':this['scope'],'method':_0x13d4f8,'args':_0x1b49b7});}['maybeThrow'](){const _0x5f4e3f={_0x16bda6:0x130},_0x10dd10=_0x559004;if(this[_0x10dd10(0x10c)][_0x10dd10(0x130)]){const _0x52d33c=this['behavior'][_0x10dd10(_0x5f4e3f._0x16bda6)];this['behavior']['errorOnNextAction']=void 0x0;throw _0x52d33c;}}['url'](){return this['currentUrl'];}async[_0x559004(0xff)](){const _0x5316ab={_0x5455d2:0xf1,_0x500594:0xff},_0x45ce55=_0x559004;return this[_0x45ce55(_0x5316ab._0x5455d2)](_0x45ce55(_0x5316ab._0x500594),[]),_0x45ce55(0x13c);}async['click'](_0x4fd2d8,_0x531a6d){const _0x4cef8c={_0x1cf7d2:0xeb,_0x5bd00d:0x12d,_0x2b0c05:0xe5},_0x40a766=_0x559004;this['record'](_0x40a766(_0x4cef8c._0x1cf7d2),[_0x4fd2d8,_0x531a6d]),this[_0x40a766(_0x4cef8c._0x5bd00d)](),this[_0x40a766(_0x4cef8c._0x2b0c05)]?.();}async[_0x559004(0x109)](_0x4c3b8b,_0x442426){const _0x407fc8={_0x43b20d:0x109},_0x16fc1f=_0x559004;this['record'](_0x16fc1f(_0x407fc8._0x43b20d),[_0x4c3b8b,_0x442426]),this[_0x16fc1f(0x12d)]();}async[_0x559004(0xd9)](_0x10804b,_0xb5c453,_0x288582){const _0x149edb={_0x351181:0xf1,_0x470342:0xd9},_0x335f3c=_0x559004;this[_0x335f3c(_0x149edb._0x351181)](_0x335f3c(_0x149edb._0x470342),[_0x10804b,_0xb5c453,_0x288582]),this['maybeThrow']();}async['press'](_0x1a367a,_0x34a38b,_0x26a4a9){this['record']('press',[_0x1a367a,_0x34a38b,_0x26a4a9]),this['maybeThrow']();}async[_0x559004(0xf6)](_0x102a91,_0x548c4c){const _0x272505={_0x108053:0xf6},_0x31dcb0=_0x559004;this['record'](_0x31dcb0(_0x272505._0x108053),[_0x102a91,_0x548c4c]),this[_0x31dcb0(0x12d)]();}async[_0x559004(0x12a)](_0x1026f4,_0x297497){const _0x2cf1de={_0x102a43:0xf1},_0x4064fb=_0x559004;this[_0x4064fb(_0x2cf1de._0x102a43)](_0x4064fb(0x12a),[_0x1026f4,_0x297497]),this[_0x4064fb(0x12d)]();}async[_0x559004(0x13e)](_0x3a12fd,_0x92d1bc,_0x13f1e6){const _0x8f1b74={_0x246840:0xf1},_0x387a02=_0x559004;this[_0x387a02(_0x8f1b74._0x246840)](_0x387a02(0x13e),[_0x3a12fd,_0x92d1bc,_0x13f1e6]),this[_0x387a02(0x12d)]();}async[_0x559004(0xce)](_0x2e8baf,_0x52a6d3){const _0x546267={_0x347cff:0x12d},_0x4d6cb1=_0x559004;this[_0x4d6cb1(0xf1)]('hover',[_0x2e8baf,_0x52a6d3]),this[_0x4d6cb1(_0x546267._0x347cff)]();}async[_0x559004(0x128)](_0x1a62d2){const _0x26c68f={_0x220d7f:0xf1,_0x5c8d2d:0x128},_0x3a8912=_0x559004;this[_0x3a8912(_0x26c68f._0x220d7f)](_0x3a8912(_0x26c68f._0x5c8d2d),[_0x1a62d2]),this[_0x3a8912(0x12d)]();}async[_0x559004(0xef)](_0x31f121,_0x4bfac1,_0x15c95e){const _0x185330={_0x1333f2:0xf1,_0x184a5d:0x12d},_0x3b7bd2=_0x559004;this[_0x3b7bd2(_0x185330._0x1333f2)]('dragAndDrop',[_0x31f121,_0x4bfac1,_0x15c95e]),this[_0x3b7bd2(_0x185330._0x184a5d)]();}async[_0x559004(0x101)](_0x4d47bd,_0x348d1d){const _0x4360be={_0x43982e:0x101},_0x405044=_0x559004;this[_0x405044(0xf1)](_0x405044(_0x4360be._0x43982e),[_0x4d47bd,_0x348d1d]),this[_0x405044(0x12d)]();}async['clipboardPaste'](_0x2eb8d5,_0x16c68b){const _0x3ad16e={_0x47e6df:0x12d},_0x1d9778=_0x559004;this[_0x1d9778(0xf1)](_0x1d9778(0x122),[_0x2eb8d5,_0x16c68b]),this[_0x1d9778(_0x3ad16e._0x47e6df)]();}async['count'](_0x3c7ece){const _0x50c5af={_0x31e8c2:0xf9,_0x5b09ee:0x111},_0x593996=_0x559004;return this[_0x593996(0xf1)](_0x593996(_0x50c5af._0x31e8c2),[_0x3c7ece]),this[_0x593996(0x10c)][_0x593996(_0x50c5af._0x5b09ee)]??0x1;}async[_0x559004(0x139)](_0x3308c2){const _0x1cf875={_0x2d79dd:0xe1},_0x2177ea=_0x559004;return this['record'](_0x2177ea(0x139),[_0x3308c2]),this['behavior'][_0x2177ea(_0x1cf875._0x2d79dd)]??'';}async[_0x559004(0x136)](_0x490cdb){const _0x943641={_0xa3a256:0x126,_0xd01b9c:0xe1},_0x285e2e=_0x559004;return this[_0x285e2e(0xf1)]('innerText',[_0x490cdb]),this[_0x285e2e(0x10c)][_0x285e2e(_0x943641._0xa3a256)]??this[_0x285e2e(0x10c)][_0x285e2e(_0x943641._0xd01b9c)]??'';}async['inputValue'](_0x1e7a1a){const _0xc4050d={_0x25b521:0xf1,_0x2df9d0:0x129,_0x520bc8:0x10c},_0x4c8980=_0x559004;return this[_0x4c8980(_0xc4050d._0x25b521)](_0x4c8980(_0xc4050d._0x2df9d0),[_0x1e7a1a]),this[_0x4c8980(_0xc4050d._0x520bc8)]['inputValueByDefault']??'';}async[_0x559004(0x125)](_0x499237){const _0x43f94f={_0x38c98e:0xf1,_0x4afce9:0x125},_0x37343d=_0x559004;return this[_0x37343d(_0x43f94f._0x38c98e)](_0x37343d(_0x43f94f._0x4afce9),[_0x499237]),this['behavior']['checkedStateByDefault']??null;}async[_0x559004(0xcf)](_0x4c1fb5){const _0x2ecbcc={_0x27e710:0x10c},_0x477034=_0x559004;return this['record'](_0x477034(0xcf),[_0x4c1fb5]),this[_0x477034(_0x2ecbcc._0x27e710)]['isVisibleByDefault']??!![];}async['isDisabled'](_0x3c4226){const _0x132fd2={_0x19bd1a:0x13a},_0x1c6383=_0x559004;return this[_0x1c6383(0xf1)](_0x1c6383(_0x132fd2._0x19bd1a),[_0x3c4226]),this[_0x1c6383(0x10c)][_0x1c6383(0x108)]??![];}async['getAttribute'](_0x552ca1,_0x5b22dc){const _0x2f8590={_0x4735f6:0x10c},_0x4c1137=_0x559004;return this['record']('getAttribute',[_0x552ca1,_0x5b22dc]),this[_0x4c1137(_0x2f8590._0x4735f6)]['attributesByDefault']?.[_0x5b22dc]??null;}async[_0x559004(0xd0)](_0x2d88c3,_0x1f6b51){const _0x44453c={_0xd0cb0c:0xf1,_0x2f5305:0xd0},_0x1422b9=_0x559004;this[_0x1422b9(_0x44453c._0xd0cb0c)](_0x1422b9(_0x44453c._0x2f5305),[_0x2d88c3,_0x1f6b51]);}async[_0x559004(0xfe)](_0x9eb910,_0x10bbe4){const _0x98c0fa=_0x559004;this[_0x98c0fa(0xf1)](_0x98c0fa(0xfe),[_0x9eb910,_0x10bbe4]);}async[_0x559004(0x12f)](_0x3ca1a1,_0x3a3c32){const _0x462deb={_0x5b81e3:0x12f},_0x4b2c8a=_0x559004;this[_0x4b2c8a(0xf1)](_0x4b2c8a(_0x462deb._0x5b81e3),[_0x3ca1a1,_0x3a3c32]);}async[_0x559004(0xf8)](_0x1a7482){const _0x5873f6={_0x1419d3:0xf1},_0xde941a=_0x559004;this[_0xde941a(_0x5873f6._0x1419d3)](_0xde941a(0xf8),[_0x1a7482]);}async[_0x559004(0x113)](_0x5bd0d7,_0x2f131b){const _0x1d4ce4={_0x15ea92:0x113},_0x243da7=_0x559004;this[_0x243da7(0xf1)](_0x243da7(_0x1d4ce4._0x15ea92),[_0x5bd0d7,_0x2f131b]);}async[_0x559004(0xd3)](_0xc37dbb,_0x3529c4){const _0x4ce740={_0x5925d8:0xd3},_0x152d69=_0x559004;this[_0x152d69(0xf1)](_0x152d69(_0x4ce740._0x5925d8),[_0xc37dbb,_0x3529c4]),this[_0x152d69(0x12b)]=_0xc37dbb;}async['reload'](_0x33aa8d){const _0x2d9fb7={_0x95c95b:0xf1},_0x291b5e=_0x559004;this[_0x291b5e(_0x2d9fb7._0x95c95b)](_0x291b5e(0x120),[_0x33aa8d]);}async['goBack'](_0x2975f9){this['record']('goBack',[_0x2975f9]);}async[_0x559004(0x11e)](_0x43cabc){const _0x3e1d07=_0x559004;this[_0x3e1d07(0xf1)]('goForward',[_0x43cabc]);}async[_0x559004(0x137)](_0x2ee9ce){const _0x39d12a={_0x4ee3ca:0xf1,_0x44c43a:0x137},_0x5b4fab=_0x559004;return this[_0x5b4fab(_0x39d12a._0x4ee3ca)](_0x5b4fab(_0x39d12a._0x44c43a),[_0x2ee9ce]),void 0x0;}async['evaluateOnLocator'](_0x2040f5,_0x5e0a65){const _0x54970c=_0x559004;return this[_0x54970c(0xf1)](_0x54970c(0xe8),[_0x2040f5,_0x5e0a65]),void 0x0;}async[_0x559004(0xf3)](_0xea46ad){const _0x1ed8df={_0x55f1e6:0xf3,_0x236633:0xd7,_0x514d11:0x11a},_0x558d09=_0x559004;this[_0x558d09(0xf1)](_0x558d09(_0x1ed8df._0x55f1e6),[_0xea46ad]);if(_0xea46ad[_0x558d09(_0x1ed8df._0x236633)]['length']!==0x1||_0xea46ad['steps'][0x0]['kind']!==_0x558d09(_0x1ed8df._0x514d11))return null;const _0x399ec4=_0xea46ad['steps'][0x0][_0x558d09(_0x1ed8df._0x514d11)],_0xbdbb04=this['behavior']['elementHintByRef']?.[_0x399ec4];return _0xbdbb04??null;}async['screenshot'](_0x326330){const _0x3c609f=_0x559004;return this['record'](_0x3c609f(0x13b),[_0x326330]),Buffer['from']('fake-png');}async[_0x559004(0x11b)](_0x156a5d){const _0x2634cf={_0x4fa28e:0x11b,_0x714b2:0xd7,_0x5c103e:0xe4,_0x3e4e48:0x10c,_0xb01d22:0xec,_0x1c12b3:0xee},_0x413f1d=_0x559004;this[_0x413f1d(0xf1)](_0x413f1d(_0x2634cf._0x4fa28e),[_0x156a5d]);if(_0x156a5d[_0x413f1d(0xd7)][_0x413f1d(0xd8)]===0x1&&_0x156a5d[_0x413f1d(_0x2634cf._0x714b2)][0x0][_0x413f1d(_0x2634cf._0x5c103e)]==='ref'){const _0x2c6c04=_0x156a5d[_0x413f1d(_0x2634cf._0x714b2)][0x0]['ref'];return this[_0x413f1d(_0x2634cf._0x3e4e48)][_0x413f1d(0x121)]?.[_0x2c6c04]??_0x413f1d(_0x2634cf._0xb01d22)+_0x2c6c04+_0x413f1d(0xdd);}return _0x413f1d(_0x2634cf._0x1c12b3);}},FakeContext=class{constructor(_0x38dfd0,_0x5a5272,_0x3ea3fa){const _0x28dd26={_0x5098b9:0x115},_0x212a61=_0x559004;this[_0x212a61(0x102)]=_0x38dfd0,this['behavior']=_0x5a5272,this[_0x212a61(0xde)]=_0x3ea3fa;const _0x42903f=new FakePage(_0x38dfd0,_0x5a5272,_0x3ea3fa+_0x212a61(0x123),_0x5a5272['initialUrl']??'about:blank');_0x5a5272[_0x212a61(0x116)]&&(_0x42903f['onAfterClick']=()=>{const _0x5b9032=_0x212a61;this['emitFakePopup'](_0x5a5272[_0x5b9032(0x116)]);}),this[_0x212a61(0x11d)]=[_0x42903f],this[_0x212a61(_0x28dd26._0x5098b9)]={..._0x5a5272[_0x212a61(0xe2)]??{}},this[_0x212a61(0x119)]={..._0x5a5272['cookies']??{}};}[_0x559004(0x102)];['behavior'];['scope'];static{__name(this,'FakeContext');}['pageList'];['activeIdx']=0x0;[_0x559004(0xea)]=[];[_0x559004(0x115)];['cookieState'];['newPageListeners']=new Set();['record'](_0x1e67cd,_0x240c63){const _0x351f98={_0x3a7b50:0xde},_0xe25913=_0x559004;this[_0xe25913(0x102)][_0xe25913(0xf0)]({'scope':this[_0xe25913(_0x351f98._0x3a7b50)],'method':_0x1e67cd,'args':_0x240c63});}['pages'](){const _0x4916f5=_0x559004;return this[_0x4916f5(0x11d)];}[_0x559004(0xd6)](){const _0x59cb36={_0x18e69e:0x103},_0x3c9e44=_0x559004,_0x129f51=this[_0x3c9e44(0x11d)][this[_0x3c9e44(_0x59cb36._0x18e69e)]];if(!_0x129f51)throw new DriverError('no\x20active\x20page\x20in\x20context',{'activeIdx':this[_0x3c9e44(0x103)]});return _0x129f51;}[_0x559004(0xf5)](){const _0x1d4def=_0x559004;return this[_0x1d4def(0x10c)][_0x1d4def(0xf5)]??[];}[_0x559004(0xe9)](){const _0x5e9a85={_0x2928ee:0xe9},_0x2dae62=_0x559004;return this['behavior'][_0x2dae62(_0x5e9a85._0x2928ee)]??[];}async['setActivePage'](_0x3607ae){const _0x20ccb9={_0x4c75fc:0xf1,_0x1fdb96:0x132,_0x295843:0xd8,_0x230aaa:0x103,_0x3501a1:0xd8},_0x350bb1=_0x559004;this[_0x350bb1(_0x20ccb9._0x4c75fc)](_0x350bb1(_0x20ccb9._0x1fdb96),[_0x3607ae]);if(_0x3607ae<0x0||_0x3607ae>=this['pageList'][_0x350bb1(_0x20ccb9._0x295843)])throw new DriverError(_0x350bb1(0xd5),{'index':_0x3607ae,'available':this['pageList'][_0x350bb1(0xd8)]});this[_0x350bb1(_0x20ccb9._0x230aaa)]=_0x3607ae,this[_0x350bb1(0xea)][_0x350bb1(_0x20ccb9._0x3501a1)]=0x0;}['onNewPage'](_0x3f1c1d){const _0x16a767=_0x559004;return subscribe(this[_0x16a767(0xed)],_0x3f1c1d);}[_0x559004(0xcd)](_0x5e3da9){const _0x1b2af1={_0x583935:0xde,_0x4fd683:0x11d,_0x222996:0xd8},_0x133e17=_0x559004,_0x166797=this[_0x133e17(_0x1b2af1._0x583935)]+_0x133e17(0xf4)+this[_0x133e17(_0x1b2af1._0x4fd683)][_0x133e17(_0x1b2af1._0x222996)],_0x428770=new FakePage(this['recorder'],this[_0x133e17(0x10c)],_0x166797,_0x5e3da9);this[_0x133e17(_0x1b2af1._0x4fd683)]['push'](_0x428770);const _0x235828=this[_0x133e17(_0x1b2af1._0x4fd683)][_0x133e17(_0x1b2af1._0x222996)]-0x1;for(const _0x710d99 of this['newPageListeners']){try{_0x710d99({'index':_0x235828,'url':_0x5e3da9});}catch{}}return _0x235828;}[_0x559004(0x138)](_0x418a15){const _0x435219={_0x105027:0xd8,_0x582130:0x11d,_0x5b27fc:0x107},_0x33eed1=_0x559004;if(_0x418a15<0x0||_0x418a15>=this[_0x33eed1(0x11d)][_0x33eed1(_0x435219._0x105027)])throw new DriverError(_0x33eed1(0xd5),{'index':_0x418a15,'available':this[_0x33eed1(0x11d)][_0x33eed1(_0x435219._0x105027)]});this[_0x33eed1(_0x435219._0x582130)][_0x33eed1(_0x435219._0x5b27fc)](_0x418a15,0x1);}async[_0x559004(0x127)](_0x3aefaf){const _0x44dcfb={_0x500d75:0x127,_0x28ecae:0xea},_0x39cf81=_0x559004;this['record'](_0x39cf81(_0x44dcfb._0x500d75),[_0x3aefaf]);if(!_0x3aefaf[_0x39cf81(0xd7)][_0x39cf81(0xd8)])throw new LocatorError(_0x39cf81(0x13d),{'locator':_0x3aefaf});this[_0x39cf81(_0x44dcfb._0x28ecae)][_0x39cf81(0xf0)](_0x3aefaf);}async[_0x559004(0xfb)](){const _0x1d5032={_0x150289:0xea,_0x47b206:0x10b,_0x2d28d1:0xdf},_0x1eebe7=_0x559004;this[_0x1eebe7(0xf1)](_0x1eebe7(0xfb),[]);if(this[_0x1eebe7(_0x1d5032._0x150289)][_0x1eebe7(0xd8)]===0x0)throw new DriverError(_0x1eebe7(_0x1d5032._0x47b206),{});this[_0x1eebe7(0xea)][_0x1eebe7(_0x1d5032._0x2d28d1)]();}async[_0x559004(0x133)](_0x43322c,_0x3de97d){const _0x5e28b1={_0x349c1d:0x133,_0x274094:0x115},_0x257584=_0x559004;this[_0x257584(0xf1)](_0x257584(_0x5e28b1._0x349c1d),[_0x43322c,_0x3de97d]),this[_0x257584(_0x5e28b1._0x274094)][_0x43322c]=_0x3de97d;}async['getLocalStorage'](_0x308c1e){const _0x25eb47={_0x52b6ce:0xfa},_0x473e48=_0x559004;return this['record'](_0x473e48(_0x25eb47._0x52b6ce),[_0x308c1e]),this['localStorageState'][_0x308c1e]??null;}async[_0x559004(0xfd)](_0x48b3db,_0x2a1a11,_0x1ec29a){const _0x362ece={_0x424d69:0xf1,_0x24d1b4:0xfd},_0x239757=_0x559004;this[_0x239757(_0x362ece._0x424d69)](_0x239757(_0x362ece._0x24d1b4),[_0x48b3db,_0x2a1a11,_0x1ec29a]),this[_0x239757(0x119)][_0x48b3db]=_0x2a1a11;}async[_0x559004(0x105)](_0x871ec5){const _0x5233ae=_0x559004;return this[_0x5233ae(0xf1)]('getCookie',[_0x871ec5]),this['cookieState'][_0x871ec5]??null;}async[_0x559004(0xe0)](_0x48f1ce){const _0x3cc6a1={_0x22b3b9:0xf1},_0x12e197=_0x559004;this[_0x12e197(_0x3cc6a1._0x22b3b9)]('saveStorageState',[_0x48f1ce]);}async[_0x559004(0x137)](_0x51c300){const _0x202acc={_0x872c8c:0xf1},_0xc5a6c0=_0x559004;return this[_0xc5a6c0(_0x202acc._0x872c8c)]('evaluate',[_0x51c300]),void 0x0;}async['close'](){const _0xf4fb1={_0x5a059b:0x13f},_0x47b8cb=_0x559004;this[_0x47b8cb(0xf1)](_0x47b8cb(_0xf4fb1._0x5a059b),[]);}[_0x559004(0x112)](){const _0x560641={_0x377289:0xea},_0x1f5157=_0x559004;return this[_0x1f5157(_0x560641._0x377289)][_0x1f5157(0xd8)];}},FakeWebDriver=class{constructor(_0x40d9cf={}){this['behavior']=_0x40d9cf,this['recorder']=createRecorder();}[_0x559004(0x10c)];static{__name(this,_0x559004(0x10d));}['launched']=![];['recorder'];[_0x559004(0xe7)]=[];async[_0x559004(0x141)](_0x181b3b){const _0x343a1a={_0x575cd9:0x11c,_0x4817f3:0x141,_0x37dd8a:0x140},_0x518279=_0x559004;this['recorder'][_0x518279(0xf0)]({'scope':_0x518279(_0x343a1a._0x575cd9),'method':_0x518279(_0x343a1a._0x4817f3),'args':[_0x181b3b]}),this[_0x518279(_0x343a1a._0x37dd8a)]=!![];}async['newContext'](_0x482f50){const _0x576237={_0x414235:0x102,_0x49bb55:0xf0,_0x396f1d:0x140,_0x2f3756:0x102,_0x36278f:0x10c,_0x401f15:0x12c},_0x39c733=_0x559004;this[_0x39c733(_0x576237._0x414235)][_0x39c733(_0x576237._0x49bb55)]({'scope':_0x39c733(0x11c),'method':_0x39c733(0xf2),'args':[_0x482f50]});if(!this[_0x39c733(_0x576237._0x396f1d)])throw new DriverError('newContext\x20called\x20before\x20launch()',{});const _0x15e22f=new FakeContext(this[_0x39c733(_0x576237._0x2f3756)],this[_0x39c733(_0x576237._0x36278f)],_0x39c733(_0x576237._0x401f15)+this['contexts']['length']);return this[_0x39c733(0xe7)][_0x39c733(0xf0)](_0x15e22f),_0x15e22f;}async[_0x559004(0x13f)](){const _0x2f9eac={_0x279c7c:0x11c,_0x263f27:0x13f},_0x11115f=_0x559004;this['recorder']['push']({'scope':_0x11115f(_0x2f9eac._0x279c7c),'method':_0x11115f(_0x2f9eac._0x263f27),'args':[]}),this['launched']=![];}[_0x559004(0xfc)](){return void 0x0;}async[_0x559004(0x117)](){const _0x130200=_0x559004;throw new DriverError(_0x130200(0x124),{});}[_0x559004(0x110)](){const _0x484f13={_0x519db8:0x114},_0x3d1fb0=_0x559004;throw new DriverError(_0x3d1fb0(_0x484f13._0x519db8),{});}[_0x559004(0x104)](){const _0x51f2b5={_0x250f0d:0x102},_0x524be1=_0x559004;return this[_0x524be1(_0x51f2b5._0x250f0d)][_0x524be1(0x104)]();}[_0x559004(0x10a)](_0x5472b1){const _0x546eb0={_0x35f31e:0x102,_0x91a9ce:0xf7},_0x5cd86d=_0x559004;return this[_0x5cd86d(_0x546eb0._0x35f31e)][_0x5cd86d(0x104)]()[_0x5cd86d(_0x546eb0._0x91a9ce)](_0x32925c=>_0x32925c['method']===_0x5472b1);}};export{FakeWebDriver};