@bsv/sdk 2.0.7 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/primitives/index.js.map +1 -1
  3. package/dist/cjs/src/script/templates/P2PKH.js +9 -43
  4. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  5. package/dist/cjs/src/script/templates/PushDrop.js +10 -40
  6. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  7. package/dist/cjs/src/script/templates/SignatureUtils.js +77 -0
  8. package/dist/cjs/src/script/templates/SignatureUtils.js.map +1 -0
  9. package/dist/cjs/src/transaction/Transaction.js +45 -0
  10. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  11. package/dist/cjs/src/transaction/http/BinaryFetchClient.js +2 -28
  12. package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
  13. package/dist/cjs/src/transaction/http/NodejsHttpClient.js +2 -28
  14. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  15. package/dist/cjs/src/transaction/http/NodejsHttpRequestUtils.js +43 -0
  16. package/dist/cjs/src/transaction/http/NodejsHttpRequestUtils.js.map +1 -0
  17. package/dist/cjs/src/wallet/substrates/InvokableWalletBase.js +98 -0
  18. package/dist/cjs/src/wallet/substrates/InvokableWalletBase.js.map +1 -0
  19. package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +3 -85
  20. package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
  21. package/dist/cjs/src/wallet/substrates/XDM.js +3 -85
  22. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  23. package/dist/cjs/src/wallet/substrates/index.js +3 -1
  24. package/dist/cjs/src/wallet/substrates/index.js.map +1 -1
  25. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  26. package/dist/esm/src/primitives/index.js.map +1 -1
  27. package/dist/esm/src/script/templates/P2PKH.js +10 -46
  28. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  29. package/dist/esm/src/script/templates/PushDrop.js +10 -42
  30. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  31. package/dist/esm/src/script/templates/SignatureUtils.js +69 -0
  32. package/dist/esm/src/script/templates/SignatureUtils.js.map +1 -0
  33. package/dist/esm/src/transaction/Transaction.js +45 -0
  34. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  35. package/dist/esm/src/transaction/http/BinaryFetchClient.js +2 -28
  36. package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
  37. package/dist/esm/src/transaction/http/NodejsHttpClient.js +2 -28
  38. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  39. package/dist/esm/src/transaction/http/NodejsHttpRequestUtils.js +40 -0
  40. package/dist/esm/src/transaction/http/NodejsHttpRequestUtils.js.map +1 -0
  41. package/dist/esm/src/wallet/substrates/InvokableWalletBase.js +94 -0
  42. package/dist/esm/src/wallet/substrates/InvokableWalletBase.js.map +1 -0
  43. package/dist/esm/src/wallet/substrates/ReactNativeWebView.js +3 -85
  44. package/dist/esm/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
  45. package/dist/esm/src/wallet/substrates/XDM.js +3 -85
  46. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  47. package/dist/esm/src/wallet/substrates/index.js +1 -0
  48. package/dist/esm/src/wallet/substrates/index.js.map +1 -1
  49. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  50. package/dist/types/src/primitives/index.d.ts +1 -1
  51. package/dist/types/src/primitives/index.d.ts.map +1 -1
  52. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  53. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  54. package/dist/types/src/script/templates/SignatureUtils.d.ts +32 -0
  55. package/dist/types/src/script/templates/SignatureUtils.d.ts.map +1 -0
  56. package/dist/types/src/transaction/Transaction.d.ts +10 -0
  57. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  58. package/dist/types/src/transaction/http/BinaryFetchClient.d.ts +1 -1
  59. package/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -1
  60. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +1 -1
  61. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
  62. package/dist/types/src/transaction/http/NodejsHttpRequestUtils.d.ts +22 -0
  63. package/dist/types/src/transaction/http/NodejsHttpRequestUtils.d.ts.map +1 -0
  64. package/dist/types/src/wallet/substrates/InvokableWalletBase.d.ts +41 -0
  65. package/dist/types/src/wallet/substrates/InvokableWalletBase.d.ts.map +1 -0
  66. package/dist/types/src/wallet/substrates/ReactNativeWebView.d.ts +2 -403
  67. package/dist/types/src/wallet/substrates/ReactNativeWebView.d.ts.map +1 -1
  68. package/dist/types/src/wallet/substrates/XDM.d.ts +2 -403
  69. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  70. package/dist/types/src/wallet/substrates/index.d.ts +1 -0
  71. package/dist/types/src/wallet/substrates/index.d.ts.map +1 -1
  72. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  73. package/dist/umd/bundle.js +3 -3
  74. package/dist/umd/bundle.js.map +1 -1
  75. package/docs/reference/transaction.md +24 -1
  76. package/package.json +1 -1
  77. package/src/primitives/index.ts +1 -1
  78. package/src/script/templates/P2PKH.ts +10 -59
  79. package/src/script/templates/PushDrop.ts +11 -54
  80. package/src/script/templates/SignatureUtils.ts +111 -0
  81. package/src/transaction/Transaction.ts +47 -0
  82. package/src/transaction/__tests/Transaction.test.ts +179 -9
  83. package/src/transaction/http/BinaryFetchClient.ts +8 -32
  84. package/src/transaction/http/NodejsHttpClient.ts +8 -32
  85. package/src/transaction/http/NodejsHttpRequestUtils.ts +68 -0
  86. package/src/wallet/substrates/InvokableWalletBase.ts +176 -0
  87. package/src/wallet/substrates/ReactNativeWebView.ts +3 -491
  88. package/src/wallet/substrates/XDM.ts +3 -491
  89. package/src/wallet/substrates/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAA2B,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import OP from '../OP.js';
2
- import { fromBase58Check, verifyNotNull } from '../../primitives/utils.js';
2
+ import { fromBase58Check } from '../../primitives/utils.js';
3
3
  import LockingScript from '../LockingScript.js';
4
4
  import UnlockingScript from '../UnlockingScript.js';
5
5
  import TransactionSignature from '../../primitives/TransactionSignature.js';
6
6
  import { sha256 } from '../../primitives/Hash.js';
7
+ import { computeSignatureScope, resolveSourceDetails, formatPreimage } from './SignatureUtils.js';
7
8
  /**
8
9
  * P2PKH (Pay To Public Key Hash) class implementing ScriptTemplate.
9
10
  *
@@ -57,51 +58,14 @@ export default class P2PKH {
57
58
  unlock(privateKey, signOutputs = 'all', anyoneCanPay = false, sourceSatoshis, lockingScript) {
58
59
  return {
59
60
  sign: async (tx, inputIndex) => {
60
- let signatureScope = TransactionSignature.SIGHASH_FORKID;
61
- if (signOutputs === 'all') {
62
- signatureScope |= TransactionSignature.SIGHASH_ALL;
63
- }
64
- if (signOutputs === 'none') {
65
- signatureScope |= TransactionSignature.SIGHASH_NONE;
66
- }
67
- if (signOutputs === 'single') {
68
- signatureScope |= TransactionSignature.SIGHASH_SINGLE;
69
- }
70
- if (anyoneCanPay) {
71
- signatureScope |= TransactionSignature.SIGHASH_ANYONECANPAY;
72
- }
73
- const input = tx.inputs[inputIndex];
74
- const otherInputs = tx.inputs.filter((_, index) => index !== inputIndex);
75
- const sourceTXID = input.sourceTXID ?? input.sourceTransaction?.id('hex');
76
- if (sourceTXID == null || sourceTXID === undefined) {
77
- throw new Error('The input sourceTXID or sourceTransaction is required for transaction signing.');
78
- }
79
- if (sourceTXID === '') {
80
- throw new Error('The input sourceTXID or sourceTransaction is required for transaction signing.');
81
- }
82
- sourceSatoshis ||=
83
- input.sourceTransaction?.outputs[input.sourceOutputIndex].satoshis;
84
- if (sourceSatoshis == null || sourceSatoshis === undefined) {
85
- throw new Error('The sourceSatoshis or input sourceTransaction is required for transaction signing.');
86
- }
87
- lockingScript ||=
88
- input.sourceTransaction?.outputs[input.sourceOutputIndex]
89
- .lockingScript;
90
- if (lockingScript == null) {
91
- throw new Error('The lockingScript or input sourceTransaction is required for transaction signing.');
92
- }
93
- const preimage = TransactionSignature.format({
94
- sourceTXID,
95
- sourceOutputIndex: verifyNotNull(input.sourceOutputIndex, 'input.sourceOutputIndex must have value'),
96
- sourceSatoshis,
97
- transactionVersion: tx.version,
98
- otherInputs,
99
- inputIndex,
100
- outputs: tx.outputs,
101
- inputSequence: verifyNotNull(input.sequence, 'input.sequence must have value'),
102
- subscript: lockingScript,
103
- lockTime: tx.lockTime,
104
- scope: signatureScope
61
+ const signatureScope = computeSignatureScope(signOutputs, anyoneCanPay);
62
+ const resolved = resolveSourceDetails(tx, inputIndex, sourceSatoshis, lockingScript);
63
+ sourceSatoshis = resolved.sourceSatoshis;
64
+ lockingScript = resolved.lockingScript;
65
+ const preimage = formatPreimage({
66
+ tx, inputIndex, signatureScope,
67
+ sourceTXID: resolved.sourceTXID, sourceSatoshis: resolved.sourceSatoshis,
68
+ lockingScript: resolved.lockingScript, otherInputs: resolved.otherInputs
105
69
  });
106
70
  const rawSignature = privateKey.sign(sha256(preimage));
107
71
  const sig = new TransactionSignature(rawSignature.r, rawSignature.s, signatureScope);
@@ -1 +1 @@
1
- {"version":3,"file":"P2PKH.js","sourceRoot":"","sources":["../../../../../src/script/templates/P2PKH.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"P2PKH.js","sourceRoot":"","sources":["../../../../../src/script/templates/P2PKH.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { LockingScript, UnlockingScript, OP } from '../index.js';
2
2
  import { Utils, Hash, TransactionSignature, Signature, PublicKey } from '../../primitives/index.js';
3
3
  import { verifyNotNull } from '../../primitives/utils.js';
4
+ import { computeSignatureScope, resolveSourceDetails, formatPreimage } from './SignatureUtils.js';
4
5
  /**
5
6
  * For a given piece of data to push onto the stack in script, creates the correct minimally-encoded script chunk,
6
7
  * including the correct push operation.
@@ -170,48 +171,15 @@ export default class PushDrop {
170
171
  unlock(protocolID, keyID, counterparty, signOutputs = 'all', anyoneCanPay = false, sourceSatoshis, lockingScript) {
171
172
  return {
172
173
  sign: async (tx, inputIndex) => {
173
- let signatureScope = TransactionSignature.SIGHASH_FORKID;
174
- if (signOutputs === 'all') {
175
- signatureScope |= TransactionSignature.SIGHASH_ALL;
176
- }
177
- if (signOutputs === 'none') {
178
- signatureScope |= TransactionSignature.SIGHASH_NONE;
179
- }
180
- if (signOutputs === 'single') {
181
- signatureScope |= TransactionSignature.SIGHASH_SINGLE;
182
- }
183
- if (anyoneCanPay) {
184
- signatureScope |= TransactionSignature.SIGHASH_ANYONECANPAY;
185
- }
186
- const input = tx.inputs[inputIndex];
187
- const otherInputs = tx.inputs.filter((_, index) => index !== inputIndex);
188
- const sourceTXID = input.sourceTXID ?? input.sourceTransaction?.id('hex');
189
- if (sourceTXID == null || sourceTXID === undefined) {
190
- throw new Error('The input sourceTXID or sourceTransaction is required for transaction signing.');
191
- }
192
- sourceSatoshis ||=
193
- input.sourceTransaction?.outputs[input.sourceOutputIndex].satoshis;
194
- if (sourceSatoshis == null || sourceSatoshis === undefined) {
195
- throw new Error('The sourceSatoshis or input sourceTransaction is required for transaction signing.');
196
- }
197
- lockingScript ||=
198
- input.sourceTransaction?.outputs[input.sourceOutputIndex]
199
- .lockingScript;
200
- if (lockingScript == null) {
201
- throw new Error('The lockingScript or input sourceTransaction is required for transaction signing.');
202
- }
203
- const preimage = TransactionSignature.format({
204
- sourceTXID,
205
- sourceOutputIndex: verifyNotNull(input.sourceOutputIndex, 'input.sourceOutputIndex must have value'),
206
- sourceSatoshis,
207
- transactionVersion: tx.version,
208
- otherInputs,
209
- inputIndex,
210
- outputs: tx.outputs,
211
- inputSequence: input.sequence ?? 0xffffffff,
212
- subscript: lockingScript,
213
- lockTime: tx.lockTime,
214
- scope: signatureScope
174
+ const signatureScope = computeSignatureScope(signOutputs, anyoneCanPay);
175
+ const resolved = resolveSourceDetails(tx, inputIndex, sourceSatoshis, lockingScript);
176
+ sourceSatoshis = resolved.sourceSatoshis;
177
+ lockingScript = resolved.lockingScript;
178
+ const preimage = formatPreimage({
179
+ tx, inputIndex, signatureScope,
180
+ sourceTXID: resolved.sourceTXID, sourceSatoshis: resolved.sourceSatoshis,
181
+ lockingScript: resolved.lockingScript, otherInputs: resolved.otherInputs,
182
+ inputSequence: tx.inputs[inputIndex].sequence ?? 0xffffffff
215
183
  });
216
184
  const preimageHash = Hash.sha256(preimage);
217
185
  const { signature: bareSignature } = await this.wallet.createSignature({
@@ -1 +1 @@
1
- {"version":3,"file":"PushDrop.js","sourceRoot":"","sources":["../../../../../src/script/templates/PushDrop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PushDrop.js","sourceRoot":"","sources":["../../../../../src/script/templates/PushDrop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import TransactionSignature from '../../primitives/TransactionSignature.js';
2
+ import { verifyNotNull } from '../../primitives/utils.js';
3
+ /**
4
+ * Computes the signature scope flags from the given signing parameters.
5
+ */
6
+ export function computeSignatureScope(signOutputs, anyoneCanPay) {
7
+ let signatureScope = TransactionSignature.SIGHASH_FORKID;
8
+ if (signOutputs === 'all') {
9
+ signatureScope |= TransactionSignature.SIGHASH_ALL;
10
+ }
11
+ if (signOutputs === 'none') {
12
+ signatureScope |= TransactionSignature.SIGHASH_NONE;
13
+ }
14
+ if (signOutputs === 'single') {
15
+ signatureScope |= TransactionSignature.SIGHASH_SINGLE;
16
+ }
17
+ if (anyoneCanPay) {
18
+ signatureScope |= TransactionSignature.SIGHASH_ANYONECANPAY;
19
+ }
20
+ return signatureScope;
21
+ }
22
+ /**
23
+ * Resolves and validates the source transaction details needed for signing.
24
+ * Returns the resolved sourceTXID, sourceSatoshis, lockingScript, and otherInputs.
25
+ */
26
+ export function resolveSourceDetails(tx, inputIndex, providedSourceSatoshis, providedLockingScript) {
27
+ const input = tx.inputs[inputIndex];
28
+ const otherInputs = tx.inputs.filter((_, index) => index !== inputIndex);
29
+ const sourceTXID = input.sourceTXID ?? input.sourceTransaction?.id('hex');
30
+ if (sourceTXID == null || sourceTXID === undefined) {
31
+ throw new Error('The input sourceTXID or sourceTransaction is required for transaction signing.');
32
+ }
33
+ if (sourceTXID === '') {
34
+ throw new Error('The input sourceTXID or sourceTransaction is required for transaction signing.');
35
+ }
36
+ const sourceSatoshis = providedSourceSatoshis ??
37
+ input.sourceTransaction?.outputs[input.sourceOutputIndex].satoshis;
38
+ if (sourceSatoshis == null || sourceSatoshis === undefined) {
39
+ throw new Error('The sourceSatoshis or input sourceTransaction is required for transaction signing.');
40
+ }
41
+ const lockingScript = providedLockingScript ??
42
+ input.sourceTransaction?.outputs[input.sourceOutputIndex]
43
+ .lockingScript;
44
+ if (lockingScript == null) {
45
+ throw new Error('The lockingScript or input sourceTransaction is required for transaction signing.');
46
+ }
47
+ return { sourceTXID, sourceSatoshis, lockingScript, otherInputs };
48
+ }
49
+ /**
50
+ * Formats the transaction preimage for signing.
51
+ */
52
+ export function formatPreimage(params) {
53
+ const { tx, inputIndex, signatureScope, sourceTXID, sourceSatoshis, lockingScript, otherInputs, inputSequence } = params;
54
+ const input = tx.inputs[inputIndex];
55
+ return TransactionSignature.format({
56
+ sourceTXID,
57
+ sourceOutputIndex: verifyNotNull(input.sourceOutputIndex, 'input.sourceOutputIndex must have value'),
58
+ sourceSatoshis,
59
+ transactionVersion: tx.version,
60
+ otherInputs,
61
+ inputIndex,
62
+ outputs: tx.outputs,
63
+ inputSequence: inputSequence ?? verifyNotNull(input.sequence, 'input.sequence must have value'),
64
+ subscript: lockingScript,
65
+ lockTime: tx.lockTime,
66
+ scope: signatureScope
67
+ });
68
+ }
69
+ //# sourceMappingURL=SignatureUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignatureUtils.js","sourceRoot":"","sources":["../../../../../src/script/templates/SignatureUtils.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { defaultBroadcaster } from './broadcasters/DefaultBroadcaster.js';
8
8
  import { defaultChainTracker } from './chaintrackers/DefaultChainTracker.js';
9
9
  import { Beef, BEEF_V1 } from './Beef.js';
10
10
  import P2PKH from '../script/templates/P2PKH.js';
11
+ import TransactionSignature from '../primitives/TransactionSignature.js';
11
12
  /**
12
13
  * Represents a complete Bitcoin transaction. This class encapsulates all the details
13
14
  * required for creating, signing, and processing a Bitcoin transaction, including
@@ -1121,5 +1122,49 @@ export default class Transaction {
1121
1122
  ...newTransaction.metadata
1122
1123
  };
1123
1124
  }
1125
+ /**
1126
+ * Returns the formatted preimage of a transaction for the requested input index, signature scope (default SIGHASH_FORKID | SIGHASH_ALL), and optional subscript.
1127
+ * @param inputIndex - The index of the input to generate the preimage for
1128
+ * @param signatureScope - The signature scope to use for the preimage
1129
+ * @param subscript - The subscript to use for the preimage (optional)
1130
+ * @returns The formatted preimage
1131
+ */
1132
+ preimage(inputIndex, signatureScope, subscript) {
1133
+ inputIndex ??= 0;
1134
+ signatureScope ??= TransactionSignature.SIGHASH_FORKID | TransactionSignature.SIGHASH_ALL;
1135
+ if (inputIndex < 0 || inputIndex >= this.inputs.length) {
1136
+ throw new Error('Invalid input index');
1137
+ }
1138
+ const flags = signatureScope & 0xf0;
1139
+ if (flags !== 224 && flags !== 192 && flags !== 64) {
1140
+ throw new Error('FORKID must be set');
1141
+ }
1142
+ const coverage = signatureScope & 0x0f;
1143
+ if (coverage < 1 || coverage > 3) {
1144
+ throw new Error('Invalid signature coverage, must be all, none or single');
1145
+ }
1146
+ const input = this.inputs[inputIndex];
1147
+ if (input.sourceTransaction == null) {
1148
+ throw new Error('Source transaction is required');
1149
+ }
1150
+ const output = input.sourceTransaction.outputs[input.sourceOutputIndex];
1151
+ if (output == null) {
1152
+ throw new Error(`Source transaction's output at index ${input.sourceOutputIndex} is required`);
1153
+ }
1154
+ const otherInputs = this.inputs.filter((_, index) => index !== inputIndex);
1155
+ return TransactionSignature.format({
1156
+ sourceTXID: input.sourceTXID ?? input.sourceTransaction.id('hex'),
1157
+ sourceOutputIndex: input.sourceOutputIndex,
1158
+ sourceSatoshis: output.satoshis,
1159
+ transactionVersion: this.version,
1160
+ otherInputs,
1161
+ inputIndex,
1162
+ outputs: this.outputs,
1163
+ inputSequence: input.sequence ?? 0xffffffff,
1164
+ subscript: subscript ?? output.lockingScript,
1165
+ lockTime: this.lockTime,
1166
+ scope: signatureScope
1167
+ });
1168
+ }
1124
1169
  }
1125
1170
  //# sourceMappingURL=Transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"AAGA,OAAO,eAAe,MAAM,8BAA8B,CAAA;AAC1D,OAAO,aAAa,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAU,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,OAAO,UAAU,MAAM,4BAA4B,CAAA;AAGnD,OAAO,KAAK,MAAM,oBAAoB,CAAA;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,8BAA8B,CAAA;AAEhD,OAAO,oBAAoB,MAAM,uCAAuC,CAAA;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,OAAO,CAAQ;IACf,MAAM,CAAoB;IAC1B,OAAO,CAAqB;IAC5B,QAAQ,CAAQ;IAChB,QAAQ,CAAqB;IAC7B,UAAU,CAAa;IACf,UAAU,CAAW;IACrB,aAAa,CAAa;IAC1B,QAAQ,CAAS;IAEzB,oEAAoE;IAC5D,MAAM,CAAC,eAAe,CAC5B,GAA4C,EAC5C,YAMC,EACD,KAAmB;QAEnB,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;YAC7D,CAAC;YACD,GAAG,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;gBAClD,CAAC;gBACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;gBAChD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,CAAC,UAAU,IAAI,WAAW,EAAE,CACxE,CAAA;gBACH,CAAC;gBACD,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAA;gBACtC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAE,IAA2B,EAAE,IAAa;QACzD,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAClD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAE,IAA2B;QAChD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,UAAU,0BAA0B,CAAC,CAAA;YAClF,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;YACnF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAEO,MAAM,CAAC,WAAW,CAAE,IAA2B,EAAE,IAAa;QACpE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9D,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACf,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,0BAA0B,CAAC,CAAA;YAC5E,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,EAAyB;QACtC,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QACjC,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAAC,CAAC;QAClF,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACvC,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5C,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAC3C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,eAAe,GAAG,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC/C,MAAM,mBAAmB,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAC9C,MAAM,gBAAgB,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;YACrD,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;YAChE,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;YACvE,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnE,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG;gBAC7C,QAAQ;gBACR,aAAa;aACd,CAAA;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,iBAAiB;gBACjB,UAAU;gBACV,iBAAiB;gBACjB,eAAe;gBACf,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACxC,MAAM,OAAO,GAAwB,EAAE,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC/C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YACzD,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ;gBACR,aAAa;aACd,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAClC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,kBAAkB,CAAE,GAA0B;QAInD,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,MAAM,GAA2D,EAAE,CAAA;QACzE,MAAM,OAAO,GAA4D,EAAE,CAAA;QAE3E,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,UAAU;QACtB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAA,CAAC,gBAAgB;YAC7B,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;YAC7D,EAAE,CAAC,GAAG,IAAI,YAAY,GAAG,CAAC,CAAA,CAAC,sBAAsB;QACnD,CAAC;QACD,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,WAAW;YACvB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;YAC/D,EAAE,CAAC,GAAG,IAAI,YAAY,CAAA;QACxB,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,UAAU,CAAE,EAA6B;QAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QACjC,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACvC,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5C,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAC3C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,eAAe,GAAG,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC;gBACV,UAAU;gBACV,iBAAiB;gBACjB,eAAe;gBACf,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACxC,MAAM,OAAO,GAAwB,EAAE,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC/C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YACzD,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ;gBACR,aAAa;aACd,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAClC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,GAA0B;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAA;QACxB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACzC,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACrC,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAA;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAE,GAAW;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACzC,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACrC,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAA;QAC3B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAE,GAAW;QAC3B,OAAO,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,WAAW,CAAE,GAAW,EAAE,IAAa;QAC5C,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,YACE,UAAkB,CAAC,EACnB,SAA6B,EAAE,EAC/B,UAA+B,EAAE,EACjC,WAAmB,CAAC,EACpB,WAAgC,IAAI,GAAG,EAAE,EACzC,UAAuB;QAEvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAEO,6BAA6B;QACnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAE,KAAuB;QAC/B,IACE,OAAO,KAAK,CAAC,UAAU,KAAK,WAAW;YACvC,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAC9C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAA;QACH,CAAC;QACD,qFAAqF;QACrF,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC1C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC,6BAA6B,EAAE,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAE,MAAyB;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;YACH,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAAC,CAAC;QAC7F,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAE,OAA0B,EAAE,QAAiB;QAC3D,MAAM,aAAa,GAAG,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC;YACb,aAAa;YACb,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAE,QAA6B;QAC3C,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,IAAI,CAAC,QAAQ;YAChB,GAAG,QAAQ;SACZ,CAAA;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,GAAG,CACP,aAAgC,UAAU,CAAC,WAAW,EAAE,EACxD,qBAAyC,OAAO;QAEhD,IAAI,CAAC,6BAA6B,EAAE,CAAA;QACpC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAA;YACvB,UAAU,GAAG;gBACX,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;aAC7B,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;YACtE,OAAM;QACR,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IACnD,CAAC;IAEO,eAAe,CAAE,GAAW;QAClC,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;YACH,CAAC;YACD,MAAM;gBACJ,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,CAAA;QACb,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,gBAAgB,CACtB,MAAc,EACd,kBAAsC;QAEtC,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YACpC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACxE,CAAC;aAAM,IAAI,kBAAkB,KAAK,OAAO,EAAE,CAAC;YAC1C,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,iBAAiB,GAAG,MAAM,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACxD,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACtC,UAAU,CAAC,QAAQ,IAAI,MAAM,GAAG,iBAAiB,CAAA;YACnD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,QAAQ,GAAG,MAAM,GAAG,iBAAiB,CAAA;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,MAAc,EACd,aAAkC;QAElC,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,IAAI,WAAW,GAAG,MAAM,CAAA;QACxB,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1D,WAAW,IAAI,aAAa,CAAC,MAAM,CAAA;QACnC,iBAAiB,IAAI,aAAa,CAAC,MAAM,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,OAAO,GAAW,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;YAC1D,cAAc,CAAC,CAAC,CAAC,GAAI,cAAc,CAAC,CAAC,CAAY,GAAG,OAAO,CAAA;YAC3D,iBAAiB,IAAI,OAAO,CAAA;YAC5B,WAAW,IAAI,OAAO,CAAA;QACxB,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBAAE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,CAAA;QACtE,CAAC;QACD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAEO,qBAAqB,CAC3B,MAAc,EACd,aAAkC;QAElC,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3D,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,iBAAiB,IAAI,SAAS,CAAA;YAC9B,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC1B,CAAC;QACD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAEO,aAAa,CAAE,GAAW,EAAE,GAAW;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,KAAK,CACf,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAC7D,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAA;YACH,CAAC;YACD,OAAO;gBACL,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,OAAO,GAAG,QAAQ,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,6BAA6B,EAAE,CAAA;QACpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACxC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CACb,mJAAmJ,CACpJ,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAwC,EAAE;YACnE,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACzC,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,QAAQ,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,cAA2B,kBAAkB,EAAE;QAE/C,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAEO,oBAAoB,CAAE,MAAiC;QAC7D,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;gBACxC,IAAI,CAAC,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;oBAChC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAc,CAAC,CAAA;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;YACnD,CAAC;YACD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;YACzC,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACjD,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,YAAY,EAAE,CAAA;YAClD,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACvB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAA;QAChD,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;YACrC,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE,CAAA;YAChD,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IAEO,oBAAoB;QAC1B,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAA;QACrC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,MAAM,CAAC,YAAY,EAAE,CAAA;IAC9B,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAClC,CAAC;IAEO,OAAO,CAAE,MAAiC;QAChD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QACnC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;YACH,CAAC;YACD,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAc,CAAC,CAAA;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,EAAc,CAAC,CAAA;YAClE,CAAC;YACD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;YACzC,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACjD,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAA;YAC9C,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACvB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAA,CAAC,0BAA0B;YACzE,MAAM,CAAC,aAAa,CAClB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAC/D,CAAA;YACD,MAAM,gBAAgB,GACpB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CACzB,CAAC,CAAC,iBAAiB,CACpB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAA;YAC5B,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAC9C,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;YACrC,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAA;YAC5C,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACpB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAA;QACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACpB,OAAO,MAAM,CAAC,YAAY,EAAE,CAAA;IAC9B,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAA;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;IACnC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAE,GAAW;QACf,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAeD;;;;;OAKG;IACH,EAAE,CAAE,GAAW;QACb,MAAM,EAAE,GAAG,CAAC,GAAI,IAAI,CAAC,IAAI,EAAe,CAAC,CAAA;QACzC,EAAE,CAAC,OAAO,EAAE,CAAA;QACZ,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CACV,eAA8C,mBAAmB,EAAE,EACnE,QAAmB,EACnB,WAAoB;QAEpB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;QACvC,MAAM,OAAO,GAAkB,CAAC,IAAI,CAAC,CAAA;QAErC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;YAC1B,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YAChC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,SAAQ;YACV,CAAC;YAED,wEAAwE;YACxE,IAAI,OAAO,EAAE,EAAE,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;oBACpC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACjB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACzB,CAAC;oBACD,SAAQ;gBACV,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;oBACjE,mDAAmD;oBACnD,IAAI,UAAU,EAAE,CAAC;wBACf,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;wBACvB,SAAQ;oBACV,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAA;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;gBAC7C,CAAC;gBACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;gBAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;gBAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACxB,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,kDAAkD,CACtG,CAAA;gBACH,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,qDAAqD;YACrD,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC7C,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC1B,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;oBAChD,MAAM,IAAI,KAAK,CACb,kDAAkD,CAAC,mBAAmB,IAAI,kMAAkM,CAC7Q,CAAA;gBACH,CAAC;gBACD,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CACb,kDAAkD,CAAC,mBAAmB,IAAI,0KAA0K,CACrP,CAAA;gBACH,CAAC;gBACD,MAAM,YAAY,GAChB,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBAC1D,UAAU,IAAI,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAA;gBAExC,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;gBACpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBACvC,CAAC;gBAED,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;gBAC3D,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;oBAC5C,KAAK,CAAC,UAAU,GAAG,UAAU,CAAA;gBAC/B,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;oBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,aAAa,EAAE,YAAY,CAAC,aAAa;oBACzC,cAAc,EAAE,YAAY,CAAC,QAAQ,IAAI,CAAC;oBAC1C,kBAAkB,EAAE,EAAE,CAAC,OAAO;oBAC9B,WAAW;oBACX,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,aAAa,EAAE,KAAK,CAAC,QAAQ,IAAI,UAAU,EAAE,0BAA0B;oBACvE,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,WAAW;iBACZ,CAAC,CAAA;gBACF,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAEnC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;gBACH,CAAC;gBACD,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAA;YAC7B,CAAC;YAED,IAAI,WAAW,GAAG,UAAU,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAA;YACd,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAE,MAAiC,EAAE,YAAsB;QAC5E,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAiB,EAAE,CAAA;QAC9B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAsB,CAAA;QACzD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;QACjD,MAAM,GAAG,GAAmD,EAAE,CAAA;QAC9D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;QAEnC,MAAM,YAAY,GAAG,CAAC,UAAsB,EAAU,EAAE;YACtD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAC9D,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,kBAAkB,CAAA;YAC3B,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAA;YACnE,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC/C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBACzC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;gBACnD,OAAO,cAAc,CAAA;YACvB,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACtB,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YAC7C,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAClC,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAA;QAED,kEAAkE;QAClE,MAAM,iBAAiB,GAAG,CAAC,EAAe,EAAQ,EAAE;YAClD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YACzB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAM;YACR,CAAC;YAED,MAAM,GAAG,GAA4C,EAAE,EAAE,EAAE,CAAA;YAC3D,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAA;YAChC,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAA;YAE/C,IAAI,QAAQ,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACnC,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;YAC1C,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBAC1B,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;wBAChD,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;oBAC5C,CAAC;yBAAM,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;wBAClC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;oBAC9D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,CAAC,CAAA;QAED,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAEvB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5B,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACjC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC7B,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAE,YAAsB;QAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAC3B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC9C,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAE,YAAsB;QACtC,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAA;QACrC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC9C,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAE,YAAsB;QAClC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED;;;;;;;;;;OAUG;IACH,sBAAsB,CAAE,YAAsB;QAC5C,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAA;QACrC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAc,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACpB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC9C,OAAO,MAAM,CAAC,YAAY,EAAE,CAAA;IAC9B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,kBAAkB,CAAE,MAAuB,EAAE,iBAA+C,EAAE,UAAmB,EAAE,OAA6B;QACpJ,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QACvC,MAAM,WAAW,GAAG,iBAAiB,IAAI,oBAAoB,UAAU,iBAAiB,WAAW,YAAY,CAAA;QAE/G,MAAM,UAAU,GAAqB;YACnC,WAAW;YACX,MAAM,EAAE,EAAW;YACnB,OAAO,EAAE,EAAW;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAA;QAED,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,IAAI,IAAI,CAAC,CAAA;QAErF,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAE5B,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;YAC3F,CAAC;YAED,qCAAqC;YACrC,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAA;YACnD,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;YAE9B,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YAEpD,MAAM,QAAQ,GAAQ;gBACpB,QAAQ,EAAE,GAAG,UAAU,IAAI,KAAK,CAAC,iBAAiB,EAAE;gBACpD,gBAAgB,EAAE,+BAA+B;gBACjD,cAAc,EAAE,KAAK,CAAC,QAAQ;aAC/B,CAAA;YAED,0CAA0C;YAC1C,IAAI,YAAY,EAAE,CAAC;gBACjB,mEAAmE;gBACnE,IAAI,KAAK,CAAC,uBAAuB,IAAI,IAAI,EAAE,CAAC;oBAC1C,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;oBACnF,QAAQ,CAAC,qBAAqB,GAAG,eAAe,CAAA;gBAClD,CAAC;qBAAM,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;oBACzC,wCAAwC;oBACxC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;gBAC1D,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,iEAAiE,CAAC,CAAA;gBAC9F,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wDAAwD;gBACxD,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;gBAC1F,CAAC;gBACD,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;YAC1D,CAAC;YAED,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;QAC5C,CAAC;QAED,kBAAkB;QAClB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE;gBAC3C,iBAAiB,EAAE,gCAAgC;aACpD,CAAC,CAAA;QACJ,CAAC;QAED,6CAA6C;QAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC1C,CAAC;QAED,IAAI,UAAoB,CAAA;QAExB,oCAAoC;QACpC,IAAI,YAAY,EAAE,CAAC;YACjB,2EAA2E;YAC3E,UAAU,CAAC,OAAO,GAAG;gBACnB,GAAG,OAAO;gBACV,cAAc,EAAE,KAAK;aACtB,CAAA;YAED,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAEjF,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;YAC3E,CAAC;YAED,sEAAsE;YACtE,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;YAE9D,+DAA+D;YAC/D,MAAM,MAAM,GAAgD,EAAE,CAAA;YAE9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAE5B,IAAI,KAAK,CAAC,uBAAuB,IAAI,IAAI,EAAE,CAAC;oBAC1C,sCAAsC;oBACtC,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;oBAC9E,MAAM,CAAC,CAAC,CAAC,GAAG;wBACV,eAAe,EAAE,eAAe,CAAC,KAAK,EAAE;qBACzC,CAAA;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;oBACzC,yCAAyC;oBACzC,MAAM,CAAC,CAAC,CAAC,GAAG;wBACV,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE;qBAC/C,CAAA;gBACH,CAAC;YACH,CAAC;YAED,2EAA2E;YAC3E,MAAM,iBAAiB,GAAkC,OAAO,IAAI,IAAI;gBACtE,CAAC,CAAC;oBACE,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;oBACtD,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B;gBACH,CAAC,CAAC,SAAS,CAAA;YAEb,uDAAuD;YACvD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;gBACzC,SAAS,EAAE,mBAAmB,CAAC,SAAS;gBACxC,MAAM;gBACN,OAAO,EAAE,iBAAiB;aAC3B,EAAE,UAAU,CAAC,CAAA;YAEd,IAAI,UAAU,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;YACtE,CAAC;YAED,UAAU,GAAG,UAAU,CAAC,EAAE,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAA;YAC9B,CAAC;YAED,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAEhE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;YACxE,CAAC;YAED,UAAU,GAAG,EAAE,CAAA;QACjB,CAAC;QAED,gDAAgD;QAChD,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAE7D,6EAA6E;QAC7E,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAA;QACrC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAA;QACrC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAA;QACvC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAA;QAC3C,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAA;QAE3C,mFAAmF;QACnF,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,IAAI,CAAC,QAAQ;YAChB,GAAG,cAAc,CAAC,QAAQ;SAC3B,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAE,UAAmB,EAAE,cAAuB,EAAE,SAAyB;QAC/E,UAAU,KAAK,CAAC,CAAA;QAChB,cAAc,KAAK,oBAAoB,CAAC,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAA;QACzF,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,GAAG,IAAI,CAAA;QACnC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACvC,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,GAAG,IAAI,CAAA;QACtC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACrC,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACvE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,iBAAiB,cAAc,CAAC,CAAA;QAChG,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,CAAA;QAC1E,OAAO,oBAAoB,CAAC,MAAM,CAAC;YACjC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC;YACjE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,cAAc,EAAE,MAAM,CAAC,QAAQ;YAC/B,kBAAkB,EAAE,IAAI,CAAC,OAAO;YAChC,WAAW;YACX,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,KAAK,CAAC,QAAQ,IAAI,UAAU;YAC3C,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,aAAa;YAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
+ import { executeNodejsRequest } from './NodejsHttpRequestUtils.js';
1
2
  /**
2
3
  * Adapter for Node Https module to be used as HttpClient
3
4
  */
@@ -7,34 +8,7 @@ export class BinaryNodejsHttpClient {
7
8
  this.https = https;
8
9
  }
9
10
  async request(url, requestOptions) {
10
- return await new Promise((resolve, reject) => {
11
- const req = this.https.request(url, requestOptions, (res) => {
12
- let body = '';
13
- res.on('data', (chunk) => {
14
- body += chunk;
15
- });
16
- res.on('end', () => {
17
- const ok = res.statusCode >= 200 && res.statusCode <= 299;
18
- const mediaType = res.headers['content-type'];
19
- const data = body !== '' && typeof mediaType === 'string' && mediaType.startsWith('application/json')
20
- ? JSON.parse(body)
21
- : body;
22
- resolve({
23
- status: res.statusCode,
24
- statusText: res.statusMessage,
25
- ok,
26
- data
27
- });
28
- });
29
- });
30
- req.on('error', (error) => {
31
- reject(error);
32
- });
33
- if (requestOptions.data !== null && requestOptions.data !== undefined) {
34
- req.write(Buffer.from(requestOptions.data));
35
- }
36
- req.end();
37
- });
11
+ return await executeNodejsRequest(this.https, url, requestOptions, (data) => Buffer.from(data));
38
12
  }
39
13
  }
40
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryFetchClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/BinaryFetchClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BinaryFetchClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/BinaryFetchClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAoBnF;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;IAAI,CAAC;IAE1D,KAAK,CAAC,OAAO,CACX,GAAW,EACX,cAAwC;QAExC,OAAO,MAAM,oBAAoB,CAC/B,IAAI,CAAC,KAAmC,EACxC,GAAG,EACH,cAAc,EACd,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,CAAA;IACH,CAAC;CACF;AAuBD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAI,CAAC;IAE9C,KAAK,CAAC,OAAO,CACX,GAAW,EACX,OAAiC;QAEjC,MAAM,YAAY,GAAiB;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAA;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAE7B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,IAAS;SAChB,CAAA;IACH,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,YAAY,GAAe;QAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;KACF,CAAA;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACxE,qCAAqC;QACrC,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QAC1C,wBAAwB;QACxB,2BAA2B;QAC3B,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;YAC9B,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,YAAY,CAAA;QACrB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,YAAY,CAAA;IACrB,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { executeNodejsRequest } from './NodejsHttpRequestUtils.js';
1
2
  /**
2
3
  * Adapter for Node Https module to be used as HttpClient
3
4
  */
@@ -7,34 +8,7 @@ export class NodejsHttpClient {
7
8
  this.https = https;
8
9
  }
9
10
  async request(url, requestOptions) {
10
- return await new Promise((resolve, reject) => {
11
- const req = this.https.request(url, requestOptions, (res) => {
12
- let body = '';
13
- res.on('data', (chunk) => {
14
- body += chunk;
15
- });
16
- res.on('end', () => {
17
- const ok = res.statusCode >= 200 && res.statusCode <= 299;
18
- const mediaType = res.headers['content-type'];
19
- const data = body !== '' && typeof mediaType === 'string' && mediaType.startsWith('application/json')
20
- ? JSON.parse(body)
21
- : body;
22
- resolve({
23
- status: res.statusCode,
24
- statusText: res.statusMessage,
25
- ok,
26
- data
27
- });
28
- });
29
- });
30
- req.on('error', (error) => {
31
- reject(error);
32
- });
33
- if (requestOptions.data !== null && requestOptions.data !== undefined) {
34
- req.write(JSON.stringify(requestOptions.data));
35
- }
36
- req.end();
37
- });
11
+ return await executeNodejsRequest(this.https, url, requestOptions, (data) => JSON.stringify(data));
38
12
  }
39
13
  }
40
14
  //# sourceMappingURL=NodejsHttpClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodejsHttpClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/NodejsHttpClient.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAI,CAAC;IAEpD,KAAK,CAAC,OAAO,CACX,GAAW,EACX,cAAwC;QAExC,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC1D,IAAI,IAAI,GAAG,EAAE,CAAA;gBACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC/B,IAAI,IAAI,KAAK,CAAA;gBACf,CAAC,CAAC,CAAA;gBACF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAA;oBACzD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;oBAC7C,MAAM,IAAI,GACR,IAAI,KAAK,EAAE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC;wBACtF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBAClB,CAAC,CAAC,IAAI,CAAA;oBACV,OAAO,CAAC;wBACN,MAAM,EAAE,GAAG,CAAC,UAAU;wBACtB,UAAU,EAAE,GAAG,CAAC,aAAa;wBAC7B,EAAE;wBACF,IAAI;qBACL,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC/B,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,IAAI,cAAc,CAAC,IAAI,KAAK,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;YAChD,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"NodejsHttpClient.js","sourceRoot":"","sources":["../../../../../src/transaction/http/NodejsHttpClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAoBnF;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAI,CAAC;IAEpD,KAAK,CAAC,OAAO,CACX,GAAW,EACX,cAAwC;QAExC,OAAO,MAAM,oBAAoB,CAC/B,IAAI,CAAC,KAAmC,EACxC,GAAG,EACH,cAAc,EACd,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAC/B,CAAA;IACH,CAAC;CACF"}