@flakiness/sdk 0.149.1 → 0.150.1

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 (57) hide show
  1. package/README.md +9 -4
  2. package/lib/_internalUtils.js +2 -68
  3. package/lib/browser.js +2 -149
  4. package/lib/ciUtils.js +0 -1
  5. package/lib/createEnvironment.js +1 -105
  6. package/lib/createTestStepSnippets.js +1 -19
  7. package/lib/flakinessProjectConfig.js +6 -317
  8. package/lib/gitWorktree.js +8 -112
  9. package/lib/index.js +9 -1244
  10. package/lib/normalizeReport.js +2 -3
  11. package/lib/reportUtils.js +9 -384
  12. package/lib/reportUtilsBrowser.js +3 -132
  13. package/lib/showReport.js +3 -612
  14. package/lib/staticServer.js +7 -8
  15. package/lib/stripAnsi.js +1 -2
  16. package/lib/systemUtilizationSampler.js +2 -3
  17. package/lib/uploadReport.js +33 -148
  18. package/lib/visitTests.js +0 -1
  19. package/lib/writeReport.js +0 -1
  20. package/package.json +14 -5
  21. package/types/src/_internalUtils.d.ts +13 -0
  22. package/types/src/_internalUtils.d.ts.map +1 -0
  23. package/types/src/browser.d.ts +3 -0
  24. package/types/src/browser.d.ts.map +1 -0
  25. package/types/src/ciUtils.d.ts +33 -0
  26. package/types/src/ciUtils.d.ts.map +1 -0
  27. package/types/src/createEnvironment.d.ts +40 -0
  28. package/types/src/createEnvironment.d.ts.map +1 -0
  29. package/types/src/createTestStepSnippets.d.ts +30 -0
  30. package/types/src/createTestStepSnippets.d.ts.map +1 -0
  31. package/types/src/flakinessProjectConfig.d.ts +103 -0
  32. package/types/src/flakinessProjectConfig.d.ts.map +1 -0
  33. package/types/src/gitWorktree.d.ts +139 -0
  34. package/types/src/gitWorktree.d.ts.map +1 -0
  35. package/types/src/index.d.ts +10 -0
  36. package/types/src/index.d.ts.map +1 -0
  37. package/types/src/normalizeReport.d.ts +26 -0
  38. package/types/src/normalizeReport.d.ts.map +1 -0
  39. package/types/src/reportUtils.d.ts +8 -0
  40. package/types/src/reportUtils.d.ts.map +1 -0
  41. package/types/src/reportUtilsBrowser.d.ts +4 -0
  42. package/types/src/reportUtilsBrowser.d.ts.map +1 -0
  43. package/types/src/showReport.d.ts +18 -0
  44. package/types/src/showReport.d.ts.map +1 -0
  45. package/types/src/staticServer.d.ts +16 -0
  46. package/types/src/staticServer.d.ts.map +1 -0
  47. package/types/src/stripAnsi.d.ts +19 -0
  48. package/types/src/stripAnsi.d.ts.map +1 -0
  49. package/types/src/systemUtilizationSampler.d.ts +43 -0
  50. package/types/src/systemUtilizationSampler.d.ts.map +1 -0
  51. package/types/src/uploadReport.d.ts +196 -0
  52. package/types/src/uploadReport.d.ts.map +1 -0
  53. package/types/src/visitTests.d.ts +28 -0
  54. package/types/src/visitTests.d.ts.map +1 -0
  55. package/types/src/writeReport.d.ts +45 -0
  56. package/types/src/writeReport.d.ts.map +1 -0
  57. package/types/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitWorktree.d.ts","sourceRoot":"","sources":["../../src/gitWorktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAY9D;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;IACnC,wDAAwD;IACxD,SAAS,EAAE,eAAe,CAAC,eAAe,CAAC;IAC3C,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mHAAmH;IACnH,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC;CACrC,CAAA;AAyCD;;;;GAIG;AACH,qBAAa,WAAW;IA4BV,OAAO,CAAC,QAAQ;IA3B5B;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM;IAS3C,OAAO,CAAC,aAAa,CAAoB;gBAErB,QAAQ,EAAE,MAAM;IAIpC;;;;;;;;;;;;OAYG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;;;;;OAYG;IACH,YAAY,IAAI,eAAe,CAAC,QAAQ;IASxC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,CAAC,WAAW;IAI1D;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,WAAW,GAAG,MAAM;IAI/D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAGvD"}
@@ -0,0 +1,10 @@
1
+ export { FlakinessReport } from '@flakiness/flakiness-report';
2
+ export { CIUtils } from './ciUtils.js';
3
+ export { GitWorktree } from './gitWorktree.js';
4
+ export * as ReportUtils from './reportUtils.js';
5
+ export { SystemUtilizationSampler } from './systemUtilizationSampler.js';
6
+ export { showReport } from './showReport.js';
7
+ export { uploadReport } from './uploadReport.js';
8
+ export { writeReport } from './writeReport.js';
9
+ export { FlakinessProjectConfig } from './flakinessProjectConfig.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { FlakinessReport } from "@flakiness/flakiness-report";
2
+ /**
3
+ * Normalizes a Flakiness report by deduplicating environments, suites, and tests.
4
+ *
5
+ * This function processes a report to:
6
+ * - Deduplicate environments based on their content (using stable hashing)
7
+ * - Deduplicate suites and tests that appear multiple times
8
+ * - Reindex environment references in test attempts to match the deduplicated environment array
9
+ * - Merge tags from duplicate tests
10
+ *
11
+ * Use this function to clean up reports that may contain duplicate data from multiple
12
+ * test runs or report generation passes.
13
+ *
14
+ * @param {FlakinessReport.Report} report - The Flakiness report to normalize.
15
+ *
16
+ * @returns {FlakinessReport.Report} A new normalized report with deduplicated environments,
17
+ * suites, and tests. The structure and content remain the same, but duplicates are removed.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const normalizedReport = normalizeReport(rawReport);
22
+ * await writeReport(normalizedReport, attachments, './output');
23
+ * ```
24
+ */
25
+ export declare function normalizeReport(report: FlakinessReport.Report): FlakinessReport.Report;
26
+ //# sourceMappingURL=normalizeReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeReport.d.ts","sourceRoot":"","sources":["../../src/normalizeReport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAyB9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CA2FtF"}
@@ -0,0 +1,8 @@
1
+ export { createEnvironment } from './createEnvironment.js';
2
+ export { createTestStepSnippetsInplace } from './createTestStepSnippets.js';
3
+ export { normalizeReport } from './normalizeReport.js';
4
+ export { stripAnsi } from './stripAnsi.js';
5
+ export { createDataAttachment, createFileAttachment } from './uploadReport.js';
6
+ export type { Attachment, DataAttachment, FileAttachment } from './uploadReport.js';
7
+ export { visitTests } from './visitTests.js';
8
+ //# sourceMappingURL=reportUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportUtils.d.ts","sourceRoot":"","sources":["../../src/reportUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,UAAU,EAAE,cAAc,EAC1B,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { normalizeReport } from './normalizeReport.js';
2
+ export { stripAnsi } from './stripAnsi.js';
3
+ export { visitTests } from './visitTests.js';
4
+ //# sourceMappingURL=reportUtilsBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportUtilsBrowser.d.ts","sourceRoot":"","sources":["../../src/reportUtilsBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Opens and displays a Flakiness report in the default web browser.
3
+ *
4
+ * This function starts a local static server to serve the report files and automatically
5
+ * opens the Flakiness report viewer in the user's default browser.
6
+ *
7
+ * The function runs indefinitely, until the process is terminated with Ctrl+C.
8
+ *
9
+ * @param {string} reportFolder - Absolute or relative path to the folder containing
10
+ * the Flakiness report.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * await showReport('./flakiness-report');
15
+ * ```
16
+ */
17
+ export declare function showReport(reportFolder: string): Promise<void>;
18
+ //# sourceMappingURL=showReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"showReport.d.ts","sourceRoot":"","sources":["../../src/showReport.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,iBAqBpD"}
@@ -0,0 +1,16 @@
1
+ export declare class StaticServer {
2
+ private _server;
3
+ private _absoluteFolderPath;
4
+ private _pathPrefix;
5
+ private _cors?;
6
+ private _mimeTypes;
7
+ constructor(pathPrefix: string, folderPath: string, cors?: string);
8
+ port(): number | undefined;
9
+ address(): string | undefined;
10
+ private _startServer;
11
+ start(port: number, host?: string): Promise<string>;
12
+ stop(): Promise<void>;
13
+ private _errorResponse;
14
+ private _handleRequest;
15
+ }
16
+ //# sourceMappingURL=staticServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staticServer.d.ts","sourceRoot":"","sources":["../../src/staticServer.ts"],"names":[],"mappings":"AAQA,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAC,CAAS;IAEvB,OAAO,CAAC,UAAU,CAWhB;gBAEU,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAQjE,IAAI;IAOJ,OAAO,IAAI,MAAM,GAAC,SAAS;YASb,YAAY;IAkBpB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB;IAyB7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;CAiEvB"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Removes ANSI escape codes from a string.
3
+ *
4
+ * ANSI escape codes are used for terminal formatting (colors, styles, cursor movement).
5
+ * This function strips all ANSI codes, making the string safe for storage in reports
6
+ * or display in non-terminal contexts.
7
+ *
8
+ * @param {string} str - String that may contain ANSI escape codes.
9
+ *
10
+ * @returns {string} String with all ANSI escape codes removed.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const clean = stripAnsi(chalk.red('Error: test failed'));
15
+ * // Returns: 'Error: test failed' (without color codes)
16
+ * ```
17
+ */
18
+ export declare function stripAnsi(str: string): string;
19
+ //# sourceMappingURL=stripAnsi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripAnsi.d.ts","sourceRoot":"","sources":["../../src/stripAnsi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}
@@ -0,0 +1,43 @@
1
+ import { FlakinessReport } from "@flakiness/flakiness-report";
2
+ /**
3
+ * Samples and records system CPU and memory utilization over time.
4
+ *
5
+ * This class continuously monitors system resource usage at regular intervals and stores
6
+ * the samples in a format suitable for inclusion in Flakiness reports. Sampling starts
7
+ * immediately upon construction and continues until `dispose()` is called.
8
+ *
9
+ * The first sample is collected after 50ms, and subsequent samples are collected every
10
+ * 1000ms (1 second). CPU utilization is calculated as a percentage based on CPU tick
11
+ * differences between samples. Memory utilization uses platform-specific methods for
12
+ * accurate measurement (especially on macOS).
13
+ */
14
+ export declare class SystemUtilizationSampler {
15
+ /**
16
+ * The accumulated system utilization data.
17
+ *
18
+ * This object is populated as samples are collected and can be directly included in
19
+ * Flakiness reports. It contains:
20
+ * - `samples` - Array of utilization samples with CPU/memory percentages and durations
21
+ * - `startTimestamp` - Timestamp when sampling began
22
+ * - `totalMemoryBytes` - Total system memory in bytes
23
+ */
24
+ readonly result: FlakinessReport.SystemUtilization;
25
+ private _lastSample;
26
+ private _timer;
27
+ /**
28
+ * Creates a new SystemUtilizationSampler and starts sampling immediately.
29
+ *
30
+ * The first sample is collected after 50ms, and subsequent samples are collected
31
+ * every 1000ms. Call `dispose()` to stop sampling and clean up resources.
32
+ */
33
+ constructor();
34
+ private _addSample;
35
+ /**
36
+ * Stops sampling and cleans up resources.
37
+ *
38
+ * Call this method when you're done collecting utilization data to stop the sampling
39
+ * timer and prevent memory leaks. The `result` object remains accessible after disposal.
40
+ */
41
+ dispose(): void;
42
+ }
43
+ //# sourceMappingURL=systemUtilizationSampler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemUtilizationSampler.d.ts","sourceRoot":"","sources":["../../src/systemUtilizationSampler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AA6D9D;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAwB;IACnC;;;;;;;;OAQG;IACH,SAAgB,MAAM,EAAE,eAAe,CAAC,iBAAiB,CAAC;IAE1D,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,MAAM,CAAiB;IAE/B;;;;;OAKG;;IAWH,OAAO,CAAC,UAAU;IAOlB;;;;;OAKG;IACH,OAAO;CAGR"}
@@ -0,0 +1,196 @@
1
+ import { FlakinessReport } from '@flakiness/flakiness-report';
2
+ /**
3
+ * Represents an in-memory report attachment containing data as a Buffer.
4
+ *
5
+ * This type is used for attachments that are created from data already in memory,
6
+ * such as generated screenshots, logs, or other binary/text content that doesn't
7
+ * originate from a file on disk.
8
+ */
9
+ export type DataAttachment = {
10
+ /** Discriminator indicating this is a buffer-based attachment */
11
+ type: 'buffer';
12
+ /** Unique identifier for the attachment, typically a hash of the content */
13
+ id: FlakinessReport.AttachmentId;
14
+ /** MIME type of the attachment content (e.g., 'image/png', 'text/plain') */
15
+ contentType: string;
16
+ /** The actual attachment data as a Buffer */
17
+ body: Buffer;
18
+ };
19
+ /**
20
+ * Represents a file-based report attachment that references an existing file on disk.
21
+ *
22
+ * This type is used for attachments that already exist as files in the filesystem,
23
+ * such as screenshots saved to disk, log files, or other artifacts generated during
24
+ * test execution.
25
+ */
26
+ export type FileAttachment = {
27
+ /** Discriminator indicating this is a file-based attachment */
28
+ type: 'file';
29
+ /** Unique identifier for the attachment, typically a hash of the file content */
30
+ id: FlakinessReport.AttachmentId;
31
+ /** MIME type of the attachment content (e.g., 'image/png', 'text/plain') */
32
+ contentType: string;
33
+ /** Absolute or relative path to the attachment file on disk */
34
+ path: string;
35
+ };
36
+ /**
37
+ * Union type representing any kind of report attachment.
38
+ *
39
+ * Attachments can be either file-based (referencing existing files) or data-based
40
+ * (containing in-memory data). Use the `type` property to discriminate between the two.
41
+ */
42
+ export type Attachment = FileAttachment | DataAttachment;
43
+ /**
44
+ * Creates a file-based attachment from an existing file on disk.
45
+ *
46
+ * This function reads the specified file to generate a unique ID (SHA-1 hash) and creates
47
+ * a FileAttachment object that can be used with report upload functions.
48
+ *
49
+ * @param {string} contentType - MIME type of the file content (e.g., 'image/png', 'text/plain',
50
+ * 'application/json'). This should accurately represent the file's content type.
51
+ * @param {string} filePath - Absolute or relative path to the file on disk. The file must
52
+ * exist and be readable at the time this function is called.
53
+ *
54
+ * @returns {Promise<FileAttachment>} Promise that resolves to a FileAttachment object with:
55
+ * - `type: 'file'` - Indicates this is a file-based attachment
56
+ * - `contentType` - The provided MIME type
57
+ * - `id` - SHA-1 hash of the file content used as unique identifier
58
+ * - `path` - The provided file path
59
+ *
60
+ * @throws {Error} Throws if the file cannot be read.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * // Create attachment from a screenshot file
65
+ * const screenshot = await createFileAttachment('image/png', './test-results/screenshot.png');
66
+ *
67
+ * // Create attachment from a log file
68
+ * const logFile = await createFileAttachment('text/plain', '/tmp/test.log');
69
+ *
70
+ * // Use with upload
71
+ * await uploadReport(report, [screenshot, logFile]);
72
+ * ```
73
+ */
74
+ export declare function createFileAttachment(contentType: string, filePath: string): Promise<FileAttachment>;
75
+ /**
76
+ * Creates an in-memory attachment from Buffer data.
77
+ *
78
+ * This function creates a DataAttachment object from data that's already in memory as a Buffer.
79
+ * It generates a unique ID (SHA-1 hash) from the data content and stores the data directly
80
+ * in the attachment object for immediate use during upload.
81
+ *
82
+ * @param {string} contentType - MIME type of the data content (e.g., 'image/png', 'text/plain',
83
+ * 'application/json'). This should accurately represent the data's content type.
84
+ * @param {Buffer} data - The attachment data as a Buffer. Can contain any type of data
85
+ * (binary, text, etc.) that can be represented as bytes.
86
+ *
87
+ * @returns {Promise<DataAttachment>} Promise that resolves to a DataAttachment object with:
88
+ * - `type: 'buffer'` - Indicates this is a data-based attachment
89
+ * - `contentType` - The provided MIME type
90
+ * - `id` - SHA-1 hash of the data content used as unique identifier
91
+ * - `body` - The provided Buffer data
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * // Create attachment from string data
96
+ * const logData = Buffer.from('Test execution log\nAll tests passed', 'utf-8');
97
+ * const logAttachment = await createDataAttachment('text/plain', logData);
98
+ *
99
+ * // Use with upload
100
+ * await uploadReport(report, [logAttachment]);
101
+ * ```
102
+ */
103
+ export declare function createDataAttachment(contentType: string, data: Buffer): Promise<DataAttachment>;
104
+ type UploadResult = {
105
+ status: 'success';
106
+ reportUrl: string;
107
+ } | {
108
+ status: 'skipped';
109
+ reason: string;
110
+ } | {
111
+ status: 'failed';
112
+ error: string;
113
+ };
114
+ interface Logger {
115
+ log(message: string): void;
116
+ warn(message: string): void;
117
+ error(message: string): void;
118
+ }
119
+ export type UploadOptions = {
120
+ /**
121
+ * Custom Flakiness.io endpoint URL for upload operations.
122
+ *
123
+ * Defaults to the `FLAKINESS_ENDPOINT` environment variable, or 'https://flakiness.io'
124
+ * if the environment variable is not set. Use this to point to custom or self-hosted
125
+ * Flakiness.io instances.
126
+ *
127
+ * @example 'https://custom.flakiness.io'
128
+ */
129
+ flakinessEndpoint?: string;
130
+ /**
131
+ * Access token for authenticating with the Flakiness.io platform.
132
+ *
133
+ * Defaults to the `FLAKINESS_ACCESS_TOKEN` environment variable. If no token is provided
134
+ * through this option or the environment variable, the upload will be skipped with a
135
+ * 'skipped' status. Obtain this token from your Flakiness.io project settings.
136
+ *
137
+ * @example 'flakiness-io-1234567890abcdef...'
138
+ */
139
+ flakinessAccessToken?: string;
140
+ /**
141
+ * Custom logger for upload progress, warnings, and error messages.
142
+ *
143
+ * Defaults to the global `console` object. The logger must implement the `Logger` interface
144
+ * with `log()`, `warn()`, and `error()` methods. Use this to integrate with your application's
145
+ * logging system or to suppress/redirect upload messages.
146
+ *
147
+ * @example customLogger with winston, pino, or other logging libraries
148
+ */
149
+ logger?: Logger;
150
+ /**
151
+ * Controls whether the upload function throws errors on failure.
152
+ *
153
+ * - `false` (default): "Safe mode" - Returns a failed result object instead of throwing.
154
+ * Recommended for CI environments where test execution should continue even if upload fails.
155
+ * - `true`: "Strict mode" - Throws an error on upload failure, which can halt execution.
156
+ * Use when upload success is critical to your workflow.
157
+ *
158
+ * @default false
159
+ */
160
+ throwOnFailure?: boolean;
161
+ };
162
+ /**
163
+ * Uploads a Flakiness report and its attachments to the Flakiness.io platform.
164
+ *
165
+ * This function handles the complete upload process including:
166
+ * - Authentication using access tokens
167
+ * - Report compression and upload
168
+ * - Attachment upload with automatic compression for text-based content
169
+ * - Error handling and retry logic with exponential backoff
170
+ * - Comprehensive logging of the upload process
171
+ *
172
+ * The function operates in "safe mode" by default, meaning it won't throw errors on upload
173
+ * failures unless explicitly configured to do so.
174
+ *
175
+ * @param {FlakinessReport.Report} report - The Flakiness report object to upload.
176
+ *
177
+ * @param {Attachment[]} attachments - Array of attachments to upload alongside the report.
178
+ * Can include both file-based and data-based attachments.
179
+ *
180
+ * @param {UploadOptions} options - Optional configuration object with the following properties:
181
+ *
182
+ * @returns {Promise<UploadResult>} Promise that resolves to an upload result object:
183
+ * - `{ status: 'success', reportUrl: string }` - Upload succeeded, includes web URL to view report
184
+ * - `{ status: 'skipped', reason: string }` - Upload was skipped (e.g., no access token)
185
+ * - `{ status: 'failed', error: string }` - Upload failed, includes error message
186
+ *
187
+ * @throws {Error} Only throws if `options.throwOnFailure` is true and upload fails.
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * await uploadReport(report, attachments);
192
+ * ```
193
+ */
194
+ export declare function uploadReport(report: FlakinessReport.Report, attachments: Attachment[], options?: UploadOptions): Promise<UploadResult>;
195
+ export {};
196
+ //# sourceMappingURL=uploadReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadReport.d.ts","sourceRoot":"","sources":["../../src/uploadReport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAW9D;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,iEAAiE;IACjE,IAAI,EAAE,QAAQ,CAAC;IACf,4EAA4E;IAC5E,EAAE,EAAE,eAAe,CAAC,YAAY,CAAC;IACjC,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;CACd,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,EAAE,EAAE,eAAe,CAAC,YAAY,CAAC;IACjC,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;CACd,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,cAAc,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAOzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAOrG;AAED,KAAK,YAAY,GACb;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,UAAU,MAAM;IACd,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,eAAe,CAAC,MAAM,EAC9B,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAiCvB"}
@@ -0,0 +1,28 @@
1
+ import { FlakinessReport } from "@flakiness/flakiness-report";
2
+ /**
3
+ * Recursively visits all tests in a Flakiness report. For each test encountered, the visitor
4
+ * function is called with the test object and an array of parent suites representing the full
5
+ * hierarchy path from root to the test's immediate parent.
6
+ *
7
+ * @param {FlakinessReport.Report} report - The Flakiness report to traverse.
8
+ *
9
+ * @param {function} testVisitor - Callback function invoked for each test found in the report.
10
+ * Receives two parameters:
11
+ * - `test` {FlakinessReport.Test} - The current test object being visited
12
+ * - `parentSuites` {FlakinessReport.Suite[]} - Array of parent suites from root to immediate
13
+ * parent. Empty array for root-level tests. The array represents the full hierarchy path,
14
+ * with index 0 being the top-level suite and the last element being the immediate parent.
15
+ *
16
+ * @returns {void} This function does not return a value.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * visitTests(report, (test, parentSuites) => {
21
+ * const suitePath = parentSuites.map(suite => suite.name).join(' > ');
22
+ * const fullPath = suitePath ? `${suitePath} > ${test.name}` : test.name;
23
+ * console.log(`${fullPath}: ${test.status}`);
24
+ * });
25
+ * ```
26
+ */
27
+ export declare function visitTests(report: FlakinessReport.Report, testVisitor: (test: FlakinessReport.Test, parentSuites: FlakinessReport.Suite[]) => void): void;
28
+ //# sourceMappingURL=visitTests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitTests.d.ts","sourceRoot":"","sources":["../../src/visitTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,QAalJ"}
@@ -0,0 +1,45 @@
1
+ import { FlakinessReport } from '@flakiness/flakiness-report';
2
+ import { Attachment, FileAttachment } from './uploadReport.js';
3
+ /**
4
+ * Writes a Flakiness report along with its attachments to the output folder, according to the
5
+ * directory layout specified in the https://github.com/flakiness/flakiness-report specification.
6
+ *
7
+ * This function creates the standard Flakiness report structure:
8
+ * - `report.json` - The main report file containing test results and metadata
9
+ * - `attachments/` - Directory containing all attachment files, named by their ID
10
+ *
11
+ * The output folder is completely removed and recreated to ensure a clean state.
12
+ *
13
+ * @param {FlakinessReport.Report} report - A Flakiness JSON Report object. This object will be
14
+ * serialized to JSON and written as `report.json`.
15
+ *
16
+ * @param {Attachment[]} attachments - Array of report attachments.
17
+ *
18
+ * @param {string} outputFolder - Relative or absolute path to the output folder. The folder will be
19
+ * removed if it exists and then recreated. Parent directories will be created as needed.
20
+ *
21
+ * @returns {Promise<FileAttachment[]>} Promise that resolves to an array of `FileAttachment` objects
22
+ * representing the attachments as they exist in the output folder. Each returned attachment will have:
23
+ * - `type: 'file'` - All returned attachments are file-based
24
+ * - `contentType` - Preserved from the input attachment
25
+ * - `id` - Preserved from the input attachment
26
+ * - `path` - Local file path within the `attachments/` subdirectory
27
+ *
28
+ * @throws {Error} Throws if unable to remove/create directories, copy files, write data, or serialize JSON.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const attachments = [
33
+ * await createFileAttachment('image/png', './screenshot.png'),
34
+ * await createDataAttachment('text/plain', Buffer.from('test log data'))
35
+ * ];
36
+ *
37
+ * const writtenAttachments = await writeReport(report, attachments, './flakiness-report');
38
+ * // Creates:
39
+ * // ./flakiness-report/report.json
40
+ * // ./flakiness-report/attachments/{hash-id-1}
41
+ * // ./flakiness-report/attachments/{hash-id-2}
42
+ * ```
43
+ */
44
+ export declare function writeReport(report: FlakinessReport.Report, attachments: Attachment[], outputFolder: string): Promise<FileAttachment[]>;
45
+ //# sourceMappingURL=writeReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeReport.d.ts","sourceRoot":"","sources":["../../src/writeReport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAyB5I"}
@@ -1 +0,0 @@
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.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.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.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.sharedmemory.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.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/_internalUtils.ts","../src/_stable-hash.d.ts","../node_modules/@flakiness/flakiness-report/types/src/flakinessReport.d.ts","../../node_modules/stable-hash/dist/index.d.ts","../src/normalizeReport.ts","../src/stripAnsi.ts","../src/visitTests.ts","../src/reportUtilsBrowser.ts","../src/browser.ts","../src/ciUtils.ts","../src/createEnvironment.ts","../../node_modules/@types/babel__code-frame/index.d.ts","../../node_modules/@types/ms/index.d.ts","../../node_modules/@types/debug/index.d.ts","../src/gitWorktree.ts","../src/createTestStepSnippets.ts","../src/flakinessProjectConfig.ts","../src/uploadReport.ts","../src/reportUtils.ts","../src/systemUtilizationSampler.ts","../../node_modules/chalk/source/vendor/ansi-styles/index.d.ts","../../node_modules/chalk/source/vendor/supports-color/index.d.ts","../../node_modules/chalk/source/index.d.ts","../../node_modules/open/index.d.ts","../src/staticServer.ts","../src/showReport.ts","../src/writeReport.ts","../src/index.ts","../../node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.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/sea.d.ts","../../node_modules/@types/node/sqlite.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/ts5.6/index.d.ts"],"fileIdsList":[[108,151],[87,108,151],[108,148,151],[108,150,151],[108,151,156,186],[108,151,152,157,163,164,171,183,194],[108,151,152,153,163,171],[103,104,105,108,151],[108,151,154,195],[108,151,155,156,164,172],[108,151,156,183,191],[108,151,157,159,163,171],[108,150,151,158],[108,151,159,160],[108,151,163],[108,151,161,163],[108,150,151,163],[108,151,163,164,165,183,194],[108,151,163,164,165,178,183,186],[108,146,151,199],[108,146,151,159,163,166,171,183,194],[108,151,163,164,166,167,171,183,191,194],[108,151,166,168,183,191,194],[108,151,163,169],[108,151,170,194,199],[108,151,159,163,171,183],[108,151,172],[108,151,173],[108,150,151,174],[108,148,149,150,151,152,153,154,155,156,157,158,159,160,161,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[108,151,176],[108,151,177],[108,151,163,178,179],[108,151,178,180,195,197],[108,151,163,183,184,185,186],[108,151,183,185],[108,151,183,184],[108,151,186],[108,151,187],[108,148,151,183],[108,151,163,189,190],[108,151,189,190],[108,151,156,171,183,191],[108,151,192],[151],[106,107,108,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[108,151,171,193],[108,151,166,177,194],[108,151,156,195],[108,151,183,196],[108,151,170,197],[108,151,198],[108,151,156,163,165,174,183,194,197,199],[108,151,183,200],[95,96,108,151],[108,151,193],[108,151,152],[108,118,122,151,194],[108,118,151,183,194],[108,113,151],[108,115,118,151,191,194],[108,151,171,191],[108,151,201],[108,113,151,201],[108,115,118,151,171,194],[108,110,111,114,117,151,163,183,194],[108,118,125,151],[108,110,116,151],[108,118,139,140,151],[108,114,118,151,186,194,201],[108,139,151,201],[108,112,113,151,201],[108,118,151],[108,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,143,144,145,151],[108,118,133,151],[108,118,125,126,151],[108,116,118,126,127,151],[108,117,151],[108,110,113,118,151],[108,118,122,126,127,151],[108,122,151],[108,116,118,121,151,194],[108,110,115,118,125,151],[108,151,183],[108,113,118,139,151,199,201],[108,151,152,156,164,166,168,195,200],[77,82,108,151],[75,77,108,151,164,172],[77,81,86,89,108,151,164],[89,108,151,164,173],[75,77,88,108,148,151,152,173,195],[77,84,89,91,92,93,94,100,101,108,151],[76,77,108,151],[79,80,81,85,90,92,108,151],[79,80,81,108,151],[75,91,97,98,99,108,151],[88,108,151,164,166,171,173],[77,108,151,152,172],[75,77,108,148,151,164,194],[77,108,151],[77,92,108,151,164,173]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"abee51ebffafd50c07d76be5848a34abfe4d791b5745ef1e5648718722fab924","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","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":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","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":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"027edefafd81eb74b944aad4d5a3584bcf48bf694caa95dad3b1bf1302c2f4c7","signature":"a997f7ddc57d5bb3de4b3b85d589b6208bb1834bf9caa92aaca21e3e4c90fe6b","impliedFormat":99},{"version":"76a039c64c0bcac281fea2a50675605449f9bf6c410d4278e8b134ca06ec9fc2","impliedFormat":99},{"version":"32d77e0b50b41780eedfeb32f2cbcfb2c72d52511c7d1d7ac3e9da7ac64c213f","impliedFormat":99},{"version":"a3a5184b22ea5959aea309f6e4b17fdc02b17067715c229827ecd7bc46e51540","impliedFormat":1},{"version":"8d5133592c73b42e80198ea1eff6997835593704bcb4014557376a02a1988087","signature":"3df52b6da8dbade43179d9b9466b0e95e4a28787039f2493d15429fc28db40e8","impliedFormat":99},{"version":"3458f23cf8f4d61210c118c6ca98fcf24c8e11384c240c781c97141d6ed0329b","signature":"8bf419db9950c62f5728fb3fe0a70597eca94b19e79bdedc28b27243fd672b3d","impliedFormat":99},{"version":"ae56ae69f2967f0cd36f801299b854b03d03b7cd19590bcdb288045192ebf414","signature":"b9de716d46b0aefe0a8c0ecca517af6d605f9827b91f38314bff2718f5b282ff","impliedFormat":99},{"version":"ea330b47d228ff157f450396d39796903f557feb47f22d355b55d81fa8b59e2f","signature":"80f99b82977bb7e074698c4edc3145bd2b8b0f3ad39d3e342f58c98524b681e6","impliedFormat":99},{"version":"a5f262bbf015f787ea3b74e1e65d968d2b58781b2b7ebbeee12b8076e0ef99fc","signature":"21efc622f88a24687c4487a0277288d43b7d1aecb0d4d8d33fd8a42f19413060","impliedFormat":99},{"version":"3d0b9b01b937fde626e8a80128547db231b3a00c206ddb135fb6ef72de9a7a69","signature":"39f2d47a707e11e4dc702468b73674d815f4bd1c2ee39877c2b939f6837d5dd5","impliedFormat":99},{"version":"390e9ee0ea7349d99f5abf229c7fcf161a0ce16ee74e176c9a9cd487bc3c00cc","signature":"2e412b2c99246f04b3371dcbf3c25a39e923a125cfe611d4b44f6093eb1bf800","impliedFormat":99},{"version":"3dcefe176e6dce7a06bd345522e19f631f7fdb370335e2e93bc225b3afbb0bd0","impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"e8a0d06ca74b0208ad9412d38b1e7793186d05dbbeaee51b52f1f01eed4f7cef","signature":"f72f5a3cc83aa9041f894e30fc0820de893f90facd5e58451dc6702638ce73e1","impliedFormat":99},{"version":"49ae65fe3b5c4e27b93d311f154d77a94b2bbc039bc9b28eefb5a6193ba4ae65","signature":"6d74839a24af230f12a1969500c557a3b3c3d918ee471a3b7d45a5872cda999c","impliedFormat":99},{"version":"b0c39569b5d5e29a17518a113fc2fcbf91cad80a5450638737428866aa322f47","signature":"5652d11bd35569288b184e52d3a41e11f134afd0003ecf250c4fbcf62f6158dd","impliedFormat":99},{"version":"4431da68a243c942f0b012ce7642f4e98b3038f0cd556ed5a6e392e52d5302dd","signature":"fb9fdd90711ae778914a033c6d9bbb8e5500854e5e70898b4f80c56b2c0459ff","impliedFormat":99},{"version":"55c40bed0b8e5fdaa8c7a0d1f0d214d4fe77422bbde792e867fefeafec91fc41","signature":"e4eb328c95ba3b261ad853f9913b6c2c06686c1abc102ddf4fe4da4dda954cd9","impliedFormat":99},{"version":"08b49652eef1fa76b50bd9f7d01dadb417174b9366d3bcc2487a7c92f69af2dc","signature":"4eb2b299fc19af0f15419126ee1f1749a51f625a9cb3ad97c1efe36959da46d9","impliedFormat":99},{"version":"acfed6cc001e7f7f26d2ba42222a180ba669bb966d4dd9cb4ad5596516061b13","impliedFormat":99},{"version":"f61a4dc92450609c353738f0a2daebf8cae71b24716dbd952456d80b1e1a48b6","impliedFormat":99},{"version":"f3f76db6e76bc76d13cc4bfa10e1f74390b8ebe279535f62243e8d8acd919314","impliedFormat":99},{"version":"0132e7a32bd600a3b6e0a5e59171a3706df2d1375ffbf6b2239f326a9b0dbaaf","impliedFormat":99},{"version":"b1d8a33f0892f7bb301d32dcf42cddd3c5a5251274aef5d2b7a89fba6704f016","signature":"f94f6c09588b953a8c75d959d141a82d383dcd359963ebdca38492b20a66d8f7","impliedFormat":99},{"version":"367420ba72293735aa579b323da9eda8a27a9a18d834d85d606e1a3e0602d9d8","signature":"62f1716120eae1575a07334b687db85d9f914bd847e8cc621c06e0303c7dd509","impliedFormat":99},{"version":"a8077afc374d7e986b4a0251b822bd2f93d91a02edc9b3d1efdd406046bbd134","signature":"ac35d2c7653f71ebc04544a91d90ba502b1438d03f752d8560c4ab13f796394a","impliedFormat":99},{"version":"26fa21ae7c9d4df5558596fd53dab7892338a8b1c86cfdb2c81e58dde73e68b5","signature":"5ab53f7ffe59fb8477ab5d8f6e8fc855897eee93969dc3ba4408ec9ffaf84cef","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"81184fe8e67d78ac4e5374650f0892d547d665d77da2b2f544b5d84729c4a15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"875928df2f3e9a3aed4019539a15d04ff6140a06df6cd1b2feb836d22a81eaca","affectsGlobalScope":true,"impliedFormat":1},{"version":"e9ad08a376ac84948fcca0013d6f1d4ae4f9522e26b91f87945b97c99d7cc30b","impliedFormat":1},{"version":"eaf9ee1d90a35d56264f0bf39842282c58b9219e112ac7d0c1bce98c6c5da672","impliedFormat":1},{"version":"c15c4427ae7fd1dcd7f312a8a447ac93581b0d4664ddf151ecd07de4bf2bb9d7","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"75c3400359d59fae5aed4c4a59fcd8a9760cf451e25dc2174cb5e08b9d4803e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"94c4187083503a74f4544503b5a30e2bd7af0032dc739b0c9a7ce87f8bddc7b9","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3eb62baae4df08c9173e6903d3ca45942ccec8c3659b0565684a75f3292cffbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"a85683ef86875f4ad4c6b7301bbcc63fb379a8d80d3d3fd735ee57f48ef8a47e","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"9212c6e9d80cb45441a3614e95afd7235a55a18584c2ed32d6c1aca5a0c53d93","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bd91a2a356600dee28eb0438082d0799a18a974a6537c4410a796bab749813c","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"ae25afbbf1ed5df63a177d67b9048bf7481067f1b8dc9c39212e59db94fc9fc6","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"171fd8807643c46a9d17e843959abdf10480d57d60d38d061fb44a4c8d4a8cc4","impliedFormat":1}],"root":[75,76,[79,85],[89,94],[99,102]],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"module":199,"outDir":"./","strict":true,"strictBindCallApply":true,"target":99},"referencedMap":[[86,1],[88,2],[87,1],[148,3],[149,3],[150,4],[151,5],[152,6],[153,7],[103,1],[106,8],[104,1],[105,1],[154,9],[155,10],[156,11],[157,12],[158,13],[159,14],[160,14],[162,15],[161,16],[163,17],[164,18],[165,19],[147,20],[166,21],[167,22],[168,23],[169,24],[170,25],[171,26],[172,27],[173,28],[174,29],[175,30],[176,31],[177,32],[178,33],[179,33],[180,34],[181,1],[182,1],[183,35],[185,36],[184,37],[186,38],[187,39],[188,40],[189,41],[190,42],[191,43],[192,44],[108,45],[107,1],[201,46],[193,47],[194,48],[195,49],[196,50],[197,51],[198,52],[199,53],[200,54],[109,1],[97,55],[95,1],[96,56],[98,57],[78,1],[73,1],[74,1],[12,1],[13,1],[15,1],[14,1],[2,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[3,1],[24,1],[4,1],[25,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[61,1],[10,1],[62,1],[1,1],[63,1],[64,1],[11,1],[69,1],[66,1],[65,1],[72,1],[70,1],[68,1],[71,1],[67,1],[125,58],[135,59],[124,58],[145,60],[116,61],[115,62],[144,63],[138,64],[143,65],[118,66],[132,67],[117,68],[141,69],[113,70],[112,63],[142,71],[114,72],[119,73],[120,1],[123,73],[110,1],[146,74],[136,75],[127,76],[128,77],[130,78],[126,79],[129,80],[139,63],[121,81],[122,82],[131,83],[111,84],[134,75],[133,73],[137,1],[140,85],[77,1],[75,86],[76,1],[83,87],[84,1],[85,88],[90,89],[91,90],[89,91],[102,92],[79,93],[93,94],[82,95],[100,96],[99,97],[80,1],[94,98],[92,99],[81,100],[101,101]],"latestChangedDtsFile":"./src/index.d.ts","version":"5.6.2"}