@nomicfoundation/hardhat-utils 4.1.0 → 4.1.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.
- package/CHANGELOG.md +6 -0
- package/dist/src/bytecode.d.ts +4 -0
- package/dist/src/bytecode.d.ts.map +1 -1
- package/dist/src/bytecode.js +12 -7
- package/dist/src/bytecode.js.map +1 -1
- package/dist/src/crypto.d.ts.map +1 -1
- package/dist/src/crypto.js +10 -2
- package/dist/src/crypto.js.map +1 -1
- package/dist/src/fs.d.ts.map +1 -1
- package/dist/src/fs.js +21 -35
- package/dist/src/fs.js.map +1 -1
- package/dist/src/internal/bytecode.d.ts +11 -0
- package/dist/src/internal/bytecode.d.ts.map +1 -1
- package/dist/src/internal/bytecode.js +39 -2
- package/dist/src/internal/bytecode.js.map +1 -1
- package/dist/src/internal/fs.d.ts +15 -0
- package/dist/src/internal/fs.d.ts.map +1 -1
- package/dist/src/internal/fs.js +44 -0
- package/dist/src/internal/fs.js.map +1 -1
- package/dist/src/internal/global-dir.d.ts +2 -2
- package/dist/src/internal/global-dir.d.ts.map +1 -1
- package/dist/src/internal/global-dir.js +7 -1
- package/dist/src/internal/global-dir.js.map +1 -1
- package/dist/src/internal/lang.d.ts +3 -2
- package/dist/src/internal/lang.d.ts.map +1 -1
- package/dist/src/internal/lang.js +12 -6
- package/dist/src/internal/lang.js.map +1 -1
- package/dist/src/lang.js +2 -2
- package/dist/src/lang.js.map +1 -1
- package/dist/src/request.d.ts +11 -11
- package/dist/src/request.d.ts.map +1 -1
- package/dist/src/request.js +6 -6
- package/dist/src/request.js.map +1 -1
- package/dist/src/synchronization.js +6 -6
- package/dist/src/synchronization.js.map +1 -1
- package/package.json +1 -1
- package/src/bytecode.ts +15 -6
- package/src/crypto.ts +15 -2
- package/src/fs.ts +33 -53
- package/src/internal/bytecode.ts +64 -5
- package/src/internal/fs.ts +70 -0
- package/src/internal/global-dir.ts +10 -4
- package/src/internal/lang.ts +15 -6
- package/src/lang.ts +2 -2
- package/src/request.ts +16 -16
- package/src/synchronization.ts +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @nomicfoundation/hardhat-utils
|
|
2
2
|
|
|
3
|
+
## 4.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#8228](https://github.com/NomicFoundation/hardhat/pull/8228) [`417bbf9`](https://github.com/NomicFoundation/hardhat/commit/417bbf9f5d8ee4f9e19788aa40571452d36086d2) Thanks [@alcuadrado](https://github.com/alcuadrado)! - Small performance optimizations
|
|
8
|
+
|
|
3
9
|
## 4.1.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/dist/src/bytecode.d.ts
CHANGED
|
@@ -19,6 +19,10 @@ export declare function resolveLinkedBytecode(artifact: Artifact, providedLibrar
|
|
|
19
19
|
* Links the bytecode of a contract artifact with the provided library addresses.
|
|
20
20
|
* This function does not perform any validation on the provided libraries.
|
|
21
21
|
*
|
|
22
|
+
* Callers are responsible for ensuring that `libraries` contains no duplicate
|
|
23
|
+
* `(sourceName, libraryName)` entries; supplying duplicates would result in
|
|
24
|
+
* malformed bytecode.
|
|
25
|
+
*
|
|
22
26
|
* @param artifact The contract artifact containing the bytecode and link references.
|
|
23
27
|
* @param libraries An array of LibraryLink objects representing the libraries to be linked.
|
|
24
28
|
* @returns The linked bytecode with all provided libraries correctly linked.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytecode.d.ts","sourceRoot":"","sources":["../../src/bytecode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EACV,QAAQ,
|
|
1
|
+
{"version":3,"file":"bytecode.d.ts","sourceRoot":"","sources":["../../src/bytecode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EACV,QAAQ,EAER,gBAAgB,EAChB,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAWhC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,gBAAgB,GAClC,iBAAiB,CA0BnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,WAAW,EAAE,GACvB,iBAAiB,CAqBnB"}
|
package/dist/src/bytecode.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getPrefixedHexString, getUnprefixedHexString } from "./hex.js";
|
|
2
|
-
import { checkAmbiguousOrUnnecessaryLinks, checkMissingLibraryAddresses, checkOverlappingLibraryNames, checkProvidedLibraryAddresses, } from "./internal/bytecode.js";
|
|
2
|
+
import { applyBytecodeReplacements, checkAmbiguousOrUnnecessaryLinks, checkMissingLibraryAddresses, checkOverlappingLibraryNames, checkProvidedLibraryAddresses, } from "./internal/bytecode.js";
|
|
3
3
|
/**
|
|
4
4
|
* Resolves the linked bytecode for a given contract artifact by substituting
|
|
5
5
|
* the required library placeholders within the bytecode with the provided
|
|
@@ -38,23 +38,28 @@ export function resolveLinkedBytecode(artifact, providedLibraries) {
|
|
|
38
38
|
* Links the bytecode of a contract artifact with the provided library addresses.
|
|
39
39
|
* This function does not perform any validation on the provided libraries.
|
|
40
40
|
*
|
|
41
|
+
* Callers are responsible for ensuring that `libraries` contains no duplicate
|
|
42
|
+
* `(sourceName, libraryName)` entries; supplying duplicates would result in
|
|
43
|
+
* malformed bytecode.
|
|
44
|
+
*
|
|
41
45
|
* @param artifact The contract artifact containing the bytecode and link references.
|
|
42
46
|
* @param libraries An array of LibraryLink objects representing the libraries to be linked.
|
|
43
47
|
* @returns The linked bytecode with all provided libraries correctly linked.
|
|
44
48
|
*/
|
|
45
49
|
export function linkBytecode(artifact, libraries) {
|
|
46
50
|
const { bytecode, linkReferences } = artifact;
|
|
47
|
-
|
|
51
|
+
const replacements = [];
|
|
48
52
|
for (const { sourceName, libraryName, address } of libraries) {
|
|
49
53
|
const contractLinkReferences = linkReferences[sourceName]?.[libraryName] ?? [];
|
|
50
54
|
const unprefixedAddress = getUnprefixedHexString(address);
|
|
51
55
|
for (const { start, length } of contractLinkReferences) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
replacements.push({
|
|
57
|
+
start: 2 + start * 2,
|
|
58
|
+
length: length * 2,
|
|
59
|
+
value: unprefixedAddress,
|
|
60
|
+
});
|
|
56
61
|
}
|
|
57
62
|
}
|
|
58
|
-
return getPrefixedHexString(
|
|
63
|
+
return getPrefixedHexString(applyBytecodeReplacements(bytecode, replacements));
|
|
59
64
|
}
|
|
60
65
|
//# sourceMappingURL=bytecode.js.map
|
package/dist/src/bytecode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytecode.js","sourceRoot":"","sources":["../../src/bytecode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bytecode.js","sourceRoot":"","sources":["../../src/bytecode.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAkB,EAClB,iBAAmC;IAEnC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAkB,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CACxD,QAAQ,CAAC,cAAc,CACxB,EAAE,CAAC;QACF,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,WAAW,EAAE,CAAC;YAClD,MAAM,OAAO,GACX,iBAAiB,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAElE,eAAe,CAAC,IAAI,CAAC;gBACnB,UAAU;gBACV,WAAW;gBACX,UAAU;gBACV,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gCAAgC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACrE,4BAA4B,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACjE,4BAA4B,CAAC,eAAe,CAAC,CAAC;IAE9C,OAAO,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAkB,EAClB,SAAwB;IAExB,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAC9C,MAAM,YAAY,GAA0B,EAAE,CAAC;IAE/C,KAAK,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,CAAC;QAC7D,MAAM,sBAAsB,GAC1B,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE1D,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,sBAAsB,EAAE,CAAC;YACvD,YAAY,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;gBACpB,MAAM,EAAE,MAAM,GAAG,CAAC;gBAClB,KAAK,EAAE,iBAAiB;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CACzB,yBAAyB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAClD,CAAC;AACJ,CAAC"}
|
package/dist/src/crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAOtE;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAKnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
package/dist/src/crypto.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// We don't load ethereum-cryptography on startup because it's slow to
|
|
2
|
+
// initialize and this module is transitively imported from many places.
|
|
3
|
+
let keccak256Impl;
|
|
4
|
+
let sha256Impl;
|
|
3
5
|
/**
|
|
4
6
|
* Computes the Keccak-256 hash of the input bytes.
|
|
5
7
|
*
|
|
@@ -7,6 +9,9 @@ import { sha256 as sha256Impl } from "ethereum-cryptography/sha256";
|
|
|
7
9
|
* @returns The Keccak-256 hash of the input bytes.
|
|
8
10
|
*/
|
|
9
11
|
export async function keccak256(bytes) {
|
|
12
|
+
if (keccak256Impl === undefined) {
|
|
13
|
+
({ keccak256: keccak256Impl } = await import("ethereum-cryptography/keccak"));
|
|
14
|
+
}
|
|
10
15
|
return keccak256Impl(bytes);
|
|
11
16
|
}
|
|
12
17
|
/**
|
|
@@ -16,6 +21,9 @@ export async function keccak256(bytes) {
|
|
|
16
21
|
* @returns The SHA-256 hash of the input bytes.
|
|
17
22
|
*/
|
|
18
23
|
export async function sha256(bytes) {
|
|
24
|
+
if (sha256Impl === undefined) {
|
|
25
|
+
({ sha256: sha256Impl } = await import("ethereum-cryptography/sha256"));
|
|
26
|
+
}
|
|
19
27
|
return sha256Impl(bytes);
|
|
20
28
|
}
|
|
21
29
|
/**
|
package/dist/src/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAGA,sEAAsE;AACtE,wEAAwE;AACxE,IAAI,aAA2C,CAAC;AAChD,IAAI,UAAqC,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAiB;IAC/C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAC1C,8BAA8B,CAC/B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAiB;IAC5C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/src/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"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"}
|
package/dist/src/fs.js
CHANGED
|
@@ -2,11 +2,15 @@ import fsPromises from "node:fs/promises";
|
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { pipeline } from "node:stream/promises";
|
|
5
|
-
import { JSONParser } from "@streamparser/json-node";
|
|
6
|
-
import { JsonStreamStringify } from "json-stream-stringify";
|
|
7
5
|
import { ensureError, ensureNodeErrnoExceptionError } from "./error.js";
|
|
8
6
|
import { FileNotFoundError, FileSystemAccessError, InvalidFileFormatError, JsonSerializationError, FileAlreadyExistsError, NotADirectoryError, IsDirectoryError, DirectoryNotEmptyError, } from "./errors/fs.js";
|
|
9
|
-
import {
|
|
7
|
+
import { collectAllDirectoriesMatching, collectAllFilesMatching, } from "./internal/fs.js";
|
|
8
|
+
// We don't load @streamparser/json-node on startup because it's only
|
|
9
|
+
// used by readJsonFileAsStream for very large JSON files.
|
|
10
|
+
let streamParserJson;
|
|
11
|
+
// We don't load json-stream-stringify on startup because it's only
|
|
12
|
+
// used by writeJsonFileAsStream for very large JSON objects.
|
|
13
|
+
let jsonStreamStringify;
|
|
10
14
|
const AMBIGUOUS_CASING_DIR_ENTRY = Symbol("ambiguous");
|
|
11
15
|
/**
|
|
12
16
|
* Resolves paths to their true (on-disk) casing, caching directory listings
|
|
@@ -221,24 +225,9 @@ export async function getRealPath(absolutePath) {
|
|
|
221
225
|
* @throws FileSystemAccessError for any other error.
|
|
222
226
|
*/
|
|
223
227
|
export async function getAllFilesMatching(dirFrom, matches, directoryFilter) {
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
if (await isDirectoryDirentAware(absolutePathToFile, dirent)) {
|
|
228
|
-
if (directoryFilter === undefined ||
|
|
229
|
-
(await directoryFilter(absolutePathToFile))) {
|
|
230
|
-
return await getAllFilesMatching(absolutePathToFile, matches, directoryFilter);
|
|
231
|
-
}
|
|
232
|
-
return [];
|
|
233
|
-
}
|
|
234
|
-
else if (matches === undefined || (await matches(absolutePathToFile))) {
|
|
235
|
-
return absolutePathToFile;
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
return [];
|
|
239
|
-
}
|
|
240
|
-
}));
|
|
241
|
-
return results.flat();
|
|
228
|
+
const results = [];
|
|
229
|
+
await collectAllFilesMatching(dirFrom, results, matches, directoryFilter);
|
|
230
|
+
return results;
|
|
242
231
|
}
|
|
243
232
|
/**
|
|
244
233
|
* Recursively searches a directory and its subdirectories for directories that
|
|
@@ -256,18 +245,9 @@ export async function getAllFilesMatching(dirFrom, matches, directoryFilter) {
|
|
|
256
245
|
* @throws FileSystemAccessError for any other error.
|
|
257
246
|
*/
|
|
258
247
|
export async function getAllDirectoriesMatching(dirFrom, matches) {
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
if (!(await isDirectoryDirentAware(absolutePathToFile, dirent))) {
|
|
263
|
-
return [];
|
|
264
|
-
}
|
|
265
|
-
if (matches === undefined || (await matches(absolutePathToFile))) {
|
|
266
|
-
return absolutePathToFile;
|
|
267
|
-
}
|
|
268
|
-
return await getAllDirectoriesMatching(absolutePathToFile, matches);
|
|
269
|
-
}));
|
|
270
|
-
return results.flat();
|
|
248
|
+
const results = [];
|
|
249
|
+
await collectAllDirectoriesMatching(dirFrom, results, matches);
|
|
250
|
+
return results;
|
|
271
251
|
}
|
|
272
252
|
/**
|
|
273
253
|
* Determines the true case path of a given relative path from a specified
|
|
@@ -340,9 +320,12 @@ export async function readJsonFileAsStream(absolutePathToFile) {
|
|
|
340
320
|
try {
|
|
341
321
|
fileHandle = await fsPromises.open(absolutePathToFile, "r");
|
|
342
322
|
const fileReadStream = fileHandle.createReadStream();
|
|
323
|
+
if (streamParserJson === undefined) {
|
|
324
|
+
streamParserJson = await import("@streamparser/json-node");
|
|
325
|
+
}
|
|
343
326
|
// NOTE: We set a separator to disable self-closing to be able to use the parser
|
|
344
327
|
// in the stream.pipeline context; see https://github.com/juanjoDiaz/streamparser-json/issues/47
|
|
345
|
-
const jsonParser = new JSONParser({
|
|
328
|
+
const jsonParser = new streamParserJson.JSONParser({
|
|
346
329
|
separator: "",
|
|
347
330
|
});
|
|
348
331
|
const result = await pipeline(fileReadStream, jsonParser, async (elements) => {
|
|
@@ -419,7 +402,10 @@ export async function writeJsonFileAsStream(absolutePathToFile, object) {
|
|
|
419
402
|
let fileHandle;
|
|
420
403
|
try {
|
|
421
404
|
fileHandle = await fsPromises.open(absolutePathToFile, "w");
|
|
422
|
-
|
|
405
|
+
if (jsonStreamStringify === undefined) {
|
|
406
|
+
jsonStreamStringify = await import("json-stream-stringify");
|
|
407
|
+
}
|
|
408
|
+
const jsonStream = new jsonStreamStringify.JsonStreamStringify(object);
|
|
423
409
|
const fileWriteStream = fileHandle.createWriteStream();
|
|
424
410
|
await pipeline(jsonStream, fileWriteStream);
|
|
425
411
|
}
|
package/dist/src/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"AAIA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,qEAAqE;AACrE,0DAA0D;AAC1D,IAAI,gBAAqD,CAAC;AAE1D,mEAAmE;AACnE,6DAA6D;AAC7D,IAAI,mBAA2D,CAAC;AAEhE,MAAM,0BAA0B,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAsBvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;;;OAIG;IACM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEnD;;;;;;;;;OASG;IACM,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE/D;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,eAAe,CAC1B,IAAY,EACZ,YAAoB;QAEpB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;YACzC,yEAAyE;YACzE,kEAAkE;YAClE,sCAAsC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEnE,IACE,oBAAoB,KAAK,IAAI;YAC7B,oBAAoB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EACrC,CAAC;YACD,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,YAAoB;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,oBAAoB,GACxB,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY;aAC7B,GAAG,CAAC,YAAY,CAAC;YAClB,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAE9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAE/D,IAAI,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACxD,CAAC;QAED,gBAAgB,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QAErD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,YAAoB;QACrD,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,MAAM,QAAQ,GAAG,IAAI;aAClB,SAAS,CAAC,YAAY,CAAC;aACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAE5C,KAAK,MAAM,aAAa,IAAI,QAAQ,EAAE,CAAC;YACrC,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE7D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA2B,CAAC;QAE3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAErB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC7B,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,OAAmB,EAAE,aAAqB;QACrD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAC3C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAC9B,CAAC;QAEF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,0BAA0B,EAAE,CAAC;YACxE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,8BAA8B,CAAC,YAAoB;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,OAAoE,EACpE,eAA2E;IAE3E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAE1E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,OAAmE;IAEnE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,YAAoB;IAEpB,OAAO,MAAM,IAAI,oBAAoB,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB;IACpD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,kBAA0B;IAC9D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,kBAA0B;IAE1B,IAAI,UAAkC,CAAC;IAEvC,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAErD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,gBAAgB,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC7D,CAAC;QAED,gFAAgF;QAChF,gGAAgG;QAChG,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC;YACjD,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,GAAkB,MAAM,QAAQ,CAC1C,cAAc,EACd,UAAU,EACV,KAAK,EACH,QAA6E,EACnD,EAAE;YAC5B,IAAI,KAGS,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACrC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACxB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,WAAW,CAAC,CAAC,CAAC,CAAC;QAEf,+EAA+E;QAC/E,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,+EAA+E;YAC/E,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,qBAAqB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;YAAS,CAAC;QACT,+EAA+E;QAC/E,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,kBAA0B,EAC1B,MAAS;IAET,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,kBAA0B,EAC1B,MAAS;IAET,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,UAAkC,CAAC;IAEvC,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAE5D,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,mBAAmB,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAEvD,MAAM,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,oDAAoD;QACpD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtB,+CAA+C;YACjD,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC,CAAA,CAAC;QACrB,CAAC;QAED,+EAA+E;QAC/E,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,sEAAsE;QACtE,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;YAAS,CAAC;QACT,4EAA4E;QAC5E,mFAAmF;QACnF,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,kBAA0B;IAE1B,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,kBAA0B,EAC1B,IAAY,EACZ,IAAa;IAEb,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE;YACnD,QAAQ,EAAE,MAAM;YAChB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,oDAAoD;QACpD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtB,+CAA+C;YACjD,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC,CAAA,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,kBAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7D,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,iBAAyB;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,iBAAyB;IAEzB,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,YAAoB;IAC9C,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAiB,KAAK,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,WAAW,CACtB,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CACtD,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,YAAoB;IACtD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,YAAoB;IACtD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB;IACpD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,YAAoB;IAC/C,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAc,EAAE,WAAmB;IAC5D,0DAA0D;IAC1D,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,2DAA2D;IAC3D,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,sEAAsE;QACtE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtE,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,MAAM,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAc,EAAE,WAAmB;IAC5D,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,wCAAwC;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjD,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,sBAAsB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,YAAoB;IAC/C,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE;YAChC,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,YAAoB,EACpB,IAAqB;IAErB,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,YAAoB;IACnD,MAAM,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,YAAoB;IACjD,IAAI,KAAK,CAAC;IACV,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,kBAAkB,CAAC,YAAY,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3B,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1B,6EAA6E;IAC7E,MAAM,KAAK,CAAC,YAAY,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,QAAgB,EAChB,IAAa;IAEb,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,YAAY,GAAG,IAAI;IAEnB,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEvB,+EAA+E;QAC/E,IACE,IAAI,KAAK,CAAC,IAAI,MAAM;YACpB,IAAI,KAAK,EAAE,IAAI,UAAU;YACzB,IAAI,KAAK,EAAE,IAAI,kBAAkB;YACjC,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAC3B,CAAC;YACD,SAAS;QACX,CAAC;QACD,YAAY,EAAE,CAAC;IACjB,CAAC;IAED,yEAAyE;IACzE,OAAO,YAAY,GAAG,SAAS,GAAG,GAAG,CAAC;AACxC,CAAC;AAED,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC"}
|
|
@@ -19,6 +19,11 @@ export interface LibraryLink {
|
|
|
19
19
|
export interface LibraryAddresses {
|
|
20
20
|
[contractName: string]: PrefixedHexString;
|
|
21
21
|
}
|
|
22
|
+
export interface BytecodeReplacement {
|
|
23
|
+
start: number;
|
|
24
|
+
length: number;
|
|
25
|
+
value: string;
|
|
26
|
+
}
|
|
22
27
|
/**
|
|
23
28
|
* Check that the provided library addresses are valid Ethereum addresses.
|
|
24
29
|
* If any of them are not, an InvalidLibraryAddressError is thrown.
|
|
@@ -42,4 +47,10 @@ export declare function checkOverlappingLibraryNames(providedLibraries: LibraryA
|
|
|
42
47
|
* providedLibraries map. In that case, an MissingLibrariesError is thrown.
|
|
43
48
|
*/
|
|
44
49
|
export declare function checkMissingLibraryAddresses(neededLibraries: LibraryLink[]): void;
|
|
50
|
+
/**
|
|
51
|
+
* Apply a set of replacements to a bytecode string, returning the resulting
|
|
52
|
+
* bytecode. Each replacement overwrites `length` characters starting at
|
|
53
|
+
* `start` with `value`. Replacements must not overlap.
|
|
54
|
+
*/
|
|
55
|
+
export declare function applyBytecodeReplacements(bytecode: string, replacements: BytecodeReplacement[]): string;
|
|
45
56
|
//# sourceMappingURL=bytecode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytecode.d.ts","sourceRoot":"","sources":["../../../src/internal/bytecode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAWnD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE;QACd,CAAC,eAAe,EAAE,MAAM,GAAG;YACzB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACjE,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC3C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,iBAAiB,EAAE,gBAAgB,GAClC,IAAI,CAaN;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,iBAAiB,EAAE,gBAAgB,EACnC,eAAe,EAAE,WAAW,EAAE,GAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"bytecode.d.ts","sourceRoot":"","sources":["../../../src/internal/bytecode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAWnD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE;QACd,CAAC,eAAe,EAAE,MAAM,GAAG;YACzB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACjE,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,iBAAiB,EAAE,gBAAgB,GAClC,IAAI,CAaN;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,iBAAiB,EAAE,gBAAgB,EACnC,eAAe,EAAE,WAAW,EAAE,GAC7B,IAAI,CA2BN;AAoBD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,gBAAgB,EACnC,eAAe,EAAE,WAAW,EAAE,GAC7B,IAAI,CAcN;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,WAAW,EAAE,GAC7B,IAAI,CAUN;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,mBAAmB,EAAE,GAClC,MAAM,CAkBR"}
|
|
@@ -24,9 +24,12 @@ export function checkProvidedLibraryAddresses(providedLibraries) {
|
|
|
24
24
|
export function checkAmbiguousOrUnnecessaryLinks(providedLibraries, neededLibraries) {
|
|
25
25
|
const ambiguousLibraries = {};
|
|
26
26
|
const unnecessaryLibraries = [];
|
|
27
|
+
const neededLibrariesIndex = indexLibraryLinks(neededLibraries);
|
|
27
28
|
for (const providedLibraryName of Object.keys(providedLibraries)) {
|
|
28
|
-
const
|
|
29
|
-
|
|
29
|
+
const matchingLibraryByFqn = neededLibrariesIndex.byFqn.get(providedLibraryName);
|
|
30
|
+
const matchingLibraries = matchingLibraryByFqn !== undefined
|
|
31
|
+
? [matchingLibraryByFqn]
|
|
32
|
+
: neededLibrariesIndex.byName.get(providedLibraryName) ?? [];
|
|
30
33
|
if (matchingLibraries.length > 1) {
|
|
31
34
|
ambiguousLibraries[providedLibraryName] = matchingLibraries;
|
|
32
35
|
}
|
|
@@ -41,6 +44,21 @@ export function checkAmbiguousOrUnnecessaryLinks(providedLibraries, neededLibrar
|
|
|
41
44
|
throw new UnnecessaryLibraryError(unnecessaryLibraries);
|
|
42
45
|
}
|
|
43
46
|
}
|
|
47
|
+
function indexLibraryLinks(neededLibraries) {
|
|
48
|
+
const byName = new Map();
|
|
49
|
+
const byFqn = new Map();
|
|
50
|
+
for (const neededLibrary of neededLibraries) {
|
|
51
|
+
byFqn.set(neededLibrary.libraryFqn, neededLibrary);
|
|
52
|
+
const sameNameLibraries = byName.get(neededLibrary.libraryName);
|
|
53
|
+
if (sameNameLibraries === undefined) {
|
|
54
|
+
byName.set(neededLibrary.libraryName, [neededLibrary]);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
sameNameLibraries.push(neededLibrary);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return { byName, byFqn };
|
|
61
|
+
}
|
|
44
62
|
/**
|
|
45
63
|
* Check that each library is only provided once, either by its name or its
|
|
46
64
|
* fully qualified name. If a library is provided more than once, an
|
|
@@ -70,4 +88,23 @@ export function checkMissingLibraryAddresses(neededLibraries) {
|
|
|
70
88
|
}
|
|
71
89
|
throw new MissingLibrariesError(missingLibraries);
|
|
72
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Apply a set of replacements to a bytecode string, returning the resulting
|
|
93
|
+
* bytecode. Each replacement overwrites `length` characters starting at
|
|
94
|
+
* `start` with `value`. Replacements must not overlap.
|
|
95
|
+
*/
|
|
96
|
+
export function applyBytecodeReplacements(bytecode, replacements) {
|
|
97
|
+
if (replacements.length === 0) {
|
|
98
|
+
return bytecode;
|
|
99
|
+
}
|
|
100
|
+
replacements.sort((a, b) => a.start - b.start);
|
|
101
|
+
const parts = [];
|
|
102
|
+
let position = 0;
|
|
103
|
+
for (const { start, length, value } of replacements) {
|
|
104
|
+
parts.push(bytecode.slice(position, start), value);
|
|
105
|
+
position = start + length;
|
|
106
|
+
}
|
|
107
|
+
parts.push(bytecode.slice(position));
|
|
108
|
+
return parts.join("");
|
|
109
|
+
}
|
|
73
110
|
//# sourceMappingURL=bytecode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytecode.js","sourceRoot":"","sources":["../../../src/internal/bytecode.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bytecode.js","sourceRoot":"","sources":["../../../src/internal/bytecode.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,19 @@ export declare function readdirWithFileTypesOrEmpty(dirFrom: string): Promise<Di
|
|
|
9
9
|
* when the dirent type is unknown.
|
|
10
10
|
*/
|
|
11
11
|
export declare function isDirectoryDirentAware(absolutePath: string, dirent: Dirent): Promise<boolean>;
|
|
12
|
+
/**
|
|
13
|
+
* Recursively walk the directory tree rooted at `dirFrom`, appending the
|
|
14
|
+
* absolute paths of every file accepted by `matches` to `results`. Descent
|
|
15
|
+
* into a subdirectory is gated by `directoryFilter`. When either callback is
|
|
16
|
+
* omitted, every file or directory is accepted.
|
|
17
|
+
*/
|
|
18
|
+
export declare function collectAllFilesMatching(dirFrom: string, results: string[], matches?: (absolutePathToFile: string) => Promise<boolean> | boolean, directoryFilter?: (absolutePathToDir: string) => Promise<boolean> | boolean): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Recursively walk the directory tree rooted at `dirFrom`, appending the
|
|
21
|
+
* absolute paths of every directory accepted by `matches` to `results`. When
|
|
22
|
+
* a directory matches, its descendants are not explored; when it does not,
|
|
23
|
+
* the walk continues into its subdirectories. When `matches` is omitted,
|
|
24
|
+
* every directory is accepted and recursion stops at the top level.
|
|
25
|
+
*/
|
|
26
|
+
export declare function collectAllDirectoriesMatching(dirFrom: string, results: string[], matches?: (absolutePathToDir: string) => Promise<boolean> | boolean): Promise<void>;
|
|
12
27
|
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/internal/fs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/internal/fs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAStC;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACpE,eAAe,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAC1E,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAClE,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
package/dist/src/internal/fs.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import fsPromises from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
2
3
|
import { ensureNodeErrnoExceptionError } from "../error.js";
|
|
3
4
|
import { FileSystemAccessError, NotADirectoryError } from "../errors/fs.js";
|
|
4
5
|
import { isDirectory } from "../fs.js";
|
|
@@ -39,4 +40,47 @@ export async function isDirectoryDirentAware(absolutePath, dirent) {
|
|
|
39
40
|
}
|
|
40
41
|
return await isDirectory(absolutePath);
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Recursively walk the directory tree rooted at `dirFrom`, appending the
|
|
45
|
+
* absolute paths of every file accepted by `matches` to `results`. Descent
|
|
46
|
+
* into a subdirectory is gated by `directoryFilter`. When either callback is
|
|
47
|
+
* omitted, every file or directory is accepted.
|
|
48
|
+
*/
|
|
49
|
+
export async function collectAllFilesMatching(dirFrom, results, matches, directoryFilter) {
|
|
50
|
+
const dirContent = await readdirWithFileTypesOrEmpty(dirFrom);
|
|
51
|
+
await Promise.all(dirContent.map(async (dirent) => {
|
|
52
|
+
const absolutePathToFile = path.join(dirFrom, dirent.name);
|
|
53
|
+
if (await isDirectoryDirentAware(absolutePathToFile, dirent)) {
|
|
54
|
+
if (directoryFilter === undefined ||
|
|
55
|
+
(await directoryFilter(absolutePathToFile))) {
|
|
56
|
+
await collectAllFilesMatching(absolutePathToFile, results, matches, directoryFilter);
|
|
57
|
+
}
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
else if (matches === undefined || (await matches(absolutePathToFile))) {
|
|
61
|
+
results.push(absolutePathToFile);
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Recursively walk the directory tree rooted at `dirFrom`, appending the
|
|
67
|
+
* absolute paths of every directory accepted by `matches` to `results`. When
|
|
68
|
+
* a directory matches, its descendants are not explored; when it does not,
|
|
69
|
+
* the walk continues into its subdirectories. When `matches` is omitted,
|
|
70
|
+
* every directory is accepted and recursion stops at the top level.
|
|
71
|
+
*/
|
|
72
|
+
export async function collectAllDirectoriesMatching(dirFrom, results, matches) {
|
|
73
|
+
const dirContent = await readdirWithFileTypesOrEmpty(dirFrom);
|
|
74
|
+
await Promise.all(dirContent.map(async (dirent) => {
|
|
75
|
+
const absolutePathToFile = path.join(dirFrom, dirent.name);
|
|
76
|
+
if (!(await isDirectoryDirentAware(absolutePathToFile, dirent))) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (matches === undefined || (await matches(absolutePathToFile))) {
|
|
80
|
+
results.push(absolutePathToFile);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
await collectAllDirectoriesMatching(absolutePathToFile, results, matches);
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
42
86
|
//# sourceMappingURL=fs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/internal/fs.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/internal/fs.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAe;IAEf,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAoB,EACpB,MAAc;IAEd,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,MAAM,CAAC,MAAM,EAAE;QACf,MAAM,CAAC,cAAc,EAAE;QACvB,MAAM,CAAC,aAAa,EAAE;QACtB,MAAM,CAAC,iBAAiB,EAAE;QAC1B,MAAM,CAAC,MAAM,EAAE;QACf,MAAM,CAAC,QAAQ,EAAE,EACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,OAAiB,EACjB,OAAoE,EACpE,eAA2E;IAE3E,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7D,IACE,eAAe,KAAK,SAAS;gBAC7B,CAAC,MAAM,eAAe,CAAC,kBAAkB,CAAC,CAAC,EAC3C,CAAC;gBACD,MAAM,uBAAuB,CAC3B,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,eAAe,CAChB,CAAC;YACJ,CAAC;YAED,OAAO;QACT,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAe,EACf,OAAiB,EACjB,OAAmE;IAEnE,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,MAAM,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,6BAA6B,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { Paths } from "env-paths";
|
|
2
2
|
export declare const HARDHAT_PACKAGE_NAME = "hardhat";
|
|
3
|
-
export declare function generatePaths(packageName: string): Promise<
|
|
3
|
+
export declare function generatePaths(packageName: string): Promise<Paths>;
|
|
4
4
|
//# sourceMappingURL=global-dir.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-dir.d.ts","sourceRoot":"","sources":["../../../src/internal/global-dir.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"global-dir.d.ts","sourceRoot":"","sources":["../../../src/internal/global-dir.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAO9C,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAKvE"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import envPaths from "env-paths";
|
|
2
1
|
export const HARDHAT_PACKAGE_NAME = "hardhat";
|
|
2
|
+
// We don't load env-paths on startup because this module is transitively
|
|
3
|
+
// imported from many places but generatePaths is rarely called during
|
|
4
|
+
// bootstrap.
|
|
5
|
+
let envPaths;
|
|
3
6
|
export async function generatePaths(packageName) {
|
|
7
|
+
if (envPaths === undefined) {
|
|
8
|
+
({ default: envPaths } = await import("env-paths"));
|
|
9
|
+
}
|
|
4
10
|
return envPaths(packageName);
|
|
5
11
|
}
|
|
6
12
|
//# sourceMappingURL=global-dir.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-dir.js","sourceRoot":"","sources":["../../../src/internal/global-dir.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"global-dir.js","sourceRoot":"","sources":["../../../src/internal/global-dir.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAE9C,yEAAyE;AACzE,sEAAsE;AACtE,aAAa;AACb,IAAI,QAA+C,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAmB;IACrD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type Rfdc from "rfdc";
|
|
2
|
+
export declare function getDeepCloneFunction(): Promise<ReturnType<typeof Rfdc>>;
|
|
2
3
|
export declare function deepMergeImpl<T extends object, S extends object>(target: T, source: S, shouldOverwriteUndefined: boolean): T & S;
|
|
3
4
|
/**
|
|
4
5
|
* Performs a custom deep equality check using `fast-equals` with specific overrides.
|
|
@@ -7,5 +8,5 @@ export declare function deepMergeImpl<T extends object, S extends object>(target
|
|
|
7
8
|
* @param y The second value to compare.
|
|
8
9
|
* @returns True if the values are deeply equal, false otherwise.
|
|
9
10
|
*/
|
|
10
|
-
export declare function customFastEqual<T>(x: T, y: T): boolean
|
|
11
|
+
export declare function customFastEqual<T>(x: T, y: T): Promise<boolean>;
|
|
11
12
|
//# sourceMappingURL=lang.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../../src/internal/lang.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../../src/internal/lang.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAS7B,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAO7E;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC9D,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,wBAAwB,EAAE,OAAO,GAChC,CAAC,GAAG,CAAC,CAmCP;AAOD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBrE"}
|