This repository has been archived by the owner on May 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
params.js
258 lines (240 loc) · 43.9 KB
/
params.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
/**
* 2019 (c) Fenrir
*/
const R = require('ramda');
module.exports.streamConstructor = (buffer, offset = 0) => {
return {
buffer,
offset,
ReadByte: function () {
const offset = this.offset;
this.offset++;
return this.buffer.readUInt8(offset);
},
readUInt16BE: function () {
const offset = this.offset;
this.offset += 2;
return this.buffer.readUInt16BE(offset);
},
readInt32BE: function () {
const offset = this.offset;
this.offset += 4;
return this.buffer.readInt32BE(offset);
},
readFloatBE: function () {
const offset = this.offset;
this.offset += 4;
return this.buffer.readFloatBE(offset);
},
readDoubleBE: function () {
const offset = this.offset;
this.offset += 8;
return this.buffer.readDoubleBE(offset);
},
readLong: function () {
const offset = this.offset;
this.offset += 8;
const low = this.buffer.readInt32BE(offset + 4);
let n = this.buffer.readInt32BE(offset) * 4294967296.0 + low;
if (low < 0) n += 4294967296;
return n;
},
readString: function (length) {
const offset = this.offset;
this.offset += length;
return this.buffer.toString('UTF8', offset, offset + length);
}
}
}
/** @typedef {typeof stream} Stream */
/** @param {Stream} stream */
const DeserializeByte = (stream) => {
return stream.ReadByte();
}
/** @param {Stream} stream */
const DeserializeBoolean = (stream) => {
return stream.ReadByte() > 0;
}
/**
* @param {Stream} stream
*/
const DeserializeInteger = (stream) => {
return stream.readInt32BE();
}
/** @param {Stream} stream */
const DeserializeShort = (stream) => {
return stream.readUInt16BE();
}
/** @param {Stream} stream */
const DeserializeLong = (stream) => {
return stream.readLong();
}
const MakeArray = length => new Array(length).fill(0);
/**
* @param {Stream} stream
*/
const DeserializeByteArray = (stream) => {
const count = DeserializeInteger(stream);
return MakeArray(count).map(() => stream.ReadByte());
}
/**
* @param {Stream} stream
*/
const DeserializeIntArray = (stream) => {
const count = DeserializeInteger(stream);
return MakeArray(count).map(() => stream.readInt32BE());
}
/**
* @param {Stream} stream
*/
const DeserializeString = (stream) => {
const num = DeserializeShort(stream);
if (!num) return "";
return stream.readString(num);
}
/**
* @param {Stream} stream
*/
const DeserializeFloat = (stream) => {
return stream.readFloatBE();
}
/**
* @param {Stream} stream
*/
const DeserializeStringArray = (stream) => {
const length = DeserializeShort(stream);
return MakeArray(length).map(() => DeserializeString(stream));
}
/**
* @param {Stream} stream
*/
const DeserializeArray = (stream) => {
const length = DeserializeShort(stream);
const type = stream.ReadByte();
if (!length) { return []; }
length /*?*/
type /*?*/
switch (type) {
case 120:
return MakeArray(length).map(() => DeserializeByteArray(stream));
case 121: // return MakeArray(length).map(() => DeserializeArray(stream));
case 105: case 108: case 111: case 115: case 102: case 107:
return MakeArray(length).map(() => Deserialize(stream, type))
case 68: // DeserializeDictionaryArray
case 99: // CustomType
default:
throw new Error(`Array type not implemented ${type}`)
}
}
/** @param {Stream} stream */
const DeserializeDictionary = (stream) => {
const typeCode1 = stream.ReadByte();
const typeCode2 = stream.ReadByte();
const num = DeserializeShort(stream);
const flag1 = typeCode1 == 0 || typeCode1 == 42;
const flag2 = typeCode2 == 0 || typeCode2 == 42;
const instance = {};
// const instance = Activator.CreateInstance(typeof (Dictionary<>).MakeGenericType(this.GetTypeOfCode(typeCode1), this.GetTypeOfCode(typeCode2)));
for (let index = 0; index < num; ++index) {
const key = Deserialize(stream, flag1 ? stream.ReadByte() : typeCode1);
const obj = Deserialize(stream, flag2 ? stream.ReadByte() : typeCode2);
instance[key] = obj;
}
return instance;
}
/**
*
* @param {Stream} stream
* @param {number} type
*/
const Deserialize = (stream, type) => {
switch (type/*?*/) {
case 0:
case 42:
return null;
case 68:
return DeserializeDictionary(stream);
case 97:
return DeserializeStringArray(stream);
case 98:
return DeserializeByte(stream);
case 99:
const customTypeCode = stream.ReadByte();
return DeserializeCustom(stream, customTypeCode);
case 100:
return DeserializeDouble(stream);
case 101:
return DeserializeEventData(stream);
case 102:
return DeserializeFloat(stream);
case 104:
return DeserializeHashTable(stream);
case 105:
return DeserializeInteger(stream);
case 107:
return DeserializeShort(stream);
case 108:
return DeserializeLong(stream);
case 110:
return DeserializeIntArray(stream);
case 111:
return DeserializeBoolean(stream);
case 112:
return DeserializeOperationResponse(stream);
case 113:
return DeserializeOperationRequest(stream);
case 115:
return DeserializeString(stream);
case 120:
return DeserializeByteArray(stream);
case 121:
return DeserializeArray(stream);
case 122:
return DeserializeObjectArray(stream);
default:
throw new Error("Deserialize(): " + type + " pos: " + stream.Position + " bytes: " + stream.Length + ". " + stream);
}
}
module.exports.decodeParamsWithDebug = (stream, debuggableCommand = false) => {
let dictionary = {}
if (debuggableCommand) {
const debugMessage = Deserialize(stream, stream.ReadByte());
dictionary = { debugMessage };
}
const num = DeserializeShort(stream);
for (let i = 0; i < num; ++i) {
const key = stream.ReadByte();
// console.log(dictionary);
key /*? $*/
const obj = Deserialize(stream, stream.ReadByte());
dictionary[key] = obj;
}
// console.log(
// dictionary
// )
return dictionary;
}
const test = false
if (test) {
const hexes = [
// Cape n shit
// '000a00690e42e11b017300254b6170616e795a7a7a7c317c54345f434150457c31393938303030307c31393938303030300279000078037900007304790000730578000000000679000179000169ffffffff0779000179000169ffffffff087800000000fd6b00a6'
// Recent messages
// ,''
// Login
// ,''
// Market orders
// ,'market-orders.hex'
// Something
// '2a000b006f0101790024690e42e11b0e42e0f80e42dd670e42cd2c0e42c73e0e42c6580e42c01c0e42b1d10e42af960e42ac5a0e42a74d0e3ca31c0e3c9ae60e2567670e2566820e24eaf20e24de9e0e24d56f0e24d50f0e24d3310e24d0880e24ca830e24c8e90e24c20f0e24beb60e24b7d10e24b5780e24a9ee0e24a5f50e24a2b00e24a09a0e249fe00e249af50e2491470e248d0b0e248a4c0279002478000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000037900246f010101010101010101010101010101010101010101010101010101010101010101010101047900247800000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a00000010371ffbd96fdd2c428ee9c9cd7bcd344a05790024730004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340004323030340679002469000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003000000030000000300000003077900246f0100000000000000000000000001010100000000000000000000000000000000000101010879002473001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001e4d41524b4554504c4143455f53454c4c4f524445525f46494e4953484544001d4d41524b4554504c4143455f4255594f524445525f46494e4953484544097900246c08d6e286fc5e4c9208d6e286fb6e2adc08d6e286d793104608d6e2862dbee1a808d6e285fccba95008d6e285f4549eee08d6e285be58647408d6e2852de9db3e08d6e2851556bba008d6e284f2f9e46008d6e284c2dc19ba08d6e24a36c73c5008d6e249db5699b008d6e1bd4d94a82e08d6e1bd47c9fac008d6e1ba0f38d15c08d6e1b9c0eef39608d6e1b984ecbd2408d6e1b9822a96a608d6e1b975f5b5e608d6e1b9651ffcea08d6e1b93c24368a08d6e1b9316dae8808d6e1b902b7287608d6e1b8e65ecaa808d6e1b8b412637008d6e1b8a7b5861608d6e1b864ecac2408d6e1b849fc77a008d6e1b83456193808d6e1b826a25e1408d6e1b82149eaea08d6e1b7fe6aac1208d6e1b7bc80416808d6e1b79d34585808d6e1b78969fc9cfd6b00a5'
// Num of Auctions
// '7300104e756d4f6641756374696f6e733a203000020079000073fd6b0052'
// '7300114E756D4F6641756374696F6E733A2033320002007900207301D97B224964223A3536383336333130342C22556E6974507269636553696C766572223A363031303030302C22546F74616C507269636553696C766572223A39363136303030302C22416D6F756E74223A31362C2254696572223A362C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2264646339373136322D353633362D343863382D613763372D333030383533646464353432222C2253656C6C65724E616D65223A224B726F6D70697250697265222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254365F4F5245222C224974656D47726F7570547970654964223A2254365F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30373A32332E343936303532227D01DE7B224964223A3536383735343230322C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A32353632303030302C22416D6F756E74223A34322C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2263303962393464382D666634622D343437382D383536352D666262343435393639643864222C2253656C6C65724E616D65223A2241746973746161222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431353A30303A34392E353330303638227D01D97B224964223A3536383337393930342C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A3137373435303030302C22416D6F756E74223A3237332C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2264363032343464302D363465372D346134622D613034352D363635306632616236336633222C2253656C6C65724E616D65223A224E694E6A41424F423134222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A34303A33362E333439353436227D01E17B224964223A3536383738363935372C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A32383637303030302C22416D6F756E74223A34372C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2239633333653364352D613832342D343665612D626239632D626131323439613334353466222C2253656C6C65724E616D65223A22435A41524E4150595441222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431353A30363A35382E343534383431227D01D77B224964223A3536383431313131352C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A39303335303030302C22416D6F756E74223A3133392C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2233666638383838612D363733372D346639642D396262652D316666313833313365623730222C2253656C6C65724E616D65223A225363686C65696D6F72222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431333A35323A33342E343439323137227D01D77B224964223A3536383431323031322C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A32393930303030302C22416D6F756E74223A34362C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2230306665653536342D643334312D343632392D616535322D656639383330373939376634222C2253656C6C65724E616D65223A226A75616E666172313233222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431333A35323A35302E363838383333227D01D17B224964223A3536383432323235352C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A31383835303030302C22416D6F756E74223A32392C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2238343432393935382D623262372D343762642D393530382D336536353230386632646163222C2253656C6C65724E616D65223A22416D6275222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431333A35343A35362E383339313236227D01D47B224964223A3536383433393735342C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A363530303030302C22416D6F756E74223A31302C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2237313765333531392D343536312D343431642D613535302D396635343565316237336135222C2253656C6C65724E616D65223A224C6F6E656C793138222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431333A35383A32372E343731363532227D01DE7B224964223A3536383830373434342C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A343237303030302C22416D6F756E74223A372C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2262356434626138642D666436662D346630642D626435622D646433343433626438316330222C2253656C6C65724E616D65223A22436861736572696E6F222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431353A31303A33342E383636393531227D01E17B224964223A3536383435323934352C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A39303839303030302C22416D6F756E74223A3134392C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2237383430653237332D306162302D343935312D623463352D353635613566343633383063222C2253656C6C65724E616D65223A2247544E697447656E73222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30313A33302E353637373033227D01D47B224964223A3536383436363030312C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A32393235303030302C22416D6F756E74223A34352C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2261326663656635642D363833642D346163352D396435322D616135653630393436376265222C2253656C6C65724E616D65223A224174617968616E222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30343A30382E353233353831227D01D57B224964223A3536383437333837362C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A3134373535303030302C22416D6F756E74223A3232372C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2239663066383734302D616139372D343165332D386437652D363935303037373464366233222C2253656C6C65724E616D65223A22646573547552222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30353A32332E393832313337227D01D67B224964223A3536383437343933392C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A32363030303030302C22416D6F756E74223A34302C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2236373263313939392D383138342D346338632D613039362D653230616432626564383636222C2253656C6C65724E616D65223A22747275656465743238222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30353A32392E313832313334227D01D47B224964223A3536383439333732302C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A35343630303030302C22416D6F756E74223A38342C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2264303837653464612D616430322D346462332D616533652D643336363036663739353833222C2253656C6C65724E616D65223A227374757A31306B222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30393A31342E363034383836227D01DE7B224964223A3536383439333835322C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A32363233303030302C22416D6F756E74223A34332C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2264303837653464612D616430322D346462332D616533652D643336363036663739353833222C2253656C6C65724E616D65223A227374757A31306B222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30393A31392E353031353938227D01D77B224964223A3536383439353830362C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A31303430303030302C22416D6F756E74223A31362C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2239666562336266612D646332312D346435382D393864622D633735636331346335626439222C2253656C6C65724E616D65223A2242726173696C4B757368222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30393A34322E313835343035227D01DF7B224964223A3536383530343938362C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A3131383334303030302C22416D6F756E74223A3139342C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2263613164343862642D643963302D343831362D616563332D313462363438353538636537222C2253656C6C65724E616D65223A22536F6C696F6E222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A31313A31392E383637333333227D01D17B224964223A3536383532333939362C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A34353530303030302C22416D6F756E74223A37302C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2262313938333432612D643364362D343430622D613666382D633736373461396637343033222C2253656C6C65724E616D65223A22474F5753222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A31343A35362E313232323639227D01DC7B224964223A3536383532333138322C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A363130303030302C22416D6F756E74223A31302C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2239333431316234312D333432642D343962662D616531632D336531396437663962323438222C2253656C6C65724E616D65223A2247686F6F7779222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A31343A34392E393733333537227D01D37B224964223A3536383532333934342C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A31343330303030302C22416D6F756E74223A32322C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2239333431316234312D333432642D343962662D616531632D336531396437663962323438222C2253656C6C65724E616D65223A2247686F6F7779222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A31343A35342E323639343838227D01D57B224964223A3536383536313435352C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A393130303030302C22416D6F756E74223A31342C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2264653838396638302D353964302D343463662D616530662D336339626434636134303938222C2253656C6C65724E616D65223A22416C6C4D696B654D44222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A32323A31342E313134343134227D01E07B224964223A3536383539393135382C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A36333434303030302C22416D6F756E74223A3130342C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2265383863353637652D336639392D343464322D623864622D623863646537313231646664222C2253656C6C65724E616D65223A22496E6E657273696E222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A33303A30362E383637373638227D01E27B224964223A3536383630353634302C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A323434303030302C22416D6F756E74223A342C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2239343065353135612D663236342D343433302D623337652D663432386261356339313336222C2253656C6C65724E616D65223A224D61696E676172656E65756E65222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A33313A34362E323533383137227D01DD7B224964223A3536383539323739312C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A31323230303030302C22416D6F756E74223A32302C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2238366234636165352D336635662D343161352D626432332D633437313534333561646166222C2253656C6C65724E616D65223A224865726F6E79222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A32383A34352E383334303833227D01DE7B224964223A3536383630383636362C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A393135303030302C22416D6F756E74223A31352C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2235333030356161352D613430322D343631372D383263662D366438303562383837303438222C2253656C6C65724E616D65223A225649636F6D746544222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A33323A31372E373333303834227D01D07B224964223A3536383631303931372C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A3635303030302C22416D6F756E74223A312C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2238366234636165352D336635662D343161352D626432332D633437313534333561646166222C2253656C6C65724E616D65223A224865726F6E79222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A33323A34392E333537343937227D01D27B224964223A3536383632303635392C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A393735303030302C22416D6F756E74223A31352C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2232643332616466652D643566352D346533642D396361372D666132326332643463316365222C2253656C6C65724E616D65223A2248696C6F636B222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A33343A35392E323136333633227D01D77B224964223A3536383632383331332C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A33333830303030302C22416D6F756E74223A35322C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2239313864316164342D643832342D343565332D383934302D326365366133653963626431222C2253656C6C65724E616D65223A22536861726B74686F726E222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A33363A31362E353233373031227D01D37B224964223A3536383633343237362C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A353230303030302C22416D6F756E74223A382C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2265646661646237642D653363302D343737622D613635392D353033323831323738623336222C2253656C6C65724E616D65223A22373334313132313634222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A33373A32362E3038333539227D01D17B224964223A3536383634343835352C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A32313435303030302C22416D6F756E74223A33332C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2232366232656530332D663236632D346132382D623531332D306462376234383962366539222C2253656C6C65724E616D65223A224B757761222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A33393A33372E313936363634227D01DE7B224964223A3536383134393237312C22556E6974507269636553696C766572223A3631303030302C22546F74616C507269636553696C766572223A36383933303030302C22416D6F756E74223A3131332C2254696572223A332C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2231363533616265622D326563312D346565622D613331392D653330663930303963663664222C2253656C6C65724E616D65223A224A616D72756E222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254335F4D4554414C424152222C224974656D47726F7570547970654964223A2254335F4D4554414C424152222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431353A31333A34322E333538323531227D01D07B224964223A3536383332383331312C22556E6974507269636553696C766572223A3635303030302C22546F74616C507269636553696C766572223A3635303030302C22416D6F756E74223A312C2254696572223A342C22497346696E6973686564223A747275652C2241756374696F6E54797065223A2272657175657374222C22486173427579657246657463686564223A66616C73652C2248617353656C6C657246657463686564223A747275652C2253656C6C65724368617261637465724964223A2239663066383734302D616139372D343165332D386437652D363935303037373464366233222C2253656C6C65724E616D65223A22646573547552222C2242757965724368617261637465724964223A2264396662316633372D646436662D343232632D386565392D633963643762636433343461222C2242757965724E616D65223A2242617369634146222C224974656D547970654964223A2254345F4F5245222C224974656D47726F7570547970654964223A2254345F4F5245222C22456E6368616E746D656E744C6576656C223A302C225175616C6974794C6576656C223A312C2245787069726573223A22323031392D30362D32325431343A30353A31332E333139383833227DFD6B0052'
].forEach(hex => {
module.exports.decodeParamsWithDebug(
module.exports.streamConstructor(
Buffer.from(hex, 'hex')
)
, true)
})
}