@polyester/sdk 0.11.0 → 0.13.0

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/CHANGELOG.md +22 -0
  2. package/dist/core-client.d.ts +3 -3
  3. package/dist/core-client.d.ts.map +1 -1
  4. package/dist/core-client.js +35 -50
  5. package/dist/core-client.js.map +1 -1
  6. package/dist/gen/auth/v1/address_book_pb.d.ts +21 -0
  7. package/dist/gen/auth/v1/address_book_pb.d.ts.map +1 -1
  8. package/dist/gen/auth/v1/address_book_pb.js +1 -1
  9. package/dist/gen/auth/v1/address_book_pb.js.map +1 -1
  10. package/dist/gen/auth/v1/mfa_pb.d.ts +39 -3
  11. package/dist/gen/auth/v1/mfa_pb.d.ts.map +1 -1
  12. package/dist/gen/auth/v1/mfa_pb.js +1 -1
  13. package/dist/gen/auth/v1/mfa_pb.js.map +1 -1
  14. package/dist/gen/auth/v1/subaccounts_pb.d.ts +2 -1
  15. package/dist/gen/auth/v1/subaccounts_pb.d.ts.map +1 -1
  16. package/dist/gen/auth/v1/subaccounts_pb.js.map +1 -1
  17. package/dist/gen/chain/withdraw/v1/withdraw_pb.d.ts +3 -2
  18. package/dist/gen/chain/withdraw/v1/withdraw_pb.d.ts.map +1 -1
  19. package/dist/gen/chain/withdraw/v1/withdraw_pb.js.map +1 -1
  20. package/dist/gen/transfer/v1/internal_transfer_pb.d.ts +3 -0
  21. package/dist/gen/transfer/v1/internal_transfer_pb.d.ts.map +1 -1
  22. package/dist/gen/transfer/v1/internal_transfer_pb.js.map +1 -1
  23. package/dist/gen/triggers/v1/triggers_pb.d.ts +347 -5
  24. package/dist/gen/triggers/v1/triggers_pb.d.ts.map +1 -1
  25. package/dist/gen/triggers/v1/triggers_pb.js +307 -3
  26. package/dist/gen/triggers/v1/triggers_pb.js.map +1 -1
  27. package/dist/services/accounts/accounts.d.ts +2 -2
  28. package/dist/services/accounts/accounts.d.ts.map +1 -1
  29. package/dist/services/accounts/accounts.js +2 -2
  30. package/dist/services/accounts/accounts.js.map +1 -1
  31. package/dist/services/address-book/address-book.d.ts +5 -3
  32. package/dist/services/address-book/address-book.d.ts.map +1 -1
  33. package/dist/services/address-book/address-book.js +5 -3
  34. package/dist/services/address-book/address-book.js.map +1 -1
  35. package/dist/services/address-book/address-book.schemas.d.ts +6 -0
  36. package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
  37. package/dist/services/address-book/address-book.schemas.js +10 -5
  38. package/dist/services/address-book/address-book.schemas.js.map +1 -1
  39. package/dist/services/api-keys/api-keys.d.ts +2 -2
  40. package/dist/services/api-keys/api-keys.d.ts.map +1 -1
  41. package/dist/services/api-keys/api-keys.js +3 -3
  42. package/dist/services/api-keys/api-keys.js.map +1 -1
  43. package/dist/services/auth/account-signer-auth.d.ts +3 -2
  44. package/dist/services/auth/account-signer-auth.d.ts.map +1 -1
  45. package/dist/services/auth/account-signer-auth.js.map +1 -1
  46. package/dist/services/auth/auth.d.ts +3 -7
  47. package/dist/services/auth/auth.d.ts.map +1 -1
  48. package/dist/services/auth/auth.js +1 -1
  49. package/dist/services/auth/auth.js.map +1 -1
  50. package/dist/services/auth/profile/profile.d.ts +2 -2
  51. package/dist/services/auth/profile/profile.d.ts.map +1 -1
  52. package/dist/services/auth/profile/profile.js +2 -2
  53. package/dist/services/auth/profile/profile.js.map +1 -1
  54. package/dist/services/balances/balances.d.ts +2 -2
  55. package/dist/services/balances/balances.d.ts.map +1 -1
  56. package/dist/services/balances/balances.js +2 -2
  57. package/dist/services/balances/balances.js.map +1 -1
  58. package/dist/services/candles/candles.d.ts +2 -2
  59. package/dist/services/candles/candles.d.ts.map +1 -1
  60. package/dist/services/candles/candles.js +2 -2
  61. package/dist/services/candles/candles.js.map +1 -1
  62. package/dist/services/candles/candles.schemas.d.ts +10 -10
  63. package/dist/services/chain-analytics/chain-analytics.d.ts +2 -2
  64. package/dist/services/chain-analytics/chain-analytics.d.ts.map +1 -1
  65. package/dist/services/chain-analytics/chain-analytics.js +2 -2
  66. package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
  67. package/dist/services/deposit/deposit.d.ts +2 -2
  68. package/dist/services/deposit/deposit.d.ts.map +1 -1
  69. package/dist/services/deposit/deposit.js +2 -2
  70. package/dist/services/deposit/deposit.js.map +1 -1
  71. package/dist/services/fees/fees.d.ts +2 -2
  72. package/dist/services/fees/fees.d.ts.map +1 -1
  73. package/dist/services/fees/fees.js +2 -2
  74. package/dist/services/fees/fees.js.map +1 -1
  75. package/dist/services/guard-signer/guard-signer.d.ts +2 -2
  76. package/dist/services/guard-signer/guard-signer.d.ts.map +1 -1
  77. package/dist/services/guard-signer/guard-signer.js +2 -2
  78. package/dist/services/guard-signer/guard-signer.js.map +1 -1
  79. package/dist/services/heatmap/heatmap.d.ts +2 -2
  80. package/dist/services/heatmap/heatmap.d.ts.map +1 -1
  81. package/dist/services/heatmap/heatmap.js +2 -2
  82. package/dist/services/heatmap/heatmap.js.map +1 -1
  83. package/dist/services/heatmap/heatmap.schemas.d.ts +9 -9
  84. package/dist/services/internal-transfers/internal-transfers.d.ts +2 -2
  85. package/dist/services/internal-transfers/internal-transfers.d.ts.map +1 -1
  86. package/dist/services/internal-transfers/internal-transfers.js +2 -2
  87. package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
  88. package/dist/services/lifecycle/lifecycle.d.ts +2 -2
  89. package/dist/services/lifecycle/lifecycle.d.ts.map +1 -1
  90. package/dist/services/lifecycle/lifecycle.js +2 -2
  91. package/dist/services/lifecycle/lifecycle.js.map +1 -1
  92. package/dist/services/market-data/market-data.d.ts +2 -2
  93. package/dist/services/market-data/market-data.d.ts.map +1 -1
  94. package/dist/services/market-data/market-data.js +2 -2
  95. package/dist/services/market-data/market-data.js.map +1 -1
  96. package/dist/services/market-overview/market-overview.d.ts +2 -2
  97. package/dist/services/market-overview/market-overview.d.ts.map +1 -1
  98. package/dist/services/market-overview/market-overview.js +2 -2
  99. package/dist/services/market-overview/market-overview.js.map +1 -1
  100. package/dist/services/market-overview/market-overview.schemas.d.ts +3 -3
  101. package/dist/services/mfa/mfa.d.ts +4 -4
  102. package/dist/services/mfa/mfa.d.ts.map +1 -1
  103. package/dist/services/mfa/mfa.js +4 -4
  104. package/dist/services/mfa/mfa.js.map +1 -1
  105. package/dist/services/mfa/mfa.schemas.d.ts +132 -4
  106. package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
  107. package/dist/services/mfa/mfa.schemas.js +13 -7
  108. package/dist/services/mfa/mfa.schemas.js.map +1 -1
  109. package/dist/services/orderbook/orderbook.d.ts +2 -2
  110. package/dist/services/orderbook/orderbook.d.ts.map +1 -1
  111. package/dist/services/orderbook/orderbook.js +2 -2
  112. package/dist/services/orderbook/orderbook.js.map +1 -1
  113. package/dist/services/orders/orders-input.schemas.d.ts +1 -1
  114. package/dist/services/orders/orders-output.schemas.d.ts +6 -6
  115. package/dist/services/orders/orders.d.ts +2 -2
  116. package/dist/services/orders/orders.d.ts.map +1 -1
  117. package/dist/services/orders/orders.js +3 -3
  118. package/dist/services/orders/orders.js.map +1 -1
  119. package/dist/services/policies/api-key-policies/api-key-policies.d.ts +2 -2
  120. package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
  121. package/dist/services/policies/api-key-policies/api-key-policies.js +2 -2
  122. package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
  123. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +2 -2
  124. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
  125. package/dist/services/policies/subaccount-policies/subaccount-policies.js +2 -2
  126. package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
  127. package/dist/services/rate-limits/rate-limits.d.ts +2 -2
  128. package/dist/services/rate-limits/rate-limits.d.ts.map +1 -1
  129. package/dist/services/rate-limits/rate-limits.js.map +1 -1
  130. package/dist/services/social-verification/social-verification.d.ts +2 -2
  131. package/dist/services/social-verification/social-verification.d.ts.map +1 -1
  132. package/dist/services/social-verification/social-verification.js +2 -2
  133. package/dist/services/social-verification/social-verification.js.map +1 -1
  134. package/dist/services/subaccounts/subaccounts.d.ts +3 -3
  135. package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
  136. package/dist/services/subaccounts/subaccounts.js +11 -9
  137. package/dist/services/subaccounts/subaccounts.js.map +1 -1
  138. package/dist/services/subaccounts/subaccounts.schemas.d.ts +4 -4
  139. package/dist/services/trades/trades.d.ts +2 -2
  140. package/dist/services/trades/trades.d.ts.map +1 -1
  141. package/dist/services/trades/trades.js +2 -2
  142. package/dist/services/trades/trades.js.map +1 -1
  143. package/dist/services/trading-withdraws/trading-withdraws.d.ts +2 -2
  144. package/dist/services/trading-withdraws/trading-withdraws.d.ts.map +1 -1
  145. package/dist/services/trading-withdraws/trading-withdraws.js +2 -2
  146. package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
  147. package/dist/services/transfers/transfers.d.ts +2 -2
  148. package/dist/services/transfers/transfers.d.ts.map +1 -1
  149. package/dist/services/transfers/transfers.js +2 -2
  150. package/dist/services/transfers/transfers.js.map +1 -1
  151. package/dist/services/triggers/trigger-input.schemas.d.ts +2 -2
  152. package/dist/services/triggers/triggers-output.schemas.d.ts +365 -18
  153. package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
  154. package/dist/services/triggers/triggers-output.schemas.js +36 -4
  155. package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
  156. package/dist/services/triggers/triggers.codecs.js +51 -1
  157. package/dist/services/triggers/triggers.codecs.js.map +1 -1
  158. package/dist/services/triggers/triggers.d.ts +2 -2
  159. package/dist/services/triggers/triggers.d.ts.map +1 -1
  160. package/dist/services/triggers/triggers.js +2 -2
  161. package/dist/services/triggers/triggers.js.map +1 -1
  162. package/dist/services/vip/vip.d.ts +2 -2
  163. package/dist/services/vip/vip.js.map +1 -1
  164. package/dist/services/whiteboard/whiteboard.d.ts +2 -2
  165. package/dist/services/whiteboard/whiteboard.d.ts.map +1 -1
  166. package/dist/services/whiteboard/whiteboard.js +2 -2
  167. package/dist/services/whiteboard/whiteboard.js.map +1 -1
  168. package/dist/services/zipper/zipper.d.ts +2 -2
  169. package/dist/services/zipper/zipper.d.ts.map +1 -1
  170. package/dist/services/zipper/zipper.js +2 -2
  171. package/dist/services/zipper/zipper.js.map +1 -1
  172. package/dist/shared/transports.d.ts +7 -1
  173. package/dist/shared/transports.d.ts.map +1 -1
  174. package/dist/shared/transports.js.map +1 -1
  175. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @polyester/sdk
2
2
 
3
+ ## 0.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - refactor(services): replace positional Connect transport constructor arguments with capability-scoped transport objects. Direct service construction now passes `{ authApi }`, `{ publicApi }`, or both as the first argument. ([#89](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/89))
8
+
9
+ ### Patch Changes
10
+
11
+ - fix(subaccounts): route `listRoles` through the public transport without authentication headers while keeping caller-effective permission reads authenticated. ([#89](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/89))
12
+
13
+ ## 0.12.0
14
+
15
+ ### Minor Changes
16
+
17
+ - feat(triggers): replace the free-form trigger event `reason` string with typed `cancelReason` and `failureReason` labels on trigger and trigger-event outputs. ([#86](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/86))
18
+
19
+ ### Patch Changes
20
+
21
+ - feat(address-book): add a `minimumViewRevision` option to `getView` and expose `viewRevision` on views and invalidation events to support revision-aware refetching. ([#86](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/86))
22
+
23
+ - feat(mfa): expose the MFA-elevated session details and access token returned when finishing TOTP and passkey enrollments. ([#86](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/86))
24
+
3
25
  ## 0.11.0
4
26
 
5
27
  ### Minor Changes
@@ -1,7 +1,7 @@
1
1
  import { PolyesterEnvironment } from "./environment.js";
2
2
  import { CatalogSnapshot, CatalogSnapshotCell, ClientCatalog } from "./catalogs/types.js";
3
3
  import "./catalogs/index.js";
4
- import { ApiKeyEd25519AuthProvider, JwtAuthProvider, Transports } from "./shared/transports.js";
4
+ import { ApiKeyEd25519AuthProvider, AuthAndPublicApiTransports, JwtAuthProvider, Transports } from "./shared/transports.js";
5
5
  import { AccountsService } from "./services/accounts/accounts.js";
6
6
  import "./services/accounts/index.js";
7
7
  import { SubaccountResolver } from "./services/subaccount-resolver.js";
@@ -10,7 +10,7 @@ import { RealtimeConfig } from "./realtime/client.js";
10
10
  import "./realtime/index.js";
11
11
  import { ApiKeysService } from "./services/api-keys/api-keys.js";
12
12
  import "./services/api-keys/index.js";
13
- import { AuthService, AuthServiceTransports } from "./services/auth/auth.js";
13
+ import { AuthService } from "./services/auth/auth.js";
14
14
  import { SubaccountsService } from "./services/subaccounts/subaccounts.js";
15
15
  import "./services/subaccounts/index.js";
16
16
  import { CandlesService } from "./services/candles/candles.js";
@@ -112,7 +112,7 @@ type PolyesterClientBaseConfig = PolyesterClientCommonConfig & PolyesterCatalogC
112
112
  /** Configuration for the base Polyester client. */
113
113
  type PolyesterClientConfig = PolyesterClientBaseConfig;
114
114
  interface AuthServiceFactoryContext {
115
- transports: AuthServiceTransports;
115
+ transports: AuthAndPublicApiTransports;
116
116
  realtime: PolyesterRealtime;
117
117
  subaccounts: SubaccountsService;
118
118
  environment: PolyesterEnvironment;
@@ -1 +1 @@
1
- {"version":3,"file":"core-client.d.ts","names":[],"sources":["../src/core-client.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiHY,8BAA8B,KAAK;UAErC;EACN,aAAa;EACb,eAAe;EACf,OAAO,kBAAkB;EACzB,WAAW;;;;;EAKX;;;;;;;EAOA,aAAa;;;;;;EAMb,iBAAiB;;KAGhB;;EAGK,SAAS;EACT;EACA;;EAGA;;;;;;EAMA,kBAAkB;;;;;EAKlB,cAAc;;;KAIZ,4BAA4B,8BAA8B;;KAG1D,wBAAwB;UAc1B;EACN,YAAY;EACZ,UAAU;EACV,aAAa;EACb,aAAa;;UAGP;EACN,cAAc,SAAS,8BAA8B;;;;;;;;;cAqC5C;;qBACU,YAAY;EA8CnB,YAAA,QAAQ,uBAAuB,UAAS;MAyBhD,YAAY;MAoBZ,WAAW;MAwCX,QAAQ;MAcR,YAAY;MAIZ,WAAW;MAQX,eAAe;MAQf,WAAW;MAQX,kBAAkB;MAOlB,cAAc;MAQd,kBAAkB;MAQlB,aAAa;MAQb,WAAW;MAQX,aAAa;MAIb,UAAU;MASV,UAAU;MASV,YAAY;MASZ,YAAY;MASZ,aAAa;MAQb,qBAAqB;MAQrB,oBAAoB;MAapB,WAAW;MAIX,eAAe;MAQf,eAAe;MAOf,sBAAsB;MAMtB,cAAc;MAId,UAAU;MAQV,OAAO;MAIP,OAAO;MAOP,QAAQ;MAIR,qBAAqB;;;;;YAcf,4BAA4B"}
1
+ {"version":3,"file":"core-client.d.ts","names":[],"sources":["../src/core-client.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkHY,8BAA8B,KAAK;UAErC;EACN,aAAa;EACb,eAAe;EACf,OAAO,kBAAkB;EACzB,WAAW;;;;;EAKX;;;;;;;EAOA,aAAa;;;;;;EAMb,iBAAiB;;KAGhB;;EAGK,SAAS;EACT;EACA;;EAGA;;;;;;EAMA,kBAAkB;;;;;EAKlB,cAAc;;;KAIZ,4BAA4B,8BAA8B;;KAG1D,wBAAwB;UAc1B;EACN,YAAY;EACZ,UAAU;EACV,aAAa;EACb,aAAa;;UAGP;EACN,cAAc,SAAS,8BAA8B;;;;;;;;;cAqC5C;;qBACU,YAAY;EA8CnB,YAAA,QAAQ,uBAAuB,UAAS;MAyBhD,YAAY;MAoBZ,WAAW;MAwCX,QAAQ;MAaR,YAAY;MAIZ,WAAW;MAQX,eAAe;MAQf,WAAW;MAQX,kBAAkB;MAOlB,cAAc;MAQd,kBAAkB;MAQlB,aAAa;MAQb,WAAW;MAQX,aAAa;MAIb,UAAU;MASV,UAAU;MASV,YAAY;MASZ,YAAY;MASZ,aAAa;MAQb,qBAAqB;MAQrB,oBAAoB;MAapB,WAAW;MAIX,eAAe;MAQf,eAAe;MAIf,sBAAsB;MAItB,cAAc;MAId,UAAU;MAQV,OAAO;MAIP,OAAO;MAIP,QAAQ;MAIR,qBAAqB;;;;;YAWf,4BAA4B"}
@@ -195,8 +195,8 @@ var PolyesterClient = class {
195
195
  get catalog() {
196
196
  if (!this.#catalog) if (this.#configCatalog) this.#catalog = this.#configCatalog;
197
197
  else {
198
- const catalogRefreshMarketData = new MarketDataService(this.transports.publicApi, this.realtime, this.#getScales());
199
- const catalogRefreshZipper = new ZipperService(this.transports.publicApi);
198
+ const catalogRefreshMarketData = new MarketDataService(this.transports, this.realtime, this.#getScales());
199
+ const catalogRefreshZipper = new ZipperService(this.transports);
200
200
  this.#catalog = createPolyesterCatalog({
201
201
  snapshot: this.#configCatalogSnapshot,
202
202
  cell: this.#configCatalogCell,
@@ -220,112 +220,97 @@ var PolyesterClient = class {
220
220
  return this.#resolver;
221
221
  }
222
222
  get auth() {
223
- if (!this.#auth) {
224
- const { authApi, publicApi } = this.transports;
225
- this.#auth = this.#createAuth?.({
226
- transports: {
227
- publicApi,
228
- authApi
229
- },
230
- realtime: this.realtime,
231
- subaccounts: this.subaccounts,
232
- environment: this.#environment
233
- }) ?? new AuthService({
234
- publicApi,
235
- authApi
236
- }, this.realtime);
237
- }
223
+ if (!this.#auth) this.#auth = this.#createAuth?.({
224
+ transports: this.transports,
225
+ realtime: this.realtime,
226
+ subaccounts: this.subaccounts,
227
+ environment: this.#environment
228
+ }) ?? new AuthService(this.transports, this.realtime);
238
229
  return this.#auth;
239
230
  }
240
231
  get accounts() {
241
- return this.#accounts ??= new AccountsService(this.transports.authApi);
232
+ return this.#accounts ??= new AccountsService(this.transports);
242
233
  }
243
234
  get apiKeys() {
244
- return this.#apiKeys ??= new ApiKeysService(this.transports.authApi, this.realtime, this.#getResolver());
235
+ return this.#apiKeys ??= new ApiKeysService(this.transports, this.realtime, this.#getResolver());
245
236
  }
246
237
  get subaccounts() {
247
- return this.#subaccounts ??= new SubaccountsService(this.transports.authApi, this.realtime, this.#getResolver());
238
+ return this.#subaccounts ??= new SubaccountsService(this.transports, this.realtime, this.#getResolver());
248
239
  }
249
240
  get candles() {
250
- return this.#candles ??= new CandlesService(this.transports.publicApi, this.realtime, this.#getScales());
241
+ return this.#candles ??= new CandlesService(this.transports, this.realtime, this.#getScales());
251
242
  }
252
243
  get chainAnalytics() {
253
- return this.#chainAnalytics ??= new ChainAnalyticsService(this.transports.publicApi, this.#getScales());
244
+ return this.#chainAnalytics ??= new ChainAnalyticsService(this.transports, this.#getScales());
254
245
  }
255
246
  get marketData() {
256
- return this.#marketData ??= new MarketDataService(this.transports.publicApi, this.realtime, this.#getScales());
247
+ return this.#marketData ??= new MarketDataService(this.transports, this.realtime, this.#getScales());
257
248
  }
258
249
  get marketOverview() {
259
- return this.#marketOverview ??= new MarketOverviewService(this.transports.publicApi, this.realtime, this.#getScales());
250
+ return this.#marketOverview ??= new MarketOverviewService(this.transports, this.realtime, this.#getScales());
260
251
  }
261
252
  get orderbook() {
262
- return this.#orderbook ??= new OrderbookService(this.transports.publicApi, this.realtime, this.#getScales());
253
+ return this.#orderbook ??= new OrderbookService(this.transports, this.realtime, this.#getScales());
263
254
  }
264
255
  get heatmap() {
265
- return this.#heatmap ??= new HeatmapService(this.transports.publicApi, this.realtime, this.#getScales());
256
+ return this.#heatmap ??= new HeatmapService(this.transports, this.realtime, this.#getScales());
266
257
  }
267
258
  get lifecycle() {
268
- return this.#lifecycle ??= new LifecycleService(this.transports.publicApi, this.realtime);
259
+ return this.#lifecycle ??= new LifecycleService(this.transports, this.realtime);
269
260
  }
270
261
  get trades() {
271
- return this.#trades ??= new TradesService(this.transports.authApi, this.realtime, this.#getResolver(), this.#getScales());
262
+ return this.#trades ??= new TradesService(this.transports, this.realtime, this.#getResolver(), this.#getScales());
272
263
  }
273
264
  get orders() {
274
- return this.#orders ??= new OrdersService(this.transports.authApi, this.realtime, this.#getResolver(), this.#getScales());
265
+ return this.#orders ??= new OrdersService(this.transports, this.realtime, this.#getResolver(), this.#getScales());
275
266
  }
276
267
  get triggers() {
277
- return this.#triggers ??= new TriggersService(this.transports.authApi, this.realtime, this.#getResolver(), this.#getScales());
268
+ return this.#triggers ??= new TriggersService(this.transports, this.realtime, this.#getResolver(), this.#getScales());
278
269
  }
279
270
  get balances() {
280
- return this.#balances ??= new BalancesService(this.transports.authApi, this.realtime, this.#getResolver(), this.#getScales());
271
+ return this.#balances ??= new BalancesService(this.transports, this.realtime, this.#getResolver(), this.#getScales());
281
272
  }
282
273
  get transfers() {
283
- return this.#transfers ??= new TransfersService(this.transports.authApi, this.realtime, this.#getResolver());
274
+ return this.#transfers ??= new TransfersService(this.transports, this.realtime, this.#getResolver());
284
275
  }
285
276
  get internalTransfers() {
286
- return this.#internalTransfers ??= new InternalTransfersService(this.transports.authApi, this.#getResolver(), this.#getScales());
277
+ return this.#internalTransfers ??= new InternalTransfersService(this.transports, this.#getResolver(), this.#getScales());
287
278
  }
288
279
  get tradingWithdraws() {
289
- return this.#tradingWithdraws ??= new TradingWithdrawsService(this.transports.authApi, this.#getResolver(), {
280
+ return this.#tradingWithdraws ??= new TradingWithdrawsService(this.transports, this.#getResolver(), {
290
281
  chainId: this.#environment.chain.id,
291
282
  tradingGatewayAddress: this.#environment.contracts.tradingGatewayAddress
292
283
  }, this.#getScales(), this.catalog);
293
284
  }
294
285
  get deposit() {
295
- return this.#deposit ??= new DepositService(this.transports.authApi, this.#getResolver());
286
+ return this.#deposit ??= new DepositService(this.transports, this.#getResolver());
296
287
  }
297
288
  get addressBook() {
298
- return this.#addressBook ??= new AddressBookService(this.transports.authApi, this.realtime, this.#getResolver());
289
+ return this.#addressBook ??= new AddressBookService(this.transports, this.realtime, this.#getResolver());
299
290
  }
300
291
  get guardSigner() {
301
- return this.#guardSigner ??= new GuardSignerService(this.transports.authApi, this.#getResolver());
292
+ return this.#guardSigner ??= new GuardSignerService(this.transports, this.#getResolver());
302
293
  }
303
294
  get socialVerification() {
304
- return this.#socialVerification ??= new SocialVerificationService(this.transports.authApi);
295
+ return this.#socialVerification ??= new SocialVerificationService(this.transports);
305
296
  }
306
297
  get whiteboard() {
307
- return this.#whiteboard ??= new WhiteboardService(this.transports.authApi);
298
+ return this.#whiteboard ??= new WhiteboardService(this.transports);
308
299
  }
309
300
  get zipper() {
310
- return this.#zipper ??= new ZipperService(this.transports.publicApi, this.realtime, this.#getScales());
301
+ return this.#zipper ??= new ZipperService(this.transports, this.realtime, this.#getScales());
311
302
  }
312
303
  get mfa() {
313
- return this.#mfa ??= new MfaService(this.transports.authApi);
304
+ return this.#mfa ??= new MfaService(this.transports);
314
305
  }
315
306
  get vip() {
316
- return this.#vip ??= new VipService({
317
- publicApi: this.transports.publicApi,
318
- authApi: this.transports.authApi
319
- });
307
+ return this.#vip ??= new VipService(this.transports);
320
308
  }
321
309
  get fees() {
322
- return this.#fees ??= new FeesService(this.transports.authApi, this.#getResolver());
310
+ return this.#fees ??= new FeesService(this.transports, this.#getResolver());
323
311
  }
324
312
  get tradingRateLimits() {
325
- return this.#tradingRateLimits ??= new RateLimitService({
326
- publicApi: this.transports.publicApi,
327
- authApi: this.transports.authApi
328
- }, this.#getResolver());
313
+ return this.#tradingRateLimits ??= new RateLimitService(this.transports, this.#getResolver());
329
314
  }
330
315
  /**
331
316
  * Override in subclasses to provide a subaccount resolver.
@@ -1 +1 @@
1
- {"version":3,"file":"core-client.js","names":["#environment","#authProvider","#realtimeConfig","#configRealtimeClient","#configCatalog","#configCatalogSnapshot","#configCatalogCell","#createAuth","#realtime","#catalog","#getScales","#scales","#resolverInitialized","#resolver","#auth","#accounts","#apiKeys","#getResolver","#subaccounts","#candles","#chainAnalytics","#marketData","#marketOverview","#orderbook","#heatmap","#lifecycle","#trades","#orders","#triggers","#balances","#transfers","#internalTransfers","#tradingWithdraws","#deposit","#addressBook","#guardSigner","#socialVerification","#whiteboard","#zipper","#mfa","#vip","#fees","#tradingRateLimits"],"sources":["../src/core-client.ts"],"sourcesContent":["import type { Interceptor } from \"@connectrpc/connect\";\nimport { ConfigurationError } from \"./shared/errors.js\";\nimport {\n createApiKeyEd25519AuthHeaders,\n createTransports,\n resolveJwtToken,\n type Transports,\n type JwtAuthProvider,\n type ApiKeyEd25519AuthProvider,\n} from \"./shared/transports.js\";\nimport { parsePolyesterEnvironment, type PolyesterEnvironment } from \"./environment.js\";\nimport { AccountsService } from \"./services/accounts/index.js\";\nimport { ApiKeysService } from \"./services/api-keys/index.js\";\nimport { AuthService, type AuthServiceTransports } from \"./services/auth/auth.js\";\nimport { SubaccountsService } from \"./services/subaccounts/index.js\";\nimport { CandlesService } from \"./services/candles/index.js\";\nimport { ChainAnalyticsService } from \"./services/chain-analytics/index.js\";\nimport { MarketDataService } from \"./services/market-data/index.js\";\nimport { MarketOverviewService } from \"./services/market-overview/index.js\";\nimport { OrderbookService } from \"./services/orderbook/index.js\";\nimport { HeatmapService } from \"./services/heatmap/index.js\";\nimport { LifecycleService } from \"./services/lifecycle/index.js\";\nimport { TradesService } from \"./services/trades/index.js\";\nimport { OrdersService } from \"./services/orders/index.js\";\nimport { TriggersService } from \"./services/triggers/index.js\";\nimport { BalancesService } from \"./services/balances/index.js\";\nimport { TransfersService } from \"./services/transfers/index.js\";\nimport { InternalTransfersService } from \"./services/internal-transfers/index.js\";\nimport { TradingWithdrawsService } from \"./services/trading-withdraws/index.js\";\nimport { DepositService } from \"./services/deposit/index.js\";\nimport { AddressBookService } from \"./services/address-book/index.js\";\nimport { GuardSignerService } from \"./services/guard-signer/index.js\";\nimport { SocialVerificationService } from \"./services/social-verification/index.js\";\nimport { WhiteboardService } from \"./services/whiteboard/index.js\";\nimport { ZipperService } from \"./services/zipper/index.js\";\nimport { MfaService } from \"./services/mfa/index.js\";\nimport { VipService } from \"./services/vip/index.js\";\nimport { FeesService } from \"./services/fees/index.js\";\nimport { RateLimitService } from \"./services/rate-limits/index.js\";\nimport type { SubaccountResolver } from \"./services/subaccount-resolver.js\";\nimport {\n createPolyesterCatalog,\n type CatalogSnapshot,\n type CatalogSnapshotCell,\n type ClientCatalog,\n} from \"./catalogs/index.js\";\nimport { createCatalogSdkScales, type SdkScales } from \"./shared/decimal-surface.js\";\nimport { RealtimeClient, type PolyesterRealtime, type RealtimeConfig } from \"./realtime/index.js\";\n\nfunction realtimeAuthFromProvider(\n auth: JwtAuthProvider | ApiKeyEd25519AuthProvider | undefined,\n): Pick<RealtimeConfig, \"getAuthHeaders\" | \"hasAuth\"> {\n if (!auth) return {};\n if (auth.kind === \"jwt\") {\n type CachedTokenResolution =\n | { kind: \"value\"; value: ReturnType<JwtAuthProvider[\"getToken\"]> }\n | { kind: \"error\"; cause: unknown };\n\n let cachedTokenResolution: CachedTokenResolution | undefined;\n\n const prefetchToken = (): CachedTokenResolution => {\n if (cachedTokenResolution) return cachedTokenResolution;\n\n try {\n const value = auth.getToken();\n // Async providers cannot be preflighted synchronously. Attach a\n // rejection observer while the credential waits for the request.\n if (value !== null && typeof value !== \"string\") void value.catch(() => {});\n cachedTokenResolution = { kind: \"value\", value };\n } catch (cause) {\n cachedTokenResolution = { kind: \"error\", cause };\n }\n return cachedTokenResolution;\n };\n\n const consumeToken = (): ReturnType<JwtAuthProvider[\"getToken\"]> => {\n const resolution = cachedTokenResolution;\n cachedTokenResolution = undefined;\n\n if (!resolution) return auth.getToken();\n if (resolution.kind === \"error\") throw resolution.cause;\n return resolution.value;\n };\n const cachedAuth = { kind: \"jwt\", getToken: consumeToken } satisfies JwtAuthProvider;\n\n return {\n getAuthHeaders: async () => {\n const token = await resolveJwtToken(cachedAuth);\n const headers: Record<string, string> = {};\n if (token) headers.authorization = `Bearer ${token}`;\n return headers;\n },\n hasAuth: () => {\n const resolution = prefetchToken();\n if (resolution.kind === \"error\") return true;\n if (resolution.value !== null && typeof resolution.value !== \"string\") return true;\n\n const hasToken = resolution.value !== null && resolution.value.length > 0;\n if (!hasToken) cachedTokenResolution = undefined;\n return hasToken;\n },\n };\n }\n return {\n getAuthHeaders: (request) =>\n createApiKeyEd25519AuthHeaders(auth, {\n url: request.url,\n method: request.method,\n }),\n hasAuth: () => true,\n };\n}\n\nexport type PolyesterRealtimeAuthConfig = Pick<RealtimeConfig, \"getAuthHeaders\" | \"hasAuth\">;\n\ninterface PolyesterClientCommonConfig {\n environment: PolyesterEnvironment;\n interceptors?: Interceptor[];\n auth?: JwtAuthProvider | ApiKeyEd25519AuthProvider;\n realtime?: PolyesterRealtimeAuthConfig;\n /**\n * Connect wire format. Defaults to binary for production performance.\n * Use `json` for human-readable debugging.\n */\n wireFormat?: \"binary\" | \"json\";\n /**\n * Advanced: inject pre-built Connect transports (in-memory mocks, custom\n * stacks). When provided, the SDK does not build its own transports and the\n * built-in auth/error-mapping interceptors are NOT applied — the injected\n * transports own their full interceptor chain.\n */\n transports?: Transports;\n /**\n * Advanced: inject a realtime implementation (in-memory mocks, custom\n * stacks). When provided, the SDK skips constructing its Centrifuge-backed\n * realtime client and the `realtime` auth config is ignored.\n */\n realtimeClient?: PolyesterRealtime;\n}\n\ntype PolyesterCatalogConfig =\n | {\n /** Client-owned catalog store. */\n catalog: ClientCatalog;\n catalogSnapshot?: never;\n catalogCell?: never;\n }\n | {\n catalog?: never;\n /**\n * Explicit initial catalog snapshot, commonly hydrated from server-rendered data.\n * Combines with `catalogCell` as the cell's initial value without clobbering a\n * pre-populated cell.\n */\n catalogSnapshot?: CatalogSnapshot;\n /**\n * External snapshot storage for the client-built catalog. A cell backed by a\n * reactive source makes every catalog read reactive.\n */\n catalogCell?: CatalogSnapshotCell;\n };\n\n/** Configuration shared by every Polyester client. */\nexport type PolyesterClientBaseConfig = PolyesterClientCommonConfig & PolyesterCatalogConfig;\n\n/** Configuration for the base Polyester client. */\nexport type PolyesterClientConfig = PolyesterClientBaseConfig;\n\n/** Preserves the exclusive catalog configuration while projecting client config fields. */\nexport function pickPolyesterCatalogConfig(\n config: PolyesterClientBaseConfig,\n): PolyesterCatalogConfig {\n return config.catalog === undefined\n ? {\n catalogSnapshot: config.catalogSnapshot,\n catalogCell: config.catalogCell,\n }\n : { catalog: config.catalog };\n}\n\ninterface AuthServiceFactoryContext {\n transports: AuthServiceTransports;\n realtime: PolyesterRealtime;\n subaccounts: SubaccountsService;\n environment: PolyesterEnvironment;\n}\n\ninterface PolyesterClientRuntimeConfig {\n createAuth?: (context: AuthServiceFactoryContext) => AuthService;\n}\n\n/**\n * Parses the configuration shared by every public client constructor.\n */\nexport function parsePolyesterClientConfig<TConfig extends PolyesterClientBaseConfig>(\n config: TConfig,\n): TConfig {\n if (typeof config !== \"object\" || config === null || Array.isArray(config)) {\n throw new ConfigurationError(\"Client configuration must be an object.\");\n }\n const environment = parsePolyesterEnvironment(config.environment);\n if (\n config.wireFormat !== undefined &&\n config.wireFormat !== \"binary\" &&\n config.wireFormat !== \"json\"\n ) {\n throw new ConfigurationError('wireFormat must be either \"binary\" or \"json\".');\n }\n if (config.catalog && config.catalogSnapshot) {\n throw new ConfigurationError(\"Provide either catalog or catalogSnapshot, not both.\");\n }\n if (config.catalog && config.catalogCell) {\n throw new ConfigurationError(\"Provide either catalog or catalogCell, not both.\");\n }\n\n return Object.assign({}, config, { environment });\n}\n\n/**\n * Base SDK client that wires transports, realtime, catalogs, and all public service clients for a Polyester environment.\n *\n * Services are constructed lazily on first property access (and memoized) so\n * that creating a client — which happens for every SSR request in server\n * hooks — only pays for the services the caller actually touches.\n */\nexport class PolyesterClient {\n protected readonly transports: Transports;\n\n readonly #environment: PolyesterEnvironment;\n readonly #authProvider: JwtAuthProvider | ApiKeyEd25519AuthProvider | undefined;\n readonly #realtimeConfig: PolyesterRealtimeAuthConfig | undefined;\n readonly #configRealtimeClient: PolyesterRealtime | undefined;\n readonly #configCatalog: ClientCatalog | undefined;\n readonly #configCatalogSnapshot: CatalogSnapshot | undefined;\n readonly #configCatalogCell: CatalogSnapshotCell | undefined;\n readonly #createAuth: PolyesterClientRuntimeConfig[\"createAuth\"];\n\n #realtime: PolyesterRealtime | undefined;\n #catalog: ClientCatalog | undefined;\n #scales: SdkScales | undefined;\n #resolver: SubaccountResolver | undefined;\n #resolverInitialized = false;\n\n #auth: AuthService | undefined;\n #accounts: AccountsService | undefined;\n #apiKeys: ApiKeysService | undefined;\n #subaccounts: SubaccountsService | undefined;\n #candles: CandlesService | undefined;\n #chainAnalytics: ChainAnalyticsService | undefined;\n #marketData: MarketDataService | undefined;\n #marketOverview: MarketOverviewService | undefined;\n #orderbook: OrderbookService | undefined;\n #heatmap: HeatmapService | undefined;\n #lifecycle: LifecycleService | undefined;\n #trades: TradesService | undefined;\n #orders: OrdersService | undefined;\n #triggers: TriggersService | undefined;\n #balances: BalancesService | undefined;\n #transfers: TransfersService | undefined;\n #internalTransfers: InternalTransfersService | undefined;\n #tradingWithdraws: TradingWithdrawsService | undefined;\n #deposit: DepositService | undefined;\n #addressBook: AddressBookService | undefined;\n #guardSigner: GuardSignerService | undefined;\n #socialVerification: SocialVerificationService | undefined;\n #whiteboard: WhiteboardService | undefined;\n #zipper: ZipperService | undefined;\n #mfa: MfaService | undefined;\n #vip: VipService | undefined;\n #fees: FeesService | undefined;\n #tradingRateLimits: RateLimitService | undefined;\n\n constructor(config: PolyesterClientConfig, runtime: PolyesterClientRuntimeConfig = {}) {\n const parsedConfig = parsePolyesterClientConfig(config);\n config = parsedConfig;\n const interceptors = config.interceptors ?? [];\n const { environment } = config;\n\n this.transports =\n config.transports ??\n createTransports({\n apiUrl: environment.apiUrl,\n interceptors,\n auth: config.auth,\n wireFormat: config.wireFormat,\n });\n\n this.#environment = environment;\n this.#authProvider = config.auth;\n this.#realtimeConfig = config.realtime;\n this.#configRealtimeClient = config.realtimeClient;\n this.#configCatalog = config.catalog;\n this.#configCatalogSnapshot = config.catalogSnapshot;\n this.#configCatalogCell = config.catalogCell;\n this.#createAuth = runtime.createAuth;\n }\n\n get realtime(): PolyesterRealtime {\n if (!this.#realtime) {\n if (this.#configRealtimeClient) {\n this.#realtime = this.#configRealtimeClient;\n } else {\n const environment = this.#environment;\n const realtimeAuth = realtimeAuthFromProvider(this.#authProvider);\n this.#realtime = new RealtimeClient({\n wsUrl: environment.websocketUrl,\n tokenEndpoint: `${environment.apiUrl}/v1/rt/token`,\n subscribeEndpoint: `${environment.apiUrl}/v1/rt/subscribe`,\n getAuthHeaders:\n this.#realtimeConfig?.getAuthHeaders ?? realtimeAuth.getAuthHeaders,\n hasAuth: this.#realtimeConfig?.hasAuth ?? realtimeAuth.hasAuth,\n });\n }\n }\n return this.#realtime;\n }\n\n get catalog(): ClientCatalog {\n if (!this.#catalog) {\n if (this.#configCatalog) {\n this.#catalog = this.#configCatalog;\n } else {\n const catalogRefreshMarketData = new MarketDataService(\n this.transports.publicApi,\n this.realtime,\n this.#getScales(),\n );\n const catalogRefreshZipper = new ZipperService(this.transports.publicApi);\n this.#catalog = createPolyesterCatalog({\n snapshot: this.#configCatalogSnapshot,\n cell: this.#configCatalogCell,\n refresh: {\n market: () => catalogRefreshMarketData.getSpotConfig(),\n zipper: () => catalogRefreshZipper.getDepositWithdrawConfig(),\n },\n });\n }\n }\n return this.#catalog;\n }\n\n #getScales(): SdkScales {\n // Lazy catalog binding: the resolver only dereferences `this.catalog` at\n // call time. getSpotConfig() (the catalog's own refresh source) never\n // awaits scale readiness.\n this.#scales ??= createCatalogSdkScales(() => this.catalog);\n return this.#scales;\n }\n\n #getResolver(): SubaccountResolver | undefined {\n if (!this.#resolverInitialized) {\n this.#resolverInitialized = true;\n this.#resolver = this.createSubaccountResolver();\n }\n return this.#resolver;\n }\n\n get auth(): AuthService {\n if (!this.#auth) {\n const { authApi, publicApi } = this.transports;\n this.#auth =\n this.#createAuth?.({\n transports: { publicApi, authApi },\n realtime: this.realtime,\n subaccounts: this.subaccounts,\n environment: this.#environment,\n }) ?? new AuthService({ publicApi, authApi }, this.realtime);\n }\n return this.#auth;\n }\n\n get accounts(): AccountsService {\n return (this.#accounts ??= new AccountsService(this.transports.authApi));\n }\n\n get apiKeys(): ApiKeysService {\n return (this.#apiKeys ??= new ApiKeysService(\n this.transports.authApi,\n this.realtime,\n this.#getResolver(),\n ));\n }\n\n get subaccounts(): SubaccountsService {\n return (this.#subaccounts ??= new SubaccountsService(\n this.transports.authApi,\n this.realtime,\n this.#getResolver(),\n ));\n }\n\n get candles(): CandlesService {\n return (this.#candles ??= new CandlesService(\n this.transports.publicApi,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get chainAnalytics(): ChainAnalyticsService {\n return (this.#chainAnalytics ??= new ChainAnalyticsService(\n this.transports.publicApi,\n this.#getScales(),\n ));\n }\n\n get marketData(): MarketDataService {\n return (this.#marketData ??= new MarketDataService(\n this.transports.publicApi,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get marketOverview(): MarketOverviewService {\n return (this.#marketOverview ??= new MarketOverviewService(\n this.transports.publicApi,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get orderbook(): OrderbookService {\n return (this.#orderbook ??= new OrderbookService(\n this.transports.publicApi,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get heatmap(): HeatmapService {\n return (this.#heatmap ??= new HeatmapService(\n this.transports.publicApi,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get lifecycle(): LifecycleService {\n return (this.#lifecycle ??= new LifecycleService(this.transports.publicApi, this.realtime));\n }\n\n get trades(): TradesService {\n return (this.#trades ??= new TradesService(\n this.transports.authApi,\n this.realtime,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get orders(): OrdersService {\n return (this.#orders ??= new OrdersService(\n this.transports.authApi,\n this.realtime,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get triggers(): TriggersService {\n return (this.#triggers ??= new TriggersService(\n this.transports.authApi,\n this.realtime,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get balances(): BalancesService {\n return (this.#balances ??= new BalancesService(\n this.transports.authApi,\n this.realtime,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get transfers(): TransfersService {\n return (this.#transfers ??= new TransfersService(\n this.transports.authApi,\n this.realtime,\n this.#getResolver(),\n ));\n }\n\n get internalTransfers(): InternalTransfersService {\n return (this.#internalTransfers ??= new InternalTransfersService(\n this.transports.authApi,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get tradingWithdraws(): TradingWithdrawsService {\n return (this.#tradingWithdraws ??= new TradingWithdrawsService(\n this.transports.authApi,\n this.#getResolver(),\n {\n chainId: this.#environment.chain.id,\n tradingGatewayAddress: this.#environment.contracts.tradingGatewayAddress,\n },\n this.#getScales(),\n this.catalog,\n ));\n }\n\n get deposit(): DepositService {\n return (this.#deposit ??= new DepositService(this.transports.authApi, this.#getResolver()));\n }\n\n get addressBook(): AddressBookService {\n return (this.#addressBook ??= new AddressBookService(\n this.transports.authApi,\n this.realtime,\n this.#getResolver(),\n ));\n }\n\n get guardSigner(): GuardSignerService {\n return (this.#guardSigner ??= new GuardSignerService(\n this.transports.authApi,\n this.#getResolver(),\n ));\n }\n\n get socialVerification(): SocialVerificationService {\n return (this.#socialVerification ??= new SocialVerificationService(\n this.transports.authApi,\n ));\n }\n\n get whiteboard(): WhiteboardService {\n return (this.#whiteboard ??= new WhiteboardService(this.transports.authApi));\n }\n\n get zipper(): ZipperService {\n return (this.#zipper ??= new ZipperService(\n this.transports.publicApi,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get mfa(): MfaService {\n return (this.#mfa ??= new MfaService(this.transports.authApi));\n }\n\n get vip(): VipService {\n return (this.#vip ??= new VipService({\n publicApi: this.transports.publicApi,\n authApi: this.transports.authApi,\n }));\n }\n\n get fees(): FeesService {\n return (this.#fees ??= new FeesService(this.transports.authApi, this.#getResolver()));\n }\n\n get tradingRateLimits(): RateLimitService {\n return (this.#tradingRateLimits ??= new RateLimitService(\n {\n publicApi: this.transports.publicApi,\n authApi: this.transports.authApi,\n },\n this.#getResolver(),\n ));\n }\n\n /**\n * Override in subclasses to provide a subaccount resolver.\n * The resolver is called lazily when service methods are invoked.\n */\n protected createSubaccountResolver(): SubaccountResolver | undefined {\n return undefined;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"core-client.js","names":["#environment","#authProvider","#realtimeConfig","#configRealtimeClient","#configCatalog","#configCatalogSnapshot","#configCatalogCell","#createAuth","#realtime","#catalog","#getScales","#scales","#resolverInitialized","#resolver","#auth","#accounts","#apiKeys","#getResolver","#subaccounts","#candles","#chainAnalytics","#marketData","#marketOverview","#orderbook","#heatmap","#lifecycle","#trades","#orders","#triggers","#balances","#transfers","#internalTransfers","#tradingWithdraws","#deposit","#addressBook","#guardSigner","#socialVerification","#whiteboard","#zipper","#mfa","#vip","#fees","#tradingRateLimits"],"sources":["../src/core-client.ts"],"sourcesContent":["import type { Interceptor } from \"@connectrpc/connect\";\nimport { ConfigurationError } from \"./shared/errors.js\";\nimport {\n createApiKeyEd25519AuthHeaders,\n createTransports,\n resolveJwtToken,\n type AuthAndPublicApiTransports,\n type Transports,\n type JwtAuthProvider,\n type ApiKeyEd25519AuthProvider,\n} from \"./shared/transports.js\";\nimport { parsePolyesterEnvironment, type PolyesterEnvironment } from \"./environment.js\";\nimport { AccountsService } from \"./services/accounts/index.js\";\nimport { ApiKeysService } from \"./services/api-keys/index.js\";\nimport { AuthService } from \"./services/auth/auth.js\";\nimport { SubaccountsService } from \"./services/subaccounts/index.js\";\nimport { CandlesService } from \"./services/candles/index.js\";\nimport { ChainAnalyticsService } from \"./services/chain-analytics/index.js\";\nimport { MarketDataService } from \"./services/market-data/index.js\";\nimport { MarketOverviewService } from \"./services/market-overview/index.js\";\nimport { OrderbookService } from \"./services/orderbook/index.js\";\nimport { HeatmapService } from \"./services/heatmap/index.js\";\nimport { LifecycleService } from \"./services/lifecycle/index.js\";\nimport { TradesService } from \"./services/trades/index.js\";\nimport { OrdersService } from \"./services/orders/index.js\";\nimport { TriggersService } from \"./services/triggers/index.js\";\nimport { BalancesService } from \"./services/balances/index.js\";\nimport { TransfersService } from \"./services/transfers/index.js\";\nimport { InternalTransfersService } from \"./services/internal-transfers/index.js\";\nimport { TradingWithdrawsService } from \"./services/trading-withdraws/index.js\";\nimport { DepositService } from \"./services/deposit/index.js\";\nimport { AddressBookService } from \"./services/address-book/index.js\";\nimport { GuardSignerService } from \"./services/guard-signer/index.js\";\nimport { SocialVerificationService } from \"./services/social-verification/index.js\";\nimport { WhiteboardService } from \"./services/whiteboard/index.js\";\nimport { ZipperService } from \"./services/zipper/index.js\";\nimport { MfaService } from \"./services/mfa/index.js\";\nimport { VipService } from \"./services/vip/index.js\";\nimport { FeesService } from \"./services/fees/index.js\";\nimport { RateLimitService } from \"./services/rate-limits/index.js\";\nimport type { SubaccountResolver } from \"./services/subaccount-resolver.js\";\nimport {\n createPolyesterCatalog,\n type CatalogSnapshot,\n type CatalogSnapshotCell,\n type ClientCatalog,\n} from \"./catalogs/index.js\";\nimport { createCatalogSdkScales, type SdkScales } from \"./shared/decimal-surface.js\";\nimport { RealtimeClient, type PolyesterRealtime, type RealtimeConfig } from \"./realtime/index.js\";\n\nfunction realtimeAuthFromProvider(\n auth: JwtAuthProvider | ApiKeyEd25519AuthProvider | undefined,\n): Pick<RealtimeConfig, \"getAuthHeaders\" | \"hasAuth\"> {\n if (!auth) return {};\n if (auth.kind === \"jwt\") {\n type CachedTokenResolution =\n | { kind: \"value\"; value: ReturnType<JwtAuthProvider[\"getToken\"]> }\n | { kind: \"error\"; cause: unknown };\n\n let cachedTokenResolution: CachedTokenResolution | undefined;\n\n const prefetchToken = (): CachedTokenResolution => {\n if (cachedTokenResolution) return cachedTokenResolution;\n\n try {\n const value = auth.getToken();\n // Async providers cannot be preflighted synchronously. Attach a\n // rejection observer while the credential waits for the request.\n if (value !== null && typeof value !== \"string\") void value.catch(() => {});\n cachedTokenResolution = { kind: \"value\", value };\n } catch (cause) {\n cachedTokenResolution = { kind: \"error\", cause };\n }\n return cachedTokenResolution;\n };\n\n const consumeToken = (): ReturnType<JwtAuthProvider[\"getToken\"]> => {\n const resolution = cachedTokenResolution;\n cachedTokenResolution = undefined;\n\n if (!resolution) return auth.getToken();\n if (resolution.kind === \"error\") throw resolution.cause;\n return resolution.value;\n };\n const cachedAuth = { kind: \"jwt\", getToken: consumeToken } satisfies JwtAuthProvider;\n\n return {\n getAuthHeaders: async () => {\n const token = await resolveJwtToken(cachedAuth);\n const headers: Record<string, string> = {};\n if (token) headers.authorization = `Bearer ${token}`;\n return headers;\n },\n hasAuth: () => {\n const resolution = prefetchToken();\n if (resolution.kind === \"error\") return true;\n if (resolution.value !== null && typeof resolution.value !== \"string\") return true;\n\n const hasToken = resolution.value !== null && resolution.value.length > 0;\n if (!hasToken) cachedTokenResolution = undefined;\n return hasToken;\n },\n };\n }\n return {\n getAuthHeaders: (request) =>\n createApiKeyEd25519AuthHeaders(auth, {\n url: request.url,\n method: request.method,\n }),\n hasAuth: () => true,\n };\n}\n\nexport type PolyesterRealtimeAuthConfig = Pick<RealtimeConfig, \"getAuthHeaders\" | \"hasAuth\">;\n\ninterface PolyesterClientCommonConfig {\n environment: PolyesterEnvironment;\n interceptors?: Interceptor[];\n auth?: JwtAuthProvider | ApiKeyEd25519AuthProvider;\n realtime?: PolyesterRealtimeAuthConfig;\n /**\n * Connect wire format. Defaults to binary for production performance.\n * Use `json` for human-readable debugging.\n */\n wireFormat?: \"binary\" | \"json\";\n /**\n * Advanced: inject pre-built Connect transports (in-memory mocks, custom\n * stacks). When provided, the SDK does not build its own transports and the\n * built-in auth/error-mapping interceptors are NOT applied — the injected\n * transports own their full interceptor chain.\n */\n transports?: Transports;\n /**\n * Advanced: inject a realtime implementation (in-memory mocks, custom\n * stacks). When provided, the SDK skips constructing its Centrifuge-backed\n * realtime client and the `realtime` auth config is ignored.\n */\n realtimeClient?: PolyesterRealtime;\n}\n\ntype PolyesterCatalogConfig =\n | {\n /** Client-owned catalog store. */\n catalog: ClientCatalog;\n catalogSnapshot?: never;\n catalogCell?: never;\n }\n | {\n catalog?: never;\n /**\n * Explicit initial catalog snapshot, commonly hydrated from server-rendered data.\n * Combines with `catalogCell` as the cell's initial value without clobbering a\n * pre-populated cell.\n */\n catalogSnapshot?: CatalogSnapshot;\n /**\n * External snapshot storage for the client-built catalog. A cell backed by a\n * reactive source makes every catalog read reactive.\n */\n catalogCell?: CatalogSnapshotCell;\n };\n\n/** Configuration shared by every Polyester client. */\nexport type PolyesterClientBaseConfig = PolyesterClientCommonConfig & PolyesterCatalogConfig;\n\n/** Configuration for the base Polyester client. */\nexport type PolyesterClientConfig = PolyesterClientBaseConfig;\n\n/** Preserves the exclusive catalog configuration while projecting client config fields. */\nexport function pickPolyesterCatalogConfig(\n config: PolyesterClientBaseConfig,\n): PolyesterCatalogConfig {\n return config.catalog === undefined\n ? {\n catalogSnapshot: config.catalogSnapshot,\n catalogCell: config.catalogCell,\n }\n : { catalog: config.catalog };\n}\n\ninterface AuthServiceFactoryContext {\n transports: AuthAndPublicApiTransports;\n realtime: PolyesterRealtime;\n subaccounts: SubaccountsService;\n environment: PolyesterEnvironment;\n}\n\ninterface PolyesterClientRuntimeConfig {\n createAuth?: (context: AuthServiceFactoryContext) => AuthService;\n}\n\n/**\n * Parses the configuration shared by every public client constructor.\n */\nexport function parsePolyesterClientConfig<TConfig extends PolyesterClientBaseConfig>(\n config: TConfig,\n): TConfig {\n if (typeof config !== \"object\" || config === null || Array.isArray(config)) {\n throw new ConfigurationError(\"Client configuration must be an object.\");\n }\n const environment = parsePolyesterEnvironment(config.environment);\n if (\n config.wireFormat !== undefined &&\n config.wireFormat !== \"binary\" &&\n config.wireFormat !== \"json\"\n ) {\n throw new ConfigurationError('wireFormat must be either \"binary\" or \"json\".');\n }\n if (config.catalog && config.catalogSnapshot) {\n throw new ConfigurationError(\"Provide either catalog or catalogSnapshot, not both.\");\n }\n if (config.catalog && config.catalogCell) {\n throw new ConfigurationError(\"Provide either catalog or catalogCell, not both.\");\n }\n\n return Object.assign({}, config, { environment });\n}\n\n/**\n * Base SDK client that wires transports, realtime, catalogs, and all public service clients for a Polyester environment.\n *\n * Services are constructed lazily on first property access (and memoized) so\n * that creating a client — which happens for every SSR request in server\n * hooks — only pays for the services the caller actually touches.\n */\nexport class PolyesterClient {\n protected readonly transports: Transports;\n\n readonly #environment: PolyesterEnvironment;\n readonly #authProvider: JwtAuthProvider | ApiKeyEd25519AuthProvider | undefined;\n readonly #realtimeConfig: PolyesterRealtimeAuthConfig | undefined;\n readonly #configRealtimeClient: PolyesterRealtime | undefined;\n readonly #configCatalog: ClientCatalog | undefined;\n readonly #configCatalogSnapshot: CatalogSnapshot | undefined;\n readonly #configCatalogCell: CatalogSnapshotCell | undefined;\n readonly #createAuth: PolyesterClientRuntimeConfig[\"createAuth\"];\n\n #realtime: PolyesterRealtime | undefined;\n #catalog: ClientCatalog | undefined;\n #scales: SdkScales | undefined;\n #resolver: SubaccountResolver | undefined;\n #resolverInitialized = false;\n\n #auth: AuthService | undefined;\n #accounts: AccountsService | undefined;\n #apiKeys: ApiKeysService | undefined;\n #subaccounts: SubaccountsService | undefined;\n #candles: CandlesService | undefined;\n #chainAnalytics: ChainAnalyticsService | undefined;\n #marketData: MarketDataService | undefined;\n #marketOverview: MarketOverviewService | undefined;\n #orderbook: OrderbookService | undefined;\n #heatmap: HeatmapService | undefined;\n #lifecycle: LifecycleService | undefined;\n #trades: TradesService | undefined;\n #orders: OrdersService | undefined;\n #triggers: TriggersService | undefined;\n #balances: BalancesService | undefined;\n #transfers: TransfersService | undefined;\n #internalTransfers: InternalTransfersService | undefined;\n #tradingWithdraws: TradingWithdrawsService | undefined;\n #deposit: DepositService | undefined;\n #addressBook: AddressBookService | undefined;\n #guardSigner: GuardSignerService | undefined;\n #socialVerification: SocialVerificationService | undefined;\n #whiteboard: WhiteboardService | undefined;\n #zipper: ZipperService | undefined;\n #mfa: MfaService | undefined;\n #vip: VipService | undefined;\n #fees: FeesService | undefined;\n #tradingRateLimits: RateLimitService | undefined;\n\n constructor(config: PolyesterClientConfig, runtime: PolyesterClientRuntimeConfig = {}) {\n const parsedConfig = parsePolyesterClientConfig(config);\n config = parsedConfig;\n const interceptors = config.interceptors ?? [];\n const { environment } = config;\n\n this.transports =\n config.transports ??\n createTransports({\n apiUrl: environment.apiUrl,\n interceptors,\n auth: config.auth,\n wireFormat: config.wireFormat,\n });\n\n this.#environment = environment;\n this.#authProvider = config.auth;\n this.#realtimeConfig = config.realtime;\n this.#configRealtimeClient = config.realtimeClient;\n this.#configCatalog = config.catalog;\n this.#configCatalogSnapshot = config.catalogSnapshot;\n this.#configCatalogCell = config.catalogCell;\n this.#createAuth = runtime.createAuth;\n }\n\n get realtime(): PolyesterRealtime {\n if (!this.#realtime) {\n if (this.#configRealtimeClient) {\n this.#realtime = this.#configRealtimeClient;\n } else {\n const environment = this.#environment;\n const realtimeAuth = realtimeAuthFromProvider(this.#authProvider);\n this.#realtime = new RealtimeClient({\n wsUrl: environment.websocketUrl,\n tokenEndpoint: `${environment.apiUrl}/v1/rt/token`,\n subscribeEndpoint: `${environment.apiUrl}/v1/rt/subscribe`,\n getAuthHeaders:\n this.#realtimeConfig?.getAuthHeaders ?? realtimeAuth.getAuthHeaders,\n hasAuth: this.#realtimeConfig?.hasAuth ?? realtimeAuth.hasAuth,\n });\n }\n }\n return this.#realtime;\n }\n\n get catalog(): ClientCatalog {\n if (!this.#catalog) {\n if (this.#configCatalog) {\n this.#catalog = this.#configCatalog;\n } else {\n const catalogRefreshMarketData = new MarketDataService(\n this.transports,\n this.realtime,\n this.#getScales(),\n );\n const catalogRefreshZipper = new ZipperService(this.transports);\n this.#catalog = createPolyesterCatalog({\n snapshot: this.#configCatalogSnapshot,\n cell: this.#configCatalogCell,\n refresh: {\n market: () => catalogRefreshMarketData.getSpotConfig(),\n zipper: () => catalogRefreshZipper.getDepositWithdrawConfig(),\n },\n });\n }\n }\n return this.#catalog;\n }\n\n #getScales(): SdkScales {\n // Lazy catalog binding: the resolver only dereferences `this.catalog` at\n // call time. getSpotConfig() (the catalog's own refresh source) never\n // awaits scale readiness.\n this.#scales ??= createCatalogSdkScales(() => this.catalog);\n return this.#scales;\n }\n\n #getResolver(): SubaccountResolver | undefined {\n if (!this.#resolverInitialized) {\n this.#resolverInitialized = true;\n this.#resolver = this.createSubaccountResolver();\n }\n return this.#resolver;\n }\n\n get auth(): AuthService {\n if (!this.#auth) {\n this.#auth =\n this.#createAuth?.({\n transports: this.transports,\n realtime: this.realtime,\n subaccounts: this.subaccounts,\n environment: this.#environment,\n }) ?? new AuthService(this.transports, this.realtime);\n }\n return this.#auth;\n }\n\n get accounts(): AccountsService {\n return (this.#accounts ??= new AccountsService(this.transports));\n }\n\n get apiKeys(): ApiKeysService {\n return (this.#apiKeys ??= new ApiKeysService(\n this.transports,\n this.realtime,\n this.#getResolver(),\n ));\n }\n\n get subaccounts(): SubaccountsService {\n return (this.#subaccounts ??= new SubaccountsService(\n this.transports,\n this.realtime,\n this.#getResolver(),\n ));\n }\n\n get candles(): CandlesService {\n return (this.#candles ??= new CandlesService(\n this.transports,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get chainAnalytics(): ChainAnalyticsService {\n return (this.#chainAnalytics ??= new ChainAnalyticsService(\n this.transports,\n this.#getScales(),\n ));\n }\n\n get marketData(): MarketDataService {\n return (this.#marketData ??= new MarketDataService(\n this.transports,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get marketOverview(): MarketOverviewService {\n return (this.#marketOverview ??= new MarketOverviewService(\n this.transports,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get orderbook(): OrderbookService {\n return (this.#orderbook ??= new OrderbookService(\n this.transports,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get heatmap(): HeatmapService {\n return (this.#heatmap ??= new HeatmapService(\n this.transports,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get lifecycle(): LifecycleService {\n return (this.#lifecycle ??= new LifecycleService(this.transports, this.realtime));\n }\n\n get trades(): TradesService {\n return (this.#trades ??= new TradesService(\n this.transports,\n this.realtime,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get orders(): OrdersService {\n return (this.#orders ??= new OrdersService(\n this.transports,\n this.realtime,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get triggers(): TriggersService {\n return (this.#triggers ??= new TriggersService(\n this.transports,\n this.realtime,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get balances(): BalancesService {\n return (this.#balances ??= new BalancesService(\n this.transports,\n this.realtime,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get transfers(): TransfersService {\n return (this.#transfers ??= new TransfersService(\n this.transports,\n this.realtime,\n this.#getResolver(),\n ));\n }\n\n get internalTransfers(): InternalTransfersService {\n return (this.#internalTransfers ??= new InternalTransfersService(\n this.transports,\n this.#getResolver(),\n this.#getScales(),\n ));\n }\n\n get tradingWithdraws(): TradingWithdrawsService {\n return (this.#tradingWithdraws ??= new TradingWithdrawsService(\n this.transports,\n this.#getResolver(),\n {\n chainId: this.#environment.chain.id,\n tradingGatewayAddress: this.#environment.contracts.tradingGatewayAddress,\n },\n this.#getScales(),\n this.catalog,\n ));\n }\n\n get deposit(): DepositService {\n return (this.#deposit ??= new DepositService(this.transports, this.#getResolver()));\n }\n\n get addressBook(): AddressBookService {\n return (this.#addressBook ??= new AddressBookService(\n this.transports,\n this.realtime,\n this.#getResolver(),\n ));\n }\n\n get guardSigner(): GuardSignerService {\n return (this.#guardSigner ??= new GuardSignerService(this.transports, this.#getResolver()));\n }\n\n get socialVerification(): SocialVerificationService {\n return (this.#socialVerification ??= new SocialVerificationService(this.transports));\n }\n\n get whiteboard(): WhiteboardService {\n return (this.#whiteboard ??= new WhiteboardService(this.transports));\n }\n\n get zipper(): ZipperService {\n return (this.#zipper ??= new ZipperService(\n this.transports,\n this.realtime,\n this.#getScales(),\n ));\n }\n\n get mfa(): MfaService {\n return (this.#mfa ??= new MfaService(this.transports));\n }\n\n get vip(): VipService {\n return (this.#vip ??= new VipService(this.transports));\n }\n\n get fees(): FeesService {\n return (this.#fees ??= new FeesService(this.transports, this.#getResolver()));\n }\n\n get tradingRateLimits(): RateLimitService {\n return (this.#tradingRateLimits ??= new RateLimitService(\n this.transports,\n this.#getResolver(),\n ));\n }\n\n /**\n * Override in subclasses to provide a subaccount resolver.\n * The resolver is called lazily when service methods are invoked.\n */\n protected createSubaccountResolver(): SubaccountResolver | undefined {\n return undefined;\n }\n}\n"],"mappings":"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"}
@@ -1658,6 +1658,14 @@ type GetAddressBookViewRequest = Message<"auth.v1.GetAddressBookViewRequest"> &
1658
1658
  * @generated from field: uint32 limit = 6;
1659
1659
  */
1660
1660
  limit: number;
1661
+ /**
1662
+ * Minimum revision observed in AddressBookViewInvalidated. When set, the
1663
+ * server waits for its local projection to reach this revision instead of
1664
+ * returning an older view.
1665
+ *
1666
+ * @generated from field: uint64 minimum_view_revision = 7;
1667
+ */
1668
+ minimumViewRevision: bigint;
1661
1669
  };
1662
1670
  /**
1663
1671
  * Describes the message auth.v1.GetAddressBookViewRequest.
@@ -1705,6 +1713,12 @@ type GetAddressBookViewResponse = Message<"auth.v1.GetAddressBookViewResponse">
1705
1713
  * @generated from field: bool recent_destinations_truncated = 6;
1706
1714
  */
1707
1715
  recentDestinationsTruncated: boolean;
1716
+ /**
1717
+ * Revision of the complete scope projection returned by this response.
1718
+ *
1719
+ * @generated from field: uint64 view_revision = 7;
1720
+ */
1721
+ viewRevision: bigint;
1708
1722
  };
1709
1723
  /**
1710
1724
  * Describes the message auth.v1.GetAddressBookViewResponse.
@@ -1729,6 +1743,13 @@ type AddressBookViewInvalidated = Message<"auth.v1.AddressBookViewInvalidated">
1729
1743
  * @generated from field: google.protobuf.Timestamp invalidated_at = 2;
1730
1744
  */
1731
1745
  invalidatedAt?: Timestamp | undefined;
1746
+ /**
1747
+ * Revision that GetAddressBookView must reach before the invalidation is
1748
+ * considered satisfied.
1749
+ *
1750
+ * @generated from field: uint64 view_revision = 3;
1751
+ */
1752
+ viewRevision: bigint;
1732
1753
  };
1733
1754
  /**
1734
1755
  * Describes the message auth.v1.AddressBookViewInvalidated.
@@ -1 +1 @@
1
- {"version":3,"file":"address_book_pb.d.ts","names":[],"sources":["../../../../src/gen/auth/v1/address_book_pb.ts"],"mappings":"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"}
1
+ {"version":3,"file":"address_book_pb.d.ts","names":[],"sources":["../../../../src/gen/auth/v1/address_book_pb.ts"],"mappings":";;;;;;;;;;cAgBa,2BAA2B;;;;KAM5B,kBAAkB;;;;;;EAM5B,WAAW;;;;;;EAOX;;;;;;EAOA;;;;;;cAOW,uBAAuB,WAAW;;;;KAMnC,cAAc;;;;;;EAMxB,QAAQ;;;;;;EAOR,YAAY;;;;;;EAOZ;;;;;;EAOA;;;;;;EAOA;;;;;;cAOW,mBAAmB,WAAW;;;;KAM/B,0BAA0B;;;;;;EAMpC;;;;;;EAOA;;;;;;cAOW,+BAA+B,WAAW;;;;KAM3C,0BAA0B;;;;;;EAMpC;;;;;;EAOA;;;;;;EAOA,iBAAiB;;;;;;EAOjB;;;;;;EAOA;;;;;;EAOA;;;;;;cAOW,+BAA+B,WAAW;;;;KAM3C,iBAAiB;;;;;;EAM3B;;;;;;EAOA,QAAQ;;;;;;EAOR;;;;;;EAOA;;;;;;EAOA,YAAY;;;;;;EAOZ,YAAY;;;;;;cAOD,sBAAsB,WAAW;;;;KAMlC,wBAAwB;;;;;;EAMlC;;;;;;EAOA;;;;;;EAOA;;;;;;cAOW,6BAA6B,WAAW;;;;KAMzC,mBAAmB;;;;;;EAM7B;;;;;;EAOA,QAAQ;;;;;;EAOR,MAAM;;;;;;EAON;;;;;;EAOA;;;;;;EAOA,YAAY;;;;;;EAOZ,YAAY;;;;EAKZ;;;;;;IAME,OAAO;IACP;;;;;;;IAOA,OAAO;IACP;;IACI;IAAiB;;;;;;;EAOvB,MAAM;;;;;;EAON;;;;;;cAOW,wBAAwB,WAAW;;;;KAMpC,yBAAyB;;;;;;EAMnC,UAAU;;;;;;EAOV,UAAU;;;;;;cAOC,8BAA8B,WAAW;;;;KAM1C,2BAA2B;;;;;;EAMrC;;;;;;EAOA,QAAQ;;;;;;EAOR;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,iBAAiB;;;;;;EAOjB;;;;;;EAOA;;;;;;EAOA,YAAY;;;;;;EAOZ,YAAY;;;;;;EAOZ;;;;;;cAOW,gCAAgC,WAAW;;;;KAM5C,2BAA2B;;;;;;EAMrC;;;;;;EAOA,QAAQ;;;;;;EAOR;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,iBAAiB;;;;;;EAOjB;;;;;;EAOA;;;;;;EAOA,iBAAiB;;;;;;EAOjB;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,YAAY;;;;;;EAOZ,YAAY;;;;;;EAOZ;;;;;;cAOW,gCAAgC,WAAW;;;;KAM5C,uBAAuB;;;;;;EAMjC;;;;;;EAOA,QAAQ;;;;;;EAOR,WAAW;;;;;;EAOX,MAAM;;;;;;EAON;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,cAAc;;;;;;EAOd,aAAa;;;;EAKb;;;;;;IAME,OAAO;IACP;;;;;;;IAOA,OAAO;IACP;;IACI;IAAiB;;;;;;;cAOZ,4BAA4B,WAAW;;;;KAMxC,oCAAoC;;;;;;EAM9C,UAAU;;;;;;EAOV,UAAU;;;;;;cAOC,yCAAyC,WAAW;;;;KAMrD,4BAA4B;;;;;;EAMtC,QAAQ;;;;;;EAOR,eAAe;;;;;;EAOf;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,aAAa;;;;;;EAOb;;;;;;EAOA;;;;;;cAOW,iCAAiC,WAAW;;;;KAM7C,4BAA4B;;;;;;EAMtC,QAAQ;;;;;;EAOR,eAAe;;;;;;EAOf;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,aAAa;;;;;;EAOb;;;;;;EAOA;;;;;;EAOA,iBAAiB;;;;;;EAOjB;;;;;;EAOA;;;;;;EAOA;;;;;;cAOW,iCAAiC,WAAW;;;;KAM7C,iCAAiC;;;;;;EAM3C;;;;;;EAOA,QAAQ;;;;;;EAOR;;;;;;EAOA;;;;;;EAOA,iBAAiB;;;;;;EAOjB;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,YAAY;;;;;;EAOZ,YAAY;;;;;;EAOZ,kBAAkB;;;;;;cAOP,sCAAsC,WAAW;;;;KAMlD,iCAAiC;;;;;;EAM3C;;;;;;EAOA;;;;;;EAOA,YAAY;;;;;;EAOZ;;;;;;cAOW,sCAAsC,WAAW;;;;KAMlD,wBAAwB;;;;;;EAMlC,QAAQ;;;;;;EAOR;;;;;;EAOA,eAAe;;;;;;EAOf;;;;;;cAOW,6BAA6B,WAAW;;;;KAMzC,sBAAsB;;;;;;EAMhC,QAAQ;;;;;;EAOR,MAAM;;;;;;EAON;;;;;;EAOA;;;;;;EAOA,iBAAiB;;;;;;EAOjB,mBAAmB;;;;EAKnB;;;;;;IAME,OAAO;IACP;;;;;;;IAOA,OAAO;IACP;;IACI;IAAiB;;;;;;;EAOvB,qBAAqB;;;;;;cAOV,2BAA2B,WAAW;;;;KAMvC,0BAA0B;;;;;cAOzB,+BAA+B,WAAW;;;;KAM3C,2BAA2B;;;;;;EAMrC,OAAO;;;;;;cAOI,gCAAgC,WAAW;;;;KAM5C,gCAAgC;;;;;;EAM1C;;;;;;EAOA,MAAM;;;;;;;EAQN;;;;;;;;EASA;;;;;;cAOW,qCAAqC,WAAW;;;;KAMjD,iCAAiC;;;;;;EAM3C,SAAS;;;;;;EAOT;;;;;;cAOW,sCAAsC,WAAW;;;;KAMlD,gCAAgC;;;;;;EAM1C;;;;;;EAOA;;;;;;EAOA;;;;EAKA;;;;;;IAME,OAAO;IACP;;;;;;;IAOA,OAAO;IACP;;IACI;IAAiB;;;;;;;EAOvB;;;;;;EAOA,SAAS;;;;;;cAOE,qCAAqC,WAAW;;;;KAMjD,mCAAmC;;;;;;EAM7C;;;;;;cAOW,wCAAwC,WAAW;;;;KAMpD,iCAAiC;;;;;;EAM3C,QAAQ;;;;;;cAOG,sCAAsC,WAAW;;;;;;KAQlD,6BAA6B;;;;;;EAMvC;;;;;;EAOA;;;;;;EAOA;;;;;;;;EASA,SAAS;;;;;;cAOE,kCAAkC,WAAW;;;;KAM9C,gCAAgC;;;;;;EAM1C;;;;;;EAOA,QAAQ;;;;;;;EAQR,aAAa;;;;;;EAOb;;;;;;cAOW,qCAAqC,WAAW;;;;KAMjD,iCAAiC;;;;;;EAM3C,QAAQ;;;;;;cAOG,sCAAsC,WAAW;;;;KAMlD,sBAAsB;;;;;;EAMhC;;;;;;EAOA;;;;;;cAOW,2BAA2B,WAAW;;;;KAMvC,gCAAgC;;;;;;EAM1C;;;;;;cAOW,qCAAqC,WAAW;;;;KAMjD,iCAAiC;;;;;cAOhC,sCAAsC,WAAW;;;;KAMlD,8BAA8B;;;;;;EAMxC;;;;;;EAOA;;;;;;cAOW,mCAAmC,WAAW;;;;KAM/C,+BAA+B;;;;;;EAMzC,QAAQ;;;;;;cAOG,oCAAoC,WAAW;;;;KAMhD,8BAA8B;;;;;;EAMxC;;;;;;EAOA;;;;;;EAOA;;;;;;cAOW,mCAAmC,WAAW;;;;KAM/C,+BAA+B;;;;;;EAMzC,MAAM;;;;;;cAOK,oCAAoC,WAAW;;;;KAMhD,8BAA8B;;;;;;EAMxC;;;;;;EAOA;;;;;;EAOA;;;;;;cAOW,mCAAmC,WAAW;;;;KAM/C,+BAA+B;;;;;;EAMzC,MAAM;;;;;;cAOK,oCAAoC,WAAW;;;;KAMhD,8BAA8B;;;;;;EAMxC;;;;;;cAOW,mCAAmC,WAAW;;;;KAM/C,+BAA+B;;;;;cAO9B,oCAAoC,WAAW;;;;KAMhD,oCAAoC;;;;;;EAM9C;;;;;;EAOA,WAAW;;;;;;EAOX,MAAM;;;;;;;EAQN;;;;;;cAOW,yCAAyC,WAAW;;;;KAMrD,qCAAqC;;;;;;EAM/C,gBAAgB;;;;;;;EAQhB;;;;;;cAOW,0CAA0C,WAAW;;;;KAMtD,kCAAkC;;;;;;EAM5C;;;;;;EAOA,MAAM;;;;;;;EAQN;;;;;;;;EASA;;;;;;cAOW,uCAAuC,WAAW;;;;KAMnD,mCAAmC;;;;;;;EAO7C,cAAc;;;;;;EAOd;;;;;;cAOW,wCAAwC,WAAW;;;;KAMpD,8CAA8C;;;;;;EAMxD;;;;;;;EAQA;;;;;;;EAQA;;;;;;cAOW,mDAAmD,WAAW;;;;KAM/D,+CAA+C;;;;;;;EAOzD,SAAS;;;;;;EAOT;;;;;;cAOW,oDAAoD,WAAW;;;;KAMhE,kCAAkC;;;;;;EAM5C;;;;;;cAOW,uCAAuC,WAAW;;;;KAMnD,mCAAmC;;;;;;EAM7C,OAAO;;;;;;cAOI,wCAAwC,WAAW;;;;KAMpD,4BAA4B;;;;;;EAMtC;;;;;;;EAQA;;;;;;;;EASA;;;;;;cAOW,iCAAiC,WAAW;;;;KAM7C,6BAA6B;;;;;;EAMvC,OAAO;;;;;;EAOP,UAAU;;;;;;EAOV,qBAAqB;;;;;;EAOrB,MAAM;;;;;;EAON,oBAAoB;;;;;;;EAQpB;;;;;;EAOA;;;;;;cAOW,kCAAkC,WAAW;;;;;;KAQ9C,6BAA6B;;;;;;EAMvC,QAAQ;;;;;;EAOR,gBAAgB;;;;;;;EAQhB;;;;;;cAOW,kCAAkC,WAAW;;;;;;aAQ9C;;;;;;EAMV;;;;;;EAOA;;;;;;EAOA;;;;;cAMW,wBAAwB,QAAQ;;;;;;aAQjC;;;;;;EAMV;;;;;;EAOA;;;;;;EAOA;;;;;cAMW,4BAA4B,QAAQ;;;;;;aAQrC;;;;;;EAMV;;;;;;EAOA;;;;;;EAOA;;;;;cAMW,yCAAyC,QAAQ;;;;;;aAQlD;;;;;;EAMV;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;cAMW,kCAAkC,QAAQ;;;;;;aAQ3C;;;;;;EAMV;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;cAMW,qCAAqC,QAAQ;;;;cAM7C,oBAAoB;;;;EAI/B;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe;;;;;EAKjB;IACE;IACA,cAAc;IACd,eAAe"}
@@ -71,7 +71,7 @@ var address_book_pb_exports = /* @__PURE__ */ __exportAll({
71
71
  /**
72
72
  * Describes the file auth/v1/address_book.proto.
73
73
  */
74
- const file_auth_v1_address_book = /*@__PURE__*/ fileDesc("ChphdXRoL3YxL2FkZHJlc3NfYm9vay5wcm90bxIHYXV0aC52MSJ2Cg9BY2NvdW50U2NvcGVSZWYSLwoKc2NvcGVfdHlwZRgBIAEoDjIZLmF1dGgudjEuQWNjb3VudFNjb3BlVHlwZUIAEhkKD3Jvb3RfYWNjb3VudF9pZBgCIAEoBkIAEhcKDXN1YmFjY291bnRfaWQYAyABKAZCACKyAQoLQWRkcmVzc0Jvb2sSJwoFc2NvcGUYASABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhIuCgtjYWxsZXJfcm9sZRgCIAEoDjIXLmF1dGgudjEuU3ViYWNjb3VudFJvbGVCABIPCgVsYWJlbBgDIAEoCUIAEhgKDm93bmVyX3VzZXJuYW1lGAQgASgJQgASHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAUgASgJQgAiSgoXRXh0ZXJuYWxXaXRoZHJhd0FkZHJlc3MSHAoScG9seWNoYWluX2NoYWluX2lkGAEgASgNQgASEQoHYWRkcmVzcxgCIAEoCUIAIt8BChdJbnRlcm5hbFRyYW5zZmVyQWNjb3VudBIZCg9yb290X2FjY291bnRfaWQYASABKAZCABIbChF0YXJnZXRfYWNjb3VudF9pZBgCIAEoBkIAEjYKEXRhcmdldF9zY29wZV90eXBlGAMgASgOMhkuYXV0aC52MS5BY2NvdW50U2NvcGVUeXBlQgASHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAQgASgJQgASFwoNcm9vdF91c2VybmFtZRgFIAEoCUIAEhoKEHN1YmFjY291bnRfbGFiZWwYBiABKAlCACLMAQoOQWRkcmVzc0Jvb2tUYWcSEAoGdGFnX2lkGAEgASgGQgASJwoFc2NvcGUYAiABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhIOCgRuYW1lGAMgASgJQgASDwoFY29sb3IYBCABKAlCABIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJKChVBZGRyZXNzQm9va1RhZ1N1bW1hcnkSEAoGdGFnX2lkGAEgASgGQgASDgoEbmFtZRgCIAEoCUIAEg8KBWNvbG9yGAMgASgJQgAiugMKEEFkZHJlc3NCb29rRW50cnkSHwoVYWRkcmVzc19ib29rX2VudHJ5X2lkGAEgASgGQgASJwoFc2NvcGUYAiABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhItCgRraW5kGAMgASgOMh0uYXV0aC52MS5BZGRyZXNzQm9va0VudHJ5S2luZEIAEg8KBWxhYmVsGAQgASgJQgASDgoEbm90ZRgFIAEoCUIAEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKCGV4dGVybmFsGBQgASgLMiAuYXV0aC52MS5FeHRlcm5hbFdpdGhkcmF3QWRkcmVzc0gAEjQKCGludGVybmFsGBUgASgLMiAuYXV0aC52MS5JbnRlcm5hbFRyYW5zZmVyQWNjb3VudEgAEiUKBHRhZ3MYHiADKAsyFy5hdXRoLnYxLkFkZHJlc3NCb29rVGFnEhAKCHJldmlzaW9uGB8gASgEQgcKBWVudHJ5IoIBChZBZGRyZXNzQm9va0VudHJpZXNWaWV3EjMKCGV4dGVybmFsGAEgAygLMiEuYXV0aC52MS5FeHRlcm5hbEFkZHJlc3NCb29rRW50cnkSMwoIaW50ZXJuYWwYAiADKAsyIS5hdXRoLnYxLkludGVybmFsQWRkcmVzc0Jvb2tFbnRyeSL8AgoYRXh0ZXJuYWxBZGRyZXNzQm9va0VudHJ5Eh8KFWFkZHJlc3NfYm9va19lbnRyeV9pZBgBIAEoBkIAEicKBXNjb3BlGAIgASgLMhguYXV0aC52MS5BY2NvdW50U2NvcGVSZWYSDwoFbGFiZWwYAyABKAlCABIOCgRub3RlGAQgASgJQgASEQoHdGFnX2lkcxgFIAMoBkIAEj8KEHdoaXRlbGlzdF9zdGF0dXMYBiABKA4yIy5hdXRoLnYxLkRlc3RpbmF0aW9uV2hpdGVsaXN0U3RhdHVzQgASHAoScG9seWNoYWluX2NoYWluX2lkGAcgASgNQgASEQoHYWRkcmVzcxgIIAEoCUIAEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhAKCHJldmlzaW9uGAsgASgEIpEEChhJbnRlcm5hbEFkZHJlc3NCb29rRW50cnkSHwoVYWRkcmVzc19ib29rX2VudHJ5X2lkGAEgASgGQgASJwoFc2NvcGUYAiABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhIPCgVsYWJlbBgDIAEoCUIAEg4KBG5vdGUYBCABKAlCABIRCgd0YWdfaWRzGAUgAygGQgASPwoQd2hpdGVsaXN0X3N0YXR1cxgGIAEoDjIjLmF1dGgudjEuRGVzdGluYXRpb25XaGl0ZWxpc3RTdGF0dXNCABIZCg9yb290X2FjY291bnRfaWQYByABKAZCABIbChF0YXJnZXRfYWNjb3VudF9pZBgIIAEoBkIAEjYKEXRhcmdldF9zY29wZV90eXBlGAkgASgOMhkuYXV0aC52MS5BY2NvdW50U2NvcGVUeXBlQgASHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAogASgJQgASFwoNcm9vdF91c2VybmFtZRgLIAEoCUIAEhoKEHN1YmFjY291bnRfbGFiZWwYDCABKAlCABIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCghyZXZpc2lvbhgPIAEoBCLqAwoUVHJhbnNmZXJDb3VudGVycGFydHkSGQoPY291bnRlcnBhcnR5X2lkGAEgASgGQgASJwoFc2NvcGUYAiABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhI7CglkaXJlY3Rpb24YAyABKA4yJi5hdXRoLnYxLlRyYW5zZmVyQ291bnRlcnBhcnR5RGlyZWN0aW9uQgASLQoEa2luZBgEIAEoDjIdLmF1dGgudjEuQWRkcmVzc0Jvb2tFbnRyeUtpbmRCABINCgVzYXZlZBgFIAEoCBIfChVhZGRyZXNzX2Jvb2tfZW50cnlfaWQYBiABKAZCABIRCgl1c2VfY291bnQYByABKAQSMQoNZmlyc3Rfc2Vlbl9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMbGFzdF9zZWVuX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0CghleHRlcm5hbBgUIAEoCzIgLmF1dGgudjEuRXh0ZXJuYWxXaXRoZHJhd0FkZHJlc3NIABI0CghpbnRlcm5hbBgVIAEoCzIgLmF1dGgudjEuSW50ZXJuYWxUcmFuc2ZlckFjY291bnRIAEIOCgxjb3VudGVycGFydHkijwEKIUFkZHJlc3NCb29rUmVjZW50RGVzdGluYXRpb25zVmlldxI0CghleHRlcm5hbBgBIAMoCzIiLmF1dGgudjEuRXh0ZXJuYWxSZWNlbnREZXN0aW5hdGlvbhI0CghpbnRlcm5hbBgCIAMoCzIiLmF1dGgudjEuSW50ZXJuYWxSZWNlbnREZXN0aW5hdGlvbiKsAgoZRXh0ZXJuYWxSZWNlbnREZXN0aW5hdGlvbhInCgVzY29wZRgBIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEkAKDmxhc3RfZGlyZWN0aW9uGAIgASgOMiYuYXV0aC52MS5UcmFuc2ZlckNvdW50ZXJwYXJ0eURpcmVjdGlvbkIAEg0KBXNhdmVkGAMgASgIEh8KFWFkZHJlc3NfYm9va19lbnRyeV9pZBgEIAEoBkIAEhEKCXVzZV9jb3VudBgFIAEoBBIwCgxsYXN0X3NlZW5fYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKEnBvbHljaGFpbl9jaGFpbl9pZBgHIAEoDUIAEhEKB2FkZHJlc3MYCCABKAlCACLBAwoZSW50ZXJuYWxSZWNlbnREZXN0aW5hdGlvbhInCgVzY29wZRgBIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEkAKDmxhc3RfZGlyZWN0aW9uGAIgASgOMiYuYXV0aC52MS5UcmFuc2ZlckNvdW50ZXJwYXJ0eURpcmVjdGlvbkIAEg0KBXNhdmVkGAMgASgIEh8KFWFkZHJlc3NfYm9va19lbnRyeV9pZBgEIAEoBkIAEhEKCXVzZV9jb3VudBgFIAEoBBIwCgxsYXN0X3NlZW5fYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKD3Jvb3RfYWNjb3VudF9pZBgHIAEoBkIAEhsKEXRhcmdldF9hY2NvdW50X2lkGAggASgGQgASNgoRdGFyZ2V0X3Njb3BlX3R5cGUYCSABKA4yGS5hdXRoLnYxLkFjY291bnRTY29wZVR5cGVCABIfChVzbWFydF9hY2NvdW50X2FkZHJlc3MYCiABKAlCABIXCg1yb290X3VzZXJuYW1lGAsgASgJQgASGgoQc3ViYWNjb3VudF9sYWJlbBgMIAEoCUIAIswDCh5JbnRlcm5hbFRyYW5zZmVyV2hpdGVsaXN0RW50cnkSEgoIZW50cnlfaWQYASABKAZCABInCgVzY29wZRgCIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEhkKD3Jvb3RfYWNjb3VudF9pZBgDIAEoBkIAEhsKEXRhcmdldF9hY2NvdW50X2lkGAQgASgGQgASNgoRdGFyZ2V0X3Njb3BlX3R5cGUYBSABKA4yGS5hdXRoLnYxLkFjY291bnRTY29wZVR5cGVCABIfChVzbWFydF9hY2NvdW50X2FkZHJlc3MYBiABKAlCABIXCg1yb290X3VzZXJuYW1lGAcgASgJQgASGgoQc3ViYWNjb3VudF9sYWJlbBgIIAEoCUIAEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkcKEXJlc29sdXRpb25fc3RhdHVzGAsgASgOMiouYXV0aC52MS5JbnRlcm5hbFdoaXRlbGlzdFJlc29sdXRpb25TdGF0dXNCACKmAQoeTWlycm9yZWRXaXRoZHJhd1doaXRlbGlzdEVudHJ5EhsKEWNhbm9uaWNhbF9hZGRyZXNzGAEgASgJQgASGQoPcmF3X2FkZHJlc3NfaGV4GAIgASgJQgASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoScG9seWNoYWluX2NoYWluX2lkGAYgASgNQgAiywEKFVdpdGhkcmF3V2hpdGVsaXN0VmlldxInCgVzY29wZRgBIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEiMKG2V4dGVybmFsX3doaXRlbGlzdF9yZXF1aXJlZBgCIAEoCBI/Cg5hY3RpdmVfZW50cmllcxgDIAMoCzInLmF1dGgudjEuTWlycm9yZWRXaXRoZHJhd1doaXRlbGlzdEVudHJ5EiMKG2ludGVybmFsX3doaXRlbGlzdF9yZXF1aXJlZBgEIAEoCCK+AwoTVHJhbnNmZXJEZXN0aW5hdGlvbhInCgVzY29wZRgBIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEi0KBGtpbmQYAiABKA4yHS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnlLaW5kQgASDQoFc2F2ZWQYAyABKAgSEwoLd2hpdGVsaXN0ZWQYBCABKAgSPwoQd2hpdGVsaXN0X3N0YXR1cxgFIAEoDjIjLmF1dGgudjEuRGVzdGluYXRpb25XaGl0ZWxpc3RTdGF0dXNCABI1ChJhZGRyZXNzX2Jvb2tfZW50cnkYBiABKAsyGS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnkSNAoIZXh0ZXJuYWwYFCABKAsyIC5hdXRoLnYxLkV4dGVybmFsV2l0aGRyYXdBZGRyZXNzSAASNAoIaW50ZXJuYWwYFSABKAsyIC5hdXRoLnYxLkludGVybmFsVHJhbnNmZXJBY2NvdW50SAASOAoUd2hpdGVsaXN0X3VwZGF0ZWRfYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg0KC2Rlc3RpbmF0aW9uIhkKF0xpc3RBZGRyZXNzQm9va3NSZXF1ZXN0Ij8KGExpc3RBZGRyZXNzQm9va3NSZXNwb25zZRIjCgVib29rcxgBIAMoCzIULmF1dGgudjEuQWRkcmVzc0Jvb2sijgEKHUxpc3RBZGRyZXNzQm9va0VudHJpZXNSZXF1ZXN0EhcKDXN1YmFjY291bnRfaWQYASABKAZCABItCgRraW5kGAIgASgOMh0uYXV0aC52MS5BZGRyZXNzQm9va0VudHJ5S2luZEIAEg8KBWxpbWl0GAMgASgNQgASFAoKcGFnZV90b2tlbhgEIAEoCUIAImcKHkxpc3RBZGRyZXNzQm9va0VudHJpZXNSZXNwb25zZRIqCgdlbnRyaWVzGAEgAygLMhkuYXV0aC52MS5BZGRyZXNzQm9va0VudHJ5EhkKD25leHRfcGFnZV90b2tlbhgCIAEoCUIAIpwCCh1DcmVhdGVBZGRyZXNzQm9va0VudHJ5UmVxdWVzdBIXCg1zdWJhY2NvdW50X2lkGAEgASgGQgASDwoFbGFiZWwYAiABKAlCABIOCgRub3RlGAMgASgJQgASNAoIZXh0ZXJuYWwYCiABKAsyIC5hdXRoLnYxLkV4dGVybmFsV2l0aGRyYXdBZGRyZXNzSAASPQoIaW50ZXJuYWwYCyABKAsyKS5hdXRoLnYxLlJlcXVlc3RlZEludGVybmFsVHJhbnNmZXJBY2NvdW50SAASEQoHdGFnX2lkcxgEIAMoBkIAEjAKCG5ld190YWdzGAUgAygLMhwuYXV0aC52MS5BZGRyZXNzQm9va1RhZ0lucHV0QgBCBwoFZW50cnkiQwogUmVxdWVzdGVkSW50ZXJuYWxUcmFuc2ZlckFjY291bnQSHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAEgASgJQgAiSgoeQ3JlYXRlQWRkcmVzc0Jvb2tFbnRyeVJlc3BvbnNlEigKBWVudHJ5GAEgASgLMhkuYXV0aC52MS5BZGRyZXNzQm9va0VudHJ5IoIBChpBZGRyZXNzQm9va0VudHJ5VXBkYXRlU3BlYxIPCgVsYWJlbBgBIAEoCUIAEg4KBG5vdGUYAiABKAlCABIRCgd0YWdfaWRzGAMgAygGQgASMAoIbmV3X3RhZ3MYBCADKAsyHC5hdXRoLnYxLkFkZHJlc3NCb29rVGFnSW5wdXRCACLGAQodVXBkYXRlQWRkcmVzc0Jvb2tFbnRyeVJlcXVlc3QSHwoVYWRkcmVzc19ib29rX2VudHJ5X2lkGAEgASgGQgASNAoFZW50cnkYAiABKAsyIy5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnlVcGRhdGVTcGVjQgASMQoLdXBkYXRlX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgASGwoRZXhwZWN0ZWRfcmV2aXNpb24YBCABKARCACJKCh5VcGRhdGVBZGRyZXNzQm9va0VudHJ5UmVzcG9uc2USKAoFZW50cnkYASABKAsyGS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnkiNgoTQWRkcmVzc0Jvb2tUYWdJbnB1dBIOCgRuYW1lGAEgASgJQgASDwoFY29sb3IYAiABKAlCACJACh1EZWxldGVBZGRyZXNzQm9va0VudHJ5UmVxdWVzdBIfChVhZGRyZXNzX2Jvb2tfZW50cnlfaWQYASABKAZCACIgCh5EZWxldGVBZGRyZXNzQm9va0VudHJ5UmVzcG9uc2UiXgobQ29weUFkZHJlc3NCb29rRW50cnlSZXF1ZXN0Eh8KFWFkZHJlc3NfYm9va19lbnRyeV9pZBgBIAEoBkIAEh4KFHRhcmdldF9zdWJhY2NvdW50X2lkGAIgASgGQgAiSAocQ29weUFkZHJlc3NCb29rRW50cnlSZXNwb25zZRIoCgVlbnRyeRgBIAEoCzIZLmF1dGgudjEuQWRkcmVzc0Jvb2tFbnRyeSJXChtDcmVhdGVBZGRyZXNzQm9va1RhZ1JlcXVlc3QSFwoNc3ViYWNjb3VudF9pZBgBIAEoBkIAEg4KBG5hbWUYAiABKAlCABIPCgVjb2xvchgDIAEoCUIAIkQKHENyZWF0ZUFkZHJlc3NCb29rVGFnUmVzcG9uc2USJAoDdGFnGAEgASgLMhcuYXV0aC52MS5BZGRyZXNzQm9va1RhZyJtChtVcGRhdGVBZGRyZXNzQm9va1RhZ1JlcXVlc3QSEAoGdGFnX2lkGAEgASgGQgASEwoEbmFtZRgCIAEoCUIASACIAQESFAoFY29sb3IYAyABKAlCAEgBiAEBQgcKBV9uYW1lQggKBl9jb2xvciJEChxVcGRhdGVBZGRyZXNzQm9va1RhZ1Jlc3BvbnNlEiQKA3RhZxgBIAEoCzIXLmF1dGgudjEuQWRkcmVzc0Jvb2tUYWciLwobRGVsZXRlQWRkcmVzc0Jvb2tUYWdSZXF1ZXN0EhAKBnRhZ19pZBgBIAEoBkIAIh4KHERlbGV0ZUFkZHJlc3NCb29rVGFnUmVzcG9uc2UiuQEKIUxpc3RUcmFuc2ZlckNvdW50ZXJwYXJ0aWVzUmVxdWVzdBIXCg1zdWJhY2NvdW50X2lkGAEgASgGQgASOwoJZGlyZWN0aW9uGAIgASgOMiYuYXV0aC52MS5UcmFuc2ZlckNvdW50ZXJwYXJ0eURpcmVjdGlvbkIAEi0KBGtpbmQYAyABKA4yHS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnlLaW5kQgASDwoFbGltaXQYBSABKA1CACJuCiJMaXN0VHJhbnNmZXJDb3VudGVycGFydGllc1Jlc3BvbnNlEjUKDmNvdW50ZXJwYXJ0aWVzGAEgAygLMh0uYXV0aC52MS5UcmFuc2ZlckNvdW50ZXJwYXJ0eRIRCgl0cnVuY2F0ZWQYAiABKAgikAEKH0xpc3RUcmFuc2ZlckRlc3RpbmF0aW9uc1JlcXVlc3QSFwoNc3ViYWNjb3VudF9pZBgBIAEoBkIAEi0KBGtpbmQYAiABKA4yHS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnlLaW5kQgASDwoFbGltaXQYAyABKA1CABIUCgpwYWdlX3Rva2VuGAQgASgJQgAicQogTGlzdFRyYW5zZmVyRGVzdGluYXRpb25zUmVzcG9uc2USMgoMZGVzdGluYXRpb25zGAEgAygLMhwuYXV0aC52MS5UcmFuc2ZlckRlc3RpbmF0aW9uEhkKD25leHRfcGFnZV90b2tlbhgCIAEoCUIAIm0KK0xpc3RJbnRlcm5hbFRyYW5zZmVyV2hpdGVsaXN0RW50cmllc1JlcXVlc3QSFwoNc3ViYWNjb3VudF9pZBgBIAEoBkIAEg8KBWxpbWl0GAIgASgNQgASFAoKcGFnZV90b2tlbhgDIAEoCUIAIoMBCixMaXN0SW50ZXJuYWxUcmFuc2ZlcldoaXRlbGlzdEVudHJpZXNSZXNwb25zZRI4CgdlbnRyaWVzGAEgAygLMicuYXV0aC52MS5JbnRlcm5hbFRyYW5zZmVyV2hpdGVsaXN0RW50cnkSGQoPbmV4dF9wYWdlX3Rva2VuGAIgASgJQgAiOgofR2V0V2l0aGRyYXdXaGl0ZWxpc3RWaWV3UmVxdWVzdBIXCg1zdWJhY2NvdW50X2lkGAEgASgGQgAiUAogR2V0V2l0aGRyYXdXaGl0ZWxpc3RWaWV3UmVzcG9uc2USLAoEdmlldxgBIAEoCzIeLmF1dGgudjEuV2l0aGRyYXdXaGl0ZWxpc3RWaWV3IkUKGUdldEFkZHJlc3NCb29rVmlld1JlcXVlc3QSFwoNc3ViYWNjb3VudF9pZBgBIAEoBkIAEg8KBWxpbWl0GAYgASgNQgAizQIKGkdldEFkZHJlc3NCb29rVmlld1Jlc3BvbnNlEiMKBWJvb2tzGAEgAygLMhQuYXV0aC52MS5BZGRyZXNzQm9vaxIwCgdlbnRyaWVzGAIgASgLMh8uYXV0aC52MS5BZGRyZXNzQm9va0VudHJpZXNWaWV3EkcKE3JlY2VudF9kZXN0aW5hdGlvbnMYAyABKAsyKi5hdXRoLnYxLkFkZHJlc3NCb29rUmVjZW50RGVzdGluYXRpb25zVmlldxIsCgR0YWdzGAQgAygLMh4uYXV0aC52MS5BZGRyZXNzQm9va1RhZ1N1bW1hcnkSOgoSd2l0aGRyYXdfd2hpdGVsaXN0GAUgASgLMh4uYXV0aC52MS5XaXRoZHJhd1doaXRlbGlzdFZpZXcSJQodcmVjZW50X2Rlc3RpbmF0aW9uc190cnVuY2F0ZWQYBiABKAgieQoaQWRkcmVzc0Jvb2tWaWV3SW52YWxpZGF0ZWQSJwoFc2NvcGUYASABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhIyCg5pbnZhbGlkYXRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqTwoQQWNjb3VudFNjb3BlVHlwZRIVChFTQ09QRV9VTlNQRUNJRklFRBAAEg4KClNDT1BFX1JPT1QQARIUChBTQ09QRV9TVUJBQ0NPVU5UEAIqXAoUQWRkcmVzc0Jvb2tFbnRyeUtpbmQSGgoWRU5UUllfS0lORF9VTlNQRUNJRklFRBAAEhIKDkVYVEVSTkFMX0NIQUlOEAESFAoQSU5URVJOQUxfQUNDT1VOVBACKpYBCiFJbnRlcm5hbFdoaXRlbGlzdFJlc29sdXRpb25TdGF0dXMSLQopSU5URVJOQUxfV0hJVEVMSVNUX1JFU09MVVRJT05fVU5TUEVDSUZJRUQQABIfChtJTlRFUk5BTF9XSElURUxJU1RfUkVTT0xWRUQQARIhCh1JTlRFUk5BTF9XSElURUxJU1RfVU5SRVNPTFZFRBACKrMBChpEZXN0aW5hdGlvbldoaXRlbGlzdFN0YXR1cxIsCihERVNUSU5BVElPTl9XSElURUxJU1RfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobREVTVElOQVRJT05fTk9UX1dISVRFTElTVEVEEAESIAocREVTVElOQVRJT05fV0hJVEVMSVNUX0FDVElWRRACEiQKIERFU1RJTkFUSU9OX1dISVRFTElTVF9VTlJFU09MVkVEEAMqqQEKHVRyYW5zZmVyQ291bnRlcnBhcnR5RGlyZWN0aW9uEi8KK1RSQU5TRkVSX0NPVU5URVJQQVJUWV9ESVJFQ1RJT05fVU5TUEVDSUZJRUQQABIQCgxERVBPU0lUX0ZST00QARIPCgtXSVRIRFJBV19UTxACEhoKFklOVEVSTkFMX1RSQU5TRkVSX0ZST00QAxIYChRJTlRFUk5BTF9UUkFOU0ZFUl9UTxAEMpcMChJBZGRyZXNzQm9va1NlcnZpY2USWQoQTGlzdEFkZHJlc3NCb29rcxIgLmF1dGgudjEuTGlzdEFkZHJlc3NCb29rc1JlcXVlc3QaIS5hdXRoLnYxLkxpc3RBZGRyZXNzQm9va3NSZXNwb25zZSIAEmsKFkxpc3RBZGRyZXNzQm9va0VudHJpZXMSJi5hdXRoLnYxLkxpc3RBZGRyZXNzQm9va0VudHJpZXNSZXF1ZXN0GicuYXV0aC52MS5MaXN0QWRkcmVzc0Jvb2tFbnRyaWVzUmVzcG9uc2UiABJrChZDcmVhdGVBZGRyZXNzQm9va0VudHJ5EiYuYXV0aC52MS5DcmVhdGVBZGRyZXNzQm9va0VudHJ5UmVxdWVzdBonLmF1dGgudjEuQ3JlYXRlQWRkcmVzc0Jvb2tFbnRyeVJlc3BvbnNlIgASawoWVXBkYXRlQWRkcmVzc0Jvb2tFbnRyeRImLmF1dGgudjEuVXBkYXRlQWRkcmVzc0Jvb2tFbnRyeVJlcXVlc3QaJy5hdXRoLnYxLlVwZGF0ZUFkZHJlc3NCb29rRW50cnlSZXNwb25zZSIAEmsKFkRlbGV0ZUFkZHJlc3NCb29rRW50cnkSJi5hdXRoLnYxLkRlbGV0ZUFkZHJlc3NCb29rRW50cnlSZXF1ZXN0GicuYXV0aC52MS5EZWxldGVBZGRyZXNzQm9va0VudHJ5UmVzcG9uc2UiABJlChRDb3B5QWRkcmVzc0Jvb2tFbnRyeRIkLmF1dGgudjEuQ29weUFkZHJlc3NCb29rRW50cnlSZXF1ZXN0GiUuYXV0aC52MS5Db3B5QWRkcmVzc0Jvb2tFbnRyeVJlc3BvbnNlIgASZQoUQ3JlYXRlQWRkcmVzc0Jvb2tUYWcSJC5hdXRoLnYxLkNyZWF0ZUFkZHJlc3NCb29rVGFnUmVxdWVzdBolLmF1dGgudjEuQ3JlYXRlQWRkcmVzc0Jvb2tUYWdSZXNwb25zZSIAEmUKFFVwZGF0ZUFkZHJlc3NCb29rVGFnEiQuYXV0aC52MS5VcGRhdGVBZGRyZXNzQm9va1RhZ1JlcXVlc3QaJS5hdXRoLnYxLlVwZGF0ZUFkZHJlc3NCb29rVGFnUmVzcG9uc2UiABJlChREZWxldGVBZGRyZXNzQm9va1RhZxIkLmF1dGgudjEuRGVsZXRlQWRkcmVzc0Jvb2tUYWdSZXF1ZXN0GiUuYXV0aC52MS5EZWxldGVBZGRyZXNzQm9va1RhZ1Jlc3BvbnNlIgASdwoaTGlzdFRyYW5zZmVyQ291bnRlcnBhcnRpZXMSKi5hdXRoLnYxLkxpc3RUcmFuc2ZlckNvdW50ZXJwYXJ0aWVzUmVxdWVzdBorLmF1dGgudjEuTGlzdFRyYW5zZmVyQ291bnRlcnBhcnRpZXNSZXNwb25zZSIAEnEKGExpc3RUcmFuc2ZlckRlc3RpbmF0aW9ucxIoLmF1dGgudjEuTGlzdFRyYW5zZmVyRGVzdGluYXRpb25zUmVxdWVzdBopLmF1dGgudjEuTGlzdFRyYW5zZmVyRGVzdGluYXRpb25zUmVzcG9uc2UiABKVAQokTGlzdEludGVybmFsVHJhbnNmZXJXaGl0ZWxpc3RFbnRyaWVzEjQuYXV0aC52MS5MaXN0SW50ZXJuYWxUcmFuc2ZlcldoaXRlbGlzdEVudHJpZXNSZXF1ZXN0GjUuYXV0aC52MS5MaXN0SW50ZXJuYWxUcmFuc2ZlcldoaXRlbGlzdEVudHJpZXNSZXNwb25zZSIAEnEKGEdldFdpdGhkcmF3V2hpdGVsaXN0VmlldxIoLmF1dGgudjEuR2V0V2l0aGRyYXdXaGl0ZWxpc3RWaWV3UmVxdWVzdBopLmF1dGgudjEuR2V0V2l0aGRyYXdXaGl0ZWxpc3RWaWV3UmVzcG9uc2UiABJfChJHZXRBZGRyZXNzQm9va1ZpZXcSIi5hdXRoLnYxLkdldEFkZHJlc3NCb29rVmlld1JlcXVlc3QaIy5hdXRoLnYxLkdldEFkZHJlc3NCb29rVmlld1Jlc3BvbnNlIgBCPFo6Z2l0aHViLmNvbS9GYWJyaWMtTGFicy9wb2x5ZXN0ZXItc2RrLWdvL2dlbi9hdXRoL3YxO2F1dGh2MWIGcHJvdG8z", [
74
+ const file_auth_v1_address_book = /*@__PURE__*/ fileDesc("ChphdXRoL3YxL2FkZHJlc3NfYm9vay5wcm90bxIHYXV0aC52MSJ2Cg9BY2NvdW50U2NvcGVSZWYSLwoKc2NvcGVfdHlwZRgBIAEoDjIZLmF1dGgudjEuQWNjb3VudFNjb3BlVHlwZUIAEhkKD3Jvb3RfYWNjb3VudF9pZBgCIAEoBkIAEhcKDXN1YmFjY291bnRfaWQYAyABKAZCACKyAQoLQWRkcmVzc0Jvb2sSJwoFc2NvcGUYASABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhIuCgtjYWxsZXJfcm9sZRgCIAEoDjIXLmF1dGgudjEuU3ViYWNjb3VudFJvbGVCABIPCgVsYWJlbBgDIAEoCUIAEhgKDm93bmVyX3VzZXJuYW1lGAQgASgJQgASHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAUgASgJQgAiSgoXRXh0ZXJuYWxXaXRoZHJhd0FkZHJlc3MSHAoScG9seWNoYWluX2NoYWluX2lkGAEgASgNQgASEQoHYWRkcmVzcxgCIAEoCUIAIt8BChdJbnRlcm5hbFRyYW5zZmVyQWNjb3VudBIZCg9yb290X2FjY291bnRfaWQYASABKAZCABIbChF0YXJnZXRfYWNjb3VudF9pZBgCIAEoBkIAEjYKEXRhcmdldF9zY29wZV90eXBlGAMgASgOMhkuYXV0aC52MS5BY2NvdW50U2NvcGVUeXBlQgASHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAQgASgJQgASFwoNcm9vdF91c2VybmFtZRgFIAEoCUIAEhoKEHN1YmFjY291bnRfbGFiZWwYBiABKAlCACLMAQoOQWRkcmVzc0Jvb2tUYWcSEAoGdGFnX2lkGAEgASgGQgASJwoFc2NvcGUYAiABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhIOCgRuYW1lGAMgASgJQgASDwoFY29sb3IYBCABKAlCABIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJKChVBZGRyZXNzQm9va1RhZ1N1bW1hcnkSEAoGdGFnX2lkGAEgASgGQgASDgoEbmFtZRgCIAEoCUIAEg8KBWNvbG9yGAMgASgJQgAiugMKEEFkZHJlc3NCb29rRW50cnkSHwoVYWRkcmVzc19ib29rX2VudHJ5X2lkGAEgASgGQgASJwoFc2NvcGUYAiABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhItCgRraW5kGAMgASgOMh0uYXV0aC52MS5BZGRyZXNzQm9va0VudHJ5S2luZEIAEg8KBWxhYmVsGAQgASgJQgASDgoEbm90ZRgFIAEoCUIAEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKCGV4dGVybmFsGBQgASgLMiAuYXV0aC52MS5FeHRlcm5hbFdpdGhkcmF3QWRkcmVzc0gAEjQKCGludGVybmFsGBUgASgLMiAuYXV0aC52MS5JbnRlcm5hbFRyYW5zZmVyQWNjb3VudEgAEiUKBHRhZ3MYHiADKAsyFy5hdXRoLnYxLkFkZHJlc3NCb29rVGFnEhAKCHJldmlzaW9uGB8gASgEQgcKBWVudHJ5IoIBChZBZGRyZXNzQm9va0VudHJpZXNWaWV3EjMKCGV4dGVybmFsGAEgAygLMiEuYXV0aC52MS5FeHRlcm5hbEFkZHJlc3NCb29rRW50cnkSMwoIaW50ZXJuYWwYAiADKAsyIS5hdXRoLnYxLkludGVybmFsQWRkcmVzc0Jvb2tFbnRyeSL8AgoYRXh0ZXJuYWxBZGRyZXNzQm9va0VudHJ5Eh8KFWFkZHJlc3NfYm9va19lbnRyeV9pZBgBIAEoBkIAEicKBXNjb3BlGAIgASgLMhguYXV0aC52MS5BY2NvdW50U2NvcGVSZWYSDwoFbGFiZWwYAyABKAlCABIOCgRub3RlGAQgASgJQgASEQoHdGFnX2lkcxgFIAMoBkIAEj8KEHdoaXRlbGlzdF9zdGF0dXMYBiABKA4yIy5hdXRoLnYxLkRlc3RpbmF0aW9uV2hpdGVsaXN0U3RhdHVzQgASHAoScG9seWNoYWluX2NoYWluX2lkGAcgASgNQgASEQoHYWRkcmVzcxgIIAEoCUIAEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhAKCHJldmlzaW9uGAsgASgEIpEEChhJbnRlcm5hbEFkZHJlc3NCb29rRW50cnkSHwoVYWRkcmVzc19ib29rX2VudHJ5X2lkGAEgASgGQgASJwoFc2NvcGUYAiABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhIPCgVsYWJlbBgDIAEoCUIAEg4KBG5vdGUYBCABKAlCABIRCgd0YWdfaWRzGAUgAygGQgASPwoQd2hpdGVsaXN0X3N0YXR1cxgGIAEoDjIjLmF1dGgudjEuRGVzdGluYXRpb25XaGl0ZWxpc3RTdGF0dXNCABIZCg9yb290X2FjY291bnRfaWQYByABKAZCABIbChF0YXJnZXRfYWNjb3VudF9pZBgIIAEoBkIAEjYKEXRhcmdldF9zY29wZV90eXBlGAkgASgOMhkuYXV0aC52MS5BY2NvdW50U2NvcGVUeXBlQgASHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAogASgJQgASFwoNcm9vdF91c2VybmFtZRgLIAEoCUIAEhoKEHN1YmFjY291bnRfbGFiZWwYDCABKAlCABIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCghyZXZpc2lvbhgPIAEoBCLqAwoUVHJhbnNmZXJDb3VudGVycGFydHkSGQoPY291bnRlcnBhcnR5X2lkGAEgASgGQgASJwoFc2NvcGUYAiABKAsyGC5hdXRoLnYxLkFjY291bnRTY29wZVJlZhI7CglkaXJlY3Rpb24YAyABKA4yJi5hdXRoLnYxLlRyYW5zZmVyQ291bnRlcnBhcnR5RGlyZWN0aW9uQgASLQoEa2luZBgEIAEoDjIdLmF1dGgudjEuQWRkcmVzc0Jvb2tFbnRyeUtpbmRCABINCgVzYXZlZBgFIAEoCBIfChVhZGRyZXNzX2Jvb2tfZW50cnlfaWQYBiABKAZCABIRCgl1c2VfY291bnQYByABKAQSMQoNZmlyc3Rfc2Vlbl9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMbGFzdF9zZWVuX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0CghleHRlcm5hbBgUIAEoCzIgLmF1dGgudjEuRXh0ZXJuYWxXaXRoZHJhd0FkZHJlc3NIABI0CghpbnRlcm5hbBgVIAEoCzIgLmF1dGgudjEuSW50ZXJuYWxUcmFuc2ZlckFjY291bnRIAEIOCgxjb3VudGVycGFydHkijwEKIUFkZHJlc3NCb29rUmVjZW50RGVzdGluYXRpb25zVmlldxI0CghleHRlcm5hbBgBIAMoCzIiLmF1dGgudjEuRXh0ZXJuYWxSZWNlbnREZXN0aW5hdGlvbhI0CghpbnRlcm5hbBgCIAMoCzIiLmF1dGgudjEuSW50ZXJuYWxSZWNlbnREZXN0aW5hdGlvbiKsAgoZRXh0ZXJuYWxSZWNlbnREZXN0aW5hdGlvbhInCgVzY29wZRgBIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEkAKDmxhc3RfZGlyZWN0aW9uGAIgASgOMiYuYXV0aC52MS5UcmFuc2ZlckNvdW50ZXJwYXJ0eURpcmVjdGlvbkIAEg0KBXNhdmVkGAMgASgIEh8KFWFkZHJlc3NfYm9va19lbnRyeV9pZBgEIAEoBkIAEhEKCXVzZV9jb3VudBgFIAEoBBIwCgxsYXN0X3NlZW5fYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKEnBvbHljaGFpbl9jaGFpbl9pZBgHIAEoDUIAEhEKB2FkZHJlc3MYCCABKAlCACLBAwoZSW50ZXJuYWxSZWNlbnREZXN0aW5hdGlvbhInCgVzY29wZRgBIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEkAKDmxhc3RfZGlyZWN0aW9uGAIgASgOMiYuYXV0aC52MS5UcmFuc2ZlckNvdW50ZXJwYXJ0eURpcmVjdGlvbkIAEg0KBXNhdmVkGAMgASgIEh8KFWFkZHJlc3NfYm9va19lbnRyeV9pZBgEIAEoBkIAEhEKCXVzZV9jb3VudBgFIAEoBBIwCgxsYXN0X3NlZW5fYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKD3Jvb3RfYWNjb3VudF9pZBgHIAEoBkIAEhsKEXRhcmdldF9hY2NvdW50X2lkGAggASgGQgASNgoRdGFyZ2V0X3Njb3BlX3R5cGUYCSABKA4yGS5hdXRoLnYxLkFjY291bnRTY29wZVR5cGVCABIfChVzbWFydF9hY2NvdW50X2FkZHJlc3MYCiABKAlCABIXCg1yb290X3VzZXJuYW1lGAsgASgJQgASGgoQc3ViYWNjb3VudF9sYWJlbBgMIAEoCUIAIswDCh5JbnRlcm5hbFRyYW5zZmVyV2hpdGVsaXN0RW50cnkSEgoIZW50cnlfaWQYASABKAZCABInCgVzY29wZRgCIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEhkKD3Jvb3RfYWNjb3VudF9pZBgDIAEoBkIAEhsKEXRhcmdldF9hY2NvdW50X2lkGAQgASgGQgASNgoRdGFyZ2V0X3Njb3BlX3R5cGUYBSABKA4yGS5hdXRoLnYxLkFjY291bnRTY29wZVR5cGVCABIfChVzbWFydF9hY2NvdW50X2FkZHJlc3MYBiABKAlCABIXCg1yb290X3VzZXJuYW1lGAcgASgJQgASGgoQc3ViYWNjb3VudF9sYWJlbBgIIAEoCUIAEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkcKEXJlc29sdXRpb25fc3RhdHVzGAsgASgOMiouYXV0aC52MS5JbnRlcm5hbFdoaXRlbGlzdFJlc29sdXRpb25TdGF0dXNCACKmAQoeTWlycm9yZWRXaXRoZHJhd1doaXRlbGlzdEVudHJ5EhsKEWNhbm9uaWNhbF9hZGRyZXNzGAEgASgJQgASGQoPcmF3X2FkZHJlc3NfaGV4GAIgASgJQgASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoScG9seWNoYWluX2NoYWluX2lkGAYgASgNQgAiywEKFVdpdGhkcmF3V2hpdGVsaXN0VmlldxInCgVzY29wZRgBIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEiMKG2V4dGVybmFsX3doaXRlbGlzdF9yZXF1aXJlZBgCIAEoCBI/Cg5hY3RpdmVfZW50cmllcxgDIAMoCzInLmF1dGgudjEuTWlycm9yZWRXaXRoZHJhd1doaXRlbGlzdEVudHJ5EiMKG2ludGVybmFsX3doaXRlbGlzdF9yZXF1aXJlZBgEIAEoCCK+AwoTVHJhbnNmZXJEZXN0aW5hdGlvbhInCgVzY29wZRgBIAEoCzIYLmF1dGgudjEuQWNjb3VudFNjb3BlUmVmEi0KBGtpbmQYAiABKA4yHS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnlLaW5kQgASDQoFc2F2ZWQYAyABKAgSEwoLd2hpdGVsaXN0ZWQYBCABKAgSPwoQd2hpdGVsaXN0X3N0YXR1cxgFIAEoDjIjLmF1dGgudjEuRGVzdGluYXRpb25XaGl0ZWxpc3RTdGF0dXNCABI1ChJhZGRyZXNzX2Jvb2tfZW50cnkYBiABKAsyGS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnkSNAoIZXh0ZXJuYWwYFCABKAsyIC5hdXRoLnYxLkV4dGVybmFsV2l0aGRyYXdBZGRyZXNzSAASNAoIaW50ZXJuYWwYFSABKAsyIC5hdXRoLnYxLkludGVybmFsVHJhbnNmZXJBY2NvdW50SAASOAoUd2hpdGVsaXN0X3VwZGF0ZWRfYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg0KC2Rlc3RpbmF0aW9uIhkKF0xpc3RBZGRyZXNzQm9va3NSZXF1ZXN0Ij8KGExpc3RBZGRyZXNzQm9va3NSZXNwb25zZRIjCgVib29rcxgBIAMoCzIULmF1dGgudjEuQWRkcmVzc0Jvb2sijgEKHUxpc3RBZGRyZXNzQm9va0VudHJpZXNSZXF1ZXN0EhcKDXN1YmFjY291bnRfaWQYASABKAZCABItCgRraW5kGAIgASgOMh0uYXV0aC52MS5BZGRyZXNzQm9va0VudHJ5S2luZEIAEg8KBWxpbWl0GAMgASgNQgASFAoKcGFnZV90b2tlbhgEIAEoCUIAImcKHkxpc3RBZGRyZXNzQm9va0VudHJpZXNSZXNwb25zZRIqCgdlbnRyaWVzGAEgAygLMhkuYXV0aC52MS5BZGRyZXNzQm9va0VudHJ5EhkKD25leHRfcGFnZV90b2tlbhgCIAEoCUIAIpwCCh1DcmVhdGVBZGRyZXNzQm9va0VudHJ5UmVxdWVzdBIXCg1zdWJhY2NvdW50X2lkGAEgASgGQgASDwoFbGFiZWwYAiABKAlCABIOCgRub3RlGAMgASgJQgASNAoIZXh0ZXJuYWwYCiABKAsyIC5hdXRoLnYxLkV4dGVybmFsV2l0aGRyYXdBZGRyZXNzSAASPQoIaW50ZXJuYWwYCyABKAsyKS5hdXRoLnYxLlJlcXVlc3RlZEludGVybmFsVHJhbnNmZXJBY2NvdW50SAASEQoHdGFnX2lkcxgEIAMoBkIAEjAKCG5ld190YWdzGAUgAygLMhwuYXV0aC52MS5BZGRyZXNzQm9va1RhZ0lucHV0QgBCBwoFZW50cnkiQwogUmVxdWVzdGVkSW50ZXJuYWxUcmFuc2ZlckFjY291bnQSHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAEgASgJQgAiSgoeQ3JlYXRlQWRkcmVzc0Jvb2tFbnRyeVJlc3BvbnNlEigKBWVudHJ5GAEgASgLMhkuYXV0aC52MS5BZGRyZXNzQm9va0VudHJ5IoIBChpBZGRyZXNzQm9va0VudHJ5VXBkYXRlU3BlYxIPCgVsYWJlbBgBIAEoCUIAEg4KBG5vdGUYAiABKAlCABIRCgd0YWdfaWRzGAMgAygGQgASMAoIbmV3X3RhZ3MYBCADKAsyHC5hdXRoLnYxLkFkZHJlc3NCb29rVGFnSW5wdXRCACLGAQodVXBkYXRlQWRkcmVzc0Jvb2tFbnRyeVJlcXVlc3QSHwoVYWRkcmVzc19ib29rX2VudHJ5X2lkGAEgASgGQgASNAoFZW50cnkYAiABKAsyIy5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnlVcGRhdGVTcGVjQgASMQoLdXBkYXRlX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgASGwoRZXhwZWN0ZWRfcmV2aXNpb24YBCABKARCACJKCh5VcGRhdGVBZGRyZXNzQm9va0VudHJ5UmVzcG9uc2USKAoFZW50cnkYASABKAsyGS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnkiNgoTQWRkcmVzc0Jvb2tUYWdJbnB1dBIOCgRuYW1lGAEgASgJQgASDwoFY29sb3IYAiABKAlCACJACh1EZWxldGVBZGRyZXNzQm9va0VudHJ5UmVxdWVzdBIfChVhZGRyZXNzX2Jvb2tfZW50cnlfaWQYASABKAZCACIgCh5EZWxldGVBZGRyZXNzQm9va0VudHJ5UmVzcG9uc2UiXgobQ29weUFkZHJlc3NCb29rRW50cnlSZXF1ZXN0Eh8KFWFkZHJlc3NfYm9va19lbnRyeV9pZBgBIAEoBkIAEh4KFHRhcmdldF9zdWJhY2NvdW50X2lkGAIgASgGQgAiSAocQ29weUFkZHJlc3NCb29rRW50cnlSZXNwb25zZRIoCgVlbnRyeRgBIAEoCzIZLmF1dGgudjEuQWRkcmVzc0Jvb2tFbnRyeSJXChtDcmVhdGVBZGRyZXNzQm9va1RhZ1JlcXVlc3QSFwoNc3ViYWNjb3VudF9pZBgBIAEoBkIAEg4KBG5hbWUYAiABKAlCABIPCgVjb2xvchgDIAEoCUIAIkQKHENyZWF0ZUFkZHJlc3NCb29rVGFnUmVzcG9uc2USJAoDdGFnGAEgASgLMhcuYXV0aC52MS5BZGRyZXNzQm9va1RhZyJtChtVcGRhdGVBZGRyZXNzQm9va1RhZ1JlcXVlc3QSEAoGdGFnX2lkGAEgASgGQgASEwoEbmFtZRgCIAEoCUIASACIAQESFAoFY29sb3IYAyABKAlCAEgBiAEBQgcKBV9uYW1lQggKBl9jb2xvciJEChxVcGRhdGVBZGRyZXNzQm9va1RhZ1Jlc3BvbnNlEiQKA3RhZxgBIAEoCzIXLmF1dGgudjEuQWRkcmVzc0Jvb2tUYWciLwobRGVsZXRlQWRkcmVzc0Jvb2tUYWdSZXF1ZXN0EhAKBnRhZ19pZBgBIAEoBkIAIh4KHERlbGV0ZUFkZHJlc3NCb29rVGFnUmVzcG9uc2UiuQEKIUxpc3RUcmFuc2ZlckNvdW50ZXJwYXJ0aWVzUmVxdWVzdBIXCg1zdWJhY2NvdW50X2lkGAEgASgGQgASOwoJZGlyZWN0aW9uGAIgASgOMiYuYXV0aC52MS5UcmFuc2ZlckNvdW50ZXJwYXJ0eURpcmVjdGlvbkIAEi0KBGtpbmQYAyABKA4yHS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnlLaW5kQgASDwoFbGltaXQYBSABKA1CACJuCiJMaXN0VHJhbnNmZXJDb3VudGVycGFydGllc1Jlc3BvbnNlEjUKDmNvdW50ZXJwYXJ0aWVzGAEgAygLMh0uYXV0aC52MS5UcmFuc2ZlckNvdW50ZXJwYXJ0eRIRCgl0cnVuY2F0ZWQYAiABKAgikAEKH0xpc3RUcmFuc2ZlckRlc3RpbmF0aW9uc1JlcXVlc3QSFwoNc3ViYWNjb3VudF9pZBgBIAEoBkIAEi0KBGtpbmQYAiABKA4yHS5hdXRoLnYxLkFkZHJlc3NCb29rRW50cnlLaW5kQgASDwoFbGltaXQYAyABKA1CABIUCgpwYWdlX3Rva2VuGAQgASgJQgAicQogTGlzdFRyYW5zZmVyRGVzdGluYXRpb25zUmVzcG9uc2USMgoMZGVzdGluYXRpb25zGAEgAygLMhwuYXV0aC52MS5UcmFuc2ZlckRlc3RpbmF0aW9uEhkKD25leHRfcGFnZV90b2tlbhgCIAEoCUIAIm0KK0xpc3RJbnRlcm5hbFRyYW5zZmVyV2hpdGVsaXN0RW50cmllc1JlcXVlc3QSFwoNc3ViYWNjb3VudF9pZBgBIAEoBkIAEg8KBWxpbWl0GAIgASgNQgASFAoKcGFnZV90b2tlbhgDIAEoCUIAIoMBCixMaXN0SW50ZXJuYWxUcmFuc2ZlcldoaXRlbGlzdEVudHJpZXNSZXNwb25zZRI4CgdlbnRyaWVzGAEgAygLMicuYXV0aC52MS5JbnRlcm5hbFRyYW5zZmVyV2hpdGVsaXN0RW50cnkSGQoPbmV4dF9wYWdlX3Rva2VuGAIgASgJQgAiOgofR2V0V2l0aGRyYXdXaGl0ZWxpc3RWaWV3UmVxdWVzdBIXCg1zdWJhY2NvdW50X2lkGAEgASgGQgAiUAogR2V0V2l0aGRyYXdXaGl0ZWxpc3RWaWV3UmVzcG9uc2USLAoEdmlldxgBIAEoCzIeLmF1dGgudjEuV2l0aGRyYXdXaGl0ZWxpc3RWaWV3ImQKGUdldEFkZHJlc3NCb29rVmlld1JlcXVlc3QSFwoNc3ViYWNjb3VudF9pZBgBIAEoBkIAEg8KBWxpbWl0GAYgASgNQgASHQoVbWluaW11bV92aWV3X3JldmlzaW9uGAcgASgEIuQCChpHZXRBZGRyZXNzQm9va1ZpZXdSZXNwb25zZRIjCgVib29rcxgBIAMoCzIULmF1dGgudjEuQWRkcmVzc0Jvb2sSMAoHZW50cmllcxgCIAEoCzIfLmF1dGgudjEuQWRkcmVzc0Jvb2tFbnRyaWVzVmlldxJHChNyZWNlbnRfZGVzdGluYXRpb25zGAMgASgLMiouYXV0aC52MS5BZGRyZXNzQm9va1JlY2VudERlc3RpbmF0aW9uc1ZpZXcSLAoEdGFncxgEIAMoCzIeLmF1dGgudjEuQWRkcmVzc0Jvb2tUYWdTdW1tYXJ5EjoKEndpdGhkcmF3X3doaXRlbGlzdBgFIAEoCzIeLmF1dGgudjEuV2l0aGRyYXdXaGl0ZWxpc3RWaWV3EiUKHXJlY2VudF9kZXN0aW5hdGlvbnNfdHJ1bmNhdGVkGAYgASgIEhUKDXZpZXdfcmV2aXNpb24YByABKAQikgEKGkFkZHJlc3NCb29rVmlld0ludmFsaWRhdGVkEicKBXNjb3BlGAEgASgLMhguYXV0aC52MS5BY2NvdW50U2NvcGVSZWYSMgoOaW52YWxpZGF0ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKDXZpZXdfcmV2aXNpb24YAyABKARCACpPChBBY2NvdW50U2NvcGVUeXBlEhUKEVNDT1BFX1VOU1BFQ0lGSUVEEAASDgoKU0NPUEVfUk9PVBABEhQKEFNDT1BFX1NVQkFDQ09VTlQQAipcChRBZGRyZXNzQm9va0VudHJ5S2luZBIaChZFTlRSWV9LSU5EX1VOU1BFQ0lGSUVEEAASEgoORVhURVJOQUxfQ0hBSU4QARIUChBJTlRFUk5BTF9BQ0NPVU5UEAIqlgEKIUludGVybmFsV2hpdGVsaXN0UmVzb2x1dGlvblN0YXR1cxItCilJTlRFUk5BTF9XSElURUxJU1RfUkVTT0xVVElPTl9VTlNQRUNJRklFRBAAEh8KG0lOVEVSTkFMX1dISVRFTElTVF9SRVNPTFZFRBABEiEKHUlOVEVSTkFMX1dISVRFTElTVF9VTlJFU09MVkVEEAIqswEKGkRlc3RpbmF0aW9uV2hpdGVsaXN0U3RhdHVzEiwKKERFU1RJTkFUSU9OX1dISVRFTElTVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtERVNUSU5BVElPTl9OT1RfV0hJVEVMSVNURUQQARIgChxERVNUSU5BVElPTl9XSElURUxJU1RfQUNUSVZFEAISJAogREVTVElOQVRJT05fV0hJVEVMSVNUX1VOUkVTT0xWRUQQAyqpAQodVHJhbnNmZXJDb3VudGVycGFydHlEaXJlY3Rpb24SLworVFJBTlNGRVJfQ09VTlRFUlBBUlRZX0RJUkVDVElPTl9VTlNQRUNJRklFRBAAEhAKDERFUE9TSVRfRlJPTRABEg8KC1dJVEhEUkFXX1RPEAISGgoWSU5URVJOQUxfVFJBTlNGRVJfRlJPTRADEhgKFElOVEVSTkFMX1RSQU5TRkVSX1RPEAQylwwKEkFkZHJlc3NCb29rU2VydmljZRJZChBMaXN0QWRkcmVzc0Jvb2tzEiAuYXV0aC52MS5MaXN0QWRkcmVzc0Jvb2tzUmVxdWVzdBohLmF1dGgudjEuTGlzdEFkZHJlc3NCb29rc1Jlc3BvbnNlIgASawoWTGlzdEFkZHJlc3NCb29rRW50cmllcxImLmF1dGgudjEuTGlzdEFkZHJlc3NCb29rRW50cmllc1JlcXVlc3QaJy5hdXRoLnYxLkxpc3RBZGRyZXNzQm9va0VudHJpZXNSZXNwb25zZSIAEmsKFkNyZWF0ZUFkZHJlc3NCb29rRW50cnkSJi5hdXRoLnYxLkNyZWF0ZUFkZHJlc3NCb29rRW50cnlSZXF1ZXN0GicuYXV0aC52MS5DcmVhdGVBZGRyZXNzQm9va0VudHJ5UmVzcG9uc2UiABJrChZVcGRhdGVBZGRyZXNzQm9va0VudHJ5EiYuYXV0aC52MS5VcGRhdGVBZGRyZXNzQm9va0VudHJ5UmVxdWVzdBonLmF1dGgudjEuVXBkYXRlQWRkcmVzc0Jvb2tFbnRyeVJlc3BvbnNlIgASawoWRGVsZXRlQWRkcmVzc0Jvb2tFbnRyeRImLmF1dGgudjEuRGVsZXRlQWRkcmVzc0Jvb2tFbnRyeVJlcXVlc3QaJy5hdXRoLnYxLkRlbGV0ZUFkZHJlc3NCb29rRW50cnlSZXNwb25zZSIAEmUKFENvcHlBZGRyZXNzQm9va0VudHJ5EiQuYXV0aC52MS5Db3B5QWRkcmVzc0Jvb2tFbnRyeVJlcXVlc3QaJS5hdXRoLnYxLkNvcHlBZGRyZXNzQm9va0VudHJ5UmVzcG9uc2UiABJlChRDcmVhdGVBZGRyZXNzQm9va1RhZxIkLmF1dGgudjEuQ3JlYXRlQWRkcmVzc0Jvb2tUYWdSZXF1ZXN0GiUuYXV0aC52MS5DcmVhdGVBZGRyZXNzQm9va1RhZ1Jlc3BvbnNlIgASZQoUVXBkYXRlQWRkcmVzc0Jvb2tUYWcSJC5hdXRoLnYxLlVwZGF0ZUFkZHJlc3NCb29rVGFnUmVxdWVzdBolLmF1dGgudjEuVXBkYXRlQWRkcmVzc0Jvb2tUYWdSZXNwb25zZSIAEmUKFERlbGV0ZUFkZHJlc3NCb29rVGFnEiQuYXV0aC52MS5EZWxldGVBZGRyZXNzQm9va1RhZ1JlcXVlc3QaJS5hdXRoLnYxLkRlbGV0ZUFkZHJlc3NCb29rVGFnUmVzcG9uc2UiABJ3ChpMaXN0VHJhbnNmZXJDb3VudGVycGFydGllcxIqLmF1dGgudjEuTGlzdFRyYW5zZmVyQ291bnRlcnBhcnRpZXNSZXF1ZXN0GisuYXV0aC52MS5MaXN0VHJhbnNmZXJDb3VudGVycGFydGllc1Jlc3BvbnNlIgAScQoYTGlzdFRyYW5zZmVyRGVzdGluYXRpb25zEiguYXV0aC52MS5MaXN0VHJhbnNmZXJEZXN0aW5hdGlvbnNSZXF1ZXN0GikuYXV0aC52MS5MaXN0VHJhbnNmZXJEZXN0aW5hdGlvbnNSZXNwb25zZSIAEpUBCiRMaXN0SW50ZXJuYWxUcmFuc2ZlcldoaXRlbGlzdEVudHJpZXMSNC5hdXRoLnYxLkxpc3RJbnRlcm5hbFRyYW5zZmVyV2hpdGVsaXN0RW50cmllc1JlcXVlc3QaNS5hdXRoLnYxLkxpc3RJbnRlcm5hbFRyYW5zZmVyV2hpdGVsaXN0RW50cmllc1Jlc3BvbnNlIgAScQoYR2V0V2l0aGRyYXdXaGl0ZWxpc3RWaWV3EiguYXV0aC52MS5HZXRXaXRoZHJhd1doaXRlbGlzdFZpZXdSZXF1ZXN0GikuYXV0aC52MS5HZXRXaXRoZHJhd1doaXRlbGlzdFZpZXdSZXNwb25zZSIAEl8KEkdldEFkZHJlc3NCb29rVmlldxIiLmF1dGgudjEuR2V0QWRkcmVzc0Jvb2tWaWV3UmVxdWVzdBojLmF1dGgudjEuR2V0QWRkcmVzc0Jvb2tWaWV3UmVzcG9uc2UiAEI8WjpnaXRodWIuY29tL0ZhYnJpYy1MYWJzL3BvbHllc3Rlci1zZGstZ28vZ2VuL2F1dGgvdjE7YXV0aHYxYgZwcm90bzM=", [
75
75
  file_auth_v1_subaccounts,
76
76
  file_google_protobuf_field_mask,
77
77
  file_google_protobuf_timestamp,