@t-0/provider-sdk 1.1.23 → 1.1.24

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 (31) hide show
  1. package/lib/cjs/common/gen/tzero/v1/common/payment_method_pb.d.ts +40 -1
  2. package/lib/cjs/common/gen/tzero/v1/common/payment_method_pb.js +15 -2
  3. package/lib/cjs/common/gen/tzero/v1/payment/network_pb.d.ts +24 -21
  4. package/lib/cjs/common/gen/tzero/v1/payment/network_pb.js +1 -1
  5. package/lib/cjs/common/gen/tzero/v1/payment/provider_pb.d.ts +11 -15
  6. package/lib/cjs/common/gen/tzero/v1/payment/provider_pb.js +1 -1
  7. package/lib/cjs/common/gen/tzero/v1/payment_intent/beneficiary_pb.d.ts +7 -9
  8. package/lib/cjs/common/gen/tzero/v1/payment_intent/beneficiary_pb.js +2 -3
  9. package/lib/cjs/common/gen/tzero/v1/payment_intent/network_pb.d.ts +16 -27
  10. package/lib/cjs/common/gen/tzero/v1/payment_intent/network_pb.js +3 -6
  11. package/lib/cjs/common/gen/tzero/v1/payment_intent/pay_in_provider_pb.d.ts +11 -20
  12. package/lib/cjs/common/gen/tzero/v1/payment_intent/pay_in_provider_pb.js +2 -4
  13. package/lib/cjs/version.d.ts +1 -1
  14. package/lib/cjs/version.js +1 -1
  15. package/lib/esm/common/gen/tzero/v1/common/payment_method_pb.d.ts +40 -1
  16. package/lib/esm/common/gen/tzero/v1/common/payment_method_pb.js +14 -1
  17. package/lib/esm/common/gen/tzero/v1/payment/network_pb.d.ts +24 -21
  18. package/lib/esm/common/gen/tzero/v1/payment/network_pb.js +1 -1
  19. package/lib/esm/common/gen/tzero/v1/payment/provider_pb.d.ts +11 -15
  20. package/lib/esm/common/gen/tzero/v1/payment/provider_pb.js +1 -1
  21. package/lib/esm/common/gen/tzero/v1/payment_intent/beneficiary_pb.d.ts +7 -9
  22. package/lib/esm/common/gen/tzero/v1/payment_intent/beneficiary_pb.js +2 -3
  23. package/lib/esm/common/gen/tzero/v1/payment_intent/network_pb.d.ts +16 -27
  24. package/lib/esm/common/gen/tzero/v1/payment_intent/network_pb.js +3 -6
  25. package/lib/esm/common/gen/tzero/v1/payment_intent/pay_in_provider_pb.d.ts +11 -20
  26. package/lib/esm/common/gen/tzero/v1/payment_intent/pay_in_provider_pb.js +2 -4
  27. package/lib/esm/version.d.ts +1 -1
  28. package/lib/esm/version.js +1 -1
  29. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  30. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  31. package/package.json +1 -1
@@ -82,7 +82,7 @@ export type UpdateQuoteRequest_Quote_Band = Message<"tzero.v1.payment_intent.Upd
82
82
  */
83
83
  clientQuoteId: string;
84
84
  /**
85
- * max amount of USD this quote is applicable for. Please look into documentation for valid amounts.
85
+ * Maximum amount of USD this band applies to.
86
86
  *
87
87
  * @generated from field: tzero.v1.common.Decimal max_amount = 40;
88
88
  */
@@ -233,7 +233,6 @@ export type GetQuoteResponse_Success_IndicativeQuote = Message<"tzero.v1.payment
233
233
  /**
234
234
  * *
235
235
  * The T-0 provider ID of the pay-in provider offering this quote.
236
- * Providers can use this to identify counterparties.
237
236
  *
238
237
  * @generated from field: uint32 provider_id = 20;
239
238
  */
@@ -293,7 +292,6 @@ export type PaymentIntentPayInDetails = Message<"tzero.v1.payment_intent.Payment
293
292
  /**
294
293
  * *
295
294
  * The T-0 provider ID of the pay-in provider offering this quote.
296
- * Providers can use this to identify counterparties.
297
295
  *
298
296
  * @generated from field: uint32 provider_id = 20;
299
297
  */
@@ -311,7 +309,7 @@ export type PaymentIntentPayInDetails = Message<"tzero.v1.payment_intent.Payment
311
309
  * *
312
310
  * Indicative exchange rate USD/XXX (base currency is always USD).
313
311
  *
314
- * Resolved live from the network's current quote snapshot on every call,
312
+ * Reflects the current quote on every call,
315
313
  * including idempotent retries. The binding rate is locked in at
316
314
  * ConfirmFundsReceived and may differ.
317
315
  *
@@ -323,7 +321,7 @@ export type PaymentIntentPayInDetails = Message<"tzero.v1.payment_intent.Payment
323
321
  * Indicative fixed charge in USD retained by the pay-in provider per transfer.
324
322
  * Settlement is calculated as (amount / indicative_rate) - indicative_fix.
325
323
  *
326
- * Resolved live from the network's current quote snapshot on every call,
324
+ * Reflects the current quote on every call,
327
325
  * including idempotent retries. The binding fix is locked in at
328
326
  * ConfirmFundsReceived and may differ.
329
327
  *
@@ -465,7 +463,7 @@ export type CreatePaymentIntentResponse_Success = Message<"tzero.v1.payment_inte
465
463
  * *
466
464
  * Unique identifier for this payment intent.
467
465
  * Store this ID to correlate with:
468
- * - PaymentIntentUpdate notifications you'll receive
466
+ * - PaymentIntentUpdate notifications delivered later
469
467
  *
470
468
  * @generated from field: uint64 payment_intent_id = 10;
471
469
  */
@@ -473,13 +471,12 @@ export type CreatePaymentIntentResponse_Success = Message<"tzero.v1.payment_inte
473
471
  /**
474
472
  * *
475
473
  * Available payment options for the end-user.
476
- * Present these options to your user so they can choose how to pay.
474
+ * Present these options to the end-user so they can choose how to pay.
477
475
  * Each entry contains the payment details needed to complete the payment.
478
476
  *
479
477
  * Indicative rate/fix are resolved live on every call, including idempotent
480
- * retries. The set of options (provider, payment_method, payment_details)
481
- * is fixed at first call; individual options whose underlying quote has
482
- * lapsed are omitted on retry.
478
+ * retries. The set of options is fixed at first call; individual options
479
+ * whose underlying quote has lapsed are omitted on retry.
483
480
  *
484
481
  * @generated from field: repeated tzero.v1.payment_intent.PaymentIntentPayInDetails pay_in_details = 20;
485
482
  */
@@ -557,12 +554,9 @@ export type ConfirmFundsReceivedRequest = Message<"tzero.v1.payment_intent.Confi
557
554
  paymentIntentId: bigint;
558
555
  /**
559
556
  * *
560
- * Confirmation code received in the get payment details along with the payment_intent_id.
561
- * This prevents accidental confirmation of the wrong payment intent. The network
562
- * generates this as a UUID at CreatePaymentIntent time; non-UUID strings still pass
563
- * field-level length validation here and surface as a REJECT_REASON_CONFIRMATION_CODE_MISMATCH
564
- * at the orchestrator (preserving the "wrong code is a domain reject, not a transport error"
565
- * contract).
557
+ * Confirmation code received in the GetPaymentDetails response along with the payment_intent_id.
558
+ * Guards against confirming the wrong payment intent; a mismatch is rejected with
559
+ * REJECT_REASON_CONFIRMATION_CODE_MISMATCH.
566
560
  *
567
561
  * @generated from field: string confirmation_code = 20;
568
562
  */
@@ -662,8 +656,8 @@ export type ConfirmFundsReceivedResponse_Accept = Message<"tzero.v1.payment_inte
662
656
  /**
663
657
  * *
664
658
  * Flat USD charge retained by the pay-in provider per transfer,
665
- * already subtracted from settlement_amount. Surfaced so the pay-in
666
- * provider can audit the settlement formula: settlement = (payment_amount / rate) − fix.
659
+ * already subtracted from settlement_amount.
660
+ * Settlement is computed as (payment_amount / rate) − fix.
667
661
  *
668
662
  * @generated from field: tzero.v1.common.Decimal fix = 30;
669
663
  */
@@ -721,10 +715,9 @@ export declare enum ConfirmFundsReceivedResponse_Reject_Reason {
721
715
  REJECT_REASON_AMOUNT_TOO_SMALL = 40,
722
716
  /**
723
717
  * *
724
- * The (pay-in provider, payment method) tuple was not offered on
725
- * this intent. Either the intent was rejected during creation,
726
- * or this provider's GetPaymentDetails response was invalid for
727
- * the requested method.
718
+ * The requested payment method was not offered on this intent — either the
719
+ * intent was rejected at creation, or no valid payment details were returned
720
+ * for the method. Retry with a method from the returned options.
728
721
  *
729
722
  * @generated from enum value: REJECT_REASON_NO_VALID_OFFER = 50;
730
723
  */
@@ -754,8 +747,6 @@ export declare const ConfirmFundsReceivedResponse_Reject_ReasonSchema: GenEnum<C
754
747
  * 3. Pay-in provider confirms funds received
755
748
  * 4. Settlement will happen periodically between providers
756
749
  *
757
- * This service is hosted by the T-0 Network and called by providers.
758
- *
759
750
  * @generated from service tzero.v1.payment_intent.PaymentIntentService
760
751
  */
761
752
  export declare const PaymentIntentService: GenService<{
@@ -792,9 +783,7 @@ export declare const PaymentIntentService: GenService<{
792
783
  * *
793
784
  * CreatePaymentIntent initiates a new payment intent.
794
785
  *
795
- * Called by the beneficiary provider (the one who will receive the settlement).
796
- * The network finds suitable pay-in providers, retrieves their payment details,
797
- * and returns available payment options to present to the end-user.
786
+ * Returns the available payment options to present to the end-user.
798
787
  *
799
788
  * The returned payment_intent_id must be stored by the beneficiary provider
800
789
  * to correlate with the PaymentIntentUpdate notification received later.
@@ -171,10 +171,9 @@ var ConfirmFundsReceivedResponse_Reject_Reason;
171
171
  ConfirmFundsReceivedResponse_Reject_Reason[ConfirmFundsReceivedResponse_Reject_Reason["REJECT_REASON_AMOUNT_TOO_SMALL"] = 40] = "REJECT_REASON_AMOUNT_TOO_SMALL";
172
172
  /**
173
173
  * *
174
- * The (pay-in provider, payment method) tuple was not offered on
175
- * this intent. Either the intent was rejected during creation,
176
- * or this provider's GetPaymentDetails response was invalid for
177
- * the requested method.
174
+ * The requested payment method was not offered on this intent — either the
175
+ * intent was rejected at creation, or no valid payment details were returned
176
+ * for the method. Retry with a method from the returned options.
178
177
  *
179
178
  * @generated from enum value: REJECT_REASON_NO_VALID_OFFER = 50;
180
179
  */
@@ -204,8 +203,6 @@ exports.ConfirmFundsReceivedResponse_Reject_ReasonSchema = (0, codegenv2_1.enumD
204
203
  * 3. Pay-in provider confirms funds received
205
204
  * 4. Settlement will happen periodically between providers
206
205
  *
207
- * This service is hosted by the T-0 Network and called by providers.
208
- *
209
206
  * @generated from service tzero.v1.payment_intent.PaymentIntentService
210
207
  */
211
208
  exports.PaymentIntentService = (0, codegenv2_1.serviceDesc)(exports.file_tzero_v1_payment_intent_network, 0);
@@ -31,9 +31,8 @@ export type GetPaymentDetailsRequest = Message<"tzero.v1.payment_intent.GetPayme
31
31
  confirmationCode: string;
32
32
  /**
33
33
  * *
34
- * Payment methods being requested.
35
- * The provider should return PaymentDetails for the methods in the request. All the payment methods will be taken
36
- * from the quotes submitted by pay-in provider.
34
+ * Payment methods to return PaymentDetails for.
35
+ * Each is drawn from a previously submitted quote.
37
36
  *
38
37
  * @generated from field: repeated tzero.v1.common.PaymentMethodType payment_methods = 30;
39
38
  */
@@ -63,8 +62,7 @@ export type GetPaymentDetailsRequest = Message<"tzero.v1.payment_intent.GetPayme
63
62
  /**
64
63
  * *
65
64
  * The T-0 provider ID of the beneficiary provider (the FI the funds are
66
- * destined for). Stable, opaque identifier pay-in providers can use this
67
- * directly to resolve the beneficiary in their own systems.
65
+ * destined for). Stable, opaque identifier for the beneficiary.
68
66
  *
69
67
  * @generated from field: uint32 beneficiary_provider_id = 70;
70
68
  */
@@ -144,11 +142,9 @@ export declare const GetPaymentDetailsResponseSchema: GenMessage<GetPaymentDetai
144
142
  export type GetPaymentDetailsResponse_Details = Message<"tzero.v1.payment_intent.GetPaymentDetailsResponse.Details"> & {
145
143
  /**
146
144
  * *
147
- * Payment details for each supported payment method.
148
- *
149
- * Each PaymentDetails contains the information needed for an end-user
150
- * to send a payment (e.g., bank account details, mobile money number) and payment reference,
151
- * which can be used by pay-in provider to identify incoming payment.
145
+ * Payment details for each supported payment method. Each entry carries the
146
+ * information an end-user needs to send a payment (bank account, mobile money,
147
+ * etc.) plus a payment reference that identifies the incoming payment.
152
148
  *
153
149
  * @generated from field: repeated tzero.v1.common.PaymentDetails payment_details = 10;
154
150
  */
@@ -175,8 +171,7 @@ export type GetPaymentDetailsResponse_Rejection = Message<"tzero.v1.payment_inte
175
171
  export declare const GetPaymentDetailsResponse_RejectionSchema: GenMessage<GetPaymentDetailsResponse_Rejection>;
176
172
  /**
177
173
  * *
178
- * PayInProviderService must be implemented by pay-in providers to participate
179
- * in the Payment Intent flow.
174
+ * Pay-in provider surface for the Payment Intent flow.
180
175
  *
181
176
  * Pay-in providers are those who:
182
177
  * - Receive fiat payments from end-users
@@ -184,20 +179,16 @@ export declare const GetPaymentDetailsResponse_RejectionSchema: GenMessage<GetPa
184
179
  * - Confirm when payments are received via ConfirmFundsReceived
185
180
  * - Settles periodically with the beneficiary provider
186
181
  *
187
- * The network calls this service to obtain payment details that will be
188
- * presented to end-users for making payments.
182
+ * Provides the payment details presented to end-users for making payments.
189
183
  *
190
184
  * @generated from service tzero.v1.payment_intent.PayInProviderService
191
185
  */
192
186
  export declare const PayInProviderService: GenService<{
193
187
  /**
194
188
  * *
195
- * GetPaymentDetails returns payment details for the end-user.
196
- *
197
- * Called by the network during CreatePaymentIntent processing.
198
- * The provider should return payment details (bank accounts, mobile money info, etc.)
199
- * that the end-user can use to send funds. The payment details should contain payment reference,
200
- * so that on receiving payment from a payer, the pay-in provider can identify which payment intent this payment belongs to
189
+ * Returns the payment details (bank account, mobile money, etc.) an end-user uses
190
+ * to send funds. The details must carry a payment reference that ties an incoming
191
+ * payment back to its payment intent.
201
192
  *
202
193
  * @generated from rpc tzero.v1.payment_intent.PayInProviderService.GetPaymentDetails
203
194
  */
@@ -40,8 +40,7 @@ exports.GetPaymentDetailsResponse_DetailsSchema = (0, codegenv2_1.messageDesc)(e
40
40
  exports.GetPaymentDetailsResponse_RejectionSchema = (0, codegenv2_1.messageDesc)(exports.file_tzero_v1_payment_intent_pay_in_provider, 1, 1);
41
41
  /**
42
42
  * *
43
- * PayInProviderService must be implemented by pay-in providers to participate
44
- * in the Payment Intent flow.
43
+ * Pay-in provider surface for the Payment Intent flow.
45
44
  *
46
45
  * Pay-in providers are those who:
47
46
  * - Receive fiat payments from end-users
@@ -49,8 +48,7 @@ exports.GetPaymentDetailsResponse_RejectionSchema = (0, codegenv2_1.messageDesc)
49
48
  * - Confirm when payments are received via ConfirmFundsReceived
50
49
  * - Settles periodically with the beneficiary provider
51
50
  *
52
- * The network calls this service to obtain payment details that will be
53
- * presented to end-users for making payments.
51
+ * Provides the payment details presented to end-users for making payments.
54
52
  *
55
53
  * @generated from service tzero.v1.payment_intent.PayInProviderService
56
54
  */
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "1.1.23";
1
+ export declare const SDK_VERSION = "1.1.24";
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
4
  // SDK semantic version. Bumped in lockstep with all other SDKs by the
5
5
  // release.yaml workflow.
6
- exports.SDK_VERSION = "1.1.23";
6
+ exports.SDK_VERSION = "1.1.24";
@@ -300,6 +300,14 @@ export type PaymentDetails = Message<"tzero.v1.common.PaymentDetails"> & {
300
300
  */
301
301
  value: PaymentDetails_IndonesianEWallet;
302
302
  case: "indonesianEWallet";
303
+ } | {
304
+ /**
305
+ * Provider-defined opaque envelope - format agreed off-network
306
+ *
307
+ * @generated from field: tzero.v1.common.PaymentDetails.ProviderDefined provider_defined = 350;
308
+ */
309
+ value: PaymentDetails_ProviderDefined;
310
+ case: "providerDefined";
303
311
  } | {
304
312
  case: undefined;
305
313
  value?: undefined;
@@ -2191,6 +2199,29 @@ export type PaymentDetails_IndonesianEWallet = Message<"tzero.v1.common.PaymentD
2191
2199
  * Use `create(PaymentDetails_IndonesianEWalletSchema)` to create a new message.
2192
2200
  */
2193
2201
  export declare const PaymentDetails_IndonesianEWalletSchema: GenMessage<PaymentDetails_IndonesianEWallet>;
2202
+ /**
2203
+ * *
2204
+ * Provider-defined envelope for payment details that intentionally stay outside
2205
+ * the Network protocol. The provider and requester agree the payload format
2206
+ * off-network (JSON, protobuf bytes, YAML, XML, a barcode/auth-code instruction
2207
+ * format, or any other provider-specific encoding). The payload is opaque and
2208
+ * forwarded to the provider without interpretation.
2209
+ *
2210
+ * @generated from message tzero.v1.common.PaymentDetails.ProviderDefined
2211
+ */
2212
+ export type PaymentDetails_ProviderDefined = Message<"tzero.v1.common.PaymentDetails.ProviderDefined"> & {
2213
+ /**
2214
+ * Opaque provider-defined payload; maximum 10 KiB. Format agreed off-network.
2215
+ *
2216
+ * @generated from field: bytes payload = 10;
2217
+ */
2218
+ payload: Uint8Array;
2219
+ };
2220
+ /**
2221
+ * Describes the message tzero.v1.common.PaymentDetails.ProviderDefined.
2222
+ * Use `create(PaymentDetails_ProviderDefinedSchema)` to create a new message.
2223
+ */
2224
+ export declare const PaymentDetails_ProviderDefinedSchema: GenMessage<PaymentDetails_ProviderDefined>;
2194
2225
  /**
2195
2226
  * @generated from enum tzero.v1.common.PaymentMethodType
2196
2227
  */
@@ -2373,7 +2404,15 @@ export declare enum PaymentMethodType {
2373
2404
  *
2374
2405
  * @generated from enum value: PAYMENT_METHOD_TYPE_INDONESIAN_E_WALLET = 340;
2375
2406
  */
2376
- INDONESIAN_E_WALLET = 340
2407
+ INDONESIAN_E_WALLET = 340,
2408
+ /**
2409
+ * Provider-defined envelope: payment details whose structure is defined by the
2410
+ * provider and agreed with the requester off-network. The payload is opaque and
2411
+ * forwarded to the provider without interpretation.
2412
+ *
2413
+ * @generated from enum value: PAYMENT_METHOD_TYPE_PROVIDER_DEFINED = 350;
2414
+ */
2415
+ PROVIDER_DEFINED = 350
2377
2416
  }
2378
2417
  /**
2379
2418
  * Describes the enum tzero.v1.common.PaymentMethodType.
@@ -7,7 +7,7 @@ import { file_google_protobuf_descriptor } from "@bufbuild/protobuf/wkt";
7
7
  /**
8
8
  * Describes the file tzero/v1/common/payment_method.proto.
9
9
  */
10
- export const file_tzero_v1_common_payment_method = /*@__PURE__*/ fileDesc("CiR0emVyby92MS9jb21tb24vcGF5bWVudF9tZXRob2QucHJvdG8SD3R6ZXJvLnYxLmNvbW1vbiLWZwoOUGF5bWVudERldGFpbHMSNAoEc2VwYRgKIAEoCzIkLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5TZXBhSAASNgoFc3dpZnQYHiABKAsyJS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuU3dpZnRIABIyCgNhY2gYMiABKAsyIy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQWNoSAASRQoNZG9tZXN0aWNfd2lyZRg8IAEoCzIsLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Eb21lc3RpY1dpcmVIABIyCgNmcHMYRiABKAsyIy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuRnBzSAASOgoFbXBlc2EYUCABKAsyJS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuTVBlc2FCAhgBSAASNgoFZ2Nhc2gYWiABKAsyJS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuR0Nhc2hIABJSChRpbmRpYW5fYmFua190cmFuc2ZlchhkIAEoCzIyLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5JbmRpYW5CYW5rVHJhbnNmZXJIABI6CgdwZXNvbmV0GG4gASgLMicudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBlc29uZXRIABI8CghpbnN0YXBheRh4IAEoCzIoLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5JbnN0YXBheUgAElcKFnBha2lzdGFuX2JhbmtfdHJhbnNmZXIYggEgASgLMjQudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBha2lzdGFuQmFua1RyYW5zZmVySAASVwoWcGFraXN0YW5fbW9iaWxlX3dhbGxldBiMASABKAsyNC50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuUGFraXN0YW5Nb2JpbGVXYWxsZXRIABIzCgNwaXgYlgEgASgLMiMudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBpeEgAElMKFGFmcmljYW5fbW9iaWxlX21vbmV5GKABIAEoCzIyLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5BZnJpY2FuTW9iaWxlTW9uZXlIABI2CgRuYXBzGKoBIAEoCzIlLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5DbmFwc0gAEjMKA25pcBi0ASABKAsyIy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuTmlwSAASMwoDcnRwGL4BIAEoCzIjLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5SdHBIABJVChVjaGlsZWFuX2JhbmtfdHJhbnNmZXIYyAEgASgLMjMudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNoaWxlYW5CYW5rVHJhbnNmZXJIABJPChJwZXJ1X2JhbmtfdHJhbnNmZXIY0gEgASgLMjAudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBlcnVCYW5rVHJhbnNmZXJIABJdChlhcmdlbnRpbmlhbl9iYW5rX3RyYW5zZmVyGNwBIAEoCzI3LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5BcmdlbnRpbmlhbkJhbmtUcmFuc2ZlckgAElUKFW1leGljYW5fYmFua190cmFuc2ZlchjmASABKAsyMy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuTWV4aWNhbkJhbmtUcmFuc2ZlckgAEkYKDWNvbG9tYmlhbl9hY2gY8AEgASgLMiwudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNvbG9tYmlhbkFjaEgAEkgKDmNvbG9tYmlhbl9icmViGPoBIAEoCzItLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Db2xvbWJpYW5CcmViSAASMwoDZ2lwGIQCIAEoCzIjLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5HaXBIABI5CgZ1YWVmdHMYjgIgASgLMiYudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlVhZWZ0c0gAEjkKBnZpZXRxchiYAiABKAsyJi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuVmlldFFySAASNwoFbmFwYXMYogIgASgLMiUudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLk5hcGFzSAASNQoEZmFzdBisAiABKAsyJC50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuRmFzdEgAEj8KCXByb21wdHBheRi2AiABKAsyKS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuUHJvbXB0UGF5SAASTwoSdGhhaV9iYW5rX3RyYW5zZmVyGMACIAEoCzIwLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5UaGFpQmFua1RyYW5zZmVySAASWwoYaW5kb25lc2lhbl9iYW5rX3RyYW5zZmVyGMoCIAEoCzI2LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5JbmRvbmVzaWFuQmFua1RyYW5zZmVySAASUQoTaW5kb25lc2lhbl9lX3dhbGxldBjUAiABKAsyMS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuSW5kb25lc2lhbkVXYWxsZXRIABqMAQoEU2VwYRI0CgRpYmFuGBQgASgJQia6SCNyIRAPGCIyG15bQS1aXXsyfVswLTldezJ9W0EtWjAtOV0rJBIjChBiZW5lZmljaWFyeV9uYW1lGB4gASgJQgm6SAZyBBABGEYSIwoRcGF5bWVudF9yZWZlcmVuY2UYKCABKAlCCLpIBXIDGIwBOgSIph0KGsIBCgNGcHMSRQoJc29ydF9jb2RlGAogASgJQjK6SC9yLRAGGAgyJ14oWzAtOV17Mn0tWzAtOV17Mn0tWzAtOV17Mn18WzAtOV17Nn0pJBItCg5hY2NvdW50X251bWJlchgUIAEoCUIVukgSchAQCBgIMgpeWzAtOV17OH0kEiMKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCbpIBnIEEAEYEhIaCglyZWZlcmVuY2UYKCABKAlCB7pIBHICGBI6BIimHUYangEKBU1QZXNhEjQKEWJlbmVmaWNpYXJ5X3Bob25lGAogASgJQhm6SBZyFBAKGA8yDl5bMC05XXsxMCwxNX0kEjQKEWFjY291bnRfcmVmZXJlbmNlGBQgASgJQhm6SBZyFBABGAwyDl5bYS16QS1aMC05XSskEiMKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCbpIBnIEEAEYZDoEiKYdUBrCAwoSQWZyaWNhbk1vYmlsZU1vbmV5ElMKB25ldHdvcmsYBSABKA4yOi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQWZyaWNhbk1vYmlsZU1vbmV5Lk5ldHdvcmtCBrpIA8gBARI0ChFiZW5lZmljaWFyeV9waG9uZRgKIAEoCUIZukgWchQQChgPMg5eWzAtOV17MTAsMTV9JBI0ChFhY2NvdW50X3JlZmVyZW5jZRgUIAEoCUIZukgWchQQARgMMg5eW2EtekEtWjAtOV0rJBIjChBiZW5lZmljaWFyeV9uYW1lGB4gASgJQgm6SAZyBBABGGQivgEKB05ldHdvcmsSFQoRTkVUV09SS19VTkRFRklORUQQABISCg5ORVRXT1JLX01fUEVTQRAKEhIKDk5FVFdPUktfQUlSVEVMEBQSDwoLTkVUV09SS19NVE4QHhITCg9ORVRXT1JLX1ZPREFDT00QKBISCg5ORVRXT1JLX09SQU5HRRAyEhQKEE5FVFdPUktfVk9EQUZPTkUQPBIQCgxORVRXT1JLX0ZSRUUQRhISCg5ORVRXT1JLX1pBTVRFTBBQOgWIph2gARqLAQoFR0Nhc2gSIwoQYmVuZWZpY2lhcnlfbmFtZRgKIAEoCUIJukgGcgQQARhkEjIKEWJlbmVmaWNpYXJ5X3Bob25lGBQgASgJQhe6SBRyEhAKGBQyDF5bK10/WzAtOV0rJBIjChFwYXltZW50X3JlZmVyZW5jZRgeIAEoCUIIukgFcgMYjAE6BIimHVoaygUKEkluZGlhbkJhbmtUcmFuc2ZlchJWCgxhY2NvdW50X2lmc2MYCiABKAsyPi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuSW5kaWFuQmFua1RyYW5zZmVyLkFjY291bnRJRlNDSAASRwoEaW1wcxgUIAEoCzI3LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5JbmRpYW5CYW5rVHJhbnNmZXIuSU1QU0gAEiMKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCbpIBnIEEAEYRhJoChBiZW5lZmljaWFyeV90eXBlGCggASgOMkIudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkluZGlhbkJhbmtUcmFuc2Zlci5CZW5lZmljaWFyeVR5cGVCCrpIB4IBBBABIAASIwoRcGF5bWVudF9yZWZlcmVuY2UYMiABKAlCCLpIBXIDGIwBGnAKC0FjY291bnRJRlNDEjAKDmFjY291bnRfbnVtYmVyGAogASgJQhi6SBVyExAJGBIyDV5bMC05XXs5LDE4fSQSLwoEaWZzYxgUIAEoCUIhukgechwQCxgLMhZeW0EtWl17NH0wW0EtWjAtOV17Nn0kGmIKBElNUFMSNQoRYmVuZWZpY2lhcnlfcGhvbmUYCiABKAlCGrpIF3IVEAoYCjIPXls2LTldWzAtOV17OX0kEiMKBG1taWQYFCABKAlCFbpIEnIQEAcYBzIKXlswLTldezd9JCJyCg9CZW5lZmljaWFyeVR5cGUSIAocQkVORUZJQ0lBUllfVFlQRV9VTlNQRUNJRklFRBAAEh8KG0JFTkVGSUNJQVJZX1RZUEVfSU5ESVZJRFVBTBAKEhwKGEJFTkVGSUNJQVJZX1RZUEVfQ09NUEFOWRAUOgSIph1kQg8KBm1ldGhvZBIFukgCCAEa+QQKBVN3aWZ0EkoKCnN3aWZ0X2NvZGUYCiABKAlCNrpIM3IxEAgYCzIrXltBLVpdezR9W0EtWl17Mn1bQS1aMC05XXsyfShbQS1aMC05XXszfSk/JBIhCg5hY2NvdW50X251bWJlchgUIAEoCUIJukgGcgQQARgiEiQKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCrpIB3IFEAEYjAESJwoTYmVuZWZpY2lhcnlfYWRkcmVzcxgoIAEoCUIKukgHcgUQARj/ARIjChFwYXltZW50X3JlZmVyZW5jZRgyIAEoCUIIukgFcgMYjAESHQoJYmFua19uYW1lGDwgASgJQgq6SAdyBRABGIwBEioKDGJhbmtfY291bnRyeRhGIAEoCUIUukgRcg8yCl5bQS1aXXsyfSSYAQISMwoQYWNjb3VudF9jdXJyZW5jeRhQIAEoCUIUukgRcg8yCl5bQS1aXXszfSSYAQNIAIgBARJRChFpbnRlcm1lZGlhcnlfYmFuaxhaIAEoCzI2LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Td2lmdC5JbnRlcm1lZGlhcnlCYW5rGp4BChBJbnRlcm1lZGlhcnlCYW5rEkoKCnN3aWZ0X2NvZGUYASABKAlCNrpIM3IxEAgYCzIrXltBLVpdezR9W0EtWl17Mn1bQS1aMC05XXsyfShbQS1aMC05XXszfSk/JBIdCgliYW5rX25hbWUYAiABKAlCCrpIB3IFEAEYjAESHwoOYWNjb3VudF9udW1iZXIYAyABKAlCB7pIBHICGCI6BIimHRRCEwoRX2FjY291bnRfY3VycmVuY3ka+QIKA0FjaBItCg5yb3V0aW5nX251bWJlchgKIAEoCUIVukgSchAQCRgJMgpeWzAtOV17OX0kEisKDmFjY291bnRfbnVtYmVyGBQgASgJQhO6SBByDhABGBEyCF5bMC05XSskEiYKE2FjY291bnRfaG9sZGVyX25hbWUYHiABKAlCCbpIBnIEEAEYRhJSCgxhY2NvdW50X3R5cGUYKCABKA4yMi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQWNoLkFjaEFjY291bnRUeXBlQgi6SAWCAQIgABIjChFwYXltZW50X3JlZmVyZW5jZRgyIAEoCUIIukgFcgMYjAEibwoOQWNoQWNjb3VudFR5cGUSIAocQUNIX0FDQ09VTlRfVFlQRV9VTlNQRUNJRklFRBAAEh0KGUFDSF9BQ0NPVU5UX1RZUEVfQ0hFQ0tJTkcQChIcChhBQ0hfQUNDT1VOVF9UWVBFX1NBVklOR1MQFDoEiKYdMhqWAgoMRG9tZXN0aWNXaXJlEhwKCWJhbmtfbmFtZRgKIAEoCUIJukgGcgQQARhGEiAKDGJhbmtfYWRkcmVzcxgUIAEoCUIKukgHcgUQARiMARItCg5yb3V0aW5nX251bWJlchgeIAEoCUIVukgSchAQCRgJMgpeWzAtOV17OX0kEiEKDmFjY291bnRfbnVtYmVyGCggASgJQgm6SAZyBBABGCISIwoQYmVuZWZpY2lhcnlfbmFtZRgyIAEoCUIJukgGcgQQARhGEicKE2JlbmVmaWNpYXJ5X2FkZHJlc3MYPCABKAlCCrpIB3IFEAEYjAESIAoOd2lyZV9yZWZlcmVuY2UYRiABKAlCCLpIBXIDGIwBOgSIph08GqcCCgdQZXNvbmV0EjIKH3JlY2lwaWVudF9maW5hbmNpYWxfaW5zdGl0dXRpb24YCiABKAlCCbpIBnIEEAEYRhInChRyZWNpcGllbnRfaWRlbnRpZmllchgUIAEoCUIJukgGcgQQARhGEicKFnJlY2lwaWVudF9hY2NvdW50X25hbWUYHiABKAlCB7pIBHICGBISKgoTcHVycG9zZV9vZl90cmFuc2ZlchgoIAEoCUIIukgFcgMYjAFIAIgBARIwChdyZWNpcGllbnRfYWRkcmVzc19lbWFpbBgyIAEoCUIKukgHcgUQARiABEgBiAEBOgSIph1uQhYKFF9wdXJwb3NlX29mX3RyYW5zZmVyQhoKGF9yZWNpcGllbnRfYWRkcmVzc19lbWFpbBrQAQoISW5zdGFwYXkSKAoVcmVjaXBpZW50X2luc3RpdHV0aW9uGAogASgJQgm6SAZyBBABGEYSJwoUcmVjaXBpZW50X2lkZW50aWZpZXIYFCABKAlCCbpIBnIEEAEYRhInChZyZWNpcGllbnRfYWNjb3VudF9uYW1lGB4gASgJQge6SARyAhgyEioKE3B1cnBvc2Vfb2ZfdHJhbnNmZXIYKCABKAlCCLpIBXIDGIwBSACIAQE6BIimHXhCFgoUX3B1cnBvc2Vfb2ZfdHJhbnNmZXIa7AEKFFBha2lzdGFuQmFua1RyYW5zZmVyEjYKBGliYW4YCiABKAlCKLpIJXIjEBgYGDIdXlBLWzAtOV17Mn1bQS1aXXs0fVswLTldezE2fSQSJAoQYmVuZWZpY2lhcnlfbmFtZRgUIAEoCUIKukgHcgUQARiMARI1ChBiZW5lZmljaWFyeV9jbmljGBkgASgJQha6SBNyERANGA0yC15bMC05XXsxM30kSACIAQESIwoRcGF5bWVudF9yZWZlcmVuY2UYHiABKAlCCLpIBXIDGIwBOgWIph2CAUITChFfYmVuZWZpY2lhcnlfY25pYxrbBAoUUGFraXN0YW5Nb2JpbGVXYWxsZXQSbgoPd2FsbGV0X3Byb3ZpZGVyGAogASgOMksudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBha2lzdGFuTW9iaWxlV2FsbGV0LlBha2lzdGFuV2FsbGV0UHJvdmlkZXJCCLpIBYIBAiAAEjwKDW1vYmlsZV9udW1iZXIYFCABKAlCJbpIInIgEAsYDDIaXigwM1swLTldezl9fDkyM1swLTldezl9KSQSJAoEY25pYxgeIAEoCUIWukgTchEQDRgNMgteWzAtOV17MTN9JBIkChBiZW5lZmljaWFyeV9uYW1lGCggASgJQgq6SAdyBRABGIwBEigKEXBheW1lbnRfcmVmZXJlbmNlGDIgASgJQgi6SAVyAxiMAUgAiAEBIoECChZQYWtpc3RhbldhbGxldFByb3ZpZGVyEigKJFBBS0lTVEFOX1dBTExFVF9QUk9WSURFUl9VTlNQRUNJRklFRBAAEiUKIVBBS0lTVEFOX1dBTExFVF9QUk9WSURFUl9KQVpaQ0FTSBAKEiYKIlBBS0lTVEFOX1dBTExFVF9QUk9WSURFUl9FQVNZUEFJU0EQFBIkCiBQQUtJU1RBTl9XQUxMRVRfUFJPVklERVJfU0FEQVBBWRAeEiQKIFBBS0lTVEFOX1dBTExFVF9QUk9WSURFUl9OQVlBUEFZECgSIgoeUEFLSVNUQU5fV0FMTEVUX1BST1ZJREVSX09USEVSEGQ6BYimHYwBQhQKEl9wYXltZW50X3JlZmVyZW5jZRqxAwoDUGl4EkcKCGtleV90eXBlGAogASgOMisudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBpeC5LZXlUeXBlQgi6SAWCAQIgABIcCglrZXlfdmFsdWUYFCABKAlCCbpIBnIEEAEYTRIkChBiZW5lZmljaWFyeV9uYW1lGB4gASgJQgq6SAdyBRABGIwBEjoKEmJlbmVmaWNpYXJ5X3RheF9pZBgoIAEoCUIZukgWchQQCxgOMg5eWzAtOV17MTEsMTR9JEgAiAEBEigKEXBheW1lbnRfcmVmZXJlbmNlGDIgASgJQgi6SAVyAxiMAUgBiAEBIoIBCgdLZXlUeXBlEhgKFEtFWV9UWVBFX1VOU1BFQ0lGSUVEEAASEAoMS0VZX1RZUEVfQ1BGEAoSEQoNS0VZX1RZUEVfQ05QShAUEhIKDktFWV9UWVBFX0VNQUlMEB4SEgoOS0VZX1RZUEVfUEhPTkUQKBIQCgxLRVlfVFlQRV9FVlAQMjoFiKYdlgFCFQoTX2JlbmVmaWNpYXJ5X3RheF9pZEIUChJfcGF5bWVudF9yZWZlcmVuY2Ua7gMKBUNuYXBzEjAKDmFjY291bnRfbnVtYmVyGAogASgJQhi6SBVyExAGGBkyDV5bMC05XXs2LDI1fSQSKgoKY25hcHNfY29kZRgUIAEoCUIWukgTchEQDBgMMgteWzAtOV17MTJ9JBIqChZiZW5lZmljaWFyeV9uYW1lX2xvY2FsGB4gASgJQgq6SAdyBRABGIwBEiQKEGJlbmVmaWNpYXJ5X25hbWUYKCABKAlCCrpIB3IFEAEYjAESQgoIYnVzaW5lc3MYMiABKAsyLi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQ25hcHMuQnVzaW5lc3NIABI+CgZwZXJzb24YPCABKAsyLC50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQ25hcHMuUGVyc29uSAASIwoRcGF5bWVudF9yZWZlcmVuY2UYRiABKAlCCLpIBXIDGIwBGjoKCEJ1c2luZXNzEi4KDmxpY2Vuc2VfbnVtYmVyGAogASgJQha6SBNyERASGBIyC15bMC05XXsxOH0kGjMKBlBlcnNvbhIpCglpZF9udW1iZXIYCiABKAlCFrpIE3IREBIYEjILXlswLTldezE4fSQ6BYimHaoBQhQKC2JlbmVmaWNpYXJ5EgW6SAIIARq8AQoDTmlwEjEKCWJhbmtfY29kZRgKIAEoCUIeukgbchkQARgKMhNeW2EtekEtWjAtOV17MSwxMH0kEjAKDmFjY291bnRfbnVtYmVyGBQgASgJQhi6SBVyExABGBQyDV5bMC05XXsxLDIwfSQSJAoQYmVuZWZpY2lhcnlfbmFtZRgeIAEoCUIKukgHcgUQARiMARIjChFwYXltZW50X3JlZmVyZW5jZRgoIAEoCUIIukgFcgMYjAE6BYimHbQBGvECCgNSdHASLQoOcm91dGluZ19udW1iZXIYCiABKAlCFbpIEnIQEAkYCTIKXlswLTldezl9JBIrCg5hY2NvdW50X251bWJlchgUIAEoCUITukgQcg4QARgRMgheWzAtOV0rJBJSCgxhY2NvdW50X3R5cGUYHiABKA4yMi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuUnRwLlJ0cEFjY291bnRUeXBlQgi6SAWCAQIgABIdCgliYW5rX25hbWUYKCABKAlCCrpIB3IFEAEYjAESIwoRcGF5bWVudF9yZWZlcmVuY2UYMiABKAlCCLpIBXIDGIwBIm8KDlJ0cEFjY291bnRUeXBlEiAKHFJUUF9BQ0NPVU5UX1RZUEVfVU5TUEVDSUZJRUQQABIdChlSVFBfQUNDT1VOVF9UWVBFX0NIRUNLSU5HEAoSHAoYUlRQX0FDQ09VTlRfVFlQRV9TQVZJTkdTEBQ6BYimHb4BGsgDChNDaGlsZWFuQmFua1RyYW5zZmVyEjgKD2RvY3VtZW50X251bWJlchgKIAEoCUIfukgcchoQCRgLMhReWzAtOV17Nyw5fS1bMC05S2tdJBIjChBiZW5lZmljaWFyeV9uYW1lGBQgASgJQgm6SAZyBBABGC0SKAoJYmFua19jb2RlGB4gASgJQhW6SBJyEBADGAMyCl5bMC05XXszfSQSMAoOYWNjb3VudF9udW1iZXIYKCABKAlCGLpIFXITEAEYEjINXlswLTldezEsMTh9JBJkCgxhY2NvdW50X3R5cGUYMiABKA4yPy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQ2hpbGVhbkJhbmtUcmFuc2Zlci5BY2NvdW50VHlwZUIIukgFggECIABIAIgBASJ4CgtBY2NvdW50VHlwZRIcChhBQ0NPVU5UX1RZUEVfVU5TUEVDSUZJRUQQABIZChVBQ0NPVU5UX1RZUEVfQ0hFQ0tJTkcQChIWChJBQ0NPVU5UX1RZUEVfVklTVEEQFBIYChRBQ0NPVU5UX1RZUEVfU0FWSU5HUxAoOgWIph3IAUIPCg1fYWNjb3VudF90eXBlGrIEChBQZXJ1QmFua1RyYW5zZmVyEiwKD2RvY3VtZW50X251bWJlchgKIAEoCUITukgQcg4QARgUMgheWzAtOV0rJBJjCg1kb2N1bWVudF90eXBlGBQgASgOMj0udHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBlcnVCYW5rVHJhbnNmZXIuRG9jdW1lbnRUeXBlQgi6SAWCAQIgAEgAiAEBEhwKCWJhbmtfY29kZRgeIAEoCUIJukgGcgQQARgKEiEKDmFjY291bnRfbnVtYmVyGCggASgJQgm6SAZyBBABGB4SXAoMYWNjb3VudF90eXBlGDIgASgOMjwudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBlcnVCYW5rVHJhbnNmZXIuQWNjb3VudFR5cGVCCLpIBYIBAiAAInEKDERvY3VtZW50VHlwZRIdChlET0NVTUVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRRE9DVU1FTlRfVFlQRV9ETkkQChIUChBET0NVTUVOVF9UWVBFX0NFEBQSFQoRRE9DVU1FTlRfVFlQRV9SVUMQHiJgCgtBY2NvdW50VHlwZRIcChhBQ0NPVU5UX1RZUEVfVU5TUEVDSUZJRUQQABIZChVBQ0NPVU5UX1RZUEVfQ0hFQ0tJTkcQChIYChRBQ0NPVU5UX1RZUEVfU0FWSU5HUxAUOgWIph3SAUIQCg5fZG9jdW1lbnRfdHlwZRpQChdBcmdlbnRpbmlhbkJhbmtUcmFuc2ZlchIuCg5hY2NvdW50X251bWJlchgKIAEoCUIWukgTchEQFhgWMgteWzAtOV17MjJ9JDoFiKYd3AEakAEKE01leGljYW5CYW5rVHJhbnNmZXISJAoQYmVuZWZpY2lhcnlfbmFtZRgKIAEoCUIKukgHcgUQARiMARIcCgliYW5rX2NvZGUYFCABKAlCCbpIBnIEEAEYChIuCg5hY2NvdW50X251bWJlchgeIAEoCUIWukgTchEQEhgSMgteWzAtOV17MTh9JDoFiKYd5gEamAUKDENvbG9tYmlhbkFjaBIiCg9kb2N1bWVudF9udW1iZXIYCiABKAlCCbpIBnIEEAUYDxJaCg1kb2N1bWVudF90eXBlGBQgASgOMjkudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNvbG9tYmlhbkFjaC5Eb2N1bWVudFR5cGVCCLpIBYIBAiAAEhwKCWJhbmtfY29kZRgeIAEoCUIJukgGcgQQARgKEiEKDmFjY291bnRfbnVtYmVyGCggASgJQgm6SAZyBBABGB4SWAoMYWNjb3VudF90eXBlGDIgASgOMjgudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNvbG9tYmlhbkFjaC5BY2NvdW50VHlwZUIIukgFggECIAASJAoQYmVuZWZpY2lhcnlfbmFtZRg8IAEoCUIKukgHcgUQARiMARIuCgxwaG9uZV9udW1iZXIYRiABKAlCE7pIEHIOEAcYFDIIXlswLTldKyRIAIgBASKcAQoMRG9jdW1lbnRUeXBlEh0KGURPQ1VNRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIUChBET0NVTUVOVF9UWVBFX0NDEAoSFAoQRE9DVU1FTlRfVFlQRV9DRRAUEhUKEURPQ1VNRU5UX1RZUEVfTklUEB4SFAoQRE9DVU1FTlRfVFlQRV9USRAoEhQKEERPQ1VNRU5UX1RZUEVfUFAQMiJgCgtBY2NvdW50VHlwZRIcChhBQ0NPVU5UX1RZUEVfVU5TUEVDSUZJRUQQABIYChRBQ0NPVU5UX1RZUEVfU0FWSU5HUxAKEhkKFUFDQ09VTlRfVFlQRV9DSEVDS0lORxAUOgWIph3wAUIPCg1fcGhvbmVfbnVtYmVyGtoECg1Db2xvbWJpYW5CcmViEiIKD2RvY3VtZW50X251bWJlchgKIAEoCUIJukgGcgQQBRgPElsKDWRvY3VtZW50X3R5cGUYFCABKA4yOi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQ29sb21iaWFuQnJlYi5Eb2N1bWVudFR5cGVCCLpIBYIBAiAAEhwKCWJhbmtfY29kZRgeIAEoCUIJukgGcgQQARgKEiEKDmFjY291bnRfbnVtYmVyGCggASgJQgm6SAZyBBABGB4SWQoMYWNjb3VudF90eXBlGDIgASgOMjkudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNvbG9tYmlhbkJyZWIuQWNjb3VudFR5cGVCCLpIBYIBAiAAEiQKEGJlbmVmaWNpYXJ5X25hbWUYPCABKAlCCrpIB3IFEAEYjAEinAEKDERvY3VtZW50VHlwZRIdChlET0NVTUVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFAoQRE9DVU1FTlRfVFlQRV9DQxAKEhQKEERPQ1VNRU5UX1RZUEVfQ0UQFBIVChFET0NVTUVOVF9UWVBFX05JVBAeEhQKEERPQ1VNRU5UX1RZUEVfVEkQKBIUChBET0NVTUVOVF9UWVBFX1BQEDIiYAoLQWNjb3VudFR5cGUSHAoYQUNDT1VOVF9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUQUNDT1VOVF9UWVBFX1NBVklOR1MQChIZChVBQ0NPVU5UX1RZUEVfQ0hFQ0tJTkcQFDoFiKYd+gEaogEKA0dpcBIoCglzb3J0X2NvZGUYCiABKAlCFbpIEnIQEAYYBjIKXlswLTldezZ9JBIrCg5hY2NvdW50X251bWJlchgUIAEoCUITukgQcg4QARgUMgheWzAtOV0rJBIgCgxhY2NvdW50X25hbWUYHiABKAlCCrpIB3IFEAEYjAESGwoJcmVmZXJlbmNlGCggASgJQgi6SAVyAxiMAToFiKYdhAIayAEKBlVhZWZ0cxIlCgRpYmFuGAogASgJQhe6SBRyEjINXkFFWzAtOV17MjF9JJgBFxIkChBiZW5lZmljaWFyeV9uYW1lGBQgASgJQgq6SAdyBRABGIwBEioKDHB1cnBvc2VfY29kZRgeIAEoCUIUukgRcg8yCl5bQS1aXXszfSSYAQMSKAoRcGF5bWVudF9yZWZlcmVuY2UYKCABKAlCCLpIBXIDGIwBSACIAQE6BYimHY4CQhQKEl9wYXltZW50X3JlZmVyZW5jZRrPAQoGVmlldFFyEiYKCGJhbmtfYmluGAogASgJQhS6SBFyDzIKXlswLTldezZ9JJgBBhIwCg5hY2NvdW50X251bWJlchgUIAEoCUIYukgVchMQARgTMg1eWzAtOV17MSwxOX0kEiQKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCrpIB3IFEAEYjAESKAoRcGF5bWVudF9yZWZlcmVuY2UYKCABKAlCCLpIBXIDGIwBSACIAQE6BYimHZgCQhQKEl9wYXltZW50X3JlZmVyZW5jZRqYAgoFTmFwYXMSJgoIYmFua19iaW4YCiABKAlCFLpIEXIPMgpeWzAtOV17Nn0kmAEGEjIKDmFjY291bnRfbnVtYmVyGBQgASgJQhi6SBVyExABGBMyDV5bMC05XXsxLDE5fSRIABIwCgtjYXJkX251bWJlchgeIAEoCUIZukgWchQQEBgTMg5eWzAtOV17MTYsMTl9JEgAEiQKEGJlbmVmaWNpYXJ5X25hbWUYKCABKAlCCrpIB3IFEAEYjAESKAoRcGF5bWVudF9yZWZlcmVuY2UYMiABKAlCCLpIBXIDGIwBSAGIAQE6BYimHaICQhQKC2Rlc3RpbmF0aW9uEgW6SAIIAUIUChJfcGF5bWVudF9yZWZlcmVuY2Ua9gMKBEZhc3QSJwoEaWJhbhgKIAEoCUIXukgUchIyDV5UUlswLTldezI0fSSYARpIABI7CgVwcm94eRgUIAEoCzIqLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5GYXN0LlByb3h5SAASJAoQYmVuZWZpY2lhcnlfbmFtZRgeIAEoCUIKukgHcgUQARiMARIoChFwYXltZW50X3JlZmVyZW5jZRgoIAEoCUIIukgFcgMYjAFIAYgBARqEAgoFUHJveHkSVAoKcHJveHlfdHlwZRgKIAEoDjI0LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5GYXN0LlByb3h5LlByb3h5VHlwZUIKukgHggEEEAEgABIZCgV2YWx1ZRgUIAEoCUIKukgHcgUQARiMASKJAQoJUHJveHlUeXBlEhoKFlBST1hZX1RZUEVfVU5TUEVDSUZJRUQQABIVChFQUk9YWV9UWVBFX01PQklMRRAKEhQKEFBST1hZX1RZUEVfRU1BSUwQFBIaChZQUk9YWV9UWVBFX05BVElPTkFMX0lEEB4SFwoTUFJPWFlfVFlQRV9QQVNTUE9SVBAoOgWIph2sAkIUCgtkZXN0aW5hdGlvbhIFukgCCAFCFAoSX3BheW1lbnRfcmVmZXJlbmNlGuACCglQcm9tcHRQYXkSUwoKcHJveHlfdHlwZRgKIAEoDjIzLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Qcm9tcHRQYXkuUHJveHlUeXBlQgq6SAeCAQQQASAAEh4KCmlkZW50aWZpZXIYFCABKAlCCrpIB3IFEAEYjAESJAoQYmVuZWZpY2lhcnlfbmFtZRgeIAEoCUIKukgHcgUQARiMARIoChFwYXltZW50X3JlZmVyZW5jZRgoIAEoCUIIukgFcgMYjAFIAIgBASJxCglQcm94eVR5cGUSGgoWUFJPWFlfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVBST1hZX1RZUEVfTU9CSUxFEAoSGgoWUFJPWFlfVFlQRV9OQVRJT05BTF9JRBAUEhUKEVBST1hZX1RZUEVfVEFYX0lEEB46BYimHbYCQhQKEl9wYXltZW50X3JlZmVyZW5jZRrPAQoQVGhhaUJhbmtUcmFuc2ZlchIcCgliYW5rX2NvZGUYCiABKAlCCbpIBnIEEAEYChIwCg5hY2NvdW50X251bWJlchgUIAEoCUIYukgVchMQARgPMg1eWzAtOV17MSwxNX0kEiQKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCrpIB3IFEAEYjAESKAoRcGF5bWVudF9yZWZlcmVuY2UYKCABKAlCCLpIBXIDGIwBSACIAQE6BYimHcACQhQKEl9wYXltZW50X3JlZmVyZW5jZRqRAwoWSW5kb25lc2lhbkJhbmtUcmFuc2ZlchJRCgdhY2NvdW50GAogASgLMj4udHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkluZG9uZXNpYW5CYW5rVHJhbnNmZXIuQWNjb3VudEgAEi4KBm1vYmlsZRgUIAEoCUIcukgZchcQCBgQMhFeWytdP1swLTldezgsMTV9JEgAEhsKBWVtYWlsGB4gASgJQgq6SAdyBRj+AWABSAASJAoQYmVuZWZpY2lhcnlfbmFtZRgoIAEoCUIKukgHcgUQARiMARIoChFwYXltZW50X3JlZmVyZW5jZRgyIAEoCUIIukgFcgMYjAFIAYgBARpUCgdBY2NvdW50EhwKCWJhbmtfY29kZRgKIAEoCUIJukgGcgQQARgKEisKDmFjY291bnRfbnVtYmVyGBQgASgJQhO6SBByDhABGBQyCF5bMC05XSskOgWIph3KAkIUCgtkZXN0aW5hdGlvbhIFukgCCAFCFAoSX3BheW1lbnRfcmVmZXJlbmNlGuMBChFJbmRvbmVzaWFuRVdhbGxldBIsCghwcm92aWRlchgKIAEoCUIaukgXchUQARgeMg9eW0EtWmEtejAtOSBdKyQSMwoNbW9iaWxlX251bWJlchgUIAEoCUIcukgZchcQCBgQMhFeWytdP1swLTldezgsMTV9JBIkChBiZW5lZmljaWFyeV9uYW1lGB4gASgJQgq6SAdyBRABGIwBEigKEXBheW1lbnRfcmVmZXJlbmNlGCggASgJQgi6SAVyAxiMAUgAiAEBOgWIph3UAkIUChJfcGF5bWVudF9yZWZlcmVuY2VCEAoHZGV0YWlscxIFukgCCAEq+QkKEVBheW1lbnRNZXRob2RUeXBlEiMKH1BBWU1FTlRfTUVUSE9EX1RZUEVfVU5TUEVDSUZJRUQQABIcChhQQVlNRU5UX01FVEhPRF9UWVBFX1NFUEEQChIdChlQQVlNRU5UX01FVEhPRF9UWVBFX1NXSUZUEBQSGwoXUEFZTUVOVF9NRVRIT0RfVFlQRV9BQ0gQMhIlCiFQQVlNRU5UX01FVEhPRF9UWVBFX0RPTUVTVElDX1dJUkUQPBIbChdQQVlNRU5UX01FVEhPRF9UWVBFX0ZQUxBGEiIKGlBBWU1FTlRfTUVUSE9EX1RZUEVfTV9QRVNBEFAaAggBEh4KGlBBWU1FTlRfTUVUSE9EX1RZUEVfR19DQVNIEFoSLAooUEFZTUVOVF9NRVRIT0RfVFlQRV9JTkRJQU5fQkFOS19UUkFOU0ZFUhBkEh8KG1BBWU1FTlRfTUVUSE9EX1RZUEVfUEVTT05FVBBuEiAKHFBBWU1FTlRfTUVUSE9EX1RZUEVfSU5TVEFQQVkQeBIvCipQQVlNRU5UX01FVEhPRF9UWVBFX1BBS0lTVEFOX0JBTktfVFJBTlNGRVIQggESLwoqUEFZTUVOVF9NRVRIT0RfVFlQRV9QQUtJU1RBTl9NT0JJTEVfV0FMTEVUEIwBEhwKF1BBWU1FTlRfTUVUSE9EX1RZUEVfUElYEJYBEi0KKFBBWU1FTlRfTUVUSE9EX1RZUEVfQUZSSUNBTl9NT0JJTEVfTU9ORVkQoAESHgoZUEFZTUVOVF9NRVRIT0RfVFlQRV9DTkFQUxCqARIcChdQQVlNRU5UX01FVEhPRF9UWVBFX05JUBC0ARIcChdQQVlNRU5UX01FVEhPRF9UWVBFX1JUUBC+ARIuCilQQVlNRU5UX01FVEhPRF9UWVBFX0NISUxFQU5fQkFOS19UUkFOU0ZFUhDIARIrCiZQQVlNRU5UX01FVEhPRF9UWVBFX1BFUlVfQkFOS19UUkFOU0ZFUhDSARIyCi1QQVlNRU5UX01FVEhPRF9UWVBFX0FSR0VOVElOSUFOX0JBTktfVFJBTlNGRVIQ3AESLgopUEFZTUVOVF9NRVRIT0RfVFlQRV9NRVhJQ0FOX0JBTktfVFJBTlNGRVIQ5gESJgohUEFZTUVOVF9NRVRIT0RfVFlQRV9DT0xPTUJJQU5fQUNIEPABEicKIlBBWU1FTlRfTUVUSE9EX1RZUEVfQ09MT01CSUFOX0JSRUIQ+gESHAoXUEFZTUVOVF9NRVRIT0RfVFlQRV9HSVAQhAISHwoaUEFZTUVOVF9NRVRIT0RfVFlQRV9VQUVGVFMQjgISHwoaUEFZTUVOVF9NRVRIT0RfVFlQRV9WSUVUUVIQmAISHgoZUEFZTUVOVF9NRVRIT0RfVFlQRV9OQVBBUxCiAhIdChhQQVlNRU5UX01FVEhPRF9UWVBFX0ZBU1QQrAISIgodUEFZTUVOVF9NRVRIT0RfVFlQRV9QUk9NUFRQQVkQtgISKwomUEFZTUVOVF9NRVRIT0RfVFlQRV9USEFJX0JBTktfVFJBTlNGRVIQwAISMQosUEFZTUVOVF9NRVRIT0RfVFlQRV9JTkRPTkVTSUFOX0JBTktfVFJBTlNGRVIQygISLAonUEFZTUVOVF9NRVRIT0RfVFlQRV9JTkRPTkVTSUFOX0VfV0FMTEVUENQCOnUKE3BheW1lbnRfbWV0aG9kX3R5cGUSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY4dQDIAEoDjIiLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50TWV0aG9kVHlwZVIRcGF5bWVudE1ldGhvZFR5cGVC1gEKE2NvbS50emVyby52MS5jb21tb25CElBheW1lbnRNZXRob2RQcm90b1ABWjpnaXRodWIuY29tL3QtMC1uZXR3b3JrL3Byb3ZpZGVyLXNkay9nby9hcGkvdHplcm8vdjEvY29tbW9uogIDVFZDqgIiVDAuUHJvdmlkZXJTZGsuQXBpLlR6ZXJvLlYxLkNvbW1vbsoCD1R6ZXJvXFYxXENvbW1vbuICG1R6ZXJvXFYxXENvbW1vblxHUEJNZXRhZGF0YeoCEVR6ZXJvOjpWMTo6Q29tbW9uYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_descriptor]);
10
+ export const file_tzero_v1_common_payment_method = /*@__PURE__*/ fileDesc("CiR0emVyby92MS9jb21tb24vcGF5bWVudF9tZXRob2QucHJvdG8SD3R6ZXJvLnYxLmNvbW1vbiLbaAoOUGF5bWVudERldGFpbHMSNAoEc2VwYRgKIAEoCzIkLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5TZXBhSAASNgoFc3dpZnQYHiABKAsyJS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuU3dpZnRIABIyCgNhY2gYMiABKAsyIy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQWNoSAASRQoNZG9tZXN0aWNfd2lyZRg8IAEoCzIsLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Eb21lc3RpY1dpcmVIABIyCgNmcHMYRiABKAsyIy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuRnBzSAASOgoFbXBlc2EYUCABKAsyJS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuTVBlc2FCAhgBSAASNgoFZ2Nhc2gYWiABKAsyJS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuR0Nhc2hIABJSChRpbmRpYW5fYmFua190cmFuc2ZlchhkIAEoCzIyLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5JbmRpYW5CYW5rVHJhbnNmZXJIABI6CgdwZXNvbmV0GG4gASgLMicudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBlc29uZXRIABI8CghpbnN0YXBheRh4IAEoCzIoLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5JbnN0YXBheUgAElcKFnBha2lzdGFuX2JhbmtfdHJhbnNmZXIYggEgASgLMjQudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBha2lzdGFuQmFua1RyYW5zZmVySAASVwoWcGFraXN0YW5fbW9iaWxlX3dhbGxldBiMASABKAsyNC50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuUGFraXN0YW5Nb2JpbGVXYWxsZXRIABIzCgNwaXgYlgEgASgLMiMudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBpeEgAElMKFGFmcmljYW5fbW9iaWxlX21vbmV5GKABIAEoCzIyLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5BZnJpY2FuTW9iaWxlTW9uZXlIABI2CgRuYXBzGKoBIAEoCzIlLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5DbmFwc0gAEjMKA25pcBi0ASABKAsyIy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuTmlwSAASMwoDcnRwGL4BIAEoCzIjLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5SdHBIABJVChVjaGlsZWFuX2JhbmtfdHJhbnNmZXIYyAEgASgLMjMudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNoaWxlYW5CYW5rVHJhbnNmZXJIABJPChJwZXJ1X2JhbmtfdHJhbnNmZXIY0gEgASgLMjAudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBlcnVCYW5rVHJhbnNmZXJIABJdChlhcmdlbnRpbmlhbl9iYW5rX3RyYW5zZmVyGNwBIAEoCzI3LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5BcmdlbnRpbmlhbkJhbmtUcmFuc2ZlckgAElUKFW1leGljYW5fYmFua190cmFuc2ZlchjmASABKAsyMy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuTWV4aWNhbkJhbmtUcmFuc2ZlckgAEkYKDWNvbG9tYmlhbl9hY2gY8AEgASgLMiwudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNvbG9tYmlhbkFjaEgAEkgKDmNvbG9tYmlhbl9icmViGPoBIAEoCzItLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Db2xvbWJpYW5CcmViSAASMwoDZ2lwGIQCIAEoCzIjLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5HaXBIABI5CgZ1YWVmdHMYjgIgASgLMiYudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlVhZWZ0c0gAEjkKBnZpZXRxchiYAiABKAsyJi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuVmlldFFySAASNwoFbmFwYXMYogIgASgLMiUudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLk5hcGFzSAASNQoEZmFzdBisAiABKAsyJC50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuRmFzdEgAEj8KCXByb21wdHBheRi2AiABKAsyKS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuUHJvbXB0UGF5SAASTwoSdGhhaV9iYW5rX3RyYW5zZmVyGMACIAEoCzIwLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5UaGFpQmFua1RyYW5zZmVySAASWwoYaW5kb25lc2lhbl9iYW5rX3RyYW5zZmVyGMoCIAEoCzI2LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5JbmRvbmVzaWFuQmFua1RyYW5zZmVySAASUQoTaW5kb25lc2lhbl9lX3dhbGxldBjUAiABKAsyMS50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuSW5kb25lc2lhbkVXYWxsZXRIABJMChBwcm92aWRlcl9kZWZpbmVkGN4CIAEoCzIvLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Qcm92aWRlckRlZmluZWRIABqMAQoEU2VwYRI0CgRpYmFuGBQgASgJQia6SCNyIRAPGCIyG15bQS1aXXsyfVswLTldezJ9W0EtWjAtOV0rJBIjChBiZW5lZmljaWFyeV9uYW1lGB4gASgJQgm6SAZyBBABGEYSIwoRcGF5bWVudF9yZWZlcmVuY2UYKCABKAlCCLpIBXIDGIwBOgSIph0KGsIBCgNGcHMSRQoJc29ydF9jb2RlGAogASgJQjK6SC9yLRAGGAgyJ14oWzAtOV17Mn0tWzAtOV17Mn0tWzAtOV17Mn18WzAtOV17Nn0pJBItCg5hY2NvdW50X251bWJlchgUIAEoCUIVukgSchAQCBgIMgpeWzAtOV17OH0kEiMKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCbpIBnIEEAEYEhIaCglyZWZlcmVuY2UYKCABKAlCB7pIBHICGBI6BIimHUYangEKBU1QZXNhEjQKEWJlbmVmaWNpYXJ5X3Bob25lGAogASgJQhm6SBZyFBAKGA8yDl5bMC05XXsxMCwxNX0kEjQKEWFjY291bnRfcmVmZXJlbmNlGBQgASgJQhm6SBZyFBABGAwyDl5bYS16QS1aMC05XSskEiMKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCbpIBnIEEAEYZDoEiKYdUBrCAwoSQWZyaWNhbk1vYmlsZU1vbmV5ElMKB25ldHdvcmsYBSABKA4yOi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQWZyaWNhbk1vYmlsZU1vbmV5Lk5ldHdvcmtCBrpIA8gBARI0ChFiZW5lZmljaWFyeV9waG9uZRgKIAEoCUIZukgWchQQChgPMg5eWzAtOV17MTAsMTV9JBI0ChFhY2NvdW50X3JlZmVyZW5jZRgUIAEoCUIZukgWchQQARgMMg5eW2EtekEtWjAtOV0rJBIjChBiZW5lZmljaWFyeV9uYW1lGB4gASgJQgm6SAZyBBABGGQivgEKB05ldHdvcmsSFQoRTkVUV09SS19VTkRFRklORUQQABISCg5ORVRXT1JLX01fUEVTQRAKEhIKDk5FVFdPUktfQUlSVEVMEBQSDwoLTkVUV09SS19NVE4QHhITCg9ORVRXT1JLX1ZPREFDT00QKBISCg5ORVRXT1JLX09SQU5HRRAyEhQKEE5FVFdPUktfVk9EQUZPTkUQPBIQCgxORVRXT1JLX0ZSRUUQRhISCg5ORVRXT1JLX1pBTVRFTBBQOgWIph2gARqLAQoFR0Nhc2gSIwoQYmVuZWZpY2lhcnlfbmFtZRgKIAEoCUIJukgGcgQQARhkEjIKEWJlbmVmaWNpYXJ5X3Bob25lGBQgASgJQhe6SBRyEhAKGBQyDF5bK10/WzAtOV0rJBIjChFwYXltZW50X3JlZmVyZW5jZRgeIAEoCUIIukgFcgMYjAE6BIimHVoaygUKEkluZGlhbkJhbmtUcmFuc2ZlchJWCgxhY2NvdW50X2lmc2MYCiABKAsyPi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuSW5kaWFuQmFua1RyYW5zZmVyLkFjY291bnRJRlNDSAASRwoEaW1wcxgUIAEoCzI3LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5JbmRpYW5CYW5rVHJhbnNmZXIuSU1QU0gAEiMKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCbpIBnIEEAEYRhJoChBiZW5lZmljaWFyeV90eXBlGCggASgOMkIudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkluZGlhbkJhbmtUcmFuc2Zlci5CZW5lZmljaWFyeVR5cGVCCrpIB4IBBBABIAASIwoRcGF5bWVudF9yZWZlcmVuY2UYMiABKAlCCLpIBXIDGIwBGnAKC0FjY291bnRJRlNDEjAKDmFjY291bnRfbnVtYmVyGAogASgJQhi6SBVyExAJGBIyDV5bMC05XXs5LDE4fSQSLwoEaWZzYxgUIAEoCUIhukgechwQCxgLMhZeW0EtWl17NH0wW0EtWjAtOV17Nn0kGmIKBElNUFMSNQoRYmVuZWZpY2lhcnlfcGhvbmUYCiABKAlCGrpIF3IVEAoYCjIPXls2LTldWzAtOV17OX0kEiMKBG1taWQYFCABKAlCFbpIEnIQEAcYBzIKXlswLTldezd9JCJyCg9CZW5lZmljaWFyeVR5cGUSIAocQkVORUZJQ0lBUllfVFlQRV9VTlNQRUNJRklFRBAAEh8KG0JFTkVGSUNJQVJZX1RZUEVfSU5ESVZJRFVBTBAKEhwKGEJFTkVGSUNJQVJZX1RZUEVfQ09NUEFOWRAUOgSIph1kQg8KBm1ldGhvZBIFukgCCAEa+QQKBVN3aWZ0EkoKCnN3aWZ0X2NvZGUYCiABKAlCNrpIM3IxEAgYCzIrXltBLVpdezR9W0EtWl17Mn1bQS1aMC05XXsyfShbQS1aMC05XXszfSk/JBIhCg5hY2NvdW50X251bWJlchgUIAEoCUIJukgGcgQQARgiEiQKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCrpIB3IFEAEYjAESJwoTYmVuZWZpY2lhcnlfYWRkcmVzcxgoIAEoCUIKukgHcgUQARj/ARIjChFwYXltZW50X3JlZmVyZW5jZRgyIAEoCUIIukgFcgMYjAESHQoJYmFua19uYW1lGDwgASgJQgq6SAdyBRABGIwBEioKDGJhbmtfY291bnRyeRhGIAEoCUIUukgRcg8yCl5bQS1aXXsyfSSYAQISMwoQYWNjb3VudF9jdXJyZW5jeRhQIAEoCUIUukgRcg8yCl5bQS1aXXszfSSYAQNIAIgBARJRChFpbnRlcm1lZGlhcnlfYmFuaxhaIAEoCzI2LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Td2lmdC5JbnRlcm1lZGlhcnlCYW5rGp4BChBJbnRlcm1lZGlhcnlCYW5rEkoKCnN3aWZ0X2NvZGUYASABKAlCNrpIM3IxEAgYCzIrXltBLVpdezR9W0EtWl17Mn1bQS1aMC05XXsyfShbQS1aMC05XXszfSk/JBIdCgliYW5rX25hbWUYAiABKAlCCrpIB3IFEAEYjAESHwoOYWNjb3VudF9udW1iZXIYAyABKAlCB7pIBHICGCI6BIimHRRCEwoRX2FjY291bnRfY3VycmVuY3ka+QIKA0FjaBItCg5yb3V0aW5nX251bWJlchgKIAEoCUIVukgSchAQCRgJMgpeWzAtOV17OX0kEisKDmFjY291bnRfbnVtYmVyGBQgASgJQhO6SBByDhABGBEyCF5bMC05XSskEiYKE2FjY291bnRfaG9sZGVyX25hbWUYHiABKAlCCbpIBnIEEAEYRhJSCgxhY2NvdW50X3R5cGUYKCABKA4yMi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQWNoLkFjaEFjY291bnRUeXBlQgi6SAWCAQIgABIjChFwYXltZW50X3JlZmVyZW5jZRgyIAEoCUIIukgFcgMYjAEibwoOQWNoQWNjb3VudFR5cGUSIAocQUNIX0FDQ09VTlRfVFlQRV9VTlNQRUNJRklFRBAAEh0KGUFDSF9BQ0NPVU5UX1RZUEVfQ0hFQ0tJTkcQChIcChhBQ0hfQUNDT1VOVF9UWVBFX1NBVklOR1MQFDoEiKYdMhqWAgoMRG9tZXN0aWNXaXJlEhwKCWJhbmtfbmFtZRgKIAEoCUIJukgGcgQQARhGEiAKDGJhbmtfYWRkcmVzcxgUIAEoCUIKukgHcgUQARiMARItCg5yb3V0aW5nX251bWJlchgeIAEoCUIVukgSchAQCRgJMgpeWzAtOV17OX0kEiEKDmFjY291bnRfbnVtYmVyGCggASgJQgm6SAZyBBABGCISIwoQYmVuZWZpY2lhcnlfbmFtZRgyIAEoCUIJukgGcgQQARhGEicKE2JlbmVmaWNpYXJ5X2FkZHJlc3MYPCABKAlCCrpIB3IFEAEYjAESIAoOd2lyZV9yZWZlcmVuY2UYRiABKAlCCLpIBXIDGIwBOgSIph08GqcCCgdQZXNvbmV0EjIKH3JlY2lwaWVudF9maW5hbmNpYWxfaW5zdGl0dXRpb24YCiABKAlCCbpIBnIEEAEYRhInChRyZWNpcGllbnRfaWRlbnRpZmllchgUIAEoCUIJukgGcgQQARhGEicKFnJlY2lwaWVudF9hY2NvdW50X25hbWUYHiABKAlCB7pIBHICGBISKgoTcHVycG9zZV9vZl90cmFuc2ZlchgoIAEoCUIIukgFcgMYjAFIAIgBARIwChdyZWNpcGllbnRfYWRkcmVzc19lbWFpbBgyIAEoCUIKukgHcgUQARiABEgBiAEBOgSIph1uQhYKFF9wdXJwb3NlX29mX3RyYW5zZmVyQhoKGF9yZWNpcGllbnRfYWRkcmVzc19lbWFpbBrQAQoISW5zdGFwYXkSKAoVcmVjaXBpZW50X2luc3RpdHV0aW9uGAogASgJQgm6SAZyBBABGEYSJwoUcmVjaXBpZW50X2lkZW50aWZpZXIYFCABKAlCCbpIBnIEEAEYRhInChZyZWNpcGllbnRfYWNjb3VudF9uYW1lGB4gASgJQge6SARyAhgyEioKE3B1cnBvc2Vfb2ZfdHJhbnNmZXIYKCABKAlCCLpIBXIDGIwBSACIAQE6BIimHXhCFgoUX3B1cnBvc2Vfb2ZfdHJhbnNmZXIa7AEKFFBha2lzdGFuQmFua1RyYW5zZmVyEjYKBGliYW4YCiABKAlCKLpIJXIjEBgYGDIdXlBLWzAtOV17Mn1bQS1aXXs0fVswLTldezE2fSQSJAoQYmVuZWZpY2lhcnlfbmFtZRgUIAEoCUIKukgHcgUQARiMARI1ChBiZW5lZmljaWFyeV9jbmljGBkgASgJQha6SBNyERANGA0yC15bMC05XXsxM30kSACIAQESIwoRcGF5bWVudF9yZWZlcmVuY2UYHiABKAlCCLpIBXIDGIwBOgWIph2CAUITChFfYmVuZWZpY2lhcnlfY25pYxrbBAoUUGFraXN0YW5Nb2JpbGVXYWxsZXQSbgoPd2FsbGV0X3Byb3ZpZGVyGAogASgOMksudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBha2lzdGFuTW9iaWxlV2FsbGV0LlBha2lzdGFuV2FsbGV0UHJvdmlkZXJCCLpIBYIBAiAAEjwKDW1vYmlsZV9udW1iZXIYFCABKAlCJbpIInIgEAsYDDIaXigwM1swLTldezl9fDkyM1swLTldezl9KSQSJAoEY25pYxgeIAEoCUIWukgTchEQDRgNMgteWzAtOV17MTN9JBIkChBiZW5lZmljaWFyeV9uYW1lGCggASgJQgq6SAdyBRABGIwBEigKEXBheW1lbnRfcmVmZXJlbmNlGDIgASgJQgi6SAVyAxiMAUgAiAEBIoECChZQYWtpc3RhbldhbGxldFByb3ZpZGVyEigKJFBBS0lTVEFOX1dBTExFVF9QUk9WSURFUl9VTlNQRUNJRklFRBAAEiUKIVBBS0lTVEFOX1dBTExFVF9QUk9WSURFUl9KQVpaQ0FTSBAKEiYKIlBBS0lTVEFOX1dBTExFVF9QUk9WSURFUl9FQVNZUEFJU0EQFBIkCiBQQUtJU1RBTl9XQUxMRVRfUFJPVklERVJfU0FEQVBBWRAeEiQKIFBBS0lTVEFOX1dBTExFVF9QUk9WSURFUl9OQVlBUEFZECgSIgoeUEFLSVNUQU5fV0FMTEVUX1BST1ZJREVSX09USEVSEGQ6BYimHYwBQhQKEl9wYXltZW50X3JlZmVyZW5jZRqxAwoDUGl4EkcKCGtleV90eXBlGAogASgOMisudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBpeC5LZXlUeXBlQgi6SAWCAQIgABIcCglrZXlfdmFsdWUYFCABKAlCCbpIBnIEEAEYTRIkChBiZW5lZmljaWFyeV9uYW1lGB4gASgJQgq6SAdyBRABGIwBEjoKEmJlbmVmaWNpYXJ5X3RheF9pZBgoIAEoCUIZukgWchQQCxgOMg5eWzAtOV17MTEsMTR9JEgAiAEBEigKEXBheW1lbnRfcmVmZXJlbmNlGDIgASgJQgi6SAVyAxiMAUgBiAEBIoIBCgdLZXlUeXBlEhgKFEtFWV9UWVBFX1VOU1BFQ0lGSUVEEAASEAoMS0VZX1RZUEVfQ1BGEAoSEQoNS0VZX1RZUEVfQ05QShAUEhIKDktFWV9UWVBFX0VNQUlMEB4SEgoOS0VZX1RZUEVfUEhPTkUQKBIQCgxLRVlfVFlQRV9FVlAQMjoFiKYdlgFCFQoTX2JlbmVmaWNpYXJ5X3RheF9pZEIUChJfcGF5bWVudF9yZWZlcmVuY2Ua7gMKBUNuYXBzEjAKDmFjY291bnRfbnVtYmVyGAogASgJQhi6SBVyExAGGBkyDV5bMC05XXs2LDI1fSQSKgoKY25hcHNfY29kZRgUIAEoCUIWukgTchEQDBgMMgteWzAtOV17MTJ9JBIqChZiZW5lZmljaWFyeV9uYW1lX2xvY2FsGB4gASgJQgq6SAdyBRABGIwBEiQKEGJlbmVmaWNpYXJ5X25hbWUYKCABKAlCCrpIB3IFEAEYjAESQgoIYnVzaW5lc3MYMiABKAsyLi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQ25hcHMuQnVzaW5lc3NIABI+CgZwZXJzb24YPCABKAsyLC50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQ25hcHMuUGVyc29uSAASIwoRcGF5bWVudF9yZWZlcmVuY2UYRiABKAlCCLpIBXIDGIwBGjoKCEJ1c2luZXNzEi4KDmxpY2Vuc2VfbnVtYmVyGAogASgJQha6SBNyERASGBIyC15bMC05XXsxOH0kGjMKBlBlcnNvbhIpCglpZF9udW1iZXIYCiABKAlCFrpIE3IREBIYEjILXlswLTldezE4fSQ6BYimHaoBQhQKC2JlbmVmaWNpYXJ5EgW6SAIIARq8AQoDTmlwEjEKCWJhbmtfY29kZRgKIAEoCUIeukgbchkQARgKMhNeW2EtekEtWjAtOV17MSwxMH0kEjAKDmFjY291bnRfbnVtYmVyGBQgASgJQhi6SBVyExABGBQyDV5bMC05XXsxLDIwfSQSJAoQYmVuZWZpY2lhcnlfbmFtZRgeIAEoCUIKukgHcgUQARiMARIjChFwYXltZW50X3JlZmVyZW5jZRgoIAEoCUIIukgFcgMYjAE6BYimHbQBGvECCgNSdHASLQoOcm91dGluZ19udW1iZXIYCiABKAlCFbpIEnIQEAkYCTIKXlswLTldezl9JBIrCg5hY2NvdW50X251bWJlchgUIAEoCUITukgQcg4QARgRMgheWzAtOV0rJBJSCgxhY2NvdW50X3R5cGUYHiABKA4yMi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuUnRwLlJ0cEFjY291bnRUeXBlQgi6SAWCAQIgABIdCgliYW5rX25hbWUYKCABKAlCCrpIB3IFEAEYjAESIwoRcGF5bWVudF9yZWZlcmVuY2UYMiABKAlCCLpIBXIDGIwBIm8KDlJ0cEFjY291bnRUeXBlEiAKHFJUUF9BQ0NPVU5UX1RZUEVfVU5TUEVDSUZJRUQQABIdChlSVFBfQUNDT1VOVF9UWVBFX0NIRUNLSU5HEAoSHAoYUlRQX0FDQ09VTlRfVFlQRV9TQVZJTkdTEBQ6BYimHb4BGsgDChNDaGlsZWFuQmFua1RyYW5zZmVyEjgKD2RvY3VtZW50X251bWJlchgKIAEoCUIfukgcchoQCRgLMhReWzAtOV17Nyw5fS1bMC05S2tdJBIjChBiZW5lZmljaWFyeV9uYW1lGBQgASgJQgm6SAZyBBABGC0SKAoJYmFua19jb2RlGB4gASgJQhW6SBJyEBADGAMyCl5bMC05XXszfSQSMAoOYWNjb3VudF9udW1iZXIYKCABKAlCGLpIFXITEAEYEjINXlswLTldezEsMTh9JBJkCgxhY2NvdW50X3R5cGUYMiABKA4yPy50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQ2hpbGVhbkJhbmtUcmFuc2Zlci5BY2NvdW50VHlwZUIIukgFggECIABIAIgBASJ4CgtBY2NvdW50VHlwZRIcChhBQ0NPVU5UX1RZUEVfVU5TUEVDSUZJRUQQABIZChVBQ0NPVU5UX1RZUEVfQ0hFQ0tJTkcQChIWChJBQ0NPVU5UX1RZUEVfVklTVEEQFBIYChRBQ0NPVU5UX1RZUEVfU0FWSU5HUxAoOgWIph3IAUIPCg1fYWNjb3VudF90eXBlGrIEChBQZXJ1QmFua1RyYW5zZmVyEiwKD2RvY3VtZW50X251bWJlchgKIAEoCUITukgQcg4QARgUMgheWzAtOV0rJBJjCg1kb2N1bWVudF90eXBlGBQgASgOMj0udHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBlcnVCYW5rVHJhbnNmZXIuRG9jdW1lbnRUeXBlQgi6SAWCAQIgAEgAiAEBEhwKCWJhbmtfY29kZRgeIAEoCUIJukgGcgQQARgKEiEKDmFjY291bnRfbnVtYmVyGCggASgJQgm6SAZyBBABGB4SXAoMYWNjb3VudF90eXBlGDIgASgOMjwudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLlBlcnVCYW5rVHJhbnNmZXIuQWNjb3VudFR5cGVCCLpIBYIBAiAAInEKDERvY3VtZW50VHlwZRIdChlET0NVTUVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRRE9DVU1FTlRfVFlQRV9ETkkQChIUChBET0NVTUVOVF9UWVBFX0NFEBQSFQoRRE9DVU1FTlRfVFlQRV9SVUMQHiJgCgtBY2NvdW50VHlwZRIcChhBQ0NPVU5UX1RZUEVfVU5TUEVDSUZJRUQQABIZChVBQ0NPVU5UX1RZUEVfQ0hFQ0tJTkcQChIYChRBQ0NPVU5UX1RZUEVfU0FWSU5HUxAUOgWIph3SAUIQCg5fZG9jdW1lbnRfdHlwZRpQChdBcmdlbnRpbmlhbkJhbmtUcmFuc2ZlchIuCg5hY2NvdW50X251bWJlchgKIAEoCUIWukgTchEQFhgWMgteWzAtOV17MjJ9JDoFiKYd3AEakAEKE01leGljYW5CYW5rVHJhbnNmZXISJAoQYmVuZWZpY2lhcnlfbmFtZRgKIAEoCUIKukgHcgUQARiMARIcCgliYW5rX2NvZGUYFCABKAlCCbpIBnIEEAEYChIuCg5hY2NvdW50X251bWJlchgeIAEoCUIWukgTchEQEhgSMgteWzAtOV17MTh9JDoFiKYd5gEamAUKDENvbG9tYmlhbkFjaBIiCg9kb2N1bWVudF9udW1iZXIYCiABKAlCCbpIBnIEEAUYDxJaCg1kb2N1bWVudF90eXBlGBQgASgOMjkudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNvbG9tYmlhbkFjaC5Eb2N1bWVudFR5cGVCCLpIBYIBAiAAEhwKCWJhbmtfY29kZRgeIAEoCUIJukgGcgQQARgKEiEKDmFjY291bnRfbnVtYmVyGCggASgJQgm6SAZyBBABGB4SWAoMYWNjb3VudF90eXBlGDIgASgOMjgudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNvbG9tYmlhbkFjaC5BY2NvdW50VHlwZUIIukgFggECIAASJAoQYmVuZWZpY2lhcnlfbmFtZRg8IAEoCUIKukgHcgUQARiMARIuCgxwaG9uZV9udW1iZXIYRiABKAlCE7pIEHIOEAcYFDIIXlswLTldKyRIAIgBASKcAQoMRG9jdW1lbnRUeXBlEh0KGURPQ1VNRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIUChBET0NVTUVOVF9UWVBFX0NDEAoSFAoQRE9DVU1FTlRfVFlQRV9DRRAUEhUKEURPQ1VNRU5UX1RZUEVfTklUEB4SFAoQRE9DVU1FTlRfVFlQRV9USRAoEhQKEERPQ1VNRU5UX1RZUEVfUFAQMiJgCgtBY2NvdW50VHlwZRIcChhBQ0NPVU5UX1RZUEVfVU5TUEVDSUZJRUQQABIYChRBQ0NPVU5UX1RZUEVfU0FWSU5HUxAKEhkKFUFDQ09VTlRfVFlQRV9DSEVDS0lORxAUOgWIph3wAUIPCg1fcGhvbmVfbnVtYmVyGtoECg1Db2xvbWJpYW5CcmViEiIKD2RvY3VtZW50X251bWJlchgKIAEoCUIJukgGcgQQBRgPElsKDWRvY3VtZW50X3R5cGUYFCABKA4yOi50emVyby52MS5jb21tb24uUGF5bWVudERldGFpbHMuQ29sb21iaWFuQnJlYi5Eb2N1bWVudFR5cGVCCLpIBYIBAiAAEhwKCWJhbmtfY29kZRgeIAEoCUIJukgGcgQQARgKEiEKDmFjY291bnRfbnVtYmVyGCggASgJQgm6SAZyBBABGB4SWQoMYWNjb3VudF90eXBlGDIgASgOMjkudHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkNvbG9tYmlhbkJyZWIuQWNjb3VudFR5cGVCCLpIBYIBAiAAEiQKEGJlbmVmaWNpYXJ5X25hbWUYPCABKAlCCrpIB3IFEAEYjAEinAEKDERvY3VtZW50VHlwZRIdChlET0NVTUVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFAoQRE9DVU1FTlRfVFlQRV9DQxAKEhQKEERPQ1VNRU5UX1RZUEVfQ0UQFBIVChFET0NVTUVOVF9UWVBFX05JVBAeEhQKEERPQ1VNRU5UX1RZUEVfVEkQKBIUChBET0NVTUVOVF9UWVBFX1BQEDIiYAoLQWNjb3VudFR5cGUSHAoYQUNDT1VOVF9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUQUNDT1VOVF9UWVBFX1NBVklOR1MQChIZChVBQ0NPVU5UX1RZUEVfQ0hFQ0tJTkcQFDoFiKYd+gEaogEKA0dpcBIoCglzb3J0X2NvZGUYCiABKAlCFbpIEnIQEAYYBjIKXlswLTldezZ9JBIrCg5hY2NvdW50X251bWJlchgUIAEoCUITukgQcg4QARgUMgheWzAtOV0rJBIgCgxhY2NvdW50X25hbWUYHiABKAlCCrpIB3IFEAEYjAESGwoJcmVmZXJlbmNlGCggASgJQgi6SAVyAxiMAToFiKYdhAIayAEKBlVhZWZ0cxIlCgRpYmFuGAogASgJQhe6SBRyEjINXkFFWzAtOV17MjF9JJgBFxIkChBiZW5lZmljaWFyeV9uYW1lGBQgASgJQgq6SAdyBRABGIwBEioKDHB1cnBvc2VfY29kZRgeIAEoCUIUukgRcg8yCl5bQS1aXXszfSSYAQMSKAoRcGF5bWVudF9yZWZlcmVuY2UYKCABKAlCCLpIBXIDGIwBSACIAQE6BYimHY4CQhQKEl9wYXltZW50X3JlZmVyZW5jZRrPAQoGVmlldFFyEiYKCGJhbmtfYmluGAogASgJQhS6SBFyDzIKXlswLTldezZ9JJgBBhIwCg5hY2NvdW50X251bWJlchgUIAEoCUIYukgVchMQARgTMg1eWzAtOV17MSwxOX0kEiQKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCrpIB3IFEAEYjAESKAoRcGF5bWVudF9yZWZlcmVuY2UYKCABKAlCCLpIBXIDGIwBSACIAQE6BYimHZgCQhQKEl9wYXltZW50X3JlZmVyZW5jZRqYAgoFTmFwYXMSJgoIYmFua19iaW4YCiABKAlCFLpIEXIPMgpeWzAtOV17Nn0kmAEGEjIKDmFjY291bnRfbnVtYmVyGBQgASgJQhi6SBVyExABGBMyDV5bMC05XXsxLDE5fSRIABIwCgtjYXJkX251bWJlchgeIAEoCUIZukgWchQQEBgTMg5eWzAtOV17MTYsMTl9JEgAEiQKEGJlbmVmaWNpYXJ5X25hbWUYKCABKAlCCrpIB3IFEAEYjAESKAoRcGF5bWVudF9yZWZlcmVuY2UYMiABKAlCCLpIBXIDGIwBSAGIAQE6BYimHaICQhQKC2Rlc3RpbmF0aW9uEgW6SAIIAUIUChJfcGF5bWVudF9yZWZlcmVuY2Ua9gMKBEZhc3QSJwoEaWJhbhgKIAEoCUIXukgUchIyDV5UUlswLTldezI0fSSYARpIABI7CgVwcm94eRgUIAEoCzIqLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5GYXN0LlByb3h5SAASJAoQYmVuZWZpY2lhcnlfbmFtZRgeIAEoCUIKukgHcgUQARiMARIoChFwYXltZW50X3JlZmVyZW5jZRgoIAEoCUIIukgFcgMYjAFIAYgBARqEAgoFUHJveHkSVAoKcHJveHlfdHlwZRgKIAEoDjI0LnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5GYXN0LlByb3h5LlByb3h5VHlwZUIKukgHggEEEAEgABIZCgV2YWx1ZRgUIAEoCUIKukgHcgUQARiMASKJAQoJUHJveHlUeXBlEhoKFlBST1hZX1RZUEVfVU5TUEVDSUZJRUQQABIVChFQUk9YWV9UWVBFX01PQklMRRAKEhQKEFBST1hZX1RZUEVfRU1BSUwQFBIaChZQUk9YWV9UWVBFX05BVElPTkFMX0lEEB4SFwoTUFJPWFlfVFlQRV9QQVNTUE9SVBAoOgWIph2sAkIUCgtkZXN0aW5hdGlvbhIFukgCCAFCFAoSX3BheW1lbnRfcmVmZXJlbmNlGuACCglQcm9tcHRQYXkSUwoKcHJveHlfdHlwZRgKIAEoDjIzLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlscy5Qcm9tcHRQYXkuUHJveHlUeXBlQgq6SAeCAQQQASAAEh4KCmlkZW50aWZpZXIYFCABKAlCCrpIB3IFEAEYjAESJAoQYmVuZWZpY2lhcnlfbmFtZRgeIAEoCUIKukgHcgUQARiMARIoChFwYXltZW50X3JlZmVyZW5jZRgoIAEoCUIIukgFcgMYjAFIAIgBASJxCglQcm94eVR5cGUSGgoWUFJPWFlfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVBST1hZX1RZUEVfTU9CSUxFEAoSGgoWUFJPWFlfVFlQRV9OQVRJT05BTF9JRBAUEhUKEVBST1hZX1RZUEVfVEFYX0lEEB46BYimHbYCQhQKEl9wYXltZW50X3JlZmVyZW5jZRrPAQoQVGhhaUJhbmtUcmFuc2ZlchIcCgliYW5rX2NvZGUYCiABKAlCCbpIBnIEEAEYChIwCg5hY2NvdW50X251bWJlchgUIAEoCUIYukgVchMQARgPMg1eWzAtOV17MSwxNX0kEiQKEGJlbmVmaWNpYXJ5X25hbWUYHiABKAlCCrpIB3IFEAEYjAESKAoRcGF5bWVudF9yZWZlcmVuY2UYKCABKAlCCLpIBXIDGIwBSACIAQE6BYimHcACQhQKEl9wYXltZW50X3JlZmVyZW5jZRqRAwoWSW5kb25lc2lhbkJhbmtUcmFuc2ZlchJRCgdhY2NvdW50GAogASgLMj4udHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzLkluZG9uZXNpYW5CYW5rVHJhbnNmZXIuQWNjb3VudEgAEi4KBm1vYmlsZRgUIAEoCUIcukgZchcQCBgQMhFeWytdP1swLTldezgsMTV9JEgAEhsKBWVtYWlsGB4gASgJQgq6SAdyBRj+AWABSAASJAoQYmVuZWZpY2lhcnlfbmFtZRgoIAEoCUIKukgHcgUQARiMARIoChFwYXltZW50X3JlZmVyZW5jZRgyIAEoCUIIukgFcgMYjAFIAYgBARpUCgdBY2NvdW50EhwKCWJhbmtfY29kZRgKIAEoCUIJukgGcgQQARgKEisKDmFjY291bnRfbnVtYmVyGBQgASgJQhO6SBByDhABGBQyCF5bMC05XSskOgWIph3KAkIUCgtkZXN0aW5hdGlvbhIFukgCCAFCFAoSX3BheW1lbnRfcmVmZXJlbmNlGuMBChFJbmRvbmVzaWFuRVdhbGxldBIsCghwcm92aWRlchgKIAEoCUIaukgXchUQARgeMg9eW0EtWmEtejAtOSBdKyQSMwoNbW9iaWxlX251bWJlchgUIAEoCUIcukgZchcQCBgQMhFeWytdP1swLTldezgsMTV9JBIkChBiZW5lZmljaWFyeV9uYW1lGB4gASgJQgq6SAdyBRABGIwBEigKEXBheW1lbnRfcmVmZXJlbmNlGCggASgJQgi6SAVyAxiMAUgAiAEBOgWIph3UAkIUChJfcGF5bWVudF9yZWZlcmVuY2UaNQoPUHJvdmlkZXJEZWZpbmVkEhsKB3BheWxvYWQYCiABKAxCCrpIB3oFEAEYgFA6BYimHd4CQhAKB2RldGFpbHMSBbpIAggBKqQKChFQYXltZW50TWV0aG9kVHlwZRIjCh9QQVlNRU5UX01FVEhPRF9UWVBFX1VOU1BFQ0lGSUVEEAASHAoYUEFZTUVOVF9NRVRIT0RfVFlQRV9TRVBBEAoSHQoZUEFZTUVOVF9NRVRIT0RfVFlQRV9TV0lGVBAUEhsKF1BBWU1FTlRfTUVUSE9EX1RZUEVfQUNIEDISJQohUEFZTUVOVF9NRVRIT0RfVFlQRV9ET01FU1RJQ19XSVJFEDwSGwoXUEFZTUVOVF9NRVRIT0RfVFlQRV9GUFMQRhIiChpQQVlNRU5UX01FVEhPRF9UWVBFX01fUEVTQRBQGgIIARIeChpQQVlNRU5UX01FVEhPRF9UWVBFX0dfQ0FTSBBaEiwKKFBBWU1FTlRfTUVUSE9EX1RZUEVfSU5ESUFOX0JBTktfVFJBTlNGRVIQZBIfChtQQVlNRU5UX01FVEhPRF9UWVBFX1BFU09ORVQQbhIgChxQQVlNRU5UX01FVEhPRF9UWVBFX0lOU1RBUEFZEHgSLwoqUEFZTUVOVF9NRVRIT0RfVFlQRV9QQUtJU1RBTl9CQU5LX1RSQU5TRkVSEIIBEi8KKlBBWU1FTlRfTUVUSE9EX1RZUEVfUEFLSVNUQU5fTU9CSUxFX1dBTExFVBCMARIcChdQQVlNRU5UX01FVEhPRF9UWVBFX1BJWBCWARItCihQQVlNRU5UX01FVEhPRF9UWVBFX0FGUklDQU5fTU9CSUxFX01PTkVZEKABEh4KGVBBWU1FTlRfTUVUSE9EX1RZUEVfQ05BUFMQqgESHAoXUEFZTUVOVF9NRVRIT0RfVFlQRV9OSVAQtAESHAoXUEFZTUVOVF9NRVRIT0RfVFlQRV9SVFAQvgESLgopUEFZTUVOVF9NRVRIT0RfVFlQRV9DSElMRUFOX0JBTktfVFJBTlNGRVIQyAESKwomUEFZTUVOVF9NRVRIT0RfVFlQRV9QRVJVX0JBTktfVFJBTlNGRVIQ0gESMgotUEFZTUVOVF9NRVRIT0RfVFlQRV9BUkdFTlRJTklBTl9CQU5LX1RSQU5TRkVSENwBEi4KKVBBWU1FTlRfTUVUSE9EX1RZUEVfTUVYSUNBTl9CQU5LX1RSQU5TRkVSEOYBEiYKIVBBWU1FTlRfTUVUSE9EX1RZUEVfQ09MT01CSUFOX0FDSBDwARInCiJQQVlNRU5UX01FVEhPRF9UWVBFX0NPTE9NQklBTl9CUkVCEPoBEhwKF1BBWU1FTlRfTUVUSE9EX1RZUEVfR0lQEIQCEh8KGlBBWU1FTlRfTUVUSE9EX1RZUEVfVUFFRlRTEI4CEh8KGlBBWU1FTlRfTUVUSE9EX1RZUEVfVklFVFFSEJgCEh4KGVBBWU1FTlRfTUVUSE9EX1RZUEVfTkFQQVMQogISHQoYUEFZTUVOVF9NRVRIT0RfVFlQRV9GQVNUEKwCEiIKHVBBWU1FTlRfTUVUSE9EX1RZUEVfUFJPTVBUUEFZELYCEisKJlBBWU1FTlRfTUVUSE9EX1RZUEVfVEhBSV9CQU5LX1RSQU5TRkVSEMACEjEKLFBBWU1FTlRfTUVUSE9EX1RZUEVfSU5ET05FU0lBTl9CQU5LX1RSQU5TRkVSEMoCEiwKJ1BBWU1FTlRfTUVUSE9EX1RZUEVfSU5ET05FU0lBTl9FX1dBTExFVBDUAhIpCiRQQVlNRU5UX01FVEhPRF9UWVBFX1BST1ZJREVSX0RFRklORUQQ3gI6dQoTcGF5bWVudF9tZXRob2RfdHlwZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjh1AMgASgOMiIudHplcm8udjEuY29tbW9uLlBheW1lbnRNZXRob2RUeXBlUhFwYXltZW50TWV0aG9kVHlwZULWAQoTY29tLnR6ZXJvLnYxLmNvbW1vbkISUGF5bWVudE1ldGhvZFByb3RvUAFaOmdpdGh1Yi5jb20vdC0wLW5ldHdvcmsvcHJvdmlkZXItc2RrL2dvL2FwaS90emVyby92MS9jb21tb26iAgNUVkOqAiJUMC5Qcm92aWRlclNkay5BcGkuVHplcm8uVjEuQ29tbW9uygIPVHplcm9cVjFcQ29tbW9u4gIbVHplcm9cVjFcQ29tbW9uXEdQQk1ldGFkYXRh6gIRVHplcm86OlYxOjpDb21tb25iBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_descriptor]);
11
11
  /**
12
12
  * Describes the message tzero.v1.common.PaymentDetails.
13
13
  * Use `create(PaymentDetailsSchema)` to create a new message.
@@ -698,6 +698,11 @@ export const PaymentDetails_IndonesianBankTransfer_AccountSchema = /*@__PURE__*/
698
698
  * Use `create(PaymentDetails_IndonesianEWalletSchema)` to create a new message.
699
699
  */
700
700
  export const PaymentDetails_IndonesianEWalletSchema = /*@__PURE__*/ messageDesc(file_tzero_v1_common_payment_method, 0, 31);
701
+ /**
702
+ * Describes the message tzero.v1.common.PaymentDetails.ProviderDefined.
703
+ * Use `create(PaymentDetails_ProviderDefinedSchema)` to create a new message.
704
+ */
705
+ export const PaymentDetails_ProviderDefinedSchema = /*@__PURE__*/ messageDesc(file_tzero_v1_common_payment_method, 0, 32);
701
706
  /**
702
707
  * @generated from enum tzero.v1.common.PaymentMethodType
703
708
  */
@@ -882,6 +887,14 @@ export var PaymentMethodType;
882
887
  * @generated from enum value: PAYMENT_METHOD_TYPE_INDONESIAN_E_WALLET = 340;
883
888
  */
884
889
  PaymentMethodType[PaymentMethodType["INDONESIAN_E_WALLET"] = 340] = "INDONESIAN_E_WALLET";
890
+ /**
891
+ * Provider-defined envelope: payment details whose structure is defined by the
892
+ * provider and agreed with the requester off-network. The payload is opaque and
893
+ * forwarded to the provider without interpretation.
894
+ *
895
+ * @generated from enum value: PAYMENT_METHOD_TYPE_PROVIDER_DEFINED = 350;
896
+ */
897
+ PaymentMethodType[PaymentMethodType["PROVIDER_DEFINED"] = 350] = "PROVIDER_DEFINED";
885
898
  })(PaymentMethodType || (PaymentMethodType = {}));
886
899
  /**
887
900
  * Describes the enum tzero.v1.common.PaymentMethodType.
@@ -88,7 +88,7 @@ export type UpdateQuoteRequest_Quote_Band = Message<"tzero.v1.payment.UpdateQuot
88
88
  */
89
89
  clientQuoteId: string;
90
90
  /**
91
- * max amount of USD this quote is applicable for. Please look into documentation for valid amounts.
91
+ * Maximum amount of USD this band applies to.
92
92
  *
93
93
  * @generated from field: tzero.v1.common.Decimal max_amount = 40;
94
94
  */
@@ -168,8 +168,8 @@ export type GetQuoteResponse = Message<"tzero.v1.payment.GetQuoteResponse"> & {
168
168
  result: {
169
169
  /**
170
170
  * *
171
- * Success response - the network found a suitable quote for the provided parameters and with available credit or pre-settlement option.
172
- * The returned quoteId can be used later to call the create payment endpoint.
171
+ * A suitable quote was found for the provided parameters, with available credit or pre-settlement option.
172
+ * Use the returned quoteId to call CreatePayment.
173
173
  *
174
174
  * @generated from field: tzero.v1.payment.GetQuoteResponse.Success success = 20;
175
175
  */
@@ -193,7 +193,7 @@ export type GetQuoteResponse = Message<"tzero.v1.payment.GetQuoteResponse"> & {
193
193
  * *
194
194
  * All best quotes from providers with credit lines.
195
195
  * Each quote is the best rate for that provider for the requested amount.
196
- * Includes has_sufficient_credit flag to indicate if quote can be executed immediately.
196
+ * Each quote indicates whether it can be executed immediately.
197
197
  * Always returned alongside success/failure - providers can compare alternatives or see options when no executable quote exists.
198
198
  *
199
199
  * @generated from field: repeated tzero.v1.payment.GetQuoteResponse.ProviderQuote all_quotes = 40;
@@ -379,7 +379,7 @@ export type GetQuoteResponse_ProviderQuote_Settlement = Message<"tzero.v1.paymen
379
379
  */
380
380
  totalUsed?: Decimal | undefined;
381
381
  /**
382
- * Additional funding needed before payment can proceed (amount - max_executable)
382
+ * Additional funding needed before this quote can be executed
383
383
  *
384
384
  * @generated from field: tzero.v1.common.Decimal prefunding_amount = 50;
385
385
  */
@@ -419,7 +419,7 @@ export type CreatePaymentRequest = Message<"tzero.v1.payment.CreatePaymentReques
419
419
  */
420
420
  paymentDetails?: PaymentDetails | undefined;
421
421
  /**
422
- * if specified, must be a valid quoteId that was previously returned by the GetPayoutQuote method otherwise last available quote will be used
422
+ * if specified, must be a valid quoteId that was previously returned by GetQuote otherwise last available quote will be used
423
423
  *
424
424
  * @generated from field: optional tzero.v1.payment.QuoteId quote_id = 60;
425
425
  */
@@ -508,8 +508,8 @@ export type CreatePaymentResponse = Message<"tzero.v1.payment.CreatePaymentRespo
508
508
  result: {
509
509
  /**
510
510
  * *
511
- * Accepted response - the payment was accepted by the network and it's going to be passed to payout provider.
512
- * Means the network found a suitable quote for the payout currency and amount.
511
+ * The payment was accepted and will be passed to the payout provider.
512
+ * A suitable quote was found for the pay-out currency and amount.
513
513
  *
514
514
  * @generated from field: tzero.v1.payment.CreatePaymentResponse.Accepted accepted = 20;
515
515
  */
@@ -529,8 +529,8 @@ export type CreatePaymentResponse = Message<"tzero.v1.payment.CreatePaymentRespo
529
529
  } | {
530
530
  /**
531
531
  * *
532
- * Failure response - means the payment was not accepted, e.g. the network could not find a suitable quote for the
533
- * payout currency and amount, or the credit limit is exceeded for the available quotes.
532
+ * The payment was not accepted e.g. no suitable quote exists for the pay-out
533
+ * currency and amount, or the credit limit is exceeded for the available quotes.
534
534
  *
535
535
  * @generated from field: tzero.v1.payment.CreatePaymentResponse.Failure failure = 30;
536
536
  */
@@ -979,7 +979,7 @@ export declare enum QuoteType {
979
979
  export declare const QuoteTypeSchema: GenEnum<QuoteType>;
980
980
  /**
981
981
  * *
982
- * This service is used by provider to interact with the Network, e.g. push quotes and initiate payments.
982
+ * Network surface for publishing quotes and initiating pay-out payments.
983
983
  *
984
984
  * All methods of this service are idempotent, meaning they are safe to retry and multiple calls with the same parameters will have no additional effect.
985
985
  *
@@ -988,8 +988,8 @@ export declare const QuoteTypeSchema: GenEnum<QuoteType>;
988
988
  export declare const NetworkService: GenService<{
989
989
  /**
990
990
  * *
991
- * Used by the provider to publish pay-in and pay-out quotes (FX rates) into the network.
992
- * These quotes include tiered pricing bands and an expiration timestamp.
991
+ * Publishes pay-in and pay-out quotes (FX rates) into the network.
992
+ * Quotes carry tiered pricing bands and an expiration timestamp.
993
993
  *
994
994
  * @generated from rpc tzero.v1.payment.NetworkService.UpdateQuote
995
995
  */
@@ -1014,9 +1014,8 @@ export declare const NetworkService: GenService<{
1014
1014
  * *
1015
1015
  * Submit a request to create a new payment for the specified pay-out currency.
1016
1016
  * QuoteId is the optional parameter.
1017
- * If the quoteID is specified, it must be a valid quoteId that was previously returned by the GetPayoutQuote method.
1018
- * If the quoteId is not specified, the network will try to find a suitable quote for the payout currency and amount,
1019
- * same way as GetPayoutQuote rpc.
1017
+ * If the quoteId is specified, it must be a valid quoteId previously returned by GetQuote.
1018
+ * If the quoteId is not specified, a suitable quote is selected for the pay-out currency and amount, as GetQuote does.
1020
1019
  *
1021
1020
  * @generated from rpc tzero.v1.payment.NetworkService.CreatePayment
1022
1021
  */
@@ -1027,8 +1026,8 @@ export declare const NetworkService: GenService<{
1027
1026
  };
1028
1027
  /**
1029
1028
  * *
1030
- * Inform the network that a payout has been completed. This endpoint is called by the payout
1031
- * provider, specifying the payment ID and payout ID, which was provided when the payout request was made to this provider.
1029
+ * Informs the network that a payout has been completed, specifying the payment ID and payout ID
1030
+ * from the original payout request.
1032
1031
  * deprecated, use the FinalizePayout rpc instead.
1033
1032
  *
1034
1033
  * @generated from rpc tzero.v1.payment.NetworkService.ConfirmPayout
@@ -1040,6 +1039,11 @@ export declare const NetworkService: GenService<{
1040
1039
  output: typeof ConfirmPayoutResponseSchema;
1041
1040
  };
1042
1041
  /**
1042
+ * *
1043
+ * Report the final outcome of a payout to the network, identified by the payment id from the
1044
+ * original PayoutRequest, as either success (with an optional receipt) or failure with a reason.
1045
+ * Supersedes the deprecated ConfirmPayout, which could only signal completion.
1046
+ *
1043
1047
  * @generated from rpc tzero.v1.payment.NetworkService.FinalizePayout
1044
1048
  */
1045
1049
  finalizePayout: {
@@ -1049,9 +1053,8 @@ export declare const NetworkService: GenService<{
1049
1053
  };
1050
1054
  /**
1051
1055
  * *
1052
- * Pay-out provider reports the result of manual AML check.
1053
- * This endpoint is called after the manual AML check is completed. The network will find the new best quotes for the
1054
- * payment and will return the updated settlement/payout amount along with the updated quotes in the response.
1056
+ * Reports the result of a manual AML check on a payment.
1057
+ * On approval, the response carries the updated settlement/payout amount and quotes.
1055
1058
  *
1056
1059
  * @generated from rpc tzero.v1.payment.NetworkService.CompleteManualAmlCheck
1057
1060
  */
@@ -270,7 +270,7 @@ export var QuoteType;
270
270
  export const QuoteTypeSchema = /*@__PURE__*/ enumDesc(file_tzero_v1_payment_network, 0);
271
271
  /**
272
272
  * *
273
- * This service is used by provider to interact with the Network, e.g. push quotes and initiate payments.
273
+ * Network surface for publishing quotes and initiating pay-out payments.
274
274
  *
275
275
  * All methods of this service are idempotent, meaning they are safe to retry and multiple calls with the same parameters will have no additional effect.
276
276
  *