@unotest/protocol 0.31.0 → 0.33.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 CHANGED
@@ -1,5 +1,177 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.33.0] - 2026-09-06
4
+
5
+ ### Minor Changes
6
+
7
+ - 2abfd4d: Box: every run is announced — Slack, Telegram, or a webhook of your own — and the channels are managed from the guard.
8
+
9
+ A box now tells people how its runs went, whoever started them: the
10
+ schedule's ticks, a pull request's check, somebody pressing Run in the
11
+ viewer, a terminal inside the container. The daemon reads each run's own
12
+ journal, so the three producers are one source; the run's manifest says
13
+ what set it off — `trigger: { kind: "schedule" | "ci" | "manual" | "cli",
14
+ by? }`, written by the runner from `UNOTEST_RUN_TRIGGER` /
15
+ `UNOTEST_RUN_ACTOR` (a box sets them for its scheduled and CI runs, the
16
+ viewer for a run ordered from its UI; a terminal sets nothing and reads as
17
+ `cli`).
18
+
19
+ A scheduled series is announced on a **change of state**: `failed` after
20
+ `afterFailures` red ticks in a row, `recovered`, `still-failing` at a rule's
21
+ `repeatEvery`, `not-run` when the suite could not run at all (no bundle, a
22
+ bundle that does not install) — daily by default. A run somebody ordered is
23
+ announced on its own, `failed` or `passed`, every time. A withdrawn or
24
+ aborted run says nothing; a run whose journal stops and whose heartbeat goes
25
+ cold is `interrupted`.
26
+
27
+ Channels, rules, mutes and quiet hours live on the box and are managed from
28
+ the guard's `/_guard/notifications` page (or `boxd notify …`): a channel's
29
+ secret is set once and never shown again, a rule picks environments,
30
+ triggers, events and channels, a series or the whole project can be muted
31
+ until a time, and quiet hours hold reminders and `passed` back until the
32
+ morning. A generic webhook receives the event as JSON (`version: 1`, the
33
+ box named, the `trigger`) with `X-Unotest-Event` and, when the channel has
34
+ a secret, `X-Unotest-Signature: sha256=<hex>` — HMAC-SHA256 over the raw
35
+ body, the scheme GitHub uses — plus any headers the channel declares.
36
+
37
+ `@unotest/protocol`: `RunManifest.trigger` and the trigger helpers
38
+ (`runTriggerFromEnv`, `runTriggerEnv`, `manifestTrigger`); the session-door
39
+ paths, views and parsers of the notifications API (`boxNotifyProjectPath`,
40
+ `boxNotifyChannelPath`, `boxNotifyRulePath`, `boxNotifySeriesPath`,
41
+ `boxNotifyMutePath`, `boxNotifyQuietHoursPath`, `boxNotifyPreviewPath`,
42
+ `BoxNotifyProjectView`, …). The first draft of this feature (channels
43
+ declared in the box config, secrets by field) never shipped; this replaces
44
+ it whole.
45
+
46
+ - 5d1bde3: Run isolation, stage 1: a box no longer executes a test bundle inside its
47
+ own daemon.
48
+
49
+ box-runner (new, private): the run sidecar — the only service on a box
50
+ holding the docker socket, and the only one that starts a container. Three
51
+ authenticated routes on the `box` network (`POST /runs`, `GET
52
+ /runs/:id/stream` NDJSON, `DELETE /runs/:id`), a shared secret compared in
53
+ constant time, and an API that cannot be told anything about how a
54
+ container is built: no path, image, network, user, mount or flag. A request
55
+ names a project, an environment, a bundle, a scenario and the environment's
56
+ values; the bind sources are derived from the first three, resolved with
57
+ `realpath` and re-checked against the projects root, and must already
58
+ exist. The container is created over the Docker Engine API (pinned
59
+ `v1.43`) straight over the socket — no `docker` binary in the image and no
60
+ client dependency, and a container that is a JSON document has no place
61
+ for a value to become a flag. A daemon that refuses or is not there comes
62
+ back as `502 {reason}` before the run is accepted, or as an `error` event
63
+ on the stream after — never as a run that "exited with code null". An
64
+ environment variable the box does not forward is named in the sidecar's
65
+ log rather than dropped silently. A run gets the bundle tree read-only as its working directory, the
66
+ environment's `unotest/.runs.<env>` read-write, a `noexec` tmpfs `/tmp`,
67
+ a read-only rootfs, all capabilities dropped, `no-new-privileges`, its own
68
+ uid in boxd's group, memory/pids/cpu limits clamped to both the operator's ceilings and the
69
+ host's own size (docker refuses a container bigger than the machine
70
+ instead of clamping it), a 512 MB `/dev/shm`
71
+ (docker's default 64 MB kills Chromium mid-page; the host's IPC namespace
72
+ is deliberately not borrowed), and the `runs` network only. The container engine is an interface, so every rule is asserted on
73
+ the container that would have reached docker — including the cases where
74
+ the answer is no container at all.
75
+
76
+ boxd: running the SUITE is its own contract (`IScenarioRunner`), separate
77
+ from running a command (`ICommandRunner`, still the daemon's own `npm ci`
78
+ and viewers). `ContainerScenarioRunner` talks to the sidecar,
79
+ `ProcessScenarioRunner` keeps the old child-process shape for a box without
80
+ docker; `BOXD_RUNNER_KIND=container|process` chooses, and half a container
81
+ configuration refuses to start. Reading a bundle's schedules
82
+ (`unotest-web schedules --json`) executes the project's config module, so it
83
+ goes the same way. A run's environment is built from named parts
84
+ (`run-environment.ts`) instead of inheriting `process.env`, and its debug
85
+ tree is pointed at the run's own directory rather than the read-only
86
+ sources. New metrics
87
+ `boxd_run_container_total{outcome}` and `boxd_run_container_start_seconds`.
88
+ An environment's runs directory is created by the daemon with `2775`, so
89
+ the run's uid may write into it and the daemon's group may read it back.
90
+
91
+ box-kit: `secretsMatch` (constant-time secret comparison, moved out of
92
+ dist-service), `splitLines`, and `envNumber` / `envPositiveNumber` — the
93
+ env-reading rule the box-side services share.
94
+
95
+ `npm ci` of a bundle is a container of its own (`kind: "install"`): the
96
+ bundle tree is its only mount and it is writable, there is no environment
97
+ and no artifacts directory in reach, and a dependency's install scripts
98
+ RUN — a native module builds or fetches its binary as usual. That is what
99
+ running them inside the daemon could never allow. The container's last
100
+ steps, only on success, check the tree against the box's size cap, set
101
+ the final modes on what the install created and write the install marker
102
+ — each with an exit code of its own, so the daemon's log names the step
103
+ that failed — so a killed or oversized
104
+ install leaves a tree the box will not mount; a failed install takes the
105
+ tree with it. The daemon no longer passes `--ignore-scripts` and no
106
+ longer walks the tree afterwards.
107
+
108
+ The daemon runs with `umask 002` and clears `node_modules` before each
109
+ install, so a tree it created is one the install container (another uid
110
+ in its group) can actually write.
111
+
112
+ An install that fails KEEPS the tree, unmarked: nothing mounts it and the
113
+ next attempt reinstalls in place (`npm ci` wipes `node_modules` itself).
114
+ And a bundle directory holding a manifest with neither an archive nor a
115
+ tree behind it no longer counts as "this box has it" — a push of the same
116
+ content brings it back instead of being answered `already had this exact
117
+ bundle`.
118
+
119
+ web: `bundle push` and the docs say that a dependency's install scripts
120
+ run on a box, in isolation — the earlier advice to vendor them is gone.
121
+
122
+ A run ordered in the viewer now goes through the daemon's queue instead
123
+ of being spawned by the viewer.
124
+
125
+ `POST/GET/DELETE /api/box/envs/<project>/<env>/runs[/<runId>]` (paths and
126
+ wire types in `@unotest/protocol`) takes a `manual` ticket like every
127
+ other producer. Two callers may use it, and neither is taken on its word:
128
+ the guard, proving it is the guard with a shared secret from `box-init`
129
+ (the actor header is read only next to it — a viewer container could
130
+ otherwise claim to be any admin), and a viewer, with a per-environment
131
+ token the daemon minted when it started that viewer plus a short-lived
132
+ single-use ticket the guard signed over WHO clicked. The guard gates the
133
+ route under `admin` and requires an `Origin` on a mutation; the daemon
134
+ checks the token's environment, the ticket's environment and its `jti`
135
+ against the path.
136
+
137
+ `@unotest/viewer` gets `BoxdRunner`: on a box the Run button orders and
138
+ the Stop button asks the daemon, and the progress still comes from the
139
+ run's journal on disk. A local viewer spawns as it always did — the
140
+ composition root picks by whether a box handed it credentials.
141
+
142
+ ### Patch Changes
143
+
144
+ - b3e1220: Box notifications: a webhook channel's header values are credentials.
145
+
146
+ The notifications API and the guard's page now see a webhook's headers
147
+ as names with `{ set: true }` — the values (the receiver's
148
+ `Authorization`, most of the time) are never read back, like the signing
149
+ secret. The edit form lists the names; typing a value after one replaces
150
+ the set, names alone keep it. `/api/box/notify` is the guard's own route:
151
+ it is no longer reachable through the session proxy for any role — a
152
+ readonly session could previously list every project's channels with
153
+ their headers.
154
+
155
+ - b3e1220: Box notifications: the webhook signature now covers a timestamp.
156
+
157
+ Every webhook delivery carries `X-Unotest-Timestamp` (Unix milliseconds,
158
+ when it was sent), and `X-Unotest-Signature` is HMAC-SHA256 over
159
+ `<timestamp>.<raw body>` rather than the body alone — GitHub's scheme
160
+ with a timestamp in front, so a delivery captured on the wire cannot be
161
+ replayed to the receiver once its window (five minutes, documented) has
162
+ passed. The GitHub webhook the box receives is unchanged: that is
163
+ GitHub's contract.
164
+
165
+ The `by` of a CI-triggered run (`push a1b2c3d (branch)`) is cut at 200
166
+ characters — a branch name is the pusher's input, and it must not balloon
167
+ the run's manifest and every notification the run produces.
168
+
169
+ ## [0.32.0] - 2026-09-05
170
+
171
+ ### Minor Changes
172
+
173
+ - 8aa0f30: Protocol contract for reading a box's run results with a personal read token: `UNOTEST_BOX_READ_TOKEN` (distinct from the project's `UNOTEST_BOX_TOKEN`, which stays a write credential for bundles and environment values), the `X-Unotest-Environment: <project>/<environment>` header every bearer request names its own environment with, the `/_guard/api/envs` listing and its `BoxReadEnvironment` entry, and typed refusals (`unauthorized`, `forbidden`, `unknown-environment`, `not-found`, `rate-limited`, `run-in-progress`, `unavailable`, `malformed`) with parsers that reject anything that is not a box answering. Throttling gets a code of its own rather than an `unauthorized` carrying `Retry-After`: a rejected token means mint a new one, a throttled one means wait and resend the same one. The viewer's `ViewerEnvOption` is now that same protocol type rather than a second copy of it. An environment whose viewer is still starting — the common state right after a bundle push — answers `unavailable` rather than looking like an unreachable box, so the advice is to wait rather than to check the address.
174
+
3
175
  ## [0.31.0] - 2026-09-04
4
176
 
5
177
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -1208,7 +1208,11 @@ declare const BUNDLE_MANIFEST_FILE = "bundle.json";
1208
1208
  declare const BUNDLE_UPLOAD_PATH = "/api/box/bundles";
1209
1209
  /** Box origin (`https://box.example.com`) and the upload token, for
1210
1210
  * people and CI jobs that would rather not repeat them on every command
1211
- * line. Flags win over both. */
1211
+ * line. Flags win over both.
1212
+ *
1213
+ * This token is the PROJECT's, and it writes: bundles and environment
1214
+ * values. Reading results back is a named person's act with its own
1215
+ * credential — `BOX_READ_TOKEN_ENV` in `box-read.ts`. */
1212
1216
  declare const BOX_URL_ENV = "UNOTEST_BOX_URL";
1213
1217
  declare const BOX_TOKEN_ENV = "UNOTEST_BOX_TOKEN";
1214
1218
  /** Set by a box on every run it starts: which bundle the sources came
@@ -1558,6 +1562,467 @@ interface BoxEnvValuesView {
1558
1562
  secrets: string[];
1559
1563
  }
1560
1564
 
1565
+ declare const RUN_MANIFEST_FILE = "manifest.json";
1566
+ interface RunManifest {
1567
+ /** Format-version of this manifest. Bump only on breaking schema
1568
+ * changes — additive optional fields don't require it. Starts at 1. */
1569
+ schemaVersion: 1;
1570
+ /** Identifies which RunRequest variant produced this run. */
1571
+ kind: RunKind;
1572
+ /** Original (un-sanitized) `ref` from the request — scenario `name`
1573
+ * for `kind:"scenario"`, collection `name` for `kind:"collection"`.
1574
+ * The `runId` directory uses a sanitized form; this carries the
1575
+ * human-readable original. */
1576
+ ref: string;
1577
+ /** Run-id of the parent collection-run when this is a child scenario
1578
+ * spawned inside a collection. Absent for top-level scenario-runs
1579
+ * and for collection-runs themselves. */
1580
+ parentRunId?: string;
1581
+ /** Adapter `name` that produced this run (`"@unotest/web"`,
1582
+ * `"@unotest/mobile"`). Lets the viewer pick rendering details for
1583
+ * runner-specific bundle contents without runner branches in core
1584
+ * logic. */
1585
+ adapter: string;
1586
+ /** Wallclock at runner start. Distinct from the first event's `t`
1587
+ * (which may have leading delay for adapter setup). */
1588
+ startedAt: number;
1589
+ /** Environment name the run resolved (`UNOTEST_ENV` / `--env`), absent
1590
+ * for base. Self-description only — placement already encodes it (the
1591
+ * run lives under `.runs<suffix>.<env>`), so nothing filters on this. */
1592
+ env?: string;
1593
+ /** Opt-in artifact-capture flags as resolved from the runner's env at
1594
+ * start (`UNOTEST_CONSOLE` / `UNOTEST_NETWORK`). Recorded here so the
1595
+ * viewer can tell "capture was disabled" apart from "capture was on but
1596
+ * the run aborted before writing console.json / network.json" — a
1597
+ * distinction the mere presence of those files can't make. Optional: runs
1598
+ * produced before this field existed simply omit it, and the viewer falls
1599
+ * back to a file-presence heuristic. */
1600
+ capture?: {
1601
+ console: boolean;
1602
+ network: boolean;
1603
+ };
1604
+ /** Which test bundle produced this run, when the sources came from one
1605
+ * (`UNOTEST_BUNDLE_ID`, set by a box). Absent for every local run,
1606
+ * where the sources are simply the working directory.
1607
+ *
1608
+ * Recorded so history stays readable after the fact: a box runs many
1609
+ * bundles into one environment, and "which code produced this red
1610
+ * run" is otherwise unanswerable once the environment moved on. */
1611
+ bundleId?: string;
1612
+ /** What set the run off. Absent on a manifest written before the field
1613
+ * existed, and on every run nobody described — both read as `cli`
1614
+ * (see {@link manifestTrigger}). */
1615
+ trigger?: RunTrigger;
1616
+ }
1617
+ /** Who or what started a run. `schedule` — a box's own timer; `ci` — a
1618
+ * provider's push or pull request through the box; `manual` — a person
1619
+ * (or their agent) pressing Run in the viewer; `cli` — a terminal, which
1620
+ * is also the answer for a run that said nothing. */
1621
+ type RunTriggerKind = "schedule" | "ci" | "manual" | "cli";
1622
+ interface RunTrigger {
1623
+ kind: RunTriggerKind;
1624
+ /** Who, or which change: a login, `push a1b2c3d (feature/x)`. Absent when
1625
+ * the trigger has nobody to name (a schedule). */
1626
+ by?: string;
1627
+ }
1628
+ /** `UNOTEST_RUN_TRIGGER` — a {@link RunTriggerKind}, set by whoever spawns
1629
+ * the runner: a box for its scheduled and CI runs, the viewer for a run
1630
+ * ordered from its UI. A terminal sets nothing. */
1631
+ declare const RUN_TRIGGER_ENV = "UNOTEST_RUN_TRIGGER";
1632
+ /** `UNOTEST_RUN_ACTOR` — the trigger's `by`, optional. */
1633
+ declare const RUN_ACTOR_ENV = "UNOTEST_RUN_ACTOR";
1634
+ /** The trigger the environment describes, or undefined when it describes
1635
+ * none — a value that is not a trigger kind is a caller's mistake and is
1636
+ * treated as silence rather than guessed at. */
1637
+ declare function runTriggerFromEnv(env: Readonly<Record<string, string | undefined>>): RunTrigger | undefined;
1638
+ /** The variables that hand a trigger to a runner — the inverse of
1639
+ * {@link runTriggerFromEnv}, so a box and the viewer spell them the same
1640
+ * way. */
1641
+ declare function runTriggerEnv(trigger: RunTrigger): Record<string, string>;
1642
+ /** A manifest's trigger, with the default spelled out: no field = `cli`. */
1643
+ declare function manifestTrigger(manifest: Pick<RunManifest, "trigger">): RunTrigger;
1644
+
1645
+ /** Session-door root:
1646
+ *
1647
+ * GET /api/box/notify every project
1648
+ * GET /api/box/notify/<project> one project, secrets as set:true
1649
+ * PUT /api/box/notify/<project>/channels/<id> create or update
1650
+ * PATCH /api/box/notify/<project>/channels/<id> {"enabled": …}
1651
+ * DELETE /api/box/notify/<project>/channels/<id>
1652
+ * POST /api/box/notify/<project>/channels/<id>/test
1653
+ * PUT/PATCH/DELETE /api/box/notify/<project>/rules/<id>
1654
+ * PUT/DELETE /api/box/notify/<project>/quiet-hours
1655
+ * GET /api/box/notify/<project>/series the ledger
1656
+ * POST /api/box/notify/<project>/series/<key>/reset
1657
+ * PUT/DELETE /api/box/notify/<project>/mutes/<id>
1658
+ * GET /api/box/notify/<project>/preview?rule=<id>&state=<state>
1659
+ */
1660
+ declare const BOX_NOTIFY_PATH = "/api/box/notify";
1661
+ declare function boxNotifyProjectPath(project: string): string;
1662
+ declare function boxNotifyChannelPath(project: string, channelId: string): string;
1663
+ declare function boxNotifyTestPath(project: string, channelId: string): string;
1664
+ declare function boxNotifyRulePath(project: string, ruleId: string): string;
1665
+ declare function boxNotifyQuietHoursPath(project: string): string;
1666
+ declare function boxNotifySeriesPath(project: string): string;
1667
+ /** The key (`project/env/kind:name`) travels as ONE segment. */
1668
+ declare function boxNotifySeriesResetPath(project: string, seriesKey: string): string;
1669
+ declare function boxNotifyMutePath(project: string, muteId: string): string;
1670
+ declare function boxNotifyPreviewPath(project: string, ruleId: string, state: BoxNotifyState): string;
1671
+ type BoxNotifyChannelKind = "slack" | "telegram" | "webhook";
1672
+ declare const BOX_NOTIFY_CHANNEL_KINDS: readonly BoxNotifyChannelKind[];
1673
+ type BoxNotifyTriggerKind = RunTriggerKind;
1674
+ declare const BOX_NOTIFY_TRIGGER_KINDS: readonly BoxNotifyTriggerKind[];
1675
+ /** What a rule subscribes to. `passed` is said only about runs that are
1676
+ * not scheduled ticks; a schedule says `recovered`. */
1677
+ type BoxNotifyEvent = "failed" | "recovered" | "not-run" | "passed";
1678
+ declare const BOX_NOTIFY_EVENTS: readonly BoxNotifyEvent[];
1679
+ /** What a message can be about — the events plus the reminder. */
1680
+ type BoxNotifyState = BoxNotifyEvent | "still-failing";
1681
+ declare const BOX_NOTIFY_STATES: readonly BoxNotifyState[];
1682
+ /** A credential as a page sees it: whether there is one. */
1683
+ interface BoxNotifySecret {
1684
+ set: boolean;
1685
+ }
1686
+ interface BoxNotifyLastDelivery {
1687
+ at: number;
1688
+ outcome: "sent" | "failed";
1689
+ error?: string;
1690
+ }
1691
+ interface BoxNotifyChannelCommon {
1692
+ id: string;
1693
+ name: string;
1694
+ enabled: boolean;
1695
+ lastDelivery?: BoxNotifyLastDelivery;
1696
+ }
1697
+ type BoxNotifyChannelView = BoxNotifyChannelCommon & ({
1698
+ kind: "slack";
1699
+ webhookUrl: BoxNotifySecret;
1700
+ } | {
1701
+ kind: "telegram";
1702
+ botToken: BoxNotifySecret;
1703
+ chatId: string;
1704
+ threadId?: string;
1705
+ }
1706
+ /** Header VALUES are credentials (the receiver's `Authorization`,
1707
+ * most of the time): the view keeps the names and says `{ set }`. */
1708
+ | {
1709
+ kind: "webhook";
1710
+ url: string;
1711
+ secret: BoxNotifySecret;
1712
+ headers?: Record<string, BoxNotifySecret>;
1713
+ });
1714
+ interface BoxNotifyRule {
1715
+ id: string;
1716
+ name?: string;
1717
+ enabled: boolean;
1718
+ /** Absent = every environment of the project. */
1719
+ environments?: string[];
1720
+ triggers: BoxNotifyTriggerKind[];
1721
+ events: BoxNotifyEvent[];
1722
+ /** Channel ids. */
1723
+ channels: string[];
1724
+ afterFailures: number;
1725
+ /** Milliseconds. */
1726
+ repeatEvery?: number;
1727
+ }
1728
+ type BoxNotifyMuteScope = {
1729
+ series: string;
1730
+ } | {
1731
+ project: true;
1732
+ };
1733
+ interface BoxNotifyMute {
1734
+ id: string;
1735
+ scope: BoxNotifyMuteScope;
1736
+ /** Unix milliseconds; absent = until unmuted. */
1737
+ until?: number;
1738
+ by: string;
1739
+ reason?: string;
1740
+ at: number;
1741
+ }
1742
+ interface BoxNotifyQuietHours {
1743
+ from: string;
1744
+ to: string;
1745
+ /** IANA zone. */
1746
+ tz: string;
1747
+ }
1748
+ interface BoxNotifyProjectView {
1749
+ project: string;
1750
+ channels: BoxNotifyChannelView[];
1751
+ rules: BoxNotifyRule[];
1752
+ mutes: BoxNotifyMute[];
1753
+ quietHours?: BoxNotifyQuietHours;
1754
+ }
1755
+ interface BoxNotifyView {
1756
+ projects: BoxNotifyProjectView[];
1757
+ }
1758
+ /** One series of the ledger, as the page's table shows it. */
1759
+ interface BoxNotifySeriesEntry {
1760
+ /** `<project>/<environment>/<kind>:<name>`. */
1761
+ key: string;
1762
+ environment: string;
1763
+ target: {
1764
+ kind: "collection" | "scenario";
1765
+ name: string;
1766
+ };
1767
+ state: "ok" | "failed";
1768
+ /** The daemon's word for why (`tests-failed`, `not-arrived`, …). */
1769
+ reason: string;
1770
+ since: number;
1771
+ failures: number;
1772
+ lastNotifiedAt?: number;
1773
+ /** The mute covering it now, if any. */
1774
+ mute?: BoxNotifyMute;
1775
+ }
1776
+ interface BoxNotifySeriesView {
1777
+ project: string;
1778
+ series: BoxNotifySeriesEntry[];
1779
+ }
1780
+ /** The text a rule would send for one state — the daemon renders it from
1781
+ * a made-up run so the page can show it next to the rule. */
1782
+ interface BoxNotifyPreview {
1783
+ state: BoxNotifyState;
1784
+ title: string;
1785
+ lines: string[];
1786
+ url?: string;
1787
+ }
1788
+ /** `POST …/test` — what happened to the test event. */
1789
+ type BoxNotifyTestResult =
1790
+ /** `note` — a caveat on a delivery that went through: the channel is
1791
+ * switched off, so real events will not follow yet. */
1792
+ {
1793
+ status: "sent";
1794
+ channel: string;
1795
+ note?: string;
1796
+ } | {
1797
+ status: "failed";
1798
+ channel: string;
1799
+ message: string;
1800
+ };
1801
+ /** What a write answers with: which record, and what became of it. */
1802
+ interface BoxNotifyChanged {
1803
+ status: "created" | "updated" | "removed";
1804
+ id: string;
1805
+ }
1806
+ /** `PUT …/channels/<id>`. On an update a secret left out is KEPT — the
1807
+ * page never has the value to send back; on a create it is required. */
1808
+ type BoxNotifyChannelWrite = {
1809
+ name: string;
1810
+ enabled?: boolean;
1811
+ } & ({
1812
+ kind: "slack";
1813
+ webhookUrl?: string;
1814
+ } | {
1815
+ kind: "telegram";
1816
+ botToken?: string;
1817
+ chatId: string;
1818
+ threadId?: string;
1819
+ } | {
1820
+ kind: "webhook";
1821
+ url: string;
1822
+ secret?: string;
1823
+ headers?: Record<string, string>;
1824
+ });
1825
+ interface BoxNotifyEnabledPatch {
1826
+ enabled: boolean;
1827
+ }
1828
+ /** `PUT …/rules/<id>`. `enabled` absent keeps the rule's switch as it is
1829
+ * (a new rule is on). */
1830
+ interface BoxNotifyRuleWrite {
1831
+ name?: string;
1832
+ enabled?: boolean;
1833
+ environments?: string[];
1834
+ triggers?: BoxNotifyTriggerKind[];
1835
+ events?: BoxNotifyEvent[];
1836
+ channels: string[];
1837
+ afterFailures?: number;
1838
+ repeatEvery?: number;
1839
+ }
1840
+ interface BoxNotifyMuteWrite {
1841
+ scope: BoxNotifyMuteScope;
1842
+ until?: number;
1843
+ reason?: string;
1844
+ }
1845
+ type BoxNotifyQuietHoursWrite = BoxNotifyQuietHours;
1846
+ /** Why a notify request was refused. A code, not a message — the CLI and
1847
+ * the page turn each into their own advice. */
1848
+ type BoxNotifyErrorCode =
1849
+ /** No actor on the session door. */
1850
+ "unauthorized" | "unknown-project" | "unknown-channel" | "unknown-rule" | "unknown-mute" | "unknown-series"
1851
+ /** The body is not what the route takes, or the daemon's schema refused
1852
+ * it (a rule naming no channel, a duplicate name, a bad zone). */
1853
+ | "malformed" | "storage";
1854
+ interface BoxNotifyError {
1855
+ error: {
1856
+ code: BoxNotifyErrorCode;
1857
+ message: string;
1858
+ };
1859
+ }
1860
+ declare function parseBoxNotifyView(value: unknown): BoxNotifyView | null;
1861
+ declare function parseBoxNotifyProjectView(value: unknown): BoxNotifyProjectView | null;
1862
+ declare function parseBoxNotifySeriesView(value: unknown): BoxNotifySeriesView | null;
1863
+ declare function parseBoxNotifyPreview(value: unknown): BoxNotifyPreview | null;
1864
+ declare function parseBoxNotifyTestResult(value: unknown): BoxNotifyTestResult | null;
1865
+ declare function parseBoxNotifyChanged(value: unknown): BoxNotifyChanged | null;
1866
+ /** The daemon's refusal, or null when the body is not one of ours. */
1867
+ declare function parseBoxNotifyError(value: unknown): BoxNotifyError | null;
1868
+ declare function isBoxNotifyState(value: unknown): value is BoxNotifyState;
1869
+ /** The trigger a preview is rendered with, from a rule's first trigger —
1870
+ * kept here so the daemon and the page name the same sample actor. */
1871
+ declare function boxNotifyPreviewTrigger(kind: BoxNotifyTriggerKind): RunTrigger;
1872
+ declare function parseBoxNotifyMuteScope(value: unknown): BoxNotifyMuteScope | null;
1873
+
1874
+ /** The personal read token, for people and agents that would rather not
1875
+ * repeat it on every command line. Deliberately NOT `UNOTEST_BOX_TOKEN`
1876
+ * (see {@link BOX_TOKEN_ENV}): one is the project's push credential, the
1877
+ * other is a named human's read credential, and a box tells them apart.
1878
+ * Sent as `Authorization: Bearer <token>`. */
1879
+ declare const BOX_READ_TOKEN_ENV = "UNOTEST_BOX_READ_TOKEN";
1880
+ /** Read tokens carry a fixed prefix so a leaked one is greppable — in a
1881
+ * repository, a CI log, a paste. Both halves rely on it: the guard mints
1882
+ * it, the client refuses to send a value that lacks it rather than
1883
+ * spending a round-trip on a 401. */
1884
+ declare const BOX_READ_TOKEN_PREFIX = "ubr_";
1885
+ /** Which environment the request is about, as `<project>/<environment>`
1886
+ * — the same string the viewer's environment switcher sends back (see
1887
+ * {@link BoxReadEnvironment.name}).
1888
+ *
1889
+ * A bearer request has no session, and a session is where the guard
1890
+ * normally keeps "the environment this browser is looking at". So every
1891
+ * request names its own; there is no server-side selection to drift out
1892
+ * of step with what the caller believes. ONE header rather than a
1893
+ * project/environment pair: the pair is never meaningful apart, and two
1894
+ * headers make "project set, environment missing" a state to answer for.
1895
+ *
1896
+ * Lower-case because Node hands incoming headers over lower-cased and
1897
+ * `fetch` matches names case-insensitively on the way out — one spelling
1898
+ * works on both sides. Prose spells it `X-Unotest-Environment`. */
1899
+ declare const BOX_READ_ENVIRONMENT_HEADER = "x-unotest-environment";
1900
+ /** Where the environments a caller may read are listed, on the guard
1901
+ * itself rather than behind it — the answer is what the
1902
+ * {@link BOX_READ_ENVIRONMENT_HEADER} of every other request has to
1903
+ * say. Same route, same payload as the viewer's switcher reads. */
1904
+ declare const BOX_READ_ENVIRONMENTS_PATH = "/_guard/api/envs";
1905
+ /** One environment a caller may be routed to.
1906
+ *
1907
+ * Display fields are for grouping and labelling only: `name` is the
1908
+ * single thing sent back, never rebuilt out of `project` +
1909
+ * `environment` — a proxy without projects has no `project` at all. */
1910
+ interface BoxReadEnvironment {
1911
+ /** What {@link BOX_READ_ENVIRONMENT_HEADER} accepts, e.g. `acme/test`. */
1912
+ readonly name: string;
1913
+ /** Grouping axis. Absent when the proxy has no such notion. */
1914
+ readonly project?: string;
1915
+ readonly environment: string;
1916
+ /** What that environment serves right now (a bundle label). */
1917
+ readonly note?: string;
1918
+ }
1919
+ /** Why a read was refused. A code rather than a message, because the
1920
+ * status alone does not separate the two 404s a caller must act on
1921
+ * differently: an environment this box does not serve (fix the header,
1922
+ * or the token's box) and a run that environment has never heard of
1923
+ * (fix the run id). */
1924
+ type BoxReadErrorCode =
1925
+ /** Missing, malformed, unknown or revoked token; or its owner lost
1926
+ * their seat. */
1927
+ "unauthorized"
1928
+ /** A valid token on something read tokens never reach: a write, the
1929
+ * terminal, the guard's admin pages. */
1930
+ | "forbidden"
1931
+ /** No {@link BOX_READ_ENVIRONMENT_HEADER}, or one naming an
1932
+ * environment this box does not serve. */
1933
+ | "unknown-environment"
1934
+ /** The environment is real; what was asked for inside it is not. */
1935
+ | "not-found"
1936
+ /** Too many attempts too fast — the box is throttling, and the answer
1937
+ * carries a `Retry-After` header saying for how long.
1938
+ *
1939
+ * Its own code rather than an `unauthorized` with a header, because
1940
+ * the two ask for opposite things: a rejected token means mint a new
1941
+ * one, a throttled one means wait and send the SAME one again. A
1942
+ * caller that cannot tell them apart burns its token on every burst. */
1943
+ | "rate-limited"
1944
+ /** The run exists but is still going, and what was asked for only
1945
+ * makes sense once it has stopped — the export, whose journal would
1946
+ * otherwise be copied mid-write. Live runs are read through the
1947
+ * runtime route instead. Answered by the viewer behind the box, not by
1948
+ * the guard: the code union describes what a READER can meet, not who
1949
+ * emitted it. */
1950
+ | "run-in-progress"
1951
+ /** The box is there and the request was fine, but the environment
1952
+ * cannot answer yet: its viewer is still coming up, or the bundle it
1953
+ * was given failed to install. Common right after `bundle push --run`,
1954
+ * and the right response is to wait — which is why it is not folded
1955
+ * into "could not reach the box", whose advice is to check the URL. */
1956
+ | "unavailable"
1957
+ /** Not a readable request. */
1958
+ | "malformed";
1959
+ /** The body of a refusal. Named `…Body` because the CLIENT's exception
1960
+ * class is `BoxReadError` — this is the JSON it was built from. */
1961
+ interface BoxReadErrorBody {
1962
+ error: {
1963
+ code: BoxReadErrorCode;
1964
+ message: string;
1965
+ };
1966
+ }
1967
+ /** Parse a refusal. Null when the body is not one of ours — an HTML
1968
+ * error page from a proxy in front of the box, a captive portal, an
1969
+ * empty 502 — which the caller reports as "that URL is not a box"
1970
+ * instead of inventing a code for it. */
1971
+ declare function parseBoxReadError(value: unknown): BoxReadErrorBody | null;
1972
+ /** Parse the environment list. Null on anything that is not an array of
1973
+ * entries — same contract as {@link parseBoxReadError}: a shape we do
1974
+ * not recognise is not a box answering. */
1975
+ declare function parseBoxReadEnvironments(value: unknown): BoxReadEnvironment[] | null;
1976
+
1977
+ declare const BOX_RUNS_SEGMENT = "runs";
1978
+ /** Set by the guard, forwarded by the viewer verbatim, verified by the
1979
+ * daemon: WHO clicked, in a form the thing in between cannot write.
1980
+ * Named here because three packages have to spell it identically and
1981
+ * this is the one they all already depend on — the signing and the
1982
+ * verification live on the box side (`@unotest/box-kit`), which is
1983
+ * where the secret is. */
1984
+ declare const ACTOR_TICKET_HEADER = "x-unotest-actor-ticket";
1985
+ /** Set by the guard on its own requests to the daemon. The daemon reads
1986
+ * the actor label only next to a valid one. */
1987
+ declare const GUARD_SECRET_HEADER = "x-unotest-guard-secret";
1988
+ /** `/api/box/envs/<project>/<env>/runs`. */
1989
+ declare function boxRunsPath(project: string, environment: string): string;
1990
+ /** `/api/box/envs/<project>/<env>/runs/<runId>`. */
1991
+ declare function boxRunPath(project: string, environment: string, runId: string): string;
1992
+ /** What the viewer asks for. Deliberately not the viewer's own
1993
+ * `RunRequest`: that one carries local concerns (worker counts, debug
1994
+ * flags) the box decides for itself, and a box route that accepted them
1995
+ * would be a second way to configure a run. */
1996
+ interface BoxRunRequest {
1997
+ kind: "collection" | "scenario";
1998
+ /** Collection name, or a scenario ref (`folder/test`). */
1999
+ ref: string;
2000
+ }
2001
+ /** The daemon accepted the ticket. The run has NOT started — on a busy
2002
+ * box it may wait behind a suite for a while, which is the whole point
2003
+ * of there being one queue.
2004
+ *
2005
+ * No ticket name: the queue's file names are the box's own business,
2006
+ * and stopping a run goes back through `DELETE …/runs/<runId>` rather
2007
+ * than through the queue directly. The run id is the only handle a
2008
+ * caller needs, and the only one it is given. */
2009
+ interface BoxRunAccepted {
2010
+ runId: string;
2011
+ acceptedAt: number;
2012
+ }
2013
+ type BoxRunState = "queued" | "running" | "finished";
2014
+ interface BoxRunStatus {
2015
+ runId: string;
2016
+ state: BoxRunState;
2017
+ /** Present once the run ended. `null` when it died on a signal. */
2018
+ exitCode?: number | null;
2019
+ startedAt?: number;
2020
+ finishedAt?: number;
2021
+ }
2022
+ declare function parseBoxRunRequest(value: unknown): BoxRunRequest | null;
2023
+ declare function parseBoxRunAccepted(value: unknown): BoxRunAccepted | null;
2024
+ declare function parseBoxRunStatus(value: unknown): BoxRunStatus | null;
2025
+
1561
2026
  declare const WORKSPACE_SCHEMA_VERSION = 1;
1562
2027
  /** Written by the host beside the artifacts it manages:
1563
2028
  * `<artifactsRoot>/unotest/.workspace.json`. In the artifact tree and
@@ -1820,55 +2285,6 @@ interface CollectionMeta {
1820
2285
  prepare: string | null;
1821
2286
  }
1822
2287
 
1823
- declare const RUN_MANIFEST_FILE = "manifest.json";
1824
- interface RunManifest {
1825
- /** Format-version of this manifest. Bump only on breaking schema
1826
- * changes — additive optional fields don't require it. Starts at 1. */
1827
- schemaVersion: 1;
1828
- /** Identifies which RunRequest variant produced this run. */
1829
- kind: RunKind;
1830
- /** Original (un-sanitized) `ref` from the request — scenario `name`
1831
- * for `kind:"scenario"`, collection `name` for `kind:"collection"`.
1832
- * The `runId` directory uses a sanitized form; this carries the
1833
- * human-readable original. */
1834
- ref: string;
1835
- /** Run-id of the parent collection-run when this is a child scenario
1836
- * spawned inside a collection. Absent for top-level scenario-runs
1837
- * and for collection-runs themselves. */
1838
- parentRunId?: string;
1839
- /** Adapter `name` that produced this run (`"@unotest/web"`,
1840
- * `"@unotest/mobile"`). Lets the viewer pick rendering details for
1841
- * runner-specific bundle contents without runner branches in core
1842
- * logic. */
1843
- adapter: string;
1844
- /** Wallclock at runner start. Distinct from the first event's `t`
1845
- * (which may have leading delay for adapter setup). */
1846
- startedAt: number;
1847
- /** Environment name the run resolved (`UNOTEST_ENV` / `--env`), absent
1848
- * for base. Self-description only — placement already encodes it (the
1849
- * run lives under `.runs<suffix>.<env>`), so nothing filters on this. */
1850
- env?: string;
1851
- /** Opt-in artifact-capture flags as resolved from the runner's env at
1852
- * start (`UNOTEST_CONSOLE` / `UNOTEST_NETWORK`). Recorded here so the
1853
- * viewer can tell "capture was disabled" apart from "capture was on but
1854
- * the run aborted before writing console.json / network.json" — a
1855
- * distinction the mere presence of those files can't make. Optional: runs
1856
- * produced before this field existed simply omit it, and the viewer falls
1857
- * back to a file-presence heuristic. */
1858
- capture?: {
1859
- console: boolean;
1860
- network: boolean;
1861
- };
1862
- /** Which test bundle produced this run, when the sources came from one
1863
- * (`UNOTEST_BUNDLE_ID`, set by a box). Absent for every local run,
1864
- * where the sources are simply the working directory.
1865
- *
1866
- * Recorded so history stays readable after the fact: a box runs many
1867
- * bundles into one environment, and "which code produced this red
1868
- * run" is otherwise unanswerable once the environment moved on. */
1869
- bundleId?: string;
1870
- }
1871
-
1872
2288
  /** Snapshot file holding entry + every helper source that was loaded. */
1873
2289
  declare const RUN_SOURCES_FILE = "sources.json";
1874
2290
  interface RunSources {
@@ -2787,4 +3203,4 @@ declare const JUDGE_ENV: {
2787
3203
  readonly skipPreflight: "UNOTEST_JUDGE_SKIP_PREFLIGHT";
2788
3204
  };
2789
3205
 
2790
- export { ARTIFACTS_ROOT_ENV, type AddVariablePlan, type AddVariablePlanInput, type AppPathPickerSpec, type AppServerEvent, type AuthoringRunRequest, BLOBS_DIR, BOX_ENV_VALUES_SEGMENT, BOX_REVEAL_SEGMENT, BOX_SECRET_NAMES_ENV, BOX_TOKEN_ENV, BOX_URL_ENV, BOX_VALUES_PATH, BOX_VARIABLE_NAMES_ENV, BROWSER_CHANNEL_ENV, BROWSER_ENV, BUNDLED_BROWSER_CHANNEL, BUNDLE_ID_ENV, BUNDLE_MANIFEST_FILE, BUNDLE_SCHEMA_VERSION, BUNDLE_UPLOAD_PATH, type BoxEnvValuesReplaceRequest, type BoxEnvValuesView, type BoxSecretRevealResponse, type BoxSecretsRevealResponse, type BoxValueChanged, type BoxValueKind, type BoxValueSetRequest, type BoxValuesError, type BoxValuesErrorCode, type BoxValuesReplaceRequest, type BoxValuesReplaced, type BoxValuesResponse, type BreakpointEntry, type BreakpointsFile, type BundleGitInfo, type BundleManifest, type BundleUploadError, type BundleUploadErrorCode, type BundleUploadOk, type BundleUploadResponse, type BundleUploadStatus, type BundleVariableGap, CI_RUN_PATH, COLLECTIONS_SUBDIR, COLLECTION_NAME_FORBIDDEN_RE, COMMANDS_FILE, type CheckSeverity, type CiProviderId, type CiQueuedRun, type CiRunAccepted, type CiRunError, type CiRunErrorCode, type CiRunRequest, type CiRunResponse, type CollectionMeta, type CollectionRunArtifact, type CollectionRunFinishedEvent, type CollectionRunRequest, type CollectionRunStartedEvent, type CollectionRunTab, type CollectionScenarioFinishedEvent, type CollectionScenarioStartedEvent, type CollectionScheduleEntry, type CollectionTab, DAY_INDEX_FILE, DAY_SHORT, type DbgCommand, type DbgCommandAbort, type DbgCommandClearBp, type DbgCommandContinue, type DbgCommandKind, type DbgCommandPause, type DbgCommandPickerStart, type DbgCommandPickerStop, type DbgCommandProbe, type DbgCommandRecord, type DbgCommandSetBp, type DbgCommandSnapshot, type DbgCommandStep, type DbgCommandWheel, type DebugCapabilities, type DoctorCheck, type DoctorContext, type DslDiagnostic, type DslValidateContext, type DslVocabArg, type DslVocabCategory, type DslVocabEntry, E2E_SUBDIR, ENV_FILE, EXPECT_FAIL_ANNOTATION, type EnqueueRunInput, type EnvChangedMessage, type EnvFile, type EnvUpdate, type EnvVar, type ErrorMessage, FREQ_FIELDS, type FailureBundleWrittenEvent, type FsBreakpointsChangedMessage, type FsCollectionRunStepMessage, type FsCollectionsChangedMessage, type FsHelpersChangedMessage, type FsRunFinishedMessage, type FsRunStartedMessage, type FsRunStepMessage, type FsScenariosChangedMessage, HEARTBEAT_FILE, HELPERS_SUBDIR, type HelperMeta, type HelperTab, type HostRequirement, type IDslLanguageService, type ILaunchedProcess, type IProcessLauncher, type IRunQueue, type IRunnerAdapter, InvalidBlobHashError, JUDGE_ENV, JUDGE_ROUTES, type JudgeErrorResponse, type JudgeHealthResponse, type JudgeRequest, type JudgeVerdict, type JudgeVerdictEvent, LOCK_FILE, LOG_FILE, type LaunchSpec, type LocatorPickedEvent, type LockFile, type LogEvent, type LogLineMessage, type LoopIterationEvent, type Matcher, type NoteEvent, type OverviewTab, PICKER_SNAPSHOT_FILE, type ParsedTicketName, type PausedEvent, type PickerMode, type ProbeMatch, type ProbePinned, type ProbeResult, type ProbeResultEvent, QUEUE_DISABLED_ENV, QUEUE_GLOBAL_DIR_ENV, QUEUE_GLOBAL_SLOTS_ENV, QUEUE_LEASE_ENV, QUEUE_MUTEX_FILE, QUEUE_PRIORITIES, QUEUE_RUNNING_DIR, QUEUE_SCHEMA_VERSION, QUEUE_SLOTS_DIR, QUEUE_SUBDIR, QUEUE_TICKETS_DIR, type QueueChangedMessage, type QueueEntry, type QueuePoolState, type QueuePriority, type QueueProducer, type QueueProducerKind, type QueueSnapshot, type QueueTicket, type QueueTicketCi, type QueueTicketKind, type QueueTicketSource, RUNNER_CONFIG_KEYS, RUNNER_SETTING_PREFIX, RUNS_SUBDIR, RUNTIME_FILE, RUN_INDEX_SCHEMA_VERSION, RUN_MANIFEST_FILE, RUN_SOURCES_FILE, type RecordedActionKind, type RegexLiteral, type ResumedEvent, type RunArtifact, type RunFinishedEvent, type RunId, type RunIndexEntry, type RunIndexHeader, type RunKind, type RunManifest, type RunMeta, type RunOutcome, type RunQueueLease, type RunQueueTicketHandle, type RunRequest, type RunSources, type RunStartedEvent, type RunStatus, RunnerAdapterNotFoundError, RunnerNotConfiguredError, type RuntimeState, type RuntimeStateFile, SCENARIOS_INDEX_DIR, SCENARIOS_LATEST_FILE, SCENARIO_RECENT_WINDOW, SCHEDULES_FILE, SCHEDULES_FINGERPRINT_ENV, SECRETS_FILE, SEGMENT_NAME_FORBIDDEN_RE, SNAPSHOTS_SUBDIR, STDERR_FILE, STDOUT_FILE, STEPS_FILE, type ScenarioAnnotations, type ScenarioLatestEntry, type ScenarioMeta, type ScenarioRunRequest, type ScenarioRunTab, type ScenarioScheduleEntry, type ScenarioTab, type ScenariosLatest, type ScenariosPayload, type ScheduleEntry, type ScheduleFreq, type ScheduleSpec, type ScreenshotEvent, type SnapshotTab, type SoftFailureRecord, type StepBlockFinishedEvent, type StepBlockStartedEvent, type StepFailEvent, type StepOkEvent, type StepPosition, type StepStartedEvent, TARGET_ENV_VAR, TERMINAL_RUNTIME_STATES, TERMINAL_WS_EVENT, type TabKind, type TabKindName, type TerminalClientMessage, type TerminalCloseMessage, type TerminalDataMessage, type TerminalErrorMessage, type TerminalExitMessage, type TerminalKind, type TerminalOutputMessage, type TerminalResizeMessage, type TerminalServerMessage, type TerminalSpawnMessage, type ToolCallEvent, type ToolResultEvent, UNOTEST_DIR, UnplaceableRunIdError, UnsupportedRunKindError, type VariableCategory, type VariableKind, type VariablePlanError, WEEK_CHIP_ORDER, WORKSPACE_FILE, WORKSPACE_SCHEMA_VERSION, type WheelChangedEvent, type WorkspaceBundle, type WorkspaceFile, type WsMessage, type WsMessageKind, activeEnvName, artifactsRootFrom, blobPathFor, blobRelPathFor, blobRelSegmentsFor, blobsRootFor, boxEnvSecretRevealPath, boxEnvSecretsRevealPath, boxEnvValuePath, boxEnvValuesPath, boxValueKindOfSegment, boxValuePath, boxValuesPath, canonicalScheduleSet, categorizeVariable, compareQueueTicketNames, cronFromSpec, debugDirFor, debuggerFileFor, declaredEnvKeys, decodeNameList, deleteShadowWarning, describeBundle, describeCron, describeSpec, describeTicketCi, encodeNameList, envFileFor, envKeys, envLayerFilesFor, envNamesFromDirListing, foldScenarioRun, formatNextTick, insertEnvVar, isAnnotationLine, isEnvVarName, isExternalVarName, isFailingStatus, isQueueDirName, isRecord, isRegexLiteral, isRunnerConfigKey, isRunnerSetting, isRunsDirName, isTerminalRuntimeState, makeQueueTicketName, makeRunId, mergeSchedules, nextTickFromSpec, parseAppServerEvent, parseBoxEnvValuesReplaceRequest, parseBoxSecretRevealResponse, parseBoxSecretsRevealResponse, parseBoxValueSetRequest, parseBoxValuesReplaceRequest, parseBoxValuesResponse, parseBundleManifest, parseBundleUploadResponse, parseCiProvider, parseCiRunRequest, parseCiRunResponse, parseEnvContent, parseQueueTicket, parseQueueTicketName, parseScenarioAnnotations, parseScheduleEntry, parseSchedulesDoc, parseSchedulesJson, parseWorkspaceFile, planAddVariable, projectQueueRoot, projectRunDirFor, projectRunsRoot, queueDirFor, queuePriorityFromRank, queuePriorityRank, regexLiteral, removeEnvVar, requireRunDirFor, reservedBoxValueNames, runDirFor, runIdStartedAt, runsDirFor, sanitizeRunIdSegment, scenarioIndexFileName, scenarioRefFromFileName, scheduleTarget, secretsFileFor, secretsLayerFilesFor, serializeEnvValue, shardDaysDescending, shardDirFor, shardPathForRunId, shardPathForTimestamp, specFromCron, testDirFor, validateCollectionName, validateSegmentName };
3206
+ export { ACTOR_TICKET_HEADER, ARTIFACTS_ROOT_ENV, type AddVariablePlan, type AddVariablePlanInput, type AppPathPickerSpec, type AppServerEvent, type AuthoringRunRequest, BLOBS_DIR, BOX_ENV_VALUES_SEGMENT, BOX_NOTIFY_CHANNEL_KINDS, BOX_NOTIFY_EVENTS, BOX_NOTIFY_PATH, BOX_NOTIFY_STATES, BOX_NOTIFY_TRIGGER_KINDS, BOX_READ_ENVIRONMENTS_PATH, BOX_READ_ENVIRONMENT_HEADER, BOX_READ_TOKEN_ENV, BOX_READ_TOKEN_PREFIX, BOX_REVEAL_SEGMENT, BOX_RUNS_SEGMENT, BOX_SECRET_NAMES_ENV, BOX_TOKEN_ENV, BOX_URL_ENV, BOX_VALUES_PATH, BOX_VARIABLE_NAMES_ENV, BROWSER_CHANNEL_ENV, BROWSER_ENV, BUNDLED_BROWSER_CHANNEL, BUNDLE_ID_ENV, BUNDLE_MANIFEST_FILE, BUNDLE_SCHEMA_VERSION, BUNDLE_UPLOAD_PATH, type BoxEnvValuesReplaceRequest, type BoxEnvValuesView, type BoxNotifyChanged, type BoxNotifyChannelKind, type BoxNotifyChannelView, type BoxNotifyChannelWrite, type BoxNotifyEnabledPatch, type BoxNotifyError, type BoxNotifyErrorCode, type BoxNotifyEvent, type BoxNotifyLastDelivery, type BoxNotifyMute, type BoxNotifyMuteScope, type BoxNotifyMuteWrite, type BoxNotifyPreview, type BoxNotifyProjectView, type BoxNotifyQuietHours, type BoxNotifyQuietHoursWrite, type BoxNotifyRule, type BoxNotifyRuleWrite, type BoxNotifySecret, type BoxNotifySeriesEntry, type BoxNotifySeriesView, type BoxNotifyState, type BoxNotifyTestResult, type BoxNotifyTriggerKind, type BoxNotifyView, type BoxReadEnvironment, type BoxReadErrorBody, type BoxReadErrorCode, type BoxRunAccepted, type BoxRunRequest, type BoxRunState, type BoxRunStatus, type BoxSecretRevealResponse, type BoxSecretsRevealResponse, type BoxValueChanged, type BoxValueKind, type BoxValueSetRequest, type BoxValuesError, type BoxValuesErrorCode, type BoxValuesReplaceRequest, type BoxValuesReplaced, type BoxValuesResponse, type BreakpointEntry, type BreakpointsFile, type BundleGitInfo, type BundleManifest, type BundleUploadError, type BundleUploadErrorCode, type BundleUploadOk, type BundleUploadResponse, type BundleUploadStatus, type BundleVariableGap, CI_RUN_PATH, COLLECTIONS_SUBDIR, COLLECTION_NAME_FORBIDDEN_RE, COMMANDS_FILE, type CheckSeverity, type CiProviderId, type CiQueuedRun, type CiRunAccepted, type CiRunError, type CiRunErrorCode, type CiRunRequest, type CiRunResponse, type CollectionMeta, type CollectionRunArtifact, type CollectionRunFinishedEvent, type CollectionRunRequest, type CollectionRunStartedEvent, type CollectionRunTab, type CollectionScenarioFinishedEvent, type CollectionScenarioStartedEvent, type CollectionScheduleEntry, type CollectionTab, DAY_INDEX_FILE, DAY_SHORT, type DbgCommand, type DbgCommandAbort, type DbgCommandClearBp, type DbgCommandContinue, type DbgCommandKind, type DbgCommandPause, type DbgCommandPickerStart, type DbgCommandPickerStop, type DbgCommandProbe, type DbgCommandRecord, type DbgCommandSetBp, type DbgCommandSnapshot, type DbgCommandStep, type DbgCommandWheel, type DebugCapabilities, type DoctorCheck, type DoctorContext, type DslDiagnostic, type DslValidateContext, type DslVocabArg, type DslVocabCategory, type DslVocabEntry, E2E_SUBDIR, ENV_FILE, EXPECT_FAIL_ANNOTATION, type EnqueueRunInput, type EnvChangedMessage, type EnvFile, type EnvUpdate, type EnvVar, type ErrorMessage, FREQ_FIELDS, type FailureBundleWrittenEvent, type FsBreakpointsChangedMessage, type FsCollectionRunStepMessage, type FsCollectionsChangedMessage, type FsHelpersChangedMessage, type FsRunFinishedMessage, type FsRunStartedMessage, type FsRunStepMessage, type FsScenariosChangedMessage, GUARD_SECRET_HEADER, HEARTBEAT_FILE, HELPERS_SUBDIR, type HelperMeta, type HelperTab, type HostRequirement, type IDslLanguageService, type ILaunchedProcess, type IProcessLauncher, type IRunQueue, type IRunnerAdapter, InvalidBlobHashError, JUDGE_ENV, JUDGE_ROUTES, type JudgeErrorResponse, type JudgeHealthResponse, type JudgeRequest, type JudgeVerdict, type JudgeVerdictEvent, LOCK_FILE, LOG_FILE, type LaunchSpec, type LocatorPickedEvent, type LockFile, type LogEvent, type LogLineMessage, type LoopIterationEvent, type Matcher, type NoteEvent, type OverviewTab, PICKER_SNAPSHOT_FILE, type ParsedTicketName, type PausedEvent, type PickerMode, type ProbeMatch, type ProbePinned, type ProbeResult, type ProbeResultEvent, QUEUE_DISABLED_ENV, QUEUE_GLOBAL_DIR_ENV, QUEUE_GLOBAL_SLOTS_ENV, QUEUE_LEASE_ENV, QUEUE_MUTEX_FILE, QUEUE_PRIORITIES, QUEUE_RUNNING_DIR, QUEUE_SCHEMA_VERSION, QUEUE_SLOTS_DIR, QUEUE_SUBDIR, QUEUE_TICKETS_DIR, type QueueChangedMessage, type QueueEntry, type QueuePoolState, type QueuePriority, type QueueProducer, type QueueProducerKind, type QueueSnapshot, type QueueTicket, type QueueTicketCi, type QueueTicketKind, type QueueTicketSource, RUNNER_CONFIG_KEYS, RUNNER_SETTING_PREFIX, RUNS_SUBDIR, RUNTIME_FILE, RUN_ACTOR_ENV, RUN_INDEX_SCHEMA_VERSION, RUN_MANIFEST_FILE, RUN_SOURCES_FILE, RUN_TRIGGER_ENV, type RecordedActionKind, type RegexLiteral, type ResumedEvent, type RunArtifact, type RunFinishedEvent, type RunId, type RunIndexEntry, type RunIndexHeader, type RunKind, type RunManifest, type RunMeta, type RunOutcome, type RunQueueLease, type RunQueueTicketHandle, type RunRequest, type RunSources, type RunStartedEvent, type RunStatus, type RunTrigger, type RunTriggerKind, RunnerAdapterNotFoundError, RunnerNotConfiguredError, type RuntimeState, type RuntimeStateFile, SCENARIOS_INDEX_DIR, SCENARIOS_LATEST_FILE, SCENARIO_RECENT_WINDOW, SCHEDULES_FILE, SCHEDULES_FINGERPRINT_ENV, SECRETS_FILE, SEGMENT_NAME_FORBIDDEN_RE, SNAPSHOTS_SUBDIR, STDERR_FILE, STDOUT_FILE, STEPS_FILE, type ScenarioAnnotations, type ScenarioLatestEntry, type ScenarioMeta, type ScenarioRunRequest, type ScenarioRunTab, type ScenarioScheduleEntry, type ScenarioTab, type ScenariosLatest, type ScenariosPayload, type ScheduleEntry, type ScheduleFreq, type ScheduleSpec, type ScreenshotEvent, type SnapshotTab, type SoftFailureRecord, type StepBlockFinishedEvent, type StepBlockStartedEvent, type StepFailEvent, type StepOkEvent, type StepPosition, type StepStartedEvent, TARGET_ENV_VAR, TERMINAL_RUNTIME_STATES, TERMINAL_WS_EVENT, type TabKind, type TabKindName, type TerminalClientMessage, type TerminalCloseMessage, type TerminalDataMessage, type TerminalErrorMessage, type TerminalExitMessage, type TerminalKind, type TerminalOutputMessage, type TerminalResizeMessage, type TerminalServerMessage, type TerminalSpawnMessage, type ToolCallEvent, type ToolResultEvent, UNOTEST_DIR, UnplaceableRunIdError, UnsupportedRunKindError, type VariableCategory, type VariableKind, type VariablePlanError, WEEK_CHIP_ORDER, WORKSPACE_FILE, WORKSPACE_SCHEMA_VERSION, type WheelChangedEvent, type WorkspaceBundle, type WorkspaceFile, type WsMessage, type WsMessageKind, activeEnvName, artifactsRootFrom, blobPathFor, blobRelPathFor, blobRelSegmentsFor, blobsRootFor, boxEnvSecretRevealPath, boxEnvSecretsRevealPath, boxEnvValuePath, boxEnvValuesPath, boxNotifyChannelPath, boxNotifyMutePath, boxNotifyPreviewPath, boxNotifyPreviewTrigger, boxNotifyProjectPath, boxNotifyQuietHoursPath, boxNotifyRulePath, boxNotifySeriesPath, boxNotifySeriesResetPath, boxNotifyTestPath, boxRunPath, boxRunsPath, boxValueKindOfSegment, boxValuePath, boxValuesPath, canonicalScheduleSet, categorizeVariable, compareQueueTicketNames, cronFromSpec, debugDirFor, debuggerFileFor, declaredEnvKeys, decodeNameList, deleteShadowWarning, describeBundle, describeCron, describeSpec, describeTicketCi, encodeNameList, envFileFor, envKeys, envLayerFilesFor, envNamesFromDirListing, foldScenarioRun, formatNextTick, insertEnvVar, isAnnotationLine, isBoxNotifyState, isEnvVarName, isExternalVarName, isFailingStatus, isQueueDirName, isRecord, isRegexLiteral, isRunnerConfigKey, isRunnerSetting, isRunsDirName, isTerminalRuntimeState, makeQueueTicketName, makeRunId, manifestTrigger, mergeSchedules, nextTickFromSpec, parseAppServerEvent, parseBoxEnvValuesReplaceRequest, parseBoxNotifyChanged, parseBoxNotifyError, parseBoxNotifyMuteScope, parseBoxNotifyPreview, parseBoxNotifyProjectView, parseBoxNotifySeriesView, parseBoxNotifyTestResult, parseBoxNotifyView, parseBoxReadEnvironments, parseBoxReadError, parseBoxRunAccepted, parseBoxRunRequest, parseBoxRunStatus, parseBoxSecretRevealResponse, parseBoxSecretsRevealResponse, parseBoxValueSetRequest, parseBoxValuesReplaceRequest, parseBoxValuesResponse, parseBundleManifest, parseBundleUploadResponse, parseCiProvider, parseCiRunRequest, parseCiRunResponse, parseEnvContent, parseQueueTicket, parseQueueTicketName, parseScenarioAnnotations, parseScheduleEntry, parseSchedulesDoc, parseSchedulesJson, parseWorkspaceFile, planAddVariable, projectQueueRoot, projectRunDirFor, projectRunsRoot, queueDirFor, queuePriorityFromRank, queuePriorityRank, regexLiteral, removeEnvVar, requireRunDirFor, reservedBoxValueNames, runDirFor, runIdStartedAt, runTriggerEnv, runTriggerFromEnv, runsDirFor, sanitizeRunIdSegment, scenarioIndexFileName, scenarioRefFromFileName, scheduleTarget, secretsFileFor, secretsLayerFilesFor, serializeEnvValue, shardDaysDescending, shardDirFor, shardPathForRunId, shardPathForTimestamp, specFromCron, testDirFor, validateCollectionName, validateSegmentName };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- const _0x43a59c=_0x23ab;(function(_0x1230ef,_0x564212){const _0x1302c3={_0x479dad:0x217,_0x46e9bd:0x1e9,_0x416329:0x1e8,_0x20ea66:0x197,_0x5ac64f:0x1f4},_0x47874a=_0x23ab,_0x573962=_0x1230ef();while(!![]){try{const _0x49ece5=parseInt(_0x47874a(_0x1302c3._0x479dad))/0x1+parseInt(_0x47874a(0x1ef))/0x2+parseInt(_0x47874a(0x274))/0x3+-parseInt(_0x47874a(_0x1302c3._0x46e9bd))/0x4+-parseInt(_0x47874a(_0x1302c3._0x416329))/0x5+-parseInt(_0x47874a(_0x1302c3._0x20ea66))/0x6+parseInt(_0x47874a(_0x1302c3._0x5ac64f))/0x7;if(_0x49ece5===_0x564212)break;else _0x573962['push'](_0x573962['shift']());}catch(_0x57e982){_0x573962['push'](_0x573962['shift']());}}}(_0x2e87,0x449f6));var __defProp=Object['defineProperty'],__name=(_0x2c6b49,_0xf0c11a)=>__defProp(_0x2c6b49,_0x43a59c(0x24b),{'value':_0xf0c11a,'configurable':!![]});function parseAppServerEvent(_0x1d34d1){const _0x33f651={_0x413e04:0x19a,_0x35c38a:0x1c0,_0x14a80f:0x279},_0x1d0a43=_0x43a59c,_0x5099c8=_0x1d34d1[_0x1d0a43(_0x33f651._0x413e04)]();if(!_0x5099c8['startsWith']('{'))return null;try{const _0x2050a6=JSON[_0x1d0a43(0x189)](_0x5099c8);if(_0x2050a6[_0x1d0a43(_0x33f651._0x35c38a)]===_0x1d0a43(0x1a1)||_0x2050a6[_0x1d0a43(0x1c0)]===_0x1d0a43(0x1ab)||_0x2050a6['kind']===_0x1d0a43(_0x33f651._0x14a80f))return _0x2050a6;return null;}catch{return null;}}__name(parseAppServerEvent,'parseAppServerEvent');function isRecord(_0x4fd7a4){const _0x49361f={_0x3d60bf:0x2c4},_0x54c882=_0x43a59c;return typeof _0x4fd7a4===_0x54c882(_0x49361f._0x3d60bf)&&_0x4fd7a4!==null&&!Array[_0x54c882(0x2ca)](_0x4fd7a4);}__name(isRecord,_0x43a59c(0x26e));var UNOTEST_DIR=_0x43a59c(0x1aa),E2E_SUBDIR='e2e',HELPERS_SUBDIR=_0x43a59c(0x23b),COLLECTIONS_SUBDIR='_collections',RUNS_SUBDIR=_0x43a59c(0x2bf),SNAPSHOTS_SUBDIR=_0x43a59c(0x240);function testDirFor(_0xd042e4){return''+E2E_SUBDIR+_0xd042e4;}__name(testDirFor,_0x43a59c(0x267));function runsDirFor(_0x4c11bb,_0x29071b){return''+RUNS_SUBDIR+_0x4c11bb+(_0x29071b?'.'+_0x29071b:'');}__name(runsDirFor,'runsDirFor');function isRunsDirName(_0x5bddef){const _0x2b7428={_0x2748a0:0x214},_0x1caaad=_0x43a59c;return _0x5bddef===RUNS_SUBDIR||_0x5bddef[_0x1caaad(_0x2b7428._0x2748a0)](RUNS_SUBDIR+'-')||_0x5bddef['startsWith'](RUNS_SUBDIR+'.');}__name(isRunsDirName,_0x43a59c(0x2b7));function debugDirFor(_0x68c23e){const _0x307158={_0x21c5d0:0x2c0},_0xe8638b=_0x43a59c;return _0xe8638b(_0x307158._0x21c5d0)+_0x68c23e;}__name(debugDirFor,'debugDirFor');function debuggerFileFor(_0x3ab8ab){const _0x1fffb3={_0x2fbc75:0x1b4},_0x31ba9a=_0x43a59c;return UNOTEST_DIR+_0x31ba9a(_0x1fffb3._0x2fbc75)+_0x3ab8ab+_0x31ba9a(0x2c6);}__name(debuggerFileFor,_0x43a59c(0x299));var LOCK_FILE=_0x43a59c(0x2bb),LOG_FILE='.viewer.log',STEPS_FILE=_0x43a59c(0x1ca),HEARTBEAT_FILE=_0x43a59c(0x1ea),DAY_INDEX_FILE='_day.jsonl',SCENARIOS_INDEX_DIR=_0x43a59c(0x286),SCENARIOS_LATEST_FILE=_0x43a59c(0x1ac),STDOUT_FILE=_0x43a59c(0x284),STDERR_FILE=_0x43a59c(0x239),COMMANDS_FILE=_0x43a59c(0x206),RUNTIME_FILE='runtime.json',PICKER_SNAPSHOT_FILE=_0x43a59c(0x26a),ENV_FILE=_0x43a59c(0x27d),SECRETS_FILE='unotest/.secrets',SCHEDULES_FILE=_0x43a59c(0x247);function envFileFor(_0xf9908,_0x5f740){return''+ENV_FILE+_0xf9908+(_0x5f740?'.'+_0x5f740:'');}__name(envFileFor,'envFileFor');function secretsFileFor(_0x55a817,_0x582188){return''+SECRETS_FILE+_0x55a817+(_0x582188?'.'+_0x582188:'');}__name(secretsFileFor,_0x43a59c(0x1f0));function envLayerFilesFor(_0x296d29,_0x46d0be){return layersFor(ENV_FILE,_0x296d29,_0x46d0be);}__name(envLayerFilesFor,_0x43a59c(0x22b));function secretsLayerFilesFor(_0x7b7b93,_0x1f9f86){return layersFor(SECRETS_FILE,_0x7b7b93,_0x1f9f86);}__name(secretsLayerFilesFor,_0x43a59c(0x28e));function layersFor(_0x4ccdf3,_0x331c23,_0x5bb304){const _0x3e35bd={_0x5e8e9b:0x190},_0x25d30f=_0x43a59c,_0x25e125=[_0x4ccdf3];if(_0x331c23)_0x25e125[_0x25d30f(0x190)](''+_0x4ccdf3+_0x331c23);if(_0x5bb304){_0x25e125[_0x25d30f(_0x3e35bd._0x5e8e9b)](_0x4ccdf3+'.'+_0x5bb304);if(_0x331c23)_0x25e125['push'](''+_0x4ccdf3+_0x331c23+'.'+_0x5bb304);}return _0x25e125;}__name(layersFor,'layersFor');var ARTIFACTS_ROOT_ENV=_0x43a59c(0x27c);function artifactsRootFrom(_0x1987ba,_0x4e1d8c){const _0x11f069={_0x288599:0x19a},_0x2214bd=_0x43a59c,_0x17b3c2=_0x1987ba[ARTIFACTS_ROOT_ENV]?.[_0x2214bd(_0x11f069._0x288599)]();return _0x17b3c2?_0x17b3c2:_0x4e1d8c;}__name(artifactsRootFrom,_0x43a59c(0x2cf));function activeEnvName(_0x5bf5e0){const _0x4fbc9e={_0x3c79d3:0x19a},_0x9367a2=_0x43a59c,_0x3ac103=_0x5bf5e0[_0x9367a2(0x1a3)]?.[_0x9367a2(_0x4fbc9e._0x3c79d3)]();return _0x3ac103?_0x3ac103:void 0x0;}__name(activeEnvName,_0x43a59c(0x19f));var RESERVED_ENV_NAMES=new Set([_0x43a59c(0x2b3),_0x43a59c(0x18b),_0x43a59c(0x2d4)]);function envNamesFromDirListing(_0x177f8f,_0x455536){const _0x247f53={_0x562756:0x2db,_0x2cd0ae:0x23a,_0x189400:0x2b6,_0x22b0ed:0x1ed},_0x1eb387=_0x43a59c,_0x371ae4=[_0x1eb387(_0x247f53._0x562756),'.secrets']['flatMap'](_0x127ba8=>_0x455536?[_0x127ba8,''+_0x127ba8+_0x455536]:[_0x127ba8]),_0x12c162=new Set();for(const _0x8af67e of _0x177f8f){for(const _0x4846ba of _0x371ae4){const _0x432ab6=_0x4846ba+'.';if(!_0x8af67e[_0x1eb387(0x214)](_0x432ab6))continue;const _0x406242=_0x8af67e[_0x1eb387(_0x247f53._0x2cd0ae)](_0x432ab6[_0x1eb387(_0x247f53._0x189400)]);if(!_0x406242||_0x406242['includes']('/'))continue;if(RESERVED_ENV_NAMES['has'](_0x406242))continue;_0x12c162[_0x1eb387(_0x247f53._0x22b0ed)](_0x406242);}}return[..._0x12c162][_0x1eb387(0x1c2)]();}__name(envNamesFromDirListing,_0x43a59c(0x2a2));function isRegexLiteral(_0x5419c4){const _0x10af93={_0x1b5e1b:0x229,_0x3b66fc:0x1c6,_0x4f3b8d:0x2ab},_0x2f4eca=_0x43a59c;return typeof _0x5419c4===_0x2f4eca(0x2c4)&&_0x5419c4!==null&&_0x5419c4[_0x2f4eca(0x1c0)]===_0x2f4eca(0x26c)&&typeof _0x5419c4[_0x2f4eca(_0x10af93._0x1b5e1b)]==='string'&&typeof _0x5419c4[_0x2f4eca(_0x10af93._0x3b66fc)]===_0x2f4eca(_0x10af93._0x4f3b8d);}__name(isRegexLiteral,_0x43a59c(0x1eb));function regexLiteral(_0x39e77a,_0x30cd44=''){const _0x2b0c6a=_0x43a59c;return{'kind':_0x2b0c6a(0x26c),'source':_0x39e77a,'flags':_0x30cd44};}__name(regexLiteral,_0x43a59c(0x2a9));var RAND_BYTES=0x6;function makeRunId(_0x441519){const _0xfd688f={_0x5b8f33:0x219,_0x590718:0x264,_0x1ddfd3:0x2b4},_0x538057=_0x43a59c,_0x7110da=sanitizeRunIdSegment(_0x441519),_0x276766=Date[_0x538057(0x22e)]()[_0x538057(_0xfd688f._0x5b8f33)](0x24),_0x4543fa=new Uint8Array(RAND_BYTES);globalThis['crypto'][_0x538057(_0xfd688f._0x590718)](_0x4543fa);let _0x56bc2d='';for(let _0x5ce942=0x0;_0x5ce942<_0x4543fa[_0x538057(0x2b6)];_0x5ce942++){_0x56bc2d+=_0x4543fa[_0x5ce942][_0x538057(0x219)](0x10)[_0x538057(_0xfd688f._0x1ddfd3)](0x2,'0');}return _0x7110da+'-'+_0x276766+'-'+_0x56bc2d;}__name(makeRunId,_0x43a59c(0x209));function sanitizeRunIdSegment(_0x1fa9ce){const _0x3ded2a={_0x55f61d:0x253,_0x415f84:0x253},_0x353096=_0x43a59c,_0x1f83b5=_0x1fa9ce[_0x353096(_0x3ded2a._0x55f61d)](/[^a-zA-Z0-9_-]+/g,'-')[_0x353096(_0x3ded2a._0x415f84)](/-+/g,'-')[_0x353096(_0x3ded2a._0x415f84)](/^-|-$/g,'');return _0x1f83b5[_0x353096(0x2b6)]>0x0?_0x1f83b5:'run';}__name(sanitizeRunIdSegment,'sanitizeRunIdSegment');var RANDOM_SUFFIX_RE=/^[0-9a-f]{6,}$/,MIN_PLAUSIBLE_MS=Date[_0x43a59c(0x24c)](0x7e4,0x0,0x1),MAX_PLAUSIBLE_MS=Date[_0x43a59c(0x24c)](0x834,0x0,0x1);function runIdStartedAt(_0x52f506){const _0x3dc107={_0x4ae9a8:0x2b6,_0x3cdc45:0x2b6,_0x1d5549:0x1b8,_0x3d5374:0x1b5},_0x36f98a=_0x43a59c,_0x1eeb56=_0x52f506['split']('-');if(_0x1eeb56[_0x36f98a(_0x3dc107._0x4ae9a8)]<0x3)return null;const _0x243380=_0x1eeb56[_0x1eeb56[_0x36f98a(_0x3dc107._0x3cdc45)]-0x1];if(!RANDOM_SUFFIX_RE[_0x36f98a(_0x3dc107._0x1d5549)](_0x243380))return null;const _0x321108=_0x1eeb56[_0x1eeb56[_0x36f98a(_0x3dc107._0x3cdc45)]-0x2];if(!/^[0-9a-z]+$/[_0x36f98a(0x1b8)](_0x321108))return null;const _0x59acc5=parseInt(_0x321108,0x24);if(!Number[_0x36f98a(_0x3dc107._0x3d5374)](_0x59acc5))return null;if(_0x59acc5<MIN_PLAUSIBLE_MS||_0x59acc5>=MAX_PLAUSIBLE_MS)return null;return _0x59acc5;}__name(runIdStartedAt,_0x43a59c(0x2b2));function shardPathForTimestamp(_0x5d96f3){const _0x456aec={_0xb87ece:0x2b4,_0x375d36:0x1f3,_0x29a85a:0x2b4},_0x2d1fc6=_0x43a59c,_0xcb3bb3=new Date(_0x5d96f3),_0x294751=String(_0xcb3bb3[_0x2d1fc6(0x207)]())[_0x2d1fc6(0x2b4)](0x4,'0'),_0xe33c34=String(_0xcb3bb3['getUTCMonth']()+0x1)[_0x2d1fc6(_0x456aec._0xb87ece)](0x2,'0'),_0x571f37=String(_0xcb3bb3[_0x2d1fc6(_0x456aec._0x375d36)]())[_0x2d1fc6(_0x456aec._0x29a85a)](0x2,'0');return _0x294751+'/'+_0xe33c34+'/'+_0x571f37;}__name(shardPathForTimestamp,_0x43a59c(0x2ee));function shardPathForRunId(_0x1d6020){const _0x414d91=runIdStartedAt(_0x1d6020);return _0x414d91===null?null:shardPathForTimestamp(_0x414d91);}__name(shardPathForRunId,_0x43a59c(0x297));function runDirFor(_0x2ee6db,_0x375eca){const _0x4d3e93=shardPathForRunId(_0x375eca);return _0x4d3e93===null?null:_0x2ee6db+'/'+_0x4d3e93+'/'+_0x375eca;}__name(runDirFor,_0x43a59c(0x23e));var UnplaceableRunIdError=class extends Error{static{__name(this,_0x43a59c(0x21b));}constructor(_0x1aabbe){const _0x39597b={_0x42c591:0x21b},_0x4c4b27=_0x43a59c;super(_0x4c4b27(0x20f)+_0x1aabbe),this[_0x4c4b27(0x24b)]=_0x4c4b27(_0x39597b._0x42c591);}};function requireRunDirFor(_0x3e3a40,_0x52256c){const _0x5e9e68=runDirFor(_0x3e3a40,_0x52256c);if(_0x5e9e68===null)throw new UnplaceableRunIdError(_0x52256c);return _0x5e9e68;}__name(requireRunDirFor,'requireRunDirFor');function projectRunsRoot(_0x2badf6='',_0x126ca1){return UNOTEST_DIR+'/'+runsDirFor(_0x2badf6,_0x126ca1);}__name(projectRunsRoot,_0x43a59c(0x1f2));function projectRunDirFor(_0x40c570,_0x5bcfb6='',_0x38c4f7){return requireRunDirFor(projectRunsRoot(_0x5bcfb6,_0x38c4f7),_0x40c570);}__name(projectRunDirFor,'projectRunDirFor');function shardDirFor(_0x1f1f06,_0x4ba280){return _0x1f1f06+'/'+shardPathForTimestamp(_0x4ba280);}__name(shardDirFor,'shardDirFor');function*shardDaysDescending(_0xc16f46,_0x2fe7dc,_0xaa446e){const _0x520287={_0x3b96ec:0x2a3},_0x2646aa=_0x43a59c,_0x16ba3c=0x5265c00;let _0x19acf0=Math[_0x2646aa(_0x520287._0x3b96ec)](_0x2fe7dc/_0x16ba3c)*_0x16ba3c;for(let _0x552b03=0x0;_0x552b03<_0xaa446e;_0x552b03++){yield shardDirFor(_0xc16f46,_0x19acf0),_0x19acf0-=_0x16ba3c;}}__name(shardDaysDescending,_0x43a59c(0x243));var RUN_INDEX_SCHEMA_VERSION=0x2,SCENARIO_RECENT_WINDOW=0xc;function isFailingStatus(_0x27dda0){const _0x5ecba5={_0x2855a2:0x2ef},_0x50de96=_0x43a59c;return _0x27dda0===_0x50de96(_0x5ecba5._0x2855a2)||_0x27dda0==='interrupted';}__name(isFailingStatus,_0x43a59c(0x1b2));function foldScenarioRun(_0x53680d,_0x557903){const _0x97fd07={_0x541132:0x251,_0x3b1c18:0x262,_0x461e5b:0x251,_0x19b43d:0x23a,_0x1fcef4:0x1cf,_0x21aff4:0x285},_0x53470b=_0x43a59c,_0x2da32={'lastRunId':_0x557903[_0x53470b(0x1cb)],'lastStatus':_0x557903[_0x53470b(_0x97fd07._0x541132)],'lastAt':_0x557903[_0x53470b(0x285)],'lastDurationMs':_0x557903[_0x53470b(0x28c)],'recent':[..._0x53680d?.[_0x53470b(_0x97fd07._0x3b1c18)]??[],_0x557903[_0x53470b(_0x97fd07._0x461e5b)]][_0x53470b(_0x97fd07._0x19b43d)](-SCENARIO_RECENT_WINDOW)};if(!isFailingStatus(_0x557903['status']))return{..._0x2da32,'failStreak':0x0,'failingSince':null};const _0x117734=(_0x53680d?.[_0x53470b(_0x97fd07._0x1fcef4)]??0x0)+0x1;return{..._0x2da32,'failStreak':_0x117734,'failingSince':_0x117734===0x1?_0x557903[_0x53470b(_0x97fd07._0x21aff4)]:_0x53680d?.['failingSince']??_0x557903[_0x53470b(0x285)]};}__name(foldScenarioRun,_0x43a59c(0x1bf));function scenarioIndexFileName(_0x2184da){const _0x39871d=_0x43a59c;return encodeURIComponent(_0x2184da)+_0x39871d(0x2e1);}__name(scenarioIndexFileName,'scenarioIndexFileName');function scenarioRefFromFileName(_0x1b70a0){const _0x4a633f={_0x11e98a:0x2d9,_0x14ebcd:0x2b6},_0x1b24ab=_0x43a59c;if(!_0x1b70a0[_0x1b24ab(_0x4a633f._0x11e98a)]('.jsonl'))return null;try{return decodeURIComponent(_0x1b70a0[_0x1b24ab(0x23a)](0x0,-_0x1b24ab(0x2e1)[_0x1b24ab(_0x4a633f._0x14ebcd)]));}catch{return null;}}__name(scenarioRefFromFileName,'scenarioRefFromFileName');var CI_RUN_PATH=_0x43a59c(0x19b),PROVIDER_IDS=[_0x43a59c(0x231),_0x43a59c(0x1fb),'api'],RUN_ERROR_CODES=['unauthorized',_0x43a59c(0x2eb),_0x43a59c(0x2e8),_0x43a59c(0x292),'no-collections',_0x43a59c(0x25b),_0x43a59c(0x282)];function parseCiRunRequest(_0x3849f3){const _0x2afff5={_0x4812fe:0x2ab,_0x1be253:0x2ab},_0x4835e8=_0x43a59c;if(!isRecord(_0x3849f3))return null;const {bundleId:_0x5afa88,environment:_0x3ee39d,collections:_0x1113b5,pr:_0x58f7cc,branch:_0x4df46b,sha:_0x4a590d}=_0x3849f3;if(typeof _0x5afa88!=='string'||_0x5afa88[_0x4835e8(0x2b6)]===0x0)return null;if(typeof _0x3ee39d!==_0x4835e8(_0x2afff5._0x4812fe)||_0x3ee39d[_0x4835e8(0x2b6)]===0x0)return null;let _0x5dc8ea=null;if(_0x1113b5!==void 0x0){if(!Array['isArray'](_0x1113b5))return null;if(_0x1113b5[_0x4835e8(0x1c4)](_0x3860d7=>typeof _0x3860d7!=='string'||_0x3860d7[_0x4835e8(0x2b6)]===0x0))return null;_0x5dc8ea=_0x1113b5;}if(_0x58f7cc!==void 0x0&&(typeof _0x58f7cc!==_0x4835e8(0x2ae)||!Number[_0x4835e8(0x29a)](_0x58f7cc)))return null;for(const _0xe246a7 of[_0x4df46b,_0x4a590d]){if(_0xe246a7!==void 0x0&&typeof _0xe246a7!==_0x4835e8(_0x2afff5._0x1be253))return null;}return{'bundleId':_0x5afa88,'environment':_0x3ee39d,..._0x5dc8ea?{'collections':_0x5dc8ea}:{},...typeof _0x58f7cc==='number'?{'pr':_0x58f7cc}:{},...typeof _0x4df46b==='string'?{'branch':_0x4df46b}:{},...typeof _0x4a590d===_0x4835e8(0x2ab)?{'sha':_0x4a590d}:{}};}__name(parseCiRunRequest,'parseCiRunRequest');function parseCiRunResponse(_0x1e4c71){const _0x470fd0={_0x28fe54:0x2ab,_0x3fcd4d:0x1b0,_0xcab095:0x2ca,_0x3331eb:0x2ae,_0x9ca46b:0x2ae},_0x532288=_0x43a59c;if(!isRecord(_0x1e4c71))return null;if(isRecord(_0x1e4c71['error'])){const {code:_0x493089,message:_0x5d1a1e}=_0x1e4c71[_0x532288(0x1a6)];if(!RUN_ERROR_CODES[_0x532288(0x241)](_0x493089))return null;if(typeof _0x5d1a1e!==_0x532288(_0x470fd0._0x28fe54))return null;return{'error':{'code':_0x493089,'message':_0x5d1a1e}};}const {status:_0x45be13,bundleId:_0x4cfcfd,environment:_0x347d95,runs:_0xc96754,superseded:_0x5f387d}=_0x1e4c71;if(_0x45be13!==_0x532288(_0x470fd0._0x3fcd4d))return null;if(typeof _0x4cfcfd!==_0x532288(0x2ab)||typeof _0x347d95!=='string')return null;if(!Array[_0x532288(_0x470fd0._0xcab095)](_0xc96754))return null;const _0x36365e=[];for(const _0x4855a9 of _0xc96754){if(!isRecord(_0x4855a9))return null;const {runId:_0x6090da,collection:_0x48f941}=_0x4855a9;if(typeof _0x6090da!=='string'||typeof _0x48f941!=='string')return null;_0x36365e[_0x532288(0x190)]({'runId':_0x6090da,'collection':_0x48f941});}if(_0x5f387d!==void 0x0&&typeof _0x5f387d!==_0x532288(_0x470fd0._0x3331eb))return null;return{'status':_0x532288(0x1b0),'bundleId':_0x4cfcfd,'environment':_0x347d95,'runs':_0x36365e,...typeof _0x5f387d===_0x532288(_0x470fd0._0x9ca46b)?{'superseded':_0x5f387d}:{}};}__name(parseCiRunResponse,_0x43a59c(0x215));function parseCiProvider(_0x254999){const _0x40c4e7={_0x3b2a3a:0x241},_0x52f7cf=_0x43a59c;return PROVIDER_IDS[_0x52f7cf(_0x40c4e7._0x3b2a3a)](_0x254999)?_0x254999:null;}__name(parseCiProvider,_0x43a59c(0x291));var QUEUE_SUBDIR=_0x43a59c(0x18c),QUEUE_TICKETS_DIR=_0x43a59c(0x1b1),QUEUE_RUNNING_DIR=_0x43a59c(0x1b9),QUEUE_SLOTS_DIR=_0x43a59c(0x22a),QUEUE_MUTEX_FILE=_0x43a59c(0x212),QUEUE_LEASE_ENV=_0x43a59c(0x25f),QUEUE_DISABLED_ENV=_0x43a59c(0x1b3),QUEUE_GLOBAL_DIR_ENV=_0x43a59c(0x278),QUEUE_GLOBAL_SLOTS_ENV=_0x43a59c(0x1af),QUEUE_SCHEMA_VERSION=0x1;function queueDirFor(_0x5d12c6,_0x1cd2d3){return''+QUEUE_SUBDIR+_0x5d12c6+(_0x1cd2d3?'.'+_0x1cd2d3:'');}__name(queueDirFor,_0x43a59c(0x25c));function isQueueDirName(_0x294511){return _0x294511===QUEUE_SUBDIR||_0x294511['startsWith'](QUEUE_SUBDIR+'-')||_0x294511['startsWith'](QUEUE_SUBDIR+'.');}__name(isQueueDirName,_0x43a59c(0x235));function projectQueueRoot(_0x3faf5c='',_0x2f7c28){return UNOTEST_DIR+'/'+queueDirFor(_0x3faf5c,_0x2f7c28);}__name(projectQueueRoot,_0x43a59c(0x2be));var PRIORITY_RANKS=Object['freeze']({'maintenance':0x0,'interactive':0x1,'ci':0x2,'schedule':0x3}),RANK_PRIORITIES=[_0x43a59c(0x2e4),'interactive','ci',_0x43a59c(0x237)],QUEUE_PRIORITIES=RANK_PRIORITIES;function queuePriorityRank(_0x9f0fc6){return PRIORITY_RANKS[_0x9f0fc6];}__name(queuePriorityRank,_0x43a59c(0x200));function queuePriorityFromRank(_0x4f12ff){return RANK_PRIORITIES[_0x4f12ff]??null;}__name(queuePriorityFromRank,_0x43a59c(0x196));function describeTicketCi(_0x368d50){const _0x283cf2={_0x20b31e:0x263,_0xa588d0:0x1f8,_0x1d2416:0x1ee,_0x94f5d5:0x2b6,_0x94eda6:0x23a},_0x3e9c5a=_0x43a59c,_0x35f1d3=_0x368d50[_0x3e9c5a(0x263)]?'@'+_0x368d50[_0x3e9c5a(_0x283cf2._0x20b31e)][_0x3e9c5a(0x23a)](0x0,0x7):'';if(_0x368d50['pr']!==void 0x0)return _0x3e9c5a(_0x283cf2._0xa588d0)+_0x368d50['pr']+_0x35f1d3;if(_0x368d50[_0x3e9c5a(0x1ee)]!==void 0x0)return''+_0x368d50[_0x3e9c5a(_0x283cf2._0x1d2416)]+_0x35f1d3;return _0x35f1d3[_0x3e9c5a(_0x283cf2._0x94f5d5)]>0x0?_0x35f1d3[_0x3e9c5a(_0x283cf2._0x94eda6)](0x1):_0x368d50[_0x3e9c5a(0x18e)];}__name(describeTicketCi,_0x43a59c(0x199));function makeQueueTicketName(_0x402118,_0x3e1f50,_0x1fa4bb){const _0x37ba1e={_0x366e62:0x219},_0x5e14b9=_0x43a59c;return queuePriorityRank(_0x402118)+'-'+_0x3e1f50[_0x5e14b9(_0x37ba1e._0x366e62)](0x24)+'-'+_0x1fa4bb+'.json';}__name(makeQueueTicketName,_0x43a59c(0x2d0));var TICKET_NAME_RE=/^([0-3])-([0-9a-z]+)-([0-9a-f]+)\.json$/;function parseQueueTicketName(_0x312073){const _0x4c66d2={_0xb0f900:0x194,_0x2ba378:0x1b5},_0x8161b9=_0x43a59c,_0x33071=TICKET_NAME_RE[_0x8161b9(_0x4c66d2._0xb0f900)](_0x312073);if(!_0x33071)return null;const _0x285b8f=Number(_0x33071[0x1]),_0x2d38cc=queuePriorityFromRank(_0x285b8f);if(_0x2d38cc===null)return null;const _0x19e7a6=parseInt(_0x33071[0x2],0x24);if(!Number[_0x8161b9(_0x4c66d2._0x2ba378)](_0x19e7a6))return null;return{'rank':_0x285b8f,'priority':_0x2d38cc,'createdAt':_0x19e7a6,'random':_0x33071[0x3]};}__name(parseQueueTicketName,_0x43a59c(0x244));function compareQueueTicketNames(_0x1fca82,_0x34994c){const _0x4a1852={_0x4d77c7:0x18f},_0x39c3bd=_0x43a59c,_0xdeecaa=parseQueueTicketName(_0x1fca82),_0x178e4a=parseQueueTicketName(_0x34994c);if(!_0xdeecaa||!_0x178e4a)return _0x1fca82<_0x34994c?-0x1:_0x1fca82>_0x34994c?0x1:0x0;if(_0xdeecaa[_0x39c3bd(_0x4a1852._0x4d77c7)]!==_0x178e4a['rank'])return _0xdeecaa[_0x39c3bd(0x18f)]-_0x178e4a['rank'];if(_0xdeecaa['createdAt']!==_0x178e4a[_0x39c3bd(0x1bc)])return _0xdeecaa['createdAt']-_0x178e4a['createdAt'];return _0xdeecaa[_0x39c3bd(0x28d)]<_0x178e4a[_0x39c3bd(0x28d)]?-0x1:_0xdeecaa['random']>_0x178e4a[_0x39c3bd(0x28d)]?0x1:0x0;}__name(compareQueueTicketNames,_0x43a59c(0x256));var TICKET_KINDS=['scenario',_0x43a59c(0x29f),_0x43a59c(0x2ed),_0x43a59c(0x2e4)],PRODUCER_KINDS=[_0x43a59c(0x218),_0x43a59c(0x20a),_0x43a59c(0x2f0),'schedule','ci'];function parseQueueTicket(_0xd7afb6){const _0x3e1ce3={_0x25736f:0x2ab,_0x76475e:0x2ab,_0x3143cd:0x241,_0x20fb74:0x1b5,_0x3d9fe9:0x241,_0xbaee04:0x2ab,_0x3dbc15:0x20e},_0x2a3f94=_0x43a59c;if(!isRecord(_0xd7afb6))return null;const {schemaVersion:_0x2f5a08,runId:_0x25b51e,kind:_0x502259,ref:_0x4c4e4b,env:_0x267489,priority:_0x4aa93b,weight:_0x4d7b6b,producer:_0x1bf28c,source:_0x2bec05,ci:_0x3d8016,createdAt:_0x355701}=_0xd7afb6;if(_0x2f5a08!==QUEUE_SCHEMA_VERSION)return null;if(typeof _0x25b51e!==_0x2a3f94(_0x3e1ce3._0x25736f)||_0x25b51e[_0x2a3f94(0x2b6)]===0x0)return null;if(typeof _0x4c4e4b!==_0x2a3f94(_0x3e1ce3._0x76475e))return null;if(!TICKET_KINDS[_0x2a3f94(_0x3e1ce3._0x3143cd)](_0x502259))return null;if(!QUEUE_PRIORITIES['includes'](_0x4aa93b))return null;if(typeof _0x4d7b6b!=='number'||!Number[_0x2a3f94(_0x3e1ce3._0x20fb74)](_0x4d7b6b)||_0x4d7b6b<0x1)return null;if(typeof _0x355701!==_0x2a3f94(0x2ae)||!Number[_0x2a3f94(0x1b5)](_0x355701))return null;if(!isRecord(_0x1bf28c))return null;if(!PRODUCER_KINDS[_0x2a3f94(_0x3e1ce3._0x3d9fe9)](_0x1bf28c['kind']))return null;if(typeof _0x1bf28c[_0x2a3f94(0x27f)]!=='number'||typeof _0x1bf28c[_0x2a3f94(0x213)]!==_0x2a3f94(0x2ab))return null;if(_0x267489!==void 0x0&&typeof _0x267489!==_0x2a3f94(_0x3e1ce3._0x76475e))return null;let _0x264db8=null;if(_0x2bec05!==void 0x0){if(!isRecord(_0x2bec05)||typeof _0x2bec05[_0x2a3f94(0x20e)]!==_0x2a3f94(_0x3e1ce3._0xbaee04)||_0x2bec05[_0x2a3f94(_0x3e1ce3._0x3dbc15)][_0x2a3f94(0x2b6)]===0x0)return null;_0x264db8={'bundleId':_0x2bec05['bundleId']};}let _0x1c54da=null;if(_0x3d8016!==void 0x0){_0x1c54da=parseTicketCi(_0x3d8016);if(_0x1c54da===null)return null;}return{'schemaVersion':QUEUE_SCHEMA_VERSION,'runId':_0x25b51e,'kind':_0x502259,'ref':_0x4c4e4b,'priority':_0x4aa93b,'weight':_0x4d7b6b,'producer':{'kind':_0x1bf28c['kind'],'pid':_0x1bf28c[_0x2a3f94(0x27f)],'host':_0x1bf28c[_0x2a3f94(0x213)]},'createdAt':_0x355701,...typeof _0x267489===_0x2a3f94(_0x3e1ce3._0x25736f)?{'env':_0x267489}:{},..._0x264db8?{'source':_0x264db8}:{},..._0x1c54da?{'ci':_0x1c54da}:{}};}__name(parseQueueTicket,_0x43a59c(0x288));function parseTicketCi(_0x44477d){const _0x25a3ae={_0x2992ad:0x2ab},_0x373194=_0x43a59c;if(!isRecord(_0x44477d))return null;const _0x34aae1=parseCiProvider(_0x44477d[_0x373194(0x18e)]);if(_0x34aae1===null)return null;const {repo:_0x3da3a2,branch:_0x4fdc5c,sha:_0x3ce905,pr:_0x4ecba6,checkId:_0x57a122}=_0x44477d;for(const _0x2b2a66 of[_0x3da3a2,_0x4fdc5c,_0x3ce905,_0x57a122]){if(_0x2b2a66!==void 0x0&&typeof _0x2b2a66!=='string')return null;}if(_0x4ecba6!==void 0x0&&(typeof _0x4ecba6!==_0x373194(0x2ae)||!Number[_0x373194(0x29a)](_0x4ecba6)))return null;return{'provider':_0x34aae1,...typeof _0x3da3a2===_0x373194(0x2ab)?{'repo':_0x3da3a2}:{},...typeof _0x4fdc5c===_0x373194(_0x25a3ae._0x2992ad)?{'branch':_0x4fdc5c}:{},...typeof _0x3ce905===_0x373194(0x2ab)?{'sha':_0x3ce905}:{},...typeof _0x4ecba6==='number'?{'pr':_0x4ecba6}:{},...typeof _0x57a122===_0x373194(0x2ab)?{'checkId':_0x57a122}:{}};}__name(parseTicketCi,_0x43a59c(0x272));var BUNDLE_SCHEMA_VERSION=0x1,BUNDLE_MANIFEST_FILE=_0x43a59c(0x25d),BUNDLE_UPLOAD_PATH=_0x43a59c(0x201),BOX_URL_ENV='UNOTEST_BOX_URL',BOX_TOKEN_ENV=_0x43a59c(0x203),BUNDLE_ID_ENV=_0x43a59c(0x295),SCHEDULES_FINGERPRINT_ENV=_0x43a59c(0x29b);function parseGitInfo(_0x4b9923){const _0x4be0af={_0x3491d1:0x2ab,_0x52d46a:0x2ab},_0x16a3e6=_0x43a59c;if(!isRecord(_0x4b9923))return null;const {repo:_0x308580,branch:_0x39ba30,sha:_0x1b3303,dirty:_0x43be33}=_0x4b9923;if(typeof _0x43be33!=='boolean')return null;for(const _0x4ad84a of[_0x308580,_0x39ba30,_0x1b3303]){if(_0x4ad84a!==void 0x0&&typeof _0x4ad84a!=='string')return null;}return{'dirty':_0x43be33,...typeof _0x308580===_0x16a3e6(0x2ab)?{'repo':_0x308580}:{},...typeof _0x39ba30===_0x16a3e6(_0x4be0af._0x3491d1)?{'branch':_0x39ba30}:{},...typeof _0x1b3303===_0x16a3e6(_0x4be0af._0x52d46a)?{'sha':_0x1b3303}:{}};}__name(parseGitInfo,_0x43a59c(0x1d4));function parseBundleManifest(_0x26743e){const _0x3bcf15={_0x2d6aec:0x1b8,_0x2ef3b2:0x2ab,_0x3ee077:0x29a,_0x41631e:0x2ab,_0x3b59e5:0x1e4,_0x214718:0x1b8},_0x257d99=_0x43a59c;if(!isRecord(_0x26743e))return null;const {schemaVersion:_0x4aaec1,bundleId:_0x5eb364,sha256:_0x11b87b,createdAt:_0x37bcb3,webVersion:_0x525541,author:_0x417853,git:_0x200865,fileCount:_0x1de452,byteSize:_0x415dfe,declaredVariables:_0x97126,schedulesFingerprint:_0x33637b}=_0x26743e;if(_0x4aaec1!==BUNDLE_SCHEMA_VERSION)return null;if(typeof _0x5eb364!==_0x257d99(0x2ab)||_0x5eb364[_0x257d99(0x2b6)]===0x0)return null;if(_0x11b87b!==void 0x0&&!/^[0-9a-f]{64}$/[_0x257d99(_0x3bcf15._0x2d6aec)](String(_0x11b87b)))return null;if(typeof _0x525541!==_0x257d99(_0x3bcf15._0x2ef3b2)||_0x525541[_0x257d99(0x2b6)]===0x0)return null;if(typeof _0x37bcb3!==_0x257d99(0x2ae)||!Number['isFinite'](_0x37bcb3))return null;if(typeof _0x1de452!==_0x257d99(0x2ae)||!Number[_0x257d99(_0x3bcf15._0x3ee077)](_0x1de452))return null;if(typeof _0x415dfe!==_0x257d99(0x2ae)||!Number[_0x257d99(_0x3bcf15._0x3ee077)](_0x415dfe))return null;if(_0x417853!==void 0x0&&typeof _0x417853!==_0x257d99(_0x3bcf15._0x41631e))return null;let _0x3bbee5=null;if(_0x200865!==void 0x0){_0x3bbee5=parseGitInfo(_0x200865);if(_0x3bbee5===null)return null;}const _0x22144d=Array['isArray'](_0x97126)?_0x97126[_0x257d99(_0x3bcf15._0x3b59e5)](_0x11d3ac=>typeof _0x11d3ac===_0x257d99(0x2ab)):[],_0x87eda3=typeof _0x33637b===_0x257d99(_0x3bcf15._0x41631e)&&/^[0-9a-f]{64}$/[_0x257d99(_0x3bcf15._0x214718)](_0x33637b)?_0x33637b:void 0x0;return{'schemaVersion':BUNDLE_SCHEMA_VERSION,'bundleId':_0x5eb364,...typeof _0x11b87b===_0x257d99(0x2ab)?{'sha256':_0x11b87b}:{},'createdAt':_0x37bcb3,'webVersion':_0x525541,'fileCount':_0x1de452,'byteSize':_0x415dfe,...typeof _0x417853===_0x257d99(0x2ab)?{'author':_0x417853}:{},..._0x3bbee5?{'git':_0x3bbee5}:{},..._0x22144d['length']>0x0?{'declaredVariables':_0x22144d}:{},..._0x87eda3!==void 0x0?{'schedulesFingerprint':_0x87eda3}:{}};}__name(parseBundleManifest,_0x43a59c(0x1a7));function describeBundle(_0x2efe55){const _0x24ee6e={_0x59a329:0x27a,_0x40b31b:0x263,_0x43ff10:0x263,_0x5143d7:0x23a,_0x54f6a9:0x1ee,_0x36ed60:0x1cd},_0x2a290a=_0x43a59c,_0x4ccc78=_0x2efe55[_0x2a290a(_0x24ee6e._0x59a329)];if(!_0x4ccc78||_0x4ccc78[_0x2a290a(0x1ee)]===void 0x0&&_0x4ccc78[_0x2a290a(_0x24ee6e._0x40b31b)]===void 0x0)return _0x2efe55['bundleId'];const _0x5547b2=_0x4ccc78['sha']?_0x4ccc78[_0x2a290a(_0x24ee6e._0x43ff10)][_0x2a290a(_0x24ee6e._0x5143d7)](0x0,0x7):'?',_0xe56b48=_0x4ccc78[_0x2a290a(_0x24ee6e._0x54f6a9)]??'?';return _0xe56b48+'@'+_0x5547b2+(_0x4ccc78[_0x2a290a(_0x24ee6e._0x36ed60)]?_0x2a290a(0x1e7):'');}__name(describeBundle,_0x43a59c(0x28b));var UPLOAD_ERROR_CODES=[_0x43a59c(0x21e),_0x43a59c(0x2bd),_0x43a59c(0x25b),_0x43a59c(0x226),_0x43a59c(0x29c),'scope-mismatch',_0x43a59c(0x282)];function parseBundleUploadResponse(_0x22eb7e){const _0x284537={_0x212b9f:0x1a6,_0x5633cf:0x2ab,_0xe2cb35:0x2dc,_0x5adb0b:0x2ab},_0x521fd5=_0x43a59c;if(!isRecord(_0x22eb7e))return null;if(isRecord(_0x22eb7e['error'])){const {code:_0x1e6635,message:_0x23b6c9}=_0x22eb7e[_0x521fd5(_0x284537._0x212b9f)];if(!UPLOAD_ERROR_CODES[_0x521fd5(0x241)](_0x1e6635))return null;if(typeof _0x23b6c9!==_0x521fd5(_0x284537._0x5633cf))return null;return{'error':{'code':_0x1e6635,'message':_0x23b6c9}};}const {status:_0x1e6f64,bundleId:_0x1f138f}=_0x22eb7e;if(_0x1e6f64!=='created'&&_0x1e6f64!==_0x521fd5(_0x284537._0xe2cb35))return null;if(typeof _0x1f138f!==_0x521fd5(_0x284537._0x5adb0b)||_0x1f138f[_0x521fd5(0x2b6)]===0x0)return null;const _0xa6bb99=parseVariableGaps(_0x22eb7e['variableGaps']);return _0xa6bb99===null?{'status':_0x1e6f64,'bundleId':_0x1f138f}:{'status':_0x1e6f64,'bundleId':_0x1f138f,'variableGaps':_0xa6bb99};}__name(parseBundleUploadResponse,_0x43a59c(0x1c7));function parseVariableGaps(_0x3bcacc){const _0x2f0739={_0x186e6e:0x2ca,_0xc04c4c:0x2ab,_0x12e192:0x190,_0x36fda9:0x2b6},_0x12c8be=_0x43a59c;if(!Array[_0x12c8be(_0x2f0739._0x186e6e)](_0x3bcacc))return null;const _0x3a1f76=[];for(const _0x2ab3b6 of _0x3bcacc){if(!isRecord(_0x2ab3b6))continue;const {project:_0x441dfd,environment:_0x43fc93,missing:_0x2c5979}=_0x2ab3b6;if(typeof _0x441dfd!==_0x12c8be(_0x2f0739._0xc04c4c)||typeof _0x43fc93!==_0x12c8be(0x2ab))continue;if(!Array[_0x12c8be(0x2ca)](_0x2c5979))continue;const _0x554a42=_0x2c5979['filter'](_0x1f16ba=>typeof _0x1f16ba===_0x12c8be(0x2ab));if(_0x554a42[_0x12c8be(0x2b6)]>0x0)_0x3a1f76[_0x12c8be(_0x2f0739._0x12e192)]({'project':_0x441dfd,'environment':_0x43fc93,'missing':_0x554a42});}return _0x3a1f76[_0x12c8be(_0x2f0739._0x36fda9)]>0x0?_0x3a1f76:null;}__name(parseVariableGaps,'parseVariableGaps');var BROWSER_ENV='UNOTEST_BROWSER',BROWSER_CHANNEL_ENV=_0x43a59c(0x1ec),BUNDLED_BROWSER_CHANNEL=_0x43a59c(0x2cd),BOX_VARIABLE_NAMES_ENV=_0x43a59c(0x198),BOX_SECRET_NAMES_ENV=_0x43a59c(0x257);function encodeNameList(_0x4d56de){const _0x4e74a2={_0x1ebda1:0x270},_0x4a9a8e=_0x43a59c;return _0x4d56de[_0x4a9a8e(_0x4e74a2._0x1ebda1)](',');}__name(encodeNameList,_0x43a59c(0x2ba));function decodeNameList(_0x49384c){const _0x2018d2={_0x45c88c:0x1e4},_0x490af5=_0x43a59c;if(_0x49384c===void 0x0)return[];return _0x49384c[_0x490af5(0x23d)](',')[_0x490af5(0x1fa)](_0x585afd=>_0x585afd[_0x490af5(0x19a)]())[_0x490af5(_0x2018d2._0x45c88c)](_0x420802=>_0x420802!=='');}__name(decodeNameList,_0x43a59c(0x2a1));var ENV_KEY_RE=/^[A-Za-z_][A-Za-z0-9_]*$/,UNHOLDABLE_NAME=_0x43a59c(0x1a4);function isEnvVarName(_0x442a64){const _0x3a5cb6={_0x577357:0x1b8},_0x459d2f=_0x43a59c;return ENV_KEY_RE[_0x459d2f(_0x3a5cb6._0x577357)](_0x442a64)&&_0x442a64!==UNHOLDABLE_NAME;}__name(isEnvVarName,_0x43a59c(0x230));function*assignmentEntries(_0x4d1e93){const _0x593b65={_0x478fb4:0x23d,_0x2012a0:0x19a,_0x4929fd:0x1ce,_0x10253a:0x19a},_0xe1c265=_0x43a59c;for(const _0x5df36c of _0x4d1e93[_0xe1c265(_0x593b65._0x478fb4)](/\r?\n/)){const _0x22ad43=_0x5df36c[_0xe1c265(_0x593b65._0x2012a0)]();if(_0x22ad43===''||_0x22ad43[_0xe1c265(0x214)]('#'))continue;const _0x25ced8=_0x22ad43[_0xe1c265(_0x593b65._0x4929fd)]('=');if(_0x25ced8<=0x0)continue;const _0x42f10f=_0x22ad43[_0xe1c265(0x23a)](0x0,_0x25ced8)[_0xe1c265(_0x593b65._0x10253a)]();if(!isEnvVarName(_0x42f10f))continue;yield[_0x42f10f,_0x22ad43[_0xe1c265(0x23a)](_0x25ced8+0x1)[_0xe1c265(0x19a)]()];}}__name(assignmentEntries,_0x43a59c(0x233));function parseEnvContent(_0x5b8346){const _0xca1fa2={_0x4ff71d:0x2b6,_0x35253e:0x23a},_0x3144a8=_0x43a59c,_0x567b51={};for(const [_0x2c8665,_0x4fa564]of assignmentEntries(_0x5b8346)){let _0x4abcb9=_0x4fa564;if(_0x4abcb9[_0x3144a8(_0xca1fa2._0x4ff71d)]>=0x2){const _0x48e2fe=_0x4abcb9[0x0],_0x39ea35=_0x4abcb9[_0x4abcb9[_0x3144a8(_0xca1fa2._0x4ff71d)]-0x1];(_0x48e2fe==='\x22'||_0x48e2fe==='\x27')&&_0x48e2fe===_0x39ea35&&(_0x4abcb9=_0x4abcb9[_0x3144a8(_0xca1fa2._0x35253e)](0x1,-0x1));}_0x567b51[_0x2c8665]=_0x4abcb9;}return _0x567b51;}__name(parseEnvContent,'parseEnvContent');function serializeEnvValue(_0x25b9e0){const _0x299771={_0x3d4558:0x253},_0x3df2a3=_0x43a59c;if(_0x25b9e0==='')return'';if(/[\s#"'=\\]|^[`]/[_0x3df2a3(0x1b8)](_0x25b9e0)||/[\n\r]/[_0x3df2a3(0x1b8)](_0x25b9e0)){const _0x159942=_0x25b9e0[_0x3df2a3(_0x299771._0x3d4558)](/\\/g,'\x5c\x5c')[_0x3df2a3(_0x299771._0x3d4558)](/"/g,'\x5c\x22')[_0x3df2a3(0x253)](/\n/g,'\x5cn')[_0x3df2a3(0x253)](/\r/g,'\x5cr');return'\x22'+_0x159942+'\x22';}return _0x25b9e0;}__name(serializeEnvValue,_0x43a59c(0x27b));function envKeys(_0x58ba61){const _0x37b313={_0xb9f3c3:0x1ed},_0x2fbda8=_0x43a59c,_0x528d2d=new Set();for(const [_0x35c5b2]of assignmentEntries(_0x58ba61))_0x528d2d[_0x2fbda8(_0x37b313._0xb9f3c3)](_0x35c5b2);return _0x528d2d;}__name(envKeys,_0x43a59c(0x2f1));function declaredEnvKeys(_0x450fa9){const _0x5d661a={_0x3c8016:0x23d,_0x16c8f2:0x194},_0x40bf6d=_0x43a59c,_0x19495a=new Set();for(const _0x5e2dbd of _0x450fa9[_0x40bf6d(_0x5d661a._0x3c8016)](/\r?\n/)){const _0x3f66d3=/^\s*(?:#\s*)?([A-Za-z_][A-Za-z0-9_]*)\s*=/[_0x40bf6d(_0x5d661a._0x16c8f2)](_0x5e2dbd);if(_0x3f66d3)_0x19495a[_0x40bf6d(0x1ed)](_0x3f66d3[0x1]);}return _0x19495a;}__name(declaredEnvKeys,'declaredEnvKeys');function isSectionDivider(_0x4238e2){const _0x1c0082={_0x4e90fc:0x19a},_0x58281f=_0x43a59c,_0x5deec4=_0x4238e2[_0x58281f(_0x1c0082._0x4e90fc)]();return _0x5deec4['startsWith']('#')&&/---/['test'](_0x5deec4);}__name(isSectionDivider,'isSectionDivider');function isAssignmentLine(_0x52290d){const _0x49e2cb={_0x58be05:0x214,_0x365a4f:0x1ce},_0x118170=_0x43a59c,_0x57a575=_0x52290d[_0x118170(0x19a)]();if(_0x57a575===''||_0x57a575[_0x118170(_0x49e2cb._0x58be05)]('#'))return![];const _0x384c19=_0x57a575[_0x118170(_0x49e2cb._0x365a4f)]('=');return _0x384c19>0x0&&ENV_KEY_RE['test'](_0x57a575[_0x118170(0x23a)](0x0,_0x384c19)['trim']());}__name(isAssignmentLine,_0x43a59c(0x1d7));function isAssignmentOf(_0x1cf859,_0x516aa5){const _0x84e0a0={_0x532682:0x23a},_0x464c12=_0x43a59c,_0x5b9ccd=_0x1cf859['trim']();if(_0x5b9ccd===''||_0x5b9ccd['startsWith']('#'))return![];const _0x4aa18a=_0x5b9ccd['indexOf']('=');if(_0x4aa18a<=0x0)return![];return _0x5b9ccd[_0x464c12(_0x84e0a0._0x532682)](0x0,_0x4aa18a)[_0x464c12(0x19a)]()===_0x516aa5;}__name(isAssignmentOf,'isAssignmentOf');function splitLines(_0x253db0){const _0xe841ac=_0x43a59c,_0x2a90f6=_0x253db0['endsWith']('\x0a'),_0x2d619b=_0x2a90f6?_0x253db0['slice'](0x0,-0x1):_0x253db0;return{'lines':_0x2d619b===''?[]:_0x2d619b[_0xe841ac(0x23d)]('\x0a'),'trailingNewline':_0x2a90f6};}__name(splitLines,'splitLines');function joinLines(_0x3f8ab3,_0x27f424){const _0x199d22=_0x3f8ab3['join']('\x0a');return _0x27f424||_0x199d22===''?_0x199d22+'\x0a':_0x199d22;}__name(joinLines,_0x43a59c(0x18a));function insertEnvVar(_0x548252,_0x45497f,_0x42f561,_0x5e59f2){const _0x1403aa={_0x1eac81:0x2ce,_0x340cc0:0x2b6,_0x48abb4:0x2b6,_0x2922af:0x19a,_0x43b84a:0x1d1,_0x1d31a3:0x2b6,_0x44b60e:0x190,_0x453235:0x29e,_0x5dfd06:0x190},_0x484a61=_0x43a59c,_0x48ca81=_0x45497f+'='+serializeEnvValue(_0x42f561),{lines:_0x53f46e,trailingNewline:_0x505c76}=splitLines(_0x548252);if(_0x5e59f2){const _0x2ca055=new RegExp('\x5cb'+_0x5e59f2[_0x484a61(0x1fd)]()+'\x5cb'),_0x52b2ce=_0x53f46e[_0x484a61(_0x1403aa._0x1eac81)](_0x2daf72=>isSectionDivider(_0x2daf72)&&_0x2ca055[_0x484a61(0x1b8)](_0x2daf72[_0x484a61(0x1fd)]()));if(_0x52b2ce!==-0x1){let _0x142e7e=_0x53f46e[_0x484a61(_0x1403aa._0x340cc0)];for(let _0x20d351=_0x52b2ce+0x1;_0x20d351<_0x53f46e[_0x484a61(_0x1403aa._0x48abb4)];_0x20d351++){if(isSectionDivider(_0x53f46e[_0x20d351])){_0x142e7e=_0x20d351;break;}}let _0x4edb30=-0x1,_0xe40f3a=-0x1;for(let _0xa807b4=_0x52b2ce+0x1;_0xa807b4<_0x142e7e;_0xa807b4++){if(_0x53f46e[_0xa807b4][_0x484a61(_0x1403aa._0x2922af)]()!=='')_0xe40f3a=_0xa807b4;if(isAssignmentLine(_0x53f46e[_0xa807b4]))_0x4edb30=_0xa807b4;}const _0x25ccba=_0x4edb30>=0x0?_0x4edb30:_0xe40f3a,_0x593acb=_0x25ccba>=0x0?_0x25ccba+0x1:_0x52b2ce+0x1;return _0x53f46e[_0x484a61(_0x1403aa._0x43b84a)](_0x593acb,0x0,_0x48ca81),joinLines(_0x53f46e,_0x505c76||_0x53f46e[_0x484a61(_0x1403aa._0x1d31a3)]>0x0);}if(_0x53f46e[_0x484a61(0x2b6)]>0x0)_0x53f46e[_0x484a61(_0x1403aa._0x44b60e)]('');return _0x53f46e[_0x484a61(0x190)](_0x484a61(_0x1403aa._0x453235)+_0x5e59f2+'\x20---',_0x48ca81),joinLines(_0x53f46e,!![]);}return _0x53f46e[_0x484a61(_0x1403aa._0x5dfd06)](_0x48ca81),joinLines(_0x53f46e,!![]);}__name(insertEnvVar,_0x43a59c(0x2dd));function removeEnvVar(_0x429925,_0x2e3fe5){const _0x1df026={_0x4cd5bc:0x1e4,_0x739f05:0x2b6},_0x206ac7=_0x43a59c,{lines:_0x48511a,trailingNewline:_0xa7299f}=splitLines(_0x429925),_0x28e917=_0x48511a[_0x206ac7(_0x1df026._0x4cd5bc)](_0x1b82d7=>!isAssignmentOf(_0x1b82d7,_0x2e3fe5)),_0x1557e2=_0x28e917[_0x206ac7(0x2b6)]!==_0x48511a[_0x206ac7(_0x1df026._0x739f05)];return{'content':joinLines(_0x28e917,_0xa7299f),'removed':_0x1557e2};}__name(removeEnvVar,_0x43a59c(0x21a));var TARGET_ENV_VAR=_0x43a59c(0x250),RUNNER_SETTING_PREFIX=_0x43a59c(0x1d5);function isRunnerSetting(_0x5ef66f){const _0x50654e={_0x21a3f8:0x214},_0x1e2b32=_0x43a59c;return _0x5ef66f[_0x1e2b32(_0x50654e._0x21a3f8)](RUNNER_SETTING_PREFIX);}__name(isRunnerSetting,_0x43a59c(0x289));var BOX_VALUES_PATH=_0x43a59c(0x2da),BOX_ENV_VALUES_SEGMENT=_0x43a59c(0x2a7),BOX_REVEAL_SEGMENT='reveal',KIND_SEGMENTS={'variable':_0x43a59c(0x2a5),'secret':'secrets'};function boxValueKindOfSegment(_0x25831b){const _0x1e8ea4=_0x43a59c;for(const [_0x9d4eac,_0x1aac06]of Object[_0x1e8ea4(0x2e7)](KIND_SEGMENTS)){if(_0x1aac06===_0x25831b)return _0x9d4eac;}return null;}__name(boxValueKindOfSegment,_0x43a59c(0x220));function boxValuesPath(_0xf7ded){return BOX_VALUES_PATH+'/'+encodeURIComponent(_0xf7ded);}__name(boxValuesPath,'boxValuesPath');function boxValuePath(_0x447eb7,_0x17b44a,_0x220fd5){return boxValuesPath(_0x447eb7)+'/'+valueSuffix(_0x17b44a,_0x220fd5);}__name(boxValuePath,_0x43a59c(0x280));function boxEnvValuesPath(_0x203db9,_0xd6f680){const _0x55633c={_0x4d6374:0x258},_0x156c53=_0x43a59c;return _0x156c53(_0x55633c._0x4d6374)+encodeURIComponent(_0x203db9)+'/'+encodeURIComponent(_0xd6f680)+'/'+BOX_ENV_VALUES_SEGMENT;}__name(boxEnvValuesPath,_0x43a59c(0x2b5));function boxEnvValuePath(_0x1d9acc,_0x3e2b66,_0x5b59e4,_0x67162c){return boxEnvValuesPath(_0x1d9acc,_0x3e2b66)+'/'+valueSuffix(_0x5b59e4,_0x67162c);}__name(boxEnvValuePath,_0x43a59c(0x2b1));function boxEnvSecretRevealPath(_0xed0c9b,_0x2ab8f1,_0x1549cc){const _0x168db6=_0x43a59c;return boxEnvValuePath(_0xed0c9b,_0x2ab8f1,_0x168db6(0x2c2),_0x1549cc)+'/'+BOX_REVEAL_SEGMENT;}__name(boxEnvSecretRevealPath,_0x43a59c(0x2e9));function boxEnvSecretsRevealPath(_0x214281,_0x53d42b){return boxEnvValuesPath(_0x214281,_0x53d42b)+'/'+BOX_REVEAL_SEGMENT;}__name(boxEnvSecretsRevealPath,_0x43a59c(0x276));function valueSuffix(_0x36e523,_0x49d119){const _0x38fdb6={_0xc65c10:0x208},_0x1adcd1=_0x43a59c;if(_0x36e523==='target')return _0x1adcd1(_0x38fdb6._0xc65c10);if(_0x49d119===void 0x0)throw new Error('a\x20'+_0x36e523+_0x1adcd1(0x2a0));return KIND_SEGMENTS[_0x36e523]+'/'+encodeURIComponent(_0x49d119);}__name(valueSuffix,_0x43a59c(0x2d5));function parseBoxValuesReplaceRequest(_0x11472b){return parseReplaceRequest(_0x11472b,parseStringRecord);}__name(parseBoxValuesReplaceRequest,_0x43a59c(0x23c));function parseBoxEnvValuesReplaceRequest(_0x1ef3a4){return parseReplaceRequest(_0x1ef3a4,parseKeepRecord);}__name(parseBoxEnvValuesReplaceRequest,'parseBoxEnvValuesReplaceRequest');function parseBoxValueSetRequest(_0x3bff8b){return parseValueEnvelope(_0x3bff8b);}__name(parseBoxValueSetRequest,_0x43a59c(0x2ad));function reservedBoxValueNames(_0x27036f){const _0x254b5e={_0x2b4dd9:0x2a5},_0x4f2f0f=_0x43a59c;return[...Object[_0x4f2f0f(0x20d)](_0x27036f[_0x4f2f0f(_0x254b5e._0x2b4dd9)]),...Object[_0x4f2f0f(0x20d)](_0x27036f['secrets'])][_0x4f2f0f(0x1e4)](_0x5be201=>_0x5be201===TARGET_ENV_VAR);}__name(reservedBoxValueNames,'reservedBoxValueNames');function parseReplaceRequest(_0x2256a6,_0x3fa4e0){const _0x196398=_0x43a59c;if(!isRecord(_0x2256a6))return null;const {target:_0x18da17,variables:_0x1b2771,secrets:_0x31355f}=_0x2256a6;if(_0x18da17!==void 0x0&&typeof _0x18da17!==_0x196398(0x2ab))return null;const _0x52f9ae=parseStringRecord(_0x1b2771),_0x5bfc41=_0x3fa4e0(_0x31355f);if(_0x52f9ae===null||_0x5bfc41===null)return null;return{...typeof _0x18da17===_0x196398(0x2ab)?{'target':_0x18da17}:{},'variables':_0x52f9ae,'secrets':_0x5bfc41};}__name(parseReplaceRequest,_0x43a59c(0x205));function parseValueEnvelope(_0x5c6704){const _0x3bf6a6={_0x124a47:0x273,_0x42de85:0x2ab},_0x52d288=_0x43a59c;if(!isRecord(_0x5c6704))return null;return typeof _0x5c6704[_0x52d288(_0x3bf6a6._0x124a47)]===_0x52d288(_0x3bf6a6._0x42de85)?{'value':_0x5c6704[_0x52d288(0x273)]}:null;}__name(parseValueEnvelope,_0x43a59c(0x192));function parseStringRecord(_0x305d9e){return parseNamedRecord(_0x305d9e,isString);}__name(parseStringRecord,_0x43a59c(0x298));function parseKeepRecord(_0x206326){return parseNamedRecord(_0x206326,_0x5edf42=>_0x5edf42===null||isString(_0x5edf42));}__name(parseKeepRecord,_0x43a59c(0x1db));function parseNamedRecord(_0x2efb6b,_0x118b3c){const _0x42b80b={_0x3d760d:0x2e7},_0x384473=_0x43a59c;if(!isRecord(_0x2efb6b))return null;const _0x130c0c={};for(const [_0x57de27,_0x4d65f7]of Object[_0x384473(_0x42b80b._0x3d760d)](_0x2efb6b)){if(!isEnvVarName(_0x57de27)||!_0x118b3c(_0x4d65f7))return null;_0x130c0c[_0x57de27]=_0x4d65f7;}return _0x130c0c;}__name(parseNamedRecord,_0x43a59c(0x19e));function isString(_0x4b6ff7){const _0x51a9c4={_0x4995d2:0x2ab},_0x1002c7=_0x43a59c;return typeof _0x4b6ff7===_0x1002c7(_0x51a9c4._0x4995d2);}__name(isString,'isString');var VALUES_ERROR_CODES=['unauthorized','forbidden',_0x43a59c(0x2eb),_0x43a59c(0x2e8),'unknown-secret',_0x43a59c(0x1c3),_0x43a59c(0x25b),_0x43a59c(0x282)],VALUE_KINDS=['target',_0x43a59c(0x283),'secret'];function parseBoxValuesResponse(_0x1d9ab3){const _0x538f67={_0x31cf12:0x1a6,_0x2c13b0:0x1a6,_0x300bd4:0x2e2,_0x20eb2a:0x2a5,_0x4d2818:0x191,_0x259ec5:0x22d,_0x4a8bac:0x20b},_0x13a5e4=_0x43a59c;if(!isRecord(_0x1d9ab3))return null;if(isRecord(_0x1d9ab3[_0x13a5e4(_0x538f67._0x31cf12)])){const {code:_0x893ec4,message:_0x308b26}=_0x1d9ab3[_0x13a5e4(_0x538f67._0x2c13b0)];if(!VALUES_ERROR_CODES['includes'](_0x893ec4))return null;if(typeof _0x308b26!=='string')return null;return{'error':{'code':_0x893ec4,'message':_0x308b26}};}const {status:_0xdc68b1,environment:_0x2655bc}=_0x1d9ab3;if(typeof _0x2655bc!=='string')return null;if(_0xdc68b1===_0x13a5e4(0x2d8)){const {target:_0x5e00c9,variables:_0x2900cd,secrets:_0x39d145,removed:_0xa86851}=_0x1d9ab3;if(typeof _0x5e00c9!==_0x13a5e4(_0x538f67._0x300bd4))return null;const _0x4e85a9=parseNameList(_0x2900cd),_0x48b6d0=parseNameList(_0x39d145);if(_0x4e85a9===null||_0x48b6d0===null||!isRecord(_0xa86851))return null;const _0x389808=parseNameList(_0xa86851[_0x13a5e4(_0x538f67._0x20eb2a)]),_0x1e2ba8=parseNameList(_0xa86851[_0x13a5e4(_0x538f67._0x4d2818)]);if(typeof _0xa86851[_0x13a5e4(0x208)]!==_0x13a5e4(_0x538f67._0x300bd4)||_0x389808===null||_0x1e2ba8===null)return null;return{'status':_0xdc68b1,'environment':_0x2655bc,'target':_0x5e00c9,'variables':_0x4e85a9,'secrets':_0x48b6d0,'removed':{'target':_0xa86851['target'],'variables':_0x389808,'secrets':_0x1e2ba8}};}if(_0xdc68b1===_0x13a5e4(_0x538f67._0x259ec5)||_0xdc68b1===_0x13a5e4(_0x538f67._0x4a8bac)){const {kind:_0x51fed7,name:_0x2d2c1e}=_0x1d9ab3;if(!VALUE_KINDS['includes'](_0x51fed7))return null;if(_0x2d2c1e!==void 0x0&&typeof _0x2d2c1e!==_0x13a5e4(0x2ab))return null;return{'status':_0xdc68b1,'environment':_0x2655bc,'kind':_0x51fed7,...typeof _0x2d2c1e===_0x13a5e4(0x2ab)?{'name':_0x2d2c1e}:{}};}return null;}__name(parseBoxValuesResponse,_0x43a59c(0x193));function parseNameList(_0x30c048){const _0x222455={_0x132092:0x2ca,_0x818084:0x1a2},_0x4de589=_0x43a59c;if(!Array[_0x4de589(_0x222455._0x132092)](_0x30c048))return null;return _0x30c048[_0x4de589(_0x222455._0x818084)](_0x231b0d=>typeof _0x231b0d===_0x4de589(0x2ab))?_0x30c048:null;}__name(parseNameList,'parseNameList');function parseBoxSecretRevealResponse(_0x1ff188){return parseValueEnvelope(_0x1ff188);}__name(parseBoxSecretRevealResponse,_0x43a59c(0x216));function parseBoxSecretsRevealResponse(_0x141b06){return parseStringRecord(_0x141b06);}__name(parseBoxSecretsRevealResponse,_0x43a59c(0x246));function _0x23ab(_0x13406a,_0xad0e4d){_0x13406a=_0x13406a-0x187;const _0x2e8782=_0x2e87();let _0x23abb1=_0x2e8782[_0x13406a];if(_0x23ab['twtRho']===undefined){var _0x2dee3d=function(_0xff00a0){const _0x2100bf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c6b49='',_0xf0c11a='';for(let _0x1d34d1=0x0,_0x5099c8,_0x2050a6,_0x4fd7a4=0x0;_0x2050a6=_0xff00a0['charAt'](_0x4fd7a4++);~_0x2050a6&&(_0x5099c8=_0x1d34d1%0x4?_0x5099c8*0x40+_0x2050a6:_0x2050a6,_0x1d34d1++%0x4)?_0x2c6b49+=String['fromCharCode'](0xff&_0x5099c8>>(-0x2*_0x1d34d1&0x6)):0x0){_0x2050a6=_0x2100bf['indexOf'](_0x2050a6);}for(let _0xd042e4=0x0,_0x4c11bb=_0x2c6b49['length'];_0xd042e4<_0x4c11bb;_0xd042e4++){_0xf0c11a+='%'+('00'+_0x2c6b49['charCodeAt'](_0xd042e4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf0c11a);};_0x23ab['aLPhKI']=_0x2dee3d,_0x23ab['RtxRnV']={},_0x23ab['twtRho']=!![];}const _0x26e68c=_0x2e8782[0x0],_0x2c8d17=_0x13406a+_0x26e68c,_0x5aa8b3=_0x23ab['RtxRnV'][_0x2c8d17];return!_0x5aa8b3?(_0x23abb1=_0x23ab['aLPhKI'](_0x23abb1),_0x23ab['RtxRnV'][_0x2c8d17]=_0x23abb1):_0x23abb1=_0x5aa8b3,_0x23abb1;}var WORKSPACE_SCHEMA_VERSION=0x1,WORKSPACE_FILE='.workspace.json';function stringList(_0xe9cff6){const _0x23407a={_0x32dda1:0x2ca,_0x19ab3c:0x1c4},_0x1626fa=_0x43a59c;if(!Array[_0x1626fa(_0x23407a._0x32dda1)](_0xe9cff6))return null;if(_0xe9cff6[_0x1626fa(_0x23407a._0x19ab3c)](_0x4884c4=>typeof _0x4884c4!==_0x1626fa(0x2ab)))return null;return _0xe9cff6;}__name(stringList,_0x43a59c(0x254));function parseBundle(_0x279814){const _0x5a071b={_0x2dc77d:0x2b6,_0x194b3b:0x2e2,_0x5622ae:0x2ae,_0x43a1d2:0x1b5,_0x54e28c:0x2ab},_0x2f41a4=_0x43a59c;if(!isRecord(_0x279814))return null;const {bundleId:_0x2f1df8,label:_0x447ad7,branch:_0x12b7ed,sha:_0xf8353c,dirty:_0x4d3211,author:_0x3c625e,createdAt:_0x4cf757,webVersion:_0x289e75}=_0x279814;if(typeof _0x2f1df8!==_0x2f41a4(0x2ab)||_0x2f1df8[_0x2f41a4(_0x5a071b._0x2dc77d)]===0x0)return null;if(typeof _0x447ad7!==_0x2f41a4(0x2ab)||typeof _0x289e75!=='string')return null;if(typeof _0x4d3211!==_0x2f41a4(_0x5a071b._0x194b3b))return null;if(typeof _0x4cf757!==_0x2f41a4(_0x5a071b._0x5622ae)||!Number[_0x2f41a4(_0x5a071b._0x43a1d2)](_0x4cf757))return null;for(const _0xb9fae7 of[_0x12b7ed,_0xf8353c,_0x3c625e]){if(_0xb9fae7!==void 0x0&&typeof _0xb9fae7!==_0x2f41a4(_0x5a071b._0x54e28c))return null;}return{'bundleId':_0x2f1df8,'label':_0x447ad7,'dirty':_0x4d3211,'createdAt':_0x4cf757,'webVersion':_0x289e75,...typeof _0x12b7ed===_0x2f41a4(0x2ab)?{'branch':_0x12b7ed}:{},...typeof _0xf8353c===_0x2f41a4(0x2ab)?{'sha':_0xf8353c}:{},...typeof _0x3c625e==='string'?{'author':_0x3c625e}:{}};}__name(parseBundle,_0x43a59c(0x2bc));function parseWorkspaceFile(_0x542f03){const _0x1e5f07={_0x48bf78:0x1f5,_0x591019:0x2ab,_0x7f77cf:0x2ca,_0x14fcb8:0x190},_0x3b4895=_0x43a59c;if(!isRecord(_0x542f03))return null;if(_0x542f03[_0x3b4895(_0x1e5f07._0x48bf78)]!==WORKSPACE_SCHEMA_VERSION)return null;const {workspace:_0x39c365,environment:_0x529ee7,allowSwitch:_0x4daf51,currentBundleId:_0x13d475,switchedBy:_0x4afdfd,switchedAt:_0x5464ad,bundles:_0x3e0ba9,variables:_0x520eeb,secrets:_0x38d901,switchPath:_0x4a7c80}=_0x542f03;if(typeof _0x39c365!==_0x3b4895(0x2ab)||typeof _0x529ee7!==_0x3b4895(_0x1e5f07._0x591019))return null;if(typeof _0x4daf51!=='boolean')return null;if(!Array[_0x3b4895(_0x1e5f07._0x7f77cf)](_0x3e0ba9))return null;const _0x302c11=[];for(const _0x325183 of _0x3e0ba9){const _0x1be5e3=parseBundle(_0x325183);if(!_0x1be5e3)return null;_0x302c11[_0x3b4895(_0x1e5f07._0x14fcb8)](_0x1be5e3);}const _0x587047=stringList(_0x520eeb),_0x4281eb=stringList(_0x38d901);if(!_0x587047||!_0x4281eb)return null;for(const _0x505071 of[_0x13d475,_0x4afdfd,_0x4a7c80]){if(_0x505071!==void 0x0&&typeof _0x505071!=='string')return null;}if(_0x5464ad!==void 0x0&&typeof _0x5464ad!=='number')return null;return{'schemaVersion':WORKSPACE_SCHEMA_VERSION,'workspace':_0x39c365,'environment':_0x529ee7,'allowSwitch':_0x4daf51,'bundles':_0x302c11,'variables':_0x587047,'secrets':_0x4281eb,...typeof _0x13d475==='string'?{'currentBundleId':_0x13d475}:{},...typeof _0x4afdfd===_0x3b4895(_0x1e5f07._0x591019)?{'switchedBy':_0x4afdfd}:{},...typeof _0x5464ad==='number'?{'switchedAt':_0x5464ad}:{},...typeof _0x4a7c80===_0x3b4895(0x2ab)?{'switchPath':_0x4a7c80}:{}};}__name(parseWorkspaceFile,'parseWorkspaceFile');function scheduleTarget(_0x263c78){const _0x19b1c0={_0xed88d6:0x29f,_0xb794b3:0x1be},_0x4bec5e=_0x43a59c;return _0x263c78[_0x4bec5e(0x29f)]!==void 0x0?{'kind':_0x4bec5e(_0x19b1c0._0xed88d6),'name':_0x263c78[_0x4bec5e(0x29f)]}:{'kind':'scenario','name':_0x263c78[_0x4bec5e(_0x19b1c0._0xb794b3)]};}__name(scheduleTarget,_0x43a59c(0x2e3));function parseScheduleEntry(_0x24b0bd){const _0x14c644={_0x3641cf:0x2ab,_0x3253cc:0x2ab,_0x206c5f:0x2ae,_0x405c6d:0x29a,_0x5bbfe1:0x1a8,_0x4644f5:0x234},_0x25e349=_0x43a59c;if(!isRecord(_0x24b0bd))return null;const {collection:_0x5e9709,scenario:_0x192225,cron:_0x2c2fec,env:_0x589d59,prepare:_0x1364d8,workers:_0x3e0d00,source:_0x25f32e}=_0x24b0bd,_0x1dc677=typeof _0x5e9709===_0x25e349(_0x14c644._0x3641cf)&&_0x5e9709[_0x25e349(0x2b6)]>0x0?_0x192225===void 0x0?{'collection':_0x5e9709}:null:typeof _0x192225===_0x25e349(_0x14c644._0x3641cf)&&_0x192225[_0x25e349(0x2b6)]>0x0&&_0x5e9709===void 0x0?{'scenario':_0x192225}:null;if(_0x1dc677===null)return null;if(typeof _0x2c2fec!==_0x25e349(0x2ab)||_0x2c2fec['trim']()[_0x25e349(0x2b6)]===0x0)return null;if(_0x589d59!==void 0x0&&typeof _0x589d59!==_0x25e349(_0x14c644._0x3253cc))return null;if(_0x1364d8!==void 0x0&&typeof _0x1364d8!==_0x25e349(0x2ab))return null;const _0x7b645b=_0x25e349(0x29f)in _0x1dc677&&typeof _0x3e0d00===_0x25e349(_0x14c644._0x206c5f)&&Number[_0x25e349(_0x14c644._0x405c6d)](_0x3e0d00)&&_0x3e0d00>=0x1?_0x3e0d00:void 0x0,_0x4c2676=_0x25f32e===_0x25e349(_0x14c644._0x5bbfe1)||_0x25f32e===_0x25e349(_0x14c644._0x4644f5)?_0x25f32e:void 0x0;return{..._0x1dc677,'cron':_0x2c2fec,..._0x589d59!==void 0x0?{'env':_0x589d59}:{},..._0x1364d8!==void 0x0?{'prepare':_0x1364d8}:{},..._0x7b645b!==void 0x0?{'workers':_0x7b645b}:{},..._0x4c2676!==void 0x0?{'source':_0x4c2676}:{}};}__name(parseScheduleEntry,_0x43a59c(0x1f6));function parseSchedulesDoc(_0x51fb2d){const _0x29af02={_0x326b10:0x2ca,_0x58f955:0x266,_0x2547ff:0x1ad,_0x58882f:0x1e1,_0x567509:0x1dc,_0x1d42ba:0x190},_0x4148ba=_0x43a59c;if(_0x51fb2d===null||_0x51fb2d===void 0x0)return{'entries':[]};if(!isRecord(_0x51fb2d))return{'error':_0x4148ba(0x24a)};const _0x531e40=_0x51fb2d['schedules']??[];if(!Array[_0x4148ba(_0x29af02._0x326b10)](_0x531e40))return{'error':_0x4148ba(0x2a8)};const _0x1f1f62=[],_0x3bfea3=new Set();for(const [_0xebad6a,_0xfe6a20]of _0x531e40[_0x4148ba(0x2e7)]()){const _0x3e0329=parseScheduleEntry(_0xfe6a20);if(!_0x3e0329)return{'error':_0x4148ba(0x1ad)+_0xebad6a+_0x4148ba(_0x29af02._0x58f955)};const _0x57e5ff=scheduleTarget(_0x3e0329),_0x52dfd0=_0x57e5ff[_0x4148ba(0x1c0)]+':'+_0x57e5ff[_0x4148ba(0x24b)];if(_0x3bfea3[_0x4148ba(0x1c5)](_0x52dfd0))return{'error':_0x4148ba(_0x29af02._0x2547ff)+_0xebad6a+_0x4148ba(_0x29af02._0x58882f)+_0x57e5ff['kind']+'\x20\x22'+_0x57e5ff[_0x4148ba(0x24b)]+_0x4148ba(_0x29af02._0x567509)};_0x3bfea3[_0x4148ba(0x1ed)](_0x52dfd0),_0x1f1f62[_0x4148ba(_0x29af02._0x1d42ba)](_0x3e0329);}return{'entries':_0x1f1f62};}__name(parseSchedulesDoc,_0x43a59c(0x28a));function mergeSchedules(_0x12b0b3,_0x27daed){const _0x5e7108={_0x42756d:0x1fa},_0x170bed=_0x43a59c,_0x456ce7=new Set(_0x27daed[_0x170bed(0x1fa)](_0x4357dc=>{const _0x3fd59e=scheduleTarget(_0x4357dc);return _0x3fd59e['kind']+':'+_0x3fd59e['name'];})),_0x277c61=_0x12b0b3[_0x170bed(0x1e4)](_0x52db91=>{const _0x417a37=scheduleTarget(_0x52db91);return!_0x456ce7['has'](_0x417a37['kind']+':'+_0x417a37['name']);});return[..._0x277c61[_0x170bed(_0x5e7108._0x42756d)](_0x132ad7=>({..._0x132ad7,'source':_0x170bed(0x1a8)})),..._0x27daed[_0x170bed(_0x5e7108._0x42756d)](_0x4a6f99=>({..._0x4a6f99,'source':'file'}))];}__name(mergeSchedules,'mergeSchedules');function canonicalScheduleSet(_0x3ef5a0){const _0x1ef8b2={_0x2e254a:0x1c0,_0x4fa663:0x24b},_0x5e92b6={_0x347ac7:0x1c0,_0x529aea:0x24b,_0x1becda:0x21c,_0x1f3555:0x1c8},_0x177846=_0x43a59c,_0x216400=_0x3ef5a0[_0x177846(0x1fa)](_0x1a982f=>{const _0x1351d7=_0x177846,_0x560018=scheduleTarget(_0x1a982f);return{'kind':_0x560018[_0x1351d7(_0x5e92b6._0x347ac7)],'name':_0x560018[_0x1351d7(_0x5e92b6._0x529aea)],'cron':_0x1a982f[_0x1351d7(0x225)],..._0x1a982f['env']!==void 0x0?{'env':_0x1a982f[_0x1351d7(0x27e)]}:{},..._0x1a982f[_0x1351d7(_0x5e92b6._0x1becda)]!==void 0x0?{'prepare':_0x1a982f['prepare']}:{},..._0x1a982f[_0x1351d7(0x1c8)]!==void 0x0?{'workers':_0x1a982f[_0x1351d7(_0x5e92b6._0x1f3555)]}:{}};})[_0x177846(0x1c2)]((_0x139517,_0x99413d)=>{const _0x435cdc=_0x177846,_0x5d1be6=_0x139517[_0x435cdc(_0x1ef8b2._0x2e254a)]+':'+_0x139517[_0x435cdc(_0x1ef8b2._0x4fa663)],_0x455dc4=_0x99413d[_0x435cdc(_0x1ef8b2._0x2e254a)]+':'+_0x99413d[_0x435cdc(0x24b)];return _0x5d1be6<_0x455dc4?-0x1:_0x5d1be6>_0x455dc4?0x1:0x0;});return JSON[_0x177846(0x2e0)](_0x216400);}__name(canonicalScheduleSet,_0x43a59c(0x1f9));function parseSchedulesJson(_0x2dddba){const _0x5d17e8={_0x25edb8:0x2ca},_0x360341=_0x43a59c;let _0x142a2f;try{_0x142a2f=JSON[_0x360341(0x189)](_0x2dddba);}catch{return null;}if(!Array[_0x360341(_0x5d17e8._0x25edb8)](_0x142a2f))return null;const _0x4cf336=[];for(const _0x438ea6 of _0x142a2f){const _0x3879f4=parseScheduleEntry(_0x438ea6);if(_0x3879f4)_0x4cf336[_0x360341(0x190)](_0x3879f4);}return _0x4cf336;}__name(parseSchedulesJson,'parseSchedulesJson');var FREQ_FIELDS={'m5':{'minutes':![],'hours':![],'days':![]},'m15':{'minutes':![],'hours':![],'days':![]},'h1':{'minutes':!![],'hours':![],'days':![]},'h2':{'minutes':!![],'hours':![],'days':![]},'h4':{'minutes':!![],'hours':![],'days':![]},'h6':{'minutes':!![],'hours':![],'days':![]},'h12':{'minutes':!![],'hours':![],'days':![]},'daily':{'minutes':!![],'hours':!![],'days':![]},'weekly':{'minutes':!![],'hours':!![],'days':!![]}},HOUR_STEP={'h2':0x2,'h4':0x4,'h6':0x6,'h12':0xc};function cronFromSpec(_0x5004bc){const _0x39d26f={_0x10c63f:0x281,_0x16b9f3:0x268,_0x3998a1:0x2b8,_0x1529e2:0x294,_0x6c13d6:0x2cc,_0x362f59:0x2d2,_0x2706b0:0x1c9},_0x4f282f=_0x43a59c,_0x19368c=list(_0x5004bc[_0x4f282f(0x252)]);switch(_0x5004bc[_0x4f282f(0x2cc)]){case'm5':return _0x4f282f(_0x39d26f._0x10c63f);case _0x4f282f(0x2a4):return _0x4f282f(0x2c3);case'h1':return _0x19368c+_0x4f282f(_0x39d26f._0x16b9f3);case'h2':case'h4':case'h6':case _0x4f282f(_0x39d26f._0x3998a1):return _0x19368c+_0x4f282f(_0x39d26f._0x1529e2)+HOUR_STEP[_0x5004bc[_0x4f282f(_0x39d26f._0x6c13d6)]]+_0x4f282f(0x2d2);case _0x4f282f(0x2af):return _0x19368c+'\x20'+list(_0x5004bc[_0x4f282f(0x2d3)])+_0x4f282f(_0x39d26f._0x362f59);case _0x4f282f(0x1da):return _0x19368c+'\x20'+list(_0x5004bc['hours'])+_0x4f282f(_0x39d26f._0x2706b0)+list(_0x5004bc[_0x4f282f(0x2de)]);}}__name(cronFromSpec,_0x43a59c(0x1b7));function specFromCron(_0x57b468){const _0x2c6a6f={_0x340508:0x23d,_0x5d772e:0x2b6,_0x254722:0x1d6,_0x27a62b:0x194,_0x1f6f2c:0x2d7,_0xd8e955:0x2af},_0x10980b=_0x43a59c,_0xbacad=_0x57b468['trim']()[_0x10980b(_0x2c6a6f._0x340508)](/\s+/);if(_0xbacad[_0x10980b(_0x2c6a6f._0x5d772e)]!==0x5)return null;const [_0x4a3be2,_0x476665,_0x1daf92,_0x1e7e7c,_0x3582ed]=_0xbacad;if(_0x1daf92!=='*'||_0x1e7e7c!=='*')return null;if(_0x476665==='*'&&_0x3582ed==='*'){if(_0x4a3be2===_0x10980b(_0x2c6a6f._0x254722))return spec('m5');if(_0x4a3be2==='*/15')return spec(_0x10980b(0x2a4));const _0x6cba70=numbers(_0x4a3be2);return _0x6cba70&&spec('h1',_0x6cba70);}const _0x17cd4c=numbers(_0x4a3be2);if(!_0x17cd4c)return null;const _0x19e185=/^\*\/(\d+)$/[_0x10980b(_0x2c6a6f._0x27a62b)](_0x476665);if(_0x19e185&&_0x3582ed==='*'){const _0x58b035=Object[_0x10980b(0x20d)](HOUR_STEP)[_0x10980b(_0x2c6a6f._0x1f6f2c)](_0x4ebcc1=>HOUR_STEP[_0x4ebcc1]===Number(_0x19e185[0x1]));return _0x58b035?spec(_0x58b035,_0x17cd4c):null;}const _0x309cfa=numbers(_0x476665);if(!_0x309cfa)return null;if(_0x3582ed==='*')return spec(_0x10980b(_0x2c6a6f._0xd8e955),_0x17cd4c,_0x309cfa);const _0x29ab35=numbers(_0x3582ed);return _0x29ab35&&spec('weekly',_0x17cd4c,_0x309cfa,_0x29ab35);}__name(specFromCron,_0x43a59c(0x204));function describeCron(_0x806ef4){const _0x1bcf24=specFromCron(_0x806ef4);return _0x1bcf24?describeSpec(_0x1bcf24):_0x806ef4;}__name(describeCron,_0x43a59c(0x277));function describeSpec(_0x2ac1ee){const _0x1fb23e={_0x3d328f:0x252,_0x3b51ac:0x1da,_0x2ae704:0x1fa},_0x403843=_0x43a59c;switch(_0x2ac1ee[_0x403843(0x2cc)]){case'm5':return'every\x205\x20min';case'm15':return _0x403843(0x28f);case'h1':return'hourly'+atMinutes(_0x2ac1ee['minutes']);case'h2':case'h4':case'h6':case _0x403843(0x2b8):return'every\x20'+HOUR_STEP[_0x2ac1ee['freq']]+'h'+atMinutes(_0x2ac1ee[_0x403843(_0x1fb23e._0x3d328f)]);case _0x403843(0x2af):return _0x403843(0x1a5)+times(_0x2ac1ee);case _0x403843(_0x1fb23e._0x3b51ac):return _0x2ac1ee[_0x403843(0x2de)][_0x403843(_0x1fb23e._0x2ae704)](_0x1cf4b4=>DAY_SHORT[_0x1cf4b4]??String(_0x1cf4b4))[_0x403843(0x270)](',\x20')+'\x20at\x20'+times(_0x2ac1ee);}}__name(describeSpec,_0x43a59c(0x2ec));function nextTickFromSpec(_0x381efe,_0x56f5c9){const _0x37da63={_0x300405:0x248},_0x572244=_0x43a59c,_0x266cb2=new Date(_0x56f5c9);_0x266cb2[_0x572244(0x2a6)](0x0,0x0);for(let _0x5ee86d=0x0;_0x5ee86d<0x8*0x18*0x3c;_0x5ee86d++){_0x266cb2[_0x572244(_0x37da63._0x300405)](_0x266cb2[_0x572244(0x242)]()+0x1);if(specMatches(_0x381efe,_0x266cb2))return _0x266cb2['getTime']();}return _0x266cb2['getTime']();}__name(nextTickFromSpec,_0x43a59c(0x26b));function specMatches(_0x554710,_0x515894){const _0x19d768={_0x591023:0x242,_0x5b1042:0x2cc,_0x2365d8:0x2a4,_0x3fdcc0:0x241,_0x57cab2:0x252,_0x1ec6e9:0x241,_0x425ca3:0x2d3},_0x2ad8d8=_0x43a59c,_0x35445f=_0x515894[_0x2ad8d8(_0x19d768._0x591023)](),_0x1da106=_0x515894[_0x2ad8d8(0x24e)]();switch(_0x554710[_0x2ad8d8(_0x19d768._0x5b1042)]){case'm5':return _0x35445f%0x5===0x0;case _0x2ad8d8(_0x19d768._0x2365d8):return _0x35445f%0xf===0x0;case'h1':return _0x554710[_0x2ad8d8(0x252)][_0x2ad8d8(0x241)](_0x35445f);case'h2':case'h4':case'h6':case _0x2ad8d8(0x2b8):return _0x554710[_0x2ad8d8(0x252)][_0x2ad8d8(_0x19d768._0x3fdcc0)](_0x35445f)&&_0x1da106%(HOUR_STEP[_0x554710['freq']]??0x1)===0x0;case'daily':return _0x554710[_0x2ad8d8(_0x19d768._0x57cab2)]['includes'](_0x35445f)&&_0x554710[_0x2ad8d8(0x2d3)][_0x2ad8d8(_0x19d768._0x1ec6e9)](_0x1da106);case _0x2ad8d8(0x1da):return _0x554710[_0x2ad8d8(0x252)]['includes'](_0x35445f)&&_0x554710[_0x2ad8d8(_0x19d768._0x425ca3)][_0x2ad8d8(0x241)](_0x1da106)&&_0x554710[_0x2ad8d8(0x2de)][_0x2ad8d8(0x241)](_0x515894[_0x2ad8d8(0x1a9)]());}}__name(specMatches,'specMatches');function formatNextTick(_0x5c66f9,_0x11acca){const _0x58a584={_0x46a9c5:0x242},_0x52a39e=_0x43a59c,_0x4e87b1=new Date(_0x5c66f9),_0x1afe7c=new Date(_0x11acca),_0x5f47e6=pad(_0x4e87b1['getHours']())+':'+pad(_0x4e87b1[_0x52a39e(_0x58a584._0x46a9c5)]()),_0x1184ce=Math['round']((startOfDay(_0x4e87b1)-startOfDay(_0x1afe7c))/(0x18*0x3c*0x3c*0x3e8));if(_0x1184ce===0x0)return _0x52a39e(0x1e2)+_0x5f47e6;if(_0x1184ce===0x1)return'tomorrow\x20'+_0x5f47e6;return DAY_SHORT[_0x4e87b1[_0x52a39e(0x1a9)]()]+'\x20'+_0x5f47e6;}__name(formatNextTick,_0x43a59c(0x1c1));function startOfDay(_0x26e86b){const _0x5b6fdb={_0x13276c:0x22c},_0x26f9e0=_0x43a59c,_0x158c44=new Date(_0x26e86b);return _0x158c44[_0x26f9e0(_0x5b6fdb._0x13276c)](0x0,0x0,0x0,0x0),_0x158c44[_0x26f9e0(0x23f)]();}__name(startOfDay,'startOfDay');var DAY_SHORT=[_0x43a59c(0x2ea),_0x43a59c(0x26f),_0x43a59c(0x236),_0x43a59c(0x223),_0x43a59c(0x1e5),'Fri','Sat'],WEEK_CHIP_ORDER=[0x1,0x2,0x3,0x4,0x5,0x6,0x0];function spec(_0x4d915d,_0x4a7a01=[0x0],_0x25354f=[0x3],_0x564d0d=[0x1]){return{'freq':_0x4d915d,'minutes':_0x4a7a01,'hours':_0x25354f,'days':_0x564d0d};}__name(spec,_0x43a59c(0x188));function list(_0xa6571c){const _0x4e0c43=_0x43a59c;return[..._0xa6571c][_0x4e0c43(0x1c2)]((_0x55101d,_0x5f373f)=>_0x55101d-_0x5f373f)['join'](',');}__name(list,_0x43a59c(0x1f1));function numbers(_0x59a88d){const _0x177c82={_0x222f37:0x1b8,_0x3e82c4:0x1fa},_0x5299ed=_0x43a59c;if(!/^\d+(,\d+)*$/[_0x5299ed(_0x177c82._0x222f37)](_0x59a88d))return null;return _0x59a88d[_0x5299ed(0x23d)](',')[_0x5299ed(_0x177c82._0x3e82c4)](Number);}function _0x2e87(){const _0x36df84=['Dg9mB3DLCKnHC2u','C2vJCMv0C0nVBNrLBNq','l2P1zgDL','CxvLDwvqCMLVCML0EvjHBMS','l2fWAs9IB3GVyNvUzgXLCW','BxvZDcbUB3qGC3rHCNqGD2L0AcaNxYCGkhjLC2vYDMvKkq','vu5pvevtvf9ct1HFve9lru4','C3bLy0zYB21dCM9U','CgfYC2vszxbSywnLuMvXDwvZDa','y29TBwfUzhmUANnVBMW','z2v0vvrdrNvSBfLLyxi','DgfYz2v0','BwfRzvj1BKLK','DMLLD2vY','CMvTB3zLza','DgLTzxm','A2v5CW','yNvUzgXLswq','CNvUswqGy2fYCMLLCYbUBYb0Aw1LC3rHBxaSignHBM5VDcbWBgfJzsbPDcbPBIbHihnOyxjKoIa','vu5pvevtvf9tte9xx01p','vu5pvevtvf9tvevqx1nduKvftLnit1rt','lM11Dgv4','Ag9ZDa','C3rHCNrZv2L0Aa','CgfYC2vdAvj1BLjLC3bVBNnL','CgfYC2vcB3HtzwnYzxrszxzLywXszxnWB25Zzq','mJa1ndC5A2vSugLU','y2XP','Dg9tDhjPBMC','CMvTB3zLrw52vMfY','vw5WBgfJzwfIBgvsDw5jzevYCM9Y','ChjLCgfYzq','BxvZDcbIzsbHihn0CMLUzW','Dw5HDxrOB3jPEMvK','yMXVyLjLBfbHDgHgB3i','yM94vMfSDwvlAw5Kt2ztzwDTzw50','vu5pvevtvf9erujvr19esvi','vu5pvevtvf9kvurhrv9usu1ft1vux01t','v2vK','vu5pvevtvf9kvurhrv9ut0TftG','y3jVBG','AwqTBwLZBwf0y2G','AxnfEhrLCM5HBfzHCK5HBwu','vw5ZDxbWB3j0zwrsDw5lAw5KrxjYB3i','C291CMnL','C2XVDhm','zw52tgf5zxjgAwXLC0zVCG','C2v0sg91CNm','C2v0','BM93','vu5pvevtvf9kvurhrv9mt0DFtevwruW','AxnfBNzwyxjoyw1L','z2L0AhvI','uNvUBMvYtM90q29UzMLNDxjLzevYCM9Y','yxnZAwDUBwvUDevUDhjPzxm','zMLSzq','AxnrDwv1zurPCK5HBwu','vhvL','C2nOzwr1Bgu','yMXVyNnsB290rM9Y','C3rKzxjYlMXVzW','C2XPy2u','x2HLBhbLCNm','CgfYC2vcB3HwywX1zxnszxbSywnLuMvXDwvZDa','C3bSAxq','CNvUrgLYrM9Y','z2v0vgLTzq','lNnUyxbZAg90CW','Aw5JBhvKzxm','z2v0twLUDxrLCW','C2HHCMreyxLZrgvZy2vUzgLUzW','CgfYC2vrDwv1zvrPy2TLDe5HBwu','vu5pvevtvf9kvurhrv9wt1rf','CgfYC2vcB3HtzwnYzxrZuMv2zwfSuMvZCg9UC2u','Dw5VDgvZDc9Zy2HLzhvSzxmUEwfTBa','C2v0twLUDxrLCW','uNvUBMvYqwrHChrLCK5VDezVDw5KrxjYB3i','zxHWzwn0zwqGysbTyxbWAw5NihDPDgGGysbGC2nOzwr1BgvZoMaGyxjYyxK','BMfTzq','vvrd','vu5pvevtvf9kvurhrv9dtefvrevFqKLo','z2v0sg91CNm','tK9Fq09mt1i','qvbqx0jbu0vFvvjm','C3rHDhvZ','BwLUDxrLCW','CMvWBgfJzq','C3rYAw5NtgLZDa','refuqujbu0vFvvjm','y29TCgfYzvf1zxvLvgLJA2v0tMfTzxm','vu5pvevtvf9ct1HFu0vduKvux05btuvt','l2fWAs9IB3GVzw52CY8','vu5pvevtvf9kvurhrv9quK9wsurfuG','igLZigfSC28GC2v0igLUihvUB3rLC3qVlMvUDIdIGjqGDgHLihnLy3jLDcb2ywX1zsbUB3CGC2HHzg93CYbPDc4','BwfSzM9YBwvK','CxvLDwveAxjgB3i','yNvUzgXLlMPZB24','iI4G','vu5pvevtvf9rvuvvrv9mruftrq','BxvZDcbUB3qGyMuGzw1WDhK','yMXVyLbHDgHgB3i','CMvJzw50','C2HH','z2v0uMfUzg9TvMfSDwvZ','vu5pvevtvf9kvurhrv9vuKW','xsbPCYbUB3qGysb2ywXPzcbLBNrYEsdIGjqGAxqGBMvLzhmGzxHHy3rSEsbVBMuGB2yGygnVBgXLy3rPB246ycaVigbZy2vUyxjPBZPGihbSDxmGysbGy3jVBJPGihn0CMLUzW','DgvZDerPCKzVCG','icOGkIaQicO','qxbW','CgLJA2vYlxnUyxbZAg90lNr4Da','BMv4DfrPy2TgCM9Tu3bLyW','CMvNzxG','vu5pvevtvf9usu1fwK9orq','AxnszwnVCMq','tw9U','AM9PBG','AxnuzxjTAw5HBfj1BNrPBwvtDgf0zq','CgfYC2vuAwnRzxrdAq','DMfSDwu','mtu1nZmYnejcC2zMyG','igfSCMvHzhKGzxHPC3rZigLUia','yM94rw52u2vJCMv0C1jLDMvHBfbHDgG','zgvZy3jPyMvdCM9U','vu5pvevtvf9rvuvvrv9hte9cquXFreLs','yxbWlxnLCNzLCJPLCNjVCG','z2L0','C2vYAwfSAxPLrw52vMfSDwu','vu5pvevtvf9buLrjrKfdvfnFuK9pva','Dw5VDgvZDc8Uzw52','zw52','CgLK','yM94vMfSDwvqyxrO','kI81icOGkIaQicO','C3rVCMfNzq','DMfYAwfIBgu','C3rKB3v0lMXVzW','C3rHCNrLzef0','x3nJzw5HCMLVCW','l2HLywX0Aa','CgfYC2vrDwv1zvrPy2TLDa','AxnsDw5Uzxjtzxr0Aw5N','CgfYC2vty2HLzhvSzxneB2m','zgvZy3jPyMvcDw5KBgu','zhvYyxrPB25nCW','CMfUzg9T','C2vJCMv0C0XHEwvYrMLSzxngB3i','zxzLCNKGmtuGBwLU','BNvTyMvYCW','CgfYC2vdAvbYB3zPzgvY','Dw5RBM93BI1IDw5KBgu','vu5pvevtvf9mt0nbteu','icOV','vu5pvevtvf9cvu5etevFsuq','igf0ia','C2HHCMrqyxrOrM9YuNvUswq','CgfYC2vtDhjPBMDszwnVCMq','zgvIDwDNzxjgAwXLrM9Y','AxnjBNrLz2vY','vu5pvevtvf9tq0HfrfvmrvnFrKLor0vsufjjtLq','BwLUlxzLCNnPB24','vu5pvevtvf9eruzbvuXux1rjtuvpvvrFtvm','iYaTls0G','y29SBgvJDgLVBG','ig5LzwrZigeGBMfTzq','zgvJB2rLtMfTzuXPC3q','zw52tMfTzxngCM9TrgLYtgLZDgLUzW','zMXVB3i','Bte1','DMfYAwfIBgvZ','C2v0u2vJB25KCW','DMfSDwvZ','yhnJAgvKDwXLCZPGig11C3qGyMuGyw4GyxjYyxK','CMvNzxHmAxrLCMfS','vu5pvevtvf9erujvr19ive1mx01bwf9cwvrfuW','C3rYAw5N','iIbKB2vZig5VDcbZDxbWB3j0ihj1BIbRAw5Kici','CgfYC2vcB3HwywX1zvnLDfjLCxvLC3q','BNvTyMvY','zgfPBhK','C291CMnLCY5QC29U','yM94rw52vMfSDwvqyxrO','CNvUswrtDgfYDgvKqxq','zxHHBxbSzq','CgfKu3rHCNq','yM94rw52vMfSDwvZugf0Aa','BgvUz3rO','AxnsDw5ZrgLYtMfTzq','AdeY','yxbW','zw5JB2rLtMfTzuXPC3q','lNzPzxDLCI5SB2nR','CgfYC2vcDw5KBgu','Dg9VlwXHCMDL','ChjVAMvJDff1zxvLuM9VDa','lNj1BNm','lMrLyNvN','DMfSAwrHDgvgC1nHzMvoyw1L','C2vJCMv0','kI8XnsaQicOGkIaQ','B2jQzwn0','vu5pvevtvf9kvurhrv9it1nu','lMPZB24','BxvZDcbUB3qGC3rHCNqGD2L0AcaNlIC','igLZigfSC28GC2v0igLUihLVDxiGC2HLBgWGzw52AxjVBM1LBNqG4OcuigL0ihDPBgWGA2vLCcbYzxnVBhzPBMCGzNjVBsb0AgvYzsaODgHLigvUDMLYB25Tzw50ihDPBNmGB3zLCIb0AguGzMLSzsKU','Bwf0y2G','AxnbCNjHEq','Dw5RBM93BI1YDw5UzxiTA2v5','zNjLCq','yNvUzgXLza','zMLUzeLUzgv4','yxj0AwzHy3rZuM9VDezYB20','BwfRzvf1zxvLvgLJA2v0tMfTzq','iokaLcbWAwnRigeGzgLMzMvYzw50ig5HBwuGB3iGzwrPDcb0AguGzxHPC3rPBMCGDMfSDwuU','icOGkIaQ','Ag91CNm','DgvTCgXHDgu','DMfSDwvtDwzMAxG','yMXVyLjLBfnLz21LBNrZrM9Y','zMLUza','CMvWBgfJzwq','zw5KC1DPDgG','l2fWAs9IB3GVDMfSDwvZ','lMvUDG','zxHPC3rZ','Aw5Zzxj0rw52vMfY','zgf5CW','vu5pvevtvf9qt1bvuf9huKfdrv9nuW','C3rYAw5NAwz5','lMPZB25S','yM9VBgvHBG','C2nOzwr1BgvuyxjNzxq','BwfPBNrLBMfUy2u','vu5pvevtvf9erujvr19nqvHFqLLurvm','CgfYC2vty2vUyxjPB0fUBM90yxrPB25Z','zw50CMLLCW','Dw5RBM93BI1LBNzPCM9UBwvUDa','yM94rw52u2vJCMv0uMv2zwfSugf0Aa','u3vU','C2nVCguTBwLZBwf0y2G','zgvZy3jPyMvtCgvJ','yxv0Ag9YAw5N','C2HHCMrqyxrOrM9YvgLTzxn0yw1W','zMfPBgvK','BwnW','zw52s2v5CW','vu5pvevtvf9iruferuq','C3bLyW','CgfYC2u','AM9PBKXPBMvZ','C2fTCgXL','lNf1zxvL','DgvYBwLUywW','ChjVDMLKzxi','CMfUAW','ChvZAa','C2vJCMv0CW','CgfYC2vwywX1zuvUDMvSB3bL','CgfYC2vcB3HwywX1zxnszxnWB25Zzq','zxHLyW','yMXVyIbOyxnOig11C3qGyMuGBg93zxjJyxnLigHLEcWGz290oIa','CxvLDwvqCMLVCML0EuzYB21syw5R','mJu0otq3ofzwC0rbzW','vu5pvevtvf9ct1HFvKfssufctevFtKfnrvm','zgvZy3jPyMvuAwnRzxrdAq','DhjPBq','l2fWAs9IB3GVy2KVCNvU','yxrnAw51DgvZ','ig11C3qGyMuGvvbqrvjFu05bs0uGkguUzY4Gqvbqx0jbu0vFvvjmksbZBYbHihnJzw5HCMLVignHBIbYzwzLCMvUy2uGAxqGyNKGBMfTzs4','CgfYC2voyw1LzfjLy29Yza','ywn0AxzLrw52tMfTzq','sw52ywXPzejSB2jiyxnOrxjYB3i','yxbWlxnLCNzLCJPYzwfKEq','zxzLCNK','vu5pvevtvf9ftLy','x19WCM90B19F','zgfPBhKGyxqG','zxjYB3i','CgfYC2vcDw5KBgvnyw5PzMvZDa','y29UzMLN','z2v0rgf5','Dw5VDgvZDa','yxbWlxnLCNzLCJPYzxvZzwq','x2XHDgvZDc5QC29U','C2nOzwr1BgvZwW','y29TCgXLDgvK','vu5pvevtvf9rvuvvrv9hte9cquXFu0Xpvfm','CxvLDwvK','DgLJA2v0CW','AxngywLSAw5Nu3rHDhvZ','vu5pvevtvf9ot19rvuvvrq','lY5Kzwj1z2DLCG','AxngAw5PDgu','igLZig5VDcbHigTUB3DUihj1BM5LCIbZzxr0Aw5NiokaLcbJAg9VC2uGB25LigzYB20GDgHLihj1BM5LCI1JB25MAwCGBgLZDc4','y3jVBKzYB21tCgvJ','DgvZDa','CNvUBMLUzW','CNvUBMvYici','vu5pvevtvf9kvurhrv9nt0rf','y3jLyxrLzef0','vu5pvevtvf9kvurhrv9dquXmx1rjtuvpvvrFtvm','C2nLBMfYAw8','zM9SzfnJzw5HCMLVuNvU','A2LUza','zM9YBwf0tMv4DfrPy2S','C29YDa','CMvZzxj2zwq','C29Tzq','AgfZ','zMXHz3m','CgfYC2vcDw5KBgvvCgXVywrszxnWB25Zzq','D29YA2vYCW','icOGkIa','C3rLChmUANnVBMW','CNvUswq','vu5pvevtvf9kvurhrv9qt1ju','zgLYDhK','Aw5KzxHpzG','zMfPBfn0CMvHAW','vu5pvevtvf9kvurhrv9nt0rfta','C3bSAwnL','vu5pvevtvf9kvurhrv9bq0nfu1nFve9lru4','vu5pvevtvf9kvurhrv9ts0Lqx1bsruzmsuDiva','CgfYC2vhAxrjBMzV','vu5pvevtvf8','kI81','AxnbC3nPz25Tzw50tgLUzq','zw52q29UDgvUDa','vu5pvevtvf9erujvr19lruvqx0nbteXt','D2vLA2X5','CgfYC2vlzwvWuMvJB3jK','iIdIGjqGB25LihnJAgvKDwXLihbLCIb0yxjNzxq','CMvZzxj2zwrvBMrLCNnJB3jL','DMfSAwrHDgvtzwDTzw50tMfTzq','vu5pvevtvf9cuK9xu0vs','vu5pvevtvf9erujvr19quKvwsuvxx0jzvevt','xsbYzxbLyxrZia','Dg9KyxKG','DMfSAwrHDgvdB2XSzwn0Aw9UtMfTzq','zMLSDgvY','vgH1','vu5pvevtvf9dt05tt0Xf','icH3AxaP','mZyZndC1AKnIC3bj','mJiWmJy0ngfIvfz1rq','AgvHCNrIzwf0','AxnszwDLEeXPDgvYywW','vu5pvevtvf9cuK9xu0vsx0niqu5oruW','ywrK','yNjHBMnO','nJyYndyYzg9ZrxfY','C2vJCMv0C0zPBgvgB3i','BgLZDa','ChjVAMvJDfj1BNnsB290','z2v0vvrdrgf0zq','mtKXndCWm09MEeD1Eq','C2nOzw1HvMvYC2LVBG','CgfYC2vty2HLzhvSzuvUDhj5','vu5pvevtvf9dqunirv9esvi','ufiGiW','y2fUB25Py2fSu2nOzwr1Bgvtzxq','BwfW','z2L0BgfI','Aw52ywXPzc1Uyw1L'];_0x2e87=function(){return _0x36df84;};return _0x2e87();}__name(numbers,_0x43a59c(0x290));var pad=__name(_0x5f5299=>String(_0x5f5299)[_0x43a59c(0x2b4)](0x2,'0'),'pad');function atMinutes(_0x447795){const _0x2bd688={_0x3e3d08:0x2b6,_0x442526:0x296},_0xe97dd=_0x43a59c;if(_0x447795[_0xe97dd(_0x2bd688._0x3e3d08)]===0x1&&_0x447795[0x0]===0x0)return'';return _0xe97dd(_0x2bd688._0x442526)+[..._0x447795][_0xe97dd(0x1c2)]((_0x419281,_0x18150f)=>_0x419281-_0x18150f)[_0xe97dd(0x1fa)](_0x37b6e8=>':'+pad(_0x37b6e8))['join'](',\x20');}__name(atMinutes,_0x43a59c(0x19c));function times(_0x411eb3){const _0x201ac1={_0x37b066:0x2d3,_0x530dcb:0x2b6},_0x3364b1=_0x43a59c,_0x2431a8=[..._0x411eb3[_0x3364b1(_0x201ac1._0x37b066)]][_0x3364b1(0x1c2)]((_0x18fde8,_0x38c5b8)=>_0x18fde8-_0x38c5b8)['flatMap'](_0x2993bd=>[..._0x411eb3[_0x3364b1(0x252)]][_0x3364b1(0x1c2)]((_0x1af66e,_0x21bfc6)=>_0x1af66e-_0x21bfc6)[_0x3364b1(0x1fa)](_0x5da68c=>pad(_0x2993bd)+':'+pad(_0x5da68c))),_0x2607e9=_0x2431a8['slice'](0x0,0x4),_0x23f94a=_0x2431a8[_0x3364b1(0x2b6)]-_0x2607e9[_0x3364b1(_0x201ac1._0x530dcb)];return _0x2607e9['join'](',\x20')+(_0x23f94a>0x0?'\x20+'+_0x23f94a:'');}__name(times,_0x43a59c(0x20c));var BLOBS_DIR='_blobs',GENERATION_SEP='~',HASH_RE=/^[0-9a-f]{8,}$/,InvalidBlobHashError=class extends Error{static{__name(this,_0x43a59c(0x1a0));}constructor(_0xfe8526){const _0x122123={_0x39fd2b:0x195},_0x3c38f9=_0x43a59c;super(_0x3c38f9(_0x122123._0x39fd2b)+_0xfe8526),this[_0x3c38f9(0x24b)]=_0x3c38f9(0x1a0);}};function blobPathFor(_0x2658e7,_0x342f8a,_0x4d29cd,_0x586095=0x0){return _0x2658e7+'/'+blobRelPathFor(_0x342f8a,_0x4d29cd,_0x586095);}__name(blobPathFor,_0x43a59c(0x261));function blobRelSegmentsFor(_0x1db330,_0x1c9835,_0xc777a8=0x0){const _0x66ad55={_0x1aa306:0x1b8,_0x4a247e:0x23a,_0xde1056:0x23a},_0x2ea901=_0x43a59c;if(!HASH_RE[_0x2ea901(_0x66ad55._0x1aa306)](_0x1db330))throw new InvalidBlobHashError(_0x1db330);const _0x1f8a4f=_0xc777a8>0x0?''+GENERATION_SEP+_0xc777a8:'';return[BLOBS_DIR,_0x1db330[_0x2ea901(_0x66ad55._0x4a247e)](0x0,0x2),_0x1db330[_0x2ea901(_0x66ad55._0xde1056)](0x2,0x4),''+_0x1db330+_0x1f8a4f+'.'+_0x1c9835];}__name(blobRelSegmentsFor,_0x43a59c(0x2d6));function blobRelPathFor(_0x4c7e92,_0x190de2,_0x123092=0x0){const _0x3c4024=_0x43a59c;return blobRelSegmentsFor(_0x4c7e92,_0x190de2,_0x123092)[_0x3c4024(0x270)]('/');}__name(blobRelPathFor,_0x43a59c(0x21f));function blobsRootFor(_0x4267ed){return _0x4267ed+'/'+BLOBS_DIR;}__name(blobsRootFor,_0x43a59c(0x238));var FS_UNSAFE_NAME_RE=/[\\/:*?"<>|\x00-\x1f]/;function validateFsSafeName(_0x1a5171,_0x3dc32c){const _0x7c1e48={_0x32dded:0x2ab,_0x3833c4:0x21d,_0x59dde3:0x260,_0x499712:0x2c7,_0x2969f6:0x202},_0x5eff2f=_0x43a59c;if(typeof _0x1a5171!==_0x5eff2f(_0x7c1e48._0x32dded))return _0x5eff2f(_0x7c1e48._0x3833c4);const _0x272e99=_0x1a5171[_0x5eff2f(0x19a)]();if(_0x272e99['length']===0x0)return _0x5eff2f(_0x7c1e48._0x59dde3);if(_0x272e99==='.'||_0x272e99==='..')return'must\x20not\x20be\x20\x22.\x22\x20or\x20\x22..\x22';if(_0x272e99['startsWith']('.'))return _0x5eff2f(_0x7c1e48._0x499712);if(_0x3dc32c?.[_0x5eff2f(0x1dd)]&&_0x272e99['startsWith']('_'))return _0x5eff2f(_0x7c1e48._0x2969f6);if(FS_UNSAFE_NAME_RE[_0x5eff2f(0x1b8)](_0x272e99))return'must\x20not\x20contain\x20\x5c\x20/\x20:\x20*\x20?\x20\x22\x20<\x20>\x20|\x20or\x20control\x20characters';return null;}__name(validateFsSafeName,_0x43a59c(0x2c1));var COLLECTION_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateCollectionName(_0x499a42){return validateFsSafeName(_0x499a42);}__name(validateCollectionName,_0x43a59c(0x1e3));var RUN_MANIFEST_FILE='manifest.json',RUN_SOURCES_FILE=_0x43a59c(0x2b0),UnsupportedRunKindError=class extends Error{static{__name(this,_0x43a59c(0x228));}constructor(_0x5b9cb9,_0x5ee390){const _0x27db20=_0x43a59c;super(_0x27db20(0x1ba)+_0x5ee390+_0x27db20(0x2ac)+_0x5b9cb9+'\x22'),this['name']=_0x27db20(0x228);}},RunnerAdapterNotFoundError=class extends Error{static{__name(this,_0x43a59c(0x249));}constructor(_0x9a1d63,_0x3a9426){const _0x44a83d={_0x4e0382:0x25e,_0x536f91:0x249},_0x2f8c72=_0x43a59c;super('cannot\x20load\x20runner\x20adapter\x20\x22'+_0x9a1d63+_0x2f8c72(_0x44a83d._0x4e0382)+_0x3a9426),this[_0x2f8c72(0x24b)]=_0x2f8c72(_0x44a83d._0x536f91);}},RunnerNotConfiguredError=class extends Error{static{__name(this,_0x43a59c(0x232));}constructor(_0x2645b1){const _0x2d127a=_0x43a59c;super(_0x2645b1),this['name']=_0x2d127a(0x232);}},EXPECT_FAIL_ANNOTATION='expect-fail',ANNOTATION_RE=/^\s*\/\/\s*@([a-z0-9-]+)\s*$/;function isAnnotationLine(_0x1986b6){const _0x3dbc22=_0x43a59c;return ANNOTATION_RE[_0x3dbc22(0x1b8)](_0x1986b6);}__name(isAnnotationLine,'isAnnotationLine');function parseScenarioAnnotations(_0x4a80fa){const _0x3ae421={_0x71ba5a:0x2c9},_0x5207a1=_0x43a59c,_0x3693b1=new Set();for(const _0x49c294 of _0x4a80fa['split'](/\r?\n/)){const _0x6f1b54=_0x49c294['trim']();if(_0x6f1b54==='')continue;if(!_0x6f1b54[_0x5207a1(0x214)]('//'))break;const _0x3f7ea0=_0x6f1b54[_0x5207a1(_0x3ae421._0x71ba5a)](ANNOTATION_RE);if(_0x3f7ea0)_0x3693b1[_0x5207a1(0x1ed)](_0x3f7ea0[0x1]);}return{'expectFail':_0x3693b1[_0x5207a1(0x1c5)](EXPECT_FAIL_ANNOTATION)};}__name(parseScenarioAnnotations,_0x43a59c(0x2e6));var SEGMENT_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateSegmentName(_0x311814){return validateFsSafeName(_0x311814,{'reservedUnderscore':!![]});}__name(validateSegmentName,_0x43a59c(0x1de));var TERMINAL_WS_EVENT=_0x43a59c(0x18d),RUNNER_CONFIG_KEYS=new Set([_0x43a59c(0x1df),'UNOTEST_BROWSER_CHANNEL',_0x43a59c(0x187),_0x43a59c(0x210),_0x43a59c(0x29d),'UNOTEST_DEFAULT_NAVIGATION_TIMEOUT_MS',_0x43a59c(0x2df),_0x43a59c(0x293),_0x43a59c(0x26d),'UNOTEST_LOG_LEVEL','UNOTEST_DEBUG',_0x43a59c(0x221),_0x43a59c(0x2e5),_0x43a59c(0x1e0),_0x43a59c(0x2aa),_0x43a59c(0x1d9),'UNOTEST_NETWORK',_0x43a59c(0x1e6),_0x43a59c(0x211),_0x43a59c(0x1f7),_0x43a59c(0x24f),'FORCE_COLOR',_0x43a59c(0x255)]);function isRunnerConfigKey(_0x4710f4){const _0x17da3f={_0x2995af:0x1c5},_0xc0e462=_0x43a59c;return RUNNER_CONFIG_KEYS[_0xc0e462(_0x17da3f._0x2995af)](_0x4710f4);}__name(isRunnerConfigKey,'isRunnerConfigKey');function categorizeVariable(_0x956029){const _0x4fbeb2={_0x1ee356:0x191,_0x3340bc:0x24b,_0x4da108:0x2b9},_0x53150a=_0x43a59c;if(_0x956029[_0x53150a(0x229)]===_0x53150a(_0x4fbeb2._0x1ee356))return _0x53150a(0x2c2);return isRunnerConfigKey(_0x956029[_0x53150a(_0x4fbeb2._0x3340bc)])?'runner':_0x53150a(_0x4fbeb2._0x4da108);}__name(categorizeVariable,'categorizeVariable');function isExternalVarName(_0x51dc9f){const _0x319fe4=_0x43a59c;return/^[A-Z][A-Z0-9_]*$/[_0x319fe4(0x1b8)](_0x51dc9f);}__name(isExternalVarName,_0x43a59c(0x227));var SECTION_BY_KIND={'app':_0x43a59c(0x269),'runner':'Runner','secret':void 0x0};function planAddVariable(_0x540873){const _0x5b8ae1={_0x2a97b4:0x1fc,_0x5692ba:0x19d,_0x1dc42d:0x1d8,_0xf55350:0x1fe,_0x5aa245:0x191,_0x52830e:0x27e,_0x314a0d:0x275,_0x3fee5d:0x2d1,_0x73bab7:0x190},_0x2afcc7=_0x43a59c,{name:_0x5611d7,kind:_0x36a8cc}=_0x540873;if(_0x36a8cc==='runner'){if(!isRunnerConfigKey(_0x5611d7))return{'ok':![],'code':_0x2afcc7(0x2cb),'message':_0x5611d7+_0x2afcc7(0x1b6)};}else{if(!isExternalVarName(_0x5611d7))return{'ok':![],'code':_0x2afcc7(_0x5b8ae1._0x2a97b4),'message':_0x5611d7+_0x2afcc7(_0x5b8ae1._0x5692ba)};}const _0x18534d=envKeys(_0x540873[_0x2afcc7(_0x5b8ae1._0x1dc42d)])[_0x2afcc7(0x1c5)](_0x5611d7),_0x14f2d3=envKeys(_0x540873[_0x2afcc7(_0x5b8ae1._0xf55350)])['has'](_0x5611d7),_0x59e300=_0x36a8cc===_0x2afcc7(0x2c2)?_0x2afcc7(_0x5b8ae1._0x5aa245):_0x2afcc7(_0x5b8ae1._0x52830e),_0x480f00=_0x59e300===_0x2afcc7(0x191)?_0x14f2d3:_0x18534d,_0x5a1e19=_0x59e300==='secrets'?'unotest/.secrets':_0x2afcc7(0x27d);if(_0x480f00)return{'ok':![],'code':'duplicate','message':_0x5611d7+_0x2afcc7(_0x5b8ae1._0x314a0d)+_0x5a1e19+_0x2afcc7(_0x5b8ae1._0x3fee5d)};const _0xc1b552=[];return _0x36a8cc==='secret'&&_0x18534d&&_0xc1b552['push'](_0x5611d7+_0x2afcc7(0x25a)),_0x36a8cc!=='secret'&&_0x14f2d3&&_0xc1b552[_0x2afcc7(_0x5b8ae1._0x73bab7)](_0x5611d7+'\x20is\x20also\x20set\x20in\x20unotest/.secrets\x20—\x20the\x20secret\x20value\x20shadows\x20this\x20one.'),{'ok':!![],'target':_0x59e300,'sectionLabel':SECTION_BY_KIND[_0x36a8cc],'warnings':_0xc1b552};}__name(planAddVariable,'planAddVariable');function deleteShadowWarning(_0x4c5750,_0x482af4,_0x3f721f){const _0x5f02f4={_0xf5434f:0x2c8},_0x39aacb=_0x43a59c;if(_0x3f721f!==void 0x0&&_0x3f721f!==_0x482af4)return[_0x4c5750+_0x39aacb(_0x5f02f4._0xf5434f)];return[];}__name(deleteShadowWarning,'deleteShadowWarning');var TERMINAL_RUNTIME_STATES=[_0x43a59c(0x1ae),_0x43a59c(0x2ef),'aborted'];function isTerminalRuntimeState(_0x5ae610){return TERMINAL_RUNTIME_STATES['includes'](_0x5ae610);}__name(isTerminalRuntimeState,_0x43a59c(0x271));var JUDGE_ROUTES={'judge':_0x43a59c(0x1ff),'health':_0x43a59c(0x287)},JUDGE_ENV={'mode':_0x43a59c(0x1bb),'url':_0x43a59c(0x265),'token':_0x43a59c(0x224),'requestTimeoutMs':_0x43a59c(0x222),'preamble':'UNOTEST_JUDGE_PREAMBLE','provider':_0x43a59c(0x259),'model':_0x43a59c(0x1d0),'callTimeoutMs':_0x43a59c(0x1bd),'retries':'UNOTEST_JUDGE_RETRIES','vote':_0x43a59c(0x245),'accessToken':_0x43a59c(0x1d2),'claudeBin':_0x43a59c(0x24d),'host':_0x43a59c(0x2c5),'port':_0x43a59c(0x1cc),'logLevel':_0x43a59c(0x22f),'skipPreflight':_0x43a59c(0x1d3)};export{ARTIFACTS_ROOT_ENV,BLOBS_DIR,BOX_ENV_VALUES_SEGMENT,BOX_REVEAL_SEGMENT,BOX_SECRET_NAMES_ENV,BOX_TOKEN_ENV,BOX_URL_ENV,BOX_VALUES_PATH,BOX_VARIABLE_NAMES_ENV,BROWSER_CHANNEL_ENV,BROWSER_ENV,BUNDLED_BROWSER_CHANNEL,BUNDLE_ID_ENV,BUNDLE_MANIFEST_FILE,BUNDLE_SCHEMA_VERSION,BUNDLE_UPLOAD_PATH,CI_RUN_PATH,COLLECTIONS_SUBDIR,COLLECTION_NAME_FORBIDDEN_RE,COMMANDS_FILE,DAY_INDEX_FILE,DAY_SHORT,E2E_SUBDIR,ENV_FILE,EXPECT_FAIL_ANNOTATION,FREQ_FIELDS,HEARTBEAT_FILE,HELPERS_SUBDIR,InvalidBlobHashError,JUDGE_ENV,JUDGE_ROUTES,LOCK_FILE,LOG_FILE,PICKER_SNAPSHOT_FILE,QUEUE_DISABLED_ENV,QUEUE_GLOBAL_DIR_ENV,QUEUE_GLOBAL_SLOTS_ENV,QUEUE_LEASE_ENV,QUEUE_MUTEX_FILE,QUEUE_PRIORITIES,QUEUE_RUNNING_DIR,QUEUE_SCHEMA_VERSION,QUEUE_SLOTS_DIR,QUEUE_SUBDIR,QUEUE_TICKETS_DIR,RUNNER_CONFIG_KEYS,RUNNER_SETTING_PREFIX,RUNS_SUBDIR,RUNTIME_FILE,RUN_INDEX_SCHEMA_VERSION,RUN_MANIFEST_FILE,RUN_SOURCES_FILE,RunnerAdapterNotFoundError,RunnerNotConfiguredError,SCENARIOS_INDEX_DIR,SCENARIOS_LATEST_FILE,SCENARIO_RECENT_WINDOW,SCHEDULES_FILE,SCHEDULES_FINGERPRINT_ENV,SECRETS_FILE,SEGMENT_NAME_FORBIDDEN_RE,SNAPSHOTS_SUBDIR,STDERR_FILE,STDOUT_FILE,STEPS_FILE,TARGET_ENV_VAR,TERMINAL_RUNTIME_STATES,TERMINAL_WS_EVENT,UNOTEST_DIR,UnplaceableRunIdError,UnsupportedRunKindError,WEEK_CHIP_ORDER,WORKSPACE_FILE,WORKSPACE_SCHEMA_VERSION,activeEnvName,artifactsRootFrom,blobPathFor,blobRelPathFor,blobRelSegmentsFor,blobsRootFor,boxEnvSecretRevealPath,boxEnvSecretsRevealPath,boxEnvValuePath,boxEnvValuesPath,boxValueKindOfSegment,boxValuePath,boxValuesPath,canonicalScheduleSet,categorizeVariable,compareQueueTicketNames,cronFromSpec,debugDirFor,debuggerFileFor,declaredEnvKeys,decodeNameList,deleteShadowWarning,describeBundle,describeCron,describeSpec,describeTicketCi,encodeNameList,envFileFor,envKeys,envLayerFilesFor,envNamesFromDirListing,foldScenarioRun,formatNextTick,insertEnvVar,isAnnotationLine,isEnvVarName,isExternalVarName,isFailingStatus,isQueueDirName,isRecord,isRegexLiteral,isRunnerConfigKey,isRunnerSetting,isRunsDirName,isTerminalRuntimeState,makeQueueTicketName,makeRunId,mergeSchedules,nextTickFromSpec,parseAppServerEvent,parseBoxEnvValuesReplaceRequest,parseBoxSecretRevealResponse,parseBoxSecretsRevealResponse,parseBoxValueSetRequest,parseBoxValuesReplaceRequest,parseBoxValuesResponse,parseBundleManifest,parseBundleUploadResponse,parseCiProvider,parseCiRunRequest,parseCiRunResponse,parseEnvContent,parseQueueTicket,parseQueueTicketName,parseScenarioAnnotations,parseScheduleEntry,parseSchedulesDoc,parseSchedulesJson,parseWorkspaceFile,planAddVariable,projectQueueRoot,projectRunDirFor,projectRunsRoot,queueDirFor,queuePriorityFromRank,queuePriorityRank,regexLiteral,removeEnvVar,requireRunDirFor,reservedBoxValueNames,runDirFor,runIdStartedAt,runsDirFor,sanitizeRunIdSegment,scenarioIndexFileName,scenarioRefFromFileName,scheduleTarget,secretsFileFor,secretsLayerFilesFor,serializeEnvValue,shardDaysDescending,shardDirFor,shardPathForRunId,shardPathForTimestamp,specFromCron,testDirFor,validateCollectionName,validateSegmentName};
1
+ const _0xef7a9b=_0xed3b;(function(_0x1e0a0e,_0x44d913){const _0x4f3fef={_0x61f0c:0x1eb,_0x48267e:0x1a6},_0x32ca75=_0xed3b,_0x2ba8b5=_0x1e0a0e();while(!![]){try{const _0x2d81f0=-parseInt(_0x32ca75(0x276))/0x1+parseInt(_0x32ca75(0x2c0))/0x2*(-parseInt(_0x32ca75(0x193))/0x3)+-parseInt(_0x32ca75(0x264))/0x4+-parseInt(_0x32ca75(0x1cd))/0x5*(parseInt(_0x32ca75(_0x4f3fef._0x61f0c))/0x6)+parseInt(_0x32ca75(0x1bf))/0x7+parseInt(_0x32ca75(0x314))/0x8*(-parseInt(_0x32ca75(0x28c))/0x9)+parseInt(_0x32ca75(_0x4f3fef._0x48267e))/0xa*(parseInt(_0x32ca75(0x1b1))/0xb);if(_0x2d81f0===_0x44d913)break;else _0x2ba8b5['push'](_0x2ba8b5['shift']());}catch(_0x5d1ae1){_0x2ba8b5['push'](_0x2ba8b5['shift']());}}}(_0x39d6,0x7aa72));var __defProp=Object[_0xef7a9b(0x2f2)],__name=(_0xb163f1,_0x26ac10)=>__defProp(_0xb163f1,_0xef7a9b(0x2ba),{'value':_0x26ac10,'configurable':!![]});function parseAppServerEvent(_0xd6c1d){const _0x57d04a={_0x18c473:0x251,_0x432138:0x19a,_0x143eaa:0x277,_0x4ba450:0x280},_0x2b7716=_0xef7a9b,_0x3e5e3e=_0xd6c1d[_0x2b7716(0x2a0)]();if(!_0x3e5e3e[_0x2b7716(_0x57d04a._0x18c473)]('{'))return null;try{const _0x3428bc=JSON['parse'](_0x3e5e3e);if(_0x3428bc['kind']===_0x2b7716(_0x57d04a._0x432138)||_0x3428bc[_0x2b7716(_0x57d04a._0x143eaa)]===_0x2b7716(_0x57d04a._0x4ba450)||_0x3428bc[_0x2b7716(0x277)]==='app-server:error')return _0x3428bc;return null;}catch{return null;}}__name(parseAppServerEvent,_0xef7a9b(0x271));function isRecord(_0xc090cb){const _0x26f137={_0x1ea326:0x204},_0x59aaee=_0xef7a9b;return typeof _0xc090cb===_0x59aaee(0x285)&&_0xc090cb!==null&&!Array[_0x59aaee(_0x26f137._0x1ea326)](_0xc090cb);}__name(isRecord,_0xef7a9b(0x2dd));var UNOTEST_DIR='unotest',E2E_SUBDIR=_0xef7a9b(0x300),HELPERS_SUBDIR='_helpers',COLLECTIONS_SUBDIR='_collections',RUNS_SUBDIR=_0xef7a9b(0x222),SNAPSHOTS_SUBDIR=_0xef7a9b(0x177);function testDirFor(_0x4cb2d2){return''+E2E_SUBDIR+_0x4cb2d2;}__name(testDirFor,'testDirFor');function runsDirFor(_0x3fd9d5,_0x599753){return''+RUNS_SUBDIR+_0x3fd9d5+(_0x599753?'.'+_0x599753:'');}__name(runsDirFor,'runsDirFor');function isRunsDirName(_0x1a5271){const _0x551962={_0x59c81b:0x251},_0x31d182=_0xef7a9b;return _0x1a5271===RUNS_SUBDIR||_0x1a5271[_0x31d182(_0x551962._0x59c81b)](RUNS_SUBDIR+'-')||_0x1a5271[_0x31d182(0x251)](RUNS_SUBDIR+'.');}__name(isRunsDirName,_0xef7a9b(0x303));function debugDirFor(_0x5e770c){return'.debug'+_0x5e770c;}__name(debugDirFor,_0xef7a9b(0x2c3));function debuggerFileFor(_0x237643){const _0x48710c={_0x4a9c06:0x287},_0x597d2b=_0xef7a9b;return UNOTEST_DIR+_0x597d2b(_0x48710c._0x4a9c06)+_0x237643+_0x597d2b(0x167);}__name(debuggerFileFor,_0xef7a9b(0x2de));var LOCK_FILE=_0xef7a9b(0x1b4),LOG_FILE=_0xef7a9b(0x21c),STEPS_FILE=_0xef7a9b(0x23b),HEARTBEAT_FILE='heartbeat',DAY_INDEX_FILE=_0xef7a9b(0x233),SCENARIOS_INDEX_DIR=_0xef7a9b(0x20f),SCENARIOS_LATEST_FILE=_0xef7a9b(0x22d),STDOUT_FILE=_0xef7a9b(0x1c9),STDERR_FILE='stderr.log',COMMANDS_FILE=_0xef7a9b(0x180),RUNTIME_FILE=_0xef7a9b(0x28d),PICKER_SNAPSHOT_FILE=_0xef7a9b(0x302),ENV_FILE=_0xef7a9b(0x23f),SECRETS_FILE=_0xef7a9b(0x1c4),SCHEDULES_FILE=_0xef7a9b(0x1d8);function envFileFor(_0x222781,_0x1f7e6f){return''+ENV_FILE+_0x222781+(_0x1f7e6f?'.'+_0x1f7e6f:'');}__name(envFileFor,_0xef7a9b(0x1e8));function secretsFileFor(_0x5b32c8,_0x5969e5){return''+SECRETS_FILE+_0x5b32c8+(_0x5969e5?'.'+_0x5969e5:'');}__name(secretsFileFor,_0xef7a9b(0x30b));function envLayerFilesFor(_0x39785e,_0x5d31ee){return layersFor(ENV_FILE,_0x39785e,_0x5d31ee);}__name(envLayerFilesFor,'envLayerFilesFor');function secretsLayerFilesFor(_0x27414e,_0x1ae691){return layersFor(SECRETS_FILE,_0x27414e,_0x1ae691);}__name(secretsLayerFilesFor,_0xef7a9b(0x27b));function layersFor(_0x422594,_0x538a7b,_0x3aecf0){const _0x2f238a=_0xef7a9b,_0x27a646=[_0x422594];if(_0x538a7b)_0x27a646[_0x2f238a(0x2d6)](''+_0x422594+_0x538a7b);if(_0x3aecf0){_0x27a646[_0x2f238a(0x2d6)](_0x422594+'.'+_0x3aecf0);if(_0x538a7b)_0x27a646[_0x2f238a(0x2d6)](''+_0x422594+_0x538a7b+'.'+_0x3aecf0);}return _0x27a646;}__name(layersFor,_0xef7a9b(0x263));var ARTIFACTS_ROOT_ENV=_0xef7a9b(0x2b3);function artifactsRootFrom(_0x470003,_0x368033){const _0x4a7b44=_0xef7a9b,_0x5dcb39=_0x470003[ARTIFACTS_ROOT_ENV]?.[_0x4a7b44(0x2a0)]();return _0x5dcb39?_0x5dcb39:_0x368033;}__name(artifactsRootFrom,_0xef7a9b(0x260));function activeEnvName(_0x43c325){const _0x4b245a=_0xef7a9b,_0x13ff15=_0x43c325[_0x4b245a(0x310)]?.['trim']();return _0x13ff15?_0x13ff15:void 0x0;}__name(activeEnvName,_0xef7a9b(0x2fb));var RESERVED_ENV_NAMES=new Set([_0xef7a9b(0x155),_0xef7a9b(0x1da),'template']);function envNamesFromDirListing(_0x21dea7,_0x4cc670){const _0x1b1d30={_0x2a9b95:0x230,_0x2aa971:0x22f},_0x2bf390=_0xef7a9b,_0x1ea852=['.env','.secrets'][_0x2bf390(_0x1b1d30._0x2a9b95)](_0x523868=>_0x4cc670?[_0x523868,''+_0x523868+_0x4cc670]:[_0x523868]),_0x4ec592=new Set();for(const _0x2d4fb2 of _0x21dea7){for(const _0x4b6e0a of _0x1ea852){const _0x27fe87=_0x4b6e0a+'.';if(!_0x2d4fb2['startsWith'](_0x27fe87))continue;const _0x4e3274=_0x2d4fb2[_0x2bf390(0x29a)](_0x27fe87[_0x2bf390(_0x1b1d30._0x2aa971)]);if(!_0x4e3274||_0x4e3274[_0x2bf390(0x201)]('/'))continue;if(RESERVED_ENV_NAMES['has'](_0x4e3274))continue;_0x4ec592['add'](_0x4e3274);}}return[..._0x4ec592][_0x2bf390(0x1d9)]();}__name(envNamesFromDirListing,_0xef7a9b(0x14e));function isRegexLiteral(_0x29ffac){const _0x3b795f={_0x7cdf58:0x277,_0x217c08:0x1e1,_0x19634e:0x2d7,_0x2a5fd4:0x1b6},_0x2c2d08=_0xef7a9b;return typeof _0x29ffac===_0x2c2d08(0x285)&&_0x29ffac!==null&&_0x29ffac[_0x2c2d08(_0x3b795f._0x7cdf58)]===_0x2c2d08(_0x3b795f._0x217c08)&&typeof _0x29ffac[_0x2c2d08(_0x3b795f._0x19634e)]===_0x2c2d08(_0x3b795f._0x2a5fd4)&&typeof _0x29ffac['flags']===_0x2c2d08(_0x3b795f._0x2a5fd4);}__name(isRegexLiteral,_0xef7a9b(0x227));function regexLiteral(_0x2e6b71,_0x10bacb=''){const _0x231291=_0xef7a9b;return{'kind':_0x231291(0x1e1),'source':_0x2e6b71,'flags':_0x10bacb};}__name(regexLiteral,_0xef7a9b(0x17a));var RAND_BYTES=0x6;function makeRunId(_0x49f9eb){const _0x3e8715={_0x32070d:0x1bd,_0x12a9ce:0x15c,_0x283fb9:0x213},_0x174180=_0xef7a9b,_0x2d4132=sanitizeRunIdSegment(_0x49f9eb),_0x5b798a=Date['now']()[_0x174180(0x2dc)](0x24),_0x4fee2b=new Uint8Array(RAND_BYTES);globalThis[_0x174180(_0x3e8715._0x32070d)][_0x174180(_0x3e8715._0x12a9ce)](_0x4fee2b);let _0x2015fa='';for(let _0x4e49d3=0x0;_0x4e49d3<_0x4fee2b['length'];_0x4e49d3++){_0x2015fa+=_0x4fee2b[_0x4e49d3][_0x174180(0x2dc)](0x10)[_0x174180(_0x3e8715._0x283fb9)](0x2,'0');}return _0x2d4132+'-'+_0x5b798a+'-'+_0x2015fa;}__name(makeRunId,_0xef7a9b(0x295));function sanitizeRunIdSegment(_0x1eb9c7){const _0x507c30={_0x41d4e5:0x1a9,_0x337852:0x22f,_0x34a98d:0x2f3},_0x688e22=_0xef7a9b,_0x5a6869=_0x1eb9c7[_0x688e22(_0x507c30._0x41d4e5)](/[^a-zA-Z0-9_-]+/g,'-')['replace'](/-+/g,'-')['replace'](/^-|-$/g,'');return _0x5a6869[_0x688e22(_0x507c30._0x337852)]>0x0?_0x5a6869:_0x688e22(_0x507c30._0x34a98d);}__name(sanitizeRunIdSegment,'sanitizeRunIdSegment');var RANDOM_SUFFIX_RE=/^[0-9a-f]{6,}$/,MIN_PLAUSIBLE_MS=Date[_0xef7a9b(0x2a7)](0x7e4,0x0,0x1),MAX_PLAUSIBLE_MS=Date[_0xef7a9b(0x2a7)](0x834,0x0,0x1);function runIdStartedAt(_0x1a2d4d){const _0x3bd92e={_0x2bcd7f:0x22f,_0x1b96c7:0x234},_0x14db18=_0xef7a9b,_0x3c3763=_0x1a2d4d['split']('-');if(_0x3c3763['length']<0x3)return null;const _0xcf5fae=_0x3c3763[_0x3c3763[_0x14db18(_0x3bd92e._0x2bcd7f)]-0x1];if(!RANDOM_SUFFIX_RE['test'](_0xcf5fae))return null;const _0x3b45b3=_0x3c3763[_0x3c3763['length']-0x2];if(!/^[0-9a-z]+$/[_0x14db18(_0x3bd92e._0x1b96c7)](_0x3b45b3))return null;const _0x562d8e=parseInt(_0x3b45b3,0x24);if(!Number[_0x14db18(0x1aa)](_0x562d8e))return null;if(_0x562d8e<MIN_PLAUSIBLE_MS||_0x562d8e>=MAX_PLAUSIBLE_MS)return null;return _0x562d8e;}__name(runIdStartedAt,_0xef7a9b(0x1a3));function shardPathForTimestamp(_0x4b034d){const _0xdb1443={_0x36df00:0x213,_0x2452c5:0x1f0,_0x4da582:0x22b,_0x213957:0x213},_0x41a3d9=_0xef7a9b,_0x4a269c=new Date(_0x4b034d),_0x57d3d7=String(_0x4a269c[_0x41a3d9(0x24f)]())[_0x41a3d9(_0xdb1443._0x36df00)](0x4,'0'),_0x5f4f8b=String(_0x4a269c[_0x41a3d9(_0xdb1443._0x2452c5)]()+0x1)[_0x41a3d9(0x213)](0x2,'0'),_0x2e4b15=String(_0x4a269c[_0x41a3d9(_0xdb1443._0x4da582)]())[_0x41a3d9(_0xdb1443._0x213957)](0x2,'0');return _0x57d3d7+'/'+_0x5f4f8b+'/'+_0x2e4b15;}__name(shardPathForTimestamp,_0xef7a9b(0x2f8));function shardPathForRunId(_0xaf1c5e){const _0x3f0428=runIdStartedAt(_0xaf1c5e);return _0x3f0428===null?null:shardPathForTimestamp(_0x3f0428);}__name(shardPathForRunId,_0xef7a9b(0x151));function runDirFor(_0x23be35,_0x1ccf9b){const _0x19ab78=shardPathForRunId(_0x1ccf9b);return _0x19ab78===null?null:_0x23be35+'/'+_0x19ab78+'/'+_0x1ccf9b;}__name(runDirFor,_0xef7a9b(0x26a));var UnplaceableRunIdError=class extends Error{static{__name(this,'UnplaceableRunIdError');}constructor(_0x344976){const _0x6fcfac={_0x22a100:0x211,_0x39d373:0x2ba},_0xe0f0b5=_0xef7a9b;super(_0xe0f0b5(_0x6fcfac._0x22a100)+_0x344976),this[_0xe0f0b5(_0x6fcfac._0x39d373)]=_0xe0f0b5(0x24c);}};function requireRunDirFor(_0x5ef8d5,_0x386512){const _0x145afc=runDirFor(_0x5ef8d5,_0x386512);if(_0x145afc===null)throw new UnplaceableRunIdError(_0x386512);return _0x145afc;}__name(requireRunDirFor,'requireRunDirFor');function projectRunsRoot(_0x28507b='',_0xcae4cd){return UNOTEST_DIR+'/'+runsDirFor(_0x28507b,_0xcae4cd);}__name(projectRunsRoot,_0xef7a9b(0x19d));function projectRunDirFor(_0x384b1c,_0x6c498d='',_0x5362e3){return requireRunDirFor(projectRunsRoot(_0x6c498d,_0x5362e3),_0x384b1c);}__name(projectRunDirFor,_0xef7a9b(0x1ac));function shardDirFor(_0x2dee87,_0x2d7252){return _0x2dee87+'/'+shardPathForTimestamp(_0x2d7252);}__name(shardDirFor,_0xef7a9b(0x1b0));function*shardDaysDescending(_0x43dd61,_0xa6f360,_0x4ec446){const _0x4913dd=0x5265c00;let _0x1ef47c=Math['floor'](_0xa6f360/_0x4913dd)*_0x4913dd;for(let _0x2aefe6=0x0;_0x2aefe6<_0x4ec446;_0x2aefe6++){yield shardDirFor(_0x43dd61,_0x1ef47c),_0x1ef47c-=_0x4913dd;}}function _0x39d6(){const _0xa0a09a=['zxHPC3rZ','nJKYodmXmKvwqMHiwG','vu5pvevtvf9kvurhrv9wt1rf','CMf0zs1SAw1PDgvK','zw5HyMXLza','vu5pvevtvf9tq0HfrfvmrvnFrKLor0vsufjjtLq','C2nVCguTBwLZBwf0y2G','C2XHy2S','zw52tMfTzxngCM9TrgLYtgLZDgLUzW','lMPZB25S','iYaTls0G','C2HHCMrqyxrOrM9YuNvUswq','CgfYC2vcDw5KBgu','zw52s2v5CW','BgfZDe5VDgLMAwvKqxq','zxHHBxbSzq','Dg9KyxKG','C2v0u2vJB25KCW','zxjYB3i','yNvUzgXLlMPZB24','yM94vMfSDwvqyxrO','zgvZy3jPyMvtCgvJ','z2v0uMfUzg9TvMfSDwvZ','CgfYC2vsDwXL','CMvJB3zLCMvK','CgfZC2vK','l2fWAs9IB3GVy2KVCNvU','zgvJBgfYzwrfBNzlzxLZ','CgfYC2vcB3HsDw5tDgf0Dxm','zMfPBgLUz1nPBMnL','CMvTB3zLza','zhvYyxrPB25nCW','yM94tM90Awz5vgvZDfbHDgG','lMPZB24','BwfPBNrLBMfUy2u','CxvLDwvqCMLVCML0EuzYB21syw5R','zw52','igLZigfSC28GC2v0igLUihLVDxiGC2HLBgWGzw52AxjVBM1LBNqG4OcuigL0ihDPBgWGA2vLCcbYzxnVBhzPBMCGzNjVBsb0AgvYzsaODgHLigvUDMLYB25Tzw50ihDPBNmGB3zLCIb0AguGzMLSzsKU','refuqujbu0vFvvjm','BgfZDerLBgL2zxj5','vu5pvevtvf9kvurhrv9quK9wsurfuG','lNDVCMTZCgfJzs5QC29U','l2P1zgDL','AxntDhjPBMC','Bwf0y2G','Aw5KzxHpzG','CgfYC2vty2HLzhvSzuvUDhj5','yM94tM90Awz5q2HHBM5LBfbHDgG','CgfYC2vcB3HfBNzwywX1zxnszxbSywnLuMvXDwvZDa','lNnUyxbZAg90CW','CMvHC29U','CgfYC2vwyxjPywjSzuDHChm','CMvNzxHmAxrLCMfS','z2L0BgfI','C2vYAwfSAxPLrw52vMfSDwu','C2nOzw1HvMvYC2LVBG','C2vJCMv0C0nVBNrLBNq','BMv4DfrPy2TgCM9Tu3bLyW','y29TBwfUzhmUANnVBMW','BwfUAwzLC3qUANnVBG','zgfPBhKGyxqG','yM94uNvUC1bHDgG','vu5pvevtvf9cuK9xu0vsx0niqu5oruW','yNvUzgXLswq','DMfSDwu','BM90zq','CMfUAW','yMXVyLjLBfbHDgHgB3i','vu5pvevtvf9ct1HFvKfssufctevFtKfnrvm','y2XP','yM94tM90Awz5uNvSzvbHDgG','icOV','qvbqx0jbu0vFvvjm','igfSCMvHzhKGzxHPC3rZigLUia','vu5pvevtvf9kvurhrv9nt0rfta','CgfYC2vcB3HoB3rPzNLqCMv2Awv3','BwLUlxzLCNnPB24','mtm0mJq1nwjlz1jJza','AwqTBwLZBwf0y2G','CgXHBKfKzfzHCMLHyMXL','vu5pvevtvf9cvu5etevFsuq','zxHWzwn0lwzHAwW','igLZigfSC28GC2v0igLUihvUB3rLC3qVlMvUDIdIGjqGDgHLihnLy3jLDcb2ywX1zsbUB3CGC2HHzg93CYbPDc4','DgLJA2v0CW','yxbWlxnLCNzLCJPYzwfKEq','ChjVAMvJDff1zxvLuM9VDa','CNvUvhjPz2DLCKzYB21fBNy','ChjVAMvJDfj1BNnsB290','y3jLyxrLza','uNvUBMvYqwrHChrLCK5VDezVDw5KrxjYB3i','Ag91CNm','vu5pvevtvf9kvurhrv9srvrssuvt','zgfPBhK','CNvUswrtDgfYDgvKqxq','CgfYC2vuAwnRzxrdAq','lM11Dgv4','mtGZodqWA1PuwMnM','C2HH','vu5pvevtvf9ot19rvuvvrq','CMvWBgfJzq','AxngAw5PDgu','CxvLDwvqCMLVCML0EvjHBMS','ChjVAMvJDfj1BKrPCKzVCG','l3nLCMLLCW','C2vJCMv0','vu5pvevtvf9qt1bvuf9huKfdrv9nuW','C2HHCMreAxjgB3i','mtm3nvf4DwLKtG','ChjVAMvJDa','DhjPz2DLCNm','lNzPzxDLCI5SB2nR','CgfYC2vwywX1zuvUDMvSB3bL','C3rYAw5N','C2vJCMv0CW','u2f0','AdeY','CgfYC2vbBgW','l3f1Awv0lwHVDxjZ','yM94vMfSDwvZugf0Aa','y3j5ChrV','D29YA2vYCW','ndmXmZeZnfnevhbTAW','BwfUDwfS','CgfYC2vty2HLzhvSzxnkC29U','kI8Xnq','CgLK','Dw5VDgvZDc8UC2vJCMv0CW','CMvJzw50','l3rLC3q','z2v0sg91CNm','zM9YBwf0tMv4DfrPy2S','C3rKB3v0lMXVzW','l211DgvZlW','zw5JB2rLtMfTzuXPC3q','zMLUzeLUzgv4','ndqYodvNsuDJswG','Dw50AwW','yM94tM90Awz5uhjLDMLLD1rYAwDNzxi','yMXVyNnsB290rM9Y','zxzLCNKGmtuGBwLU','C2nVCgu','iIbKB2vZig5VDcbZDxbWB3j0ihj1BIbRAw5Kici','vu5pvevtvf8','vu5pvevtvf9svu5Fqunut1i','yMXVyIbOyxnOig11C3qGyMuGBg93zxjJyxnLigHLEcWGz290oIa','CgfYC2vdAvbYB3zPzgvY','Dw5VDgvZDc9Zy2HLzhvSzxmUEwfTBa','C29YDa','C2fTCgXL','vu5pvevtvf9tte9xx01p','AgfZ','C29Tzq','uNvUBMvY','BM8Ty29SBgvJDgLVBNm','igLZig5VDcbHigTUB3DUihj1BM5LCIbZzxr0Aw5NiokaLcbJAg9VC2uGB25LigzYB20GDgHLihj1BM5LCI1JB25MAwCGBgLZDc4','CMvNzxG','sw52ywXPzejSB2jiyxnOrxjYB3i','ChvZAcbHmwiYyZnKicHTywLUkq','yM94tM90Awz5uxvPzxriB3vYC1bHDgG','DgfYz2v0','vhvL','BwvYz2vty2HLzhvSzxm','zw52rMLSzuzVCG','AxntDhjPBMDbCNjHEq','zMLSzq','nJzbtxnAAxK','xsbYzxbLyxrZia','vw5ZDxbWB3j0zwrsDw5lAw5KrxjYB3i','C2LUy2u','iI4G','z2v0vvrdtw9UDgG','AxnfEhrLCM5HBfzHCK5HBwu','C3rHDgu','zw5KC1DPDgG','BwvZC2fNzq','vu5pvevtvf9kvurhrv9bq0nfu1nFve9lru4','zxzLCNKGnsbTAw4','vu5pvevtvf9kvurhrv9dquXmx1rjtuvpvvrFtvm','vu5pvevtvf9kvurhrv9vuKW','ufiGiW','DxjS','yxv0Ag9YAw5N','zNjLCq','vu5pvevtvf9dqunirv9esvi','CxvLDwveAxjgB3i','C3bSAxq','Dw5RBM93BI1YDwXL','Aw5JBhvKzxm','uNvUBMvYtM90q29UzMLNDxjLzevYCM9Y','CgfYC2vdAgfUBMvS','AxnbCNjHEq','jNn0yxrLpq','A2v5CW','y29UzMLN','vu5pvevtvf9cuK9xu0vs','Dw5RBM93BI1LBNzPCM9UBwvUDa','vu5pvevtvf9rvuvvrv9mruftrq','CgfYC2vtzxjPzxnfBNrYEq','CgfYC2vty2HLzhvSzxneB2m','CNvSzxm','xsbPCYbUB3qGysb2ywXPzcbLBNrYEsdIGjqGAxqGBMvLzhmGzxHHy3rSEsbVBMuGB2yGygnVBgXLy3rPB246ycaVigbZy2vUyxjPBZPGihbSDxmGysbGy3jVBJPGihn0CMLUzW','x3nJzw5HCMLVCW','BwfRzvf1zxvLvgLJA2v0tMfTzq','CNvUswqGy2fYCMLLCYbUBYb0Aw1LC3rHBxaSignHBM5VDcbWBgfJzsbPDcbPBIbHihnOyxjKoIa','zgLYDhK','CgfKu3rHCNq','C2nOzwr1BgvZ','CgfYC2vcB3HwywX1zvnLDfjLCxvLC3q','Bte1','icOGkIaQicO','CMvZzxj2zwq','zhvWBgLJyxrL','Bxv0zxm','CM91BMq','lNzPzxDLCI5SB2C','Axntzwn0Aw9UrgL2AwrLCG','C2nOzwr1Bgu','iIdIGjqGB25LihnJAgvKDwXLihbLCIb0yxjNzxq','yNjHBMnO','BxvZDcbUB3qGyMuGiI4Iig9YiciUlIi','lNj1BNm','CgfYC2vcB3HoB3rPzNLtzxjPzxnwAwv3','y3jLyxrLzef0','AxnbC3nPz25Tzw50t2y','ywrK','AxnszwDLEeXPDgvYywW','DxbKyxrLza','y2HHBM5LBhm','BwLUDxrLCW','z2v0vvrdrgf0zq','DwjYxW','x2XHDgvZDc5QC29U','vu5pvevtvf9iruferuq','BgvUz3rO','zMXHDe1HCa','AM9PBG','CgfYC2vcDw5KBgvvCgXVywrszxnWB25Zzq','x2rHEs5QC29UBa','DgvZDa','ChjVAMvJDhm','D2vIAg9VAW','y3jVBKzYB21tCgvJ','CgfYC2vfBNzdB250zw50','C2v0twLUDxrLCW','BxvZDcbUB3qGy29UDgfPBIbCic8GoIaQid8GiIa8id4GFcbVCIbJB250CM9SignOyxjHy3rLCNm','C3rLChmUANnVBMW','ChjLCgfYzq','icH3AxaP','tK9Fq09mt1i','Dw5VDgvZDc8Uzw52','l2fWAs9IB3GVyNvUzgXLCW','DMLLD2vY','zMfPBgvK','zxzLCNKG','ywjVCNrLza','C3bLy01HDgnOzxm','y2f0zwDVCML6zvzHCMLHyMXL','DhjPz2DLCG','zxzLCNK','vu5pvevtvf9kvurhrv9it1nu','zMLUAxnOzwq','ChjVDMLKzxi','vw5WBgfJzwfIBgvsDw5jzevYCM9Y','C3rHDhvZ','C3rYAw5NtgLZDa','z2v0vvrdrNvSBfLLyxi','CgfYC2vdAvj1BLjLCxvLC3q','C3rHCNrZv2L0Aa','zgf5CW','vu5pvevtvf9kvurhrv9qt1ju','zgvZy3jPyMvdCM9U','yxrnAw51DgvZ','CxvPzxriB3vYCW','C2vYAwvZ','l3bYzxzPzxC/CNvSzt0','vu5pvevtvf9dt05tt0Xf','qxbW','CxvLDwvK','tw9U','Ag9ZDa','vu5pvevtvf9eruzbvuXux1rjtuvpvvrFtvm','C3rVCMfNzq','yxj0AwzHy3rZuM9VDezYB20','CMvZzxj2zwrcB3HwywX1zu5HBwvZ','BM90lxj1BG','Bgf5zxjZrM9Y','nZe4mZGWq3zHuNrk','CNvUBMLUzW','CNvUBMvY','CgfYC2voyw1LzfjLy29Yza','A2v5','vu5pvevtvf9svu5Fvfjjr0DfuG','CNvUrgLYrM9Y','C3rHCNrLzef0','zM9YyMLKzgvU','l2fWAs9IB3GVzw52CY8','zw52AxjVBM1LBNq','vu5pvevtvf9erujvr19esvi','CgfYC2vtzwnYzxq','CgfYC2vbChbtzxj2zxjfDMvUDa','DgLTzxm','kI8XnsaQicOGkIaQ','CgfK','ig5LzwrZigeGBMfTzq','odiXmJmWywLMrgHM','A2LUza','DMfSAwrHDgvdB2XSzwn0Aw9UtMfTzq','zgvZy3jPyMvuAwnRzxrdAq','BxvZDcbUB3qGC3rHCNqGD2L0AcaNlIC','C2vJCMv0C0XHEwvYrMLSzxngB3i','CgfYC2vnDxrL','vu5pvevtvf9erujvrW','C3rHCNrpzKrHEq','zMLUza','yxbWlxnLCNzLCJPYzxvZzwq','zw52AxjVBM1LBNrZ','y2HHBM5LBa','l3j1BgvZlW','Dw5HDMfPBgfIBgu','B2jQzwn0','zw52q29UDgvUDa','lY5Kzwj1z2DLCG','C3bSAwnL','z2v0vgLTzq','CgfYC2vcB3HoB3rPzNLwAwv3','iokaLcbWAwnRigeGzgLMzMvYzw50ig5HBwuGB3iGzwrPDcb0AguGzxHPC3rPBMCGDMfSDwuU','ouHhEhrwAG','CNvUDgLTzs5QC29U','C2nLBMfYAw9szwzgCM9TrMLSzu5HBwu','C2nLBMfYAw8','z2v0twLUDxrLCW','CgfYC2vcB3HtzwnYzxrszxzLywXszxnWB25Zzq','C3bLy0zYB21dCM9U','DgHYzwfKswq','AxnfDMvUDa','BwfRzvj1BKLK','l2HLywX0Aa','CgfYC2vrDwLLDeHVDxjZ','C2nOzwr1BgvZwW','vu5pvevtvf9kvurhrv9nt0rf','C2XPy2u','CgfYC2vcB3HsDw5by2nLChrLza','Aw52ywXPzc1Uyw1L','vu5pvevtvf9erujvr19quKvwsuvxx0jzvevt','AM9PBKXPBMvZ','CgfYC2vcB3HszwfKrw52AxjVBM1LBNrZ','DhjPBq','yhnJAgvKDwXLCZPGig11C3qGyMuGyw4GyxjYyxK','yM94tM90Awz5u2vYAwvZugf0Aa','vu5pvevtvf9kvurhrv9ts0Lqx1bsruzmsuDiva','zMLSDgvY','icOGkIaQ','AxnsDw5Uzxjtzxr0Aw5N','vvrd','C2nLBMfYAw9jBMrLEezPBgvoyw1L','Dw5RBM93BI1WCM9Qzwn0','D2vIAg9VA1vYBa','CgfYC2vcB3HszwfKrxjYB3i','yM90vg9Rzw4','CMfUzg9T','Ec11BM90zxn0lwvUDMLYB25Tzw50','CgfYC2vmyxn0rgvSAxzLCNK','CMvWzwf0rxzLCNK','vu5pvevtvf9eruzbvuXux05bvKLhqvrjt05FveLnru9vvf9nuW','ywz0zxjgywLSDxjLCW','vu5pvevtvf9buLrjrKfdvfnFuK9pva','Aw50zxjHy3rPDMu','BNvTyMvYCW','CgfYC2vcB3HwywX1zxnszxnWB25Zzq','CMvTB3zLrw52vMfY','CgfYC2vcB3HoB3rPzNLdAgfUz2vK','yM94tM90Awz5u2vYAwvZuMvZzxrqyxrO','BMfTzq','BxvZDcbIzsbHihn0CMLUzW','y2HHDeLK','BwfSzM9YBwvK','yM94tM90Awz5uhjLDMLLD1bHDgG','igf0ia','mMLpzuntua','z2L0','CgfYC2vhAxrjBMzV','zgvIDwDeAxjgB3i','vu5pvevtvf9ct1HFvvjm','DMfYAwfIBgvZ','AxnsDw5UzxjdB25MAwDlzxK','vu5pvevtvf9erujvr19ive1mx01bwf9cwvrfuW','AgvHzgvYCW','y29TCgfYzvf1zxvLvgLJA2v0tMfTzxm','Dg9mB3DLCKnHC2u','yM94rw52vMfSDwvqyxrO','AxzHBG','u3vU','D2vLA2X5','igLZigfSC28GC2v0igLUihvUB3rLC3qVlNnLy3jLDhmG4OcuihrOzsbZzwnYzxqGDMfSDwuGC2HHzg93CYb0AgLZig9Uzs4','CMv2zwfS','zxHWzwn0zwqGysbTyxbWAw5NihDPDgGGysbGC2nOzwr1BgvZoMaGyxjYyxK','yM94vMfSDwvlAw5Kt2ztzwDTzw50','vu5pvevtvf9mt0nbteu','C3rYAw5NAwz5','yM94tM90Awz5txv0zvbHDgG','ChvZAa','C291CMnL','l2nOyw5UzwXZlW','CgfYC2vdAvj1BLjLC3bVBNnL','CNvUswq','CgfYC2vszxbSywnLuMvXDwvZDa','Dg9tDhjPBMC','AxnszwnVCMq','zgvIDwDNzxjgAwXLrM9Y','CNvUlwLUlxbYB2DYzxnZ','BgLUzxm','zw50CMLLCW','AxnfBNzwyxjoyw1L','B3v0y29Tzq','yM9VBgvHBG','rK9sq0vFq09mt1i','Dw5RBM93BI1JAgfUBMvS','vu5pvevtvf9usu1fwK9orq','CgfYC2vcB3HoB3rPzNLfCNjVCG','zxzLBNrZ','yM94uNvUugf0Aa','Ec11BM90zxn0lwD1yxjKlxnLy3jLDa','Dw5HDxrOB3jPEMvK','BNvTyMvY','zgvSzxrLu2HHzg93v2fYBMLUzW','yM94rw52u2vJCMv0C1jLDMvHBfbHDgG','C2vUDa','x2jSB2jZ','zgvMAw5LuhjVCgvYDhK','CNvU','BwfW','DgvYBwLUywW','vu5pvevtvf9tvevqx1nduKvftLnit1rt','yxbW','C2HHCMrqyxrOrM9YvgLTzxn0yw1W','vgH1','zxHLyW','ywn0AxzLrw52tMfTzq','vu5pvevtvf9kvurhrv9mt0DFtevwruW','AxnjBNrLz2vY','CgfYC2vrDwv1zvrPy2TLDe5HBwu','CgfYC2vtDhjPBMDszwnVCMq','ztjL','vu5pvevtvf9rvuvvrv9hte9cquXFreLs','CgLJA2vYlxnUyxbZAg90lNr4Da','AxnsDw5ZrgLYtMfTzq','AxnbC3nPz25Tzw50tgLUzq','C2v0','vu5pvevtvf9mt0DFtevwruW','CMvZzxj2zwrvBMrLCNnJB3jL','Ec11BM90zxn0lwfJDg9YlxrPy2TLDa','Dg9TB3jYB3CG','y29SBgvJDgLVBG','C2vJCMv0C0zPBgvgB3i','Dw5RBM93BI1ZzwnYzxq','CgfYC2vizwfKzxjgBgfNCW','vu5pvevtvf9kvurhrv9ut0TftG','AxnbBM5VDgf0Aw9UtgLUzq','vu5pvevtvf9ftLy','z2v0rgf5','CNvUCW'];_0x39d6=function(){return _0xa0a09a;};return _0x39d6();}__name(shardDaysDescending,'shardDaysDescending');var RUN_INDEX_SCHEMA_VERSION=0x2,SCENARIO_RECENT_WINDOW=0xc;function isFailingStatus(_0x128d46){const _0x4529ab={_0x32bcc8:0x242},_0x391e97=_0xef7a9b;return _0x128d46===_0x391e97(_0x4529ab._0x32bcc8)||_0x128d46==='interrupted';}__name(isFailingStatus,'isFailingStatus');function foldScenarioRun(_0x39aa12,_0x3db153){const _0x377d8e={_0x949ce6:0x26b,_0x28a8ca:0x29a,_0x590be3:0x163},_0x4b6753=_0xef7a9b,_0x201420={'lastRunId':_0x3db153[_0x4b6753(0x2da)],'lastStatus':_0x3db153['status'],'lastAt':_0x3db153[_0x4b6753(_0x377d8e._0x949ce6)],'lastDurationMs':_0x3db153[_0x4b6753(0x165)],'recent':[..._0x39aa12?.[_0x4b6753(0x1c5)]??[],_0x3db153[_0x4b6753(0x24d)]][_0x4b6753(_0x377d8e._0x28a8ca)](-SCENARIO_RECENT_WINDOW)};if(!isFailingStatus(_0x3db153[_0x4b6753(0x24d)]))return{..._0x201420,'failStreak':0x0,'failingSince':null};const _0x3fe8b3=(_0x39aa12?.['failStreak']??0x0)+0x1;return{..._0x201420,'failStreak':_0x3fe8b3,'failingSince':_0x3fe8b3===0x1?_0x3db153[_0x4b6753(0x26b)]:_0x39aa12?.[_0x4b6753(_0x377d8e._0x590be3)]??_0x3db153[_0x4b6753(0x26b)]};}__name(foldScenarioRun,'foldScenarioRun');function scenarioIndexFileName(_0x5cf59b){const _0x59525e={_0x10242f:0x14f},_0x38358a=_0xef7a9b;return encodeURIComponent(_0x5cf59b)+_0x38358a(_0x59525e._0x10242f);}__name(scenarioIndexFileName,_0xef7a9b(0x2a8));function scenarioRefFromFileName(_0x31b9f6){const _0x5037af={_0x5d8421:0x1f3,_0x171167:0x29a,_0x5b0e14:0x14f,_0x1946d2:0x22f},_0x28f29f=_0xef7a9b;if(!_0x31b9f6[_0x28f29f(_0x5037af._0x5d8421)](_0x28f29f(0x14f)))return null;try{return decodeURIComponent(_0x31b9f6[_0x28f29f(_0x5037af._0x171167)](0x0,-_0x28f29f(_0x5037af._0x5b0e14)[_0x28f29f(_0x5037af._0x1946d2)]));}catch{return null;}}__name(scenarioRefFromFileName,_0xef7a9b(0x28e));var CI_RUN_PATH=_0xef7a9b(0x160),PROVIDER_IDS=['github',_0xef7a9b(0x17b),'api'],RUN_ERROR_CODES=[_0xef7a9b(0x2ec),'scope-mismatch',_0xef7a9b(0x209),'unknown-bundle',_0xef7a9b(0x1df),'malformed',_0xef7a9b(0x25f)];function parseCiRunRequest(_0x46ac0f){const _0x410ebc={_0x2e3170:0x1b6,_0x29749f:0x22f,_0x511270:0x2ed,_0x4a2389:0x2fd},_0x24dff6=_0xef7a9b;if(!isRecord(_0x46ac0f))return null;const {bundleId:_0x16fb90,environment:_0x23debd,collections:_0x103c71,pr:_0x5e3492,branch:_0x1f91de,sha:_0x5ba4b7}=_0x46ac0f;if(typeof _0x16fb90!==_0x24dff6(_0x410ebc._0x2e3170)||_0x16fb90[_0x24dff6(_0x410ebc._0x29749f)]===0x0)return null;if(typeof _0x23debd!==_0x24dff6(0x1b6)||_0x23debd['length']===0x0)return null;let _0x59f921=null;if(_0x103c71!==void 0x0){if(!Array[_0x24dff6(0x204)](_0x103c71))return null;if(_0x103c71['some'](_0x5d9ce0=>typeof _0x5d9ce0!==_0x24dff6(0x1b6)||_0x5d9ce0[_0x24dff6(0x22f)]===0x0))return null;_0x59f921=_0x103c71;}if(_0x5e3492!==void 0x0&&(typeof _0x5e3492!==_0x24dff6(_0x410ebc._0x511270)||!Number[_0x24dff6(_0x410ebc._0x4a2389)](_0x5e3492)))return null;for(const _0x1a1367 of[_0x1f91de,_0x5ba4b7]){if(_0x1a1367!==void 0x0&&typeof _0x1a1367!==_0x24dff6(0x1b6))return null;}return{'bundleId':_0x16fb90,'environment':_0x23debd,..._0x59f921?{'collections':_0x59f921}:{},...typeof _0x5e3492===_0x24dff6(0x2ed)?{'pr':_0x5e3492}:{},...typeof _0x1f91de===_0x24dff6(0x1b6)?{'branch':_0x1f91de}:{},...typeof _0x5ba4b7===_0x24dff6(0x1b6)?{'sha':_0x5ba4b7}:{}};}__name(parseCiRunRequest,_0xef7a9b(0x250));function parseCiRunResponse(_0xa1c28a){const _0x139a4a={_0x5c1bd1:0x158,_0x2ba7f2:0x1b6,_0x301ce2:0x25b,_0xca92ed:0x1b6,_0x11cbd8:0x204,_0x4e1d1a:0x2ed},_0x1109f6=_0xef7a9b;if(!isRecord(_0xa1c28a))return null;if(isRecord(_0xa1c28a['error'])){const {code:_0x148228,message:_0x46b7c2}=_0xa1c28a[_0x1109f6(_0x139a4a._0x5c1bd1)];if(!RUN_ERROR_CODES['includes'](_0x148228))return null;if(typeof _0x46b7c2!==_0x1109f6(_0x139a4a._0x2ba7f2))return null;return{'error':{'code':_0x148228,'message':_0x46b7c2}};}const {status:_0x185eae,bundleId:_0x3cf065,environment:_0x2e1d80,runs:_0x48ca23,superseded:_0x4488cc}=_0xa1c28a;if(_0x185eae!==_0x1109f6(_0x139a4a._0x301ce2))return null;if(typeof _0x3cf065!=='string'||typeof _0x2e1d80!==_0x1109f6(_0x139a4a._0xca92ed))return null;if(!Array[_0x1109f6(_0x139a4a._0x11cbd8)](_0x48ca23))return null;const _0x50aa96=[];for(const _0x1afe0d of _0x48ca23){if(!isRecord(_0x1afe0d))return null;const {runId:_0x411dc6,collection:_0x51b28a}=_0x1afe0d;if(typeof _0x411dc6!==_0x1109f6(0x1b6)||typeof _0x51b28a!==_0x1109f6(0x1b6))return null;_0x50aa96['push']({'runId':_0x411dc6,'collection':_0x51b28a});}if(_0x4488cc!==void 0x0&&typeof _0x4488cc!=='number')return null;return{'status':'queued','bundleId':_0x3cf065,'environment':_0x2e1d80,'runs':_0x50aa96,...typeof _0x4488cc===_0x1109f6(_0x139a4a._0x4e1d1a)?{'superseded':_0x4488cc}:{}};}__name(parseCiRunResponse,_0xef7a9b(0x2d9));function parseCiProvider(_0x53485d){return PROVIDER_IDS['includes'](_0x53485d)?_0x53485d:null;}__name(parseCiProvider,_0xef7a9b(0x1d7));var QUEUE_SUBDIR='.queue',QUEUE_TICKETS_DIR=_0xef7a9b(0x199),QUEUE_RUNNING_DIR=_0xef7a9b(0x265),QUEUE_SLOTS_DIR='slots',QUEUE_MUTEX_FILE=_0xef7a9b(0x1a5),QUEUE_LEASE_ENV=_0xef7a9b(0x20a),QUEUE_DISABLED_ENV=_0xef7a9b(0x1a8),QUEUE_GLOBAL_DIR_ENV=_0xef7a9b(0x301),QUEUE_GLOBAL_SLOTS_ENV='UNOTEST_QUEUE_GLOBAL_SLOTS',QUEUE_SCHEMA_VERSION=0x1;function queueDirFor(_0x32ce98,_0x3843d1){return''+QUEUE_SUBDIR+_0x32ce98+(_0x3843d1?'.'+_0x3843d1:'');}__name(queueDirFor,_0xef7a9b(0x1fe));function isQueueDirName(_0x3d4ca8){const _0x16acc7={_0xaa8f7c:0x251},_0x25da2e=_0xef7a9b;return _0x3d4ca8===QUEUE_SUBDIR||_0x3d4ca8[_0x25da2e(_0x16acc7._0xaa8f7c)](QUEUE_SUBDIR+'-')||_0x3d4ca8['startsWith'](QUEUE_SUBDIR+'.');}__name(isQueueDirName,'isQueueDirName');function projectQueueRoot(_0x767914='',_0x558ed4){return UNOTEST_DIR+'/'+queueDirFor(_0x767914,_0x558ed4);}__name(projectQueueRoot,_0xef7a9b(0x19b));var PRIORITY_RANKS=Object['freeze']({'maintenance':0x0,'interactive':0x1,'ci':0x2,'schedule':0x3}),RANK_PRIORITIES=[_0xef7a9b(0x168),_0xef7a9b(0x2b4),'ci','schedule'],QUEUE_PRIORITIES=RANK_PRIORITIES;function queuePriorityRank(_0x209b42){return PRIORITY_RANKS[_0x209b42];}__name(queuePriorityRank,_0xef7a9b(0x1ab));function queuePriorityFromRank(_0x4adc42){return RANK_PRIORITIES[_0x4adc42]??null;}__name(queuePriorityFromRank,_0xef7a9b(0x169));function describeTicketCi(_0xecc5c9){const _0x458fa9={_0x4b421d:0x1f9,_0x585237:0x24b},_0x27e4d9=_0xef7a9b,_0x29636e=_0xecc5c9['sha']?'@'+_0xecc5c9[_0x27e4d9(0x1a7)][_0x27e4d9(0x29a)](0x0,0x7):'';if(_0xecc5c9['pr']!==void 0x0)return _0x27e4d9(_0x458fa9._0x4b421d)+_0xecc5c9['pr']+_0x29636e;if(_0xecc5c9['branch']!==void 0x0)return''+_0xecc5c9[_0x27e4d9(0x220)]+_0x29636e;return _0x29636e[_0x27e4d9(0x22f)]>0x0?_0x29636e[_0x27e4d9(0x29a)](0x1):_0xecc5c9[_0x27e4d9(_0x458fa9._0x585237)];}__name(describeTicketCi,_0xef7a9b(0x279));function makeQueueTicketName(_0x12e8c1,_0x284356,_0x2e43b4){const _0x34a00f={_0x529b97:0x2dc,_0x17213d:0x167},_0x285866=_0xef7a9b;return queuePriorityRank(_0x12e8c1)+'-'+_0x284356[_0x285866(_0x34a00f._0x529b97)](0x24)+'-'+_0x2e43b4+_0x285866(_0x34a00f._0x17213d);}__name(makeQueueTicketName,_0xef7a9b(0x210));var TICKET_NAME_RE=/^([0-3])-([0-9a-z]+)-([0-9a-f]+)\.json$/;function parseQueueTicketName(_0x236be7){const _0x182e6c=_0xef7a9b,_0x4bfeac=TICKET_NAME_RE['exec'](_0x236be7);if(!_0x4bfeac)return null;const _0x2a7e63=Number(_0x4bfeac[0x1]),_0x37b183=queuePriorityFromRank(_0x2a7e63);if(_0x37b183===null)return null;const _0x3f882c=parseInt(_0x4bfeac[0x2],0x24);if(!Number[_0x182e6c(0x1aa)](_0x3f882c))return null;return{'rank':_0x2a7e63,'priority':_0x37b183,'createdAt':_0x3f882c,'random':_0x4bfeac[0x3]};}__name(parseQueueTicketName,_0xef7a9b(0x2fe));function compareQueueTicketNames(_0x1ccf8e,_0x52c0d9){const _0x41187a={_0x2381f9:0x224,_0x4479dc:0x2ad,_0x764527:0x2ad},_0x4acea9=_0xef7a9b,_0x203657=parseQueueTicketName(_0x1ccf8e),_0x128827=parseQueueTicketName(_0x52c0d9);if(!_0x203657||!_0x128827)return _0x1ccf8e<_0x52c0d9?-0x1:_0x1ccf8e>_0x52c0d9?0x1:0x0;if(_0x203657[_0x4acea9(0x188)]!==_0x128827[_0x4acea9(0x188)])return _0x203657['rank']-_0x128827[_0x4acea9(0x188)];if(_0x203657['createdAt']!==_0x128827['createdAt'])return _0x203657['createdAt']-_0x128827[_0x4acea9(_0x41187a._0x2381f9)];return _0x203657[_0x4acea9(_0x41187a._0x4479dc)]<_0x128827[_0x4acea9(0x2ad)]?-0x1:_0x203657['random']>_0x128827[_0x4acea9(_0x41187a._0x764527)]?0x1:0x0;}__name(compareQueueTicketNames,_0xef7a9b(0x2c9));var TICKET_KINDS=[_0xef7a9b(0x28f),'collection',_0xef7a9b(0x1fb),_0xef7a9b(0x168)],PRODUCER_KINDS=[_0xef7a9b(0x18b),_0xef7a9b(0x241),'mcp','schedule','ci'];function parseQueueTicket(_0x4bb53c){const _0x242a83={_0x5362e7:0x22f,_0x52a548:0x201,_0x3dcf82:0x1aa,_0x258f18:0x277,_0x19a65f:0x25d,_0x5e2b99:0x1b6,_0x5aeb78:0x185},_0x5772c2=_0xef7a9b;if(!isRecord(_0x4bb53c))return null;const {schemaVersion:_0x491c3e,runId:_0x379860,kind:_0x54c82f,ref:_0x372009,env:_0x6359e4,priority:_0x887271,weight:_0x3eb0af,producer:_0x11ef13,source:_0x375d58,ci:_0x24ccba,createdAt:_0x47abd8}=_0x4bb53c;if(_0x491c3e!==QUEUE_SCHEMA_VERSION)return null;if(typeof _0x379860!==_0x5772c2(0x1b6)||_0x379860[_0x5772c2(_0x242a83._0x5362e7)]===0x0)return null;if(typeof _0x372009!=='string')return null;if(!TICKET_KINDS[_0x5772c2(0x201)](_0x54c82f))return null;if(!QUEUE_PRIORITIES[_0x5772c2(_0x242a83._0x52a548)](_0x887271))return null;if(typeof _0x3eb0af!==_0x5772c2(0x2ed)||!Number[_0x5772c2(_0x242a83._0x3dcf82)](_0x3eb0af)||_0x3eb0af<0x1)return null;if(typeof _0x47abd8!==_0x5772c2(0x2ed)||!Number[_0x5772c2(_0x242a83._0x3dcf82)](_0x47abd8))return null;if(!isRecord(_0x11ef13))return null;if(!PRODUCER_KINDS[_0x5772c2(_0x242a83._0x52a548)](_0x11ef13[_0x5772c2(_0x242a83._0x258f18)]))return null;if(typeof _0x11ef13[_0x5772c2(0x1c3)]!==_0x5772c2(0x2ed)||typeof _0x11ef13[_0x5772c2(_0x242a83._0x19a65f)]!==_0x5772c2(0x1b6))return null;if(_0x6359e4!==void 0x0&&typeof _0x6359e4!==_0x5772c2(_0x242a83._0x5e2b99))return null;let _0x4354f4=null;if(_0x375d58!==void 0x0){if(!isRecord(_0x375d58)||typeof _0x375d58[_0x5772c2(_0x242a83._0x5aeb78)]!==_0x5772c2(0x1b6)||_0x375d58[_0x5772c2(0x185)][_0x5772c2(0x22f)]===0x0)return null;_0x4354f4={'bundleId':_0x375d58[_0x5772c2(_0x242a83._0x5aeb78)]};}let _0x3de06e=null;if(_0x24ccba!==void 0x0){_0x3de06e=parseTicketCi(_0x24ccba);if(_0x3de06e===null)return null;}return{'schemaVersion':QUEUE_SCHEMA_VERSION,'runId':_0x379860,'kind':_0x54c82f,'ref':_0x372009,'priority':_0x887271,'weight':_0x3eb0af,'producer':{'kind':_0x11ef13['kind'],'pid':_0x11ef13['pid'],'host':_0x11ef13[_0x5772c2(0x25d)]},'createdAt':_0x47abd8,...typeof _0x6359e4===_0x5772c2(0x1b6)?{'env':_0x6359e4}:{},..._0x4354f4?{'source':_0x4354f4}:{},..._0x3de06e?{'ci':_0x3de06e}:{}};}__name(parseQueueTicket,'parseQueueTicket');function parseTicketCi(_0x4f7a08){const _0x306926={_0x4e4a27:0x1b6,_0x150c3c:0x2fd},_0x413abc=_0xef7a9b;if(!isRecord(_0x4f7a08))return null;const _0x400106=parseCiProvider(_0x4f7a08['provider']);if(_0x400106===null)return null;const {repo:_0x2bd33e,branch:_0x25bbab,sha:_0x4a8d38,pr:_0x5a1f20,checkId:_0x31d1e5}=_0x4f7a08;for(const _0x3a4154 of[_0x2bd33e,_0x25bbab,_0x4a8d38,_0x31d1e5]){if(_0x3a4154!==void 0x0&&typeof _0x3a4154!==_0x413abc(_0x306926._0x4e4a27))return null;}if(_0x5a1f20!==void 0x0&&(typeof _0x5a1f20!==_0x413abc(0x2ed)||!Number[_0x413abc(_0x306926._0x150c3c)](_0x5a1f20)))return null;return{'provider':_0x400106,...typeof _0x2bd33e==='string'?{'repo':_0x2bd33e}:{},...typeof _0x25bbab===_0x413abc(0x1b6)?{'branch':_0x25bbab}:{},...typeof _0x4a8d38==='string'?{'sha':_0x4a8d38}:{},...typeof _0x5a1f20==='number'?{'pr':_0x5a1f20}:{},...typeof _0x31d1e5==='string'?{'checkId':_0x31d1e5}:{}};}__name(parseTicketCi,_0xef7a9b(0x1a4));var BUNDLE_SCHEMA_VERSION=0x1,BUNDLE_MANIFEST_FILE=_0xef7a9b(0x159),BUNDLE_UPLOAD_PATH=_0xef7a9b(0x240),BOX_URL_ENV=_0xef7a9b(0x2c4),BOX_TOKEN_ENV='UNOTEST_BOX_TOKEN',BUNDLE_ID_ENV=_0xef7a9b(0x196),SCHEDULES_FINGERPRINT_ENV=_0xef7a9b(0x14b);function parseGitInfo(_0x1e0d8b){const _0x3e7e77={_0xf67004:0x1b6},_0x166d3f=_0xef7a9b;if(!isRecord(_0x1e0d8b))return null;const {repo:_0x3eb907,branch:_0x771b5e,sha:_0x158d25,dirty:_0x129ab5}=_0x1e0d8b;if(typeof _0x129ab5!==_0x166d3f(0x2e4))return null;for(const _0x56fd96 of[_0x3eb907,_0x771b5e,_0x158d25]){if(_0x56fd96!==void 0x0&&typeof _0x56fd96!==_0x166d3f(_0x3e7e77._0xf67004))return null;}return{'dirty':_0x129ab5,...typeof _0x3eb907===_0x166d3f(_0x3e7e77._0xf67004)?{'repo':_0x3eb907}:{},...typeof _0x771b5e==='string'?{'branch':_0x771b5e}:{},...typeof _0x158d25==='string'?{'sha':_0x158d25}:{}};}__name(parseGitInfo,_0xef7a9b(0x2c2));function parseBundleManifest(_0x3688a3){const _0x11d7e0={_0x5986e6:0x1b6,_0x53ffa8:0x1b6,_0x2991db:0x2ed,_0x5087ba:0x204,_0x186cd2:0x1b6,_0x1debe0:0x1b6},_0x3bdbf2=_0xef7a9b;if(!isRecord(_0x3688a3))return null;const {schemaVersion:_0x4730dc,bundleId:_0x1001d5,sha256:_0x1d6ae1,createdAt:_0x5ea292,webVersion:_0x29d1e2,author:_0x415f36,git:_0x109622,fileCount:_0x50ac1b,byteSize:_0x10b7dd,declaredVariables:_0x2f64e2,schedulesFingerprint:_0x183dd1}=_0x3688a3;if(_0x4730dc!==BUNDLE_SCHEMA_VERSION)return null;if(typeof _0x1001d5!==_0x3bdbf2(_0x11d7e0._0x5986e6)||_0x1001d5[_0x3bdbf2(0x22f)]===0x0)return null;if(_0x1d6ae1!==void 0x0&&!/^[0-9a-f]{64}$/['test'](String(_0x1d6ae1)))return null;if(typeof _0x29d1e2!==_0x3bdbf2(_0x11d7e0._0x53ffa8)||_0x29d1e2[_0x3bdbf2(0x22f)]===0x0)return null;if(typeof _0x5ea292!==_0x3bdbf2(_0x11d7e0._0x2991db)||!Number['isFinite'](_0x5ea292))return null;if(typeof _0x50ac1b!==_0x3bdbf2(_0x11d7e0._0x2991db)||!Number[_0x3bdbf2(0x2fd)](_0x50ac1b))return null;if(typeof _0x10b7dd!==_0x3bdbf2(0x2ed)||!Number[_0x3bdbf2(0x2fd)](_0x10b7dd))return null;if(_0x415f36!==void 0x0&&typeof _0x415f36!==_0x3bdbf2(_0x11d7e0._0x53ffa8))return null;let _0x1351c4=null;if(_0x109622!==void 0x0){_0x1351c4=parseGitInfo(_0x109622);if(_0x1351c4===null)return null;}const _0x255e4f=Array[_0x3bdbf2(_0x11d7e0._0x5087ba)](_0x2f64e2)?_0x2f64e2['filter'](_0x41931c=>typeof _0x41931c===_0x3bdbf2(0x1b6)):[],_0x2c5298=typeof _0x183dd1==='string'&&/^[0-9a-f]{64}$/['test'](_0x183dd1)?_0x183dd1:void 0x0;return{'schemaVersion':BUNDLE_SCHEMA_VERSION,'bundleId':_0x1001d5,...typeof _0x1d6ae1===_0x3bdbf2(_0x11d7e0._0x186cd2)?{'sha256':_0x1d6ae1}:{},'createdAt':_0x5ea292,'webVersion':_0x29d1e2,'fileCount':_0x50ac1b,'byteSize':_0x10b7dd,...typeof _0x415f36===_0x3bdbf2(_0x11d7e0._0x1debe0)?{'author':_0x415f36}:{},..._0x1351c4?{'git':_0x1351c4}:{},..._0x255e4f[_0x3bdbf2(0x22f)]>0x0?{'declaredVariables':_0x255e4f}:{},..._0x2c5298!==void 0x0?{'schedulesFingerprint':_0x2c5298}:{}};}__name(parseBundleManifest,'parseBundleManifest');function describeBundle(_0x233161){const _0x2eb22f={_0x530fdb:0x1a7,_0x44abe9:0x220,_0x316df7:0x212,_0x463b39:0x23d},_0x4397b6=_0xef7a9b,_0xe32ddc=_0x233161[_0x4397b6(0x2c1)];if(!_0xe32ddc||_0xe32ddc['branch']===void 0x0&&_0xe32ddc[_0x4397b6(_0x2eb22f._0x530fdb)]===void 0x0)return _0x233161[_0x4397b6(0x185)];const _0x4bc4e4=_0xe32ddc[_0x4397b6(0x1a7)]?_0xe32ddc['sha']['slice'](0x0,0x7):'?',_0x10770d=_0xe32ddc[_0x4397b6(_0x2eb22f._0x44abe9)]??'?';return _0x10770d+'@'+_0x4bc4e4+(_0xe32ddc[_0x4397b6(_0x2eb22f._0x316df7)]?_0x4397b6(_0x2eb22f._0x463b39):'');}__name(describeBundle,'describeBundle');var UPLOAD_ERROR_CODES=[_0xef7a9b(0x2ec),'too-large',_0xef7a9b(0x2bd),_0xef7a9b(0x194),_0xef7a9b(0x192),_0xef7a9b(0x14c),_0xef7a9b(0x25f)];function parseBundleUploadResponse(_0x551459){const _0xef2590={_0x4a39c1:0x158,_0x48fa86:0x201},_0x5ee746=_0xef7a9b;if(!isRecord(_0x551459))return null;if(isRecord(_0x551459[_0x5ee746(_0xef2590._0x4a39c1)])){const {code:_0x2df1c5,message:_0x5dfc07}=_0x551459['error'];if(!UPLOAD_ERROR_CODES[_0x5ee746(_0xef2590._0x48fa86)](_0x2df1c5))return null;if(typeof _0x5dfc07!==_0x5ee746(0x1b6))return null;return{'error':{'code':_0x2df1c5,'message':_0x5dfc07}};}const {status:_0x39c0be,bundleId:_0x5cbb4f}=_0x551459;if(_0x39c0be!=='created'&&_0x39c0be!==_0x5ee746(0x313))return null;if(typeof _0x5cbb4f!=='string'||_0x5cbb4f[_0x5ee746(0x22f)]===0x0)return null;const _0x291c1d=parseVariableGaps(_0x551459['variableGaps']);return _0x291c1d===null?{'status':_0x39c0be,'bundleId':_0x5cbb4f}:{'status':_0x39c0be,'bundleId':_0x5cbb4f,'variableGaps':_0x291c1d};}__name(parseBundleUploadResponse,_0xef7a9b(0x232));function parseVariableGaps(_0x5e5d7a){const _0x30a380={_0x5af21b:0x1b6,_0x1c61c7:0x204,_0x5afb3c:0x22f,_0x2d8ebc:0x2d6,_0x5f1781:0x22f},_0x442bfc=_0xef7a9b;if(!Array['isArray'](_0x5e5d7a))return null;const _0x50c77a=[];for(const _0x1bec9c of _0x5e5d7a){if(!isRecord(_0x1bec9c))continue;const {project:_0x31364d,environment:_0x421734,missing:_0x420bb6}=_0x1bec9c;if(typeof _0x31364d!==_0x442bfc(_0x30a380._0x5af21b)||typeof _0x421734!==_0x442bfc(0x1b6))continue;if(!Array[_0x442bfc(_0x30a380._0x1c61c7)](_0x420bb6))continue;const _0x115619=_0x420bb6['filter'](_0x2665ae=>typeof _0x2665ae===_0x442bfc(0x1b6));if(_0x115619[_0x442bfc(_0x30a380._0x5afb3c)]>0x0)_0x50c77a[_0x442bfc(_0x30a380._0x2d8ebc)]({'project':_0x31364d,'environment':_0x421734,'missing':_0x115619});}return _0x50c77a[_0x442bfc(_0x30a380._0x5f1781)]>0x0?_0x50c77a:null;}__name(parseVariableGaps,_0xef7a9b(0x179));var BROWSER_ENV=_0xef7a9b(0x208),BROWSER_CHANNEL_ENV=_0xef7a9b(0x184),BUNDLED_BROWSER_CHANNEL='bundled',BOX_VARIABLE_NAMES_ENV=_0xef7a9b(0x18a),BOX_SECRET_NAMES_ENV='UNOTEST_BOX_SECRET_NAMES';function encodeNameList(_0x310dc0){const _0x4123c0={_0x337987:0x231},_0xe55c8b=_0xef7a9b;return _0x310dc0[_0xe55c8b(_0x4123c0._0x337987)](',');}__name(encodeNameList,_0xef7a9b(0x1cb));function decodeNameList(_0x3271d5){const _0x3007c4={_0x18c062:0x1ff,_0x432257:0x2f4},_0x33d832=_0xef7a9b;if(_0x3271d5===void 0x0)return[];return _0x3271d5[_0x33d832(_0x3007c4._0x18c062)](',')[_0x33d832(_0x3007c4._0x432257)](_0x468b05=>_0x468b05[_0x33d832(0x2a0)]())[_0x33d832(0x2a4)](_0x2182b8=>_0x2182b8!=='');}__name(decodeNameList,'decodeNameList');var ENV_KEY_RE=/^[A-Za-z_][A-Za-z0-9_]*$/,UNHOLDABLE_NAME='__proto__';function isEnvVarName(_0x4d4bb0){const _0x391079=_0xef7a9b;return ENV_KEY_RE[_0x391079(0x234)](_0x4d4bb0)&&_0x4d4bb0!==UNHOLDABLE_NAME;}__name(isEnvVarName,_0xef7a9b(0x2e2));function*assignmentEntries(_0x5541cb){const _0x1a97e7={_0x50b9ae:0x2a0},_0x13b73c=_0xef7a9b;for(const _0x2ef2f6 of _0x5541cb['split'](/\r?\n/)){const _0xc8f8b3=_0x2ef2f6[_0x13b73c(_0x1a97e7._0x50b9ae)]();if(_0xc8f8b3===''||_0xc8f8b3[_0x13b73c(0x251)]('#'))continue;const _0x2b373a=_0xc8f8b3[_0x13b73c(0x173)]('=');if(_0x2b373a<=0x0)continue;const _0x344ca8=_0xc8f8b3[_0x13b73c(0x29a)](0x0,_0x2b373a)['trim']();if(!isEnvVarName(_0x344ca8))continue;yield[_0x344ca8,_0xc8f8b3['slice'](_0x2b373a+0x1)[_0x13b73c(0x2a0)]()];}}__name(assignmentEntries,'assignmentEntries');function parseEnvContent(_0x1a788b){const _0x7f171b={_0x528cef:0x22f},_0x5a0215=_0xef7a9b,_0x2052ef={};for(const [_0x5d875c,_0x5ac37e]of assignmentEntries(_0x1a788b)){let _0x39eb61=_0x5ac37e;if(_0x39eb61['length']>=0x2){const _0x1670d=_0x39eb61[0x0],_0x5aded5=_0x39eb61[_0x39eb61[_0x5a0215(_0x7f171b._0x528cef)]-0x1];(_0x1670d==='\x22'||_0x1670d==='\x27')&&_0x1670d===_0x5aded5&&(_0x39eb61=_0x39eb61[_0x5a0215(0x29a)](0x1,-0x1));}_0x2052ef[_0x5d875c]=_0x39eb61;}return _0x2052ef;}__name(parseEnvContent,_0xef7a9b(0x238));function serializeEnvValue(_0x14f79d){const _0x332f45={_0x5b0030:0x234,_0x3ce31a:0x1a9},_0x415f7f=_0xef7a9b;if(_0x14f79d==='')return'';if(/[\s#"'=\\]|^[`]/[_0x415f7f(_0x332f45._0x5b0030)](_0x14f79d)||/[\n\r]/['test'](_0x14f79d)){const _0x5bde24=_0x14f79d[_0x415f7f(_0x332f45._0x3ce31a)](/\\/g,'\x5c\x5c')[_0x415f7f(0x1a9)](/"/g,'\x5c\x22')['replace'](/\n/g,'\x5cn')[_0x415f7f(0x1a9)](/\r/g,'\x5cr');return'\x22'+_0x5bde24+'\x22';}return _0x14f79d;}__name(serializeEnvValue,_0xef7a9b(0x17c));function envKeys(_0x4a0c1b){const _0x2c5dde={_0x54a5cb:0x226},_0x44c0e0=_0xef7a9b,_0x54a088=new Set();for(const [_0x3b8b29]of assignmentEntries(_0x4a0c1b))_0x54a088[_0x44c0e0(_0x2c5dde._0x54a5cb)](_0x3b8b29);return _0x54a088;}__name(envKeys,_0xef7a9b(0x153));function declaredEnvKeys(_0x2f7f0f){const _0x70a0e0={_0xa853dc:0x2fa},_0xf60ebb=_0xef7a9b,_0x334242=new Set();for(const _0x4943bd of _0x2f7f0f[_0xf60ebb(0x1ff)](/\r?\n/)){const _0x275524=/^\s*(?:#\s*)?([A-Za-z_][A-Za-z0-9_]*)\s*=/[_0xf60ebb(_0x70a0e0._0xa853dc)](_0x4943bd);if(_0x275524)_0x334242['add'](_0x275524[0x1]);}return _0x334242;}__name(declaredEnvKeys,_0xef7a9b(0x161));function isSectionDivider(_0x22e548){const _0x53aab6={_0x159084:0x2a0,_0x50ac5b:0x251,_0x3570c3:0x234},_0x45276a=_0xef7a9b,_0x471978=_0x22e548[_0x45276a(_0x53aab6._0x159084)]();return _0x471978[_0x45276a(_0x53aab6._0x50ac5b)]('#')&&/---/[_0x45276a(_0x53aab6._0x3570c3)](_0x471978);}__name(isSectionDivider,_0xef7a9b(0x21d));function isAssignmentLine(_0x3521fa){const _0x3fca08={_0x54a9ad:0x234,_0x5515ad:0x29a},_0x23cd1f=_0xef7a9b,_0x1f4c05=_0x3521fa[_0x23cd1f(0x2a0)]();if(_0x1f4c05===''||_0x1f4c05[_0x23cd1f(0x251)]('#'))return![];const _0x1b0837=_0x1f4c05[_0x23cd1f(0x173)]('=');return _0x1b0837>0x0&&ENV_KEY_RE[_0x23cd1f(_0x3fca08._0x54a9ad)](_0x1f4c05[_0x23cd1f(_0x3fca08._0x5515ad)](0x0,_0x1b0837)['trim']());}__name(isAssignmentLine,_0xef7a9b(0x304));function isAssignmentOf(_0x30ea35,_0x22d386){const _0x516542={_0x4b8d8f:0x2a0,_0x51b672:0x29a},_0x5cf649=_0xef7a9b,_0x94ca4c=_0x30ea35[_0x5cf649(_0x516542._0x4b8d8f)]();if(_0x94ca4c===''||_0x94ca4c[_0x5cf649(0x251)]('#'))return![];const _0x42b226=_0x94ca4c[_0x5cf649(0x173)]('=');if(_0x42b226<=0x0)return![];return _0x94ca4c[_0x5cf649(_0x516542._0x51b672)](0x0,_0x42b226)[_0x5cf649(_0x516542._0x4b8d8f)]()===_0x22d386;}__name(isAssignmentOf,_0xef7a9b(0x225));function splitLines(_0xe0adf){const _0x3cc3f9={_0x5620c4:0x29a},_0x460056=_0xef7a9b,_0x378f22=_0xe0adf[_0x460056(0x1f3)]('\x0a'),_0x6d53c0=_0x378f22?_0xe0adf[_0x460056(_0x3cc3f9._0x5620c4)](0x0,-0x1):_0xe0adf;return{'lines':_0x6d53c0===''?[]:_0x6d53c0['split']('\x0a'),'trailingNewline':_0x378f22};}__name(splitLines,'splitLines');function joinLines(_0x214c05,_0x212872){const _0x211f95=_0xef7a9b,_0xaad516=_0x214c05[_0x211f95(0x231)]('\x0a');return _0x212872||_0xaad516===''?_0xaad516+'\x0a':_0xaad516;}__name(joinLines,_0xef7a9b(0x29e));function insertEnvVar(_0x1a740b,_0x23b4ea,_0x1f7f64,_0x487354){const _0x20e7c2={_0x27944b:0x1cc,_0x1ac4cd:0x22f,_0x5babf9:0x2a0,_0x31eaa7:0x2d6},_0x242a21=_0xef7a9b,_0x3b85d6=_0x23b4ea+'='+serializeEnvValue(_0x1f7f64),{lines:_0x1366ae,trailingNewline:_0x4a7cc5}=splitLines(_0x1a740b);if(_0x487354){const _0x26af8f=new RegExp('\x5cb'+_0x487354[_0x242a21(0x2ca)]()+'\x5cb'),_0x1b45fc=_0x1366ae[_0x242a21(_0x20e7c2._0x27944b)](_0x21054f=>isSectionDivider(_0x21054f)&&_0x26af8f[_0x242a21(0x234)](_0x21054f[_0x242a21(0x2ca)]()));if(_0x1b45fc!==-0x1){let _0x33df7f=_0x1366ae[_0x242a21(0x22f)];for(let _0x24b993=_0x1b45fc+0x1;_0x24b993<_0x1366ae[_0x242a21(_0x20e7c2._0x1ac4cd)];_0x24b993++){if(isSectionDivider(_0x1366ae[_0x24b993])){_0x33df7f=_0x24b993;break;}}let _0x12a77b=-0x1,_0x5bf181=-0x1;for(let _0x47833c=_0x1b45fc+0x1;_0x47833c<_0x33df7f;_0x47833c++){if(_0x1366ae[_0x47833c][_0x242a21(_0x20e7c2._0x5babf9)]()!=='')_0x5bf181=_0x47833c;if(isAssignmentLine(_0x1366ae[_0x47833c]))_0x12a77b=_0x47833c;}const _0x5d7225=_0x12a77b>=0x0?_0x12a77b:_0x5bf181,_0x1f5abf=_0x5d7225>=0x0?_0x5d7225+0x1:_0x1b45fc+0x1;return _0x1366ae[_0x242a21(0x288)](_0x1f5abf,0x0,_0x3b85d6),joinLines(_0x1366ae,_0x4a7cc5||_0x1366ae['length']>0x0);}if(_0x1366ae['length']>0x0)_0x1366ae[_0x242a21(_0x20e7c2._0x31eaa7)]('');return _0x1366ae[_0x242a21(_0x20e7c2._0x31eaa7)](_0x242a21(0x150)+_0x487354+'\x20---',_0x3b85d6),joinLines(_0x1366ae,!![]);}return _0x1366ae['push'](_0x3b85d6),joinLines(_0x1366ae,!![]);}__name(insertEnvVar,'insertEnvVar');function removeEnvVar(_0x24fa38,_0x5954b5){const _0x44628b={_0x77e583:0x22f},_0x334a41=_0xef7a9b,{lines:_0x1a0dc6,trailingNewline:_0x3fbc04}=splitLines(_0x24fa38),_0x12ee8f=_0x1a0dc6['filter'](_0x1601b4=>!isAssignmentOf(_0x1601b4,_0x5954b5)),_0x534652=_0x12ee8f[_0x334a41(_0x44628b._0x77e583)]!==_0x1a0dc6['length'];return{'content':joinLines(_0x12ee8f,_0x3fbc04),'removed':_0x534652};}__name(removeEnvVar,_0xef7a9b(0x2b7));var TARGET_ENV_VAR=_0xef7a9b(0x18e),RUNNER_SETTING_PREFIX=_0xef7a9b(0x1d4);function isRunnerSetting(_0x3ee212){return _0x3ee212['startsWith'](RUNNER_SETTING_PREFIX);}__name(isRunnerSetting,_0xef7a9b(0x2a6));var BOX_VALUES_PATH='/api/box/values',BOX_ENV_VALUES_SEGMENT='values',BOX_REVEAL_SEGMENT=_0xef7a9b(0x2d0),KIND_SEGMENTS={'variable':_0xef7a9b(0x2c5),'secret':_0xef7a9b(0x1b7)};function boxValueKindOfSegment(_0x328e87){const _0x3a447d={_0x3343e3:0x2e1},_0x298dd8=_0xef7a9b;for(const [_0x4b50f4,_0x133d08]of Object[_0x298dd8(_0x3a447d._0x3343e3)](KIND_SEGMENTS)){if(_0x133d08===_0x328e87)return _0x4b50f4;}return null;}__name(boxValueKindOfSegment,_0xef7a9b(0x2d2));function boxValuesPath(_0x5bf65c){return BOX_VALUES_PATH+'/'+encodeURIComponent(_0x5bf65c);}__name(boxValuesPath,_0xef7a9b(0x1bc));function boxValuePath(_0x8fcf1e,_0x47ec65,_0x1bd977){return boxValuesPath(_0x8fcf1e)+'/'+valueSuffix(_0x47ec65,_0x1bd977);}__name(boxValuePath,_0xef7a9b(0x15a));function boxEnvValuesPath(_0x8ad445,_0x373962){const _0x33e574={_0x457e84:0x26d},_0x38872b=_0xef7a9b;return _0x38872b(_0x33e574._0x457e84)+encodeURIComponent(_0x8ad445)+'/'+encodeURIComponent(_0x373962)+'/'+BOX_ENV_VALUES_SEGMENT;}__name(boxEnvValuesPath,'boxEnvValuesPath');function boxEnvValuePath(_0x4fb470,_0x245fbc,_0x1afb78,_0x2d938c){return boxEnvValuesPath(_0x4fb470,_0x245fbc)+'/'+valueSuffix(_0x1afb78,_0x2d938c);}__name(boxEnvValuePath,_0xef7a9b(0x2cb));function boxEnvSecretRevealPath(_0x30e8e9,_0x433fcf,_0x4ddc1b){const _0x266fb2={_0x205d59:0x1ae},_0x5c92e0=_0xef7a9b;return boxEnvValuePath(_0x30e8e9,_0x433fcf,_0x5c92e0(_0x266fb2._0x205d59),_0x4ddc1b)+'/'+BOX_REVEAL_SEGMENT;}__name(boxEnvSecretRevealPath,'boxEnvSecretRevealPath');function boxEnvSecretsRevealPath(_0x2f023b,_0x4e72c3){return boxEnvValuesPath(_0x2f023b,_0x4e72c3)+'/'+BOX_REVEAL_SEGMENT;}__name(boxEnvSecretsRevealPath,_0xef7a9b(0x2ef));function valueSuffix(_0x4827be,_0x426d31){const _0x38f808={_0x165bd0:0x275},_0x26dd95=_0xef7a9b;if(_0x4827be===_0x26dd95(0x1e5))return'target';if(_0x426d31===void 0x0)throw new Error('a\x20'+_0x4827be+_0x26dd95(_0x38f808._0x165bd0));return KIND_SEGMENTS[_0x4827be]+'/'+encodeURIComponent(_0x426d31);}__name(valueSuffix,'valueSuffix');function parseBoxValuesReplaceRequest(_0x285d61){return parseReplaceRequest(_0x285d61,parseStringRecord);}__name(parseBoxValuesReplaceRequest,'parseBoxValuesReplaceRequest');function parseBoxEnvValuesReplaceRequest(_0x50c60b){return parseReplaceRequest(_0x50c60b,parseKeepRecord);}__name(parseBoxEnvValuesReplaceRequest,_0xef7a9b(0x176));function parseBoxValueSetRequest(_0x5c6214){return parseValueEnvelope(_0x5c6214);}__name(parseBoxValueSetRequest,_0xef7a9b(0x215));function reservedBoxValueNames(_0x594855){const _0x37fd94={_0x319e50:0x2c5,_0x315105:0x2a4},_0x4d913c=_0xef7a9b;return[...Object[_0x4d913c(0x206)](_0x594855[_0x4d913c(_0x37fd94._0x319e50)]),...Object[_0x4d913c(0x206)](_0x594855['secrets'])][_0x4d913c(_0x37fd94._0x315105)](_0x27f0c1=>_0x27f0c1===TARGET_ENV_VAR);}__name(reservedBoxValueNames,_0xef7a9b(0x261));function parseReplaceRequest(_0x108945,_0x4970da){const _0x5a7deb={_0x4fef7c:0x1b6},_0x2c68d4=_0xef7a9b;if(!isRecord(_0x108945))return null;const {target:_0x52eee7,variables:_0x3e9d7a,secrets:_0x4d060e}=_0x108945;if(_0x52eee7!==void 0x0&&typeof _0x52eee7!==_0x2c68d4(0x1b6))return null;const _0x383e8c=parseStringRecord(_0x3e9d7a),_0xab78a9=_0x4970da(_0x4d060e);if(_0x383e8c===null||_0xab78a9===null)return null;return{...typeof _0x52eee7===_0x2c68d4(_0x5a7deb._0x4fef7c)?{'target':_0x52eee7}:{},'variables':_0x383e8c,'secrets':_0xab78a9};}__name(parseReplaceRequest,_0xef7a9b(0x2db));function parseValueEnvelope(_0x516bda){const _0x52f547={_0x157001:0x186},_0x21083b=_0xef7a9b;if(!isRecord(_0x516bda))return null;return typeof _0x516bda[_0x21083b(_0x52f547._0x157001)]===_0x21083b(0x1b6)?{'value':_0x516bda['value']}:null;}__name(parseValueEnvelope,_0xef7a9b(0x1b5));function parseStringRecord(_0x340b9a){return parseNamedRecord(_0x340b9a,isString);}__name(parseStringRecord,_0xef7a9b(0x2ff));function parseKeepRecord(_0x4edb17){return parseNamedRecord(_0x4edb17,_0x273d90=>_0x273d90===null||isString(_0x273d90));}__name(parseKeepRecord,'parseKeepRecord');function parseNamedRecord(_0x351fd2,_0x49a81d){const _0x5ddb26=_0xef7a9b;if(!isRecord(_0x351fd2))return null;const _0x20be69={};for(const [_0x3a8bf6,_0x3f5d32]of Object[_0x5ddb26(0x2e1)](_0x351fd2)){if(!isEnvVarName(_0x3a8bf6)||!_0x49a81d(_0x3f5d32))return null;_0x20be69[_0x3a8bf6]=_0x3f5d32;}return _0x20be69;}__name(parseNamedRecord,_0xef7a9b(0x267));function isString(_0x29261c){const _0xa0490d={_0x22d063:0x1b6},_0x16b442=_0xef7a9b;return typeof _0x29261c===_0x16b442(_0xa0490d._0x22d063);}__name(isString,_0xef7a9b(0x171));var VALUES_ERROR_CODES=[_0xef7a9b(0x2ec),_0xef7a9b(0x26c),_0xef7a9b(0x14c),_0xef7a9b(0x209),_0xef7a9b(0x30c),_0xef7a9b(0x218),'malformed',_0xef7a9b(0x25f)],VALUE_KINDS=[_0xef7a9b(0x1e5),'variable',_0xef7a9b(0x1ae)];function parseBoxValuesResponse(_0x1885b0){const _0x283557={_0x4bdf37:0x1e5,_0x4c9ee9:0x305,_0x37d610:0x201,_0x56ba51:0x1b6},_0x56e537=_0xef7a9b;if(!isRecord(_0x1885b0))return null;if(isRecord(_0x1885b0[_0x56e537(0x158)])){const {code:_0x3b0818,message:_0x1335bb}=_0x1885b0['error'];if(!VALUES_ERROR_CODES[_0x56e537(0x201)](_0x3b0818))return null;if(typeof _0x1335bb!==_0x56e537(0x1b6))return null;return{'error':{'code':_0x3b0818,'message':_0x1335bb}};}const {status:_0x302537,environment:_0x594b0a}=_0x1885b0;if(typeof _0x594b0a!==_0x56e537(0x1b6))return null;if(_0x302537==='replaced'){const {target:_0x530dfd,variables:_0x2b63f0,secrets:_0x5f2a6e,removed:_0x149aff}=_0x1885b0;if(typeof _0x530dfd!=='boolean')return null;const _0x13cf36=parseNameList(_0x2b63f0),_0xa8bb27=parseNameList(_0x5f2a6e);if(_0x13cf36===null||_0xa8bb27===null||!isRecord(_0x149aff))return null;const _0x40f0b3=parseNameList(_0x149aff[_0x56e537(0x2c5)]),_0x33115f=parseNameList(_0x149aff['secrets']);if(typeof _0x149aff[_0x56e537(_0x283557._0x4bdf37)]!==_0x56e537(0x2e4)||_0x40f0b3===null||_0x33115f===null)return null;return{'status':_0x302537,'environment':_0x594b0a,'target':_0x530dfd,'variables':_0x13cf36,'secrets':_0xa8bb27,'removed':{'target':_0x149aff['target'],'variables':_0x40f0b3,'secrets':_0x33115f}};}if(_0x302537===_0x56e537(_0x283557._0x4c9ee9)||_0x302537===_0x56e537(0x164)){const {kind:_0x3186f6,name:_0x7a9a97}=_0x1885b0;if(!VALUE_KINDS[_0x56e537(_0x283557._0x37d610)](_0x3186f6))return null;if(_0x7a9a97!==void 0x0&&typeof _0x7a9a97!==_0x56e537(_0x283557._0x56ba51))return null;return{'status':_0x302537,'environment':_0x594b0a,'kind':_0x3186f6,...typeof _0x7a9a97==='string'?{'name':_0x7a9a97}:{}};}return null;}__name(parseBoxValuesResponse,_0xef7a9b(0x2b6));function parseNameList(_0xbc1ffc){const _0x21dead=_0xef7a9b;if(!Array[_0x21dead(0x204)](_0xbc1ffc))return null;return _0xbc1ffc[_0x21dead(0x248)](_0x94d353=>typeof _0x94d353===_0x21dead(0x1b6))?_0xbc1ffc:null;}__name(parseNameList,'parseNameList');function parseBoxSecretRevealResponse(_0x423722){return parseValueEnvelope(_0x423722);}__name(parseBoxSecretRevealResponse,_0xef7a9b(0x291));function parseBoxSecretsRevealResponse(_0x7cda7a){return parseStringRecord(_0x7cda7a);}__name(parseBoxSecretsRevealResponse,'parseBoxSecretsRevealResponse');var BOX_NOTIFY_PATH='/api/box/notify';function boxNotifyProjectPath(_0x259b95){return BOX_NOTIFY_PATH+'/'+encodeURIComponent(_0x259b95);}__name(boxNotifyProjectPath,'boxNotifyProjectPath');function boxNotifyChannelPath(_0x5d4a49,_0x4deade){const _0x42c646=_0xef7a9b;return boxNotifyProjectPath(_0x5d4a49)+_0x42c646(0x2d8)+encodeURIComponent(_0x4deade);}__name(boxNotifyChannelPath,_0xef7a9b(0x175));function boxNotifyTestPath(_0x3c0f75,_0x412bd4){const _0x3ca0e9=_0xef7a9b;return boxNotifyChannelPath(_0x3c0f75,_0x412bd4)+_0x3ca0e9(0x1c6);}__name(boxNotifyTestPath,_0xef7a9b(0x166));function boxNotifyRulePath(_0x55cb58,_0x2c8677){const _0x5eb818={_0x5d4e4d:0x283},_0x353f87=_0xef7a9b;return boxNotifyProjectPath(_0x55cb58)+_0x353f87(_0x5eb818._0x5d4e4d)+encodeURIComponent(_0x2c8677);}__name(boxNotifyRulePath,_0xef7a9b(0x18c));function boxNotifyQuietHoursPath(_0x330b96){const _0x519d4b={_0x23b3f2:0x1bb},_0xc58803=_0xef7a9b;return boxNotifyProjectPath(_0x330b96)+_0xc58803(_0x519d4b._0x23b3f2);}__name(boxNotifyQuietHoursPath,_0xef7a9b(0x1e4));function boxNotifySeriesPath(_0x5024d8){const _0x3e7ca6={_0x3735e3:0x1ad},_0x2f21c7=_0xef7a9b;return boxNotifyProjectPath(_0x5024d8)+_0x2f21c7(_0x3e7ca6._0x3735e3);}__name(boxNotifySeriesPath,_0xef7a9b(0x2a2));function boxNotifySeriesResetPath(_0x961233,_0x34f8b4){return boxNotifySeriesPath(_0x961233)+'/'+encodeURIComponent(_0x34f8b4)+'/reset';}__name(boxNotifySeriesResetPath,_0xef7a9b(0x2b9));function boxNotifyMutePath(_0x4699cd,_0x1018b0){const _0x3b3f63={_0x54d531:0x1ca},_0x1b759a=_0xef7a9b;return boxNotifyProjectPath(_0x4699cd)+_0x1b759a(_0x3b3f63._0x54d531)+encodeURIComponent(_0x1018b0);}__name(boxNotifyMutePath,_0xef7a9b(0x2d5));function boxNotifyPreviewPath(_0x3c52ac,_0x45c5a5,_0x449c06){const _0x1186ca=_0xef7a9b;return boxNotifyProjectPath(_0x3c52ac)+_0x1186ca(0x258)+encodeURIComponent(_0x45c5a5)+_0x1186ca(0x205)+_0x449c06;}__name(boxNotifyPreviewPath,_0xef7a9b(0x2be));var BOX_NOTIFY_CHANNEL_KINDS=[_0xef7a9b(0x14d),'telegram',_0xef7a9b(0x236)],BOX_NOTIFY_TRIGGER_KINDS=[_0xef7a9b(0x21e),'ci',_0xef7a9b(0x1c0),_0xef7a9b(0x18b)],BOX_NOTIFY_EVENTS=[_0xef7a9b(0x242),'recovered',_0xef7a9b(0x262),_0xef7a9b(0x15f)],BOX_NOTIFY_STATES=[_0xef7a9b(0x242),_0xef7a9b(0x15e),'still-failing',_0xef7a9b(0x262),'passed'],ERROR_CODES=[_0xef7a9b(0x2ec),_0xef7a9b(0x2a9),_0xef7a9b(0x2e6),_0xef7a9b(0x200),'unknown-mute','unknown-series',_0xef7a9b(0x2bd),_0xef7a9b(0x25f)];function parseBoxNotifyView(_0x1122bd){const _0x509c86={_0x4c22de:0x204,_0x4483cf:0x235},_0x161adf=_0xef7a9b;if(!isRecord(_0x1122bd)||!Array[_0x161adf(_0x509c86._0x4c22de)](_0x1122bd['projects']))return null;const _0x1a9196=_0x1122bd[_0x161adf(_0x509c86._0x4483cf)]['map'](parseBoxNotifyProjectView);return _0x1a9196[_0x161adf(0x248)](_0x4531e0=>_0x4531e0!==null)?{'projects':_0x1a9196}:null;}__name(parseBoxNotifyView,_0xef7a9b(0x28a));function parseBoxNotifyProjectView(_0x3f1f39){const _0x52377c={_0x365999:0x20d},_0x678252=_0xef7a9b;if(!isRecord(_0x3f1f39)||typeof _0x3f1f39['project']!=='string')return null;const _0x7ad19c=parseAll(_0x3f1f39[_0x678252(0x229)],parseChannel),_0xf03fe=parseAll(_0x3f1f39[_0x678252(_0x52377c._0x365999)],parseRule),_0x3e3925=parseAll(_0x3f1f39[_0x678252(0x21a)],parseMute);if(_0x7ad19c===null||_0xf03fe===null||_0x3e3925===null)return null;const _0x38887a=_0x3f1f39[_0x678252(0x256)]===void 0x0?void 0x0:parseQuietHours(_0x3f1f39['quietHours']);if(_0x38887a===null)return null;return{'project':_0x3f1f39[_0x678252(0x1b2)],'channels':_0x7ad19c,'rules':_0xf03fe,'mutes':_0x3e3925,..._0x38887a!==void 0x0?{'quietHours':_0x38887a}:{}};}__name(parseBoxNotifyProjectView,'parseBoxNotifyProjectView');function parseBoxNotifySeriesView(_0x1b045c){const _0x245233={_0x502a9f:0x1b2,_0x44e81c:0x1b6},_0x1fec7f=_0xef7a9b;if(!isRecord(_0x1b045c)||typeof _0x1b045c[_0x1fec7f(_0x245233._0x502a9f)]!==_0x1fec7f(_0x245233._0x44e81c))return null;const _0x1e64fb=parseAll(_0x1b045c[_0x1fec7f(0x257)],parseSeriesEntry);return _0x1e64fb===null?null:{'project':_0x1b045c[_0x1fec7f(0x1b2)],'series':_0x1e64fb};}__name(parseBoxNotifySeriesView,_0xef7a9b(0x223));function parseBoxNotifyPreview(_0x428a2f){const _0x287f8e={_0x3f3e04:0x1f2,_0x18edcb:0x1f2,_0x31d0bd:0x2e0,_0x33ee42:0x1fa},_0x4341f3=_0xef7a9b;if(!isRecord(_0x428a2f)||!isState(_0x428a2f[_0x4341f3(_0x287f8e._0x3f3e04)])||typeof _0x428a2f['title']!==_0x4341f3(0x1b6))return null;if(!isStringArray(_0x428a2f['lines']))return null;if(_0x428a2f['url']!==void 0x0&&typeof _0x428a2f['url']!=='string')return null;return{'state':_0x428a2f[_0x4341f3(_0x287f8e._0x18edcb)],'title':_0x428a2f['title'],'lines':_0x428a2f[_0x4341f3(_0x287f8e._0x31d0bd)],..._0x428a2f[_0x4341f3(_0x287f8e._0x33ee42)]!==void 0x0?{'url':_0x428a2f['url']}:{}};}__name(parseBoxNotifyPreview,_0xef7a9b(0x191));function parseBoxNotifyTestResult(_0x54fef9){const _0x29bf62={_0x8aeaff:0x282,_0x45c973:0x187,_0x5da7aa:0x1b6,_0x170fed:0x2f0,_0x1a1992:0x187,_0x52e958:0x24d,_0x3c3e4e:0x1f4},_0x2b4e7c=_0xef7a9b;if(!isRecord(_0x54fef9)||typeof _0x54fef9[_0x2b4e7c(_0x29bf62._0x8aeaff)]!==_0x2b4e7c(0x1b6))return null;if(_0x54fef9['status']==='sent'){if(_0x54fef9[_0x2b4e7c(_0x29bf62._0x45c973)]!==void 0x0&&typeof _0x54fef9[_0x2b4e7c(0x187)]!==_0x2b4e7c(_0x29bf62._0x5da7aa))return null;return{'status':_0x2b4e7c(_0x29bf62._0x170fed),'channel':_0x54fef9[_0x2b4e7c(0x282)],..._0x54fef9[_0x2b4e7c(0x187)]!==void 0x0?{'note':_0x54fef9[_0x2b4e7c(_0x29bf62._0x1a1992)]}:{}};}if(_0x54fef9[_0x2b4e7c(_0x29bf62._0x52e958)]===_0x2b4e7c(0x242)&&typeof _0x54fef9['message']==='string')return{'status':_0x2b4e7c(0x242),'channel':_0x54fef9['channel'],'message':_0x54fef9[_0x2b4e7c(_0x29bf62._0x3c3e4e)]};return null;}__name(parseBoxNotifyTestResult,'parseBoxNotifyTestResult');function parseBoxNotifyChanged(_0x23f361){const _0x2a7cfd=_0xef7a9b;if(!isRecord(_0x23f361)||typeof _0x23f361['id']!=='string')return null;const {status:_0x1916eb}=_0x23f361;if(_0x1916eb!==_0x2a7cfd(0x19e)&&_0x1916eb!==_0x2a7cfd(0x228)&&_0x1916eb!=='removed')return null;return{'status':_0x1916eb,'id':_0x23f361['id']};}__name(parseBoxNotifyChanged,_0xef7a9b(0x2b8));function parseBoxNotifyError(_0x261747){const _0x59c865=_0xef7a9b;if(!isRecord(_0x261747)||!isRecord(_0x261747['error']))return null;const {code:_0x3a6c0b,message:_0x3f9af2}=_0x261747[_0x59c865(0x158)];if(!ERROR_CODES[_0x59c865(0x201)](_0x3a6c0b)||typeof _0x3f9af2!=='string')return null;return{'error':{'code':_0x3a6c0b,'message':_0x3f9af2}};}__name(parseBoxNotifyError,_0xef7a9b(0x2e8));function isBoxNotifyState(_0x5243ad){return isState(_0x5243ad);}__name(isBoxNotifyState,'isBoxNotifyState');function boxNotifyPreviewTrigger(_0x1c0d67){const _0x4eae13={_0x1d5ca0:0x21e},_0x1f990e=_0xef7a9b;switch(_0x1c0d67){case _0x1f990e(_0x4eae13._0x1d5ca0):return{'kind':_0x1c0d67};case'ci':return{'kind':_0x1c0d67,'by':_0x1f990e(0x1e3)};case _0x1f990e(0x1c0):return{'kind':_0x1c0d67,'by':_0x1f990e(0x2cc)};case'cli':return{'kind':_0x1c0d67};}}__name(boxNotifyPreviewTrigger,_0xef7a9b(0x1cf));function parseAll(_0x1c5e9c,_0x216dac){const _0x2065a0={_0x225187:0x204},_0xde62d3=_0xef7a9b;if(!Array[_0xde62d3(_0x2065a0._0x225187)](_0x1c5e9c))return null;const _0x3d7b81=[];for(const _0x2f7e69 of _0x1c5e9c){const _0x33695f=_0x216dac(_0x2f7e69);if(_0x33695f===null)return null;_0x3d7b81['push'](_0x33695f);}return _0x3d7b81;}__name(parseAll,_0xef7a9b(0x1ba));function parseSecret(_0x3d1218){const _0x3bf0d5={_0x1865f9:0x305},_0xaa35f7=_0xef7a9b;return isRecord(_0x3d1218)&&typeof _0x3d1218[_0xaa35f7(_0x3bf0d5._0x1865f9)]===_0xaa35f7(0x2e4)?{'set':_0x3d1218[_0xaa35f7(0x305)]}:null;}__name(parseSecret,_0xef7a9b(0x270));function parseLastDelivery(_0x246258){const _0x85b312={_0x5132b3:0x2e3,_0xa41e25:0x158,_0x527416:0x1b6,_0x115533:0x2e3},_0x46536c=_0xef7a9b;if(!isRecord(_0x246258)||typeof _0x246258['at']!=='number')return null;if(_0x246258['outcome']!==_0x46536c(0x2f0)&&_0x246258[_0x46536c(_0x85b312._0x5132b3)]!==_0x46536c(0x242))return null;if(_0x246258[_0x46536c(_0x85b312._0xa41e25)]!==void 0x0&&typeof _0x246258[_0x46536c(0x158)]!==_0x46536c(_0x85b312._0x527416))return null;return{'at':_0x246258['at'],'outcome':_0x246258[_0x46536c(_0x85b312._0x115533)],..._0x246258[_0x46536c(_0x85b312._0xa41e25)]!==void 0x0?{'error':_0x246258[_0x46536c(0x158)]}:{}};}__name(parseLastDelivery,_0xef7a9b(0x2af));function parseChannel(_0x288256){const _0x390150={_0x207e71:0x1b6,_0x52ccb3:0x14d,_0x5eedeb:0x293,_0x343074:0x236,_0x44b0f9:0x1fa,_0x1e62ef:0x2c8,_0x29c40c:0x2c8,_0x2c2548:0x1fa},_0x37f49c=_0xef7a9b;if(!isRecord(_0x288256))return null;const {id:_0x3c5ec1,name:_0x389b91,enabled:_0x71c5c6,kind:_0x4fe74c}=_0x288256;if(typeof _0x3c5ec1!==_0x37f49c(_0x390150._0x207e71)||typeof _0x389b91!==_0x37f49c(0x1b6)||typeof _0x71c5c6!==_0x37f49c(0x2e4))return null;const _0x4649ec=_0x288256[_0x37f49c(0x16d)]===void 0x0?void 0x0:parseLastDelivery(_0x288256[_0x37f49c(0x16d)]);if(_0x4649ec===null)return null;const _0x3d8a18={'id':_0x3c5ec1,'name':_0x389b91,'enabled':_0x71c5c6,..._0x4649ec!==void 0x0?{'lastDelivery':_0x4649ec}:{}};switch(_0x4fe74c){case _0x37f49c(_0x390150._0x52ccb3):{const _0x348934=parseSecret(_0x288256[_0x37f49c(0x2aa)]);return _0x348934===null?null:{..._0x3d8a18,'kind':_0x4fe74c,'webhookUrl':_0x348934};}case'telegram':{const _0x38f515=parseSecret(_0x288256[_0x37f49c(0x2ac)]);if(_0x38f515===null||typeof _0x288256[_0x37f49c(0x2bc)]!==_0x37f49c(0x1b6))return null;if(_0x288256[_0x37f49c(0x293)]!==void 0x0&&typeof _0x288256[_0x37f49c(_0x390150._0x5eedeb)]!==_0x37f49c(_0x390150._0x207e71))return null;return{..._0x3d8a18,'kind':_0x4fe74c,'botToken':_0x38f515,'chatId':_0x288256[_0x37f49c(0x2bc)],..._0x288256[_0x37f49c(0x293)]!==void 0x0?{'threadId':_0x288256['threadId']}:{}};}case _0x37f49c(_0x390150._0x343074):{const _0x549dba=parseSecret(_0x288256[_0x37f49c(0x1ae)]);if(_0x549dba===null||typeof _0x288256[_0x37f49c(_0x390150._0x44b0f9)]!==_0x37f49c(_0x390150._0x207e71))return null;const _0x26d309=_0x288256[_0x37f49c(_0x390150._0x1e62ef)]===void 0x0?void 0x0:parseHeaderFlags(_0x288256[_0x37f49c(_0x390150._0x29c40c)]);if(_0x26d309===null)return null;return{..._0x3d8a18,'kind':_0x4fe74c,'url':_0x288256[_0x37f49c(_0x390150._0x2c2548)],'secret':_0x549dba,..._0x26d309!==void 0x0?{'headers':_0x26d309}:{}};}default:return null;}}__name(parseChannel,_0xef7a9b(0x203));function parseHeaderFlags(_0x301535){const _0x5acfa7=_0xef7a9b;if(!isRecord(_0x301535))return null;const _0x1149ab={};for(const [_0x2f67cb,_0x1ad3bd]of Object[_0x5acfa7(0x2e1)](_0x301535)){const _0x5db88f=parseSecret(_0x1ad3bd);if(_0x5db88f===null)return null;_0x1149ab[_0x2f67cb]=_0x5db88f;}return _0x1149ab;}__name(parseHeaderFlags,_0xef7a9b(0x30d));function parseRule(_0xad28f6){const _0xe06e11={_0x35cb8d:0x2e4,_0xdeb3d1:0x2ba,_0x48f4fe:0x1b6,_0x5bbfdc:0x1b3,_0x35ff75:0x2e9,_0x5baf4e:0x2ed,_0x2332c5:0x2b0,_0x4af96a:0x281},_0x462ea3=_0xef7a9b;if(!isRecord(_0xad28f6)||typeof _0xad28f6['id']!==_0x462ea3(0x1b6)||typeof _0xad28f6[_0x462ea3(0x14a)]!==_0x462ea3(_0xe06e11._0x35cb8d))return null;if(_0xad28f6['name']!==void 0x0&&typeof _0xad28f6[_0x462ea3(_0xe06e11._0xdeb3d1)]!==_0x462ea3(_0xe06e11._0x48f4fe))return null;if(_0xad28f6[_0x462ea3(0x281)]!==void 0x0&&!isStringArray(_0xad28f6[_0x462ea3(0x281)]))return null;if(!isStringArray(_0xad28f6[_0x462ea3(_0xe06e11._0x5bbfdc)])||!_0xad28f6['triggers'][_0x462ea3(0x248)](isTriggerKind))return null;if(!isStringArray(_0xad28f6[_0x462ea3(0x2e9)])||!_0xad28f6[_0x462ea3(_0xe06e11._0x35ff75)][_0x462ea3(0x248)](isEvent))return null;if(!isStringArray(_0xad28f6[_0x462ea3(0x229)])||typeof _0xad28f6[_0x462ea3(0x2b2)]!==_0x462ea3(_0xe06e11._0x5baf4e))return null;if(_0xad28f6[_0x462ea3(_0xe06e11._0x2332c5)]!==void 0x0&&typeof _0xad28f6['repeatEvery']!==_0x462ea3(0x2ed))return null;return{'id':_0xad28f6['id'],..._0xad28f6[_0x462ea3(0x2ba)]!==void 0x0?{'name':_0xad28f6[_0x462ea3(0x2ba)]}:{},'enabled':_0xad28f6[_0x462ea3(0x14a)],..._0xad28f6[_0x462ea3(0x281)]!==void 0x0?{'environments':_0xad28f6[_0x462ea3(_0xe06e11._0x4af96a)]}:{},'triggers':_0xad28f6['triggers'],'events':_0xad28f6[_0x462ea3(_0xe06e11._0x35ff75)],'channels':_0xad28f6['channels'],'afterFailures':_0xad28f6[_0x462ea3(0x2b2)],..._0xad28f6[_0x462ea3(0x2b0)]!==void 0x0?{'repeatEvery':_0xad28f6['repeatEvery']}:{}};}__name(parseRule,_0xef7a9b(0x15d));function parseBoxNotifyMuteScope(_0x248a82){const _0x4f13af={_0x2e07b7:0x1b6,_0x4bef85:0x22f},_0x1679bb=_0xef7a9b;if(!isRecord(_0x248a82))return null;if(_0x248a82[_0x1679bb(0x1b2)]===!![])return{'project':!![]};if(typeof _0x248a82[_0x1679bb(0x257)]===_0x1679bb(_0x4f13af._0x2e07b7)&&_0x248a82[_0x1679bb(0x257)][_0x1679bb(_0x4f13af._0x4bef85)]>0x0)return{'series':_0x248a82[_0x1679bb(0x257)]};return null;}__name(parseBoxNotifyMuteScope,'parseBoxNotifyMuteScope');function parseMute(_0x4e2613){const _0x2ed1b3={_0x29da56:0x1b6,_0x5c1e1f:0x1d2,_0x371f3d:0x2ed,_0x27be2f:0x1ce,_0x152ab4:0x2ed,_0x86a947:0x178,_0xb52d85:0x178},_0x2ae01a=_0xef7a9b;if(!isRecord(_0x4e2613)||typeof _0x4e2613['id']!==_0x2ae01a(_0x2ed1b3._0x29da56)||typeof _0x4e2613['by']!=='string')return null;const _0x2a42be=parseBoxNotifyMuteScope(_0x4e2613[_0x2ae01a(_0x2ed1b3._0x5c1e1f)]);if(_0x2a42be===null||typeof _0x4e2613['at']!==_0x2ae01a(_0x2ed1b3._0x371f3d))return null;if(_0x4e2613[_0x2ae01a(_0x2ed1b3._0x27be2f)]!==void 0x0&&typeof _0x4e2613[_0x2ae01a(0x1ce)]!==_0x2ae01a(_0x2ed1b3._0x152ab4))return null;if(_0x4e2613[_0x2ae01a(0x178)]!==void 0x0&&typeof _0x4e2613[_0x2ae01a(_0x2ed1b3._0x86a947)]!=='string')return null;return{'id':_0x4e2613['id'],'scope':_0x2a42be,..._0x4e2613['until']!==void 0x0?{'until':_0x4e2613[_0x2ae01a(0x1ce)]}:{},'by':_0x4e2613['by'],..._0x4e2613[_0x2ae01a(_0x2ed1b3._0xb52d85)]!==void 0x0?{'reason':_0x4e2613[_0x2ae01a(0x178)]}:{},'at':_0x4e2613['at']};}__name(parseMute,_0xef7a9b(0x27c));function parseQuietHours(_0x345e1e){const _0x19395d={_0x40832f:0x1b6},_0x6b8b41=_0xef7a9b;if(!isRecord(_0x345e1e))return null;const {from:_0x4d4ec9,to:_0x346379,tz:_0x199b0f}=_0x345e1e;if(typeof _0x4d4ec9!==_0x6b8b41(0x1b6)||typeof _0x346379!==_0x6b8b41(0x1b6)||typeof _0x199b0f!==_0x6b8b41(_0x19395d._0x40832f))return null;return{'from':_0x4d4ec9,'to':_0x346379,'tz':_0x199b0f};}__name(parseQuietHours,_0xef7a9b(0x297));function parseSeriesEntry(_0x28970f){const _0x19cbfe={_0x2ae0ef:0x26e,_0x2ca5db:0x1b6,_0x118b7b:0x30a,_0x33306c:0x277,_0x2797fc:0x1f2,_0x392d90:0x1f2,_0x5c4b03:0x154,_0x45535a:0x268,_0x4ee469:0x1e5,_0xdb05dd:0x1f2},_0x1389f7=_0xef7a9b;if(!isRecord(_0x28970f)||typeof _0x28970f[_0x1389f7(0x268)]!==_0x1389f7(0x1b6)||typeof _0x28970f[_0x1389f7(_0x19cbfe._0x2ae0ef)]!==_0x1389f7(_0x19cbfe._0x2ca5db))return null;if(!isRecord(_0x28970f[_0x1389f7(0x1e5)])||typeof _0x28970f[_0x1389f7(0x1e5)][_0x1389f7(0x2ba)]!==_0x1389f7(0x1b6))return null;if(_0x28970f['target'][_0x1389f7(0x277)]!==_0x1389f7(_0x19cbfe._0x118b7b)&&_0x28970f[_0x1389f7(0x1e5)][_0x1389f7(_0x19cbfe._0x33306c)]!==_0x1389f7(0x28f))return null;if(_0x28970f[_0x1389f7(_0x19cbfe._0x2797fc)]!=='ok'&&_0x28970f[_0x1389f7(_0x19cbfe._0x392d90)]!=='failed')return null;if(typeof _0x28970f[_0x1389f7(0x178)]!==_0x1389f7(0x1b6)||typeof _0x28970f['since']!==_0x1389f7(0x2ed)||typeof _0x28970f['failures']!==_0x1389f7(0x2ed))return null;if(_0x28970f[_0x1389f7(_0x19cbfe._0x5c4b03)]!==void 0x0&&typeof _0x28970f[_0x1389f7(_0x19cbfe._0x5c4b03)]!=='number')return null;const _0x418694=_0x28970f['mute']===void 0x0?void 0x0:parseMute(_0x28970f['mute']);if(_0x418694===null)return null;return{'key':_0x28970f[_0x1389f7(_0x19cbfe._0x45535a)],'environment':_0x28970f[_0x1389f7(0x26e)],'target':{'kind':_0x28970f[_0x1389f7(_0x19cbfe._0x4ee469)][_0x1389f7(0x277)],'name':_0x28970f['target']['name']},'state':_0x28970f[_0x1389f7(_0x19cbfe._0xdb05dd)],'reason':_0x28970f['reason'],'since':_0x28970f[_0x1389f7(0x1ee)],'failures':_0x28970f['failures'],..._0x28970f['lastNotifiedAt']!==void 0x0?{'lastNotifiedAt':_0x28970f[_0x1389f7(_0x19cbfe._0x5c4b03)]}:{},..._0x418694!==void 0x0?{'mute':_0x418694}:{}};}__name(parseSeriesEntry,_0xef7a9b(0x20b));function isStringArray(_0x1c062f){const _0x13843b={_0x2da938:0x204},_0x54884e=_0xef7a9b;return Array[_0x54884e(_0x13843b._0x2da938)](_0x1c062f)&&_0x1c062f[_0x54884e(0x248)](_0x1b0b27=>typeof _0x1b0b27===_0x54884e(0x1b6));}__name(isStringArray,_0xef7a9b(0x1e9));function isTriggerKind(_0x2677a4){const _0x4e160b=_0xef7a9b;return BOX_NOTIFY_TRIGGER_KINDS[_0x4e160b(0x201)](_0x2677a4);}__name(isTriggerKind,'isTriggerKind');function isEvent(_0x1686f2){const _0x14f6b9=_0xef7a9b;return BOX_NOTIFY_EVENTS[_0x14f6b9(0x201)](_0x1686f2);}__name(isEvent,_0xef7a9b(0x294));function isState(_0x46218c){const _0x3c31bc=_0xef7a9b;return typeof _0x46218c==='string'&&BOX_NOTIFY_STATES[_0x3c31bc(0x201)](_0x46218c);}__name(isState,'isState');var BOX_READ_TOKEN_ENV='UNOTEST_BOX_READ_TOKEN',BOX_READ_TOKEN_PREFIX=_0xef7a9b(0x22c),BOX_READ_ENVIRONMENT_HEADER=_0xef7a9b(0x2ae),BOX_READ_ENVIRONMENTS_PATH='/_guard/api/envs',READ_ERROR_CODES=[_0xef7a9b(0x2ec),_0xef7a9b(0x26c),_0xef7a9b(0x209),'not-found',_0xef7a9b(0x149),_0xef7a9b(0x2df),_0xef7a9b(0x284),'malformed'];function parseBoxReadError(_0x2df18b){const _0x2f6ff6={_0x39e7b1:0x158},_0x234f64=_0xef7a9b;if(!isRecord(_0x2df18b)||!isRecord(_0x2df18b[_0x234f64(_0x2f6ff6._0x39e7b1)]))return null;const {code:_0x291f7d,message:_0x284018}=_0x2df18b[_0x234f64(_0x2f6ff6._0x39e7b1)];if(!READ_ERROR_CODES['includes'](_0x291f7d))return null;if(typeof _0x284018!==_0x234f64(0x1b6))return null;return{'error':{'code':_0x291f7d,'message':_0x284018}};}__name(parseBoxReadError,_0xef7a9b(0x2ab));function parseBoxReadEnvironments(_0x141e58){const _0x44bc57={_0x43357a:0x204,_0x360a95:0x1b6},_0x47545b=_0xef7a9b;if(!Array[_0x47545b(_0x44bc57._0x43357a)](_0x141e58))return null;const _0x1cba43=[];for(const _0x41eab3 of _0x141e58){if(!isRecord(_0x41eab3))return null;const {name:_0x56c537,project:_0x31d98c,environment:_0x5c27c7,note:_0x2e1472}=_0x41eab3;if(typeof _0x56c537!==_0x47545b(_0x44bc57._0x360a95)||typeof _0x5c27c7!==_0x47545b(0x1b6))return null;if(_0x31d98c!==void 0x0&&typeof _0x31d98c!==_0x47545b(0x1b6))return null;if(_0x2e1472!==void 0x0&&typeof _0x2e1472!==_0x47545b(_0x44bc57._0x360a95))return null;_0x1cba43[_0x47545b(0x2d6)]({'name':_0x56c537,'environment':_0x5c27c7,..._0x31d98c!==void 0x0?{'project':_0x31d98c}:{},..._0x2e1472!==void 0x0?{'note':_0x2e1472}:{}});}return _0x1cba43;}__name(parseBoxReadEnvironments,_0xef7a9b(0x29f));var BOX_RUNS_SEGMENT=_0xef7a9b(0x312),ACTOR_TICKET_HEADER=_0xef7a9b(0x308),GUARD_SECRET_HEADER=_0xef7a9b(0x2eb);function boxRunsPath(_0xb410f,_0x1c3e07){return'/api/box/envs/'+encodeURIComponent(_0xb410f)+'/'+encodeURIComponent(_0x1c3e07)+'/'+BOX_RUNS_SEGMENT;}__name(boxRunsPath,_0xef7a9b(0x183));function boxRunPath(_0x2f5b41,_0x25c3cc,_0xb6d39e){return boxRunsPath(_0x2f5b41,_0x25c3cc)+'/'+encodeURIComponent(_0xb6d39e);}__name(boxRunPath,_0xef7a9b(0x2ea));function parseBoxRunRequest(_0x86f46f){const _0x30dbec={_0x12c7f5:0x30a,_0x512222:0x1b6},_0xfcd514=_0xef7a9b;if(!isRecord(_0x86f46f))return null;const {kind:_0x458e6f,ref:_0x45f989}=_0x86f46f;if(_0x458e6f!==_0xfcd514(_0x30dbec._0x12c7f5)&&_0x458e6f!==_0xfcd514(0x28f))return null;if(typeof _0x45f989!==_0xfcd514(_0x30dbec._0x512222)||_0x45f989[_0xfcd514(0x22f)]===0x0)return null;return{'kind':_0x458e6f,'ref':_0x45f989};}__name(parseBoxRunRequest,'parseBoxRunRequest');function parseBoxRunAccepted(_0x91906a){const _0x2b6c7e={_0x5d8a9b:0x1b6,_0x4dd771:0x22f},_0x39fa6e=_0xef7a9b;if(!isRecord(_0x91906a))return null;const {runId:_0x4b7ad0,acceptedAt:_0x526793}=_0x91906a;if(typeof _0x4b7ad0!==_0x39fa6e(_0x2b6c7e._0x5d8a9b)||_0x4b7ad0[_0x39fa6e(_0x2b6c7e._0x4dd771)]===0x0)return null;if(typeof _0x526793!==_0x39fa6e(0x2ed))return null;return{'runId':_0x4b7ad0,'acceptedAt':_0x526793};}__name(parseBoxRunAccepted,_0xef7a9b(0x29b));function parseBoxRunStatus(_0x152043){const _0x96d180={_0x1a3d8d:0x22f,_0x14ff27:0x24a,_0x53027b:0x2ed,_0x3f11e7:0x2ed},_0x23c13a=_0xef7a9b;if(!isRecord(_0x152043))return null;const {runId:_0x2fd16b,state:_0x556b6,exitCode:_0x357027,startedAt:_0x263877,finishedAt:_0x3cd38d}=_0x152043;if(typeof _0x2fd16b!=='string'||_0x2fd16b[_0x23c13a(_0x96d180._0x1a3d8d)]===0x0)return null;if(_0x556b6!=='queued'&&_0x556b6!==_0x23c13a(0x265)&&_0x556b6!==_0x23c13a(_0x96d180._0x14ff27))return null;if(_0x357027!==void 0x0&&_0x357027!==null&&typeof _0x357027!==_0x23c13a(_0x96d180._0x53027b))return null;if(_0x263877!==void 0x0&&typeof _0x263877!==_0x23c13a(0x2ed))return null;if(_0x3cd38d!==void 0x0&&typeof _0x3cd38d!==_0x23c13a(_0x96d180._0x3f11e7))return null;return{'runId':_0x2fd16b,'state':_0x556b6,..._0x357027!==void 0x0?{'exitCode':_0x357027}:{},..._0x263877!==void 0x0?{'startedAt':_0x263877}:{},..._0x3cd38d!==void 0x0?{'finishedAt':_0x3cd38d}:{}};}__name(parseBoxRunStatus,_0xef7a9b(0x162));var WORKSPACE_SCHEMA_VERSION=0x1,WORKSPACE_FILE=_0xef7a9b(0x16f);function stringList(_0x51abdb){const _0x42e379={_0x53bf80:0x1dd},_0x178988=_0xef7a9b;if(!Array[_0x178988(0x204)](_0x51abdb))return null;if(_0x51abdb[_0x178988(_0x42e379._0x53bf80)](_0x1be8a1=>typeof _0x1be8a1!==_0x178988(0x1b6)))return null;return _0x51abdb;}__name(stringList,_0xef7a9b(0x24e));function parseBundle(_0x22262e){const _0x32b38e={_0x3cf167:0x1b6},_0x492275=_0xef7a9b;if(!isRecord(_0x22262e))return null;const {bundleId:_0x34912b,label:_0x7005cc,branch:_0x3f95f3,sha:_0x43da6e,dirty:_0x3282c3,author:_0x2b843a,createdAt:_0x1bae2a,webVersion:_0xaa7cf2}=_0x22262e;if(typeof _0x34912b!=='string'||_0x34912b[_0x492275(0x22f)]===0x0)return null;if(typeof _0x7005cc!=='string'||typeof _0xaa7cf2!==_0x492275(0x1b6))return null;if(typeof _0x3282c3!==_0x492275(0x2e4))return null;if(typeof _0x1bae2a!==_0x492275(0x2ed)||!Number[_0x492275(0x1aa)](_0x1bae2a))return null;for(const _0x337ee2 of[_0x3f95f3,_0x43da6e,_0x2b843a]){if(_0x337ee2!==void 0x0&&typeof _0x337ee2!==_0x492275(0x1b6))return null;}return{'bundleId':_0x34912b,'label':_0x7005cc,'dirty':_0x3282c3,'createdAt':_0x1bae2a,'webVersion':_0xaa7cf2,...typeof _0x3f95f3===_0x492275(0x1b6)?{'branch':_0x3f95f3}:{},...typeof _0x43da6e===_0x492275(_0x32b38e._0x3cf167)?{'sha':_0x43da6e}:{},...typeof _0x2b843a==='string'?{'author':_0x2b843a}:{}};}__name(parseBundle,_0xef7a9b(0x152));function parseWorkspaceFile(_0x3ae8fe){const _0x4602ae={_0x121f21:0x1b6,_0x2aaeab:0x2ed,_0x2f9b19:0x1b6,_0x5ee370:0x2ed},_0xa7c43c=_0xef7a9b;if(!isRecord(_0x3ae8fe))return null;if(_0x3ae8fe[_0xa7c43c(0x17d)]!==WORKSPACE_SCHEMA_VERSION)return null;const {workspace:_0xc7b614,environment:_0x36a447,allowSwitch:_0x26d78d,currentBundleId:_0x312beb,switchedBy:_0x15f2f5,switchedAt:_0x30505f,bundles:_0x5393cb,variables:_0x22cb67,secrets:_0xa03bee,switchPath:_0x572d9e}=_0x3ae8fe;if(typeof _0xc7b614!==_0xa7c43c(_0x4602ae._0x121f21)||typeof _0x36a447!=='string')return null;if(typeof _0x26d78d!==_0xa7c43c(0x2e4))return null;if(!Array['isArray'](_0x5393cb))return null;const _0xb3c891=[];for(const _0x12169d of _0x5393cb){const _0x2f7fea=parseBundle(_0x12169d);if(!_0x2f7fea)return null;_0xb3c891[_0xa7c43c(0x2d6)](_0x2f7fea);}const _0x59370=stringList(_0x22cb67),_0xbc7256=stringList(_0xa03bee);if(!_0x59370||!_0xbc7256)return null;for(const _0x3fb9f0 of[_0x312beb,_0x15f2f5,_0x572d9e]){if(_0x3fb9f0!==void 0x0&&typeof _0x3fb9f0!==_0xa7c43c(0x1b6))return null;}if(_0x30505f!==void 0x0&&typeof _0x30505f!==_0xa7c43c(_0x4602ae._0x2aaeab))return null;return{'schemaVersion':WORKSPACE_SCHEMA_VERSION,'workspace':_0xc7b614,'environment':_0x36a447,'allowSwitch':_0x26d78d,'bundles':_0xb3c891,'variables':_0x59370,'secrets':_0xbc7256,...typeof _0x312beb===_0xa7c43c(_0x4602ae._0x2f9b19)?{'currentBundleId':_0x312beb}:{},...typeof _0x15f2f5===_0xa7c43c(_0x4602ae._0x2f9b19)?{'switchedBy':_0x15f2f5}:{},...typeof _0x30505f===_0xa7c43c(_0x4602ae._0x5ee370)?{'switchedAt':_0x30505f}:{},...typeof _0x572d9e===_0xa7c43c(0x1b6)?{'switchPath':_0x572d9e}:{}};}__name(parseWorkspaceFile,'parseWorkspaceFile');function scheduleTarget(_0x3f2f15){const _0x35bd21=_0xef7a9b;return _0x3f2f15['collection']!==void 0x0?{'kind':_0x35bd21(0x30a),'name':_0x3f2f15['collection']}:{'kind':_0x35bd21(0x28f),'name':_0x3f2f15[_0x35bd21(0x28f)]};}__name(scheduleTarget,'scheduleTarget');function parseScheduleEntry(_0x51fdda){const _0x40e732={_0x23c0c2:0x1b6,_0x39eb82:0x30a,_0x2fdf48:0x2fd},_0x4735b1=_0xef7a9b;if(!isRecord(_0x51fdda))return null;const {collection:_0x3d2804,scenario:_0x5b9246,cron:_0x15534e,env:_0x182b44,prepare:_0x6e0a7d,workers:_0x442f26,source:_0x5f0872}=_0x51fdda,_0x29437a=typeof _0x3d2804===_0x4735b1(_0x40e732._0x23c0c2)&&_0x3d2804[_0x4735b1(0x22f)]>0x0?_0x5b9246===void 0x0?{'collection':_0x3d2804}:null:typeof _0x5b9246===_0x4735b1(_0x40e732._0x23c0c2)&&_0x5b9246[_0x4735b1(0x22f)]>0x0&&_0x3d2804===void 0x0?{'scenario':_0x5b9246}:null;if(_0x29437a===null)return null;if(typeof _0x15534e!==_0x4735b1(0x1b6)||_0x15534e['trim']()[_0x4735b1(0x22f)]===0x0)return null;if(_0x182b44!==void 0x0&&typeof _0x182b44!==_0x4735b1(_0x40e732._0x23c0c2))return null;if(_0x6e0a7d!==void 0x0&&typeof _0x6e0a7d!=='string')return null;const _0x5ebca2=_0x4735b1(_0x40e732._0x39eb82)in _0x29437a&&typeof _0x442f26===_0x4735b1(0x2ed)&&Number[_0x4735b1(_0x40e732._0x2fdf48)](_0x442f26)&&_0x442f26>=0x1?_0x442f26:void 0x0,_0x6d06a3=_0x5f0872==='config'||_0x5f0872===_0x4735b1(0x1ea)?_0x5f0872:void 0x0;return{..._0x29437a,'cron':_0x15534e,..._0x182b44!==void 0x0?{'env':_0x182b44}:{},..._0x6e0a7d!==void 0x0?{'prepare':_0x6e0a7d}:{},..._0x5ebca2!==void 0x0?{'workers':_0x5ebca2}:{},..._0x6d06a3!==void 0x0?{'source':_0x6d06a3}:{}};}__name(parseScheduleEntry,_0xef7a9b(0x174));function parseSchedulesDoc(_0x435f48){const _0x280b8c={_0x1875f8:0x298,_0x330240:0x20e,_0x5b0108:0x1ec,_0x358c95:0x277,_0xaf04d9:0x2ba,_0x33b1eb:0x2d6},_0x1dacc=_0xef7a9b;if(_0x435f48===null||_0x435f48===void 0x0)return{'entries':[]};if(!isRecord(_0x435f48))return{'error':_0x1dacc(0x2d1)};const _0x4fa971=_0x435f48[_0x1dacc(0x214)]??[];if(!Array[_0x1dacc(0x204)](_0x4fa971))return{'error':_0x1dacc(0x2a1)};const _0x5967b8=[],_0x17f79b=new Set();for(const [_0x9b8653,_0x14c314]of _0x4fa971['entries']()){const _0x12897a=parseScheduleEntry(_0x14c314);if(!_0x12897a)return{'error':_0x1dacc(_0x280b8c._0x1875f8)+_0x9b8653+_0x1dacc(_0x280b8c._0x330240)};const _0x47d5c2=scheduleTarget(_0x12897a),_0x3da26a=_0x47d5c2[_0x1dacc(0x277)]+':'+_0x47d5c2['name'];if(_0x17f79b['has'](_0x3da26a))return{'error':'schedules['+_0x9b8653+_0x1dacc(_0x280b8c._0x5b0108)+_0x47d5c2[_0x1dacc(_0x280b8c._0x358c95)]+'\x20\x22'+_0x47d5c2[_0x1dacc(_0x280b8c._0xaf04d9)]+_0x1dacc(0x21f)};_0x17f79b[_0x1dacc(0x226)](_0x3da26a),_0x5967b8[_0x1dacc(_0x280b8c._0x33b1eb)](_0x12897a);}return{'entries':_0x5967b8};}__name(parseSchedulesDoc,_0xef7a9b(0x20c));function mergeSchedules(_0x2dd57e,_0xa311d1){const _0x736b80={_0xf98924:0x2f4,_0x2656eb:0x2f4},_0x2b8c90={_0x3d35c2:0x2ba},_0x2b5f13=_0xef7a9b,_0x5cb768=new Set(_0xa311d1[_0x2b5f13(_0x736b80._0xf98924)](_0x23f966=>{const _0x11c152=_0x2b5f13,_0x46e7ab=scheduleTarget(_0x23f966);return _0x46e7ab[_0x11c152(0x277)]+':'+_0x46e7ab[_0x11c152(0x2ba)];})),_0xe4b211=_0x2dd57e['filter'](_0x561de8=>{const _0x47a4f8=_0x2b5f13,_0x43750d=scheduleTarget(_0x561de8);return!_0x5cb768['has'](_0x43750d['kind']+':'+_0x43750d[_0x47a4f8(_0x2b8c90._0x3d35c2)]);});return[..._0xe4b211[_0x2b5f13(_0x736b80._0xf98924)](_0x4f0990=>({..._0x4f0990,'source':_0x2b5f13(0x207)})),..._0xa311d1[_0x2b5f13(_0x736b80._0x2656eb)](_0x5ab3a1=>({..._0x5ab3a1,'source':_0x2b5f13(0x1ea)}))];}__name(mergeSchedules,_0xef7a9b(0x1e7));function canonicalScheduleSet(_0x4df92a){const _0x3607d2={_0x4600e4:0x1d9},_0x180cc={_0x231daf:0x277,_0x22d505:0x2ba},_0x16ad5c={_0x365ef5:0x277,_0x41d1f9:0x16a},_0x27e4a5=_0xef7a9b,_0xa1cb37=_0x4df92a['map'](_0x1e4fad=>{const _0x58fb4f=_0xed3b,_0x444b9a=scheduleTarget(_0x1e4fad);return{'kind':_0x444b9a[_0x58fb4f(_0x16ad5c._0x365ef5)],'name':_0x444b9a[_0x58fb4f(0x2ba)],'cron':_0x1e4fad['cron'],..._0x1e4fad[_0x58fb4f(_0x16ad5c._0x41d1f9)]!==void 0x0?{'env':_0x1e4fad[_0x58fb4f(_0x16ad5c._0x41d1f9)]}:{},..._0x1e4fad['prepare']!==void 0x0?{'prepare':_0x1e4fad[_0x58fb4f(0x23c)]}:{},..._0x1e4fad[_0x58fb4f(0x1be)]!==void 0x0?{'workers':_0x1e4fad[_0x58fb4f(0x1be)]}:{}};})[_0x27e4a5(_0x3607d2._0x4600e4)]((_0x1424db,_0x5214ed)=>{const _0x4aadfb=_0x27e4a5,_0x352fee=_0x1424db[_0x4aadfb(_0x180cc._0x231daf)]+':'+_0x1424db[_0x4aadfb(0x2ba)],_0x527558=_0x5214ed[_0x4aadfb(_0x180cc._0x231daf)]+':'+_0x5214ed[_0x4aadfb(_0x180cc._0x22d505)];return _0x352fee<_0x527558?-0x1:_0x352fee>_0x527558?0x1:0x0;});return JSON[_0x27e4a5(0x2d4)](_0xa1cb37);}__name(canonicalScheduleSet,'canonicalScheduleSet');function parseSchedulesJson(_0x2fca11){const _0x4c3749={_0x4c184d:0x204,_0x37765c:0x2d6},_0x4174df=_0xef7a9b;let _0x3243f4;try{_0x3243f4=JSON['parse'](_0x2fca11);}catch{return null;}if(!Array[_0x4174df(_0x4c3749._0x4c184d)](_0x3243f4))return null;const _0x28a7a3=[];for(const _0x20d96f of _0x3243f4){const _0x6f3fba=parseScheduleEntry(_0x20d96f);if(_0x6f3fba)_0x28a7a3[_0x4174df(_0x4c3749._0x37765c)](_0x6f3fba);}return _0x28a7a3;}__name(parseSchedulesJson,_0xef7a9b(0x1c1));var FREQ_FIELDS={'m5':{'minutes':![],'hours':![],'days':![]},'m15':{'minutes':![],'hours':![],'days':![]},'h1':{'minutes':!![],'hours':![],'days':![]},'h2':{'minutes':!![],'hours':![],'days':![]},'h4':{'minutes':!![],'hours':![],'days':![]},'h6':{'minutes':!![],'hours':![],'days':![]},'h12':{'minutes':!![],'hours':![],'days':![]},'daily':{'minutes':!![],'hours':!![],'days':![]},'weekly':{'minutes':!![],'hours':!![],'days':!![]}},HOUR_STEP={'h2':0x2,'h4':0x4,'h6':0x6,'h12':0xc};function cronFromSpec(_0x464448){const _0xc1cbb7={_0x50a771:0x216,_0x4b2de9:0x273,_0x44fbf3:0x2a5,_0x52a4b9:0x1a0},_0x554713=_0xef7a9b,_0xada888=list(_0x464448[_0x554713(0x22a)]);switch(_0x464448[_0x554713(0x1fc)]){case'm5':return'*/5\x20*\x20*\x20*\x20*';case _0x554713(_0xc1cbb7._0x50a771):return _0x554713(_0xc1cbb7._0x4b2de9);case'h1':return _0xada888+_0x554713(0x217);case'h2':case'h4':case'h6':case'h12':return _0xada888+_0x554713(0x18d)+HOUR_STEP[_0x464448['freq']]+_0x554713(_0xc1cbb7._0x44fbf3);case'daily':return _0xada888+'\x20'+list(_0x464448[_0x554713(0x1a0)])+'\x20*\x20*\x20*';case'weekly':return _0xada888+'\x20'+list(_0x464448[_0x554713(_0xc1cbb7._0x52a4b9)])+'\x20*\x20*\x20'+list(_0x464448['days']);}}__name(cronFromSpec,_0xef7a9b(0x237));function specFromCron(_0x40e3f9){const _0x41cb55={_0x30658f:0x2a0,_0x59e0cd:0x216,_0x4648f0:0x1a2},_0x1671e4=_0xef7a9b,_0x651c52=_0x40e3f9[_0x1671e4(_0x41cb55._0x30658f)]()[_0x1671e4(0x1ff)](/\s+/);if(_0x651c52[_0x1671e4(0x22f)]!==0x5)return null;const [_0x3a4a92,_0x1dd1b7,_0x524d7d,_0x53beef,_0x14f925]=_0x651c52;if(_0x524d7d!=='*'||_0x53beef!=='*')return null;if(_0x1dd1b7==='*'&&_0x14f925==='*'){if(_0x3a4a92==='*/5')return spec('m5');if(_0x3a4a92===_0x1671e4(0x1c2))return spec(_0x1671e4(_0x41cb55._0x59e0cd));const _0x4a894b=numbers(_0x3a4a92);return _0x4a894b&&spec('h1',_0x4a894b);}const _0x36aee2=numbers(_0x3a4a92);if(!_0x36aee2)return null;const _0x397d98=/^\*\/(\d+)$/[_0x1671e4(0x2fa)](_0x1dd1b7);if(_0x397d98&&_0x14f925==='*'){const _0x41ba82=Object[_0x1671e4(0x206)](HOUR_STEP)[_0x1671e4(0x27f)](_0x496409=>HOUR_STEP[_0x496409]===Number(_0x397d98[0x1]));return _0x41ba82?spec(_0x41ba82,_0x36aee2):null;}const _0x151b06=numbers(_0x1dd1b7);if(!_0x151b06)return null;if(_0x14f925==='*')return spec(_0x1671e4(_0x41cb55._0x4648f0),_0x36aee2,_0x151b06);const _0x109f20=numbers(_0x14f925);return _0x109f20&&spec(_0x1671e4(0x2ce),_0x36aee2,_0x151b06,_0x109f20);}__name(specFromCron,_0xef7a9b(0x292));function describeCron(_0x504279){const _0x4a7147=specFromCron(_0x504279);return _0x4a7147?describeSpec(_0x4a7147):_0x504279;}__name(describeCron,_0xef7a9b(0x254));function describeSpec(_0x14ee87){const _0x256c5f={_0x5ed187:0x1fc,_0xcd437f:0x1d1,_0x11fdcd:0x1b9,_0x179620:0x243,_0x39f03c:0x1a2,_0x5b1bf1:0x2ce,_0x14e98b:0x231},_0x585c3a=_0xef7a9b;switch(_0x14ee87[_0x585c3a(_0x256c5f._0x5ed187)]){case'm5':return _0x585c3a(0x1f6);case _0x585c3a(0x216):return _0x585c3a(_0x256c5f._0xcd437f);case'h1':return'hourly'+atMinutes(_0x14ee87[_0x585c3a(0x22a)]);case'h2':case'h4':case'h6':case _0x585c3a(_0x256c5f._0x11fdcd):return _0x585c3a(_0x256c5f._0x179620)+HOUR_STEP[_0x14ee87[_0x585c3a(0x1fc)]]+'h'+atMinutes(_0x14ee87[_0x585c3a(0x22a)]);case _0x585c3a(_0x256c5f._0x39f03c):return _0x585c3a(0x182)+times(_0x14ee87);case _0x585c3a(_0x256c5f._0x5b1bf1):return _0x14ee87['days'][_0x585c3a(0x2f4)](_0xa95831=>DAY_SHORT[_0xa95831]??String(_0xa95831))[_0x585c3a(_0x256c5f._0x14e98b)](',\x20')+_0x585c3a(0x2bf)+times(_0x14ee87);}}__name(describeSpec,_0xef7a9b(0x15b));function nextTickFromSpec(_0x18226b,_0x57418c){const _0x4fdda9={_0x4b6b76:0x157,_0x55a546:0x239},_0x1b8de2=_0xef7a9b,_0x3afffe=new Date(_0x57418c);_0x3afffe[_0x1b8de2(_0x4fdda9._0x4b6b76)](0x0,0x0);for(let _0x29b4cd=0x0;_0x29b4cd<0x8*0x18*0x3c;_0x29b4cd++){_0x3afffe[_0x1b8de2(_0x4fdda9._0x55a546)](_0x3afffe[_0x1b8de2(0x290)]()+0x1);if(specMatches(_0x18226b,_0x3afffe))return _0x3afffe[_0x1b8de2(0x289)]();}return _0x3afffe[_0x1b8de2(0x289)]();}__name(nextTickFromSpec,_0xef7a9b(0x17f));function specMatches(_0x16a93,_0x4d89cd){const _0x3e5abd={_0x333898:0x290,_0x29f1ba:0x1c7,_0x35f0ab:0x1fc,_0x2061cf:0x216,_0x284a15:0x201,_0x2548fa:0x1a2,_0x161aec:0x201,_0x39c93d:0x1a0,_0x4a9172:0x201,_0x286b25:0x1a0,_0x35767f:0x201,_0x152d5e:0x311},_0x4b02ba=_0xef7a9b,_0xacc5fd=_0x4d89cd[_0x4b02ba(_0x3e5abd._0x333898)](),_0x5b985e=_0x4d89cd[_0x4b02ba(_0x3e5abd._0x29f1ba)]();switch(_0x16a93[_0x4b02ba(_0x3e5abd._0x35f0ab)]){case'm5':return _0xacc5fd%0x5===0x0;case _0x4b02ba(_0x3e5abd._0x2061cf):return _0xacc5fd%0xf===0x0;case'h1':return _0x16a93['minutes'][_0x4b02ba(_0x3e5abd._0x284a15)](_0xacc5fd);case'h2':case'h4':case'h6':case'h12':return _0x16a93[_0x4b02ba(0x22a)]['includes'](_0xacc5fd)&&_0x5b985e%(HOUR_STEP[_0x16a93[_0x4b02ba(0x1fc)]]??0x1)===0x0;case _0x4b02ba(_0x3e5abd._0x2548fa):return _0x16a93['minutes'][_0x4b02ba(_0x3e5abd._0x161aec)](_0xacc5fd)&&_0x16a93[_0x4b02ba(_0x3e5abd._0x39c93d)]['includes'](_0x5b985e);case _0x4b02ba(0x2ce):return _0x16a93[_0x4b02ba(0x22a)][_0x4b02ba(_0x3e5abd._0x4a9172)](_0xacc5fd)&&_0x16a93[_0x4b02ba(_0x3e5abd._0x286b25)]['includes'](_0x5b985e)&&_0x16a93[_0x4b02ba(0x252)][_0x4b02ba(_0x3e5abd._0x35767f)](_0x4d89cd[_0x4b02ba(_0x3e5abd._0x152d5e)]());}}__name(specMatches,_0xef7a9b(0x245));function formatNextTick(_0x48d018,_0x4b7c03){const _0x168e1f={_0x2e12aa:0x21b,_0xb1b0a4:0x156},_0x1bc6ea=_0xef7a9b,_0x1d07ba=new Date(_0x48d018),_0x29ba5a=new Date(_0x4b7c03),_0x57078c=pad(_0x1d07ba['getHours']())+':'+pad(_0x1d07ba[_0x1bc6ea(0x290)]()),_0x352fd4=Math[_0x1bc6ea(_0x168e1f._0x2e12aa)]((startOfDay(_0x1d07ba)-startOfDay(_0x29ba5a))/(0x18*0x3c*0x3c*0x3e8));if(_0x352fd4===0x0)return _0x1bc6ea(_0x168e1f._0xb1b0a4)+_0x57078c;if(_0x352fd4===0x1)return _0x1bc6ea(0x309)+_0x57078c;return DAY_SHORT[_0x1d07ba[_0x1bc6ea(0x311)]()]+'\x20'+_0x57078c;}__name(formatNextTick,_0xef7a9b(0x1c8));function startOfDay(_0x53adfa){const _0x5b18d8=_0xef7a9b,_0x212062=new Date(_0x53adfa);return _0x212062['setHours'](0x0,0x0,0x0,0x0),_0x212062[_0x5b18d8(0x289)]();}__name(startOfDay,_0xef7a9b(0x27e));var DAY_SHORT=[_0xef7a9b(0x2cd),_0xef7a9b(0x25c),_0xef7a9b(0x1e6),'Wed',_0xef7a9b(0x2f9),'Fri',_0xef7a9b(0x1b8)],WEEK_CHIP_ORDER=[0x1,0x2,0x3,0x4,0x5,0x6,0x0];function spec(_0x497012,_0x54d6b9=[0x0],_0xb60412=[0x3],_0x3d18ce=[0x1]){return{'freq':_0x497012,'minutes':_0x54d6b9,'hours':_0xb60412,'days':_0x3d18ce};}__name(spec,'spec');function list(_0x3fa927){const _0x2940ff=_0xef7a9b;return[..._0x3fa927][_0x2940ff(0x1d9)]((_0x5e7aef,_0x258a7f)=>_0x5e7aef-_0x258a7f)[_0x2940ff(0x231)](',');}__name(list,'list');function numbers(_0x10fe0b){const _0x6dc635=_0xef7a9b;if(!/^\d+(,\d+)*$/['test'](_0x10fe0b))return null;return _0x10fe0b[_0x6dc635(0x1ff)](',')[_0x6dc635(0x2f4)](Number);}__name(numbers,_0xef7a9b(0x2b5));var pad=__name(_0x20dc90=>String(_0x20dc90)[_0xef7a9b(0x213)](0x2,'0'),_0xef7a9b(0x274));function atMinutes(_0x383a26){const _0x2c3de5={_0x53811e:0x22f,_0x3fa16c:0x1d9},_0xd28cc5=_0xef7a9b;if(_0x383a26[_0xd28cc5(_0x2c3de5._0x53811e)]===0x1&&_0x383a26[0x0]===0x0)return'';return'\x20at\x20'+[..._0x383a26][_0xd28cc5(_0x2c3de5._0x3fa16c)]((_0x564119,_0x2a03de)=>_0x564119-_0x2a03de)['map'](_0x1e080a=>':'+pad(_0x1e080a))['join'](',\x20');}function _0xed3b(_0x1af890,_0x2f9081){_0x1af890=_0x1af890-0x148;const _0x39d6d4=_0x39d6();let _0xed3bc2=_0x39d6d4[_0x1af890];if(_0xed3b['mIiHCo']===undefined){var _0x3aba4d=function(_0x45dba7){const _0x29d22c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb163f1='',_0x26ac10='';for(let _0xd6c1d=0x0,_0x3e5e3e,_0x3428bc,_0xc090cb=0x0;_0x3428bc=_0x45dba7['charAt'](_0xc090cb++);~_0x3428bc&&(_0x3e5e3e=_0xd6c1d%0x4?_0x3e5e3e*0x40+_0x3428bc:_0x3428bc,_0xd6c1d++%0x4)?_0xb163f1+=String['fromCharCode'](0xff&_0x3e5e3e>>(-0x2*_0xd6c1d&0x6)):0x0){_0x3428bc=_0x29d22c['indexOf'](_0x3428bc);}for(let _0x4cb2d2=0x0,_0x3fd9d5=_0xb163f1['length'];_0x4cb2d2<_0x3fd9d5;_0x4cb2d2++){_0x26ac10+='%'+('00'+_0xb163f1['charCodeAt'](_0x4cb2d2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26ac10);};_0xed3b['JJrBnm']=_0x3aba4d,_0xed3b['TxGPKD']={},_0xed3b['mIiHCo']=!![];}const _0x142031=_0x39d6d4[0x0],_0x3757de=_0x1af890+_0x142031,_0x453141=_0xed3b['TxGPKD'][_0x3757de];return!_0x453141?(_0xed3bc2=_0xed3b['JJrBnm'](_0xed3bc2),_0xed3b['TxGPKD'][_0x3757de]=_0xed3bc2):_0xed3bc2=_0x453141,_0xed3bc2;}__name(atMinutes,_0xef7a9b(0x255));function times(_0x3b0c01){const _0x3fa3c8={_0x3acc96:0x1a0,_0x33e4a4:0x1d9,_0x2dcadc:0x230,_0x1dffec:0x22f,_0xe793b:0x231},_0x26e8fb=_0xef7a9b,_0x1748b8=[..._0x3b0c01[_0x26e8fb(_0x3fa3c8._0x3acc96)]][_0x26e8fb(_0x3fa3c8._0x33e4a4)]((_0x1127ff,_0xe1c1e1)=>_0x1127ff-_0xe1c1e1)[_0x26e8fb(_0x3fa3c8._0x2dcadc)](_0x4c8643=>[..._0x3b0c01['minutes']][_0x26e8fb(0x1d9)]((_0x103b02,_0x14c089)=>_0x103b02-_0x14c089)['map'](_0xa5b965=>pad(_0x4c8643)+':'+pad(_0xa5b965))),_0x112854=_0x1748b8[_0x26e8fb(0x29a)](0x0,0x4),_0x589b6a=_0x1748b8[_0x26e8fb(_0x3fa3c8._0x1dffec)]-_0x112854['length'];return _0x112854[_0x26e8fb(_0x3fa3c8._0xe793b)](',\x20')+(_0x589b6a>0x0?'\x20+'+_0x589b6a:'');}__name(times,_0xef7a9b(0x272));var BLOBS_DIR=_0xef7a9b(0x2f1),GENERATION_SEP='~',HASH_RE=/^[0-9a-f]{8,}$/,InvalidBlobHashError=class extends Error{static{__name(this,_0xef7a9b(0x1e2));}constructor(_0x35ff10){const _0x5e7cb7={_0x233039:0x1d6,_0x218b68:0x1e2},_0x1aa6ae=_0xef7a9b;super(_0x1aa6ae(_0x5e7cb7._0x233039)+_0x35ff10),this['name']=_0x1aa6ae(_0x5e7cb7._0x218b68);}};function blobPathFor(_0x2c25dc,_0x4683ff,_0x1a8a16,_0x28d03d=0x0){return _0x2c25dc+'/'+blobRelPathFor(_0x4683ff,_0x1a8a16,_0x28d03d);}__name(blobPathFor,'blobPathFor');function blobRelSegmentsFor(_0x43cf98,_0x58e170,_0x51ff2f=0x0){const _0x5f2ceb=_0xef7a9b;if(!HASH_RE[_0x5f2ceb(0x234)](_0x43cf98))throw new InvalidBlobHashError(_0x43cf98);const _0x513853=_0x51ff2f>0x0?''+GENERATION_SEP+_0x51ff2f:'';return[BLOBS_DIR,_0x43cf98[_0x5f2ceb(0x29a)](0x0,0x2),_0x43cf98[_0x5f2ceb(0x29a)](0x2,0x4),''+_0x43cf98+_0x513853+'.'+_0x58e170];}__name(blobRelSegmentsFor,'blobRelSegmentsFor');function blobRelPathFor(_0x590ec2,_0x2c4c2b,_0x462566=0x0){const _0x3dc190={_0xa865ea:0x231},_0x2d1bcd=_0xef7a9b;return blobRelSegmentsFor(_0x590ec2,_0x2c4c2b,_0x462566)[_0x2d1bcd(_0x3dc190._0xa865ea)]('/');}__name(blobRelPathFor,_0xef7a9b(0x189));function blobsRootFor(_0x204491){return _0x204491+'/'+BLOBS_DIR;}__name(blobsRootFor,_0xef7a9b(0x1d0));var FS_UNSAFE_NAME_RE=/[\\/:*?"<>|\x00-\x1f]/;function validateFsSafeName(_0x24e4ea,_0x5d327d){const _0x31a183={_0x20c945:0x1b6,_0x48dddb:0x22f,_0x2fc769:0x27a,_0x43a31a:0x307,_0x3ca645:0x234,_0x3fc7c7:0x23a},_0x2a3b9f=_0xef7a9b;if(typeof _0x24e4ea!==_0x2a3b9f(_0x31a183._0x20c945))return _0x2a3b9f(0x2bb);const _0xc542e6=_0x24e4ea[_0x2a3b9f(0x2a0)]();if(_0xc542e6[_0x2a3b9f(_0x31a183._0x48dddb)]===0x0)return'must\x20not\x20be\x20empty';if(_0xc542e6==='.'||_0xc542e6==='..')return _0x2a3b9f(0x221);if(_0xc542e6[_0x2a3b9f(0x251)]('.'))return _0x2a3b9f(_0x31a183._0x2fc769);if(_0x5d327d?.[_0x2a3b9f(_0x31a183._0x43a31a)]&&_0xc542e6['startsWith']('_'))return'must\x20not\x20start\x20with\x20\x27_\x27\x20(reserved)';if(FS_UNSAFE_NAME_RE[_0x2a3b9f(_0x31a183._0x3ca645)](_0xc542e6))return _0x2a3b9f(_0x31a183._0x3fc7c7);return null;}__name(validateFsSafeName,'validateFsSafeName');var COLLECTION_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateCollectionName(_0x2075b3){return validateFsSafeName(_0x2075b3);}__name(validateCollectionName,_0xef7a9b(0x278));var RUN_MANIFEST_FILE=_0xef7a9b(0x181),RUN_TRIGGER_ENV=_0xef7a9b(0x269),RUN_ACTOR_ENV=_0xef7a9b(0x1d5),TRIGGER_KINDS=['schedule','ci',_0xef7a9b(0x1c0),_0xef7a9b(0x18b)];function runTriggerFromEnv(_0x36de02){const _0x1c1a54=_0xef7a9b,_0x483f0a=_0x36de02[RUN_TRIGGER_ENV]?.[_0x1c1a54(0x2a0)]();if(!_0x483f0a||!TRIGGER_KINDS['includes'](_0x483f0a))return void 0x0;const _0xefafb5=_0x36de02[RUN_ACTOR_ENV]?.[_0x1c1a54(0x2a0)]();return{'kind':_0x483f0a,..._0xefafb5?{'by':_0xefafb5}:{}};}__name(runTriggerFromEnv,_0xef7a9b(0x19c));function runTriggerEnv(_0x398163){const _0x5f2f25={_0x1d8266:0x277},_0x590a77=_0xef7a9b;return{[RUN_TRIGGER_ENV]:_0x398163[_0x590a77(_0x5f2f25._0x1d8266)],..._0x398163['by']!==void 0x0?{[RUN_ACTOR_ENV]:_0x398163['by']}:{}};}__name(runTriggerEnv,'runTriggerEnv');function manifestTrigger(_0x550031){const _0x3dca0d={_0x26a7d1:0x247},_0x3201d5=_0xef7a9b;return _0x550031[_0x3201d5(_0x3dca0d._0x26a7d1)]??{'kind':_0x3201d5(0x18b)};}__name(manifestTrigger,'manifestTrigger');var RUN_SOURCES_FILE='sources.json',UnsupportedRunKindError=class extends Error{static{__name(this,_0xef7a9b(0x1ed));}constructor(_0x15e432,_0x170700){const _0x32df89={_0xbb16a1:0x1d3,_0x2ae507:0x2ba},_0x3b3b8b=_0xef7a9b;super('runner\x20\x22'+_0x170700+_0x3b3b8b(_0x32df89._0xbb16a1)+_0x15e432+'\x22'),this[_0x3b3b8b(_0x32df89._0x2ae507)]=_0x3b3b8b(0x1ed);}},RunnerAdapterNotFoundError=class extends Error{static{__name(this,_0xef7a9b(0x19f));}constructor(_0x292d52,_0x271867){const _0x26ddd2={_0xe7bf30:0x2ba,_0xff72ec:0x19f},_0x54a019=_0xef7a9b;super('cannot\x20load\x20runner\x20adapter\x20\x22'+_0x292d52+_0x54a019(0x1ef)+_0x271867),this[_0x54a019(_0x26ddd2._0xe7bf30)]=_0x54a019(_0x26ddd2._0xff72ec);}},RunnerNotConfiguredError=class extends Error{static{__name(this,_0xef7a9b(0x202));}constructor(_0x2c99d5){const _0x50afe3=_0xef7a9b;super(_0x2c99d5),this['name']=_0x50afe3(0x202);}},EXPECT_FAIL_ANNOTATION=_0xef7a9b(0x197),ANNOTATION_RE=/^\s*\/\/\s*@([a-z0-9-]+)\s*$/;function isAnnotationLine(_0x2330f0){const _0x346709=_0xef7a9b;return ANNOTATION_RE[_0x346709(0x234)](_0x2330f0);}__name(isAnnotationLine,_0xef7a9b(0x30f));function parseScenarioAnnotations(_0x1ae333){const _0x2aa76e={_0x4050f4:0x2a0,_0x2b6aea:0x251,_0x1395e7:0x172},_0x47840d=_0xef7a9b,_0x4626ae=new Set();for(const _0x34b409 of _0x1ae333['split'](/\r?\n/)){const _0x1eeb40=_0x34b409[_0x47840d(_0x2aa76e._0x4050f4)]();if(_0x1eeb40==='')continue;if(!_0x1eeb40[_0x47840d(_0x2aa76e._0x2b6aea)]('//'))break;const _0x2ce49c=_0x1eeb40[_0x47840d(_0x2aa76e._0x1395e7)](ANNOTATION_RE);if(_0x2ce49c)_0x4626ae[_0x47840d(0x226)](_0x2ce49c[0x1]);}return{'expectFail':_0x4626ae['has'](EXPECT_FAIL_ANNOTATION)};}__name(parseScenarioAnnotations,'parseScenarioAnnotations');var SEGMENT_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateSegmentName(_0x3293a8){return validateFsSafeName(_0x3293a8,{'reservedUnderscore':!![]});}__name(validateSegmentName,'validateSegmentName');var TERMINAL_WS_EVENT=_0xef7a9b(0x2f5),RUNNER_CONFIG_KEYS=new Set([_0xef7a9b(0x208),_0xef7a9b(0x184),_0xef7a9b(0x22e),_0xef7a9b(0x1db),_0xef7a9b(0x25e),_0xef7a9b(0x2b1),_0xef7a9b(0x1af),_0xef7a9b(0x2d3),_0xef7a9b(0x2e7),_0xef7a9b(0x306),_0xef7a9b(0x27d),_0xef7a9b(0x26f),'UNOTEST_DEBUG_MAX_BYTES',_0xef7a9b(0x29d),_0xef7a9b(0x2c7),'UNOTEST_DEBUG_KEEP_CALLS','UNOTEST_NETWORK',_0xef7a9b(0x259),_0xef7a9b(0x2f6),_0xef7a9b(0x1fd),_0xef7a9b(0x23e),_0xef7a9b(0x2e5),_0xef7a9b(0x16c)]);function isRunnerConfigKey(_0x3665ae){const _0x17a0fe=_0xef7a9b;return RUNNER_CONFIG_KEYS[_0x17a0fe(0x1dc)](_0x3665ae);}__name(isRunnerConfigKey,_0xef7a9b(0x2c6));function categorizeVariable(_0x1c452c){const _0x2e4589={_0x958bc8:0x2d7,_0x31bafb:0x1ae,_0x9eaab4:0x2f7},_0x559577=_0xef7a9b;if(_0x1c452c[_0x559577(_0x2e4589._0x958bc8)]===_0x559577(0x1b7))return _0x559577(_0x2e4589._0x31bafb);return isRunnerConfigKey(_0x1c452c[_0x559577(0x2ba)])?_0x559577(0x266):_0x559577(_0x2e4589._0x9eaab4);}__name(categorizeVariable,_0xef7a9b(0x246));function isExternalVarName(_0x2b246f){const _0x378b2d={_0x5f26ae:0x234},_0x274a9a=_0xef7a9b;return/^[A-Z][A-Z0-9_]*$/[_0x274a9a(_0x378b2d._0x5f26ae)](_0x2b246f);}__name(isExternalVarName,_0xef7a9b(0x1f1));var SECTION_BY_KIND={'app':_0xef7a9b(0x25a),'runner':_0xef7a9b(0x1de),'secret':void 0x0};function planAddVariable(_0x544a51){const _0x1f5fe9={_0x5bc178:0x29c,_0x1d8b75:0x1dc,_0x299eef:0x1ae,_0x2dce01:0x1b7,_0x410228:0x16a,_0x26a134:0x219,_0x1c1d21:0x28b,_0x100311:0x2d6,_0x4c057b:0x2cf},_0x5240a9=_0xef7a9b,{name:_0x6a87a6,kind:_0x2e3283}=_0x544a51;if(_0x2e3283===_0x5240a9(0x266)){if(!isRunnerConfigKey(_0x6a87a6))return{'ok':![],'code':'unknown-runner-key','message':_0x6a87a6+_0x5240a9(0x1e0)};}else{if(!isExternalVarName(_0x6a87a6))return{'ok':![],'code':_0x5240a9(_0x1f5fe9._0x5bc178),'message':_0x6a87a6+'\x20must\x20be\x20UPPER_SNAKE\x20(e.g.\x20APP_BASE_URL)\x20so\x20a\x20scenario\x20can\x20reference\x20it\x20by\x20name.'};}const _0x51834b=envKeys(_0x544a51[_0x5240a9(0x286)])[_0x5240a9(_0x1f5fe9._0x1d8b75)](_0x6a87a6),_0x321b61=envKeys(_0x544a51[_0x5240a9(0x17e)])[_0x5240a9(0x1dc)](_0x6a87a6),_0x110d41=_0x2e3283===_0x5240a9(_0x1f5fe9._0x299eef)?_0x5240a9(_0x1f5fe9._0x2dce01):_0x5240a9(_0x1f5fe9._0x410228),_0x1876ec=_0x110d41==='secrets'?_0x321b61:_0x51834b,_0x566846=_0x110d41===_0x5240a9(0x1b7)?_0x5240a9(0x1c4):'unotest/.env';if(_0x1876ec)return{'ok':![],'code':_0x5240a9(_0x1f5fe9._0x26a134),'message':_0x6a87a6+_0x5240a9(0x18f)+_0x566846+_0x5240a9(_0x1f5fe9._0x1c1d21)};const _0x817db=[];return _0x2e3283===_0x5240a9(0x1ae)&&_0x51834b&&_0x817db[_0x5240a9(0x2d6)](_0x6a87a6+_0x5240a9(0x198)),_0x2e3283!==_0x5240a9(0x1ae)&&_0x321b61&&_0x817db[_0x5240a9(_0x1f5fe9._0x100311)](_0x6a87a6+_0x5240a9(_0x1f5fe9._0x4c057b)),{'ok':!![],'target':_0x110d41,'sectionLabel':SECTION_BY_KIND[_0x2e3283],'warnings':_0x817db};}__name(planAddVariable,_0xef7a9b(0x195));function deleteShadowWarning(_0xe72bfa,_0x863f1e,_0x5c3627){const _0x21678d={_0x47a7ec:0x16b},_0x333a63=_0xef7a9b;if(_0x5c3627!==void 0x0&&_0x5c3627!==_0x863f1e)return[_0xe72bfa+_0x333a63(_0x21678d._0x47a7ec)];return[];}__name(deleteShadowWarning,_0xef7a9b(0x2ee));var TERMINAL_RUNTIME_STATES=['completed',_0xef7a9b(0x242),_0xef7a9b(0x244)];function isTerminalRuntimeState(_0x555711){const _0x2b3743={_0x251a8a:0x201},_0x18ad55=_0xef7a9b;return TERMINAL_RUNTIME_STATES[_0x18ad55(_0x2b3743._0x251a8a)](_0x555711);}__name(isTerminalRuntimeState,'isTerminalRuntimeState');var JUDGE_ROUTES={'judge':_0xef7a9b(0x170),'health':_0xef7a9b(0x296)},JUDGE_ENV={'mode':_0xef7a9b(0x299),'url':_0xef7a9b(0x1f8),'token':_0xef7a9b(0x30e),'requestTimeoutMs':'UNOTEST_JUDGE_TIMEOUT_MS','preamble':'UNOTEST_JUDGE_PREAMBLE','provider':_0xef7a9b(0x16e),'model':_0xef7a9b(0x190),'callTimeoutMs':_0xef7a9b(0x1f7),'retries':_0xef7a9b(0x1a1),'vote':_0xef7a9b(0x148),'accessToken':_0xef7a9b(0x1f5),'claudeBin':'UNOTEST_JUDGE_CLAUDE_BIN','host':_0xef7a9b(0x249),'port':_0xef7a9b(0x253),'logLevel':_0xef7a9b(0x2fc),'skipPreflight':_0xef7a9b(0x2a3)};export{ACTOR_TICKET_HEADER,ARTIFACTS_ROOT_ENV,BLOBS_DIR,BOX_ENV_VALUES_SEGMENT,BOX_NOTIFY_CHANNEL_KINDS,BOX_NOTIFY_EVENTS,BOX_NOTIFY_PATH,BOX_NOTIFY_STATES,BOX_NOTIFY_TRIGGER_KINDS,BOX_READ_ENVIRONMENTS_PATH,BOX_READ_ENVIRONMENT_HEADER,BOX_READ_TOKEN_ENV,BOX_READ_TOKEN_PREFIX,BOX_REVEAL_SEGMENT,BOX_RUNS_SEGMENT,BOX_SECRET_NAMES_ENV,BOX_TOKEN_ENV,BOX_URL_ENV,BOX_VALUES_PATH,BOX_VARIABLE_NAMES_ENV,BROWSER_CHANNEL_ENV,BROWSER_ENV,BUNDLED_BROWSER_CHANNEL,BUNDLE_ID_ENV,BUNDLE_MANIFEST_FILE,BUNDLE_SCHEMA_VERSION,BUNDLE_UPLOAD_PATH,CI_RUN_PATH,COLLECTIONS_SUBDIR,COLLECTION_NAME_FORBIDDEN_RE,COMMANDS_FILE,DAY_INDEX_FILE,DAY_SHORT,E2E_SUBDIR,ENV_FILE,EXPECT_FAIL_ANNOTATION,FREQ_FIELDS,GUARD_SECRET_HEADER,HEARTBEAT_FILE,HELPERS_SUBDIR,InvalidBlobHashError,JUDGE_ENV,JUDGE_ROUTES,LOCK_FILE,LOG_FILE,PICKER_SNAPSHOT_FILE,QUEUE_DISABLED_ENV,QUEUE_GLOBAL_DIR_ENV,QUEUE_GLOBAL_SLOTS_ENV,QUEUE_LEASE_ENV,QUEUE_MUTEX_FILE,QUEUE_PRIORITIES,QUEUE_RUNNING_DIR,QUEUE_SCHEMA_VERSION,QUEUE_SLOTS_DIR,QUEUE_SUBDIR,QUEUE_TICKETS_DIR,RUNNER_CONFIG_KEYS,RUNNER_SETTING_PREFIX,RUNS_SUBDIR,RUNTIME_FILE,RUN_ACTOR_ENV,RUN_INDEX_SCHEMA_VERSION,RUN_MANIFEST_FILE,RUN_SOURCES_FILE,RUN_TRIGGER_ENV,RunnerAdapterNotFoundError,RunnerNotConfiguredError,SCENARIOS_INDEX_DIR,SCENARIOS_LATEST_FILE,SCENARIO_RECENT_WINDOW,SCHEDULES_FILE,SCHEDULES_FINGERPRINT_ENV,SECRETS_FILE,SEGMENT_NAME_FORBIDDEN_RE,SNAPSHOTS_SUBDIR,STDERR_FILE,STDOUT_FILE,STEPS_FILE,TARGET_ENV_VAR,TERMINAL_RUNTIME_STATES,TERMINAL_WS_EVENT,UNOTEST_DIR,UnplaceableRunIdError,UnsupportedRunKindError,WEEK_CHIP_ORDER,WORKSPACE_FILE,WORKSPACE_SCHEMA_VERSION,activeEnvName,artifactsRootFrom,blobPathFor,blobRelPathFor,blobRelSegmentsFor,blobsRootFor,boxEnvSecretRevealPath,boxEnvSecretsRevealPath,boxEnvValuePath,boxEnvValuesPath,boxNotifyChannelPath,boxNotifyMutePath,boxNotifyPreviewPath,boxNotifyPreviewTrigger,boxNotifyProjectPath,boxNotifyQuietHoursPath,boxNotifyRulePath,boxNotifySeriesPath,boxNotifySeriesResetPath,boxNotifyTestPath,boxRunPath,boxRunsPath,boxValueKindOfSegment,boxValuePath,boxValuesPath,canonicalScheduleSet,categorizeVariable,compareQueueTicketNames,cronFromSpec,debugDirFor,debuggerFileFor,declaredEnvKeys,decodeNameList,deleteShadowWarning,describeBundle,describeCron,describeSpec,describeTicketCi,encodeNameList,envFileFor,envKeys,envLayerFilesFor,envNamesFromDirListing,foldScenarioRun,formatNextTick,insertEnvVar,isAnnotationLine,isBoxNotifyState,isEnvVarName,isExternalVarName,isFailingStatus,isQueueDirName,isRecord,isRegexLiteral,isRunnerConfigKey,isRunnerSetting,isRunsDirName,isTerminalRuntimeState,makeQueueTicketName,makeRunId,manifestTrigger,mergeSchedules,nextTickFromSpec,parseAppServerEvent,parseBoxEnvValuesReplaceRequest,parseBoxNotifyChanged,parseBoxNotifyError,parseBoxNotifyMuteScope,parseBoxNotifyPreview,parseBoxNotifyProjectView,parseBoxNotifySeriesView,parseBoxNotifyTestResult,parseBoxNotifyView,parseBoxReadEnvironments,parseBoxReadError,parseBoxRunAccepted,parseBoxRunRequest,parseBoxRunStatus,parseBoxSecretRevealResponse,parseBoxSecretsRevealResponse,parseBoxValueSetRequest,parseBoxValuesReplaceRequest,parseBoxValuesResponse,parseBundleManifest,parseBundleUploadResponse,parseCiProvider,parseCiRunRequest,parseCiRunResponse,parseEnvContent,parseQueueTicket,parseQueueTicketName,parseScenarioAnnotations,parseScheduleEntry,parseSchedulesDoc,parseSchedulesJson,parseWorkspaceFile,planAddVariable,projectQueueRoot,projectRunDirFor,projectRunsRoot,queueDirFor,queuePriorityFromRank,queuePriorityRank,regexLiteral,removeEnvVar,requireRunDirFor,reservedBoxValueNames,runDirFor,runIdStartedAt,runTriggerEnv,runTriggerFromEnv,runsDirFor,sanitizeRunIdSegment,scenarioIndexFileName,scenarioRefFromFileName,scheduleTarget,secretsFileFor,secretsLayerFilesFor,serializeEnvValue,shardDaysDescending,shardDirFor,shardPathForRunId,shardPathForTimestamp,specFromCron,testDirFor,validateCollectionName,validateSegmentName};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unotest/protocol",
3
- "version": "0.31.0",
3
+ "version": "0.33.0",
4
4
  "description": "Cross-runner protocol for the @unotest ecosystem: shared TypeScript types, path constants, the IRunnerAdapter contract that lets @unotest/viewer drive @unotest/web, @unotest/mobile (and future runners) through the same surface. Pure types + pure functions only — zero runtime deps, browser-safe.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {