@aztec/bb.js 0.0.1-commit.d3ec352c → 0.0.1-commit.e6bd8901
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/build/amd64-linux/bb +0 -0
- package/build/amd64-linux/nodejs_module.node +0 -0
- package/build/amd64-macos/bb +0 -0
- package/build/amd64-macos/nodejs_module.node +0 -0
- package/build/arm64-linux/bb +0 -0
- package/build/arm64-linux/nodejs_module.node +0 -0
- package/build/arm64-macos/bb +0 -0
- package/build/arm64-macos/nodejs_module.node +0 -0
- package/dest/browser/barretenberg/backend.d.ts +49 -17
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +109 -9
- package/dest/browser/barretenberg/index.d.ts +2 -2
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +2 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/bb_backends/index.d.ts +3 -1
- package/dest/browser/bb_backends/index.d.ts.map +1 -1
- package/dest/browser/cbind/generate.d.ts +5 -2
- package/dest/browser/cbind/generate.d.ts.map +1 -1
- package/dest/browser/cbind/generate.js +47 -25
- package/dest/browser/cbind/generated/api_types.d.ts +765 -1672
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +1453 -1525
- package/dest/browser/cbind/generated/async.d.ts +3 -5
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +13 -33
- package/dest/browser/cbind/generated/sync.d.ts +3 -5
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +13 -31
- package/dest/browser/cbind/naming.d.ts +16 -0
- package/dest/browser/cbind/naming.d.ts.map +1 -0
- package/dest/browser/cbind/naming.js +24 -0
- package/dest/browser/cbind/rust_codegen.d.ts +26 -0
- package/dest/browser/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/browser/cbind/rust_codegen.js +461 -0
- package/dest/browser/cbind/schema_visitor.d.ts +47 -0
- package/dest/browser/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/browser/cbind/schema_visitor.js +158 -0
- package/dest/browser/cbind/typescript_codegen.d.ts +30 -0
- package/dest/browser/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/browser/cbind/typescript_codegen.js +365 -0
- package/dest/browser/index.d.ts +2 -2
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +2 -2
- package/dest/node/barretenberg/backend.d.ts +49 -17
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +109 -9
- package/dest/node/barretenberg/backend.test.d.ts +2 -0
- package/dest/node/barretenberg/backend.test.d.ts.map +1 -0
- package/dest/node/barretenberg/backend.test.js +103 -0
- package/dest/node/barretenberg/index.d.ts +2 -2
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +2 -2
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
- package/dest/node/bb_backends/index.d.ts +3 -1
- package/dest/node/bb_backends/index.d.ts.map +1 -1
- package/dest/node/bb_backends/node/index.d.ts +1 -1
- package/dest/node/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node/bb_backends/node/index.js +5 -5
- package/dest/node/bb_backends/node/native_shm.d.ts +3 -2
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_shm.js +40 -21
- package/dest/node/bb_backends/node/native_shm_async.d.ts +2 -2
- package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_shm_async.js +17 -21
- package/dest/node/bb_backends/node/native_socket.d.ts +1 -1
- package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_socket.js +7 -5
- package/dest/node/bb_backends/node/platform.d.ts +1 -1
- package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
- package/dest/node/bb_backends/node/platform.js +7 -2
- package/dest/node/cbind/generate.d.ts +5 -2
- package/dest/node/cbind/generate.d.ts.map +1 -1
- package/dest/node/cbind/generate.js +47 -25
- package/dest/node/cbind/generated/api_types.d.ts +765 -1672
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +1453 -1525
- package/dest/node/cbind/generated/async.d.ts +3 -5
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +13 -33
- package/dest/node/cbind/generated/sync.d.ts +3 -5
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +13 -31
- package/dest/node/cbind/naming.d.ts +16 -0
- package/dest/node/cbind/naming.d.ts.map +1 -0
- package/dest/node/cbind/naming.js +24 -0
- package/dest/node/cbind/rust_codegen.d.ts +26 -0
- package/dest/node/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/node/cbind/rust_codegen.js +461 -0
- package/dest/node/cbind/schema_visitor.d.ts +47 -0
- package/dest/node/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/node/cbind/schema_visitor.js +158 -0
- package/dest/node/cbind/typescript_codegen.d.ts +30 -0
- package/dest/node/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/node/cbind/typescript_codegen.js +365 -0
- package/dest/node/index.d.ts +2 -2
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +2 -2
- package/dest/node-cjs/barretenberg/backend.d.ts +49 -17
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +111 -9
- package/dest/node-cjs/barretenberg/backend.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/backend.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/backend.test.js +105 -0
- package/dest/node-cjs/barretenberg/index.d.ts +2 -2
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +4 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
- package/dest/node-cjs/bb_backends/index.d.ts +3 -1
- package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/index.js +5 -5
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +3 -2
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_shm.js +39 -20
- package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +2 -2
- package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_shm_async.js +17 -21
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_socket.js +7 -5
- package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/platform.js +7 -2
- package/dest/node-cjs/cbind/generate.d.ts +5 -2
- package/dest/node-cjs/cbind/generate.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generate.js +47 -25
- package/dest/node-cjs/cbind/generated/api_types.d.ts +765 -1672
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +1662 -1742
- package/dest/node-cjs/cbind/generated/async.d.ts +3 -5
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +12 -32
- package/dest/node-cjs/cbind/generated/sync.d.ts +3 -5
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +12 -30
- package/dest/node-cjs/cbind/naming.d.ts +16 -0
- package/dest/node-cjs/cbind/naming.d.ts.map +1 -0
- package/dest/node-cjs/cbind/naming.js +28 -0
- package/dest/node-cjs/cbind/rust_codegen.d.ts +26 -0
- package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/node-cjs/cbind/rust_codegen.js +465 -0
- package/dest/node-cjs/cbind/schema_visitor.d.ts +47 -0
- package/dest/node-cjs/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/node-cjs/cbind/schema_visitor.js +162 -0
- package/dest/node-cjs/cbind/typescript_codegen.d.ts +30 -0
- package/dest/node-cjs/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/node-cjs/cbind/typescript_codegen.js +369 -0
- package/dest/node-cjs/index.d.ts +2 -2
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +4 -2
- package/package.json +1 -1
- package/src/barretenberg/backend.test.ts +122 -0
- package/src/barretenberg/backend.ts +149 -23
- package/src/barretenberg/index.ts +9 -1
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +1 -1
- package/src/bb_backends/index.ts +3 -0
- package/src/bb_backends/node/index.ts +9 -4
- package/src/bb_backends/node/native_shm.ts +38 -19
- package/src/bb_backends/node/native_shm_async.ts +15 -19
- package/src/bb_backends/node/native_socket.ts +7 -5
- package/src/bb_backends/node/platform.ts +6 -1
- package/src/cbind/generate.ts +51 -32
- package/src/cbind/generated/api_types.ts +1620 -2811
- package/src/cbind/generated/async.ts +13 -34
- package/src/cbind/generated/sync.ts +13 -32
- package/src/cbind/naming.ts +27 -0
- package/src/cbind/rust_codegen.ts +504 -0
- package/src/cbind/schema_visitor.ts +219 -0
- package/src/cbind/typescript_codegen.ts +419 -0
- package/src/index.ts +4 -0
- package/dest/browser/cbind/schema_compiler.d.ts +0 -68
- package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/browser/cbind/schema_compiler.js +0 -600
- package/dest/node/cbind/schema_compiler.d.ts +0 -68
- package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/node/cbind/schema_compiler.js +0 -600
- package/dest/node-cjs/cbind/schema_compiler.d.ts +0 -68
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/node-cjs/cbind/schema_compiler.js +0 -607
- package/src/cbind/schema_compiler.ts +0 -745
|
@@ -1,435 +1,401 @@
|
|
|
1
1
|
export type Field2 = [Uint8Array, Uint8Array];
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export type Secp256r1Fq = Uint8Array;
|
|
7
|
-
export type Secp256r1Fr = Uint8Array;
|
|
8
|
-
export type Uint256T = Uint8Array;
|
|
9
|
-
export interface AesDecrypt {
|
|
10
|
-
ciphertext: Uint8Array;
|
|
11
|
-
iv: Uint8Array;
|
|
12
|
-
key: Uint8Array;
|
|
13
|
-
length: number;
|
|
2
|
+
export interface CircuitComputeVkResponse {
|
|
3
|
+
bytes: Uint8Array;
|
|
4
|
+
fields: Uint8Array[];
|
|
5
|
+
hash: Uint8Array;
|
|
14
6
|
}
|
|
15
|
-
interface
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
length: number;
|
|
7
|
+
export interface CircuitInput {
|
|
8
|
+
name: string;
|
|
9
|
+
bytecode: Uint8Array;
|
|
10
|
+
verificationKey: Uint8Array;
|
|
20
11
|
}
|
|
21
|
-
export interface
|
|
22
|
-
|
|
12
|
+
export interface ProofSystemSettings {
|
|
13
|
+
ipaAccumulation: boolean;
|
|
14
|
+
oracleHashType: string;
|
|
15
|
+
disableZk: boolean;
|
|
16
|
+
optimizedSolidityVerifier: boolean;
|
|
23
17
|
}
|
|
24
|
-
interface
|
|
25
|
-
|
|
18
|
+
export interface CircuitProve {
|
|
19
|
+
circuit: CircuitInput;
|
|
20
|
+
witness: Uint8Array;
|
|
21
|
+
settings: ProofSystemSettings;
|
|
26
22
|
}
|
|
27
|
-
export interface
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
key: Uint8Array;
|
|
31
|
-
length: number;
|
|
23
|
+
export interface CircuitInputNoVK {
|
|
24
|
+
name: string;
|
|
25
|
+
bytecode: Uint8Array;
|
|
32
26
|
}
|
|
33
|
-
interface
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
key: Uint8Array;
|
|
37
|
-
length: number;
|
|
27
|
+
export interface CircuitComputeVk {
|
|
28
|
+
circuit: CircuitInputNoVK;
|
|
29
|
+
settings: ProofSystemSettings;
|
|
38
30
|
}
|
|
39
|
-
export interface
|
|
40
|
-
|
|
31
|
+
export interface CircuitStats {
|
|
32
|
+
circuit: CircuitInput;
|
|
33
|
+
includeGatesPerOpcode: boolean;
|
|
34
|
+
settings: ProofSystemSettings;
|
|
41
35
|
}
|
|
42
|
-
interface
|
|
43
|
-
|
|
36
|
+
export interface CircuitVerify {
|
|
37
|
+
verificationKey: Uint8Array;
|
|
38
|
+
publicInputs: Uint8Array[];
|
|
39
|
+
proof: Uint8Array[];
|
|
40
|
+
settings: ProofSystemSettings;
|
|
44
41
|
}
|
|
45
|
-
export interface
|
|
46
|
-
|
|
42
|
+
export interface ChonkComputeVk {
|
|
43
|
+
circuit: CircuitInputNoVK;
|
|
47
44
|
}
|
|
48
|
-
interface
|
|
49
|
-
|
|
45
|
+
export interface ChonkStart {
|
|
46
|
+
numCircuits: number;
|
|
50
47
|
}
|
|
51
|
-
export interface
|
|
52
|
-
|
|
48
|
+
export interface ChonkLoad {
|
|
49
|
+
circuit: CircuitInput;
|
|
53
50
|
}
|
|
54
|
-
interface
|
|
55
|
-
|
|
51
|
+
export interface ChonkAccumulate {
|
|
52
|
+
witness: Uint8Array;
|
|
56
53
|
}
|
|
57
|
-
export interface
|
|
58
|
-
data: Uint8Array;
|
|
54
|
+
export interface ChonkProve {
|
|
59
55
|
}
|
|
60
|
-
interface
|
|
61
|
-
|
|
56
|
+
export interface GoblinProof {
|
|
57
|
+
mergeProof: Uint8Array[];
|
|
58
|
+
eccvmProof: Uint8Array[];
|
|
59
|
+
ipaProof: Uint8Array[];
|
|
60
|
+
translatorProof: Uint8Array[];
|
|
62
61
|
}
|
|
63
|
-
export interface
|
|
64
|
-
|
|
62
|
+
export interface ChonkProof {
|
|
63
|
+
megaProof: Uint8Array[];
|
|
64
|
+
goblinProof: GoblinProof;
|
|
65
65
|
}
|
|
66
|
-
interface
|
|
67
|
-
|
|
66
|
+
export interface ChonkVerify {
|
|
67
|
+
proof: ChonkProof;
|
|
68
|
+
vk: Uint8Array;
|
|
68
69
|
}
|
|
69
|
-
export interface
|
|
70
|
-
|
|
70
|
+
export interface VkAsFields {
|
|
71
|
+
verificationKey: Uint8Array;
|
|
71
72
|
}
|
|
72
|
-
interface
|
|
73
|
-
|
|
73
|
+
export interface MegaVkAsFields {
|
|
74
|
+
verificationKey: Uint8Array;
|
|
74
75
|
}
|
|
75
|
-
export interface
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
export interface CircuitWriteSolidityVerifier {
|
|
77
|
+
verificationKey: Uint8Array;
|
|
78
|
+
settings: ProofSystemSettings;
|
|
78
79
|
}
|
|
79
|
-
interface
|
|
80
|
-
|
|
81
|
-
value: Uint8Array;
|
|
80
|
+
export interface ChonkCheckPrecomputedVk {
|
|
81
|
+
circuit: CircuitInput;
|
|
82
82
|
}
|
|
83
|
-
export interface
|
|
84
|
-
|
|
83
|
+
export interface ChonkStats {
|
|
84
|
+
circuit: CircuitInputNoVK;
|
|
85
|
+
includeGatesPerOpcode: boolean;
|
|
85
86
|
}
|
|
86
|
-
interface
|
|
87
|
-
|
|
87
|
+
export interface Poseidon2Hash {
|
|
88
|
+
inputs: Uint8Array[];
|
|
88
89
|
}
|
|
89
|
-
export interface
|
|
90
|
-
|
|
91
|
-
value: Fr;
|
|
90
|
+
export interface Poseidon2Permutation {
|
|
91
|
+
inputs: Uint8Array[];
|
|
92
92
|
}
|
|
93
|
-
interface
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
export interface PedersenCommit {
|
|
94
|
+
inputs: Uint8Array[];
|
|
95
|
+
hashIndex: number;
|
|
96
96
|
}
|
|
97
|
-
export interface
|
|
98
|
-
|
|
97
|
+
export interface PedersenHash {
|
|
98
|
+
inputs: Uint8Array[];
|
|
99
|
+
hashIndex: number;
|
|
99
100
|
}
|
|
100
|
-
interface
|
|
101
|
-
|
|
101
|
+
export interface PedersenHashBuffer {
|
|
102
|
+
input: Uint8Array;
|
|
103
|
+
hashIndex: number;
|
|
102
104
|
}
|
|
103
|
-
export interface
|
|
104
|
-
|
|
105
|
+
export interface Blake2s {
|
|
106
|
+
data: Uint8Array;
|
|
105
107
|
}
|
|
106
|
-
interface
|
|
107
|
-
|
|
108
|
+
export interface Blake2sToField {
|
|
109
|
+
data: Uint8Array;
|
|
108
110
|
}
|
|
109
|
-
export interface
|
|
110
|
-
|
|
111
|
+
export interface AesEncrypt {
|
|
112
|
+
plaintext: Uint8Array;
|
|
113
|
+
iv: Uint8Array;
|
|
114
|
+
key: Uint8Array;
|
|
115
|
+
length: number;
|
|
111
116
|
}
|
|
112
|
-
interface
|
|
113
|
-
|
|
117
|
+
export interface AesDecrypt {
|
|
118
|
+
ciphertext: Uint8Array;
|
|
119
|
+
iv: Uint8Array;
|
|
120
|
+
key: Uint8Array;
|
|
121
|
+
length: number;
|
|
114
122
|
}
|
|
115
|
-
export interface
|
|
116
|
-
|
|
123
|
+
export interface GrumpkinPoint {
|
|
124
|
+
x: Uint8Array;
|
|
125
|
+
y: Uint8Array;
|
|
117
126
|
}
|
|
118
|
-
interface
|
|
119
|
-
|
|
127
|
+
export interface GrumpkinMul {
|
|
128
|
+
point: GrumpkinPoint;
|
|
129
|
+
scalar: Uint8Array;
|
|
120
130
|
}
|
|
121
|
-
export interface
|
|
122
|
-
|
|
123
|
-
|
|
131
|
+
export interface GrumpkinAdd {
|
|
132
|
+
pointA: GrumpkinPoint;
|
|
133
|
+
pointB: GrumpkinPoint;
|
|
124
134
|
}
|
|
125
|
-
interface
|
|
126
|
-
|
|
135
|
+
export interface GrumpkinBatchMul {
|
|
136
|
+
points: GrumpkinPoint[];
|
|
127
137
|
scalar: Uint8Array;
|
|
128
138
|
}
|
|
129
|
-
export interface
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
interface MsgpackBn254G1MulResponse {
|
|
133
|
-
point: MsgpackBn254G1Point;
|
|
139
|
+
export interface GrumpkinGetRandomFr {
|
|
140
|
+
dummy: number;
|
|
134
141
|
}
|
|
135
|
-
export interface
|
|
136
|
-
|
|
137
|
-
y: Fq;
|
|
142
|
+
export interface GrumpkinReduce512 {
|
|
143
|
+
input: Uint8Array;
|
|
138
144
|
}
|
|
139
|
-
interface
|
|
145
|
+
export interface Secp256k1Point {
|
|
140
146
|
x: Uint8Array;
|
|
141
147
|
y: Uint8Array;
|
|
142
148
|
}
|
|
143
|
-
export interface
|
|
144
|
-
point:
|
|
145
|
-
scalar: Fr;
|
|
146
|
-
}
|
|
147
|
-
interface MsgpackBn254G2Mul {
|
|
148
|
-
point: MsgpackBn254G2Point;
|
|
149
|
+
export interface Secp256k1Mul {
|
|
150
|
+
point: Secp256k1Point;
|
|
149
151
|
scalar: Uint8Array;
|
|
150
152
|
}
|
|
151
|
-
export interface
|
|
152
|
-
|
|
153
|
+
export interface Secp256k1GetRandomFr {
|
|
154
|
+
dummy: number;
|
|
153
155
|
}
|
|
154
|
-
interface
|
|
155
|
-
|
|
156
|
+
export interface Secp256k1Reduce512 {
|
|
157
|
+
input: Uint8Array;
|
|
156
158
|
}
|
|
157
|
-
export interface
|
|
158
|
-
|
|
159
|
-
y: Field2;
|
|
159
|
+
export interface Bn254FrSqrt {
|
|
160
|
+
input: Uint8Array;
|
|
160
161
|
}
|
|
161
|
-
interface
|
|
162
|
+
export interface Bn254FqSqrt {
|
|
163
|
+
input: Uint8Array;
|
|
164
|
+
}
|
|
165
|
+
export interface Bn254G1Point {
|
|
166
|
+
x: Uint8Array;
|
|
167
|
+
y: Uint8Array;
|
|
168
|
+
}
|
|
169
|
+
export interface Bn254G1Mul {
|
|
170
|
+
point: Bn254G1Point;
|
|
171
|
+
scalar: Uint8Array;
|
|
172
|
+
}
|
|
173
|
+
export interface Bn254G2Point {
|
|
162
174
|
x: [Uint8Array, Uint8Array];
|
|
163
175
|
y: [Uint8Array, Uint8Array];
|
|
164
176
|
}
|
|
165
|
-
export interface
|
|
166
|
-
|
|
177
|
+
export interface Bn254G2Mul {
|
|
178
|
+
point: Bn254G2Point;
|
|
179
|
+
scalar: Uint8Array;
|
|
167
180
|
}
|
|
168
|
-
interface
|
|
169
|
-
|
|
181
|
+
export interface Bn254G1IsOnCurve {
|
|
182
|
+
point: Bn254G1Point;
|
|
170
183
|
}
|
|
171
|
-
export interface
|
|
184
|
+
export interface Bn254G1FromCompressed {
|
|
185
|
+
compressed: Uint8Array;
|
|
172
186
|
}
|
|
173
|
-
interface
|
|
187
|
+
export interface SchnorrComputePublicKey {
|
|
188
|
+
privateKey: Uint8Array;
|
|
174
189
|
}
|
|
175
|
-
export interface
|
|
176
|
-
|
|
190
|
+
export interface SchnorrConstructSignature {
|
|
191
|
+
message: Uint8Array;
|
|
192
|
+
privateKey: Uint8Array;
|
|
177
193
|
}
|
|
178
|
-
interface
|
|
179
|
-
|
|
194
|
+
export interface SchnorrVerifySignature {
|
|
195
|
+
message: Uint8Array;
|
|
196
|
+
publicKey: GrumpkinPoint;
|
|
197
|
+
s: Uint8Array;
|
|
198
|
+
e: Uint8Array;
|
|
180
199
|
}
|
|
181
|
-
export interface
|
|
182
|
-
|
|
183
|
-
actualVk: Uint8Array;
|
|
200
|
+
export interface EcdsaSecp256k1ComputePublicKey {
|
|
201
|
+
privateKey: Uint8Array;
|
|
184
202
|
}
|
|
185
|
-
interface
|
|
186
|
-
|
|
187
|
-
actual_vk: Uint8Array;
|
|
203
|
+
export interface EcdsaSecp256r1ComputePublicKey {
|
|
204
|
+
privateKey: Uint8Array;
|
|
188
205
|
}
|
|
189
|
-
export interface
|
|
190
|
-
|
|
206
|
+
export interface EcdsaSecp256k1ConstructSignature {
|
|
207
|
+
message: Uint8Array;
|
|
208
|
+
privateKey: Uint8Array;
|
|
191
209
|
}
|
|
192
|
-
interface
|
|
193
|
-
|
|
210
|
+
export interface EcdsaSecp256r1ConstructSignature {
|
|
211
|
+
message: Uint8Array;
|
|
212
|
+
privateKey: Uint8Array;
|
|
194
213
|
}
|
|
195
|
-
export interface
|
|
196
|
-
|
|
214
|
+
export interface EcdsaSecp256k1RecoverPublicKey {
|
|
215
|
+
message: Uint8Array;
|
|
216
|
+
r: Uint8Array;
|
|
217
|
+
s: Uint8Array;
|
|
218
|
+
v: number;
|
|
197
219
|
}
|
|
198
|
-
interface
|
|
199
|
-
|
|
220
|
+
export interface EcdsaSecp256r1RecoverPublicKey {
|
|
221
|
+
message: Uint8Array;
|
|
222
|
+
r: Uint8Array;
|
|
223
|
+
s: Uint8Array;
|
|
224
|
+
v: number;
|
|
200
225
|
}
|
|
201
|
-
export interface
|
|
202
|
-
|
|
226
|
+
export interface EcdsaSecp256k1VerifySignature {
|
|
227
|
+
message: Uint8Array;
|
|
228
|
+
publicKey: Secp256k1Point;
|
|
229
|
+
r: Uint8Array;
|
|
230
|
+
s: Uint8Array;
|
|
231
|
+
v: number;
|
|
203
232
|
}
|
|
204
|
-
interface
|
|
205
|
-
|
|
233
|
+
export interface Secp256r1Point {
|
|
234
|
+
x: Uint8Array;
|
|
235
|
+
y: Uint8Array;
|
|
206
236
|
}
|
|
207
|
-
export interface
|
|
208
|
-
|
|
209
|
-
|
|
237
|
+
export interface EcdsaSecp256r1VerifySignature {
|
|
238
|
+
message: Uint8Array;
|
|
239
|
+
publicKey: Secp256r1Point;
|
|
240
|
+
r: Uint8Array;
|
|
241
|
+
s: Uint8Array;
|
|
242
|
+
v: number;
|
|
210
243
|
}
|
|
211
|
-
interface
|
|
212
|
-
|
|
213
|
-
|
|
244
|
+
export interface SrsInitSrs {
|
|
245
|
+
pointsBuf: Uint8Array;
|
|
246
|
+
numPoints: number;
|
|
247
|
+
g2Point: Uint8Array;
|
|
214
248
|
}
|
|
215
|
-
export interface
|
|
216
|
-
|
|
249
|
+
export interface SrsInitGrumpkinSrs {
|
|
250
|
+
pointsBuf: Uint8Array;
|
|
251
|
+
numPoints: number;
|
|
217
252
|
}
|
|
218
|
-
interface
|
|
219
|
-
circuit: MsgpackCircuitInput;
|
|
253
|
+
export interface Shutdown {
|
|
220
254
|
}
|
|
221
|
-
export interface
|
|
255
|
+
export interface ErrorResponse {
|
|
256
|
+
message: string;
|
|
222
257
|
}
|
|
223
|
-
interface
|
|
258
|
+
export interface CircuitProveResponse {
|
|
259
|
+
publicInputs: Uint8Array[];
|
|
260
|
+
proof: Uint8Array[];
|
|
261
|
+
vk: CircuitComputeVkResponse;
|
|
224
262
|
}
|
|
225
|
-
export interface
|
|
226
|
-
|
|
227
|
-
|
|
263
|
+
export interface CircuitInfoResponse {
|
|
264
|
+
numGates: number;
|
|
265
|
+
numGatesDyadic: number;
|
|
266
|
+
numAcirOpcodes: number;
|
|
267
|
+
gatesPerOpcode: number[];
|
|
228
268
|
}
|
|
229
|
-
interface
|
|
230
|
-
|
|
231
|
-
goblin_proof: MsgpackGoblinProof;
|
|
269
|
+
export interface CircuitVerifyResponse {
|
|
270
|
+
verified: boolean;
|
|
232
271
|
}
|
|
233
|
-
export interface
|
|
272
|
+
export interface ChonkComputeVkResponse {
|
|
273
|
+
bytes: Uint8Array;
|
|
274
|
+
fields: Uint8Array[];
|
|
234
275
|
}
|
|
235
|
-
interface
|
|
276
|
+
export interface ChonkStartResponse {
|
|
236
277
|
}
|
|
237
|
-
export interface
|
|
238
|
-
proof: ChonkProof;
|
|
278
|
+
export interface ChonkLoadResponse {
|
|
239
279
|
}
|
|
240
|
-
interface
|
|
241
|
-
proof: MsgpackChonkProof;
|
|
280
|
+
export interface ChonkAccumulateResponse {
|
|
242
281
|
}
|
|
243
|
-
export interface
|
|
244
|
-
|
|
282
|
+
export interface ChonkProveResponse {
|
|
283
|
+
proof: ChonkProof;
|
|
245
284
|
}
|
|
246
|
-
interface
|
|
247
|
-
|
|
285
|
+
export interface ChonkVerifyResponse {
|
|
286
|
+
valid: boolean;
|
|
248
287
|
}
|
|
249
|
-
export interface
|
|
288
|
+
export interface VkAsFieldsResponse {
|
|
289
|
+
fields: Uint8Array[];
|
|
250
290
|
}
|
|
251
|
-
interface
|
|
291
|
+
export interface MegaVkAsFieldsResponse {
|
|
292
|
+
fields: Uint8Array[];
|
|
252
293
|
}
|
|
253
|
-
export interface
|
|
254
|
-
|
|
255
|
-
includeGatesPerOpcode: boolean;
|
|
294
|
+
export interface CircuitWriteSolidityVerifierResponse {
|
|
295
|
+
solidityCode: string;
|
|
256
296
|
}
|
|
257
|
-
interface
|
|
258
|
-
|
|
259
|
-
|
|
297
|
+
export interface ChonkCheckPrecomputedVkResponse {
|
|
298
|
+
valid: boolean;
|
|
299
|
+
actualVk: Uint8Array;
|
|
260
300
|
}
|
|
261
301
|
export interface ChonkStatsResponse {
|
|
262
302
|
acirOpcodes: number;
|
|
263
303
|
circuitSize: number;
|
|
264
304
|
gatesPerOpcode: number[];
|
|
265
305
|
}
|
|
266
|
-
interface
|
|
267
|
-
|
|
268
|
-
circuit_size: number;
|
|
269
|
-
gates_per_opcode: number[];
|
|
270
|
-
}
|
|
271
|
-
export interface ChonkVerify {
|
|
272
|
-
proof: ChonkProof;
|
|
273
|
-
vk: Uint8Array;
|
|
274
|
-
}
|
|
275
|
-
interface MsgpackChonkVerify {
|
|
276
|
-
proof: MsgpackChonkProof;
|
|
277
|
-
vk: Uint8Array;
|
|
278
|
-
}
|
|
279
|
-
export interface ChonkVerifyResponse {
|
|
280
|
-
valid: boolean;
|
|
281
|
-
}
|
|
282
|
-
interface MsgpackChonkVerifyResponse {
|
|
283
|
-
valid: boolean;
|
|
306
|
+
export interface Poseidon2HashResponse {
|
|
307
|
+
hash: Uint8Array;
|
|
284
308
|
}
|
|
285
|
-
export interface
|
|
286
|
-
|
|
287
|
-
settings: ProofSystemSettings;
|
|
309
|
+
export interface Poseidon2PermutationResponse {
|
|
310
|
+
outputs: Uint8Array[];
|
|
288
311
|
}
|
|
289
|
-
interface
|
|
290
|
-
|
|
291
|
-
settings: MsgpackProofSystemSettings;
|
|
312
|
+
export interface PedersenCommitResponse {
|
|
313
|
+
point: GrumpkinPoint;
|
|
292
314
|
}
|
|
293
|
-
export interface
|
|
294
|
-
bytes: Uint8Array;
|
|
295
|
-
fields: Uint256T[];
|
|
315
|
+
export interface PedersenHashResponse {
|
|
296
316
|
hash: Uint8Array;
|
|
297
317
|
}
|
|
298
|
-
interface
|
|
299
|
-
bytes: Uint8Array;
|
|
300
|
-
fields: Uint8Array[];
|
|
318
|
+
export interface PedersenHashBufferResponse {
|
|
301
319
|
hash: Uint8Array;
|
|
302
320
|
}
|
|
303
|
-
export interface
|
|
304
|
-
|
|
305
|
-
numGatesDyadic: number;
|
|
306
|
-
numAcirOpcodes: number;
|
|
307
|
-
gatesPerOpcode: number[];
|
|
308
|
-
}
|
|
309
|
-
interface MsgpackCircuitInfoResponse {
|
|
310
|
-
num_gates: number;
|
|
311
|
-
num_gates_dyadic: number;
|
|
312
|
-
num_acir_opcodes: number;
|
|
313
|
-
gates_per_opcode: number[];
|
|
321
|
+
export interface Blake2sResponse {
|
|
322
|
+
hash: Uint8Array;
|
|
314
323
|
}
|
|
315
|
-
export interface
|
|
316
|
-
|
|
317
|
-
bytecode: Uint8Array;
|
|
318
|
-
verificationKey: Uint8Array;
|
|
324
|
+
export interface Blake2sToFieldResponse {
|
|
325
|
+
field: Uint8Array;
|
|
319
326
|
}
|
|
320
|
-
interface
|
|
321
|
-
|
|
322
|
-
bytecode: Uint8Array;
|
|
323
|
-
verification_key: Uint8Array;
|
|
327
|
+
export interface AesEncryptResponse {
|
|
328
|
+
ciphertext: Uint8Array;
|
|
324
329
|
}
|
|
325
|
-
export interface
|
|
326
|
-
|
|
327
|
-
bytecode: Uint8Array;
|
|
330
|
+
export interface AesDecryptResponse {
|
|
331
|
+
plaintext: Uint8Array;
|
|
328
332
|
}
|
|
329
|
-
interface
|
|
330
|
-
|
|
331
|
-
bytecode: Uint8Array;
|
|
333
|
+
export interface GrumpkinMulResponse {
|
|
334
|
+
point: GrumpkinPoint;
|
|
332
335
|
}
|
|
333
|
-
export interface
|
|
334
|
-
|
|
335
|
-
witness: Uint8Array;
|
|
336
|
-
settings: ProofSystemSettings;
|
|
336
|
+
export interface GrumpkinAddResponse {
|
|
337
|
+
point: GrumpkinPoint;
|
|
337
338
|
}
|
|
338
|
-
interface
|
|
339
|
-
|
|
340
|
-
witness: Uint8Array;
|
|
341
|
-
settings: MsgpackProofSystemSettings;
|
|
339
|
+
export interface GrumpkinBatchMulResponse {
|
|
340
|
+
points: GrumpkinPoint[];
|
|
342
341
|
}
|
|
343
|
-
export interface
|
|
344
|
-
|
|
345
|
-
proof: Uint256T[];
|
|
346
|
-
vk: CircuitComputeVkResponse;
|
|
342
|
+
export interface GrumpkinGetRandomFrResponse {
|
|
343
|
+
value: Uint8Array;
|
|
347
344
|
}
|
|
348
|
-
interface
|
|
349
|
-
|
|
350
|
-
proof: Uint8Array[];
|
|
351
|
-
vk: MsgpackCircuitComputeVkResponse;
|
|
345
|
+
export interface GrumpkinReduce512Response {
|
|
346
|
+
value: Uint8Array;
|
|
352
347
|
}
|
|
353
|
-
export interface
|
|
354
|
-
|
|
355
|
-
includeGatesPerOpcode: boolean;
|
|
356
|
-
settings: ProofSystemSettings;
|
|
348
|
+
export interface Secp256k1MulResponse {
|
|
349
|
+
point: Secp256k1Point;
|
|
357
350
|
}
|
|
358
|
-
interface
|
|
359
|
-
|
|
360
|
-
include_gates_per_opcode: boolean;
|
|
361
|
-
settings: MsgpackProofSystemSettings;
|
|
351
|
+
export interface Secp256k1GetRandomFrResponse {
|
|
352
|
+
value: Uint8Array;
|
|
362
353
|
}
|
|
363
|
-
export interface
|
|
364
|
-
|
|
365
|
-
publicInputs: Uint256T[];
|
|
366
|
-
proof: Uint256T[];
|
|
367
|
-
settings: ProofSystemSettings;
|
|
354
|
+
export interface Secp256k1Reduce512Response {
|
|
355
|
+
value: Uint8Array;
|
|
368
356
|
}
|
|
369
|
-
interface
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
proof: Uint8Array[];
|
|
373
|
-
settings: MsgpackProofSystemSettings;
|
|
357
|
+
export interface Bn254FrSqrtResponse {
|
|
358
|
+
isSquareRoot: boolean;
|
|
359
|
+
value: Uint8Array;
|
|
374
360
|
}
|
|
375
|
-
export interface
|
|
376
|
-
|
|
361
|
+
export interface Bn254FqSqrtResponse {
|
|
362
|
+
isSquareRoot: boolean;
|
|
363
|
+
value: Uint8Array;
|
|
377
364
|
}
|
|
378
|
-
interface
|
|
379
|
-
|
|
365
|
+
export interface Bn254G1MulResponse {
|
|
366
|
+
point: Bn254G1Point;
|
|
380
367
|
}
|
|
381
|
-
export interface
|
|
382
|
-
|
|
383
|
-
settings: ProofSystemSettings;
|
|
368
|
+
export interface Bn254G2MulResponse {
|
|
369
|
+
point: Bn254G2Point;
|
|
384
370
|
}
|
|
385
|
-
interface
|
|
386
|
-
|
|
387
|
-
settings: MsgpackProofSystemSettings;
|
|
371
|
+
export interface Bn254G1IsOnCurveResponse {
|
|
372
|
+
isOnCurve: boolean;
|
|
388
373
|
}
|
|
389
|
-
export interface
|
|
390
|
-
|
|
374
|
+
export interface Bn254G1FromCompressedResponse {
|
|
375
|
+
point: Bn254G1Point;
|
|
391
376
|
}
|
|
392
|
-
interface
|
|
393
|
-
|
|
377
|
+
export interface SchnorrComputePublicKeyResponse {
|
|
378
|
+
publicKey: GrumpkinPoint;
|
|
394
379
|
}
|
|
395
|
-
export interface
|
|
396
|
-
|
|
380
|
+
export interface SchnorrConstructSignatureResponse {
|
|
381
|
+
s: Uint8Array;
|
|
382
|
+
e: Uint8Array;
|
|
397
383
|
}
|
|
398
|
-
interface
|
|
399
|
-
|
|
384
|
+
export interface SchnorrVerifySignatureResponse {
|
|
385
|
+
verified: boolean;
|
|
400
386
|
}
|
|
401
387
|
export interface EcdsaSecp256k1ComputePublicKeyResponse {
|
|
402
388
|
publicKey: Secp256k1Point;
|
|
403
389
|
}
|
|
404
|
-
interface
|
|
405
|
-
|
|
406
|
-
}
|
|
407
|
-
export interface EcdsaSecp256k1ConstructSignature {
|
|
408
|
-
message: Uint8Array;
|
|
409
|
-
privateKey: Secp256k1Fr;
|
|
410
|
-
}
|
|
411
|
-
interface MsgpackEcdsaSecp256k1ConstructSignature {
|
|
412
|
-
message: Uint8Array;
|
|
413
|
-
private_key: Uint8Array;
|
|
390
|
+
export interface EcdsaSecp256r1ComputePublicKeyResponse {
|
|
391
|
+
publicKey: Secp256r1Point;
|
|
414
392
|
}
|
|
415
393
|
export interface EcdsaSecp256k1ConstructSignatureResponse {
|
|
416
394
|
r: Uint8Array;
|
|
417
395
|
s: Uint8Array;
|
|
418
396
|
v: number;
|
|
419
397
|
}
|
|
420
|
-
interface
|
|
421
|
-
r: Uint8Array;
|
|
422
|
-
s: Uint8Array;
|
|
423
|
-
v: number;
|
|
424
|
-
}
|
|
425
|
-
export interface EcdsaSecp256k1RecoverPublicKey {
|
|
426
|
-
message: Uint8Array;
|
|
427
|
-
r: Uint8Array;
|
|
428
|
-
s: Uint8Array;
|
|
429
|
-
v: number;
|
|
430
|
-
}
|
|
431
|
-
interface MsgpackEcdsaSecp256k1RecoverPublicKey {
|
|
432
|
-
message: Uint8Array;
|
|
398
|
+
export interface EcdsaSecp256r1ConstructSignatureResponse {
|
|
433
399
|
r: Uint8Array;
|
|
434
400
|
s: Uint8Array;
|
|
435
401
|
v: number;
|
|
@@ -437,108 +403,76 @@ interface MsgpackEcdsaSecp256k1RecoverPublicKey {
|
|
|
437
403
|
export interface EcdsaSecp256k1RecoverPublicKeyResponse {
|
|
438
404
|
publicKey: Secp256k1Point;
|
|
439
405
|
}
|
|
440
|
-
interface
|
|
441
|
-
|
|
442
|
-
}
|
|
443
|
-
export interface EcdsaSecp256k1VerifySignature {
|
|
444
|
-
message: Uint8Array;
|
|
445
|
-
publicKey: Secp256k1Point;
|
|
446
|
-
r: Uint8Array;
|
|
447
|
-
s: Uint8Array;
|
|
448
|
-
v: number;
|
|
449
|
-
}
|
|
450
|
-
interface MsgpackEcdsaSecp256k1VerifySignature {
|
|
451
|
-
message: Uint8Array;
|
|
452
|
-
public_key: MsgpackSecp256k1Point;
|
|
453
|
-
r: Uint8Array;
|
|
454
|
-
s: Uint8Array;
|
|
455
|
-
v: number;
|
|
406
|
+
export interface EcdsaSecp256r1RecoverPublicKeyResponse {
|
|
407
|
+
publicKey: Secp256r1Point;
|
|
456
408
|
}
|
|
457
409
|
export interface EcdsaSecp256k1VerifySignatureResponse {
|
|
458
410
|
verified: boolean;
|
|
459
411
|
}
|
|
460
|
-
interface
|
|
412
|
+
export interface EcdsaSecp256r1VerifySignatureResponse {
|
|
461
413
|
verified: boolean;
|
|
462
414
|
}
|
|
463
|
-
export interface
|
|
464
|
-
|
|
465
|
-
}
|
|
466
|
-
interface MsgpackEcdsaSecp256r1ComputePublicKey {
|
|
467
|
-
private_key: Uint8Array;
|
|
468
|
-
}
|
|
469
|
-
export interface EcdsaSecp256r1ComputePublicKeyResponse {
|
|
470
|
-
publicKey: Secp256r1Point;
|
|
471
|
-
}
|
|
472
|
-
interface MsgpackEcdsaSecp256r1ComputePublicKeyResponse {
|
|
473
|
-
public_key: MsgpackSecp256r1Point;
|
|
415
|
+
export interface SrsInitSrsResponse {
|
|
416
|
+
dummy: number;
|
|
474
417
|
}
|
|
475
|
-
export interface
|
|
476
|
-
|
|
477
|
-
privateKey: Secp256r1Fr;
|
|
418
|
+
export interface SrsInitGrumpkinSrsResponse {
|
|
419
|
+
dummy: number;
|
|
478
420
|
}
|
|
479
|
-
interface
|
|
480
|
-
message: Uint8Array;
|
|
481
|
-
private_key: Uint8Array;
|
|
421
|
+
export interface ShutdownResponse {
|
|
482
422
|
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
423
|
+
interface MsgpackCircuitComputeVkResponse {
|
|
424
|
+
bytes: Uint8Array;
|
|
425
|
+
fields: Uint8Array[];
|
|
426
|
+
hash: Uint8Array;
|
|
487
427
|
}
|
|
488
|
-
interface
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
428
|
+
interface MsgpackCircuitInput {
|
|
429
|
+
name: string;
|
|
430
|
+
bytecode: Uint8Array;
|
|
431
|
+
verification_key: Uint8Array;
|
|
492
432
|
}
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
433
|
+
interface MsgpackProofSystemSettings {
|
|
434
|
+
ipa_accumulation: boolean;
|
|
435
|
+
oracle_hash_type: string;
|
|
436
|
+
disable_zk: boolean;
|
|
437
|
+
optimized_solidity_verifier: boolean;
|
|
498
438
|
}
|
|
499
|
-
interface
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
v: number;
|
|
439
|
+
interface MsgpackCircuitProve {
|
|
440
|
+
circuit: MsgpackCircuitInput;
|
|
441
|
+
witness: Uint8Array;
|
|
442
|
+
settings: MsgpackProofSystemSettings;
|
|
504
443
|
}
|
|
505
|
-
|
|
506
|
-
|
|
444
|
+
interface MsgpackCircuitInputNoVK {
|
|
445
|
+
name: string;
|
|
446
|
+
bytecode: Uint8Array;
|
|
507
447
|
}
|
|
508
|
-
interface
|
|
509
|
-
|
|
448
|
+
interface MsgpackCircuitComputeVk {
|
|
449
|
+
circuit: MsgpackCircuitInputNoVK;
|
|
450
|
+
settings: MsgpackProofSystemSettings;
|
|
510
451
|
}
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
s: Uint8Array;
|
|
516
|
-
v: number;
|
|
452
|
+
interface MsgpackCircuitStats {
|
|
453
|
+
circuit: MsgpackCircuitInput;
|
|
454
|
+
include_gates_per_opcode: boolean;
|
|
455
|
+
settings: MsgpackProofSystemSettings;
|
|
517
456
|
}
|
|
518
|
-
interface
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
v: number;
|
|
457
|
+
interface MsgpackCircuitVerify {
|
|
458
|
+
verification_key: Uint8Array;
|
|
459
|
+
public_inputs: Uint8Array[];
|
|
460
|
+
proof: Uint8Array[];
|
|
461
|
+
settings: MsgpackProofSystemSettings;
|
|
524
462
|
}
|
|
525
|
-
|
|
526
|
-
|
|
463
|
+
interface MsgpackChonkComputeVk {
|
|
464
|
+
circuit: MsgpackCircuitInputNoVK;
|
|
527
465
|
}
|
|
528
|
-
interface
|
|
529
|
-
|
|
466
|
+
interface MsgpackChonkStart {
|
|
467
|
+
num_circuits: number;
|
|
530
468
|
}
|
|
531
|
-
|
|
532
|
-
|
|
469
|
+
interface MsgpackChonkLoad {
|
|
470
|
+
circuit: MsgpackCircuitInput;
|
|
533
471
|
}
|
|
534
|
-
interface
|
|
535
|
-
|
|
472
|
+
interface MsgpackChonkAccumulate {
|
|
473
|
+
witness: Uint8Array;
|
|
536
474
|
}
|
|
537
|
-
|
|
538
|
-
mergeProof: Fr[];
|
|
539
|
-
eccvmProof: Fr[];
|
|
540
|
-
ipaProof: Fr[];
|
|
541
|
-
translatorProof: Fr[];
|
|
475
|
+
interface MsgpackChonkProve {
|
|
542
476
|
}
|
|
543
477
|
interface MsgpackGoblinProof {
|
|
544
478
|
merge_proof: Uint8Array[];
|
|
@@ -546,1443 +480,603 @@ interface MsgpackGoblinProof {
|
|
|
546
480
|
ipa_proof: Uint8Array[];
|
|
547
481
|
translator_proof: Uint8Array[];
|
|
548
482
|
}
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
}
|
|
553
|
-
interface MsgpackGrumpkinAdd {
|
|
554
|
-
point_a: MsgpackGrumpkinPoint;
|
|
555
|
-
point_b: MsgpackGrumpkinPoint;
|
|
483
|
+
interface MsgpackChonkProof {
|
|
484
|
+
mega_proof: Uint8Array[];
|
|
485
|
+
goblin_proof: MsgpackGoblinProof;
|
|
556
486
|
}
|
|
557
|
-
|
|
558
|
-
|
|
487
|
+
interface MsgpackChonkVerify {
|
|
488
|
+
proof: MsgpackChonkProof;
|
|
489
|
+
vk: Uint8Array;
|
|
559
490
|
}
|
|
560
|
-
interface
|
|
561
|
-
|
|
491
|
+
interface MsgpackVkAsFields {
|
|
492
|
+
verification_key: Uint8Array;
|
|
562
493
|
}
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
scalar: Fq;
|
|
494
|
+
interface MsgpackMegaVkAsFields {
|
|
495
|
+
verification_key: Uint8Array;
|
|
566
496
|
}
|
|
567
|
-
interface
|
|
568
|
-
|
|
569
|
-
|
|
497
|
+
interface MsgpackCircuitWriteSolidityVerifier {
|
|
498
|
+
verification_key: Uint8Array;
|
|
499
|
+
settings: MsgpackProofSystemSettings;
|
|
570
500
|
}
|
|
571
|
-
|
|
572
|
-
|
|
501
|
+
interface MsgpackChonkCheckPrecomputedVk {
|
|
502
|
+
circuit: MsgpackCircuitInput;
|
|
573
503
|
}
|
|
574
|
-
interface
|
|
575
|
-
|
|
504
|
+
interface MsgpackChonkStats {
|
|
505
|
+
circuit: MsgpackCircuitInputNoVK;
|
|
506
|
+
include_gates_per_opcode: boolean;
|
|
576
507
|
}
|
|
577
|
-
|
|
578
|
-
|
|
508
|
+
interface MsgpackPoseidon2Hash {
|
|
509
|
+
inputs: Uint8Array[];
|
|
579
510
|
}
|
|
580
|
-
interface
|
|
581
|
-
|
|
511
|
+
interface MsgpackPoseidon2Permutation {
|
|
512
|
+
inputs: Uint8Array[];
|
|
582
513
|
}
|
|
583
|
-
|
|
584
|
-
|
|
514
|
+
interface MsgpackPedersenCommit {
|
|
515
|
+
inputs: Uint8Array[];
|
|
516
|
+
hash_index: number;
|
|
585
517
|
}
|
|
586
|
-
interface
|
|
587
|
-
|
|
518
|
+
interface MsgpackPedersenHash {
|
|
519
|
+
inputs: Uint8Array[];
|
|
520
|
+
hash_index: number;
|
|
588
521
|
}
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
522
|
+
interface MsgpackPedersenHashBuffer {
|
|
523
|
+
input: Uint8Array;
|
|
524
|
+
hash_index: number;
|
|
592
525
|
}
|
|
593
|
-
interface
|
|
594
|
-
|
|
595
|
-
scalar: Uint8Array;
|
|
526
|
+
interface MsgpackBlake2s {
|
|
527
|
+
data: Uint8Array;
|
|
596
528
|
}
|
|
597
|
-
|
|
598
|
-
|
|
529
|
+
interface MsgpackBlake2sToField {
|
|
530
|
+
data: Uint8Array;
|
|
599
531
|
}
|
|
600
|
-
interface
|
|
601
|
-
|
|
532
|
+
interface MsgpackAesEncrypt {
|
|
533
|
+
plaintext: Uint8Array;
|
|
534
|
+
iv: Uint8Array;
|
|
535
|
+
key: Uint8Array;
|
|
536
|
+
length: number;
|
|
602
537
|
}
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
538
|
+
interface MsgpackAesDecrypt {
|
|
539
|
+
ciphertext: Uint8Array;
|
|
540
|
+
iv: Uint8Array;
|
|
541
|
+
key: Uint8Array;
|
|
542
|
+
length: number;
|
|
606
543
|
}
|
|
607
544
|
interface MsgpackGrumpkinPoint {
|
|
608
545
|
x: Uint8Array;
|
|
609
546
|
y: Uint8Array;
|
|
610
547
|
}
|
|
611
|
-
|
|
612
|
-
|
|
548
|
+
interface MsgpackGrumpkinMul {
|
|
549
|
+
point: MsgpackGrumpkinPoint;
|
|
550
|
+
scalar: Uint8Array;
|
|
551
|
+
}
|
|
552
|
+
interface MsgpackGrumpkinAdd {
|
|
553
|
+
point_a: MsgpackGrumpkinPoint;
|
|
554
|
+
point_b: MsgpackGrumpkinPoint;
|
|
555
|
+
}
|
|
556
|
+
interface MsgpackGrumpkinBatchMul {
|
|
557
|
+
points: MsgpackGrumpkinPoint[];
|
|
558
|
+
scalar: Uint8Array;
|
|
559
|
+
}
|
|
560
|
+
interface MsgpackGrumpkinGetRandomFr {
|
|
561
|
+
dummy: number;
|
|
613
562
|
}
|
|
614
563
|
interface MsgpackGrumpkinReduce512 {
|
|
615
564
|
input: Uint8Array;
|
|
616
565
|
}
|
|
617
|
-
|
|
618
|
-
|
|
566
|
+
interface MsgpackSecp256k1Point {
|
|
567
|
+
x: Uint8Array;
|
|
568
|
+
y: Uint8Array;
|
|
619
569
|
}
|
|
620
|
-
interface
|
|
621
|
-
|
|
570
|
+
interface MsgpackSecp256k1Mul {
|
|
571
|
+
point: MsgpackSecp256k1Point;
|
|
572
|
+
scalar: Uint8Array;
|
|
622
573
|
}
|
|
623
|
-
|
|
624
|
-
|
|
574
|
+
interface MsgpackSecp256k1GetRandomFr {
|
|
575
|
+
dummy: number;
|
|
625
576
|
}
|
|
626
|
-
interface
|
|
627
|
-
verification_key: Uint8Array;
|
|
628
|
-
}
|
|
629
|
-
export interface MegaVkAsFieldsResponse {
|
|
630
|
-
fields: Fr[];
|
|
631
|
-
}
|
|
632
|
-
interface MsgpackMegaVkAsFieldsResponse {
|
|
633
|
-
fields: Uint8Array[];
|
|
634
|
-
}
|
|
635
|
-
export interface PedersenCommit {
|
|
636
|
-
inputs: Fr[];
|
|
637
|
-
hashIndex: number;
|
|
638
|
-
}
|
|
639
|
-
interface MsgpackPedersenCommit {
|
|
640
|
-
inputs: Uint8Array[];
|
|
641
|
-
hash_index: number;
|
|
642
|
-
}
|
|
643
|
-
export interface PedersenCommitResponse {
|
|
644
|
-
point: GrumpkinPoint;
|
|
645
|
-
}
|
|
646
|
-
interface MsgpackPedersenCommitResponse {
|
|
647
|
-
point: MsgpackGrumpkinPoint;
|
|
648
|
-
}
|
|
649
|
-
export interface PedersenHash {
|
|
650
|
-
inputs: Fr[];
|
|
651
|
-
hashIndex: number;
|
|
652
|
-
}
|
|
653
|
-
interface MsgpackPedersenHash {
|
|
654
|
-
inputs: Uint8Array[];
|
|
655
|
-
hash_index: number;
|
|
656
|
-
}
|
|
657
|
-
export interface PedersenHashBuffer {
|
|
577
|
+
interface MsgpackSecp256k1Reduce512 {
|
|
658
578
|
input: Uint8Array;
|
|
659
|
-
hashIndex: number;
|
|
660
579
|
}
|
|
661
|
-
interface
|
|
580
|
+
interface MsgpackBn254FrSqrt {
|
|
662
581
|
input: Uint8Array;
|
|
663
|
-
hash_index: number;
|
|
664
|
-
}
|
|
665
|
-
export interface PedersenHashBufferResponse {
|
|
666
|
-
hash: Fr;
|
|
667
|
-
}
|
|
668
|
-
interface MsgpackPedersenHashBufferResponse {
|
|
669
|
-
hash: Uint8Array;
|
|
670
|
-
}
|
|
671
|
-
export interface PedersenHashResponse {
|
|
672
|
-
hash: Fr;
|
|
673
|
-
}
|
|
674
|
-
interface MsgpackPedersenHashResponse {
|
|
675
|
-
hash: Uint8Array;
|
|
676
|
-
}
|
|
677
|
-
export interface Poseidon2Hash {
|
|
678
|
-
inputs: Fr[];
|
|
679
|
-
}
|
|
680
|
-
interface MsgpackPoseidon2Hash {
|
|
681
|
-
inputs: Uint8Array[];
|
|
682
|
-
}
|
|
683
|
-
export interface Poseidon2HashAccumulate {
|
|
684
|
-
inputs: Fr[];
|
|
685
|
-
}
|
|
686
|
-
interface MsgpackPoseidon2HashAccumulate {
|
|
687
|
-
inputs: Uint8Array[];
|
|
688
|
-
}
|
|
689
|
-
export interface Poseidon2HashAccumulateResponse {
|
|
690
|
-
hash: Fr;
|
|
691
|
-
}
|
|
692
|
-
interface MsgpackPoseidon2HashAccumulateResponse {
|
|
693
|
-
hash: Uint8Array;
|
|
694
|
-
}
|
|
695
|
-
export interface Poseidon2HashResponse {
|
|
696
|
-
hash: Fr;
|
|
697
|
-
}
|
|
698
|
-
interface MsgpackPoseidon2HashResponse {
|
|
699
|
-
hash: Uint8Array;
|
|
700
582
|
}
|
|
701
|
-
|
|
702
|
-
|
|
583
|
+
interface MsgpackBn254FqSqrt {
|
|
584
|
+
input: Uint8Array;
|
|
703
585
|
}
|
|
704
|
-
interface
|
|
705
|
-
|
|
586
|
+
interface MsgpackBn254G1Point {
|
|
587
|
+
x: Uint8Array;
|
|
588
|
+
y: Uint8Array;
|
|
706
589
|
}
|
|
707
|
-
|
|
708
|
-
|
|
590
|
+
interface MsgpackBn254G1Mul {
|
|
591
|
+
point: MsgpackBn254G1Point;
|
|
592
|
+
scalar: Uint8Array;
|
|
709
593
|
}
|
|
710
|
-
interface
|
|
711
|
-
|
|
594
|
+
interface MsgpackBn254G2Point {
|
|
595
|
+
x: [Uint8Array, Uint8Array];
|
|
596
|
+
y: [Uint8Array, Uint8Array];
|
|
712
597
|
}
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
disableZk: boolean;
|
|
717
|
-
optimizedSolidityVerifier: boolean;
|
|
598
|
+
interface MsgpackBn254G2Mul {
|
|
599
|
+
point: MsgpackBn254G2Point;
|
|
600
|
+
scalar: Uint8Array;
|
|
718
601
|
}
|
|
719
|
-
interface
|
|
720
|
-
|
|
721
|
-
oracle_hash_type: string;
|
|
722
|
-
disable_zk: boolean;
|
|
723
|
-
optimized_solidity_verifier: boolean;
|
|
602
|
+
interface MsgpackBn254G1IsOnCurve {
|
|
603
|
+
point: MsgpackBn254G1Point;
|
|
724
604
|
}
|
|
725
|
-
|
|
726
|
-
|
|
605
|
+
interface MsgpackBn254G1FromCompressed {
|
|
606
|
+
compressed: Uint8Array;
|
|
727
607
|
}
|
|
728
608
|
interface MsgpackSchnorrComputePublicKey {
|
|
729
609
|
private_key: Uint8Array;
|
|
730
610
|
}
|
|
731
|
-
|
|
732
|
-
|
|
611
|
+
interface MsgpackSchnorrConstructSignature {
|
|
612
|
+
message: Uint8Array;
|
|
613
|
+
private_key: Uint8Array;
|
|
733
614
|
}
|
|
734
|
-
interface
|
|
615
|
+
interface MsgpackSchnorrVerifySignature {
|
|
616
|
+
message: Uint8Array;
|
|
735
617
|
public_key: MsgpackGrumpkinPoint;
|
|
618
|
+
s: Uint8Array;
|
|
619
|
+
e: Uint8Array;
|
|
736
620
|
}
|
|
737
|
-
|
|
621
|
+
interface MsgpackEcdsaSecp256k1ComputePublicKey {
|
|
622
|
+
private_key: Uint8Array;
|
|
623
|
+
}
|
|
624
|
+
interface MsgpackEcdsaSecp256r1ComputePublicKey {
|
|
625
|
+
private_key: Uint8Array;
|
|
626
|
+
}
|
|
627
|
+
interface MsgpackEcdsaSecp256k1ConstructSignature {
|
|
738
628
|
message: Uint8Array;
|
|
739
|
-
|
|
629
|
+
private_key: Uint8Array;
|
|
740
630
|
}
|
|
741
|
-
interface
|
|
631
|
+
interface MsgpackEcdsaSecp256r1ConstructSignature {
|
|
742
632
|
message: Uint8Array;
|
|
743
633
|
private_key: Uint8Array;
|
|
744
634
|
}
|
|
745
|
-
|
|
635
|
+
interface MsgpackEcdsaSecp256k1RecoverPublicKey {
|
|
636
|
+
message: Uint8Array;
|
|
637
|
+
r: Uint8Array;
|
|
746
638
|
s: Uint8Array;
|
|
747
|
-
|
|
639
|
+
v: number;
|
|
748
640
|
}
|
|
749
|
-
interface
|
|
641
|
+
interface MsgpackEcdsaSecp256r1RecoverPublicKey {
|
|
642
|
+
message: Uint8Array;
|
|
643
|
+
r: Uint8Array;
|
|
750
644
|
s: Uint8Array;
|
|
751
|
-
|
|
645
|
+
v: number;
|
|
752
646
|
}
|
|
753
|
-
|
|
647
|
+
interface MsgpackEcdsaSecp256k1VerifySignature {
|
|
754
648
|
message: Uint8Array;
|
|
755
|
-
|
|
649
|
+
public_key: MsgpackSecp256k1Point;
|
|
650
|
+
r: Uint8Array;
|
|
756
651
|
s: Uint8Array;
|
|
757
|
-
|
|
652
|
+
v: number;
|
|
758
653
|
}
|
|
759
|
-
interface
|
|
654
|
+
interface MsgpackSecp256r1Point {
|
|
655
|
+
x: Uint8Array;
|
|
656
|
+
y: Uint8Array;
|
|
657
|
+
}
|
|
658
|
+
interface MsgpackEcdsaSecp256r1VerifySignature {
|
|
760
659
|
message: Uint8Array;
|
|
761
|
-
public_key:
|
|
660
|
+
public_key: MsgpackSecp256r1Point;
|
|
661
|
+
r: Uint8Array;
|
|
762
662
|
s: Uint8Array;
|
|
763
|
-
|
|
663
|
+
v: number;
|
|
764
664
|
}
|
|
765
|
-
|
|
766
|
-
|
|
665
|
+
interface MsgpackSrsInitSrs {
|
|
666
|
+
points_buf: Uint8Array;
|
|
667
|
+
num_points: number;
|
|
668
|
+
g2_point: Uint8Array;
|
|
767
669
|
}
|
|
768
|
-
interface
|
|
769
|
-
|
|
670
|
+
interface MsgpackSrsInitGrumpkinSrs {
|
|
671
|
+
points_buf: Uint8Array;
|
|
672
|
+
num_points: number;
|
|
770
673
|
}
|
|
771
|
-
|
|
772
|
-
dummy: number;
|
|
674
|
+
interface MsgpackShutdown {
|
|
773
675
|
}
|
|
774
|
-
interface
|
|
775
|
-
|
|
676
|
+
interface MsgpackErrorResponse {
|
|
677
|
+
message: string;
|
|
776
678
|
}
|
|
777
|
-
|
|
778
|
-
|
|
679
|
+
interface MsgpackCircuitProveResponse {
|
|
680
|
+
public_inputs: Uint8Array[];
|
|
681
|
+
proof: Uint8Array[];
|
|
682
|
+
vk: MsgpackCircuitComputeVkResponse;
|
|
779
683
|
}
|
|
780
|
-
interface
|
|
781
|
-
|
|
684
|
+
interface MsgpackCircuitInfoResponse {
|
|
685
|
+
num_gates: number;
|
|
686
|
+
num_gates_dyadic: number;
|
|
687
|
+
num_acir_opcodes: number;
|
|
688
|
+
gates_per_opcode: number[];
|
|
782
689
|
}
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
scalar: Secp256k1Fr;
|
|
690
|
+
interface MsgpackCircuitVerifyResponse {
|
|
691
|
+
verified: boolean;
|
|
786
692
|
}
|
|
787
|
-
interface
|
|
788
|
-
|
|
789
|
-
|
|
693
|
+
interface MsgpackChonkComputeVkResponse {
|
|
694
|
+
bytes: Uint8Array;
|
|
695
|
+
fields: Uint8Array[];
|
|
790
696
|
}
|
|
791
|
-
|
|
792
|
-
point: Secp256k1Point;
|
|
697
|
+
interface MsgpackChonkStartResponse {
|
|
793
698
|
}
|
|
794
|
-
interface
|
|
795
|
-
point: MsgpackSecp256k1Point;
|
|
699
|
+
interface MsgpackChonkLoadResponse {
|
|
796
700
|
}
|
|
797
|
-
|
|
798
|
-
x: Secp256k1Fq;
|
|
799
|
-
y: Secp256k1Fq;
|
|
701
|
+
interface MsgpackChonkAccumulateResponse {
|
|
800
702
|
}
|
|
801
|
-
interface
|
|
802
|
-
|
|
803
|
-
y: Uint8Array;
|
|
703
|
+
interface MsgpackChonkProveResponse {
|
|
704
|
+
proof: MsgpackChonkProof;
|
|
804
705
|
}
|
|
805
|
-
|
|
806
|
-
|
|
706
|
+
interface MsgpackChonkVerifyResponse {
|
|
707
|
+
valid: boolean;
|
|
807
708
|
}
|
|
808
|
-
interface
|
|
809
|
-
|
|
709
|
+
interface MsgpackVkAsFieldsResponse {
|
|
710
|
+
fields: Uint8Array[];
|
|
810
711
|
}
|
|
811
|
-
|
|
812
|
-
|
|
712
|
+
interface MsgpackMegaVkAsFieldsResponse {
|
|
713
|
+
fields: Uint8Array[];
|
|
813
714
|
}
|
|
814
|
-
interface
|
|
815
|
-
|
|
715
|
+
interface MsgpackCircuitWriteSolidityVerifierResponse {
|
|
716
|
+
solidity_code: string;
|
|
816
717
|
}
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
718
|
+
interface MsgpackChonkCheckPrecomputedVkResponse {
|
|
719
|
+
valid: boolean;
|
|
720
|
+
actual_vk: Uint8Array;
|
|
820
721
|
}
|
|
821
|
-
interface
|
|
822
|
-
|
|
823
|
-
|
|
722
|
+
interface MsgpackChonkStatsResponse {
|
|
723
|
+
acir_opcodes: number;
|
|
724
|
+
circuit_size: number;
|
|
725
|
+
gates_per_opcode: number[];
|
|
824
726
|
}
|
|
825
|
-
|
|
727
|
+
interface MsgpackPoseidon2HashResponse {
|
|
728
|
+
hash: Uint8Array;
|
|
826
729
|
}
|
|
827
|
-
interface
|
|
730
|
+
interface MsgpackPoseidon2PermutationResponse {
|
|
731
|
+
outputs: Uint8Array[];
|
|
828
732
|
}
|
|
829
|
-
|
|
733
|
+
interface MsgpackPedersenCommitResponse {
|
|
734
|
+
point: MsgpackGrumpkinPoint;
|
|
830
735
|
}
|
|
831
|
-
interface
|
|
736
|
+
interface MsgpackPedersenHashResponse {
|
|
737
|
+
hash: Uint8Array;
|
|
832
738
|
}
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
numPoints: number;
|
|
739
|
+
interface MsgpackPedersenHashBufferResponse {
|
|
740
|
+
hash: Uint8Array;
|
|
836
741
|
}
|
|
837
|
-
interface
|
|
838
|
-
|
|
839
|
-
num_points: number;
|
|
742
|
+
interface MsgpackBlake2sResponse {
|
|
743
|
+
hash: Uint8Array;
|
|
840
744
|
}
|
|
841
|
-
|
|
842
|
-
|
|
745
|
+
interface MsgpackBlake2sToFieldResponse {
|
|
746
|
+
field: Uint8Array;
|
|
843
747
|
}
|
|
844
|
-
interface
|
|
845
|
-
|
|
846
|
-
}
|
|
847
|
-
export interface SrsInitSrs {
|
|
848
|
-
pointsBuf: Uint8Array;
|
|
849
|
-
numPoints: number;
|
|
850
|
-
g2Point: Uint8Array;
|
|
851
|
-
}
|
|
852
|
-
interface MsgpackSrsInitSrs {
|
|
853
|
-
points_buf: Uint8Array;
|
|
854
|
-
num_points: number;
|
|
855
|
-
g2_point: Uint8Array;
|
|
856
|
-
}
|
|
857
|
-
export interface SrsInitSrsResponse {
|
|
858
|
-
dummy: number;
|
|
859
|
-
}
|
|
860
|
-
interface MsgpackSrsInitSrsResponse {
|
|
861
|
-
dummy: number;
|
|
862
|
-
}
|
|
863
|
-
export interface VkAsFields {
|
|
864
|
-
verificationKey: Uint8Array;
|
|
865
|
-
}
|
|
866
|
-
interface MsgpackVkAsFields {
|
|
867
|
-
verification_key: Uint8Array;
|
|
868
|
-
}
|
|
869
|
-
export interface VkAsFieldsResponse {
|
|
870
|
-
fields: Fr[];
|
|
871
|
-
}
|
|
872
|
-
interface MsgpackVkAsFieldsResponse {
|
|
873
|
-
fields: Uint8Array[];
|
|
874
|
-
}
|
|
875
|
-
export interface AesDecrypt {
|
|
876
|
-
ciphertext: Uint8Array;
|
|
877
|
-
iv: Uint8Array;
|
|
878
|
-
key: Uint8Array;
|
|
879
|
-
length: number;
|
|
880
|
-
}
|
|
881
|
-
interface MsgpackAesDecrypt {
|
|
882
|
-
ciphertext: Uint8Array;
|
|
883
|
-
iv: Uint8Array;
|
|
884
|
-
key: Uint8Array;
|
|
885
|
-
length: number;
|
|
886
|
-
}
|
|
887
|
-
export interface AesDecryptResponse {
|
|
888
|
-
plaintext: Uint8Array;
|
|
748
|
+
interface MsgpackAesEncryptResponse {
|
|
749
|
+
ciphertext: Uint8Array;
|
|
889
750
|
}
|
|
890
751
|
interface MsgpackAesDecryptResponse {
|
|
891
752
|
plaintext: Uint8Array;
|
|
892
753
|
}
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
iv: Uint8Array;
|
|
896
|
-
key: Uint8Array;
|
|
897
|
-
length: number;
|
|
898
|
-
}
|
|
899
|
-
interface MsgpackAesEncrypt {
|
|
900
|
-
plaintext: Uint8Array;
|
|
901
|
-
iv: Uint8Array;
|
|
902
|
-
key: Uint8Array;
|
|
903
|
-
length: number;
|
|
904
|
-
}
|
|
905
|
-
export interface AesEncryptResponse {
|
|
906
|
-
ciphertext: Uint8Array;
|
|
907
|
-
}
|
|
908
|
-
interface MsgpackAesEncryptResponse {
|
|
909
|
-
ciphertext: Uint8Array;
|
|
910
|
-
}
|
|
911
|
-
export interface Blake2s {
|
|
912
|
-
data: Uint8Array;
|
|
913
|
-
}
|
|
914
|
-
interface MsgpackBlake2s {
|
|
915
|
-
data: Uint8Array;
|
|
916
|
-
}
|
|
917
|
-
export interface Blake2sResponse {
|
|
918
|
-
hash: Uint8Array;
|
|
919
|
-
}
|
|
920
|
-
interface MsgpackBlake2sResponse {
|
|
921
|
-
hash: Uint8Array;
|
|
922
|
-
}
|
|
923
|
-
export interface Blake2sToField {
|
|
924
|
-
data: Uint8Array;
|
|
925
|
-
}
|
|
926
|
-
interface MsgpackBlake2sToField {
|
|
927
|
-
data: Uint8Array;
|
|
928
|
-
}
|
|
929
|
-
export interface Blake2sToFieldResponse {
|
|
930
|
-
field: Fr;
|
|
931
|
-
}
|
|
932
|
-
interface MsgpackBlake2sToFieldResponse {
|
|
933
|
-
field: Uint8Array;
|
|
754
|
+
interface MsgpackGrumpkinMulResponse {
|
|
755
|
+
point: MsgpackGrumpkinPoint;
|
|
934
756
|
}
|
|
935
|
-
|
|
936
|
-
|
|
757
|
+
interface MsgpackGrumpkinAddResponse {
|
|
758
|
+
point: MsgpackGrumpkinPoint;
|
|
937
759
|
}
|
|
938
|
-
interface
|
|
939
|
-
|
|
760
|
+
interface MsgpackGrumpkinBatchMulResponse {
|
|
761
|
+
points: MsgpackGrumpkinPoint[];
|
|
940
762
|
}
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
value: Fq;
|
|
763
|
+
interface MsgpackGrumpkinGetRandomFrResponse {
|
|
764
|
+
value: Uint8Array;
|
|
944
765
|
}
|
|
945
|
-
interface
|
|
946
|
-
is_square_root: boolean;
|
|
766
|
+
interface MsgpackGrumpkinReduce512Response {
|
|
947
767
|
value: Uint8Array;
|
|
948
768
|
}
|
|
949
|
-
|
|
950
|
-
|
|
769
|
+
interface MsgpackSecp256k1MulResponse {
|
|
770
|
+
point: MsgpackSecp256k1Point;
|
|
951
771
|
}
|
|
952
|
-
interface
|
|
953
|
-
|
|
772
|
+
interface MsgpackSecp256k1GetRandomFrResponse {
|
|
773
|
+
value: Uint8Array;
|
|
954
774
|
}
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
value: Fr;
|
|
775
|
+
interface MsgpackSecp256k1Reduce512Response {
|
|
776
|
+
value: Uint8Array;
|
|
958
777
|
}
|
|
959
778
|
interface MsgpackBn254FrSqrtResponse {
|
|
960
779
|
is_square_root: boolean;
|
|
961
780
|
value: Uint8Array;
|
|
962
781
|
}
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
interface MsgpackBn254G1FromCompressed {
|
|
967
|
-
compressed: Uint8Array;
|
|
968
|
-
}
|
|
969
|
-
export interface Bn254G1FromCompressedResponse {
|
|
970
|
-
point: Bn254G1Point;
|
|
971
|
-
}
|
|
972
|
-
interface MsgpackBn254G1FromCompressedResponse {
|
|
973
|
-
point: MsgpackBn254G1Point;
|
|
974
|
-
}
|
|
975
|
-
export interface Bn254G1IsOnCurve {
|
|
976
|
-
point: Bn254G1Point;
|
|
977
|
-
}
|
|
978
|
-
interface MsgpackBn254G1IsOnCurve {
|
|
979
|
-
point: MsgpackBn254G1Point;
|
|
980
|
-
}
|
|
981
|
-
export interface Bn254G1IsOnCurveResponse {
|
|
982
|
-
isOnCurve: boolean;
|
|
983
|
-
}
|
|
984
|
-
interface MsgpackBn254G1IsOnCurveResponse {
|
|
985
|
-
is_on_curve: boolean;
|
|
986
|
-
}
|
|
987
|
-
export interface Bn254G1Mul {
|
|
988
|
-
point: Bn254G1Point;
|
|
989
|
-
scalar: Fr;
|
|
990
|
-
}
|
|
991
|
-
interface MsgpackBn254G1Mul {
|
|
992
|
-
point: MsgpackBn254G1Point;
|
|
993
|
-
scalar: Uint8Array;
|
|
994
|
-
}
|
|
995
|
-
export interface Bn254G1MulResponse {
|
|
996
|
-
point: Bn254G1Point;
|
|
782
|
+
interface MsgpackBn254FqSqrtResponse {
|
|
783
|
+
is_square_root: boolean;
|
|
784
|
+
value: Uint8Array;
|
|
997
785
|
}
|
|
998
786
|
interface MsgpackBn254G1MulResponse {
|
|
999
787
|
point: MsgpackBn254G1Point;
|
|
1000
788
|
}
|
|
1001
|
-
export interface Bn254G1Point {
|
|
1002
|
-
x: Fq;
|
|
1003
|
-
y: Fq;
|
|
1004
|
-
}
|
|
1005
|
-
interface MsgpackBn254G1Point {
|
|
1006
|
-
x: Uint8Array;
|
|
1007
|
-
y: Uint8Array;
|
|
1008
|
-
}
|
|
1009
|
-
export interface Bn254G2Mul {
|
|
1010
|
-
point: Bn254G2Point;
|
|
1011
|
-
scalar: Fr;
|
|
1012
|
-
}
|
|
1013
|
-
interface MsgpackBn254G2Mul {
|
|
1014
|
-
point: MsgpackBn254G2Point;
|
|
1015
|
-
scalar: Uint8Array;
|
|
1016
|
-
}
|
|
1017
|
-
export interface Bn254G2MulResponse {
|
|
1018
|
-
point: Bn254G2Point;
|
|
1019
|
-
}
|
|
1020
789
|
interface MsgpackBn254G2MulResponse {
|
|
1021
790
|
point: MsgpackBn254G2Point;
|
|
1022
791
|
}
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
y: Field2;
|
|
1026
|
-
}
|
|
1027
|
-
interface MsgpackBn254G2Point {
|
|
1028
|
-
x: [Uint8Array, Uint8Array];
|
|
1029
|
-
y: [Uint8Array, Uint8Array];
|
|
1030
|
-
}
|
|
1031
|
-
export interface ChonkAccumulate {
|
|
1032
|
-
witness: Uint8Array;
|
|
1033
|
-
}
|
|
1034
|
-
interface MsgpackChonkAccumulate {
|
|
1035
|
-
witness: Uint8Array;
|
|
1036
|
-
}
|
|
1037
|
-
export interface ChonkAccumulateResponse {
|
|
1038
|
-
}
|
|
1039
|
-
interface MsgpackChonkAccumulateResponse {
|
|
1040
|
-
}
|
|
1041
|
-
export interface ChonkCheckPrecomputedVk {
|
|
1042
|
-
circuit: CircuitInput;
|
|
1043
|
-
}
|
|
1044
|
-
interface MsgpackChonkCheckPrecomputedVk {
|
|
1045
|
-
circuit: MsgpackCircuitInput;
|
|
1046
|
-
}
|
|
1047
|
-
export interface ChonkCheckPrecomputedVkResponse {
|
|
1048
|
-
valid: boolean;
|
|
1049
|
-
actualVk: Uint8Array;
|
|
1050
|
-
}
|
|
1051
|
-
interface MsgpackChonkCheckPrecomputedVkResponse {
|
|
1052
|
-
valid: boolean;
|
|
1053
|
-
actual_vk: Uint8Array;
|
|
1054
|
-
}
|
|
1055
|
-
export interface ChonkComputeIvcVk {
|
|
1056
|
-
circuit: CircuitInputNoVK;
|
|
1057
|
-
}
|
|
1058
|
-
interface MsgpackChonkComputeIvcVk {
|
|
1059
|
-
circuit: MsgpackCircuitInputNoVK;
|
|
1060
|
-
}
|
|
1061
|
-
export interface ChonkComputeIvcVkResponse {
|
|
1062
|
-
bytes: Uint8Array;
|
|
1063
|
-
}
|
|
1064
|
-
interface MsgpackChonkComputeIvcVkResponse {
|
|
1065
|
-
bytes: Uint8Array;
|
|
792
|
+
interface MsgpackBn254G1IsOnCurveResponse {
|
|
793
|
+
is_on_curve: boolean;
|
|
1066
794
|
}
|
|
1067
|
-
|
|
1068
|
-
|
|
795
|
+
interface MsgpackBn254G1FromCompressedResponse {
|
|
796
|
+
point: MsgpackBn254G1Point;
|
|
1069
797
|
}
|
|
1070
|
-
interface
|
|
1071
|
-
|
|
798
|
+
interface MsgpackSchnorrComputePublicKeyResponse {
|
|
799
|
+
public_key: MsgpackGrumpkinPoint;
|
|
1072
800
|
}
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
801
|
+
interface MsgpackSchnorrConstructSignatureResponse {
|
|
802
|
+
s: Uint8Array;
|
|
803
|
+
e: Uint8Array;
|
|
1076
804
|
}
|
|
1077
|
-
interface
|
|
1078
|
-
|
|
1079
|
-
fields: Uint8Array[];
|
|
805
|
+
interface MsgpackSchnorrVerifySignatureResponse {
|
|
806
|
+
verified: boolean;
|
|
1080
807
|
}
|
|
1081
|
-
|
|
1082
|
-
|
|
808
|
+
interface MsgpackEcdsaSecp256k1ComputePublicKeyResponse {
|
|
809
|
+
public_key: MsgpackSecp256k1Point;
|
|
1083
810
|
}
|
|
1084
|
-
interface
|
|
1085
|
-
|
|
811
|
+
interface MsgpackEcdsaSecp256r1ComputePublicKeyResponse {
|
|
812
|
+
public_key: MsgpackSecp256r1Point;
|
|
1086
813
|
}
|
|
1087
|
-
|
|
814
|
+
interface MsgpackEcdsaSecp256k1ConstructSignatureResponse {
|
|
815
|
+
r: Uint8Array;
|
|
816
|
+
s: Uint8Array;
|
|
817
|
+
v: number;
|
|
1088
818
|
}
|
|
1089
|
-
interface
|
|
819
|
+
interface MsgpackEcdsaSecp256r1ConstructSignatureResponse {
|
|
820
|
+
r: Uint8Array;
|
|
821
|
+
s: Uint8Array;
|
|
822
|
+
v: number;
|
|
1090
823
|
}
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
goblinProof: GoblinProof;
|
|
824
|
+
interface MsgpackEcdsaSecp256k1RecoverPublicKeyResponse {
|
|
825
|
+
public_key: MsgpackSecp256k1Point;
|
|
1094
826
|
}
|
|
1095
|
-
interface
|
|
1096
|
-
|
|
1097
|
-
goblin_proof: MsgpackGoblinProof;
|
|
827
|
+
interface MsgpackEcdsaSecp256r1RecoverPublicKeyResponse {
|
|
828
|
+
public_key: MsgpackSecp256r1Point;
|
|
1098
829
|
}
|
|
1099
|
-
|
|
830
|
+
interface MsgpackEcdsaSecp256k1VerifySignatureResponse {
|
|
831
|
+
verified: boolean;
|
|
1100
832
|
}
|
|
1101
|
-
interface
|
|
833
|
+
interface MsgpackEcdsaSecp256r1VerifySignatureResponse {
|
|
834
|
+
verified: boolean;
|
|
1102
835
|
}
|
|
1103
|
-
|
|
1104
|
-
|
|
836
|
+
interface MsgpackSrsInitSrsResponse {
|
|
837
|
+
dummy: number;
|
|
1105
838
|
}
|
|
1106
|
-
interface
|
|
1107
|
-
|
|
839
|
+
interface MsgpackSrsInitGrumpkinSrsResponse {
|
|
840
|
+
dummy: number;
|
|
1108
841
|
}
|
|
1109
|
-
|
|
1110
|
-
numCircuits: number;
|
|
842
|
+
interface MsgpackShutdownResponse {
|
|
1111
843
|
}
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
export
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
export
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
export
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
export
|
|
1138
|
-
proof: ChonkProof;
|
|
1139
|
-
vk: Uint8Array;
|
|
1140
|
-
}
|
|
1141
|
-
interface MsgpackChonkVerify {
|
|
1142
|
-
proof: MsgpackChonkProof;
|
|
1143
|
-
vk: Uint8Array;
|
|
1144
|
-
}
|
|
1145
|
-
export interface ChonkVerifyResponse {
|
|
1146
|
-
valid: boolean;
|
|
1147
|
-
}
|
|
1148
|
-
interface MsgpackChonkVerifyResponse {
|
|
1149
|
-
valid: boolean;
|
|
1150
|
-
}
|
|
1151
|
-
export interface CircuitComputeVk {
|
|
1152
|
-
circuit: CircuitInputNoVK;
|
|
1153
|
-
settings: ProofSystemSettings;
|
|
1154
|
-
}
|
|
1155
|
-
interface MsgpackCircuitComputeVk {
|
|
1156
|
-
circuit: MsgpackCircuitInputNoVK;
|
|
1157
|
-
settings: MsgpackProofSystemSettings;
|
|
1158
|
-
}
|
|
1159
|
-
export interface CircuitComputeVkResponse {
|
|
1160
|
-
bytes: Uint8Array;
|
|
1161
|
-
fields: Uint256T[];
|
|
1162
|
-
hash: Uint8Array;
|
|
1163
|
-
}
|
|
1164
|
-
interface MsgpackCircuitComputeVkResponse {
|
|
1165
|
-
bytes: Uint8Array;
|
|
1166
|
-
fields: Uint8Array[];
|
|
1167
|
-
hash: Uint8Array;
|
|
1168
|
-
}
|
|
1169
|
-
export interface CircuitInfoResponse {
|
|
1170
|
-
numGates: number;
|
|
1171
|
-
numGatesDyadic: number;
|
|
1172
|
-
numAcirOpcodes: number;
|
|
1173
|
-
gatesPerOpcode: number[];
|
|
1174
|
-
}
|
|
1175
|
-
interface MsgpackCircuitInfoResponse {
|
|
1176
|
-
num_gates: number;
|
|
1177
|
-
num_gates_dyadic: number;
|
|
1178
|
-
num_acir_opcodes: number;
|
|
1179
|
-
gates_per_opcode: number[];
|
|
1180
|
-
}
|
|
1181
|
-
export interface CircuitInput {
|
|
1182
|
-
name: string;
|
|
1183
|
-
bytecode: Uint8Array;
|
|
1184
|
-
verificationKey: Uint8Array;
|
|
1185
|
-
}
|
|
1186
|
-
interface MsgpackCircuitInput {
|
|
1187
|
-
name: string;
|
|
1188
|
-
bytecode: Uint8Array;
|
|
1189
|
-
verification_key: Uint8Array;
|
|
1190
|
-
}
|
|
1191
|
-
export interface CircuitInputNoVK {
|
|
1192
|
-
name: string;
|
|
1193
|
-
bytecode: Uint8Array;
|
|
1194
|
-
}
|
|
1195
|
-
interface MsgpackCircuitInputNoVK {
|
|
1196
|
-
name: string;
|
|
1197
|
-
bytecode: Uint8Array;
|
|
1198
|
-
}
|
|
1199
|
-
export interface CircuitProve {
|
|
1200
|
-
circuit: CircuitInput;
|
|
1201
|
-
witness: Uint8Array;
|
|
1202
|
-
settings: ProofSystemSettings;
|
|
1203
|
-
}
|
|
1204
|
-
interface MsgpackCircuitProve {
|
|
1205
|
-
circuit: MsgpackCircuitInput;
|
|
1206
|
-
witness: Uint8Array;
|
|
1207
|
-
settings: MsgpackProofSystemSettings;
|
|
1208
|
-
}
|
|
1209
|
-
export interface CircuitProveResponse {
|
|
1210
|
-
publicInputs: Uint256T[];
|
|
1211
|
-
proof: Uint256T[];
|
|
1212
|
-
vk: CircuitComputeVkResponse;
|
|
1213
|
-
}
|
|
1214
|
-
interface MsgpackCircuitProveResponse {
|
|
1215
|
-
public_inputs: Uint8Array[];
|
|
1216
|
-
proof: Uint8Array[];
|
|
1217
|
-
vk: MsgpackCircuitComputeVkResponse;
|
|
1218
|
-
}
|
|
1219
|
-
export interface CircuitStats {
|
|
1220
|
-
circuit: CircuitInput;
|
|
1221
|
-
includeGatesPerOpcode: boolean;
|
|
1222
|
-
settings: ProofSystemSettings;
|
|
1223
|
-
}
|
|
1224
|
-
interface MsgpackCircuitStats {
|
|
1225
|
-
circuit: MsgpackCircuitInput;
|
|
1226
|
-
include_gates_per_opcode: boolean;
|
|
1227
|
-
settings: MsgpackProofSystemSettings;
|
|
1228
|
-
}
|
|
1229
|
-
export interface CircuitVerify {
|
|
1230
|
-
verificationKey: Uint8Array;
|
|
1231
|
-
publicInputs: Uint256T[];
|
|
1232
|
-
proof: Uint256T[];
|
|
1233
|
-
settings: ProofSystemSettings;
|
|
1234
|
-
}
|
|
1235
|
-
interface MsgpackCircuitVerify {
|
|
1236
|
-
verification_key: Uint8Array;
|
|
1237
|
-
public_inputs: Uint8Array[];
|
|
1238
|
-
proof: Uint8Array[];
|
|
1239
|
-
settings: MsgpackProofSystemSettings;
|
|
1240
|
-
}
|
|
1241
|
-
export interface CircuitVerifyResponse {
|
|
1242
|
-
verified: boolean;
|
|
1243
|
-
}
|
|
1244
|
-
interface MsgpackCircuitVerifyResponse {
|
|
1245
|
-
verified: boolean;
|
|
1246
|
-
}
|
|
1247
|
-
export interface CircuitWriteSolidityVerifier {
|
|
1248
|
-
verificationKey: Uint8Array;
|
|
1249
|
-
settings: ProofSystemSettings;
|
|
1250
|
-
}
|
|
1251
|
-
interface MsgpackCircuitWriteSolidityVerifier {
|
|
1252
|
-
verification_key: Uint8Array;
|
|
1253
|
-
settings: MsgpackProofSystemSettings;
|
|
1254
|
-
}
|
|
1255
|
-
export interface CircuitWriteSolidityVerifierResponse {
|
|
1256
|
-
solidityCode: string;
|
|
1257
|
-
}
|
|
1258
|
-
interface MsgpackCircuitWriteSolidityVerifierResponse {
|
|
1259
|
-
solidity_code: string;
|
|
1260
|
-
}
|
|
1261
|
-
export interface EcdsaSecp256k1ComputePublicKey {
|
|
1262
|
-
privateKey: Secp256k1Fr;
|
|
1263
|
-
}
|
|
1264
|
-
interface MsgpackEcdsaSecp256k1ComputePublicKey {
|
|
1265
|
-
private_key: Uint8Array;
|
|
1266
|
-
}
|
|
1267
|
-
export interface EcdsaSecp256k1ComputePublicKeyResponse {
|
|
1268
|
-
publicKey: Secp256k1Point;
|
|
1269
|
-
}
|
|
1270
|
-
interface MsgpackEcdsaSecp256k1ComputePublicKeyResponse {
|
|
1271
|
-
public_key: MsgpackSecp256k1Point;
|
|
1272
|
-
}
|
|
1273
|
-
export interface EcdsaSecp256k1ConstructSignature {
|
|
1274
|
-
message: Uint8Array;
|
|
1275
|
-
privateKey: Secp256k1Fr;
|
|
1276
|
-
}
|
|
1277
|
-
interface MsgpackEcdsaSecp256k1ConstructSignature {
|
|
1278
|
-
message: Uint8Array;
|
|
1279
|
-
private_key: Uint8Array;
|
|
1280
|
-
}
|
|
1281
|
-
export interface EcdsaSecp256k1ConstructSignatureResponse {
|
|
1282
|
-
r: Uint8Array;
|
|
1283
|
-
s: Uint8Array;
|
|
1284
|
-
v: number;
|
|
1285
|
-
}
|
|
1286
|
-
interface MsgpackEcdsaSecp256k1ConstructSignatureResponse {
|
|
1287
|
-
r: Uint8Array;
|
|
1288
|
-
s: Uint8Array;
|
|
1289
|
-
v: number;
|
|
1290
|
-
}
|
|
1291
|
-
export interface EcdsaSecp256k1RecoverPublicKey {
|
|
1292
|
-
message: Uint8Array;
|
|
1293
|
-
r: Uint8Array;
|
|
1294
|
-
s: Uint8Array;
|
|
1295
|
-
v: number;
|
|
1296
|
-
}
|
|
1297
|
-
interface MsgpackEcdsaSecp256k1RecoverPublicKey {
|
|
1298
|
-
message: Uint8Array;
|
|
1299
|
-
r: Uint8Array;
|
|
1300
|
-
s: Uint8Array;
|
|
1301
|
-
v: number;
|
|
1302
|
-
}
|
|
1303
|
-
export interface EcdsaSecp256k1RecoverPublicKeyResponse {
|
|
1304
|
-
publicKey: Secp256k1Point;
|
|
1305
|
-
}
|
|
1306
|
-
interface MsgpackEcdsaSecp256k1RecoverPublicKeyResponse {
|
|
1307
|
-
public_key: MsgpackSecp256k1Point;
|
|
1308
|
-
}
|
|
1309
|
-
export interface EcdsaSecp256k1VerifySignature {
|
|
1310
|
-
message: Uint8Array;
|
|
1311
|
-
publicKey: Secp256k1Point;
|
|
1312
|
-
r: Uint8Array;
|
|
1313
|
-
s: Uint8Array;
|
|
1314
|
-
v: number;
|
|
1315
|
-
}
|
|
1316
|
-
interface MsgpackEcdsaSecp256k1VerifySignature {
|
|
1317
|
-
message: Uint8Array;
|
|
1318
|
-
public_key: MsgpackSecp256k1Point;
|
|
1319
|
-
r: Uint8Array;
|
|
1320
|
-
s: Uint8Array;
|
|
1321
|
-
v: number;
|
|
1322
|
-
}
|
|
1323
|
-
export interface EcdsaSecp256k1VerifySignatureResponse {
|
|
1324
|
-
verified: boolean;
|
|
1325
|
-
}
|
|
1326
|
-
interface MsgpackEcdsaSecp256k1VerifySignatureResponse {
|
|
1327
|
-
verified: boolean;
|
|
1328
|
-
}
|
|
1329
|
-
export interface EcdsaSecp256r1ComputePublicKey {
|
|
1330
|
-
privateKey: Secp256r1Fr;
|
|
1331
|
-
}
|
|
1332
|
-
interface MsgpackEcdsaSecp256r1ComputePublicKey {
|
|
1333
|
-
private_key: Uint8Array;
|
|
1334
|
-
}
|
|
1335
|
-
export interface EcdsaSecp256r1ComputePublicKeyResponse {
|
|
1336
|
-
publicKey: Secp256r1Point;
|
|
1337
|
-
}
|
|
1338
|
-
interface MsgpackEcdsaSecp256r1ComputePublicKeyResponse {
|
|
1339
|
-
public_key: MsgpackSecp256r1Point;
|
|
1340
|
-
}
|
|
1341
|
-
export interface EcdsaSecp256r1ConstructSignature {
|
|
1342
|
-
message: Uint8Array;
|
|
1343
|
-
privateKey: Secp256r1Fr;
|
|
1344
|
-
}
|
|
1345
|
-
interface MsgpackEcdsaSecp256r1ConstructSignature {
|
|
1346
|
-
message: Uint8Array;
|
|
1347
|
-
private_key: Uint8Array;
|
|
1348
|
-
}
|
|
1349
|
-
export interface EcdsaSecp256r1ConstructSignatureResponse {
|
|
1350
|
-
r: Uint8Array;
|
|
1351
|
-
s: Uint8Array;
|
|
1352
|
-
v: number;
|
|
1353
|
-
}
|
|
1354
|
-
interface MsgpackEcdsaSecp256r1ConstructSignatureResponse {
|
|
1355
|
-
r: Uint8Array;
|
|
1356
|
-
s: Uint8Array;
|
|
1357
|
-
v: number;
|
|
1358
|
-
}
|
|
1359
|
-
export interface EcdsaSecp256r1RecoverPublicKey {
|
|
1360
|
-
message: Uint8Array;
|
|
1361
|
-
r: Uint8Array;
|
|
1362
|
-
s: Uint8Array;
|
|
1363
|
-
v: number;
|
|
1364
|
-
}
|
|
1365
|
-
interface MsgpackEcdsaSecp256r1RecoverPublicKey {
|
|
1366
|
-
message: Uint8Array;
|
|
1367
|
-
r: Uint8Array;
|
|
1368
|
-
s: Uint8Array;
|
|
1369
|
-
v: number;
|
|
1370
|
-
}
|
|
1371
|
-
export interface EcdsaSecp256r1RecoverPublicKeyResponse {
|
|
1372
|
-
publicKey: Secp256r1Point;
|
|
1373
|
-
}
|
|
1374
|
-
interface MsgpackEcdsaSecp256r1RecoverPublicKeyResponse {
|
|
1375
|
-
public_key: MsgpackSecp256r1Point;
|
|
1376
|
-
}
|
|
1377
|
-
export interface EcdsaSecp256r1VerifySignature {
|
|
1378
|
-
message: Uint8Array;
|
|
1379
|
-
publicKey: Secp256r1Point;
|
|
1380
|
-
r: Uint8Array;
|
|
1381
|
-
s: Uint8Array;
|
|
1382
|
-
v: number;
|
|
1383
|
-
}
|
|
1384
|
-
interface MsgpackEcdsaSecp256r1VerifySignature {
|
|
1385
|
-
message: Uint8Array;
|
|
1386
|
-
public_key: MsgpackSecp256r1Point;
|
|
1387
|
-
r: Uint8Array;
|
|
1388
|
-
s: Uint8Array;
|
|
1389
|
-
v: number;
|
|
1390
|
-
}
|
|
1391
|
-
export interface EcdsaSecp256r1VerifySignatureResponse {
|
|
1392
|
-
verified: boolean;
|
|
1393
|
-
}
|
|
1394
|
-
interface MsgpackEcdsaSecp256r1VerifySignatureResponse {
|
|
1395
|
-
verified: boolean;
|
|
1396
|
-
}
|
|
1397
|
-
export interface ErrorResponse {
|
|
1398
|
-
message: string;
|
|
1399
|
-
}
|
|
1400
|
-
interface MsgpackErrorResponse {
|
|
1401
|
-
message: string;
|
|
1402
|
-
}
|
|
1403
|
-
export interface GoblinProof {
|
|
1404
|
-
mergeProof: Fr[];
|
|
1405
|
-
eccvmProof: Fr[];
|
|
1406
|
-
ipaProof: Fr[];
|
|
1407
|
-
translatorProof: Fr[];
|
|
1408
|
-
}
|
|
1409
|
-
interface MsgpackGoblinProof {
|
|
1410
|
-
merge_proof: Uint8Array[];
|
|
1411
|
-
eccvm_proof: Uint8Array[];
|
|
1412
|
-
ipa_proof: Uint8Array[];
|
|
1413
|
-
translator_proof: Uint8Array[];
|
|
1414
|
-
}
|
|
1415
|
-
export interface GrumpkinAdd {
|
|
1416
|
-
pointA: GrumpkinPoint;
|
|
1417
|
-
pointB: GrumpkinPoint;
|
|
1418
|
-
}
|
|
1419
|
-
interface MsgpackGrumpkinAdd {
|
|
1420
|
-
point_a: MsgpackGrumpkinPoint;
|
|
1421
|
-
point_b: MsgpackGrumpkinPoint;
|
|
1422
|
-
}
|
|
1423
|
-
export interface GrumpkinAddResponse {
|
|
1424
|
-
point: GrumpkinPoint;
|
|
1425
|
-
}
|
|
1426
|
-
interface MsgpackGrumpkinAddResponse {
|
|
1427
|
-
point: MsgpackGrumpkinPoint;
|
|
1428
|
-
}
|
|
1429
|
-
export interface GrumpkinBatchMul {
|
|
1430
|
-
points: GrumpkinPoint[];
|
|
1431
|
-
scalar: Fq;
|
|
1432
|
-
}
|
|
1433
|
-
interface MsgpackGrumpkinBatchMul {
|
|
1434
|
-
points: MsgpackGrumpkinPoint[];
|
|
1435
|
-
scalar: Uint8Array;
|
|
1436
|
-
}
|
|
1437
|
-
export interface GrumpkinBatchMulResponse {
|
|
1438
|
-
points: GrumpkinPoint[];
|
|
1439
|
-
}
|
|
1440
|
-
interface MsgpackGrumpkinBatchMulResponse {
|
|
1441
|
-
points: MsgpackGrumpkinPoint[];
|
|
1442
|
-
}
|
|
1443
|
-
export interface GrumpkinGetRandomFr {
|
|
1444
|
-
dummy: number;
|
|
1445
|
-
}
|
|
1446
|
-
interface MsgpackGrumpkinGetRandomFr {
|
|
1447
|
-
dummy: number;
|
|
1448
|
-
}
|
|
1449
|
-
export interface GrumpkinGetRandomFrResponse {
|
|
1450
|
-
value: Fr;
|
|
1451
|
-
}
|
|
1452
|
-
interface MsgpackGrumpkinGetRandomFrResponse {
|
|
1453
|
-
value: Uint8Array;
|
|
1454
|
-
}
|
|
1455
|
-
export interface GrumpkinMul {
|
|
1456
|
-
point: GrumpkinPoint;
|
|
1457
|
-
scalar: Fq;
|
|
1458
|
-
}
|
|
1459
|
-
interface MsgpackGrumpkinMul {
|
|
1460
|
-
point: MsgpackGrumpkinPoint;
|
|
1461
|
-
scalar: Uint8Array;
|
|
1462
|
-
}
|
|
1463
|
-
export interface GrumpkinMulResponse {
|
|
1464
|
-
point: GrumpkinPoint;
|
|
1465
|
-
}
|
|
1466
|
-
interface MsgpackGrumpkinMulResponse {
|
|
1467
|
-
point: MsgpackGrumpkinPoint;
|
|
1468
|
-
}
|
|
1469
|
-
export interface GrumpkinPoint {
|
|
1470
|
-
x: Fr;
|
|
1471
|
-
y: Fr;
|
|
1472
|
-
}
|
|
1473
|
-
interface MsgpackGrumpkinPoint {
|
|
1474
|
-
x: Uint8Array;
|
|
1475
|
-
y: Uint8Array;
|
|
1476
|
-
}
|
|
1477
|
-
export interface GrumpkinReduce512 {
|
|
1478
|
-
input: Uint8Array;
|
|
1479
|
-
}
|
|
1480
|
-
interface MsgpackGrumpkinReduce512 {
|
|
1481
|
-
input: Uint8Array;
|
|
1482
|
-
}
|
|
1483
|
-
export interface GrumpkinReduce512Response {
|
|
1484
|
-
value: Fr;
|
|
1485
|
-
}
|
|
1486
|
-
interface MsgpackGrumpkinReduce512Response {
|
|
1487
|
-
value: Uint8Array;
|
|
1488
|
-
}
|
|
1489
|
-
export interface MegaVkAsFields {
|
|
1490
|
-
verificationKey: Uint8Array;
|
|
1491
|
-
}
|
|
1492
|
-
interface MsgpackMegaVkAsFields {
|
|
1493
|
-
verification_key: Uint8Array;
|
|
1494
|
-
}
|
|
1495
|
-
export interface MegaVkAsFieldsResponse {
|
|
1496
|
-
fields: Fr[];
|
|
1497
|
-
}
|
|
1498
|
-
interface MsgpackMegaVkAsFieldsResponse {
|
|
1499
|
-
fields: Uint8Array[];
|
|
1500
|
-
}
|
|
1501
|
-
export interface PedersenCommit {
|
|
1502
|
-
inputs: Fr[];
|
|
1503
|
-
hashIndex: number;
|
|
1504
|
-
}
|
|
1505
|
-
interface MsgpackPedersenCommit {
|
|
1506
|
-
inputs: Uint8Array[];
|
|
1507
|
-
hash_index: number;
|
|
1508
|
-
}
|
|
1509
|
-
export interface PedersenCommitResponse {
|
|
1510
|
-
point: GrumpkinPoint;
|
|
1511
|
-
}
|
|
1512
|
-
interface MsgpackPedersenCommitResponse {
|
|
1513
|
-
point: MsgpackGrumpkinPoint;
|
|
1514
|
-
}
|
|
1515
|
-
export interface PedersenHash {
|
|
1516
|
-
inputs: Fr[];
|
|
1517
|
-
hashIndex: number;
|
|
1518
|
-
}
|
|
1519
|
-
interface MsgpackPedersenHash {
|
|
1520
|
-
inputs: Uint8Array[];
|
|
1521
|
-
hash_index: number;
|
|
1522
|
-
}
|
|
1523
|
-
export interface PedersenHashBuffer {
|
|
1524
|
-
input: Uint8Array;
|
|
1525
|
-
hashIndex: number;
|
|
1526
|
-
}
|
|
1527
|
-
interface MsgpackPedersenHashBuffer {
|
|
1528
|
-
input: Uint8Array;
|
|
1529
|
-
hash_index: number;
|
|
1530
|
-
}
|
|
1531
|
-
export interface PedersenHashBufferResponse {
|
|
1532
|
-
hash: Fr;
|
|
1533
|
-
}
|
|
1534
|
-
interface MsgpackPedersenHashBufferResponse {
|
|
1535
|
-
hash: Uint8Array;
|
|
1536
|
-
}
|
|
1537
|
-
export interface PedersenHashResponse {
|
|
1538
|
-
hash: Fr;
|
|
1539
|
-
}
|
|
1540
|
-
interface MsgpackPedersenHashResponse {
|
|
1541
|
-
hash: Uint8Array;
|
|
1542
|
-
}
|
|
1543
|
-
export interface Poseidon2Hash {
|
|
1544
|
-
inputs: Fr[];
|
|
1545
|
-
}
|
|
1546
|
-
interface MsgpackPoseidon2Hash {
|
|
1547
|
-
inputs: Uint8Array[];
|
|
1548
|
-
}
|
|
1549
|
-
export interface Poseidon2HashAccumulate {
|
|
1550
|
-
inputs: Fr[];
|
|
1551
|
-
}
|
|
1552
|
-
interface MsgpackPoseidon2HashAccumulate {
|
|
1553
|
-
inputs: Uint8Array[];
|
|
1554
|
-
}
|
|
1555
|
-
export interface Poseidon2HashAccumulateResponse {
|
|
1556
|
-
hash: Fr;
|
|
1557
|
-
}
|
|
1558
|
-
interface MsgpackPoseidon2HashAccumulateResponse {
|
|
1559
|
-
hash: Uint8Array;
|
|
1560
|
-
}
|
|
1561
|
-
export interface Poseidon2HashResponse {
|
|
1562
|
-
hash: Fr;
|
|
1563
|
-
}
|
|
1564
|
-
interface MsgpackPoseidon2HashResponse {
|
|
1565
|
-
hash: Uint8Array;
|
|
1566
|
-
}
|
|
1567
|
-
export interface Poseidon2Permutation {
|
|
1568
|
-
inputs: Fr[];
|
|
1569
|
-
}
|
|
1570
|
-
interface MsgpackPoseidon2Permutation {
|
|
1571
|
-
inputs: Uint8Array[];
|
|
1572
|
-
}
|
|
1573
|
-
export interface Poseidon2PermutationResponse {
|
|
1574
|
-
outputs: Fr[];
|
|
1575
|
-
}
|
|
1576
|
-
interface MsgpackPoseidon2PermutationResponse {
|
|
1577
|
-
outputs: Uint8Array[];
|
|
1578
|
-
}
|
|
1579
|
-
export interface ProofSystemSettings {
|
|
1580
|
-
ipaAccumulation: boolean;
|
|
1581
|
-
oracleHashType: string;
|
|
1582
|
-
disableZk: boolean;
|
|
1583
|
-
optimizedSolidityVerifier: boolean;
|
|
1584
|
-
}
|
|
1585
|
-
interface MsgpackProofSystemSettings {
|
|
1586
|
-
ipa_accumulation: boolean;
|
|
1587
|
-
oracle_hash_type: string;
|
|
1588
|
-
disable_zk: boolean;
|
|
1589
|
-
optimized_solidity_verifier: boolean;
|
|
1590
|
-
}
|
|
1591
|
-
export interface SchnorrComputePublicKey {
|
|
1592
|
-
privateKey: Fq;
|
|
1593
|
-
}
|
|
1594
|
-
interface MsgpackSchnorrComputePublicKey {
|
|
1595
|
-
private_key: Uint8Array;
|
|
1596
|
-
}
|
|
1597
|
-
export interface SchnorrComputePublicKeyResponse {
|
|
1598
|
-
publicKey: GrumpkinPoint;
|
|
1599
|
-
}
|
|
1600
|
-
interface MsgpackSchnorrComputePublicKeyResponse {
|
|
1601
|
-
public_key: MsgpackGrumpkinPoint;
|
|
1602
|
-
}
|
|
1603
|
-
export interface SchnorrConstructSignature {
|
|
1604
|
-
message: Uint8Array;
|
|
1605
|
-
privateKey: Fq;
|
|
1606
|
-
}
|
|
1607
|
-
interface MsgpackSchnorrConstructSignature {
|
|
1608
|
-
message: Uint8Array;
|
|
1609
|
-
private_key: Uint8Array;
|
|
1610
|
-
}
|
|
1611
|
-
export interface SchnorrConstructSignatureResponse {
|
|
1612
|
-
s: Uint8Array;
|
|
1613
|
-
e: Uint8Array;
|
|
1614
|
-
}
|
|
1615
|
-
interface MsgpackSchnorrConstructSignatureResponse {
|
|
1616
|
-
s: Uint8Array;
|
|
1617
|
-
e: Uint8Array;
|
|
1618
|
-
}
|
|
1619
|
-
export interface SchnorrVerifySignature {
|
|
1620
|
-
message: Uint8Array;
|
|
1621
|
-
publicKey: GrumpkinPoint;
|
|
1622
|
-
s: Uint8Array;
|
|
1623
|
-
e: Uint8Array;
|
|
1624
|
-
}
|
|
1625
|
-
interface MsgpackSchnorrVerifySignature {
|
|
1626
|
-
message: Uint8Array;
|
|
1627
|
-
public_key: MsgpackGrumpkinPoint;
|
|
1628
|
-
s: Uint8Array;
|
|
1629
|
-
e: Uint8Array;
|
|
1630
|
-
}
|
|
1631
|
-
export interface SchnorrVerifySignatureResponse {
|
|
1632
|
-
verified: boolean;
|
|
1633
|
-
}
|
|
1634
|
-
interface MsgpackSchnorrVerifySignatureResponse {
|
|
1635
|
-
verified: boolean;
|
|
1636
|
-
}
|
|
1637
|
-
export interface Secp256k1GetRandomFr {
|
|
1638
|
-
dummy: number;
|
|
1639
|
-
}
|
|
1640
|
-
interface MsgpackSecp256k1GetRandomFr {
|
|
1641
|
-
dummy: number;
|
|
1642
|
-
}
|
|
1643
|
-
export interface Secp256k1GetRandomFrResponse {
|
|
1644
|
-
value: Secp256k1Fr;
|
|
1645
|
-
}
|
|
1646
|
-
interface MsgpackSecp256k1GetRandomFrResponse {
|
|
1647
|
-
value: Uint8Array;
|
|
1648
|
-
}
|
|
1649
|
-
export interface Secp256k1Mul {
|
|
1650
|
-
point: Secp256k1Point;
|
|
1651
|
-
scalar: Secp256k1Fr;
|
|
1652
|
-
}
|
|
1653
|
-
interface MsgpackSecp256k1Mul {
|
|
1654
|
-
point: MsgpackSecp256k1Point;
|
|
1655
|
-
scalar: Uint8Array;
|
|
1656
|
-
}
|
|
1657
|
-
export interface Secp256k1MulResponse {
|
|
1658
|
-
point: Secp256k1Point;
|
|
1659
|
-
}
|
|
1660
|
-
interface MsgpackSecp256k1MulResponse {
|
|
1661
|
-
point: MsgpackSecp256k1Point;
|
|
1662
|
-
}
|
|
1663
|
-
export interface Secp256k1Point {
|
|
1664
|
-
x: Secp256k1Fq;
|
|
1665
|
-
y: Secp256k1Fq;
|
|
1666
|
-
}
|
|
1667
|
-
interface MsgpackSecp256k1Point {
|
|
1668
|
-
x: Uint8Array;
|
|
1669
|
-
y: Uint8Array;
|
|
1670
|
-
}
|
|
1671
|
-
export interface Secp256k1Reduce512 {
|
|
1672
|
-
input: Uint8Array;
|
|
1673
|
-
}
|
|
1674
|
-
interface MsgpackSecp256k1Reduce512 {
|
|
1675
|
-
input: Uint8Array;
|
|
1676
|
-
}
|
|
1677
|
-
export interface Secp256k1Reduce512Response {
|
|
1678
|
-
value: Secp256k1Fr;
|
|
1679
|
-
}
|
|
1680
|
-
interface MsgpackSecp256k1Reduce512Response {
|
|
1681
|
-
value: Uint8Array;
|
|
1682
|
-
}
|
|
1683
|
-
export interface Secp256r1Point {
|
|
1684
|
-
x: Secp256r1Fq;
|
|
1685
|
-
y: Secp256r1Fq;
|
|
1686
|
-
}
|
|
1687
|
-
interface MsgpackSecp256r1Point {
|
|
1688
|
-
x: Uint8Array;
|
|
1689
|
-
y: Uint8Array;
|
|
1690
|
-
}
|
|
1691
|
-
export interface Shutdown {
|
|
1692
|
-
}
|
|
1693
|
-
interface MsgpackShutdown {
|
|
1694
|
-
}
|
|
1695
|
-
export interface ShutdownResponse {
|
|
1696
|
-
}
|
|
1697
|
-
interface MsgpackShutdownResponse {
|
|
1698
|
-
}
|
|
1699
|
-
export interface SrsInitGrumpkinSrs {
|
|
1700
|
-
pointsBuf: Uint8Array;
|
|
1701
|
-
numPoints: number;
|
|
1702
|
-
}
|
|
1703
|
-
interface MsgpackSrsInitGrumpkinSrs {
|
|
1704
|
-
points_buf: Uint8Array;
|
|
1705
|
-
num_points: number;
|
|
1706
|
-
}
|
|
1707
|
-
export interface SrsInitGrumpkinSrsResponse {
|
|
1708
|
-
dummy: number;
|
|
1709
|
-
}
|
|
1710
|
-
interface MsgpackSrsInitGrumpkinSrsResponse {
|
|
1711
|
-
dummy: number;
|
|
1712
|
-
}
|
|
1713
|
-
export interface SrsInitSrs {
|
|
1714
|
-
pointsBuf: Uint8Array;
|
|
1715
|
-
numPoints: number;
|
|
1716
|
-
g2Point: Uint8Array;
|
|
1717
|
-
}
|
|
1718
|
-
interface MsgpackSrsInitSrs {
|
|
1719
|
-
points_buf: Uint8Array;
|
|
1720
|
-
num_points: number;
|
|
1721
|
-
g2_point: Uint8Array;
|
|
1722
|
-
}
|
|
1723
|
-
export interface SrsInitSrsResponse {
|
|
1724
|
-
dummy: number;
|
|
1725
|
-
}
|
|
1726
|
-
interface MsgpackSrsInitSrsResponse {
|
|
1727
|
-
dummy: number;
|
|
1728
|
-
}
|
|
1729
|
-
export interface VkAsFields {
|
|
1730
|
-
verificationKey: Uint8Array;
|
|
1731
|
-
}
|
|
1732
|
-
interface MsgpackVkAsFields {
|
|
1733
|
-
verification_key: Uint8Array;
|
|
1734
|
-
}
|
|
1735
|
-
export interface VkAsFieldsResponse {
|
|
1736
|
-
fields: Fr[];
|
|
1737
|
-
}
|
|
1738
|
-
interface MsgpackVkAsFieldsResponse {
|
|
1739
|
-
fields: Uint8Array[];
|
|
1740
|
-
}
|
|
1741
|
-
export declare function toAesDecrypt(o: MsgpackAesDecrypt): AesDecrypt;
|
|
1742
|
-
export declare function fromAesDecrypt(o: AesDecrypt): MsgpackAesDecrypt;
|
|
1743
|
-
export declare function toAesDecryptResponse(o: MsgpackAesDecryptResponse): AesDecryptResponse;
|
|
1744
|
-
export declare function fromAesDecryptResponse(o: AesDecryptResponse): MsgpackAesDecryptResponse;
|
|
1745
|
-
export declare function toAesEncrypt(o: MsgpackAesEncrypt): AesEncrypt;
|
|
1746
|
-
export declare function fromAesEncrypt(o: AesEncrypt): MsgpackAesEncrypt;
|
|
1747
|
-
export declare function toAesEncryptResponse(o: MsgpackAesEncryptResponse): AesEncryptResponse;
|
|
1748
|
-
export declare function fromAesEncryptResponse(o: AesEncryptResponse): MsgpackAesEncryptResponse;
|
|
844
|
+
export declare function toCircuitComputeVkResponse(o: MsgpackCircuitComputeVkResponse): CircuitComputeVkResponse;
|
|
845
|
+
export declare function toCircuitInput(o: MsgpackCircuitInput): CircuitInput;
|
|
846
|
+
export declare function toProofSystemSettings(o: MsgpackProofSystemSettings): ProofSystemSettings;
|
|
847
|
+
export declare function toCircuitProve(o: MsgpackCircuitProve): CircuitProve;
|
|
848
|
+
export declare function toCircuitInputNoVK(o: MsgpackCircuitInputNoVK): CircuitInputNoVK;
|
|
849
|
+
export declare function toCircuitComputeVk(o: MsgpackCircuitComputeVk): CircuitComputeVk;
|
|
850
|
+
export declare function toCircuitStats(o: MsgpackCircuitStats): CircuitStats;
|
|
851
|
+
export declare function toCircuitVerify(o: MsgpackCircuitVerify): CircuitVerify;
|
|
852
|
+
export declare function toChonkComputeVk(o: MsgpackChonkComputeVk): ChonkComputeVk;
|
|
853
|
+
export declare function toChonkStart(o: MsgpackChonkStart): ChonkStart;
|
|
854
|
+
export declare function toChonkLoad(o: MsgpackChonkLoad): ChonkLoad;
|
|
855
|
+
export declare function toChonkAccumulate(o: MsgpackChonkAccumulate): ChonkAccumulate;
|
|
856
|
+
export declare function toChonkProve(o: MsgpackChonkProve): ChonkProve;
|
|
857
|
+
export declare function toGoblinProof(o: MsgpackGoblinProof): GoblinProof;
|
|
858
|
+
export declare function toChonkProof(o: MsgpackChonkProof): ChonkProof;
|
|
859
|
+
export declare function toChonkVerify(o: MsgpackChonkVerify): ChonkVerify;
|
|
860
|
+
export declare function toVkAsFields(o: MsgpackVkAsFields): VkAsFields;
|
|
861
|
+
export declare function toMegaVkAsFields(o: MsgpackMegaVkAsFields): MegaVkAsFields;
|
|
862
|
+
export declare function toCircuitWriteSolidityVerifier(o: MsgpackCircuitWriteSolidityVerifier): CircuitWriteSolidityVerifier;
|
|
863
|
+
export declare function toChonkCheckPrecomputedVk(o: MsgpackChonkCheckPrecomputedVk): ChonkCheckPrecomputedVk;
|
|
864
|
+
export declare function toChonkStats(o: MsgpackChonkStats): ChonkStats;
|
|
865
|
+
export declare function toPoseidon2Hash(o: MsgpackPoseidon2Hash): Poseidon2Hash;
|
|
866
|
+
export declare function toPoseidon2Permutation(o: MsgpackPoseidon2Permutation): Poseidon2Permutation;
|
|
867
|
+
export declare function toPedersenCommit(o: MsgpackPedersenCommit): PedersenCommit;
|
|
868
|
+
export declare function toPedersenHash(o: MsgpackPedersenHash): PedersenHash;
|
|
869
|
+
export declare function toPedersenHashBuffer(o: MsgpackPedersenHashBuffer): PedersenHashBuffer;
|
|
1749
870
|
export declare function toBlake2s(o: MsgpackBlake2s): Blake2s;
|
|
1750
|
-
export declare function fromBlake2s(o: Blake2s): MsgpackBlake2s;
|
|
1751
|
-
export declare function toBlake2sResponse(o: MsgpackBlake2sResponse): Blake2sResponse;
|
|
1752
|
-
export declare function fromBlake2sResponse(o: Blake2sResponse): MsgpackBlake2sResponse;
|
|
1753
871
|
export declare function toBlake2sToField(o: MsgpackBlake2sToField): Blake2sToField;
|
|
1754
|
-
export declare function
|
|
1755
|
-
export declare function
|
|
1756
|
-
export declare function
|
|
1757
|
-
export declare function
|
|
1758
|
-
export declare function
|
|
1759
|
-
export declare function
|
|
1760
|
-
export declare function
|
|
872
|
+
export declare function toAesEncrypt(o: MsgpackAesEncrypt): AesEncrypt;
|
|
873
|
+
export declare function toAesDecrypt(o: MsgpackAesDecrypt): AesDecrypt;
|
|
874
|
+
export declare function toGrumpkinPoint(o: MsgpackGrumpkinPoint): GrumpkinPoint;
|
|
875
|
+
export declare function toGrumpkinMul(o: MsgpackGrumpkinMul): GrumpkinMul;
|
|
876
|
+
export declare function toGrumpkinAdd(o: MsgpackGrumpkinAdd): GrumpkinAdd;
|
|
877
|
+
export declare function toGrumpkinBatchMul(o: MsgpackGrumpkinBatchMul): GrumpkinBatchMul;
|
|
878
|
+
export declare function toGrumpkinGetRandomFr(o: MsgpackGrumpkinGetRandomFr): GrumpkinGetRandomFr;
|
|
879
|
+
export declare function toGrumpkinReduce512(o: MsgpackGrumpkinReduce512): GrumpkinReduce512;
|
|
880
|
+
export declare function toSecp256k1Point(o: MsgpackSecp256k1Point): Secp256k1Point;
|
|
881
|
+
export declare function toSecp256k1Mul(o: MsgpackSecp256k1Mul): Secp256k1Mul;
|
|
882
|
+
export declare function toSecp256k1GetRandomFr(o: MsgpackSecp256k1GetRandomFr): Secp256k1GetRandomFr;
|
|
883
|
+
export declare function toSecp256k1Reduce512(o: MsgpackSecp256k1Reduce512): Secp256k1Reduce512;
|
|
1761
884
|
export declare function toBn254FrSqrt(o: MsgpackBn254FrSqrt): Bn254FrSqrt;
|
|
1762
|
-
export declare function
|
|
1763
|
-
export declare function toBn254FrSqrtResponse(o: MsgpackBn254FrSqrtResponse): Bn254FrSqrtResponse;
|
|
1764
|
-
export declare function fromBn254FrSqrtResponse(o: Bn254FrSqrtResponse): MsgpackBn254FrSqrtResponse;
|
|
1765
|
-
export declare function toBn254G1FromCompressed(o: MsgpackBn254G1FromCompressed): Bn254G1FromCompressed;
|
|
1766
|
-
export declare function fromBn254G1FromCompressed(o: Bn254G1FromCompressed): MsgpackBn254G1FromCompressed;
|
|
1767
|
-
export declare function toBn254G1FromCompressedResponse(o: MsgpackBn254G1FromCompressedResponse): Bn254G1FromCompressedResponse;
|
|
1768
|
-
export declare function fromBn254G1FromCompressedResponse(o: Bn254G1FromCompressedResponse): MsgpackBn254G1FromCompressedResponse;
|
|
1769
|
-
export declare function toBn254G1IsOnCurve(o: MsgpackBn254G1IsOnCurve): Bn254G1IsOnCurve;
|
|
1770
|
-
export declare function fromBn254G1IsOnCurve(o: Bn254G1IsOnCurve): MsgpackBn254G1IsOnCurve;
|
|
1771
|
-
export declare function toBn254G1IsOnCurveResponse(o: MsgpackBn254G1IsOnCurveResponse): Bn254G1IsOnCurveResponse;
|
|
1772
|
-
export declare function fromBn254G1IsOnCurveResponse(o: Bn254G1IsOnCurveResponse): MsgpackBn254G1IsOnCurveResponse;
|
|
1773
|
-
export declare function toBn254G1Mul(o: MsgpackBn254G1Mul): Bn254G1Mul;
|
|
1774
|
-
export declare function fromBn254G1Mul(o: Bn254G1Mul): MsgpackBn254G1Mul;
|
|
1775
|
-
export declare function toBn254G1MulResponse(o: MsgpackBn254G1MulResponse): Bn254G1MulResponse;
|
|
1776
|
-
export declare function fromBn254G1MulResponse(o: Bn254G1MulResponse): MsgpackBn254G1MulResponse;
|
|
885
|
+
export declare function toBn254FqSqrt(o: MsgpackBn254FqSqrt): Bn254FqSqrt;
|
|
1777
886
|
export declare function toBn254G1Point(o: MsgpackBn254G1Point): Bn254G1Point;
|
|
1778
|
-
export declare function
|
|
1779
|
-
export declare function toBn254G2Mul(o: MsgpackBn254G2Mul): Bn254G2Mul;
|
|
1780
|
-
export declare function fromBn254G2Mul(o: Bn254G2Mul): MsgpackBn254G2Mul;
|
|
1781
|
-
export declare function toBn254G2MulResponse(o: MsgpackBn254G2MulResponse): Bn254G2MulResponse;
|
|
1782
|
-
export declare function fromBn254G2MulResponse(o: Bn254G2MulResponse): MsgpackBn254G2MulResponse;
|
|
887
|
+
export declare function toBn254G1Mul(o: MsgpackBn254G1Mul): Bn254G1Mul;
|
|
1783
888
|
export declare function toBn254G2Point(o: MsgpackBn254G2Point): Bn254G2Point;
|
|
1784
|
-
export declare function
|
|
1785
|
-
export declare function
|
|
1786
|
-
export declare function
|
|
1787
|
-
export declare function
|
|
1788
|
-
export declare function
|
|
1789
|
-
export declare function
|
|
1790
|
-
export declare function
|
|
1791
|
-
export declare function
|
|
1792
|
-
export declare function
|
|
1793
|
-
export declare function
|
|
1794
|
-
export declare function
|
|
1795
|
-
export declare function
|
|
1796
|
-
export declare function
|
|
1797
|
-
export declare function
|
|
1798
|
-
export declare function
|
|
1799
|
-
export declare function
|
|
1800
|
-
export declare function
|
|
1801
|
-
export declare function
|
|
1802
|
-
export declare function
|
|
889
|
+
export declare function toBn254G2Mul(o: MsgpackBn254G2Mul): Bn254G2Mul;
|
|
890
|
+
export declare function toBn254G1IsOnCurve(o: MsgpackBn254G1IsOnCurve): Bn254G1IsOnCurve;
|
|
891
|
+
export declare function toBn254G1FromCompressed(o: MsgpackBn254G1FromCompressed): Bn254G1FromCompressed;
|
|
892
|
+
export declare function toSchnorrComputePublicKey(o: MsgpackSchnorrComputePublicKey): SchnorrComputePublicKey;
|
|
893
|
+
export declare function toSchnorrConstructSignature(o: MsgpackSchnorrConstructSignature): SchnorrConstructSignature;
|
|
894
|
+
export declare function toSchnorrVerifySignature(o: MsgpackSchnorrVerifySignature): SchnorrVerifySignature;
|
|
895
|
+
export declare function toEcdsaSecp256k1ComputePublicKey(o: MsgpackEcdsaSecp256k1ComputePublicKey): EcdsaSecp256k1ComputePublicKey;
|
|
896
|
+
export declare function toEcdsaSecp256r1ComputePublicKey(o: MsgpackEcdsaSecp256r1ComputePublicKey): EcdsaSecp256r1ComputePublicKey;
|
|
897
|
+
export declare function toEcdsaSecp256k1ConstructSignature(o: MsgpackEcdsaSecp256k1ConstructSignature): EcdsaSecp256k1ConstructSignature;
|
|
898
|
+
export declare function toEcdsaSecp256r1ConstructSignature(o: MsgpackEcdsaSecp256r1ConstructSignature): EcdsaSecp256r1ConstructSignature;
|
|
899
|
+
export declare function toEcdsaSecp256k1RecoverPublicKey(o: MsgpackEcdsaSecp256k1RecoverPublicKey): EcdsaSecp256k1RecoverPublicKey;
|
|
900
|
+
export declare function toEcdsaSecp256r1RecoverPublicKey(o: MsgpackEcdsaSecp256r1RecoverPublicKey): EcdsaSecp256r1RecoverPublicKey;
|
|
901
|
+
export declare function toEcdsaSecp256k1VerifySignature(o: MsgpackEcdsaSecp256k1VerifySignature): EcdsaSecp256k1VerifySignature;
|
|
902
|
+
export declare function toSecp256r1Point(o: MsgpackSecp256r1Point): Secp256r1Point;
|
|
903
|
+
export declare function toEcdsaSecp256r1VerifySignature(o: MsgpackEcdsaSecp256r1VerifySignature): EcdsaSecp256r1VerifySignature;
|
|
904
|
+
export declare function toSrsInitSrs(o: MsgpackSrsInitSrs): SrsInitSrs;
|
|
905
|
+
export declare function toSrsInitGrumpkinSrs(o: MsgpackSrsInitGrumpkinSrs): SrsInitGrumpkinSrs;
|
|
906
|
+
export declare function toShutdown(o: MsgpackShutdown): Shutdown;
|
|
907
|
+
export declare function toErrorResponse(o: MsgpackErrorResponse): ErrorResponse;
|
|
908
|
+
export declare function toCircuitProveResponse(o: MsgpackCircuitProveResponse): CircuitProveResponse;
|
|
909
|
+
export declare function toCircuitInfoResponse(o: MsgpackCircuitInfoResponse): CircuitInfoResponse;
|
|
910
|
+
export declare function toCircuitVerifyResponse(o: MsgpackCircuitVerifyResponse): CircuitVerifyResponse;
|
|
911
|
+
export declare function toChonkComputeVkResponse(o: MsgpackChonkComputeVkResponse): ChonkComputeVkResponse;
|
|
912
|
+
export declare function toChonkStartResponse(o: MsgpackChonkStartResponse): ChonkStartResponse;
|
|
1803
913
|
export declare function toChonkLoadResponse(o: MsgpackChonkLoadResponse): ChonkLoadResponse;
|
|
1804
|
-
export declare function
|
|
1805
|
-
export declare function toChonkProof(o: MsgpackChonkProof): ChonkProof;
|
|
1806
|
-
export declare function fromChonkProof(o: ChonkProof): MsgpackChonkProof;
|
|
1807
|
-
export declare function toChonkProve(o: MsgpackChonkProve): ChonkProve;
|
|
1808
|
-
export declare function fromChonkProve(o: ChonkProve): MsgpackChonkProve;
|
|
914
|
+
export declare function toChonkAccumulateResponse(o: MsgpackChonkAccumulateResponse): ChonkAccumulateResponse;
|
|
1809
915
|
export declare function toChonkProveResponse(o: MsgpackChonkProveResponse): ChonkProveResponse;
|
|
1810
|
-
export declare function fromChonkProveResponse(o: ChonkProveResponse): MsgpackChonkProveResponse;
|
|
1811
|
-
export declare function toChonkStart(o: MsgpackChonkStart): ChonkStart;
|
|
1812
|
-
export declare function fromChonkStart(o: ChonkStart): MsgpackChonkStart;
|
|
1813
|
-
export declare function toChonkStartResponse(o: MsgpackChonkStartResponse): ChonkStartResponse;
|
|
1814
|
-
export declare function fromChonkStartResponse(o: ChonkStartResponse): MsgpackChonkStartResponse;
|
|
1815
|
-
export declare function toChonkStats(o: MsgpackChonkStats): ChonkStats;
|
|
1816
|
-
export declare function fromChonkStats(o: ChonkStats): MsgpackChonkStats;
|
|
1817
|
-
export declare function toChonkStatsResponse(o: MsgpackChonkStatsResponse): ChonkStatsResponse;
|
|
1818
|
-
export declare function fromChonkStatsResponse(o: ChonkStatsResponse): MsgpackChonkStatsResponse;
|
|
1819
|
-
export declare function toChonkVerify(o: MsgpackChonkVerify): ChonkVerify;
|
|
1820
|
-
export declare function fromChonkVerify(o: ChonkVerify): MsgpackChonkVerify;
|
|
1821
916
|
export declare function toChonkVerifyResponse(o: MsgpackChonkVerifyResponse): ChonkVerifyResponse;
|
|
1822
|
-
export declare function
|
|
1823
|
-
export declare function
|
|
1824
|
-
export declare function
|
|
1825
|
-
export declare function
|
|
917
|
+
export declare function toVkAsFieldsResponse(o: MsgpackVkAsFieldsResponse): VkAsFieldsResponse;
|
|
918
|
+
export declare function toMegaVkAsFieldsResponse(o: MsgpackMegaVkAsFieldsResponse): MegaVkAsFieldsResponse;
|
|
919
|
+
export declare function toCircuitWriteSolidityVerifierResponse(o: MsgpackCircuitWriteSolidityVerifierResponse): CircuitWriteSolidityVerifierResponse;
|
|
920
|
+
export declare function toChonkCheckPrecomputedVkResponse(o: MsgpackChonkCheckPrecomputedVkResponse): ChonkCheckPrecomputedVkResponse;
|
|
921
|
+
export declare function toChonkStatsResponse(o: MsgpackChonkStatsResponse): ChonkStatsResponse;
|
|
922
|
+
export declare function toPoseidon2HashResponse(o: MsgpackPoseidon2HashResponse): Poseidon2HashResponse;
|
|
923
|
+
export declare function toPoseidon2PermutationResponse(o: MsgpackPoseidon2PermutationResponse): Poseidon2PermutationResponse;
|
|
924
|
+
export declare function toPedersenCommitResponse(o: MsgpackPedersenCommitResponse): PedersenCommitResponse;
|
|
925
|
+
export declare function toPedersenHashResponse(o: MsgpackPedersenHashResponse): PedersenHashResponse;
|
|
926
|
+
export declare function toPedersenHashBufferResponse(o: MsgpackPedersenHashBufferResponse): PedersenHashBufferResponse;
|
|
927
|
+
export declare function toBlake2sResponse(o: MsgpackBlake2sResponse): Blake2sResponse;
|
|
928
|
+
export declare function toBlake2sToFieldResponse(o: MsgpackBlake2sToFieldResponse): Blake2sToFieldResponse;
|
|
929
|
+
export declare function toAesEncryptResponse(o: MsgpackAesEncryptResponse): AesEncryptResponse;
|
|
930
|
+
export declare function toAesDecryptResponse(o: MsgpackAesDecryptResponse): AesDecryptResponse;
|
|
931
|
+
export declare function toGrumpkinMulResponse(o: MsgpackGrumpkinMulResponse): GrumpkinMulResponse;
|
|
932
|
+
export declare function toGrumpkinAddResponse(o: MsgpackGrumpkinAddResponse): GrumpkinAddResponse;
|
|
933
|
+
export declare function toGrumpkinBatchMulResponse(o: MsgpackGrumpkinBatchMulResponse): GrumpkinBatchMulResponse;
|
|
934
|
+
export declare function toGrumpkinGetRandomFrResponse(o: MsgpackGrumpkinGetRandomFrResponse): GrumpkinGetRandomFrResponse;
|
|
935
|
+
export declare function toGrumpkinReduce512Response(o: MsgpackGrumpkinReduce512Response): GrumpkinReduce512Response;
|
|
936
|
+
export declare function toSecp256k1MulResponse(o: MsgpackSecp256k1MulResponse): Secp256k1MulResponse;
|
|
937
|
+
export declare function toSecp256k1GetRandomFrResponse(o: MsgpackSecp256k1GetRandomFrResponse): Secp256k1GetRandomFrResponse;
|
|
938
|
+
export declare function toSecp256k1Reduce512Response(o: MsgpackSecp256k1Reduce512Response): Secp256k1Reduce512Response;
|
|
939
|
+
export declare function toBn254FrSqrtResponse(o: MsgpackBn254FrSqrtResponse): Bn254FrSqrtResponse;
|
|
940
|
+
export declare function toBn254FqSqrtResponse(o: MsgpackBn254FqSqrtResponse): Bn254FqSqrtResponse;
|
|
941
|
+
export declare function toBn254G1MulResponse(o: MsgpackBn254G1MulResponse): Bn254G1MulResponse;
|
|
942
|
+
export declare function toBn254G2MulResponse(o: MsgpackBn254G2MulResponse): Bn254G2MulResponse;
|
|
943
|
+
export declare function toBn254G1IsOnCurveResponse(o: MsgpackBn254G1IsOnCurveResponse): Bn254G1IsOnCurveResponse;
|
|
944
|
+
export declare function toBn254G1FromCompressedResponse(o: MsgpackBn254G1FromCompressedResponse): Bn254G1FromCompressedResponse;
|
|
945
|
+
export declare function toSchnorrComputePublicKeyResponse(o: MsgpackSchnorrComputePublicKeyResponse): SchnorrComputePublicKeyResponse;
|
|
946
|
+
export declare function toSchnorrConstructSignatureResponse(o: MsgpackSchnorrConstructSignatureResponse): SchnorrConstructSignatureResponse;
|
|
947
|
+
export declare function toSchnorrVerifySignatureResponse(o: MsgpackSchnorrVerifySignatureResponse): SchnorrVerifySignatureResponse;
|
|
948
|
+
export declare function toEcdsaSecp256k1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256k1ComputePublicKeyResponse): EcdsaSecp256k1ComputePublicKeyResponse;
|
|
949
|
+
export declare function toEcdsaSecp256r1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256r1ComputePublicKeyResponse): EcdsaSecp256r1ComputePublicKeyResponse;
|
|
950
|
+
export declare function toEcdsaSecp256k1ConstructSignatureResponse(o: MsgpackEcdsaSecp256k1ConstructSignatureResponse): EcdsaSecp256k1ConstructSignatureResponse;
|
|
951
|
+
export declare function toEcdsaSecp256r1ConstructSignatureResponse(o: MsgpackEcdsaSecp256r1ConstructSignatureResponse): EcdsaSecp256r1ConstructSignatureResponse;
|
|
952
|
+
export declare function toEcdsaSecp256k1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256k1RecoverPublicKeyResponse): EcdsaSecp256k1RecoverPublicKeyResponse;
|
|
953
|
+
export declare function toEcdsaSecp256r1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256r1RecoverPublicKeyResponse): EcdsaSecp256r1RecoverPublicKeyResponse;
|
|
954
|
+
export declare function toEcdsaSecp256k1VerifySignatureResponse(o: MsgpackEcdsaSecp256k1VerifySignatureResponse): EcdsaSecp256k1VerifySignatureResponse;
|
|
955
|
+
export declare function toEcdsaSecp256r1VerifySignatureResponse(o: MsgpackEcdsaSecp256r1VerifySignatureResponse): EcdsaSecp256r1VerifySignatureResponse;
|
|
956
|
+
export declare function toSrsInitSrsResponse(o: MsgpackSrsInitSrsResponse): SrsInitSrsResponse;
|
|
957
|
+
export declare function toSrsInitGrumpkinSrsResponse(o: MsgpackSrsInitGrumpkinSrsResponse): SrsInitGrumpkinSrsResponse;
|
|
958
|
+
export declare function toShutdownResponse(o: MsgpackShutdownResponse): ShutdownResponse;
|
|
1826
959
|
export declare function fromCircuitComputeVkResponse(o: CircuitComputeVkResponse): MsgpackCircuitComputeVkResponse;
|
|
1827
|
-
export declare function toCircuitInfoResponse(o: MsgpackCircuitInfoResponse): CircuitInfoResponse;
|
|
1828
|
-
export declare function fromCircuitInfoResponse(o: CircuitInfoResponse): MsgpackCircuitInfoResponse;
|
|
1829
|
-
export declare function toCircuitInput(o: MsgpackCircuitInput): CircuitInput;
|
|
1830
960
|
export declare function fromCircuitInput(o: CircuitInput): MsgpackCircuitInput;
|
|
1831
|
-
export declare function
|
|
1832
|
-
export declare function fromCircuitInputNoVK(o: CircuitInputNoVK): MsgpackCircuitInputNoVK;
|
|
1833
|
-
export declare function toCircuitProve(o: MsgpackCircuitProve): CircuitProve;
|
|
961
|
+
export declare function fromProofSystemSettings(o: ProofSystemSettings): MsgpackProofSystemSettings;
|
|
1834
962
|
export declare function fromCircuitProve(o: CircuitProve): MsgpackCircuitProve;
|
|
1835
|
-
export declare function
|
|
1836
|
-
export declare function
|
|
1837
|
-
export declare function toCircuitStats(o: MsgpackCircuitStats): CircuitStats;
|
|
963
|
+
export declare function fromCircuitInputNoVK(o: CircuitInputNoVK): MsgpackCircuitInputNoVK;
|
|
964
|
+
export declare function fromCircuitComputeVk(o: CircuitComputeVk): MsgpackCircuitComputeVk;
|
|
1838
965
|
export declare function fromCircuitStats(o: CircuitStats): MsgpackCircuitStats;
|
|
1839
|
-
export declare function toCircuitVerify(o: MsgpackCircuitVerify): CircuitVerify;
|
|
1840
966
|
export declare function fromCircuitVerify(o: CircuitVerify): MsgpackCircuitVerify;
|
|
1841
|
-
export declare function
|
|
1842
|
-
export declare function
|
|
1843
|
-
export declare function
|
|
967
|
+
export declare function fromChonkComputeVk(o: ChonkComputeVk): MsgpackChonkComputeVk;
|
|
968
|
+
export declare function fromChonkStart(o: ChonkStart): MsgpackChonkStart;
|
|
969
|
+
export declare function fromChonkLoad(o: ChonkLoad): MsgpackChonkLoad;
|
|
970
|
+
export declare function fromChonkAccumulate(o: ChonkAccumulate): MsgpackChonkAccumulate;
|
|
971
|
+
export declare function fromChonkProve(o: ChonkProve): MsgpackChonkProve;
|
|
972
|
+
export declare function fromGoblinProof(o: GoblinProof): MsgpackGoblinProof;
|
|
973
|
+
export declare function fromChonkProof(o: ChonkProof): MsgpackChonkProof;
|
|
974
|
+
export declare function fromChonkVerify(o: ChonkVerify): MsgpackChonkVerify;
|
|
975
|
+
export declare function fromVkAsFields(o: VkAsFields): MsgpackVkAsFields;
|
|
976
|
+
export declare function fromMegaVkAsFields(o: MegaVkAsFields): MsgpackMegaVkAsFields;
|
|
1844
977
|
export declare function fromCircuitWriteSolidityVerifier(o: CircuitWriteSolidityVerifier): MsgpackCircuitWriteSolidityVerifier;
|
|
1845
|
-
export declare function
|
|
1846
|
-
export declare function
|
|
1847
|
-
export declare function
|
|
978
|
+
export declare function fromChonkCheckPrecomputedVk(o: ChonkCheckPrecomputedVk): MsgpackChonkCheckPrecomputedVk;
|
|
979
|
+
export declare function fromChonkStats(o: ChonkStats): MsgpackChonkStats;
|
|
980
|
+
export declare function fromPoseidon2Hash(o: Poseidon2Hash): MsgpackPoseidon2Hash;
|
|
981
|
+
export declare function fromPoseidon2Permutation(o: Poseidon2Permutation): MsgpackPoseidon2Permutation;
|
|
982
|
+
export declare function fromPedersenCommit(o: PedersenCommit): MsgpackPedersenCommit;
|
|
983
|
+
export declare function fromPedersenHash(o: PedersenHash): MsgpackPedersenHash;
|
|
984
|
+
export declare function fromPedersenHashBuffer(o: PedersenHashBuffer): MsgpackPedersenHashBuffer;
|
|
985
|
+
export declare function fromBlake2s(o: Blake2s): MsgpackBlake2s;
|
|
986
|
+
export declare function fromBlake2sToField(o: Blake2sToField): MsgpackBlake2sToField;
|
|
987
|
+
export declare function fromAesEncrypt(o: AesEncrypt): MsgpackAesEncrypt;
|
|
988
|
+
export declare function fromAesDecrypt(o: AesDecrypt): MsgpackAesDecrypt;
|
|
989
|
+
export declare function fromGrumpkinPoint(o: GrumpkinPoint): MsgpackGrumpkinPoint;
|
|
990
|
+
export declare function fromGrumpkinMul(o: GrumpkinMul): MsgpackGrumpkinMul;
|
|
991
|
+
export declare function fromGrumpkinAdd(o: GrumpkinAdd): MsgpackGrumpkinAdd;
|
|
992
|
+
export declare function fromGrumpkinBatchMul(o: GrumpkinBatchMul): MsgpackGrumpkinBatchMul;
|
|
993
|
+
export declare function fromGrumpkinGetRandomFr(o: GrumpkinGetRandomFr): MsgpackGrumpkinGetRandomFr;
|
|
994
|
+
export declare function fromGrumpkinReduce512(o: GrumpkinReduce512): MsgpackGrumpkinReduce512;
|
|
995
|
+
export declare function fromSecp256k1Point(o: Secp256k1Point): MsgpackSecp256k1Point;
|
|
996
|
+
export declare function fromSecp256k1Mul(o: Secp256k1Mul): MsgpackSecp256k1Mul;
|
|
997
|
+
export declare function fromSecp256k1GetRandomFr(o: Secp256k1GetRandomFr): MsgpackSecp256k1GetRandomFr;
|
|
998
|
+
export declare function fromSecp256k1Reduce512(o: Secp256k1Reduce512): MsgpackSecp256k1Reduce512;
|
|
999
|
+
export declare function fromBn254FrSqrt(o: Bn254FrSqrt): MsgpackBn254FrSqrt;
|
|
1000
|
+
export declare function fromBn254FqSqrt(o: Bn254FqSqrt): MsgpackBn254FqSqrt;
|
|
1001
|
+
export declare function fromBn254G1Point(o: Bn254G1Point): MsgpackBn254G1Point;
|
|
1002
|
+
export declare function fromBn254G1Mul(o: Bn254G1Mul): MsgpackBn254G1Mul;
|
|
1003
|
+
export declare function fromBn254G2Point(o: Bn254G2Point): MsgpackBn254G2Point;
|
|
1004
|
+
export declare function fromBn254G2Mul(o: Bn254G2Mul): MsgpackBn254G2Mul;
|
|
1005
|
+
export declare function fromBn254G1IsOnCurve(o: Bn254G1IsOnCurve): MsgpackBn254G1IsOnCurve;
|
|
1006
|
+
export declare function fromBn254G1FromCompressed(o: Bn254G1FromCompressed): MsgpackBn254G1FromCompressed;
|
|
1007
|
+
export declare function fromSchnorrComputePublicKey(o: SchnorrComputePublicKey): MsgpackSchnorrComputePublicKey;
|
|
1008
|
+
export declare function fromSchnorrConstructSignature(o: SchnorrConstructSignature): MsgpackSchnorrConstructSignature;
|
|
1009
|
+
export declare function fromSchnorrVerifySignature(o: SchnorrVerifySignature): MsgpackSchnorrVerifySignature;
|
|
1848
1010
|
export declare function fromEcdsaSecp256k1ComputePublicKey(o: EcdsaSecp256k1ComputePublicKey): MsgpackEcdsaSecp256k1ComputePublicKey;
|
|
1849
|
-
export declare function toEcdsaSecp256k1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256k1ComputePublicKeyResponse): EcdsaSecp256k1ComputePublicKeyResponse;
|
|
1850
|
-
export declare function fromEcdsaSecp256k1ComputePublicKeyResponse(o: EcdsaSecp256k1ComputePublicKeyResponse): MsgpackEcdsaSecp256k1ComputePublicKeyResponse;
|
|
1851
|
-
export declare function toEcdsaSecp256k1ConstructSignature(o: MsgpackEcdsaSecp256k1ConstructSignature): EcdsaSecp256k1ConstructSignature;
|
|
1852
|
-
export declare function fromEcdsaSecp256k1ConstructSignature(o: EcdsaSecp256k1ConstructSignature): MsgpackEcdsaSecp256k1ConstructSignature;
|
|
1853
|
-
export declare function toEcdsaSecp256k1ConstructSignatureResponse(o: MsgpackEcdsaSecp256k1ConstructSignatureResponse): EcdsaSecp256k1ConstructSignatureResponse;
|
|
1854
|
-
export declare function fromEcdsaSecp256k1ConstructSignatureResponse(o: EcdsaSecp256k1ConstructSignatureResponse): MsgpackEcdsaSecp256k1ConstructSignatureResponse;
|
|
1855
|
-
export declare function toEcdsaSecp256k1RecoverPublicKey(o: MsgpackEcdsaSecp256k1RecoverPublicKey): EcdsaSecp256k1RecoverPublicKey;
|
|
1856
|
-
export declare function fromEcdsaSecp256k1RecoverPublicKey(o: EcdsaSecp256k1RecoverPublicKey): MsgpackEcdsaSecp256k1RecoverPublicKey;
|
|
1857
|
-
export declare function toEcdsaSecp256k1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256k1RecoverPublicKeyResponse): EcdsaSecp256k1RecoverPublicKeyResponse;
|
|
1858
|
-
export declare function fromEcdsaSecp256k1RecoverPublicKeyResponse(o: EcdsaSecp256k1RecoverPublicKeyResponse): MsgpackEcdsaSecp256k1RecoverPublicKeyResponse;
|
|
1859
|
-
export declare function toEcdsaSecp256k1VerifySignature(o: MsgpackEcdsaSecp256k1VerifySignature): EcdsaSecp256k1VerifySignature;
|
|
1860
|
-
export declare function fromEcdsaSecp256k1VerifySignature(o: EcdsaSecp256k1VerifySignature): MsgpackEcdsaSecp256k1VerifySignature;
|
|
1861
|
-
export declare function toEcdsaSecp256k1VerifySignatureResponse(o: MsgpackEcdsaSecp256k1VerifySignatureResponse): EcdsaSecp256k1VerifySignatureResponse;
|
|
1862
|
-
export declare function fromEcdsaSecp256k1VerifySignatureResponse(o: EcdsaSecp256k1VerifySignatureResponse): MsgpackEcdsaSecp256k1VerifySignatureResponse;
|
|
1863
|
-
export declare function toEcdsaSecp256r1ComputePublicKey(o: MsgpackEcdsaSecp256r1ComputePublicKey): EcdsaSecp256r1ComputePublicKey;
|
|
1864
1011
|
export declare function fromEcdsaSecp256r1ComputePublicKey(o: EcdsaSecp256r1ComputePublicKey): MsgpackEcdsaSecp256r1ComputePublicKey;
|
|
1865
|
-
export declare function
|
|
1866
|
-
export declare function fromEcdsaSecp256r1ComputePublicKeyResponse(o: EcdsaSecp256r1ComputePublicKeyResponse): MsgpackEcdsaSecp256r1ComputePublicKeyResponse;
|
|
1867
|
-
export declare function toEcdsaSecp256r1ConstructSignature(o: MsgpackEcdsaSecp256r1ConstructSignature): EcdsaSecp256r1ConstructSignature;
|
|
1012
|
+
export declare function fromEcdsaSecp256k1ConstructSignature(o: EcdsaSecp256k1ConstructSignature): MsgpackEcdsaSecp256k1ConstructSignature;
|
|
1868
1013
|
export declare function fromEcdsaSecp256r1ConstructSignature(o: EcdsaSecp256r1ConstructSignature): MsgpackEcdsaSecp256r1ConstructSignature;
|
|
1869
|
-
export declare function
|
|
1870
|
-
export declare function fromEcdsaSecp256r1ConstructSignatureResponse(o: EcdsaSecp256r1ConstructSignatureResponse): MsgpackEcdsaSecp256r1ConstructSignatureResponse;
|
|
1871
|
-
export declare function toEcdsaSecp256r1RecoverPublicKey(o: MsgpackEcdsaSecp256r1RecoverPublicKey): EcdsaSecp256r1RecoverPublicKey;
|
|
1014
|
+
export declare function fromEcdsaSecp256k1RecoverPublicKey(o: EcdsaSecp256k1RecoverPublicKey): MsgpackEcdsaSecp256k1RecoverPublicKey;
|
|
1872
1015
|
export declare function fromEcdsaSecp256r1RecoverPublicKey(o: EcdsaSecp256r1RecoverPublicKey): MsgpackEcdsaSecp256r1RecoverPublicKey;
|
|
1873
|
-
export declare function
|
|
1874
|
-
export declare function
|
|
1875
|
-
export declare function toEcdsaSecp256r1VerifySignature(o: MsgpackEcdsaSecp256r1VerifySignature): EcdsaSecp256r1VerifySignature;
|
|
1016
|
+
export declare function fromEcdsaSecp256k1VerifySignature(o: EcdsaSecp256k1VerifySignature): MsgpackEcdsaSecp256k1VerifySignature;
|
|
1017
|
+
export declare function fromSecp256r1Point(o: Secp256r1Point): MsgpackSecp256r1Point;
|
|
1876
1018
|
export declare function fromEcdsaSecp256r1VerifySignature(o: EcdsaSecp256r1VerifySignature): MsgpackEcdsaSecp256r1VerifySignature;
|
|
1877
|
-
export declare function
|
|
1878
|
-
export declare function
|
|
1879
|
-
export declare function
|
|
1019
|
+
export declare function fromSrsInitSrs(o: SrsInitSrs): MsgpackSrsInitSrs;
|
|
1020
|
+
export declare function fromSrsInitGrumpkinSrs(o: SrsInitGrumpkinSrs): MsgpackSrsInitGrumpkinSrs;
|
|
1021
|
+
export declare function fromShutdown(o: Shutdown): MsgpackShutdown;
|
|
1880
1022
|
export declare function fromErrorResponse(o: ErrorResponse): MsgpackErrorResponse;
|
|
1881
|
-
export declare function
|
|
1882
|
-
export declare function
|
|
1883
|
-
export declare function
|
|
1884
|
-
export declare function
|
|
1885
|
-
export declare function
|
|
1023
|
+
export declare function fromCircuitProveResponse(o: CircuitProveResponse): MsgpackCircuitProveResponse;
|
|
1024
|
+
export declare function fromCircuitInfoResponse(o: CircuitInfoResponse): MsgpackCircuitInfoResponse;
|
|
1025
|
+
export declare function fromCircuitVerifyResponse(o: CircuitVerifyResponse): MsgpackCircuitVerifyResponse;
|
|
1026
|
+
export declare function fromChonkComputeVkResponse(o: ChonkComputeVkResponse): MsgpackChonkComputeVkResponse;
|
|
1027
|
+
export declare function fromChonkStartResponse(o: ChonkStartResponse): MsgpackChonkStartResponse;
|
|
1028
|
+
export declare function fromChonkLoadResponse(o: ChonkLoadResponse): MsgpackChonkLoadResponse;
|
|
1029
|
+
export declare function fromChonkAccumulateResponse(o: ChonkAccumulateResponse): MsgpackChonkAccumulateResponse;
|
|
1030
|
+
export declare function fromChonkProveResponse(o: ChonkProveResponse): MsgpackChonkProveResponse;
|
|
1031
|
+
export declare function fromChonkVerifyResponse(o: ChonkVerifyResponse): MsgpackChonkVerifyResponse;
|
|
1032
|
+
export declare function fromVkAsFieldsResponse(o: VkAsFieldsResponse): MsgpackVkAsFieldsResponse;
|
|
1033
|
+
export declare function fromMegaVkAsFieldsResponse(o: MegaVkAsFieldsResponse): MsgpackMegaVkAsFieldsResponse;
|
|
1034
|
+
export declare function fromCircuitWriteSolidityVerifierResponse(o: CircuitWriteSolidityVerifierResponse): MsgpackCircuitWriteSolidityVerifierResponse;
|
|
1035
|
+
export declare function fromChonkCheckPrecomputedVkResponse(o: ChonkCheckPrecomputedVkResponse): MsgpackChonkCheckPrecomputedVkResponse;
|
|
1036
|
+
export declare function fromChonkStatsResponse(o: ChonkStatsResponse): MsgpackChonkStatsResponse;
|
|
1037
|
+
export declare function fromPoseidon2HashResponse(o: Poseidon2HashResponse): MsgpackPoseidon2HashResponse;
|
|
1038
|
+
export declare function fromPoseidon2PermutationResponse(o: Poseidon2PermutationResponse): MsgpackPoseidon2PermutationResponse;
|
|
1039
|
+
export declare function fromPedersenCommitResponse(o: PedersenCommitResponse): MsgpackPedersenCommitResponse;
|
|
1040
|
+
export declare function fromPedersenHashResponse(o: PedersenHashResponse): MsgpackPedersenHashResponse;
|
|
1041
|
+
export declare function fromPedersenHashBufferResponse(o: PedersenHashBufferResponse): MsgpackPedersenHashBufferResponse;
|
|
1042
|
+
export declare function fromBlake2sResponse(o: Blake2sResponse): MsgpackBlake2sResponse;
|
|
1043
|
+
export declare function fromBlake2sToFieldResponse(o: Blake2sToFieldResponse): MsgpackBlake2sToFieldResponse;
|
|
1044
|
+
export declare function fromAesEncryptResponse(o: AesEncryptResponse): MsgpackAesEncryptResponse;
|
|
1045
|
+
export declare function fromAesDecryptResponse(o: AesDecryptResponse): MsgpackAesDecryptResponse;
|
|
1046
|
+
export declare function fromGrumpkinMulResponse(o: GrumpkinMulResponse): MsgpackGrumpkinMulResponse;
|
|
1886
1047
|
export declare function fromGrumpkinAddResponse(o: GrumpkinAddResponse): MsgpackGrumpkinAddResponse;
|
|
1887
|
-
export declare function toGrumpkinBatchMul(o: MsgpackGrumpkinBatchMul): GrumpkinBatchMul;
|
|
1888
|
-
export declare function fromGrumpkinBatchMul(o: GrumpkinBatchMul): MsgpackGrumpkinBatchMul;
|
|
1889
|
-
export declare function toGrumpkinBatchMulResponse(o: MsgpackGrumpkinBatchMulResponse): GrumpkinBatchMulResponse;
|
|
1890
1048
|
export declare function fromGrumpkinBatchMulResponse(o: GrumpkinBatchMulResponse): MsgpackGrumpkinBatchMulResponse;
|
|
1891
|
-
export declare function toGrumpkinGetRandomFr(o: MsgpackGrumpkinGetRandomFr): GrumpkinGetRandomFr;
|
|
1892
|
-
export declare function fromGrumpkinGetRandomFr(o: GrumpkinGetRandomFr): MsgpackGrumpkinGetRandomFr;
|
|
1893
|
-
export declare function toGrumpkinGetRandomFrResponse(o: MsgpackGrumpkinGetRandomFrResponse): GrumpkinGetRandomFrResponse;
|
|
1894
1049
|
export declare function fromGrumpkinGetRandomFrResponse(o: GrumpkinGetRandomFrResponse): MsgpackGrumpkinGetRandomFrResponse;
|
|
1895
|
-
export declare function toGrumpkinMul(o: MsgpackGrumpkinMul): GrumpkinMul;
|
|
1896
|
-
export declare function fromGrumpkinMul(o: GrumpkinMul): MsgpackGrumpkinMul;
|
|
1897
|
-
export declare function toGrumpkinMulResponse(o: MsgpackGrumpkinMulResponse): GrumpkinMulResponse;
|
|
1898
|
-
export declare function fromGrumpkinMulResponse(o: GrumpkinMulResponse): MsgpackGrumpkinMulResponse;
|
|
1899
|
-
export declare function toGrumpkinPoint(o: MsgpackGrumpkinPoint): GrumpkinPoint;
|
|
1900
|
-
export declare function fromGrumpkinPoint(o: GrumpkinPoint): MsgpackGrumpkinPoint;
|
|
1901
|
-
export declare function toGrumpkinReduce512(o: MsgpackGrumpkinReduce512): GrumpkinReduce512;
|
|
1902
|
-
export declare function fromGrumpkinReduce512(o: GrumpkinReduce512): MsgpackGrumpkinReduce512;
|
|
1903
|
-
export declare function toGrumpkinReduce512Response(o: MsgpackGrumpkinReduce512Response): GrumpkinReduce512Response;
|
|
1904
1050
|
export declare function fromGrumpkinReduce512Response(o: GrumpkinReduce512Response): MsgpackGrumpkinReduce512Response;
|
|
1905
|
-
export declare function
|
|
1906
|
-
export declare function
|
|
1907
|
-
export declare function
|
|
1908
|
-
export declare function
|
|
1909
|
-
export declare function
|
|
1910
|
-
export declare function
|
|
1911
|
-
export declare function
|
|
1912
|
-
export declare function
|
|
1913
|
-
export declare function
|
|
1914
|
-
export declare function fromPedersenHash(o: PedersenHash): MsgpackPedersenHash;
|
|
1915
|
-
export declare function toPedersenHashBuffer(o: MsgpackPedersenHashBuffer): PedersenHashBuffer;
|
|
1916
|
-
export declare function fromPedersenHashBuffer(o: PedersenHashBuffer): MsgpackPedersenHashBuffer;
|
|
1917
|
-
export declare function toPedersenHashBufferResponse(o: MsgpackPedersenHashBufferResponse): PedersenHashBufferResponse;
|
|
1918
|
-
export declare function fromPedersenHashBufferResponse(o: PedersenHashBufferResponse): MsgpackPedersenHashBufferResponse;
|
|
1919
|
-
export declare function toPedersenHashResponse(o: MsgpackPedersenHashResponse): PedersenHashResponse;
|
|
1920
|
-
export declare function fromPedersenHashResponse(o: PedersenHashResponse): MsgpackPedersenHashResponse;
|
|
1921
|
-
export declare function toPoseidon2Hash(o: MsgpackPoseidon2Hash): Poseidon2Hash;
|
|
1922
|
-
export declare function fromPoseidon2Hash(o: Poseidon2Hash): MsgpackPoseidon2Hash;
|
|
1923
|
-
export declare function toPoseidon2HashAccumulate(o: MsgpackPoseidon2HashAccumulate): Poseidon2HashAccumulate;
|
|
1924
|
-
export declare function fromPoseidon2HashAccumulate(o: Poseidon2HashAccumulate): MsgpackPoseidon2HashAccumulate;
|
|
1925
|
-
export declare function toPoseidon2HashAccumulateResponse(o: MsgpackPoseidon2HashAccumulateResponse): Poseidon2HashAccumulateResponse;
|
|
1926
|
-
export declare function fromPoseidon2HashAccumulateResponse(o: Poseidon2HashAccumulateResponse): MsgpackPoseidon2HashAccumulateResponse;
|
|
1927
|
-
export declare function toPoseidon2HashResponse(o: MsgpackPoseidon2HashResponse): Poseidon2HashResponse;
|
|
1928
|
-
export declare function fromPoseidon2HashResponse(o: Poseidon2HashResponse): MsgpackPoseidon2HashResponse;
|
|
1929
|
-
export declare function toPoseidon2Permutation(o: MsgpackPoseidon2Permutation): Poseidon2Permutation;
|
|
1930
|
-
export declare function fromPoseidon2Permutation(o: Poseidon2Permutation): MsgpackPoseidon2Permutation;
|
|
1931
|
-
export declare function toPoseidon2PermutationResponse(o: MsgpackPoseidon2PermutationResponse): Poseidon2PermutationResponse;
|
|
1932
|
-
export declare function fromPoseidon2PermutationResponse(o: Poseidon2PermutationResponse): MsgpackPoseidon2PermutationResponse;
|
|
1933
|
-
export declare function toProofSystemSettings(o: MsgpackProofSystemSettings): ProofSystemSettings;
|
|
1934
|
-
export declare function fromProofSystemSettings(o: ProofSystemSettings): MsgpackProofSystemSettings;
|
|
1935
|
-
export declare function toSchnorrComputePublicKey(o: MsgpackSchnorrComputePublicKey): SchnorrComputePublicKey;
|
|
1936
|
-
export declare function fromSchnorrComputePublicKey(o: SchnorrComputePublicKey): MsgpackSchnorrComputePublicKey;
|
|
1937
|
-
export declare function toSchnorrComputePublicKeyResponse(o: MsgpackSchnorrComputePublicKeyResponse): SchnorrComputePublicKeyResponse;
|
|
1051
|
+
export declare function fromSecp256k1MulResponse(o: Secp256k1MulResponse): MsgpackSecp256k1MulResponse;
|
|
1052
|
+
export declare function fromSecp256k1GetRandomFrResponse(o: Secp256k1GetRandomFrResponse): MsgpackSecp256k1GetRandomFrResponse;
|
|
1053
|
+
export declare function fromSecp256k1Reduce512Response(o: Secp256k1Reduce512Response): MsgpackSecp256k1Reduce512Response;
|
|
1054
|
+
export declare function fromBn254FrSqrtResponse(o: Bn254FrSqrtResponse): MsgpackBn254FrSqrtResponse;
|
|
1055
|
+
export declare function fromBn254FqSqrtResponse(o: Bn254FqSqrtResponse): MsgpackBn254FqSqrtResponse;
|
|
1056
|
+
export declare function fromBn254G1MulResponse(o: Bn254G1MulResponse): MsgpackBn254G1MulResponse;
|
|
1057
|
+
export declare function fromBn254G2MulResponse(o: Bn254G2MulResponse): MsgpackBn254G2MulResponse;
|
|
1058
|
+
export declare function fromBn254G1IsOnCurveResponse(o: Bn254G1IsOnCurveResponse): MsgpackBn254G1IsOnCurveResponse;
|
|
1059
|
+
export declare function fromBn254G1FromCompressedResponse(o: Bn254G1FromCompressedResponse): MsgpackBn254G1FromCompressedResponse;
|
|
1938
1060
|
export declare function fromSchnorrComputePublicKeyResponse(o: SchnorrComputePublicKeyResponse): MsgpackSchnorrComputePublicKeyResponse;
|
|
1939
|
-
export declare function toSchnorrConstructSignature(o: MsgpackSchnorrConstructSignature): SchnorrConstructSignature;
|
|
1940
|
-
export declare function fromSchnorrConstructSignature(o: SchnorrConstructSignature): MsgpackSchnorrConstructSignature;
|
|
1941
|
-
export declare function toSchnorrConstructSignatureResponse(o: MsgpackSchnorrConstructSignatureResponse): SchnorrConstructSignatureResponse;
|
|
1942
1061
|
export declare function fromSchnorrConstructSignatureResponse(o: SchnorrConstructSignatureResponse): MsgpackSchnorrConstructSignatureResponse;
|
|
1943
|
-
export declare function toSchnorrVerifySignature(o: MsgpackSchnorrVerifySignature): SchnorrVerifySignature;
|
|
1944
|
-
export declare function fromSchnorrVerifySignature(o: SchnorrVerifySignature): MsgpackSchnorrVerifySignature;
|
|
1945
|
-
export declare function toSchnorrVerifySignatureResponse(o: MsgpackSchnorrVerifySignatureResponse): SchnorrVerifySignatureResponse;
|
|
1946
1062
|
export declare function fromSchnorrVerifySignatureResponse(o: SchnorrVerifySignatureResponse): MsgpackSchnorrVerifySignatureResponse;
|
|
1947
|
-
export declare function
|
|
1948
|
-
export declare function
|
|
1949
|
-
export declare function
|
|
1950
|
-
export declare function
|
|
1951
|
-
export declare function
|
|
1952
|
-
export declare function
|
|
1953
|
-
export declare function
|
|
1954
|
-
export declare function
|
|
1955
|
-
export declare function toSecp256k1Point(o: MsgpackSecp256k1Point): Secp256k1Point;
|
|
1956
|
-
export declare function fromSecp256k1Point(o: Secp256k1Point): MsgpackSecp256k1Point;
|
|
1957
|
-
export declare function toSecp256k1Reduce512(o: MsgpackSecp256k1Reduce512): Secp256k1Reduce512;
|
|
1958
|
-
export declare function fromSecp256k1Reduce512(o: Secp256k1Reduce512): MsgpackSecp256k1Reduce512;
|
|
1959
|
-
export declare function toSecp256k1Reduce512Response(o: MsgpackSecp256k1Reduce512Response): Secp256k1Reduce512Response;
|
|
1960
|
-
export declare function fromSecp256k1Reduce512Response(o: Secp256k1Reduce512Response): MsgpackSecp256k1Reduce512Response;
|
|
1961
|
-
export declare function toSecp256r1Point(o: MsgpackSecp256r1Point): Secp256r1Point;
|
|
1962
|
-
export declare function fromSecp256r1Point(o: Secp256r1Point): MsgpackSecp256r1Point;
|
|
1963
|
-
export declare function toShutdown(o: MsgpackShutdown): Shutdown;
|
|
1964
|
-
export declare function fromShutdown(o: Shutdown): MsgpackShutdown;
|
|
1965
|
-
export declare function toShutdownResponse(o: MsgpackShutdownResponse): ShutdownResponse;
|
|
1966
|
-
export declare function fromShutdownResponse(o: ShutdownResponse): MsgpackShutdownResponse;
|
|
1967
|
-
export declare function toSrsInitGrumpkinSrs(o: MsgpackSrsInitGrumpkinSrs): SrsInitGrumpkinSrs;
|
|
1968
|
-
export declare function fromSrsInitGrumpkinSrs(o: SrsInitGrumpkinSrs): MsgpackSrsInitGrumpkinSrs;
|
|
1969
|
-
export declare function toSrsInitGrumpkinSrsResponse(o: MsgpackSrsInitGrumpkinSrsResponse): SrsInitGrumpkinSrsResponse;
|
|
1970
|
-
export declare function fromSrsInitGrumpkinSrsResponse(o: SrsInitGrumpkinSrsResponse): MsgpackSrsInitGrumpkinSrsResponse;
|
|
1971
|
-
export declare function toSrsInitSrs(o: MsgpackSrsInitSrs): SrsInitSrs;
|
|
1972
|
-
export declare function fromSrsInitSrs(o: SrsInitSrs): MsgpackSrsInitSrs;
|
|
1973
|
-
export declare function toSrsInitSrsResponse(o: MsgpackSrsInitSrsResponse): SrsInitSrsResponse;
|
|
1063
|
+
export declare function fromEcdsaSecp256k1ComputePublicKeyResponse(o: EcdsaSecp256k1ComputePublicKeyResponse): MsgpackEcdsaSecp256k1ComputePublicKeyResponse;
|
|
1064
|
+
export declare function fromEcdsaSecp256r1ComputePublicKeyResponse(o: EcdsaSecp256r1ComputePublicKeyResponse): MsgpackEcdsaSecp256r1ComputePublicKeyResponse;
|
|
1065
|
+
export declare function fromEcdsaSecp256k1ConstructSignatureResponse(o: EcdsaSecp256k1ConstructSignatureResponse): MsgpackEcdsaSecp256k1ConstructSignatureResponse;
|
|
1066
|
+
export declare function fromEcdsaSecp256r1ConstructSignatureResponse(o: EcdsaSecp256r1ConstructSignatureResponse): MsgpackEcdsaSecp256r1ConstructSignatureResponse;
|
|
1067
|
+
export declare function fromEcdsaSecp256k1RecoverPublicKeyResponse(o: EcdsaSecp256k1RecoverPublicKeyResponse): MsgpackEcdsaSecp256k1RecoverPublicKeyResponse;
|
|
1068
|
+
export declare function fromEcdsaSecp256r1RecoverPublicKeyResponse(o: EcdsaSecp256r1RecoverPublicKeyResponse): MsgpackEcdsaSecp256r1RecoverPublicKeyResponse;
|
|
1069
|
+
export declare function fromEcdsaSecp256k1VerifySignatureResponse(o: EcdsaSecp256k1VerifySignatureResponse): MsgpackEcdsaSecp256k1VerifySignatureResponse;
|
|
1070
|
+
export declare function fromEcdsaSecp256r1VerifySignatureResponse(o: EcdsaSecp256r1VerifySignatureResponse): MsgpackEcdsaSecp256r1VerifySignatureResponse;
|
|
1974
1071
|
export declare function fromSrsInitSrsResponse(o: SrsInitSrsResponse): MsgpackSrsInitSrsResponse;
|
|
1975
|
-
export declare function
|
|
1976
|
-
export declare function
|
|
1977
|
-
export declare function toVkAsFieldsResponse(o: MsgpackVkAsFieldsResponse): VkAsFieldsResponse;
|
|
1978
|
-
export declare function fromVkAsFieldsResponse(o: VkAsFieldsResponse): MsgpackVkAsFieldsResponse;
|
|
1072
|
+
export declare function fromSrsInitGrumpkinSrsResponse(o: SrsInitGrumpkinSrsResponse): MsgpackSrsInitGrumpkinSrsResponse;
|
|
1073
|
+
export declare function fromShutdownResponse(o: ShutdownResponse): MsgpackShutdownResponse;
|
|
1979
1074
|
export interface BbApiBase {
|
|
1980
1075
|
circuitProve(command: CircuitProve): Promise<CircuitProveResponse>;
|
|
1981
1076
|
circuitComputeVk(command: CircuitComputeVk): Promise<CircuitComputeVkResponse>;
|
|
1982
1077
|
circuitStats(command: CircuitStats): Promise<CircuitInfoResponse>;
|
|
1983
1078
|
circuitVerify(command: CircuitVerify): Promise<CircuitVerifyResponse>;
|
|
1984
|
-
|
|
1985
|
-
chonkComputeIvcVk(command: ChonkComputeIvcVk): Promise<ChonkComputeIvcVkResponse>;
|
|
1079
|
+
chonkComputeVk(command: ChonkComputeVk): Promise<ChonkComputeVkResponse>;
|
|
1986
1080
|
chonkStart(command: ChonkStart): Promise<ChonkStartResponse>;
|
|
1987
1081
|
chonkLoad(command: ChonkLoad): Promise<ChonkLoadResponse>;
|
|
1988
1082
|
chonkAccumulate(command: ChonkAccumulate): Promise<ChonkAccumulateResponse>;
|
|
@@ -1995,7 +1089,6 @@ export interface BbApiBase {
|
|
|
1995
1089
|
chonkStats(command: ChonkStats): Promise<ChonkStatsResponse>;
|
|
1996
1090
|
poseidon2Hash(command: Poseidon2Hash): Promise<Poseidon2HashResponse>;
|
|
1997
1091
|
poseidon2Permutation(command: Poseidon2Permutation): Promise<Poseidon2PermutationResponse>;
|
|
1998
|
-
poseidon2HashAccumulate(command: Poseidon2HashAccumulate): Promise<Poseidon2HashAccumulateResponse>;
|
|
1999
1092
|
pedersenCommit(command: PedersenCommit): Promise<PedersenCommitResponse>;
|
|
2000
1093
|
pedersenHash(command: PedersenHash): Promise<PedersenHashResponse>;
|
|
2001
1094
|
pedersenHashBuffer(command: PedersenHashBuffer): Promise<PedersenHashBufferResponse>;
|
|
@@ -2034,4 +1127,4 @@ export interface BbApiBase {
|
|
|
2034
1127
|
destroy(): Promise<void>;
|
|
2035
1128
|
}
|
|
2036
1129
|
export {};
|
|
2037
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGVkL2FwaV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzlDLE1BQU0sTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBR2xDLE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsU0FBUyxFQUFFLFVBQVUsQ0FBQztDQUN2QjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLFNBQVMsRUFBRSxVQUFVLENBQUM7Q0FDdkI7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDO0lBQ3RCLEVBQUUsRUFBRSxVQUFVLENBQUM7SUFDZixHQUFHLEVBQUUsVUFBVSxDQUFDO0lB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
|
|
1130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGVkL2FwaV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRzlDLE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckIsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDO0lBQ3JCLGVBQWUsRUFBRSxVQUFVLENBQUM7Q0FDN0I7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFDekIsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixTQUFTLEVBQUUsT0FBTyxDQUFDO0lBQ25CLHlCQUF5QixFQUFFLE9BQU8sQ0FBQztDQUNwQztBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLE9BQU8sRUFBRSxZQUFZLENBQUM7SUFDdEIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixRQUFRLEVBQUUsbUJBQW1CLENBQUM7Q0FDL0I7QUFFRCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixPQUFPLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUIsUUFBUSxFQUFFLG1CQUFtQixDQUFDO0NBQy9CO0FBRUQsTUFBTSxXQUFXLFlBQVk7SUFDM0IsT0FBTyxFQUFFLFlBQVksQ0FBQztJQUN0QixxQkFBcUIsRUFBRSxPQUFPLENBQUM7SUFDL0IsUUFBUSxFQUFFLG1CQUFtQixDQUFDO0NBQy9CO0FBRUQsTUFBTSxXQUFXLGFBQWE7SUFDNUIsZUFBZSxFQUFFLFVBQVUsQ0FBQztJQUM1QixZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDM0IsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQztDQUMvQjtBQUVELE1BQU0sV0FBVyxjQUFjO0lBQzdCLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztDQUMzQjtBQUVELE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUM7Q0FDckI7QUFFRCxNQUFNLFdBQVcsU0FBUztJQUN4QixPQUFPLEVBQUUsWUFBWSxDQUFDO0NBQ3ZCO0FBRUQsTUFBTSxXQUFXLGVBQWU7SUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQztDQUNyQjtBQUVELE1BQU0sV0FBVyxVQUFVO0NBRTFCO0FBRUQsTUFBTSxXQUFXLFdBQVc7SUFDMUIsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN6QixRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDdkIsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQy9CO0FBRUQsTUFBTSxXQUFXLFVBQVU7SUFDekIsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLFdBQVcsRUFBRSxXQUFXLENBQUM7Q0FDMUI7QUFFRCxNQUFNLFdBQVcsV0FBVztJQUMxQixLQUFLLEVBQUUsVUFBVSxDQUFDO0lBQ2xCLEVBQUUsRUFBRSxVQUFVLENBQUM7Q0FDaEI7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixlQUFlLEVBQUUsVUFBVSxDQUFDO0NBQzdCO0FBRUQsTUFBTSxXQUFXLGNBQWM7SUFDN0IsZUFBZSxFQUFFLFVBQVUsQ0FBQztDQUM3QjtBQUVELE1BQU0sV0FBVyw0QkFBNEI7SUFDM0MsZUFBZSxFQUFFLFVBQVUsQ0FBQztJQUM1QixRQUFRLEVBQUUsbUJBQW1CLENBQUM7Q0FDL0I7QUFFRCxNQUFNLFdBQVcsdUJBQXVCO0lBQ3RDLE9BQU8sRUFBRSxZQUFZLENBQUM7Q0FDdkI7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixPQUFPLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUIscUJBQXFCLEVBQUUsT0FBTyxDQUFDO0NBQ2hDO0FBRUQsTUFBTSxXQUFXLGFBQWE7SUFDNUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxNQUFNLFdBQVcsY0FBYztJQUM3QixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckIsU0FBUyxFQUFFLE1BQU0sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQixTQUFTLEVBQUUsTUFBTSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLGtCQUFrQjtJQUNqQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsT0FBTztJQUN0QixJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsTUFBTSxXQUFXLGNBQWM7SUFDN0IsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFDdEIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxhQUFhO0lBQzVCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsV0FBVztJQUMxQixLQUFLLEVBQUUsYUFBYSxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7Q0FDcEI7QUFFRCxNQUFNLFdBQVcsV0FBVztJQUMxQixNQUFNLEVBQUUsYUFBYSxDQUFDO0lBQ3RCLE1BQU0sRUFBRSxhQUFhLENBQUM7Q0FDdkI7QUFFRCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUN4QixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsTUFBTSxXQUFXLG1CQUFtQjtJQUNsQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsaUJBQWlCO0lBQ2hDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsY0FBYztJQUM3QixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNmO0FBRUQsTUFBTSxXQUFXLFlBQVk7SUFDM0IsS0FBSyxFQUFFLGNBQWMsQ0FBQztJQUN0QixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsV0FBVztJQUMxQixLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLFdBQVc7SUFDMUIsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixLQUFLLEVBQUUsWUFBWSxDQUFDO0lBQ3BCLE1BQU0sRUFBRSxVQUFVLENBQUM7Q0FDcEI7QUFFRCxNQUFNLFdBQVcsWUFBWTtJQUMzQixDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0NBQzdCO0FBRUQsTUFBTSxXQUFXLFVBQVU7SUFDekIsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUNwQixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixLQUFLLEVBQUUsWUFBWSxDQUFDO0NBQ3JCO0FBRUQsTUFBTSxXQUFXLHFCQUFxQjtJQUNwQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsTUFBTSxXQUFXLHVCQUF1QjtJQUN0QyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsTUFBTSxXQUFXLHlCQUF5QjtJQUN4QyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEI7QUFFRCxNQUFNLFdBQVcsc0JBQXNCO0lBQ3JDLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsU0FBUyxFQUFFLGFBQWEsQ0FBQztJQUN6QixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNmO0FBRUQsTUFBTSxXQUFXLDhCQUE4QjtJQUM3QyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsTUFBTSxXQUFXLDhCQUE4QjtJQUM3QyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsTUFBTSxXQUFXLGdDQUFnQztJQUMvQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEI7QUFFRCxNQUFNLFdBQVcsZ0NBQWdDO0lBQy9DLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVELE1BQU0sV0FBVyw4QkFBOEI7SUFDN0MsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDWDtBQUVELE1BQU0sV0FBVyw4QkFBOEI7SUFDN0MsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDWDtBQUVELE1BQU0sV0FBVyw2QkFBNkI7SUFDNUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQzFCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsTUFBTSxXQUFXLGNBQWM7SUFDN0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyw2QkFBNkI7SUFDNUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQzFCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsTUFBTSxXQUFXLFVBQVU7SUFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxVQUFVLENBQUM7Q0FDckI7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFDdEIsU0FBUyxFQUFFLE1BQU0sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxRQUFRO0NBRXhCO0FBRUQsTUFBTSxXQUFXLGFBQWE7SUFDNUIsT0FBTyxFQUFFLE1BQU0sQ0FBQztDQUNqQjtBQUVELE1BQU0sV0FBVyxvQkFBb0I7SUFDbkMsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzNCLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNwQixFQUFFLEVBQUUsd0JBQXdCLENBQUM7Q0FDOUI7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUMxQjtBQUVELE1BQU0sV0FBVyxxQkFBcUI7SUFDcEMsUUFBUSxFQUFFLE9BQU8sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0NBRWxDO0FBRUQsTUFBTSxXQUFXLGlCQUFpQjtDQUVqQztBQUVELE1BQU0sV0FBVyx1QkFBdUI7Q0FFdkM7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLEtBQUssRUFBRSxPQUFPLENBQUM7Q0FDaEI7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLG9DQUFvQztJQUNuRCxZQUFZLEVBQUUsTUFBTSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLCtCQUErQjtJQUM5QyxLQUFLLEVBQUUsT0FBTyxDQUFDO0lBQ2YsUUFBUSxFQUFFLFVBQVUsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUMxQjtBQUVELE1BQU0sV0FBVyxxQkFBcUI7SUFDcEMsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyw0QkFBNEI7SUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3ZCO0FBRUQsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxLQUFLLEVBQUUsYUFBYSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyxJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsTUFBTSxXQUFXLDBCQUEwQjtJQUN6QyxJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsTUFBTSxXQUFXLGVBQWU7SUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsU0FBUyxFQUFFLFVBQVUsQ0FBQztDQUN2QjtBQUVELE1BQU0sV0FBVyxtQkFBbUI7SUFDbEMsS0FBSyxFQUFFLGFBQWEsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyxtQkFBbUI7SUFDbEMsS0FBSyxFQUFFLGFBQWEsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDO0NBQ3pCO0FBRUQsTUFBTSxXQUFXLDJCQUEyQjtJQUMxQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLHlCQUF5QjtJQUN4QyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyxLQUFLLEVBQUUsY0FBYyxDQUFDO0NBQ3ZCO0FBRUQsTUFBTSxXQUFXLDRCQUE0QjtJQUMzQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLDBCQUEwQjtJQUN6QyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLG1CQUFtQjtJQUNsQyxZQUFZLEVBQUUsT0FBTyxDQUFDO0lBQ3RCLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDdEIsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsS0FBSyxFQUFFLFlBQVksQ0FBQztDQUNyQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsS0FBSyxFQUFFLFlBQVksQ0FBQztDQUNyQjtBQUVELE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsU0FBUyxFQUFFLE9BQU8sQ0FBQztDQUNwQjtBQUVELE1BQU0sV0FBVyw2QkFBNkI7SUFDNUMsS0FBSyxFQUFFLFlBQVksQ0FBQztDQUNyQjtBQUVELE1BQU0sV0FBVywrQkFBK0I7SUFDOUMsU0FBUyxFQUFFLGFBQWEsQ0FBQztDQUMxQjtBQUVELE1BQU0sV0FBVyxpQ0FBaUM7SUFDaEQsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyw4QkFBOEI7SUFDN0MsUUFBUSxFQUFFLE9BQU8sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxzQ0FBc0M7SUFDckQsU0FBUyxFQUFFLGNBQWMsQ0FBQztDQUMzQjtBQUVELE1BQU0sV0FBVyxzQ0FBc0M7SUFDckQsU0FBUyxFQUFFLGNBQWMsQ0FBQztDQUMzQjtBQUVELE1BQU0sV0FBVyx3Q0FBd0M7SUFDdkQsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ1g7QUFFRCxNQUFNLFdBQVcsd0NBQXdDO0lBQ3ZELENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsTUFBTSxXQUFXLHNDQUFzQztJQUNyRCxTQUFTLEVBQUUsY0FBYyxDQUFDO0NBQzNCO0FBRUQsTUFBTSxXQUFXLHNDQUFzQztJQUNyRCxTQUFTLEVBQUUsY0FBYyxDQUFDO0NBQzNCO0FBRUQsTUFBTSxXQUFXLHFDQUFxQztJQUNwRCxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLHFDQUFxQztJQUNwRCxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLGtCQUFrQjtJQUNqQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsMEJBQTBCO0lBQ3pDLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyxnQkFBZ0I7Q0FFaEM7QUFHRCxVQUFVLCtCQUErQjtJQUN2QyxLQUFLLEVBQUUsVUFBVSxDQUFDO0lBQ2xCLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsVUFBVSxtQkFBbUI7SUFDM0IsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLFFBQVEsRUFBRSxVQUFVLENBQUM7SUFDckIsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0NBQzlCO0FBRUQsVUFBVSwwQkFBMEI7SUFDbEMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO0lBQzFCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6QixVQUFVLEVBQUUsT0FBTyxDQUFDO0lBQ3BCLDJCQUEyQixFQUFFLE9BQU8sQ0FBQztDQUN0QztBQUVELFVBQVUsbUJBQW1CO0lBQzNCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztJQUM3QixPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQztDQUN0QztBQUVELFVBQVUsdUJBQXVCO0lBQy9CLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDO0NBQ3RCO0FBRUQsVUFBVSx1QkFBdUI7SUFDL0IsT0FBTyxFQUFFLHVCQUF1QixDQUFDO0lBQ2pDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQztDQUN0QztBQUVELFVBQVUsbUJBQW1CO0lBQzNCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztJQUM3Qix3QkFBd0IsRUFBRSxPQUFPLENBQUM7SUFDbEMsUUFBUSxFQUFFLDBCQUEwQixDQUFDO0NBQ3RDO0FBRUQsVUFBVSxvQkFBb0I7SUFDNUIsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0lBQzdCLGFBQWEsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM1QixLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEIsUUFBUSxFQUFFLDBCQUEwQixDQUFDO0NBQ3RDO0FBRUQsVUFBVSxxQkFBcUI7SUFDN0IsT0FBTyxFQUFFLHVCQUF1QixDQUFDO0NBQ2xDO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsWUFBWSxFQUFFLE1BQU0sQ0FBQztDQUN0QjtBQUVELFVBQVUsZ0JBQWdCO0lBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztDQUM5QjtBQUVELFVBQVUsc0JBQXNCO0lBQzlCLE9BQU8sRUFBRSxVQUFVLENBQUM7Q0FDckI7QUFFRCxVQUFVLGlCQUFpQjtDQUUxQjtBQUVELFVBQVUsa0JBQWtCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDMUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ2hDO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztDQUNsQztBQUVELFVBQVUsa0JBQWtCO0lBQzFCLEtBQUssRUFBRSxpQkFBaUIsQ0FBQztJQUN6QixFQUFFLEVBQUUsVUFBVSxDQUFDO0NBQ2hCO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0NBQzlCO0FBRUQsVUFBVSxxQkFBcUI7SUFDN0IsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0NBQzlCO0FBRUQsVUFBVSxtQ0FBbUM7SUFDM0MsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0lBQzdCLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQztDQUN0QztBQUVELFVBQVUsOEJBQThCO0lBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztDQUM5QjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQztJQUNqQyx3QkFBd0IsRUFBRSxPQUFPLENBQUM7Q0FDbkM7QUFFRCxVQUFVLG9CQUFvQjtJQUM1QixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxVQUFVLDJCQUEyQjtJQUNuQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxVQUFVLHFCQUFxQjtJQUM3QixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQztDQUNwQjtBQUVELFVBQVUsbUJBQW1CO0lBQzNCLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSxjQUFjO0lBQ3RCLElBQUksRUFBRSxVQUFVLENBQUM7Q0FDbEI7QUFFRCxVQUFVLHFCQUFxQjtJQUM3QixJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUN0QixFQUFFLEVBQUUsVUFBVSxDQUFDO0lBQ2YsR0FBRyxFQUFFLFVBQVUsQ0FBQztJQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixFQUFFLEVBQUUsVUFBVSxDQUFDO0lBQ2YsR0FBRyxFQUFFLFVBQVUsQ0FBQztJQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsVUFBVSxvQkFBb0I7SUFDNUIsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELFVBQVUsa0JBQWtCO0lBQzFCLEtBQUssRUFBRSxvQkFBb0IsQ0FBQztJQUM1QixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSxrQkFBa0I7SUFDMUIsT0FBTyxFQUFFLG9CQUFvQixDQUFDO0lBQzlCLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQztDQUMvQjtBQUVELFVBQVUsdUJBQXVCO0lBQy9CLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQy9CLE1BQU0sRUFBRSxVQUFVLENBQUM7Q0FDcEI7QUFFRCxVQUFVLDBCQUEwQjtJQUNsQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2Y7QUFFRCxVQUFVLHdCQUF3QjtJQUNoQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSxxQkFBcUI7SUFDN0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELFVBQVUsbUJBQW1CO0lBQzNCLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztJQUM3QixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSwyQkFBMkI7SUFDbkMsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUNmO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELFVBQVUsa0JBQWtCO0lBQzFCLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxVQUFVLGtCQUFrQjtJQUMxQixLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSxtQkFBbUI7SUFDM0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztJQUMzQixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSxtQkFBbUI7SUFDM0IsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzVCLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3QjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztJQUMzQixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSx1QkFBdUI7SUFDL0IsS0FBSyxFQUFFLG1CQUFtQixDQUFDO0NBQzVCO0FBRUQsVUFBVSw0QkFBNEI7SUFDcEMsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVELFVBQVUsOEJBQThCO0lBQ3RDLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLGdDQUFnQztJQUN4QyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLDZCQUE2QjtJQUNyQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQztJQUNqQyxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNmO0FBRUQsVUFBVSxxQ0FBcUM7SUFDN0MsV0FBVyxFQUFFLFVBQVUsQ0FBQztDQUN6QjtBQUVELFVBQVUscUNBQXFDO0lBQzdDLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLHVDQUF1QztJQUMvQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLHVDQUF1QztJQUMvQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLHFDQUFxQztJQUM3QyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsVUFBVSxxQ0FBcUM7SUFDN0MsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDWDtBQUVELFVBQVUsb0NBQW9DO0lBQzVDLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsVUFBVSxFQUFFLHFCQUFxQixDQUFDO0lBQ2xDLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsVUFBVSxxQkFBcUI7SUFDN0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELFVBQVUsb0NBQW9DO0lBQzVDLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsVUFBVSxFQUFFLHFCQUFxQixDQUFDO0lBQ2xDLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFFBQVEsRUFBRSxVQUFVLENBQUM7Q0FDdEI7QUFFRCxVQUFVLHlCQUF5QjtJQUNqQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxNQUFNLENBQUM7Q0FDcEI7QUFFRCxVQUFVLGVBQWU7Q0FFeEI7QUFFRCxVQUFVLG9CQUFvQjtJQUM1QixPQUFPLEVBQUUsTUFBTSxDQUFDO0NBQ2pCO0FBRUQsVUFBVSwyQkFBMkI7SUFDbkMsYUFBYSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzVCLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNwQixFQUFFLEVBQUUsK0JBQStCLENBQUM7Q0FDckM7QUFFRCxVQUFVLDBCQUEwQjtJQUNsQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6QixnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDNUI7QUFFRCxVQUFVLDRCQUE0QjtJQUNwQyxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsVUFBVSw2QkFBNkI7SUFDckMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxVQUFVLHlCQUF5QjtDQUVsQztBQUVELFVBQVUsd0JBQXdCO0NBRWpDO0FBRUQsVUFBVSw4QkFBOEI7Q0FFdkM7QUFFRCxVQUFVLHlCQUF5QjtJQUNqQyxLQUFLLEVBQUUsaUJBQWlCLENBQUM7Q0FDMUI7QUFFRCxVQUFVLDBCQUEwQjtJQUNsQyxLQUFLLEVBQUUsT0FBTyxDQUFDO0NBQ2hCO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3RCO0FBRUQsVUFBVSw2QkFBNkI7SUFDckMsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3RCO0FBRUQsVUFBVSwyQ0FBMkM7SUFDbkQsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUN2QjtBQUVELFVBQVUsc0NBQXNDO0lBQzlDLEtBQUssRUFBRSxPQUFPLENBQUM7SUFDZixTQUFTLEVBQUUsVUFBVSxDQUFDO0NBQ3ZCO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsWUFBWSxFQUFFLE1BQU0sQ0FBQztJQUNyQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO0NBQzVCO0FBRUQsVUFBVSw0QkFBNEI7SUFDcEMsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELFVBQVUsbUNBQW1DO0lBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUN2QjtBQUVELFVBQVUsNkJBQTZCO0lBQ3JDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQztDQUM3QjtBQUVELFVBQVUsMkJBQTJCO0lBQ25DLElBQUksRUFBRSxVQUFVLENBQUM7Q0FDbEI7QUFFRCxVQUFVLGlDQUFpQztJQUN6QyxJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsVUFBVSxzQkFBc0I7SUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELFVBQVUsNkJBQTZCO0lBQ3JDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxVQUFVLHlCQUF5QjtJQUNqQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsU0FBUyxFQUFFLFVBQVUsQ0FBQztDQUN2QjtBQUVELFVBQVUsMEJBQTBCO0lBQ2xDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQztDQUM3QjtBQUVELFVBQVUsMEJBQTBCO0lBQ2xDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQztDQUM3QjtBQUVELFVBQVUsK0JBQStCO0lBQ3ZDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0NBQ2hDO0FBRUQsVUFBVSxrQ0FBa0M7SUFDMUMsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELFVBQVUsZ0NBQWdDO0lBQ3hDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxVQUFVLDJCQUEyQjtJQUNuQyxLQUFLLEVBQUUscUJBQXFCLENBQUM7Q0FDOUI7QUFFRCxVQUFVLG1DQUFtQztJQUMzQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSxpQ0FBaUM7SUFDekMsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELFVBQVUsMEJBQTBCO0lBQ2xDLGNBQWMsRUFBRSxPQUFPLENBQUM7SUFDeEIsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELFVBQVUsMEJBQTBCO0lBQ2xDLGNBQWMsRUFBRSxPQUFPLENBQUM7SUFDeEIsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztDQUM1QjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztDQUM1QjtBQUVELFVBQVUsK0JBQStCO0lBQ3ZDLFdBQVcsRUFBRSxPQUFPLENBQUM7Q0FDdEI7QUFFRCxVQUFVLG9DQUFvQztJQUM1QyxLQUFLLEVBQUUsbUJBQW1CLENBQUM7Q0FDNUI7QUFFRCxVQUFVLHNDQUFzQztJQUM5QyxVQUFVLEVBQUUsb0JBQW9CLENBQUM7Q0FDbEM7QUFFRCxVQUFVLHdDQUF3QztJQUNoRCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNmO0FBRUQsVUFBVSxxQ0FBcUM7SUFDN0MsUUFBUSxFQUFFLE9BQU8sQ0FBQztDQUNuQjtBQUVELFVBQVUsNkNBQTZDO0lBQ3JELFVBQVUsRUFBRSxxQkFBcUIsQ0FBQztDQUNuQztBQUVELFVBQVUsNkNBQTZDO0lBQ3JELFVBQVUsRUFBRSxxQkFBcUIsQ0FBQztDQUNuQztBQUVELFVBQVUsK0NBQStDO0lBQ3ZELENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsVUFBVSwrQ0FBK0M7SUFDdkQsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ1g7QUFFRCxVQUFVLDZDQUE2QztJQUNyRCxVQUFVLEVBQUUscUJBQXFCLENBQUM7Q0FDbkM7QUFFRCxVQUFVLDZDQUE2QztJQUNyRCxVQUFVLEVBQUUscUJBQXFCLENBQUM7Q0FDbkM7QUFFRCxVQUFVLDRDQUE0QztJQUNwRCxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsVUFBVSw0Q0FBNEM7SUFDcEQsUUFBUSxFQUFFLE9BQU8sQ0FBQztDQUNuQjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZjtBQUVELFVBQVUsaUNBQWlDO0lBQ3pDLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZjtBQUVELFVBQVUsdUJBQXVCO0NBRWhDO0FBR0Qsd0JBQWdCLDBCQUEwQixDQUFDLENBQUMsRUFBRSwrQkFBK0IsR0FBRyx3QkFBd0IsQ0FTdkc7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsR0FBRyxZQUFZLENBU25FO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FXeEY7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsR0FBRyxZQUFZLENBU25FO0FBRUQsd0JBQWdCLGtCQUFrQixDQUFDLENBQUMsRUFBRSx1QkFBdUIsR0FBRyxnQkFBZ0IsQ0FPL0U7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixHQUFHLGdCQUFnQixDQU8vRTtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLFlBQVksQ0FTbkU7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsR0FBRyxhQUFhLENBV3RFO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxxQkFBcUIsR0FBRyxjQUFjLENBS3pFO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsVUFBVSxDQUs3RDtBQUVELHdCQUFnQixXQUFXLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixHQUFHLFNBQVMsQ0FLMUQ7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixHQUFHLGVBQWUsQ0FLNUU7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBRTdEO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcsV0FBVyxDQVdoRTtBQUVELHdCQUFnQixZQUFZLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLFVBQVUsQ0FPN0Q7QUFFRCx3QkFBZ0IsYUFBYSxDQUFDLENBQUMsRUFBRSxrQkFBa0IsR0FBRyxXQUFXLENBT2hFO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsVUFBVSxDQUs3RDtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsY0FBYyxDQUt6RTtBQUVELHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsbUNBQW1DLEdBQUcsNEJBQTRCLENBT25IO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLENBQUMsRUFBRSw4QkFBOEIsR0FBRyx1QkFBdUIsQ0FLcEc7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBTzdEO0FBRUQsd0JBQWdCLGVBQWUsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsYUFBYSxDQUt0RTtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsMkJBQTJCLEdBQUcsb0JBQW9CLENBSzNGO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxxQkFBcUIsR0FBRyxjQUFjLENBT3pFO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEdBQUcsWUFBWSxDQU9uRTtBQUVELHdCQUFnQixvQkFBb0IsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLEdBQUcsa0JBQWtCLENBT3JGO0FBRUQsd0JBQWdCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FLcEQ7QUFFRCx3QkFBZ0IsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixHQUFHLGNBQWMsQ0FLekU7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBVzdEO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsVUFBVSxDQVc3RDtBQUVELHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLGFBQWEsQ0FPdEU7QUFFRCx3QkFBZ0IsYUFBYSxDQUFDLENBQUMsRUFBRSxrQkFBa0IsR0FBRyxXQUFXLENBT2hFO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcsV0FBVyxDQU9oRTtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsdUJBQXVCLEdBQUcsZ0JBQWdCLENBTy9FO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FLeEY7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLHdCQUF3QixHQUFHLGlCQUFpQixDQUtsRjtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsY0FBYyxDQU96RTtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLFlBQVksQ0FPbkU7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLDJCQUEyQixHQUFHLG9CQUFvQixDQUszRjtBQUVELHdCQUFnQixvQkFBb0IsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLEdBQUcsa0JBQWtCLENBS3JGO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcsV0FBVyxDQUtoRTtBQUVELHdCQUFnQixhQUFhLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLFdBQVcsQ0FLaEU7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsR0FBRyxZQUFZLENBT25FO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsVUFBVSxDQU83RDtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLFlBQVksQ0FPbkU7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBTzdEO0FBRUQsd0JBQWdCLGtCQUFrQixDQUFDLENBQUMsRUFBRSx1QkFBdUIsR0FBRyxnQkFBZ0IsQ0FLL0U7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixHQUFHLHFCQUFxQixDQUs5RjtBQUVELHdCQUFnQix5QkFBeUIsQ0FBQyxDQUFDLEVBQUUsOEJBQThCLEdBQUcsdUJBQXVCLENBS3BHO0FBRUQsd0JBQWdCLDJCQUEyQixDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsR0FBRyx5QkFBeUIsQ0FPMUc7QUFFRCx3QkFBZ0Isd0JBQXdCLENBQUMsQ0FBQyxFQUFFLDZCQUE2QixHQUFHLHNCQUFzQixDQVdqRztBQUVELHdCQUFnQixnQ0FBZ0MsQ0FBQyxDQUFDLEVBQUUscUNBQXFDLEdBQUcsOEJBQThCLENBS3pIO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxxQ0FBcUMsR0FBRyw4QkFBOEIsQ0FLekg7QUFFRCx3QkFBZ0Isa0NBQWtDLENBQUMsQ0FBQyxFQUFFLHVDQUF1QyxHQUFHLGdDQUFnQyxDQU8vSDtBQUVELHdCQUFnQixrQ0FBa0MsQ0FBQyxDQUFDLEVBQUUsdUNBQXVDLEdBQUcsZ0NBQWdDLENBTy9IO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxxQ0FBcUMsR0FBRyw4QkFBOEIsQ0FXekg7QUFFRCx3QkFBZ0IsZ0NBQWdDLENBQUMsQ0FBQyxFQUFFLHFDQUFxQyxHQUFHLDhCQUE4QixDQVd6SDtBQUVELHdCQUFnQiwrQkFBK0IsQ0FBQyxDQUFDLEVBQUUsb0NBQW9DLEdBQUcsNkJBQTZCLENBYXRIO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxxQkFBcUIsR0FBRyxjQUFjLENBT3pFO0FBRUQsd0JBQWdCLCtCQUErQixDQUFDLENBQUMsRUFBRSxvQ0FBb0MsR0FBRyw2QkFBNkIsQ0FhdEg7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBUzdEO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FPckY7QUFFRCx3QkFBZ0IsVUFBVSxDQUFDLENBQUMsRUFBRSxlQUFlLEdBQUcsUUFBUSxDQUV2RDtBQUVELHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLGFBQWEsQ0FLdEU7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLDJCQUEyQixHQUFHLG9CQUFvQixDQVMzRjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsbUJBQW1CLENBV3hGO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FLOUY7QUFFRCx3QkFBZ0Isd0JBQXdCLENBQUMsQ0FBQyxFQUFFLDZCQUE2QixHQUFHLHNCQUFzQixDQU9qRztBQUVELHdCQUFnQixvQkFBb0IsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLEdBQUcsa0JBQWtCLENBRXJGO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLENBQUMsRUFBRSx3QkFBd0IsR0FBRyxpQkFBaUIsQ0FFbEY7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixHQUFHLHVCQUF1QixDQUVwRztBQUVELHdCQUFnQixvQkFBb0IsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLEdBQUcsa0JBQWtCLENBS3JGO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FLeEY7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQUtyRjtBQUVELHdCQUFnQix3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCLEdBQUcsc0JBQXNCLENBS2pHO0FBRUQsd0JBQWdCLHNDQUFzQyxDQUFDLENBQUMsRUFBRSwyQ0FBMkMsR0FBRyxvQ0FBb0MsQ0FLM0k7QUFFRCx3QkFBZ0IsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxHQUFHLCtCQUErQixDQU81SDtBQUVELHdCQUFnQixvQkFBb0IsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLEdBQUcsa0JBQWtCLENBU3JGO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FLOUY7QUFFRCx3QkFBZ0IsOEJBQThCLENBQUMsQ0FBQyxFQUFFLG1DQUFtQyxHQUFHLDRCQUE0QixDQUtuSDtBQUVELHdCQUFnQix3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCLEdBQUcsc0JBQXNCLENBS2pHO0FBRUQsd0JBQWdCLHNCQUFzQixDQUFDLENBQUMsRUFBRSwyQkFBMkIsR0FBRyxvQkFBb0IsQ0FLM0Y7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsQ0FBQyxFQUFFLGlDQUFpQyxHQUFHLDBCQUEwQixDQUs3RztBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEdBQUcsZUFBZSxDQUs1RTtBQUVELHdCQUFnQix3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCLEdBQUcsc0JBQXNCLENBS2pHO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FLckY7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQUtyRjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsbUJBQW1CLENBS3hGO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FLeEY7QUFFRCx3QkFBZ0IsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLCtCQUErQixHQUFHLHdCQUF3QixDQUt2RztBQUVELHdCQUFnQiw2QkFBNkIsQ0FBQyxDQUFDLEVBQUUsa0NBQWtDLEdBQUcsMkJBQTJCLENBS2hIO0FBRUQsd0JBQWdCLDJCQUEyQixDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsR0FBRyx5QkFBeUIsQ0FLMUc7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLDJCQUEyQixHQUFHLG9CQUFvQixDQUszRjtBQUVELHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsbUNBQW1DLEdBQUcsNEJBQTRCLENBS25IO0FBRUQsd0JBQWdCLDRCQUE0QixDQUFDLENBQUMsRUFBRSxpQ0FBaUMsR0FBRywwQkFBMEIsQ0FLN0c7QUFFRCx3QkFBZ0IscUJBQXFCLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixHQUFHLG1CQUFtQixDQU94RjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsbUJBQW1CLENBT3hGO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FLckY7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQUtyRjtBQUVELHdCQUFnQiwwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsK0JBQStCLEdBQUcsd0JBQXdCLENBS3ZHO0FBRUQsd0JBQWdCLCtCQUErQixDQUFDLENBQUMsRUFBRSxvQ0FBb0MsR0FBRyw2QkFBNkIsQ0FLdEg7QUFFRCx3QkFBZ0IsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxHQUFHLCtCQUErQixDQUs1SDtBQUVELHdCQUFnQixtQ0FBbUMsQ0FBQyxDQUFDLEVBQUUsd0NBQXdDLEdBQUcsaUNBQWlDLENBT2xJO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxxQ0FBcUMsR0FBRyw4QkFBOEIsQ0FLekg7QUFFRCx3QkFBZ0Isd0NBQXdDLENBQUMsQ0FBQyxFQUFFLDZDQUE2QyxHQUFHLHNDQUFzQyxDQUtqSjtBQUVELHdCQUFnQix3Q0FBd0MsQ0FBQyxDQUFDLEVBQUUsNkNBQTZDLEdBQUcsc0NBQXNDLENBS2pKO0FBRUQsd0JBQWdCLDBDQUEwQyxDQUFDLENBQUMsRUFBRSwrQ0FBK0MsR0FBRyx3Q0FBd0MsQ0FTdko7QUFFRCx3QkFBZ0IsMENBQTBDLENBQUMsQ0FBQyxFQUFFLCtDQUErQyxHQUFHLHdDQUF3QyxDQVN2SjtBQUVELHdCQUFnQix3Q0FBd0MsQ0FBQyxDQUFDLEVBQUUsNkNBQTZDLEdBQUcsc0NBQXNDLENBS2pKO0FBRUQsd0JBQWdCLHdDQUF3QyxDQUFDLENBQUMsRUFBRSw2Q0FBNkMsR0FBRyxzQ0FBc0MsQ0FLako7QUFFRCx3QkFBZ0IsdUNBQXVDLENBQUMsQ0FBQyxFQUFFLDRDQUE0QyxHQUFHLHFDQUFxQyxDQUs5STtBQUVELHdCQUFnQix1Q0FBdUMsQ0FBQyxDQUFDLEVBQUUsNENBQTRDLEdBQUcscUNBQXFDLENBSzlJO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FLckY7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsQ0FBQyxFQUFFLGlDQUFpQyxHQUFHLDBCQUEwQixDQUs3RztBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsdUJBQXVCLEdBQUcsZ0JBQWdCLENBRS9FO0FBRUQsd0JBQWdCLDRCQUE0QixDQUFDLENBQUMsRUFBRSx3QkFBd0IsR0FBRywrQkFBK0IsQ0FTekc7QUFFRCx3QkFBZ0IsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFlBQVksR0FBRyxtQkFBbUIsQ0FTckU7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQVcxRjtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLG1CQUFtQixDQVNyRTtBQUVELHdCQUFnQixvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEdBQUcsdUJBQXVCLENBT2pGO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FPakY7QUFFRCx3QkFBZ0IsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFlBQVksR0FBRyxtQkFBbUIsQ0FTckU7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLGFBQWEsR0FBRyxvQkFBb0IsQ0FXeEU7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsR0FBRyxxQkFBcUIsQ0FLM0U7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsaUJBQWlCLENBSy9EO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxDQUFDLEVBQUUsU0FBUyxHQUFHLGdCQUFnQixDQUs1RDtBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsZUFBZSxHQUFHLHNCQUFzQixDQUs5RTtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxpQkFBaUIsQ0FFL0Q7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsa0JBQWtCLENBV2xFO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQU8vRDtBQUVELHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxrQkFBa0IsQ0FPbEU7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsaUJBQWlCLENBSy9EO0FBRUQsd0JBQWdCLGtCQUFrQixDQUFDLENBQUMsRUFBRSxjQUFjLEdBQUcscUJBQXFCLENBSzNFO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLENBQUMsRUFBRSw0QkFBNEIsR0FBRyxtQ0FBbUMsQ0FPckg7QUFFRCx3QkFBZ0IsMkJBQTJCLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixHQUFHLDhCQUE4QixDQUt0RztBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxpQkFBaUIsQ0FPL0Q7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLGFBQWEsR0FBRyxvQkFBb0IsQ0FLeEU7QUFFRCx3QkFBZ0Isd0JBQXdCLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLDJCQUEyQixDQUs3RjtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsY0FBYyxHQUFHLHFCQUFxQixDQU8zRTtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLG1CQUFtQixDQU9yRTtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBT3ZGO0FBRUQsd0JBQWdCLFdBQVcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLGNBQWMsQ0FLdEQ7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsR0FBRyxxQkFBcUIsQ0FLM0U7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsaUJBQWlCLENBVy9EO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQVcvRDtBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsYUFBYSxHQUFHLG9CQUFvQixDQU94RTtBQUVELHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxrQkFBa0IsQ0FPbEU7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsa0JBQWtCLENBT2xFO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FPakY7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQUsxRjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsd0JBQXdCLENBS3BGO0FBRUQsd0JBQWdCLGtCQUFrQixDQUFDLENBQUMsRUFBRSxjQUFjLEdBQUcscUJBQXFCLENBTzNFO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxZQUFZLEdBQUcsbUJBQW1CLENBT3JFO0FBRUQsd0JBQWdCLHdCQUF3QixDQUFDLENBQUMsRUFBRSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FLN0Y7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQUt2RjtBQUVELHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxrQkFBa0IsQ0FLbEU7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsa0JBQWtCLENBS2xFO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxZQUFZLEdBQUcsbUJBQW1CLENBT3JFO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQU8vRDtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLG1CQUFtQixDQU9yRTtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxpQkFBaUIsQ0FPL0Q7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixHQUFHLHVCQUF1QixDQUtqRjtBQUVELHdCQUFnQix5QkFBeUIsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsNEJBQTRCLENBS2hHO0FBRUQsd0JBQWdCLDJCQUEyQixDQUFDLENBQUMsRUFBRSx1QkFBdUIsR0FBRyw4QkFBOEIsQ0FLdEc7QUFFRCx3QkFBZ0IsNkJBQTZCLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGdDQUFnQyxDQU81RztBQUVELHdCQUFnQiwwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEdBQUcsNkJBQTZCLENBV25HO0FBRUQsd0JBQWdCLGtDQUFrQyxDQUFDLENBQUMsRUFBRSw4QkFBOEIsR0FBRyxxQ0FBcUMsQ0FLM0g7QUFFRCx3QkFBZ0Isa0NBQWtDLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixHQUFHLHFDQUFxQyxDQUszSDtBQUVELHdCQUFnQixvQ0FBb0MsQ0FBQyxDQUFDLEVBQUUsZ0NBQWdDLEdBQUcsdUNBQXVDLENBT2pJO0FBRUQsd0JBQWdCLG9DQUFvQyxDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsR0FBRyx1Q0FBdUMsQ0FPakk7QUFFRCx3QkFBZ0Isa0NBQWtDLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixHQUFHLHFDQUFxQyxDQVczSDtBQUVELHdCQUFnQixrQ0FBa0MsQ0FBQyxDQUFDLEVBQUUsOEJBQThCLEdBQUcscUNBQXFDLENBVzNIO0FBRUQsd0JBQWdCLGlDQUFpQyxDQUFDLENBQUMsRUFBRSw2QkFBNkIsR0FBRyxvQ0FBb0MsQ0FheEg7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsR0FBRyxxQkFBcUIsQ0FPM0U7QUFFRCx3QkFBZ0IsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLDZCQUE2QixHQUFHLG9DQUFvQyxDQWF4SDtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxpQkFBaUIsQ0FTL0Q7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQU92RjtBQUVELHdCQUFnQixZQUFZLENBQUMsQ0FBQyxFQUFFLFFBQVEsR0FBRyxlQUFlLENBRXpEO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLENBQUMsRUFBRSxhQUFhLEdBQUcsb0JBQW9CLENBS3hFO0FBRUQsd0JBQWdCLHdCQUF3QixDQUFDLENBQUMsRUFBRSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FTN0Y7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQVcxRjtBQUVELHdCQUFnQix5QkFBeUIsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsNEJBQTRCLENBS2hHO0FBRUQsd0JBQWdCLDBCQUEwQixDQUFDLENBQUMsRUFBRSxzQkFBc0IsR0FBRyw2QkFBNkIsQ0FPbkc7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQUV2RjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsd0JBQXdCLENBRXBGO0FBRUQsd0JBQWdCLDJCQUEyQixDQUFDLENBQUMsRUFBRSx1QkFBdUIsR0FBRyw4QkFBOEIsQ0FFdEc7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQUt2RjtBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEdBQUcsMEJBQTBCLENBSzFGO0FBRUQsd0JBQWdCLHNCQUFzQixDQUFDLENBQUMsRUFBRSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FLdkY7QUFFRCx3QkFBZ0IsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixHQUFHLDZCQUE2QixDQUtuRztBQUVELHdCQUFnQix3Q0FBd0MsQ0FBQyxDQUFDLEVBQUUsb0NBQW9DLEdBQUcsMkNBQTJDLENBSzdJO0FBRUQsd0JBQWdCLG1DQUFtQyxDQUFDLENBQUMsRUFBRSwrQkFBK0IsR0FBRyxzQ0FBc0MsQ0FPOUg7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQVN2RjtBQUVELHdCQUFnQix5QkFBeUIsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsNEJBQTRCLENBS2hHO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLENBQUMsRUFBRSw0QkFBNEIsR0FBRyxtQ0FBbUMsQ0FLckg7QUFFRCx3QkFBZ0IsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixHQUFHLDZCQUE2QixDQUtuRztBQUVELHdCQUFnQix3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsMkJBQTJCLENBSzdGO0FBRUQsd0JBQWdCLDhCQUE4QixDQUFDLENBQUMsRUFBRSwwQkFBMEIsR0FBRyxpQ0FBaUMsQ0FLL0c7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLGVBQWUsR0FBRyxzQkFBc0IsQ0FLOUU7QUFFRCx3QkFBZ0IsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixHQUFHLDZCQUE2QixDQUtuRztBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBS3ZGO0FBRUQsd0JBQWdCLHNCQUFzQixDQUFDLENBQUMsRUFBRSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FLdkY7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQUsxRjtBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEdBQUcsMEJBQTBCLENBSzFGO0FBRUQsd0JBQWdCLDRCQUE0QixDQUFDLENBQUMsRUFBRSx3QkFBd0IsR0FBRywrQkFBK0IsQ0FLekc7QUFFRCx3QkFBZ0IsK0JBQStCLENBQUMsQ0FBQyxFQUFFLDJCQUEyQixHQUFHLGtDQUFrQyxDQUtsSDtBQUVELHdCQUFnQiw2QkFBNkIsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLEdBQUcsZ0NBQWdDLENBSzVHO0FBRUQsd0JBQWdCLHdCQUF3QixDQUFDLENBQUMsRUFBRSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FLN0Y7QUFFRCx3QkFBZ0IsZ0NBQWdDLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixHQUFHLG1DQUFtQyxDQUtySDtBQUVELHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsaUNBQWlDLENBSy9HO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FPMUY7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQU8xRjtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBS3ZGO0FBRUQsd0JBQWdCLHNCQUFzQixDQUFDLENBQUMsRUFBRSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FLdkY7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsQ0FBQyxFQUFFLHdCQUF3QixHQUFHLCtCQUErQixDQUt6RztBQUVELHdCQUFnQixpQ0FBaUMsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCLEdBQUcsb0NBQW9DLENBS3hIO0FBRUQsd0JBQWdCLG1DQUFtQyxDQUFDLENBQUMsRUFBRSwrQkFBK0IsR0FBRyxzQ0FBc0MsQ0FLOUg7QUFFRCx3QkFBZ0IscUNBQXFDLENBQUMsQ0FBQyxFQUFFLGlDQUFpQyxHQUFHLHdDQUF3QyxDQU9wSTtBQUVELHdCQUFnQixrQ0FBa0MsQ0FBQyxDQUFDLEVBQUUsOEJBQThCLEdBQUcscUNBQXFDLENBSzNIO0FBRUQsd0JBQWdCLDBDQUEwQyxDQUFDLENBQUMsRUFBRSxzQ0FBc0MsR0FBRyw2Q0FBNkMsQ0FLbko7QUFFRCx3QkFBZ0IsMENBQTBDLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxHQUFHLDZDQUE2QyxDQUtuSjtBQUVELHdCQUFnQiw0Q0FBNEMsQ0FBQyxDQUFDLEVBQUUsd0NBQXdDLEdBQUcsK0NBQStDLENBU3pKO0FBRUQsd0JBQWdCLDRDQUE0QyxDQUFDLENBQUMsRUFBRSx3Q0FBd0MsR0FBRywrQ0FBK0MsQ0FTeko7QUFFRCx3QkFBZ0IsMENBQTBDLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxHQUFHLDZDQUE2QyxDQUtuSjtBQUVELHdCQUFnQiwwQ0FBMEMsQ0FBQyxDQUFDLEVBQUUsc0NBQXNDLEdBQUcsNkNBQTZDLENBS25KO0FBRUQsd0JBQWdCLHlDQUF5QyxDQUFDLENBQUMsRUFBRSxxQ0FBcUMsR0FBRyw0Q0FBNEMsQ0FLaEo7QUFFRCx3QkFBZ0IseUNBQXlDLENBQUMsQ0FBQyxFQUFFLHFDQUFxQyxHQUFHLDRDQUE0QyxDQUtoSjtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBS3ZGO0FBRUQsd0JBQWdCLDhCQUE4QixDQUFDLENBQUMsRUFBRSwwQkFBMEIsR0FBRyxpQ0FBaUMsQ0FLL0c7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixHQUFHLHVCQUF1QixDQUVqRjtBQUdELE1BQU0sV0FBVyxTQUFTO0lBQ3hCLFlBQVksQ0FBQyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ25FLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMvRSxZQUFZLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNsRSxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN0RSxjQUFjLENBQUMsT0FBTyxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6RSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRCxlQUFlLENBQUMsT0FBTyxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM1RSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxXQUFXLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxjQUFjLENBQUMsT0FBTyxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6RSw0QkFBNEIsQ0FBQyxPQUFPLEVBQUUsNEJBQTRCLEdBQUcsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDbkgsdUJBQXVCLENBQUMsT0FBTyxFQUFFLHVCQUF1QixHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ3BHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELGFBQWEsQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3RFLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMzRixjQUFjLENBQUMsT0FBTyxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6RSxZQUFZLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNuRSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELGNBQWMsQ0FBQyxPQUFPLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELFdBQVcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMvRSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDeEYsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xGLFlBQVksQ0FBQyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ25FLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMzRixrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDckYsV0FBVyxDQUFDLE9BQU8sRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDaEUsV0FBVyxDQUFDLE9BQU8sRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDaEUsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDN0QsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDN0QsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQy9FLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUM5Rix1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsdUJBQXVCLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDcEcseUJBQXlCLENBQUMsT0FBTyxFQUFFLHlCQUF5QixHQUFHLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzFHLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNqRyw4QkFBOEIsQ0FBQyxPQUFPLEVBQUUsOEJBQThCLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDekgsOEJBQThCLENBQUMsT0FBTyxFQUFFLDhCQUE4QixHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3pILGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxnQ0FBZ0MsR0FBRyxPQUFPLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUMvSCxnQ0FBZ0MsQ0FBQyxPQUFPLEVBQUUsZ0NBQWdDLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDL0gsOEJBQThCLENBQUMsT0FBTyxFQUFFLDhCQUE4QixHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3pILDhCQUE4QixDQUFDLE9BQU8sRUFBRSw4QkFBOEIsR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN6SCw2QkFBNkIsQ0FBQyxPQUFPLEVBQUUsNkJBQTZCLEdBQUcsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDdEgsNkJBQTZCLENBQUMsT0FBTyxFQUFFLDZCQUE2QixHQUFHLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3RILFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELGtCQUFrQixDQUFDLE9BQU8sRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNyRixRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RCxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQzFCIn0=
|