@react-native-harness/metro 1.0.0-alpha.8 → 1.0.0-canary.1761046904277

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/README.md CHANGED
@@ -1,7 +1,26 @@
1
- # metro
1
+ ![harness-banner](https://react-native-harness.dev/harness-banner.jpg)
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
3
+ ### Metro Integration for React Native Harness
4
4
 
5
- ## Building
5
+ [![mit licence][license-badge]][license]
6
+ [![npm downloads][npm-downloads-badge]][npm-downloads]
7
+ [![Chat][chat-badge]][chat]
8
+ [![PRs Welcome][prs-welcome-badge]][prs-welcome]
6
9
 
7
- Run `nx build metro` to build the library.
10
+ Metro bundler integration that patches Metro configuration to enable test file bundling and execution in React Native environments with custom module system support.
11
+
12
+ ## Made with ❤️ at Callstack
13
+
14
+ `@react-native-harness/metro` is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Callstack][callstack-readme-with-love] is a group of React and React Native geeks, contact us at [hello@callstack.com](mailto:hello@callstack.com) if you need any help with these or just want to say hi!
15
+
16
+ Like the project? ⚛️ [Join the team](https://callstack.com/careers/?utm_campaign=Senior_RN&utm_source=github&utm_medium=readme) who does amazing stuff for clients and drives React Native Open Source! 🔥
17
+
18
+ [callstack-readme-with-love]: https://callstack.com/?utm_source=github.com&utm_medium=referral&utm_campaign=react-native-harness&utm_term=readme-with-love
19
+ [license-badge]: https://img.shields.io/npm/l/@react-native-harness/metro?style=for-the-badge
20
+ [license]: https://github.com/callstackincubator/react-native-harness/blob/main/LICENSE
21
+ [npm-downloads-badge]: https://img.shields.io/npm/dm/@react-native-harness/metro?style=for-the-badge
22
+ [npm-downloads]: https://www.npmjs.com/package/@react-native-harness/metro
23
+ [prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge
24
+ [prs-welcome]: ../../CONTRIBUTING.md
25
+ [chat-badge]: https://img.shields.io/discord/426714625279524876.svg?style=for-the-badge
26
+ [chat]: https://discord.gg/xgGt7KAjxv
@@ -0,0 +1,6 @@
1
+ import type { BabelTransformer } from 'metro-babel-transformer';
2
+ import { MetroConfig } from '@react-native/metro-config';
3
+ export declare const getHarnessBabelTransformerPath: (metroConfig: MetroConfig) => string;
4
+ declare const transform: BabelTransformer['transform'];
5
+ export { transform };
6
+ //# sourceMappingURL=babel-transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel-transformer.d.ts","sourceRoot":"","sources":["../src/babel-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,8BAA8B,GACzC,aAAa,WAAW,KACvB,MASF,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAoB5C,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.transform = exports.getHarnessBabelTransformerPath = void 0;
4
+ const babel_preset_1 = require('@react-native-harness/babel-preset');
5
+ const getHarnessBabelTransformerPath = (metroConfig) => {
6
+ const upstreamTransformerPath = metroConfig.transformer?.babelTransformerPath;
7
+ if (!upstreamTransformerPath || typeof upstreamTransformerPath !== 'string') {
8
+ throw new Error('Upstream transformer path is not a string');
9
+ }
10
+ process.env.RN_HARNESS_UPSTREAM_TRANSFORMER_PATH = upstreamTransformerPath;
11
+ return require.resolve('./babel-transformer.js');
12
+ };
13
+ exports.getHarnessBabelTransformerPath = getHarnessBabelTransformerPath;
14
+ const transform = (args) => {
15
+ const { plugins } = args;
16
+ const upstreamTransformerPath =
17
+ process.env.RN_HARNESS_UPSTREAM_TRANSFORMER_PATH;
18
+ if (!upstreamTransformerPath || typeof upstreamTransformerPath !== 'string') {
19
+ throw new Error('Upstream transformer path is not a string');
20
+ }
21
+ const upstreamTransformer = require(upstreamTransformerPath);
22
+ const pluginsWithHarness = [
23
+ // Checked against @babel/core's type definitions - plugins are an array of PluginItem
24
+ ...(plugins ?? []),
25
+ ...babel_preset_1.rnHarnessPlugins,
26
+ ];
27
+ return upstreamTransformer.transform({
28
+ ...args,
29
+ plugins: pluginsWithHarness,
30
+ });
31
+ };
32
+ exports.transform = transform;
@@ -0,0 +1,4 @@
1
+ import type { MetroConfig } from 'metro-config';
2
+ export type Serializer = NonNullable<NonNullable<MetroConfig['serializer']>['customSerializer']>;
3
+ export declare const getHarnessSerializer: () => Serializer;
4
+ //# sourceMappingURL=getHarnessSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHarnessSerializer.d.ts","sourceRoot":"","sources":["../src/getHarnessSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG,WAAW,CAClC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAC3D,CAAC;AAYF,eAAO,MAAM,oBAAoB,QAAO,UA6BvC,CAAC"}
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.getHarnessSerializer = void 0;
4
+ const getBaseSerializer = () => {
5
+ const baseJSBundle = require('metro/private/DeltaBundler/Serializers/baseJSBundle');
6
+ const bundleToString = require('metro/private/lib/bundleToString');
7
+ return (entryPoint, prepend, graph, bundleOptions) =>
8
+ bundleToString(baseJSBundle(entryPoint, prepend, graph, bundleOptions));
9
+ };
10
+ const getAllFiles = require('metro/private/DeltaBundler/Serializers/getAllFiles');
11
+ const getHarnessSerializer = () => {
12
+ const baseSerializer = getBaseSerializer();
13
+ let mainEntryPointModules = new Set();
14
+ return {
15
+ customSerializer: async (entryPoint, preModules, graph, options) => {
16
+ if (options.modulesOnly) {
17
+ console.log('modulesOnly');
18
+ // This is most likely a test file
19
+ return baseSerializer(entryPoint, preModules, graph, options);
20
+ }
21
+
22
+ console.log('collecting main entry point modules');
23
+ mainEntryPointModules = new Set(
24
+ await getAllFiles(preModules, graph, options)
25
+ );
26
+ return baseSerializer(entryPoint, preModules, graph, options);
27
+ },
28
+ processModuleFilter: (mod) => {
29
+ if (mainEntryPointModules.size === 0) {
30
+ // This is the first time we're collecting main entry point modules.
31
+ return true;
32
+ }
33
+
34
+ // If the module is in the main entry point, skip it
35
+ return !mainEntryPointModules.has(mod.path);
36
+ },
37
+ };
38
+ };
39
+ exports.getHarnessSerializer = getHarnessSerializer;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jest-globals-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest-globals-mock.d.ts","sourceRoot":"","sources":["../src/jest-globals-mock.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Mock module for @jest/globals imports
3
+ // This module throws immediately when imported to warn users about using Jest APIs
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ throw new Error("Importing '@jest/globals' is not supported in Harness tests. Import from 'react-native-harness' instead.");
@@ -0,0 +1,3 @@
1
+ import { Config as HarnessConfig } from '@react-native-harness/config';
2
+ export declare const getHarnessManifest: (harnessConfig: HarnessConfig) => string;
3
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAMvE,eAAO,MAAM,kBAAkB,GAAI,eAAe,aAAa,KAAG,MAWjE,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHarnessManifest = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
6
+ const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
7
+ const getManifestContent = (harnessConfig) => {
8
+ return `global.RN_HARNESS = { appRegistryComponentName: '${harnessConfig.appRegistryComponentName}' };`;
9
+ };
10
+ const getHarnessManifest = (harnessConfig) => {
11
+ const manifestContent = getManifestContent(harnessConfig);
12
+ const manifestPath = node_path_1.default.resolve(process.cwd(), 'node_modules/.cache/rn-harness/manifest.js');
13
+ node_fs_1.default.mkdirSync(node_path_1.default.dirname(manifestPath), { recursive: true });
14
+ node_fs_1.default.writeFileSync(manifestPath, manifestContent);
15
+ return manifestPath;
16
+ };
17
+ exports.getHarnessManifest = getHarnessManifest;
@@ -0,0 +1 @@
1
+ global.RN_HARNESS = { appRegistryComponentName: 'Playground' };
@@ -0,0 +1,6 @@
1
+ import type { MetroConfig } from '@react-native/metro-config';
2
+ import type { Config as HarnessConfig } from '@react-native-harness/config';
3
+ type CustomResolver = NonNullable<NonNullable<MetroConfig['resolver']>['resolveRequest']>;
4
+ export declare const getHarnessResolver: (metroConfig: MetroConfig, harnessConfig: HarnessConfig) => CustomResolver;
5
+ export {};
6
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE5E,KAAK,cAAc,GAAG,WAAW,CAC/B,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CACvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,aAAa,WAAW,EACxB,eAAe,aAAa,KAC3B,cAgCF,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHarnessResolver = void 0;
4
+ const getHarnessResolver = (metroConfig, harnessConfig) => {
5
+ // Can be relative to the project root or absolute, need to normalize it
6
+ const resolvedEntryPointPath = require.resolve(harnessConfig.entryPoint, {
7
+ paths: [process.cwd()],
8
+ });
9
+ return (context, moduleName, platform) => {
10
+ const existingResolver = metroConfig.resolver?.resolveRequest ?? context.resolveRequest;
11
+ const resolvedModule = existingResolver(context, moduleName, platform);
12
+ // Replace the entry point with Harness
13
+ if (resolvedModule.type === 'sourceFile' &&
14
+ resolvedModule.filePath === resolvedEntryPointPath) {
15
+ return {
16
+ type: 'sourceFile',
17
+ filePath: require.resolve('@react-native-harness/runtime/entry-point'),
18
+ };
19
+ }
20
+ // Intercept @jest/globals imports and redirect to mock module
21
+ if (moduleName === '@jest/globals') {
22
+ return {
23
+ type: 'sourceFile',
24
+ filePath: require.resolve('./jest-globals-mock'),
25
+ };
26
+ }
27
+ return resolvedModule;
28
+ };
29
+ };
30
+ exports.getHarnessResolver = getHarnessResolver;
@@ -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.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.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.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.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","../src/errors.ts","../../../node_modules/metro-cache/src/types.d.ts","../../../node_modules/metro-cache/src/cache.d.ts","../../../node_modules/metro-cache/src/stablehash.d.ts","../../../node_modules/metro-cache/src/stores/filestore.d.ts","../../../node_modules/metro-cache/src/stores/autocleanfilestore.d.ts","../../../node_modules/metro-cache/src/stores/httpstore.d.ts","../../../node_modules/metro-cache/src/stores/httpgetstore.d.ts","../../../node_modules/metro-cache/src/index.d.ts","../../../node_modules/metro/src/asset.d.ts","../../../node_modules/metro/src/modulegraph/worker/collectdependencies.d.ts","../../../node_modules/metro/src/lib/contextmodule.d.ts","../../../node_modules/metro/src/lib/countingset.d.ts","../../../node_modules/metro/src/deltabundler/graph.d.ts","../../../node_modules/metro-babel-transformer/src/index.d.ts","../../../node_modules/metro-source-map/src/source-map.d.ts","../../../node_modules/metro/src/deltabundler.d.ts","../../../node_modules/metro-transform-worker/src/index.d.ts","../../../node_modules/metro/src/deltabundler/types.d.ts","../../../node_modules/metro/node_modules/metro-resolver/src/types.d.ts","../../../node_modules/metro/node_modules/metro-resolver/src/index.d.ts","../../../node_modules/metro/src/shared/types.d.ts","../../../node_modules/metro/src/deltabundler/serializers/getrambundleinfo.d.ts","../../../node_modules/metro/src/lib/getgraphid.d.ts","../../../node_modules/metro/src/server/multipartresponse.d.ts","../../../node_modules/metro/src/deltabundler/worker.d.ts","../../../node_modules/metro/src/node-haste/dependencygraph.d.ts","../../../node_modules/metro/src/bundler.d.ts","../../../node_modules/metro/src/incrementalbundler.d.ts","../../../node_modules/metro/src/server.d.ts","../../../node_modules/metro-file-map/src/flow-types.d.ts","../../../node_modules/metro-file-map/src/cache/diskcachemanager.d.ts","../../../node_modules/metro-file-map/src/lib/duplicatehastecandidateserror.d.ts","../../../node_modules/metro-file-map/src/watcher.d.ts","../../../node_modules/metro-file-map/src/index.d.ts","../../../node_modules/metro/src/lib/reporting.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../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/metro-core/src/terminal.d.ts","../../../node_modules/metro-core/src/index.d.ts","../../../node_modules/metro/src/lib/terminalreporter.d.ts","../../../node_modules/metro/src/index.d.ts","../../../node_modules/metro-resolver/src/types.d.ts","../../../node_modules/metro-resolver/src/index.d.ts","../../../node_modules/metro-config/src/configtypes.d.ts","../../../node_modules/metro-config/src/defaults/index.d.ts","../../../node_modules/metro-config/src/loadconfig.d.ts","../../../node_modules/metro-config/src/index.d.ts","../../../node_modules/@react-native/metro-config/dist/index.d.ts","../src/modulesystem.ts","../src/withrnharness.ts","../src/index.ts"],"fileIdsList":[[144,161],[98,144],[101,144],[102,107,135,144],[103,114,115,122,132,143,144],[103,104,114,122,144],[105,144],[106,107,115,123,144],[107,132,140,144],[108,110,114,122,144],[109,144],[110,111,144],[114,144],[112,114,144],[114,115,116,132,143,144],[114,115,116,129,132,135,144],[144,148],[144],[110,114,117,122,132,143,144],[114,115,117,118,122,132,140,143,144],[117,119,132,140,143,144],[98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150],[114,120,144],[121,143,144],[110,114,122,132,144],[123,144],[124,144],[101,125,144],[126,142,144,148],[127,144],[128,144],[114,129,130,144],[129,131,144,146],[102,114,132,133,134,135,144],[102,132,134,144],[132,133,144],[135,144],[136,144],[114,138,139,144],[138,139,144],[107,122,132,140,144],[141,144],[122,142,144],[102,117,128,143,144],[107,144],[132,144,145],[144,146],[144,147],[102,107,114,116,125,132,143,144,146,148],[132,144,149],[96,144],[61,144],[61,62,63,64,65,66,67,144],[64,144],[66,144],[68,77,78,89,95,144,157],[144,158],[144,158,159,160],[144,151,152],[122,132,144],[90,144],[90,91,92,93,114,144],[144,156],[144,155],[74,75,76,78,144,155],[79,144],[76,85,86,114,144,161],[78,114,144],[78,144],[81,144],[70,71,72,73,77,144],[77,78,144],[76,78,81,83,87,144,161],[69,70,74,78,81,89,95,97,114,117,119,132,144,153,154,161],[70,144],[94,144],[95,144,153],[78,81,114,144,161],[69,74,80,81,82,83,84,88,117,144,161],[117,144],[74,75,77,78,80,144],[59,144],[59,144,164],[59,60,144],[59,144,162,163]],"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":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","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":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","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":"821760c39e6e411626405688a92ce72e1abc478b9e12fa768e5bb7a0c73ceecd","signature":"b23d0d7b9e5d2c85141760d7516e9f185cb3db81d33843cfa6d79d0259b86072","impliedFormat":1},{"version":"3233c9644f2a31c154d4c3aa022c8458b111e5ba6ccfd54a5c99a91e4d293f81","impliedFormat":1},{"version":"77db495a158c4c5a8f5b58e85a8a0a823ce04c48e4104bdeba8eeb025eb95919","impliedFormat":1},{"version":"8eeea5fcdf481a753368be0a6dca7cf7ddf383dcd28dd755fe2e5f1d2abe84e3","impliedFormat":1},{"version":"f6141eee76c2cd63c52fa5535cf87cd5ace8372eda0b70a26b19375bbc90e870","impliedFormat":1},{"version":"1f6d1d9bbadf1f1692b9a88c275f24bd26d7412b0648864e18c05547261da10e","impliedFormat":1},{"version":"2da1682383a902258cf283179251322e01ca295979ae5283cf79be715bdc6c28","impliedFormat":1},{"version":"e3be6fcbbb2c4f2fde2b354d4e3b0644174f4791c4695e89d4fe189ea1bc3e83","impliedFormat":1},{"version":"3f5438aae308365fc6ac36267a4175645dbb2f121045f44a918d185ec93614d5","impliedFormat":1},{"version":"3c382339a5a904bfd8800f62796540ffdf999737121d78d1634d6d94ac991103","impliedFormat":1},{"version":"7dc3d0b731cf61cd148ff3ba84c2f8dc1e67a5fa6d37d8b87fe20bf58c596c2d","impliedFormat":1},{"version":"fe876b60a79739a3c2a93e90c757efbddf8ea4c5a1f61e9627e365c2b4c3da7e","impliedFormat":1},{"version":"993fff6b142d505a11ff2be7479d303eb96c22c744f126396f623b64b97d3f88","impliedFormat":1},{"version":"1bd01b529241d527f4fdd6045c72bd2dcf5db796f6afc5a5bf55a846d97e47f0","impliedFormat":1},{"version":"9e6903b2e4f0ff21530ab16b7a776a48b10b28d75e4471ced3f61a613036f9d3","impliedFormat":1},{"version":"440534c8b76736b1b28cc613bd0c83cb01c6ce1f29ce71f72c4e9ba7f8117e57","impliedFormat":1},{"version":"7d3d8113e69549c00389422e6237b802b87db6dd1cd302b620d9d3e85ff9e3c6","impliedFormat":1},{"version":"9a5d9f211a9b9db9ddafcde0b3f9ce89759cde05f50660d0ae51f372e6282838","impliedFormat":1},{"version":"36d85cd9e1b4f34a126e657afba6a1923ee118b452f8ffa201e00ae7ab37a65d","impliedFormat":1},{"version":"2b463fdf41e30fd91cfe1f14517a210f5e0c3f8259cb56fd2869d6cda06dcf85","impliedFormat":1},{"version":"9dbd13c7962744eaef84ce69e188bd69ddd92a732f27ab5209915100c33954a6","impliedFormat":1},{"version":"c91e7bfb2bf960d7249a583582e887ffd4c455064a69d2088b3f9adb3b5afd62","impliedFormat":1},{"version":"3b122036043ac78ca75b4458201cc533252e19b26d0b4fda67362a1afb3ec3cf","impliedFormat":1},{"version":"6e5d84e3d4d4f7210613420bdb933ffd1b1b832be83c56a89fdf35baa865ea7c","impliedFormat":1},{"version":"6e0adb8fbec8466a44b9bd9d54673efbd7c405fb421145a17d2738125c4d5e34","impliedFormat":1},{"version":"216261db7393305b01bc93a24460ab170e3058ed09a19224e95b33013f5511f6","impliedFormat":1},{"version":"a5d39522f773d68c9ec270d5bee53706f42fe9e0e9c94c564ba9fe2778585fc8","impliedFormat":1},{"version":"ff20cbd6e6c5e08df3d0c44ca47c4fa93c5543ecc1d6c40c180897723ba1c425","impliedFormat":1},{"version":"13ba3564772785ad0056857c887373ad819aa064dc36d4623c58a92003d8ad42","impliedFormat":1},{"version":"f08417327f81211351b3a43c7d1c849aea01e3ab3fadab8a568a565fb0eac2f6","impliedFormat":1},{"version":"543272a1a5f96d99bfc8b27f128b67e3e6906070cf7137b246848a66140d65f8","impliedFormat":1},{"version":"50a3d5cec60738fc7b8ae2f62f38c04fc3883eafafea6c89494fe553f37b827c","impliedFormat":1},{"version":"09ae33cfdfe9cb6a6ff8fa4089901472540b520d67cbc5167d2d012e04858c59","impliedFormat":1},{"version":"73118fad655e8215ea089d2e3f1d9899ac57e265c28428d6e1bf62149991315a","impliedFormat":1},{"version":"639355b5c322951f60f3de38559c8803ba80175bd08b0e327dcbd56500bf817f","impliedFormat":1},{"version":"bfb103111161bdffd28a0df049e83c22b1ac27a986c4ea51d96bbfd0776d24e7","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1},{"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":"05baec6723150c8d4858f092ab8324d17d92125f0eeed833867cd4d3e2a068b4","impliedFormat":1},{"version":"9e14099da44bd15dd12b799c159f2c51fa08adfe6b3e56ec76b6688c9179e629","impliedFormat":1},{"version":"8048f230bec6b3ffe2439b28b4833df448fe08f4efe0e22af356aaf65bd26dbc","impliedFormat":1},{"version":"39d98b8909c2554a66151cf8bb0414cda50c22a20a055d79d09e6810e7cb1f35","impliedFormat":1},{"version":"8fbc3ac7fd2946afdd4f559c022be286645430c72fe38f43234515fbdcec191e","impliedFormat":1},{"version":"9dbd13c7962744eaef84ce69e188bd69ddd92a732f27ab5209915100c33954a6","impliedFormat":1},{"version":"8eb2861c279fdaa9f4b4bf2cab07428a7f412d7409eae928038fbbc2738edcc9","impliedFormat":1},{"version":"188fcf752b0b2d3b81f90f877783bb8c4571bcff74e6cef5011303725cb21f75","impliedFormat":1},{"version":"597346637c87a4b106d7d8dc589140e50a74778bfdadbc7cfcd685f94bf6287c","impliedFormat":1},{"version":"d58403e485c1d53f416485654556d6427871f3e1bc0411bb6387f240b73b4e70","impliedFormat":1},{"version":"33c7d716c35bcddd1ca9ad18611fd84f5146718a5afbea227cd35313707306fc","impliedFormat":1},{"version":"af61939393ba7d22b52a7418704f9eb7afea9d6b68fd4427ed6f553ea60cb8db","signature":"752737744d6f6453959defb47f587b91d5687fbfec3eb0642212b1b1433bb8ad","impliedFormat":1},{"version":"4fcbb51ee7e4691dc7ff52d5ba70e28862ba5f17d0a471330e61af258472bf31","signature":"baf3ee8c27735dca7bbe055767e897cfb0a66c0e57073e470af4483a88a8ab76","impliedFormat":1},{"version":"1fc8b8cd0231788a06453c4f93039ef51514f7592a8170a8dd677b0adcef6288","impliedFormat":1}],"root":[60,[163,165]],"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":[[162,1],[98,2],[99,2],[101,3],[102,4],[103,5],[104,6],[105,7],[106,8],[107,9],[108,10],[109,11],[110,12],[111,12],[113,13],[112,14],[114,13],[115,15],[116,16],[100,17],[150,18],[117,19],[118,20],[119,21],[151,22],[120,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,32],[130,32],[131,33],[132,34],[134,35],[133,36],[135,37],[136,38],[137,18],[138,39],[139,40],[140,41],[141,42],[142,43],[143,44],[144,45],[145,46],[146,47],[147,48],[148,49],[149,50],[96,18],[97,51],[74,18],[62,52],[68,53],[63,18],[65,54],[64,18],[67,55],[66,18],[61,18],[158,56],[159,57],[161,58],[160,57],[153,59],[152,60],[91,61],[90,1],[94,62],[92,61],[93,18],[157,63],[156,64],[75,18],[77,65],[80,66],[79,64],[69,18],[87,67],[76,68],[73,69],[82,70],[78,71],[85,72],[88,73],[155,74],[71,75],[72,18],[83,18],[95,76],[154,77],[70,18],[86,78],[89,79],[84,80],[81,81],[59,18],[57,18],[58,18],[11,18],[10,18],[2,18],[12,18],[13,18],[14,18],[15,18],[16,18],[17,18],[18,18],[19,18],[3,18],[20,18],[21,18],[4,18],[22,18],[26,18],[23,18],[24,18],[25,18],[27,18],[28,18],[29,18],[5,18],[30,18],[31,18],[32,18],[33,18],[6,18],[37,18],[34,18],[35,18],[36,18],[38,18],[7,18],[39,18],[44,18],[45,18],[40,18],[41,18],[42,18],[43,18],[8,18],[49,18],[46,18],[47,18],[48,18],[50,18],[9,18],[51,18],[52,18],[53,18],[55,18],[54,18],[1,18],[56,18],[60,82],[165,83],[163,84],[164,85]],"latestChangedDtsFile":"./moduleSystem.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.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.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.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.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/metro-babel-transformer/src/index.d.ts","../../babel-preset/dist/preset.d.ts","../../babel-preset/dist/index.d.ts","../../../node_modules/metro-cache/src/types.d.ts","../../../node_modules/metro-cache/src/cache.d.ts","../../../node_modules/metro-cache/src/stablehash.d.ts","../../../node_modules/metro-cache/src/stores/filestore.d.ts","../../../node_modules/metro-cache/src/stores/autocleanfilestore.d.ts","../../../node_modules/metro-cache/src/stores/httpstore.d.ts","../../../node_modules/metro-cache/src/stores/httpgetstore.d.ts","../../../node_modules/metro-cache/src/index.d.ts","../../../node_modules/metro/src/asset.d.ts","../../../node_modules/metro/src/modulegraph/worker/collectdependencies.d.ts","../../../node_modules/metro/src/lib/contextmodule.d.ts","../../../node_modules/metro/src/lib/countingset.d.ts","../../../node_modules/metro/src/deltabundler/graph.d.ts","../../../node_modules/metro-source-map/src/source-map.d.ts","../../../node_modules/metro/src/deltabundler.d.ts","../../../node_modules/metro-transform-worker/src/index.d.ts","../../../node_modules/metro/src/deltabundler/types.d.ts","../../../node_modules/metro/node_modules/metro-resolver/src/types.d.ts","../../../node_modules/metro/node_modules/metro-resolver/src/index.d.ts","../../../node_modules/metro/src/shared/types.d.ts","../../../node_modules/metro/src/deltabundler/serializers/getrambundleinfo.d.ts","../../../node_modules/metro/src/lib/getgraphid.d.ts","../../../node_modules/metro/src/server/multipartresponse.d.ts","../../../node_modules/metro/src/deltabundler/worker.d.ts","../../../node_modules/metro/src/node-haste/dependencygraph.d.ts","../../../node_modules/metro/src/bundler.d.ts","../../../node_modules/metro/src/incrementalbundler.d.ts","../../../node_modules/metro/src/server.d.ts","../../../node_modules/metro-file-map/src/flow-types.d.ts","../../../node_modules/metro-file-map/src/cache/diskcachemanager.d.ts","../../../node_modules/metro-file-map/src/lib/duplicatehastecandidateserror.d.ts","../../../node_modules/metro-file-map/src/watcher.d.ts","../../../node_modules/metro-file-map/src/index.d.ts","../../../node_modules/metro/src/lib/reporting.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../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/metro-core/src/terminal.d.ts","../../../node_modules/metro-core/src/index.d.ts","../../../node_modules/metro/src/lib/terminalreporter.d.ts","../../../node_modules/metro/src/index.d.ts","../../../node_modules/metro-resolver/src/types.d.ts","../../../node_modules/metro-resolver/src/index.d.ts","../../../node_modules/metro-config/src/configtypes.d.ts","../../../node_modules/metro-config/src/defaults/index.d.ts","../../../node_modules/metro-config/src/loadconfig.d.ts","../../../node_modules/metro-config/src/index.d.ts","../../../node_modules/@react-native/metro-config/dist/index.d.ts","../src/babel-transformer.ts","../src/errors.ts","../src/getharnessserializer.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/modulesystem.ts","../src/resolver.ts","../src/manifest.ts","../src/withrnharness.ts","../src/index.ts","../src/jest-globals-mock.ts"],"fileIdsList":[[145,162],[99,145],[102,145],[103,108,136,145],[104,115,116,123,133,144,145],[104,105,115,123,145],[106,145],[107,108,116,124,145],[108,133,141,145],[109,111,115,123,145],[110,145],[111,112,145],[115,145],[113,115,145],[115,116,117,133,144,145],[115,116,117,130,133,136,145],[145,149],[145],[111,115,118,123,133,144,145],[115,116,118,119,123,133,141,144,145],[118,120,133,141,144,145],[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151],[115,121,145],[122,144,145],[111,115,123,133,145],[124,145],[125,145],[102,126,145],[127,143,145,149],[128,145],[129,145],[115,130,131,145],[130,132,145,147],[103,115,133,134,135,136,145],[103,133,135,145],[133,134,145],[136,145],[137,145],[115,139,140,145],[139,140,145],[108,123,133,141,145],[142,145],[123,143,145],[103,118,129,144,145],[108,145],[133,145,146],[145,147],[145,148],[103,108,115,117,126,133,144,145,147,149],[133,145,150],[97,145],[63,145],[63,64,65,66,67,68,69,145],[66,145],[68,145],[70,78,79,90,96,145,158],[145,159],[145,159,160,161],[145,152,153],[123,133,145],[91,145],[91,92,93,94,115,145],[145,157],[145,156],[60,76,77,79,145,156],[80,145],[77,86,87,115,145,162],[79,115,145],[79,145],[82,145],[72,73,74,75,78,145],[78,79,145],[77,79,82,84,88,145,162],[60,71,72,79,82,90,96,98,115,118,120,133,145,154,155,162],[72,145],[95,145],[96,145,154],[79,82,115,145,162],[60,71,81,82,83,84,85,89,118,145,162],[118,145],[60,76,78,79,81,145],[145,179],[145,169,170],[145,167,168,169,171,172,177],[145,168,169],[145,177],[145,178],[145,169],[145,167,168,169,172,173,174,175,176],[145,167,168,179],[61,145],[145,181,182,183],[145,181],[145,180],[59,60,62,145,163],[59,145],[59,145,162],[59,145,188],[59,116,125,145,184],[59,145,165],[59,145,163,184],[59,145,163,164,184,185,186,187]],"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":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","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":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","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":"9e6903b2e4f0ff21530ab16b7a776a48b10b28d75e4471ced3f61a613036f9d3","impliedFormat":1},{"version":"a7360c72a2db672abe454a40056c67ba2b512712c64ae3018b8a915f97db4fcc","impliedFormat":1},{"version":"2d9303d3b461362cb1d9bf4e7d5fed4cfd66e325c5659bf13ed8f86939ab8c89","impliedFormat":1},{"version":"3233c9644f2a31c154d4c3aa022c8458b111e5ba6ccfd54a5c99a91e4d293f81","impliedFormat":1},{"version":"77db495a158c4c5a8f5b58e85a8a0a823ce04c48e4104bdeba8eeb025eb95919","impliedFormat":1},{"version":"8eeea5fcdf481a753368be0a6dca7cf7ddf383dcd28dd755fe2e5f1d2abe84e3","impliedFormat":1},{"version":"f6141eee76c2cd63c52fa5535cf87cd5ace8372eda0b70a26b19375bbc90e870","impliedFormat":1},{"version":"1f6d1d9bbadf1f1692b9a88c275f24bd26d7412b0648864e18c05547261da10e","impliedFormat":1},{"version":"2da1682383a902258cf283179251322e01ca295979ae5283cf79be715bdc6c28","impliedFormat":1},{"version":"e3be6fcbbb2c4f2fde2b354d4e3b0644174f4791c4695e89d4fe189ea1bc3e83","impliedFormat":1},{"version":"3f5438aae308365fc6ac36267a4175645dbb2f121045f44a918d185ec93614d5","impliedFormat":1},{"version":"3c382339a5a904bfd8800f62796540ffdf999737121d78d1634d6d94ac991103","impliedFormat":1},{"version":"7dc3d0b731cf61cd148ff3ba84c2f8dc1e67a5fa6d37d8b87fe20bf58c596c2d","impliedFormat":1},{"version":"fe876b60a79739a3c2a93e90c757efbddf8ea4c5a1f61e9627e365c2b4c3da7e","impliedFormat":1},{"version":"993fff6b142d505a11ff2be7479d303eb96c22c744f126396f623b64b97d3f88","impliedFormat":1},{"version":"1bd01b529241d527f4fdd6045c72bd2dcf5db796f6afc5a5bf55a846d97e47f0","impliedFormat":1},{"version":"440534c8b76736b1b28cc613bd0c83cb01c6ce1f29ce71f72c4e9ba7f8117e57","impliedFormat":1},{"version":"7d3d8113e69549c00389422e6237b802b87db6dd1cd302b620d9d3e85ff9e3c6","impliedFormat":1},{"version":"9a5d9f211a9b9db9ddafcde0b3f9ce89759cde05f50660d0ae51f372e6282838","impliedFormat":1},{"version":"36d85cd9e1b4f34a126e657afba6a1923ee118b452f8ffa201e00ae7ab37a65d","impliedFormat":1},{"version":"2b463fdf41e30fd91cfe1f14517a210f5e0c3f8259cb56fd2869d6cda06dcf85","impliedFormat":1},{"version":"9dbd13c7962744eaef84ce69e188bd69ddd92a732f27ab5209915100c33954a6","impliedFormat":1},{"version":"c91e7bfb2bf960d7249a583582e887ffd4c455064a69d2088b3f9adb3b5afd62","impliedFormat":1},{"version":"3b122036043ac78ca75b4458201cc533252e19b26d0b4fda67362a1afb3ec3cf","impliedFormat":1},{"version":"6e5d84e3d4d4f7210613420bdb933ffd1b1b832be83c56a89fdf35baa865ea7c","impliedFormat":1},{"version":"6e0adb8fbec8466a44b9bd9d54673efbd7c405fb421145a17d2738125c4d5e34","impliedFormat":1},{"version":"216261db7393305b01bc93a24460ab170e3058ed09a19224e95b33013f5511f6","impliedFormat":1},{"version":"a5d39522f773d68c9ec270d5bee53706f42fe9e0e9c94c564ba9fe2778585fc8","impliedFormat":1},{"version":"ff20cbd6e6c5e08df3d0c44ca47c4fa93c5543ecc1d6c40c180897723ba1c425","impliedFormat":1},{"version":"13ba3564772785ad0056857c887373ad819aa064dc36d4623c58a92003d8ad42","impliedFormat":1},{"version":"f08417327f81211351b3a43c7d1c849aea01e3ab3fadab8a568a565fb0eac2f6","impliedFormat":1},{"version":"543272a1a5f96d99bfc8b27f128b67e3e6906070cf7137b246848a66140d65f8","impliedFormat":1},{"version":"50a3d5cec60738fc7b8ae2f62f38c04fc3883eafafea6c89494fe553f37b827c","impliedFormat":1},{"version":"09ae33cfdfe9cb6a6ff8fa4089901472540b520d67cbc5167d2d012e04858c59","impliedFormat":1},{"version":"73118fad655e8215ea089d2e3f1d9899ac57e265c28428d6e1bf62149991315a","impliedFormat":1},{"version":"639355b5c322951f60f3de38559c8803ba80175bd08b0e327dcbd56500bf817f","impliedFormat":1},{"version":"bfb103111161bdffd28a0df049e83c22b1ac27a986c4ea51d96bbfd0776d24e7","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1},{"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":"05baec6723150c8d4858f092ab8324d17d92125f0eeed833867cd4d3e2a068b4","impliedFormat":1},{"version":"9e14099da44bd15dd12b799c159f2c51fa08adfe6b3e56ec76b6688c9179e629","impliedFormat":1},{"version":"8048f230bec6b3ffe2439b28b4833df448fe08f4efe0e22af356aaf65bd26dbc","impliedFormat":1},{"version":"39d98b8909c2554a66151cf8bb0414cda50c22a20a055d79d09e6810e7cb1f35","impliedFormat":1},{"version":"8fbc3ac7fd2946afdd4f559c022be286645430c72fe38f43234515fbdcec191e","impliedFormat":1},{"version":"9dbd13c7962744eaef84ce69e188bd69ddd92a732f27ab5209915100c33954a6","impliedFormat":1},{"version":"8eb2861c279fdaa9f4b4bf2cab07428a7f412d7409eae928038fbbc2738edcc9","impliedFormat":1},{"version":"188fcf752b0b2d3b81f90f877783bb8c4571bcff74e6cef5011303725cb21f75","impliedFormat":1},{"version":"597346637c87a4b106d7d8dc589140e50a74778bfdadbc7cfcd685f94bf6287c","impliedFormat":1},{"version":"d58403e485c1d53f416485654556d6427871f3e1bc0411bb6387f240b73b4e70","impliedFormat":1},{"version":"33c7d716c35bcddd1ca9ad18611fd84f5146718a5afbea227cd35313707306fc","impliedFormat":1},{"version":"f95a7bec0fedb828525741f0c71e41137a6d47586c5053d6897fca9487ea8d52","signature":"2389c4263f6fa01e2370e41ca22e55a1b0db2826f733ee17146944da5dc55d82","impliedFormat":1},{"version":"821760c39e6e411626405688a92ce72e1abc478b9e12fa768e5bb7a0c73ceecd","signature":"b23d0d7b9e5d2c85141760d7516e9f185cb3db81d33843cfa6d79d0259b86072","impliedFormat":1},{"version":"f985bcd2e7929431cdfa9638d5aca39b241ef3c69baa3e2612d8fce480597f00","signature":"1de2077c0d942cac8334f58a8e84bf3ec5e0771e079415810f9a77fd99a30c86","impliedFormat":1},{"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":"a90cb171216558c8e13a8c9980535ce1b56eabd8168f25ddc99315b21cec9756","impliedFormat":99},{"version":"a4156e0a34cc733d97b5ef192a1bc8c985337c100dcf0e9dba3421f887ba7531","impliedFormat":99},{"version":"ab21498cc9c3434e5d72dede3ec195c94b992f2c37b2e8458e06503ae428d626","impliedFormat":99},{"version":"e7bff27324835403fa674a8df14e088793756d05b9d726ededcb1d04c5e18cd8","impliedFormat":99},{"version":"af61939393ba7d22b52a7418704f9eb7afea9d6b68fd4427ed6f553ea60cb8db","signature":"752737744d6f6453959defb47f587b91d5687fbfec3eb0642212b1b1433bb8ad","impliedFormat":1},{"version":"19cdcd2f24deaf754d1239034b807485c1f990571a89f835ba21c8c73f64149b","signature":"ef707d83c9c721f17a05354ba0446c51bb155a31a90c50a9aff9f09584e92184","impliedFormat":1},{"version":"398911babab7bb232bf172ea627cf9ae96b0e5329d5cdddad203f55c1da77b46","signature":"ea519bf006fc176a046c6c33336d6e22664a5cd5b0f6d95e196ebc43eccccb35","impliedFormat":1},{"version":"101faa5789f4039e60375d3fa1c3270b456fb8a2d6c4ae856f4e3e858458e973","signature":"d54e78e59142d91d20ec7dc90185689da3b559ac9ae1fcd54db25b2f527d2ce5","impliedFormat":1},{"version":"1fc8b8cd0231788a06453c4f93039ef51514f7592a8170a8dd677b0adcef6288","impliedFormat":1},{"version":"ce504ae5fe5da433079d26ede79a333c75fcd6ee6efabd9c0348300504d29270","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1}],"root":[[164,166],[185,190]],"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":[[163,1],[99,2],[100,2],[102,3],[103,4],[104,5],[105,6],[106,7],[107,8],[108,9],[109,10],[110,11],[111,12],[112,12],[114,13],[113,14],[115,13],[116,15],[117,16],[101,17],[151,18],[118,19],[119,20],[120,21],[152,22],[121,23],[122,24],[123,25],[124,26],[125,27],[126,28],[127,29],[128,30],[129,31],[130,32],[131,32],[132,33],[133,34],[135,35],[134,36],[136,37],[137,38],[138,18],[139,39],[140,40],[141,41],[142,42],[143,43],[144,44],[145,45],[146,46],[147,47],[148,48],[149,49],[150,50],[97,18],[98,51],[60,18],[64,52],[70,53],[65,18],[67,54],[66,18],[69,55],[68,18],[63,18],[159,56],[160,57],[162,58],[161,57],[154,59],[153,60],[92,61],[91,1],[95,62],[93,61],[94,18],[158,63],[157,64],[76,18],[78,65],[81,66],[80,64],[71,18],[88,67],[77,68],[75,69],[83,70],[79,71],[86,72],[89,73],[156,74],[73,75],[74,18],[84,18],[96,76],[155,77],[72,18],[87,78],[90,79],[85,80],[82,81],[59,18],[57,18],[58,18],[11,18],[10,18],[2,18],[12,18],[13,18],[14,18],[15,18],[16,18],[17,18],[18,18],[19,18],[3,18],[20,18],[21,18],[4,18],[22,18],[26,18],[23,18],[24,18],[25,18],[27,18],[28,18],[29,18],[5,18],[30,18],[31,18],[32,18],[33,18],[6,18],[37,18],[34,18],[35,18],[36,18],[38,18],[7,18],[39,18],[44,18],[45,18],[40,18],[41,18],[42,18],[43,18],[8,18],[49,18],[46,18],[47,18],[48,18],[50,18],[9,18],[51,18],[52,18],[53,18],[55,18],[54,18],[1,18],[56,18],[180,82],[171,83],[178,84],[173,18],[174,18],[172,85],[175,86],[167,18],[168,18],[179,87],[170,88],[176,18],[177,89],[169,90],[62,91],[61,18],[183,18],[184,92],[182,93],[181,94],[164,95],[165,96],[166,97],[189,98],[190,96],[187,99],[185,100],[186,101],[188,102]],"latestChangedDtsFile":"./jest-globals-mock.d.ts","version":"5.8.3"}
@@ -1,5 +1,3 @@
1
1
  import { MetroConfig } from '@react-native/metro-config';
2
- export declare const withRnHarness: (config: MetroConfig, options?: {
3
- enabled: boolean;
4
- }) => MetroConfig;
2
+ export declare const withRnHarness: (config: MetroConfig | Promise<MetroConfig>) => Promise<MetroConfig>;
5
3
  //# sourceMappingURL=withRnHarness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withRnHarness.d.ts","sourceRoot":"","sources":["../src/withRnHarness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,eAAO,MAAM,aAAa,GACxB,QAAQ,WAAW,EACnB;;CAA+C,KAC9C,WAuBF,CAAC"}
1
+ {"version":3,"file":"withRnHarness.d.ts","sourceRoot":"","sources":["../src/withRnHarness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAOzD,eAAO,MAAM,aAAa,GACxB,QAAQ,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KACzC,OAAO,CAAC,WAAW,CA6CrB,CAAC"}
@@ -1,27 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withRnHarness = void 0;
4
+ const config_1 = require("@react-native-harness/config");
4
5
  const moduleSystem_1 = require("./moduleSystem");
5
- const withRnHarness = (config, options = { enabled: !!process.env.RN_HARNESS }) => {
6
- if (!options.enabled) {
6
+ const resolver_1 = require("./resolver");
7
+ const manifest_1 = require("./manifest");
8
+ const babel_transformer_1 = require("./babel-transformer");
9
+ const withRnHarness = async (config) => {
10
+ const isEnabled = !!process.env.RN_HARNESS;
11
+ if (!isEnabled) {
7
12
  return config;
8
13
  }
14
+ const metroConfig = await config;
15
+ const { config: harnessConfig } = await (0, config_1.getConfig)(process.cwd());
9
16
  (0, moduleSystem_1.patchModuleSystem)();
10
- return {
11
- ...config,
17
+ const harnessResolver = (0, resolver_1.getHarnessResolver)(metroConfig, harnessConfig);
18
+ const harnessManifest = (0, manifest_1.getHarnessManifest)(harnessConfig);
19
+ const harnessBabelTransformerPath = (0, babel_transformer_1.getHarnessBabelTransformerPath)(metroConfig);
20
+ const patchedConfig = {
21
+ ...metroConfig,
12
22
  cacheVersion: 'react-native-harness',
13
23
  serializer: {
14
- ...config.serializer,
24
+ ...metroConfig.serializer,
15
25
  getPolyfills: (...args) => [
16
- ...(config.serializer?.getPolyfills?.(...args) ?? []),
17
- require.resolve('../assets/init.js'),
26
+ ...(metroConfig.serializer?.getPolyfills?.(...args) ?? []),
27
+ harnessManifest,
18
28
  ],
19
29
  },
20
30
  resolver: {
21
- ...config.resolver,
31
+ ...metroConfig.resolver,
22
32
  // Unlock __tests__ directory
23
33
  blockList: undefined,
34
+ resolveRequest: harnessResolver,
35
+ },
36
+ transformer: {
37
+ ...metroConfig.transformer,
38
+ babelTransformerPath: harnessBabelTransformerPath,
24
39
  },
25
40
  };
41
+ if (harnessConfig.unstable__skipAlreadyIncludedModules) {
42
+ patchedConfig.serializer.customSerializer =
43
+ require('./getHarnessSerializer').getHarnessSerializer();
44
+ }
45
+ return patchedConfig;
26
46
  };
27
47
  exports.withRnHarness = withRnHarness;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-harness/metro",
3
- "version": "1.0.0-alpha.8",
3
+ "version": "1.0.0-canary.1761046904277",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -14,10 +14,16 @@
14
14
  "default": "./dist/index.js"
15
15
  }
16
16
  },
17
+ "peerDependencies": {
18
+ "@react-native-harness/runtime": "1.0.0-canary.1761046904277"
19
+ },
17
20
  "dependencies": {
18
- "tslib": "^2.3.0"
21
+ "tslib": "^2.3.0",
22
+ "@react-native-harness/config": "1.0.0-canary.1761046904277",
23
+ "@react-native-harness/babel-preset": "1.0.0-canary.1761046904277"
19
24
  },
20
25
  "devDependencies": {
21
26
  "@types/babel__core": "^7.20.5"
22
- }
27
+ },
28
+ "license": "MIT"
23
29
  }
@@ -0,0 +1,40 @@
1
+ import type { BabelTransformer } from 'metro-babel-transformer';
2
+ import { rnHarnessPlugins } from '@react-native-harness/babel-preset';
3
+ import { MetroConfig } from '@react-native/metro-config';
4
+
5
+ export const getHarnessBabelTransformerPath = (
6
+ metroConfig: MetroConfig
7
+ ): string => {
8
+ const upstreamTransformerPath = metroConfig.transformer?.babelTransformerPath;
9
+
10
+ if (!upstreamTransformerPath || typeof upstreamTransformerPath !== 'string') {
11
+ throw new Error('Upstream transformer path is not a string');
12
+ }
13
+
14
+ process.env.RN_HARNESS_UPSTREAM_TRANSFORMER_PATH = upstreamTransformerPath;
15
+ return require.resolve('./babel-transformer.js');
16
+ };
17
+
18
+ const transform: BabelTransformer['transform'] = (args) => {
19
+ const { plugins } = args;
20
+ const upstreamTransformerPath =
21
+ process.env.RN_HARNESS_UPSTREAM_TRANSFORMER_PATH;
22
+
23
+ if (!upstreamTransformerPath || typeof upstreamTransformerPath !== 'string') {
24
+ throw new Error('Upstream transformer path is not a string');
25
+ }
26
+
27
+ const upstreamTransformer = require(upstreamTransformerPath);
28
+ const pluginsWithHarness = [
29
+ // Checked against @babel/core's type definitions - plugins are an array of PluginItem
30
+ ...((plugins as unknown[]) ?? []),
31
+ ...rnHarnessPlugins,
32
+ ];
33
+
34
+ return upstreamTransformer.transform({
35
+ ...args,
36
+ plugins: pluginsWithHarness,
37
+ });
38
+ };
39
+
40
+ export { transform };
@@ -0,0 +1,46 @@
1
+ import type { MetroConfig } from 'metro-config';
2
+
3
+ export type Serializer = NonNullable<
4
+ NonNullable<MetroConfig['serializer']>['customSerializer']
5
+ >;
6
+
7
+ const getBaseSerializer = (): Serializer => {
8
+ const baseJSBundle = require('metro/private/DeltaBundler/Serializers/baseJSBundle');
9
+ const bundleToString = require('metro/private/lib/bundleToString');
10
+
11
+ return (entryPoint, prepend, graph, bundleOptions) =>
12
+ bundleToString(baseJSBundle(entryPoint, prepend, graph, bundleOptions));
13
+ };
14
+
15
+ const getAllFiles = require('metro/private/DeltaBundler/Serializers/getAllFiles');
16
+
17
+ export const getHarnessSerializer = (): Serializer => {
18
+ const baseSerializer = getBaseSerializer();
19
+ let mainEntryPointModules = new Set<string>();
20
+
21
+ return async (entryPoint, preModules, graph, options) => {
22
+ if (options.modulesOnly) {
23
+ // This is most likely a test file
24
+ return baseSerializer(entryPoint, preModules, graph, {
25
+ ...options,
26
+ processModuleFilter: (mod) => {
27
+ if (
28
+ options.processModuleFilter &&
29
+ !options.processModuleFilter(mod)
30
+ ) {
31
+ // If the module is not allowed by the processModuleFilter, skip it
32
+ return false;
33
+ }
34
+
35
+ // If the module is in the main entry point, skip it
36
+ return !mainEntryPointModules.has(mod.path);
37
+ },
38
+ });
39
+ }
40
+
41
+ mainEntryPointModules = new Set(
42
+ await getAllFiles(preModules, graph, options)
43
+ );
44
+ return baseSerializer(entryPoint, preModules, graph, options);
45
+ };
46
+ };
@@ -0,0 +1,6 @@
1
+ // Mock module for @jest/globals imports
2
+ // This module throws immediately when imported to warn users about using Jest APIs
3
+
4
+ throw new Error(
5
+ "Importing '@jest/globals' is not supported in Harness tests. Import from 'react-native-harness' instead."
6
+ );
@@ -0,0 +1,20 @@
1
+ import path from 'node:path';
2
+ import fs from 'node:fs';
3
+ import { Config as HarnessConfig } from '@react-native-harness/config';
4
+
5
+ const getManifestContent = (harnessConfig: HarnessConfig): string => {
6
+ return `global.RN_HARNESS = { appRegistryComponentName: '${harnessConfig.appRegistryComponentName}' };`;
7
+ };
8
+
9
+ export const getHarnessManifest = (harnessConfig: HarnessConfig): string => {
10
+ const manifestContent = getManifestContent(harnessConfig);
11
+ const manifestPath = path.resolve(
12
+ process.cwd(),
13
+ 'node_modules/.cache/rn-harness/manifest.js'
14
+ );
15
+
16
+ fs.mkdirSync(path.dirname(manifestPath), { recursive: true });
17
+ fs.writeFileSync(manifestPath, manifestContent);
18
+
19
+ return manifestPath;
20
+ };
@@ -0,0 +1,43 @@
1
+ import type { MetroConfig } from '@react-native/metro-config';
2
+ import type { Config as HarnessConfig } from '@react-native-harness/config';
3
+
4
+ type CustomResolver = NonNullable<
5
+ NonNullable<MetroConfig['resolver']>['resolveRequest']
6
+ >;
7
+
8
+ export const getHarnessResolver = (
9
+ metroConfig: MetroConfig,
10
+ harnessConfig: HarnessConfig
11
+ ): CustomResolver => {
12
+ // Can be relative to the project root or absolute, need to normalize it
13
+ const resolvedEntryPointPath = require.resolve(harnessConfig.entryPoint, {
14
+ paths: [process.cwd()],
15
+ });
16
+
17
+ return (context, moduleName, platform) => {
18
+ const existingResolver =
19
+ metroConfig.resolver?.resolveRequest ?? context.resolveRequest;
20
+ const resolvedModule = existingResolver(context, moduleName, platform);
21
+
22
+ // Replace the entry point with Harness
23
+ if (
24
+ resolvedModule.type === 'sourceFile' &&
25
+ resolvedModule.filePath === resolvedEntryPointPath
26
+ ) {
27
+ return {
28
+ type: 'sourceFile',
29
+ filePath: require.resolve('@react-native-harness/runtime/entry-point'),
30
+ };
31
+ }
32
+
33
+ // Intercept @jest/globals imports and redirect to mock module
34
+ if (moduleName === '@jest/globals') {
35
+ return {
36
+ type: 'sourceFile',
37
+ filePath: require.resolve('./jest-globals-mock'),
38
+ };
39
+ }
40
+
41
+ return resolvedModule;
42
+ };
43
+ };
@@ -1,30 +1,55 @@
1
1
  import { MetroConfig } from '@react-native/metro-config';
2
+ import { getConfig } from '@react-native-harness/config';
2
3
  import { patchModuleSystem } from './moduleSystem';
4
+ import { getHarnessResolver } from './resolver';
5
+ import { getHarnessManifest } from './manifest';
6
+ import { getHarnessBabelTransformerPath } from './babel-transformer';
3
7
 
4
- export const withRnHarness = (
5
- config: MetroConfig,
6
- options = { enabled: !!process.env.RN_HARNESS }
7
- ): MetroConfig => {
8
- if (!options.enabled) {
8
+ export const withRnHarness = async (
9
+ config: MetroConfig | Promise<MetroConfig>
10
+ ): Promise<MetroConfig> => {
11
+ const isEnabled = !!process.env.RN_HARNESS;
12
+
13
+ if (!isEnabled) {
9
14
  return config;
10
15
  }
11
16
 
17
+ const metroConfig = await config;
18
+ const { config: harnessConfig } = await getConfig(process.cwd());
19
+
12
20
  patchModuleSystem();
13
21
 
14
- return {
15
- ...config,
22
+ const harnessResolver = getHarnessResolver(metroConfig, harnessConfig);
23
+ const harnessManifest = getHarnessManifest(harnessConfig);
24
+ const harnessBabelTransformerPath =
25
+ getHarnessBabelTransformerPath(metroConfig);
26
+
27
+ const patchedConfig: MetroConfig = {
28
+ ...metroConfig,
16
29
  cacheVersion: 'react-native-harness',
17
30
  serializer: {
18
- ...config.serializer,
31
+ ...metroConfig.serializer,
19
32
  getPolyfills: (...args) => [
20
- ...(config.serializer?.getPolyfills?.(...args) ?? []),
21
- require.resolve('../assets/init.js'),
33
+ ...(metroConfig.serializer?.getPolyfills?.(...args) ?? []),
34
+ harnessManifest,
22
35
  ],
23
36
  },
24
37
  resolver: {
25
- ...config.resolver,
38
+ ...metroConfig.resolver,
26
39
  // Unlock __tests__ directory
27
40
  blockList: undefined,
41
+ resolveRequest: harnessResolver,
42
+ },
43
+ transformer: {
44
+ ...metroConfig.transformer,
45
+ babelTransformerPath: harnessBabelTransformerPath,
28
46
  },
29
47
  };
48
+
49
+ if (harnessConfig.unstable__skipAlreadyIncludedModules) {
50
+ patchedConfig.serializer!.customSerializer =
51
+ require('./getHarnessSerializer').getHarnessSerializer();
52
+ }
53
+
54
+ return patchedConfig;
30
55
  };
package/tsconfig.json CHANGED
@@ -3,6 +3,12 @@
3
3
  "files": [],
4
4
  "include": [],
5
5
  "references": [
6
+ {
7
+ "path": "../babel-preset"
8
+ },
9
+ {
10
+ "path": "../config"
11
+ },
6
12
  {
7
13
  "path": "../runtime"
8
14
  },
package/tsconfig.lib.json CHANGED
@@ -11,6 +11,12 @@
11
11
  },
12
12
  "include": ["src/**/*.ts"],
13
13
  "references": [
14
+ {
15
+ "path": "../babel-preset/tsconfig.lib.json"
16
+ },
17
+ {
18
+ "path": "../config/tsconfig.lib.json"
19
+ },
14
20
  {
15
21
  "path": "../runtime/tsconfig.lib.json"
16
22
  }
package/assets/init.js DELETED
@@ -1,3 +0,0 @@
1
- global.RN_HARNESS = {
2
- verbose: true,
3
- };