@react-native-harness/cli 1.0.0-alpha.11 → 1.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +23 -4
  2. package/dist/commands/test.d.ts +2 -1
  3. package/dist/commands/test.d.ts.map +1 -1
  4. package/dist/commands/test.js +18 -16
  5. package/dist/discovery/index.d.ts +3 -0
  6. package/dist/discovery/index.d.ts.map +1 -0
  7. package/dist/discovery/index.js +1 -0
  8. package/dist/discovery/testDiscovery.d.ts +11 -0
  9. package/dist/discovery/testDiscovery.d.ts.map +1 -0
  10. package/dist/discovery/testDiscovery.js +29 -0
  11. package/dist/errors/errorHandler.d.ts.map +1 -1
  12. package/dist/errors/errorHandler.js +12 -2
  13. package/dist/errors/errors.d.ts +2 -2
  14. package/dist/errors/errors.d.ts.map +1 -1
  15. package/dist/errors/errors.js +6 -1
  16. package/dist/index.js +20 -4
  17. package/dist/platforms/android/index.js +1 -1
  18. package/dist/platforms/platform-registry.d.ts.map +1 -1
  19. package/dist/platforms/platform-registry.js +2 -0
  20. package/dist/platforms/vega/build.d.ts +23 -0
  21. package/dist/platforms/vega/build.d.ts.map +1 -0
  22. package/dist/platforms/vega/build.js +55 -0
  23. package/dist/platforms/vega/device.d.ts +57 -0
  24. package/dist/platforms/vega/device.d.ts.map +1 -0
  25. package/dist/platforms/vega/device.js +206 -0
  26. package/dist/platforms/vega/index.d.ts +4 -0
  27. package/dist/platforms/vega/index.d.ts.map +1 -0
  28. package/dist/platforms/vega/index.js +75 -0
  29. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  30. package/package.json +4 -4
  31. package/src/commands/test.ts +32 -22
  32. package/src/discovery/index.ts +2 -0
  33. package/src/discovery/testDiscovery.ts +50 -0
  34. package/src/errors/errorHandler.ts +16 -4
  35. package/src/errors/errors.ts +9 -4
  36. package/src/index.ts +33 -5
  37. package/src/platforms/android/index.ts +1 -1
  38. package/src/platforms/platform-registry.ts +2 -0
  39. package/src/platforms/vega/build.ts +85 -0
  40. package/src/platforms/vega/device.ts +258 -0
  41. package/src/platforms/vega/index.ts +107 -0
@@ -0,0 +1,206 @@
1
+ import { spawn } from '@react-native-harness/tools';
2
+ /**
3
+ * List all available Vega virtual devices
4
+ * Returns array of device identifiers that can be used with kepler commands
5
+ */
6
+ export const listVegaDevices = async () => {
7
+ try {
8
+ const { stdout } = await spawn('kepler', ['device', 'list']);
9
+ const lines = stdout.trim().split('\n');
10
+ const devices = [];
11
+ for (const line of lines) {
12
+ if (line.trim()) {
13
+ // Parse device line format: "VirtualDevice : tv - x86_64 - OS - hostname"
14
+ // or potentially "VegaTV_1 : tv - x86_64 - OS - hostname" for named instances
15
+ const deviceId = line.split(' : ')[0].trim();
16
+ if (deviceId &&
17
+ (deviceId === 'VirtualDevice' || deviceId.startsWith('Vega'))) {
18
+ devices.push(deviceId);
19
+ }
20
+ }
21
+ }
22
+ return devices;
23
+ }
24
+ catch {
25
+ return [];
26
+ }
27
+ };
28
+ /**
29
+ * Check if a specific Vega virtual device is connected/available
30
+ */
31
+ export const isVegaDeviceConnected = async (deviceId) => {
32
+ try {
33
+ const { stdout } = await spawn('kepler', [
34
+ 'device',
35
+ 'is-connected',
36
+ '--device',
37
+ deviceId,
38
+ ]);
39
+ return stdout.includes('is connected');
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ };
45
+ /**
46
+ * Check if an app is installed on the specified Vega virtual device
47
+ */
48
+ export const isAppInstalled = async (deviceId, bundleId) => {
49
+ try {
50
+ await spawn('kepler', [
51
+ 'device',
52
+ 'is-app-installed',
53
+ '--device',
54
+ deviceId,
55
+ '--appName',
56
+ bundleId,
57
+ ]);
58
+ return true;
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ };
64
+ /**
65
+ * Check if an app is currently running on the specified Vega virtual device
66
+ */
67
+ export const isAppRunning = async (deviceId, bundleId) => {
68
+ try {
69
+ await spawn('kepler', [
70
+ 'device',
71
+ 'is-app-running',
72
+ '--device',
73
+ deviceId,
74
+ '--appName',
75
+ bundleId,
76
+ ]);
77
+ return true;
78
+ }
79
+ catch {
80
+ return false;
81
+ }
82
+ };
83
+ /**
84
+ * Install app on specified Vega virtual device using .vpkg file
85
+ */
86
+ export const installApp = async (deviceId, vpkgPath) => {
87
+ await spawn('kepler', [
88
+ 'device',
89
+ 'install-app',
90
+ '-p',
91
+ vpkgPath,
92
+ '--device',
93
+ deviceId,
94
+ ]);
95
+ };
96
+ /**
97
+ * Terminate app on specified Vega virtual device
98
+ */
99
+ export const terminateApp = async (deviceId, bundleId) => {
100
+ await spawn('kepler', [
101
+ 'device',
102
+ 'terminate-app',
103
+ '--device',
104
+ deviceId,
105
+ '--appName',
106
+ bundleId,
107
+ ]);
108
+ };
109
+ /**
110
+ * Uninstall app from specified Vega virtual device
111
+ */
112
+ export const uninstallApp = async (deviceId, bundleId) => {
113
+ await spawn('kepler', [
114
+ 'device',
115
+ 'uninstall-app',
116
+ '--device',
117
+ deviceId,
118
+ '--appName',
119
+ bundleId,
120
+ ]);
121
+ };
122
+ /**
123
+ * Start port forwarding for debugging on specified Vega virtual device
124
+ */
125
+ export const startPortForwarding = async (deviceId, port, forward = true) => {
126
+ await spawn('kepler', [
127
+ 'device',
128
+ 'start-port-forwarding',
129
+ '--device',
130
+ deviceId,
131
+ '--port',
132
+ port.toString(),
133
+ '--forward',
134
+ forward.toString(),
135
+ ]);
136
+ };
137
+ /**
138
+ * Stop port forwarding on specified Vega virtual device
139
+ */
140
+ export const stopPortForwarding = async (deviceId, port, forward = true) => {
141
+ await spawn('kepler', [
142
+ 'device',
143
+ 'stop-port-forwarding',
144
+ '--device',
145
+ deviceId,
146
+ '--port',
147
+ port.toString(),
148
+ '--forward',
149
+ forward.toString(),
150
+ ]);
151
+ };
152
+ /**
153
+ * Get status of a specific Vega virtual device
154
+ * Note: Vega CLI might manage virtual devices globally, so this checks if the device is available
155
+ */
156
+ export const getVegaDeviceStatus = async (deviceId) => {
157
+ try {
158
+ // First check if the device is connected/available
159
+ const isConnected = await isVegaDeviceConnected(deviceId);
160
+ if (isConnected) {
161
+ return 'running';
162
+ }
163
+ // Check general virtual device status
164
+ const { stdout } = await spawn('kepler', ['virtual-device', 'status']);
165
+ // Parse the status output to determine if VVD is running
166
+ return stdout.toLowerCase().includes('running') ||
167
+ stdout.toLowerCase().includes('ready')
168
+ ? 'running'
169
+ : 'stopped';
170
+ }
171
+ catch {
172
+ return 'stopped';
173
+ }
174
+ };
175
+ /**
176
+ * Start Vega Virtual Device
177
+ * Note: Vega might manage virtual devices globally, this starts the virtual device system
178
+ */
179
+ export const startVirtualDevice = async () => {
180
+ await spawn('kepler', ['virtual-device', 'start']);
181
+ // Poll for VVD status until it's running
182
+ let attempts = 0;
183
+ const maxAttempts = 30; // 30 seconds timeout
184
+ while (attempts < maxAttempts) {
185
+ const { stdout } = await spawn('kepler', ['virtual-device', 'status']);
186
+ if (stdout.toLowerCase().includes('running') ||
187
+ stdout.toLowerCase().includes('ready')) {
188
+ return;
189
+ }
190
+ await new Promise((resolve) => setTimeout(resolve, 1000));
191
+ attempts++;
192
+ }
193
+ throw new Error('Vega Virtual Device failed to start within timeout');
194
+ };
195
+ /**
196
+ * Stop Vega Virtual Device
197
+ */
198
+ export const stopVirtualDevice = async () => {
199
+ await spawn('kepler', ['virtual-device', 'stop']);
200
+ };
201
+ /**
202
+ * Combined install and run command for specified Vega virtual device (Vega-specific convenience method)
203
+ */
204
+ export const runKepler = async (deviceId, vpkgPath, bundleId) => {
205
+ await spawn('kepler', ['run-kepler', vpkgPath, bundleId, '-d', deviceId]);
206
+ };
@@ -0,0 +1,4 @@
1
+ import { type PlatformAdapter } from '../platform-adapter.js';
2
+ declare const vegaPlatformAdapter: PlatformAdapter;
3
+ export default vegaPlatformAdapter;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platforms/vega/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAe9D,QAAA,MAAM,mBAAmB,EAAE,eAmF1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { assertVegaRunnerConfig, } from '@react-native-harness/config';
2
+ import { logger } from '@react-native-harness/tools';
3
+ import { isAppInstalled, getVegaDeviceStatus, isVegaDeviceConnected, startVirtualDevice, stopVirtualDevice, startPortForwarding, stopPortForwarding, } from './device.js';
4
+ import { runApp, killApp } from './build.js';
5
+ import { killWithAwait } from '../../process.js';
6
+ import { runMetro } from '../../bundlers/metro.js';
7
+ import { AppNotInstalledError } from '../../errors/errors.js';
8
+ const vegaPlatformAdapter = {
9
+ name: 'vega',
10
+ getEnvironment: async (runner) => {
11
+ assertVegaRunnerConfig(runner);
12
+ let shouldStopVirtualDevice = false;
13
+ // Check if the specific Vega device is available
14
+ const deviceStatus = await getVegaDeviceStatus(runner.deviceId);
15
+ logger.debug(`Vega device ${runner.deviceId} status: ${deviceStatus}`);
16
+ if (deviceStatus === 'stopped') {
17
+ logger.debug('Starting Vega Virtual Device system');
18
+ await startVirtualDevice();
19
+ shouldStopVirtualDevice = true;
20
+ // Wait a bit for the device to become available
21
+ await new Promise((resolve) => setTimeout(resolve, 2000));
22
+ }
23
+ // Verify device is now connected
24
+ const isConnected = await isVegaDeviceConnected(runner.deviceId);
25
+ if (!isConnected) {
26
+ throw new Error(`Vega device ${runner.deviceId} is not available. Make sure the virtual device is configured and running.`);
27
+ }
28
+ // Start Metro bundler
29
+ const metroPromise = runMetro();
30
+ // Set up port forwarding for debugging (similar to Android)
31
+ await Promise.all([
32
+ startPortForwarding(runner.deviceId, 8081, false), // reverse port forwarding for JS debugging
33
+ startPortForwarding(runner.deviceId, 8080, false),
34
+ startPortForwarding(runner.deviceId, 3001, false),
35
+ ]);
36
+ logger.debug('Port forwarding established');
37
+ // Check if app is installed
38
+ const isInstalled = await isAppInstalled(runner.deviceId, runner.bundleId);
39
+ logger.debug(`App is installed: ${isInstalled}`);
40
+ if (!isInstalled) {
41
+ throw new AppNotInstalledError(runner.deviceId, runner.bundleId, 'vega');
42
+ }
43
+ logger.debug('Waiting for Metro to start');
44
+ const metro = await metroPromise;
45
+ logger.debug('Metro started');
46
+ logger.debug('Running Vega app');
47
+ await runApp(runner.deviceId, runner.bundleId);
48
+ logger.debug('Vega app running');
49
+ return {
50
+ restart: async () => {
51
+ await runApp(runner.deviceId, runner.bundleId);
52
+ },
53
+ dispose: async () => {
54
+ // Kill the app
55
+ await killApp(runner.deviceId, runner.bundleId);
56
+ // Stop port forwarding
57
+ await Promise.all([
58
+ stopPortForwarding(runner.deviceId, 8081, false),
59
+ stopPortForwarding(runner.deviceId, 8080, false),
60
+ stopPortForwarding(runner.deviceId, 3001, false),
61
+ ]).catch((error) => {
62
+ // Don't fail disposal if port forwarding cleanup fails
63
+ logger.debug(`Port forwarding cleanup failed: ${error.message}`);
64
+ });
65
+ // Stop Virtual Device if we started it
66
+ if (shouldStopVirtualDevice) {
67
+ await stopVirtualDevice();
68
+ }
69
+ // Kill Metro
70
+ await killWithAwait(metro);
71
+ },
72
+ };
73
+ },
74
+ };
75
+ export default vegaPlatformAdapter;
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../node_modules/commander/typings/index.d.ts","../node_modules/commander/typings/esm.d.mts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/ws/index.d.mts","../../../node_modules/birpc/dist/index.d.ts","../../bridge/dist/shared/test-runner.d.ts","../../bridge/dist/shared/test-collector.d.ts","../../bridge/dist/shared/bundler.d.ts","../../bridge/dist/shared.d.ts","../../bridge/dist/server.d.ts","../../../node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/zod/dist/types/index.d.ts","../../config/dist/types.d.ts","../../config/dist/reader.d.ts","../../config/dist/errors.d.ts","../../config/dist/index.d.ts","../src/platforms/platform-adapter.ts","../../tools/dist/abort.d.ts","../../../node_modules/picocolors/types.d.ts","../../../node_modules/picocolors/picocolors.d.ts","../../tools/dist/color.d.ts","../../tools/dist/logger.d.ts","../../../node_modules/@clack/core/dist/index.d.mts","../../../node_modules/@clack/prompts/dist/index.d.mts","../../tools/dist/prompts.d.ts","../../../node_modules/nano-spawn/source/index.d.ts","../../tools/dist/spawn.d.ts","../../tools/dist/react-native.d.ts","../../tools/dist/index.d.ts","../src/platforms/android/emulator.ts","../src/platforms/android/build.ts","../src/process.ts","../src/bundlers/metro.ts","../src/errors/errors.ts","../src/platforms/android/index.ts","../src/platforms/ios/simulator.ts","../src/platforms/ios/build.ts","../src/utils.ts","../src/platforms/ios/index.ts","../src/platforms/web/index.ts","../src/platforms/platform-registry.ts","../../../node_modules/minipass/dist/esm/index.d.ts","../node_modules/lru-cache/dist/esm/index.d.ts","../node_modules/path-scurry/dist/esm/index.d.ts","../node_modules/minimatch/dist/esm/ast.d.ts","../node_modules/minimatch/dist/esm/escape.d.ts","../node_modules/minimatch/dist/esm/unescape.d.ts","../node_modules/minimatch/dist/esm/index.d.ts","../node_modules/glob/dist/esm/pattern.d.ts","../node_modules/glob/dist/esm/processor.d.ts","../node_modules/glob/dist/esm/walker.d.ts","../node_modules/glob/dist/esm/ignore.d.ts","../node_modules/glob/dist/esm/glob.d.ts","../node_modules/glob/dist/esm/has-magic.d.ts","../node_modules/glob/dist/esm/index.d.ts","../../bridge/dist/index.d.ts","../src/commands/test.ts","../src/errors/errorhandler.ts","../src/index.ts","../src/platforms/android/device.ts","../src/platforms/ios/device.ts","../../tools/dist/isinteractive.d.ts","../../tools/src/abort.ts","../../tools/src/color.ts","../../tools/src/isinteractive.ts","../../tools/src/logger.ts","../../tools/src/prompts.ts","../../tools/src/spawn.ts"],"fileIdsList":[[83,86,98],[86,98,137],[52,98],[55,98],[56,61,89,98],[57,68,69,76,86,97,98],[57,58,68,76,98],[59,98],[60,61,69,77,98],[61,86,94,98],[62,64,68,76,98],[63,98],[64,65,98],[68,98],[66,68,98],[68,69,70,86,97,98],[68,69,70,83,86,89,98],[98,102],[98],[64,68,71,76,86,97,98],[68,69,71,72,76,86,94,97,98],[71,73,86,94,97,98],[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],[68,74,98],[75,97,98],[64,68,76,86,98],[77,98],[78,98],[55,79,98],[80,96,98,102],[81,98],[82,98],[68,83,84,98],[83,85,98,100],[56,68,86,87,88,89,98],[56,86,88,98],[86,87,98],[89,98],[90,98],[68,92,93,98],[92,93,98],[61,76,86,94,98],[95,98],[76,96,98],[56,71,82,97,98],[61,98],[86,98,99],[98,100],[98,101],[56,61,68,70,79,86,97,98,100,102],[86,98,103],[68,71,73,76,86,94,97,98,103,105],[68,90,98,105],[57,98],[98,133],[48,98],[98,125],[98,115,116],[98,113,114,115,117,118,123],[98,114,115],[98,123],[98,124],[98,115],[98,113,114,115,118,119,120,121,122],[98,113,114,125],[98,111],[98,106,107,111],[98,108,109,110],[50,98],[98,156,158,162,163,166],[98,167],[98,158,162,165],[98,156,158,162,165,166,167,168],[98,162],[98,158,162,163,165],[98,156,158,163,164,166],[98,159,160,161],[69,78,98,156,157],[49,57,98,143],[49,98,112,130,131,143,148,152,155,169,170],[49,98,130,148,152],[49,98,130],[49,51,69,78,97,98,143,171,172],[49,78,98,143],[49,98,143],[49,57,98,130,131,143,144,145,146,147,148],[49,98,130,131,146,147,148,150,151,152],[49,98,131,149,153,154],[49,98,130,131],[49,57,98],[49,98],[98,127,128,129],[98,127],[98,126],[98,134],[98,132,135,136,139,141,142],[98,138],[98,140]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"1a2ae3df505891912038749a39e434643cf1f91a578475ae049f36e35c870c58","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},{"version":"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"f749812878fecfa53cfc13b36e5d35086fb6377983a9df44175da83ccc23af1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3","impliedFormat":1},{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true,"impliedFormat":1},{"version":"3719525a8f6ab731e3dfd585d9f87df55ec7d50d461df84f74eb4d68bb165244","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","impliedFormat":1},{"version":"4eaff3d8e10676fd7913d8c108890e71c688e1e7d52f6d1d55c39514f493dc47","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true,"impliedFormat":1},{"version":"3256f3cccd578f9e7fe3a28096c505634bebcee8afb738ffa99368e536ca3a0b","impliedFormat":1},{"version":"1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","impliedFormat":1},{"version":"7f138842074d0a40681775af008c8452093b68c383c94de31759e853c6d06b5c","impliedFormat":1},{"version":"a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","impliedFormat":1},{"version":"8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","impliedFormat":1},{"version":"2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58","impliedFormat":1},{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true,"impliedFormat":1},{"version":"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","impliedFormat":1},{"version":"7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","impliedFormat":1},{"version":"b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30","impliedFormat":1},{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","impliedFormat":1},{"version":"36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","impliedFormat":1},{"version":"0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7","impliedFormat":1},{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","impliedFormat":1},{"version":"1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true,"impliedFormat":1},{"version":"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","impliedFormat":1},{"version":"0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","impliedFormat":1},{"version":"316f1486e15cbf7896425f0a16dfe12d447dd57cfb3244b8b119c77df870858f","impliedFormat":99},{"version":"f2ee9c0f4e3e40fa79743b5bad3d085d41cf6854c68687737c00d3f6d0ed7941","impliedFormat":99},{"version":"90abb413e835f4b1651ada4f4bf4344b4da5e142f9e6886d94e728de6c744e63","impliedFormat":99},{"version":"402ac3b4c96c5718d18c00339c6e4c66ff0b1a0d8a166570107472342fd57e7a","impliedFormat":99},{"version":"6ea4bba07a3e2baf6a8d2cd823ed8d0e9d3da7c9314ca7b021fe2bf1a21c57f1","impliedFormat":99},{"version":"2ff609cb955a38120f7cf82c1c75e0a359b8f3e3b4f19ca1e6983eeea2f25f0f","impliedFormat":99},{"version":"fdf2c86d51a9b15a2b38f75d1c3f04428e5c2ef231dc636b815a8d614e71c33d","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"bd5c8232618c709f04c680137296771a0a9222e4760ff6fc70677c7acba2b40e","impliedFormat":99},{"version":"a4156e0a34cc733d97b5ef192a1bc8c985337c100dcf0e9dba3421f887ba7531","impliedFormat":99},{"version":"ab21498cc9c3434e5d72dede3ec195c94b992f2c37b2e8458e06503ae428d626","impliedFormat":99},{"version":"fc890cc6f3a154d69d133ac814d7c7484ea0cfa61f6e435320ac1cfb22cf6b25","impliedFormat":99},{"version":"8e759f5797c82cb8b75098ed472371537d9c96e7beb4794f7ffef8b6349e09bb","signature":"33039f6557774d3b82268b2bd148d32e384f56b99d465c8bb293ef109e837654","impliedFormat":99},{"version":"3e442c402123b264ccdf7123c1366e1473d9c39f5db69373e938284fc01c49ce","impliedFormat":99},{"version":"590595c1230ebb7c43ebac51b2b2da956a719b213355b4358e2a6b16a8b5936c","impliedFormat":1},{"version":"8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","impliedFormat":1},{"version":"a15c0df1ac9b2a4d833490522614fc57ae97d70a07bf4964a4d6bb73f3f56399","impliedFormat":99},{"version":"e4cead4a8596a6f051c36ef184f5fb6f117232eefdc1f98ef9847c9efc2c8911","impliedFormat":99},{"version":"df7225806785ade68c6cf2b1cf3ba0d1c7fed1ee7605f34e37d4a901f1d29fd2","impliedFormat":99},{"version":"6bf8a7596880ff1b8f8fd52ee8de8000df00c0c98adacb0b0af0e6a3f16cabe6","impliedFormat":99},{"version":"8af66ec621033f41ccb2bcee775e883c2649fa0db71192fe863185b0281082a6","impliedFormat":99},{"version":"9d4af7bde3e345d3071b5fefbece2d3482971aae89ded50f302c8cb246e81581","impliedFormat":99},{"version":"f3eb748185038bca941a02994b1b0b5803c0a2ce818b8a7d72a24a6b814f5d3e","impliedFormat":99},{"version":"2ba26b5ab00dd3495eeb733cdb46d939a8eb755a395a91169158cdf962aff6c3","impliedFormat":99},{"version":"2e1c22b413f96fd388774b174588816f4bd787486ecfe74f5bcb361dd6bfce50","impliedFormat":99},{"version":"6eefa861b6aa125e0f5f8ad9f2f5d9cebee21ecc5f78d4494faf47a637d6208c","signature":"6fe995c2a73841b3fcd30e41789898aca49aa8873554db00f6f14c12a60eeefa","impliedFormat":99},{"version":"b89053aec92890cb0d3b7b5a05ca6257f6d5905333d893f43385ab2a9ab34364","signature":"b57ec6acb613640c3e460f59b3b23d3c2a4721be9f2f401990ae18b9b1a7cf48","impliedFormat":99},{"version":"69798070e4c8f8553c7ed95b3210904b4448a2caf41d94e9f75a9f816691b1c7","signature":"ce1abe69f27b27079836681c6cdd68b7580e8ccbfe03e2707928241a9b244df5","impliedFormat":99},{"version":"d449ce520eee8d0c7a04bfa6b4843d3da18167e99b5a10d2d8b7a56262e93bd0","signature":"a5988ef9d5643ff7dc67acc7613caf97069e0940797458fe20c8eb6506aa7e7e","impliedFormat":99},{"version":"8979cf2b0fe41670907f0ae13662669f7da337a0daba83e4785a48cebf57888b","signature":"c61a685a451c7060951b9d1aea6d16d279a30c6c01de3afb2d01cdf11e87baed","impliedFormat":99},{"version":"f27aff9224b33ba1daaf332e1eab01475fd5221eac346d5c0b268a0dcd5dfe76","signature":"1d283a2b9afc40a8734a3e8b901fec2b965635d8c1cf889ff51797857ae0f8b1","impliedFormat":99},{"version":"8363eb809a2c2e07e4f7ce2d96e1ef995b4ffe7301049fe650f0c71fb14c7727","signature":"b3d9a80837694108b7698980d7f58913d6ed1883c610bb4e0947b15debd6bfd1","impliedFormat":99},{"version":"87a9a91c6edf6517501bea5052302b42b95d7f8ae76ebff4fc07e17f14e4dc39","signature":"a38041473a7082dffcbe3879593f424cafcaec4114f7024d0772612d85b2b595","impliedFormat":99},{"version":"7fb7e1c1820efcfc66a478e400e9b60546aaa3d5856a3f47a1f752b34c0e684b","signature":"18036d59518e53236d9c59440b5b98b8bd3c717e96b35074dd99ec73465c1156","impliedFormat":99},{"version":"19d8b14f61c343a6d6904a7ba0f367506c878e228ec0e1cd3ba71fc0a9bb49a1","signature":"df429fc17c447fc67d0390c2d78f838378786fbd0cc989b6948fc1cd7262c17a","impliedFormat":99},{"version":"925827c23b1fd251cc8ba72c900321426f89c8ae9e7fe85c228bde13ff281d39","signature":"86172af4524210fbeb025fcabea1268e78715fc0a420b916d6a8cd20934e7eeb","impliedFormat":99},{"version":"8db703ab718fba5f6263e2b414dbbb42b4f6f8202e55fd449820df0f69594e49","signature":"9f1bad9472cb60fb2bcd138efef4f1b613b91410f44fda0d830184ab06f4b8ef","impliedFormat":99},{"version":"4115aa147c5a64817fb55274b44087cbf1bc90f54906bfdfc9ee847a71cd91cf","impliedFormat":99},{"version":"599b42c2c7227d59788f9239a30b16e465e15127c7c4541d30b801c23ca681e6","impliedFormat":99},{"version":"072f583571d6e3d30cd9760ee3485d29484fb7b54ba772ac135c747a380096a1","impliedFormat":99},{"version":"7212c2d58855b8df35275180e97903a4b6093d4fbaefea863d8d028da63938c6","impliedFormat":99},{"version":"5bd0f306b4a9dc65bccf38d9295bc52720d2fa455e06f604529d981b5eb8d9dc","impliedFormat":99},{"version":"f30992084e86f4b4c223c558b187cb0a9e83071592bd830d8ff2a471ee2bf2d4","impliedFormat":99},{"version":"854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","impliedFormat":99},{"version":"dd9faff42b456b5f03b85d8fbd64838eb92f6f7b03b36322cbc59c005b7033d3","impliedFormat":99},{"version":"6ff702721d87c0ba8e7f8950e7b0a3b009dfd912fab3997e0b63fab8d83919c3","impliedFormat":99},{"version":"9dce9fc12e9a79d1135699d525aa6b44b71a45e32e3fa0cf331060b980b16317","impliedFormat":99},{"version":"586b2fd8a7d582329658aaceec22f8a5399e05013deb49bcfde28f95f093c8ee","impliedFormat":99},{"version":"59c44b081724d4ab8039988aba34ee6b3bd41c30fc2d8686f4ed06588397b2f7","impliedFormat":99},{"version":"ef1f3eadd7bed282de45bafd7c2c00105cf1db93e22f6cd763bec8a9c2cf6df1","impliedFormat":99},{"version":"3d8885d13f76ff35b7860039e83c936ff37553849707c2fd1d580d193a52be5b","impliedFormat":99},{"version":"a955c49e9dc38915d1a9860dc049a3b5fa46cb4e9b832ebcde89d96d6e68b8e3","impliedFormat":99},{"version":"34ef083384ae851ecb095f10fbea8ada8e47dd1a0991bf740e89d3cdda4c576d","signature":"a1bd754cf6b1b8e70370e8dbad7d4abd7d73178fa1e0eb1956f36ab72b5d7144","impliedFormat":99},{"version":"031883acc6ff25785c6b2b6b2287141608de7c6d78bbff672f2e4fa42d0fb6a1","signature":"72bde9177d6ecb7d2a45761aaa15ef458bf60bedd2071150f8b2c60445c3b115","impliedFormat":99},{"version":"3fec87d787741038993dfa5db5ef287cf2dc7a07187b3f10b5cdd88509addbe9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"a7a0f447cd9fef8b36c1f55038df6b2358d871c0e62ca302cf59eee1493db464","signature":"be79133144bff926c2ec3a838ec1d42fa7a3ca4556199654d047c6588e709ab5","impliedFormat":99},{"version":"10af6ab7f300b0efea1b97b67048a6bad016600d175654dae193ad46134287e7","signature":"90086ab58d5d9e95e55850554ca9e35850b6531e8ada7da93c4b61bdee2647ba","impliedFormat":99},{"version":"20666143132be33320b033fe7e995c3ce1dcd82585ec140bc833d2abe0bc927a","impliedFormat":99}],"root":[131,132,135,136,139,141,[144,155],[171,176]],"resolvedRoot":[[132,177],[135,178],[176,179],[136,180],[139,181],[141,182]],"options":{"composite":true,"declarationMap":true,"emitDeclarationOnly":false,"importHelpers":true,"module":199,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.lib.tsbuildinfo"},"referencedMap":[[137,1],[138,2],[52,3],[53,3],[55,4],[56,5],[57,6],[58,7],[59,8],[60,9],[61,10],[62,11],[63,12],[64,13],[65,13],[67,14],[66,15],[68,14],[69,16],[70,17],[54,18],[104,19],[71,20],[72,21],[73,22],[105,23],[74,24],[75,25],[76,26],[77,27],[78,28],[79,29],[80,30],[81,31],[82,32],[83,33],[84,33],[85,34],[86,35],[88,36],[87,37],[89,38],[90,39],[91,19],[92,40],[93,41],[94,42],[95,43],[96,44],[97,45],[98,46],[99,47],[100,48],[101,49],[102,50],[103,51],[106,52],[107,19],[156,53],[140,54],[134,55],[133,19],[49,56],[48,19],[46,19],[47,19],[8,19],[10,19],[9,19],[2,19],[11,19],[12,19],[13,19],[14,19],[15,19],[16,19],[17,19],[18,19],[3,19],[19,19],[20,19],[4,19],[21,19],[25,19],[22,19],[23,19],[24,19],[26,19],[27,19],[28,19],[5,19],[29,19],[30,19],[31,19],[32,19],[6,19],[36,19],[33,19],[34,19],[35,19],[37,19],[7,19],[38,19],[43,19],[44,19],[39,19],[40,19],[41,19],[42,19],[1,19],[45,19],[126,57],[117,58],[124,59],[119,19],[120,19],[118,60],[121,61],[113,19],[114,19],[125,62],[116,63],[122,19],[123,64],[115,65],[170,66],[112,67],[111,68],[110,19],[109,19],[108,19],[51,69],[50,19],[167,70],[168,71],[166,72],[169,73],[163,74],[164,75],[165,76],[157,19],[159,74],[160,74],[162,77],[161,74],[158,78],[147,79],[171,80],[172,81],[148,82],[173,83],[145,84],[174,85],[144,79],[149,86],[151,85],[175,85],[153,87],[150,85],[131,82],[155,88],[154,89],[146,90],[152,91],[129,19],[130,92],[128,93],[127,94],[132,19],[135,95],[143,96],[176,19],[136,19],[139,97],[142,19],[141,98]],"latestChangedDtsFile":"./utils/status-formatter.d.ts","version":"5.8.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../node_modules/commander/typings/index.d.ts","../node_modules/commander/typings/esm.d.mts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/ws/index.d.mts","../../../node_modules/birpc/dist/index.d.ts","../../bridge/dist/shared/test-runner.d.ts","../../bridge/dist/shared/test-collector.d.ts","../../bridge/dist/shared/bundler.d.ts","../../bridge/dist/shared.d.ts","../../bridge/dist/server.d.ts","../../bridge/dist/index.d.ts","../../../node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/zod/dist/types/index.d.ts","../../config/dist/types.d.ts","../../config/dist/reader.d.ts","../../config/dist/errors.d.ts","../../config/dist/index.d.ts","../src/platforms/platform-adapter.ts","../../tools/dist/abort.d.ts","../../../node_modules/picocolors/types.d.ts","../../../node_modules/picocolors/picocolors.d.ts","../../tools/dist/color.d.ts","../../tools/dist/logger.d.ts","../../../node_modules/@clack/core/dist/index.d.mts","../../../node_modules/@clack/prompts/dist/index.d.mts","../../tools/dist/prompts.d.ts","../../../node_modules/nano-spawn/source/index.d.ts","../../tools/dist/spawn.d.ts","../../tools/dist/react-native.d.ts","../../tools/dist/index.d.ts","../src/platforms/android/emulator.ts","../src/platforms/android/build.ts","../src/process.ts","../src/bundlers/metro.ts","../src/errors/errors.ts","../src/platforms/android/index.ts","../src/platforms/ios/simulator.ts","../src/platforms/ios/build.ts","../src/utils.ts","../src/platforms/ios/index.ts","../src/platforms/web/index.ts","../src/platforms/vega/device.ts","../src/platforms/vega/build.ts","../src/platforms/vega/index.ts","../src/platforms/platform-registry.ts","../../../node_modules/minipass/dist/esm/index.d.ts","../node_modules/lru-cache/dist/esm/index.d.ts","../node_modules/path-scurry/dist/esm/index.d.ts","../node_modules/minimatch/dist/esm/ast.d.ts","../node_modules/minimatch/dist/esm/escape.d.ts","../node_modules/minimatch/dist/esm/unescape.d.ts","../node_modules/minimatch/dist/esm/index.d.ts","../node_modules/glob/dist/esm/pattern.d.ts","../node_modules/glob/dist/esm/processor.d.ts","../node_modules/glob/dist/esm/walker.d.ts","../node_modules/glob/dist/esm/ignore.d.ts","../node_modules/glob/dist/esm/glob.d.ts","../node_modules/glob/dist/esm/has-magic.d.ts","../node_modules/glob/dist/esm/index.d.ts","../src/discovery/testdiscovery.ts","../src/discovery/index.ts","../src/commands/test.ts","../src/errors/errorhandler.ts","../src/index.ts","../src/platforms/android/device.ts","../src/platforms/ios/device.ts","../../tools/dist/isinteractive.d.ts","../../tools/src/abort.ts","../../tools/src/color.ts","../../tools/src/isinteractive.ts","../../tools/src/logger.ts","../../tools/src/prompts.ts","../../tools/src/spawn.ts"],"fileIdsList":[[83,86,98],[86,98,138],[52,98],[55,98],[56,61,89,98],[57,68,69,76,86,97,98],[57,58,68,76,98],[59,98],[60,61,69,77,98],[61,86,94,98],[62,64,68,76,98],[63,98],[64,65,98],[68,98],[66,68,98],[68,69,70,86,97,98],[68,69,70,83,86,89,98],[98,102],[98],[64,68,71,76,86,97,98],[68,69,71,72,76,86,94,97,98],[71,73,86,94,97,98],[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],[68,74,98],[75,97,98],[64,68,76,86,98],[77,98],[78,98],[55,79,98],[80,96,98,102],[81,98],[82,98],[68,83,84,98],[83,85,98,100],[56,68,86,87,88,89,98],[56,86,88,98],[86,87,98],[89,98],[90,98],[68,92,93,98],[92,93,98],[61,76,86,94,98],[95,98],[76,96,98],[56,71,82,97,98],[61,98],[86,98,99],[98,100],[98,101],[56,61,68,70,79,86,97,98,100,102],[86,98,103],[68,71,73,76,86,94,97,98,103,105],[68,90,98,105],[57,98],[98,134],[48,98],[98,126],[98,116,117],[98,114,115,116,118,119,124],[98,115,116],[98,124],[98,125],[98,116],[98,114,115,116,119,120,121,122,123],[98,114,115,126],[98,111],[98,106,107,111],[98,108,109,110],[50,98],[98,160,162,166,167,170],[98,171],[98,162,166,169],[98,160,162,166,169,170,171,172],[98,166],[98,162,166,167,169],[98,160,162,167,168,170],[98,163,164,165],[69,78,98,160,161],[49,57,98,144],[49,98,112,113,131,132,144,149,153,159,175],[49,98,174],[49,98,173],[49,98,131,149,153],[49,98,131],[49,51,69,78,97,98,144,176,177],[49,78,98,144],[49,98,144],[49,57,98,131,132,144,145,146,147,148,149],[49,98,131,132,147,148,149,151,152,153],[49,98,132,150,154,155,158],[49,98,131,132,144,147,148,149,156,157],[49,98,131,132],[49,57,98],[49,98],[98,128,129,130],[98,128],[98,127],[98,135],[98,133,136,137,140,142,143],[98,139],[98,141]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"1a2ae3df505891912038749a39e434643cf1f91a578475ae049f36e35c870c58","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},{"version":"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"f749812878fecfa53cfc13b36e5d35086fb6377983a9df44175da83ccc23af1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3","impliedFormat":1},{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true,"impliedFormat":1},{"version":"3719525a8f6ab731e3dfd585d9f87df55ec7d50d461df84f74eb4d68bb165244","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","impliedFormat":1},{"version":"4eaff3d8e10676fd7913d8c108890e71c688e1e7d52f6d1d55c39514f493dc47","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true,"impliedFormat":1},{"version":"3256f3cccd578f9e7fe3a28096c505634bebcee8afb738ffa99368e536ca3a0b","impliedFormat":1},{"version":"1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","impliedFormat":1},{"version":"7f138842074d0a40681775af008c8452093b68c383c94de31759e853c6d06b5c","impliedFormat":1},{"version":"a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","impliedFormat":1},{"version":"8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","impliedFormat":1},{"version":"2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58","impliedFormat":1},{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true,"impliedFormat":1},{"version":"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","impliedFormat":1},{"version":"7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","impliedFormat":1},{"version":"b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30","impliedFormat":1},{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","impliedFormat":1},{"version":"36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","impliedFormat":1},{"version":"0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7","impliedFormat":1},{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","impliedFormat":1},{"version":"1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true,"impliedFormat":1},{"version":"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","impliedFormat":1},{"version":"0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","impliedFormat":1},{"version":"316f1486e15cbf7896425f0a16dfe12d447dd57cfb3244b8b119c77df870858f","impliedFormat":99},{"version":"f2ee9c0f4e3e40fa79743b5bad3d085d41cf6854c68687737c00d3f6d0ed7941","impliedFormat":99},{"version":"90abb413e835f4b1651ada4f4bf4344b4da5e142f9e6886d94e728de6c744e63","impliedFormat":99},{"version":"402ac3b4c96c5718d18c00339c6e4c66ff0b1a0d8a166570107472342fd57e7a","impliedFormat":99},{"version":"6ea4bba07a3e2baf6a8d2cd823ed8d0e9d3da7c9314ca7b021fe2bf1a21c57f1","impliedFormat":99},{"version":"baccae37165c144feb452c2924e8b417bc7f670ef9f7418000b114fca27c2a76","impliedFormat":99},{"version":"fdf2c86d51a9b15a2b38f75d1c3f04428e5c2ef231dc636b815a8d614e71c33d","impliedFormat":99},{"version":"a955c49e9dc38915d1a9860dc049a3b5fa46cb4e9b832ebcde89d96d6e68b8e3","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"660f21d3493f03827b0c2a7e0504596c60337091f85268a2c62f5b11288b7b54","impliedFormat":99},{"version":"a4156e0a34cc733d97b5ef192a1bc8c985337c100dcf0e9dba3421f887ba7531","impliedFormat":99},{"version":"ab21498cc9c3434e5d72dede3ec195c94b992f2c37b2e8458e06503ae428d626","impliedFormat":99},{"version":"e7bff27324835403fa674a8df14e088793756d05b9d726ededcb1d04c5e18cd8","impliedFormat":99},{"version":"8e759f5797c82cb8b75098ed472371537d9c96e7beb4794f7ffef8b6349e09bb","signature":"33039f6557774d3b82268b2bd148d32e384f56b99d465c8bb293ef109e837654","impliedFormat":99},{"version":"3e442c402123b264ccdf7123c1366e1473d9c39f5db69373e938284fc01c49ce","impliedFormat":99},{"version":"590595c1230ebb7c43ebac51b2b2da956a719b213355b4358e2a6b16a8b5936c","impliedFormat":1},{"version":"8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","impliedFormat":1},{"version":"a15c0df1ac9b2a4d833490522614fc57ae97d70a07bf4964a4d6bb73f3f56399","impliedFormat":99},{"version":"e4cead4a8596a6f051c36ef184f5fb6f117232eefdc1f98ef9847c9efc2c8911","impliedFormat":99},{"version":"df7225806785ade68c6cf2b1cf3ba0d1c7fed1ee7605f34e37d4a901f1d29fd2","impliedFormat":99},{"version":"6bf8a7596880ff1b8f8fd52ee8de8000df00c0c98adacb0b0af0e6a3f16cabe6","impliedFormat":99},{"version":"8af66ec621033f41ccb2bcee775e883c2649fa0db71192fe863185b0281082a6","impliedFormat":99},{"version":"9d4af7bde3e345d3071b5fefbece2d3482971aae89ded50f302c8cb246e81581","impliedFormat":99},{"version":"f3eb748185038bca941a02994b1b0b5803c0a2ce818b8a7d72a24a6b814f5d3e","impliedFormat":99},{"version":"2ba26b5ab00dd3495eeb733cdb46d939a8eb755a395a91169158cdf962aff6c3","impliedFormat":99},{"version":"2e1c22b413f96fd388774b174588816f4bd787486ecfe74f5bcb361dd6bfce50","impliedFormat":99},{"version":"6eefa861b6aa125e0f5f8ad9f2f5d9cebee21ecc5f78d4494faf47a637d6208c","signature":"6fe995c2a73841b3fcd30e41789898aca49aa8873554db00f6f14c12a60eeefa","impliedFormat":99},{"version":"b89053aec92890cb0d3b7b5a05ca6257f6d5905333d893f43385ab2a9ab34364","signature":"b57ec6acb613640c3e460f59b3b23d3c2a4721be9f2f401990ae18b9b1a7cf48","impliedFormat":99},{"version":"69798070e4c8f8553c7ed95b3210904b4448a2caf41d94e9f75a9f816691b1c7","signature":"ce1abe69f27b27079836681c6cdd68b7580e8ccbfe03e2707928241a9b244df5","impliedFormat":99},{"version":"d449ce520eee8d0c7a04bfa6b4843d3da18167e99b5a10d2d8b7a56262e93bd0","signature":"a5988ef9d5643ff7dc67acc7613caf97069e0940797458fe20c8eb6506aa7e7e","impliedFormat":99},{"version":"65d444c35acdf790ccd83d47c7ded86a4b0a51db3880b3af1d2fed03e9e2c23b","signature":"5aa671bac3c1bf05da5dcddf4f150bb58afc35518c87f88ebce9357885a40fc9","impliedFormat":99},{"version":"aa7c032b5c30c2c13dd0206b14f8f0756d37439852c760ec710af819191ee55d","signature":"1d283a2b9afc40a8734a3e8b901fec2b965635d8c1cf889ff51797857ae0f8b1","impliedFormat":99},{"version":"8363eb809a2c2e07e4f7ce2d96e1ef995b4ffe7301049fe650f0c71fb14c7727","signature":"b3d9a80837694108b7698980d7f58913d6ed1883c610bb4e0947b15debd6bfd1","impliedFormat":99},{"version":"87a9a91c6edf6517501bea5052302b42b95d7f8ae76ebff4fc07e17f14e4dc39","signature":"a38041473a7082dffcbe3879593f424cafcaec4114f7024d0772612d85b2b595","impliedFormat":99},{"version":"7fb7e1c1820efcfc66a478e400e9b60546aaa3d5856a3f47a1f752b34c0e684b","signature":"18036d59518e53236d9c59440b5b98b8bd3c717e96b35074dd99ec73465c1156","impliedFormat":99},{"version":"19d8b14f61c343a6d6904a7ba0f367506c878e228ec0e1cd3ba71fc0a9bb49a1","signature":"df429fc17c447fc67d0390c2d78f838378786fbd0cc989b6948fc1cd7262c17a","impliedFormat":99},{"version":"925827c23b1fd251cc8ba72c900321426f89c8ae9e7fe85c228bde13ff281d39","signature":"86172af4524210fbeb025fcabea1268e78715fc0a420b916d6a8cd20934e7eeb","impliedFormat":99},{"version":"d2b464b6b7204294ad66d5fb55e2ed5fb74bc7d580e5e857c253f89fa5d664e3","signature":"e3eceffd5080b05aef4d544b49b264552e3d6f8fa39c6e17cd546392e4258512","impliedFormat":99},{"version":"ed0d8ae19bc3823cfcdc82c24c18135f202bcdf7bd59d473014eb4368c14ce54","signature":"e63e023f7078a2bb65721d92eec9f94cc84ea8f543ff827effb93380f3d519a6","impliedFormat":99},{"version":"0db0c616f30afc4f4fd485d37447345aebef85fc78f43c772b453fb76a1094a5","signature":"0de942d1fe7c89ef5657539595a493bb2848a38ee18a923e9ce31149f79c7cb5","impliedFormat":99},{"version":"f6ca246af9c3fcd5e55e37d19485ed9f09b621dda816ab1e6a119e06b487b74e","signature":"9f1bad9472cb60fb2bcd138efef4f1b613b91410f44fda0d830184ab06f4b8ef","impliedFormat":99},{"version":"4115aa147c5a64817fb55274b44087cbf1bc90f54906bfdfc9ee847a71cd91cf","impliedFormat":99},{"version":"599b42c2c7227d59788f9239a30b16e465e15127c7c4541d30b801c23ca681e6","impliedFormat":99},{"version":"072f583571d6e3d30cd9760ee3485d29484fb7b54ba772ac135c747a380096a1","impliedFormat":99},{"version":"7212c2d58855b8df35275180e97903a4b6093d4fbaefea863d8d028da63938c6","impliedFormat":99},{"version":"5bd0f306b4a9dc65bccf38d9295bc52720d2fa455e06f604529d981b5eb8d9dc","impliedFormat":99},{"version":"f30992084e86f4b4c223c558b187cb0a9e83071592bd830d8ff2a471ee2bf2d4","impliedFormat":99},{"version":"854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","impliedFormat":99},{"version":"dd9faff42b456b5f03b85d8fbd64838eb92f6f7b03b36322cbc59c005b7033d3","impliedFormat":99},{"version":"6ff702721d87c0ba8e7f8950e7b0a3b009dfd912fab3997e0b63fab8d83919c3","impliedFormat":99},{"version":"9dce9fc12e9a79d1135699d525aa6b44b71a45e32e3fa0cf331060b980b16317","impliedFormat":99},{"version":"586b2fd8a7d582329658aaceec22f8a5399e05013deb49bcfde28f95f093c8ee","impliedFormat":99},{"version":"59c44b081724d4ab8039988aba34ee6b3bd41c30fc2d8686f4ed06588397b2f7","impliedFormat":99},{"version":"ef1f3eadd7bed282de45bafd7c2c00105cf1db93e22f6cd763bec8a9c2cf6df1","impliedFormat":99},{"version":"3d8885d13f76ff35b7860039e83c936ff37553849707c2fd1d580d193a52be5b","impliedFormat":99},{"version":"34efd63b65c5d74cf42b79f03972a11e38732ec42fd6739ea40a02a60a4bc0a5","signature":"90681e8a5c06a3b897a55f73e0151496216b01ae7a0fca37d1b2faf2301a3787","impliedFormat":99},{"version":"4f28a22cd27b69f18e21547a55f0d3d2a10767892b26503710861021e00a25c5","impliedFormat":99},{"version":"f4b42fe08a324376ce562b1ad467fb88c18fa607b7bc269a624002ed54a20850","signature":"8cad195316ad6bd24f6ed597e19f9394e3241e4dde61e80cdf7e82726ddd3dc2","impliedFormat":99},{"version":"dded0d17ed4d42c387b2a575079861e269504f55f315ec4bf285334efc30a745","signature":"72bde9177d6ecb7d2a45761aaa15ef458bf60bedd2071150f8b2c60445c3b115","impliedFormat":99},{"version":"9bd8ea81b58e17cddd4f517da55ee5967b6cd6338e92cf9c2f298f9a53378ae9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"a7a0f447cd9fef8b36c1f55038df6b2358d871c0e62ca302cf59eee1493db464","signature":"be79133144bff926c2ec3a838ec1d42fa7a3ca4556199654d047c6588e709ab5","impliedFormat":99},{"version":"10af6ab7f300b0efea1b97b67048a6bad016600d175654dae193ad46134287e7","signature":"90086ab58d5d9e95e55850554ca9e35850b6531e8ada7da93c4b61bdee2647ba","impliedFormat":99},{"version":"20666143132be33320b033fe7e995c3ce1dcd82585ec140bc833d2abe0bc927a","impliedFormat":99}],"root":[132,133,136,137,140,142,[145,159],[174,181]],"resolvedRoot":[[133,182],[136,183],[181,184],[137,185],[140,186],[142,187]],"options":{"composite":true,"declarationMap":true,"emitDeclarationOnly":false,"importHelpers":true,"module":199,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.lib.tsbuildinfo"},"referencedMap":[[138,1],[139,2],[52,3],[53,3],[55,4],[56,5],[57,6],[58,7],[59,8],[60,9],[61,10],[62,11],[63,12],[64,13],[65,13],[67,14],[66,15],[68,14],[69,16],[70,17],[54,18],[104,19],[71,20],[72,21],[73,22],[105,23],[74,24],[75,25],[76,26],[77,27],[78,28],[79,29],[80,30],[81,31],[82,32],[83,33],[84,33],[85,34],[86,35],[88,36],[87,37],[89,38],[90,39],[91,19],[92,40],[93,41],[94,42],[95,43],[96,44],[97,45],[98,46],[99,47],[100,48],[101,49],[102,50],[103,51],[106,52],[107,19],[160,53],[141,54],[135,55],[134,19],[49,56],[48,19],[46,19],[47,19],[8,19],[10,19],[9,19],[2,19],[11,19],[12,19],[13,19],[14,19],[15,19],[16,19],[17,19],[18,19],[3,19],[19,19],[20,19],[4,19],[21,19],[25,19],[22,19],[23,19],[24,19],[26,19],[27,19],[28,19],[5,19],[29,19],[30,19],[31,19],[32,19],[6,19],[36,19],[33,19],[34,19],[35,19],[37,19],[7,19],[38,19],[43,19],[44,19],[39,19],[40,19],[41,19],[42,19],[1,19],[45,19],[127,57],[118,58],[125,59],[120,19],[121,19],[119,60],[122,61],[114,19],[115,19],[126,62],[117,63],[123,19],[124,64],[116,65],[113,66],[112,67],[111,68],[110,19],[109,19],[108,19],[51,69],[50,19],[171,70],[172,71],[170,72],[173,73],[167,74],[168,75],[169,76],[161,19],[163,74],[164,74],[166,77],[165,74],[162,78],[148,79],[176,80],[175,81],[174,82],[177,83],[149,84],[178,85],[146,86],[179,87],[145,79],[150,88],[152,87],[180,87],[154,89],[151,87],[132,84],[159,90],[157,86],[156,87],[158,91],[155,92],[147,93],[153,94],[130,19],[131,95],[129,96],[128,97],[133,19],[136,98],[144,99],[181,19],[137,19],[140,100],[143,19],[142,101]],"latestChangedDtsFile":"./platforms/vega/device.d.ts","version":"5.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-harness/cli",
3
- "version": "1.0.0-alpha.11",
3
+ "version": "1.0.0-alpha.13",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -10,9 +10,9 @@
10
10
  "glob": "^11.0.0",
11
11
  "playwright": "^1.53.2",
12
12
  "tslib": "^2.3.0",
13
- "@react-native-harness/bridge": "1.0.0-alpha.11",
14
- "@react-native-harness/tools": "1.0.0-alpha.11",
15
- "@react-native-harness/config": "1.0.0-alpha.11"
13
+ "@react-native-harness/bridge": "1.0.0-alpha.13",
14
+ "@react-native-harness/config": "1.0.0-alpha.13",
15
+ "@react-native-harness/tools": "1.0.0-alpha.13"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/node": "18.16.9"
@@ -2,20 +2,14 @@ import {
2
2
  getBridgeServer,
3
3
  type BridgeServer,
4
4
  } from '@react-native-harness/bridge/server';
5
+ import { TestExecutionOptions } from '@react-native-harness/bridge';
5
6
  import {
6
7
  Config,
7
8
  getConfig,
8
9
  TestRunnerConfig,
9
10
  } from '@react-native-harness/config';
10
11
  import { getPlatformAdapter } from '../platforms/platform-registry.js';
11
- import { Glob } from 'glob';
12
- import {
13
- intro,
14
- logger,
15
- outro,
16
- spinner,
17
- progress,
18
- } from '@react-native-harness/tools';
12
+ import { intro, logger, outro, spinner } from '@react-native-harness/tools';
19
13
  import { type Environment } from '../platforms/platform-adapter.js';
20
14
  import { BridgeTimeoutError } from '../errors/errors.js';
21
15
  import { assert } from '../utils.js';
@@ -26,6 +20,10 @@ import {
26
20
  RunnerNotFoundError,
27
21
  } from '../errors/errors.js';
28
22
  import { TestSuiteResult } from '@react-native-harness/bridge';
23
+ import {
24
+ discoverTestFiles,
25
+ type TestFilterOptions,
26
+ } from '../discovery/index.js';
29
27
 
30
28
  type TestRunContext = {
31
29
  config: Config;
@@ -87,34 +85,38 @@ const setupEnvironment = async (context: TestRunContext): Promise<void> => {
87
85
 
88
86
  const findTestFiles = async (
89
87
  context: TestRunContext,
90
- pattern?: string
88
+ options: TestFilterOptions = {}
91
89
  ): Promise<void> => {
92
90
  const discoverSpinner = spinner();
93
91
  discoverSpinner.start('Discovering tests');
94
92
 
95
- const globPattern = pattern || context.config.include;
96
- const glob = new Glob(globPattern, {
97
- cwd: context.projectRoot,
98
- });
99
- context.testFiles = await glob.walk();
93
+ context.testFiles = await discoverTestFiles(
94
+ context.projectRoot,
95
+ context.config.include,
96
+ options
97
+ );
98
+
100
99
  discoverSpinner.stop(`Found ${context.testFiles.length} test files`);
101
100
  };
102
101
 
103
- const runTests = async (context: TestRunContext): Promise<void> => {
102
+ const runTests = async (
103
+ context: TestRunContext,
104
+ options: TestFilterOptions = {}
105
+ ): Promise<void> => {
104
106
  const { bridge, environment, testFiles } = context;
105
107
  assert(bridge != null, 'Bridge not initialized');
106
108
  assert(environment != null, 'Environment not initialized');
107
109
  assert(testFiles != null, 'Test files not initialized');
108
110
 
109
- let runSpinner = progress({ style: 'block' });
111
+ let runSpinner = spinner();
110
112
  runSpinner.start('Running tests');
111
113
 
112
114
  let shouldRestart = false;
113
115
 
114
116
  for (const testFile of testFiles) {
115
117
  if (shouldRestart) {
116
- runSpinner = progress({ style: 'block' });
117
- runSpinner.message(`Restarting environment for next test file`);
118
+ runSpinner = spinner();
119
+ runSpinner.start(`Restarting environment for next test file`);
118
120
 
119
121
  await new Promise((resolve) => {
120
122
  bridge.once('ready', resolve);
@@ -132,10 +134,18 @@ const runTests = async (context: TestRunContext): Promise<void> => {
132
134
  );
133
135
  }
134
136
 
135
- const result = await client.runTests(testFile);
137
+ // Pass only testNamePattern to runtime (file filtering already done)
138
+ const executionOptions: TestExecutionOptions = {
139
+ testNamePattern: options.testNamePattern,
140
+ };
141
+
142
+ const result = await client.runTests(testFile, executionOptions);
136
143
  context.results = [...(context.results ?? []), ...result.suites];
137
144
  shouldRestart = true;
145
+ runSpinner.stop(`Test file ${testFile} completed`);
138
146
  }
147
+
148
+ runSpinner.stop('Tests completed');
139
149
  };
140
150
 
141
151
  const cleanUp = async (context: TestRunContext): Promise<void> => {
@@ -172,7 +182,7 @@ const hasFailedTests = (results: TestSuiteResult[]): boolean => {
172
182
 
173
183
  export const testCommand = async (
174
184
  runnerName?: string,
175
- pattern?: string
185
+ options: TestFilterOptions = {}
176
186
  ): Promise<void> => {
177
187
  intro('React Native Test Harness');
178
188
 
@@ -199,8 +209,8 @@ export const testCommand = async (
199
209
 
200
210
  try {
201
211
  await setupEnvironment(context);
202
- await findTestFiles(context, pattern);
203
- await runTests(context);
212
+ await findTestFiles(context, options);
213
+ await runTests(context, options);
204
214
 
205
215
  assert(context.results != null, 'Results not initialized');
206
216
  config.reporter?.report(context.results);
@@ -0,0 +1,2 @@
1
+ export { discoverTestFiles } from './testDiscovery.js';
2
+ export type { TestFilterOptions } from './testDiscovery.js';