aivilife-contracts 6.5.0 → 6.7.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 (38) hide show
  1. package/README.md +11 -0
  2. package/dist/auth/index.d.mts +2 -2
  3. package/dist/auth/index.d.ts +2 -2
  4. package/dist/auth/index.js +48 -0
  5. package/dist/auth/index.js.map +1 -1
  6. package/dist/auth/index.mjs +48 -0
  7. package/dist/auth/index.mjs.map +1 -1
  8. package/dist/box/index.d.mts +1 -1
  9. package/dist/box/index.d.ts +1 -1
  10. package/dist/box/index.js +113 -1
  11. package/dist/box/index.js.map +1 -1
  12. package/dist/box/index.mjs +113 -1
  13. package/dist/box/index.mjs.map +1 -1
  14. package/dist/{index-CqLUmH1z.d.mts → index-CBD2sGWZ.d.mts} +1 -1
  15. package/dist/{index-CvKb9NN1.d.ts → index-CGVZAovt.d.ts} +1 -1
  16. package/dist/index.d.mts +5 -5
  17. package/dist/index.d.ts +5 -5
  18. package/dist/index.js +90 -5
  19. package/dist/index.js.map +1 -1
  20. package/dist/index.mjs +82 -6
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/marketing/index.d.mts +74 -3
  23. package/dist/marketing/index.d.ts +74 -3
  24. package/dist/marketing/index.js +57 -0
  25. package/dist/marketing/index.js.map +1 -1
  26. package/dist/marketing/index.mjs +50 -1
  27. package/dist/marketing/index.mjs.map +1 -1
  28. package/dist/{marketing.enums-DUh0dS3W.d.mts → marketing.enums-De2AKo0y.d.mts} +6 -1
  29. package/dist/{marketing.enums-DUh0dS3W.d.ts → marketing.enums-De2AKo0y.d.ts} +6 -1
  30. package/dist/order/index.d.mts +26 -2
  31. package/dist/order/index.d.ts +26 -2
  32. package/dist/order/index.js +114 -1
  33. package/dist/order/index.js.map +1 -1
  34. package/dist/order/index.mjs +114 -2
  35. package/dist/order/index.mjs.map +1 -1
  36. package/dist/{order.enums-DdujST4H.d.mts → order.enums-C_YmPVYH.d.mts} +6 -1
  37. package/dist/{order.enums-DdujST4H.d.ts → order.enums-C_YmPVYH.d.ts} +6 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -146,6 +146,17 @@ import {
146
146
  } from 'aivilife-contracts/marketing';
147
147
  ```
148
148
 
149
+ ## 6.7.0
150
+
151
+ - Added sponsor identity to BOX order details.
152
+ - Added the administrative sponsor reward projection and credited-result snapshot for Referral and Extra bonuses.
153
+
154
+ ## 6.6.0
155
+
156
+ - Added Binary cycle settings with configurable weekday, local time and IANA timezone.
157
+ - Added idempotent manual cycle-closing request and immutable cycle-run history contracts.
158
+ - Added aggregate Binary, Matching and rank-reward results for the administration UI.
159
+
149
160
  ## 6.0.0
150
161
 
151
162
  - Added BOX administration, exact-PV product selection, warehouse availability and checkout contracts.
@@ -1,3 +1,3 @@
1
- export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-CqLUmH1z.mjs';
1
+ export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-CBD2sGWZ.mjs';
2
2
  import 'zod';
3
- import '../marketing.enums-DUh0dS3W.mjs';
3
+ import '../marketing.enums-De2AKo0y.mjs';
@@ -1,3 +1,3 @@
1
- export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-CvKb9NN1.js';
1
+ export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-CGVZAovt.js';
2
2
  import 'zod';
3
- import '../marketing.enums-DUh0dS3W.js';
3
+ import '../marketing.enums-De2AKo0y.js';
@@ -254,6 +254,11 @@ var BinaryVolumeStatisticsGranularity = /* @__PURE__ */ ((BinaryVolumeStatistics
254
254
  BinaryVolumeStatisticsGranularity2["MONTH"] = "MONTH";
255
255
  return BinaryVolumeStatisticsGranularity2;
256
256
  })(BinaryVolumeStatisticsGranularity || {});
257
+ var BinaryCycleTrigger = /* @__PURE__ */ ((BinaryCycleTrigger2) => {
258
+ BinaryCycleTrigger2["AUTOMATIC"] = "AUTOMATIC";
259
+ BinaryCycleTrigger2["MANUAL"] = "MANUAL";
260
+ return BinaryCycleTrigger2;
261
+ })(BinaryCycleTrigger || {});
257
262
  var BinaryBranchSchema = zod.z.enum(BinaryBranch);
258
263
  var MarketingMemberStatusSchema = zod.z.enum(MarketingMemberStatus);
259
264
  zod.z.enum(MarketingVolumeKind);
@@ -268,6 +273,7 @@ var BinaryVolumeStatisticsPeriodSchema = zod.z.enum(
268
273
  var BinaryVolumeStatisticsGranularitySchema = zod.z.enum(
269
274
  BinaryVolumeStatisticsGranularity
270
275
  );
276
+ zod.z.enum(BinaryCycleTrigger);
271
277
  var MarketingPublicIdentifierSchema = zod.z.string().trim().min(3).max(255);
272
278
  var MarketingInvitationTokenSchema = zod.z.string().trim().regex(/^[A-Za-z0-9_-]{43}$/);
273
279
  var ManualMarketingPlacementSchema = zod.z.object({
@@ -573,6 +579,48 @@ zod.z.object({
573
579
  items: zod.z.array(MarketingBonusSummaryItemSchema),
574
580
  generatedAt: zod.z.iso.datetime()
575
581
  });
582
+ var PvSchema4 = zod.z.string().regex(/^\d{1,16}\.\d{2}$/);
583
+ zod.z.object({
584
+ automaticEnabled: zod.z.boolean(),
585
+ isoWeekday: zod.z.number().int().min(1).max(7),
586
+ localTime: zod.z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),
587
+ timeZone: zod.z.string().trim().min(1).max(100),
588
+ openPeriodStartedAt: zod.z.iso.datetime(),
589
+ nextAutomaticRunAt: zod.z.iso.datetime(),
590
+ version: zod.z.number().int().positive()
591
+ });
592
+ zod.z.object({
593
+ automaticEnabled: zod.z.boolean(),
594
+ isoWeekday: zod.z.number().int().min(1).max(7),
595
+ localTime: zod.z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),
596
+ timeZone: zod.z.string().trim().min(1).max(100),
597
+ version: zod.z.number().int().positive()
598
+ });
599
+ zod.z.object({
600
+ idempotencyKey: zod.z.uuid()
601
+ });
602
+ var BinaryCycleRunSchema = zod.z.object({
603
+ publicId: zod.z.uuid(),
604
+ periodStartedAt: zod.z.iso.datetime(),
605
+ periodEndedAt: zod.z.iso.datetime(),
606
+ trigger: zod.z.enum(BinaryCycleTrigger),
607
+ processedMembers: zod.z.number().int().nonnegative(),
608
+ paidMembers: zod.z.number().int().nonnegative(),
609
+ promotedMembers: zod.z.number().int().nonnegative(),
610
+ binaryPaidPv: PvSchema4,
611
+ matchingPaidPv: PvSchema4,
612
+ statusPaidPv: PvSchema4,
613
+ createdAt: zod.z.iso.datetime()
614
+ });
615
+ zod.z.object({
616
+ items: zod.z.array(BinaryCycleRunSchema),
617
+ meta: zod.z.object({
618
+ page: zod.z.number().int().positive(),
619
+ limit: zod.z.number().int().positive(),
620
+ total: zod.z.number().int().nonnegative(),
621
+ pageCount: zod.z.number().int().nonnegative()
622
+ })
623
+ });
576
624
 
577
625
  // src/auth/sign-up.contract.ts
578
626
  var RegistrationEmailSchema = zod.z.email("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 email").trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/user/user-role.enum.ts","../../src/currency/rate.schemas.ts","../../src/currency/currency.schemas.ts","../../src/localization/app-locale.enum.ts","../../src/localization/app-locale.schema.ts","../../src/user/user.schemas.ts","../../src/user/user-file-type.enum.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/common/id.schemas.ts","../../src/user/user-file.schemas.ts","../../src/auth/auth-user.contract.ts","../../src/auth/refresh.contract.ts","../../src/auth/sign-in.contract.ts","../../src/marketing/marketing.enums.ts","../../src/marketing/marketing-invitation.contract.ts","../../src/marketing/marketing-rank.contract.ts","../../src/marketing/marketing-structure.contract.ts","../../src/marketing/marketing-bonus-summary.contract.ts","../../src/auth/sign-up.contract.ts","../../src/auth/registration-availability.contract.ts","../../src/auth/account-actions.contract.ts"],"names":["UserRole","z","UserFileType","BinaryBranch","MarketingMemberStatus","MarketingVolumeKind","MarketingRankRewardType","MarketingStructureKind","MarketingPartnerStage","MarketingBonusType","MarketingBonusPeriod","BinaryVolumeStatisticsPeriod","BinaryVolumeStatisticsGranularity","PvSchema","PublicIdSchema"],"mappings":"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","file":"index.js","sourcesContent":["export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\n\n/** numeric(30,18): up to 12 integer and 18 fractional digits. */\nexport const RatePerBaseSchema = z\n .string()\n .regex(\n /^\\d{1,12}(\\.\\d{1,18})?$/,\n 'Rate must contain at most 12 integer and 18 decimal digits',\n )\n .refine((value) => /[1-9]/.test(value), 'Rate must be greater than zero');\n","import { z } from 'zod';\nimport { RatePerBaseSchema } from './rate.schemas';\n\n/** Код валюты ISO 4217 (3 заглавные буквы). */\nexport const CurrencyCodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z]{3}$/, 'Invalid ISO 4217 currency code');\n\nexport const CurrencyCodeParamSchema = z.object({\n code: CurrencyCodeSchema,\n});\n\nexport const CurrencySchema = z.object({\n id: z.number().int().positive(),\n code: CurrencyCodeSchema,\n name: z.string().trim().max(255),\n symbol: z.string().trim().max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n isBase: z.boolean(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CurrencyListResponseSchema = z.array(CurrencySchema);\n\nexport const CreateCurrencyRequestSchema = z.object({\n code: CurrencyCodeSchema,\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8).default(2),\n isActive: z.boolean().default(true),\n ratePerBase: RatePerBaseSchema,\n});\n\nexport const UpdateCurrencyRequestSchema = z\n .object({\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n })\n .partial();\n","export const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\nimport { CurrencyCodeSchema } from '../currency/currency.schemas';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\n\nconst socialLink = (hosts: readonly string[]) =>\n z\n .url()\n .trim()\n .max(255)\n .refine((value) => {\n const url = new URL(value);\n return (\n url.protocol === 'https:' &&\n hosts.some(\n (host) => url.hostname === host || url.hostname === `www.${host}`,\n )\n );\n }, 'Укажите безопасную ссылку на соответствующую социальную сеть');\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UpdateUserRequestSchema = z\n .object({\n firstName: z.string().trim().min(1).max(255),\n lastName: z.string().trim().min(1).max(255),\n phoneNumber: z.string().trim().min(7).max(20),\n city: z.string().trim().min(1).max(255),\n whatsappLink: socialLink(['wa.me', 'api.whatsapp.com']).nullable(),\n instagramLink: socialLink(['instagram.com']).nullable(),\n telegramLink: socialLink(['t.me', 'telegram.me']).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n })\n .partial()\n .strict()\n .refine((value) => Object.keys(value).length > 0, {\n message: 'Передайте хотя бы одно поле для изменения',\n });\n\nexport const ChangePasswordRequestSchema = z\n .object({\n currentPassword: z.string().trim().min(6).max(255),\n newPassword: z.string().trim().min(6).max(255),\n })\n .refine((data) => data.currentPassword !== data.newPassword, {\n message: 'Новый пароль должен отличаться от текущего',\n path: ['newPassword'],\n });\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","export enum UserFileType {\n PHOTO = 'PHOTO',\n DOCUMENT = 'DOCUMENT',\n}\n","import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","import { z } from 'zod';\n\n/** Максимум для Postgres int4 (SERIAL первичный ключ). */\nexport const INT4_MAX = 2147483647;\n\n/**\n * Идентификатор записи в БД (int4 PK).\n * Коэрсит строку из path/query в число и не пропускает значения вне диапазона\n * integer — иначе запрос падает в Postgres с `22003 out of range for type integer`.\n */\nexport const DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);\n\nexport type DbId = z.infer<typeof DbIdSchema>;\n","import { z } from 'zod';\nimport { UserFileType } from './user-file-type.enum';\nimport { DbIdSchema } from '../common';\n\nexport const UserFileSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: z.enum(UserFileType),\n url: z.string().url(),\n originalName: z.string().nullable(),\n mimeType: z.string().min(1).nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const UserFileListSchema = z.array(UserFileSchema);\n\n/** Path-параметр `:fileId` для операций с файлами пользователя. */\nexport const FileIdParamSchema = z.object({\n fileId: DbIdSchema,\n});\n\nexport type UserFile = z.infer<typeof UserFileSchema>;\nexport type UserFileList = z.infer<typeof UserFileListSchema>;\nexport type FileIdParam = z.infer<typeof FileIdParamSchema>;\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport enum BinaryBranch {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nexport enum MarketingMemberStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n}\n\nexport enum MarketingVolumeKind {\n PAYABLE_BINARY = 'PAYABLE_BINARY',\n RANK = 'RANK',\n}\n\nexport enum MarketingRankRewardType {\n NONE = 'NONE',\n PV = 'PV',\n GIFT = 'GIFT',\n PV_AND_GIFT = 'PV_AND_GIFT',\n}\n\nexport enum MarketingStructureKind {\n REFERRAL = 'REFERRAL',\n BINARY = 'BINARY',\n}\n\nexport enum MarketingPartnerStage {\n REGISTERED = 'REGISTERED',\n INITIAL_PAYMENT_AWAITING_RECEIPT = 'INITIAL_PAYMENT_AWAITING_RECEIPT',\n INITIAL_PAYMENT_UNDER_REVIEW = 'INITIAL_PAYMENT_UNDER_REVIEW',\n INITIAL_PAYMENT_REJECTED = 'INITIAL_PAYMENT_REJECTED',\n ACTIVE = 'ACTIVE',\n UPGRADE_PAYMENT_AWAITING_RECEIPT = 'UPGRADE_PAYMENT_AWAITING_RECEIPT',\n UPGRADE_PAYMENT_UNDER_REVIEW = 'UPGRADE_PAYMENT_UNDER_REVIEW',\n UPGRADE_PAYMENT_REJECTED = 'UPGRADE_PAYMENT_REJECTED',\n}\n\nexport enum MarketingBonusType {\n REFERRAL = 'REFERRAL',\n BINARY = 'BINARY',\n MATCHING = 'MATCHING',\n EXTRA = 'EXTRA',\n STRUCTURAL = 'STRUCTURAL',\n STATUS = 'STATUS',\n}\n\nexport enum MarketingBonusPeriod {\n LAST_7_DAYS = 'LAST_7_DAYS',\n LAST_30_DAYS = 'LAST_30_DAYS',\n LAST_90_DAYS = 'LAST_90_DAYS',\n ALL_TIME = 'ALL_TIME',\n}\n\nexport enum BinaryVolumeStatisticsPeriod {\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\nexport enum BinaryVolumeStatisticsGranularity {\n DAY = 'DAY',\n MONTH = 'MONTH',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\nexport const MarketingVolumeKindSchema = z.enum(MarketingVolumeKind);\nexport const MarketingRankRewardTypeSchema = z.enum(MarketingRankRewardType);\nexport const MarketingStructureKindSchema = z.enum(MarketingStructureKind);\nexport const MarketingPartnerStageSchema = z.enum(MarketingPartnerStage);\nexport const MarketingBonusTypeSchema = z.enum(MarketingBonusType);\nexport const MarketingBonusPeriodSchema = z.enum(MarketingBonusPeriod);\nexport const BinaryVolumeStatisticsPeriodSchema = z.enum(\n BinaryVolumeStatisticsPeriod,\n);\nexport const BinaryVolumeStatisticsGranularitySchema = z.enum(\n BinaryVolumeStatisticsGranularity,\n);\n","import { z } from 'zod';\nimport { BinaryBranchSchema } from './marketing.enums';\n\nexport const MarketingPublicIdentifierSchema = z\n .string()\n .trim()\n .min(3)\n .max(255);\n\nexport const MarketingInvitationTokenSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9_-]{43}$/);\n\nexport const ManualMarketingPlacementSchema = z.object({\n sponsorId: MarketingPublicIdentifierSchema,\n leg: BinaryBranchSchema,\n});\n\nexport const InvitationMarketingPlacementSchema = z.object({\n invitationToken: MarketingInvitationTokenSchema,\n});\n\nexport const CreateMarketingInvitationRequestSchema = z.object({\n leg: BinaryBranchSchema,\n});\n\nexport const MarketingPlacementIdentitySchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n});\n\nexport const MarketingPlacementPreviewSchema = z.object({\n sponsor: MarketingPlacementIdentitySchema,\n leg: BinaryBranchSchema,\n expiresAt: z.iso.datetime().nullable(),\n});\n\nexport const CreateMarketingInvitationResponseSchema =\n MarketingPlacementPreviewSchema.extend({\n invitationToken: MarketingInvitationTokenSchema,\n });\n\nexport type ManualMarketingPlacement = z.infer<\n typeof ManualMarketingPlacementSchema\n>;\nexport type InvitationMarketingPlacement = z.infer<\n typeof InvitationMarketingPlacementSchema\n>;\nexport type CreateMarketingInvitationRequest = z.infer<\n typeof CreateMarketingInvitationRequestSchema\n>;\nexport type MarketingPlacementIdentity = z.infer<\n typeof MarketingPlacementIdentitySchema\n>;\nexport type MarketingPlacementPreview = z.infer<\n typeof MarketingPlacementPreviewSchema\n>;\nexport type CreateMarketingInvitationResponse = z.infer<\n typeof CreateMarketingInvitationResponseSchema\n>;\n","import { z } from 'zod';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { MarketingRankRewardType } from './marketing.enums';\n\nconst PublicIdSchema = z.uuid();\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst InputPvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/);\nconst PercentSchema = z.number().int().min(0).max(100);\n\nexport const MarketingRankTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(160),\n description: z.string().trim().max(2_000).nullable().optional(),\n rewardName: z.string().trim().max(255).nullable().optional(),\n});\n\nexport const MarketingMatchingLevelInputSchema = z.object({\n level: z.number().int().positive().max(1_000),\n percent: PercentSchema,\n});\n\nconst UniqueTranslationsSchema = z\n .array(MarketingRankTranslationInputSchema)\n .min(1)\n .max(4)\n .refine(\n (items) => new Set(items.map((item) => item.locale)).size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nconst UniqueMatchingLevelsSchema = z\n .array(MarketingMatchingLevelInputSchema)\n .max(1_000)\n .refine(\n (items) => new Set(items.map((item) => item.level)).size === items.length,\n 'Каждый уровень Matching можно передать только один раз',\n );\n\nconst MarketingRankFieldsSchema = z.object({\n code: CodeSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n isDefault: z.boolean(),\n requiredWeakLegPv: InputPvSchema,\n maxBinaryPayoutPv: InputPvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: InputPvSchema.nullable(),\n rewardImageUrl: z.url().max(2_000).nullable(),\n translations: UniqueTranslationsSchema,\n matchingLevels: UniqueMatchingLevelsSchema,\n});\n\nconst validateReward = (\n value: z.infer<typeof MarketingRankFieldsSchema>,\n context: z.RefinementCtx,\n) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n const includesGift =\n value.rewardType === MarketingRankRewardType.GIFT ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (includesPv && (!value.rewardPv || Number(value.rewardPv) <= 0)) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'Для PV-награды укажите сумму больше нуля',\n });\n }\n if (!includesPv && value.rewardPv !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n if (includesGift && value.translations.some((item) => !item.rewardName)) {\n context.addIssue({\n code: 'custom',\n path: ['translations'],\n message: 'Для подарка укажите название награды на каждом языке',\n });\n }\n if (!includesGift && value.rewardImageUrl !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardImageUrl'],\n message: 'Изображение можно указать только для подарка',\n });\n }\n};\n\nexport const CreateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.extend({\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n isDefault: z.boolean().default(false),\n maxBinaryPayoutPv: InputPvSchema.nullable().default(null),\n rewardType: z\n .enum(MarketingRankRewardType)\n .default(MarketingRankRewardType.NONE),\n rewardPv: InputPvSchema.nullable().default(null),\n rewardImageUrl: z.url().max(2_000).nullable().default(null),\n matchingLevels: UniqueMatchingLevelsSchema.default([]),\n }).superRefine(validateReward);\n\nexport const UpdateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .superRefine((value, context) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (\n value.rewardType !== undefined &&\n !includesPv &&\n value.rewardPv !== undefined &&\n value.rewardPv !== null\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n });\n\nexport const MarketingRankPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const MarketingRankListQuerySchema = BaseListQuerySchema;\n\nexport const MarketingMatchingLevelSchema =\n MarketingMatchingLevelInputSchema.extend({ publicId: PublicIdSchema });\n\nexport const MarketingRankSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n sortOrder: z.number().int().nonnegative(),\n isDefault: z.boolean(),\n requiredWeakLegPv: PvSchema,\n maxBinaryPayoutPv: PvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: PvSchema.nullable(),\n rewardImageUrl: z.string().nullable(),\n memberCount: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(MarketingRankTranslationInputSchema),\n matchingLevels: z.array(MarketingMatchingLevelSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const MarketingRankListResponseSchema = z.object({\n items: z.array(MarketingRankSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n});\n\nexport type CreateMarketingRankRequest = z.infer<\n typeof CreateMarketingRankRequestSchema\n>;\nexport type UpdateMarketingRankRequest = z.infer<\n typeof UpdateMarketingRankRequestSchema\n>;\nexport type MarketingRankListQuery = z.infer<\n typeof MarketingRankListQuerySchema\n>;\nexport type MarketingRankResponse = z.infer<typeof MarketingRankSchema>;\nexport type MarketingRankListResponse = z.infer<\n typeof MarketingRankListResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n BinaryBranchSchema,\n BinaryVolumeStatisticsGranularitySchema,\n BinaryVolumeStatisticsPeriod,\n BinaryVolumeStatisticsPeriodSchema,\n MarketingMemberStatusSchema,\n MarketingPartnerStageSchema,\n MarketingStructureKindSchema,\n} from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst PublicIdSchema = z.uuid();\n\nexport const MarketingStructureQuerySchema = z.object({\n rootUuid: z.string().trim().min(1).max(255).optional(),\n depth: z.coerce.number().int().min(1).max(10).default(3),\n});\n\nexport const BinaryVolumeStatisticsQuerySchema = z.object({\n rootUuid: z.string().trim().min(1).max(255).optional(),\n period: BinaryVolumeStatisticsPeriodSchema.default(\n BinaryVolumeStatisticsPeriod.MONTH,\n ),\n});\n\nexport const BinaryVolumeStatisticsPointSchema = z.object({\n startedAt: z.iso.datetime(),\n leftPv: PvSchema,\n rightPv: PvSchema,\n});\n\nexport const BinaryVolumeStatisticsResponseSchema = z.object({\n period: BinaryVolumeStatisticsPeriodSchema,\n granularity: BinaryVolumeStatisticsGranularitySchema,\n rangeStart: z.iso.datetime(),\n rangeEnd: z.iso.datetime(),\n totalLeftPv: PvSchema,\n totalRightPv: PvSchema,\n points: z.array(BinaryVolumeStatisticsPointSchema).min(1).max(31),\n generatedAt: z.iso.datetime(),\n});\n\nexport const MarketingStructureSearchQuerySchema = z.object({\n query: z.string().trim().min(2).max(255),\n kind: MarketingStructureKindSchema,\n limit: z.coerce.number().int().min(1).max(25).default(10),\n});\n\nexport const MarketingStructureMemberParamSchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n});\n\nexport const MarketingStructureMemberQuerySchema = z.object({\n kind: MarketingStructureKindSchema,\n});\n\nexport const MarketingStructureRankSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string().trim().min(1).max(64),\n name: z.string().trim().min(1).max(160),\n maxBinaryPayoutPv: PvSchema.nullable(),\n});\n\nexport const MarketingStructureBoxSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string().trim().min(1).max(64),\n name: z.string().trim().min(1).max(160),\n pvBudget: PvSchema,\n});\n\nexport const MarketingStructureBinaryVolumesSchema = z.object({\n payableLeftPv: PvSchema,\n payableRightPv: PvSchema,\n cumulativeLeftPv: PvSchema,\n cumulativeRightPv: PvSchema,\n lastIncrement: z\n .object({\n branch: BinaryBranchSchema,\n amountPv: PvSchema,\n occurredAt: z.iso.datetime(),\n })\n .nullable(),\n});\n\nexport const MarketingStructureMemberSchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n marketingStatus: MarketingMemberStatusSchema,\n stage: MarketingPartnerStageSchema,\n parentUuid: z.string().trim().min(1).max(255).nullable(),\n directSponsorUuid: z.string().trim().min(1).max(255).nullable(),\n preferredBranch: BinaryBranchSchema.nullable(),\n binaryBranch: BinaryBranchSchema.nullable(),\n isBinaryPlaced: z.boolean(),\n personalReferralSequence: z.number().int().positive().nullable(),\n isExtraBonusSource: z.boolean(),\n depth: z.number().int().nonnegative(),\n hasChildren: z.boolean(),\n rank: MarketingStructureRankSchema,\n activeBox: MarketingStructureBoxSchema.nullable(),\n pendingBox: MarketingStructureBoxSchema.nullable(),\n hasAvatar: z.boolean(),\n binaryVolumes: MarketingStructureBinaryVolumesSchema.nullable(),\n joinedAt: z.iso.datetime(),\n activatedAt: z.iso.datetime().nullable(),\n});\n\nexport const MarketingStructureSummarySchema = z.object({\n directPartners: z.number().int().nonnegative(),\n visiblePartners: z.number().int().nonnegative(),\n activePartners: z.number().int().nonnegative(),\n awaitingPayment: z.number().int().nonnegative(),\n registeredOnly: z.number().int().nonnegative(),\n});\n\nexport const ReferralStructureResponseSchema = z.object({\n kind: z.literal('REFERRAL'),\n root: MarketingStructureMemberSchema,\n nodes: z.array(MarketingStructureMemberSchema),\n summary: MarketingStructureSummarySchema,\n requestedDepth: z.number().int().min(1).max(10),\n generatedAt: z.iso.datetime(),\n});\n\nexport const BinaryStructureMetricsSchema = z.object({\n payableLeftPv: PvSchema,\n payableRightPv: PvSchema,\n cumulativeLeftPv: PvSchema,\n cumulativeRightPv: PvSchema,\n weakBranch: BinaryBranchSchema.nullable(),\n weakBranchPv: PvSchema,\n binaryPercent: z.number().int().min(0).max(100),\n payoutLimitPv: PvSchema.nullable(),\n estimatedPayoutPv: PvSchema,\n leftPartners: z.number().int().nonnegative(),\n rightPartners: z.number().int().nonnegative(),\n currentCycleNumber: z.number().int().positive().nullable(),\n currentCycleClosesAt: z.iso.datetime().nullable(),\n});\n\nexport const BinaryStructureResponseSchema = z.object({\n kind: z.literal('BINARY'),\n root: MarketingStructureMemberSchema,\n nodes: z.array(MarketingStructureMemberSchema),\n pendingPlacements: z.array(MarketingStructureMemberSchema),\n summary: MarketingStructureSummarySchema,\n metrics: BinaryStructureMetricsSchema,\n requestedDepth: z.number().int().min(1).max(10),\n generatedAt: z.iso.datetime(),\n});\n\nexport const MarketingStructureSearchResponseSchema = z.object({\n items: z.array(MarketingStructureMemberSchema),\n});\n\nexport const MarketingStructureMemberDetailSchema =\n MarketingStructureMemberSchema.extend({\n email: z.email(),\n phoneNumber: z.string().trim().max(20),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n });\n\nexport const MarketingStructureEventSchema = z.object({\n type: z.literal('STRUCTURE_CHANGED'),\n revision: z.string().uuid(),\n occurredAt: z.iso.datetime(),\n});\n\nexport type MarketingStructureQuery = z.infer<\n typeof MarketingStructureQuerySchema\n>;\nexport type BinaryVolumeStatisticsQuery = z.infer<\n typeof BinaryVolumeStatisticsQuerySchema\n>;\nexport type BinaryVolumeStatisticsResponse = z.infer<\n typeof BinaryVolumeStatisticsResponseSchema\n>;\nexport type MarketingStructureSearchQuery = z.infer<\n typeof MarketingStructureSearchQuerySchema\n>;\nexport type MarketingStructureMemberQuery = z.infer<\n typeof MarketingStructureMemberQuerySchema\n>;\nexport type MarketingStructureMember = z.infer<\n typeof MarketingStructureMemberSchema\n>;\nexport type ReferralStructureResponse = z.infer<\n typeof ReferralStructureResponseSchema\n>;\nexport type BinaryStructureResponse = z.infer<\n typeof BinaryStructureResponseSchema\n>;\nexport type MarketingStructureSearchResponse = z.infer<\n typeof MarketingStructureSearchResponseSchema\n>;\nexport type MarketingStructureMemberDetail = z.infer<\n typeof MarketingStructureMemberDetailSchema\n>;\nexport type MarketingStructureEvent = z.infer<\n typeof MarketingStructureEventSchema\n>;\n","import { z } from 'zod';\nimport {\n MarketingBonusPeriod,\n MarketingBonusPeriodSchema,\n MarketingBonusTypeSchema,\n} from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\n\nexport const MarketingBonusSummaryQuerySchema = z.object({\n period: MarketingBonusPeriodSchema.default(MarketingBonusPeriod.LAST_30_DAYS),\n});\n\nexport const MarketingBonusSummaryItemSchema = z.object({\n type: MarketingBonusTypeSchema,\n amountPv: PvSchema,\n transactionCount: z.number().int().nonnegative(),\n shareBasisPoints: z.number().int().min(0).max(10_000),\n lastCreditedAt: z.iso.datetime().nullable(),\n});\n\nexport const MarketingBonusSummaryResponseSchema = z.object({\n period: MarketingBonusPeriodSchema,\n from: z.iso.datetime().nullable(),\n to: z.iso.datetime(),\n totalPv: PvSchema,\n transactionCount: z.number().int().nonnegative(),\n items: z.array(MarketingBonusSummaryItemSchema),\n generatedAt: z.iso.datetime(),\n});\n\nexport type MarketingBonusSummaryQuery = z.infer<\n typeof MarketingBonusSummaryQuerySchema\n>;\nexport type MarketingBonusSummaryItem = z.infer<\n typeof MarketingBonusSummaryItemSchema\n>;\nexport type MarketingBonusSummaryResponse = z.infer<\n typeof MarketingBonusSummaryResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n InvitationMarketingPlacementSchema,\n ManualMarketingPlacementSchema,\n} from '../marketing';\n\nexport const RegistrationEmailSchema = z\n .email('Введите корректный email')\n .trim()\n .toLowerCase();\n\nexport const RegistrationPhoneNumberSchema = z\n .string()\n .trim()\n .regex(/^\\+[1-9]\\d{7,14}$/, 'Введите корректный международный номер');\n\nexport const RegistrationLoginSchema = z\n .string()\n .trim()\n .min(3, 'Логин должен содержать не менее 3 символов')\n .max(255)\n .regex(/^[a-z0-9]+$/, 'Используйте только строчные латинские буквы и цифры');\n\nexport const RegistrationPasswordSchema = z\n .string()\n .min(6, 'Пароль должен содержать не менее 6 символов')\n .max(255);\n\nconst SignUpBaseSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: RegistrationEmailSchema,\n phoneNumber: RegistrationPhoneNumberSchema,\n login: RegistrationLoginSchema,\n password: RegistrationPasswordSchema,\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const SignUpRequestSchema = SignUpBaseSchema.extend({\n sponsorId: ManualMarketingPlacementSchema.shape.sponsorId.optional(),\n leg: ManualMarketingPlacementSchema.shape.leg.optional(),\n invitationToken:\n InvitationMarketingPlacementSchema.shape.invitationToken.optional(),\n}).superRefine((input, context) => {\n const hasInvitation = input.invitationToken !== undefined;\n const manualFields = [input.sponsorId, input.leg];\n const hasAnyManualField = manualFields.some((value) => value !== undefined);\n const hasEveryManualField = manualFields.every(\n (value) => value !== undefined,\n );\n\n if (\n hasInvitation === hasAnyManualField ||\n (!hasInvitation && !hasEveryManualField)\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Передайте invitationToken или полный набор sponsorId и leg',\n path: ['invitationToken'],\n });\n }\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n","import { z } from 'zod';\nimport {\n RegistrationEmailSchema,\n RegistrationLoginSchema,\n RegistrationPhoneNumberSchema,\n} from './sign-up.contract';\n\nexport const RegistrationAvailabilityRequestSchema = z\n .object({\n email: RegistrationEmailSchema.optional(),\n phoneNumber: RegistrationPhoneNumberSchema.optional(),\n login: RegistrationLoginSchema.optional(),\n })\n .refine(\n ({ email, phoneNumber, login }) =>\n email !== undefined || phoneNumber !== undefined || login !== undefined,\n 'Передайте хотя бы одно поле для проверки',\n );\n\nexport const RegistrationAvailabilityResponseSchema = z.object({\n emailAvailable: z.boolean().nullable(),\n phoneNumberAvailable: z.boolean().nullable(),\n loginAvailable: z.boolean().nullable(),\n});\n\nexport type RegistrationAvailabilityRequest = z.infer<\n typeof RegistrationAvailabilityRequestSchema\n>;\nexport type RegistrationAvailabilityResponse = z.infer<\n typeof RegistrationAvailabilityResponseSchema\n>;\n","import { z } from 'zod';\n\nconst ActionTokenSchema = z.string().trim().min(40).max(500);\n\nexport const RequestEmailVerificationSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ConfirmEmailSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const RequestEmailChangeSchema = z.object({\n newEmail: z.email().trim(),\n currentPassword: z.string().trim().min(6).max(255),\n});\n\nexport const ConfirmEmailChangeSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const ForgotPasswordSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ResetPasswordSchema = z.object({\n token: ActionTokenSchema,\n newPassword: z.string().trim().min(8).max(255),\n});\n\nexport type RequestEmailVerification = z.infer<\n typeof RequestEmailVerificationSchema\n>;\nexport type ConfirmEmail = z.infer<typeof ConfirmEmailSchema>;\nexport type RequestEmailChange = z.infer<typeof RequestEmailChangeSchema>;\nexport type ConfirmEmailChange = z.infer<typeof ConfirmEmailChangeSchema>;\nexport type ForgotPassword = z.infer<typeof ForgotPasswordSchema>;\nexport type ResetPassword = z.infer<typeof ResetPasswordSchema>;\n"]}
1
+ {"version":3,"sources":["../../src/user/user-role.enum.ts","../../src/currency/rate.schemas.ts","../../src/currency/currency.schemas.ts","../../src/localization/app-locale.enum.ts","../../src/localization/app-locale.schema.ts","../../src/user/user.schemas.ts","../../src/user/user-file-type.enum.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/common/id.schemas.ts","../../src/user/user-file.schemas.ts","../../src/auth/auth-user.contract.ts","../../src/auth/refresh.contract.ts","../../src/auth/sign-in.contract.ts","../../src/marketing/marketing.enums.ts","../../src/marketing/marketing-invitation.contract.ts","../../src/marketing/marketing-rank.contract.ts","../../src/marketing/marketing-structure.contract.ts","../../src/marketing/marketing-bonus-summary.contract.ts","../../src/marketing/marketing-binary-cycle.contract.ts","../../src/auth/sign-up.contract.ts","../../src/auth/registration-availability.contract.ts","../../src/auth/account-actions.contract.ts"],"names":["UserRole","z","UserFileType","BinaryBranch","MarketingMemberStatus","MarketingVolumeKind","MarketingRankRewardType","MarketingStructureKind","MarketingPartnerStage","MarketingBonusType","MarketingBonusPeriod","BinaryVolumeStatisticsPeriod","BinaryVolumeStatisticsGranularity","BinaryCycleTrigger","PvSchema","PublicIdSchema"],"mappings":";;;;;;;AAAO,IAAK,QAAA,qBAAAA,SAAAA,KAAL;AACL,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AAJA,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA,CAAA;ACGL,IAAM,iBAAA,GAAoBC,KAAA,CAC9B,MAAA,EAAO,CACP,KAAA;AAAA,EACC,yBAAA;AAAA,EACA;AACF,CAAA,CACC,OAAO,CAAC,KAAA,KAAU,QAAQ,IAAA,CAAK,KAAK,GAAG,gCAAgC,CAAA;;;ACLnE,IAAM,kBAAA,GAAqBA,KAAAA,CAC/B,MAAA,EAAO,CACP,IAAA,GACA,WAAA,EAAY,CACZ,KAAA,CAAM,YAAA,EAAc,gCAAgC,CAAA;AAEhBA,MAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAM;AACR,CAAC;AAEM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,IAAA,EAAM,kBAAA;AAAA,EACN,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,QAAQA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EAChC,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EAC5C,QAAA,EAAUA,MAAE,OAAA,EAAQ;AAAA,EACpB,MAAA,EAAQA,MAAE,OAAA,EAAQ;AAAA,EAClB,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC,CAAA;AAEyCA,KAAAA,CAAE,KAAA,CAAM,cAAc;AAErBA,MAAE,MAAA,CAAO;AAAA,EAClD,IAAA,EAAM,kBAAA;AAAA,EACN,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EACvC,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,EACvD,QAAA,EAAUA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EAClC,WAAA,EAAa;AACf,CAAC;AAE0CA,MACxC,MAAA,CAAO;AAAA,EACN,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EACvC,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EAC5C,QAAA,EAAUA,MAAE,OAAA;AACd,CAAC,EACA,OAAA;;;AC5CI,IAAM,SAAA,GAAY;AAAA,EACvB,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAIgC,MAAA,CAAO,MAAA;AAAA,EACrC;AACF;;;ACRO,IAAM,eAAA,GAAkBA,KAAAA,CAAE,IAAA,CAAK,SAAS,CAAA;;;ACE/C,IAAM,UAAA,GAAa,CAAC,KAAA,KAClBA,KAAAA,CACG,GAAA,EAAI,CACJ,IAAA,EAAK,CACL,GAAA,CAAI,GAAG,CAAA,CACP,MAAA,CAAO,CAAC,KAAA,KAAU;AACjB,EAAA,MAAM,GAAA,GAAM,IAAI,GAAA,CAAI,KAAK,CAAA;AACzB,EAAA,OACE,GAAA,CAAI,QAAA,KAAa,QAAA,IACjB,KAAA,CAAM,IAAA;AAAA,IACJ,CAAC,SAAS,GAAA,CAAI,QAAA,KAAa,QAAQ,GAAA,CAAI,QAAA,KAAa,OAAO,IAAI,CAAA;AAAA,GACjE;AAEJ,CAAA,EAAG,4UAA8D,CAAA;AAE9D,IAAM,UAAA,GAAaA,MAAE,MAAA,CAAO;AAAA,EACjC,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK;AAAA,EACtB,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EACrC,OAAOA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAChC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,QAAA,EAAUA,MAAE,OAAA,EAAQ;AAAA,EACpB,eAAA,EAAiBA,MAAE,OAAA,EAAQ;AAAA,EAC3B,eAAA,EAAiBA,MAAE,OAAA,EAAQ;AAAA,EAC3B,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACnD,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,eAAA,EAAiB,kBAAA;AAAA,EACjB,MAAA,EAAQ,eAAA;AAAA,EACR,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,QAAQ,CAAA;AAAA,EACrB,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC1B,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACnB,CAAC,CAAA;AAEsCA,MAAE,MAAA,CAAO;AAAA,EAC9C,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK;AAAA,EACtB,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EACrC,OAAOA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAChC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC1C,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG;AACjC,CAAC;AAEsCA,MACpC,MAAA,CAAO;AAAA,EACN,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC3C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC1C,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EAC5C,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,cAAc,UAAA,CAAW,CAAC,SAAS,kBAAkB,CAAC,EAAE,QAAA,EAAS;AAAA,EACjE,eAAe,UAAA,CAAW,CAAC,eAAe,CAAC,EAAE,QAAA,EAAS;AAAA,EACtD,cAAc,UAAA,CAAW,CAAC,QAAQ,aAAa,CAAC,EAAE,QAAA,EAAS;AAAA,EAC3D,eAAA,EAAiB,kBAAA;AAAA,EACjB,MAAA,EAAQ;AACV,CAAC,CAAA,CACA,OAAA,EAAQ,CACR,MAAA,EAAO,CACP,MAAA,CAAO,CAAC,KAAA,KAAU,MAAA,CAAO,IAAA,CAAK,KAAK,CAAA,CAAE,SAAS,CAAA,EAAG;AAAA,EAChD,OAAA,EAAS;AACX,CAAC;AAEwCA,MACxC,MAAA,CAAO;AAAA,EACN,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACjD,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG;AAC/C,CAAC,EACA,MAAA,CAAO,CAAC,SAAS,IAAA,CAAK,eAAA,KAAoB,KAAK,WAAA,EAAa;AAAA,EAC3D,OAAA,EAAS,qOAAA;AAAA,EACT,IAAA,EAAM,CAAC,aAAa;AACtB,CAAC;AAEmCA,KAAAA,CAAE,KAAA,CAAM,UAAU;;;ACpFjD,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACL,EAAAA,cAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,cAAA,UAAA,CAAA,GAAW,UAAA;AAFD,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA,CAAA;ACEL,IAAM,UAAA,GAAaD,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA;AAC3D,IAAM,WAAA,GAAcA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAQ,EAAE,CAAA;AACtE,IAAM,eAAA,GAAkBA,MAAE,IAAA,CAAK,CAAC,OAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAEhCA,MAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAM,WAAW,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAO,YAAY,QAAA;AACrB,CAAC;ACNM,IAAM,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AACtD,IAAM,eAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAEpD,IAAM,YAAA,GAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAEpCA,MAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAM,WAAW,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAO,YAAY,QAAA,EAAS;AAAA,EAC5B,MAAA,EAAQ,YAAA;AAAA,EACR,QAAA,EAAU,cAAA;AAAA,EACV,MAAA,EAAQ,YAAA;AAAA,EACR,SAAA,EAAW,gBAAgB,QAAA;AAC7B,CAAC;ACZM,IAAM,QAAA,GAAW,UAAA;AAOjB,IAAM,UAAA,GAAaA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,GAAA,CAAI,QAAQ,CAAA;;;ACNlE,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,QAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAClC,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,YAAY,CAAA;AAAA,EACzB,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI;AAAA,EACpB,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,UAAUA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,CAAC,EAAE,QAAA,EAAS;AAAA,EACrC,SAAA,EAAWA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAChD,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC1B,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACnB,CAAC,CAAA;AAEiCA,KAAAA,CAAE,KAAA,CAAM,cAAc;AAGvBA,MAAE,MAAA,CAAO;AAAA,EACxC,MAAA,EAAQ;AACV,CAAC;;;AClBM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,QAAQ,CAAA;AAAA,EACrB,QAAA,EAAUA,MAAE,OAAA;AACd,CAAC;ACLM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,IAAA,EAAM;AACR,CAAC;ACHM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,OAAOA,KAAAA,CACJ,MAAA,CAAO,yIAA2B,CAAA,CAClC,GAAA,CAAI,GAAG,0IAA4B,CAAA;AAAA,EACtC,UAAUA,KAAAA,CACP,MAAA,CAAO,+IAA4B,CAAA,CACnC,GAAA,CAAI,GAAG,gJAA6B;AACzC,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,IAAA,EAAM;AACR,CAAC;ACbM,IAAK,YAAA,qBAAAE,aAAAA,KAAL;AACL,EAAAA,cAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,cAAA,OAAA,CAAA,GAAQ,OAAA;AAFE,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA,CAAA;AAKL,IAAK,qBAAA,qBAAAC,sBAAAA,KAAL;AACL,EAAAA,uBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,uBAAA,SAAA,CAAA,GAAU,SAAA;AAFA,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA,CAAA;AAKL,IAAK,mBAAA,qBAAAC,oBAAAA,KAAL;AACL,EAAAA,qBAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,qBAAA,MAAA,CAAA,GAAO,MAAA;AAFG,EAAA,OAAAA,oBAAAA;AAAA,CAAA,EAAA,mBAAA,IAAA,EAAA,CAAA;AAKL,IAAK,uBAAA,qBAAAC,wBAAAA,KAAL;AACL,EAAAA,yBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,yBAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,yBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,yBAAA,aAAA,CAAA,GAAc,aAAA;AAJJ,EAAA,OAAAA,wBAAAA;AAAA,CAAA,EAAA,uBAAA,IAAA,EAAA,CAAA;AAOL,IAAK,sBAAA,qBAAAC,uBAAAA,KAAL;AACL,EAAAA,wBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,wBAAA,QAAA,CAAA,GAAS,QAAA;AAFC,EAAA,OAAAA,uBAAAA;AAAA,CAAA,EAAA,sBAAA,IAAA,EAAA,CAAA;AAKL,IAAK,qBAAA,qBAAAC,sBAAAA,KAAL;AACL,EAAAA,uBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,uBAAA,kCAAA,CAAA,GAAmC,kCAAA;AACnC,EAAAA,uBAAA,8BAAA,CAAA,GAA+B,8BAAA;AAC/B,EAAAA,uBAAA,0BAAA,CAAA,GAA2B,0BAAA;AAC3B,EAAAA,uBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,uBAAA,kCAAA,CAAA,GAAmC,kCAAA;AACnC,EAAAA,uBAAA,8BAAA,CAAA,GAA+B,8BAAA;AAC/B,EAAAA,uBAAA,0BAAA,CAAA,GAA2B,0BAAA;AARjB,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA,CAAA;AAWL,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACL,EAAAA,oBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,oBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AANC,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA,CAAA;AASL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,sBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,sBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,sBAAA,UAAA,CAAA,GAAW,UAAA;AAJD,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA,CAAA;AAOL,IAAK,4BAAA,qBAAAC,6BAAAA,KAAL;AACL,EAAAA,8BAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,8BAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,8BAAA,MAAA,CAAA,GAAO,MAAA;AAHG,EAAA,OAAAA,6BAAAA;AAAA,CAAA,EAAA,4BAAA,IAAA,EAAA,CAAA;AAML,IAAK,iCAAA,qBAAAC,kCAAAA,KAAL;AACL,EAAAA,mCAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,mCAAA,OAAA,CAAA,GAAQ,OAAA;AAFE,EAAA,OAAAA,kCAAAA;AAAA,CAAA,EAAA,iCAAA,IAAA,EAAA,CAAA;AAKL,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACL,EAAAA,oBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AAFC,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA,CAAA;AAKL,IAAM,kBAAA,GAAqBZ,KAAAA,CAAE,IAAA,CAAK,YAAY,CAAA;AAC9C,IAAM,2BAAA,GAA8BA,KAAAA,CAAE,IAAA,CAAK,qBAAqB,CAAA;AAC9BA,KAAAA,CAAE,IAAA,CAAK,mBAAmB;AACtBA,KAAAA,CAAE,IAAA,CAAK,uBAAuB;AACpE,IAAM,4BAAA,GAA+BA,KAAAA,CAAE,IAAA,CAAK,sBAAsB,CAAA;AAClE,IAAM,2BAAA,GAA8BA,KAAAA,CAAE,IAAA,CAAK,qBAAqB,CAAA;AAChE,IAAM,wBAAA,GAA2BA,KAAAA,CAAE,IAAA,CAAK,kBAAkB,CAAA;AAC1D,IAAM,0BAAA,GAA6BA,KAAAA,CAAE,IAAA,CAAK,oBAAoB,CAAA;AAC9D,IAAM,qCAAqCA,KAAAA,CAAE,IAAA;AAAA,EAClD;AACF,CAAA;AACO,IAAM,0CAA0CA,KAAAA,CAAE,IAAA;AAAA,EACvD;AACF,CAAA;AACwCA,KAAAA,CAAE,IAAA,CAAK,kBAAkB;ACnF1D,IAAM,+BAAA,GAAkCA,KAAAA,CAC5C,MAAA,EAAO,CACP,IAAA,GACA,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,GAAG,CAAA;AAEH,IAAM,iCAAiCA,KAAAA,CAC3C,MAAA,GACA,IAAA,EAAK,CACL,MAAM,qBAAqB,CAAA;AAEvB,IAAM,8BAAA,GAAiCA,MAAE,MAAA,CAAO;AAAA,EACrD,SAAA,EAAW,+BAAA;AAAA,EACX,GAAA,EAAK;AACP,CAAC,CAAA;AAEM,IAAM,kCAAA,GAAqCA,MAAE,MAAA,CAAO;AAAA,EACzD,eAAA,EAAiB;AACnB,CAAC,CAAA;AAEqDA,MAAE,MAAA,CAAO;AAAA,EAC7D,GAAA,EAAK;AACP,CAAC;AAEM,IAAM,gCAAA,GAAmCA,MAAE,MAAA,CAAO;AAAA,EACvD,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACvC,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG;AACrC,CAAC,CAAA;AAEM,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,OAAA,EAAS,gCAAA;AAAA,EACT,GAAA,EAAK,kBAAA;AAAA,EACL,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA;AAC9B,CAAC,CAAA;AAGC,gCAAgC,MAAA,CAAO;AAAA,EACrC,eAAA,EAAiB;AACnB,CAAC;ACtCH,IAAM,cAAA,GAAiBA,MAAE,IAAA,EAAK;AAC9B,IAAM,UAAA,GAAaA,MAChB,MAAA,EAAO,CACP,MAAK,CACL,WAAA,EAAY,CACZ,KAAA,CAAM,4BAA4B,CAAA;AACrC,IAAM,QAAA,GAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,mBAAmB,CAAA;AACrD,IAAM,gBAAgBA,KAAAA,CACnB,MAAA,GACA,IAAA,EAAK,CACL,MAAM,0BAA0B,CAAA;AACnC,IAAM,aAAA,GAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAE9C,IAAM,mCAAA,GAAsCA,MAAE,MAAA,CAAO;AAAA,EAC1D,MAAA,EAAQ,eAAA;AAAA,EACR,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,GAAK,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS;AAAA,EAC9D,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA;AACpD,CAAC,CAAA;AAEM,IAAM,iCAAA,GAAoCA,MAAE,MAAA,CAAO;AAAA,EACxD,KAAA,EAAOA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,GAAA,CAAI,GAAK,CAAA;AAAA,EAC5C,OAAA,EAAS;AACX,CAAC,CAAA;AAED,IAAM,wBAAA,GAA2BA,KAAAA,CAC9B,KAAA,CAAM,mCAAmC,CAAA,CACzC,IAAI,CAAC,CAAA,CACL,GAAA,CAAI,CAAC,CAAA,CACL,MAAA;AAAA,EACC,CAAC,KAAA,KAAU,IAAI,GAAA,CAAI,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS,IAAA,CAAK,MAAM,CAAC,CAAA,CAAE,SAAS,KAAA,CAAM,MAAA;AAAA,EACpE;AACF,CAAA;AAEF,IAAM,6BAA6BA,KAAAA,CAChC,KAAA,CAAM,iCAAiC,CAAA,CACvC,GAAA,CAAI,GAAK,CAAA,CACT,MAAA;AAAA,EACC,CAAC,KAAA,KAAU,IAAI,GAAA,CAAI,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS,IAAA,CAAK,KAAK,CAAC,CAAA,CAAE,SAAS,KAAA,CAAM,MAAA;AAAA,EACnE;AACF,CAAA;AAEF,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAS,CAAA;AAAA,EAChD,SAAA,EAAWA,MAAE,OAAA,EAAQ;AAAA,EACrB,iBAAA,EAAmB,aAAA;AAAA,EACnB,iBAAA,EAAmB,cAAc,QAAA,EAAS;AAAA,EAC1C,UAAA,EAAYA,KAAAA,CAAE,IAAA,CAAK,uBAAuB,CAAA;AAAA,EAC1C,QAAA,EAAU,cAAc,QAAA,EAAS;AAAA,EACjC,gBAAgBA,KAAAA,CAAE,GAAA,GAAM,GAAA,CAAI,GAAK,EAAE,QAAA,EAAS;AAAA,EAC5C,YAAA,EAAc,wBAAA;AAAA,EACd,cAAA,EAAgB;AAClB,CAAC,CAAA;AAED,IAAM,cAAA,GAAiB,CACrB,KAAA,EACA,OAAA,KACG;AACH,EAAA,MAAM,UAAA,GACJ,KAAA,CAAM,UAAA,KAAA,IAAA,aACN,KAAA,CAAM,UAAA,KAAA,aAAA;AACR,EAAA,MAAM,YAAA,GACJ,KAAA,CAAM,UAAA,KAAA,MAAA,eACN,KAAA,CAAM,UAAA,KAAA,aAAA;AACR,EAAA,IAAI,UAAA,KAAe,CAAC,KAAA,CAAM,QAAA,IAAY,OAAO,KAAA,CAAM,QAAQ,KAAK,CAAA,CAAA,EAAI;AAClE,IAAA,OAAA,CAAQ,QAAA,CAAS;AAAA,MACf,IAAA,EAAM,QAAA;AAAA,MACN,IAAA,EAAM,CAAC,UAAU,CAAA;AAAA,MACjB,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH;AACA,EAAA,IAAI,CAAC,UAAA,IAAc,KAAA,CAAM,QAAA,KAAa,IAAA,EAAM;AAC1C,IAAA,OAAA,CAAQ,QAAA,CAAS;AAAA,MACf,IAAA,EAAM,QAAA;AAAA,MACN,IAAA,EAAM,CAAC,UAAU,CAAA;AAAA,MACjB,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH;AACA,EAAA,IAAI,YAAA,IAAgB,MAAM,YAAA,CAAa,IAAA,CAAK,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,UAAU,CAAA,EAAG;AACvE,IAAA,OAAA,CAAQ,QAAA,CAAS;AAAA,MACf,IAAA,EAAM,QAAA;AAAA,MACN,IAAA,EAAM,CAAC,cAAc,CAAA;AAAA,MACrB,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH;AACA,EAAA,IAAI,CAAC,YAAA,IAAgB,KAAA,CAAM,cAAA,KAAmB,IAAA,EAAM;AAClD,IAAA,OAAA,CAAQ,QAAA,CAAS;AAAA,MACf,IAAA,EAAM,QAAA;AAAA,MACN,IAAA,EAAM,CAAC,gBAAgB,CAAA;AAAA,MACvB,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH;AACF,CAAA;AAGE,0BAA0B,MAAA,CAAO;AAAA,EAC/B,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAS,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,EAC3D,SAAA,EAAWA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACpC,iBAAA,EAAmB,aAAA,CAAc,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EACxD,UAAA,EAAYA,KAAAA,CACT,IAAA,CAAK,uBAAuB,EAC5B,OAAA,CAAA,MAAA,YAAoC;AAAA,EACvC,QAAA,EAAU,aAAA,CAAc,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC/C,cAAA,EAAgBA,KAAAA,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,GAAK,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,IAAI,CAAA;AAAA,EAC1D,cAAA,EAAgB,0BAAA,CAA2B,OAAA,CAAQ,EAAE;AACvD,CAAC,CAAA,CAAE,YAAY,cAAc;AAG7B,yBAAA,CAA0B,OAAA,GACvB,MAAA,CAAO,EAAE,SAASA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,UAAS,EAAG,EAC/C,WAAA,CAAY,CAAC,OAAO,OAAA,KAAY;AAC/B,EAAA,MAAM,UAAA,GACJ,KAAA,CAAM,UAAA,KAAA,IAAA,aACN,KAAA,CAAM,UAAA,KAAA,aAAA;AACR,EAAA,IACE,KAAA,CAAM,UAAA,KAAe,MAAA,IACrB,CAAC,UAAA,IACD,MAAM,QAAA,KAAa,MAAA,IACnB,KAAA,CAAM,QAAA,KAAa,IAAA,EACnB;AACA,IAAA,OAAA,CAAQ,QAAA,CAAS;AAAA,MACf,IAAA,EAAM,QAAA;AAAA,MACN,IAAA,EAAM,CAAC,UAAU,CAAA;AAAA,MACjB,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH;AACF,CAAC;AAE2CA,MAAE,MAAA,CAAO;AAAA,EACvD,QAAA,EAAU;AACZ,CAAC;AAIM,IAAM,+BACX,iCAAA,CAAkC,MAAA,CAAO,EAAE,QAAA,EAAU,gBAAgB,CAAA;AAEhE,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,QAAA,EAAU,cAAA;AAAA,EACV,IAAA,EAAM,UAAA;AAAA,EACN,WAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACxC,SAAA,EAAWA,MAAE,OAAA,EAAQ;AAAA,EACrB,iBAAA,EAAmB,QAAA;AAAA,EACnB,iBAAA,EAAmB,SAAS,QAAA,EAAS;AAAA,EACrC,UAAA,EAAYA,KAAAA,CAAE,IAAA,CAAK,uBAAuB,CAAA;AAAA,EAC1C,QAAA,EAAU,SAAS,QAAA,EAAS;AAAA,EAC5B,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,aAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC1C,SAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACnC,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAM,mCAAmC,CAAA;AAAA,EACzD,cAAA,EAAgBA,KAAAA,CAAE,KAAA,CAAM,4BAA4B,CAAA;AAAA,EACpD,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC1B,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACnB,CAAC,CAAA;AAE8CA,MAAE,MAAA,CAAO;AAAA,EACtD,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,mBAAmB,CAAA;AAAA,EAClC,IAAA,EAAMA,MAAE,MAAA,CAAO;AAAA,IACb,MAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,IAChC,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,IACjC,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,IACpC,WAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA;AAAY,GACzC;AACH,CAAC;AC9JD,IAAMa,SAAAA,GAAWb,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,mBAAmB,CAAA;AACrD,IAAMc,eAAAA,GAAiBd,MAAE,IAAA,EAAK;AAEeA,MAAE,MAAA,CAAO;AAAA,EACpD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACrD,KAAA,EAAOA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAQ,CAAC;AACzD,CAAC;AAEgDA,MAAE,MAAA,CAAO;AAAA,EACxD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACrD,QAAQ,kCAAA,CAAmC,OAAA;AAAA,IAAA,OAAA;AAAA;AAG7C,CAAC;AAEM,IAAM,iCAAA,GAAoCA,MAAE,MAAA,CAAO;AAAA,EACxD,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC1B,MAAA,EAAQa,SAAAA;AAAA,EACR,OAAA,EAASA;AACX,CAAC,CAAA;AAEmDb,MAAE,MAAA,CAAO;AAAA,EAC3D,MAAA,EAAQ,kCAAA;AAAA,EACR,WAAA,EAAa,uCAAA;AAAA,EACb,UAAA,EAAYA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EACzB,WAAA,EAAaa,SAAAA;AAAA,EACb,YAAA,EAAcA,SAAAA;AAAA,EACd,MAAA,EAAQb,MAAE,KAAA,CAAM,iCAAiC,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EAChE,WAAA,EAAaA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACrB,CAAC;AAEkDA,MAAE,MAAA,CAAO;AAAA,EAC1D,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACvC,IAAA,EAAM,4BAAA;AAAA,EACN,KAAA,EAAOA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAQ,EAAE;AAC1D,CAAC;AAEkDA,MAAE,MAAA,CAAO;AAAA,EAC1D,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG;AACxC,CAAC;AAEkDA,MAAE,MAAA,CAAO;AAAA,EAC1D,IAAA,EAAM;AACR,CAAC;AAEM,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAUc,eAAAA;AAAA,EACV,IAAA,EAAMd,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EACrC,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,iBAAA,EAAmBa,UAAS,QAAA;AAC9B,CAAC,CAAA;AAEM,IAAM,2BAAA,GAA8Bb,MAAE,MAAA,CAAO;AAAA,EAClD,QAAA,EAAUc,eAAAA;AAAA,EACV,IAAA,EAAMd,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EACrC,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,QAAA,EAAUa;AACZ,CAAC,CAAA;AAEM,IAAM,qCAAA,GAAwCb,MAAE,MAAA,CAAO;AAAA,EAC5D,aAAA,EAAea,SAAAA;AAAA,EACf,cAAA,EAAgBA,SAAAA;AAAA,EAChB,gBAAA,EAAkBA,SAAAA;AAAA,EAClB,iBAAA,EAAmBA,SAAAA;AAAA,EACnB,aAAA,EAAeb,MACZ,MAAA,CAAO;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,QAAA,EAAUa,SAAAA;AAAA,IACV,UAAA,EAAYb,KAAAA,CAAE,GAAA,CAAI,QAAA;AAAS,GAC5B,EACA,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,8BAAA,GAAiCA,MAAE,MAAA,CAAO;AAAA,EACrD,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACvC,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,eAAA,EAAiB,2BAAA;AAAA,EACjB,KAAA,EAAO,2BAAA;AAAA,EACP,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACvD,iBAAA,EAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC9D,eAAA,EAAiB,mBAAmB,QAAA,EAAS;AAAA,EAC7C,YAAA,EAAc,mBAAmB,QAAA,EAAS;AAAA,EAC1C,cAAA,EAAgBA,MAAE,OAAA,EAAQ;AAAA,EAC1B,wBAAA,EAA0BA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAC/D,kBAAA,EAAoBA,MAAE,OAAA,EAAQ;AAAA,EAC9B,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACpC,WAAA,EAAaA,MAAE,OAAA,EAAQ;AAAA,EACvB,IAAA,EAAM,4BAAA;AAAA,EACN,SAAA,EAAW,4BAA4B,QAAA,EAAS;AAAA,EAChD,UAAA,EAAY,4BAA4B,QAAA,EAAS;AAAA,EACjD,SAAA,EAAWA,MAAE,OAAA,EAAQ;AAAA,EACrB,aAAA,EAAe,sCAAsC,QAAA,EAAS;AAAA,EAC9D,QAAA,EAAUA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EACzB,WAAA,EAAaA,KAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA;AAChC,CAAC,CAAA;AAEM,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,gBAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC7C,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC9C,gBAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC7C,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC9C,gBAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA;AACnC,CAAC,CAAA;AAE8CA,MAAE,MAAA,CAAO;AAAA,EACtD,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,EAC1B,IAAA,EAAM,8BAAA;AAAA,EACN,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,8BAA8B,CAAA;AAAA,EAC7C,OAAA,EAAS,+BAAA;AAAA,EACT,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EAC9C,WAAA,EAAaA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACrB,CAAC;AAEM,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,aAAA,EAAea,SAAAA;AAAA,EACf,cAAA,EAAgBA,SAAAA;AAAA,EAChB,gBAAA,EAAkBA,SAAAA;AAAA,EAClB,iBAAA,EAAmBA,SAAAA;AAAA,EACnB,UAAA,EAAY,mBAAmB,QAAA,EAAS;AAAA,EACxC,YAAA,EAAcA,SAAAA;AAAA,EACd,aAAA,EAAeb,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC9C,aAAA,EAAea,UAAS,QAAA,EAAS;AAAA,EACjC,iBAAA,EAAmBA,SAAAA;AAAA,EACnB,cAAcb,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC3C,eAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC5C,kBAAA,EAAoBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACzD,oBAAA,EAAsBA,KAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA;AACzC,CAAC,CAAA;AAE4CA,MAAE,MAAA,CAAO;AAAA,EACpD,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EACxB,IAAA,EAAM,8BAAA;AAAA,EACN,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,8BAA8B,CAAA;AAAA,EAC7C,iBAAA,EAAmBA,KAAAA,CAAE,KAAA,CAAM,8BAA8B,CAAA;AAAA,EACzD,OAAA,EAAS,+BAAA;AAAA,EACT,OAAA,EAAS,4BAAA;AAAA,EACT,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EAC9C,WAAA,EAAaA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACrB,CAAC;AAEqDA,MAAE,MAAA,CAAO;AAAA,EAC7D,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,8BAA8B;AAC/C,CAAC;AAGC,+BAA+B,MAAA,CAAO;AAAA,EACpC,KAAA,EAAOA,MAAE,KAAA,EAAM;AAAA,EACf,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EACrC,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACnD,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA;AAC3C,CAAC;AAE0CA,MAAE,MAAA,CAAO;AAAA,EACpD,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EACnC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK;AAAA,EAC1B,UAAA,EAAYA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACpB,CAAC;ACvKD,IAAMa,SAAAA,GAAWb,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,mBAAmB,CAAA;AAELA,MAAE,MAAA,CAAO;AAAA,EACvD,MAAA,EAAQ,2BAA2B,OAAA,CAAA,cAAA;AACrC,CAAC;AAEM,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,IAAA,EAAM,wBAAA;AAAA,EACN,QAAA,EAAUa,SAAAA;AAAA,EACV,kBAAkBb,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC/C,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAM,CAAA;AAAA,EACpD,cAAA,EAAgBA,KAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA;AACnC,CAAC,CAAA;AAEkDA,MAAE,MAAA,CAAO;AAAA,EAC1D,MAAA,EAAQ,0BAAA;AAAA,EACR,IAAA,EAAMA,KAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA,EAAS;AAAA,EAChC,EAAA,EAAIA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EACnB,OAAA,EAASa,SAAAA;AAAA,EACT,kBAAkBb,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC/C,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,+BAA+B,CAAA;AAAA,EAC9C,WAAA,EAAaA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACrB,CAAC;ACzBD,IAAMa,SAAAA,GAAWb,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,mBAAmB,CAAA;AAEZA,MAAE,MAAA,CAAO;AAAA,EAChD,gBAAA,EAAkBA,MAAE,OAAA,EAAQ;AAAA,EAC5B,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EACzC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,2BAA2B,CAAA;AAAA,EACvD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC1C,mBAAA,EAAqBA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EACpC,kBAAA,EAAoBA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EACnC,SAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA;AAC5B,CAAC;AAEqDA,MAAE,MAAA,CAAO;AAAA,EAC7D,gBAAA,EAAkBA,MAAE,OAAA,EAAQ;AAAA,EAC5B,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EACzC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,2BAA2B,CAAA;AAAA,EACvD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC1C,SAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA;AAC5B,CAAC;AAE4CA,MAAE,MAAA,CAAO;AAAA,EACpD,cAAA,EAAgBA,MAAE,IAAA;AACpB,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,QAAA,EAAUA,MAAE,IAAA,EAAK;AAAA,EACjB,eAAA,EAAiBA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAChC,aAAA,EAAeA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC9B,OAAA,EAASA,KAAAA,CAAE,IAAA,CAAK,kBAAkB,CAAA;AAAA,EAClC,kBAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC/C,aAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC1C,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC9C,YAAA,EAAca,SAAAA;AAAA,EACd,cAAA,EAAgBA,SAAAA;AAAA,EAChB,YAAA,EAAcA,SAAAA;AAAA,EACd,SAAA,EAAWb,KAAAA,CAAE,GAAA,CAAI,QAAA;AACnB,CAAC,CAAA;AAI+CA,MAAE,MAAA,CAAO;AAAA,EACvD,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA;AAAA,EACnC,IAAA,EAAMA,MAAE,MAAA,CAAO;AAAA,IACb,MAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,IAChC,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,IACjC,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,IACpC,WAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA;AAAY,GACzC;AACH,CAAC;;;AC9CM,IAAM,0BAA0BA,KAAAA,CACpC,KAAA,CAAM,+GAA0B,CAAA,CAChC,IAAA,GACA,WAAA;AAEI,IAAM,6BAAA,GAAgCA,MAC1C,MAAA,EAAO,CACP,MAAK,CACL,KAAA,CAAM,qBAAqB,uNAAwC;AAE/D,IAAM,uBAAA,GAA0BA,KAAAA,CACpC,MAAA,EAAO,CACP,MAAK,CACL,GAAA,CAAI,CAAA,EAAG,2NAA4C,EACnD,GAAA,CAAI,GAAG,CAAA,CACP,KAAA,CAAM,eAAe,sRAAqD;AAEtE,IAAM,0BAAA,GAA6BA,MACvC,MAAA,EAAO,CACP,IAAI,CAAA,EAAG,iOAA6C,CAAA,CACpD,GAAA,CAAI,GAAG;AAEV,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EAChC,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAO,uBAAA;AAAA,EACP,WAAA,EAAa,6BAAA;AAAA,EACb,KAAA,EAAO,uBAAA;AAAA,EACP,QAAA,EAAU,0BAAA;AAAA,EACV,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG;AACjC,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB,iBAAiB,MAAA,CAAO;AAAA,EACzD,SAAA,EAAW,8BAAA,CAA+B,KAAA,CAAM,SAAA,CAAU,QAAA,EAAS;AAAA,EACnE,GAAA,EAAK,8BAAA,CAA+B,KAAA,CAAM,GAAA,CAAI,QAAA,EAAS;AAAA,EACvD,eAAA,EACE,kCAAA,CAAmC,KAAA,CAAM,eAAA,CAAgB,QAAA;AAC7D,CAAC,CAAA,CAAE,WAAA,CAAY,CAAC,KAAA,EAAO,OAAA,KAAY;AACjC,EAAA,MAAM,aAAA,GAAgB,MAAM,eAAA,KAAoB,MAAA;AAChD,EAAA,MAAM,YAAA,GAAe,CAAC,KAAA,CAAM,SAAA,EAAW,MAAM,GAAG,CAAA;AAChD,EAAA,MAAM,oBAAoB,YAAA,CAAa,IAAA,CAAK,CAAC,KAAA,KAAU,UAAU,MAAS,CAAA;AAC1E,EAAA,MAAM,sBAAsB,YAAA,CAAa,KAAA;AAAA,IACvC,CAAC,UAAU,KAAA,KAAU;AAAA,GACvB;AAEA,EAAA,IACE,aAAA,KAAkB,iBAAA,IACjB,CAAC,aAAA,IAAiB,CAAC,mBAAA,EACpB;AACA,IAAA,OAAA,CAAQ,QAAA,CAAS;AAAA,MACf,IAAA,EAAM,QAAA;AAAA,MACN,OAAA,EAAS,oLAAA;AAAA,MACT,IAAA,EAAM,CAAC,iBAAiB;AAAA,KACzB,CAAA;AAAA,EACH;AACF,CAAC;ACxDM,IAAM,qCAAA,GAAwCA,MAClD,MAAA,CAAO;AAAA,EACN,KAAA,EAAO,wBAAwB,QAAA,EAAS;AAAA,EACxC,WAAA,EAAa,8BAA8B,QAAA,EAAS;AAAA,EACpD,KAAA,EAAO,wBAAwB,QAAA;AACjC,CAAC,CAAA,CACA,MAAA;AAAA,EACC,CAAC,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,OACrB,KAAA,KAAU,MAAA,IAAa,WAAA,KAAgB,MAAA,IAAa,KAAA,KAAU,MAAA;AAAA,EAChE;AACF;AAEK,IAAM,sCAAA,GAAyCA,MAAE,MAAA,CAAO;AAAA,EAC7D,cAAA,EAAgBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACrC,oBAAA,EAAsBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC3C,cAAA,EAAgBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAC9B,CAAC;ACrBD,IAAM,iBAAA,GAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,EAAE,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAEpD,IAAM,8BAAA,GAAiCA,MAAE,MAAA,CAAO;AAAA,EACrD,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA;AACnB,CAAC;AAEM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAO;AACT,CAAC;AAEM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,QAAA,EAAUA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK;AAAA,EACzB,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG;AACnD,CAAC;AAEM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,KAAA,EAAO;AACT,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA;AACnB,CAAC;AAEM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAO,iBAAA;AAAA,EACP,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG;AAC/C,CAAC","file":"index.js","sourcesContent":["export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\n\n/** numeric(30,18): up to 12 integer and 18 fractional digits. */\nexport const RatePerBaseSchema = z\n .string()\n .regex(\n /^\\d{1,12}(\\.\\d{1,18})?$/,\n 'Rate must contain at most 12 integer and 18 decimal digits',\n )\n .refine((value) => /[1-9]/.test(value), 'Rate must be greater than zero');\n","import { z } from 'zod';\nimport { RatePerBaseSchema } from './rate.schemas';\n\n/** Код валюты ISO 4217 (3 заглавные буквы). */\nexport const CurrencyCodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z]{3}$/, 'Invalid ISO 4217 currency code');\n\nexport const CurrencyCodeParamSchema = z.object({\n code: CurrencyCodeSchema,\n});\n\nexport const CurrencySchema = z.object({\n id: z.number().int().positive(),\n code: CurrencyCodeSchema,\n name: z.string().trim().max(255),\n symbol: z.string().trim().max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n isBase: z.boolean(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CurrencyListResponseSchema = z.array(CurrencySchema);\n\nexport const CreateCurrencyRequestSchema = z.object({\n code: CurrencyCodeSchema,\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8).default(2),\n isActive: z.boolean().default(true),\n ratePerBase: RatePerBaseSchema,\n});\n\nexport const UpdateCurrencyRequestSchema = z\n .object({\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n })\n .partial();\n","export const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\nimport { CurrencyCodeSchema } from '../currency/currency.schemas';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\n\nconst socialLink = (hosts: readonly string[]) =>\n z\n .url()\n .trim()\n .max(255)\n .refine((value) => {\n const url = new URL(value);\n return (\n url.protocol === 'https:' &&\n hosts.some(\n (host) => url.hostname === host || url.hostname === `www.${host}`,\n )\n );\n }, 'Укажите безопасную ссылку на соответствующую социальную сеть');\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UpdateUserRequestSchema = z\n .object({\n firstName: z.string().trim().min(1).max(255),\n lastName: z.string().trim().min(1).max(255),\n phoneNumber: z.string().trim().min(7).max(20),\n city: z.string().trim().min(1).max(255),\n whatsappLink: socialLink(['wa.me', 'api.whatsapp.com']).nullable(),\n instagramLink: socialLink(['instagram.com']).nullable(),\n telegramLink: socialLink(['t.me', 'telegram.me']).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n })\n .partial()\n .strict()\n .refine((value) => Object.keys(value).length > 0, {\n message: 'Передайте хотя бы одно поле для изменения',\n });\n\nexport const ChangePasswordRequestSchema = z\n .object({\n currentPassword: z.string().trim().min(6).max(255),\n newPassword: z.string().trim().min(6).max(255),\n })\n .refine((data) => data.currentPassword !== data.newPassword, {\n message: 'Новый пароль должен отличаться от текущего',\n path: ['newPassword'],\n });\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","export enum UserFileType {\n PHOTO = 'PHOTO',\n DOCUMENT = 'DOCUMENT',\n}\n","import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","import { z } from 'zod';\n\n/** Максимум для Postgres int4 (SERIAL первичный ключ). */\nexport const INT4_MAX = 2147483647;\n\n/**\n * Идентификатор записи в БД (int4 PK).\n * Коэрсит строку из path/query в число и не пропускает значения вне диапазона\n * integer — иначе запрос падает в Postgres с `22003 out of range for type integer`.\n */\nexport const DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);\n\nexport type DbId = z.infer<typeof DbIdSchema>;\n","import { z } from 'zod';\nimport { UserFileType } from './user-file-type.enum';\nimport { DbIdSchema } from '../common';\n\nexport const UserFileSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: z.enum(UserFileType),\n url: z.string().url(),\n originalName: z.string().nullable(),\n mimeType: z.string().min(1).nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const UserFileListSchema = z.array(UserFileSchema);\n\n/** Path-параметр `:fileId` для операций с файлами пользователя. */\nexport const FileIdParamSchema = z.object({\n fileId: DbIdSchema,\n});\n\nexport type UserFile = z.infer<typeof UserFileSchema>;\nexport type UserFileList = z.infer<typeof UserFileListSchema>;\nexport type FileIdParam = z.infer<typeof FileIdParamSchema>;\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport enum BinaryBranch {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nexport enum MarketingMemberStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n}\n\nexport enum MarketingVolumeKind {\n PAYABLE_BINARY = 'PAYABLE_BINARY',\n RANK = 'RANK',\n}\n\nexport enum MarketingRankRewardType {\n NONE = 'NONE',\n PV = 'PV',\n GIFT = 'GIFT',\n PV_AND_GIFT = 'PV_AND_GIFT',\n}\n\nexport enum MarketingStructureKind {\n REFERRAL = 'REFERRAL',\n BINARY = 'BINARY',\n}\n\nexport enum MarketingPartnerStage {\n REGISTERED = 'REGISTERED',\n INITIAL_PAYMENT_AWAITING_RECEIPT = 'INITIAL_PAYMENT_AWAITING_RECEIPT',\n INITIAL_PAYMENT_UNDER_REVIEW = 'INITIAL_PAYMENT_UNDER_REVIEW',\n INITIAL_PAYMENT_REJECTED = 'INITIAL_PAYMENT_REJECTED',\n ACTIVE = 'ACTIVE',\n UPGRADE_PAYMENT_AWAITING_RECEIPT = 'UPGRADE_PAYMENT_AWAITING_RECEIPT',\n UPGRADE_PAYMENT_UNDER_REVIEW = 'UPGRADE_PAYMENT_UNDER_REVIEW',\n UPGRADE_PAYMENT_REJECTED = 'UPGRADE_PAYMENT_REJECTED',\n}\n\nexport enum MarketingBonusType {\n REFERRAL = 'REFERRAL',\n BINARY = 'BINARY',\n MATCHING = 'MATCHING',\n EXTRA = 'EXTRA',\n STRUCTURAL = 'STRUCTURAL',\n STATUS = 'STATUS',\n}\n\nexport enum MarketingBonusPeriod {\n LAST_7_DAYS = 'LAST_7_DAYS',\n LAST_30_DAYS = 'LAST_30_DAYS',\n LAST_90_DAYS = 'LAST_90_DAYS',\n ALL_TIME = 'ALL_TIME',\n}\n\nexport enum BinaryVolumeStatisticsPeriod {\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\nexport enum BinaryVolumeStatisticsGranularity {\n DAY = 'DAY',\n MONTH = 'MONTH',\n}\n\nexport enum BinaryCycleTrigger {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\nexport const MarketingVolumeKindSchema = z.enum(MarketingVolumeKind);\nexport const MarketingRankRewardTypeSchema = z.enum(MarketingRankRewardType);\nexport const MarketingStructureKindSchema = z.enum(MarketingStructureKind);\nexport const MarketingPartnerStageSchema = z.enum(MarketingPartnerStage);\nexport const MarketingBonusTypeSchema = z.enum(MarketingBonusType);\nexport const MarketingBonusPeriodSchema = z.enum(MarketingBonusPeriod);\nexport const BinaryVolumeStatisticsPeriodSchema = z.enum(\n BinaryVolumeStatisticsPeriod,\n);\nexport const BinaryVolumeStatisticsGranularitySchema = z.enum(\n BinaryVolumeStatisticsGranularity,\n);\nexport const BinaryCycleTriggerSchema = z.enum(BinaryCycleTrigger);\n","import { z } from 'zod';\nimport { BinaryBranchSchema } from './marketing.enums';\n\nexport const MarketingPublicIdentifierSchema = z\n .string()\n .trim()\n .min(3)\n .max(255);\n\nexport const MarketingInvitationTokenSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9_-]{43}$/);\n\nexport const ManualMarketingPlacementSchema = z.object({\n sponsorId: MarketingPublicIdentifierSchema,\n leg: BinaryBranchSchema,\n});\n\nexport const InvitationMarketingPlacementSchema = z.object({\n invitationToken: MarketingInvitationTokenSchema,\n});\n\nexport const CreateMarketingInvitationRequestSchema = z.object({\n leg: BinaryBranchSchema,\n});\n\nexport const MarketingPlacementIdentitySchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n});\n\nexport const MarketingPlacementPreviewSchema = z.object({\n sponsor: MarketingPlacementIdentitySchema,\n leg: BinaryBranchSchema,\n expiresAt: z.iso.datetime().nullable(),\n});\n\nexport const CreateMarketingInvitationResponseSchema =\n MarketingPlacementPreviewSchema.extend({\n invitationToken: MarketingInvitationTokenSchema,\n });\n\nexport type ManualMarketingPlacement = z.infer<\n typeof ManualMarketingPlacementSchema\n>;\nexport type InvitationMarketingPlacement = z.infer<\n typeof InvitationMarketingPlacementSchema\n>;\nexport type CreateMarketingInvitationRequest = z.infer<\n typeof CreateMarketingInvitationRequestSchema\n>;\nexport type MarketingPlacementIdentity = z.infer<\n typeof MarketingPlacementIdentitySchema\n>;\nexport type MarketingPlacementPreview = z.infer<\n typeof MarketingPlacementPreviewSchema\n>;\nexport type CreateMarketingInvitationResponse = z.infer<\n typeof CreateMarketingInvitationResponseSchema\n>;\n","import { z } from 'zod';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { MarketingRankRewardType } from './marketing.enums';\n\nconst PublicIdSchema = z.uuid();\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst InputPvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/);\nconst PercentSchema = z.number().int().min(0).max(100);\n\nexport const MarketingRankTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(160),\n description: z.string().trim().max(2_000).nullable().optional(),\n rewardName: z.string().trim().max(255).nullable().optional(),\n});\n\nexport const MarketingMatchingLevelInputSchema = z.object({\n level: z.number().int().positive().max(1_000),\n percent: PercentSchema,\n});\n\nconst UniqueTranslationsSchema = z\n .array(MarketingRankTranslationInputSchema)\n .min(1)\n .max(4)\n .refine(\n (items) => new Set(items.map((item) => item.locale)).size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nconst UniqueMatchingLevelsSchema = z\n .array(MarketingMatchingLevelInputSchema)\n .max(1_000)\n .refine(\n (items) => new Set(items.map((item) => item.level)).size === items.length,\n 'Каждый уровень Matching можно передать только один раз',\n );\n\nconst MarketingRankFieldsSchema = z.object({\n code: CodeSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n isDefault: z.boolean(),\n requiredWeakLegPv: InputPvSchema,\n maxBinaryPayoutPv: InputPvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: InputPvSchema.nullable(),\n rewardImageUrl: z.url().max(2_000).nullable(),\n translations: UniqueTranslationsSchema,\n matchingLevels: UniqueMatchingLevelsSchema,\n});\n\nconst validateReward = (\n value: z.infer<typeof MarketingRankFieldsSchema>,\n context: z.RefinementCtx,\n) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n const includesGift =\n value.rewardType === MarketingRankRewardType.GIFT ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (includesPv && (!value.rewardPv || Number(value.rewardPv) <= 0)) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'Для PV-награды укажите сумму больше нуля',\n });\n }\n if (!includesPv && value.rewardPv !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n if (includesGift && value.translations.some((item) => !item.rewardName)) {\n context.addIssue({\n code: 'custom',\n path: ['translations'],\n message: 'Для подарка укажите название награды на каждом языке',\n });\n }\n if (!includesGift && value.rewardImageUrl !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardImageUrl'],\n message: 'Изображение можно указать только для подарка',\n });\n }\n};\n\nexport const CreateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.extend({\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n isDefault: z.boolean().default(false),\n maxBinaryPayoutPv: InputPvSchema.nullable().default(null),\n rewardType: z\n .enum(MarketingRankRewardType)\n .default(MarketingRankRewardType.NONE),\n rewardPv: InputPvSchema.nullable().default(null),\n rewardImageUrl: z.url().max(2_000).nullable().default(null),\n matchingLevels: UniqueMatchingLevelsSchema.default([]),\n }).superRefine(validateReward);\n\nexport const UpdateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .superRefine((value, context) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (\n value.rewardType !== undefined &&\n !includesPv &&\n value.rewardPv !== undefined &&\n value.rewardPv !== null\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n });\n\nexport const MarketingRankPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const MarketingRankListQuerySchema = BaseListQuerySchema;\n\nexport const MarketingMatchingLevelSchema =\n MarketingMatchingLevelInputSchema.extend({ publicId: PublicIdSchema });\n\nexport const MarketingRankSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n sortOrder: z.number().int().nonnegative(),\n isDefault: z.boolean(),\n requiredWeakLegPv: PvSchema,\n maxBinaryPayoutPv: PvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: PvSchema.nullable(),\n rewardImageUrl: z.string().nullable(),\n memberCount: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(MarketingRankTranslationInputSchema),\n matchingLevels: z.array(MarketingMatchingLevelSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const MarketingRankListResponseSchema = z.object({\n items: z.array(MarketingRankSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n});\n\nexport type CreateMarketingRankRequest = z.infer<\n typeof CreateMarketingRankRequestSchema\n>;\nexport type UpdateMarketingRankRequest = z.infer<\n typeof UpdateMarketingRankRequestSchema\n>;\nexport type MarketingRankListQuery = z.infer<\n typeof MarketingRankListQuerySchema\n>;\nexport type MarketingRankResponse = z.infer<typeof MarketingRankSchema>;\nexport type MarketingRankListResponse = z.infer<\n typeof MarketingRankListResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n BinaryBranchSchema,\n BinaryVolumeStatisticsGranularitySchema,\n BinaryVolumeStatisticsPeriod,\n BinaryVolumeStatisticsPeriodSchema,\n MarketingMemberStatusSchema,\n MarketingPartnerStageSchema,\n MarketingStructureKindSchema,\n} from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst PublicIdSchema = z.uuid();\n\nexport const MarketingStructureQuerySchema = z.object({\n rootUuid: z.string().trim().min(1).max(255).optional(),\n depth: z.coerce.number().int().min(1).max(10).default(3),\n});\n\nexport const BinaryVolumeStatisticsQuerySchema = z.object({\n rootUuid: z.string().trim().min(1).max(255).optional(),\n period: BinaryVolumeStatisticsPeriodSchema.default(\n BinaryVolumeStatisticsPeriod.MONTH,\n ),\n});\n\nexport const BinaryVolumeStatisticsPointSchema = z.object({\n startedAt: z.iso.datetime(),\n leftPv: PvSchema,\n rightPv: PvSchema,\n});\n\nexport const BinaryVolumeStatisticsResponseSchema = z.object({\n period: BinaryVolumeStatisticsPeriodSchema,\n granularity: BinaryVolumeStatisticsGranularitySchema,\n rangeStart: z.iso.datetime(),\n rangeEnd: z.iso.datetime(),\n totalLeftPv: PvSchema,\n totalRightPv: PvSchema,\n points: z.array(BinaryVolumeStatisticsPointSchema).min(1).max(31),\n generatedAt: z.iso.datetime(),\n});\n\nexport const MarketingStructureSearchQuerySchema = z.object({\n query: z.string().trim().min(2).max(255),\n kind: MarketingStructureKindSchema,\n limit: z.coerce.number().int().min(1).max(25).default(10),\n});\n\nexport const MarketingStructureMemberParamSchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n});\n\nexport const MarketingStructureMemberQuerySchema = z.object({\n kind: MarketingStructureKindSchema,\n});\n\nexport const MarketingStructureRankSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string().trim().min(1).max(64),\n name: z.string().trim().min(1).max(160),\n maxBinaryPayoutPv: PvSchema.nullable(),\n});\n\nexport const MarketingStructureBoxSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string().trim().min(1).max(64),\n name: z.string().trim().min(1).max(160),\n pvBudget: PvSchema,\n});\n\nexport const MarketingStructureBinaryVolumesSchema = z.object({\n payableLeftPv: PvSchema,\n payableRightPv: PvSchema,\n cumulativeLeftPv: PvSchema,\n cumulativeRightPv: PvSchema,\n lastIncrement: z\n .object({\n branch: BinaryBranchSchema,\n amountPv: PvSchema,\n occurredAt: z.iso.datetime(),\n })\n .nullable(),\n});\n\nexport const MarketingStructureMemberSchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n marketingStatus: MarketingMemberStatusSchema,\n stage: MarketingPartnerStageSchema,\n parentUuid: z.string().trim().min(1).max(255).nullable(),\n directSponsorUuid: z.string().trim().min(1).max(255).nullable(),\n preferredBranch: BinaryBranchSchema.nullable(),\n binaryBranch: BinaryBranchSchema.nullable(),\n isBinaryPlaced: z.boolean(),\n personalReferralSequence: z.number().int().positive().nullable(),\n isExtraBonusSource: z.boolean(),\n depth: z.number().int().nonnegative(),\n hasChildren: z.boolean(),\n rank: MarketingStructureRankSchema,\n activeBox: MarketingStructureBoxSchema.nullable(),\n pendingBox: MarketingStructureBoxSchema.nullable(),\n hasAvatar: z.boolean(),\n binaryVolumes: MarketingStructureBinaryVolumesSchema.nullable(),\n joinedAt: z.iso.datetime(),\n activatedAt: z.iso.datetime().nullable(),\n});\n\nexport const MarketingStructureSummarySchema = z.object({\n directPartners: z.number().int().nonnegative(),\n visiblePartners: z.number().int().nonnegative(),\n activePartners: z.number().int().nonnegative(),\n awaitingPayment: z.number().int().nonnegative(),\n registeredOnly: z.number().int().nonnegative(),\n});\n\nexport const ReferralStructureResponseSchema = z.object({\n kind: z.literal('REFERRAL'),\n root: MarketingStructureMemberSchema,\n nodes: z.array(MarketingStructureMemberSchema),\n summary: MarketingStructureSummarySchema,\n requestedDepth: z.number().int().min(1).max(10),\n generatedAt: z.iso.datetime(),\n});\n\nexport const BinaryStructureMetricsSchema = z.object({\n payableLeftPv: PvSchema,\n payableRightPv: PvSchema,\n cumulativeLeftPv: PvSchema,\n cumulativeRightPv: PvSchema,\n weakBranch: BinaryBranchSchema.nullable(),\n weakBranchPv: PvSchema,\n binaryPercent: z.number().int().min(0).max(100),\n payoutLimitPv: PvSchema.nullable(),\n estimatedPayoutPv: PvSchema,\n leftPartners: z.number().int().nonnegative(),\n rightPartners: z.number().int().nonnegative(),\n currentCycleNumber: z.number().int().positive().nullable(),\n currentCycleClosesAt: z.iso.datetime().nullable(),\n});\n\nexport const BinaryStructureResponseSchema = z.object({\n kind: z.literal('BINARY'),\n root: MarketingStructureMemberSchema,\n nodes: z.array(MarketingStructureMemberSchema),\n pendingPlacements: z.array(MarketingStructureMemberSchema),\n summary: MarketingStructureSummarySchema,\n metrics: BinaryStructureMetricsSchema,\n requestedDepth: z.number().int().min(1).max(10),\n generatedAt: z.iso.datetime(),\n});\n\nexport const MarketingStructureSearchResponseSchema = z.object({\n items: z.array(MarketingStructureMemberSchema),\n});\n\nexport const MarketingStructureMemberDetailSchema =\n MarketingStructureMemberSchema.extend({\n email: z.email(),\n phoneNumber: z.string().trim().max(20),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n });\n\nexport const MarketingStructureEventSchema = z.object({\n type: z.literal('STRUCTURE_CHANGED'),\n revision: z.string().uuid(),\n occurredAt: z.iso.datetime(),\n});\n\nexport type MarketingStructureQuery = z.infer<\n typeof MarketingStructureQuerySchema\n>;\nexport type BinaryVolumeStatisticsQuery = z.infer<\n typeof BinaryVolumeStatisticsQuerySchema\n>;\nexport type BinaryVolumeStatisticsResponse = z.infer<\n typeof BinaryVolumeStatisticsResponseSchema\n>;\nexport type MarketingStructureSearchQuery = z.infer<\n typeof MarketingStructureSearchQuerySchema\n>;\nexport type MarketingStructureMemberQuery = z.infer<\n typeof MarketingStructureMemberQuerySchema\n>;\nexport type MarketingStructureMember = z.infer<\n typeof MarketingStructureMemberSchema\n>;\nexport type ReferralStructureResponse = z.infer<\n typeof ReferralStructureResponseSchema\n>;\nexport type BinaryStructureResponse = z.infer<\n typeof BinaryStructureResponseSchema\n>;\nexport type MarketingStructureSearchResponse = z.infer<\n typeof MarketingStructureSearchResponseSchema\n>;\nexport type MarketingStructureMemberDetail = z.infer<\n typeof MarketingStructureMemberDetailSchema\n>;\nexport type MarketingStructureEvent = z.infer<\n typeof MarketingStructureEventSchema\n>;\n","import { z } from 'zod';\nimport {\n MarketingBonusPeriod,\n MarketingBonusPeriodSchema,\n MarketingBonusTypeSchema,\n} from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\n\nexport const MarketingBonusSummaryQuerySchema = z.object({\n period: MarketingBonusPeriodSchema.default(MarketingBonusPeriod.LAST_30_DAYS),\n});\n\nexport const MarketingBonusSummaryItemSchema = z.object({\n type: MarketingBonusTypeSchema,\n amountPv: PvSchema,\n transactionCount: z.number().int().nonnegative(),\n shareBasisPoints: z.number().int().min(0).max(10_000),\n lastCreditedAt: z.iso.datetime().nullable(),\n});\n\nexport const MarketingBonusSummaryResponseSchema = z.object({\n period: MarketingBonusPeriodSchema,\n from: z.iso.datetime().nullable(),\n to: z.iso.datetime(),\n totalPv: PvSchema,\n transactionCount: z.number().int().nonnegative(),\n items: z.array(MarketingBonusSummaryItemSchema),\n generatedAt: z.iso.datetime(),\n});\n\nexport type MarketingBonusSummaryQuery = z.infer<\n typeof MarketingBonusSummaryQuerySchema\n>;\nexport type MarketingBonusSummaryItem = z.infer<\n typeof MarketingBonusSummaryItemSchema\n>;\nexport type MarketingBonusSummaryResponse = z.infer<\n typeof MarketingBonusSummaryResponseSchema\n>;\n","import { z } from 'zod';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { BinaryCycleTrigger } from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\n\nexport const BinaryCycleSettingsSchema = z.object({\n automaticEnabled: z.boolean(),\n isoWeekday: z.number().int().min(1).max(7),\n localTime: z.string().regex(/^([01]\\d|2[0-3]):[0-5]\\d$/),\n timeZone: z.string().trim().min(1).max(100),\n openPeriodStartedAt: z.iso.datetime(),\n nextAutomaticRunAt: z.iso.datetime(),\n version: z.number().int().positive(),\n});\n\nexport const UpdateBinaryCycleSettingsRequestSchema = z.object({\n automaticEnabled: z.boolean(),\n isoWeekday: z.number().int().min(1).max(7),\n localTime: z.string().regex(/^([01]\\d|2[0-3]):[0-5]\\d$/),\n timeZone: z.string().trim().min(1).max(100),\n version: z.number().int().positive(),\n});\n\nexport const CloseBinaryCycleRequestSchema = z.object({\n idempotencyKey: z.uuid(),\n});\n\nexport const BinaryCycleRunSchema = z.object({\n publicId: z.uuid(),\n periodStartedAt: z.iso.datetime(),\n periodEndedAt: z.iso.datetime(),\n trigger: z.enum(BinaryCycleTrigger),\n processedMembers: z.number().int().nonnegative(),\n paidMembers: z.number().int().nonnegative(),\n promotedMembers: z.number().int().nonnegative(),\n binaryPaidPv: PvSchema,\n matchingPaidPv: PvSchema,\n statusPaidPv: PvSchema,\n createdAt: z.iso.datetime(),\n});\n\nexport const BinaryCycleRunListQuerySchema = BaseListQuerySchema;\n\nexport const BinaryCycleRunListResponseSchema = z.object({\n items: z.array(BinaryCycleRunSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n});\n\nexport type BinaryCycleSettingsResponse = z.infer<\n typeof BinaryCycleSettingsSchema\n>;\nexport type UpdateBinaryCycleSettingsRequest = z.infer<\n typeof UpdateBinaryCycleSettingsRequestSchema\n>;\nexport type CloseBinaryCycleRequest = z.infer<\n typeof CloseBinaryCycleRequestSchema\n>;\nexport type BinaryCycleRunResponse = z.infer<typeof BinaryCycleRunSchema>;\nexport type BinaryCycleRunListQuery = z.infer<\n typeof BinaryCycleRunListQuerySchema\n>;\nexport type BinaryCycleRunListResponse = z.infer<\n typeof BinaryCycleRunListResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n InvitationMarketingPlacementSchema,\n ManualMarketingPlacementSchema,\n} from '../marketing';\n\nexport const RegistrationEmailSchema = z\n .email('Введите корректный email')\n .trim()\n .toLowerCase();\n\nexport const RegistrationPhoneNumberSchema = z\n .string()\n .trim()\n .regex(/^\\+[1-9]\\d{7,14}$/, 'Введите корректный международный номер');\n\nexport const RegistrationLoginSchema = z\n .string()\n .trim()\n .min(3, 'Логин должен содержать не менее 3 символов')\n .max(255)\n .regex(/^[a-z0-9]+$/, 'Используйте только строчные латинские буквы и цифры');\n\nexport const RegistrationPasswordSchema = z\n .string()\n .min(6, 'Пароль должен содержать не менее 6 символов')\n .max(255);\n\nconst SignUpBaseSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: RegistrationEmailSchema,\n phoneNumber: RegistrationPhoneNumberSchema,\n login: RegistrationLoginSchema,\n password: RegistrationPasswordSchema,\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const SignUpRequestSchema = SignUpBaseSchema.extend({\n sponsorId: ManualMarketingPlacementSchema.shape.sponsorId.optional(),\n leg: ManualMarketingPlacementSchema.shape.leg.optional(),\n invitationToken:\n InvitationMarketingPlacementSchema.shape.invitationToken.optional(),\n}).superRefine((input, context) => {\n const hasInvitation = input.invitationToken !== undefined;\n const manualFields = [input.sponsorId, input.leg];\n const hasAnyManualField = manualFields.some((value) => value !== undefined);\n const hasEveryManualField = manualFields.every(\n (value) => value !== undefined,\n );\n\n if (\n hasInvitation === hasAnyManualField ||\n (!hasInvitation && !hasEveryManualField)\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Передайте invitationToken или полный набор sponsorId и leg',\n path: ['invitationToken'],\n });\n }\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n","import { z } from 'zod';\nimport {\n RegistrationEmailSchema,\n RegistrationLoginSchema,\n RegistrationPhoneNumberSchema,\n} from './sign-up.contract';\n\nexport const RegistrationAvailabilityRequestSchema = z\n .object({\n email: RegistrationEmailSchema.optional(),\n phoneNumber: RegistrationPhoneNumberSchema.optional(),\n login: RegistrationLoginSchema.optional(),\n })\n .refine(\n ({ email, phoneNumber, login }) =>\n email !== undefined || phoneNumber !== undefined || login !== undefined,\n 'Передайте хотя бы одно поле для проверки',\n );\n\nexport const RegistrationAvailabilityResponseSchema = z.object({\n emailAvailable: z.boolean().nullable(),\n phoneNumberAvailable: z.boolean().nullable(),\n loginAvailable: z.boolean().nullable(),\n});\n\nexport type RegistrationAvailabilityRequest = z.infer<\n typeof RegistrationAvailabilityRequestSchema\n>;\nexport type RegistrationAvailabilityResponse = z.infer<\n typeof RegistrationAvailabilityResponseSchema\n>;\n","import { z } from 'zod';\n\nconst ActionTokenSchema = z.string().trim().min(40).max(500);\n\nexport const RequestEmailVerificationSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ConfirmEmailSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const RequestEmailChangeSchema = z.object({\n newEmail: z.email().trim(),\n currentPassword: z.string().trim().min(6).max(255),\n});\n\nexport const ConfirmEmailChangeSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const ForgotPasswordSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ResetPasswordSchema = z.object({\n token: ActionTokenSchema,\n newPassword: z.string().trim().min(8).max(255),\n});\n\nexport type RequestEmailVerification = z.infer<\n typeof RequestEmailVerificationSchema\n>;\nexport type ConfirmEmail = z.infer<typeof ConfirmEmailSchema>;\nexport type RequestEmailChange = z.infer<typeof RequestEmailChangeSchema>;\nexport type ConfirmEmailChange = z.infer<typeof ConfirmEmailChangeSchema>;\nexport type ForgotPassword = z.infer<typeof ForgotPasswordSchema>;\nexport type ResetPassword = z.infer<typeof ResetPasswordSchema>;\n"]}
@@ -252,6 +252,11 @@ var BinaryVolumeStatisticsGranularity = /* @__PURE__ */ ((BinaryVolumeStatistics
252
252
  BinaryVolumeStatisticsGranularity2["MONTH"] = "MONTH";
253
253
  return BinaryVolumeStatisticsGranularity2;
254
254
  })(BinaryVolumeStatisticsGranularity || {});
255
+ var BinaryCycleTrigger = /* @__PURE__ */ ((BinaryCycleTrigger2) => {
256
+ BinaryCycleTrigger2["AUTOMATIC"] = "AUTOMATIC";
257
+ BinaryCycleTrigger2["MANUAL"] = "MANUAL";
258
+ return BinaryCycleTrigger2;
259
+ })(BinaryCycleTrigger || {});
255
260
  var BinaryBranchSchema = z.enum(BinaryBranch);
256
261
  var MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);
257
262
  z.enum(MarketingVolumeKind);
@@ -266,6 +271,7 @@ var BinaryVolumeStatisticsPeriodSchema = z.enum(
266
271
  var BinaryVolumeStatisticsGranularitySchema = z.enum(
267
272
  BinaryVolumeStatisticsGranularity
268
273
  );
274
+ z.enum(BinaryCycleTrigger);
269
275
  var MarketingPublicIdentifierSchema = z.string().trim().min(3).max(255);
270
276
  var MarketingInvitationTokenSchema = z.string().trim().regex(/^[A-Za-z0-9_-]{43}$/);
271
277
  var ManualMarketingPlacementSchema = z.object({
@@ -571,6 +577,48 @@ z.object({
571
577
  items: z.array(MarketingBonusSummaryItemSchema),
572
578
  generatedAt: z.iso.datetime()
573
579
  });
580
+ var PvSchema4 = z.string().regex(/^\d{1,16}\.\d{2}$/);
581
+ z.object({
582
+ automaticEnabled: z.boolean(),
583
+ isoWeekday: z.number().int().min(1).max(7),
584
+ localTime: z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),
585
+ timeZone: z.string().trim().min(1).max(100),
586
+ openPeriodStartedAt: z.iso.datetime(),
587
+ nextAutomaticRunAt: z.iso.datetime(),
588
+ version: z.number().int().positive()
589
+ });
590
+ z.object({
591
+ automaticEnabled: z.boolean(),
592
+ isoWeekday: z.number().int().min(1).max(7),
593
+ localTime: z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),
594
+ timeZone: z.string().trim().min(1).max(100),
595
+ version: z.number().int().positive()
596
+ });
597
+ z.object({
598
+ idempotencyKey: z.uuid()
599
+ });
600
+ var BinaryCycleRunSchema = z.object({
601
+ publicId: z.uuid(),
602
+ periodStartedAt: z.iso.datetime(),
603
+ periodEndedAt: z.iso.datetime(),
604
+ trigger: z.enum(BinaryCycleTrigger),
605
+ processedMembers: z.number().int().nonnegative(),
606
+ paidMembers: z.number().int().nonnegative(),
607
+ promotedMembers: z.number().int().nonnegative(),
608
+ binaryPaidPv: PvSchema4,
609
+ matchingPaidPv: PvSchema4,
610
+ statusPaidPv: PvSchema4,
611
+ createdAt: z.iso.datetime()
612
+ });
613
+ z.object({
614
+ items: z.array(BinaryCycleRunSchema),
615
+ meta: z.object({
616
+ page: z.number().int().positive(),
617
+ limit: z.number().int().positive(),
618
+ total: z.number().int().nonnegative(),
619
+ pageCount: z.number().int().nonnegative()
620
+ })
621
+ });
574
622
 
575
623
  // src/auth/sign-up.contract.ts
576
624
  var RegistrationEmailSchema = z.email("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 email").trim().toLowerCase();