@ponceca/firestore-sdk 0.1.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/app.d.mts +1 -1
  2. package/dist/app.d.ts +1 -1
  3. package/dist/app.js +3 -3
  4. package/dist/app.js.map +1 -1
  5. package/dist/app.mjs +1 -1
  6. package/dist/auth/index.d.mts +17 -10
  7. package/dist/auth/index.d.ts +17 -10
  8. package/dist/auth/index.js +13 -5
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/auth/index.mjs +12 -4
  11. package/dist/chunk-4CV4JOE5.js.map +1 -1
  12. package/dist/chunk-5ETO65FT.mjs +324 -0
  13. package/dist/chunk-5ETO65FT.mjs.map +1 -0
  14. package/dist/{chunk-R7K4CI3S.mjs → chunk-6XAVSRLT.mjs} +4 -4
  15. package/dist/{chunk-KZWSIKQZ.mjs → chunk-BV43NSDW.mjs} +9 -2
  16. package/dist/chunk-BV43NSDW.mjs.map +1 -0
  17. package/dist/chunk-BXV7KTHB.js.map +1 -1
  18. package/dist/{chunk-YMFAPE5C.js → chunk-DBP3RTRA.js} +6 -6
  19. package/dist/chunk-DBP3RTRA.js.map +1 -0
  20. package/dist/chunk-HCH4ADFN.js +324 -0
  21. package/dist/chunk-HCH4ADFN.js.map +1 -0
  22. package/dist/{chunk-BZZ7QVIL.js → chunk-JXJTWQJ4.js} +9 -2
  23. package/dist/chunk-JXJTWQJ4.js.map +1 -0
  24. package/dist/{chunk-6J3LNKUQ.js → chunk-KNNYFWIP.js} +7 -3
  25. package/dist/chunk-KNNYFWIP.js.map +1 -0
  26. package/dist/{chunk-C6SKWUQV.mjs → chunk-SZNBHCPW.mjs} +5 -1
  27. package/dist/chunk-SZNBHCPW.mjs.map +1 -0
  28. package/dist/{chunk-6UU4YPC7.mjs → chunk-VMO4IG3Q.mjs} +3 -3
  29. package/dist/{chunk-UAJM24MR.js → chunk-ZNDLJ5PH.js} +23 -23
  30. package/dist/chunk-ZNDLJ5PH.js.map +1 -0
  31. package/dist/firestore/index.d.mts +2 -2
  32. package/dist/firestore/index.d.ts +2 -2
  33. package/dist/firestore/index.js +5 -5
  34. package/dist/firestore/index.js.map +1 -1
  35. package/dist/firestore/index.mjs +4 -4
  36. package/dist/http-F3DW64CJ.js +10 -0
  37. package/dist/http-F3DW64CJ.js.map +1 -0
  38. package/dist/{http-SZFONH6Z.mjs → http-IM4ZHBF6.mjs} +2 -2
  39. package/dist/index.d.mts +2 -2
  40. package/dist/index.d.ts +2 -2
  41. package/dist/index.js +15 -7
  42. package/dist/index.js.map +1 -1
  43. package/dist/index.mjs +13 -5
  44. package/dist/index.mjs.map +1 -1
  45. package/dist/indexeddb-mutation-queue-5EB7C2D5.js.map +1 -1
  46. package/dist/indexeddb-store-DNWBZUQE.js.map +1 -1
  47. package/dist/snapshot-MCQVLVHL.js.map +1 -1
  48. package/dist/storage/index.d.mts +138 -0
  49. package/dist/storage/index.d.ts +138 -0
  50. package/dist/storage/index.js +557 -0
  51. package/dist/storage/index.js.map +1 -0
  52. package/dist/storage/index.mjs +557 -0
  53. package/dist/storage/index.mjs.map +1 -0
  54. package/dist/{types-meoR-Ecp.d.ts → types-CxCKB06U.d.mts} +6 -4
  55. package/dist/{types-meoR-Ecp.d.mts → types-CxCKB06U.d.ts} +6 -4
  56. package/package.json +17 -4
  57. package/dist/chunk-6J3LNKUQ.js.map +0 -1
  58. package/dist/chunk-BZZ7QVIL.js.map +0 -1
  59. package/dist/chunk-C6SKWUQV.mjs.map +0 -1
  60. package/dist/chunk-JSUWIG2E.js +0 -128
  61. package/dist/chunk-JSUWIG2E.js.map +0 -1
  62. package/dist/chunk-KZWSIKQZ.mjs.map +0 -1
  63. package/dist/chunk-PZLJFCKL.mjs +0 -128
  64. package/dist/chunk-PZLJFCKL.mjs.map +0 -1
  65. package/dist/chunk-UAJM24MR.js.map +0 -1
  66. package/dist/chunk-YMFAPE5C.js.map +0 -1
  67. package/dist/http-A2S5CWEV.js +0 -10
  68. package/dist/http-A2S5CWEV.js.map +0 -1
  69. /package/dist/{chunk-R7K4CI3S.mjs.map → chunk-6XAVSRLT.mjs.map} +0 -0
  70. /package/dist/{chunk-6UU4YPC7.mjs.map → chunk-VMO4IG3Q.mjs.map} +0 -0
  71. /package/dist/{http-SZFONH6Z.mjs.map → http-IM4ZHBF6.mjs.map} +0 -0
@@ -12,13 +12,13 @@ type FieldValue = {
12
12
  };
13
13
  /** Opciones para inicializar la app (idéntico a Firebase) */
14
14
  interface FirebaseOptions {
15
- /** API Key del proyecto (para autenticación con API keys) */
15
+ /** API Key del proyecto — viaja en cada request como x-api-key (rate-limiting, control de acceso) */
16
16
  apiKey?: string;
17
- /** ID del proyecto (requerido) */
17
+ /** ID del proyecto / tenant (requerido) */
18
18
  projectId: string;
19
19
  /** Auth Domain para autenticación OAuth */
20
20
  authDomain?: string;
21
- /** URL del Storage Bucket */
21
+ /** Nombre del bucket de Storage (default: 'default') */
22
22
  storageBucket?: string;
23
23
  /** ID del sender para mensajería */
24
24
  messagingSenderId?: string;
@@ -26,8 +26,10 @@ interface FirebaseOptions {
26
26
  appId?: string;
27
27
  /** ID de medición para Analytics */
28
28
  measurementId?: string;
29
- /** URL base del servidor (para self-hosted, no existe en Firebase original) */
29
+ /** URL base del backend Firestore (default: http://localhost:3000) */
30
30
  baseUrl?: string;
31
+ /** URL base del backend Storage (default: http://localhost:3002/api) — servicio separado */
32
+ storageUrl?: string;
31
33
  /** ID de la base de datos (default: "(default)") */
32
34
  databaseId?: string;
33
35
  }
@@ -12,13 +12,13 @@ type FieldValue = {
12
12
  };
13
13
  /** Opciones para inicializar la app (idéntico a Firebase) */
14
14
  interface FirebaseOptions {
15
- /** API Key del proyecto (para autenticación con API keys) */
15
+ /** API Key del proyecto — viaja en cada request como x-api-key (rate-limiting, control de acceso) */
16
16
  apiKey?: string;
17
- /** ID del proyecto (requerido) */
17
+ /** ID del proyecto / tenant (requerido) */
18
18
  projectId: string;
19
19
  /** Auth Domain para autenticación OAuth */
20
20
  authDomain?: string;
21
- /** URL del Storage Bucket */
21
+ /** Nombre del bucket de Storage (default: 'default') */
22
22
  storageBucket?: string;
23
23
  /** ID del sender para mensajería */
24
24
  messagingSenderId?: string;
@@ -26,8 +26,10 @@ interface FirebaseOptions {
26
26
  appId?: string;
27
27
  /** ID de medición para Analytics */
28
28
  measurementId?: string;
29
- /** URL base del servidor (para self-hosted, no existe en Firebase original) */
29
+ /** URL base del backend Firestore (default: http://localhost:3000) */
30
30
  baseUrl?: string;
31
+ /** URL base del backend Storage (default: http://localhost:3002/api) — servicio separado */
32
+ storageUrl?: string;
31
33
  /** ID de la base de datos (default: "(default)") */
32
34
  databaseId?: string;
33
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ponceca/firestore-sdk",
3
- "version": "0.1.1",
3
+ "version": "1.0.0",
4
4
  "description": "SDK JavaScript/TypeScript compatible con Firebase Firestore v9",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -25,6 +25,11 @@
25
25
  "types": "./dist/auth/index.d.ts",
26
26
  "import": "./dist/auth/index.mjs",
27
27
  "require": "./dist/auth/index.js"
28
+ },
29
+ "./storage": {
30
+ "types": "./dist/storage/index.d.ts",
31
+ "import": "./dist/storage/index.mjs",
32
+ "require": "./dist/storage/index.js"
28
33
  }
29
34
  },
30
35
  "typesVersions": {
@@ -37,13 +42,16 @@
37
42
  ],
38
43
  "auth": [
39
44
  "dist/auth/index.d.ts"
45
+ ],
46
+ "storage": [
47
+ "dist/storage/index.d.ts"
40
48
  ]
41
49
  }
42
50
  },
43
51
  "repository": {
44
52
  "type": "git",
45
53
  "url": "https://github.com/ponceca/firestore.git",
46
- "directory": "sdk/js"
54
+ "directory": "sdk/core"
47
55
  },
48
56
  "bugs": {
49
57
  "url": "https://github.com/ponceca/firestore/issues"
@@ -78,15 +86,20 @@
78
86
  "license": "MIT",
79
87
  "devDependencies": {
80
88
  "@types/node": "^20.11.0",
89
+ "@types/spark-md5": "^3.0.5",
81
90
  "@types/ws": "^8.18.1",
82
91
  "@vitest/coverage-v8": "^1.2.0",
83
92
  "fake-indexeddb": "^6.2.5",
84
93
  "tsup": "^8.0.1",
85
94
  "typescript": "^5.3.3",
86
95
  "vitest": "^1.2.0",
87
- "ws": "^8.19.0"
96
+ "ws": "^8.19.0",
97
+ "firebase": "^12.3.0"
88
98
  },
89
99
  "engines": {
90
100
  "node": ">=18.0.0"
101
+ },
102
+ "dependencies": {
103
+ "spark-md5": "^3.0.2"
91
104
  }
92
- }
105
+ }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["c:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-6J3LNKUQ.js"],"names":[],"mappings":"AAAA;AACA,SAAS,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE;AACpC,EAAE,MAAM,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;AAClC,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI;AACnB,EAAE,OAAO,KAAK;AACd;AACA,SAAS,mBAAmB,CAAC,MAAM,EAAE;AACrC,EAAE,OAAO,CAAC,MAAM,EAAE;AAClB,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,kBAAkB;AAC/B,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,iBAAiB;AAC9B,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,mBAAmB;AAChC,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,WAAW;AACxB,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,gBAAgB;AAC7B,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,oBAAoB;AACjC,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,WAAW;AACxB,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,UAAU;AACvB,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,eAAe;AAC5B,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,aAAa;AAC1B,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,mBAAmB;AAChC,IAAI,OAAO;AACX,MAAM,OAAO,SAAS;AACtB,EAAE;AACF;AACA,IAAI,WAAW,EAAE,MAAM;AACvB,EAAE,WAAW,CAAC,SAAS,EAAE;AACzB,IAAI,MAAM,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM;AAC7D,IAAI,MAAM,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI;AACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA","file":"C:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-6J3LNKUQ.js","sourcesContent":[null]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["c:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-BZZ7QVIL.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACA;AACA,IAAI,YAAY,EAAE,CAAC,CAAC;AACpB,uCAAQ,WAAY,EAAE;AACtB,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,SAAS;AAC5B,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM;AACtB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO;AACxB,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG;AACvB,CAAC,CAAC;AACF,SAAS,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;AACzD,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACtB,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,CAAC,8BAA8B,EAAE,IAAI,CAAC,sEAAsE;AAClH,IAAI,CAAC;AACL,EAAE;AACF,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;AAC1B,IAAI,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;AACtD,EAAE;AACF,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;AACxB,IAAI,OAAO,CAAC,IAAI;AAChB,MAAM;AACN,IAAI,CAAC;AACL,EAAE;AACF,EAAE,MAAM,IAAI,EAAE;AACd,IAAI,IAAI;AACR,IAAI,OAAO,EAAE;AACb,MAAM,GAAG,OAAO;AAChB,MAAM,OAAO,EAAE,OAAO,CAAC,QAAQ,GAAG,uBAAuB;AACzD,MAAM,UAAU,EAAE,OAAO,CAAC,WAAW,GAAG;AACxC,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;AACrB,EAAE,OAAO,GAAG;AACZ;AACA,SAAS,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE;AACzC,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,kDAAkD;AAC3F,IAAI,CAAC;AACL,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;AACA,SAAS,OAAO,CAAC,EAAE;AACnB,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC;AACA,MAAM,SAAS,SAAS,CAAC,GAAG,EAAE;AAC9B,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB;AACA,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,SAAS,EAAE,oCAAK;AACpB,EAAE,YAAY,CAAC,EAAE;AACjB,IAAI,KAAK,kBAAkB,IAAI,GAAG,CAAC,CAAC;AACpC,IAAI,iBAAiB,EAAE,WAAW;AAClC,EAAE;AACF,CAAC,CAAC;AACF;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACF,yLAAC","file":"C:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-BZZ7QVIL.js","sourcesContent":[null]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/transport/http.ts"],"sourcesContent":["/**\r\n * Firestore SDK - Cliente HTTP\r\n * Comunicación con el servidor REST API\r\n */\r\n\r\nimport type {\r\n HttpRequest,\r\n HttpResponse,\r\n FirestoreInstance,\r\n FirestoreError,\r\n FirestoreErrorCode,\r\n} from '../firestore/types';\r\n\r\n/**\r\n * Crea un error de Firestore\r\n */\r\nfunction createError(code: FirestoreErrorCode, message: string): FirestoreError {\r\n const error = new Error(message) as FirestoreError;\r\n (error as { code: FirestoreErrorCode }).code = code;\r\n return error;\r\n}\r\n\r\n/**\r\n * Mapea códigos HTTP a códigos de Firestore\r\n */\r\nfunction httpToFirestoreCode(status: number): FirestoreErrorCode {\r\n switch (status) {\r\n case 400: return 'invalid-argument';\r\n case 401: return 'unauthenticated';\r\n case 403: return 'permission-denied';\r\n case 404: return 'not-found';\r\n case 409: return 'already-exists';\r\n case 429: return 'resource-exhausted';\r\n case 499: return 'cancelled';\r\n case 500: return 'internal';\r\n case 501: return 'unimplemented';\r\n case 503: return 'unavailable';\r\n case 504: return 'deadline-exceeded';\r\n default: return 'unknown';\r\n }\r\n}\r\n\r\n/**\r\n * Cliente HTTP para Firestore\r\n */\r\nexport class HttpClient {\r\n private readonly baseUrl: string;\r\n private readonly projectId: string;\r\n private readonly databaseId: string;\r\n private readonly timeout: number;\r\n private readonly maxRetries: number;\r\n private readonly retryInitialDelayMs: number;\r\n private readonly retryMaxDelayMs: number;\r\n private readonly firestore: FirestoreInstance;\r\n\r\n constructor(firestore: FirestoreInstance) {\r\n // Construir URL base con protocolo correcto\r\n const protocol = firestore._config.ssl ? 'https' : 'http';\r\n const host = firestore._config.host;\r\n this.baseUrl = host.startsWith('http') ? host : `${protocol}://${host}`;\r\n this.projectId = firestore._projectId;\r\n this.databaseId = firestore._databaseId;\r\n this.timeout = firestore._config.timeout || 30000;\r\n this.maxRetries = Math.max(0, firestore._config.maxRetries ?? 2);\r\n this.retryInitialDelayMs = Math.max(10, firestore._config.retryInitialDelayMs ?? 150);\r\n this.retryMaxDelayMs = Math.max(this.retryInitialDelayMs, firestore._config.retryMaxDelayMs ?? 2000);\r\n this.firestore = firestore;\r\n }\r\n\r\n private sleep(ms: number): Promise<void> {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n }\r\n\r\n private isRetryable(error: unknown): boolean {\r\n const code = (error as FirestoreError | undefined)?.code;\r\n return code === 'deadline-exceeded'\r\n || code === 'unavailable'\r\n || code === 'resource-exhausted'\r\n || code === 'aborted'\r\n || code === 'internal';\r\n }\r\n\r\n private async executeOnce<T>(req: HttpRequest): Promise<HttpResponse<T>> {\r\n const url = `${this.getApiBase()}${req.path}`;\r\n\r\n // Obtener token de auth (puede ser async si hay provider)\r\n const authToken = await this.getAuthToken();\r\n\r\n const headers: Record<string, string> = {\r\n 'Content-Type': 'application/json',\r\n ...req.headers,\r\n };\r\n\r\n if (this.firestore._config.allowFlexibleQueries) {\r\n headers['X-Firestore-Flexible-Queries'] = 'true';\r\n }\r\n\r\n if (authToken) {\r\n headers['Authorization'] = `Bearer ${authToken}`;\r\n }\r\n\r\n const controller = new AbortController();\r\n const timeoutId = setTimeout(() => controller.abort(), this.timeout);\r\n\r\n try {\r\n const response = await fetch(url, {\r\n method: req.method,\r\n headers,\r\n body: req.body ? JSON.stringify(req.body) : undefined,\r\n signal: controller.signal,\r\n });\r\n\r\n clearTimeout(timeoutId);\r\n\r\n const responseHeaders: Record<string, string> = {};\r\n response.headers.forEach((value, key) => {\r\n responseHeaders[key] = value;\r\n });\r\n\r\n // Si es error, parsear y lanzar\r\n if (!response.ok) {\r\n let errorData: { error?: { message?: string } } = {};\r\n try {\r\n errorData = await response.json();\r\n } catch {\r\n // Ignorar si no es JSON\r\n }\r\n\r\n let code = httpToFirestoreCode(response.status);\r\n const message = errorData.error?.message || response.statusText;\r\n\r\n // Refinar código 409: Distinguir entre 'already-exists' y 'aborted' (concurrencia)\r\n if (response.status === 409) {\r\n if (message.toLowerCase().includes('concurrent') ||\r\n message.toLowerCase().includes('aborted') ||\r\n message.toLowerCase().includes('conflict') ||\r\n message.toLowerCase().includes('mismatch')) {\r\n code = 'aborted'; // Permite reintento en transacciones\r\n }\r\n }\r\n\r\n throw createError(code, message);\r\n }\r\n\r\n // Parsear respuesta\r\n let data: T;\r\n const contentType = response.headers.get('content-type');\r\n if (contentType?.includes('application/json')) {\r\n data = await response.json();\r\n } else {\r\n data = {} as T;\r\n }\r\n\r\n return {\r\n status: response.status,\r\n data,\r\n headers: responseHeaders,\r\n };\r\n } catch (error) {\r\n clearTimeout(timeoutId);\r\n\r\n if (error instanceof Error && error.name === 'AbortError') {\r\n throw createError('deadline-exceeded', 'Request timeout');\r\n }\r\n\r\n // Si ya es un FirestoreError, re-lanzar\r\n if ((error as FirestoreError).code) {\r\n throw error;\r\n }\r\n\r\n // Error de red\r\n throw createError('unavailable', `Network error: ${(error as Error).message}`);\r\n }\r\n }\r\n\r\n /**\r\n * Construye la URL base para la API\r\n */\r\n private getApiBase(): string {\r\n return `${this.baseUrl}/v1/projects/${this.projectId}/databases/${this.databaseId}`;\r\n }\r\n\r\n /**\r\n * Obtiene el token de autenticación actual\r\n * Soporta tanto token estático como provider dinámico\r\n */\r\n private async getAuthToken(): Promise<string | null> {\r\n // Si el firestore tiene método getToken, usarlo (obtiene token fresco)\r\n if ('getToken' in this.firestore && typeof this.firestore.getToken === 'function') {\r\n return await (this.firestore as { getToken: () => Promise<string | null> }).getToken();\r\n }\r\n // Fallback al token estático\r\n return this.firestore._config.authToken ?? null;\r\n }\r\n\r\n /**\r\n * Ejecuta un request HTTP\r\n */\r\n async request<T>(req: HttpRequest): Promise<HttpResponse<T>> {\r\n let attempt = 0;\r\n\r\n while (true) {\r\n try {\r\n return await this.executeOnce<T>(req);\r\n } catch (error) {\r\n if (!this.isRetryable(error) || attempt >= this.maxRetries) {\r\n throw error;\r\n }\r\n\r\n const delay = Math.min(\r\n this.retryMaxDelayMs,\r\n this.retryInitialDelayMs * (2 ** attempt)\r\n );\r\n\r\n await this.sleep(delay);\r\n attempt += 1;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * GET request\r\n */\r\n async get<T>(path: string): Promise<T> {\r\n const response = await this.request<T>({\r\n method: 'GET',\r\n path,\r\n });\r\n return response.data;\r\n }\r\n\r\n /**\r\n * POST request\r\n */\r\n async post<T>(path: string, body?: unknown): Promise<T> {\r\n const response = await this.request<T>({\r\n method: 'POST',\r\n path,\r\n body,\r\n });\r\n return response.data;\r\n }\r\n\r\n /**\r\n * PATCH request\r\n */\r\n async patch<T>(path: string, body?: unknown): Promise<T> {\r\n const response = await this.request<T>({\r\n method: 'PATCH',\r\n path,\r\n body,\r\n });\r\n return response.data;\r\n }\r\n\r\n /**\r\n * DELETE request\r\n */\r\n async delete(path: string): Promise<void> {\r\n await this.request<void>({\r\n method: 'DELETE',\r\n path,\r\n });\r\n }\r\n}\r\n\r\n// Cache de clientes por instancia de Firestore\r\nconst clients = new WeakMap<FirestoreInstance, HttpClient>();\r\n\r\n/**\r\n * Obtiene o crea un cliente HTTP para una instancia de Firestore\r\n */\r\nexport function getHttpClient(firestore: FirestoreInstance): HttpClient {\r\n let client = clients.get(firestore);\r\n if (!client) {\r\n client = new HttpClient(firestore);\r\n clients.set(firestore, client);\r\n }\r\n return client;\r\n}\r\n"],"mappings":";AAgBA,SAAS,YAAY,MAA0B,SAAiC;AAC9E,QAAM,QAAQ,IAAI,MAAM,OAAO;AAC/B,EAAC,MAAuC,OAAO;AAC/C,SAAO;AACT;AAKA,SAAS,oBAAoB,QAAoC;AAC/D,UAAQ,QAAQ;AAAA,IACd,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB;AAAS,aAAO;AAAA,EAClB;AACF;AAKO,IAAM,aAAN,MAAiB;AAAA,EAUtB,YAAY,WAA8B;AAExC,UAAM,WAAW,UAAU,QAAQ,MAAM,UAAU;AACnD,UAAM,OAAO,UAAU,QAAQ;AAC/B,SAAK,UAAU,KAAK,WAAW,MAAM,IAAI,OAAO,GAAG,QAAQ,MAAM,IAAI;AACrE,SAAK,YAAY,UAAU;AAC3B,SAAK,aAAa,UAAU;AAC5B,SAAK,UAAU,UAAU,QAAQ,WAAW;AAC5C,SAAK,aAAa,KAAK,IAAI,GAAG,UAAU,QAAQ,cAAc,CAAC;AAC/D,SAAK,sBAAsB,KAAK,IAAI,IAAI,UAAU,QAAQ,uBAAuB,GAAG;AACpF,SAAK,kBAAkB,KAAK,IAAI,KAAK,qBAAqB,UAAU,QAAQ,mBAAmB,GAAI;AACnG,SAAK,YAAY;AAAA,EACnB;AAAA,EAEQ,MAAM,IAA2B;AACvC,WAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAAA,EACzD;AAAA,EAEQ,YAAY,OAAyB;AAC3C,UAAM,OAAQ,OAAsC;AACpD,WAAO,SAAS,uBACX,SAAS,iBACT,SAAS,wBACT,SAAS,aACT,SAAS;AAAA,EAChB;AAAA,EAEA,MAAc,YAAe,KAA4C;AACvE,UAAM,MAAM,GAAG,KAAK,WAAW,CAAC,GAAG,IAAI,IAAI;AAG3C,UAAM,YAAY,MAAM,KAAK,aAAa;AAE1C,UAAM,UAAkC;AAAA,MACtC,gBAAgB;AAAA,MAChB,GAAG,IAAI;AAAA,IACT;AAEA,QAAI,KAAK,UAAU,QAAQ,sBAAsB;AAC/C,cAAQ,8BAA8B,IAAI;AAAA,IAC5C;AAEA,QAAI,WAAW;AACb,cAAQ,eAAe,IAAI,UAAU,SAAS;AAAA,IAChD;AAEA,UAAM,aAAa,IAAI,gBAAgB;AACvC,UAAM,YAAY,WAAW,MAAM,WAAW,MAAM,GAAG,KAAK,OAAO;AAEnE,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,KAAK;AAAA,QAChC,QAAQ,IAAI;AAAA,QACZ;AAAA,QACA,MAAM,IAAI,OAAO,KAAK,UAAU,IAAI,IAAI,IAAI;AAAA,QAC5C,QAAQ,WAAW;AAAA,MACrB,CAAC;AAED,mBAAa,SAAS;AAEtB,YAAM,kBAA0C,CAAC;AACjD,eAAS,QAAQ,QAAQ,CAAC,OAAO,QAAQ;AACvC,wBAAgB,GAAG,IAAI;AAAA,MACzB,CAAC;AAGD,UAAI,CAAC,SAAS,IAAI;AAChB,YAAI,YAA8C,CAAC;AACnD,YAAI;AACF,sBAAY,MAAM,SAAS,KAAK;AAAA,QAClC,QAAQ;AAAA,QAER;AAEA,YAAI,OAAO,oBAAoB,SAAS,MAAM;AAC9C,cAAM,UAAU,UAAU,OAAO,WAAW,SAAS;AAGrD,YAAI,SAAS,WAAW,KAAK;AAC3B,cAAI,QAAQ,YAAY,EAAE,SAAS,YAAY,KAC7C,QAAQ,YAAY,EAAE,SAAS,SAAS,KACxC,QAAQ,YAAY,EAAE,SAAS,UAAU,KACzC,QAAQ,YAAY,EAAE,SAAS,UAAU,GAAG;AAC5C,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,cAAM,YAAY,MAAM,OAAO;AAAA,MACjC;AAGA,UAAI;AACJ,YAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AACvD,UAAI,aAAa,SAAS,kBAAkB,GAAG;AAC7C,eAAO,MAAM,SAAS,KAAK;AAAA,MAC7B,OAAO;AACL,eAAO,CAAC;AAAA,MACV;AAEA,aAAO;AAAA,QACL,QAAQ,SAAS;AAAA,QACjB;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF,SAAS,OAAO;AACd,mBAAa,SAAS;AAEtB,UAAI,iBAAiB,SAAS,MAAM,SAAS,cAAc;AACzD,cAAM,YAAY,qBAAqB,iBAAiB;AAAA,MAC1D;AAGA,UAAK,MAAyB,MAAM;AAClC,cAAM;AAAA,MACR;AAGA,YAAM,YAAY,eAAe,kBAAmB,MAAgB,OAAO,EAAE;AAAA,IAC/E;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKQ,aAAqB;AAC3B,WAAO,GAAG,KAAK,OAAO,gBAAgB,KAAK,SAAS,cAAc,KAAK,UAAU;AAAA,EACnF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAc,eAAuC;AAEnD,QAAI,cAAc,KAAK,aAAa,OAAO,KAAK,UAAU,aAAa,YAAY;AACjF,aAAO,MAAO,KAAK,UAAyD,SAAS;AAAA,IACvF;AAEA,WAAO,KAAK,UAAU,QAAQ,aAAa;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAW,KAA4C;AAC3D,QAAI,UAAU;AAEd,WAAO,MAAM;AACX,UAAI;AACF,eAAO,MAAM,KAAK,YAAe,GAAG;AAAA,MACtC,SAAS,OAAO;AACd,YAAI,CAAC,KAAK,YAAY,KAAK,KAAK,WAAW,KAAK,YAAY;AAC1D,gBAAM;AAAA,QACR;AAEA,cAAM,QAAQ,KAAK;AAAA,UACjB,KAAK;AAAA,UACL,KAAK,sBAAuB,KAAK;AAAA,QACnC;AAEA,cAAM,KAAK,MAAM,KAAK;AACtB,mBAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,IAAO,MAA0B;AACrC,UAAM,WAAW,MAAM,KAAK,QAAW;AAAA,MACrC,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,WAAO,SAAS;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,KAAQ,MAAc,MAA4B;AACtD,UAAM,WAAW,MAAM,KAAK,QAAW;AAAA,MACrC,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,SAAS;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,MAAS,MAAc,MAA4B;AACvD,UAAM,WAAW,MAAM,KAAK,QAAW;AAAA,MACrC,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,SAAS;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,MAA6B;AACxC,UAAM,KAAK,QAAc;AAAA,MACvB,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAGA,IAAM,UAAU,oBAAI,QAAuC;AAKpD,SAAS,cAAc,WAA0C;AACtE,MAAI,SAAS,QAAQ,IAAI,SAAS;AAClC,MAAI,CAAC,QAAQ;AACX,aAAS,IAAI,WAAW,SAAS;AACjC,YAAQ,IAAI,WAAW,MAAM;AAAA,EAC/B;AACA,SAAO;AACT;","names":[]}
@@ -1,128 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkYMFAPE5Cjs = require('./chunk-YMFAPE5C.js');
4
-
5
- // src/auth/index.ts
6
- var UserImpl = class {
7
- constructor(uid, _token, email = null, displayName = null, photoURL = null, emailVerified = false, isAnonymous = false) {
8
- this.uid = uid;
9
- this._token = _token;
10
- this.email = email;
11
- this.displayName = displayName;
12
- this.photoURL = photoURL;
13
- this.emailVerified = emailVerified;
14
- this.isAnonymous = isAnonymous;
15
- }
16
- async getIdToken(_forceRefresh) {
17
- return this._token;
18
- }
19
- };
20
- var AuthImpl = class {
21
- constructor(app) {
22
- this.app = app;
23
- this.currentUser = null;
24
- this.observers = [];
25
- _chunkYMFAPE5Cjs._registerAuthProvider.call(void 0, app, {
26
- getToken: async () => {
27
- if (!this.currentUser) return null;
28
- return this.currentUser.getIdToken();
29
- },
30
- onAuthStateChanged: (callback) => {
31
- const observer = (user) => {
32
- if (user) {
33
- user.getIdToken().then((token) => callback(token));
34
- } else {
35
- callback(null);
36
- }
37
- };
38
- this.onAuthStateChanged(observer);
39
- return () => {
40
- this.observers = this.observers.filter((o) => o !== observer);
41
- };
42
- }
43
- });
44
- }
45
- async signOut() {
46
- await this.updateCurrentUser(null);
47
- }
48
- onAuthStateChanged(observer) {
49
- this.observers.push(observer);
50
- observer(this.currentUser);
51
- return () => {
52
- this.observers = this.observers.filter((o) => o !== observer);
53
- };
54
- }
55
- async updateCurrentUser(user) {
56
- this.currentUser = user;
57
- this.notifyObservers();
58
- }
59
- notifyObservers() {
60
- this.observers.forEach((observer) => observer(this.currentUser));
61
- }
62
- };
63
- var authInstances = /* @__PURE__ */ new Map();
64
- function getAuth(app) {
65
- let auth = authInstances.get(app.name);
66
- if (!auth) {
67
- auth = new AuthImpl(app);
68
- authInstances.set(app.name, auth);
69
- }
70
- return auth;
71
- }
72
- async function signInWithCustomToken(auth, token) {
73
- const parts = token.split(".");
74
- if (parts.length !== 3) {
75
- throw new Error("Invalid custom token format");
76
- }
77
- try {
78
- const payload = JSON.parse(atob(parts[1]));
79
- const uid = payload.sub || payload.user_id;
80
- if (!uid || typeof uid !== "string") {
81
- throw new Error('Token must contain a valid "sub" or "user_id" claim');
82
- }
83
- if (typeof payload.exp !== "number") {
84
- throw new Error('Token must contain a valid "exp" (expiration) claim');
85
- }
86
- if (typeof payload.iat !== "number") {
87
- throw new Error('Token must contain a valid "iat" (issued at) claim');
88
- }
89
- const user = new UserImpl(
90
- uid,
91
- token,
92
- payload.email || null,
93
- payload.name || null,
94
- payload.picture || null,
95
- payload.emailVerified || payload.email_verified || false,
96
- payload.provider_id === "anonymous"
97
- );
98
- await auth.updateCurrentUser(user);
99
- return user;
100
- } catch (e) {
101
- throw new Error("Failed to parse custom token: " + e);
102
- }
103
- }
104
- async function signOut(auth) {
105
- return auth.signOut();
106
- }
107
- function onAuthStateChanged(auth, observer) {
108
- return auth.onAuthStateChanged(observer);
109
- }
110
- function atob(str) {
111
- str = str.replace(/-/g, "+").replace(/_/g, "/");
112
- while (str.length % 4) {
113
- str += "=";
114
- }
115
- if (typeof window !== "undefined" && window.atob) {
116
- return window.atob(str);
117
- } else {
118
- return Buffer.from(str, "base64").toString("binary");
119
- }
120
- }
121
-
122
-
123
-
124
-
125
-
126
-
127
- exports.getAuth = getAuth; exports.signInWithCustomToken = signInWithCustomToken; exports.signOut = signOut; exports.onAuthStateChanged = onAuthStateChanged;
128
- //# sourceMappingURL=chunk-JSUWIG2E.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["c:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-JSUWIG2E.js"],"names":[],"mappings":"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","file":"C:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-JSUWIG2E.js","sourcesContent":[null]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/app.ts"],"sourcesContent":["/**\r\n * Firestore SDK - App\r\n * Inicialización compatible con Firebase v9\r\n */\r\n\r\nimport type { FirebaseApp, FirebaseOptions } from './firestore/types';\r\n\r\n// Re-export tipos\r\nexport type { FirebaseApp, FirebaseOptions };\r\n\r\n// Almacén de apps inicializadas\r\nconst apps = new Map<string, FirebaseApp>();\r\n\r\n// Nombre por defecto de la app\r\nconst DEFAULT_APP_NAME = '[DEFAULT]';\r\n\r\n/**\r\n * Inicializa una Firebase App\r\n * @param options Opciones de configuración\r\n * @param name Nombre de la app (opcional)\r\n * @returns Instancia de FirebaseApp\r\n * \r\n * @example\r\n * ```typescript\r\n * const app = initializeApp({\r\n * projectId: 'my-project',\r\n * baseUrl: 'http://localhost:3000'\r\n * });\r\n * ```\r\n */\r\nexport function initializeApp(\r\n options: FirebaseOptions,\r\n name: string = DEFAULT_APP_NAME\r\n): FirebaseApp {\r\n // Verificar que no exista ya\r\n if (apps.has(name)) {\r\n throw new Error(\r\n `Firebase: Firebase App named '${name}' already exists with different options or config (app/duplicate-app).`\r\n );\r\n }\r\n\r\n // Validar opciones requeridas\r\n if (!options.projectId) {\r\n throw new Error('Firebase: projectId is required');\r\n }\r\n\r\n // Advertir si no se configura baseUrl (se usa default de desarrollo)\r\n if (!options.baseUrl) {\r\n console.warn(\r\n '[Firestore SDK] No se configuró baseUrl — usando http://localhost:3000 (modo desarrollo). ' +\r\n 'Para producción, configura baseUrl al llamar initializeApp().'\r\n );\r\n }\r\n\r\n // Crear app\r\n const app: FirebaseApp = {\r\n name,\r\n options: {\r\n ...options,\r\n baseUrl: options.baseUrl || 'http://localhost:3000',\r\n databaseId: options.databaseId || '(default)',\r\n },\r\n };\r\n\r\n // Guardar y retornar\r\n apps.set(name, app);\r\n return app;\r\n}\r\n\r\n/**\r\n * Obtiene una Firebase App existente\r\n * @param name Nombre de la app (opcional)\r\n * @returns Instancia de FirebaseApp\r\n * \r\n * @example\r\n * ```typescript\r\n * const app = getApp(); // App por defecto\r\n * const namedApp = getApp('my-app');\r\n * ```\r\n */\r\nexport function getApp(name: string = DEFAULT_APP_NAME): FirebaseApp {\r\n const app = apps.get(name);\r\n if (!app) {\r\n throw new Error(\r\n `Firebase: No Firebase App '${name}' has been created - call Firebase.initializeApp()`\r\n );\r\n }\r\n return app;\r\n}\r\n\r\n/**\r\n * Obtiene todas las Firebase Apps inicializadas\r\n * @returns Array de FirebaseApp\r\n */\r\nexport function getApps(): FirebaseApp[] {\r\n return Array.from(apps.values());\r\n}\r\n\r\n/**\r\n * Elimina una Firebase App\r\n * @param app App a eliminar\r\n * \r\n * @example\r\n * ```typescript\r\n * await deleteApp(app);\r\n * ```\r\n */\r\nexport async function deleteApp(app: FirebaseApp): Promise<void> {\r\n apps.delete(app.name);\r\n}\r\n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BO,SAAS,cACd,SACA,OAAe,kBACF;AAEb,MAAI,KAAK,IAAI,IAAI,GAAG;AAClB,UAAM,IAAI;AAAA,MACR,iCAAiC,IAAI;AAAA,IACvC;AAAA,EACF;AAGA,MAAI,CAAC,QAAQ,WAAW;AACtB,UAAM,IAAI,MAAM,iCAAiC;AAAA,EACnD;AAGA,MAAI,CAAC,QAAQ,SAAS;AACpB,YAAQ;AAAA,MACN;AAAA,IAEF;AAAA,EACF;AAGA,QAAM,MAAmB;AAAA,IACvB;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,MAC5B,YAAY,QAAQ,cAAc;AAAA,IACpC;AAAA,EACF;AAGA,OAAK,IAAI,MAAM,GAAG;AAClB,SAAO;AACT;AAaO,SAAS,OAAO,OAAe,kBAA+B;AACnE,QAAM,MAAM,KAAK,IAAI,IAAI;AACzB,MAAI,CAAC,KAAK;AACR,UAAM,IAAI;AAAA,MACR,8BAA8B,IAAI;AAAA,IACpC;AAAA,EACF;AACA,SAAO;AACT;AAMO,SAAS,UAAyB;AACvC,SAAO,MAAM,KAAK,KAAK,OAAO,CAAC;AACjC;AAWA,eAAsB,UAAU,KAAiC;AAC/D,OAAK,OAAO,IAAI,IAAI;AACtB;AA7GA,IAWM,MAGA;AAdN;AAAA;AAWA,IAAM,OAAO,oBAAI,IAAyB;AAG1C,IAAM,mBAAmB;AAAA;AAAA;","names":[]}
@@ -1,128 +0,0 @@
1
- import {
2
- _registerAuthProvider
3
- } from "./chunk-6UU4YPC7.mjs";
4
-
5
- // src/auth/index.ts
6
- var UserImpl = class {
7
- constructor(uid, _token, email = null, displayName = null, photoURL = null, emailVerified = false, isAnonymous = false) {
8
- this.uid = uid;
9
- this._token = _token;
10
- this.email = email;
11
- this.displayName = displayName;
12
- this.photoURL = photoURL;
13
- this.emailVerified = emailVerified;
14
- this.isAnonymous = isAnonymous;
15
- }
16
- async getIdToken(_forceRefresh) {
17
- return this._token;
18
- }
19
- };
20
- var AuthImpl = class {
21
- constructor(app) {
22
- this.app = app;
23
- this.currentUser = null;
24
- this.observers = [];
25
- _registerAuthProvider(app, {
26
- getToken: async () => {
27
- if (!this.currentUser) return null;
28
- return this.currentUser.getIdToken();
29
- },
30
- onAuthStateChanged: (callback) => {
31
- const observer = (user) => {
32
- if (user) {
33
- user.getIdToken().then((token) => callback(token));
34
- } else {
35
- callback(null);
36
- }
37
- };
38
- this.onAuthStateChanged(observer);
39
- return () => {
40
- this.observers = this.observers.filter((o) => o !== observer);
41
- };
42
- }
43
- });
44
- }
45
- async signOut() {
46
- await this.updateCurrentUser(null);
47
- }
48
- onAuthStateChanged(observer) {
49
- this.observers.push(observer);
50
- observer(this.currentUser);
51
- return () => {
52
- this.observers = this.observers.filter((o) => o !== observer);
53
- };
54
- }
55
- async updateCurrentUser(user) {
56
- this.currentUser = user;
57
- this.notifyObservers();
58
- }
59
- notifyObservers() {
60
- this.observers.forEach((observer) => observer(this.currentUser));
61
- }
62
- };
63
- var authInstances = /* @__PURE__ */ new Map();
64
- function getAuth(app) {
65
- let auth = authInstances.get(app.name);
66
- if (!auth) {
67
- auth = new AuthImpl(app);
68
- authInstances.set(app.name, auth);
69
- }
70
- return auth;
71
- }
72
- async function signInWithCustomToken(auth, token) {
73
- const parts = token.split(".");
74
- if (parts.length !== 3) {
75
- throw new Error("Invalid custom token format");
76
- }
77
- try {
78
- const payload = JSON.parse(atob(parts[1]));
79
- const uid = payload.sub || payload.user_id;
80
- if (!uid || typeof uid !== "string") {
81
- throw new Error('Token must contain a valid "sub" or "user_id" claim');
82
- }
83
- if (typeof payload.exp !== "number") {
84
- throw new Error('Token must contain a valid "exp" (expiration) claim');
85
- }
86
- if (typeof payload.iat !== "number") {
87
- throw new Error('Token must contain a valid "iat" (issued at) claim');
88
- }
89
- const user = new UserImpl(
90
- uid,
91
- token,
92
- payload.email || null,
93
- payload.name || null,
94
- payload.picture || null,
95
- payload.emailVerified || payload.email_verified || false,
96
- payload.provider_id === "anonymous"
97
- );
98
- await auth.updateCurrentUser(user);
99
- return user;
100
- } catch (e) {
101
- throw new Error("Failed to parse custom token: " + e);
102
- }
103
- }
104
- async function signOut(auth) {
105
- return auth.signOut();
106
- }
107
- function onAuthStateChanged(auth, observer) {
108
- return auth.onAuthStateChanged(observer);
109
- }
110
- function atob(str) {
111
- str = str.replace(/-/g, "+").replace(/_/g, "/");
112
- while (str.length % 4) {
113
- str += "=";
114
- }
115
- if (typeof window !== "undefined" && window.atob) {
116
- return window.atob(str);
117
- } else {
118
- return Buffer.from(str, "base64").toString("binary");
119
- }
120
- }
121
-
122
- export {
123
- getAuth,
124
- signInWithCustomToken,
125
- signOut,
126
- onAuthStateChanged
127
- };
128
- //# sourceMappingURL=chunk-PZLJFCKL.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/auth/index.ts"],"sourcesContent":["/**\r\n * Firebase Auth Compatibility Layer\r\n * Permite usar el SDK de Firestore con una API de Auth familiar.\r\n * Se integra automáticamente con Firestore para inyectar el token en las peticiones.\r\n */\r\n\r\nimport { FirebaseApp } from '../app';\r\nimport { _registerAuthProvider } from '../firestore/firestore';\r\n\r\n// Tipos de usuario y auth\r\nexport interface User {\r\n uid: string;\r\n email: string | null;\r\n displayName: string | null;\r\n photoURL: string | null;\r\n emailVerified: boolean;\r\n isAnonymous: boolean;\r\n getIdToken(forceRefresh?: boolean): Promise<string>;\r\n}\r\n\r\nexport interface Auth {\r\n app: FirebaseApp;\r\n currentUser: User | null;\r\n signOut(): Promise<void>;\r\n onAuthStateChanged(observer: (user: User | null) => void): () => void;\r\n updateCurrentUser(user: User | null): Promise<void>;\r\n}\r\n\r\n/**\r\n * Implementación interna de User\r\n */\r\nclass UserImpl implements User {\r\n constructor(\r\n readonly uid: string,\r\n private _token: string,\r\n readonly email: string | null = null,\r\n readonly displayName: string | null = null,\r\n readonly photoURL: string | null = null,\r\n readonly emailVerified: boolean = false,\r\n readonly isAnonymous: boolean = false\r\n ) { }\r\n\r\n async getIdToken(_forceRefresh?: boolean): Promise<string> {\r\n return this._token; // En esta implementación simple, retornamos el token estático\r\n }\r\n}\r\n\r\n/**\r\n * Implementación interna de Auth\r\n */\r\nclass AuthImpl implements Auth {\r\n currentUser: User | null = null;\r\n private observers: ((user: User | null) => void)[] = [];\r\n\r\n constructor(readonly app: FirebaseApp) {\r\n // Registrar este auth provider en Firestore\r\n _registerAuthProvider(app, {\r\n getToken: async (): Promise<string | null> => {\r\n if (!this.currentUser) return null;\r\n return this.currentUser.getIdToken();\r\n },\r\n onAuthStateChanged: (callback: (token: string | null) => void) => {\r\n // Adaptador: Auth notifica User, Firestore quiere Token\r\n const observer = (user: User | null) => {\r\n if (user) {\r\n user.getIdToken().then(token => callback(token));\r\n } else {\r\n callback(null);\r\n }\r\n };\r\n // Suscribirse internamente\r\n this.onAuthStateChanged(observer);\r\n\r\n // Retornar unsubscribe (la interfaz AuthTokenProvider espera () => void)\r\n return () => {\r\n this.observers = this.observers.filter((o) => o !== observer);\r\n };\r\n }\r\n });\r\n }\r\n\r\n async signOut(): Promise<void> {\r\n await this.updateCurrentUser(null);\r\n }\r\n\r\n onAuthStateChanged(observer: (user: User | null) => void): () => void {\r\n this.observers.push(observer);\r\n // Notificar estado actual inmediatamente\r\n observer(this.currentUser);\r\n return () => {\r\n this.observers = this.observers.filter((o) => o !== observer);\r\n };\r\n }\r\n\r\n async updateCurrentUser(user: User | null): Promise<void> {\r\n this.currentUser = user;\r\n this.notifyObservers();\r\n }\r\n\r\n private notifyObservers(): void {\r\n this.observers.forEach((observer) => observer(this.currentUser));\r\n }\r\n}\r\n\r\n// Almacén de instancias Auth\r\nconst authInstances = new Map<string, AuthImpl>();\r\n\r\n/**\r\n * Obtiene la instancia de Auth para una app\r\n */\r\nexport function getAuth(app: FirebaseApp): Auth {\r\n let auth = authInstances.get(app.name);\r\n if (!auth) {\r\n auth = new AuthImpl(app);\r\n authInstances.set(app.name, auth);\r\n }\r\n return auth;\r\n}\r\n\r\n/**\r\n * Inicia sesión con un token personalizado (JWT)\r\n * Útil para probar con tokens generados por tu backend o scripts.\r\n */\r\nexport async function signInWithCustomToken(auth: Auth, token: string): Promise<User> {\r\n // Decodificar token (sin validación criptográfica, solo para extraer datos del usuario)\r\n // En un SDK real de producción usaríamos una librería JWT, aquí hacemos un decode simple\r\n const parts = token.split('.');\r\n if (parts.length !== 3) {\r\n throw new Error('Invalid custom token format');\r\n }\r\n\r\n try {\r\n const payload = JSON.parse(atob(parts[1]));\r\n\r\n // Validar claims esenciales del JWT\r\n const uid = payload.sub || payload.user_id;\r\n if (!uid || typeof uid !== 'string') {\r\n throw new Error('Token must contain a valid \"sub\" or \"user_id\" claim');\r\n }\r\n if (typeof payload.exp !== 'number') {\r\n throw new Error('Token must contain a valid \"exp\" (expiration) claim');\r\n }\r\n if (typeof payload.iat !== 'number') {\r\n throw new Error('Token must contain a valid \"iat\" (issued at) claim');\r\n }\r\n\r\n const user = new UserImpl(\r\n uid,\r\n token,\r\n payload.email || null,\r\n payload.name || null,\r\n payload.picture || null,\r\n payload.emailVerified || payload.email_verified || false,\r\n payload.provider_id === 'anonymous'\r\n );\r\n\r\n // AuthImpl implementa updateCurrentUser\r\n await auth.updateCurrentUser(user);\r\n return user;\r\n } catch (e) {\r\n throw new Error('Failed to parse custom token: ' + e);\r\n }\r\n}\r\n\r\n/**\r\n * Cierra la sesión\r\n */\r\nexport async function signOut(auth: Auth): Promise<void> {\r\n return auth.signOut();\r\n}\r\n\r\n/**\r\n * Suscribe a los cambios de estado de autenticación\r\n */\r\nexport function onAuthStateChanged(auth: Auth, observer: (user: User | null) => void): () => void {\r\n return auth.onAuthStateChanged(observer);\r\n}\r\n\r\n// Helper para decodificar base64url (compatible con navegador y node)\r\nfunction atob(str: string): string {\r\n // Normalizar base64url a base64\r\n str = str.replace(/-/g, '+').replace(/_/g, '/');\r\n\r\n // Pad if necessary\r\n while (str.length % 4) {\r\n str += '=';\r\n }\r\n\r\n if (typeof window !== 'undefined' && window.atob) {\r\n return window.atob(str);\r\n } else {\r\n return Buffer.from(str, 'base64').toString('binary');\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["c:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-UAJM24MR.js"],"names":[],"mappings":"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,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,oBAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA;AACA,IAAA;AACA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,oBAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,sBAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,wBAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,wBAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,oBAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,2CAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,yCAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,gBAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,sBAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,sBAAA;AACA,MAAA;AACA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,gBAAA;AACA,gBAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"C:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-UAJM24MR.js","sourcesContent":[null]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["c:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-YMFAPE5C.js"],"names":[],"mappings":"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ACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"C:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\chunk-YMFAPE5C.js","sourcesContent":[null]}
@@ -1,10 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
- var _chunk6J3LNKUQjs = require('./chunk-6J3LNKUQ.js');
5
- require('./chunk-4CV4JOE5.js');
6
-
7
-
8
-
9
- exports.HttpClient = _chunk6J3LNKUQjs.HttpClient; exports.getHttpClient = _chunk6J3LNKUQjs.getHttpClient;
10
- //# sourceMappingURL=http-A2S5CWEV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["c:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\http-A2S5CWEV.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACF,yGAAC","file":"C:\\Users\\ponce\\Documents\\codigo-2026\\firestore\\sdk\\js\\dist\\http-A2S5CWEV.js"}