@bsv/templates 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/mod.js +3 -3
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +11 -10
- package/dist/cjs/src/MultiPushDrop.js +4 -9
- package/dist/cjs/src/MultiPushDrop.js.map +1 -1
- package/dist/cjs/src/{MultiSigPubkeyHash.js → P2MSKH.js} +36 -41
- package/dist/cjs/src/P2MSKH.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +1 -1
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/MultiPushDrop.js +4 -9
- package/dist/esm/src/MultiPushDrop.js.map +1 -1
- package/dist/esm/src/{MultiSigPubkeyHash.js → P2MSKH.js} +35 -40
- package/dist/esm/src/P2MSKH.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +1 -1
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/MultiPushDrop.d.ts.map +1 -1
- package/dist/types/src/{MultiSigPubkeyHash.d.ts → P2MSKH.d.ts} +6 -6
- package/dist/types/src/P2MSKH.d.ts.map +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/mod.ts +1 -1
- package/package.json +20 -19
- package/src/MultiPushDrop.ts +5 -10
- package/src/P2MSKH.ts +218 -0
- package/dist/cjs/src/Metanet.js +0 -45
- package/dist/cjs/src/Metanet.js.map +0 -1
- package/dist/cjs/src/MultiSigPubkeyHash.js.map +0 -1
- package/dist/esm/src/Metanet.js +0 -42
- package/dist/esm/src/Metanet.js.map +0 -1
- package/dist/esm/src/MultiSigPubkeyHash.js.map +0 -1
- package/dist/types/src/Metanet.d.ts +0 -29
- package/dist/types/src/Metanet.d.ts.map +0 -1
- package/dist/types/src/MultiSigPubkeyHash.d.ts.map +0 -1
- package/src/MultiSigPubkeyHash.ts +0 -224
package/dist/cjs/mod.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.P2MSKH = exports.MultiPushDrop = exports.OpReturn = void 0;
|
|
4
4
|
// Script Templates
|
|
5
5
|
var OpReturn_js_1 = require("./src/OpReturn.js");
|
|
6
6
|
Object.defineProperty(exports, "OpReturn", { enumerable: true, get: function () { return OpReturn_js_1.OpReturn; } });
|
|
7
7
|
var MultiPushDrop_js_1 = require("./src/MultiPushDrop.js");
|
|
8
8
|
Object.defineProperty(exports, "MultiPushDrop", { enumerable: true, get: function () { return MultiPushDrop_js_1.MultiPushDrop; } });
|
|
9
|
-
var
|
|
10
|
-
Object.defineProperty(exports, "
|
|
9
|
+
var P2MSKH_js_1 = require("./src/P2MSKH.js");
|
|
10
|
+
Object.defineProperty(exports, "P2MSKH", { enumerable: true, get: function () { return P2MSKH_js_1.P2MSKH; } });
|
|
11
11
|
//# sourceMappingURL=mod.js.map
|
package/dist/cjs/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../mod.ts"],"names":[],"mappings":";;;AAAA,mBAAmB;AACnB,iDAA4C;AAAnC,uGAAA,QAAQ,OAAA;AACjB,2DAAsD;AAA7C,iHAAA,aAAa,OAAA;AACtB,
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../mod.ts"],"names":[],"mappings":";;;AAAA,mBAAmB;AACnB,iDAA4C;AAAnC,uGAAA,QAAQ,OAAA;AACjB,2DAAsD;AAA7C,iHAAA,aAAa,OAAA;AACtB,6CAAwC;AAA/B,mGAAA,MAAM,OAAA"}
|
package/dist/cjs/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bsv/templates",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "BSV Blockchain Script Templates",
|
|
6
6
|
"files": [
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"LICENSE.txt"
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
|
-
"test": "npm run build && jest",
|
|
13
|
+
"test": "npm run build && jest --passWithNoTests",
|
|
14
14
|
"test:watch": "npm run build && jest --watch",
|
|
15
15
|
"test:coverage": "npm run build && jest --coverage",
|
|
16
16
|
"lint": "ts-standard --fix 'src/**/*.ts'",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
},
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|
|
23
|
-
"url": "git+https://github.com/bsv-blockchain/ts-
|
|
23
|
+
"url": "git+https://github.com/bsv-blockchain/ts-stack.git",
|
|
24
|
+
"directory": "packages/helpers/ts-templates"
|
|
24
25
|
},
|
|
25
26
|
"keywords": [
|
|
26
27
|
"BSV",
|
|
@@ -33,19 +34,19 @@
|
|
|
33
34
|
"author": "BSV Association",
|
|
34
35
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
35
36
|
"bugs": {
|
|
36
|
-
"url": "https://github.com/bsv-blockchain/ts-
|
|
37
|
+
"url": "https://github.com/bsv-blockchain/ts-stack/issues"
|
|
37
38
|
},
|
|
38
|
-
"homepage": "https://github.com/bsv-blockchain/ts-templates#readme",
|
|
39
|
+
"homepage": "https://github.com/bsv-blockchain/ts-stack/tree/main/packages/helpers/ts-templates#readme",
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@bsv/wallet-toolbox": "^1.
|
|
41
|
-
"@types/jest": "^
|
|
42
|
-
"jest": "^
|
|
43
|
-
"ts-jest": "^29.
|
|
41
|
+
"@bsv/wallet-toolbox": "^2.1.27",
|
|
42
|
+
"@types/jest": "^30.0.0",
|
|
43
|
+
"jest": "^30.3.0",
|
|
44
|
+
"ts-jest": "^29.4.9",
|
|
44
45
|
"ts-standard": "^12.0.2",
|
|
45
46
|
"tsconfig-to-dual-package": "^1.2.0",
|
|
46
47
|
"typescript": "^5.2.2"
|
|
47
48
|
},
|
|
48
49
|
"dependencies": {
|
|
49
|
-
"@bsv/sdk": "^1.
|
|
50
|
+
"@bsv/sdk": "^2.1.2"
|
|
50
51
|
}
|
|
51
52
|
}
|
|
@@ -145,17 +145,13 @@ class MultiPushDrop {
|
|
|
145
145
|
}
|
|
146
146
|
// Pick the value on the stack that's right before the locking script.
|
|
147
147
|
// This should be the index of the key to use in the unlock.
|
|
148
|
-
lockPart.push(createMinimallyEncodedScriptChunk([nPublicKeys]));
|
|
149
|
-
lockPart.push({ op: sdk_1.OP.OP_PICK });
|
|
148
|
+
lockPart.push(createMinimallyEncodedScriptChunk([nPublicKeys]), { op: sdk_1.OP.OP_PICK });
|
|
150
149
|
// Now we use the index to get the actual key.
|
|
151
150
|
lockPart.push({ op: sdk_1.OP.OP_PICK });
|
|
152
151
|
// We pull the signature from the bottom of the stack, no matter the number of keys.
|
|
153
|
-
lockPart.push({ op: sdk_1.OP.OP_DEPTH });
|
|
154
|
-
lockPart.push({ op: sdk_1.OP.OP_1SUB });
|
|
155
|
-
lockPart.push({ op: sdk_1.OP.OP_PICK });
|
|
152
|
+
lockPart.push({ op: sdk_1.OP.OP_DEPTH }, { op: sdk_1.OP.OP_1SUB }, { op: sdk_1.OP.OP_PICK });
|
|
156
153
|
// We swap the signature and public key so they're in the correct order, then CHECKSIGVERIFY
|
|
157
|
-
lockPart.push({ op: sdk_1.OP.OP_SWAP });
|
|
158
|
-
lockPart.push({ op: sdk_1.OP.OP_CHECKSIGVERIFY });
|
|
154
|
+
lockPart.push({ op: sdk_1.OP.OP_SWAP }, { op: sdk_1.OP.OP_CHECKSIGVERIFY });
|
|
159
155
|
// Construct PushDrop Part for fields
|
|
160
156
|
const pushDropPart = [];
|
|
161
157
|
for (const field of fields) {
|
|
@@ -262,8 +258,7 @@ class MultiPushDrop {
|
|
|
262
258
|
const sigForScript = txSignature.toChecksigFormat();
|
|
263
259
|
// Create Unlocking Script Chunks: <Signature> <Index>
|
|
264
260
|
const unlockingChunks = [];
|
|
265
|
-
unlockingChunks.push({ op: sigForScript.length, data: sigForScript });
|
|
266
|
-
unlockingChunks.push(createMinimallyEncodedScriptChunk([unlockerIndex]));
|
|
261
|
+
unlockingChunks.push({ op: sigForScript.length, data: sigForScript }, createMinimallyEncodedScriptChunk([unlockerIndex]));
|
|
267
262
|
return new sdk_1.UnlockingScript(unlockingChunks);
|
|
268
263
|
},
|
|
269
264
|
// Estimate length: Signature (~71-73 bytes) + Index push (1 byte for 0-15, potentially more)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiPushDrop.js","sourceRoot":"","sources":["../../../src/MultiPushDrop.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MultiPushDrop.js","sourceRoot":"","sources":["../../../src/MultiPushDrop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.P2MSKH = void 0;
|
|
4
4
|
const sdk_1 = require("@bsv/sdk");
|
|
5
5
|
function concatPubkeys(pubkeys) {
|
|
6
|
-
return pubkeys.map((p) => p.toDER()).
|
|
6
|
+
return pubkeys.map((p) => p.toDER()).flat();
|
|
7
7
|
}
|
|
8
8
|
function numberFromScriptChunk(chunk) {
|
|
9
9
|
let returnNum;
|
|
10
|
-
if (
|
|
11
|
-
returnNum = 1 + chunk.op - sdk_1.OP.OP_1;
|
|
10
|
+
if (chunk.data == null) {
|
|
11
|
+
returnNum = 1 + (chunk.op) - sdk_1.OP.OP_1;
|
|
12
12
|
}
|
|
13
13
|
else {
|
|
14
14
|
const reader = new sdk_1.Utils.Reader(chunk.data);
|
|
@@ -17,7 +17,7 @@ function numberFromScriptChunk(chunk) {
|
|
|
17
17
|
}
|
|
18
18
|
return returnNum;
|
|
19
19
|
}
|
|
20
|
-
class
|
|
20
|
+
class P2MSKH {
|
|
21
21
|
static address(pubkeys, threshold) {
|
|
22
22
|
if (threshold < 1 || threshold > pubkeys.length)
|
|
23
23
|
throw new Error('threshold must be between 1 and the number of pubkeys');
|
|
@@ -35,7 +35,7 @@ class MultiSigPubkeyHash {
|
|
|
35
35
|
static async addressBRC29(wallet, counterparties, keyID, threshold) {
|
|
36
36
|
const pubkeys = await Promise.all(counterparties.map(async (counterparty) => {
|
|
37
37
|
const { publicKey } = await wallet.getPublicKey({
|
|
38
|
-
protocolID: [1,
|
|
38
|
+
protocolID: [1, 'multi sig brc29'],
|
|
39
39
|
keyID,
|
|
40
40
|
counterparty
|
|
41
41
|
});
|
|
@@ -60,14 +60,14 @@ class MultiSigPubkeyHash {
|
|
|
60
60
|
if (address) {
|
|
61
61
|
if (typeof address !== 'string')
|
|
62
62
|
throw new Error('address must be a string');
|
|
63
|
-
const result =
|
|
63
|
+
const result = P2MSKH.thresholdAndTotalFromAddress(address);
|
|
64
64
|
hash = result.hash;
|
|
65
65
|
total = result.total;
|
|
66
66
|
threshold = result.threshold;
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
|
-
if (
|
|
70
|
-
throw new Error(
|
|
69
|
+
if ((pubkeys == null) || total < 2)
|
|
70
|
+
throw new Error('at least 2 pubkeys are required');
|
|
71
71
|
const concat = concatPubkeys(pubkeys);
|
|
72
72
|
hash = sdk_1.Hash.hash160(concat);
|
|
73
73
|
}
|
|
@@ -76,9 +76,6 @@ class MultiSigPubkeyHash {
|
|
|
76
76
|
if (total > 10)
|
|
77
77
|
throw new Error('total must be less than or equal to 10');
|
|
78
78
|
const script = new sdk_1.LockingScript();
|
|
79
|
-
for (let i = 0; i < total - 1; i++) {
|
|
80
|
-
script.writeOpCode(sdk_1.OP.OP_CAT);
|
|
81
|
-
}
|
|
82
79
|
script
|
|
83
80
|
.writeOpCode(sdk_1.OP.OP_DUP)
|
|
84
81
|
.writeOpCode(sdk_1.OP.OP_HASH160)
|
|
@@ -95,25 +92,24 @@ class MultiSigPubkeyHash {
|
|
|
95
92
|
script.writeOpCode(sdk_1.OP.OP_CHECKMULTISIG);
|
|
96
93
|
return script;
|
|
97
94
|
}
|
|
98
|
-
unlock(wallet, customInstructions, workingUnlockingScript, signOutputs =
|
|
95
|
+
unlock(wallet, customInstructions, workingUnlockingScript, signOutputs = 'all', anyoneCanPay = false, sourceSatoshis, lockingScript) {
|
|
99
96
|
return {
|
|
100
97
|
sign: async (tx, inputIndex) => {
|
|
101
98
|
var _a, _b, _c;
|
|
102
|
-
if (
|
|
99
|
+
if (workingUnlockingScript == null) {
|
|
103
100
|
workingUnlockingScript = new sdk_1.UnlockingScript();
|
|
104
101
|
workingUnlockingScript.writeOpCode(sdk_1.OP.OP_0);
|
|
105
|
-
customInstructions.pubkeys.
|
|
106
|
-
|
|
107
|
-
});
|
|
102
|
+
const pubkeys = concatPubkeys(customInstructions.pubkeys.map(p => sdk_1.PublicKey.fromString(p)));
|
|
103
|
+
workingUnlockingScript.writeBin(pubkeys);
|
|
108
104
|
}
|
|
109
105
|
let signatureScope = sdk_1.TransactionSignature.SIGHASH_FORKID;
|
|
110
|
-
if (signOutputs ===
|
|
106
|
+
if (signOutputs === 'all') {
|
|
111
107
|
signatureScope |= sdk_1.TransactionSignature.SIGHASH_ALL;
|
|
112
108
|
}
|
|
113
|
-
if (signOutputs ===
|
|
109
|
+
if (signOutputs === 'none') {
|
|
114
110
|
signatureScope |= sdk_1.TransactionSignature.SIGHASH_NONE;
|
|
115
111
|
}
|
|
116
|
-
if (signOutputs ===
|
|
112
|
+
if (signOutputs === 'single') {
|
|
117
113
|
signatureScope |= sdk_1.TransactionSignature.SIGHASH_SINGLE;
|
|
118
114
|
}
|
|
119
115
|
if (anyoneCanPay) {
|
|
@@ -123,17 +119,17 @@ class MultiSigPubkeyHash {
|
|
|
123
119
|
const otherInputs = tx.inputs.filter((_, index) => index !== inputIndex);
|
|
124
120
|
const sourceTXID = input.sourceTXID
|
|
125
121
|
? input.sourceTXID
|
|
126
|
-
: (_a = input.sourceTransaction) === null || _a === void 0 ? void 0 : _a.id(
|
|
122
|
+
: (_a = input.sourceTransaction) === null || _a === void 0 ? void 0 : _a.id('hex');
|
|
127
123
|
if (!sourceTXID) {
|
|
128
|
-
throw new Error(
|
|
124
|
+
throw new Error('The input sourceTXID or sourceTransaction is required for transaction signing.');
|
|
129
125
|
}
|
|
130
126
|
sourceSatoshis || (sourceSatoshis = (_b = input.sourceTransaction) === null || _b === void 0 ? void 0 : _b.outputs[input.sourceOutputIndex].satoshis);
|
|
131
127
|
if (!sourceSatoshis) {
|
|
132
|
-
throw new Error(
|
|
128
|
+
throw new Error('The sourceSatoshis or input sourceTransaction is required for transaction signing.');
|
|
133
129
|
}
|
|
134
130
|
lockingScript || (lockingScript = (_c = input.sourceTransaction) === null || _c === void 0 ? void 0 : _c.outputs[input.sourceOutputIndex].lockingScript);
|
|
135
|
-
if (
|
|
136
|
-
throw new Error(
|
|
131
|
+
if (lockingScript == null) {
|
|
132
|
+
throw new Error('The lockingScript or input sourceTransaction is required for transaction signing.');
|
|
137
133
|
}
|
|
138
134
|
const preimage = sdk_1.TransactionSignature.format({
|
|
139
135
|
sourceTXID,
|
|
@@ -146,14 +142,14 @@ class MultiSigPubkeyHash {
|
|
|
146
142
|
inputSequence: input.sequence || 0xffffffff,
|
|
147
143
|
subscript: lockingScript,
|
|
148
144
|
lockTime: tx.lockTime,
|
|
149
|
-
scope: signatureScope
|
|
145
|
+
scope: signatureScope
|
|
150
146
|
});
|
|
151
147
|
const hashToDirectlySign = sdk_1.Hash.hash256(preimage);
|
|
152
148
|
const { signature } = await wallet.createSignature({
|
|
153
149
|
hashToDirectlySign,
|
|
154
|
-
protocolID: [1,
|
|
150
|
+
protocolID: [1, 'multi sig brc29'],
|
|
155
151
|
counterparty: customInstructions.counterparty,
|
|
156
|
-
keyID: customInstructions.keyID
|
|
152
|
+
keyID: customInstructions.keyID
|
|
157
153
|
});
|
|
158
154
|
const s = sdk_1.Signature.fromDER(signature);
|
|
159
155
|
const sig = new sdk_1.TransactionSignature(s.r, s.s, signatureScope);
|
|
@@ -161,28 +157,27 @@ class MultiSigPubkeyHash {
|
|
|
161
157
|
workingUnlockingScript.writeBin(sigForScript);
|
|
162
158
|
const chunkforSig = workingUnlockingScript.chunks.pop();
|
|
163
159
|
// add it to the array before the pubkeys, pushing the other content to the right
|
|
164
|
-
workingUnlockingScript.chunks.splice(
|
|
160
|
+
workingUnlockingScript.chunks.splice(-1, 0, chunkforSig);
|
|
165
161
|
return workingUnlockingScript;
|
|
166
162
|
},
|
|
167
|
-
estimateLength: (tx, inputIndex) => {
|
|
163
|
+
estimateLength: async (tx, inputIndex) => {
|
|
168
164
|
var _a;
|
|
169
|
-
let numberOfPubkeys
|
|
170
|
-
let numberOfSignatures
|
|
171
|
-
const staticLength =
|
|
165
|
+
let numberOfPubkeys;
|
|
166
|
+
let numberOfSignatures;
|
|
167
|
+
const staticLength = 8;
|
|
172
168
|
const input = tx.inputs[inputIndex];
|
|
173
169
|
const lockingScript = (_a = input.sourceTransaction) === null || _a === void 0 ? void 0 : _a.outputs[input.sourceOutputIndex].lockingScript;
|
|
174
|
-
if (
|
|
175
|
-
return Promise.resolve(1000); // guess
|
|
170
|
+
if (lockingScript == null) {
|
|
171
|
+
return await Promise.resolve(1000); // guess
|
|
176
172
|
}
|
|
177
|
-
const totalChunk = lockingScript
|
|
173
|
+
const totalChunk = lockingScript.chunks.at(-2);
|
|
178
174
|
numberOfPubkeys = numberFromScriptChunk(totalChunk);
|
|
179
|
-
const
|
|
180
|
-
const thresholdChunk = lockingScript === null || lockingScript === void 0 ? void 0 : lockingScript.chunks[thresholdPos];
|
|
175
|
+
const thresholdChunk = lockingScript.chunks[4];
|
|
181
176
|
numberOfSignatures = numberFromScriptChunk(thresholdChunk);
|
|
182
|
-
return Promise.resolve(staticLength + (numberOfSignatures * 74) + (numberOfPubkeys * 34));
|
|
177
|
+
return await Promise.resolve(staticLength + (numberOfSignatures * 74) + (numberOfPubkeys * 34));
|
|
183
178
|
}
|
|
184
179
|
};
|
|
185
180
|
}
|
|
186
181
|
}
|
|
187
|
-
exports.
|
|
188
|
-
//# sourceMappingURL=
|
|
182
|
+
exports.P2MSKH = P2MSKH;
|
|
183
|
+
//# sourceMappingURL=P2MSKH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"P2MSKH.js","sourceRoot":"","sources":["../../../src/P2MSKH.ts"],"names":[],"mappings":";;;AAAA,kCAAiL;AAQjL,SAAS,aAAa,CAAE,OAAoB;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAc,CAAC,CAAC,IAAI,EAAE,CAAA;AACzD,CAAC;AAED,SAAS,qBAAqB,CAAE,KAAkB;IAChD,IAAI,SAAiB,CAAA;IACrB,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACvB,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,QAAE,CAAC,IAAI,CAAA;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,IAAI,WAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;QACxC,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAa,MAAM;IACjB,MAAM,CAAC,OAAO,CAAE,OAAoB,EAAE,SAAiB;QACrD,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;QACzH,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACpI,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,IAAI,GAAG,UAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,WAAK,CAAC,MAAM,EAAE,CAAA;QACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QAChC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,OAAO,WAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAE,MAAuB,EAAE,cAAwB,EAAE,KAAa,EAAE,SAAiB;QAC5G,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAC1E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBAC9C,UAAU,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC;gBAClC,KAAK;gBACL,YAAY;aACb,CAAC,CAAA;YACF,OAAO,eAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACxC,CAAC,CAAC,CAAC,CAAA;QACH,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;IAC/F,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAE,OAAe;QAClD,MAAM,CAAC,GAAG,WAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,WAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAgB,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;QACpC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACnC,CAAC;IAED,IAAI,CACF,OAAgB,EAChB,OAAqB,EACrB,YAAoB,CAAC;QAErB,IAAI,IAAc,CAAA;QAClB,IAAI,KAAK,GAAW,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,CAAC,CAAA;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAA;YAC3D,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;YAClB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YACpB,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACtF,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,GAAG,UAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;QAC9H,IAAI,KAAK,GAAG,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAEzE,MAAM,MAAM,GAAG,IAAI,mBAAa,EAAE,CAAA;QAClC,MAAM;aACH,WAAW,CAAC,QAAE,CAAC,MAAM,CAAC;aACtB,WAAW,CAAC,QAAE,CAAC,UAAU,CAAC;aAC1B,QAAQ,CAAC,IAAI,CAAC;aACd,WAAW,CAAC,QAAE,CAAC,cAAc,CAAC;aAC9B,WAAW,CAAC,SAAS,CAAC;aACtB,WAAW,CAAC,QAAE,CAAC,OAAO,CAAC,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM;iBACH,WAAW,CAAC,EAAE,CAAC;iBACf,WAAW,CAAC,QAAE,CAAC,QAAQ,CAAC,CAAA;QAC7B,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,CAAC,WAAW,CAAC,QAAE,CAAC,gBAAgB,CAAC,CAAA;QAEvC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CACJ,MAAuB,EACvB,kBAAwC,EACxC,sBAAwC,EACxC,cAAyC,KAAK,EAC9C,YAAY,GAAG,KAAK,EACpB,cAAuB,EACvB,aAA6B;QAK7B,OAAO;YACL,IAAI,EAAE,KAAK,EAAE,EAAe,EAAE,UAAkB,EAAE,EAAE;;gBAClD,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC;oBACnC,sBAAsB,GAAG,IAAI,qBAAe,EAAE,CAAA;oBAC9C,sBAAsB,CAAC,WAAW,CAAC,QAAE,CAAC,IAAI,CAAC,CAAA;oBAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC3F,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBAC1C,CAAC;gBAED,IAAI,cAAc,GAAG,0BAAoB,CAAC,cAAc,CAAA;gBACxD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC1B,cAAc,IAAI,0BAAoB,CAAC,WAAW,CAAA;gBACpD,CAAC;gBACD,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBAC3B,cAAc,IAAI,0BAAoB,CAAC,YAAY,CAAA;gBACrD,CAAC;gBACD,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC7B,cAAc,IAAI,0BAAoB,CAAC,cAAc,CAAA;gBACvD,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,cAAc,IAAI,0BAAoB,CAAC,oBAAoB,CAAA;gBAC7D,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAEnC,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CACnC,CAAA;gBAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU;oBACjC,CAAC,CAAC,KAAK,CAAC,UAAU;oBAClB,CAAC,CAAC,MAAA,KAAK,CAAC,iBAAiB,0CAAE,EAAE,CAAC,KAAK,CAAC,CAAA;gBAEtC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAA;gBACH,CAAC;gBACD,cAAc,KAAd,cAAc,GAAK,MAAA,KAAK,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,QAAQ,EAAA;gBACrF,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAA;gBACH,CAAC;gBACD,aAAa,KAAb,aAAa,GAAK,MAAA,KAAK,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,aAAa,EAAA;gBACzF,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;gBACH,CAAC;gBAED,MAAM,QAAQ,GAAG,0BAAoB,CAAC,MAAM,CAAC;oBAC3C,UAAU;oBACV,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,cAAc;oBACd,kBAAkB,EAAE,EAAE,CAAC,OAAO;oBAC9B,WAAW;oBACX,UAAU;oBACV,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,aAAa,EAAE,KAAK,CAAC,QAAQ,IAAI,UAAU;oBAC3C,SAAS,EAAE,aAAa;oBACxB,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,KAAK,EAAE,cAAc;iBACtB,CAAC,CAAA;gBAEF,MAAM,kBAAkB,GAAG,UAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAEjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;oBACjD,kBAAkB;oBAClB,UAAU,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC;oBAClC,YAAY,EAAE,kBAAkB,CAAC,YAAY;oBAC7C,KAAK,EAAE,kBAAkB,CAAC,KAAK;iBAChC,CAAC,CAAA;gBAEF,MAAM,CAAC,GAAG,eAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBACtC,MAAM,GAAG,GAAG,IAAI,0BAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;gBAC9D,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAA;gBAE3C,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;gBAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,EAAiB,CAAA;gBACtE,iFAAiF;gBACjF,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAA;gBACxD,OAAO,sBAAsB,CAAA;YAC/B,CAAC;YAED,cAAc,EAAE,KAAK,EAAE,EAAe,EAAE,UAAkB,EAAE,EAAE;;gBAC5D,IAAI,eAAe,CAAA;gBACnB,IAAI,kBAAkB,CAAA;gBACtB,MAAM,YAAY,GAAG,CAAC,CAAA;gBACtB,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBACnC,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,aAAa,CAAA;gBAC7F,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAC,QAAQ;gBAC7C,CAAC;gBAED,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAmC,CAAA;gBAChF,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;gBAEnD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAmC,CAAA;gBAChF,kBAAkB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAA;gBAC1D,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAA;YACjG,CAAC;SACF,CAAA;IACH,CAAC;CACF;AAjMD,wBAiMC"}
|