@memberjunction/storage 2.38.0 → 2.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/drivers/AWSFileStorage.d.ts +360 -4
  2. package/dist/drivers/AWSFileStorage.d.ts.map +1 -1
  3. package/dist/drivers/AWSFileStorage.js +357 -4
  4. package/dist/drivers/AWSFileStorage.js.map +1 -1
  5. package/dist/drivers/AzureFileStorage.d.ts +362 -2
  6. package/dist/drivers/AzureFileStorage.d.ts.map +1 -1
  7. package/dist/drivers/AzureFileStorage.js +357 -2
  8. package/dist/drivers/AzureFileStorage.js.map +1 -1
  9. package/dist/drivers/BoxFileStorage.d.ts +539 -20
  10. package/dist/drivers/BoxFileStorage.d.ts.map +1 -1
  11. package/dist/drivers/BoxFileStorage.js +521 -20
  12. package/dist/drivers/BoxFileStorage.js.map +1 -1
  13. package/dist/drivers/DropboxFileStorage.d.ts +437 -15
  14. package/dist/drivers/DropboxFileStorage.d.ts.map +1 -1
  15. package/dist/drivers/DropboxFileStorage.js +431 -15
  16. package/dist/drivers/DropboxFileStorage.js.map +1 -1
  17. package/dist/drivers/GoogleDriveFileStorage.d.ts +342 -16
  18. package/dist/drivers/GoogleDriveFileStorage.d.ts.map +1 -1
  19. package/dist/drivers/GoogleDriveFileStorage.js +340 -16
  20. package/dist/drivers/GoogleDriveFileStorage.js.map +1 -1
  21. package/dist/drivers/GoogleFileStorage.d.ts +358 -2
  22. package/dist/drivers/GoogleFileStorage.d.ts.map +1 -1
  23. package/dist/drivers/GoogleFileStorage.js +356 -2
  24. package/dist/drivers/GoogleFileStorage.js.map +1 -1
  25. package/dist/drivers/SharePointFileStorage.d.ts +434 -20
  26. package/dist/drivers/SharePointFileStorage.d.ts.map +1 -1
  27. package/dist/drivers/SharePointFileStorage.js +453 -22
  28. package/dist/drivers/SharePointFileStorage.js.map +1 -1
  29. package/dist/generic/FileStorageBase.d.ts +326 -108
  30. package/dist/generic/FileStorageBase.d.ts.map +1 -1
  31. package/dist/generic/FileStorageBase.js +54 -6
  32. package/dist/generic/FileStorageBase.js.map +1 -1
  33. package/dist/util.d.ts +125 -18
  34. package/dist/util.d.ts.map +1 -1
  35. package/dist/util.js +125 -18
  36. package/dist/util.js.map +1 -1
  37. package/package.json +4 -4
  38. package/readme.md +211 -1
@@ -38,22 +38,70 @@ const global_1 = require("@memberjunction/global");
38
38
  const env = __importStar(require("env-var"));
39
39
  const mime = __importStar(require("mime-types"));
40
40
  const FileStorageBase_1 = require("../generic/FileStorageBase");
41
+ /**
42
+ * Google Cloud Storage implementation of the FileStorageBase interface.
43
+ *
44
+ * This class provides methods for interacting with Google Cloud Storage as a file storage provider.
45
+ * It implements all the abstract methods defined in FileStorageBase and handles Google-specific
46
+ * authentication, authorization, and file operations.
47
+ *
48
+ * It requires the following environment variables to be set:
49
+ * - STORAGE_GOOGLE_KEY_JSON: A JSON object containing Google Cloud service account credentials
50
+ * - STORAGE_GOOGLE_BUCKET_NAME: The GCS bucket name
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // Create an instance of GoogleFileStorage
55
+ * const gcsStorage = new GoogleFileStorage();
56
+ *
57
+ * // Generate a pre-authenticated upload URL
58
+ * const { UploadUrl } = await gcsStorage.CreatePreAuthUploadUrl('documents/report.pdf');
59
+ *
60
+ * // Generate a pre-authenticated download URL
61
+ * const downloadUrl = await gcsStorage.CreatePreAuthDownloadUrl('documents/report.pdf');
62
+ *
63
+ * // List files in a directory
64
+ * const files = await gcsStorage.ListObjects('documents/');
65
+ * ```
66
+ */
41
67
  let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileStorageBase {
68
+ /**
69
+ * Creates a new instance of GoogleFileStorage.
70
+ *
71
+ * Initializes the connection to Google Cloud Storage using environment variables.
72
+ * Throws an error if any required environment variables are missing.
73
+ */
42
74
  constructor() {
43
75
  super();
76
+ /** The name of this storage provider, used in error messages */
44
77
  this.providerName = 'Google Cloud Storage';
45
78
  const credentials = env.get('STORAGE_GOOGLE_KEY_JSON').required().asJsonObject();
46
79
  this._client = new storage_1.Storage({ credentials });
47
80
  this._bucket = env.get('STORAGE_GOOGLE_BUCKET_NAME').required().asString();
48
81
  }
49
82
  /**
50
- * Normalizes directory paths to ensure they end with a slash
83
+ * Normalizes directory paths to ensure they end with a slash.
84
+ *
85
+ * This is a helper method used internally to ensure consistency in
86
+ * directory path representation. Google Cloud Storage doesn't have actual
87
+ * directories, so we use a trailing slash to simulate them.
88
+ *
89
+ * @param path - The directory path to normalize
90
+ * @returns The normalized path with a trailing slash
91
+ * @private
51
92
  */
52
93
  _normalizeDirectoryPath(path) {
53
94
  return path.endsWith('/') ? path : path + '/';
54
95
  }
55
96
  /**
56
- * Converts metadata to a string map for consistent handling
97
+ * Converts metadata to a string map for consistent handling.
98
+ *
99
+ * This is a helper method used internally to ensure that all metadata
100
+ * values are strings, as required by the StorageObjectMetadata type.
101
+ *
102
+ * @param metadata - The metadata object to convert
103
+ * @returns A record with string keys and string values
104
+ * @private
57
105
  */
58
106
  _convertMetadataToStringMap(metadata) {
59
107
  if (!metadata)
@@ -64,6 +112,25 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
64
112
  }
65
113
  return result;
66
114
  }
115
+ /**
116
+ * Creates a pre-authenticated upload URL for an object in Google Cloud Storage.
117
+ *
118
+ * This method generates a signed URL that allows for uploading an object
119
+ * to GCS without needing Google Cloud credentials. The URL is valid for
120
+ * 10 minutes and includes the content type based on the file extension.
121
+ *
122
+ * @param objectName - The name of the object to upload (including any path/directory)
123
+ * @returns A Promise resolving to an object with the upload URL
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * // Generate a pre-authenticated upload URL for a PDF file
128
+ * const { UploadUrl } = await gcsStorage.CreatePreAuthUploadUrl('documents/report.pdf');
129
+ *
130
+ * // The URL can be used with fetch or other HTTP clients to upload the file
131
+ * console.log(UploadUrl);
132
+ * ```
133
+ */
67
134
  async CreatePreAuthUploadUrl(objectName) {
68
135
  const file = this._client.bucket(this._bucket).file(objectName);
69
136
  const options = {
@@ -75,6 +142,25 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
75
142
  const [UploadUrl] = await file.getSignedUrl(options);
76
143
  return { UploadUrl };
77
144
  }
145
+ /**
146
+ * Creates a pre-authenticated download URL for an object in Google Cloud Storage.
147
+ *
148
+ * This method generates a signed URL that allows for downloading an object
149
+ * from GCS without needing Google Cloud credentials. The URL is valid for
150
+ * 10 minutes and can be shared with clients.
151
+ *
152
+ * @param objectName - The name of the object to download (including any path/directory)
153
+ * @returns A Promise resolving to the download URL
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * // Generate a pre-authenticated download URL for a PDF file
158
+ * const downloadUrl = await gcsStorage.CreatePreAuthDownloadUrl('documents/report.pdf');
159
+ *
160
+ * // The URL can be shared with users or used in applications for direct download
161
+ * console.log(downloadUrl);
162
+ * ```
163
+ */
78
164
  async CreatePreAuthDownloadUrl(objectName) {
79
165
  const file = this._client.bucket(this._bucket).file(objectName);
80
166
  const options = {
@@ -85,6 +171,32 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
85
171
  const [url] = await file.getSignedUrl(options);
86
172
  return url;
87
173
  }
174
+ /**
175
+ * Moves an object from one location to another within Google Cloud Storage.
176
+ *
177
+ * Unlike some other storage providers, GCS has a native rename operation
178
+ * that can be used to efficiently move objects without needing to copy
179
+ * and delete. This method leverages that capability.
180
+ *
181
+ * @param oldObjectName - The current name/path of the object
182
+ * @param newObjectName - The new name/path for the object
183
+ * @returns A Promise resolving to a boolean indicating success
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * // Move a file from drafts to published folder
188
+ * const success = await gcsStorage.MoveObject(
189
+ * 'drafts/report.docx',
190
+ * 'published/final-report.docx'
191
+ * );
192
+ *
193
+ * if (success) {
194
+ * console.log('File successfully moved');
195
+ * } else {
196
+ * console.log('Failed to move file');
197
+ * }
198
+ * ```
199
+ */
88
200
  async MoveObject(oldObjectName, newObjectName) {
89
201
  try {
90
202
  const response = await this._client.bucket(this._bucket).file(oldObjectName).rename(newObjectName);
@@ -96,6 +208,28 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
96
208
  return false;
97
209
  }
98
210
  }
211
+ /**
212
+ * Deletes an object from Google Cloud Storage.
213
+ *
214
+ * This method attempts to delete the specified object. It uses the
215
+ * ignoreNotFound option to ensure it returns true even if the object
216
+ * didn't exist.
217
+ *
218
+ * @param objectName - The name of the object to delete (including any path/directory)
219
+ * @returns A Promise resolving to a boolean indicating success
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * // Delete a temporary file
224
+ * const deleted = await gcsStorage.DeleteObject('temp/report-draft.pdf');
225
+ *
226
+ * if (deleted) {
227
+ * console.log('File successfully deleted');
228
+ * } else {
229
+ * console.log('Failed to delete file');
230
+ * }
231
+ * ```
232
+ */
99
233
  async DeleteObject(objectName) {
100
234
  try {
101
235
  await this._client.bucket(this._bucket).file(objectName).delete({ ignoreNotFound: true });
@@ -107,6 +241,37 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
107
241
  return false;
108
242
  }
109
243
  }
244
+ /**
245
+ * Lists objects with the specified prefix in Google Cloud Storage.
246
+ *
247
+ * This method returns a list of objects (files) and prefixes (directories)
248
+ * under the specified path prefix. It uses the GCS getFiles API which
249
+ * supports delimiter-based hierarchy simulation.
250
+ *
251
+ * Note: This implementation fetches metadata for each file, which can be
252
+ * inefficient for directories with many files. In a production environment,
253
+ * you might want to optimize this for large directories.
254
+ *
255
+ * @param prefix - The path prefix to list objects from (e.g., 'documents/')
256
+ * @param delimiter - The character used to simulate directory structure, defaults to '/'
257
+ * @returns A Promise resolving to a StorageListResult containing objects and prefixes
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * // List all files and directories in the documents folder
262
+ * const result = await gcsStorage.ListObjects('documents/');
263
+ *
264
+ * // Process files
265
+ * for (const file of result.objects) {
266
+ * console.log(`File: ${file.name}, Size: ${file.size}, Type: ${file.contentType}`);
267
+ * }
268
+ *
269
+ * // Process subdirectories
270
+ * for (const dir of result.prefixes) {
271
+ * console.log(`Directory: ${dir}`);
272
+ * }
273
+ * ```
274
+ */
110
275
  async ListObjects(prefix, delimiter = '/') {
111
276
  try {
112
277
  const options = {
@@ -150,6 +315,28 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
150
315
  return { objects: [], prefixes: [] };
151
316
  }
152
317
  }
318
+ /**
319
+ * Creates a directory (virtual) in Google Cloud Storage.
320
+ *
321
+ * Since GCS doesn't have a native directory concept, this method creates
322
+ * a zero-byte object with a trailing slash to simulate a directory.
323
+ * The object has a special content type to indicate it's a directory.
324
+ *
325
+ * @param directoryPath - The path of the directory to create
326
+ * @returns A Promise resolving to a boolean indicating success
327
+ *
328
+ * @example
329
+ * ```typescript
330
+ * // Create a new directory structure
331
+ * const created = await gcsStorage.CreateDirectory('documents/reports/annual/');
332
+ *
333
+ * if (created) {
334
+ * console.log('Directory created successfully');
335
+ * } else {
336
+ * console.log('Failed to create directory');
337
+ * }
338
+ * ```
339
+ */
153
340
  async CreateDirectory(directoryPath) {
154
341
  try {
155
342
  directoryPath = this._normalizeDirectoryPath(directoryPath);
@@ -168,6 +355,26 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
168
355
  return false;
169
356
  }
170
357
  }
358
+ /**
359
+ * Deletes a directory (virtual) and optionally its contents from Google Cloud Storage.
360
+ *
361
+ * For non-recursive deletion, this method simply deletes the directory
362
+ * placeholder object. For recursive deletion, it lists all objects with
363
+ * the directory path as prefix and deletes them in parallel.
364
+ *
365
+ * @param directoryPath - The path of the directory to delete
366
+ * @param recursive - If true, deletes all contents recursively (default: false)
367
+ * @returns A Promise resolving to a boolean indicating success
368
+ *
369
+ * @example
370
+ * ```typescript
371
+ * // Delete an empty directory
372
+ * const deleted = await gcsStorage.DeleteDirectory('documents/temp/');
373
+ *
374
+ * // Delete a directory and all its contents
375
+ * const recursivelyDeleted = await gcsStorage.DeleteDirectory('documents/old_projects/', true);
376
+ * ```
377
+ */
171
378
  async DeleteDirectory(directoryPath, recursive = false) {
172
379
  try {
173
380
  directoryPath = this._normalizeDirectoryPath(directoryPath);
@@ -191,6 +398,29 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
191
398
  return false;
192
399
  }
193
400
  }
401
+ /**
402
+ * Retrieves metadata for a specific object in Google Cloud Storage.
403
+ *
404
+ * This method fetches the properties of an object without downloading its content,
405
+ * which is more efficient for checking file attributes like size, content type,
406
+ * and last modified date.
407
+ *
408
+ * @param objectName - The name of the object to get metadata for
409
+ * @returns A Promise resolving to a StorageObjectMetadata object
410
+ * @throws Error if the object doesn't exist or cannot be accessed
411
+ *
412
+ * @example
413
+ * ```typescript
414
+ * try {
415
+ * const metadata = await gcsStorage.GetObjectMetadata('documents/report.pdf');
416
+ * console.log(`File: ${metadata.name}`);
417
+ * console.log(`Size: ${metadata.size} bytes`);
418
+ * console.log(`Last modified: ${metadata.lastModified}`);
419
+ * } catch (error) {
420
+ * console.error('File does not exist or cannot be accessed');
421
+ * }
422
+ * ```
423
+ */
194
424
  async GetObjectMetadata(objectName) {
195
425
  try {
196
426
  const file = this._client.bucket(this._bucket).file(objectName);
@@ -217,6 +447,28 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
217
447
  throw new Error(`Object not found: ${objectName}`);
218
448
  }
219
449
  }
450
+ /**
451
+ * Downloads an object's content from Google Cloud Storage.
452
+ *
453
+ * This method retrieves the full content of an object and returns it
454
+ * as a Buffer for processing in memory.
455
+ *
456
+ * @param objectName - The name of the object to download
457
+ * @returns A Promise resolving to a Buffer containing the object's data
458
+ * @throws Error if the object doesn't exist or cannot be downloaded
459
+ *
460
+ * @example
461
+ * ```typescript
462
+ * try {
463
+ * const content = await gcsStorage.GetObject('documents/config.json');
464
+ * // Parse the JSON content
465
+ * const config = JSON.parse(content.toString('utf8'));
466
+ * console.log('Configuration loaded:', config);
467
+ * } catch (error) {
468
+ * console.error('Failed to download file:', error.message);
469
+ * }
470
+ * ```
471
+ */
220
472
  async GetObject(objectName) {
221
473
  try {
222
474
  const file = this._client.bucket(this._bucket).file(objectName);
@@ -229,6 +481,36 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
229
481
  throw new Error(`Failed to get object: ${objectName}`);
230
482
  }
231
483
  }
484
+ /**
485
+ * Uploads data to an object in Google Cloud Storage.
486
+ *
487
+ * This method directly uploads a Buffer of data to an object with the specified name.
488
+ * It's useful for server-side operations where you already have the data in memory.
489
+ *
490
+ * @param objectName - The name to assign to the uploaded object
491
+ * @param data - The Buffer containing the data to upload
492
+ * @param contentType - Optional MIME type for the object (inferred from name if not provided)
493
+ * @param metadata - Optional key-value pairs of custom metadata to associate with the object
494
+ * @returns A Promise resolving to a boolean indicating success
495
+ *
496
+ * @example
497
+ * ```typescript
498
+ * // Upload a text file
499
+ * const content = Buffer.from('Hello, World!', 'utf8');
500
+ * const uploaded = await gcsStorage.PutObject(
501
+ * 'documents/hello.txt',
502
+ * content,
503
+ * 'text/plain',
504
+ * { author: 'John Doe', department: 'Engineering' }
505
+ * );
506
+ *
507
+ * if (uploaded) {
508
+ * console.log('File uploaded successfully');
509
+ * } else {
510
+ * console.log('Failed to upload file');
511
+ * }
512
+ * ```
513
+ */
232
514
  async PutObject(objectName, data, contentType, metadata) {
233
515
  try {
234
516
  const file = this._client.bucket(this._bucket).file(objectName);
@@ -248,6 +530,31 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
248
530
  return false;
249
531
  }
250
532
  }
533
+ /**
534
+ * Copies an object within Google Cloud Storage.
535
+ *
536
+ * This method creates a copy of an object at a new location without removing the original.
537
+ * It uses the GCS copy API, which allows for efficient copying within the same bucket.
538
+ *
539
+ * @param sourceObjectName - The name of the object to copy
540
+ * @param destinationObjectName - The name to assign to the copied object
541
+ * @returns A Promise resolving to a boolean indicating success
542
+ *
543
+ * @example
544
+ * ```typescript
545
+ * // Create a backup copy of an important file
546
+ * const copied = await gcsStorage.CopyObject(
547
+ * 'documents/contract.pdf',
548
+ * 'backups/contract_2024-05-16.pdf'
549
+ * );
550
+ *
551
+ * if (copied) {
552
+ * console.log('File copied successfully');
553
+ * } else {
554
+ * console.log('Failed to copy file');
555
+ * }
556
+ * ```
557
+ */
251
558
  async CopyObject(sourceObjectName, destinationObjectName) {
252
559
  try {
253
560
  const sourceFile = this._client.bucket(this._bucket).file(sourceObjectName);
@@ -265,6 +572,29 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
265
572
  return false;
266
573
  }
267
574
  }
575
+ /**
576
+ * Checks if an object exists in Google Cloud Storage.
577
+ *
578
+ * This method verifies the existence of an object without downloading
579
+ * its content. This is efficient for validation purposes.
580
+ *
581
+ * @param objectName - The name of the object to check
582
+ * @returns A Promise resolving to a boolean indicating if the object exists
583
+ *
584
+ * @example
585
+ * ```typescript
586
+ * // Check if a file exists before attempting to use it
587
+ * const exists = await gcsStorage.ObjectExists('documents/report.pdf');
588
+ *
589
+ * if (exists) {
590
+ * console.log('File exists, proceeding with download');
591
+ * const content = await gcsStorage.GetObject('documents/report.pdf');
592
+ * // Process the content...
593
+ * } else {
594
+ * console.log('File does not exist');
595
+ * }
596
+ * ```
597
+ */
268
598
  async ObjectExists(objectName) {
269
599
  try {
270
600
  const file = this._client.bucket(this._bucket).file(objectName);
@@ -277,6 +607,30 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
277
607
  return false;
278
608
  }
279
609
  }
610
+ /**
611
+ * Checks if a directory (virtual) exists in Google Cloud Storage.
612
+ *
613
+ * Since GCS doesn't have a native directory concept, this method checks for either:
614
+ * 1. The existence of a directory placeholder object (zero-byte object with trailing slash)
615
+ * 2. The existence of any objects with the directory path as a prefix
616
+ *
617
+ * @param directoryPath - The path of the directory to check
618
+ * @returns A Promise resolving to a boolean indicating if the directory exists
619
+ *
620
+ * @example
621
+ * ```typescript
622
+ * // Check if a directory exists before trying to save files to it
623
+ * const exists = await gcsStorage.DirectoryExists('documents/reports/');
624
+ *
625
+ * if (!exists) {
626
+ * console.log('Directory does not exist, creating it first');
627
+ * await gcsStorage.CreateDirectory('documents/reports/');
628
+ * }
629
+ *
630
+ * // Now safe to use the directory
631
+ * await gcsStorage.PutObject('documents/reports/new-report.pdf', fileData);
632
+ * ```
633
+ */
280
634
  async DirectoryExists(directoryPath) {
281
635
  try {
282
636
  directoryPath = this._normalizeDirectoryPath(directoryPath);
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleFileStorage.js","sourceRoot":"","sources":["../../src/drivers/GoogleFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleFileStorage.js","sourceRoot":"","sources":["../../src/drivers/GoogleFileStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoE;AACpE,mDAAuD;AACvD,6CAA+B;AAC/B,iDAAmC;AACnC,gEAKoC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,iCAAe;IAUpD;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAC;QAhBV,gEAAgE;QAC7C,iBAAY,GAAG,sBAAsB,CAAC;QAgBvD,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC;QACjF,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;IAED;;;;;;;;;;OAUG;IACK,uBAAuB,CAAC,IAAY;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IAChD,CAAC;IAED;;;;;;;;;OASG;IACK,2BAA2B,CAAC,QAAa;QAC/C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU;YAChD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,0BAA0B;SAC1D,CAAC;QAEX,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,wBAAwB,CAAC,UAAkB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU;SAC3B,CAAC;QAExB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,KAAK,CAAC,UAAU,CAAC,aAAqB,EAAE,aAAqB;QAClE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACnG,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/G,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC,CAAC,0EAA0E;QACzF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACvG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACI,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,SAAS,GAAG,GAAG;QACtD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC;YAEF,MAAM,CAAC,KAAK,EAAE,AAAD,EAAG,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEzF,MAAM,OAAO,GAA4B,EAAE,CAAC;YAC5C,IAAI,QAAQ,GAAa,EAAE,CAAC;YAE5B,0BAA0B;YAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAE5C,0DAA0D;gBAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;oBAAE,SAAS;gBAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE9C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,IAAI;oBACJ,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;oBAC1C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B;oBACzF,YAAY,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACxC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC3B,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;oBACjD,cAAc,EAAE,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBACpE,CAAC,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,IAAI,WAAW,IAAK,WAAmB,CAAC,QAAQ,EAAE,CAAC;gBACjD,QAAQ,GAAI,WAAmB,CAAC,QAAQ,CAAC;YAC3C,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,eAAe,CAAC,aAAqB;QAChD,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAE5D,2FAA2F;YAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBAClB,QAAQ,EAAE;oBACR,WAAW,EAAE,yBAAyB;iBACvC;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACrG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,KAAK,CAAC,eAAe,CAAC,aAAqB,EAAE,SAAS,GAAG,KAAK;QACnE,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAE5D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,wCAAwC;gBACxC,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC;YAED,yEAAyE;YACzE,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,aAAa;aACtB,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE1E,gCAAgC;YAChC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAElC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClH,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAE5C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9C,OAAO;gBACL,IAAI;gBACJ,IAAI;gBACJ,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;gBAC1C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,0BAA0B;gBAC1F,YAAY,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACxC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBACjC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;gBACjD,cAAc,EAAE,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACpE,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACzG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,SAAS,CAAC,UAAkB;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAChG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,SAAS,CACpB,UAAkB,EAClB,IAAY,EACZ,WAAoB,EACpB,QAAiC;QAEjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEhE,iEAAiE;YACjE,MAAM,oBAAoB,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,0BAA0B,CAAC;YAElG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACpB,QAAQ,EAAE;oBACR,WAAW,EAAE,oBAAoB;oBACjC,QAAQ;iBACT;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,KAAK,CAAC,UAAU,CAAC,gBAAwB,EAAE,qBAA6B;QAC7E,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEtF,MAAM,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE;gBACtD,gBAAgB;gBAChB,qBAAqB;gBACrB,MAAM,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACzG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACI,KAAK,CAAC,eAAe,CAAC,aAAqB;QAChD,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAE5D,kDAAkD;YAClD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACjE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,wDAAwD;YACxD,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,CAAC;aACd,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/G,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AAxnBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,sBAAa,EAAC,iCAAe,EAAE,sBAAsB,CAAC;;GAC1C,iBAAiB,CAwnB7B"}