@pkcprotocol/pkc-js 0.0.15 → 0.0.17

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 (175) hide show
  1. package/dist/browser/clients/base-client-manager.d.ts +7 -5
  2. package/dist/browser/clients/base-client-manager.js +38 -23
  3. package/dist/browser/clients/base-client-manager.js.map +1 -1
  4. package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +24 -29
  5. package/dist/browser/clients/rpc-client/pkc-rpc-client.js +56 -67
  6. package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -1
  7. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +25 -8
  8. package/dist/browser/clients/rpc-client/rpc-schema-util.js +12 -6
  9. package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -1
  10. package/dist/browser/clients/rpc-client/schema.d.ts +14 -10
  11. package/dist/browser/clients/rpc-client/schema.js +14 -11
  12. package/dist/browser/clients/rpc-client/schema.js.map +1 -1
  13. package/dist/browser/clients/rpc-client/types.d.ts +20 -3
  14. package/dist/browser/community/community-client-manager.js +19 -8
  15. package/dist/browser/community/community-client-manager.js.map +1 -1
  16. package/dist/browser/community/remote-community.d.ts +1 -0
  17. package/dist/browser/community/remote-community.js +30 -5
  18. package/dist/browser/community/remote-community.js.map +1 -1
  19. package/dist/browser/community/rpc-local-community.js +11 -6
  20. package/dist/browser/community/rpc-local-community.js.map +1 -1
  21. package/dist/browser/community/rpc-remote-community.js +11 -9
  22. package/dist/browser/community/rpc-remote-community.js.map +1 -1
  23. package/dist/browser/community/schema.d.ts +1 -1
  24. package/dist/browser/community/schema.js +1 -2
  25. package/dist/browser/community/schema.js.map +1 -1
  26. package/dist/browser/errors.d.ts +2 -3
  27. package/dist/browser/errors.js +1 -2
  28. package/dist/browser/errors.js.map +1 -1
  29. package/dist/browser/generated-version.d.ts +1 -1
  30. package/dist/browser/generated-version.js +1 -1
  31. package/dist/browser/index.js +1 -1
  32. package/dist/browser/index.js.map +1 -1
  33. package/dist/browser/pages/pages-client-manager.js +11 -8
  34. package/dist/browser/pages/pages-client-manager.js.map +1 -1
  35. package/dist/browser/pages/pages.d.ts +1 -1
  36. package/dist/browser/pages/pages.js +2 -2
  37. package/dist/browser/pages/pages.js.map +1 -1
  38. package/dist/browser/pkc/pkc-with-rpc-client.d.ts +8 -3
  39. package/dist/browser/pkc/pkc-with-rpc-client.js +9 -3
  40. package/dist/browser/pkc/pkc-with-rpc-client.js.map +1 -1
  41. package/dist/browser/pkc/pkc.d.ts +8 -5
  42. package/dist/browser/pkc/pkc.js +37 -25
  43. package/dist/browser/pkc/pkc.js.map +1 -1
  44. package/dist/browser/pkc/tracked-instance-registry-util.d.ts +4 -2
  45. package/dist/browser/pkc/tracked-instance-registry-util.js +2 -0
  46. package/dist/browser/pkc/tracked-instance-registry-util.js.map +1 -1
  47. package/dist/browser/pkc-error.d.ts +1 -1
  48. package/dist/browser/publications/comment/comment-client-manager.d.ts +1 -1
  49. package/dist/browser/publications/comment/comment-client-manager.js +37 -16
  50. package/dist/browser/publications/comment/comment-client-manager.js.map +1 -1
  51. package/dist/browser/publications/comment/comment.js +19 -9
  52. package/dist/browser/publications/comment/comment.js.map +1 -1
  53. package/dist/browser/publications/publication-client-manager.js +9 -6
  54. package/dist/browser/publications/publication-client-manager.js.map +1 -1
  55. package/dist/browser/publications/publication.d.ts +3 -1
  56. package/dist/browser/publications/publication.js +21 -17
  57. package/dist/browser/publications/publication.js.map +1 -1
  58. package/dist/browser/publications/types.d.ts +0 -1
  59. package/dist/browser/rpc/src/index.d.ts +23 -409
  60. package/dist/browser/rpc/src/index.js +81 -49
  61. package/dist/browser/rpc/src/index.js.map +1 -1
  62. package/dist/browser/rpc/src/schema.d.ts +3 -60
  63. package/dist/browser/runtime/node/community/challenges/index.js +1 -2
  64. package/dist/browser/runtime/node/community/challenges/index.js.map +1 -1
  65. package/dist/browser/runtime/node/community/local-community.js +31 -19
  66. package/dist/browser/runtime/node/community/local-community.js.map +1 -1
  67. package/dist/browser/schema/schema-util.js +4 -4
  68. package/dist/browser/schema/schema-util.js.map +1 -1
  69. package/dist/browser/schema/schema.d.ts +1 -0
  70. package/dist/browser/schema/schema.js +6 -0
  71. package/dist/browser/schema/schema.js.map +1 -1
  72. package/dist/browser/schema.d.ts +17 -132
  73. package/dist/browser/schema.js +19 -21
  74. package/dist/browser/schema.js.map +1 -1
  75. package/dist/browser/signer/signatures.d.ts +2 -1
  76. package/dist/browser/signer/signatures.js +34 -19
  77. package/dist/browser/signer/signatures.js.map +1 -1
  78. package/dist/browser/signer/util.d.ts +6 -6
  79. package/dist/browser/signer/util.js +25 -25
  80. package/dist/browser/signer/util.js.map +1 -1
  81. package/dist/browser/test/node/hanging-test/scenarios/comment-update.scenario.js +2 -1
  82. package/dist/browser/test/node/hanging-test/scenarios/comment-update.scenario.js.map +1 -1
  83. package/dist/browser/test/test-util.js +30 -8
  84. package/dist/browser/test/test-util.js.map +1 -1
  85. package/dist/browser/types.d.ts +5 -0
  86. package/dist/browser/util.js +32 -12
  87. package/dist/browser/util.js.map +1 -1
  88. package/dist/node/clients/base-client-manager.d.ts +7 -5
  89. package/dist/node/clients/base-client-manager.js +38 -23
  90. package/dist/node/clients/base-client-manager.js.map +1 -1
  91. package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +24 -29
  92. package/dist/node/clients/rpc-client/pkc-rpc-client.js +56 -67
  93. package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -1
  94. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +25 -8
  95. package/dist/node/clients/rpc-client/rpc-schema-util.js +12 -6
  96. package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -1
  97. package/dist/node/clients/rpc-client/schema.d.ts +14 -10
  98. package/dist/node/clients/rpc-client/schema.js +14 -11
  99. package/dist/node/clients/rpc-client/schema.js.map +1 -1
  100. package/dist/node/clients/rpc-client/types.d.ts +20 -3
  101. package/dist/node/community/community-client-manager.js +19 -8
  102. package/dist/node/community/community-client-manager.js.map +1 -1
  103. package/dist/node/community/remote-community.d.ts +1 -0
  104. package/dist/node/community/remote-community.js +30 -5
  105. package/dist/node/community/remote-community.js.map +1 -1
  106. package/dist/node/community/rpc-local-community.js +11 -6
  107. package/dist/node/community/rpc-local-community.js.map +1 -1
  108. package/dist/node/community/rpc-remote-community.js +11 -9
  109. package/dist/node/community/rpc-remote-community.js.map +1 -1
  110. package/dist/node/community/schema.d.ts +1 -1
  111. package/dist/node/community/schema.js +1 -2
  112. package/dist/node/community/schema.js.map +1 -1
  113. package/dist/node/errors.d.ts +2 -3
  114. package/dist/node/errors.js +1 -2
  115. package/dist/node/errors.js.map +1 -1
  116. package/dist/node/generated-version.d.ts +1 -1
  117. package/dist/node/generated-version.js +1 -1
  118. package/dist/node/index.js +1 -1
  119. package/dist/node/index.js.map +1 -1
  120. package/dist/node/pages/pages-client-manager.js +11 -8
  121. package/dist/node/pages/pages-client-manager.js.map +1 -1
  122. package/dist/node/pages/pages.d.ts +1 -1
  123. package/dist/node/pages/pages.js +2 -2
  124. package/dist/node/pages/pages.js.map +1 -1
  125. package/dist/node/pkc/pkc-with-rpc-client.d.ts +8 -3
  126. package/dist/node/pkc/pkc-with-rpc-client.js +9 -3
  127. package/dist/node/pkc/pkc-with-rpc-client.js.map +1 -1
  128. package/dist/node/pkc/pkc.d.ts +8 -5
  129. package/dist/node/pkc/pkc.js +37 -25
  130. package/dist/node/pkc/pkc.js.map +1 -1
  131. package/dist/node/pkc/tracked-instance-registry-util.d.ts +4 -2
  132. package/dist/node/pkc/tracked-instance-registry-util.js +2 -0
  133. package/dist/node/pkc/tracked-instance-registry-util.js.map +1 -1
  134. package/dist/node/pkc-error.d.ts +1 -1
  135. package/dist/node/publications/comment/comment-client-manager.d.ts +1 -1
  136. package/dist/node/publications/comment/comment-client-manager.js +37 -16
  137. package/dist/node/publications/comment/comment-client-manager.js.map +1 -1
  138. package/dist/node/publications/comment/comment.js +19 -9
  139. package/dist/node/publications/comment/comment.js.map +1 -1
  140. package/dist/node/publications/publication-client-manager.js +9 -6
  141. package/dist/node/publications/publication-client-manager.js.map +1 -1
  142. package/dist/node/publications/publication.d.ts +3 -1
  143. package/dist/node/publications/publication.js +21 -17
  144. package/dist/node/publications/publication.js.map +1 -1
  145. package/dist/node/publications/types.d.ts +0 -1
  146. package/dist/node/rpc/src/index.d.ts +23 -409
  147. package/dist/node/rpc/src/index.js +81 -49
  148. package/dist/node/rpc/src/index.js.map +1 -1
  149. package/dist/node/rpc/src/schema.d.ts +3 -60
  150. package/dist/node/runtime/node/community/challenges/index.js +1 -2
  151. package/dist/node/runtime/node/community/challenges/index.js.map +1 -1
  152. package/dist/node/runtime/node/community/local-community.js +31 -19
  153. package/dist/node/runtime/node/community/local-community.js.map +1 -1
  154. package/dist/node/schema/schema-util.js +4 -4
  155. package/dist/node/schema/schema-util.js.map +1 -1
  156. package/dist/node/schema/schema.d.ts +1 -0
  157. package/dist/node/schema/schema.js +6 -0
  158. package/dist/node/schema/schema.js.map +1 -1
  159. package/dist/node/schema.d.ts +17 -132
  160. package/dist/node/schema.js +19 -21
  161. package/dist/node/schema.js.map +1 -1
  162. package/dist/node/signer/signatures.d.ts +2 -1
  163. package/dist/node/signer/signatures.js +34 -19
  164. package/dist/node/signer/signatures.js.map +1 -1
  165. package/dist/node/signer/util.d.ts +6 -6
  166. package/dist/node/signer/util.js +25 -25
  167. package/dist/node/signer/util.js.map +1 -1
  168. package/dist/node/test/node/hanging-test/scenarios/comment-update.scenario.js +2 -1
  169. package/dist/node/test/node/hanging-test/scenarios/comment-update.scenario.js.map +1 -1
  170. package/dist/node/test/test-util.js +30 -8
  171. package/dist/node/test/test-util.js.map +1 -1
  172. package/dist/node/types.d.ts +5 -0
  173. package/dist/node/util.js +32 -12
  174. package/dist/node/util.js.map +1 -1
  175. package/package.json +12 -18
@@ -104,14 +104,16 @@ export declare class BaseClientsManager {
104
104
  postResolveNameResolverSuccess(opts: PostResolveNameResolverSuccessOptions): void;
105
105
  postResolveNameResolverFailure(opts: PostResolveNameResolverFailureOptions): void;
106
106
  private _resolveViaNameResolvers;
107
- resolveCommunityNameIfNeeded({ communityAddress, abortSignal }: {
108
- communityAddress: string;
107
+ resolveCommunityNameIfNeeded({ communityName, abortSignal }: {
108
+ communityName: string;
109
109
  abortSignal?: AbortSignal;
110
110
  }): Promise<string | null>;
111
- resolveAuthorNameIfNeeded({ authorAddress, abortSignal }: {
112
- authorAddress: string;
111
+ resolveAuthorNameIfNeeded({ authorName, abortSignal }: {
112
+ authorName: string;
113
113
  abortSignal?: AbortSignal;
114
- }): Promise<string | null>;
114
+ }): Promise<{
115
+ resolvedAuthorName: string | null;
116
+ }>;
115
117
  resolveAuthorNamesInBackground({ authors, onResolved, abortSignal }: {
116
118
  authors: Array<{
117
119
  authorName: string;
@@ -1,5 +1,5 @@
1
1
  import assert from "assert";
2
- import { calculateIpfsCidV0, hideClassPrivateProps, isAbortError, isIpns, isStringDomain, throwIfAbortSignalAborted } from "../util.js";
2
+ import { calculateIpfsCidV0, createAbortError, hideClassPrivateProps, isAbortError, isIpns, isStringDomain, throwIfAbortSignalAborted } from "../util.js";
3
3
  import { sha256 } from "js-sha256";
4
4
  import { getPKCAddressFromPublicKey } from "../signer/util.js";
5
5
  import { nativeFunctions } from "../runtime/browser/util.js";
@@ -552,61 +552,73 @@ export class BaseClientsManager {
552
552
  preResolveNameResolver(opts) { }
553
553
  postResolveNameResolverSuccess(opts) { }
554
554
  postResolveNameResolverFailure(opts) { }
555
- async _resolveViaNameResolvers({ address, resolveType, abortSignal }) {
555
+ async _resolveViaNameResolvers({ name, resolveType, abortSignal }) {
556
556
  const log = Logger("pkc-js:client-manager:_resolveViaNameResolvers");
557
557
  const nameResolvers = this._pkc.nameResolvers;
558
558
  if (!nameResolvers || nameResolvers.length === 0) {
559
- throw new PKCError("ERR_NO_RESOLVER_FOR_NAME", { address });
559
+ throw new PKCError("ERR_NO_RESOLVER_FOR_NAME", { address: name });
560
560
  }
561
561
  throwIfAbortSignalAborted(abortSignal);
562
562
  let value;
563
563
  let anyResolverCanHandle = false;
564
564
  for (const nameResolver of nameResolvers) {
565
- if (!nameResolver.canResolve({ name: address }))
565
+ if (!nameResolver.canResolve({ name }))
566
566
  continue;
567
567
  anyResolverCanHandle = true;
568
- this.preResolveNameResolver({ address, resolveType, resolverKey: nameResolver.key });
568
+ this.preResolveNameResolver({ address: name, resolveType, resolverKey: nameResolver.key });
569
569
  try {
570
570
  throwIfAbortSignalAborted(abortSignal);
571
- const result = await nameResolver.resolve({ name: address, provider: nameResolver.provider, abortSignal });
571
+ const resolvePromise = nameResolver.resolve({ name, provider: nameResolver.provider, abortSignal });
572
+ // Race resolve() against abort signal so resolvers that ignore the signal still get interrupted
573
+ const result = abortSignal
574
+ ? await Promise.race([
575
+ resolvePromise,
576
+ new Promise((_, reject) => {
577
+ if (abortSignal.aborted)
578
+ reject(createAbortError());
579
+ else
580
+ abortSignal.addEventListener("abort", () => reject(createAbortError()), { once: true });
581
+ })
582
+ ])
583
+ : await resolvePromise;
572
584
  throwIfAbortSignalAborted(abortSignal);
573
585
  value = result?.publicKey;
574
586
  }
575
587
  catch (e) {
576
588
  const error = isAbortError(e) ? e : e;
577
- this.postResolveNameResolverFailure({ address, resolveType, resolverKey: nameResolver.key, error });
589
+ this.postResolveNameResolverFailure({ address: name, resolveType, resolverKey: nameResolver.key, error });
578
590
  if (abortSignal?.aborted)
579
591
  throwIfAbortSignalAborted(abortSignal);
580
592
  if (isAbortError(error))
581
593
  throw error;
582
- log.error(`Resolver ${nameResolver.key} failed for ${address}`, error);
594
+ log.error(`Resolver ${nameResolver.key} failed for ${name}`, error);
583
595
  continue;
584
596
  }
585
- this.postResolveNameResolverSuccess({ address, resolveType, resolverKey: nameResolver.key, resolvedValue: value });
597
+ this.postResolveNameResolverSuccess({ address: name, resolveType, resolverKey: nameResolver.key, resolvedValue: value });
586
598
  if (value)
587
599
  break;
588
600
  }
589
601
  if (!anyResolverCanHandle) {
590
- throw new PKCError("ERR_NO_RESOLVER_FOR_NAME", { address });
602
+ throw new PKCError("ERR_NO_RESOLVER_FOR_NAME", { address: name });
591
603
  }
592
604
  return value || null;
593
605
  }
594
- async resolveCommunityNameIfNeeded({ communityAddress, abortSignal }) {
595
- assert(typeof communityAddress === "string", "communityAddress needs to be a string to be resolved");
596
- if (!isStringDomain(communityAddress))
597
- return communityAddress;
598
- const result = await this._resolveViaNameResolvers({ address: communityAddress, resolveType: "community", abortSignal });
606
+ async resolveCommunityNameIfNeeded({ communityName, abortSignal }) {
607
+ assert(typeof communityName === "string", "communityName needs to be a string to be resolved");
608
+ if (!isStringDomain(communityName))
609
+ return communityName;
610
+ const result = await this._resolveViaNameResolvers({ name: communityName, resolveType: "community", abortSignal });
599
611
  if (typeof result === "string" && !isIpns(result))
600
- throw new PKCError("ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS", { resolvedTextRecord: result, address: communityAddress });
612
+ throw new PKCError("ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS", { resolvedTextRecord: result, address: communityName });
601
613
  return result;
602
614
  }
603
- async resolveAuthorNameIfNeeded({ authorAddress, abortSignal }) {
604
- if (!isStringDomain(authorAddress))
605
- throw new PKCError("ERR_AUTHOR_ADDRESS_IS_NOT_A_DOMAIN_OR_B58", { authorAddress });
606
- const result = await this._resolveViaNameResolvers({ address: authorAddress, resolveType: "author", abortSignal });
615
+ async resolveAuthorNameIfNeeded({ authorName, abortSignal }) {
616
+ if (!isStringDomain(authorName))
617
+ throw new PKCError("ERR_AUTHOR_ADDRESS_IS_NOT_A_DOMAIN_OR_B58", { authorAddress: authorName });
618
+ const result = await this._resolveViaNameResolvers({ name: authorName, resolveType: "author", abortSignal });
607
619
  if (typeof result === "string" && !isIpns(result))
608
- throw new PKCError("ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS", { resolvedTextRecord: result, address: authorAddress });
609
- return result;
620
+ throw new PKCError("ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS", { resolvedTextRecord: result, address: authorName });
621
+ return { resolvedAuthorName: result };
610
622
  }
611
623
  // Background author name resolution — fire-and-forget, populates nameResolvedCache
612
624
  resolveAuthorNamesInBackground({ authors, onResolved, abortSignal }) {
@@ -633,7 +645,10 @@ export class BaseClientsManager {
633
645
  if (abortSignal?.aborted)
634
646
  return false;
635
647
  try {
636
- const resolved = await this.resolveAuthorNameIfNeeded({ authorAddress: entry.authorName, abortSignal });
648
+ const { resolvedAuthorName: resolved } = await this.resolveAuthorNameIfNeeded({
649
+ authorName: entry.authorName,
650
+ abortSignal
651
+ });
637
652
  const signerAddress = await getPKCAddressFromPublicKey(entry.signaturePublicKey);
638
653
  const matches = resolved === signerAddress;
639
654
  cache.set(entry.cacheKey, matches);
@@ -1 +1 @@
1
- {"version":3,"file":"base-client-manager.js","sourceRoot":"","sources":["../../../src/clients/base-client-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-client-manager.js","sourceRoot":"","sources":["../../../src/clients/base-client-manager.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
1
  import EventEmitter from "events";
2
- import type { CreateNewLocalCommunityUserOptions, RpcInternalCommunityRecordBeforeFirstUpdateType, CommunityEditOptions, RpcLocalCommunityUpdateResultType } from "../../community/types.js";
3
- import type { ModQueuePageIpfs, PageIpfs } from "../../pages/types.js";
4
- import type { PageRuntimeFields } from "../../pages/util.js";
5
- import type { DecryptedChallengeAnswer, DecryptedChallengeRequest } from "../../pubsub-messages/types.js";
2
+ import type { CreateNewLocalCommunityUserOptions } from "../../community/types.js";
3
+ import type { CommentChallengeRequestToEncryptType } from "../../publications/comment/types.js";
4
+ import type { VoteChallengeRequestToEncryptType } from "../../publications/vote/types.js";
5
+ import type { CommentEditChallengeRequestToEncryptType } from "../../publications/comment-edit/types.js";
6
+ import type { CommentModerationChallengeRequestToEncrypt } from "../../publications/comment-moderation/types.js";
7
+ import type { CommunityEditChallengeRequestToEncryptType } from "../../publications/community-edit/types.js";
6
8
  import type { PKCWsServerSettingsSerialized } from "../../rpc/src/types.js";
7
9
  import type { CommentIpfsType } from "../../publications/comment/types.js";
8
10
  import { SetNewSettingsPKCWsServerSchema } from "../../rpc/src/schema.js";
9
11
  import * as z from "zod";
10
12
  import { TypedEmitter } from "tiny-typed-emitter";
11
13
  import type { PKCRpcClientEvents } from "../../types.js";
12
- import type { RpcPublishResult } from "../../publications/types.js";
13
- import type { CommunityAddressRpcParam, CommunityLookupRpcParam, CidRpcParam, CommentPageRpcParam, CommunityPageRpcParam } from "./types.js";
14
+ import type { AuthorNameRpcParam, CommunityIdentifierRpcParam, CidRpcParam, FetchCidRpcParam, CommentPageRpcParam, CommunityPageRpcParam, EditCommunityRpcParam, PublishChallengeAnswersRpcParam, RpcInternalCommunityRecordBeforeFirstUpdateType, RpcLocalCommunityUpdateResultType, RpcCommentPageResult, RpcCommunityPageResult, RpcResolveAuthorNameResult, RpcSubscriptionIdResult, RpcSuccessResult, RpcFetchCidResult } from "./types.js";
14
15
  export default class PKCRpcClient extends TypedEmitter<PKCRpcClientEvents> {
15
16
  state: "stopped" | "connecting" | "failed" | "connected";
16
17
  communities: string[];
@@ -34,33 +35,27 @@ export default class PKCRpcClient extends TypedEmitter<PKCRpcClientEvents> {
34
35
  private _assignAdditionalProps;
35
36
  emitAllPendingMessages(subscriptionId: number): void;
36
37
  getComment(args: CidRpcParam): Promise<CommentIpfsType>;
37
- getCommentPage(page: CommentPageRpcParam): Promise<{
38
- page: PageIpfs;
39
- runtimeFields?: PageRuntimeFields;
40
- }>;
41
- getCommunityPage(page: CommunityPageRpcParam): Promise<{
42
- page: PageIpfs | ModQueuePageIpfs;
43
- runtimeFields?: PageRuntimeFields;
44
- }>;
38
+ getCommentPage(page: CommentPageRpcParam): Promise<RpcCommentPageResult>;
39
+ getCommunityPage(page: CommunityPageRpcParam): Promise<RpcCommunityPageResult>;
45
40
  createCommunity(createCommunityOptions: CreateNewLocalCommunityUserOptions): Promise<RpcInternalCommunityRecordBeforeFirstUpdateType>;
46
41
  private _initSubscriptionEvent;
47
- startCommunity(communityAddress: CommunityAddressRpcParam): Promise<number>;
48
- stopCommunity(communityAddress: CommunityAddressRpcParam): Promise<void>;
49
- editCommunity(communityAddress: string, communityEditOptions: CommunityEditOptions): Promise<RpcLocalCommunityUpdateResultType>;
50
- deleteCommunity(communityAddress: CommunityAddressRpcParam): Promise<void>;
51
- communityUpdateSubscribe(communityAddress: CommunityLookupRpcParam): Promise<number>;
52
- publishComment(commentProps: DecryptedChallengeRequest): Promise<RpcPublishResult>;
53
- publishCommentEdit(commentEditProps: DecryptedChallengeRequest): Promise<RpcPublishResult>;
54
- publishCommentModeration(commentModProps: DecryptedChallengeRequest): Promise<RpcPublishResult>;
55
- publishVote(voteProps: DecryptedChallengeRequest): Promise<RpcPublishResult>;
56
- publishCommunityEdit(communityEdit: DecryptedChallengeRequest): Promise<RpcPublishResult>;
57
- commentUpdateSubscribe(args: CidRpcParam): Promise<number>;
58
- publishChallengeAnswers(subscriptionId: number, challengeAnswers: DecryptedChallengeAnswer["challengeAnswers"]): Promise<true>;
59
- resolveAuthorName(parsedAuthorAddress: CommunityAddressRpcParam): Promise<string | null>;
42
+ startCommunity(communityIdentifier: CommunityIdentifierRpcParam): Promise<RpcSubscriptionIdResult>;
43
+ stopCommunity(communityIdentifier: CommunityIdentifierRpcParam): Promise<RpcSuccessResult>;
44
+ editCommunity(args: EditCommunityRpcParam): Promise<RpcLocalCommunityUpdateResultType>;
45
+ deleteCommunity(communityIdentifier: CommunityIdentifierRpcParam): Promise<RpcSuccessResult>;
46
+ communityUpdateSubscribe(communityIdentifier: CommunityIdentifierRpcParam): Promise<RpcSubscriptionIdResult>;
47
+ publishComment(commentProps: CommentChallengeRequestToEncryptType): Promise<RpcSubscriptionIdResult>;
48
+ publishCommentEdit(commentEditProps: CommentEditChallengeRequestToEncryptType): Promise<RpcSubscriptionIdResult>;
49
+ publishCommentModeration(commentModProps: CommentModerationChallengeRequestToEncrypt): Promise<RpcSubscriptionIdResult>;
50
+ publishVote(voteProps: VoteChallengeRequestToEncryptType): Promise<RpcSubscriptionIdResult>;
51
+ publishCommunityEdit(communityEdit: CommunityEditChallengeRequestToEncryptType): Promise<RpcSubscriptionIdResult>;
52
+ commentUpdateSubscribe(args: CidRpcParam): Promise<RpcSubscriptionIdResult>;
53
+ publishChallengeAnswers(args: PublishChallengeAnswersRpcParam): Promise<RpcSuccessResult>;
54
+ resolveAuthorName(parsedAuthorName: AuthorNameRpcParam): Promise<RpcResolveAuthorNameResult>;
60
55
  initalizeCommunitieschangeEvent(): Promise<void>;
61
56
  initalizeSettingschangeEvent(): Promise<void>;
62
- fetchCid(args: CidRpcParam): Promise<string>;
63
- setSettings(settings: z.input<typeof SetNewSettingsPKCWsServerSchema>): Promise<true>;
57
+ fetchCid(args: FetchCidRpcParam): Promise<RpcFetchCidResult>;
58
+ setSettings(settings: z.input<typeof SetNewSettingsPKCWsServerSchema>): Promise<RpcSuccessResult>;
64
59
  rpcCall(method: string, params: any[]): Promise<any>;
65
60
  getDefaults(): Promise<void>;
66
61
  getPeers(): Promise<void>;
@@ -5,11 +5,10 @@ import { PKCError } from "../../pkc-error.js";
5
5
  import EventEmitter from "events";
6
6
  import pTimeout from "p-timeout";
7
7
  import { hideClassPrivateProps, replaceXWithY, resolveWhenPredicateIsTrue } from "../../util.js";
8
- import { SubscriptionIdSchema } from "./schema.js";
9
8
  import { parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails } from "../../schema/schema-util.js";
10
9
  import { TypedEmitter } from "tiny-typed-emitter";
11
10
  import { messages } from "../../errors.js";
12
- import { parseRpcCommunityAddressParam, parseRpcCommunityLookupParam, parseRpcAuthorNameParam, parseRpcCidParam, parseRpcCommentRepliesPageParam, parseRpcCommunityPageParam } from "./rpc-schema-util.js";
11
+ import { parseRpcCommunityIdentifierParam, parseRpcAuthorNameParam, parseRpcCidParam, parseRpcFetchCidParam, parseRpcEditCommunityParam, parseRpcCommentRepliesPageParam, parseRpcCommunityPageParam, parseRpcResolveAuthorNameResult, parseRpcFetchCidResult, parseRpcSuccessResult, parseRpcSubscriptionIdResult } from "./rpc-schema-util.js";
13
12
  const log = Logger("pkc-js:PKCRpcClient");
14
13
  export default class PKCRpcClient extends TypedEmitter {
15
14
  constructor(rpcServerUrl) {
@@ -282,82 +281,78 @@ export default class PKCRpcClient extends TypedEmitter {
282
281
  if (!this._pendingSubscriptionMsgs[subscriptionId])
283
282
  this._pendingSubscriptionMsgs[subscriptionId] = [];
284
283
  }
285
- async startCommunity(communityAddress) {
286
- const parsedStartCommunityArgs = parseRpcCommunityAddressParam(communityAddress);
287
- const subscriptionId = SubscriptionIdSchema.parse(await this._webSocketClient.call("startCommunity", [parsedStartCommunityArgs]));
288
- this._initSubscriptionEvent(subscriptionId);
289
- return subscriptionId;
290
- }
291
- async stopCommunity(communityAddress) {
292
- const parsedStopCommunityArgs = parseRpcCommunityAddressParam(communityAddress);
293
- const res = await this._webSocketClient.call("stopCommunity", [parsedStopCommunityArgs]);
294
- if (res !== true)
295
- throw Error("Calling RPC function should throw or return true");
284
+ async startCommunity(communityIdentifier) {
285
+ const parsedStartCommunityArgs = parseRpcCommunityIdentifierParam(communityIdentifier);
286
+ const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call("startCommunity", [parsedStartCommunityArgs]));
287
+ this._initSubscriptionEvent(res.subscriptionId);
288
+ return res;
296
289
  }
297
- async editCommunity(communityAddress, communityEditOptions) {
298
- const propsAfterReplacing = replaceXWithY(communityEditOptions, undefined, null);
299
- const rawRes = (await this._webSocketClient.call("editCommunity", [{ address: communityAddress, editOptions: propsAfterReplacing }]));
290
+ async stopCommunity(communityIdentifier) {
291
+ const parsedStopCommunityArgs = parseRpcCommunityIdentifierParam(communityIdentifier);
292
+ return parseRpcSuccessResult(await this._webSocketClient.call("stopCommunity", [parsedStopCommunityArgs]));
293
+ }
294
+ async editCommunity(args) {
295
+ // Validate with original values (schema accepts undefined but not null)
296
+ parseRpcEditCommunityParam(args);
297
+ // Convert undefined→null for JSON wire format, send without re-validating
298
+ const wireArgs = {
299
+ ...args,
300
+ editOptions: replaceXWithY(args.editOptions, undefined, null)
301
+ };
302
+ const rawRes = await this._webSocketClient.call("editCommunity", [wireArgs]);
300
303
  return rawRes;
301
304
  }
302
- async deleteCommunity(communityAddress) {
303
- const parsedDeleteCommunityArgs = parseRpcCommunityAddressParam(communityAddress);
304
- const res = await this._webSocketClient.call("deleteCommunity", [parsedDeleteCommunityArgs]);
305
- if (res !== true)
306
- throw Error("Calling RPC function deleteCommunity should either return true or throw");
305
+ async deleteCommunity(communityIdentifier) {
306
+ const parsedDeleteCommunityArgs = parseRpcCommunityIdentifierParam(communityIdentifier);
307
+ return parseRpcSuccessResult(await this._webSocketClient.call("deleteCommunity", [parsedDeleteCommunityArgs]));
307
308
  }
308
- async communityUpdateSubscribe(communityAddress) {
309
- const parsedCommunityUpdateArgs = parseRpcCommunityLookupParam(communityAddress);
310
- const subscriptionId = SubscriptionIdSchema.parse(await this._webSocketClient.call("communityUpdateSubscribe", [parsedCommunityUpdateArgs]));
311
- this._initSubscriptionEvent(subscriptionId);
312
- return subscriptionId;
309
+ async communityUpdateSubscribe(communityIdentifier) {
310
+ const parsedCommunityUpdateArgs = parseRpcCommunityIdentifierParam(communityIdentifier);
311
+ const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call("communityUpdateSubscribe", [parsedCommunityUpdateArgs]));
312
+ this._initSubscriptionEvent(res.subscriptionId);
313
+ return res;
313
314
  }
314
315
  async publishComment(commentProps) {
315
- const publishRes = await this._webSocketClient.call("publishComment", [commentProps]);
316
- this._initSubscriptionEvent(publishRes);
317
- return publishRes;
316
+ const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call("publishComment", [commentProps]));
317
+ this._initSubscriptionEvent(res.subscriptionId);
318
+ return res;
318
319
  }
319
320
  async publishCommentEdit(commentEditProps) {
320
- const publishRes = await this._webSocketClient.call("publishCommentEdit", [commentEditProps]);
321
- this._initSubscriptionEvent(publishRes);
322
- return publishRes;
321
+ const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call("publishCommentEdit", [commentEditProps]));
322
+ this._initSubscriptionEvent(res.subscriptionId);
323
+ return res;
323
324
  }
324
325
  async publishCommentModeration(commentModProps) {
325
- const publishRes = await this._webSocketClient.call("publishCommentModeration", [commentModProps]);
326
- this._initSubscriptionEvent(publishRes);
327
- return publishRes;
326
+ const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call("publishCommentModeration", [commentModProps]));
327
+ this._initSubscriptionEvent(res.subscriptionId);
328
+ return res;
328
329
  }
329
330
  async publishVote(voteProps) {
330
- const publishRes = await this._webSocketClient.call("publishVote", [voteProps]);
331
- this._initSubscriptionEvent(publishRes);
332
- return publishRes;
331
+ const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call("publishVote", [voteProps]));
332
+ this._initSubscriptionEvent(res.subscriptionId);
333
+ return res;
333
334
  }
334
335
  async publishCommunityEdit(communityEdit) {
335
- const publishRes = await this._webSocketClient.call("publishCommunityEdit", [communityEdit]);
336
- this._initSubscriptionEvent(publishRes);
337
- return publishRes;
336
+ const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call("publishCommunityEdit", [communityEdit]));
337
+ this._initSubscriptionEvent(res.subscriptionId);
338
+ return res;
338
339
  }
339
340
  async commentUpdateSubscribe(args) {
340
341
  const parsedCommentUpdateArgs = parseRpcCidParam(args);
341
- const subscriptionId = SubscriptionIdSchema.parse(await this._webSocketClient.call("commentUpdateSubscribe", [parsedCommentUpdateArgs]));
342
- this._initSubscriptionEvent(subscriptionId);
343
- return subscriptionId;
344
- }
345
- async publishChallengeAnswers(subscriptionId, challengeAnswers) {
346
- const parsedId = SubscriptionIdSchema.parse(subscriptionId);
347
- const res = await this._webSocketClient.call("publishChallengeAnswers", [{ subscriptionId: parsedId, challengeAnswers }]);
348
- if (res !== true)
349
- throw Error("RPC function publishChallengeAnswers should either return true or throw");
342
+ const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call("commentUpdateSubscribe", [parsedCommentUpdateArgs]));
343
+ this._initSubscriptionEvent(res.subscriptionId);
350
344
  return res;
351
345
  }
352
- async resolveAuthorName(parsedAuthorAddress) {
353
- const resolveAuthorAddressArgs = parseRpcAuthorNameParam(parsedAuthorAddress);
354
- const res = await this._webSocketClient.call("resolveAuthorName", [resolveAuthorAddressArgs]);
355
- if (typeof res?.resolvedAddress !== "string" && res?.resolvedAddress !== null)
356
- throw Error("RPC function resolveAuthorName should respond with { resolvedAddress: string | null }");
357
- return res.resolvedAddress;
346
+ async publishChallengeAnswers(args) {
347
+ return parseRpcSuccessResult(await this._webSocketClient.call("publishChallengeAnswers", [args]));
348
+ }
349
+ async resolveAuthorName(parsedAuthorName) {
350
+ const resolveAuthorNameArgs = parseRpcAuthorNameParam(parsedAuthorName);
351
+ const res = parseRpcResolveAuthorNameResult(await this._webSocketClient.call("resolveAuthorName", [resolveAuthorNameArgs]));
352
+ return res;
358
353
  }
359
354
  async initalizeCommunitieschangeEvent() {
360
- const subscriptionId = SubscriptionIdSchema.parse(await this._webSocketClient.call("communitiesSubscribe", []));
355
+ const { subscriptionId } = parseRpcSubscriptionIdResult(await this._webSocketClient.call("communitiesSubscribe", []));
361
356
  this._initSubscriptionEvent(subscriptionId);
362
357
  this.getSubscription(subscriptionId).on("communitieschange", (res) => {
363
358
  this.emit("communitieschange", res.params.result.communities);
@@ -365,7 +360,7 @@ export default class PKCRpcClient extends TypedEmitter {
365
360
  this.emitAllPendingMessages(subscriptionId);
366
361
  }
367
362
  async initalizeSettingschangeEvent() {
368
- const subscriptionId = SubscriptionIdSchema.parse(await this._webSocketClient.call("settingsSubscribe", []));
363
+ const { subscriptionId } = parseRpcSubscriptionIdResult(await this._webSocketClient.call("settingsSubscribe", []));
369
364
  this._initSubscriptionEvent(subscriptionId);
370
365
  this.getSubscription(subscriptionId).on("settingschange", (res) => {
371
366
  this.emit("settingschange", res.params.result);
@@ -373,18 +368,12 @@ export default class PKCRpcClient extends TypedEmitter {
373
368
  this.emitAllPendingMessages(subscriptionId);
374
369
  }
375
370
  async fetchCid(args) {
376
- const parsedFetchCidArgs = parseRpcCidParam(args);
377
- const res = await this._webSocketClient.call("fetchCid", [parsedFetchCidArgs]);
378
- if (typeof res?.content !== "string")
379
- throw Error("RPC function fetchCid did not respond with { content: string }");
380
- return res.content;
371
+ const parsedFetchCidArgs = parseRpcFetchCidParam(args);
372
+ return parseRpcFetchCidResult(await this._webSocketClient.call("fetchCid", [parsedFetchCidArgs]));
381
373
  }
382
374
  async setSettings(settings) {
383
375
  const parsedSettings = parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails(settings);
384
- const res = await this._webSocketClient.call("setSettings", [parsedSettings]);
385
- if (res !== true)
386
- throw Error("Failed setSettings");
387
- return res;
376
+ return parseRpcSuccessResult(await this._webSocketClient.call("setSettings", [parsedSettings]));
388
377
  }
389
378
  async rpcCall(method, params) {
390
379
  // This function can be used to call any function on the rpc server
@@ -1 +1 @@
1
- {"version":3,"file":"pkc-rpc-client.js","sourceRoot":"","sources":["../../../../src/clients/rpc-client/pkc-rpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AASjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,yDAAyD,EAAE,MAAM,6BAA6B,CAAC;AAKxG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQ3C,OAAO,EACH,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,gBAAgB,EAChB,+BAA+B,EAC/B,0BAA0B,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAgC;IAYtE,YAAY,YAAoB;QAC5B,KAAK,EAAE,CAAC;QALJ,6BAAwB,GAA0B,EAAE,CAAC;QAMzD,MAAM,CAAC,YAAY,EAAE,yEAAyE,CAAC,CAAC;QAEhG,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC,CAAC,8CAA8C;QACvF,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,iGAAiG;QACjG,kBAAkB;QAClB,IAAI,CAAC,gBAAgB,GAAG;YACpB,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;gBACpB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/C,CAAC;SACJ,CAAC;QACF,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,QAA+B;QACpC,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK;YAAE,OAAO;QACpC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,GAAG,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,wCAAwC;QACxC,IAAI,kBAAqC,CAAC;QAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,YAAY,eAAe,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC5B,qBAAqB;YACrB,2GAA2G;YAC3G,8FAA8F;YAE9F,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtE,GAAG,CAAC,4CAA4C,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC7E,kBAAkB;YAClB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;gBACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACxC,MAAM,cAAc,GAAG,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;gBACrD,IAAI,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;oBAE5C,8CAA8C;oBAC9C,IAAI,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,OAAO,EAAE,CAAC;wBACrC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACzE,OAAa,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,gDAAgD;oBAC/F,CAAC;oBACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;wBACpF,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;wBAC3D,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACxF,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBAClC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,wBAAwB;YACxB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxC,kBAAkB,GAAG,KAAK,CAAC;gBAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,GAAG,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;oBACrE,OAAO;gBACX,CAAC;gBACD,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,IAAI,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAE,CAAC;oBAC3D,kBAAkB,GAAG,IAAI,QAAQ,CAAC,uBAAuB,EAAE;wBACvD,YAAY,EAAE,IAAI,CAAC,mBAAmB;qBACzC,CAAC,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACnC,GAAG,CAAC,KAAK,CAAC,4CAA4C,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClF,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,0DAA0D;YAC1D,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAErF,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;gBAC3C,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO,MAAM,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,UAAU,GAAoE,CAAC,CAAC;oBACtF,+CAA+C;oBAC/C,kBAAkB;oBAClB,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAEtG,MAAM,UAAU,CAAC;gBACrB,CAAC;YACL,CAAC,CAAC;QACN,CAAC;QACD,mBAAmB;QACnB,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,sBAAsB;YAC5B,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAClC,0BAA0B,CAAC;gBACvB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,GAAG,EAAE;oBACZ,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW;wBAAE,OAAO,IAAI,CAAC;oBAC5C,IAAI,kBAAkB,YAAY,QAAQ;wBAAE,MAAM,kBAAkB,CAAC;oBACrE,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,SAAS,EAAE,aAAa;aAC3B,CAAC,EACF;gBACI,YAAY,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI;aAC5C,CACJ,CAAC;QAEN,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,sBAAsB,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,GAAG,CAAC,iFAAiF,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACjH,OAAO;YACX,CAAC;YACD,MAAM,GAAG,GACL,CAAC,YAAY,QAAQ;gBACjB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,QAAQ,CAAC,sCAAsC,EAAE;oBACjD,cAAc,EAAE,IAAI,CAAC,eAAe;oBACpC,KAAK,EAAE,kBAAkB;oBACzB,YAAY,EAAE,IAAI,CAAC,mBAAmB;iBACzC,CAAC,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,MAAM,0BAA0B,GAAG,CAAC,cAAsB,EAAE,EAAE;YAC1D,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC9D,IAAI,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnD,CAAC;;oBAAM,0BAA0B,CAAC,cAAc,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBACzE,0BAA0B,CAAC,cAAc,CAAC,CAAC;YAC/C,CAAC;QAEL,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,YAAY,eAAe,EAAE,CAAC;gBACnD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAClC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,eAAe,CAAC,cAAsB;QAClC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;YAAE,MAAM,KAAK,CAAC,mCAAmC,cAAc,GAAG,CAAC,CAAC;;YAC5G,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,cAAsB;QACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;YAAE,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAC5G,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAEO,oBAAoB,CAAC,YAAiB;QAC1C,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACjE,YAAa,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;YACzD,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,YAKjD,CAAC;QACF,MAAM,YAAY,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtG,MAAM,aAAa,GACf,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,sCAAsC,CAAC;QAErH,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAA6B,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9E,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;YACzE,QAAS,CAAC,IAAI,GAAG,IAAI,CAAC;YACtB,QAAS,CAAC,OAAO,GAAG,aAAa,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9C,YAAY,CAAC,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,IAAe,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;QACjG,YAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,YAAa,CAAC,OAAO,GAAG,OAAO,CAAC;QACtC,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,aAAa,CAAC,MAAwB,EAAE,IAAc;QAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QAClF,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,CAAC;YACD,IAAI,UAAU;gBAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;gBACjF,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACL,2CAA2C;QAC/C,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,MAAwB,EAAE,IAA6B;QAClF,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,sBAAsB,CAAC,cAAsB;QACzC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9D,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CACjF,CAAC;QACF,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAiB;QAC9B,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,YAAY,GAAoB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC7G,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAyB;QAC1C,MAAM,+BAA+B,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACrG,OAAO,MAA+D,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAA2B;QAC9C,MAAM,2BAA2B,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACnG,OAAO,MAAkF,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,sBAA0D;QAE1D,uFAAuF;QACvF,MAAM,cAAc,GAAoD,CACpE,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAChF,CAAC;QACF,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,sBAAsB,CAAC,cAAsB;QACjD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;YAAE,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7G,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC;YAAE,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,gBAA0C;QAC3D,MAAM,wBAAwB,GAAG,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClI,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC5C,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,gBAA0C;QAC1D,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;QAEhF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACzF,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,gBAAwB,EAAE,oBAA0C;QACpF,MAAM,mBAAmB,GAAG,aAAa,CAAC,oBAAoB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACjF,MAAM,MAAM,GAAsC,CAC9C,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC,CACvH,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,gBAA0C;QAC5D,MAAM,yBAAyB,GAAG,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC7F,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7G,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,gBAAyC;QACpE,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAC7C,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAC5F,CAAC;QACF,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC5C,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAuC;QACxD,MAAM,UAAU,GAAqB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,gBAA2C;QAChE,MAAM,UAAU,GAAqB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,eAA0C;QACrE,MAAM,UAAU,GAAqB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;QACrH,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAoC;QAClD,MAAM,UAAU,GAAqB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,aAAwC;QAC/D,MAAM,UAAU,GAAqB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAiB;QAC1C,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAC7C,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,uBAAuB,CAAC,CAAC,CACxF,CAAC;QACF,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC5C,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,cAAsB,EAAE,gBAA8D;QAChH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAY,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACnI,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC,yEAAyE,CAAC,CAAC;QACzG,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,mBAA6C;QACjE,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAuC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAClI,IAAI,OAAO,GAAG,EAAE,eAAe,KAAK,QAAQ,IAAI,GAAG,EAAE,eAAe,KAAK,IAAI;YACzE,MAAM,KAAK,CAAC,uFAAuF,CAAC,CAAC;QACzG,OAAO,GAAG,CAAC,eAAe,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,+BAA+B;QACjC,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;YACjE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAY,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,4BAA4B;QAC9B,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9D,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAiC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAiB;QAC5B,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,GAAG,GAAwB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACpG,IAAI,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpH,OAAO,GAAG,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAyD;QACvE,MAAM,cAAc,GAAG,yDAAyD,CAAC,QAAQ,CAAC,CAAC;QAC3F,MAAM,GAAG,GAAY,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACvF,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAAa;QACvC,mEAAmE;QACnE,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC;CACJ"}
1
+ {"version":3,"file":"pkc-rpc-client.js","sourceRoot":"","sources":["../../../../src/clients/rpc-client/pkc-rpc-client.ts"],"names":[],"mappings":"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"}