ox 1.0.1 → 1.0.3

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 (53) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/tempo/KeyAuthorization.d.ts +22 -16
  3. package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
  4. package/dist/tempo/KeyAuthorization.js +31 -7
  5. package/dist/tempo/KeyAuthorization.js.map +1 -1
  6. package/dist/tempo/MultisigConfig.d.ts +8 -4
  7. package/dist/tempo/MultisigConfig.d.ts.map +1 -1
  8. package/dist/tempo/MultisigConfig.js +16 -4
  9. package/dist/tempo/MultisigConfig.js.map +1 -1
  10. package/dist/tempo/SignatureEnvelope.d.ts +31 -13
  11. package/dist/tempo/SignatureEnvelope.d.ts.map +1 -1
  12. package/dist/tempo/SignatureEnvelope.js +172 -55
  13. package/dist/tempo/SignatureEnvelope.js.map +1 -1
  14. package/dist/zod/tempo/AuthorizationTempo.d.ts +70 -60
  15. package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -1
  16. package/dist/zod/tempo/KeyAuthorization.d.ts +0 -306
  17. package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
  18. package/dist/zod/tempo/KeyAuthorization.js +2 -2
  19. package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
  20. package/dist/zod/tempo/MultisigConfig.d.ts.map +1 -1
  21. package/dist/zod/tempo/MultisigConfig.js +5 -2
  22. package/dist/zod/tempo/MultisigConfig.js.map +1 -1
  23. package/dist/zod/tempo/RpcSchemaTempo.d.ts +28 -132
  24. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  25. package/dist/zod/tempo/SignatureEnvelope.d.ts +79 -18
  26. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
  27. package/dist/zod/tempo/SignatureEnvelope.js +39 -11
  28. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
  29. package/dist/zod/tempo/Transaction.d.ts +84 -396
  30. package/dist/zod/tempo/Transaction.d.ts.map +1 -1
  31. package/dist/zod/tempo/TransactionRequest.d.ts +42 -234
  32. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
  33. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +0 -108
  34. package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  35. package/package.json +2 -2
  36. package/src/tempo/KeyAuthorization.test-d.ts +62 -0
  37. package/src/tempo/KeyAuthorization.test.ts +53 -0
  38. package/src/tempo/KeyAuthorization.ts +69 -27
  39. package/src/tempo/MultisigConfig.test.ts +34 -2
  40. package/src/tempo/MultisigConfig.ts +18 -4
  41. package/src/tempo/SignatureEnvelope.test-d.ts +97 -0
  42. package/src/tempo/SignatureEnvelope.test.ts +247 -36
  43. package/src/tempo/SignatureEnvelope.ts +271 -85
  44. package/src/tempo/e2e.test.ts +0 -416
  45. package/src/tempo/multisig.e2e.test.ts +582 -0
  46. package/src/version.ts +1 -1
  47. package/src/zod/tempo/KeyAuthorization.ts +2 -2
  48. package/src/zod/tempo/MultisigConfig.ts +13 -5
  49. package/src/zod/tempo/SignatureEnvelope.ts +81 -18
  50. package/src/zod/tempo/_test/KeyAuthorization.test.ts +25 -0
  51. package/src/zod/tempo/_test/MultisigConfig.test.ts +44 -0
  52. package/src/zod/tempo/_test/SignatureEnvelope.test-d.ts +9 -0
  53. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +142 -6
@@ -100,41 +100,71 @@ export function assert(envelope) {
100
100
  }
101
101
  if (type === 'multisig') {
102
102
  const multisig = envelope;
103
- const missing = [];
104
- if (!multisig.account)
105
- missing.push('account');
106
- if (!Array.isArray(multisig.signatures))
107
- missing.push('signatures');
108
- if (missing.length > 0)
109
- throw new MissingPropertiesError({ envelope, missing, type: 'multisig' });
110
- if (getNestingDepth(multisig) > MultisigConfig.maxNestingDepth)
103
+ assertMultisig(multisig, 1);
104
+ return;
105
+ }
106
+ }
107
+ function assertMultisig(envelope, depth) {
108
+ const missing = [];
109
+ if (!envelope.account)
110
+ missing.push('account');
111
+ if (!Array.isArray(envelope.signatures))
112
+ missing.push('signatures');
113
+ if (missing.length > 0)
114
+ throw new MissingPropertiesError({
115
+ envelope,
116
+ missing,
117
+ type: 'multisig',
118
+ });
119
+ if (depth > MultisigConfig.maxNestingDepth)
120
+ throw new InvalidMultisigApprovalError({
121
+ reason: `multisig nesting depth exceeds ${MultisigConfig.maxNestingDepth}`,
122
+ });
123
+ if (!Address.validate(envelope.account))
124
+ throw new InvalidMultisigApprovalError({
125
+ reason: 'multisig account is invalid',
126
+ });
127
+ if (Hex.toBigInt(envelope.account) === 0n)
128
+ throw new InvalidMultisigApprovalError({
129
+ reason: 'multisig account cannot be zero',
130
+ });
131
+ if (envelope.signatures.length === 0)
132
+ throw new InvalidMultisigApprovalError({
133
+ reason: 'multisig signatures cannot be empty',
134
+ });
135
+ if (envelope.signatures.length > MultisigConfig.maxSignatures)
136
+ throw new InvalidMultisigApprovalError({
137
+ reason: `multisig signatures exceed ${MultisigConfig.maxSignatures}`,
138
+ });
139
+ if (envelope.init) {
140
+ MultisigConfig.assert(envelope.init);
141
+ if (!Address.isEqual(MultisigConfig.getAddress(envelope.init), envelope.account))
111
142
  throw new InvalidMultisigApprovalError({
112
- reason: `multisig nesting depth exceeds ${MultisigConfig.maxNestingDepth}`,
143
+ reason: 'multisig init does not derive account',
113
144
  });
114
- for (const inner of multisig.signatures) {
115
- if (inner.type === 'keychain')
116
- throw new InvalidMultisigApprovalError({
117
- reason: 'keychain owner approvals are not allowed',
118
- });
119
- if (inner.type === 'multisig' && inner.init)
145
+ }
146
+ for (const inner of envelope.signatures) {
147
+ const type = getType(inner);
148
+ if (type === 'keychain')
149
+ throw new InvalidMultisigApprovalError({
150
+ reason: 'keychain owner approvals are not allowed',
151
+ });
152
+ if (type === 'multisig') {
153
+ const multisig = inner;
154
+ if (multisig.init)
120
155
  throw new InvalidMultisigApprovalError({
121
156
  reason: 'nested multisig owner approvals cannot carry `init`',
122
157
  });
123
- assert(inner);
158
+ assertMultisig(multisig, depth + 1);
124
159
  }
125
- if (multisig.init)
126
- MultisigConfig.assert(multisig.init);
127
- return;
160
+ else
161
+ assert(inner);
162
+ if (Hex.size(serialize(inner)) > MultisigConfig.maxOwnerSignatureBytes)
163
+ throw new InvalidMultisigApprovalError({
164
+ reason: `multisig owner signature exceeds ${MultisigConfig.maxOwnerSignatureBytes} bytes`,
165
+ });
128
166
  }
129
167
  }
130
- // Returns the deepest multisig path length within a multisig envelope.
131
- function getNestingDepth(envelope) {
132
- let deepest = 0;
133
- for (const inner of envelope.signatures)
134
- if (inner.type === 'multisig')
135
- deepest = Math.max(deepest, getNestingDepth(inner));
136
- return 1 + deepest;
137
- }
138
168
  /**
139
169
  * Extracts the address of the signer from a {@link ox#SignatureEnvelope.SignatureEnvelope}.
140
170
  *
@@ -249,6 +279,9 @@ export function extractPublicKey(options) {
249
279
  * @throws `CoercionError` if the serialized value cannot be coerced to a valid signature envelope.
250
280
  */
251
281
  export function deserialize(value) {
282
+ return deserialize_(value, 0);
283
+ }
284
+ function deserialize_(value, multisigDepth) {
252
285
  const serialized = value.endsWith(magicBytes.slice(2))
253
286
  ? Hex.slice(value, 0, -Hex.size(magicBytes))
254
287
  : value;
@@ -337,7 +370,7 @@ export function deserialize(value) {
337
370
  if (typeId === serializedKeychainType ||
338
371
  typeId === serializedKeychainV2Type) {
339
372
  const userAddress = Hex.slice(data, 0, 20);
340
- const inner = deserialize(Hex.slice(data, 20));
373
+ const inner = deserialize_(Hex.slice(data, 20), multisigDepth);
341
374
  return {
342
375
  userAddress,
343
376
  inner,
@@ -346,23 +379,78 @@ export function deserialize(value) {
346
379
  };
347
380
  }
348
381
  if (typeId === serializedMultisigType) {
349
- // Wire format: `0x05 || rlp([account, signatures, init?])`. `init` is a
350
- // trailing optional: the bootstrap config list when present, otherwise
351
- // omitted entirely (the empty `0x80` placeholder is rejected).
352
- const [account, signatures, init] = Rlp.toHex(data);
353
- if (typeof init !== 'undefined' && !Array.isArray(init))
382
+ const depth = multisigDepth + 1;
383
+ if (depth > MultisigConfig.maxNestingDepth)
354
384
  throw new InvalidSerializedError({
355
- reason: 'Invalid multisig `init`: expected the bootstrap config list or an omitted trailing element',
385
+ reason: `multisig nesting depth exceeds ${MultisigConfig.maxNestingDepth}`,
356
386
  serialized,
357
387
  });
358
- return {
388
+ // The first field distinguishes the static wire shapes: a bootstrap init
389
+ // config is an RLP list, while an initialized account is a 20-byte string.
390
+ const decoded = Rlp.toHex(data);
391
+ if (!Array.isArray(decoded) || decoded.length !== 2)
392
+ throw new InvalidSerializedError({
393
+ reason: 'invalid multisig wire shape: expected exactly two fields',
394
+ serialized,
395
+ });
396
+ const [address, signatures] = decoded;
397
+ if (!Array.isArray(signatures) || signatures.some(Array.isArray))
398
+ throw new InvalidSerializedError({
399
+ reason: 'invalid multisig signatures list',
400
+ serialized,
401
+ });
402
+ if (signatures.length === 0)
403
+ throw new InvalidSerializedError({
404
+ reason: 'multisig signatures cannot be empty',
405
+ serialized,
406
+ });
407
+ if (signatures.length > MultisigConfig.maxSignatures)
408
+ throw new InvalidSerializedError({
409
+ reason: `multisig signatures exceed ${MultisigConfig.maxSignatures}`,
410
+ serialized,
411
+ });
412
+ for (const signature of signatures)
413
+ if (Hex.size(signature) > MultisigConfig.maxOwnerSignatureBytes)
414
+ throw new InvalidSerializedError({
415
+ reason: `multisig owner signature exceeds ${MultisigConfig.maxOwnerSignatureBytes} bytes`,
416
+ serialized,
417
+ });
418
+ if (!Array.isArray(address) && !Address.validate(address))
419
+ throw new InvalidSerializedError({
420
+ reason: 'invalid multisig account',
421
+ serialized,
422
+ });
423
+ if (Array.isArray(address)) {
424
+ const [salt, threshold, owners] = address;
425
+ if (address.length !== 3 ||
426
+ Array.isArray(salt) ||
427
+ Hex.size(salt) !== 32 ||
428
+ Array.isArray(threshold) ||
429
+ Hex.size(threshold) > 1 ||
430
+ !Array.isArray(owners) ||
431
+ owners.some((owner) => !Array.isArray(owner) ||
432
+ owner.length !== 2 ||
433
+ owner.some(Array.isArray) ||
434
+ Hex.size(owner[1]) > 1))
435
+ throw new InvalidSerializedError({
436
+ reason: 'invalid multisig init config',
437
+ serialized,
438
+ });
439
+ }
440
+ const init = Array.isArray(address)
441
+ ? MultisigConfig.fromTuple(address)
442
+ : undefined;
443
+ const account = init
444
+ ? MultisigConfig.getAddress(init)
445
+ : address;
446
+ const envelope = {
359
447
  type: 'multisig',
360
448
  account,
361
- signatures: signatures.map((signature) => deserialize(signature)),
362
- ...(init
363
- ? { init: MultisigConfig.fromTuple(init) }
364
- : {}),
449
+ signatures: signatures.map((signature) => deserialize_(signature, depth)),
450
+ ...(init ? { init } : {}),
365
451
  };
452
+ assertMultisig(envelope, depth);
453
+ return envelope;
366
454
  }
367
455
  throw new InvalidSerializedError({
368
456
  reason: `Unknown signature type identifier: ${typeId}. Expected ${serializedP256Type} (P256), ${serializedWebAuthnType} (WebAuthn), ${serializedKeychainType} (Keychain V1), ${serializedKeychainV2Type} (Keychain V2), or ${serializedMultisigType} (Multisig)`,
@@ -695,15 +783,26 @@ export function fromRpc(envelope) {
695
783
  };
696
784
  }
697
785
  if (envelope.type === 'multisig' ||
698
- ('account' in envelope && 'signatures' in envelope)) {
786
+ ('signatures' in envelope && ('account' in envelope || 'init' in envelope))) {
699
787
  const multisig = envelope;
700
- return {
788
+ const hasAccount = typeof multisig.account !== 'undefined';
789
+ const hasInit = typeof multisig.init !== 'undefined';
790
+ if (hasAccount === hasInit)
791
+ throw new InvalidMultisigApprovalError({
792
+ reason: 'RPC multisig must contain exactly one of `account` or `init`',
793
+ });
794
+ const init = hasInit
795
+ ? MultisigConfig.from(multisig.init)
796
+ : undefined;
797
+ const account = init ? MultisigConfig.getAddress(init) : multisig.account;
798
+ const result = {
701
799
  type: 'multisig',
702
- account: multisig.account,
703
- // Owner approvals are raw serialized signatures (node `Vec<Bytes>`).
704
- signatures: multisig.signatures.map((signature) => deserialize(signature)),
705
- ...(multisig.init ? { init: MultisigConfig.from(multisig.init) } : {}),
800
+ account: account,
801
+ signatures: multisig.signatures.map((signature) => fromRpc(signature)),
802
+ ...(init ? { init } : {}),
706
803
  };
804
+ assert(result);
805
+ return result;
707
806
  }
708
807
  throw new CoercionError({ envelope });
709
808
  }
@@ -760,7 +859,9 @@ export function getType(envelope) {
760
859
  if ('userAddress' in envelope && 'inner' in envelope)
761
860
  return 'keychain';
762
861
  // Detect Multisig signature
763
- if (('account' in envelope || 'genesisConfig' in envelope) &&
862
+ if (('account' in envelope ||
863
+ 'genesisConfig' in envelope ||
864
+ 'init' in envelope) &&
764
865
  'signatures' in envelope)
765
866
  return 'multisig';
766
867
  throw new CoercionError({
@@ -776,6 +877,7 @@ export function getType(envelope) {
776
877
  * - WebAuthn: `0x02` + webauthnData (variable) + r (32) + s (32) + pubKeyX (32) + pubKeyY (32)
777
878
  * - Keychain V1: `0x03` + userAddress (20) + inner signature (recursive)
778
879
  * - Keychain V2: `0x04` + userAddress (20) + inner signature (recursive)
880
+ * - Multisig: `0x05` + RLP `[account | init, signatures]`
779
881
  *
780
882
  * [Signature Types](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
781
883
  *
@@ -824,13 +926,14 @@ export function serialize(envelope, options = {}) {
824
926
  }
825
927
  if (type === 'multisig') {
826
928
  const multisig = envelope;
827
- // Format: `0x05 || rlp([account, signatures, init?])`, where each owner
828
- // approval is an encoded signature. `init` is a trailing optional: the
829
- // bootstrap config list when present, otherwise omitted entirely.
929
+ assert(multisig);
930
+ // The first field is either the initialized account or the bootstrap init
931
+ // config. Each owner approval is an encoded signature.
830
932
  return Hex.concat(serializedMultisigType, Rlp.fromHex([
831
- multisig.account,
933
+ multisig.init
934
+ ? MultisigConfig.toTuple(multisig.init)
935
+ : multisig.account,
832
936
  multisig.signatures.map((signature) => serialize(signature)),
833
- ...(multisig.init ? [MultisigConfig.toTuple(multisig.init)] : []),
834
937
  ]), options.magic ? magicBytes : '0x');
835
938
  }
836
939
  throw new CoercionError({ envelope });
@@ -979,12 +1082,26 @@ export function toRpc(envelope) {
979
1082
  }
980
1083
  if (type === 'multisig') {
981
1084
  const multisig = envelope;
1085
+ assert(multisig);
1086
+ const signatures = multisig.signatures.map((signature) => toRpc(signature));
1087
+ if (multisig.init) {
1088
+ const init = {
1089
+ ...multisig.init,
1090
+ salt: multisig.init.salt ?? MultisigConfig.zeroSalt,
1091
+ threshold: Number(multisig.init.threshold),
1092
+ owners: multisig.init.owners.map((owner) => ({
1093
+ ...owner,
1094
+ weight: Number(owner.weight),
1095
+ })),
1096
+ };
1097
+ return {
1098
+ init,
1099
+ signatures,
1100
+ };
1101
+ }
982
1102
  return {
983
- type: 'multisig',
984
1103
  account: multisig.account,
985
- // Owner approvals are raw serialized signatures (node `Vec<Bytes>`).
986
- signatures: multisig.signatures.map((signature) => serialize(signature)),
987
- ...(multisig.init ? { init: multisig.init } : {}),
1104
+ signatures,
988
1105
  };
989
1106
  }
990
1107
  throw new CoercionError({ envelope });
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureEnvelope.js","sourceRoot":"","sources":["../../src/tempo/SignatureEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAE7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AASrC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD,uDAAuD;AACvD,MAAM,kBAAkB,GAAG,MAAM,CAAA;AACjC,MAAM,sBAAsB,GAAG,MAAM,CAAA;AACrC,MAAM,sBAAsB,GAAG,MAAM,CAAA;AACrC,MAAM,wBAAwB,GAAG,MAAM,CAAA;AACvC,MAAM,sBAAsB,GAAG,MAAM,CAAA;AAErC,iEAAiE;AACjE,MAAM,CAAC,MAAM,UAAU,GACrB,oEAAoE,CAAA,CAAC,UAAU;AAiOjF,yCAAyC;AACzC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAU,CAAA;AAK/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,MAAM,CAAC,QAA8C;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,QAAqB,CAAA;QACvC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACrC,OAAM;IACR,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,QAAgB,CAAA;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACtE,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACtE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;aACzC,CAAC;YACJ,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACrE,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACpB,MAAM,IAAI,sBAAsB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACvE,OAAM;IACR,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,IAAI,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1E,IAAI,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1E,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;aAC3C,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB;gBACtC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;YAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc;gBACnC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;aAC7C,CAAC;YACJ,IAAI,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACzE,IAAI,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC3E,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACpB,MAAM,IAAI,sBAAsB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAC3E,OAAM;IACR,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtB,OAAM;IACR,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACpB,MAAM,IAAI,sBAAsB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAC3E,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,eAAe;YAC5D,MAAM,IAAI,4BAA4B,CAAC;gBACrC,MAAM,EAAE,kCAAkC,cAAc,CAAC,eAAe,EAAE;aAC3E,CAAC,CAAA;QACJ,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;gBAC3B,MAAM,IAAI,4BAA4B,CAAC;oBACrC,MAAM,EAAE,0CAA0C;iBACnD,CAAC,CAAA;YACJ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI;gBACzC,MAAM,IAAI,4BAA4B,CAAC;oBACrC,MAAM,EAAE,qDAAqD;iBAC9D,CAAC,CAAA;YACJ,MAAM,CAAC,KAAK,CAAC,CAAA;QACf,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI;YAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvD,OAAM;IACR,CAAC;AACH,CAAC;AAYD,uEAAuE;AACvE,SAAS,eAAe,CAAC,QAAkB;IACzC,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,UAAU;QACrC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAC3B,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,GAAG,OAAO,CAAA;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA+B;IAE/B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACnC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClC,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC,WAAW,CAAA;QACtC,OAAO,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,gFAAgF;IAChF,oCAAoC;IACpC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC,OAAO,CAAA;IAC3D,OAAO,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;AACzD,CAAC;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAiC;IAEjC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAEtC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,gBAAgB,CAAC;gBACnC,OAAO;gBACP,SAAS,EAAE,SAAS,CAAC,SAAS;aAC/B,CAAC,CAAA;QACJ,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,SAAS,CAAC,SAAS,CAAA;QAC5B,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;QAClE,KAAK,UAAU;YACb,sEAAsE;YACtE,wEAAwE;YACxE,MAAM,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;IACpD,CAAC;AACH,CAAC;AAkBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,KAAK,CAAA;IAET,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEjC,2EAA2E;IAC3E,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC/C,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC3B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAsB,CAAA;IAC7D,CAAC;IAED,2DAA2D;IAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE/B,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClC,gFAAgF;QAChF,IAAI,QAAQ,KAAK,GAAG;YAClB,MAAM,IAAI,sBAAsB,CAAC;gBAC/B,MAAM,EAAE,iEAAiE,QAAQ,QAAQ;gBACzF,UAAU;aACX,CAAC,CAAA;QAEJ,OAAO;YACL,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC1B,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;aAC5B;YACD,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC;YACtD,SAAS,EAAE;gBACT,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;aAC3B;YACD,IAAI,EAAE,MAAM;SACE,CAAA;IAClB,CAAC;IAED,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,oFAAoF;QACpF,+EAA+E;QAC/E,IAAI,QAAQ,GAAG,GAAG;YAChB,MAAM,IAAI,sBAAsB,CAAC;gBAC/B,MAAM,EAAE,8EAA8E,QAAQ,QAAQ;gBACtG,UAAU;aACX,CAAC,CAAA;QAEJ,MAAM,gBAAgB,GAAG,QAAQ,GAAG,GAAG,CAAA;QACvC,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAEzD,+DAA+D;QAC/D,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,iBAAsC,CAAA;QAC1C,IAAI,cAAkC,CAAA;QAEtC,oEAAoE;QACpE,KAAK,IAAI,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;YAClE,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjE,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;oBACzB,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;oBACrD,cAAc,GAAG,aAAa,CAAA;oBAC9B,MAAK;gBACP,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc;YACvC,MAAM,IAAI,sBAAsB,CAAC;gBAC/B,MAAM,EACJ,iGAAiG;gBACnG,UAAU;aACX,CAAC,CAAA;QAEJ,OAAO;YACL,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,gBAAgB,GAAG,EAAE,CAAC;gBAChE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,gBAAgB,GAAG,GAAG,CAAC;aAClE;YACD,QAAQ,EAAE;gBACR,iBAAiB;gBACjB,cAAc;aACf;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,EAAE,CAAC;gBAC3D,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,gBAAgB,GAAG,EAAE,CAAC;aACjE;YACD,IAAI,EAAE,UAAU;SACE,CAAA;IACtB,CAAC;IAED,IACE,MAAM,KAAK,sBAAsB;QACjC,MAAM,KAAK,wBAAwB,EACnC,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAE9C,OAAO;YACL,WAAW;YACX,KAAK;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;SACxC,CAAA;IACtB,CAAC;IAED,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,wEAAwE;QACxE,uEAAuE;QACvE,+DAA+D;QAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAIjD,CAAA;QACD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACrD,MAAM,IAAI,sBAAsB,CAAC;gBAC/B,MAAM,EACJ,4FAA4F;gBAC9F,UAAU;aACX,CAAC,CAAA;QACJ,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI;gBACN,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,IAA4B,CAAC,EAAE;gBAClE,CAAC,CAAC,EAAE,CAAC;SACW,CAAA;IACtB,CAAC;IAED,MAAM,IAAI,sBAAsB,CAAC;QAC/B,MAAM,EAAE,sCAAsC,MAAM,cAAc,kBAAkB,YAAY,sBAAsB,gBAAgB,sBAAsB,mBAAmB,wBAAwB,sBAAsB,sBAAsB,aAAa;QAChQ,UAAU;KACX,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuKG;AACH,MAAM,UAAU,IAAI,CAClB,KAAyB,EACzB,OAAsB;IAEtB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,KAAK,CAAU,CAAA;IAEjE,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,GAAG,IAAI,KAAK;QACZ,GAAG,IAAI,KAAK;QACZ,SAAS,IAAI,KAAK;QAElB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAW,CAAA;IAEzD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAE3B,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,KAGhB,CAAA;QACD,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAA;QACjD,sEAAsE;QACtE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;YACpB,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAA;YACrC,IAAI,aAAa;gBAAE,OAAO,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;YAClE,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC,CAAC,EAAE,CAAA;QACJ,uEAAuE;QACvE,oEAAoE;QACpE,YAAY;QACZ,MAAM,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAA;QACpE,OAAO;YACL,GAAG,IAAI;YACP,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/D,0EAA0E;YAC1E,8DAA8D;YAC9D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,IAAI;SACI,CAAA;IACZ,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAG,KAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,KAAK,UAAU;YACrB,CAAC,CAAC;gBACE,GAAG,CAAC,CAAC,CACH,OAAO,KAAK,KAAK,QAAQ;oBACzB,KAAK,KAAK,IAAI;oBACd,SAAS,IAAI,KAAK;oBAClB,KAAK,CAAC,OAAO,CACd;oBACC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;oBACnB,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;oBACjE,CAAC,CAAC,CAAC,GAAG,EAAE;wBACJ,MAAM,KAAK,GAAI,KAAkB,CAAC,KAAK,CAAA;wBACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;4BACpD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAA;wBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,EAAE,OAAO;4BAChD,OAAO;gCACL,KAAK,EAAE,OAAO,CAAC,aAAa,CAC1B,YAAY,CAAC,gBAAgB,CAAC;oCAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;oCACxB,SAAS,EAAE,KAAK,CAAC,SAAS;iCAC3B,CAAC,CACH;6BACF,CAAA;wBACH,OAAO,EAAE,CAAA;oBACX,CAAC,CAAC,EAAE;oBACN,CAAC,CAAC,EAAE,CAAC;aACR;YACH,CAAC,CAAC,EAAE,CAAC;QACP,IAAI;KACI,CAAA;AACZ,CAAC;AAiDD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,OAAO,CAAC,QAA8B;IACpD,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;QAC/B,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtC,IAAI,EAAE,WAAW;SAClB,CAAA;IAEH,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;aACrC;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9B,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;aAC/B;YACD,IAAI,EAAE,MAAM;SACb,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;QAC1C,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE/C,+DAA+D;QAC/D,IAAI,iBAAsC,CAAA;QAC1C,IAAI,cAAkC,CAAA;QAEtC,oEAAoE;QACpE,KAAK,IAAI,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;YAClE,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjE,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;oBACzB,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;oBACrD,cAAc,GAAG,aAAa,CAAA;oBAC9B,MAAK;gBACP,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc;YACvC,MAAM,IAAI,sBAAsB,CAAC;gBAC/B,MAAM,EACJ,iGAAiG;gBACnG,UAAU,EAAE,YAAY;aACzB,CAAC,CAAA;QAEJ,OAAO;YACL,QAAQ,EAAE;gBACR,iBAAiB;gBACjB,cAAc;aACf;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;aACrC;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9B,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;aAC/B;YACD,IAAI,EAAE,UAAU;SACjB,CAAA;IACH,CAAC;IAED,IACE,QAAQ,CAAC,IAAI,KAAK,UAAU;QAC5B,CAAC,aAAa,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,CAAC,EACtD,CAAC;QACD,MAAM,QAAQ,GAAG,QAAuB,CAAA;QACxC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAClC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAA;IACH,CAAC;IAED,IACE,QAAQ,CAAC,IAAI,KAAK,UAAU;QAC5B,CAAC,SAAS,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,CAAC,EACnD,CAAC;QACD,MAAM,QAAQ,GAAG,QAAuB,CAAA;QACxC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,qEAAqE;YACrE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAChD,WAAW,CAAC,SAAS,CAAC,CACvB;YACD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAA;IACH,CAAC;IAED,MAAM,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;AACvC,CAAC;AAUD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,OAAO,CAKrB,QAAkB;IAClB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;QACnD,MAAM,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEvC,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC,IAAa,CAAA;IAEtE,oFAAoF;IACpF,IACE,WAAW,IAAI,QAAQ;QACvB,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAC;QAC1B,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;QACtC,QAAQ,CAAC,SAAS,KAAK,IAAI;QAC3B,GAAG,IAAI,QAAQ,CAAC,SAAS;QACzB,GAAG,IAAI,QAAQ,CAAC,SAAS;QACzB,SAAS,IAAI,QAAQ,CAAC,SAAS;QAE/B,OAAO,WAAoB,CAAA;IAE7B,8CAA8C;IAC9C,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ;QAC7D,OAAO,WAAoB,CAAA;IAE7B,wBAAwB;IACxB,IACE,WAAW,IAAI,QAAQ;QACvB,SAAS,IAAI,QAAQ;QACrB,WAAW,IAAI,QAAQ;QACvB,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS;QAErC,OAAO,MAAe,CAAA;IAExB,4BAA4B;IAC5B,IACE,WAAW,IAAI,QAAQ;QACvB,UAAU,IAAI,QAAQ;QACtB,WAAW,IAAI,QAAQ;QAEvB,OAAO,UAAmB,CAAA;IAE5B,4BAA4B;IAC5B,IAAI,aAAa,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ;QAClD,OAAO,UAAmB,CAAA;IAE5B,4BAA4B;IAC5B,IACE,CAAC,SAAS,IAAI,QAAQ,IAAI,eAAe,IAAI,QAAQ,CAAC;QACtD,YAAY,IAAI,QAAQ;QAExB,OAAO,UAAmB,CAAA;IAE5B,MAAM,IAAI,aAAa,CAAC;QACtB,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,SAAS,CACvB,QAAsD,EACtD,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,2DAA2D;IAC3D,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,QAAqB,CAAA;QACvC,OAAO,GAAG,CAAC,MAAM,CACf,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,EACpC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAClC,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,QAAgB,CAAA;QAC7B,sFAAsF;QACtF,OAAO,GAAG,CAAC,MAAM,CACf,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,CAAC,EAChB,IAAI,CAAC,SAAS,CAAC,CAAC,EAChB,IAAI,CAAC,SAAS,CAAC,CAAC,EAChB,IAAI,CAAC,SAAS,CAAC,CAAY,EAC3B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EACjD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAClC,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,yHAAyH;QACzH,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAC7B,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EACnC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CACjD,CAAA;QAED,OAAO,GAAG,CAAC,MAAM,CACf,sBAAsB,EACtB,YAAY,EACZ,QAAQ,CAAC,SAAS,CAAC,CAAC,EACpB,QAAQ,CAAC,SAAS,CAAC,CAAC,EACpB,QAAQ,CAAC,SAAS,CAAC,CAAC,EACpB,QAAQ,CAAC,SAAS,CAAC,CAAY,EAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAClC,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,MAAM,cAAc,GAClB,QAAQ,CAAC,OAAO,KAAK,IAAI;YACvB,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,wBAAwB,CAAA;QAC9B,OAAO,GAAG,CAAC,MAAM,CACf,cAAc,EACd,QAAQ,CAAC,WAAW,EACpB,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAClC,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,wEAAwE;QACxE,uEAAuE;QACvE,kEAAkE;QAClE,OAAO,GAAG,CAAC,MAAM,CACf,sBAAsB,EACtB,GAAG,CAAC,OAAO,CAAC;YACV,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC5D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,EACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAClC,CAAA;IACH,CAAC;IAED,MAAM,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;AACvC,CAAC;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAkC;IAElC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IACrC,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAC1C,eAAe,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa;QAC7C,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;QACjD,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAG,KAAsC,CAAC,OAAO,EAAE,CAC1E,CAAA;IACD,6EAA6E;IAC7E,cAAc;IACd,OAAO,UAAU;SACd,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,SAAS;KACV,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AACpC,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,KAAK,CAAC,QAAqB;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,QAAqB,CAAA;QACvC,OAAO;YACL,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YACvC,IAAI,EAAE,WAAW;SAClB,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,QAAgB,CAAA;QAC7B,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAY;YACpC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnB,IAAI,EAAE,MAAM;SACb,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAC7B,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EACnC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CACjD,CAAA;QAED,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAY;YACxC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvB,IAAI,EAAE,UAAU;YAChB,YAAY;SACb,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,QAAoB,CAAA;QACrC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,qEAAqE;YACrE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAA;IACH,CAAC;IAED,MAAM,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;AACvC,CAAC;AAYD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,QAAQ,CACtB,QAA8C;IAE9C,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqHG;AACH,MAAM,UAAU,MAAM,CACpB,SAA4B,EAC5B,UAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE9B,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,IAAI,UAAU,CAAC,OAAO;YAAE,OAAO,UAAU,CAAC,OAAO,CAAA;QACjD,IAAI,UAAU,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAC5E,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IACJ,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAEhC,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAC1B,OAAO,YAAY,CAAC,MAAM,CAAC;YACzB,OAAO;YACP,OAAO;YACP,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;QAC5D,OAAO,OAAO,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,QAAQ,CAAC,OAAO;YACtB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,OAAO;YACP,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;QAC5D,OAAO,eAAe,CAAC,MAAM,CAAC;YAC5B,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,IAAI,iBAAiB,CACzB,gDAAgD,QAAQ,CAAC,IAAI,IAAI,CAClE,CAAA;AACH,CAAC;AAkBD;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,SAAS;IAC/B,IAAI,GAAG,iCAAiC,CAAA;IAC1D,YAAY,EAAE,QAAQ,EAAyB;QAC7C,KAAK,CACH,6BAA6B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oCAAoC,CAC1F,CAAA;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,SAAS;IACxC,IAAI,GAAG,0CAA0C,CAAA;IACnE,YAAY,EACV,QAAQ,EACR,OAAO,EACP,IAAI,GAKL;QACC,KAAK,CACH,+BAA+B,IAAI,qCAAqC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC9J,CAAA;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,SAAS;IACxC,IAAI,GAAG,0CAA0C,CAAA;IACnE,YAAY,EAAE,MAAM,EAAE,UAAU,EAA2C;QACzE,KAAK,CAAC,6CAA6C,MAAM,EAAE,EAAE;YAC3D,YAAY,EAAE,CAAC,eAAe,UAAU,EAAE,CAAC;SAC5C,CAAC,CAAA;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,MAAM,CAAC,SAAS;IAC9C,IAAI,GAAG,gDAAgD,CAAA;IACzE,YAAY,EAAE,MAAM,EAAsB;QACxC,KAAK,CAAC,2CAA2C,MAAM,GAAG,CAAC,CAAA;IAC7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,SAAS;IACnC,IAAI,GAAG,qCAAqC,CAAA;CAC/D"}
1
+ {"version":3,"file":"SignatureEnvelope.js","sourceRoot":"","sources":["../../src/tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}