sol-dbg 0.6.15 → 0.7.2

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 (181) hide show
  1. package/dist/artifacts/helpers.d.ts +3 -3
  2. package/dist/artifacts/helpers.d.ts.map +1 -1
  3. package/dist/artifacts/helpers.js +17 -53
  4. package/dist/artifacts/helpers.js.map +1 -1
  5. package/dist/artifacts/solc.d.ts +1 -8
  6. package/dist/artifacts/solc.d.ts.map +1 -1
  7. package/dist/debug/abi.d.ts +11 -41
  8. package/dist/debug/abi.d.ts.map +1 -1
  9. package/dist/debug/abi.js +60 -294
  10. package/dist/debug/abi.js.map +1 -1
  11. package/dist/debug/artifact_manager/artifact_manager.d.ts +17 -42
  12. package/dist/debug/artifact_manager/artifact_manager.d.ts.map +1 -1
  13. package/dist/debug/artifact_manager/artifact_manager.js +82 -22
  14. package/dist/debug/artifact_manager/artifact_manager.js.map +1 -1
  15. package/dist/debug/artifact_manager/bytecode_templates.d.ts +1 -1
  16. package/dist/debug/artifact_manager/bytecode_templates.d.ts.map +1 -1
  17. package/dist/debug/artifact_manager/bytecode_templates.js +4 -3
  18. package/dist/debug/artifact_manager/bytecode_templates.js.map +1 -1
  19. package/dist/debug/artifact_manager/index.d.ts +1 -0
  20. package/dist/debug/artifact_manager/index.d.ts.map +1 -1
  21. package/dist/debug/artifact_manager/index.js +1 -0
  22. package/dist/debug/artifact_manager/index.js.map +1 -1
  23. package/dist/debug/artifact_manager/types.d.ts +129 -0
  24. package/dist/debug/artifact_manager/types.d.ts.map +1 -0
  25. package/dist/debug/artifact_manager/types.js +12 -0
  26. package/dist/debug/artifact_manager/types.js.map +1 -0
  27. package/dist/debug/decoding/calldata/index.d.ts +2 -0
  28. package/dist/debug/decoding/calldata/index.d.ts.map +1 -0
  29. package/dist/debug/decoding/calldata/index.js +6 -0
  30. package/dist/debug/decoding/calldata/index.js.map +1 -0
  31. package/dist/debug/decoding/calldata/view.d.ts +75 -0
  32. package/dist/debug/decoding/calldata/view.d.ts.map +1 -0
  33. package/dist/debug/decoding/calldata/view.js +400 -0
  34. package/dist/debug/decoding/calldata/view.js.map +1 -0
  35. package/dist/debug/decoding/exp_types.d.ts +46 -0
  36. package/dist/debug/decoding/exp_types.d.ts.map +1 -0
  37. package/dist/debug/decoding/exp_types.js +202 -0
  38. package/dist/debug/decoding/exp_types.js.map +1 -0
  39. package/dist/debug/decoding/general.d.ts +5 -9
  40. package/dist/debug/decoding/general.d.ts.map +1 -1
  41. package/dist/debug/decoding/general.js +25 -103
  42. package/dist/debug/decoding/general.js.map +1 -1
  43. package/dist/debug/decoding/index.d.ts +1 -0
  44. package/dist/debug/decoding/index.d.ts.map +1 -1
  45. package/dist/debug/decoding/index.js +1 -0
  46. package/dist/debug/decoding/index.js.map +1 -1
  47. package/dist/debug/decoding/memory/allocator.d.ts +22 -0
  48. package/dist/debug/decoding/memory/allocator.d.ts.map +1 -0
  49. package/dist/debug/decoding/memory/allocator.js +47 -0
  50. package/dist/debug/decoding/memory/allocator.js.map +1 -0
  51. package/dist/debug/decoding/memory/index.d.ts +2 -0
  52. package/dist/debug/decoding/memory/index.d.ts.map +1 -0
  53. package/dist/debug/decoding/memory/index.js +6 -0
  54. package/dist/debug/decoding/memory/index.js.map +1 -0
  55. package/dist/debug/decoding/memory/view.d.ts +66 -0
  56. package/dist/debug/decoding/memory/view.d.ts.map +1 -0
  57. package/dist/debug/decoding/memory/view.js +283 -0
  58. package/dist/debug/decoding/memory/view.js.map +1 -0
  59. package/dist/debug/decoding/stack/index.d.ts +2 -0
  60. package/dist/debug/decoding/stack/index.d.ts.map +1 -0
  61. package/dist/debug/decoding/stack/index.js +6 -0
  62. package/dist/debug/decoding/stack/index.js.map +1 -0
  63. package/dist/debug/decoding/stack/view.d.ts +36 -0
  64. package/dist/debug/decoding/stack/view.d.ts.map +1 -0
  65. package/dist/debug/decoding/stack/view.js +156 -0
  66. package/dist/debug/decoding/stack/view.js.map +1 -0
  67. package/dist/debug/decoding/storage/index.d.ts +2 -0
  68. package/dist/debug/decoding/storage/index.d.ts.map +1 -0
  69. package/dist/debug/decoding/storage/index.js +6 -0
  70. package/dist/debug/decoding/storage/index.js.map +1 -0
  71. package/dist/debug/decoding/storage/view.d.ts +105 -0
  72. package/dist/debug/decoding/storage/view.d.ts.map +1 -0
  73. package/dist/debug/decoding/storage/view.js +603 -0
  74. package/dist/debug/decoding/storage/view.js.map +1 -0
  75. package/dist/debug/decoding/utils.d.ts +17 -0
  76. package/dist/debug/decoding/utils.d.ts.map +1 -0
  77. package/dist/debug/decoding/utils.js +43 -0
  78. package/dist/debug/decoding/utils.js.map +1 -0
  79. package/dist/debug/decoding/value.d.ts +50 -0
  80. package/dist/debug/decoding/value.d.ts.map +1 -0
  81. package/dist/debug/decoding/value.js +106 -0
  82. package/dist/debug/decoding/value.js.map +1 -0
  83. package/dist/debug/decoding/view.d.ts +24 -0
  84. package/dist/debug/decoding/view.d.ts.map +1 -0
  85. package/dist/debug/decoding/view.js +22 -0
  86. package/dist/debug/decoding/view.js.map +1 -0
  87. package/dist/debug/foundry_cheatcodes.d.ts +15 -15
  88. package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
  89. package/dist/debug/foundry_cheatcodes.js +17 -16
  90. package/dist/debug/foundry_cheatcodes.js.map +1 -1
  91. package/dist/debug/layout.d.ts +6 -8
  92. package/dist/debug/layout.d.ts.map +1 -1
  93. package/dist/debug/layout.js +14 -78
  94. package/dist/debug/layout.js.map +1 -1
  95. package/dist/debug/opcode_interposing.js +5 -5
  96. package/dist/debug/opcode_interposing.js.map +1 -1
  97. package/dist/debug/tracers/base_tracer.d.ts +4 -4
  98. package/dist/debug/tracers/base_tracer.d.ts.map +1 -1
  99. package/dist/debug/tracers/base_tracer.js +7 -7
  100. package/dist/debug/tracers/base_tracer.js.map +1 -1
  101. package/dist/debug/tracers/sol_debugger.d.ts.map +1 -1
  102. package/dist/debug/tracers/sol_debugger.js +2 -1
  103. package/dist/debug/tracers/sol_debugger.js.map +1 -1
  104. package/dist/debug/tracers/storage_decode_tracer.js +1 -1
  105. package/dist/debug/tracers/storage_decode_tracer.js.map +1 -1
  106. package/dist/debug/tracers/transformers/basic_info.d.ts +2 -2
  107. package/dist/debug/tracers/transformers/basic_info.d.ts.map +1 -1
  108. package/dist/debug/tracers/transformers/basic_info.js +4 -3
  109. package/dist/debug/tracers/transformers/basic_info.js.map +1 -1
  110. package/dist/debug/tracers/transformers/events.js +2 -2
  111. package/dist/debug/tracers/transformers/events.js.map +1 -1
  112. package/dist/debug/tracers/transformers/exc_info.d.ts +15 -0
  113. package/dist/debug/tracers/transformers/exc_info.d.ts.map +1 -0
  114. package/dist/debug/tracers/transformers/exc_info.js +39 -0
  115. package/dist/debug/tracers/transformers/exc_info.js.map +1 -0
  116. package/dist/debug/tracers/transformers/ext_stack.d.ts.map +1 -1
  117. package/dist/debug/tracers/transformers/ext_stack.js +13 -30
  118. package/dist/debug/tracers/transformers/ext_stack.js.map +1 -1
  119. package/dist/debug/tracers/transformers/index.d.ts +1 -0
  120. package/dist/debug/tracers/transformers/index.d.ts.map +1 -1
  121. package/dist/debug/tracers/transformers/index.js +1 -0
  122. package/dist/debug/tracers/transformers/index.js.map +1 -1
  123. package/dist/debug/tracers/transformers/int_stack.d.ts.map +1 -1
  124. package/dist/debug/tracers/transformers/int_stack.js +5 -13
  125. package/dist/debug/tracers/transformers/int_stack.js.map +1 -1
  126. package/dist/debug/tracers/transformers/keccak256_invert.js +4 -4
  127. package/dist/debug/tracers/transformers/keccak256_invert.js.map +1 -1
  128. package/dist/debug/tracers/transformers/ret_info.d.ts +1 -1
  129. package/dist/debug/tracers/transformers/ret_info.d.ts.map +1 -1
  130. package/dist/debug/tracers/transformers/ret_info.js +22 -46
  131. package/dist/debug/tracers/transformers/ret_info.js.map +1 -1
  132. package/dist/debug/types.d.ts +64 -23
  133. package/dist/debug/types.d.ts.map +1 -1
  134. package/dist/debug/types.js.map +1 -1
  135. package/dist/utils/ethereumjs_internal/exceptions.d.ts +2 -2
  136. package/dist/utils/ethereumjs_internal/opcodes.js +1 -1
  137. package/dist/utils/immutable_map.d.ts +2 -0
  138. package/dist/utils/immutable_map.d.ts.map +1 -1
  139. package/dist/utils/immutable_map.js +21 -0
  140. package/dist/utils/immutable_map.js.map +1 -1
  141. package/dist/utils/index.d.ts +1 -0
  142. package/dist/utils/index.d.ts.map +1 -1
  143. package/dist/utils/index.js +1 -0
  144. package/dist/utils/index.js.map +1 -1
  145. package/dist/utils/misc.d.ts +19 -11
  146. package/dist/utils/misc.d.ts.map +1 -1
  147. package/dist/utils/misc.js +61 -53
  148. package/dist/utils/misc.js.map +1 -1
  149. package/dist/utils/pp.d.ts +3 -1
  150. package/dist/utils/pp.d.ts.map +1 -1
  151. package/dist/utils/pp.js +10 -27
  152. package/dist/utils/pp.js.map +1 -1
  153. package/dist/utils/solidity.d.ts +11 -0
  154. package/dist/utils/solidity.d.ts.map +1 -0
  155. package/dist/utils/solidity.js +85 -0
  156. package/dist/utils/solidity.js.map +1 -0
  157. package/dist/utils/test_runner.d.ts +9 -6
  158. package/dist/utils/test_runner.d.ts.map +1 -1
  159. package/dist/utils/test_runner.js +26 -21
  160. package/dist/utils/test_runner.js.map +1 -1
  161. package/dist/utils/trace.d.ts +5 -1
  162. package/dist/utils/trace.d.ts.map +1 -1
  163. package/dist/utils/trace.js +16 -0
  164. package/dist/utils/trace.js.map +1 -1
  165. package/package.json +19 -14
  166. package/dist/debug/decoding/calldata.d.ts +0 -6
  167. package/dist/debug/decoding/calldata.d.ts.map +0 -1
  168. package/dist/debug/decoding/calldata.js +0 -244
  169. package/dist/debug/decoding/calldata.js.map +0 -1
  170. package/dist/debug/decoding/memory.d.ts +0 -4
  171. package/dist/debug/decoding/memory.d.ts.map +0 -1
  172. package/dist/debug/decoding/memory.js +0 -216
  173. package/dist/debug/decoding/memory.js.map +0 -1
  174. package/dist/debug/decoding/stack.d.ts +0 -9
  175. package/dist/debug/decoding/stack.d.ts.map +0 -1
  176. package/dist/debug/decoding/stack.js +0 -84
  177. package/dist/debug/decoding/stack.js.map +0 -1
  178. package/dist/debug/decoding/storage.d.ts +0 -7
  179. package/dist/debug/decoding/storage.d.ts.map +0 -1
  180. package/dist/debug/decoding/storage.js +0 -393
  181. package/dist/debug/decoding/storage.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,QAAQ,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAO1D;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAE/F;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,eAAe,CAExD;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,kCAAkC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAErE"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCalldataArrayType = isCalldataArrayType;
4
+ exports.inRange = inRange;
5
+ exports.isFailure = isFailure;
6
+ exports.isTypeStringDynamicArray = isTypeStringDynamicArray;
7
+ exports.isTypeStringMapping = isTypeStringMapping;
8
+ exports.isTypeStringStruct = isTypeStringStruct;
9
+ exports.isTypeStringStatic32BytesInStorage = isTypeStringStatic32BytesInStorage;
10
+ const solc_typed_ast_1 = require("solc-typed-ast");
11
+ const value_1 = require("./value");
12
+ function isCalldataArrayType(typ) {
13
+ return (typ instanceof solc_typed_ast_1.PointerType &&
14
+ ((typ.to instanceof solc_typed_ast_1.ArrayType && typ.to.size === undefined) ||
15
+ typ.to instanceof solc_typed_ast_1.PackedArrayType) &&
16
+ typ.location === solc_typed_ast_1.DataLocation.CallData);
17
+ }
18
+ /**
19
+ * Returns true IFF the n >= min && n <= max
20
+ *
21
+ * @param n
22
+ * @param min
23
+ * @param max
24
+ */
25
+ function inRange(n, min, max) {
26
+ return BigInt(n) >= BigInt(min) && BigInt(n) <= BigInt(max);
27
+ }
28
+ function isFailure(t) {
29
+ return t instanceof value_1.DecodingFailure;
30
+ }
31
+ function isTypeStringDynamicArray(t) {
32
+ return t.endsWith("[]");
33
+ }
34
+ function isTypeStringMapping(t) {
35
+ return t.startsWith("mapping(");
36
+ }
37
+ function isTypeStringStruct(t) {
38
+ return t.startsWith("struct ");
39
+ }
40
+ function isTypeStringStatic32BytesInStorage(t) {
41
+ return isTypeStringDynamicArray(t) || isTypeStringMapping(t);
42
+ }
43
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/debug/decoding/utils.ts"],"names":[],"mappings":";;AASA,kDAOC;AASD,0BAEC;AAED,8BAEC;AAED,4DAEC;AAED,kDAEC;AAED,gDAEC;AAED,gFAEC;AA/CD,mDAMwB;AACxB,mCAAiD;AAEjD,SAAgB,mBAAmB,CAAC,GAAa;IAC7C,OAAO,CACH,GAAG,YAAY,4BAAW;QAC1B,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,0BAAS,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;YACvD,GAAG,CAAC,EAAE,YAAY,gCAAe,CAAC;QACtC,GAAG,CAAC,QAAQ,KAAK,6BAAe,CAAC,QAAQ,CAC5C,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,CAAkB,EAAE,GAAoB,EAAE,GAAoB;IAClF,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,SAAS,CAAC,CAAQ;IAC9B,OAAO,CAAC,YAAY,uBAAe,CAAC;AACxC,CAAC;AAED,SAAgB,wBAAwB,CAAC,CAAS;IAC9C,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,mBAAmB,CAAC,CAAS;IACzC,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,kBAAkB,CAAC,CAAS;IACxC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,kCAAkC,CAAC,CAAS;IACxD,OAAO,wBAAwB,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { Address } from "@ethereumjs/util";
2
+ import { FunctionDefinition, TypeNode } from "solc-typed-ast";
3
+ import { View } from "./view";
4
+ export declare class ExternalFunRef {
5
+ readonly address: Address;
6
+ readonly selector: Uint8Array;
7
+ constructor(address: Address, selector: Uint8Array);
8
+ }
9
+ export declare class InternalFunRef {
10
+ readonly fun: FunctionDefinition;
11
+ constructor(fun: FunctionDefinition);
12
+ }
13
+ export type FunctionValue = ExternalFunRef | InternalFunRef;
14
+ export declare class Struct {
15
+ readonly entries: Array<[string, Value]>;
16
+ constructor(entries: Array<[string, Value]>);
17
+ field(name: string): Value;
18
+ }
19
+ export declare class Slice {
20
+ readonly array: Value[];
21
+ readonly start: number;
22
+ readonly end: number;
23
+ constructor(array: Value[], start: number, end: number);
24
+ }
25
+ export declare abstract class Poison {
26
+ abstract pp(): string;
27
+ }
28
+ export declare class DecodingFailure extends Poison {
29
+ readonly reason: string;
30
+ constructor(reason: string);
31
+ pp(): string;
32
+ }
33
+ /**
34
+ * Return true if `v` is a type of Poison.
35
+ * @param v
36
+ * @returns
37
+ */
38
+ export declare function isPoison(v: Value): v is Poison;
39
+ /**
40
+ * Return true if `v` contains any Poison inside.
41
+ * @param v
42
+ * @returns
43
+ */
44
+ export declare function hasPoison(v: Value): boolean;
45
+ /**
46
+ * Typescript types corresponding to various Solidity types.
47
+ * Includes both primitive (value) types and compound types
48
+ */
49
+ export type Value = bigint | boolean | Uint8Array | string | number | Address | FunctionValue | Value[] | Slice | Struct | Map<Value, Value> | View<any, Value, any, TypeNode> | Poison;
50
+ //# sourceMappingURL=value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAU,kBAAkB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,cAAc;aAEH,OAAO,EAAE,OAAO;aAChB,QAAQ,EAAE,UAAU;gBADpB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAU;CAE3C;AAED,qBAAa,cAAc;aACK,GAAG,EAAE,kBAAkB;gBAAvB,GAAG,EAAE,kBAAkB;CACtD;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;AAE5D,qBAAa,MAAM;aACa,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAA/B,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;CAS7B;AAED,qBAAa,KAAK;aAEM,KAAK,EAAE,KAAK,EAAE;aACd,KAAK,EAAE,MAAM;aACb,GAAG,EAAE,MAAM;gBAFX,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM;CAElC;AAED,8BAAsB,MAAM;IACxB,QAAQ,CAAC,EAAE,IAAI,MAAM;CACxB;AAED,qBAAa,eAAgB,SAAQ,MAAM;aACX,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAI1C,EAAE,IAAI,MAAM;CAGf;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CA8C3C;AAED;;;GAGG;AACH,MAAM,MAAM,KAAK,GACX,MAAM,GACN,OAAO,GACP,UAAU,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,aAAa,GACb,KAAK,EAAE,GACP,KAAK,GACL,MAAM,GACN,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAGjB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAC/B,MAAM,CAAC"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DecodingFailure = exports.Poison = exports.Slice = exports.Struct = exports.InternalFunRef = exports.ExternalFunRef = void 0;
4
+ exports.isPoison = isPoison;
5
+ exports.hasPoison = hasPoison;
6
+ const solc_typed_ast_1 = require("solc-typed-ast");
7
+ class ExternalFunRef {
8
+ constructor(address, selector) {
9
+ this.address = address;
10
+ this.selector = selector;
11
+ }
12
+ }
13
+ exports.ExternalFunRef = ExternalFunRef;
14
+ class InternalFunRef {
15
+ constructor(fun) {
16
+ this.fun = fun;
17
+ }
18
+ }
19
+ exports.InternalFunRef = InternalFunRef;
20
+ class Struct {
21
+ constructor(entries) {
22
+ this.entries = entries;
23
+ }
24
+ field(name) {
25
+ for (const [fieldName, val] of this.entries) {
26
+ if (name === fieldName) {
27
+ return val;
28
+ }
29
+ }
30
+ (0, solc_typed_ast_1.assert)(false, `No field ${name} in ${this.entries}`);
31
+ }
32
+ }
33
+ exports.Struct = Struct;
34
+ class Slice {
35
+ constructor(array, start, end) {
36
+ this.array = array;
37
+ this.start = start;
38
+ this.end = end;
39
+ }
40
+ }
41
+ exports.Slice = Slice;
42
+ class Poison {
43
+ }
44
+ exports.Poison = Poison;
45
+ class DecodingFailure extends Poison {
46
+ constructor(reason) {
47
+ super();
48
+ this.reason = reason;
49
+ }
50
+ pp() {
51
+ return `<err:${this.reason}>`;
52
+ }
53
+ }
54
+ exports.DecodingFailure = DecodingFailure;
55
+ /**
56
+ * Return true if `v` is a type of Poison.
57
+ * @param v
58
+ * @returns
59
+ */
60
+ function isPoison(v) {
61
+ return v instanceof Poison;
62
+ }
63
+ /**
64
+ * Return true if `v` contains any Poison inside.
65
+ * @param v
66
+ * @returns
67
+ */
68
+ function hasPoison(v) {
69
+ if (isPoison(v)) {
70
+ return true;
71
+ }
72
+ if (v instanceof Array) {
73
+ for (const el of v) {
74
+ if (hasPoison(el)) {
75
+ return true;
76
+ }
77
+ }
78
+ return false;
79
+ }
80
+ if (v instanceof Slice) {
81
+ for (const el of v.array.slice(v.start, v.end)) {
82
+ if (hasPoison(el)) {
83
+ return true;
84
+ }
85
+ }
86
+ return false;
87
+ }
88
+ if (v instanceof Struct) {
89
+ for (const [, field] of v.entries) {
90
+ if (hasPoison(field)) {
91
+ return true;
92
+ }
93
+ }
94
+ return false;
95
+ }
96
+ if (v instanceof Map) {
97
+ for (const [key, val] of v.entries()) {
98
+ if (hasPoison(key) || hasPoison(val)) {
99
+ return true;
100
+ }
101
+ }
102
+ return false;
103
+ }
104
+ return false;
105
+ }
106
+ //# sourceMappingURL=value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/debug/decoding/value.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { TypeNode } from "solc-typed-ast";
2
+ import { DecodingFailure, Value } from "./value";
3
+ import { Memory, Stack } from "../types";
4
+ export type StateArea = Memory | Stack | Storage;
5
+ export declare class EncodingError extends Error {
6
+ readonly reason: string;
7
+ constructor(reason: string);
8
+ }
9
+ /**
10
+ * Base class for all data {@link View}s. Views are parametrized by the {@link State} they project from (e.g. Memory, Storage, Calldata),
11
+ * the Solidity {@link Type} of the element they are decoding as well as Typescript type of the {@link Value} they decode.
12
+ */
13
+ export declare abstract class View<State = StateArea, Val extends Value = Value, Loc = any, Type extends TypeNode = TypeNode> {
14
+ readonly type: Type;
15
+ protected loc: Loc;
16
+ constructor(type: Type, loc: Loc);
17
+ /**
18
+ * Decode a value from the given State
19
+ * @param state
20
+ */
21
+ abstract decode(state: State): Val | DecodingFailure;
22
+ abstract pp(): string;
23
+ }
24
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjD,qBAAa,aAAc,SAAQ,KAAK;aACR,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAG7C;AAED;;;GAGG;AACH,8BAAsB,IAAI,CACtB,KAAK,GAAG,SAAS,EACjB,GAAG,SAAS,KAAK,GAAG,KAAK,EACzB,GAAG,GAAG,GAAG,EACT,IAAI,SAAS,QAAQ,GAAG,QAAQ;aAGZ,IAAI,EAAE,IAAI;IAC1B,SAAS,CAAC,GAAG,EAAE,GAAG;gBADF,IAAI,EAAE,IAAI,EAChB,GAAG,EAAE,GAAG;IAGtB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,eAAe;IACpD,QAAQ,CAAC,EAAE,IAAI,MAAM;CACxB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.View = exports.EncodingError = void 0;
4
+ class EncodingError extends Error {
5
+ constructor(reason) {
6
+ super();
7
+ this.reason = reason;
8
+ }
9
+ }
10
+ exports.EncodingError = EncodingError;
11
+ /**
12
+ * Base class for all data {@link View}s. Views are parametrized by the {@link State} they project from (e.g. Memory, Storage, Calldata),
13
+ * the Solidity {@link Type} of the element they are decoding as well as Typescript type of the {@link Value} they decode.
14
+ */
15
+ class View {
16
+ constructor(type, loc) {
17
+ this.type = type;
18
+ this.loc = loc;
19
+ }
20
+ }
21
+ exports.View = View;
22
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/debug/decoding/view.ts"],"names":[],"mappings":";;;AAMA,MAAa,aAAc,SAAQ,KAAK;IACpC,YAA4B,MAAc;QACtC,KAAK,EAAE,CAAC;QADgB,WAAM,GAAN,MAAM,CAAQ;IAE1C,CAAC;CACJ;AAJD,sCAIC;AAED;;;GAGG;AACH,MAAsB,IAAI;IAMtB,YACoB,IAAU,EAChB,GAAQ;QADF,SAAI,GAAJ,IAAI,CAAM;QAChB,QAAG,GAAH,GAAG,CAAK;IACnB,CAAC;CAQP;AAjBD,oBAiBC"}
@@ -11,21 +11,21 @@ type RunState = any;
11
11
  export declare const foundryCtxMap: Map<EVM, FoundryContext>;
12
12
  export declare function getFoundryCtx(evm: EVMInterface): FoundryContext | undefined;
13
13
  export declare const FoundryCheatcodesAddress: Address;
14
- export declare const WARP_SELECTOR: Uint8Array;
15
- export declare const ROLL_SELECTOR: Uint8Array;
16
- export declare const LOAD_SELECTOR: Uint8Array;
17
- export declare const STORE_SELECTOR: Uint8Array;
18
- export declare const SIGN_SELECTOR: Uint8Array;
19
- export declare const ADDR_SELECTOR: Uint8Array;
20
- export declare const DEAL_SELECTOR: Uint8Array;
21
- export declare const PRANK_SELECTOR01: Uint8Array;
22
- export declare const PRANK_SELECTOR02: Uint8Array;
23
- export declare const START_PRANK_SELECTOR01: Uint8Array;
24
- export declare const START_PRANK_SELECTOR02: Uint8Array;
25
- export declare const STOP_PRANK_SELECTOR: Uint8Array;
26
- export declare const EXPECT_REVERT_SELECTOR01: Uint8Array;
27
- export declare const EXPECT_REVERT_SELECTOR02: Uint8Array;
28
- export declare const EXPECT_REVERT_SELECTOR03: Uint8Array;
14
+ export declare const WARP_SELECTOR: Uint8Array<ArrayBufferLike>;
15
+ export declare const ROLL_SELECTOR: Uint8Array<ArrayBufferLike>;
16
+ export declare const LOAD_SELECTOR: Uint8Array<ArrayBufferLike>;
17
+ export declare const STORE_SELECTOR: Uint8Array<ArrayBufferLike>;
18
+ export declare const SIGN_SELECTOR: Uint8Array<ArrayBufferLike>;
19
+ export declare const ADDR_SELECTOR: Uint8Array<ArrayBufferLike>;
20
+ export declare const DEAL_SELECTOR: Uint8Array<ArrayBufferLike>;
21
+ export declare const PRANK_SELECTOR01: Uint8Array<ArrayBufferLike>;
22
+ export declare const PRANK_SELECTOR02: Uint8Array<ArrayBufferLike>;
23
+ export declare const START_PRANK_SELECTOR01: Uint8Array<ArrayBufferLike>;
24
+ export declare const START_PRANK_SELECTOR02: Uint8Array<ArrayBufferLike>;
25
+ export declare const STOP_PRANK_SELECTOR: Uint8Array<ArrayBufferLike>;
26
+ export declare const EXPECT_REVERT_SELECTOR01: Uint8Array<ArrayBufferLike>;
27
+ export declare const EXPECT_REVERT_SELECTOR02: Uint8Array<ArrayBufferLike>;
28
+ export declare const EXPECT_REVERT_SELECTOR03: Uint8Array<ArrayBufferLike>;
29
29
  export declare const FAIL_LOC: string;
30
30
  export declare const FAIL_MSG_DATA: string;
31
31
  interface PrankCallFrame extends Message {
@@ -1 +1 @@
1
- {"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,9 @@ const evm_1 = require("@ethereumjs/evm");
8
8
  const util_1 = require("@ethereumjs/util");
9
9
  const keccak_js_1 = require("ethereum-cryptography/keccak.js");
10
10
  const utils_1 = require("ethereum-cryptography/utils");
11
- const utils_2 = require("../utils");
12
11
  const exceptions_1 = require("../utils/ethereumjs_internal/exceptions");
12
+ const misc_1 = require("../utils/misc");
13
+ const util_2 = require("@ethereumjs/util");
13
14
  /**
14
15
  * Each test/cases/debug session is associated with a unique VM. And there are
15
16
  * multiple interpreter instances per VM. We keep 1 event emitter per VM, so
@@ -37,7 +38,7 @@ evm_1.EVM.prototype.runInterpreter = async function hookedRunInterpreter(message
37
38
  };
38
39
  const { secp256k1 } = require("ethereum-cryptography/secp256k1");
39
40
  const ethABI = require("web3-eth-abi");
40
- exports.FoundryCheatcodesAddress = util_1.Address.fromString("0x7109709ECfa91a80626fF3989D68f67F5b1DD12D");
41
+ exports.FoundryCheatcodesAddress = (0, util_2.createAddressFromString)("0x7109709ECfa91a80626fF3989D68f67F5b1DD12D");
41
42
  function getSelector(signature) {
42
43
  return (0, keccak_js_1.keccak256)((0, utils_1.utf8ToBytes)(signature)).slice(0, 4);
43
44
  }
@@ -81,7 +82,7 @@ function returnStateMatchesRevert(ret, state, expected) {
81
82
  if (excDataSize < 4n || excData.length < 4) {
82
83
  return false;
83
84
  }
84
- const actualSelector = (0, utils_2.bigEndianBufToBigint)(excData.slice(0, 4));
85
+ const actualSelector = (0, misc_1.bigEndianBufToBigint)(excData.slice(0, 4));
85
86
  return expected === actualSelector;
86
87
  }
87
88
  let actualBytes;
@@ -250,7 +251,7 @@ function makeFoundryCheatcodePrecompile() {
250
251
  }
251
252
  if ((0, utils_1.equalsBytes)(selector, exports.LOAD_SELECTOR)) {
252
253
  //console.error(`load(${rawAddr}, ${rawLoc})`);
253
- let value = await input._EVM.stateManager.getContractStorage(new util_1.Address(input.data.slice(16, 36)), input.data.slice(36, 68));
254
+ let value = await input._EVM.stateManager.getStorage(new util_1.Address(input.data.slice(16, 36)), input.data.slice(36, 68));
254
255
  value = (0, util_1.setLengthLeft)(value, 32);
255
256
  //console.error(`Result: ${bytesToHex(value)}`);
256
257
  return {
@@ -277,7 +278,7 @@ function makeFoundryCheatcodePrecompile() {
277
278
  }
278
279
  }
279
280
  else {
280
- await input._EVM.stateManager.putContractStorage(addr, loc, value);
281
+ await input._EVM.stateManager.putStorage(addr, loc, value);
281
282
  }
282
283
  return {
283
284
  executionGasUsed: 0n,
@@ -288,8 +289,8 @@ function makeFoundryCheatcodePrecompile() {
288
289
  const pk = input.data.slice(4, 36);
289
290
  const digest = input.data.slice(36, 68);
290
291
  const sig = secp256k1.sign(digest, pk);
291
- const r = (0, utils_2.bigIntToBuf)(sig.r, 32, "big");
292
- const s = (0, utils_2.bigIntToBuf)(sig.s, 32, "big");
292
+ const r = (0, misc_1.bigIntToBuf)(sig.r, 32, "big");
293
+ const s = (0, misc_1.bigIntToBuf)(sig.s, 32, "big");
293
294
  const v = (0, util_1.setLengthLeft)(new Uint8Array([sig.recovery + 27]), 32);
294
295
  return {
295
296
  executionGasUsed: 0n,
@@ -321,7 +322,7 @@ function makeFoundryCheatcodePrecompile() {
321
322
  if ((0, utils_1.equalsBytes)(selector, exports.PRANK_SELECTOR01)) {
322
323
  // Foundry doesn't allow multiple concurrent pranks
323
324
  if (ctx.getPendingPrank() !== undefined) {
324
- return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
325
+ return (0, exceptions_1.EvmErrorResult)(new evm_1.EVMError(exceptions_1.ERROR.REVERT), 0n);
325
326
  }
326
327
  ctx.setPendingPrank({
327
328
  sender: new util_1.Address(input.data.slice(16, 36)),
@@ -337,7 +338,7 @@ function makeFoundryCheatcodePrecompile() {
337
338
  if ((0, utils_1.equalsBytes)(selector, exports.PRANK_SELECTOR02)) {
338
339
  // Foundry doesn't allow multiple concurrent pranks
339
340
  if (ctx.getPendingPrank() !== undefined) {
340
- return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
341
+ return (0, exceptions_1.EvmErrorResult)(new evm_1.EVMError(exceptions_1.ERROR.REVERT), 0n);
341
342
  }
342
343
  ctx.setPendingPrank({
343
344
  sender: new util_1.Address(input.data.slice(16, 36)),
@@ -358,7 +359,7 @@ function makeFoundryCheatcodePrecompile() {
358
359
  if ((0, utils_1.equalsBytes)(selector, exports.START_PRANK_SELECTOR01)) {
359
360
  // Foundry doesn't allow multiple concurrent pranks
360
361
  if (ctx.getPendingPrank() !== undefined) {
361
- return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
362
+ return (0, exceptions_1.EvmErrorResult)(new evm_1.EVMError(exceptions_1.ERROR.REVERT), 0n);
362
363
  }
363
364
  ctx.setPendingPrank({
364
365
  sender: new util_1.Address(input.data.slice(16, 36)),
@@ -374,7 +375,7 @@ function makeFoundryCheatcodePrecompile() {
374
375
  if ((0, utils_1.equalsBytes)(selector, exports.START_PRANK_SELECTOR02)) {
375
376
  // Foundry doesn't allow multiple concurrent pranks
376
377
  if (ctx.getPendingPrank() !== undefined) {
377
- return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
378
+ return (0, exceptions_1.EvmErrorResult)(new evm_1.EVMError(exceptions_1.ERROR.REVERT), 0n);
378
379
  }
379
380
  ctx.setPendingPrank({
380
381
  sender: new util_1.Address(input.data.slice(16, 36)),
@@ -412,10 +413,10 @@ function makeFoundryCheatcodePrecompile() {
412
413
  if ((0, utils_1.equalsBytes)(selector, exports.EXPECT_REVERT_SELECTOR02)) {
413
414
  //console.error(`vm.expectRevert(bytes4);`);
414
415
  if (input.data.length < 8) {
415
- return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
416
+ return (0, exceptions_1.EvmErrorResult)(new evm_1.EVMError(exceptions_1.ERROR.REVERT), 0n);
416
417
  }
417
418
  const selector = input.data.slice(4, 8);
418
- ctx.expectRevert((0, utils_2.bigEndianBufToBigint)(selector));
419
+ ctx.expectRevert((0, misc_1.bigEndianBufToBigint)(selector));
419
420
  return {
420
421
  executionGasUsed: 0n,
421
422
  returnValue: new Uint8Array()
@@ -423,11 +424,11 @@ function makeFoundryCheatcodePrecompile() {
423
424
  }
424
425
  if ((0, utils_1.equalsBytes)(selector, exports.EXPECT_REVERT_SELECTOR03)) {
425
426
  if (input.data.length < 68) {
426
- return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
427
+ return (0, exceptions_1.EvmErrorResult)(new evm_1.EVMError(exceptions_1.ERROR.REVERT), 0n);
427
428
  }
428
- const len = Number((0, utils_2.bigEndianBufToBigint)(input.data.slice(36, 68)));
429
+ const len = Number((0, misc_1.bigEndianBufToBigint)(input.data.slice(36, 68)));
429
430
  if (input.data.length < 68 + len) {
430
- return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
431
+ return (0, exceptions_1.EvmErrorResult)(new evm_1.EVMError(exceptions_1.ERROR.REVERT), 0n);
431
432
  }
432
433
  const bytes = input.data.slice(68, 68 + len);
433
434
  ctx.expectRevert(bytes);
@@ -1 +1 @@
1
- {"version":3,"file":"foundry_cheatcodes.js","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundry_cheatcodes.js","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,13 @@
1
- import { EVMStateManagerInterface } from "@ethereumjs/common";
1
+ import { StateManagerInterface } from "@ethereumjs/common";
2
2
  import { Address } from "@ethereumjs/util";
3
3
  import { ContractDefinition, InferType } from "solc-typed-ast";
4
4
  import { IArtifactManager } from "./artifact_manager";
5
- import { KeccakPreimageMap, MapKeys } from "./tracers";
5
+ import { KeccakPreimageMap, MapKeys } from "./tracers/transformers/keccak256_invert";
6
6
  import { Storage } from "./types";
7
- export interface ContractSolidityState {
8
- [key: string]: any;
9
- }
7
+ import { Struct } from "./decoding/value";
10
8
  export type ContractStates = {
11
- [addres: string]: ContractSolidityState;
9
+ [addres: string]: Struct;
12
10
  };
13
- export declare function decodeContractStates(artifactManager: IArtifactManager, contracts: Iterable<Address>, state: EVMStateManagerInterface, preimages: KeccakPreimageMap): Promise<ContractStates>;
14
- export declare function decodeContractState(artifactManager: IArtifactManager, infer: InferType, contract: ContractDefinition, storage: Storage, mapKeys?: MapKeys): ContractSolidityState | undefined;
11
+ export declare function decodeContractStates(artifactManager: IArtifactManager, contracts: Iterable<Address>, state: StateManagerInterface, preimages: KeccakPreimageMap): Promise<ContractStates>;
12
+ export declare function decodeContractState(infer: InferType, contract: ContractDefinition, storage: Storage, mapKeys?: MapKeys): Struct;
15
13
  //# sourceMappingURL=layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/debug/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAEH,kBAAkB,EAClB,SAAS,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAA0B,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAoB,OAAO,EAAmB,MAAM,SAAS,CAAC;AAErE,MAAM,WAAW,qBAAqB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAAA;CAAE,CAAC;AAMzE,wBAAsB,oBAAoB,CACtC,eAAe,EAAE,gBAAgB,EACjC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC5B,KAAK,EAAE,wBAAwB,EAC/B,SAAS,EAAE,iBAAiB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA6BzB;AAED,wBAAgB,mBAAmB,CAC/B,eAAe,EAAE,gBAAgB,EACjC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,GAClB,qBAAqB,GAAG,SAAS,CAqFnC"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/debug/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAU,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAc,iBAAiB,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE1D,wBAAsB,oBAAoB,CACtC,eAAe,EAAE,gBAAgB,EACjC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC5B,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,iBAAiB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,GAClB,MAAM,CAQR"}