ravcredit-lib 0.0.51 → 0.0.53

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.
@@ -2201,6 +2201,14 @@ var eGCActions;
2201
2201
  eGCActions["Remove"] = "Remove";
2202
2202
  eGCActions["LoginTime"] = "UpdateLogIn";
2203
2203
  })(eGCActions || (eGCActions = {}));
2204
+ var eOrderType;
2205
+ (function (eOrderType) {
2206
+ eOrderType["DYNAMIC_REFERENCE"] = "DYNAMIC_REFERENCE";
2207
+ eOrderType["DYNAMIC_SPEI"] = "DYNAMIC_SPEI";
2208
+ eOrderType["CONEKTA_REFERENCE"] = "CONEKTA_REFERENCE";
2209
+ eOrderType["CONEKTA_SPEI"] = "CONEKTA_SPEI";
2210
+ eOrderType["PASSPORT_REFERENCE"] = "PASSPORT_REFERENCE";
2211
+ })(eOrderType || (eOrderType = {}));
2204
2212
 
2205
2213
  var eVerificationStep;
2206
2214
  (function (eVerificationStep) {
@@ -2234,5 +2242,5 @@ var eVerificationChannel;
2234
2242
  * Generated bundle index. Do not edit.
2235
2243
  */
2236
2244
 
2237
- export { EnumDynamicClientStatus, ErrorMessages, FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROLES_KEY, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, TIME_FORMAT_TABLE, UtilGeneral, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDaySchedule, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxoRecurrentSourcesData, cPaymentDelay, cResponse, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dateFormatSimple, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbConektaSpeiStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eAuthType2, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaOrderType, eConektaRes, eContractStatus, eContractSteps, eGCActions, eIdentityTypes, eLoginStatus, eNotificationType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRequestVerb, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, snackBarConfigNoActionLong, timeFormat, timeFormatTable, week };
2245
+ export { EnumDynamicClientStatus, ErrorMessages, FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROLES_KEY, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, TIME_FORMAT_TABLE, UtilGeneral, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDaySchedule, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxoRecurrentSourcesData, cPaymentDelay, cResponse, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dateFormatSimple, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbConektaSpeiStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eAuthType2, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaOrderType, eConektaRes, eContractStatus, eContractSteps, eGCActions, eIdentityTypes, eLoginStatus, eNotificationType, eOrderType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRequestVerb, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, snackBarConfigNoActionLong, timeFormat, timeFormatTable, week };
2238
2246
  //# sourceMappingURL=ravcredit-lib.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ravcredit-lib.mjs","sources":["../../../projects/ravcredit-lib/src/lib/ravcredit-lib.service.ts","../../../projects/ravcredit-lib/src/lib/ravcredit-lib.component.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oCustomer.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oVerification.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumClient.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumRoles.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumHttpStatus.ts","../../../projects/ravcredit-lib/src/lib/v2/constant/constants.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilBusiness.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilContract.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilClient.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilsHttp.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDynamiCore.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilConekta.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/const/constants.ts","../../../projects/ravcredit-lib/src/lib/v1/idb/indexed-db.service.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilTime.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDashboard.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPayment.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilGeneral.ts","../../../projects/ravcredit-lib/src/lib/v2/constant/messages.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumAsset.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumAuth.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumConekta.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumDynamic.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumNotification.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumUtil.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumVerification.ts","../../../projects/ravcredit-lib/src/public-api.ts","../../../projects/ravcredit-lib/src/ravcredit-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RavcreditLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-ravcredit-lib',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n ravcredit-lib works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class RavcreditLibComponent {\r\n\r\n}\r\n","export interface oCustomer {\n livemode: boolean\n name: string\n email: string\n phone: string\n id: string\n object: string\n created_at: number\n corporate: boolean\n custom_reference: string\n}\n\n\nexport interface oCustomerInfo {\n customer_id: string\n name?: string\n email?: string\n phone?: string\n}\n\n//\n// export interface iCustomerInfo = Pick<iCustomer, email | id | name | phone> {\n//\n// customer_id:string\n// }\n// {\n// livemode: false,\n// name: Vicente Mendoza,\n// email: vicente.mendoza@conekta.com,\n// phone: 5566982093,\n// id: cus_2wHtqBNsSggaYdfXu,\n// object: customer,\n// created_at: 1721258796,\n// corporate: false,\n// custom_reference:\n// }\n","export const cTopic = \"RavCreditClients\"\r\n\r\n\r\nexport interface oNotificationResponses {\r\n successCount: number,\r\n failureCount: number,\r\n}\r\n\r\nexport interface oNotification {\r\n ids?: string[];\r\n type?: string,\r\n tokens?: string[],\r\n topic?: string,\r\n notification: {\r\n title: string,\r\n body: string\r\n },\r\n data: any,\r\n notification_id?: number,\r\n recipient?: string,\r\n responses?: oNotificationResponses\r\n}\r\n\r\nexport const cNotification: oNotification = {\r\n notification: {\r\n title: \"\",\r\n body: \"\"\r\n },\r\n data: {\r\n route: \"\"\r\n }\r\n}\r\n\r\n","import {oContract} from \"./oContract\";\r\n\r\n/** *********************************************************************************/\r\nexport interface iPassportAdditional {\r\n client?: string;\r\n clientID?: string;\r\n credit?: string;\r\n}\r\n\r\nexport interface iPassportReferenceData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\n/** Passport request interface base */\r\nexport interface iPassportReference {\r\n type: string;\r\n data: iPassportReferenceData;\r\n}\r\n\r\n/** Global passport reference aPI */\r\nexport interface iGlobalPassport {\r\n passport: iPassportReference;\r\n contract: oContract\r\n date?: number\r\n}\r\n\r\n/** ******************************** */\r\nexport interface iPassportResponseData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\nexport interface iPassportReferenceCenters {\r\n name: string;\r\n logo: string;\r\n}\r\n\r\nexport interface iPassportReferenceRes {\r\n reference: string\r\n centers: iPassportReferenceCenters[],\r\n centerId: number,\r\n barcode: string\r\n}\r\n\r\n/** Passport response interface base */\r\nexport interface iPassportResponse {\r\n type: string;\r\n data: iPassportResponseData;\r\n message: string;\r\n references: iPassportReference[];\r\n}\r\n\r\n/** ******************************** */\r\n","// export enum oGenVerificationProvider {\r\n// pending, approved, expired\r\n// }\r\n//\r\n// export interface oVerificationLookup {\r\n// carrier: any[]\r\n// }\r\n//\r\n// export interface oVerificationSenCodeAttempt {\r\n// attempt_sid: any[],\r\n// channel: any[],\r\n// time: any[]\r\n// }\r\n//\r\n// export interface oGenVerification {\r\n// Sid: string\r\n// ServiceSid: string,\r\n// AccountSid: string,\r\n// To: string,\r\n// Channel: any,\r\n// Status: oGenVerificationProvider,\r\n// Valid: boolean,\r\n// Lookup: oVerificationLookup,\r\n// SendCodeAttempts: oVerificationSenCodeAttempt[],\r\n// DateCreated: string,\r\n// DateUpdated: string,\r\n// Url: string\r\n// }\r\n//\r\n// export interface oVerification {\r\n// Sid : string,\r\n// ServiceSid : string,\r\n// AccountSid : string,\r\n// To : string,\r\n// Channel : any,\r\n// Status : oGenVerificationProvider,\r\n// Valid : boolean,\r\n// DateCreated : string,\r\n// DateUpdated : string\r\n// }\r\n\r\nimport {eVerificationChannel, eVerificationStatus} from '../../v2/enum/EnumVerification';\r\n\r\nexport interface ISendCodeAttempt {\r\n time: string\r\n channel: eVerificationChannel,\r\n attemptSid : string,\r\n}\r\n\r\nexport interface IBaseVerification {\r\n sid: string\r\n service_sid:string\r\n account_sid:string\r\n to:string\r\n channel: eVerificationChannel\r\n status: eVerificationStatus\r\n valid: boolean,\r\n date_created: string\r\n date_updated: string\r\n amount: any,\r\n payee: any,\r\n}\r\n\r\nexport interface IVerificationSms extends IBaseVerification {\r\n lookup: any,\r\n send_code_attempts: ISendCodeAttempt[],\r\n sna: any,\r\n url: string\r\n}\r\n\r\nexport interface IVerificationCheckSms\r\n{\r\n sna_attempts_error_codes: any[],\r\n}\r\n\r\nexport interface IVerificationData {\r\n Phone?: string\r\n VerificationCode?: string\r\n}\r\n","export enum eClientStatus {\r\n ACTIVE = \"active\",\r\n COMPLETED = \"completed\",\r\n PAUSED = \"paused\",\r\n CANCELED = \"canceled\",\r\n LATE = \"late\"\r\n}\r\n","export enum eRoles {\r\n Administrator = \"Administrator\",\r\n Seller = \"Seller\",\r\n Consultant = \"Consultant\",\r\n Client = 'Client',\r\n User = 'User',\r\n}\r\n","export enum HttpStatus {\r\n CONTINUE = 100,\r\n SWITCHING_PROTOCOLS = 101,\r\n PROCESSING = 102,\r\n EARLYHINTS = 103,\r\n OK = 200,\r\n CREATED = 201,\r\n ACCEPTED = 202,\r\n NON_AUTHORITATIVE_INFORMATION = 203,\r\n NO_CONTENT = 204,\r\n RESET_CONTENT = 205,\r\n PARTIAL_CONTENT = 206,\r\n AMBIGUOUS = 300,\r\n MOVED_PERMANENTLY = 301,\r\n FOUND = 302,\r\n SEE_OTHER = 303,\r\n NOT_MODIFIED = 304,\r\n TEMPORARY_REDIRECT = 307,\r\n PERMANENT_REDIRECT = 308,\r\n BAD_REQUEST = 400,\r\n UNAUTHORIZED = 401,\r\n PAYMENT_REQUIRED = 402,\r\n FORBIDDEN = 403,\r\n NOT_FOUND = 404,\r\n METHOD_NOT_ALLOWED = 405,\r\n NOT_ACCEPTABLE = 406,\r\n PROXY_AUTHENTICATION_REQUIRED = 407,\r\n REQUEST_TIMEOUT = 408,\r\n CONFLICT = 409,\r\n GONE = 410,\r\n LENGTH_REQUIRED = 411,\r\n PRECONDITION_FAILED = 412,\r\n PAYLOAD_TOO_LARGE = 413,\r\n URI_TOO_LONG = 414,\r\n UNSUPPORTED_MEDIA_TYPE = 415,\r\n REQUESTED_RANGE_NOT_SATISFIABLE = 416,\r\n EXPECTATION_FAILED = 417,\r\n I_AM_A_TEAPOT = 418,\r\n MISDIRECTED = 421,\r\n UNPROCESSABLE_ENTITY = 422,\r\n FAILED_DEPENDENCY = 424,\r\n PRECONDITION_REQUIRED = 428,\r\n TOO_MANY_REQUESTS = 429,\r\n INTERNAL_SERVER_ERROR = 500,\r\n NOT_IMPLEMENTED = 501,\r\n BAD_GATEWAY = 502,\r\n SERVICE_UNAVAILABLE = 503,\r\n GATEWAY_TIMEOUT = 504,\r\n HTTP_VERSION_NOT_SUPPORTED = 505\r\n}\r\n","import {iOptionsSelect, iPaymentDelay, iSelect} from '../objects/oUtil';\r\nimport {MatSnackBarConfig} from '@angular/material/snack-bar';\r\nimport {cContract} from '../../v1/util/UtilContract';\r\nimport {cClient} from '../../v1/util/UtilClient';\r\nimport {oAddress} from '../../v1/objects/oAddress';\r\nimport {iConektaRecurrent, iOxxoRecurrentSources, iOxxorecurrentSourcesData} from \"../../v1/objects/oConekta\";\r\nimport {iAuthConfig} from '../../v1/objects/oLogIn';\r\nimport {eClientStatus} from '../enum/EnumClient';\r\nimport { eRoles } from \"../enum/EnumRoles\";\r\nimport {oDaySchedule} from '../../v1/objects/oBusiness';\r\nimport {oResponse} from '../objects/oHttp';\r\nimport {HttpStatus} from '../enum/EnumHttpStatus';\r\n\r\nexport const cSingleOptionClientStatus: iOptionsSelect = {\r\n viewValue: \"\",\r\n value: \"\"\r\n}\r\nexport const cOptionsClientStatus: iOptionsSelect[] = [\r\n {\r\n value: eClientStatus.ACTIVE,\r\n viewValue: \"Activar\"\r\n }, {\r\n value: eClientStatus.COMPLETED,\r\n viewValue: \"Completar\"\r\n }, {\r\n value: eClientStatus.PAUSED,\r\n viewValue: \"Pausar\"\r\n }, {\r\n value: eClientStatus.LATE,\r\n viewValue: \"Marcar con atraso\"\r\n }, {\r\n value: eClientStatus.CANCELED,\r\n viewValue: \"Cancelar\"\r\n }\r\n]\r\n\r\nexport const eRolesSelect: iSelect[] = [\r\n {\r\n value: eRoles.Administrator,\r\n viewValue: eRoles.Administrator\r\n },\r\n {\r\n value: eRoles.Consultant,\r\n viewValue: eRoles.Consultant\r\n },\r\n {\r\n value: eRoles.Seller,\r\n viewValue: eRoles.Seller\r\n },\r\n]\r\n\r\nexport const cPaymentDelay: iPaymentDelay = {\r\n today: 0,\r\n nextPayment: 0,\r\n daysDelay: 0,\r\n late: false,\r\n}\r\n\r\nexport const snackBarConfigAction: MatSnackBarConfig = {\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const snackBarConfigNoAction: MatSnackBarConfig = {\r\n duration: 4000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const snackBarConfigNoActionLong: MatSnackBarConfig = {\r\n duration: 8000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const cTyClientContract = {...cClient, ...cContract}\r\n\r\nexport const cAddress: oAddress = {\r\n street: \"\",\r\n city: \"\",\r\n neighbor: \"\",\r\n zip: \"\",\r\n ext: \"\",\r\n int: \"\",\r\n state: \"\"\r\n}\r\n\r\nexport const cOxxoRecurrentSourcesData: iOxxorecurrentSourcesData = {\r\n id: \"\",\r\n object: \"\",\r\n type: \"\",\r\n provider: \"\",\r\n reference: \"\",\r\n barcode: \"\",\r\n barcode_url: \"\",\r\n expires_at: 0,\r\n created_at: 0,\r\n parent_id: \"\"\r\n}\r\n\r\nexport const cOxxoRecurrentSources: iOxxoRecurrentSources = {\r\n object: \"\",\r\n has_more: false,\r\n total: 0,\r\n data: []\r\n}\r\n\r\nexport const cConektaRecurrent: iConektaRecurrent = {\r\n livemode: false,\r\n name: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n id: \"\",\r\n object: \"\",\r\n created_at: 0,\r\n corporate: false,\r\n custom_id: \"\",\r\n payment_sources: cOxxoRecurrentSources\r\n}\r\n\r\nexport const cAuthConfig: iAuthConfig = {\r\n title: \"\",\r\n desc: \"\",\r\n data: true,\r\n}\r\n\r\nexport const cDaySchedule: oDaySchedule = {\r\n open: 0,\r\n close: 0\r\n}\r\n\r\nexport const cResponse: oResponse = {\r\n path: '',\r\n statusCode: HttpStatus.CONTINUE,\r\n epochTime: new Date().getTime(),\r\n data: null,\r\n};\r\n\r\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {\n oBusinessConfig,\n oBusinessDeadlines,\n oBusinessInfo, oDaySchedule,\n oSchedule,\n oTmpBusinessConfig,\n oWeekSchedule\n} from \"../objects/oBusiness\";\nimport {oAddress} from '../objects/oAddress';\nimport {cAddress, cDaySchedule} from \"../../v2/constant/constants\";\n\nexport const cSchedule: oSchedule = {\n day: \"\",\n open: 0,\n close: 0,\n}\n\nexport const cEmptyDay: oSchedule = {\n close: 0, open: 0, day: \"\"\n}\n\nexport const week: string[] = [\n \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"\n]\n\nexport const cDefinedSchedule: oSchedule[] = [\n {close: 0, open: 0, day: \"monday\"},\n {close: 0, open: 0, day: \"tuesday\"},\n {close: 0, open: 0, day: \"wednesday\"},\n {close: 0, open: 0, day: \"thursday\"},\n {close: 0, open: 0, day: \"friday\"},\n {close: 0, open: 0, day: \"saturday\"},\n {close: 0, open: 0, day: \"sunday\"},\n]\n\nexport const cBusinessInfo: oBusinessInfo = {\n version: \"v2024\",\n name: \"\",\n address: cAddress,\n phones: [],\n email: \"\",\n}\n\nexport const cBusinessDeadlines: oBusinessDeadlines = {\n weeks: 0,\n interest: 0\n}\n\nexport const cBusinessConfig: oBusinessConfig = {\n version: \"\",\n apiVersion: \"\",\n adminVersion: \"\",\n mobileVersion: \"\",\n mobileVersionPrev: \"\",\n deadlines: [],\n downloadsClient: false,\n passportPaymentReference: false,\n conektaPaymentReference: false,\n conektaPaymentLink: false,\n dynamicPaymentReference: false,\n apkUrl: \"https://firebasestorage.googleapis.com/v0/b/ravcredit-2b079.appspot.com/o/mobile-app%2Fapp-release.apk?alt=media&token=ae05f332-a39a-46ad-8a64-312ae1487496\"\n}\n\n\n\nexport class FactoryBusiness {\n\n public static FormBusinessInfo(info?: oBusinessInfo) {\n let data = cBusinessInfo\n\n if (info) data = info\n\n if (!info?.address) data.address = cAddress\n\n return {\n name: new UntypedFormControl(data.name, Validators.required),\n email: new UntypedFormControl(data.email, [Validators.required, Validators.email]),\n desc: new UntypedFormControl(data.desc, [Validators.required, Validators.email]),\n street: new UntypedFormControl(data.address.street, Validators.required),\n neighbor: new UntypedFormControl(data.address.neighbor, Validators.required),\n cp: new UntypedFormControl(data.address.zip, Validators.required),\n ext: new UntypedFormControl(data.address.ext, Validators.required),\n int: new UntypedFormControl(data.address.int),\n city: new UntypedFormControl(data.address.city, Validators.required),\n state: new UntypedFormControl(data.address.state, Validators.required),\n phones: new UntypedFormControl(data.phones),\n mondayOpen: new UntypedFormControl(data.schedule?.monday.open),\n mondayClose: new UntypedFormControl(data.schedule?.monday.close),\n tuesdayOpen: new UntypedFormControl(data.schedule?.tuesday.open),\n tuesdayClose: new UntypedFormControl(data.schedule?.tuesday.close),\n wednesdayOpen: new UntypedFormControl(data.schedule?.wednesday.open),\n wednesdayClose: new UntypedFormControl(data.schedule?.wednesday.close),\n thursdayOpen: new UntypedFormControl(data.schedule?.thursday.open),\n thursdayClose: new UntypedFormControl(data.schedule?.thursday.close),\n fridayOpen: new UntypedFormControl(data.schedule?.friday.open),\n fridayClose: new UntypedFormControl(data.schedule?.friday.close),\n saturdayOpen: new UntypedFormControl(data.schedule?.saturday.open),\n saturdayClose: new UntypedFormControl(data.schedule?.saturday.close),\n sundayOpen: new UntypedFormControl(data.schedule?.sunday.open),\n sundayClose: new UntypedFormControl(data.schedule?.sunday.close),\n }\n\n }\n\n public static CreateBusinessInfoObj(data: oTmpBusinessConfig) {\n const address: oAddress = cAddress\n\n const schedule: oWeekSchedule = {\n monday: cDaySchedule,\n tuesday: cDaySchedule,\n wednesday: cDaySchedule,\n thursday: cDaySchedule,\n friday: cDaySchedule,\n saturday: cDaySchedule,\n sunday: cDaySchedule\n }\n\n if (data.street) address.street = data.street\n if (data.state) address.state = data.state\n if (data.neighbor) address.neighbor = data.neighbor\n if (data.city) address.city = data.city\n if (data.ext) address.ext = data.ext\n if (data.int) address.int = data.int\n if (data.cp) address.zip = data.cp\n\n if (data.mondayOpen) schedule.monday.open = Number(data.mondayOpen)\n if (data.mondayClose) schedule.monday.close = Number(data.mondayClose)\n\n if (data.tuesdayOpen) schedule.tuesday.open = Number(data.tuesdayOpen)\n if (data.tuesdayClose) schedule.tuesday.close = Number(data.tuesdayClose)\n\n if (data.wednesdayOpen) schedule.wednesday.open = Number(data.wednesdayOpen)\n if (data.wednesdayClose) schedule.wednesday.close = Number(data.wednesdayClose)\n\n if (data.thursdayOpen) schedule.thursday.open = Number(data.thursdayOpen)\n if (data.thursdayClose) schedule.thursday.close = Number(data.thursdayClose)\n\n if (data.fridayOpen) schedule.friday.open = Number(data.fridayOpen)\n if (data.fridayClose) schedule.friday.close = Number(data.fridayClose)\n\n if (data.saturdayOpen) schedule.saturday.open = Number(data.saturdayOpen)\n if (data.saturdayClose) schedule.saturday.close = Number(data.saturdayClose)\n\n if (data.sundayOpen) schedule.sunday.open = Number(data.sundayOpen)\n if (data.sundayClose) schedule.sunday.close = Number(data.sundayClose)\n\n const info: oBusinessInfo = {\n version: \"v2024\",\n name: data.name ? data.name : \"\",\n address: address,\n phones: data.phones ? data.phones : [],\n email: data.email ? data.email : \"\",\n schedule: schedule,\n desc: data.desc ? data.desc : \"\"\n }\n\n return info\n }\n\n public static FormDeadlineConfig(data: oBusinessDeadlines) {\n // if (!data) data = cBusinessDeadlines\n\n return {\n weeks: new UntypedFormControl(data.weeks),\n interest: new UntypedFormControl(data.interest),\n }\n }\n\n public static FormBusinessConfig(config?: oBusinessConfig) {\n let data = cBusinessConfig\n if (config) data = config\n\n return {\n downloadsClient: new UntypedFormControl(data.downloadsClient),\n passportPaymentReference: new UntypedFormControl(data.passportPaymentReference),\n conektaPaymentReference: new UntypedFormControl(data.conektaPaymentReference),\n conektaPaymentLink: new UntypedFormControl(data.conektaPaymentLink),\n dynamicPaymentReference: new UntypedFormControl(data.dynamicPaymentReference),\n deadlines: new UntypedFormArray([])\n }\n }\n\n public static testBusiness(message: string) {\n return `Message ${message}`\n }\n}\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {cClient, cUserReference} from \"./UtilClient\";\n// import {TaskState} from \"firebase/storage\";\nimport {cBusinessDeadlines} from \"./UtilBusiness\";\nimport {IDCAccount} from \"./UtilDynamiCore\";\nimport {oDevice} from '../objects/oDevice';\nimport {oFinancial} from '../objects/oFinancial';\nimport {oAddress} from '../objects/oAddress';\nimport {oContract} from '../objects/oContract';\nimport {oClient, oUserReference} from '../objects/oClient';\nimport {oAsset, oAssetBrand, oAssetCategory} from '../../v2/objects/oAsset';\nimport {oCatalog} from '../../v2/objects/oCatalog';\nimport {oScoreReference} from '../../v2/objects/oScoreDto';\nimport {tyClientContract} from '../../v2/objects/oUtil';\nimport {cAddress} from '../../v2/constant/constants';\n\nexport enum eProvider {\n none = \"\",\n Conekta = \"Conekta\",\n Passport = \"Passport\",\n DynamiCore = \"DynamiCore\",\n}\n\nexport const cDevice: oDevice = {\n device: \"\",\n IMEI: \"\"\n}\n\nexport const cFinancial: oFinancial = {\n total: 0,\n initial: 0,\n deadlines: cBusinessDeadlines,\n initDate: 0,\n weeklyPayment: 0,\n pendingOf: [],\n progress: [],\n interest: 0,\n provider: eProvider.DynamiCore,\n financed: 0,\n nextPayment: 0,\n amount_commission_opening: 0,\n principal_disbursed: 0,\n expected_disbursed: 0, // ---------\n credit_type: 'Arrendamiento',\n interest_rate: 0,\n commission_opening: 0,\n interest_arrears: 0,\n}\n\nexport const cContract: oContract = {\n id: \"\",\n client: \"\",\n address: cAddress,\n device: cDevice,\n financial: cFinancial,\n by: \"\",\n active: true\n}\n\nexport class FactoryContract {\n\n public static FormClient(client?: oClient) {\n let data = cClient\n\n if (client) data = client\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n email: new UntypedFormControl(data.username, [Validators.required, Validators.email]),\n phone: new UntypedFormControl(data.phone, [Validators.required, Validators.min(10)]),\n curp: new UntypedFormControl(data.curp, [Validators.required, Validators.minLength(16)]),\n userReferences: new UntypedFormArray([])\n }\n }\n\n public static CreateUserReferenceFormObj(user: oUserReference) {\n let data = cUserReference\n\n if (user.name != \"\") data = user\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n phone: new UntypedFormControl(data.phone, [Validators.required]),\n relationship: new UntypedFormControl(data.relationship, [Validators.required]),\n }\n }\n\n public static FormAddress(address?: oAddress) {\n let data = cAddress\n\n if (address) data = address\n\n return {\n street: new UntypedFormControl(data.street, Validators.required),\n neighbor: new UntypedFormControl(data.neighbor, Validators.required),\n cp: new UntypedFormControl(data.zip, Validators.required),\n ext: new UntypedFormControl(data.ext, Validators.required),\n int: new UntypedFormControl(data.int),\n city: new UntypedFormControl(data.city, Validators.required),\n state: new UntypedFormControl(data.state, Validators.required),\n }\n }\n\n public static FormDevice(device?: oDevice) {\n let data = cDevice\n\n if (device) data = device\n\n return {\n model: new UntypedFormControl(data.device, Validators.required),\n IMEI: new UntypedFormControl(data.IMEI, Validators.required),\n ID: new UntypedFormControl(data.id),\n }\n }\n\n public static FormFinancial(financial?: oFinancial) {\n let data = cFinancial\n\n if (financial) data = financial\n\n data.credit_type = \"Arrendamiento\"\n // data.deadlines.weeks = cBusinessDeadlines\n\n return {\n total: new UntypedFormControl(data.total, [Validators.required, Validators.min(1)]),\n initial: new UntypedFormControl(data.initial, [Validators.required]),\n financed: new UntypedFormControl(data.financed, Validators.min(1)),\n weeklyPayment: new UntypedFormControl(data.weeklyPayment, [Validators.required, Validators.min(1)]),\n deadlines: new UntypedFormControl(data.deadlines, [Validators.required]),\n initDate: new UntypedFormControl(data.initDate),\n provider: new UntypedFormControl(data.provider),\n\n credit_type: new UntypedFormControl(data.credit_type ? data.credit_type : 0),\n interest_rate: new UntypedFormControl(data.interest_rate ? data.interest_rate : 0), // interes credit dynamic\n commission_opening: new UntypedFormControl(data.commission_opening ? data.commission_opening : 0),\n interest_arrears: new UntypedFormControl(data.interest_arrears ? data.interest_arrears : 0), // intereses moratorios dynamic\n\n amount_commission_opening: new UntypedFormControl(data.amount_commission_opening), // comision por apertura dynamic\n principal_disbursed: new UntypedFormControl(data.principal_disbursed),\n expected_disbursed: new UntypedFormControl(data.expected_disbursed)\n }\n }\n\n public static CreateContractFromFormObj(data: any, finalPay: number) {\n const date = new Date()\n\n const device: oDevice = {\n device: data[\"device\"][0].model,\n id: data[\"device\"][0].ID,\n IMEI: data[\"device\"][0].IMEI\n }\n const address: oAddress = {\n street: data[\"address\"][0].street,\n city: data[\"address\"][0].city,\n neighbor: data[\"address\"][0].neighbor,\n zip: data[\"address\"][0].cp,\n ext: data[\"address\"][0].ext,\n int: data[\"address\"][0].int,\n state: data[\"address\"][0].state\n }\n\n const financial: oFinancial = {\n total: Number(data[\"financial\"][0].total),\n initial: data[\"financial\"][0].initial,\n deadlines: data[\"financial\"][0].deadlines,\n progress: [],\n pendingOf: [],\n weeklyPayment: data[\"financial\"][0].weeklyPayment,\n interest: data[\"financial\"][0].interest_rate,\n finalDate: date.getTime() + (data[\"financial\"][0].deadlines.weeks * (604800 * 1000)),\n initDate: date.getDate(),\n dayCut: date.getDate(),\n provider: data[\"financial\"][0].provider,\n finalPayment: finalPay,\n financed: data[\"financial\"][0].financed,\n nextPayment: data[\"financial\"][0].nextPayment\n }\n if (data[\"financial\"][0].provider == eProvider.DynamiCore) {\n financial.initial = data[\"financial\"][0].amount_commission_opening ? Number(data[\"financial\"][0].amount_commission_opening) : 0\n financial.expected_disbursed = data[\"financial\"][0].expected_disbursed ? Number(data[\"financial\"][0].expected_disbursed) : 0\n financial.principal_disbursed = data[\"financial\"][0].principal_disbursed ? Number(data[\"financial\"][0].principal_disbursed) : 0\n financial.interest_arrears = data[\"financial\"][0].interest_rate ? Number(data[\"financial\"][0].interest_rate) : 0\n financial.commission_opening = data[\"financial\"][0].commission_opening ? Number(data[\"financial\"][0].commission_opening) : 0\n financial.credit_type = data[\"financial\"][0].credit_type ? data[\"financial\"][0].credit_type : \"\"\n financial.clabe = data[\"financial\"][0].clabe ? data[\"financial\"][0].clabe : \"\"\n }\n\n if (data[\"financial\"][0].amount_commission_opening != undefined) {\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.initial = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.initial = Number(data[\"financial\"][0].initial)\n }\n\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.amount_commission_opening = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.amount_commission_opening = financial.initial\n\n if (financial.nextPayment == undefined) financial.nextPayment = 0\n\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true,\n lastPayment: date.getTime(),\n createdAt: date.getTime()\n }\n return contract\n }\n\n public static CreateContractToConektaObj(data: oContract, monthlyPay: number, finalPay: number) {\n const o: any = {}\n const score: oScoreReference = {\n name: \"\",\n score: 0\n }\n const catalog: oCatalog = {\n name: \"\",\n description: \"\",\n id: \"\",\n createdAt: 0\n }\n const brand : oAssetBrand = {\n name: \"\",\n id: \"\",\n description: \"\"\n }\n const category : oAssetCategory = {\n name: \"\",\n id: \"\",\n createAt: 0\n }\n const deviceV2: oAsset = {\n name: \"\",\n id: \"\",\n createAt: new Date().getTime(),\n category: category,\n brand: brand,\n price: 0,\n model: \"\",\n imageUrl: [],\n paymentOption: [],\n catalog: catalog,\n offers: [],\n score: score,\n IMEI: \"\"\n }\n\n const device: oDevice = {\n device: data.device.device,\n id: data.device.id,\n IMEI: data.device.IMEI\n }\n const address: oAddress = {\n street: data.address.street,\n city: data.address.city,\n neighbor: data.address.neighbor,\n zip: data.address.zip,\n ext: data.address.ext,\n int: data.address.int,\n state: data.address.state\n }\n const financial: oFinancial = {\n total: data.financial.total,\n initial: data.financial.initial,\n deadlines: data.financial.deadlines,\n progress: data.financial.progress,\n pendingOf: data.financial.pendingOf,\n weeklyPayment: data.financial.weeklyPayment,\n interest: data.financial.interest,\n finalDate: data.financial.finalDate,\n initDate: data.financial.initDate,\n dayCut: data.financial.dayCut,\n provider: data.financial.provider,\n finalPayment: data.financial.finalPayment,\n financed: data.financial.financed,\n nextPayment: data.financial.nextPayment\n }\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true\n }\n return contract\n }\n\n public static CreateAuthForm(username: string, curp: string) {\n const password: string = this.createPassword(curp)\n return {\n username: new UntypedFormControl(username, Validators.required),\n password: new UntypedFormControl(password, Validators.required),\n }\n }\n\n public static createPassword(curp: string): string {\n const _curp = curp.split(\"\")\n let password = \"\"\n const limit = 7\n\n if (_curp.length < 16) return \"\"\n\n password += _curp[0].toLowerCase()\n\n for (let i = 1; i <= limit; i++)\n password += _curp[i].toUpperCase()\n\n password += `*`\n return password\n }\n\n public static MapperTypeContCli_Contract(_contract: tyClientContract): oContract {\n const contract: oContract = {\n id: _contract.contract!,\n client: _contract.client,\n address: _contract.address,\n device: _contract.device,\n financial: _contract.financial,\n by: _contract.by,\n active: _contract.active,\n lastPayment: _contract.lastPayment,\n createdAt: _contract.createdAt,\n dynamicAccount: _contract.dynamicAccount,\n }\n\n return contract\n }\n\n public static MapperSyncContractDynamic(base: oContract, account: IDCAccount): oContract {\n let nContract = base\n let _financial = base.financial\n let _device = base.device\n\n\n const financial: oFinancial = {\n total: _financial.total,\n initial: account.properties.amount_commission_opening ? account.properties.amount_commission_opening : _financial.initial,\n deadlines: _financial.deadlines,\n progress: _financial.progress ? _financial.progress : [],\n pendingOf: _financial.pendingOf ? _financial.pendingOf : [],\n weeklyPayment: _financial.weeklyPayment,\n interest: _financial.interest,\n finalDate: _financial.finalDate,\n initDate: _financial.initDate,\n dayCut: _financial.dayCut,\n provider: _financial.provider,\n finalPayment: _financial.finalPayment,\n financed: _financial.financed,\n nextPayment: _financial.nextPayment ? _financial.nextPayment : 0,\n\n amount_commission_opening:\n account.properties.amount_commission_opening,\n\n expected_disbursed:\n account.properties.expected_disbursed ?\n Number(account.properties.expected_disbursed) :\n Number(_financial.expected_disbursed),\n\n principal_disbursed:\n account.properties.principal_disbursed ?\n account.properties.principal_disbursed :\n _financial.principal_disbursed,\n\n commission_opening:\n account.config.commission_opening ?\n Number(account.config.commission_opening) :\n Number(_financial.commission_opening),\n\n credit_type:\n account.config.credit_type ? account.config.credit_type : _financial.credit_type,\n\n clabe:\n String(account.properties.clabe ? account.properties.clabe : _financial.clabe)\n }\n\n const interestArrears = account.config.interest_arrears\n const prevInterestArrears = _financial.interest_arrears\n if (interestArrears != undefined) {\n financial.interest_arrears = interestArrears\n } else if (prevInterestArrears != undefined) {\n financial.interest_arrears = prevInterestArrears\n } else {\n financial.interest_arrears = 0\n }\n\n const interest = account.config.interest_rate\n const prevInterest = _financial.interest\n if (interest != undefined) {\n financial.interest = interest\n } else if (prevInterest != undefined) {\n financial.interest = prevInterest\n } else {\n financial.interest = 0\n }\n\n if (account.properties.amount_commission_opening != undefined) {\n if (Number(account.properties.amount_commission_opening) > 0) {\n financial.initial = Number(account.properties.amount_commission_opening)\n financial.amount_commission_opening = Number(account.properties.amount_commission_opening)\n } else {\n financial.initial = Number(_financial.initial)\n financial.amount_commission_opening = financial.initial\n }\n }\n\n const seller: string | undefined = account.properties.seller_name\n nContract.by = seller != null ? seller : \"\"\n\n nContract.device.id = _device.id ? _device.id : \"\"\n\n nContract.financial = financial\n return nContract\n }\n}\n\nexport enum eContractStatus {\n APPROVED = 'APPROVED',\n DENIED = 'DENIED',\n CANCELED = 'CANCELED',\n PENDING = 'PENDING',\n CHECKING = 'CHECKING',\n}\n","import {oClient, oUserReference} from '../objects/oClient';\nimport {iConektaRecurrent, iConektaSources} from '../objects/oConekta';\nimport {oContract} from '../objects/oContract';\nimport {cContract} from './UtilContract';\nimport {IDCAccount, IDCClient} from './UtilDynamiCore';\nimport {oFinancial} from '../objects/oFinancial';\nimport { tyClientContract } from \"../../v2/objects/oUtil\";\nimport {cConektaRecurrent} from '../../v2/constant/constants';\nimport {eClientStatus} from '../../v2/enum/EnumClient';\n\nexport const cClient: oClient = {\n id: \"\",\n name: \"\",\n username: \"\",\n email: \"\",\n phone: \"\",\n curp: \"\",\n contract_temporary: \"\",\n conekta_id: \"\",\n userReferences: [],\n status: \"\"\n}\n\nexport interface oClientConekta {\n ravcredit: oClient;\n conekta: iConektaRecurrent;\n}\n\nexport const cUserReference: oUserReference = {\n name: \"\",\n phone: \"\",\n relationship: \"\"\n}\n\nexport const cClientConekta: oClientConekta = {\n conekta: cConektaRecurrent,\n ravcredit: cClient\n}\n\nexport interface iClientContract {\n client: oClient;\n contract: oContract;\n}\n\nexport const cClientContract: iClientContract = {\n client: cClient,\n contract: cContract,\n}\n\nexport class FactoryClient {\n\n public static CreateClientToConektaObj(data: oClient) {\n const o: any = {}\n if (data.name && data.name.length > 0) o.name = data.name;\n if (data.username && data.name.length > 0) o.username = data.username;\n if (data.email && data.email.length > 0) o.email = data.email;\n if (data.phone && data.phone.length > 0) o.phone = String(data.phone);\n if (data.curp && data.curp.length > 0) o.curp = data.curp;\n if (data.userReferences && data.userReferences.length > 0) o.userReferences = data.userReferences;\n if (data.contract) o.contract = data.contract;\n if (data.createdAt) o.createdAt = data.createdAt;\n if (data.lastLogin) o.lastLogin = data.lastLogin;\n if (data.conekta_id) o.conekta_id = data.conekta_id;\n\n return o\n }\n\n public static CreateClientFromFormObj(data: any, client?: oClient): oClient {\n const o: oClient = {\n id: \"\",\n name: data[\"client\"][0].name,\n username: data[\"auth\"][0].username,\n password: data[\"auth\"][0].password,\n email: data[\"client\"][0].email,\n phone: String(data[\"client\"][0].phone),\n curp: data[\"client\"][0].curp,\n userReferences: data[\"client\"][0].userReferences,\n status: eClientStatus.ACTIVE\n }\n\n if (client != undefined) {\n if (client.dynamic_id) o.dynamic_id = client.dynamic_id;\n if (client.dynamic_account) o.dynamic_account = client.dynamic_account;\n if (client.conekta_id) o.conekta_id = client.conekta_id;\n }\n\n return o\n }\n\n public static CreateClientConektaObj(data: oClient, finalDate: number) {\n const sources: iConektaSources = {\n type: \"oxxo_recurrent\",\n expires_at: finalDate\n }\n return {\n name: data.name,\n email: data.email,\n phone: data.phone,\n contract: data.contract_temporary,\n client_id: data.id,\n payment_sources: [sources]\n }\n }\n\n public static MapperConektaClient(\n client: oClient,\n conekta: iConektaRecurrent,\n ): iClientContract {\n const o: oClient = client\n\n o.name = conekta.name\n o.email = conekta.email\n o.phone = conekta.phone\n o.conekta_id = conekta.id\n\n return {\n client: o,\n contract: cContract\n }\n }\n\n public static MapperTypeContCli_Client(_client: tyClientContract): oClient {\n const client: oClient = {\n id: _client.id,\n name: _client.name,\n username: _client.username,\n email: _client.email,\n phone: _client.phone,\n curp: _client.curp,\n userReferences: _client.userReferences,\n status: _client.status,\n contract: _client.contract,\n reference: _client.reference,\n references: _client.references,\n conekta_id: _client.conekta_id,\n dynamic_account: _client.dynamic_account,\n token: _client.token,\n contract_temporary: _client.contract_temporary,\n lastLogin: _client.lastLogin,\n dynamic_id: _client.dynamic_id,\n createdAt: _client.createdAt,\n payments: _client.payments,\n password: _client.password,\n contractUrl: _client.contractUrl,\n dynamic_ref: _client.dynamic_ref,\n exists: _client.exists,\n passport_id: _client.passport_id,\n }\n\n return client\n }\n\n public static MapperDynamicClient(\n dynamic: IDCClient,\n client: oClient,\n contract: oContract,\n clientDyn?: IDCClient,\n account?: IDCAccount,\n ): iClientContract {\n // constant o: tyClientContract = cTyClientContract\n\n /* Client ------------------------------------------------------ */\n client.username = `${dynamic.pii.name} ${dynamic.pii.motherlastname} ${dynamic.pii.lastname}`\n client.phone = dynamic.pii.phone as string\n client.dynamic_id = dynamic.id\n client.curp = dynamic.pii.curp\n client.email = dynamic.pii.email\n\n if (account)\n client.dynamic_account = account.id\n\n /* Auth ---------------------------------------------------------- */\n\n\n /* Device -------------------------------------------------------- */\n contract.device.IMEI = clientDyn!.pii.imei\n contract.device.device = clientDyn!.pii.model\n\n /* Contract ------------------------------------------------------ */\n contract.by = clientDyn!.pii.seller_name\n\n if (clientDyn!.pii.fotografia_del_cliente_con_el_equipo != undefined) {\n const oPhoto = clientDyn!.pii.fotografia_del_cliente_con_el_equipo!\n if (oPhoto != \"\") {\n const _photo = JSON.parse(oPhoto)\n if (_photo)\n contract.photo = _photo[0].url\n }\n }\n\n contract.address.state = dynamic.pii.state\n contract.address.city = dynamic.pii.city\n contract.address.street = dynamic.pii.street\n contract.address.ext = dynamic.pii.num_ext as string\n contract.address.zip = dynamic.pii.zipcode as string\n contract.address.neighbor = dynamic.pii.colony\n\n /* Financial ------------------------------------------------------ */\n contract.dynamicAccount = Number(account?.id)\n\n if (account?.config.installments) {\n contract.financial.deadlines = {\n weeks: account.config.installments,\n interest: 0\n }\n }\n\n if (account?.properties.expected_disbursed)\n contract.financial.total = account?.properties.expected_disbursed\n\n if (account?.properties.principal_disbursed)\n contract.financial.financed = account?.properties.principal_disbursed\n\n if (account?.properties.amount_commission_opening) {\n contract.financial.initial = account?.properties.amount_commission_opening\n contract.financial.amount_commission_opening = account?.properties.amount_commission_opening\n }\n\n contract.financial.interest_rate = Number(clientDyn!.pii.interest_rate)\n contract.financial.interest_arrears = account?.config.interest_arrears\n contract.financial.commission_opening = account?.config.commission_opening\n contract.financial.credit_type = account?.config.credit_type\n\n contract.financial.principal_disbursed = account?.properties.principal_disbursed\n contract.financial.expected_disbursed = account?.properties.expected_disbursed\n\n contract.financial.weeklyPayment = Number(clientDyn!.pii.amount_by_period)\n\n return {\n client: client,\n contract: contract,\n }\n }\n\n public static MapperFinancialContract(\n contract: oContract,\n account: IDCAccount,\n ): oFinancial {\n\n contract.dynamicAccount = Number(account.id)\n\n if (account.config.installments) {\n contract.financial.deadlines = {\n weeks: account.config.installments,\n interest: 0\n }\n }\n\n const total =\n account.config.financed_amount != undefined ? account.config.financed_amount : 0\n\n if (total > 0)\n contract.financial.total = total\n\n // if (account.properties.expected_disbursed)\n const expected_disbursed =\n account.properties.expected_disbursed != undefined ? account.properties.expected_disbursed : 0\n\n if (expected_disbursed > 0) contract.financial.total = expected_disbursed\n contract.financial.expected_disbursed = expected_disbursed\n\n contract.financial.interest_rate = account.config.interest_rate\n contract.financial.interest_arrears = account.config.interest_arrears\n\n // if (account.properties.principal_disbursed)\n if (account.properties.principal_disbursed > 0)\n contract.financial.financed = account.properties.principal_disbursed\n\n contract.financial.principal_disbursed = account.properties.principal_disbursed\n\n const amount_commission_opening =\n account.properties.amount_commission_opening != undefined ? account.properties.amount_commission_opening : 0\n\n if (amount_commission_opening > 0)\n contract.financial.initial = amount_commission_opening\n\n contract.financial.amount_commission_opening = amount_commission_opening\n\n contract.financial.interest_arrears = account.config.interest_arrears\n contract.financial.commission_opening = account.config.commission_opening\n contract.financial.credit_type = account.config.credit_type\n\n contract.financial.clabe = String(account.properties.clabe!)\n\n return contract.financial\n }\n\n public static CheckEmail =\n (email: string): boolean => email.includes(\"@\") && email.endsWith(\".com\")\n}\n\nexport enum eIdentityTypes {\n SELFIE = 'SELFIE',\n IDENTITY_FRONT = 'IDENTITY_FRONT',\n IDENTITY_BACK = 'IDENTITY_BACK',\n PASSPORT_FRONT = 'PASSPORT_FRONT',\n PASSPORT_BACK = 'PASSPORT_BACK',\n SERVICE='SERVICE',\n WITH_DEVICE='WITH_DEVICE',\n}\n","export class UtilsHttp {\n\n public static CreateHeadersRavcreditApi(token: string) {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Authorization': `Bearer ${token}`\n }\n }\n\n public static CreateSimpleHeadersApi() {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n }\n }\n\n public static CreateAwsHeadersApi() {\n return {\n 'Content-Type': 'application/json'\n }\n }\n}\n","import {UntypedFormControl, Validators} from \"@angular/forms\";\r\nimport {oClient} from '../objects/oClient';\r\nimport {oContract} from '../objects/oContract';\r\n\r\nexport enum eReferenceStatusRav {\r\n \"Disponible\" = \"Disponible\",\r\n \"Active\" = \"Activo con credito vigente\",\r\n \"ActiveEnded\" = \"Activo sin credito vigente\",\r\n \"Registered\" = \"Registrado\",\r\n \"NonRegistered\" = \"No registrado\",\r\n \"NonVerified\" = \"No verificado\",\r\n \"Rejected\" = \"Rechazado\",\r\n \"Pending\" = \"Pendiente\"\r\n}\r\n\r\nexport enum eAccountDynamicStatus {\r\n \"OK\" = \"Con cuenta activa\",\r\n \"NOK\" = \"Sin cuenta activa\",\r\n}\r\n\r\n//\r\n// export enum eAccountDynamicRegister {\r\n// \"Active\" = \"Activo\", // Ok\r\n// \"NonAuthorized\" = \"No autorizado\",\r\n// \"Authorized\" = \"Autorizado\", // Non ref\r\n// \"Accepted\" = \"Aceptado\", // Non ref\r\n// \"Rejected\" = \"Rechazado\", // Non ref\r\n// \"Pending\" = \"Pendiente\", // Non ref\r\n// \"NotFound\" = \"No registrado\"\r\n// }\r\n\r\nexport enum eClientDynamicStatus {\r\n \"Active\" = \"Active\",\r\n \"Pending\" = \"Pending\",\r\n \"Accepted\" = \"Accepted\",\r\n \"Rejected\" = \"Rejected\",\r\n \"approved\" = \"Aprobado\",\r\n}\r\n\r\nexport const cClientDynamicStatus = {\r\n Active: {\r\n value: \"Active\",\r\n viewValue: \"Activo\"\r\n },\r\n Pending: {\r\n value: \"Pending\",\r\n viewValue: \"Pendiente\"\r\n },\r\n Accepted: {\r\n value: \"Accepted\",\r\n viewValue: \"Pre autorizado\"\r\n },\r\n Rejected: {\r\n value: \"Rejected\",\r\n viewValue: \"Rechazado\"\r\n },\r\n Idle: {\r\n value: \"Idle\",\r\n viewValue: \"\"\r\n },\r\n}\r\n\r\nexport enum eContractSteps {\r\n \"idle\" = \"idle\",\r\n \"general\" = \"General\",\r\n \"address\" = \"Address\",\r\n \"device\" = \"Device\",\r\n \"financial\" = \"Financial\",\r\n \"app\" = \"App\",\r\n}\r\n\r\nexport type partialIDCData = Pick<IDCClient, \"pii\" | \"client_type\">\r\n\r\nexport interface IDCCharge {\r\n barcode_url: string;\r\n currency: string;\r\n expires_at: number;\r\n object: string;\r\n quantity: number;\r\n reference: string;\r\n service_name: string;\r\n store_name: string;\r\n type: string;\r\n unit_price: number;\r\n}\r\n\r\nexport interface IDCGeneratedReference {\r\n account: number;\r\n active: number;\r\n amount: number;\r\n channel: string;\r\n charge: IDCCharge;\r\n company: number;\r\n config?: any;\r\n id: string;\r\n operation: number;\r\n}\r\n\r\nexport const cIDCDataPii: IDCDataPii = {\r\n icc: \"\",\r\n rfc: \"\",\r\n sex: \"\",\r\n city: \"\",\r\n curp: \"\",\r\n days: \"\",\r\n imei: \"\",\r\n name: \"\",\r\n step: \"\",\r\n term: \"\",\r\n brand: \"\",\r\n email: \"\",\r\n model: \"\",\r\n phone: \"\",\r\n score: \"\",\r\n state: \"\",\r\n amount: \"\",\r\n colony: \"\",\r\n period: \"\",\r\n street: \"\",\r\n ticket: \"\",\r\n num_ext: \"\",\r\n num_int: \"\",\r\n zipcode: \"\",\r\n evidence: \"\",\r\n financed: \"\",\r\n house_is: \"\",\r\n lastname: \"\",\r\n type_job: \"\",\r\n birthdate: \"\",\r\n birthstate: \"\",\r\n dicio_data: \"\",\r\n dicio_step: \"\",\r\n secondname: \"\",\r\n nationality: \"\",\r\n seller_name: \"\",\r\n down_payment: \"\",\r\n municipality: \"\",\r\n score_no_hit: \"\",\r\n study_degree: \"\",\r\n branch_office: \"\",\r\n identity_data: \"\",\r\n interest_rate: \"\",\r\n score_interno: \"\",\r\n marital_status: \"\",\r\n monthly_income: \"\",\r\n motherlastname: \"\",\r\n score_rcc_fico: \"\",\r\n identity_selfie: \"\",\r\n amount_by_period: \"\",\r\n identity_id_back: \"\",\r\n proof_of_address: \"\",\r\n identity_id_front: \"\",\r\n economic_dependents: \"\",\r\n identity_id_request: \"\",\r\n identity_verification: \"\",\r\n is_address_ine_currently_live: \"\",\r\n fotografia_del_cliente_con_el_equipo: \"\",\r\n estado: \"\",\r\n gender: \"\"\r\n}\r\n\r\n/**\r\n * Base customer for create customer with DynamiCore provider\r\n * */\r\nexport const cIDCCustomer: partialIDCData = {\r\n pii: cIDCDataPii,\r\n client_type: 662\r\n}\r\n\r\nexport interface IDCDataPii {\r\n icc: string,\r\n rfc: string,\r\n city: string,\r\n curp: string,\r\n sex: string,\r\n days: string,\r\n step: string,\r\n ticket: string,\r\n evidence: string,\r\n proof_of_address: string,\r\n score_interno: string,\r\n imei: string,\r\n name: string,\r\n term: string,\r\n brand: string,\r\n email: string,\r\n model: string,\r\n phone: string,\r\n score: any,\r\n state: string,\r\n amount: string,\r\n colony: string,\r\n estado: any,\r\n gender: string,\r\n period: string,\r\n street: string,\r\n num_ext: string,\r\n num_int: string,\r\n zipcode: string,\r\n financed: string,\r\n house_is: string,\r\n lastname: string,\r\n type_job: string,\r\n birthdate: string,\r\n birthstate: string,\r\n dicio_data: string,\r\n dicio_step: any,\r\n secondname: string,\r\n nationality: string,\r\n seller_name: string,\r\n down_payment: string,\r\n municipality: string,\r\n score_no_hit: string,\r\n study_degree: string,\r\n branch_office: string,\r\n identity_data: any,\r\n interest_rate: string,\r\n marital_status: string,\r\n monthly_income: string,\r\n motherlastname: string,\r\n score_rcc_fico: string,\r\n identity_selfie: any,\r\n amount_by_period: string,\r\n identity_id_back: any,\r\n identity_id_front: any,\r\n economic_dependents: string,\r\n identity_id_request: any,\r\n identity_verification: any,\r\n is_address_ine_currently_live: string,\r\n fotografia_del_cliente_con_el_equipo?: string\r\n}\r\n\r\nexport interface IDCAccountProps {\r\n clabe: string | number,\r\n pagaqui: string | number,\r\n start_date: string,\r\n expected_disbursed: number,\r\n reference_pagaaqui: string,\r\n principal_disbursed: number,\r\n amount_commission_opening: number,\r\n seller_name?: string\r\n}\r\n\r\nexport interface IDCAccountConfig {\r\n contract: string,\r\n credit_type: string,\r\n periodicity: string,\r\n installments: number,\r\n interest_base: string,\r\n interest_rate: number,\r\n interest_arrears: number,\r\n commission_opening: number,\r\n financed_amount?: number\r\n}\r\n\r\nexport interface IDCAccount {\r\n id: number,\r\n group: number,\r\n company: number,\r\n client: number,\r\n created_at: string,\r\n currency: string | number,\r\n status: string,\r\n properties: IDCAccountProps,\r\n product: number,\r\n enabled: string | number,\r\n config: IDCAccountConfig,\r\n amount: number,\r\n type: string,\r\n identifier: string,\r\n start_at: string,\r\n el: any,\r\n client_id: string | number\r\n}\r\n\r\nexport interface IDCTxnRowExtras {\r\n reference: string,\r\n transaction: string\r\n}\r\n\r\nexport interface IDCTxnRow {\r\n id: string,\r\n created_at: string,\r\n seq: number,\r\n created: string,\r\n last4: string,\r\n response: any,\r\n transaction_id: string,\r\n contrapart: string,\r\n reference: string,\r\n external_reference: any,\r\n extras: IDCTxnRowExtras,\r\n name: string,\r\n debit: number,\r\n credit: number,\r\n amount: number\r\n}\r\n\r\nexport interface IDCTxnHeader {\r\n name: string,\r\n type: string,\r\n label?: string,\r\n money?: string,\r\n format?: string\r\n}\r\n\r\nexport interface IDCTxn {\r\n rows: IDCTxnRow[],\r\n headers: IDCTxnHeader[]\r\n}\r\n\r\nexport interface IDCMntryCycle {\r\n date: string,\r\n late: number,\r\n paid: number,\r\n past: string | boolean,\r\n cycle: string | number,\r\n amount: number,\r\n detail: any,\r\n status: string\r\n}\r\n\r\nexport interface IDCMntryPymtAllPaidTotal {\r\n amount: string,\r\n cycles: string\r\n}\r\n\r\nexport interface IDCMntryPymtAll {\r\n late: number,\r\n total: number,\r\n va_cp: number,\r\n actual: number,\r\n cycles: IDCMntryCycle[],\r\n vencido: number,\r\n paid_total: IDCMntryPymtAllPaidTotal,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDue {\r\n total: number,\r\n cycles: IDCMntryCycle[],\r\n new_cycle: IDCMntryCycle,\r\n old_cycle: IDCMntryCycle,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtOpen extends IDCMntryPymtDue {\r\n}\r\n\r\nexport interface IDCMntryPymtPaid {\r\n total: number,\r\n cycles: IDCMntryCycle[] | any[],\r\n new_cycle: any,\r\n old_cycle: any,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDueTax {\r\n expected: number;\r\n}\r\n\r\nexport interface IDCMntryPymtPymt {\r\n paid: number,\r\n expected: number\r\n}\r\n\r\nexport interface IDCMntryPymtCal {\r\n due: IDCMntryPymtDue,\r\n date: string,\r\n past: string,\r\n cycle: number,\r\n balance: number,\r\n due_tax: IDCMntryPymtDueTax,\r\n payment: IDCMntryPymtPymt,\r\n interest: IDCMntryPymtPymt,\r\n principal: IDCMntryPymtPymt,\r\n payment_tax: IDCMntryPymtPymt,\r\n interest_tax: IDCMntryPymtPymt,\r\n final_balance: number,\r\n payment_total: IDCMntryPymtPymt,\r\n principal_tax: IDCMntryPymtPymt\r\n}\r\n\r\nexport interface IDCMntryPymt {\r\n all: IDCMntryPymtAll,\r\n due: IDCMntryPymtDue,\r\n open: IDCMntryPymtOpen,\r\n paid: IDCMntryPymtPaid,\r\n payment_calendar: IDCMntryPymtCal[]\r\n}\r\n\r\nexport interface IDCClient {\r\n id: number,\r\n company: number,\r\n status: string,\r\n external_id: string,\r\n pii: IDCDataPii,\r\n client_type: number,\r\n created_at: string,\r\n pd: number,\r\n username: string,\r\n group: number\r\n}\r\n\r\nexport interface IDCMsg {\r\n code: number,\r\n total: number,\r\n data: IDCClient[] | IDCAccount[] | IDCTxn[] | IDCTxn | IDCMntryPymt | IDCCredit[] | IDCTransaction[],\r\n transaction?: string\r\n}\r\n\r\nexport interface IDynamiCore {\r\n status: string,\r\n message: IDCMsg\r\n}\r\n\r\n/**\r\n * Interfaces for request (base)\r\n * */\r\nexport interface IDCClientObjFilter {\r\n name: string,\r\n filter: string[] | number[],\r\n type: string,\r\n sort: string\r\n}\r\n\r\nexport interface IDCClientQuery {\r\n filters: IDCClientObjFilter[];\r\n}\r\n\r\nexport interface IDCClientPiiFilter {\r\n limit: number,\r\n page: number,\r\n query: IDCClientQuery\r\n}\r\n\r\n/**\r\n * DynamiCore Reference Interface\r\n * */\r\n\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCOxxoRefItem {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCOxxoRefPymtMth {\r\n type: string;\r\n}\r\n\r\nexport interface IDCOxxoRef {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCOxxoRefItem,\r\n payment_method: IDCOxxoRefPymtMth\r\n}\r\n\r\n/**\r\n * DynamiCore Reference\r\n * */\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCRefItems {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCRefPymtMethod {\r\n type: string;\r\n}\r\n\r\nexport interface IDCNewReference {\r\n id: string,\r\n data: IDCReference,\r\n date?: number\r\n}\r\n\r\nexport interface IDCReference {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCRefItems,\r\n payment_method: IDCRefPymtMethod\r\n}\r\n\r\n/**\r\n * Interfaces to Credits\r\n * */\r\nexport interface IDCCreditProperties {\r\n start_date: string;\r\n principal_disbursed: number;\r\n expected_disbursed: number;\r\n amount_commission_opening: number;\r\n}\r\n\r\nexport interface IDCCreditConfig {\r\n contract: string;\r\n credit_type: string;\r\n interest_rate: number;\r\n installments: number;\r\n periodicity: string;\r\n interest_base: string;\r\n commission_opening: number;\r\n financed_amount: number;\r\n interest_arrears: number;\r\n}\r\n\r\nexport interface IDCCredit {\r\n id: number;\r\n group: number;\r\n company: number;\r\n client: number;\r\n created_at: string;\r\n currency: string;\r\n status: string;\r\n properties: IDCCreditProperties;\r\n product: number;\r\n enabled: string;\r\n config: IDCCreditConfig;\r\n amount: number;\r\n type: string;\r\n identifier: null | string;\r\n start_at: null | string;\r\n}\r\n\r\n/**\r\n * Payments\r\n * */\r\nexport interface IDCPayment {\r\n operation: number;\r\n account: string;\r\n date: string;\r\n amount: number;\r\n external_id?: string;\r\n dst_account: string;\r\n extras?: object;\r\n reference: string;\r\n}\r\n\r\nexport const cIDCPayment: IDCPayment = {\r\n operation: 98,\r\n account: \"\",\r\n date: \"\",\r\n amount: 0,\r\n dst_account: \"\",\r\n reference: \"\"\r\n}\r\n\r\n/**\r\n * Transactions\r\n * */\r\nexport interface IDCTransaction {\r\n data: [number, { transaction: string }];\r\n}\r\n\r\nexport const cIDCCharge: IDCCharge = {\r\n barcode_url: \"\",\r\n currency: \"\",\r\n expires_at: 0,\r\n object: \"\",\r\n quantity: 0,\r\n reference: \"\",\r\n service_name: \"\",\r\n store_name: \"\",\r\n type: \"\",\r\n unit_price: 0\r\n}\r\n\r\nexport const cIDCGeneratedReference: IDCGeneratedReference = {\r\n account: 0,\r\n active: 0,\r\n amount: 0,\r\n channel: \"\",\r\n charge: cIDCCharge,\r\n company: 0,\r\n id: \"\",\r\n operation: 0\r\n}\r\n\r\n/**\r\n * Common Factory Dynamic\r\n * */\r\nexport class FactoryDynamiCore {\r\n\r\n public static CreateReferenceBody(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): IDCNewReference | null {\r\n\r\n const customerInfo: IDCRefCustInfo = {\r\n name: client.name,\r\n email: client.email,\r\n phone: client.phone,\r\n }\r\n\r\n const customerItems: IDCRefItems = {\r\n name: \"Referencia Oxxo\",\r\n unit_price: contract.financial.weeklyPayment,\r\n quantity: 1\r\n }\r\n\r\n const paymentMethod: IDCRefPymtMethod = {\r\n type: \"oxxo_cash\"\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n const body: IDCNewReference = {\r\n id: client.id,\r\n data: {\r\n account: Number(client.dynamic_account),\r\n operation: 98,\r\n customer_info: customerInfo,\r\n items: customerItems,\r\n payment_method: paymentMethod\r\n }\r\n }\r\n\r\n if (dateTime != undefined) body.date = dateTime\r\n\r\n return body\r\n }\r\n\r\n public static CreateEmptyCustomer(): partialIDCData {\r\n return cIDCCustomer\r\n }\r\n\r\n public static CreateCustomerFromOClient(client: oClient, contract: oContract): partialIDCData {\r\n const o: partialIDCData = cIDCCustomer\r\n\r\n o.pii.email = client.email\r\n o.pii.name = client.name\r\n o.pii.curp = client.curp\r\n o.pii.phone = client.phone\r\n o.pii.amount = String(contract.financial.total)\r\n o.pii.financed = String(contract.financial.financed)\r\n o.pii.amount_by_period = String(contract.financial.weeklyPayment)\r\n\r\n o.pii.zipcode = contract.address.zip\r\n o.pii.street = contract.address.street\r\n o.pii.city = contract.address.city\r\n o.pii.state = contract.address.state\r\n o.pii.colony = contract.address.neighbor\r\n o.pii.num_ext = contract.address.ext\r\n\r\n return o\r\n }\r\n\r\n public static CreateDynamicCredit(\r\n client: oClient,\r\n contract: oContract,\r\n clientDynamic: IDCClient,\r\n ): Partial<IDCCredit> | null {\r\n const properties: IDCCreditProperties = {\r\n start_date: \"\",\r\n principal_disbursed: 0,\r\n expected_disbursed: 0,\r\n amount_commission_opening: 0\r\n }\r\n\r\n const config: IDCCreditConfig = {\r\n contract: `FP-${client.name}`,\r\n credit_type: \"Arrendamiento\",\r\n interest_rate: 528,\r\n installments: 0,\r\n periodicity: \"WEEK\",\r\n interest_base: \"ACT/ACT\",\r\n commission_opening: 40,\r\n financed_amount: contract.financial.financed,\r\n interest_arrears: 0\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n return {\r\n id: Number(client.dynamic_account),\r\n group: clientDynamic.group,\r\n company: clientDynamic.company,\r\n client: clientDynamic.id,\r\n created_at: \"\",\r\n currency: \"484\",\r\n status: \"pending\",\r\n properties: properties,\r\n product: 1756,\r\n enabled: \"1\",\r\n config: config,\r\n amount: 0,\r\n type: \"liabilities\",\r\n identifier: null,\r\n start_at: null\r\n }\r\n }\r\n\r\n public static CreatePayment(\r\n contract: oContract,\r\n clientDynamic: IDCAccount,\r\n ): IDCPayment {\r\n return {\r\n account: String(clientDynamic.id),\r\n amount: contract.financial.weeklyPayment,\r\n date: \"\",\r\n dst_account: String(clientDynamic.id),\r\n external_id: \"\",\r\n extras: {},\r\n operation: 98,\r\n reference: \"\"\r\n }\r\n }\r\n\r\n public static getNextDateTime(): string {\r\n const now = new Date();\r\n const nextDateTime = new Date(now.getTime() + 1000); // Add 1 second as an example\r\n\r\n const year = nextDateTime.getFullYear();\r\n const month = String(nextDateTime.getMonth() + 1).padStart(2, '0');\r\n const day = String(nextDateTime.getDate()).padStart(2, '0');\r\n const hours = String(nextDateTime.getHours()).padStart(2, '0');\r\n const minutes = String(nextDateTime.getMinutes()).padStart(2, '0');\r\n const seconds = String(nextDateTime.getSeconds()).padStart(2, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;\r\n }\r\n\r\n public static getIsoDate(): string {\r\n const now = new Date();\r\n return now.toISOString();\r\n }\r\n\r\n public static FormPayment(\r\n contract: oContract,\r\n account: IDCAccount) {\r\n\r\n let data = FactoryDynamiCore.CreatePayment(contract, account)\r\n\r\n return {\r\n amount: new UntypedFormControl(data.amount, [Validators.required, Validators.min(0)]),\r\n }\r\n }\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {\r\n oConektaNewOrder, oConektaNewOrderAntifraudInfo,\r\n oConektaNewOrderCharge,\r\n oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem,\r\n oConektaNewOrderPymMethod, oConektaOrderCreate\r\n} from '../objects/oConekta';\r\n\r\nexport enum ePaymentType {\r\n OXXO = \"OXXO\",\r\n ALTERNA = \"ALTERNA\",\r\n OXXO_RECURRENT = 'oxxo_recurrent'\r\n}\r\n\r\nexport class FactoryConekta {\r\n public static createOrder(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): oConektaNewOrder {\r\n\r\n if (client.conekta_id == undefined) return {\r\n data: {\r\n charges: [],\r\n currency: \"\",\r\n customer_info: {customer_id: \"\"},\r\n line_items: []\r\n },\r\n id: \"\"\r\n }\r\n\r\n const customer_info: oConektaNewOrderCustomerInfo = {\r\n customer_id: client.conekta_id\r\n }\r\n const week = ((3600 * 24) * 30) * 1000\r\n let next = new Date().getTime() + week\r\n next = Math.floor(next / 1000)\r\n\r\n const method: oConektaNewOrderPymMethod = {\r\n type: \"cash\",\r\n expires_at: next,\r\n }\r\n const charge: oConektaNewOrderCharge = {\r\n amount: contract.financial.weeklyPayment * 100,\r\n payment_method: method\r\n }\r\n const charges = [charge]\r\n\r\n const antifraud_info: oConektaNewOrderAntifraudInfo = {\r\n newKey: \"Key\"\r\n }\r\n\r\n const lineItem: oConektaNewOrderLineItem = {\r\n antifraud_info: antifraud_info,\r\n name: `Referencia credito ${client.name}`,\r\n quantity: 1,\r\n unit_price: contract.financial.weeklyPayment * 100,\r\n }\r\n\r\n const lineItems: oConektaNewOrderLineItem[] = [lineItem]\r\n\r\n const orderData: oConektaOrderCreate = {\r\n customer_info: customer_info,\r\n charges: charges,\r\n currency: \"MXN\",\r\n line_items: lineItems\r\n }\r\n\r\n const order: oConektaNewOrder = {\r\n data: orderData,\r\n id: client.id\r\n }\r\n\r\n if (dateTime != undefined) order.date = dateTime\r\n\r\n return order\r\n }\r\n}\r\n\r\n// '\r\n// {\r\n// \"customer_info\": {\r\n// \"name\": \"DevTest\",\r\n// \"email\": \"test@femsa.com\",\r\n// \"phone\": \"5522997233\"\r\n// },\r\n// \"currency\": \"MXN\",\r\n// \"line_items\": [\r\n// {\r\n// \"name\": \"Box of Cohiba S1s\",\r\n// \"quantity\": 1,\r\n// \"unit_price\": 20000\r\n// }\r\n// ]\r\n// }\r\n// '\r\n","import {cNotification, oNotification} from '../objects/oNotification';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\n\r\nexport const ROUTE_NOTIFICATIONS = \"notifications\"\r\nexport const ROUTE_GLOBAL_REFERENCE2 = \"/contract-reference\"\r\n\r\nconst prodFunction = \"https://us-central1-ravcredit-2b079.cloudfunctions.net/CustomerNotification\"\r\nconst prodFunction2 = \"https://customernotification-2imgfxveka-uc.a.run.app\"\r\nconst localTest = \"http://127.0.0.1:5001/ravcredit-2b079/us-central1/CustomerNotification\"\r\nexport const ravCreditFunctions = prodFunction\r\n\r\nexport class FactoryNotification {\r\n\r\n public static FormNotification(notification?: oNotification) {\r\n let data = cNotification\r\n\r\n if (notification) data = notification\r\n\r\n return {\r\n title: new UntypedFormControl(data.notification.title, [Validators.required, Validators.min(1)]),\r\n body: new UntypedFormControl(data.notification.body, [Validators.required, Validators.min(1)]),\r\n }\r\n }\r\n\r\n public static CreateGlobalNotificationObj(data: oNotification) {\r\n const o: any = {}\r\n\r\n if (data.notification) {\r\n const not: any = {}\r\n if (data.notification.body) not[\"body\"] = data.notification.body\r\n if (data.notification.title) not[\"title\"] = data.notification.title\r\n\r\n if (data.ids) not[\"ids\"] = data.ids\r\n\r\n if (data.tokens) not[\"tokens\"] = data.tokens\r\n\r\n if (data.type) not[\"type\"] = data.type\r\n\r\n if (data.data) if (data.data.route) not[\"route\"] = data.data.route\r\n\r\n o[\"data\"] = not\r\n }\r\n return o\r\n }\r\n\r\n}\r\n","export const keyUserID: string = \"rc_uid\"\r\nexport const dbVersion: number = 1\r\nexport const dbName: string = \"RavCreditDB\"\r\nexport const keyPathId: string = \"id\"\r\n\r\nexport const dbAuthStore: string = \"authStore\"\r\nexport const dbUsersStore: string = \"usersStore\"\r\nexport const dbContractsStore: string = \"contractsStore\"\r\nexport const dbClientsStore: string = \"clientsStore\"\r\nexport const dbBusinessInfo: string = \"businessInfo\"\r\nexport const dbBusinessConfig: string = \"businessConfig\"\r\nexport const dbConektaClientsStore: string = \"conektaClientsStore\"\r\nexport const dbConektaReferencesStore: string = \"conektaReferencesStore\"\r\nexport const dbConektaSpeiStore: string = \"conektaSpeiStore\"\r\nexport const dbPassportReferencesStore: string = \"passportReferencesStore\"\r\nexport const dbDynamicReferencesStore: string = \"dynamicReferencesStore\"\r\nexport const dbDynamicAccountStore: string = \"dynamicAccountStore\"\r\nexport const dbNotificationsStore: string = \"notificationsStore\"\r\nexport const dbPaymentsStore: string = \"paymentsStore\"\r\n\r\nexport const dbIndexAuth: string = \"iAuth\"\r\nexport const dbIndexUsers: string = \"iUsers\"\r\nexport const dbIndexContracts: string = \"iContracts\"\r\nexport const dbIndexClients: string = \"iClients\"\r\nexport const dbIndexBusiness: string = \"iBusiness\"\r\nexport const dbIndexConektaClients: string = \"iConecktaClients\"\r\nexport const dbIndexConektaClientsRef: string = \"iConecktaClientsRef\"\r\nexport const dbIndexPassportClientsRef: string = \"iPassportClientsRef\"\r\nexport const dbIndexNotification: string = \"iNotification\"\r\nexport const dbIndexPayments: string = \"iNotification\"\r\n\r\nexport const dateFormat = \"EEEE, dd MMM yyyy\"\r\nexport const dateFormatSimple = \"EEEEEE, dd MMM yyyy\"\r\nexport const dateCompleteFormat = \"EEEE, dd MMM yyyy hh:mm aaaa\"\r\nexport const timeFormat = \"hh:mm aaaa\"\r\nexport const TIME_FORMAT_TABLE = \"iii, dd MMM yyyy\"\r\nexport const timeFormatTable = \"iii, dd MMM yyyy\"\r\n\r\nexport const expiredPayment = \"expiredPayment\"\r\n\r\nexport const ROLES_KEY = 'roles';\r\n","import { Injectable } from '@angular/core';\r\nimport { oUser } from '../objects/oUser';\r\nimport {IDBPDatabase, openDB} from 'idb';\r\nimport {\r\n dbAuthStore, dbBusinessConfig, dbBusinessInfo,\r\n dbClientsStore,\r\n dbConektaClientsStore, dbConektaReferencesStore,\r\n dbContractsStore, dbDynamicReferencesStore,\r\n dbName, dbNotificationsStore, dbPassportReferencesStore,\r\n dbVersion,\r\n keyPathId,\r\n keyUserID\r\n} from '../const/constants';\r\nimport {oClient} from '../objects/oClient';\r\nimport {oContract} from '../objects/oContract';\r\nimport {eProvider} from '../util/UtilContract';\r\nimport {oBusinessConfig, oBusinessInfo} from '../objects/oBusiness';\r\nimport {oNotification} from '../objects/oNotification';\r\nimport { tyClientContract } from \"../../v2/objects/oUtil\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IndexedDbService {\r\n\r\n indexDbStatus = false\r\n iDb!: IDBPDatabase<unknown>\r\n\r\n constructor() {\r\n }\r\n\r\n // async dbAuthorization() {\r\n // // constant k = this.getLocalUser()\r\n // // if (k == null) return false\r\n // //\r\n // // constant db = await openDB(dbName, dbVersion)\r\n // // // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n // // constant auth = await db.get(dbAuthStore, k)\r\n // // // utils auth = await store.get(k)\r\n // // db.close()\r\n //\r\n // let auth: any = null\r\n // return auth;\r\n //\r\n // }\r\n\r\n /****************** SIMPLE Transactional - CRUD *************************************/\r\n\r\n async dbGetObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async dbGetAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async dbAddObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async dbRemoveObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n /************************************* AUTH **************************************/\r\n\r\n async dbSignIn(store: string, data: any) {\r\n await this.iDb.put(store, data)\r\n const _data = data as oUser\r\n this.setLocalStorage(keyUserID, _data.id)\r\n }\r\n\r\n async dbSignOut() {\r\n\r\n const k = this.getLocalUser()\r\n if (!k) return\r\n\r\n await this.iDb.delete(dbAuthStore, k)\r\n this.removeLocalStorage(keyUserID)\r\n }\r\n\r\n async dbAuthorization() {\r\n const k = this.getLocalUser()\r\n if (k == null) return false\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k)\r\n // utils auth = await store.get(k)\r\n db.close()\r\n\r\n if (!auth) return false\r\n else return true\r\n }\r\n\r\n async dbGetToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n /******************************** Local Storage *************************************/\r\n\r\n setLocalStorage(k: string, v: string) {\r\n localStorage.setItem(k, v)\r\n }\r\n\r\n getLocalStorage<T>(k: string) {\r\n return localStorage.getItem(k) as T\r\n }\r\n\r\n removeLocalStorage(k: string) {\r\n return localStorage.removeItem(k)\r\n }\r\n\r\n getLocalUser(): string | null {\r\n const k = localStorage.getItem(keyUserID)\r\n return (k)\r\n }\r\n\r\n /********************************************************************************* **/\r\n\r\n async getPlatformUser() {\r\n const k = this.getLocalStorage<string>(keyUserID) as string\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.name != \"\" ? auth.name : \"\"\r\n }\r\n\r\n async getToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n async addObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async patchObject<T>(store: string, data: any): Promise<T> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n // constant index = obj.index(keyPathCurp)\r\n await obj.put(data)\r\n return data as T\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async updateObjectByID<T>(store: string, id: string, data: T): Promise<boolean> {\r\n try {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id) as oClient\r\n\r\n if (res != undefined) await this.removeObject(dbClientsStore, id)\r\n\r\n return await this.addObject(store, data)\r\n\r\n } catch (e) {\r\n console.error(\"updateObjectByID Catch Error:\", e)\r\n return false\r\n }\r\n }\r\n\r\n async upsertObjectById<T>(store: string, id: string, data: T) {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id)\r\n\r\n if (res) await this.removeObject<T>(store, id)\r\n\r\n return await db.add(store, data)\r\n }\r\n\r\n async removeObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n async deleteObjectByID<T>(store: string, id: string) {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n const index = obj.index(keyPathId)\r\n const va2 = index.openCursor(id)\r\n va2.then(async cursor => {\r\n while (cursor) {\r\n cursor.delete();\r\n cursor = await cursor.continue();\r\n }\r\n })\r\n return va2\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async cleanAll<T>(store: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.clear(store)\r\n }\r\n\r\n async getObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async addBuildByStore(store: string, data: any[]) {\r\n for (const o of data) {\r\n const exists = await this.getObject(store, o[\"id\"])\r\n if (!exists) await this.addObject(store, o)\r\n else await this.updateObject(store, o)\r\n }\r\n }\r\n\r\n async updateObject<T>(store: string, data: any) {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n }\r\n\r\n async getAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async getAuthUser() {\r\n const data = await this.getAllByStore<oUser[]>(dbAuthStore)\r\n return data[0]\r\n }\r\n\r\n async getAuthName() {\r\n const data = await this.getAuthUser()\r\n return data.name\r\n }\r\n\r\n async getAuthUsername() {\r\n const data = await this.getAuthUser()\r\n return data.username\r\n }\r\n\r\n async saveDataLocally<T>(\r\n contract: oContract,\r\n client: oClient,\r\n providerData: T,\r\n ): Promise<boolean> {\r\n try {\r\n await this.addObject(dbClientsStore, client)\r\n await this.addObject(dbContractsStore, contract)\r\n\r\n if (!providerData) return false\r\n\r\n if (contract.financial.provider === eProvider.Conekta) {\r\n await this.addObject(dbConektaClientsStore, providerData)\r\n await this.addObject(dbConektaReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.Passport) {\r\n await this.addObject(dbPassportReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.DynamiCore) {\r\n await this.addObject(dbDynamicReferencesStore, providerData)\r\n }\r\n return true\r\n } catch (e) {\r\n console.error(e)\r\n return false\r\n }\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n async getAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.getAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.getObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n\r\n async dbGetAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.dbGetAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.dbGetObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /****************** BUSINESS INFO *************************************/\r\n\r\n async getBusinessInfo(): Promise<oBusinessInfo | null> {\r\n const config: oBusinessInfo[] = await this.dbGetAllByStore<oBusinessInfo[]>(dbBusinessInfo)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n /****************** BUSINESS CONFIG ************************************/\r\n\r\n async getBusinessConfig(): Promise<oBusinessConfig | null> {\r\n const config: oBusinessConfig[] = await this.dbGetAllByStore<oBusinessConfig[]>(dbBusinessConfig)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n async updateBusinessConfig(config: oBusinessConfig) {\r\n\r\n // config.version = \"1.0\"\r\n await this.dbRemoveObject(dbBusinessConfig, \"1.0\")\r\n await this.dbAddObject(dbBusinessConfig, config)\r\n }\r\n\r\n async updateBusinessInfo(config: oBusinessInfo) {\r\n\r\n config.version = \"v2024\"\r\n await this.dbRemoveObject(dbBusinessInfo, \"v2024\")\r\n await this.dbAddObject(dbBusinessInfo, config)\r\n }\r\n\r\n /**************** NOTIFICATIONS *********************************/\r\n\r\n async getLocalNotifications(): Promise<oNotification[] | null> {\r\n const notifications: oNotification[] = await this.dbGetAllByStore<oNotification[]>(dbNotificationsStore)\r\n if (!notifications) return null\r\n return notifications\r\n }\r\n\r\n async updateNotifications(notifications: oNotification[]) {\r\n for (const o of notifications) {\r\n const exists = await this.dbGetObject(dbNotificationsStore, o.notification_id)\r\n if (!exists) {\r\n await this.dbAddObject(dbNotificationsStore, o)\r\n }\r\n }\r\n }\r\n}\r\n","import {add, format, getDate} from \"date-fns\";\r\nimport {es} from 'date-fns/locale/es';\r\nimport {eProvider} from './UtilContract';\r\nimport {inject, Injector, runInInjectionContext} from '@angular/core';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {oConektaOrder} from '../objects/oConekta';\r\nimport {dateCompleteFormat, dateFormat, expiredPayment, timeFormat} from '../const/constants';\r\nimport {IndexedDbService} from '../idb/indexed-db.service';\r\nimport { oPaymentDates } from \"../../v2/objects/oUtil\";\r\n\r\nexport class UtilTime {\r\n private localeFns = es\r\n\r\n public static IsExpired(time: number): boolean {\r\n const dateInit = new Date(time)\r\n const dayInit = dateInit.getDate()\r\n const monthInit = dateInit.getMonth() + 1\r\n\r\n const dateActual = new Date()\r\n const dayActual = dateActual.getDate()\r\n const monthActual = dateActual.getMonth() + 1\r\n\r\n if (monthActual > monthInit) return true\r\n\r\n return dayActual > dayInit;\r\n }\r\n\r\n public static getDates(initial: number, weeks: number): oPaymentDates[] {\r\n const dates: oPaymentDates[] = []\r\n let prev = initial\r\n for (let i = 0; i < weeks; i++) {\r\n const date = add(prev, {weeks: 1})\r\n dates.push(\r\n {\r\n week: i + 1,\r\n date: date.getTime()\r\n }\r\n )\r\n prev = date.getTime()\r\n }\r\n return dates\r\n }\r\n\r\n public static getPreviousWeek() {\r\n const today = new Date().getTime()\r\n const week = ((3600 * 24) * 7) * 1000\r\n return today - week\r\n }\r\n\r\n public static getDayNum(date: Date | number): number {\r\n return getDate(date)\r\n }\r\n\r\n public static getDayName(date: Date | number): string {\r\n return format(date, \"EEEE\", {locale: es})\r\n }\r\n\r\n public static getMonthName(date: Date | number): string {\r\n return format(date, \"MMMM\", {locale: es}).toUpperCase();\r\n }\r\n\r\n public static getYear(date: Date | number): string {\r\n return format(date, \"yyyy\")\r\n }\r\n\r\n public static GetNextPayment(time: number, provider: string) {\r\n let week = 0\r\n if (provider == eProvider.Conekta) {\r\n week = (((3600 * 24) * 7))\r\n } else if (provider == eProvider.DynamiCore) {\r\n week = (((3600 * 24) * 7) * 1000)\r\n }\r\n return this.getLocalTimeFromLong(time + week, provider)\r\n }\r\n\r\n public static getLocalTimeFromLong(time: number, provider: string) {\r\n if (time <= 0) return \"\"\r\n let factor = this.GetFactor(provider)\r\n let dateTime = time * factor\r\n let parsedDate = format(new Date(dateTime), dateFormat, {\r\n locale: es\r\n })\r\n return parsedDate\r\n }\r\n\r\n public static DelayPaymentLast(\r\n lastPayment: number, provider: string, injector: Injector\r\n ): boolean {\r\n let factor = this.GetFactor(provider)\r\n let now = new Date().getTime()\r\n let last = 0\r\n\r\n if (provider == eProvider.Conekta)\r\n last = ((((3600 * 24) * 7)) + lastPayment) * factor\r\n else if (provider == eProvider.DynamiCore)\r\n last = ((((3600 * 24) * 7) * 1000) + lastPayment) * factor\r\n\r\n runInInjectionContext(injector, () => {\r\n const idb = inject(IndexedDbService)\r\n // constant observable = inject(ObservablesService)\r\n idb.setLocalStorage(expiredPayment, String(now > last))\r\n // observable.isLate.next(now > last)\r\n })\r\n return now > last\r\n }\r\n\r\n public static GetFactor(provider: string) {\r\n let factor = 1\r\n if (provider == eProvider.Conekta)\r\n factor = 1000\r\n return factor\r\n }\r\n\r\n public static GetEpochFromFormatedDate(date: string): number {\r\n if (date == \"\") return 0\r\n\r\n const _date = new Date(date)\r\n if (isNaN(_date.getTime())) return 0\r\n return _date.getTime()\r\n }\r\n\r\n public static GetTimeFromString(date: string) {\r\n return format(new Date(date), timeFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n public static GetDateFromString(date: string) {\r\n return format(new Date(date), dateCompleteFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n // Quick sort\r\n public static SortingByTime(payments: IDCTxnRow[]): IDCTxnRow[] {\r\n if (payments.length <= 1) return payments\r\n\r\n const pivot = payments[payments.length - 1]\r\n const pivotDate = new Date(pivot.created).getTime()\r\n const left: IDCTxnRow[] = []\r\n const right: IDCTxnRow[] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actualDate = new Date(payments[i].created).getTime()\r\n if (actualDate > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTime(left), pivot, ...this.SortingByTime(right)]\r\n }\r\n\r\n public static SortingByTimeConekta(payments: oConektaOrder []): oConektaOrder[] {\r\n if (payments.length <= 1) return payments;\r\n\r\n const pivot = payments[payments.length - 1]\r\n let pivotDate = 0;\r\n if (pivot.charges.data == undefined) return payments\r\n\r\n if (pivot.charges.data[0].paid_at != undefined) {\r\n pivotDate = pivot.charges.data[0].paid_at\r\n } else {\r\n pivot.charges.data[0].created_at\r\n }\r\n\r\n if (pivotDate <= 0) return payments;\r\n\r\n const left: oConektaOrder[] = []\r\n const right: oConektaOrder [] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actual = payments[i].charges.data[0].paid_at;\r\n if (actual <= 0) continue\r\n if (actual > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTimeConekta(left), pivot, ...this.SortingByTimeConekta(right)]\r\n }\r\n}\r\n","import {oContractMetrics} from '../../v2/objects/oUtil';\n\nexport const cContractMetrics: oContractMetrics = {\n total: 0,\n activated: 0,\n paused: 0,\n completed: 0,\n canceled: 0,\n late: 0,\n conektaCount: 0,\n dynamicCount: 0,\n passportCount: 0,\n rateTotal: 0,\n rateActive: 0,\n ratePaused: 0,\n rateComplete: 0,\n rateCanceled: 0,\n rateLate: 0\n}\n","export enum ePassportTypes {\r\n CREATE = \"create_references\",\r\n SEND = \"send_references\"\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {iGlobalPassport} from '../objects/oPassport';\r\nimport {ePassportTypes} from '../../v2/enum/EnumPassport';\r\n\r\nexport class FactoryPassport {\r\n public static CreatePassportReference(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): iGlobalPassport {\r\n const o = {\r\n passport: {\r\n type: ePassportTypes.CREATE,\r\n data: {\r\n name: client.name,\r\n email: client.email,\r\n amount: contract.financial.weeklyPayment,\r\n expirationDate: \"\",\r\n additional: {\r\n client: client.name,\r\n clientID: client.id,\r\n credit: client.status\r\n }\r\n }\r\n },\r\n contract: contract,\r\n date: dateTime\r\n }\r\n if (dateTime != undefined) o.date = dateTime\r\n return o\r\n }\r\n}\r\n","import {oConektaRes} from '../objects/oConekta';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {eProvider} from './UtilContract';\r\n\r\nexport interface oPaymentGlobal {\r\n conektaPayment?: oConektaRes,\r\n dynamicPayment?: IDCTxnRow[],\r\n}\r\n\r\nexport class FactoryPayment {\r\n public static CreatePayment(data: oConektaRes | IDCTxnRow[], provider: eProvider): oPaymentGlobal {\r\n const o: oPaymentGlobal = {}\r\n\r\n if (provider == eProvider.DynamiCore)\r\n o.dynamicPayment = data as IDCTxnRow[];\r\n\r\n if (provider == eProvider.Conekta)\r\n o.conektaPayment = data as oConektaRes\r\n\r\n return o\r\n }\r\n}\r\n","export class UtilGeneral {\r\n\r\n public static cleanUsername(password: string): string {\r\n if (password.includes(\"+\") || password.length > 10) {\r\n let len = 10 // standard Mexico phone length\r\n let pLen = password.length - 1\r\n let _password: string[] = []\r\n\r\n for (let i = len; i > 0; i--) {\r\n _password.push(password[pLen])\r\n pLen--\r\n }\r\n\r\n return _password.reverse().join(\"\")\r\n }\r\n\r\n return password\r\n }\r\n\r\n}\r\n","export const ErrorMessages = {\r\n NotFound: \"Recurso no encontrado\",\r\n Unauthorized: \"Request without(or not valid) token\",\r\n RandomError: \"Something goes wrong, try again -> \",\r\n RandomErrorFirestore: \"Something goes wrong in firestore\",\r\n CreateUser: \"Error: Something goes wrong\",\r\n CreateFoundedUser: \"Error: User already exists try with another username\",\r\n FindAllNotFound: \"Not users found\",\r\n UserFindOne: \"User with given ID not found\",\r\n UserFindOneError: \"Error getting user by ID\",\r\n UserUpdate: \"Error updating user by ID\",\r\n DeleteUser: \"Error deleting user\",\r\n UsernameNotFound: \"User with given username not found\",\r\n IncorrectPassword: \"Incorrect or not valid password\",\r\n LastLogIn: \"Last LogIn date not updated\",\r\n authError: \"Username or password incorrect\",\r\n tokenRequired: \"Token required\",\r\n ClientDefined: \"This user already registered: Update user's contracts instead\",\r\n ClientsNotFound: \"List of clients is empty\",\r\n ClientNotFound: \"Client with given ID, not found\",\r\n ClientNotUpdated: \"Client with given ID, not updated\",\r\n DeleteClient: \"Error deleting client\",\r\n UsernameClientNotFound: \"Client with given username not found\",\r\n ContractsAllEmpty: \"Contract list empty\",\r\n ContractNotFound: \"Contract not found\",\r\n ContractUpdateError: \"Something goes wrong updating contract, try again\",\r\n ContractDeleteError: \"Something goes wrong deleting contract, try again\"\r\n};\r\n","export enum eAssetPeriod {\r\n MONTH = \"MONTH\",\r\n WEEK = \"WEEK\",\r\n}\r\n","export enum eLoginStatus {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n AUTHORIZED = \"AUTHORIZED\",\r\n CHECKING = \"CHECKING\",\r\n NOAUTHORIZED = \"NOAUTHORIZED\",\r\n NOTFOUND = \"NOTFOUND\",\r\n ERRORPASSWORD = \"ERRORPASSWORD\",\r\n USERNOTFOUND = \"USERNOTFOUND\",\r\n}\r\n\r\nexport enum eAuthActions {\r\n delete = \"delete\",\r\n auth = \"auth\"\r\n}\r\n\r\nexport enum eAuthType2 {\r\n auth = \"auth\",\r\n login = \"login\",\r\n idle = \"\"\r\n}\r\n\r\nexport enum eAuthType {\r\n USER = 'USER', // Used for user of Ravcredit platform user, employee\r\n ADMIN = \"ADMIN\",\r\n SELLER = 'SELLER',\r\n CLIENT = 'CLIENT', // Used for clients of Ravcredit\r\n CONSULTANT = 'CONSULTANT',\r\n FUNCTION = 'FUNCTION',\r\n}\r\n","export enum eConektaRes {\r\n CUSTOMER_CREATED = 'customer.created',\r\n ORDER_PENDING_PAYMENT = 'order.pending_payment',\r\n ORDER_CREATED = 'order.created',\r\n CHARGE_CREATED = 'charge.created',\r\n ORDER_PAID = 'order.paid',\r\n CHARGE_PAID = 'charge.paid',\r\n}\r\n\r\nexport enum eConektaOrderStatus {\r\n expired = 'expired',\r\n paid = 'paid',\r\n pending_payment = 'pending_payment',\r\n}\r\n\r\nexport enum eConektaOrderType {\r\n REFERENCE = \"REFERENCE\",\r\n SPEI = \"SPEI\",\r\n}\r\n","export enum EnumDynamicClientStatus {\r\n ACCEPTED = \"Accepted\",\r\n PENDING = \"Pending\",\r\n REJECTED = \"Rejected\",\r\n ACTIVE = \"Active\",\r\n INACTIVE = \"Inactive\",\r\n CANCELED = \"Cancelled\",\r\n}\r\n","export enum eNotificationType { GLOBAL = \"global\", USER = \"user\", PAYMENT = \"payment\" }\r\n","export enum eProcessStatus {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n CANCELED = \"CANCELED\",\r\n COMPLETE = \"COMPLETE\",\r\n PROCESSING = \"PROCESSING\",\r\n WAITING = \"WAITING\",\r\n}\r\n\r\nexport enum eRequestVerb {\r\n POST = 'POST',\r\n GET = 'GET',\r\n PATCH = 'PATCH',\r\n DELETE = 'DELETE',\r\n}\r\n\r\nexport enum eGCActions {\r\n Create = 'Create',\r\n Update = 'Update',\r\n Remove = 'Remove',\r\n LoginTime = 'UpdateLogIn'\r\n}\r\n","export enum eVerificationStep {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n COMPLETED = \"COMPLETED\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n INVALID = \"INVALID\",\r\n SUSPENDED = \"SUSPENDED\",\r\n CANCELLED = \"CANCELLED\",\r\n}\r\n\r\nexport enum eVerificationStatus {\r\n APPROVED = \"approved\",\r\n CANCELLED = \"cancelled\",\r\n}\r\n\r\nexport enum eVerificationChannel {\r\n SMS = \"sms\",\r\n WHATSAPP = \"whatsapp\",\r\n CALL = \"call\",\r\n EMAIL = \"email\",\r\n SNA = \"sna\",\r\n}\r\n","/*\r\n * Public API Surface of ravcredit-lib\r\n */\r\n\r\nexport * from './lib/ravcredit-lib.service';\r\nexport * from './lib/ravcredit-lib.component';\r\nexport * from './lib/v1/objects/oAddress';\r\nexport * from './lib/v1/objects/oBusiness';\r\n// export * from './lib/v1/objects/oClient';\r\nexport * from './lib/v1/objects/oConekta';\r\nexport * from './lib/v1/objects/oContract';\r\nexport * from './lib/v1/objects/oContractAll';\r\nexport * from './lib/v1/objects/oCustomer';\r\nexport * from './lib/v1/objects/oDevice';\r\nexport * from './lib/v1/objects/oFinancial';\r\nexport * from './lib/v1/objects/oLogIn';\r\nexport * from './lib/v1/objects/oNewPayment';\r\nexport * from './lib/v1/objects/oNotification';\r\nexport * from './lib/v1/objects/oPassport';\r\nexport * from './lib/v1/objects/oUser';\r\nexport * from './lib/v1/objects/oVerification';\r\n\r\nexport * from './lib/v1/util/UtilClient';\r\nexport * from './lib/v1/util/UtilsHttp'\r\nexport * from './lib/v1/util/UtilBusiness';\r\nexport * from './lib/v1/util/UtilDynamiCore';\r\nexport * from './lib/v1/util/UtilContract';\r\nexport * from './lib/v1/util/UtilConekta';\r\nexport * from './lib/v1/util/UtilNotification';\r\nexport * from './lib/v1/util/UtilTime';\r\nexport * from './lib/v1/util/UtilDashboard';\r\nexport * from './lib/v1/util/UtilPassport';\r\nexport * from './lib/v1/util/UtilPayment';\r\nexport * from './lib/v1/util/UtilGeneral';\r\n\r\nexport * from './lib/v1/idb/indexed-db.service';\r\nexport * from './lib/v1/const/constants';\r\n\r\nexport * from './lib/v2/constant/constants';\r\nexport * from './lib/v2/constant/messages';\r\n\r\nexport * from './lib/v2/objects/oAsset';\r\nexport * from './lib/v2/objects/oAws';\r\nexport * from './lib/v2/objects/oCatalog';\r\nexport * from './lib/v2/objects/oClient';\r\nexport * from './lib/v2/objects/oCompany';\r\nexport * from './lib/v2/objects/oContract';\r\nexport * from './lib/v2/objects/oHttp';\r\nexport * from './lib/v2/objects/oMediaDto';\r\nexport * from './lib/v2/objects/oMessaging';\r\nexport * from './lib/v2/objects/oScoreDto';\r\nexport * from './lib/v2/objects/oUtil';\r\n\r\nexport * from './lib/v2/objects/oUtil';\r\nexport * from './lib/v2/objects/oHttp';\r\n\r\nexport * from './lib/v2/enum/EnumAsset';\r\nexport * from './lib/v2/enum/EnumAuth';\r\nexport * from './lib/v2/enum/EnumClient';\r\nexport * from './lib/v2/enum/EnumConekta';\r\nexport * from './lib/v2/enum/EnumDynamic';\r\nexport * from './lib/v2/enum/EnumNotification';\r\nexport * from './lib/v2/enum/EnumPassport';\r\nexport * from './lib/v2/enum/EnumRoles';\r\nexport * from './lib/v2/enum/EnumToken';\r\nexport * from './lib/v2/enum/EnumUtil';\r\nexport * from './lib/v2/enum/EnumVerification';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ravcredit-lib.mjs","sources":["../../../projects/ravcredit-lib/src/lib/ravcredit-lib.service.ts","../../../projects/ravcredit-lib/src/lib/ravcredit-lib.component.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oCustomer.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oVerification.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumClient.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumRoles.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumHttpStatus.ts","../../../projects/ravcredit-lib/src/lib/v2/constant/constants.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilBusiness.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilContract.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilClient.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilsHttp.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDynamiCore.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilConekta.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/const/constants.ts","../../../projects/ravcredit-lib/src/lib/v1/idb/indexed-db.service.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilTime.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDashboard.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPayment.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilGeneral.ts","../../../projects/ravcredit-lib/src/lib/v2/constant/messages.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumAsset.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumAuth.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumConekta.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumDynamic.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumNotification.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumUtil.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumVerification.ts","../../../projects/ravcredit-lib/src/public-api.ts","../../../projects/ravcredit-lib/src/ravcredit-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RavcreditLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-ravcredit-lib',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n ravcredit-lib works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class RavcreditLibComponent {\r\n\r\n}\r\n","export interface oCustomer {\n livemode: boolean\n name: string\n email: string\n phone: string\n id: string\n object: string\n created_at: number\n corporate: boolean\n custom_reference: string\n}\n\n\nexport interface oCustomerInfo {\n customer_id: string\n name?: string\n email?: string\n phone?: string\n}\n\n//\n// export interface iCustomerInfo = Pick<iCustomer, email | id | name | phone> {\n//\n// customer_id:string\n// }\n// {\n// livemode: false,\n// name: Vicente Mendoza,\n// email: vicente.mendoza@conekta.com,\n// phone: 5566982093,\n// id: cus_2wHtqBNsSggaYdfXu,\n// object: customer,\n// created_at: 1721258796,\n// corporate: false,\n// custom_reference:\n// }\n","export const cTopic = \"RavCreditClients\"\r\n\r\n\r\nexport interface oNotificationResponses {\r\n successCount: number,\r\n failureCount: number,\r\n}\r\n\r\nexport interface oNotification {\r\n ids?: string[];\r\n type?: string,\r\n tokens?: string[],\r\n topic?: string,\r\n notification: {\r\n title: string,\r\n body: string\r\n },\r\n data: any,\r\n notification_id?: number,\r\n recipient?: string,\r\n responses?: oNotificationResponses\r\n}\r\n\r\nexport const cNotification: oNotification = {\r\n notification: {\r\n title: \"\",\r\n body: \"\"\r\n },\r\n data: {\r\n route: \"\"\r\n }\r\n}\r\n\r\n","import {oContract} from \"./oContract\";\r\n\r\n/** *********************************************************************************/\r\nexport interface iPassportAdditional {\r\n client?: string;\r\n clientID?: string;\r\n credit?: string;\r\n}\r\n\r\nexport interface iPassportReferenceData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\n/** Passport request interface base */\r\nexport interface iPassportReference {\r\n type: string;\r\n data: iPassportReferenceData;\r\n}\r\n\r\n/** Global passport reference aPI */\r\nexport interface iGlobalPassport {\r\n passport: iPassportReference;\r\n contract: oContract\r\n date?: number\r\n}\r\n\r\n/** ******************************** */\r\nexport interface iPassportResponseData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\nexport interface iPassportReferenceCenters {\r\n name: string;\r\n logo: string;\r\n}\r\n\r\nexport interface iPassportReferenceRes {\r\n reference: string\r\n centers: iPassportReferenceCenters[],\r\n centerId: number,\r\n barcode: string\r\n}\r\n\r\n/** Passport response interface base */\r\nexport interface iPassportResponse {\r\n type: string;\r\n data: iPassportResponseData;\r\n message: string;\r\n references: iPassportReference[];\r\n}\r\n\r\n/** ******************************** */\r\n","// export enum oGenVerificationProvider {\r\n// pending, approved, expired\r\n// }\r\n//\r\n// export interface oVerificationLookup {\r\n// carrier: any[]\r\n// }\r\n//\r\n// export interface oVerificationSenCodeAttempt {\r\n// attempt_sid: any[],\r\n// channel: any[],\r\n// time: any[]\r\n// }\r\n//\r\n// export interface oGenVerification {\r\n// Sid: string\r\n// ServiceSid: string,\r\n// AccountSid: string,\r\n// To: string,\r\n// Channel: any,\r\n// Status: oGenVerificationProvider,\r\n// Valid: boolean,\r\n// Lookup: oVerificationLookup,\r\n// SendCodeAttempts: oVerificationSenCodeAttempt[],\r\n// DateCreated: string,\r\n// DateUpdated: string,\r\n// Url: string\r\n// }\r\n//\r\n// export interface oVerification {\r\n// Sid : string,\r\n// ServiceSid : string,\r\n// AccountSid : string,\r\n// To : string,\r\n// Channel : any,\r\n// Status : oGenVerificationProvider,\r\n// Valid : boolean,\r\n// DateCreated : string,\r\n// DateUpdated : string\r\n// }\r\n\r\nimport {eVerificationChannel, eVerificationStatus} from '../../v2/enum/EnumVerification';\r\n\r\nexport interface ISendCodeAttempt {\r\n time: string\r\n channel: eVerificationChannel,\r\n attemptSid : string,\r\n}\r\n\r\nexport interface IBaseVerification {\r\n sid: string\r\n service_sid:string\r\n account_sid:string\r\n to:string\r\n channel: eVerificationChannel\r\n status: eVerificationStatus\r\n valid: boolean,\r\n date_created: string\r\n date_updated: string\r\n amount: any,\r\n payee: any,\r\n}\r\n\r\nexport interface IVerificationSms extends IBaseVerification {\r\n lookup: any,\r\n send_code_attempts: ISendCodeAttempt[],\r\n sna: any,\r\n url: string\r\n}\r\n\r\nexport interface IVerificationCheckSms\r\n{\r\n sna_attempts_error_codes: any[],\r\n}\r\n\r\nexport interface IVerificationData {\r\n Phone?: string\r\n VerificationCode?: string\r\n}\r\n","export enum eClientStatus {\r\n ACTIVE = \"active\",\r\n COMPLETED = \"completed\",\r\n PAUSED = \"paused\",\r\n CANCELED = \"canceled\",\r\n LATE = \"late\"\r\n}\r\n","export enum eRoles {\r\n Administrator = \"Administrator\",\r\n Seller = \"Seller\",\r\n Consultant = \"Consultant\",\r\n Client = 'Client',\r\n User = 'User',\r\n}\r\n","export enum HttpStatus {\r\n CONTINUE = 100,\r\n SWITCHING_PROTOCOLS = 101,\r\n PROCESSING = 102,\r\n EARLYHINTS = 103,\r\n OK = 200,\r\n CREATED = 201,\r\n ACCEPTED = 202,\r\n NON_AUTHORITATIVE_INFORMATION = 203,\r\n NO_CONTENT = 204,\r\n RESET_CONTENT = 205,\r\n PARTIAL_CONTENT = 206,\r\n AMBIGUOUS = 300,\r\n MOVED_PERMANENTLY = 301,\r\n FOUND = 302,\r\n SEE_OTHER = 303,\r\n NOT_MODIFIED = 304,\r\n TEMPORARY_REDIRECT = 307,\r\n PERMANENT_REDIRECT = 308,\r\n BAD_REQUEST = 400,\r\n UNAUTHORIZED = 401,\r\n PAYMENT_REQUIRED = 402,\r\n FORBIDDEN = 403,\r\n NOT_FOUND = 404,\r\n METHOD_NOT_ALLOWED = 405,\r\n NOT_ACCEPTABLE = 406,\r\n PROXY_AUTHENTICATION_REQUIRED = 407,\r\n REQUEST_TIMEOUT = 408,\r\n CONFLICT = 409,\r\n GONE = 410,\r\n LENGTH_REQUIRED = 411,\r\n PRECONDITION_FAILED = 412,\r\n PAYLOAD_TOO_LARGE = 413,\r\n URI_TOO_LONG = 414,\r\n UNSUPPORTED_MEDIA_TYPE = 415,\r\n REQUESTED_RANGE_NOT_SATISFIABLE = 416,\r\n EXPECTATION_FAILED = 417,\r\n I_AM_A_TEAPOT = 418,\r\n MISDIRECTED = 421,\r\n UNPROCESSABLE_ENTITY = 422,\r\n FAILED_DEPENDENCY = 424,\r\n PRECONDITION_REQUIRED = 428,\r\n TOO_MANY_REQUESTS = 429,\r\n INTERNAL_SERVER_ERROR = 500,\r\n NOT_IMPLEMENTED = 501,\r\n BAD_GATEWAY = 502,\r\n SERVICE_UNAVAILABLE = 503,\r\n GATEWAY_TIMEOUT = 504,\r\n HTTP_VERSION_NOT_SUPPORTED = 505\r\n}\r\n","import {iOptionsSelect, iPaymentDelay, iSelect} from '../objects/oUtil';\r\nimport {MatSnackBarConfig} from '@angular/material/snack-bar';\r\nimport {cContract} from '../../v1/util/UtilContract';\r\nimport {cClient} from '../../v1/util/UtilClient';\r\nimport {oAddress} from '../../v1/objects/oAddress';\r\nimport {iConektaRecurrent, iOxxoRecurrentSources, iOxxorecurrentSourcesData} from \"../../v1/objects/oConekta\";\r\nimport {iAuthConfig} from '../../v1/objects/oLogIn';\r\nimport {eClientStatus} from '../enum/EnumClient';\r\nimport { eRoles } from \"../enum/EnumRoles\";\r\nimport {oDaySchedule} from '../../v1/objects/oBusiness';\r\nimport {oResponse} from '../objects/oHttp';\r\nimport {HttpStatus} from '../enum/EnumHttpStatus';\r\n\r\nexport const cSingleOptionClientStatus: iOptionsSelect = {\r\n viewValue: \"\",\r\n value: \"\"\r\n}\r\nexport const cOptionsClientStatus: iOptionsSelect[] = [\r\n {\r\n value: eClientStatus.ACTIVE,\r\n viewValue: \"Activar\"\r\n }, {\r\n value: eClientStatus.COMPLETED,\r\n viewValue: \"Completar\"\r\n }, {\r\n value: eClientStatus.PAUSED,\r\n viewValue: \"Pausar\"\r\n }, {\r\n value: eClientStatus.LATE,\r\n viewValue: \"Marcar con atraso\"\r\n }, {\r\n value: eClientStatus.CANCELED,\r\n viewValue: \"Cancelar\"\r\n }\r\n]\r\n\r\nexport const eRolesSelect: iSelect[] = [\r\n {\r\n value: eRoles.Administrator,\r\n viewValue: eRoles.Administrator\r\n },\r\n {\r\n value: eRoles.Consultant,\r\n viewValue: eRoles.Consultant\r\n },\r\n {\r\n value: eRoles.Seller,\r\n viewValue: eRoles.Seller\r\n },\r\n]\r\n\r\nexport const cPaymentDelay: iPaymentDelay = {\r\n today: 0,\r\n nextPayment: 0,\r\n daysDelay: 0,\r\n late: false,\r\n}\r\n\r\nexport const snackBarConfigAction: MatSnackBarConfig = {\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const snackBarConfigNoAction: MatSnackBarConfig = {\r\n duration: 4000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const snackBarConfigNoActionLong: MatSnackBarConfig = {\r\n duration: 8000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const cTyClientContract = {...cClient, ...cContract}\r\n\r\nexport const cAddress: oAddress = {\r\n street: \"\",\r\n city: \"\",\r\n neighbor: \"\",\r\n zip: \"\",\r\n ext: \"\",\r\n int: \"\",\r\n state: \"\"\r\n}\r\n\r\nexport const cOxxoRecurrentSourcesData: iOxxorecurrentSourcesData = {\r\n id: \"\",\r\n object: \"\",\r\n type: \"\",\r\n provider: \"\",\r\n reference: \"\",\r\n barcode: \"\",\r\n barcode_url: \"\",\r\n expires_at: 0,\r\n created_at: 0,\r\n parent_id: \"\"\r\n}\r\n\r\nexport const cOxxoRecurrentSources: iOxxoRecurrentSources = {\r\n object: \"\",\r\n has_more: false,\r\n total: 0,\r\n data: []\r\n}\r\n\r\nexport const cConektaRecurrent: iConektaRecurrent = {\r\n livemode: false,\r\n name: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n id: \"\",\r\n object: \"\",\r\n created_at: 0,\r\n corporate: false,\r\n custom_id: \"\",\r\n payment_sources: cOxxoRecurrentSources\r\n}\r\n\r\nexport const cAuthConfig: iAuthConfig = {\r\n title: \"\",\r\n desc: \"\",\r\n data: true,\r\n}\r\n\r\nexport const cDaySchedule: oDaySchedule = {\r\n open: 0,\r\n close: 0\r\n}\r\n\r\nexport const cResponse: oResponse = {\r\n path: '',\r\n statusCode: HttpStatus.CONTINUE,\r\n epochTime: new Date().getTime(),\r\n data: null,\r\n};\r\n\r\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {\n oBusinessConfig,\n oBusinessDeadlines,\n oBusinessInfo, oDaySchedule,\n oSchedule,\n oTmpBusinessConfig,\n oWeekSchedule\n} from \"../objects/oBusiness\";\nimport {oAddress} from '../objects/oAddress';\nimport {cAddress, cDaySchedule} from \"../../v2/constant/constants\";\n\nexport const cSchedule: oSchedule = {\n day: \"\",\n open: 0,\n close: 0,\n}\n\nexport const cEmptyDay: oSchedule = {\n close: 0, open: 0, day: \"\"\n}\n\nexport const week: string[] = [\n \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"\n]\n\nexport const cDefinedSchedule: oSchedule[] = [\n {close: 0, open: 0, day: \"monday\"},\n {close: 0, open: 0, day: \"tuesday\"},\n {close: 0, open: 0, day: \"wednesday\"},\n {close: 0, open: 0, day: \"thursday\"},\n {close: 0, open: 0, day: \"friday\"},\n {close: 0, open: 0, day: \"saturday\"},\n {close: 0, open: 0, day: \"sunday\"},\n]\n\nexport const cBusinessInfo: oBusinessInfo = {\n version: \"v2024\",\n name: \"\",\n address: cAddress,\n phones: [],\n email: \"\",\n}\n\nexport const cBusinessDeadlines: oBusinessDeadlines = {\n weeks: 0,\n interest: 0\n}\n\nexport const cBusinessConfig: oBusinessConfig = {\n version: \"\",\n apiVersion: \"\",\n adminVersion: \"\",\n mobileVersion: \"\",\n mobileVersionPrev: \"\",\n deadlines: [],\n downloadsClient: false,\n passportPaymentReference: false,\n conektaPaymentReference: false,\n conektaPaymentLink: false,\n dynamicPaymentReference: false,\n apkUrl: \"https://firebasestorage.googleapis.com/v0/b/ravcredit-2b079.appspot.com/o/mobile-app%2Fapp-release.apk?alt=media&token=ae05f332-a39a-46ad-8a64-312ae1487496\"\n}\n\n\n\nexport class FactoryBusiness {\n\n public static FormBusinessInfo(info?: oBusinessInfo) {\n let data = cBusinessInfo\n\n if (info) data = info\n\n if (!info?.address) data.address = cAddress\n\n return {\n name: new UntypedFormControl(data.name, Validators.required),\n email: new UntypedFormControl(data.email, [Validators.required, Validators.email]),\n desc: new UntypedFormControl(data.desc, [Validators.required, Validators.email]),\n street: new UntypedFormControl(data.address.street, Validators.required),\n neighbor: new UntypedFormControl(data.address.neighbor, Validators.required),\n cp: new UntypedFormControl(data.address.zip, Validators.required),\n ext: new UntypedFormControl(data.address.ext, Validators.required),\n int: new UntypedFormControl(data.address.int),\n city: new UntypedFormControl(data.address.city, Validators.required),\n state: new UntypedFormControl(data.address.state, Validators.required),\n phones: new UntypedFormControl(data.phones),\n mondayOpen: new UntypedFormControl(data.schedule?.monday.open),\n mondayClose: new UntypedFormControl(data.schedule?.monday.close),\n tuesdayOpen: new UntypedFormControl(data.schedule?.tuesday.open),\n tuesdayClose: new UntypedFormControl(data.schedule?.tuesday.close),\n wednesdayOpen: new UntypedFormControl(data.schedule?.wednesday.open),\n wednesdayClose: new UntypedFormControl(data.schedule?.wednesday.close),\n thursdayOpen: new UntypedFormControl(data.schedule?.thursday.open),\n thursdayClose: new UntypedFormControl(data.schedule?.thursday.close),\n fridayOpen: new UntypedFormControl(data.schedule?.friday.open),\n fridayClose: new UntypedFormControl(data.schedule?.friday.close),\n saturdayOpen: new UntypedFormControl(data.schedule?.saturday.open),\n saturdayClose: new UntypedFormControl(data.schedule?.saturday.close),\n sundayOpen: new UntypedFormControl(data.schedule?.sunday.open),\n sundayClose: new UntypedFormControl(data.schedule?.sunday.close),\n }\n\n }\n\n public static CreateBusinessInfoObj(data: oTmpBusinessConfig) {\n const address: oAddress = cAddress\n\n const schedule: oWeekSchedule = {\n monday: cDaySchedule,\n tuesday: cDaySchedule,\n wednesday: cDaySchedule,\n thursday: cDaySchedule,\n friday: cDaySchedule,\n saturday: cDaySchedule,\n sunday: cDaySchedule\n }\n\n if (data.street) address.street = data.street\n if (data.state) address.state = data.state\n if (data.neighbor) address.neighbor = data.neighbor\n if (data.city) address.city = data.city\n if (data.ext) address.ext = data.ext\n if (data.int) address.int = data.int\n if (data.cp) address.zip = data.cp\n\n if (data.mondayOpen) schedule.monday.open = Number(data.mondayOpen)\n if (data.mondayClose) schedule.monday.close = Number(data.mondayClose)\n\n if (data.tuesdayOpen) schedule.tuesday.open = Number(data.tuesdayOpen)\n if (data.tuesdayClose) schedule.tuesday.close = Number(data.tuesdayClose)\n\n if (data.wednesdayOpen) schedule.wednesday.open = Number(data.wednesdayOpen)\n if (data.wednesdayClose) schedule.wednesday.close = Number(data.wednesdayClose)\n\n if (data.thursdayOpen) schedule.thursday.open = Number(data.thursdayOpen)\n if (data.thursdayClose) schedule.thursday.close = Number(data.thursdayClose)\n\n if (data.fridayOpen) schedule.friday.open = Number(data.fridayOpen)\n if (data.fridayClose) schedule.friday.close = Number(data.fridayClose)\n\n if (data.saturdayOpen) schedule.saturday.open = Number(data.saturdayOpen)\n if (data.saturdayClose) schedule.saturday.close = Number(data.saturdayClose)\n\n if (data.sundayOpen) schedule.sunday.open = Number(data.sundayOpen)\n if (data.sundayClose) schedule.sunday.close = Number(data.sundayClose)\n\n const info: oBusinessInfo = {\n version: \"v2024\",\n name: data.name ? data.name : \"\",\n address: address,\n phones: data.phones ? data.phones : [],\n email: data.email ? data.email : \"\",\n schedule: schedule,\n desc: data.desc ? data.desc : \"\"\n }\n\n return info\n }\n\n public static FormDeadlineConfig(data: oBusinessDeadlines) {\n // if (!data) data = cBusinessDeadlines\n\n return {\n weeks: new UntypedFormControl(data.weeks),\n interest: new UntypedFormControl(data.interest),\n }\n }\n\n public static FormBusinessConfig(config?: oBusinessConfig) {\n let data = cBusinessConfig\n if (config) data = config\n\n return {\n downloadsClient: new UntypedFormControl(data.downloadsClient),\n passportPaymentReference: new UntypedFormControl(data.passportPaymentReference),\n conektaPaymentReference: new UntypedFormControl(data.conektaPaymentReference),\n conektaPaymentLink: new UntypedFormControl(data.conektaPaymentLink),\n dynamicPaymentReference: new UntypedFormControl(data.dynamicPaymentReference),\n deadlines: new UntypedFormArray([])\n }\n }\n\n public static testBusiness(message: string) {\n return `Message ${message}`\n }\n}\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {cClient, cUserReference} from \"./UtilClient\";\n// import {TaskState} from \"firebase/storage\";\nimport {cBusinessDeadlines} from \"./UtilBusiness\";\nimport {IDCAccount} from \"./UtilDynamiCore\";\nimport {oDevice} from '../objects/oDevice';\nimport {oFinancial} from '../objects/oFinancial';\nimport {oAddress} from '../objects/oAddress';\nimport {oContract} from '../objects/oContract';\nimport {oClient, oUserReference} from '../objects/oClient';\nimport {oAsset, oAssetBrand, oAssetCategory} from '../../v2/objects/oAsset';\nimport {oCatalog} from '../../v2/objects/oCatalog';\nimport {oScoreReference} from '../../v2/objects/oScoreDto';\nimport {tyClientContract} from '../../v2/objects/oUtil';\nimport {cAddress} from '../../v2/constant/constants';\n\nexport enum eProvider {\n none = \"\",\n Conekta = \"Conekta\",\n Passport = \"Passport\",\n DynamiCore = \"DynamiCore\",\n}\n\nexport const cDevice: oDevice = {\n device: \"\",\n IMEI: \"\"\n}\n\nexport const cFinancial: oFinancial = {\n total: 0,\n initial: 0,\n deadlines: cBusinessDeadlines,\n initDate: 0,\n weeklyPayment: 0,\n pendingOf: [],\n progress: [],\n interest: 0,\n provider: eProvider.DynamiCore,\n financed: 0,\n nextPayment: 0,\n amount_commission_opening: 0,\n principal_disbursed: 0,\n expected_disbursed: 0, // ---------\n credit_type: 'Arrendamiento',\n interest_rate: 0,\n commission_opening: 0,\n interest_arrears: 0,\n}\n\nexport const cContract: oContract = {\n id: \"\",\n client: \"\",\n address: cAddress,\n device: cDevice,\n financial: cFinancial,\n by: \"\",\n active: true\n}\n\nexport class FactoryContract {\n\n public static FormClient(client?: oClient) {\n let data = cClient\n\n if (client) data = client\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n email: new UntypedFormControl(data.username, [Validators.required, Validators.email]),\n phone: new UntypedFormControl(data.phone, [Validators.required, Validators.min(10)]),\n curp: new UntypedFormControl(data.curp, [Validators.required, Validators.minLength(16)]),\n userReferences: new UntypedFormArray([])\n }\n }\n\n public static CreateUserReferenceFormObj(user: oUserReference) {\n let data = cUserReference\n\n if (user.name != \"\") data = user\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n phone: new UntypedFormControl(data.phone, [Validators.required]),\n relationship: new UntypedFormControl(data.relationship, [Validators.required]),\n }\n }\n\n public static FormAddress(address?: oAddress) {\n let data = cAddress\n\n if (address) data = address\n\n return {\n street: new UntypedFormControl(data.street, Validators.required),\n neighbor: new UntypedFormControl(data.neighbor, Validators.required),\n cp: new UntypedFormControl(data.zip, Validators.required),\n ext: new UntypedFormControl(data.ext, Validators.required),\n int: new UntypedFormControl(data.int),\n city: new UntypedFormControl(data.city, Validators.required),\n state: new UntypedFormControl(data.state, Validators.required),\n }\n }\n\n public static FormDevice(device?: oDevice) {\n let data = cDevice\n\n if (device) data = device\n\n return {\n model: new UntypedFormControl(data.device, Validators.required),\n IMEI: new UntypedFormControl(data.IMEI, Validators.required),\n ID: new UntypedFormControl(data.id),\n }\n }\n\n public static FormFinancial(financial?: oFinancial) {\n let data = cFinancial\n\n if (financial) data = financial\n\n data.credit_type = \"Arrendamiento\"\n // data.deadlines.weeks = cBusinessDeadlines\n\n return {\n total: new UntypedFormControl(data.total, [Validators.required, Validators.min(1)]),\n initial: new UntypedFormControl(data.initial, [Validators.required]),\n financed: new UntypedFormControl(data.financed, Validators.min(1)),\n weeklyPayment: new UntypedFormControl(data.weeklyPayment, [Validators.required, Validators.min(1)]),\n deadlines: new UntypedFormControl(data.deadlines, [Validators.required]),\n initDate: new UntypedFormControl(data.initDate),\n provider: new UntypedFormControl(data.provider),\n\n credit_type: new UntypedFormControl(data.credit_type ? data.credit_type : 0),\n interest_rate: new UntypedFormControl(data.interest_rate ? data.interest_rate : 0), // interes credit dynamic\n commission_opening: new UntypedFormControl(data.commission_opening ? data.commission_opening : 0),\n interest_arrears: new UntypedFormControl(data.interest_arrears ? data.interest_arrears : 0), // intereses moratorios dynamic\n\n amount_commission_opening: new UntypedFormControl(data.amount_commission_opening), // comision por apertura dynamic\n principal_disbursed: new UntypedFormControl(data.principal_disbursed),\n expected_disbursed: new UntypedFormControl(data.expected_disbursed)\n }\n }\n\n public static CreateContractFromFormObj(data: any, finalPay: number) {\n const date = new Date()\n\n const device: oDevice = {\n device: data[\"device\"][0].model,\n id: data[\"device\"][0].ID,\n IMEI: data[\"device\"][0].IMEI\n }\n const address: oAddress = {\n street: data[\"address\"][0].street,\n city: data[\"address\"][0].city,\n neighbor: data[\"address\"][0].neighbor,\n zip: data[\"address\"][0].cp,\n ext: data[\"address\"][0].ext,\n int: data[\"address\"][0].int,\n state: data[\"address\"][0].state\n }\n\n const financial: oFinancial = {\n total: Number(data[\"financial\"][0].total),\n initial: data[\"financial\"][0].initial,\n deadlines: data[\"financial\"][0].deadlines,\n progress: [],\n pendingOf: [],\n weeklyPayment: data[\"financial\"][0].weeklyPayment,\n interest: data[\"financial\"][0].interest_rate,\n finalDate: date.getTime() + (data[\"financial\"][0].deadlines.weeks * (604800 * 1000)),\n initDate: date.getDate(),\n dayCut: date.getDate(),\n provider: data[\"financial\"][0].provider,\n finalPayment: finalPay,\n financed: data[\"financial\"][0].financed,\n nextPayment: data[\"financial\"][0].nextPayment\n }\n if (data[\"financial\"][0].provider == eProvider.DynamiCore) {\n financial.initial = data[\"financial\"][0].amount_commission_opening ? Number(data[\"financial\"][0].amount_commission_opening) : 0\n financial.expected_disbursed = data[\"financial\"][0].expected_disbursed ? Number(data[\"financial\"][0].expected_disbursed) : 0\n financial.principal_disbursed = data[\"financial\"][0].principal_disbursed ? Number(data[\"financial\"][0].principal_disbursed) : 0\n financial.interest_arrears = data[\"financial\"][0].interest_rate ? Number(data[\"financial\"][0].interest_rate) : 0\n financial.commission_opening = data[\"financial\"][0].commission_opening ? Number(data[\"financial\"][0].commission_opening) : 0\n financial.credit_type = data[\"financial\"][0].credit_type ? data[\"financial\"][0].credit_type : \"\"\n financial.clabe = data[\"financial\"][0].clabe ? data[\"financial\"][0].clabe : \"\"\n }\n\n if (data[\"financial\"][0].amount_commission_opening != undefined) {\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.initial = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.initial = Number(data[\"financial\"][0].initial)\n }\n\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.amount_commission_opening = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.amount_commission_opening = financial.initial\n\n if (financial.nextPayment == undefined) financial.nextPayment = 0\n\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true,\n lastPayment: date.getTime(),\n createdAt: date.getTime()\n }\n return contract\n }\n\n public static CreateContractToConektaObj(data: oContract, monthlyPay: number, finalPay: number) {\n const o: any = {}\n const score: oScoreReference = {\n name: \"\",\n score: 0\n }\n const catalog: oCatalog = {\n name: \"\",\n description: \"\",\n id: \"\",\n createdAt: 0\n }\n const brand : oAssetBrand = {\n name: \"\",\n id: \"\",\n description: \"\"\n }\n const category : oAssetCategory = {\n name: \"\",\n id: \"\",\n createAt: 0\n }\n const deviceV2: oAsset = {\n name: \"\",\n id: \"\",\n createAt: new Date().getTime(),\n category: category,\n brand: brand,\n price: 0,\n model: \"\",\n imageUrl: [],\n paymentOption: [],\n catalog: catalog,\n offers: [],\n score: score,\n IMEI: \"\"\n }\n\n const device: oDevice = {\n device: data.device.device,\n id: data.device.id,\n IMEI: data.device.IMEI\n }\n const address: oAddress = {\n street: data.address.street,\n city: data.address.city,\n neighbor: data.address.neighbor,\n zip: data.address.zip,\n ext: data.address.ext,\n int: data.address.int,\n state: data.address.state\n }\n const financial: oFinancial = {\n total: data.financial.total,\n initial: data.financial.initial,\n deadlines: data.financial.deadlines,\n progress: data.financial.progress,\n pendingOf: data.financial.pendingOf,\n weeklyPayment: data.financial.weeklyPayment,\n interest: data.financial.interest,\n finalDate: data.financial.finalDate,\n initDate: data.financial.initDate,\n dayCut: data.financial.dayCut,\n provider: data.financial.provider,\n finalPayment: data.financial.finalPayment,\n financed: data.financial.financed,\n nextPayment: data.financial.nextPayment\n }\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true\n }\n return contract\n }\n\n public static CreateAuthForm(username: string, curp: string) {\n const password: string = this.createPassword(curp)\n return {\n username: new UntypedFormControl(username, Validators.required),\n password: new UntypedFormControl(password, Validators.required),\n }\n }\n\n public static createPassword(curp: string): string {\n const _curp = curp.split(\"\")\n let password = \"\"\n const limit = 7\n\n if (_curp.length < 16) return \"\"\n\n password += _curp[0].toLowerCase()\n\n for (let i = 1; i <= limit; i++)\n password += _curp[i].toUpperCase()\n\n password += `*`\n return password\n }\n\n public static MapperTypeContCli_Contract(_contract: tyClientContract): oContract {\n const contract: oContract = {\n id: _contract.contract!,\n client: _contract.client,\n address: _contract.address,\n device: _contract.device,\n financial: _contract.financial,\n by: _contract.by,\n active: _contract.active,\n lastPayment: _contract.lastPayment,\n createdAt: _contract.createdAt,\n dynamicAccount: _contract.dynamicAccount,\n }\n\n return contract\n }\n\n public static MapperSyncContractDynamic(base: oContract, account: IDCAccount): oContract {\n let nContract = base\n let _financial = base.financial\n let _device = base.device\n\n\n const financial: oFinancial = {\n total: _financial.total,\n initial: account.properties.amount_commission_opening ? account.properties.amount_commission_opening : _financial.initial,\n deadlines: _financial.deadlines,\n progress: _financial.progress ? _financial.progress : [],\n pendingOf: _financial.pendingOf ? _financial.pendingOf : [],\n weeklyPayment: _financial.weeklyPayment,\n interest: _financial.interest,\n finalDate: _financial.finalDate,\n initDate: _financial.initDate,\n dayCut: _financial.dayCut,\n provider: _financial.provider,\n finalPayment: _financial.finalPayment,\n financed: _financial.financed,\n nextPayment: _financial.nextPayment ? _financial.nextPayment : 0,\n\n amount_commission_opening:\n account.properties.amount_commission_opening,\n\n expected_disbursed:\n account.properties.expected_disbursed ?\n Number(account.properties.expected_disbursed) :\n Number(_financial.expected_disbursed),\n\n principal_disbursed:\n account.properties.principal_disbursed ?\n account.properties.principal_disbursed :\n _financial.principal_disbursed,\n\n commission_opening:\n account.config.commission_opening ?\n Number(account.config.commission_opening) :\n Number(_financial.commission_opening),\n\n credit_type:\n account.config.credit_type ? account.config.credit_type : _financial.credit_type,\n\n clabe:\n String(account.properties.clabe ? account.properties.clabe : _financial.clabe)\n }\n\n const interestArrears = account.config.interest_arrears\n const prevInterestArrears = _financial.interest_arrears\n if (interestArrears != undefined) {\n financial.interest_arrears = interestArrears\n } else if (prevInterestArrears != undefined) {\n financial.interest_arrears = prevInterestArrears\n } else {\n financial.interest_arrears = 0\n }\n\n const interest = account.config.interest_rate\n const prevInterest = _financial.interest\n if (interest != undefined) {\n financial.interest = interest\n } else if (prevInterest != undefined) {\n financial.interest = prevInterest\n } else {\n financial.interest = 0\n }\n\n if (account.properties.amount_commission_opening != undefined) {\n if (Number(account.properties.amount_commission_opening) > 0) {\n financial.initial = Number(account.properties.amount_commission_opening)\n financial.amount_commission_opening = Number(account.properties.amount_commission_opening)\n } else {\n financial.initial = Number(_financial.initial)\n financial.amount_commission_opening = financial.initial\n }\n }\n\n const seller: string | undefined = account.properties.seller_name\n nContract.by = seller != null ? seller : \"\"\n\n nContract.device.id = _device.id ? _device.id : \"\"\n\n nContract.financial = financial\n return nContract\n }\n}\n\nexport enum eContractStatus {\n APPROVED = 'APPROVED',\n DENIED = 'DENIED',\n CANCELED = 'CANCELED',\n PENDING = 'PENDING',\n CHECKING = 'CHECKING',\n}\n","import {oClient, oUserReference} from '../objects/oClient';\nimport {iConektaRecurrent, iConektaSources} from '../objects/oConekta';\nimport {oContract} from '../objects/oContract';\nimport {cContract} from './UtilContract';\nimport {IDCAccount, IDCClient} from './UtilDynamiCore';\nimport {oFinancial} from '../objects/oFinancial';\nimport { tyClientContract } from \"../../v2/objects/oUtil\";\nimport {cConektaRecurrent} from '../../v2/constant/constants';\nimport {eClientStatus} from '../../v2/enum/EnumClient';\n\nexport const cClient: oClient = {\n id: \"\",\n name: \"\",\n username: \"\",\n email: \"\",\n phone: \"\",\n curp: \"\",\n contract_temporary: \"\",\n conekta_id: \"\",\n userReferences: [],\n status: \"\"\n}\n\nexport interface oClientConekta {\n ravcredit: oClient;\n conekta: iConektaRecurrent;\n}\n\nexport const cUserReference: oUserReference = {\n name: \"\",\n phone: \"\",\n relationship: \"\"\n}\n\nexport const cClientConekta: oClientConekta = {\n conekta: cConektaRecurrent,\n ravcredit: cClient\n}\n\nexport interface iClientContract {\n client: oClient;\n contract: oContract;\n}\n\nexport const cClientContract: iClientContract = {\n client: cClient,\n contract: cContract,\n}\n\nexport class FactoryClient {\n\n public static CreateClientToConektaObj(data: oClient) {\n const o: any = {}\n if (data.name && data.name.length > 0) o.name = data.name;\n if (data.username && data.name.length > 0) o.username = data.username;\n if (data.email && data.email.length > 0) o.email = data.email;\n if (data.phone && data.phone.length > 0) o.phone = String(data.phone);\n if (data.curp && data.curp.length > 0) o.curp = data.curp;\n if (data.userReferences && data.userReferences.length > 0) o.userReferences = data.userReferences;\n if (data.contract) o.contract = data.contract;\n if (data.createdAt) o.createdAt = data.createdAt;\n if (data.lastLogin) o.lastLogin = data.lastLogin;\n if (data.conekta_id) o.conekta_id = data.conekta_id;\n\n return o\n }\n\n public static CreateClientFromFormObj(data: any, client?: oClient): oClient {\n const o: oClient = {\n id: \"\",\n name: data[\"client\"][0].name,\n username: data[\"auth\"][0].username,\n password: data[\"auth\"][0].password,\n email: data[\"client\"][0].email,\n phone: String(data[\"client\"][0].phone),\n curp: data[\"client\"][0].curp,\n userReferences: data[\"client\"][0].userReferences,\n status: eClientStatus.ACTIVE\n }\n\n if (client != undefined) {\n if (client.dynamic_id) o.dynamic_id = client.dynamic_id;\n if (client.dynamic_account) o.dynamic_account = client.dynamic_account;\n if (client.conekta_id) o.conekta_id = client.conekta_id;\n }\n\n return o\n }\n\n public static CreateClientConektaObj(data: oClient, finalDate: number) {\n const sources: iConektaSources = {\n type: \"oxxo_recurrent\",\n expires_at: finalDate\n }\n return {\n name: data.name,\n email: data.email,\n phone: data.phone,\n contract: data.contract_temporary,\n client_id: data.id,\n payment_sources: [sources]\n }\n }\n\n public static MapperConektaClient(\n client: oClient,\n conekta: iConektaRecurrent,\n ): iClientContract {\n const o: oClient = client\n\n o.name = conekta.name\n o.email = conekta.email\n o.phone = conekta.phone\n o.conekta_id = conekta.id\n\n return {\n client: o,\n contract: cContract\n }\n }\n\n public static MapperTypeContCli_Client(_client: tyClientContract): oClient {\n const client: oClient = {\n id: _client.id,\n name: _client.name,\n username: _client.username,\n email: _client.email,\n phone: _client.phone,\n curp: _client.curp,\n userReferences: _client.userReferences,\n status: _client.status,\n contract: _client.contract,\n reference: _client.reference,\n references: _client.references,\n conekta_id: _client.conekta_id,\n dynamic_account: _client.dynamic_account,\n token: _client.token,\n contract_temporary: _client.contract_temporary,\n lastLogin: _client.lastLogin,\n dynamic_id: _client.dynamic_id,\n createdAt: _client.createdAt,\n payments: _client.payments,\n password: _client.password,\n contractUrl: _client.contractUrl,\n dynamic_ref: _client.dynamic_ref,\n exists: _client.exists,\n passport_id: _client.passport_id,\n }\n\n return client\n }\n\n public static MapperDynamicClient(\n dynamic: IDCClient,\n client: oClient,\n contract: oContract,\n clientDyn?: IDCClient,\n account?: IDCAccount,\n ): iClientContract {\n // constant o: tyClientContract = cTyClientContract\n\n /* Client ------------------------------------------------------ */\n client.username = `${dynamic.pii.name} ${dynamic.pii.motherlastname} ${dynamic.pii.lastname}`\n client.phone = dynamic.pii.phone as string\n client.dynamic_id = dynamic.id\n client.curp = dynamic.pii.curp\n client.email = dynamic.pii.email\n\n if (account)\n client.dynamic_account = account.id\n\n /* Auth ---------------------------------------------------------- */\n\n\n /* Device -------------------------------------------------------- */\n contract.device.IMEI = clientDyn!.pii.imei\n contract.device.device = clientDyn!.pii.model\n\n /* Contract ------------------------------------------------------ */\n contract.by = clientDyn!.pii.seller_name\n\n if (clientDyn!.pii.fotografia_del_cliente_con_el_equipo != undefined) {\n const oPhoto = clientDyn!.pii.fotografia_del_cliente_con_el_equipo!\n if (oPhoto != \"\") {\n const _photo = JSON.parse(oPhoto)\n if (_photo)\n contract.photo = _photo[0].url\n }\n }\n\n contract.address.state = dynamic.pii.state\n contract.address.city = dynamic.pii.city\n contract.address.street = dynamic.pii.street\n contract.address.ext = dynamic.pii.num_ext as string\n contract.address.zip = dynamic.pii.zipcode as string\n contract.address.neighbor = dynamic.pii.colony\n\n /* Financial ------------------------------------------------------ */\n contract.dynamicAccount = Number(account?.id)\n\n if (account?.config.installments) {\n contract.financial.deadlines = {\n weeks: account.config.installments,\n interest: 0\n }\n }\n\n if (account?.properties.expected_disbursed)\n contract.financial.total = account?.properties.expected_disbursed\n\n if (account?.properties.principal_disbursed)\n contract.financial.financed = account?.properties.principal_disbursed\n\n if (account?.properties.amount_commission_opening) {\n contract.financial.initial = account?.properties.amount_commission_opening\n contract.financial.amount_commission_opening = account?.properties.amount_commission_opening\n }\n\n contract.financial.interest_rate = Number(clientDyn!.pii.interest_rate)\n contract.financial.interest_arrears = account?.config.interest_arrears\n contract.financial.commission_opening = account?.config.commission_opening\n contract.financial.credit_type = account?.config.credit_type\n\n contract.financial.principal_disbursed = account?.properties.principal_disbursed\n contract.financial.expected_disbursed = account?.properties.expected_disbursed\n\n contract.financial.weeklyPayment = Number(clientDyn!.pii.amount_by_period)\n\n return {\n client: client,\n contract: contract,\n }\n }\n\n public static MapperFinancialContract(\n contract: oContract,\n account: IDCAccount,\n ): oFinancial {\n\n contract.dynamicAccount = Number(account.id)\n\n if (account.config.installments) {\n contract.financial.deadlines = {\n weeks: account.config.installments,\n interest: 0\n }\n }\n\n const total =\n account.config.financed_amount != undefined ? account.config.financed_amount : 0\n\n if (total > 0)\n contract.financial.total = total\n\n // if (account.properties.expected_disbursed)\n const expected_disbursed =\n account.properties.expected_disbursed != undefined ? account.properties.expected_disbursed : 0\n\n if (expected_disbursed > 0) contract.financial.total = expected_disbursed\n contract.financial.expected_disbursed = expected_disbursed\n\n contract.financial.interest_rate = account.config.interest_rate\n contract.financial.interest_arrears = account.config.interest_arrears\n\n // if (account.properties.principal_disbursed)\n if (account.properties.principal_disbursed > 0)\n contract.financial.financed = account.properties.principal_disbursed\n\n contract.financial.principal_disbursed = account.properties.principal_disbursed\n\n const amount_commission_opening =\n account.properties.amount_commission_opening != undefined ? account.properties.amount_commission_opening : 0\n\n if (amount_commission_opening > 0)\n contract.financial.initial = amount_commission_opening\n\n contract.financial.amount_commission_opening = amount_commission_opening\n\n contract.financial.interest_arrears = account.config.interest_arrears\n contract.financial.commission_opening = account.config.commission_opening\n contract.financial.credit_type = account.config.credit_type\n\n contract.financial.clabe = String(account.properties.clabe!)\n\n return contract.financial\n }\n\n public static CheckEmail =\n (email: string): boolean => email.includes(\"@\") && email.endsWith(\".com\")\n}\n\nexport enum eIdentityTypes {\n SELFIE = 'SELFIE',\n IDENTITY_FRONT = 'IDENTITY_FRONT',\n IDENTITY_BACK = 'IDENTITY_BACK',\n PASSPORT_FRONT = 'PASSPORT_FRONT',\n PASSPORT_BACK = 'PASSPORT_BACK',\n SERVICE='SERVICE',\n WITH_DEVICE='WITH_DEVICE',\n}\n","export class UtilsHttp {\n\n public static CreateHeadersRavcreditApi(token: string) {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Authorization': `Bearer ${token}`\n }\n }\n\n public static CreateSimpleHeadersApi() {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n }\n }\n\n public static CreateAwsHeadersApi() {\n return {\n 'Content-Type': 'application/json'\n }\n }\n}\n","import {UntypedFormControl, Validators} from \"@angular/forms\";\r\nimport {oClient} from '../objects/oClient';\r\nimport {oContract} from '../objects/oContract';\r\n\r\nexport enum eReferenceStatusRav {\r\n \"Disponible\" = \"Disponible\",\r\n \"Active\" = \"Activo con credito vigente\",\r\n \"ActiveEnded\" = \"Activo sin credito vigente\",\r\n \"Registered\" = \"Registrado\",\r\n \"NonRegistered\" = \"No registrado\",\r\n \"NonVerified\" = \"No verificado\",\r\n \"Rejected\" = \"Rechazado\",\r\n \"Pending\" = \"Pendiente\"\r\n}\r\n\r\nexport enum eAccountDynamicStatus {\r\n \"OK\" = \"Con cuenta activa\",\r\n \"NOK\" = \"Sin cuenta activa\",\r\n}\r\n\r\n//\r\n// export enum eAccountDynamicRegister {\r\n// \"Active\" = \"Activo\", // Ok\r\n// \"NonAuthorized\" = \"No autorizado\",\r\n// \"Authorized\" = \"Autorizado\", // Non ref\r\n// \"Accepted\" = \"Aceptado\", // Non ref\r\n// \"Rejected\" = \"Rechazado\", // Non ref\r\n// \"Pending\" = \"Pendiente\", // Non ref\r\n// \"NotFound\" = \"No registrado\"\r\n// }\r\n\r\nexport enum eClientDynamicStatus {\r\n \"Active\" = \"Active\",\r\n \"Pending\" = \"Pending\",\r\n \"Accepted\" = \"Accepted\",\r\n \"Rejected\" = \"Rejected\",\r\n \"approved\" = \"Aprobado\",\r\n}\r\n\r\nexport const cClientDynamicStatus = {\r\n Active: {\r\n value: \"Active\",\r\n viewValue: \"Activo\"\r\n },\r\n Pending: {\r\n value: \"Pending\",\r\n viewValue: \"Pendiente\"\r\n },\r\n Accepted: {\r\n value: \"Accepted\",\r\n viewValue: \"Pre autorizado\"\r\n },\r\n Rejected: {\r\n value: \"Rejected\",\r\n viewValue: \"Rechazado\"\r\n },\r\n Idle: {\r\n value: \"Idle\",\r\n viewValue: \"\"\r\n },\r\n}\r\n\r\nexport enum eContractSteps {\r\n \"idle\" = \"idle\",\r\n \"general\" = \"General\",\r\n \"address\" = \"Address\",\r\n \"device\" = \"Device\",\r\n \"financial\" = \"Financial\",\r\n \"app\" = \"App\",\r\n}\r\n\r\nexport type partialIDCData = Pick<IDCClient, \"pii\" | \"client_type\">\r\n\r\nexport interface IDCCharge {\r\n barcode_url: string;\r\n currency: string;\r\n expires_at: number;\r\n object: string;\r\n quantity: number;\r\n reference: string;\r\n service_name: string;\r\n store_name: string;\r\n type: string;\r\n unit_price: number;\r\n}\r\n\r\nexport interface IDCGeneratedReference {\r\n account: number;\r\n active: number;\r\n amount: number;\r\n channel: string;\r\n charge: IDCCharge;\r\n company: number;\r\n config?: any;\r\n id: string;\r\n operation: number;\r\n}\r\n\r\nexport const cIDCDataPii: IDCDataPii = {\r\n icc: \"\",\r\n rfc: \"\",\r\n sex: \"\",\r\n city: \"\",\r\n curp: \"\",\r\n days: \"\",\r\n imei: \"\",\r\n name: \"\",\r\n step: \"\",\r\n term: \"\",\r\n brand: \"\",\r\n email: \"\",\r\n model: \"\",\r\n phone: \"\",\r\n score: \"\",\r\n state: \"\",\r\n amount: \"\",\r\n colony: \"\",\r\n period: \"\",\r\n street: \"\",\r\n ticket: \"\",\r\n num_ext: \"\",\r\n num_int: \"\",\r\n zipcode: \"\",\r\n evidence: \"\",\r\n financed: \"\",\r\n house_is: \"\",\r\n lastname: \"\",\r\n type_job: \"\",\r\n birthdate: \"\",\r\n birthstate: \"\",\r\n dicio_data: \"\",\r\n dicio_step: \"\",\r\n secondname: \"\",\r\n nationality: \"\",\r\n seller_name: \"\",\r\n down_payment: \"\",\r\n municipality: \"\",\r\n score_no_hit: \"\",\r\n study_degree: \"\",\r\n branch_office: \"\",\r\n identity_data: \"\",\r\n interest_rate: \"\",\r\n score_interno: \"\",\r\n marital_status: \"\",\r\n monthly_income: \"\",\r\n motherlastname: \"\",\r\n score_rcc_fico: \"\",\r\n identity_selfie: \"\",\r\n amount_by_period: \"\",\r\n identity_id_back: \"\",\r\n proof_of_address: \"\",\r\n identity_id_front: \"\",\r\n economic_dependents: \"\",\r\n identity_id_request: \"\",\r\n identity_verification: \"\",\r\n is_address_ine_currently_live: \"\",\r\n fotografia_del_cliente_con_el_equipo: \"\",\r\n estado: \"\",\r\n gender: \"\"\r\n}\r\n\r\n/**\r\n * Base customer for create customer with DynamiCore provider\r\n * */\r\nexport const cIDCCustomer: partialIDCData = {\r\n pii: cIDCDataPii,\r\n client_type: 662\r\n}\r\n\r\nexport interface IDCDataPii {\r\n icc: string,\r\n rfc: string,\r\n city: string,\r\n curp: string,\r\n sex: string,\r\n days: string,\r\n step: string,\r\n ticket: string,\r\n evidence: string,\r\n proof_of_address: string,\r\n score_interno: string,\r\n imei: string,\r\n name: string,\r\n term: string,\r\n brand: string,\r\n email: string,\r\n model: string,\r\n phone: string,\r\n score: any,\r\n state: string,\r\n amount: string,\r\n colony: string,\r\n estado: any,\r\n gender: string,\r\n period: string,\r\n street: string,\r\n num_ext: string,\r\n num_int: string,\r\n zipcode: string,\r\n financed: string,\r\n house_is: string,\r\n lastname: string,\r\n type_job: string,\r\n birthdate: string,\r\n birthstate: string,\r\n dicio_data: string,\r\n dicio_step: any,\r\n secondname: string,\r\n nationality: string,\r\n seller_name: string,\r\n down_payment: string,\r\n municipality: string,\r\n score_no_hit: string,\r\n study_degree: string,\r\n branch_office: string,\r\n identity_data: any,\r\n interest_rate: string,\r\n marital_status: string,\r\n monthly_income: string,\r\n motherlastname: string,\r\n score_rcc_fico: string,\r\n identity_selfie: any,\r\n amount_by_period: string,\r\n identity_id_back: any,\r\n identity_id_front: any,\r\n economic_dependents: string,\r\n identity_id_request: any,\r\n identity_verification: any,\r\n is_address_ine_currently_live: string,\r\n fotografia_del_cliente_con_el_equipo?: string\r\n}\r\n\r\nexport interface IDCAccountProps {\r\n clabe: string | number,\r\n pagaqui: string | number,\r\n start_date: string,\r\n expected_disbursed: number,\r\n reference_pagaaqui: string,\r\n principal_disbursed: number,\r\n amount_commission_opening: number,\r\n seller_name?: string\r\n}\r\n\r\nexport interface IDCAccountConfig {\r\n contract: string,\r\n credit_type: string,\r\n periodicity: string,\r\n installments: number,\r\n interest_base: string,\r\n interest_rate: number,\r\n interest_arrears: number,\r\n commission_opening: number,\r\n financed_amount?: number\r\n}\r\n\r\nexport interface IDCAccount {\r\n id: number,\r\n group: number,\r\n company: number,\r\n client: number,\r\n created_at: string,\r\n currency: string | number,\r\n status: string,\r\n properties: IDCAccountProps,\r\n product: number,\r\n enabled: string | number,\r\n config: IDCAccountConfig,\r\n amount: number,\r\n type: string,\r\n identifier: string,\r\n start_at: string,\r\n el: any,\r\n client_id: string | number\r\n}\r\n\r\nexport interface IDCTxnRowExtras {\r\n reference: string,\r\n transaction: string\r\n}\r\n\r\nexport interface IDCTxnRow {\r\n id: string,\r\n created_at: string,\r\n seq: number,\r\n created: string,\r\n last4: string,\r\n response: any,\r\n transaction_id: string,\r\n contrapart: string,\r\n reference: string,\r\n external_reference: any,\r\n extras: IDCTxnRowExtras,\r\n name: string,\r\n debit: number,\r\n credit: number,\r\n amount: number\r\n}\r\n\r\nexport interface IDCTxnHeader {\r\n name: string,\r\n type: string,\r\n label?: string,\r\n money?: string,\r\n format?: string\r\n}\r\n\r\nexport interface IDCTxn {\r\n rows: IDCTxnRow[],\r\n headers: IDCTxnHeader[]\r\n}\r\n\r\nexport interface IDCMntryCycle {\r\n date: string,\r\n late: number,\r\n paid: number,\r\n past: string | boolean,\r\n cycle: string | number,\r\n amount: number,\r\n detail: any,\r\n status: string\r\n}\r\n\r\nexport interface IDCMntryPymtAllPaidTotal {\r\n amount: string,\r\n cycles: string\r\n}\r\n\r\nexport interface IDCMntryPymtAll {\r\n late: number,\r\n total: number,\r\n va_cp: number,\r\n actual: number,\r\n cycles: IDCMntryCycle[],\r\n vencido: number,\r\n paid_total: IDCMntryPymtAllPaidTotal,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDue {\r\n total: number,\r\n cycles: IDCMntryCycle[],\r\n new_cycle: IDCMntryCycle,\r\n old_cycle: IDCMntryCycle,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtOpen extends IDCMntryPymtDue {\r\n}\r\n\r\nexport interface IDCMntryPymtPaid {\r\n total: number,\r\n cycles: IDCMntryCycle[] | any[],\r\n new_cycle: any,\r\n old_cycle: any,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDueTax {\r\n expected: number;\r\n}\r\n\r\nexport interface IDCMntryPymtPymt {\r\n paid: number,\r\n expected: number\r\n}\r\n\r\nexport interface IDCMntryPymtCal {\r\n due: IDCMntryPymtDue,\r\n date: string,\r\n past: string,\r\n cycle: number,\r\n balance: number,\r\n due_tax: IDCMntryPymtDueTax,\r\n payment: IDCMntryPymtPymt,\r\n interest: IDCMntryPymtPymt,\r\n principal: IDCMntryPymtPymt,\r\n payment_tax: IDCMntryPymtPymt,\r\n interest_tax: IDCMntryPymtPymt,\r\n final_balance: number,\r\n payment_total: IDCMntryPymtPymt,\r\n principal_tax: IDCMntryPymtPymt\r\n}\r\n\r\nexport interface IDCMntryPymt {\r\n all: IDCMntryPymtAll,\r\n due: IDCMntryPymtDue,\r\n open: IDCMntryPymtOpen,\r\n paid: IDCMntryPymtPaid,\r\n payment_calendar: IDCMntryPymtCal[]\r\n}\r\n\r\nexport interface IDCClient {\r\n id: number,\r\n company: number,\r\n status: string,\r\n external_id: string,\r\n pii: IDCDataPii,\r\n client_type: number,\r\n created_at: string,\r\n pd: number,\r\n username: string,\r\n group: number\r\n}\r\n\r\nexport interface IDCMsg {\r\n code: number,\r\n total: number,\r\n data: IDCClient[] | IDCAccount[] | IDCTxn[] | IDCTxn | IDCMntryPymt | IDCCredit[] | IDCTransaction[],\r\n transaction?: string\r\n}\r\n\r\nexport interface IDynamiCore {\r\n status: string,\r\n message: IDCMsg\r\n}\r\n\r\n/**\r\n * Interfaces for request (base)\r\n * */\r\nexport interface IDCClientObjFilter {\r\n name: string,\r\n filter: string[] | number[],\r\n type: string,\r\n sort: string\r\n}\r\n\r\nexport interface IDCClientQuery {\r\n filters: IDCClientObjFilter[];\r\n}\r\n\r\nexport interface IDCClientPiiFilter {\r\n limit: number,\r\n page: number,\r\n query: IDCClientQuery\r\n}\r\n\r\n/**\r\n * DynamiCore Reference Interface\r\n * */\r\n\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCOxxoRefItem {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCOxxoRefPymtMth {\r\n type: string;\r\n}\r\n\r\nexport interface IDCOxxoRef {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCOxxoRefItem,\r\n payment_method: IDCOxxoRefPymtMth\r\n}\r\n\r\n/**\r\n * DynamiCore Reference\r\n * */\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCRefItems {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCRefPymtMethod {\r\n type: string;\r\n}\r\n\r\nexport interface IDCNewReference {\r\n id: string,\r\n data: IDCReference,\r\n date?: number\r\n}\r\n\r\nexport interface IDCReference {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCRefItems,\r\n payment_method: IDCRefPymtMethod\r\n}\r\n\r\n/**\r\n * Interfaces to Credits\r\n * */\r\nexport interface IDCCreditProperties {\r\n start_date: string;\r\n principal_disbursed: number;\r\n expected_disbursed: number;\r\n amount_commission_opening: number;\r\n}\r\n\r\nexport interface IDCCreditConfig {\r\n contract: string;\r\n credit_type: string;\r\n interest_rate: number;\r\n installments: number;\r\n periodicity: string;\r\n interest_base: string;\r\n commission_opening: number;\r\n financed_amount: number;\r\n interest_arrears: number;\r\n}\r\n\r\nexport interface IDCCredit {\r\n id: number;\r\n group: number;\r\n company: number;\r\n client: number;\r\n created_at: string;\r\n currency: string;\r\n status: string;\r\n properties: IDCCreditProperties;\r\n product: number;\r\n enabled: string;\r\n config: IDCCreditConfig;\r\n amount: number;\r\n type: string;\r\n identifier: null | string;\r\n start_at: null | string;\r\n}\r\n\r\n/**\r\n * Payments\r\n * */\r\nexport interface IDCPayment {\r\n operation: number;\r\n account: string;\r\n date: string;\r\n amount: number;\r\n external_id?: string;\r\n dst_account: string;\r\n extras?: object;\r\n reference: string;\r\n}\r\n\r\nexport const cIDCPayment: IDCPayment = {\r\n operation: 98,\r\n account: \"\",\r\n date: \"\",\r\n amount: 0,\r\n dst_account: \"\",\r\n reference: \"\"\r\n}\r\n\r\n/**\r\n * Transactions\r\n * */\r\nexport interface IDCTransaction {\r\n data: [number, { transaction: string }];\r\n}\r\n\r\nexport const cIDCCharge: IDCCharge = {\r\n barcode_url: \"\",\r\n currency: \"\",\r\n expires_at: 0,\r\n object: \"\",\r\n quantity: 0,\r\n reference: \"\",\r\n service_name: \"\",\r\n store_name: \"\",\r\n type: \"\",\r\n unit_price: 0\r\n}\r\n\r\nexport const cIDCGeneratedReference: IDCGeneratedReference = {\r\n account: 0,\r\n active: 0,\r\n amount: 0,\r\n channel: \"\",\r\n charge: cIDCCharge,\r\n company: 0,\r\n id: \"\",\r\n operation: 0\r\n}\r\n\r\n/**\r\n * Common Factory Dynamic\r\n * */\r\nexport class FactoryDynamiCore {\r\n\r\n public static CreateReferenceBody(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): IDCNewReference | null {\r\n\r\n const customerInfo: IDCRefCustInfo = {\r\n name: client.name,\r\n email: client.email,\r\n phone: client.phone,\r\n }\r\n\r\n const customerItems: IDCRefItems = {\r\n name: \"Referencia Oxxo\",\r\n unit_price: contract.financial.weeklyPayment,\r\n quantity: 1\r\n }\r\n\r\n const paymentMethod: IDCRefPymtMethod = {\r\n type: \"oxxo_cash\"\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n const body: IDCNewReference = {\r\n id: client.id,\r\n data: {\r\n account: Number(client.dynamic_account),\r\n operation: 98,\r\n customer_info: customerInfo,\r\n items: customerItems,\r\n payment_method: paymentMethod\r\n }\r\n }\r\n\r\n if (dateTime != undefined) body.date = dateTime\r\n\r\n return body\r\n }\r\n\r\n public static CreateEmptyCustomer(): partialIDCData {\r\n return cIDCCustomer\r\n }\r\n\r\n public static CreateCustomerFromOClient(client: oClient, contract: oContract): partialIDCData {\r\n const o: partialIDCData = cIDCCustomer\r\n\r\n o.pii.email = client.email\r\n o.pii.name = client.name\r\n o.pii.curp = client.curp\r\n o.pii.phone = client.phone\r\n o.pii.amount = String(contract.financial.total)\r\n o.pii.financed = String(contract.financial.financed)\r\n o.pii.amount_by_period = String(contract.financial.weeklyPayment)\r\n\r\n o.pii.zipcode = contract.address.zip\r\n o.pii.street = contract.address.street\r\n o.pii.city = contract.address.city\r\n o.pii.state = contract.address.state\r\n o.pii.colony = contract.address.neighbor\r\n o.pii.num_ext = contract.address.ext\r\n\r\n return o\r\n }\r\n\r\n public static CreateDynamicCredit(\r\n client: oClient,\r\n contract: oContract,\r\n clientDynamic: IDCClient,\r\n ): Partial<IDCCredit> | null {\r\n const properties: IDCCreditProperties = {\r\n start_date: \"\",\r\n principal_disbursed: 0,\r\n expected_disbursed: 0,\r\n amount_commission_opening: 0\r\n }\r\n\r\n const config: IDCCreditConfig = {\r\n contract: `FP-${client.name}`,\r\n credit_type: \"Arrendamiento\",\r\n interest_rate: 528,\r\n installments: 0,\r\n periodicity: \"WEEK\",\r\n interest_base: \"ACT/ACT\",\r\n commission_opening: 40,\r\n financed_amount: contract.financial.financed,\r\n interest_arrears: 0\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n return {\r\n id: Number(client.dynamic_account),\r\n group: clientDynamic.group,\r\n company: clientDynamic.company,\r\n client: clientDynamic.id,\r\n created_at: \"\",\r\n currency: \"484\",\r\n status: \"pending\",\r\n properties: properties,\r\n product: 1756,\r\n enabled: \"1\",\r\n config: config,\r\n amount: 0,\r\n type: \"liabilities\",\r\n identifier: null,\r\n start_at: null\r\n }\r\n }\r\n\r\n public static CreatePayment(\r\n contract: oContract,\r\n clientDynamic: IDCAccount,\r\n ): IDCPayment {\r\n return {\r\n account: String(clientDynamic.id),\r\n amount: contract.financial.weeklyPayment,\r\n date: \"\",\r\n dst_account: String(clientDynamic.id),\r\n external_id: \"\",\r\n extras: {},\r\n operation: 98,\r\n reference: \"\"\r\n }\r\n }\r\n\r\n public static getNextDateTime(): string {\r\n const now = new Date();\r\n const nextDateTime = new Date(now.getTime() + 1000); // Add 1 second as an example\r\n\r\n const year = nextDateTime.getFullYear();\r\n const month = String(nextDateTime.getMonth() + 1).padStart(2, '0');\r\n const day = String(nextDateTime.getDate()).padStart(2, '0');\r\n const hours = String(nextDateTime.getHours()).padStart(2, '0');\r\n const minutes = String(nextDateTime.getMinutes()).padStart(2, '0');\r\n const seconds = String(nextDateTime.getSeconds()).padStart(2, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;\r\n }\r\n\r\n public static getIsoDate(): string {\r\n const now = new Date();\r\n return now.toISOString();\r\n }\r\n\r\n public static FormPayment(\r\n contract: oContract,\r\n account: IDCAccount) {\r\n\r\n let data = FactoryDynamiCore.CreatePayment(contract, account)\r\n\r\n return {\r\n amount: new UntypedFormControl(data.amount, [Validators.required, Validators.min(0)]),\r\n }\r\n }\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {\r\n oConektaMixOrder,\r\n oConektaNewOrder, oConektaNewOrderAntifraudInfo,\r\n oConektaNewOrderCharge,\r\n oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem,\r\n oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate\r\n} from '../objects/oConekta';\r\n\r\nexport enum ePaymentType {\r\n OXXO = \"OXXO\",\r\n ALTERNA = \"ALTERNA\",\r\n OXXO_RECURRENT = 'oxxo_recurrent'\r\n}\r\n\r\nexport class FactoryConekta {\r\n public static createOrder(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): oConektaNewOrder {\r\n\r\n if (client.conekta_id == undefined) return {\r\n data: {\r\n charges: [],\r\n currency: \"\",\r\n customer_info: {customer_id: \"\"},\r\n line_items: []\r\n },\r\n id: \"\"\r\n }\r\n\r\n const customer_info: oConektaNewOrderCustomerInfo = {\r\n customer_id: client.conekta_id\r\n }\r\n const week = ((3600 * 24) * 30) * 1000\r\n let next = new Date().getTime() + week\r\n next = Math.floor(next / 1000)\r\n\r\n const method: oConektaNewOrderPymMethod = {\r\n type: \"cash\",\r\n expires_at: next,\r\n }\r\n const charge: oConektaNewOrderCharge = {\r\n amount: contract.financial.weeklyPayment * 100,\r\n payment_method: method\r\n }\r\n const charges = [charge]\r\n\r\n const antifraud_info: oConektaNewOrderAntifraudInfo = {\r\n newKey: \"Key\"\r\n }\r\n\r\n const lineItem: oConektaNewOrderLineItem = {\r\n antifraud_info: antifraud_info,\r\n name: `Referencia credito ${client.name}`,\r\n quantity: 1,\r\n unit_price: contract.financial.weeklyPayment * 100,\r\n }\r\n\r\n const lineItems: oConektaNewOrderLineItem[] = [lineItem]\r\n\r\n const orderData: oConektaOrderCreate = {\r\n customer_info: customer_info,\r\n charges: charges,\r\n currency: \"MXN\",\r\n line_items: lineItems\r\n }\r\n\r\n const order: oConektaNewOrder = {\r\n data: orderData,\r\n id: client.id\r\n }\r\n\r\n if (dateTime != undefined) order.date = dateTime\r\n\r\n return order\r\n }\r\n}\r\n\r\n// '\r\n// {\r\n// \"customer_info\": {\r\n// \"name\": \"DevTest\",\r\n// \"email\": \"test@femsa.com\",\r\n// \"phone\": \"5522997233\"\r\n// },\r\n// \"currency\": \"MXN\",\r\n// \"line_items\": [\r\n// {\r\n// \"name\": \"Box of Cohiba S1s\",\r\n// \"quantity\": 1,\r\n// \"unit_price\": 20000\r\n// }\r\n// ]\r\n// }\r\n// '\r\n","import {cNotification, oNotification} from '../objects/oNotification';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\n\r\nexport const ROUTE_NOTIFICATIONS = \"notifications\"\r\nexport const ROUTE_GLOBAL_REFERENCE2 = \"/contract-reference\"\r\n\r\nconst prodFunction = \"https://us-central1-ravcredit-2b079.cloudfunctions.net/CustomerNotification\"\r\nconst prodFunction2 = \"https://customernotification-2imgfxveka-uc.a.run.app\"\r\nconst localTest = \"http://127.0.0.1:5001/ravcredit-2b079/us-central1/CustomerNotification\"\r\nexport const ravCreditFunctions = prodFunction\r\n\r\nexport class FactoryNotification {\r\n\r\n public static FormNotification(notification?: oNotification) {\r\n let data = cNotification\r\n\r\n if (notification) data = notification\r\n\r\n return {\r\n title: new UntypedFormControl(data.notification.title, [Validators.required, Validators.min(1)]),\r\n body: new UntypedFormControl(data.notification.body, [Validators.required, Validators.min(1)]),\r\n }\r\n }\r\n\r\n public static CreateGlobalNotificationObj(data: oNotification) {\r\n const o: any = {}\r\n\r\n if (data.notification) {\r\n const not: any = {}\r\n if (data.notification.body) not[\"body\"] = data.notification.body\r\n if (data.notification.title) not[\"title\"] = data.notification.title\r\n\r\n if (data.ids) not[\"ids\"] = data.ids\r\n\r\n if (data.tokens) not[\"tokens\"] = data.tokens\r\n\r\n if (data.type) not[\"type\"] = data.type\r\n\r\n if (data.data) if (data.data.route) not[\"route\"] = data.data.route\r\n\r\n o[\"data\"] = not\r\n }\r\n return o\r\n }\r\n\r\n}\r\n","export const keyUserID: string = \"rc_uid\"\r\nexport const dbVersion: number = 1\r\nexport const dbName: string = \"RavCreditDB\"\r\nexport const keyPathId: string = \"id\"\r\n\r\nexport const dbAuthStore: string = \"authStore\"\r\nexport const dbUsersStore: string = \"usersStore\"\r\nexport const dbContractsStore: string = \"contractsStore\"\r\nexport const dbClientsStore: string = \"clientsStore\"\r\nexport const dbBusinessInfo: string = \"businessInfo\"\r\nexport const dbBusinessConfig: string = \"businessConfig\"\r\nexport const dbConektaClientsStore: string = \"conektaClientsStore\"\r\nexport const dbConektaReferencesStore: string = \"conektaReferencesStore\"\r\nexport const dbConektaSpeiStore: string = \"conektaSpeiStore\"\r\nexport const dbPassportReferencesStore: string = \"passportReferencesStore\"\r\nexport const dbDynamicReferencesStore: string = \"dynamicReferencesStore\"\r\nexport const dbDynamicAccountStore: string = \"dynamicAccountStore\"\r\nexport const dbNotificationsStore: string = \"notificationsStore\"\r\nexport const dbPaymentsStore: string = \"paymentsStore\"\r\n\r\nexport const dbIndexAuth: string = \"iAuth\"\r\nexport const dbIndexUsers: string = \"iUsers\"\r\nexport const dbIndexContracts: string = \"iContracts\"\r\nexport const dbIndexClients: string = \"iClients\"\r\nexport const dbIndexBusiness: string = \"iBusiness\"\r\nexport const dbIndexConektaClients: string = \"iConecktaClients\"\r\nexport const dbIndexConektaClientsRef: string = \"iConecktaClientsRef\"\r\nexport const dbIndexPassportClientsRef: string = \"iPassportClientsRef\"\r\nexport const dbIndexNotification: string = \"iNotification\"\r\nexport const dbIndexPayments: string = \"iNotification\"\r\n\r\nexport const dateFormat = \"EEEE, dd MMM yyyy\"\r\nexport const dateFormatSimple = \"EEEEEE, dd MMM yyyy\"\r\nexport const dateCompleteFormat = \"EEEE, dd MMM yyyy hh:mm aaaa\"\r\nexport const timeFormat = \"hh:mm aaaa\"\r\nexport const TIME_FORMAT_TABLE = \"iii, dd MMM yyyy\"\r\nexport const timeFormatTable = \"iii, dd MMM yyyy\"\r\n\r\nexport const expiredPayment = \"expiredPayment\"\r\n\r\nexport const ROLES_KEY = 'roles';\r\n","import { Injectable } from '@angular/core';\r\nimport { oUser } from '../objects/oUser';\r\nimport {IDBPDatabase, openDB} from 'idb';\r\nimport {\r\n dbAuthStore, dbBusinessConfig, dbBusinessInfo,\r\n dbClientsStore,\r\n dbConektaClientsStore, dbConektaReferencesStore,\r\n dbContractsStore, dbDynamicReferencesStore,\r\n dbName, dbNotificationsStore, dbPassportReferencesStore,\r\n dbVersion,\r\n keyPathId,\r\n keyUserID\r\n} from '../const/constants';\r\nimport {oClient} from '../objects/oClient';\r\nimport {oContract} from '../objects/oContract';\r\nimport {eProvider} from '../util/UtilContract';\r\nimport {oBusinessConfig, oBusinessInfo} from '../objects/oBusiness';\r\nimport {oNotification} from '../objects/oNotification';\r\nimport { tyClientContract } from \"../../v2/objects/oUtil\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IndexedDbService {\r\n\r\n indexDbStatus = false\r\n iDb!: IDBPDatabase<unknown>\r\n\r\n constructor() {\r\n }\r\n\r\n // async dbAuthorization() {\r\n // // constant k = this.getLocalUser()\r\n // // if (k == null) return false\r\n // //\r\n // // constant db = await openDB(dbName, dbVersion)\r\n // // // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n // // constant auth = await db.get(dbAuthStore, k)\r\n // // // utils auth = await store.get(k)\r\n // // db.close()\r\n //\r\n // let auth: any = null\r\n // return auth;\r\n //\r\n // }\r\n\r\n /****************** SIMPLE Transactional - CRUD *************************************/\r\n\r\n async dbGetObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async dbGetAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async dbAddObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async dbRemoveObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n /************************************* AUTH **************************************/\r\n\r\n async dbSignIn(store: string, data: any) {\r\n await this.iDb.put(store, data)\r\n const _data = data as oUser\r\n this.setLocalStorage(keyUserID, _data.id)\r\n }\r\n\r\n async dbSignOut() {\r\n\r\n const k = this.getLocalUser()\r\n if (!k) return\r\n\r\n await this.iDb.delete(dbAuthStore, k)\r\n this.removeLocalStorage(keyUserID)\r\n }\r\n\r\n async dbAuthorization() {\r\n const k = this.getLocalUser()\r\n if (k == null) return false\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k)\r\n // utils auth = await store.get(k)\r\n db.close()\r\n\r\n if (!auth) return false\r\n else return true\r\n }\r\n\r\n async dbGetToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n /******************************** Local Storage *************************************/\r\n\r\n setLocalStorage(k: string, v: string) {\r\n localStorage.setItem(k, v)\r\n }\r\n\r\n getLocalStorage<T>(k: string) {\r\n return localStorage.getItem(k) as T\r\n }\r\n\r\n removeLocalStorage(k: string) {\r\n return localStorage.removeItem(k)\r\n }\r\n\r\n getLocalUser(): string | null {\r\n const k = localStorage.getItem(keyUserID)\r\n return (k)\r\n }\r\n\r\n /********************************************************************************* **/\r\n\r\n async getPlatformUser() {\r\n const k = this.getLocalStorage<string>(keyUserID) as string\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.name != \"\" ? auth.name : \"\"\r\n }\r\n\r\n async getToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n async addObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async patchObject<T>(store: string, data: any): Promise<T> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n // constant index = obj.index(keyPathCurp)\r\n await obj.put(data)\r\n return data as T\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async updateObjectByID<T>(store: string, id: string, data: T): Promise<boolean> {\r\n try {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id) as oClient\r\n\r\n if (res != undefined) await this.removeObject(dbClientsStore, id)\r\n\r\n return await this.addObject(store, data)\r\n\r\n } catch (e) {\r\n console.error(\"updateObjectByID Catch Error:\", e)\r\n return false\r\n }\r\n }\r\n\r\n async upsertObjectById<T>(store: string, id: string, data: T) {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id)\r\n\r\n if (res) await this.removeObject<T>(store, id)\r\n\r\n return await db.add(store, data)\r\n }\r\n\r\n async removeObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n async deleteObjectByID<T>(store: string, id: string) {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n const index = obj.index(keyPathId)\r\n const va2 = index.openCursor(id)\r\n va2.then(async cursor => {\r\n while (cursor) {\r\n cursor.delete();\r\n cursor = await cursor.continue();\r\n }\r\n })\r\n return va2\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async cleanAll<T>(store: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.clear(store)\r\n }\r\n\r\n async getObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async addBuildByStore(store: string, data: any[]) {\r\n for (const o of data) {\r\n const exists = await this.getObject(store, o[\"id\"])\r\n if (!exists) await this.addObject(store, o)\r\n else await this.updateObject(store, o)\r\n }\r\n }\r\n\r\n async updateObject<T>(store: string, data: any) {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n }\r\n\r\n async getAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async getAuthUser() {\r\n const data = await this.getAllByStore<oUser[]>(dbAuthStore)\r\n return data[0]\r\n }\r\n\r\n async getAuthName() {\r\n const data = await this.getAuthUser()\r\n return data.name\r\n }\r\n\r\n async getAuthUsername() {\r\n const data = await this.getAuthUser()\r\n return data.username\r\n }\r\n\r\n async saveDataLocally<T>(\r\n contract: oContract,\r\n client: oClient,\r\n providerData: T,\r\n ): Promise<boolean> {\r\n try {\r\n await this.addObject(dbClientsStore, client)\r\n await this.addObject(dbContractsStore, contract)\r\n\r\n if (!providerData) return false\r\n\r\n if (contract.financial.provider === eProvider.Conekta) {\r\n await this.addObject(dbConektaClientsStore, providerData)\r\n await this.addObject(dbConektaReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.Passport) {\r\n await this.addObject(dbPassportReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.DynamiCore) {\r\n await this.addObject(dbDynamicReferencesStore, providerData)\r\n }\r\n return true\r\n } catch (e) {\r\n console.error(e)\r\n return false\r\n }\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n async getAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.getAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.getObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n\r\n async dbGetAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.dbGetAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.dbGetObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /****************** BUSINESS INFO *************************************/\r\n\r\n async getBusinessInfo(): Promise<oBusinessInfo | null> {\r\n const config: oBusinessInfo[] = await this.dbGetAllByStore<oBusinessInfo[]>(dbBusinessInfo)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n /****************** BUSINESS CONFIG ************************************/\r\n\r\n async getBusinessConfig(): Promise<oBusinessConfig | null> {\r\n const config: oBusinessConfig[] = await this.dbGetAllByStore<oBusinessConfig[]>(dbBusinessConfig)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n async updateBusinessConfig(config: oBusinessConfig) {\r\n\r\n // config.version = \"1.0\"\r\n await this.dbRemoveObject(dbBusinessConfig, \"1.0\")\r\n await this.dbAddObject(dbBusinessConfig, config)\r\n }\r\n\r\n async updateBusinessInfo(config: oBusinessInfo) {\r\n\r\n config.version = \"v2024\"\r\n await this.dbRemoveObject(dbBusinessInfo, \"v2024\")\r\n await this.dbAddObject(dbBusinessInfo, config)\r\n }\r\n\r\n /**************** NOTIFICATIONS *********************************/\r\n\r\n async getLocalNotifications(): Promise<oNotification[] | null> {\r\n const notifications: oNotification[] = await this.dbGetAllByStore<oNotification[]>(dbNotificationsStore)\r\n if (!notifications) return null\r\n return notifications\r\n }\r\n\r\n async updateNotifications(notifications: oNotification[]) {\r\n for (const o of notifications) {\r\n const exists = await this.dbGetObject(dbNotificationsStore, o.notification_id)\r\n if (!exists) {\r\n await this.dbAddObject(dbNotificationsStore, o)\r\n }\r\n }\r\n }\r\n}\r\n","import {add, format, getDate} from \"date-fns\";\r\nimport {es} from 'date-fns/locale/es';\r\nimport {eProvider} from './UtilContract';\r\nimport {inject, Injector, runInInjectionContext} from '@angular/core';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {oConektaOrder} from '../objects/oConekta';\r\nimport {dateCompleteFormat, dateFormat, expiredPayment, timeFormat} from '../const/constants';\r\nimport {IndexedDbService} from '../idb/indexed-db.service';\r\nimport { oPaymentDates } from \"../../v2/objects/oUtil\";\r\n\r\nexport class UtilTime {\r\n private localeFns = es\r\n\r\n public static IsExpired(time: number): boolean {\r\n const dateInit = new Date(time)\r\n const dayInit = dateInit.getDate()\r\n const monthInit = dateInit.getMonth() + 1\r\n\r\n const dateActual = new Date()\r\n const dayActual = dateActual.getDate()\r\n const monthActual = dateActual.getMonth() + 1\r\n\r\n if (monthActual > monthInit) return true\r\n\r\n return dayActual > dayInit;\r\n }\r\n\r\n public static getDates(initial: number, weeks: number): oPaymentDates[] {\r\n const dates: oPaymentDates[] = []\r\n let prev = initial\r\n for (let i = 0; i < weeks; i++) {\r\n const date = add(prev, {weeks: 1})\r\n dates.push(\r\n {\r\n week: i + 1,\r\n date: date.getTime()\r\n }\r\n )\r\n prev = date.getTime()\r\n }\r\n return dates\r\n }\r\n\r\n public static getPreviousWeek() {\r\n const today = new Date().getTime()\r\n const week = ((3600 * 24) * 7) * 1000\r\n return today - week\r\n }\r\n\r\n public static getDayNum(date: Date | number): number {\r\n return getDate(date)\r\n }\r\n\r\n public static getDayName(date: Date | number): string {\r\n return format(date, \"EEEE\", {locale: es})\r\n }\r\n\r\n public static getMonthName(date: Date | number): string {\r\n return format(date, \"MMMM\", {locale: es}).toUpperCase();\r\n }\r\n\r\n public static getYear(date: Date | number): string {\r\n return format(date, \"yyyy\")\r\n }\r\n\r\n public static GetNextPayment(time: number, provider: string) {\r\n let week = 0\r\n if (provider == eProvider.Conekta) {\r\n week = (((3600 * 24) * 7))\r\n } else if (provider == eProvider.DynamiCore) {\r\n week = (((3600 * 24) * 7) * 1000)\r\n }\r\n return this.getLocalTimeFromLong(time + week, provider)\r\n }\r\n\r\n public static getLocalTimeFromLong(time: number, provider: string) {\r\n if (time <= 0) return \"\"\r\n let factor = this.GetFactor(provider)\r\n let dateTime = time * factor\r\n let parsedDate = format(new Date(dateTime), dateFormat, {\r\n locale: es\r\n })\r\n return parsedDate\r\n }\r\n\r\n public static DelayPaymentLast(\r\n lastPayment: number, provider: string, injector: Injector\r\n ): boolean {\r\n let factor = this.GetFactor(provider)\r\n let now = new Date().getTime()\r\n let last = 0\r\n\r\n if (provider == eProvider.Conekta)\r\n last = ((((3600 * 24) * 7)) + lastPayment) * factor\r\n else if (provider == eProvider.DynamiCore)\r\n last = ((((3600 * 24) * 7) * 1000) + lastPayment) * factor\r\n\r\n runInInjectionContext(injector, () => {\r\n const idb = inject(IndexedDbService)\r\n // constant observable = inject(ObservablesService)\r\n idb.setLocalStorage(expiredPayment, String(now > last))\r\n // observable.isLate.next(now > last)\r\n })\r\n return now > last\r\n }\r\n\r\n public static GetFactor(provider: string) {\r\n let factor = 1\r\n if (provider == eProvider.Conekta)\r\n factor = 1000\r\n return factor\r\n }\r\n\r\n public static GetEpochFromFormatedDate(date: string): number {\r\n if (date == \"\") return 0\r\n\r\n const _date = new Date(date)\r\n if (isNaN(_date.getTime())) return 0\r\n return _date.getTime()\r\n }\r\n\r\n public static GetTimeFromString(date: string) {\r\n return format(new Date(date), timeFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n public static GetDateFromString(date: string) {\r\n return format(new Date(date), dateCompleteFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n // Quick sort\r\n public static SortingByTime(payments: IDCTxnRow[]): IDCTxnRow[] {\r\n if (payments.length <= 1) return payments\r\n\r\n const pivot = payments[payments.length - 1]\r\n const pivotDate = new Date(pivot.created).getTime()\r\n const left: IDCTxnRow[] = []\r\n const right: IDCTxnRow[] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actualDate = new Date(payments[i].created).getTime()\r\n if (actualDate > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTime(left), pivot, ...this.SortingByTime(right)]\r\n }\r\n\r\n public static SortingByTimeConekta(payments: oConektaOrder []): oConektaOrder[] {\r\n if (payments.length <= 1) return payments;\r\n\r\n const pivot = payments[payments.length - 1]\r\n let pivotDate = 0;\r\n if (pivot.charges.data == undefined) return payments\r\n\r\n if (pivot.charges.data[0].paid_at != undefined) {\r\n pivotDate = pivot.charges.data[0].paid_at\r\n } else {\r\n pivot.charges.data[0].created_at\r\n }\r\n\r\n if (pivotDate <= 0) return payments;\r\n\r\n const left: oConektaOrder[] = []\r\n const right: oConektaOrder [] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actual = payments[i].charges.data[0].paid_at;\r\n if (actual <= 0) continue\r\n if (actual > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTimeConekta(left), pivot, ...this.SortingByTimeConekta(right)]\r\n }\r\n}\r\n","import {oContractMetrics} from '../../v2/objects/oUtil';\n\nexport const cContractMetrics: oContractMetrics = {\n total: 0,\n activated: 0,\n paused: 0,\n completed: 0,\n canceled: 0,\n late: 0,\n conektaCount: 0,\n dynamicCount: 0,\n passportCount: 0,\n rateTotal: 0,\n rateActive: 0,\n ratePaused: 0,\n rateComplete: 0,\n rateCanceled: 0,\n rateLate: 0\n}\n","export enum ePassportTypes {\r\n CREATE = \"create_references\",\r\n SEND = \"send_references\"\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {iGlobalPassport} from '../objects/oPassport';\r\nimport {ePassportTypes} from '../../v2/enum/EnumPassport';\r\n\r\nexport class FactoryPassport {\r\n public static CreatePassportReference(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): iGlobalPassport {\r\n const o = {\r\n passport: {\r\n type: ePassportTypes.CREATE,\r\n data: {\r\n name: client.name,\r\n email: client.email,\r\n amount: contract.financial.weeklyPayment,\r\n expirationDate: \"\",\r\n additional: {\r\n client: client.name,\r\n clientID: client.id,\r\n credit: client.status\r\n }\r\n }\r\n },\r\n contract: contract,\r\n date: dateTime\r\n }\r\n if (dateTime != undefined) o.date = dateTime\r\n return o\r\n }\r\n}\r\n","import {oConektaRes} from '../objects/oConekta';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {eProvider} from './UtilContract';\r\n\r\nexport interface oPaymentGlobal {\r\n conektaPayment?: oConektaRes,\r\n dynamicPayment?: IDCTxnRow[],\r\n}\r\n\r\nexport class FactoryPayment {\r\n public static CreatePayment(data: oConektaRes | IDCTxnRow[], provider: eProvider): oPaymentGlobal {\r\n const o: oPaymentGlobal = {}\r\n\r\n if (provider == eProvider.DynamiCore)\r\n o.dynamicPayment = data as IDCTxnRow[];\r\n\r\n if (provider == eProvider.Conekta)\r\n o.conektaPayment = data as oConektaRes\r\n\r\n return o\r\n }\r\n}\r\n","export class UtilGeneral {\r\n\r\n public static cleanUsername(password: string): string {\r\n if (password.includes(\"+\") || password.length > 10) {\r\n let len = 10 // standard Mexico phone length\r\n let pLen = password.length - 1\r\n let _password: string[] = []\r\n\r\n for (let i = len; i > 0; i--) {\r\n _password.push(password[pLen])\r\n pLen--\r\n }\r\n\r\n return _password.reverse().join(\"\")\r\n }\r\n\r\n return password\r\n }\r\n\r\n}\r\n","export const ErrorMessages = {\r\n NotFound: \"Recurso no encontrado\",\r\n Unauthorized: \"Request without(or not valid) token\",\r\n RandomError: \"Something goes wrong, try again -> \",\r\n RandomErrorFirestore: \"Something goes wrong in firestore\",\r\n CreateUser: \"Error: Something goes wrong\",\r\n CreateFoundedUser: \"Error: User already exists try with another username\",\r\n FindAllNotFound: \"Not users found\",\r\n UserFindOne: \"User with given ID not found\",\r\n UserFindOneError: \"Error getting user by ID\",\r\n UserUpdate: \"Error updating user by ID\",\r\n DeleteUser: \"Error deleting user\",\r\n UsernameNotFound: \"User with given username not found\",\r\n IncorrectPassword: \"Incorrect or not valid password\",\r\n LastLogIn: \"Last LogIn date not updated\",\r\n authError: \"Username or password incorrect\",\r\n tokenRequired: \"Token required\",\r\n ClientDefined: \"This user already registered: Update user's contracts instead\",\r\n ClientsNotFound: \"List of clients is empty\",\r\n ClientNotFound: \"Client with given ID, not found\",\r\n ClientNotUpdated: \"Client with given ID, not updated\",\r\n DeleteClient: \"Error deleting client\",\r\n UsernameClientNotFound: \"Client with given username not found\",\r\n ContractsAllEmpty: \"Contract list empty\",\r\n ContractNotFound: \"Contract not found\",\r\n ContractUpdateError: \"Something goes wrong updating contract, try again\",\r\n ContractDeleteError: \"Something goes wrong deleting contract, try again\"\r\n};\r\n","export enum eAssetPeriod {\r\n MONTH = \"MONTH\",\r\n WEEK = \"WEEK\",\r\n}\r\n","export enum eLoginStatus {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n AUTHORIZED = \"AUTHORIZED\",\r\n CHECKING = \"CHECKING\",\r\n NOAUTHORIZED = \"NOAUTHORIZED\",\r\n NOTFOUND = \"NOTFOUND\",\r\n ERRORPASSWORD = \"ERRORPASSWORD\",\r\n USERNOTFOUND = \"USERNOTFOUND\",\r\n}\r\n\r\nexport enum eAuthActions {\r\n delete = \"delete\",\r\n auth = \"auth\"\r\n}\r\n\r\nexport enum eAuthType2 {\r\n auth = \"auth\",\r\n login = \"login\",\r\n idle = \"\"\r\n}\r\n\r\nexport enum eAuthType {\r\n USER = 'USER', // Used for user of Ravcredit platform user, employee\r\n ADMIN = \"ADMIN\",\r\n SELLER = 'SELLER',\r\n CLIENT = 'CLIENT', // Used for clients of Ravcredit\r\n CONSULTANT = 'CONSULTANT',\r\n FUNCTION = 'FUNCTION',\r\n}\r\n","export enum eConektaRes {\r\n CUSTOMER_CREATED = 'customer.created',\r\n ORDER_PENDING_PAYMENT = 'order.pending_payment',\r\n ORDER_CREATED = 'order.created',\r\n CHARGE_CREATED = 'charge.created',\r\n ORDER_PAID = 'order.paid',\r\n CHARGE_PAID = 'charge.paid',\r\n}\r\n\r\nexport enum eConektaOrderStatus {\r\n expired = 'expired',\r\n paid = 'paid',\r\n pending_payment = 'pending_payment',\r\n}\r\n\r\nexport enum eConektaOrderType {\r\n REFERENCE = \"REFERENCE\",\r\n SPEI = \"SPEI\",\r\n}\r\n","export enum EnumDynamicClientStatus {\r\n ACCEPTED = \"Accepted\",\r\n PENDING = \"Pending\",\r\n REJECTED = \"Rejected\",\r\n ACTIVE = \"Active\",\r\n INACTIVE = \"Inactive\",\r\n CANCELED = \"Cancelled\",\r\n}\r\n","export enum eNotificationType { GLOBAL = \"global\", USER = \"user\", PAYMENT = \"payment\" }\r\n","export enum eProcessStatus {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n CANCELED = \"CANCELED\",\r\n COMPLETE = \"COMPLETE\",\r\n PROCESSING = \"PROCESSING\",\r\n WAITING = \"WAITING\",\r\n}\r\n\r\nexport enum eRequestVerb {\r\n POST = 'POST',\r\n GET = 'GET',\r\n PATCH = 'PATCH',\r\n DELETE = 'DELETE',\r\n}\r\n\r\nexport enum eGCActions {\r\n Create = 'Create',\r\n Update = 'Update',\r\n Remove = 'Remove',\r\n LoginTime = 'UpdateLogIn'\r\n}\r\n\r\nexport enum eOrderType {\r\n DYNAMIC_REFERENCE = 'DYNAMIC_REFERENCE',\r\n DYNAMIC_SPEI = 'DYNAMIC_SPEI',\r\n CONEKTA_REFERENCE = 'CONEKTA_REFERENCE',\r\n CONEKTA_SPEI = 'CONEKTA_SPEI',\r\n PASSPORT_REFERENCE = 'PASSPORT_REFERENCE',\r\n}\r\n","export enum eVerificationStep {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n COMPLETED = \"COMPLETED\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n INVALID = \"INVALID\",\r\n SUSPENDED = \"SUSPENDED\",\r\n CANCELLED = \"CANCELLED\",\r\n}\r\n\r\nexport enum eVerificationStatus {\r\n APPROVED = \"approved\",\r\n CANCELLED = \"cancelled\",\r\n}\r\n\r\nexport enum eVerificationChannel {\r\n SMS = \"sms\",\r\n WHATSAPP = \"whatsapp\",\r\n CALL = \"call\",\r\n EMAIL = \"email\",\r\n SNA = \"sna\",\r\n}\r\n","/*\r\n * Public API Surface of ravcredit-lib\r\n */\r\n\r\nexport * from './lib/ravcredit-lib.service';\r\nexport * from './lib/ravcredit-lib.component';\r\nexport * from './lib/v1/objects/oAddress';\r\nexport * from './lib/v1/objects/oBusiness';\r\n// export * from './lib/v1/objects/oClient';\r\nexport * from './lib/v1/objects/oConekta';\r\nexport * from './lib/v1/objects/oContract';\r\nexport * from './lib/v1/objects/oContractAll';\r\nexport * from './lib/v1/objects/oCustomer';\r\nexport * from './lib/v1/objects/oDevice';\r\nexport * from './lib/v1/objects/oFinancial';\r\nexport * from './lib/v1/objects/oLogIn';\r\nexport * from './lib/v1/objects/oNewPayment';\r\nexport * from './lib/v1/objects/oNotification';\r\nexport * from './lib/v1/objects/oPassport';\r\nexport * from './lib/v1/objects/oUser';\r\nexport * from './lib/v1/objects/oVerification';\r\n\r\nexport * from './lib/v1/util/UtilClient';\r\nexport * from './lib/v1/util/UtilsHttp'\r\nexport * from './lib/v1/util/UtilBusiness';\r\nexport * from './lib/v1/util/UtilDynamiCore';\r\nexport * from './lib/v1/util/UtilContract';\r\nexport * from './lib/v1/util/UtilConekta';\r\nexport * from './lib/v1/util/UtilNotification';\r\nexport * from './lib/v1/util/UtilTime';\r\nexport * from './lib/v1/util/UtilDashboard';\r\nexport * from './lib/v1/util/UtilPassport';\r\nexport * from './lib/v1/util/UtilPayment';\r\nexport * from './lib/v1/util/UtilGeneral';\r\n\r\nexport * from './lib/v1/idb/indexed-db.service';\r\nexport * from './lib/v1/const/constants';\r\n\r\nexport * from './lib/v2/constant/constants';\r\nexport * from './lib/v2/constant/messages';\r\n\r\nexport * from './lib/v2/objects/oAsset';\r\nexport * from './lib/v2/objects/oAws';\r\nexport * from './lib/v2/objects/oCatalog';\r\nexport * from './lib/v2/objects/oClient';\r\nexport * from './lib/v2/objects/oCompany';\r\nexport * from './lib/v2/objects/oContract';\r\nexport * from './lib/v2/objects/oHttp';\r\nexport * from './lib/v2/objects/oMediaDto';\r\nexport * from './lib/v2/objects/oMessaging';\r\nexport * from './lib/v2/objects/oScoreDto';\r\nexport * from './lib/v2/objects/oUtil';\r\n\r\nexport * from './lib/v2/objects/oUtil';\r\nexport * from './lib/v2/objects/oHttp';\r\n\r\nexport * from './lib/v2/enum/EnumAsset';\r\nexport * from './lib/v2/enum/EnumAuth';\r\nexport * from './lib/v2/enum/EnumClient';\r\nexport * from './lib/v2/enum/EnumConekta';\r\nexport * from './lib/v2/enum/EnumDynamic';\r\nexport * from './lib/v2/enum/EnumNotification';\r\nexport * from './lib/v2/enum/EnumPassport';\r\nexport * from './lib/v2/enum/EnumRoles';\r\nexport * from './lib/v2/enum/EnumToken';\r\nexport * from './lib/v2/enum/EnumUtil';\r\nexport * from './lib/v2/enum/EnumVerification';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAKa,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA,EAAgB;uGAFL,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA;;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCSY,qBAAqB,CAAA;uGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPtB,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAGU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,UAAA,EACjB,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EACD,CAAA;;;;AAIT,EAAA,CAAA,EAAA;;;ACUH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCO,MAAM,MAAM,GAAG;AAuBf,MAAM,aAAa,GAAkB;AAC1C,IAAA,YAAY,EAAE;AACZ,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,IAAI,EAAE;AACP,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,KAAK,EAAE;AACR;;;AC6BH;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ICvCY;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EANW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;ICAb;AAAZ,CAAA,UAAY,MAAM,EAAA;AAChB,IAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,MAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EANW,MAAM,KAAN,MAAM,GAAA,EAAA,CAAA,CAAA;;ACAlB,IAAY,UAiDX;AAjDD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,UAAA,CAAA,UAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,+BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,+BAAmC;AACnC,IAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,UAAA,CAAA,UAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAmB;AACnB,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,UAAA,CAAA,UAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB;AACtB,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,+BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,+BAAmC;AACnC,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,wBAA4B;AAC5B,IAAA,UAAA,CAAA,UAAA,CAAA,iCAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iCAAqC;AACrC,IAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,UAAA,CAAA,UAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAmB;AACnB,IAAA,UAAA,CAAA,UAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,UAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC1B,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,uBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,uBAA2B;AAC3B,IAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,UAAA,CAAA,UAAA,CAAA,uBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,uBAA2B;AAC3B,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,UAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,UAAA,CAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,4BAAgC;AAClC,CAAC,EAjDW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;;ACaf,MAAM,yBAAyB,GAAmB;AACvD,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,KAAK,EAAE;;AAEF,MAAM,oBAAoB,GAAqB;AACpD,IAAA;QACE,KAAK,EAAE,aAAa,CAAC,MAAM;AAC3B,QAAA,SAAS,EAAE;KACZ,EAAE;QACD,KAAK,EAAE,aAAa,CAAC,SAAS;AAC9B,QAAA,SAAS,EAAE;KACZ,EAAE;QACD,KAAK,EAAE,aAAa,CAAC,MAAM;AAC3B,QAAA,SAAS,EAAE;KACZ,EAAE;QACD,KAAK,EAAE,aAAa,CAAC,IAAI;AACzB,QAAA,SAAS,EAAE;KACZ,EAAE;QACD,KAAK,EAAE,aAAa,CAAC,QAAQ;AAC7B,QAAA,SAAS,EAAE;AACZ;;AAGI,MAAM,YAAY,GAAc;AACrC,IAAA;QACE,KAAK,EAAE,MAAM,CAAC,aAAa;QAC3B,SAAS,EAAE,MAAM,CAAC;AACnB,KAAA;AACD,IAAA;QACE,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,SAAS,EAAE,MAAM,CAAC;AACnB,KAAA;AACD,IAAA;QACE,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,SAAS,EAAE,MAAM,CAAC;AACnB,KAAA;;AAGI,MAAM,aAAa,GAAkB;AAC1C,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,WAAW,EAAE,CAAC;AACd,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,IAAI,EAAE,KAAK;;AAGN,MAAM,oBAAoB,GAAsB;AACrD,IAAA,kBAAkB,EAAE;;AAGf,MAAM,sBAAsB,GAAsB;AACvD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,kBAAkB,EAAE;;AAGf,MAAM,0BAA0B,GAAsB;AAC3D,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,kBAAkB,EAAE;;AAGf,MAAM,iBAAiB,GAAG,EAAC,GAAG,OAAO,EAAE,GAAG,SAAS;AAEnD,MAAM,QAAQ,GAAa;AAChC,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,KAAK,EAAE;;AAGF,MAAM,yBAAyB,GAA8B;AAClE,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,SAAS,EAAE;;AAGN,MAAM,qBAAqB,GAA0B;AAC1D,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,IAAI,EAAE;;AAGD,MAAM,iBAAiB,GAAsB;AAClD,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,eAAe,EAAE;;AAGZ,MAAM,WAAW,GAAgB;AACtC,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,IAAI;;AAGL,MAAM,YAAY,GAAiB;AACxC,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,KAAK,EAAE;;AAGF,MAAM,SAAS,GAAc;AAClC,IAAA,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,UAAU,CAAC,QAAQ;AAC/B,IAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AAC/B,IAAA,IAAI,EAAE,IAAI;;;ACxHL,MAAM,SAAS,GAAc;AAClC,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,KAAK,EAAE,CAAC;;AAGH,MAAM,SAAS,GAAc;IAClC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE;;AAGnB,MAAM,IAAI,GAAa;IAC5B,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;;AAG/D,MAAM,gBAAgB,GAAgB;IAC3C,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAC;IAClC,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAC;IACnC,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAC;IACrC,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAC;IACpC,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAC;IAClC,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAC;IACpC,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAC;;AAG7B,MAAM,aAAa,GAAkB;AAC1C,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,KAAK,EAAE,EAAE;;AAGJ,MAAM,kBAAkB,GAAuB;AACpD,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,QAAQ,EAAE;;AAGL,MAAM,eAAe,GAAoB;AAC9C,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,aAAa,EAAE,EAAE;AACjB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,MAAM,EAAE;;MAKG,eAAe,CAAA;IAEnB,OAAO,gBAAgB,CAAC,IAAoB,EAAA;QACjD,IAAI,IAAI,GAAG,aAAa;AAExB,QAAA,IAAI,IAAI;YAAE,IAAI,GAAG,IAAI;QAErB,IAAI,CAAC,IAAI,EAAE,OAAO;AAAE,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;QAE3C,OAAO;YACL,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;AAC5D,YAAA,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAClF,YAAA,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAChF,YAAA,MAAM,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC;AACxE,YAAA,QAAQ,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;AAC5E,YAAA,EAAE,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC;AACjE,YAAA,GAAG,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC;YAClE,GAAG,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAC7C,YAAA,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;AACpE,YAAA,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;AACtE,YAAA,MAAM,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3C,UAAU,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;YAC9D,WAAW,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;YAChE,WAAW,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;YAChE,YAAY,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YAClE,aAAa,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;YACpE,cAAc,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;YACtE,YAAY,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;YAClE,aAAa,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;YACpE,UAAU,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;YAC9D,WAAW,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;YAChE,YAAY,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;YAClE,aAAa,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;YACpE,UAAU,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;YAC9D,WAAW,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;SACjE;IAEH;IAEO,OAAO,qBAAqB,CAAC,IAAwB,EAAA;QAC1D,MAAM,OAAO,GAAa,QAAQ;AAElC,QAAA,MAAM,QAAQ,GAAkB;AAC9B,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,MAAM,EAAE;SACT;QAED,IAAI,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QAC7C,IAAI,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QAC1C,IAAI,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;QACnD,IAAI,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QACvC,IAAI,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;QACpC,IAAI,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;QACpC,IAAI,IAAI,CAAC,EAAE;AAAE,YAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE;QAElC,IAAI,IAAI,CAAC,UAAU;YAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnE,IAAI,IAAI,CAAC,WAAW;YAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAEtE,IAAI,IAAI,CAAC,WAAW;YAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACtE,IAAI,IAAI,CAAC,YAAY;YAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAEzE,IAAI,IAAI,CAAC,aAAa;YAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5E,IAAI,IAAI,CAAC,cAAc;YAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;QAE/E,IAAI,IAAI,CAAC,YAAY;YAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QACzE,IAAI,IAAI,CAAC,aAAa;YAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAE5E,IAAI,IAAI,CAAC,UAAU;YAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnE,IAAI,IAAI,CAAC,WAAW;YAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAEtE,IAAI,IAAI,CAAC,YAAY;YAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QACzE,IAAI,IAAI,CAAC,aAAa;YAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAE5E,IAAI,IAAI,CAAC,UAAU;YAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnE,IAAI,IAAI,CAAC,WAAW;YAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAEtE,QAAA,MAAM,IAAI,GAAkB;AAC1B,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE;AAChC,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AACtC,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AACnC,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG;SAC/B;AAED,QAAA,OAAO,IAAI;IACb;IAEO,OAAO,kBAAkB,CAAC,IAAwB,EAAA;;QAGvD,OAAO;AACL,YAAA,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;AACzC,YAAA,QAAQ,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChD;IACH;IAEO,OAAO,kBAAkB,CAAC,MAAwB,EAAA;QACvD,IAAI,IAAI,GAAG,eAAe;AAC1B,QAAA,IAAI,MAAM;YAAE,IAAI,GAAG,MAAM;QAEzB,OAAO;AACL,YAAA,eAAe,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC;AAC7D,YAAA,wBAAwB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,wBAAwB,CAAC;AAC/E,YAAA,uBAAuB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC;AAC7E,YAAA,kBAAkB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACnE,YAAA,uBAAuB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC;AAC7E,YAAA,SAAS,EAAE,IAAI,gBAAgB,CAAC,EAAE;SACnC;IACH;IAEO,OAAO,YAAY,CAAC,OAAe,EAAA;QACxC,OAAO,CAAA,QAAA,EAAW,OAAO,CAAA,CAAE;IAC7B;AACD;;IC1KW;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,EAAS;AACT,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAC3B,CAAC,EALW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;AAOd,MAAM,OAAO,GAAY;AAC9B,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,IAAI,EAAE;;AAGD,MAAM,UAAU,GAAe;AACpC,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,SAAS,EAAE,kBAAkB;AAC7B,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,aAAa,EAAE,CAAC;AAChB,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,SAAS,CAAC,UAAU;AAC9B,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,WAAW,EAAE,CAAC;AACd,IAAA,yBAAyB,EAAE,CAAC;AAC5B,IAAA,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;AACrB,IAAA,WAAW,EAAE,eAAe;AAC5B,IAAA,aAAa,EAAE,CAAC;AAChB,IAAA,kBAAkB,EAAE,CAAC;AACrB,IAAA,gBAAgB,EAAE,CAAC;;AAGd,MAAM,SAAS,GAAc;AAClC,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,MAAM,EAAE;;MAGG,eAAe,CAAA;IAEnB,OAAO,UAAU,CAAC,MAAgB,EAAA;QACvC,IAAI,IAAI,GAAG,OAAO;AAElB,QAAA,IAAI,MAAM;YAAE,IAAI,GAAG,MAAM;QAEzB,OAAO;YACL,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AACxF,YAAA,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACrF,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AACxF,YAAA,cAAc,EAAE,IAAI,gBAAgB,CAAC,EAAE;SACxC;IACH;IAEO,OAAO,0BAA0B,CAAC,IAAoB,EAAA;QAC3D,IAAI,IAAI,GAAG,cAAc;AAEzB,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;YAAE,IAAI,GAAG,IAAI;QAEhC,OAAO;YACL,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AACxF,YAAA,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAChE,YAAA,YAAY,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC/E;IACH;IAEO,OAAO,WAAW,CAAC,OAAkB,EAAA;QAC1C,IAAI,IAAI,GAAG,QAAQ;AAEnB,QAAA,IAAI,OAAO;YAAE,IAAI,GAAG,OAAO;QAE3B,OAAO;YACL,MAAM,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC;YAChE,QAAQ,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;YACpE,EAAE,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC;YACzD,GAAG,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC;AAC1D,YAAA,GAAG,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;YACrC,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC5D,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;SAC/D;IACH;IAEO,OAAO,UAAU,CAAC,MAAgB,EAAA;QACvC,IAAI,IAAI,GAAG,OAAO;AAElB,QAAA,IAAI,MAAM;YAAE,IAAI,GAAG,MAAM;QAEzB,OAAO;YACL,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC/D,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;AAC5D,YAAA,EAAE,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;SACpC;IACH;IAEO,OAAO,aAAa,CAAC,SAAsB,EAAA;QAChD,IAAI,IAAI,GAAG,UAAU;AAErB,QAAA,IAAI,SAAS;YAAE,IAAI,GAAG,SAAS;AAE/B,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe;;QAGlC,OAAO;YACL,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,YAAA,OAAO,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACpE,YAAA,QAAQ,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,aAAa,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,YAAA,SAAS,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACxE,YAAA,QAAQ,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/C,YAAA,QAAQ,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;AAE/C,YAAA,WAAW,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AAC5E,YAAA,aAAa,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AAClF,YAAA,kBAAkB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;AACjG,YAAA,gBAAgB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAE3F,yBAAyB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,CAAC;AACjF,YAAA,mBAAmB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACrE,YAAA,kBAAkB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,kBAAkB;SACnE;IACH;AAEO,IAAA,OAAO,yBAAyB,CAAC,IAAS,EAAE,QAAgB,EAAA;AACjE,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE;AAEvB,QAAA,MAAM,MAAM,GAAY;YACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YAC/B,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB;AACD,QAAA,MAAM,OAAO,GAAa;YACxB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;YACjC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC7B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;YACrC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;YAC3B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;YAC3B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B;AAED,QAAA,MAAM,SAAS,GAAe;AAC5B,YAAA,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACzC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;YACrC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;AACzC,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;YACjD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;YAC5C,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC;AACpF,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;AACxB,YAAA,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;YACtB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;AACvC,YAAA,YAAY,EAAE,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;YACvC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;AACD,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE;AACzD,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC;AAC/H,YAAA,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;AAC5H,YAAA,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC;AAC/H,YAAA,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;AAChH,YAAA,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;AAC5H,YAAA,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE;AAChG,YAAA,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAChF;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,IAAI,SAAS,EAAE;AAC/D,YAAA,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC;AAC5D,gBAAA,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;;AAE1E,gBAAA,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5D;AAEA,QAAA,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC;AAC5D,YAAA,SAAS,CAAC,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;;AAE5F,YAAA,SAAS,CAAC,yBAAyB,GAAG,SAAS,CAAC,OAAO;AAEzD,QAAA,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS;AAAE,YAAA,SAAS,CAAC,WAAW,GAAG,CAAC;AAEjE,QAAA,MAAM,QAAQ,GAAc;AAC1B,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE;AAC3B,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO;SACxB;AACD,QAAA,OAAO,QAAQ;IACjB;AAEO,IAAA,OAAO,0BAA0B,CAAC,IAAe,EAAE,UAAkB,EAAE,QAAgB,EAAA;QAC5F,MAAM,CAAC,GAAQ,EAAE;AACjB,QAAA,MAAM,KAAK,GAAoB;AAC7B,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE;SACR;AACD,QAAA,MAAM,OAAO,GAAa;AACxB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,SAAS,EAAE;SACZ;AACD,QAAA,MAAM,KAAK,GAAiB;AAC1B,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,WAAW,EAAE;SACd;AACD,QAAA,MAAM,QAAQ,GAAoB;AAChC,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,QAAQ,EAAE;SACX;AACD,QAAA,MAAM,QAAQ,GAAW;AACvB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AAC9B,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,IAAI,EAAE;SACP;AAED,QAAA,MAAM,MAAM,GAAY;AACtB,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;AAC1B,YAAA,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;AAClB,YAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;SACnB;AACD,QAAA,MAAM,OAAO,GAAa;AACxB,YAAA,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;AAC3B,YAAA,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;AACvB,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC/B,YAAA,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;AACrB,YAAA,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;AACrB,YAAA,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;AACrB,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;SACrB;AACD,QAAA,MAAM,SAAS,GAAe;AAC5B,YAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;AAC3B,YAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;AAC/B,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;AACnC,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;AACjC,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;AACnC,YAAA,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa;AAC3C,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;AACjC,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;AACnC,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;AACjC,YAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AAC7B,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;AACjC,YAAA,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;AACzC,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;AACjC,YAAA,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;SAC7B;AACD,QAAA,MAAM,QAAQ,GAAc;AAC1B,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,MAAM,EAAE;SACT;AACD,QAAA,OAAO,QAAQ;IACjB;AAEO,IAAA,OAAO,cAAc,CAAC,QAAgB,EAAE,IAAY,EAAA;QACzD,MAAM,QAAQ,GAAW,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAClD,OAAO;YACL,QAAQ,EAAE,IAAI,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC/D,QAAQ,EAAE,IAAI,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;SAChE;IACH;IAEO,OAAO,cAAc,CAAC,IAAY,EAAA;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,CAAC;AAEf,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;AAAE,YAAA,OAAO,EAAE;QAEhC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE;YAC7B,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QAEpC,QAAQ,IAAI,GAAG;AACf,QAAA,OAAO,QAAQ;IACjB;IAEO,OAAO,0BAA0B,CAAC,SAA2B,EAAA;AAClE,QAAA,MAAM,QAAQ,GAAc;YAC1B,EAAE,EAAE,SAAS,CAAC,QAAS;YACvB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,cAAc,EAAE,SAAS,CAAC,cAAc;SACzC;AAED,QAAA,OAAO,QAAQ;IACjB;AAEO,IAAA,OAAO,yBAAyB,CAAC,IAAe,EAAE,OAAmB,EAAA;QAC1E,IAAI,SAAS,GAAG,IAAI;AACpB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM;AAGzB,QAAA,MAAM,SAAS,GAAe;YAC5B,KAAK,EAAE,UAAU,CAAC,KAAK;AACvB,YAAA,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC,yBAAyB,GAAG,UAAU,CAAC,OAAO;YACzH,SAAS,EAAE,UAAU,CAAC,SAAS;AAC/B,YAAA,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,GAAG,EAAE;AACxD,YAAA,SAAS,EAAE,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,GAAG,EAAE;YAC3D,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,QAAQ,EAAE,UAAU,CAAC,QAAQ;AAC7B,YAAA,WAAW,EAAE,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,GAAG,CAAC;AAEhE,YAAA,yBAAyB,EACzB,OAAO,CAAC,UAAU,CAAC,yBAAyB;AAE5C,YAAA,kBAAkB,EAChB,OAAO,CAAC,UAAU,CAAC,kBAAkB;gBACnC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAC7C,gBAAA,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAEzC,YAAA,mBAAmB,EACjB,OAAO,CAAC,UAAU,CAAC,mBAAmB;AACpC,gBAAA,OAAO,CAAC,UAAU,CAAC,mBAAmB;AACtC,gBAAA,UAAU,CAAC,mBAAmB;AAElC,YAAA,kBAAkB,EAChB,OAAO,CAAC,MAAM,CAAC,kBAAkB;gBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;AACzC,gBAAA,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAEzC,YAAA,WAAW,EACT,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW;YAElF,KAAK,EACH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK;SAChF;AAED,QAAA,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB;AACvD,QAAA,MAAM,mBAAmB,GAAG,UAAU,CAAC,gBAAgB;AACvD,QAAA,IAAI,eAAe,IAAI,SAAS,EAAE;AAChC,YAAA,SAAS,CAAC,gBAAgB,GAAG,eAAe;QAC9C;AAAO,aAAA,IAAI,mBAAmB,IAAI,SAAS,EAAE;AAC3C,YAAA,SAAS,CAAC,gBAAgB,GAAG,mBAAmB;QAClD;aAAO;AACL,YAAA,SAAS,CAAC,gBAAgB,GAAG,CAAC;QAChC;AAEA,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa;AAC7C,QAAA,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ;AACxC,QAAA,IAAI,QAAQ,IAAI,SAAS,EAAE;AACzB,YAAA,SAAS,CAAC,QAAQ,GAAG,QAAQ;QAC/B;AAAO,aAAA,IAAI,YAAY,IAAI,SAAS,EAAE;AACpC,YAAA,SAAS,CAAC,QAAQ,GAAG,YAAY;QACnC;aAAO;AACL,YAAA,SAAS,CAAC,QAAQ,GAAG,CAAC;QACxB;QAEA,IAAI,OAAO,CAAC,UAAU,CAAC,yBAAyB,IAAI,SAAS,EAAE;YAC7D,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE;gBAC5D,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC;gBACxE,SAAS,CAAC,yBAAyB,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC;YAC5F;iBAAO;gBACL,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;AAC9C,gBAAA,SAAS,CAAC,yBAAyB,GAAG,SAAS,CAAC,OAAO;YACzD;QACF;AAEA,QAAA,MAAM,MAAM,GAAuB,OAAO,CAAC,UAAU,CAAC,WAAW;AACjE,QAAA,SAAS,CAAC,EAAE,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE;AAE3C,QAAA,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,EAAE;AAElD,QAAA,SAAS,CAAC,SAAS,GAAG,SAAS;AAC/B,QAAA,OAAO,SAAS;IAClB;AACD;IAEW;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EANW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;;AC7ZpB,MAAM,OAAO,GAAY;AAC9B,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,MAAM,EAAE;;AAQH,MAAM,cAAc,GAAmB;AAC5C,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,YAAY,EAAE;;AAGT,MAAM,cAAc,GAAmB;AAC5C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,SAAS,EAAE;;AAQN,MAAM,eAAe,GAAoB;AAC9C,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,QAAQ,EAAE,SAAS;;MAGR,aAAa,CAAA;IAEjB,OAAO,wBAAwB,CAAC,IAAa,EAAA;QAClD,MAAM,CAAC,GAAQ,EAAE;QACjB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QACzD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;QACrE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QAC7D,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QACzD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc;QACjG,IAAI,IAAI,CAAC,QAAQ;AAAE,YAAA,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAC7C,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QAChD,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QAChD,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AAEnD,QAAA,OAAO,CAAC;IACV;AAEO,IAAA,OAAO,uBAAuB,CAAC,IAAS,EAAE,MAAgB,EAAA;AAC/D,QAAA,MAAM,CAAC,GAAY;AACjB,YAAA,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;YAClC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;YAClC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AAC9B,YAAA,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACtC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5B,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;YAChD,MAAM,EAAE,aAAa,CAAC;SACvB;AAED,QAAA,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,IAAI,MAAM,CAAC,UAAU;AAAE,gBAAA,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;YACvD,IAAI,MAAM,CAAC,eAAe;AAAE,gBAAA,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe;YACtE,IAAI,MAAM,CAAC,UAAU;AAAE,gBAAA,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;QACzD;AAEA,QAAA,OAAO,CAAC;IACV;AAEO,IAAA,OAAO,sBAAsB,CAAC,IAAa,EAAE,SAAiB,EAAA;AACnE,QAAA,MAAM,OAAO,GAAoB;AAC/B,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,UAAU,EAAE;SACb;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,kBAAkB;YACjC,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,eAAe,EAAE,CAAC,OAAO;SAC1B;IACH;AAEO,IAAA,OAAO,mBAAmB,CAC/B,MAAe,EACf,OAA0B,EAAA;QAE1B,MAAM,CAAC,GAAY,MAAM;AAEzB,QAAA,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;AACrB,QAAA,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;AACvB,QAAA,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;AACvB,QAAA,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,EAAE;QAEzB,OAAO;AACL,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,QAAQ,EAAE;SACX;IACH;IAEO,OAAO,wBAAwB,CAAC,OAAyB,EAAA;AAC9D,QAAA,MAAM,MAAM,GAAY;YACtB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC;AAED,QAAA,OAAO,MAAM;IACf;IAEO,OAAO,mBAAmB,CAC/B,OAAkB,EAClB,MAAe,EACf,QAAmB,EACnB,SAAqB,EACrB,OAAoB,EAAA;;;QAKpB,MAAM,CAAC,QAAQ,GAAG,CAAA,EAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,CAAA,EAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA,CAAA,EAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA,CAAE;QAC7F,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAe;AAC1C,QAAA,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,EAAE;QAC9B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI;QAC9B,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK;AAEhC,QAAA,IAAI,OAAO;AACT,YAAA,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,EAAE;;;QAMrC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,SAAU,CAAC,GAAG,CAAC,IAAI;QAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,SAAU,CAAC,GAAG,CAAC,KAAK;;QAG7C,QAAQ,CAAC,EAAE,GAAG,SAAU,CAAC,GAAG,CAAC,WAAW;QAExC,IAAI,SAAU,CAAC,GAAG,CAAC,oCAAoC,IAAI,SAAS,EAAE;AACpE,YAAA,MAAM,MAAM,GAAG,SAAU,CAAC,GAAG,CAAC,oCAAqC;AACnE,YAAA,IAAI,MAAM,IAAI,EAAE,EAAE;gBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AACjC,gBAAA,IAAI,MAAM;oBACR,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;YAClC;QACF;QAEA,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK;QAC1C,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI;QACxC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM;QAC5C,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAiB;QACpD,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAiB;QACpD,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM;;QAG9C,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;AAE7C,QAAA,IAAI,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE;AAChC,YAAA,QAAQ,CAAC,SAAS,CAAC,SAAS,GAAG;AAC7B,gBAAA,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY;AAClC,gBAAA,QAAQ,EAAE;aACX;QACH;AAEA,QAAA,IAAI,OAAO,EAAE,UAAU,CAAC,kBAAkB;YACxC,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,OAAO,EAAE,UAAU,CAAC,kBAAkB;AAEnE,QAAA,IAAI,OAAO,EAAE,UAAU,CAAC,mBAAmB;YACzC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,EAAE,UAAU,CAAC,mBAAmB;AAEvE,QAAA,IAAI,OAAO,EAAE,UAAU,CAAC,yBAAyB,EAAE;YACjD,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,CAAC,yBAAyB;YAC1E,QAAQ,CAAC,SAAS,CAAC,yBAAyB,GAAG,OAAO,EAAE,UAAU,CAAC,yBAAyB;QAC9F;AAEA,QAAA,QAAQ,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,SAAU,CAAC,GAAG,CAAC,aAAa,CAAC;QACvE,QAAQ,CAAC,SAAS,CAAC,gBAAgB,GAAG,OAAO,EAAE,MAAM,CAAC,gBAAgB;QACtE,QAAQ,CAAC,SAAS,CAAC,kBAAkB,GAAG,OAAO,EAAE,MAAM,CAAC,kBAAkB;QAC1E,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,EAAE,MAAM,CAAC,WAAW;QAE5D,QAAQ,CAAC,SAAS,CAAC,mBAAmB,GAAG,OAAO,EAAE,UAAU,CAAC,mBAAmB;QAChF,QAAQ,CAAC,SAAS,CAAC,kBAAkB,GAAG,OAAO,EAAE,UAAU,CAAC,kBAAkB;AAE9E,QAAA,QAAQ,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,SAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAE1E,OAAO;AACL,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,QAAQ,EAAE,QAAQ;SACnB;IACH;AAEO,IAAA,OAAO,uBAAuB,CACnC,QAAmB,EACnB,OAAmB,EAAA;QAGnB,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;AAE5C,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE;AAC/B,YAAA,QAAQ,CAAC,SAAS,CAAC,SAAS,GAAG;AAC7B,gBAAA,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY;AAClC,gBAAA,QAAQ,EAAE;aACX;QACH;QAEA,MAAM,KAAK,GACT,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC;QAElF,IAAI,KAAK,GAAG,CAAC;AACX,YAAA,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK;;QAGlC,MAAM,kBAAkB,GACtB,OAAO,CAAC,UAAU,CAAC,kBAAkB,IAAI,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,GAAG,CAAC;QAEhG,IAAI,kBAAkB,GAAG,CAAC;AAAE,YAAA,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,kBAAkB;AACzE,QAAA,QAAQ,CAAC,SAAS,CAAC,kBAAkB,GAAG,kBAAkB;QAE1D,QAAQ,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa;QAC/D,QAAQ,CAAC,SAAS,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB;;AAGrE,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC;YAC5C,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,mBAAmB;QAEtE,QAAQ,CAAC,SAAS,CAAC,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,mBAAmB;QAE/E,MAAM,yBAAyB,GAC7B,OAAO,CAAC,UAAU,CAAC,yBAAyB,IAAI,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,yBAAyB,GAAG,CAAC;QAE9G,IAAI,yBAAyB,GAAG,CAAC;AAC/B,YAAA,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,yBAAyB;AAExD,QAAA,QAAQ,CAAC,SAAS,CAAC,yBAAyB,GAAG,yBAAyB;QAExE,QAAQ,CAAC,SAAS,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB;QACrE,QAAQ,CAAC,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB;QACzE,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW;AAE3D,QAAA,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAM,CAAC;QAE5D,OAAO,QAAQ,CAAC,SAAS;IAC3B;IAEO,OAAO,UAAU,GACtB,CAAC,KAAa,KAAc,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;;IAGjE;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACjC,IAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACjC,IAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAiB;AACjB,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAAyB;AAC3B,CAAC,EARW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;MCnSb,SAAS,CAAA;IAEb,OAAO,yBAAyB,CAAC,KAAa,EAAA;QACnD,OAAO;AACL,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,QAAQ,EAAE,kBAAkB;AAC5B,YAAA,8BAA8B,EAAE,cAAc;YAC9C,eAAe,EAAE,CAAA,OAAA,EAAU,KAAK,CAAA;SACjC;IACH;AAEO,IAAA,OAAO,sBAAsB,GAAA;QAClC,OAAO;AACL,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,QAAQ,EAAE,kBAAkB;AAC5B,YAAA,8BAA8B,EAAE,cAAc;SAC/C;IACH;AAEO,IAAA,OAAO,mBAAmB,GAAA;QAC/B,OAAO;AACL,YAAA,cAAc,EAAE;SACjB;IACH;AACD;;ICpBW;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,YAA2B;AAC3B,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,4BAAuC;AACvC,IAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,4BAA4C;AAC5C,IAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,YAA2B;AAC3B,IAAA,mBAAA,CAAA,eAAA,CAAA,GAAA,eAAiC;AACjC,IAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,WAAwB;AACxB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EATW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;IAWnB;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,IAAA,CAAA,GAAA,mBAA0B;AAC1B,IAAA,qBAAA,CAAA,KAAA,CAAA,GAAA,mBAA2B;AAC7B,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;AAKjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAEY;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAmB;AACnB,IAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAuB;AACvB,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAuB;AACvB,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAuB;AACzB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;AAQzB,MAAM,oBAAoB,GAAG;AAClC,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,SAAS,EAAE;AACZ,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,SAAS,EAAE;AACZ,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,SAAS,EAAE;AACZ,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,SAAS,EAAE;AACZ,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,SAAS,EAAE;AACZ,KAAA;;IAGS;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAe;AACf,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAqB;AACrB,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAmB;AACnB,IAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAyB;AACzB,IAAA,cAAA,CAAA,KAAA,CAAA,GAAA,KAAa;AACf,CAAC,EAPW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;AAoCnB,MAAM,WAAW,GAAe;AACrC,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,aAAa,EAAE,EAAE;AACjB,IAAA,aAAa,EAAE,EAAE;AACjB,IAAA,aAAa,EAAE,EAAE;AACjB,IAAA,aAAa,EAAE,EAAE;AACjB,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,gBAAgB,EAAE,EAAE;AACpB,IAAA,gBAAgB,EAAE,EAAE;AACpB,IAAA,gBAAgB,EAAE,EAAE;AACpB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,qBAAqB,EAAE,EAAE;AACzB,IAAA,6BAA6B,EAAE,EAAE;AACjC,IAAA,oCAAoC,EAAE,EAAE;AACxC,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,MAAM,EAAE;;AAGV;;AAEK;AACE,MAAM,YAAY,GAAmB;AAC1C,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,WAAW,EAAE;;AAiYR,MAAM,WAAW,GAAe;AACrC,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,SAAS,EAAE;;AAUN,MAAM,UAAU,GAAc;AACnC,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,UAAU,EAAE;;AAGP,MAAM,sBAAsB,GAA0B;AAC3D,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,SAAS,EAAE;;AAGb;;AAEK;MACQ,iBAAiB,CAAA;AAErB,IAAA,OAAO,mBAAmB,CAC/B,MAAe,EACf,QAAmB,EACnB,QAAiB,EAAA;AAGjB,QAAA,MAAM,YAAY,GAAmB;YACnC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB;AAED,QAAA,MAAM,aAAa,GAAgB;AACjC,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,aAAa;AAC5C,YAAA,QAAQ,EAAE;SACX;AAED,QAAA,MAAM,aAAa,GAAqB;AACtC,YAAA,IAAI,EAAE;SACP;QAED,IAAI,CAAC,MAAM,CAAC,eAAe;AAAE,YAAA,OAAO,IAAI;AAExC,QAAA,MAAM,IAAI,GAAoB;YAC5B,EAAE,EAAE,MAAM,CAAC,EAAE;AACb,YAAA,IAAI,EAAE;AACJ,gBAAA,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;AACvC,gBAAA,SAAS,EAAE,EAAE;AACb,gBAAA,aAAa,EAAE,YAAY;AAC3B,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,cAAc,EAAE;AACjB;SACF;QAED,IAAI,QAAQ,IAAI,SAAS;AAAE,YAAA,IAAI,CAAC,IAAI,GAAG,QAAQ;AAE/C,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,OAAO,mBAAmB,GAAA;AAC/B,QAAA,OAAO,YAAY;IACrB;AAEO,IAAA,OAAO,yBAAyB,CAAC,MAAe,EAAE,QAAmB,EAAA;QAC1E,MAAM,CAAC,GAAmB,YAAY;QAEtC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;QAC1B,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QACxB,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QACxB,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,QAAA,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/C,QAAA,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;AACpD,QAAA,CAAC,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC;QAEjE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG;QACpC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM;QACtC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI;QAClC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK;QACpC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ;QACxC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG;AAEpC,QAAA,OAAO,CAAC;IACV;AAEO,IAAA,OAAO,mBAAmB,CAC/B,MAAe,EACf,QAAmB,EACnB,aAAwB,EAAA;AAExB,QAAA,MAAM,UAAU,GAAwB;AACtC,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,mBAAmB,EAAE,CAAC;AACtB,YAAA,kBAAkB,EAAE,CAAC;AACrB,YAAA,yBAAyB,EAAE;SAC5B;AAED,QAAA,MAAM,MAAM,GAAoB;AAC9B,YAAA,QAAQ,EAAE,CAAA,GAAA,EAAM,MAAM,CAAC,IAAI,CAAA,CAAE;AAC7B,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,aAAa,EAAE,GAAG;AAClB,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,kBAAkB,EAAE,EAAE;AACtB,YAAA,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ;AAC5C,YAAA,gBAAgB,EAAE;SACnB;QAED,IAAI,CAAC,MAAM,CAAC,eAAe;AAAE,YAAA,OAAO,IAAI;QAExC,OAAO;AACL,YAAA,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,MAAM,EAAE,aAAa,CAAC,EAAE;AACxB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,QAAQ,EAAE;SACX;IACH;AAEO,IAAA,OAAO,aAAa,CACzB,QAAmB,EACnB,aAAyB,EAAA;QAEzB,OAAO;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACjC,YAAA,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAAa;AACxC,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACrC,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,SAAS,EAAE;SACZ;IACH;AAEO,IAAA,OAAO,eAAe,GAAA;AAC3B,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE;AACtB,QAAA,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAEpD,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE;AACvC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAClE,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC3D,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC9D,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAClE,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAElE,QAAA,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,OAAO,EAAE;IACjE;AAEO,IAAA,OAAO,UAAU,GAAA;AACtB,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE;AACtB,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE;IAC1B;AAEO,IAAA,OAAO,WAAW,CACvB,QAAmB,EACnB,OAAmB,EAAA;QAEnB,IAAI,IAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;QAE7D,OAAO;YACL,MAAM,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACtF;IACH;AACD;;ICruBW;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,YAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACnC,CAAC,EAJW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;MAMX,cAAc,CAAA;AAClB,IAAA,OAAO,WAAW,CACvB,MAAe,EACf,QAAmB,EACnB,QAAiB,EAAA;AAGjB,QAAA,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS;YAAE,OAAO;AACzC,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,aAAa,EAAE,EAAC,WAAW,EAAE,EAAE,EAAC;AAChC,oBAAA,UAAU,EAAE;AACb,iBAAA;AACD,gBAAA,EAAE,EAAE;aACL;AAED,QAAA,MAAM,aAAa,GAAiC;YAClD,WAAW,EAAE,MAAM,CAAC;SACrB;AACD,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI;QACtC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI;QACtC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAE9B,QAAA,MAAM,MAAM,GAA8B;AACxC,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,UAAU,EAAE,IAAI;SACjB;AACD,QAAA,MAAM,MAAM,GAA2B;AACrC,YAAA,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAAa,GAAG,GAAG;AAC9C,YAAA,cAAc,EAAE;SACjB;AACD,QAAA,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC;AAExB,QAAA,MAAM,cAAc,GAAkC;AACpD,YAAA,MAAM,EAAE;SACT;AAED,QAAA,MAAM,QAAQ,GAA6B;AACzC,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,IAAI,EAAE,CAAA,mBAAA,EAAsB,MAAM,CAAC,IAAI,CAAA,CAAE;AACzC,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,aAAa,GAAG,GAAG;SACnD;AAED,QAAA,MAAM,SAAS,GAA+B,CAAC,QAAQ,CAAC;AAExD,QAAA,MAAM,SAAS,GAAwB;AACrC,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE;SACb;AAED,QAAA,MAAM,KAAK,GAAqB;AAC9B,YAAA,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,MAAM,CAAC;SACZ;QAED,IAAI,QAAQ,IAAI,SAAS;AAAE,YAAA,KAAK,CAAC,IAAI,GAAG,QAAQ;AAEhD,QAAA,OAAO,KAAK;IACd;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9FO,MAAM,mBAAmB,GAAG;AAC5B,MAAM,uBAAuB,GAAG;AAEvC,MAAM,YAAY,GAAG,6EAA6E;AAClG,MAAM,aAAa,GAAG,sDAAsD;AAC5E,MAAM,SAAS,GAAG,wEAAwE;AACnF,MAAM,kBAAkB,GAAG;MAErB,mBAAmB,CAAA;IAEvB,OAAO,gBAAgB,CAAC,YAA4B,EAAA;QACzD,IAAI,IAAI,GAAG,aAAa;AAExB,QAAA,IAAI,YAAY;YAAE,IAAI,GAAG,YAAY;QAErC,OAAO;YACL,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChG,IAAI,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/F;IACH;IAEO,OAAO,2BAA2B,CAAC,IAAmB,EAAA;QAC3D,MAAM,CAAC,GAAQ,EAAE;AAEjB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,GAAG,GAAQ,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI;gBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;AAChE,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK;gBAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK;YAEnE,IAAI,IAAI,CAAC,GAAG;AAAE,gBAAA,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG;YAEnC,IAAI,IAAI,CAAC,MAAM;AAAE,gBAAA,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM;YAE5C,IAAI,IAAI,CAAC,IAAI;AAAE,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI;YAEtC,IAAI,IAAI,CAAC,IAAI;AAAE,gBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;AAElE,YAAA,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG;QACjB;AACA,QAAA,OAAO,CAAC;IACV;AAED;;AC7CM,MAAM,SAAS,GAAW;AAC1B,MAAM,SAAS,GAAW;AAC1B,MAAM,MAAM,GAAW;AACvB,MAAM,SAAS,GAAW;AAE1B,MAAM,WAAW,GAAW;AAC5B,MAAM,YAAY,GAAW;AAC7B,MAAM,gBAAgB,GAAW;AACjC,MAAM,cAAc,GAAW;AAC/B,MAAM,cAAc,GAAW;AAC/B,MAAM,gBAAgB,GAAW;AACjC,MAAM,qBAAqB,GAAW;AACtC,MAAM,wBAAwB,GAAW;AACzC,MAAM,kBAAkB,GAAW;AACnC,MAAM,yBAAyB,GAAW;AAC1C,MAAM,wBAAwB,GAAW;AACzC,MAAM,qBAAqB,GAAW;AACtC,MAAM,oBAAoB,GAAW;AACrC,MAAM,eAAe,GAAW;AAEhC,MAAM,WAAW,GAAW;AAC5B,MAAM,YAAY,GAAW;AAC7B,MAAM,gBAAgB,GAAW;AACjC,MAAM,cAAc,GAAW;AAC/B,MAAM,eAAe,GAAW;AAChC,MAAM,qBAAqB,GAAW;AACtC,MAAM,wBAAwB,GAAW;AACzC,MAAM,yBAAyB,GAAW;AAC1C,MAAM,mBAAmB,GAAW;AACpC,MAAM,eAAe,GAAW;AAEhC,MAAM,UAAU,GAAG;AACnB,MAAM,gBAAgB,GAAG;AACzB,MAAM,kBAAkB,GAAG;AAC3B,MAAM,UAAU,GAAG;AACnB,MAAM,iBAAiB,GAAG;AAC1B,MAAM,eAAe,GAAG;AAExB,MAAM,cAAc,GAAG;AAEvB,MAAM,SAAS,GAAG;;MCjBZ,gBAAgB,CAAA;IAE3B,aAAa,GAAG,KAAK;AACrB,IAAA,GAAG;AAEH,IAAA,WAAA,GAAA;IACA;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,WAAW,CAAI,KAAa,EAAE,IAAS,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,IAAI;QACtB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1C,OAAO,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAM;IACvC;AAEA,IAAA,MAAM,eAAe,CAAI,KAAa,EAAE,KAAc,EAAA;QACpD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;AAC1C,QAAA,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAM;IACpC;AAEA,IAAA,MAAM,WAAW,CAAI,KAAa,EAAE,IAAS,EAAA;AAC3C,QAAA,IAAI;YACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAC1C,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;AACzB,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,KAAK;QACd;IACF;AAEA,IAAA,MAAM,cAAc,CAAI,KAAa,EAAE,IAAS,EAAA;QAC9C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1C,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAM;IAC1C;;AAIA,IAAA,MAAM,QAAQ,CAAC,KAAa,EAAE,IAAS,EAAA;QACrC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAa;QAC3B,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C;AAEA,IAAA,MAAM,SAAS,GAAA;AAEb,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE;AAC7B,QAAA,IAAI,CAAC,CAAC;YAAE;QAER,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;IACpC;AAEA,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE;QAC7B,IAAI,CAAC,IAAI,IAAI;AAAE,YAAA,OAAO,KAAK;QAE3B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;;QAE1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;;QAEzC,EAAE,CAAC,KAAK,EAAE;AAEV,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,KAAK;;AAClB,YAAA,OAAO,IAAI;IAClB;AAEA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE;QAC7B,IAAI,CAAC,IAAI,IAAI;AAAE,YAAA,OAAO,EAAE;QAExB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;;QAE1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAU;;QAGlD,EAAE,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;IACzD;;IAIA,eAAe,CAAC,CAAS,EAAE,CAAS,EAAA;AAClC,QAAA,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B;AAEA,IAAA,eAAe,CAAI,CAAS,EAAA;AAC1B,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,CAAM;IACrC;AAEA,IAAA,kBAAkB,CAAC,CAAS,EAAA;AAC1B,QAAA,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IACnC;IAEA,YAAY,GAAA;QACV,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;QACzC,QAAQ,CAAC;IACX;;AAIA,IAAA,MAAM,eAAe,GAAA;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAS,SAAS,CAAW;QAC3D,IAAI,CAAC,IAAI,IAAI;AAAE,YAAA,OAAO,EAAE;QAExB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;;QAE1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAU;;QAGlD,EAAE,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE;IACzC;AAEA,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE;QAC7B,IAAI,CAAC,IAAI,IAAI;AAAE,YAAA,OAAO,EAAE;QAExB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;;QAE1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAU;;QAGlD,EAAE,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;IACzD;AAEA,IAAA,MAAM,SAAS,CAAI,KAAa,EAAE,IAAS,EAAA;AACzC,QAAA,IAAI;YACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAC1C,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;AACzB,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,KAAK;QACd;IACF;AAEA,IAAA,MAAM,WAAW,CAAI,KAAa,EAAE,IAAS,EAAA;AAC3C,QAAA,IAAI;YACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAC1C,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC;YAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;;AAElC,YAAA,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AACnB,YAAA,OAAO,IAAS;QAClB;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,YAAA,OAAO,EAAO;QAChB;IACF;AAEA,IAAA,MAAM,gBAAgB,CAAI,KAAa,EAAE,EAAU,EAAE,IAAO,EAAA;AAC1D,QAAA,IAAI;YAEF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAY;YAE9C,IAAI,GAAG,IAAI,SAAS;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;YAEjE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;QAE1C;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC;AACjD,YAAA,OAAO,KAAK;QACd;IACF;AAEA,IAAA,MAAM,gBAAgB,CAAI,KAAa,EAAE,EAAU,EAAE,IAAO,EAAA;QAE1D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;AAEnC,QAAA,IAAI,GAAG;YAAE,MAAM,IAAI,CAAC,YAAY,CAAI,KAAK,EAAE,EAAE,CAAC;QAE9C,OAAO,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;IAClC;AAEA,IAAA,MAAM,YAAY,CAAI,KAAa,EAAE,IAAS,EAAA;QAC5C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1C,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAM;IAC1C;AAEA,IAAA,MAAM,gBAAgB,CAAI,KAAa,EAAE,EAAU,EAAA;AACjD,QAAA,IAAI;YACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAC1C,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC;YAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;YAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAClC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;AAChC,YAAA,GAAG,CAAC,IAAI,CAAC,OAAM,MAAM,KAAG;gBACtB,OAAO,MAAM,EAAE;oBACb,MAAM,CAAC,MAAM,EAAE;AACf,oBAAA,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE;gBAClC;AACF,YAAA,CAAC,CAAC;AACF,YAAA,OAAO,GAAG;QACZ;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,YAAA,OAAO,EAAO;QAChB;IACF;IAEA,MAAM,QAAQ,CAAI,KAAa,EAAA;QAC7B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;AAC1C,QAAA,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IAC9B;AAEA,IAAA,MAAM,SAAS,CAAI,KAAa,EAAE,IAAS,EAAA;AACzC,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,IAAI;QACtB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1C,OAAO,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAM;IACvC;AAEA,IAAA,MAAM,eAAe,CAAC,KAAa,EAAE,IAAW,EAAA;AAC9C,QAAA,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;AACpB,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACnD,YAAA,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;;gBACtC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QACxC;IACF;AAEA,IAAA,MAAM,YAAY,CAAI,KAAa,EAAE,IAAS,EAAA;QAC5C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1C,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;IAC3B;AAEA,IAAA,MAAM,aAAa,CAAI,KAAa,EAAE,KAAc,EAAA;QAClD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;AAC1C,QAAA,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAM;IACpC;AAEA,IAAA,MAAM,WAAW,GAAA;QACf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAU,WAAW,CAAC;AAC3D,QAAA,OAAO,IAAI,CAAC,CAAC,CAAC;IAChB;AAEA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;QACrC,OAAO,IAAI,CAAC,IAAI;IAClB;AAEA,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;QACrC,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA,IAAA,MAAM,eAAe,CACnB,QAAmB,EACnB,MAAe,EACf,YAAe,EAAA;AAEf,QAAA,IAAI;YACF,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;YAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC;AAEhD,YAAA,IAAI,CAAC,YAAY;AAAE,gBAAA,OAAO,KAAK;YAE/B,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,OAAO,EAAE;gBACrD,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,YAAY,CAAC;gBACzD,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,YAAY,CAAC;YAC9D;iBAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE;gBAC7D,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,YAAY,CAAC;YAC/D;iBAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,UAAU,EAAE;gBAC/D,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,YAAY,CAAC;YAC9D;AACA,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,YAAA,OAAO,KAAK;QACd;IACF;;AAGA,IAAA,MAAM,qBAAqB,GAAA;QACzB,MAAM,cAAc,GAAuB,EAAE;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAY,cAAc,CAAC;AACnE,QAAA,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;AAAE,YAAA,OAAO,EAAE;AAElC,QAAA,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;AAC1B,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAY,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC;YACnF,MAAM,CAAC,GAAG,EAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAC;;AAElC,YAAA,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE;AAChB,YAAA,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;AACxB,YAAA,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxB;AACA,QAAA,OAAO,cAAc;IACvB;;AAIA,IAAA,MAAM,uBAAuB,GAAA;QAC3B,MAAM,cAAc,GAAuB,EAAE;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAY,cAAc,CAAC;AACrE,QAAA,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;AAAE,YAAA,OAAO,EAAE;AAElC,QAAA,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;AAC1B,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAY,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC;YACrF,MAAM,CAAC,GAAG,EAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAC;;AAElC,YAAA,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE;AAChB,YAAA,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;AACxB,YAAA,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxB;AACA,QAAA,OAAO,cAAc;IACvB;;AAIA,IAAA,MAAM,eAAe,GAAA;QACnB,MAAM,MAAM,GAAoB,MAAM,IAAI,CAAC,eAAe,CAAkB,cAAc,CAAC;AAE3F,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;AAExB,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC;IAClB;;AAIA,IAAA,MAAM,iBAAiB,GAAA;QACrB,MAAM,MAAM,GAAsB,MAAM,IAAI,CAAC,eAAe,CAAoB,gBAAgB,CAAC;AAEjG,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;AAExB,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC;IAClB;IAEA,MAAM,oBAAoB,CAAC,MAAuB,EAAA;;QAGhD,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC;QAClD,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClD;IAEA,MAAM,kBAAkB,CAAC,MAAqB,EAAA;AAE5C,QAAA,MAAM,CAAC,OAAO,GAAG,OAAO;QACxB,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC;QAClD,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC;IAChD;;AAIA,IAAA,MAAM,qBAAqB,GAAA;QACzB,MAAM,aAAa,GAAoB,MAAM,IAAI,CAAC,eAAe,CAAkB,oBAAoB,CAAC;AACxG,QAAA,IAAI,CAAC,aAAa;AAAE,YAAA,OAAO,IAAI;AAC/B,QAAA,OAAO,aAAa;IACtB;IAEA,MAAM,mBAAmB,CAAC,aAA8B,EAAA;AACtD,QAAA,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE;AAC7B,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACjD;QACF;IACF;uGAnXW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCZY,QAAQ,CAAA;IACX,SAAS,GAAG,EAAE;IAEf,OAAO,SAAS,CAAC,IAAY,EAAA;AAClC,QAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE;QAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;AAEzC,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE;AAC7B,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE;QACtC,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;QAE7C,IAAI,WAAW,GAAG,SAAS;AAAE,YAAA,OAAO,IAAI;QAExC,OAAO,SAAS,GAAG,OAAO;IAC5B;AAEO,IAAA,OAAO,QAAQ,CAAC,OAAe,EAAE,KAAa,EAAA;QACnD,MAAM,KAAK,GAAoB,EAAE;QACjC,IAAI,IAAI,GAAG,OAAO;AAClB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC9B,YAAA,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CACR;gBACE,IAAI,EAAE,CAAC,GAAG,CAAC;AACX,gBAAA,IAAI,EAAE,IAAI,CAAC,OAAO;AACnB,aAAA,CACF;AACD,YAAA,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;QACvB;AACA,QAAA,OAAO,KAAK;IACd;AAEO,IAAA,OAAO,eAAe,GAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AAClC,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI;QACrC,OAAO,KAAK,GAAG,IAAI;IACrB;IAEO,OAAO,SAAS,CAAC,IAAmB,EAAA;AACzC,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB;IAEO,OAAO,UAAU,CAAC,IAAmB,EAAA;AAC1C,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC;IAC3C;IAEO,OAAO,YAAY,CAAC,IAAmB,EAAA;AAC5C,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC,CAAC,WAAW,EAAE;IACzD;IAEO,OAAO,OAAO,CAAC,IAAmB,EAAA;AACvC,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IAC7B;AAEO,IAAA,OAAO,cAAc,CAAC,IAAY,EAAE,QAAgB,EAAA;QACzD,IAAI,IAAI,GAAG,CAAC;AACZ,QAAA,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE;AACjC,YAAA,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,EAAE;QAC5B;AAAO,aAAA,IAAI,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE;AAC3C,YAAA,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QACnC;QACA,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,EAAE,QAAQ,CAAC;IACzD;AAEO,IAAA,OAAO,oBAAoB,CAAC,IAAY,EAAE,QAAgB,EAAA;QAC/D,IAAI,IAAI,IAAI,CAAC;AAAE,YAAA,OAAO,EAAE;QACxB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACrC,QAAA,IAAI,QAAQ,GAAG,IAAI,GAAG,MAAM;QAC5B,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE;AACtD,YAAA,MAAM,EAAE;AACT,SAAA,CAAC;AACF,QAAA,OAAO,UAAU;IACnB;AAEO,IAAA,OAAO,gBAAgB,CAC5B,WAAmB,EAAE,QAAgB,EAAE,QAAkB,EAAA;QAEzD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrC,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;QAC9B,IAAI,IAAI,GAAG,CAAC;AAEZ,QAAA,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO;AAC/B,YAAA,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK,WAAW,IAAI,MAAM;AAChD,aAAA,IAAI,QAAQ,IAAI,SAAS,CAAC,UAAU;YACvC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,WAAW,IAAI,MAAM;AAE5D,QAAA,qBAAqB,CAAC,QAAQ,EAAE,MAAK;AACnC,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;;AAEpC,YAAA,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;;AAEzD,QAAA,CAAC,CAAC;QACF,OAAO,GAAG,GAAG,IAAI;IACnB;IAEO,OAAO,SAAS,CAAC,QAAgB,EAAA;QACtC,IAAI,MAAM,GAAG,CAAC;AACd,QAAA,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO;YAC/B,MAAM,GAAG,IAAI;AACf,QAAA,OAAO,MAAM;IACf;IAEO,OAAO,wBAAwB,CAAC,IAAY,EAAA;QACjD,IAAI,IAAI,IAAI,EAAE;AAAE,YAAA,OAAO,CAAC;AAExB,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AAAE,YAAA,OAAO,CAAC;AACpC,QAAA,OAAO,KAAK,CAAC,OAAO,EAAE;IACxB;IAEO,OAAO,iBAAiB,CAAC,IAAY,EAAA;QAC1C,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE;AACxC,YAAA,MAAM,EAAE;AACT,SAAA,CAAC;IACJ;IAEO,OAAO,iBAAiB,CAAC,IAAY,EAAA;QAC1C,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE;AAChD,YAAA,MAAM,EAAE;AACT,SAAA,CAAC;IACJ;;IAGO,OAAO,aAAa,CAAC,QAAqB,EAAA;AAC/C,QAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;AAAE,YAAA,OAAO,QAAQ;QAEzC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3C,QAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;QACnD,MAAM,IAAI,GAAgB,EAAE;QAC5B,MAAM,KAAK,GAAgB,EAAE;AAE7B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,YAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;YAC1D,IAAI,UAAU,GAAG,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;;gBAC7C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B;AAEA,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3E;IAEO,OAAO,oBAAoB,CAAC,QAA0B,EAAA;AAC3D,QAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;AAAE,YAAA,OAAO,QAAQ;QAEzC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,CAAC;AACjB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS;AAAE,YAAA,OAAO,QAAQ;AAEpD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,EAAE;YAC9C,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;QAC3C;aAAO;YACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;QAClC;QAEA,IAAI,SAAS,IAAI,CAAC;AAAE,YAAA,OAAO,QAAQ;QAEnC,MAAM,IAAI,GAAoB,EAAE;QAChC,MAAM,KAAK,GAAqB,EAAE;AAElC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,YAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;YAClD,IAAI,MAAM,IAAI,CAAC;gBAAE;YACjB,IAAI,MAAM,GAAG,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;;gBACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B;AAEA,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzF;AACD;;AChLM,MAAM,gBAAgB,GAAqB;AAChD,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,aAAa,EAAE,CAAC;AAChB,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,QAAQ,EAAE;;;ICjBA;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,mBAA4B;AAC5B,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,iBAAwB;AAC1B,CAAC,EAHW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;MCKb,eAAe,CAAA;AACnB,IAAA,OAAO,uBAAuB,CACnC,MAAe,EACf,QAAmB,EACnB,QAAiB,EAAA;AAEjB,QAAA,MAAM,CAAC,GAAG;AACR,YAAA,QAAQ,EAAE;gBACR,IAAI,EAAE,cAAc,CAAC,MAAM;AAC3B,gBAAA,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;AACnB,oBAAA,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAAa;AACxC,oBAAA,cAAc,EAAE,EAAE;AAClB,oBAAA,UAAU,EAAE;wBACV,MAAM,EAAE,MAAM,CAAC,IAAI;wBACnB,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,MAAM,EAAE,MAAM,CAAC;AAChB;AACF;AACF,aAAA;AACD,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,IAAI,EAAE;SACP;QACD,IAAI,QAAQ,IAAI,SAAS;AAAE,YAAA,CAAC,CAAC,IAAI,GAAG,QAAQ;AAC5C,QAAA,OAAO,CAAC;IACV;AACD;;MCvBY,cAAc,CAAA;AAClB,IAAA,OAAO,aAAa,CAAC,IAA+B,EAAE,QAAmB,EAAA;QAC9E,MAAM,CAAC,GAAmB,EAAE;AAE5B,QAAA,IAAI,QAAQ,IAAI,SAAS,CAAC,UAAU;AAClC,YAAA,CAAC,CAAC,cAAc,GAAG,IAAmB;AAExC,QAAA,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO;AAC/B,YAAA,CAAC,CAAC,cAAc,GAAG,IAAmB;AAExC,QAAA,OAAO,CAAC;IACV;AACD;;MCrBY,WAAW,CAAA;IAEf,OAAO,aAAa,CAAC,QAAgB,EAAA;AAC1C,QAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE;AAClD,YAAA,IAAI,GAAG,GAAG,EAAE,CAAA;AACZ,YAAA,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC9B,IAAI,SAAS,GAAa,EAAE;AAE5B,YAAA,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC5B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9B,gBAAA,IAAI,EAAE;YACR;YAEA,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC;AAEA,QAAA,OAAO,QAAQ;IACjB;AAED;;ACnBM,MAAM,aAAa,GAAG;AAC3B,IAAA,QAAQ,EAAE,uBAAuB;AACjC,IAAA,YAAY,EAAE,qCAAqC;AACnD,IAAA,WAAW,EAAE,qCAAqC;AAClD,IAAA,oBAAoB,EAAE,mCAAmC;AACzD,IAAA,UAAU,EAAE,6BAA6B;AACzC,IAAA,iBAAiB,EAAE,sDAAsD;AACzE,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,WAAW,EAAE,8BAA8B;AAC3C,IAAA,gBAAgB,EAAE,0BAA0B;AAC5C,IAAA,UAAU,EAAE,2BAA2B;AACvC,IAAA,UAAU,EAAE,qBAAqB;AACjC,IAAA,gBAAgB,EAAE,oCAAoC;AACtD,IAAA,iBAAiB,EAAE,iCAAiC;AACpD,IAAA,SAAS,EAAE,6BAA6B;AACxC,IAAA,SAAS,EAAE,gCAAgC;AAC3C,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,aAAa,EAAE,+DAA+D;AAC9E,IAAA,eAAe,EAAE,0BAA0B;AAC3C,IAAA,cAAc,EAAE,iCAAiC;AACjD,IAAA,gBAAgB,EAAE,mCAAmC;AACrD,IAAA,YAAY,EAAE,uBAAuB;AACrC,IAAA,sBAAsB,EAAE,sCAAsC;AAC9D,IAAA,iBAAiB,EAAE,qBAAqB;AACxC,IAAA,gBAAgB,EAAE,oBAAoB;AACtC,IAAA,mBAAmB,EAAE,mDAAmD;AACxE,IAAA,mBAAmB,EAAE;;;IC1BX;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;ICAZ;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC7B,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,YAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EATW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;IAWZ;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;IAKZ;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,EAAS;AACX,CAAC,EAJW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;IAMV;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAPW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;;ICtBT;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,WAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C;AAC/C,IAAA,WAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,WAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACjC,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC7B,CAAC,EAPW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;IASX;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACrC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;IAMnB;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AAC3B,IAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,GAAA,EAAA,CAAA,CAAA;;ICfjB;AAAZ,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,uBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,WAAsB;AACxB,CAAC,EAPW,uBAAuB,KAAvB,uBAAuB,GAAA,EAAA,CAAA,CAAA;;ICAvB;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AAAG,IAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAAE,IAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AAAE,IAAA,iBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AAAC,CAAC,EAA3E,iBAAiB,KAAjB,iBAAiB,GAAA,EAAA,CAAA,CAAA;;ICAjB;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAPW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;IASd;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,YAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EALW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;IAOZ;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,aAAyB;AAC3B,CAAC,EALW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;IAOV;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC;AACvC,IAAA,UAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC7B,IAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC;AACvC,IAAA,UAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC7B,IAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;AAC3C,CAAC,EANW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;;ICvBV;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AAC3B,IAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,iBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,iBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,GAAA,EAAA,CAAA,CAAA;IAUjB;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;IAKnB;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,oBAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACb,CAAC,EANW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;;ACfhC;;AAEG;;ACFH;;AAEG;;;;"}
package/index.d.ts CHANGED
@@ -127,6 +127,34 @@ declare enum eConektaOrderType {
127
127
  SPEI = "SPEI"
128
128
  }
129
129
 
130
+ declare enum eProcessStatus {
131
+ IDLE = "IDLE",
132
+ ERROR = "ERROR",
133
+ CANCELED = "CANCELED",
134
+ COMPLETE = "COMPLETE",
135
+ PROCESSING = "PROCESSING",
136
+ WAITING = "WAITING"
137
+ }
138
+ declare enum eRequestVerb {
139
+ POST = "POST",
140
+ GET = "GET",
141
+ PATCH = "PATCH",
142
+ DELETE = "DELETE"
143
+ }
144
+ declare enum eGCActions {
145
+ Create = "Create",
146
+ Update = "Update",
147
+ Remove = "Remove",
148
+ LoginTime = "UpdateLogIn"
149
+ }
150
+ declare enum eOrderType {
151
+ DYNAMIC_REFERENCE = "DYNAMIC_REFERENCE",
152
+ DYNAMIC_SPEI = "DYNAMIC_SPEI",
153
+ CONEKTA_REFERENCE = "CONEKTA_REFERENCE",
154
+ CONEKTA_SPEI = "CONEKTA_SPEI",
155
+ PASSPORT_REFERENCE = "PASSPORT_REFERENCE"
156
+ }
157
+
130
158
  interface oClientPayments$1 {
131
159
  date: number;
132
160
  dayPayment: number;
@@ -143,6 +171,7 @@ interface oClientReferences$1 {
143
171
  amount?: number;
144
172
  id: string;
145
173
  url?: string;
174
+ type?: eOrderType;
146
175
  }
147
176
  interface oClient {
148
177
  id: string;
@@ -171,7 +200,6 @@ interface oClient {
171
200
  status: string;
172
201
  }
173
202
 
174
- type tySpeiReference = oConektaOrder & oConektaOrderResponseSpei;
175
203
  interface oConektaResObjChargePaid {
176
204
  id: string;
177
205
  livemode: boolean;
@@ -579,6 +607,20 @@ interface BankTransferPaymentSpei {
579
607
  type: string;
580
608
  expires_at: number;
581
609
  }
610
+ interface oConektaMixOrder {
611
+ id: string;
612
+ name: string;
613
+ currency: string;
614
+ amount: number;
615
+ created_at: number;
616
+ updated_at: number;
617
+ clabe?: string;
618
+ reference?: string;
619
+ debit?: string;
620
+ credit?: string;
621
+ payment_status: string;
622
+ barcode_url?: string;
623
+ }
582
624
 
583
625
  interface oDevice {
584
626
  device: string;
@@ -2000,26 +2042,5 @@ interface oPayloadToken {
2000
2042
  role: eRoles;
2001
2043
  }
2002
2044
 
2003
- declare enum eProcessStatus {
2004
- IDLE = "IDLE",
2005
- ERROR = "ERROR",
2006
- CANCELED = "CANCELED",
2007
- COMPLETE = "COMPLETE",
2008
- PROCESSING = "PROCESSING",
2009
- WAITING = "WAITING"
2010
- }
2011
- declare enum eRequestVerb {
2012
- POST = "POST",
2013
- GET = "GET",
2014
- PATCH = "PATCH",
2015
- DELETE = "DELETE"
2016
- }
2017
- declare enum eGCActions {
2018
- Create = "Create",
2019
- Update = "Update",
2020
- Remove = "Remove",
2021
- LoginTime = "UpdateLogIn"
2022
- }
2023
-
2024
- export { EnumDynamicClientStatus, ErrorMessages, FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROLES_KEY, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, TIME_FORMAT_TABLE, UtilGeneral, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDaySchedule, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxoRecurrentSourcesData, cPaymentDelay, cResponse, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dateFormatSimple, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbConektaSpeiStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eAuthType2, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaOrderType, eConektaRes, eContractStatus, eContractSteps, eGCActions, eIdentityTypes, eLoginStatus, eNotificationType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRequestVerb, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, snackBarConfigNoActionLong, timeFormat, timeFormatTable, week };
2025
- export type { BankTransferPaymentSpei, ChargeListSpei, ChargeSpei, CustomerInfoSpei, HasUnsavedChanges, IBaseVerification, IDCAccount, IDCAccountConfig, IDCAccountProps, IDCCharge, IDCClient, IDCClientObjFilter, IDCClientPiiFilter, IDCClientQuery, IDCCredit, IDCCreditConfig, IDCCreditProperties, IDCDataPii, IDCGeneratedReference, IDCMntryCycle, IDCMntryPymt, IDCMntryPymtAll, IDCMntryPymtAllPaidTotal, IDCMntryPymtCal, IDCMntryPymtDue, IDCMntryPymtDueTax, IDCMntryPymtOpen, IDCMntryPymtPaid, IDCMntryPymtPymt, IDCMsg, IDCNewReference, IDCOxxoRef, IDCOxxoRefItem, IDCOxxoRefPymtMth, IDCPayment, IDCRefCustInfo, IDCRefItems, IDCRefPymtMethod, IDCReference, IDCTransaction, IDCTxn, IDCTxnHeader, IDCTxnRow, IDCTxnRowExtras, IDynamiCore, ILambdaResponse, ISendCodeAttempt, ISignIn, IVerificationCheckSms, IVerificationData, IVerificationSms, LineItemListSpei, LineItemSpei, Tokens, iAuthConfig, iBusinessInfo, iClientContract, iConektaRecurrent, iConektaResData, iConektaResObjChargePaid, iConektaResObjChargePaidMethod, iConektaResPrevAttr, iConektaSources, iConfigUUID, iContract, iContractAll, iGlobalPassport, iInformativeDialog, iNewPayment, iOptionsSelect, iOxxoRecurrentSources, iOxxorecurrentSourcesData, iPassportAdditional, iPassportReference, iPassportReferenceCenters, iPassportReferenceData, iPassportReferenceRes, iPassportResponse, iPassportResponseData, iPaymentDelay, iSelect, iServiceUser, iSnackBarMessage, iUser, oAddress, oAsset, oAssetBrand, oAssetCategory, oAssetOffer, oAuth, oAuthRes, oBusinessConfig, oBusinessDeadlines, oBusinessInfo, oCatalog, oClientConekta, oClientPayments, oClientReferences, oClientV2, oCompany, oConektaChannel, oConektaChargeData, oConektaCharges, oConektaCheckout, oConektaCustomerInfo, oConektaLineItem, oConektaLineItems, oConektaNewOrder, oConektaNewOrderAntifraudInfo, oConektaNewOrderCharge, oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem, oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate, oConektaOrderResponseSpei, oConektaOrderSpei, oConektaOrdersResponse, oConektaPaymentMethod, oConektaRes, oConektaResData, oConektaResObjChargePaid, oConektaResObjOrderPaid, oConektaResPrevAttr, oContract, oContractMetrics, oContractV2, oCustomer, oCustomerInfo, oDaySchedule, oDevice, oFinancial, oFinancialProgress, oMediaIdentity, oMessaging, oMessagingData, oNotification, oNotificationResponses, oPayloadToken, oPaymentDates, oPaymentGlobal, oPaymentOption, oResponse, oResponseFuncEmail, oSchedule, oScore, oScoreAddress, oScoreGeneral, oScoreHit, oScoreNoHit, oScoreReference, oTmpBusinessConfig, oUser, oUserReference, oWeekSchedule, partialIDCData, tyClientContract, tySpeiReference };
2045
+ export { EnumDynamicClientStatus, ErrorMessages, FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROLES_KEY, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, TIME_FORMAT_TABLE, UtilGeneral, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDaySchedule, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxoRecurrentSourcesData, cPaymentDelay, cResponse, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dateFormatSimple, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbConektaSpeiStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eAuthType2, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaOrderType, eConektaRes, eContractStatus, eContractSteps, eGCActions, eIdentityTypes, eLoginStatus, eNotificationType, eOrderType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRequestVerb, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, snackBarConfigNoActionLong, timeFormat, timeFormatTable, week };
2046
+ export type { BankTransferPaymentSpei, ChargeListSpei, ChargeSpei, CustomerInfoSpei, HasUnsavedChanges, IBaseVerification, IDCAccount, IDCAccountConfig, IDCAccountProps, IDCCharge, IDCClient, IDCClientObjFilter, IDCClientPiiFilter, IDCClientQuery, IDCCredit, IDCCreditConfig, IDCCreditProperties, IDCDataPii, IDCGeneratedReference, IDCMntryCycle, IDCMntryPymt, IDCMntryPymtAll, IDCMntryPymtAllPaidTotal, IDCMntryPymtCal, IDCMntryPymtDue, IDCMntryPymtDueTax, IDCMntryPymtOpen, IDCMntryPymtPaid, IDCMntryPymtPymt, IDCMsg, IDCNewReference, IDCOxxoRef, IDCOxxoRefItem, IDCOxxoRefPymtMth, IDCPayment, IDCRefCustInfo, IDCRefItems, IDCRefPymtMethod, IDCReference, IDCTransaction, IDCTxn, IDCTxnHeader, IDCTxnRow, IDCTxnRowExtras, IDynamiCore, ILambdaResponse, ISendCodeAttempt, ISignIn, IVerificationCheckSms, IVerificationData, IVerificationSms, LineItemListSpei, LineItemSpei, Tokens, iAuthConfig, iBusinessInfo, iClientContract, iConektaRecurrent, iConektaResData, iConektaResObjChargePaid, iConektaResObjChargePaidMethod, iConektaResPrevAttr, iConektaSources, iConfigUUID, iContract, iContractAll, iGlobalPassport, iInformativeDialog, iNewPayment, iOptionsSelect, iOxxoRecurrentSources, iOxxorecurrentSourcesData, iPassportAdditional, iPassportReference, iPassportReferenceCenters, iPassportReferenceData, iPassportReferenceRes, iPassportResponse, iPassportResponseData, iPaymentDelay, iSelect, iServiceUser, iSnackBarMessage, iUser, oAddress, oAsset, oAssetBrand, oAssetCategory, oAssetOffer, oAuth, oAuthRes, oBusinessConfig, oBusinessDeadlines, oBusinessInfo, oCatalog, oClientConekta, oClientPayments, oClientReferences, oClientV2, oCompany, oConektaChannel, oConektaChargeData, oConektaCharges, oConektaCheckout, oConektaCustomerInfo, oConektaLineItem, oConektaLineItems, oConektaMixOrder, oConektaNewOrder, oConektaNewOrderAntifraudInfo, oConektaNewOrderCharge, oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem, oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate, oConektaOrderResponseSpei, oConektaOrderSpei, oConektaOrdersResponse, oConektaPaymentMethod, oConektaRes, oConektaResData, oConektaResObjChargePaid, oConektaResObjOrderPaid, oConektaResPrevAttr, oContract, oContractMetrics, oContractV2, oCustomer, oCustomerInfo, oDaySchedule, oDevice, oFinancial, oFinancialProgress, oMediaIdentity, oMessaging, oMessagingData, oNotification, oNotificationResponses, oPayloadToken, oPaymentDates, oPaymentGlobal, oPaymentOption, oResponse, oResponseFuncEmail, oSchedule, oScore, oScoreAddress, oScoreGeneral, oScoreHit, oScoreNoHit, oScoreReference, oTmpBusinessConfig, oUser, oUserReference, oWeekSchedule, partialIDCData, tyClientContract };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ravcredit-lib",
3
- "version": "0.0.51",
3
+ "version": "0.0.53",
4
4
  "types": "./src/index.d.ts",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",