@cumulus/cmrjs 9.8.0 → 10.0.1

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.
package/cmr-utils.d.ts CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Add ETags to file objects as some downstream functions expect this structure.
3
+ *
4
+ * @param {Object} granule - input granule object
5
+ * @param {Object} etags - map of s3URIs and ETags
6
+ * @returns {Object} - updated granule object
7
+ */
8
+ export function addEtagsToFileObjects(granule: Object, etags: Object): Object;
1
9
  export function constructCmrConceptLink(conceptId: any, extension: any): string;
2
10
  /**
3
11
  * Construct online access url for a given file and a url type.
@@ -70,13 +78,15 @@ export function generateFileUrl({ file, distEndpoint, urlType, distributionBucke
70
78
  * `files` property
71
79
  * @param {Array<Object>} granule.files - array of files for a granule
72
80
  * @param {string} granule.granuleId - granule ID
81
+ * @param {Function} filterFunc - function to determine if the given file object is a
82
+ CMR file; defaults to `isCMRFile`
73
83
  * @returns {Array<Object>} an array of CMR file objects, each with properties
74
- * `granuleId`, `filename`, and possibly `etag` (if present on input)
84
+ * `granuleId`, `bucket`, `key`, and possibly `etag` (if present on input)
75
85
  */
76
86
  export function granuleToCmrFileObject({ granuleId, files }: {
77
87
  files: Array<Object>;
78
88
  granuleId: string;
79
- }): Array<Object>;
89
+ }, filterFunc?: Function): Array<Object>;
80
90
  /**
81
91
  * Helper to build an CMR settings object, used to initialize CMR.
82
92
  *
@@ -109,10 +119,11 @@ export function getFilename(file: any): any;
109
119
  * Extract temporal information from granule object
110
120
  *
111
121
  * @param {Object} granule - granule object
112
- * @returns {Object} - temporal information (beginningDateTime, endingDateTime, productionDateTime,
113
- * lastUpdateDateTime) of the granule if available
122
+ * @returns {Promise<Object>} - temporal information (beginningDateTime,
123
+ * endingDateTime, productionDateTime, lastUpdateDateTime) of the granule if
124
+ * available.
114
125
  */
115
- export function getGranuleTemporalInfo(granule: Object): Object;
126
+ export function getGranuleTemporalInfo(granule: Object): Promise<Object>;
116
127
  /**
117
128
  * Call CMR to get the all matching Collections information with a compound query call.
118
129
  *
@@ -121,6 +132,7 @@ export function getGranuleTemporalInfo(granule: Object): Object;
121
132
  * containing the found collections
122
133
  */
123
134
  export function getCollectionsByShortNameAndVersion(results: Array<Object>): Promise<Object>;
135
+ export function getS3UrlOfFile(file: any): any;
124
136
  /**
125
137
  * Call CMR to get a list of bucket/paths that a user has access to
126
138
  *
@@ -133,10 +145,12 @@ export function getUserAccessibleBuckets(edlUser: string, cmrProvider?: string):
133
145
  * Reduce granule object array to CMR files array
134
146
  *
135
147
  * @param {Array<Object>} granules - granule objects array
148
+ * @param {Function} filterFunc - function to determine if the given file object is a
149
+ CMR file; defaults to `isCMRFile`
136
150
  *
137
- * @returns {Array<Object>} - CMR file object array: { filename, granuleId }
151
+ * @returns {Array<Object>} - CMR file object array: { etag, bucket, key, granuleId }
138
152
  */
139
- export function granulesToCmrFileObjects(granules: Array<Object>): Array<Object>;
153
+ export function granulesToCmrFileObjects(granules: Array<Object>, filterFunc?: Function): Array<Object>;
140
154
  /**
141
155
  * Returns True if this object can be determined to be a cmrMetadata object.
142
156
  *
@@ -145,9 +159,25 @@ export function granulesToCmrFileObjects(granules: Array<Object>): Array<Object>
145
159
  */
146
160
  export function isCMRFile(fileobject: Object): boolean;
147
161
  export function isCMRFilename(filename: any): any;
148
- export function isECHO10File(filename: any): any;
149
- export function isISOFile(filename: any): any;
150
- export function isUMMGFile(filename: any): any;
162
+ export function isCMRISOFilename(filename: any): any;
163
+ export function isECHO10Filename(filename: any): any;
164
+ /**
165
+ * Returns True if this object can be determined to be an ISO file object.
166
+ *
167
+ * @param {Object} fileobject
168
+ * @returns {boolean} true if object references an ISO file metadata.
169
+ */
170
+ export function isISOFile(fileobject: Object): boolean;
171
+ export function isISOFilename(filename: any): any;
172
+ export function isUMMGFilename(filename: any): any;
173
+ /**
174
+ * Maps etag values from the specified granules' files.
175
+ *
176
+ * @param {Object[]} files - array of file objects with `bucket`, `key` and
177
+ * `etag` properties
178
+ * @returns {Object} mapping of file S3 URIs to etags
179
+ */
180
+ export function mapFileEtags(files: Object[]): Object;
151
181
  /**
152
182
  * Returns CMR metadata object from a CMR ECHO-10 XML file or CMR UMMG JSON
153
183
  * file in S3.
@@ -158,8 +188,8 @@ export function isUMMGFile(filename: any): any;
158
188
  * @returns {Promise<Object>} metadata object from the file
159
189
  * @throws {Error} if the specified filename does not represent an ECHO-10 XML
160
190
  * file or a UMMG file
161
- * @see isECHO10File
162
- * @see isUMMGFile
191
+ * @see isECHO10Filename
192
+ * @see isUMMGFilename
163
193
  */
164
194
  export function metadataObjectFromCMRFile(cmrFilename: string, etag?: string | undefined): Promise<Object>;
165
195
  /**
@@ -213,6 +243,13 @@ export function reconcileCMRMetadata({ granuleId, updatedFiles, distEndpoint, pu
213
243
  cmrGranuleUrlType: string;
214
244
  distributionBucketMap: any;
215
245
  }): Promise<void | Object>;
246
+ /**
247
+ * Remove ETags to match output schema
248
+ *
249
+ * @param {Object} granule - output granule object
250
+ * @returns {undefined}
251
+ */
252
+ export function removeEtagsFromFileObjects(granule: Object): undefined;
216
253
  /**
217
254
  * Modifies cmr metadata file with file's URLs updated to their new locations.
218
255
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cmr-utils.d.ts","sourceRoot":"","sources":["src/cmr-utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmr-utils.d.ts","sourceRoot":"","sources":["src/cmr-utils.js"],"names":[],"mappings":"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"}
package/cmr-utils.js CHANGED
@@ -59,12 +59,13 @@ function getFileDescription(file, urlType = 'distribution') {
59
59
  const filename = getFilename(file);
60
60
  return filename ? `Download ${filename}` : 'File to download';
61
61
  }
62
- const isECHO10File = (filename) => filename.endsWith('cmr.xml');
63
- const isUMMGFile = (filename) => filename.endsWith('cmr.json');
64
- const isISOFile = (filename) => filename.endsWith('cmr_iso.xml');
65
- const isCMRFilename = (filename) => isECHO10File(filename)
66
- || isUMMGFile(filename)
67
- || isISOFile(filename);
62
+ const isECHO10Filename = (filename) => filename.endsWith('cmr.xml');
63
+ const isUMMGFilename = (filename) => filename.endsWith('cmr.json');
64
+ const isISOFilename = (filename) => filename.endsWith('.iso.xml');
65
+ const isCMRISOFilename = (filename) => filename.endsWith('cmr_iso.xml');
66
+ const isCMRFilename = (filename) => isECHO10Filename(filename)
67
+ || isUMMGFilename(filename)
68
+ || isCMRISOFilename(filename);
68
69
  const constructCmrConceptLink = (conceptId, extension) => `${getSearchUrl()}concepts/${conceptId}.${extension}`;
69
70
  /**
70
71
  * Returns True if this object can be determined to be a cmrMetadata object.
@@ -76,6 +77,16 @@ function isCMRFile(fileobject) {
76
77
  const cmrfilename = fileobject.key || fileobject.name || fileobject.filename || '';
77
78
  return isCMRFilename(cmrfilename);
78
79
  }
80
+ /**
81
+ * Returns True if this object can be determined to be an ISO file object.
82
+ *
83
+ * @param {Object} fileobject
84
+ * @returns {boolean} true if object references an ISO file metadata.
85
+ */
86
+ function isISOFile(fileobject) {
87
+ const filename = fileobject.key || fileobject.name || fileobject.filename || '';
88
+ return isISOFilename(filename) || isCMRISOFilename(filename);
89
+ }
79
90
  /**
80
91
  * Extracts CMR file objects from the specified granule object.
81
92
  *
@@ -83,29 +94,36 @@ function isCMRFile(fileobject) {
83
94
  * `files` property
84
95
  * @param {Array<Object>} granule.files - array of files for a granule
85
96
  * @param {string} granule.granuleId - granule ID
97
+ * @param {Function} filterFunc - function to determine if the given file object is a
98
+ CMR file; defaults to `isCMRFile`
86
99
  * @returns {Array<Object>} an array of CMR file objects, each with properties
87
- * `granuleId`, `filename`, and possibly `etag` (if present on input)
100
+ * `granuleId`, `bucket`, `key`, and possibly `etag` (if present on input)
88
101
  */
89
- function granuleToCmrFileObject({ granuleId, files = [] }) {
102
+ function granuleToCmrFileObject({ granuleId, files = [] }, filterFunc = isCMRFile) {
90
103
  return files
91
- .filter(isCMRFile)
92
- .map((file) => ({
93
- // Include etag only if file has one
94
- ...pick(file, 'etag'),
95
- // handle both new-style and old-style files model
96
- filename: file.key ? buildS3Uri(file.bucket, file.key) : file.filename,
97
- granuleId,
98
- }));
104
+ .filter(filterFunc)
105
+ .map((file) => {
106
+ const { Bucket, Key } = parseS3Uri(getS3UrlOfFile(file));
107
+ return {
108
+ // Include etag only if file has one
109
+ ...pick(file, 'etag'),
110
+ bucket: Bucket,
111
+ key: Key,
112
+ granuleId,
113
+ };
114
+ });
99
115
  }
100
116
  /**
101
117
  * Reduce granule object array to CMR files array
102
118
  *
103
119
  * @param {Array<Object>} granules - granule objects array
120
+ * @param {Function} filterFunc - function to determine if the given file object is a
121
+ CMR file; defaults to `isCMRFile`
104
122
  *
105
- * @returns {Array<Object>} - CMR file object array: { filename, granuleId }
123
+ * @returns {Array<Object>} - CMR file object array: { etag, bucket, key, granuleId }
106
124
  */
107
- function granulesToCmrFileObjects(granules) {
108
- return granules.flatMap(granuleToCmrFileObject);
125
+ function granulesToCmrFileObjects(granules, filterFunc = isCMRFile) {
126
+ return granules.flatMap((granule) => granuleToCmrFileObject(granule, filterFunc));
109
127
  }
110
128
  /**
111
129
  * Posts CMR XML files from S3 to CMR.
@@ -184,11 +202,12 @@ async function publishUMMGJSON2CMR(cmrFile, cmrClient, revisionId) {
184
202
  */
185
203
  async function publish2CMR(cmrPublishObject, creds, cmrRevisionId) {
186
204
  const cmrClient = new CMR(creds);
205
+ const cmrFileName = getFilename(cmrPublishObject);
187
206
  // choose xml or json and do the things.
188
- if (isECHO10File(cmrPublishObject.filename)) {
207
+ if (isECHO10Filename(cmrFileName)) {
189
208
  return await publishECHO10XML2CMR(cmrPublishObject, cmrClient, cmrRevisionId);
190
209
  }
191
- if (isUMMGFile(cmrPublishObject.filename)) {
210
+ if (isUMMGFilename(cmrFileName)) {
192
211
  return await publishUMMGJSON2CMR(cmrPublishObject, cmrClient, cmrRevisionId);
193
212
  }
194
213
  throw new Error(`invalid cmrPublishObject passed to publis2CMR ${JSON.stringify(cmrPublishObject)}`);
@@ -263,14 +282,14 @@ const metadataObjectFromCMRXMLFile = (cmrFilename, etag) => getXMLMetadataAsStri
263
282
  * @returns {Promise<Object>} metadata object from the file
264
283
  * @throws {Error} if the specified filename does not represent an ECHO-10 XML
265
284
  * file or a UMMG file
266
- * @see isECHO10File
267
- * @see isUMMGFile
285
+ * @see isECHO10Filename
286
+ * @see isUMMGFilename
268
287
  */
269
288
  function metadataObjectFromCMRFile(cmrFilename, etag) {
270
- if (isECHO10File(cmrFilename)) {
289
+ if (isECHO10Filename(cmrFilename) || isISOFilename(cmrFilename)) {
271
290
  return metadataObjectFromCMRXMLFile(cmrFilename, etag);
272
291
  }
273
- if (isUMMGFile(cmrFilename)) {
292
+ if (isUMMGFilename(cmrFilename)) {
274
293
  return metadataObjectFromCMRJSONFile(cmrFilename, etag);
275
294
  }
276
295
  throw new Error(`Cannot retrieve metadata: invalid CMR filename: ${cmrFilename}`);
@@ -314,6 +333,49 @@ function mapCNMTypeToCMRType(type, urlType = 'distribution', useDirectS3Type = f
314
333
  }
315
334
  return mappedType;
316
335
  }
336
+ /**
337
+ * Add ETags to file objects as some downstream functions expect this structure.
338
+ *
339
+ * @param {Object} granule - input granule object
340
+ * @param {Object} etags - map of s3URIs and ETags
341
+ * @returns {Object} - updated granule object
342
+ */
343
+ function addEtagsToFileObjects(granule, etags) {
344
+ granule.files.forEach((incomingFile) => {
345
+ const file = incomingFile;
346
+ const fileURI = getS3UrlOfFile(file);
347
+ if (etags[fileURI])
348
+ file.etag = etags[fileURI];
349
+ });
350
+ return granule;
351
+ }
352
+ /**
353
+ * Remove ETags to match output schema
354
+ *
355
+ * @param {Object} granule - output granule object
356
+ * @returns {undefined}
357
+ */
358
+ function removeEtagsFromFileObjects(granule) {
359
+ granule.files.forEach((incomingFile) => {
360
+ const file = incomingFile;
361
+ delete file.etag;
362
+ });
363
+ }
364
+ /**
365
+ * Maps etag values from the specified granules' files.
366
+ *
367
+ * @param {Object[]} files - array of file objects with `bucket`, `key` and
368
+ * `etag` properties
369
+ * @returns {Object} mapping of file S3 URIs to etags
370
+ */
371
+ function mapFileEtags(files) {
372
+ return files.reduce((filesMap, file) => {
373
+ const { bucket, key, etag } = file;
374
+ const s3Uri = getS3UrlOfFile({ bucket, key });
375
+ filesMap[s3Uri] = etag; // eslint-disable-line no-param-reassign
376
+ return filesMap;
377
+ }, {});
378
+ }
317
379
  /**
318
380
  * generate a url for a given file and a url type.
319
381
  *
@@ -743,10 +805,10 @@ async function updateCMRMetadata({ granuleId, cmrFile, files, distEndpoint, publ
743
805
  };
744
806
  let metadataObject;
745
807
  let etag;
746
- if (isECHO10File(filename)) {
808
+ if (isECHO10Filename(filename)) {
747
809
  ({ metadataObject, etag } = await updateEcho10XMLMetadata(params));
748
810
  }
749
- else if (isUMMGFile(filename)) {
811
+ else if (isUMMGFilename(filename)) {
750
812
  ({ metadataObject, etag } = await updateUMMGMetadata(params));
751
813
  }
752
814
  else {
@@ -853,57 +915,84 @@ async function getUserAccessibleBuckets(edlUser, cmrProvider = process.env.cmr_p
853
915
  * Extract temporal information from granule object
854
916
  *
855
917
  * @param {Object} granule - granule object
856
- * @returns {Object} - temporal information (beginningDateTime, endingDateTime, productionDateTime,
857
- * lastUpdateDateTime) of the granule if available
918
+ * @returns {Promise<Object>} - temporal information (beginningDateTime,
919
+ * endingDateTime, productionDateTime, lastUpdateDateTime) of the granule if
920
+ * available.
858
921
  */
859
922
  async function getGranuleTemporalInfo(granule) {
860
923
  const cmrFile = granuleToCmrFileObject(granule);
861
924
  if (cmrFile.length === 0)
862
925
  return {};
863
- const cmrFilename = cmrFile[0].filename;
864
- if (isISOFile(cmrFilename)) {
926
+ const cmrFilename = getS3UrlOfFile(cmrFile[0]);
927
+ if (isCMRISOFilename(cmrFilename)) {
865
928
  const metadata = await metadataObjectFromCMRXMLFile(cmrFilename);
866
- const metadataMI = metadata['gmd:DS_Series']['gmd:composedOf']['gmd:DS_DataSet']['gmd:has']['gmi:MI_Metadata'];
929
+ const metadataMI = get(metadata, 'gmd:DS_Series.gmd:composedOf.gmd:DS_DataSet.gmd:has.gmi:MI_Metadata');
867
930
  // Get beginning and ending date time from beginPosition and endPosition
868
931
  const identificationInfo = metadataMI['gmd:identificationInfo'];
869
932
  const dataIdentification = identificationInfo.find((dataIdObject) => Object.keys(dataIdObject).filter((key) => Object.keys(dataIdObject[key]).includes('gmd:extent')));
870
- const temporalInfo = dataIdentification['gmd:MD_DataIdentification']['gmd:extent']['gmd:EX_Extent']['gmd:temporalElement']['gmd:EX_TemporalExtent']['gmd:extent']['gml:TimePeriod'];
871
- const beginningDateTime = temporalInfo['gml:beginPosition'];
872
- const endingDateTime = temporalInfo['gml:endPosition'];
933
+ const temporalInfo = get(dataIdentification, 'gmd:MD_DataIdentification.gmd:extent.gmd:EX_Extent.gmd:temporalElement.gmd:EX_TemporalExtent.gmd:extent.gml:TimePeriod');
934
+ let beginningDateTime = get(temporalInfo, 'gml:beginPosition');
935
+ let endingDateTime = get(temporalInfo, 'gml:endPosition');
936
+ if (!beginningDateTime) {
937
+ const singleDateTime = get(dataIdentification, 'gmd:MD_DataIdentification.gmd:extent.gmd:EX_Extent.gmd:temporalElement.gmd:EX_TemporalExtent.gmd:extent.gml:TimeInstant.gml:timePosition');
938
+ beginningDateTime = singleDateTime;
939
+ endingDateTime = singleDateTime;
940
+ }
873
941
  // Get production date time from LE_ProcessStep
874
- const productionDateTime = metadataMI['gmd:dataQualityInfo']['gmd:DQ_DataQuality']['gmd:lineage']['gmd:LI_Lineage']['gmd:processStep']['gmi:LE_ProcessStep']['gmd:dateTime']['gco:DateTime'];
942
+ const productionDateTime = get(metadataMI, 'gmd:dataQualityInfo.gmd:DQ_DataQuality.gmd:lineage.gmd:LI_Lineage.gmd:processStep.gmi:LE_ProcessStep.gmd:dateTime.gco:DateTime');
875
943
  // Get last update date time from CI_Citation with UpdateTime
876
- const citation = identificationInfo.find((dataIdObject) => dataIdObject['gmd:MD_DataIdentification']['gmd:citation']['gmd:CI_Citation']['gmd:title']['gco:CharacterString'] === 'UpdateTime');
877
- const lastUpdateDateTime = citation['gmd:MD_DataIdentification']['gmd:citation']['gmd:CI_Citation']['gmd:date']['gmd:CI_Date']['gmd:date']['gco:DateTime'];
878
- return { beginningDateTime, endingDateTime, productionDateTime, lastUpdateDateTime };
944
+ const citation = identificationInfo.find((dataIdObject) => get(dataIdObject, 'gmd:MD_DataIdentification.gmd:citation.gmd:CI_Citation.gmd:title.gco:CharacterString') === 'UpdateTime');
945
+ const lastUpdateDateTime = get(citation, 'gmd:MD_DataIdentification.gmd:citation.gmd:CI_Citation.gmd:date.gmd:CI_Date.gmd:date.gco:DateTime');
946
+ return {
947
+ beginningDateTime,
948
+ endingDateTime,
949
+ productionDateTime,
950
+ lastUpdateDateTime,
951
+ };
879
952
  }
880
- if (isECHO10File(cmrFilename)) {
953
+ if (isECHO10Filename(cmrFilename)) {
881
954
  const metadata = await metadataObjectFromCMRXMLFile(cmrFilename);
882
- const beginningDateTime = get(metadata.Granule, 'Temporal.RangeDateTime.BeginningDateTime');
883
- const endingDateTime = get(metadata.Granule, 'Temporal.RangeDateTime.EndingDateTime');
955
+ let beginningDateTime = get(metadata.Granule, 'Temporal.RangeDateTime.BeginningDateTime');
956
+ let endingDateTime = get(metadata.Granule, 'Temporal.RangeDateTime.EndingDateTime');
957
+ if (!beginningDateTime) {
958
+ const singleDateTime = get(metadata.Granule, 'Temporal.SingleDateTime');
959
+ beginningDateTime = singleDateTime;
960
+ endingDateTime = singleDateTime;
961
+ }
884
962
  const productionDateTime = get(metadata.Granule, 'DataGranule.ProductionDateTime');
885
963
  const lastUpdateDateTime = metadata.Granule.LastUpdate || metadata.Granule.InsertTime;
886
964
  return {
887
- beginningDateTime, endingDateTime, productionDateTime, lastUpdateDateTime,
965
+ beginningDateTime,
966
+ endingDateTime,
967
+ productionDateTime,
968
+ lastUpdateDateTime,
888
969
  };
889
970
  }
890
- if (isUMMGFile(cmrFilename)) {
971
+ if (isUMMGFilename(cmrFilename)) {
891
972
  const metadata = await metadataObjectFromCMRJSONFile(cmrFilename);
892
- const beginningDateTime = get(metadata, 'TemporalExtent.RangeDateTime.BeginningDateTime');
893
- const endingDateTime = get(metadata, 'TemporalExtent.RangeDateTime.EndingDateTime');
894
- const productionDateTime = get(metadata, 'DataGranule.ProductionDateTime');
895
- let updateDate = metadata.ProviderDates.filter((d) => d.Type === 'Update');
896
- if (updateDate.length === 0) {
897
- updateDate = metadata.ProviderDates.filter((d) => d.Type === 'Insert');
973
+ let beginningDateTime = get(metadata, 'TemporalExtent.RangeDateTime.BeginningDateTime');
974
+ let endingDateTime = get(metadata, 'TemporalExtent.RangeDateTime.EndingDateTime');
975
+ if (!beginningDateTime) {
976
+ const singleDateTime = get(metadata, 'TemporalExtent.SingleDateTime');
977
+ beginningDateTime = singleDateTime;
978
+ endingDateTime = singleDateTime;
898
979
  }
899
- const lastUpdateDateTime = updateDate[0].Date;
980
+ const productionDateTime = get(metadata, 'DataGranule.ProductionDateTime');
981
+ const lastUpdateDateTime = (metadata.ProviderDates.find((d) => d.Type === 'Update')
982
+ || metadata.ProviderDates.find((d) => d.Type === 'Insert')
983
+ || metadata.ProviderDates.find((d) => d.Type === 'Create')
984
+ || {}).Date;
900
985
  return {
901
- beginningDateTime, endingDateTime, productionDateTime, lastUpdateDateTime,
986
+ beginningDateTime,
987
+ endingDateTime,
988
+ productionDateTime,
989
+ lastUpdateDateTime,
902
990
  };
903
991
  }
904
992
  return {};
905
993
  }
906
994
  module.exports = {
995
+ addEtagsToFileObjects,
907
996
  constructCmrConceptLink,
908
997
  constructOnlineAccessUrl,
909
998
  constructOnlineAccessUrls,
@@ -915,16 +1004,21 @@ module.exports = {
915
1004
  getFilename,
916
1005
  getGranuleTemporalInfo,
917
1006
  getCollectionsByShortNameAndVersion,
1007
+ getS3UrlOfFile,
918
1008
  getUserAccessibleBuckets,
919
1009
  granulesToCmrFileObjects,
920
1010
  isCMRFile,
921
1011
  isCMRFilename,
922
- isECHO10File,
1012
+ isCMRISOFilename,
1013
+ isECHO10Filename,
923
1014
  isISOFile,
924
- isUMMGFile,
1015
+ isISOFilename,
1016
+ isUMMGFilename,
1017
+ mapFileEtags,
925
1018
  metadataObjectFromCMRFile,
926
1019
  publish2CMR,
927
1020
  reconcileCMRMetadata,
1021
+ removeEtagsFromFileObjects,
928
1022
  updateCMRMetadata,
929
1023
  uploadEcho10CMRFile,
930
1024
  uploadUMMGJSONCMRFile,
package/cmr-utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cmr-utils.js","sourceRoot":"","sources":["src/cmr-utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmr-utils.js","sourceRoot":"","sources":["src/cmr-utils.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAClC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACpC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAClC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACpC,MAAM,EACJ,UAAU,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,GACd,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACtC,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AACvD,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAAC;AAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACrD,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC1C,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACzE,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC5E,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACrE,MAAM,EACJ,eAAe,EACf,0BAA0B,GAC3B,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEvB,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC;AAEnE,SAAS,cAAc,CAAC,IAAI;IAC1B,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;IACxD,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACxC,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,cAAc,CAAC,IAAI;IAC1B,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,IAAI;IACvB,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACxC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAChC,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc;IACxD,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,iEAAiE,CAAC;KAC1E;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;AAChE,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACpE,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAClE,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACxE,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;OACzD,cAAc,CAAC,QAAQ,CAAC;OACxB,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAEhC,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,YAAY,EAAE,YAAY,SAAS,IAAI,SAAS,EAAE,CAAC;AAEhH;;;;;GAKG;AACH,SAAS,SAAS,CAAC,UAAU;IAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;IACnF,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,UAAU;IAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;IAChF,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,sBAAsB,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,UAAU,GAAG,SAAS;IAC/E,OAAO,KAAK;SACT,MAAM,CAAC,UAAU,CAAC;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,OAAO;YACL,oCAAoC;YACpC,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;YACrB,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG;YACR,SAAS;SACV,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS;IAChE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU;IAChE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,SAAS,GAAG,aAAa,OAAO,CAAC,SAAS,2BAA2B,SAAS,EAAE,CAAC;IAErF,IAAI,UAAU;QAAE,SAAS,IAAI,iBAAiB,UAAU,EAAE,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpB,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC;QACjC,SAAS;QACT,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC;KACnD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,0BAA0B,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,SAAS,GAAG,kBAAkB,SAAS,2BAA2B,SAAS,EAAE,CAAC;IAElF,IAAI,UAAU;QAAE,SAAS,IAAI,iBAAiB,UAAU,EAAE,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpB,OAAO;QACL,SAAS;QACT,QAAQ;QACR,SAAS;QACT,cAAc;QACd,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,WAAW,CAAC,gBAAgB,EAAE,KAAK,EAAE,aAAa;IAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAElD,wCAAwC;IACxC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE;QACjC,OAAO,MAAM,oBAAoB,CAAC,gBAAgB,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;KAC/E;IACD,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE;QAC/B,OAAO,MAAM,mBAAmB,CAAC,gBAAgB,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;KAC9E;IAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACvG,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB,CAAC,QAAQ,EAAE,IAAI;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,IAAI;QACjB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QAChC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAEpB,OAAO,MAAM,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CAAC,WAAW,EAAE,IAAI;IACrD,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;KACxE;IACD,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAAC,GAAG;IAC/B,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,6BAA6B,CAAC,WAAW,EAAE,IAAI;IAC5D,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,4BAA4B,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CACzD,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAEjE;;;;;;;;;;;;GAYG;AACH,SAAS,yBAAyB,CAAC,WAAW,EAAE,IAAI;IAClD,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE;QAC/D,OAAO,4BAA4B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KACxD;IACD,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE;QAC/B,OAAO,6BAA6B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KACzD;IACD,MAAM,IAAI,KAAK,CACb,mDAAmD,WAAW,EAAE,CACjE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,UAAU;IACxC,OAAO;QACL,GAAG,EAAE,UAAU;QACf,cAAc,EAAE,uFAAuF;QACvG,WAAW,EAAE,uFAAuF;QACpG,IAAI,EAAE,0BAA0B;KACjC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,EAAE,eAAe,GAAG,KAAK;IAClF,MAAM,OAAO,GAAG;QACd,SAAS,EAAE,0BAA0B;QACrC,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE,mBAAmB;QAC7B,EAAE,EAAE,mBAAmB;KACxB,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;IAE/C,gFAAgF;IAChF,4FAA4F;IAC5F,IAAI,OAAO,KAAK,IAAI,IAAI,UAAU,KAAK,UAAU,IAAI,eAAe,EAAE;QACpE,OAAO,4BAA4B,CAAC;KACrC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,OAAO,EAAE,KAAK;IAC3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,OAAO;IACzC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAK;IACzB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9C,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,wCAAwC;QAChE,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,EACvB,IAAI,EACJ,YAAY,EACZ,OAAO,GAAG,cAAc,EACxB,qBAAqB,GACtB;IACC,IAAI,OAAO,KAAK,cAAc,EAAE;QAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC;KAC5F;IAED,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB;;uEAE+D;QAC/D,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KAC1C;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,wBAAwB,CAAC,EAChC,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,OAAO,GAAG,cAAc,EACxB,qBAAqB,EACrB,eAAe,GAAG,KAAK,GACxB;IACC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,sBAAsB,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACxF,IAAI,OAAO,EAAE;YACX,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO;gBACL,GAAG,EAAE,OAAO;gBACZ,cAAc,EAAE,eAAe;gBAC/B,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,sBAAsB;aACvF,CAAC;SACH;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,yBAAyB,CAAC,EACjC,KAAK,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,GAAG,MAAM,EAC1B,qBAAqB,EACrB,eAAe,GAAG,KAAK,GACxB;IACC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE;QACzE,MAAM,IAAI,KAAK,CAAC,wBAAwB,iBAAiB,+CAA+C,CAAC,CAAC;KAC3G;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACxD,MAAM,GAAG,GAAG,wBAAwB,CAAC;gBACnC,IAAI;gBACJ,YAAY;gBACZ,WAAW;gBACX,OAAO,EAAE,cAAc;gBACvB,qBAAqB;gBACrB,eAAe;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YAC9C,MAAM,GAAG,GAAG,wBAAwB,CAAC;gBACnC,IAAI;gBACJ,YAAY;gBACZ,WAAW;gBACX,OAAO,EAAE,IAAI;gBACb,qBAAqB;gBACrB,eAAe;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,eAAe,GAAG,eAAe,EACjC,iBAAiB,GAAG,MAAM,EAC1B,qBAAqB,EACrB,eAAe,GAAG,KAAK,GACxB;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,yBAAyB,CAAC;QAC9C,KAAK;QACL,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,qBAAqB;QACrB,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAK,EAAE,WAAW;IAClD,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE5C,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACZ,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;YAClD,OAAO,GAAG,CAAC;SACZ;QAED,OAAO;YACL,GAAG,GAAG;YACN,EAAE,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;SAC9B,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,KAAK;IAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE;IACrD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEtE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;WACrD,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACxD,CAAC;IAEF,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACrD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CACrC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAC7D,CAAC;QACF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,sDAAsD;YACtD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;YACpF,OAAO;gBACL,GAAG,GAAG;gBACN,GAAG,eAAe,CAAC,CAAC,CAAC;gBACrB,GAAG,eAAe;aACnB,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,kBAAkB,EAAE,GAAG,0BAA0B,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,qBAAqB,CAAC,cAAc,EAAE,OAAO;IAC1D,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,eAAe,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QACpC,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,kBAAkB;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,cAAc;IAC3C,MAAM,uBAAuB,GAAG,IAAI,CAAC;IACrC,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,4DAA4D;IAC5D,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,uBAAuB,EAAE;QAC3G,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,kBAAkB,CAAC,EAChC,OAAO,EACP,KAAK,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,GAAG,MAAM,EAC1B,qBAAqB,GACtB;IACC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,MAAM,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,oBAAoB,CAAC;QACnC,KAAK;QACL,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,qBAAqB;QACrB,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACjE,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAE/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC5E,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;EAeE;AACF,KAAK,UAAU,cAAc,CAAC,SAAS,GAAG,EAAE;IAC1C,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAEhF,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QACxD,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;QACzD,aAAa;KACd,CAAC;IAEF,IAAI,aAAa,KAAK,WAAW,EAAE;QACjC,MAAM,6BAA6B,GAAG,SAAS,CAAC,oBAAoB;eAC/D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,eAAe,CACtC,6BAA6B,CAC9B,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,UAAU;YACV,GAAG,EAAE,SAAS,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;YAC/C,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB;SACxE,CAAC;QAEF,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO;YACL,GAAG,cAAc;YACjB,KAAK;SACN,CAAC;KACH;IAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB;WAClD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,kBAAkB,CACnB,CAAC;IAEF,OAAO;QACL,GAAG,cAAc;QACjB,QAAQ;QACR,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAO;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,GAAG,KAAK,kBAAkB,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;SACzD;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE;YACpC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAChC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAAC,GAAG,EAAE,OAAO;IAC7C,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,eAAe,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC;QAC5B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,iBAAiB;KAC/B,CAAC,CAAC;AACL,CAAC;AACD;;;;;;;;;;GAUG;AACH,SAAS,wBAAwB,CAAC,OAAO,GAAG,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EACpF,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAChG,OAAO,SAAS,CAAC,eAAe,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,uBAAuB,CAAC,EACrC,OAAO,EACP,KAAK,EACL,YAAY,EACZ,WAAW,EACX,eAAe,GAAG,eAAe,EACjC,iBAAiB,GAAG,MAAM,EAC1B,qBAAqB,GACtB;IACC,mCAAmC;IACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,MAAM,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC;IAC/C,MAAM,cAAc,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;IAE9C,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAC5D,kCAAkC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,0BAA0B,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAC9D,gCAAgC,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,4BAA4B,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAChE,6CAA6C,EAAE,EAAE,CAAC,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,yBAAyB,CAAC;QACxC,KAAK;QACL,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,qBAAqB;KACtB,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAE7E,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,EAAE,0BAA0B,EACxF,WAAW,EAAE,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtF,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,EACvF,WAAW,EAAE,CAAC,UAAU,EAAE,4BAA4B,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACpF,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,OAAO,EAAE,4BAA4B,EAC3F,WAAW,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1E,mDAAmD;IACnD,GAAG,CAAC,cAAc,EAAE,kCAAkC,EAAE,sBAAsB,CAAC,CAAC;IAChF,GAAG,CAAC,cAAc,EAAE,gCAAgC,EAAE,qBAAqB,CAAC,CAAC;IAC7E,GAAG,CAAC,cAAc,EAAE,6CAA6C,EAAE,sBAAsB,CAAC,CAAC;IAE3F,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC;IACxC,MAAM,GAAG,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,iBAAiB,CAAC,EAC/B,SAAS,EACT,OAAO,EACP,KAAK,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAiB,GAAG,MAAM,EAC1B,qBAAqB,GACtB;IACC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAEzC,GAAG,CAAC,KAAK,CAAC,qCAAqC,SAAS,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IAE1F,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG;QACb,OAAO;QACP,KAAK;QACL,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,qBAAqB;KACtB,CAAC;IAEF,IAAI,cAAc,CAAC;IACnB,IAAI,IAAI,CAAC;IAET,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QAC9B,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;KACpE;SAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE;QACnC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/D;SAAM;QACL,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;KAC3E;IAED,IAAI,SAAS,EAAE;QACb,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG;YACvB,QAAQ;YACR,cAAc;YACd,SAAS;SACV,CAAC;QAEF,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;KACzE;IAED,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,oBAAoB,CAAC,EAClC,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAiB,GAAG,MAAM,EAC1B,qBAAqB,GACtB;IACC,MAAM,gBAAgB,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,OAAO,MAAM,iBAAiB,CAAC;YAC7B,SAAS;YACT,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC5B,KAAK,EAAE,YAAY;YACnB,YAAY;YACZ,SAAS;YACT,iBAAiB;YACjB,qBAAqB;YACrB,WAAW;SACZ,CAAC,CAAC;KACJ;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;KACrD;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,aAAa,CAAC,OAAO;IAC5B,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CACxC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAChE,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mCAAmC,CAAC,OAAO;IACxD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEhF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAC7B,GAAG,YAAY,EAAE,kBAAkB,EACnC;QACE,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,GAAG,OAAO;SACX;KACF,CACF,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY;IACrF,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACrE,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CAAC,OAAO;IAC3C,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE;QACjC,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,GAAG,CACpB,QAAQ,EACR,qEAAqE,CACtE,CAAC;QAEF,wEAAwE;QACxE,MAAM,kBAAkB,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAChE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAClE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,GAAG,CACtB,kBAAkB,EAClB,wHAAwH,CACzH,CAAC;QACF,IAAI,iBAAiB,GAAG,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAC/D,IAAI,cAAc,GAAG,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAE1D,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,cAAc,GAAG,GAAG,CACxB,kBAAkB,EAClB,0IAA0I,CAC3I,CAAC;YACF,iBAAiB,GAAG,cAAc,CAAC;YACnC,cAAc,GAAG,cAAc,CAAC;SACjC;QAED,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,GAAG,CAC5B,UAAU,EACV,gIAAgI,CACjI,CAAC;QAEF,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CACtC,CAAC,YAAY,EAAE,EAAE,CACf,GAAG,CACD,YAAY,EACZ,sFAAsF,CACvF,KAAK,YAAY,CACrB,CAAC;QACF,MAAM,kBAAkB,GAAG,GAAG,CAC5B,QAAQ,EACR,mGAAmG,CACpG,CAAC;QAEF,OAAO;YACL,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,kBAAkB;SACnB,CAAC;KACH;IACD,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE;QACjC,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,iBAAiB,GAAG,GAAG,CACzB,QAAQ,CAAC,OAAO,EAChB,0CAA0C,CAC3C,CAAC;QACF,IAAI,cAAc,GAAG,GAAG,CACtB,QAAQ,CAAC,OAAO,EAChB,uCAAuC,CACxC,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YACxE,iBAAiB,GAAG,cAAc,CAAC;YACnC,cAAc,GAAG,cAAc,CAAC;SACjC;QACD,MAAM,kBAAkB,GAAG,GAAG,CAC5B,QAAQ,CAAC,OAAO,EAChB,gCAAgC,CACjC,CAAC;QACF,MAAM,kBAAkB,GACpB,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/D,OAAO;YACL,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,kBAAkB;SACnB,CAAC;KACH;IACD,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE;QAC/B,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,iBAAiB,GAAG,GAAG,CACzB,QAAQ,EACR,gDAAgD,CACjD,CAAC;QACF,IAAI,cAAc,GAAG,GAAG,CACtB,QAAQ,EACR,6CAA6C,CAC9C,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;YACtE,iBAAiB,GAAG,cAAc,CAAC;YACnC,cAAc,GAAG,cAAc,CAAC;SACjC;QACD,MAAM,kBAAkB,GAAG,GAAG,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QAC3E,MAAM,kBAAkB,GAAG,CACzB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;eACpD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;eACvD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;eACvD,EAAE,CACN,CAAC,IAAI,CAAC;QAEP,OAAO;YACL,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,kBAAkB;SACnB,CAAC;KACH;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,qBAAqB;IACrB,uBAAuB;IACvB,wBAAwB;IACxB,yBAAyB;IACzB,uBAAuB;IACvB,eAAe;IACf,sBAAsB;IACtB,cAAc;IACd,kBAAkB;IAClB,WAAW;IACX,sBAAsB;IACtB,mCAAmC;IACnC,cAAc;IACd,wBAAwB;IACxB,wBAAwB;IACxB,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,aAAa;IACb,cAAc;IACd,YAAY;IACZ,yBAAyB;IACzB,WAAW;IACX,oBAAoB;IACpB,0BAA0B;IAC1B,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;CACtB,CAAC"}
package/index.d.ts CHANGED
@@ -1,13 +1,17 @@
1
+ import { addEtagsToFileObjects } from "./cmr-utils";
1
2
  import { constructOnlineAccessUrl } from "./cmr-utils";
2
3
  import { ValidationError } from "./utils";
3
4
  import { getGranuleTemporalInfo } from "./cmr-utils";
4
5
  import { getCollectionsByShortNameAndVersion } from "./cmr-utils";
5
6
  import { getUserAccessibleBuckets } from "./cmr-utils";
6
7
  import { isCMRFile } from "./cmr-utils";
8
+ import { isISOFile } from "./cmr-utils";
9
+ import { mapFileEtags } from "./cmr-utils";
7
10
  import { metadataObjectFromCMRFile } from "./cmr-utils";
8
11
  import { publish2CMR } from "./cmr-utils";
9
12
  import { reconcileCMRMetadata } from "./cmr-utils";
13
+ import { removeEtagsFromFileObjects } from "./cmr-utils";
10
14
  import { granulesToCmrFileObjects } from "./cmr-utils";
11
15
  import { updateCMRMetadata } from "./cmr-utils";
12
- export { constructOnlineAccessUrl, ValidationError, getGranuleTemporalInfo, getCollectionsByShortNameAndVersion, getUserAccessibleBuckets, isCMRFile, metadataObjectFromCMRFile, publish2CMR, reconcileCMRMetadata, granulesToCmrFileObjects, updateCMRMetadata };
16
+ export { addEtagsToFileObjects, constructOnlineAccessUrl, ValidationError, getGranuleTemporalInfo, getCollectionsByShortNameAndVersion, getUserAccessibleBuckets, isCMRFile, isISOFile, mapFileEtags, metadataObjectFromCMRFile, publish2CMR, reconcileCMRMetadata, removeEtagsFromFileObjects, granulesToCmrFileObjects, updateCMRMetadata };
13
17
  //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -1,16 +1,20 @@
1
1
  'use strict';
2
2
  const { ValidationError, } = require('./utils');
3
- const { constructOnlineAccessUrl, getGranuleTemporalInfo, getCollectionsByShortNameAndVersion, getUserAccessibleBuckets, isCMRFile, metadataObjectFromCMRFile, publish2CMR, granulesToCmrFileObjects, reconcileCMRMetadata, updateCMRMetadata, } = require('./cmr-utils');
3
+ const { addEtagsToFileObjects, constructOnlineAccessUrl, getGranuleTemporalInfo, getCollectionsByShortNameAndVersion, getUserAccessibleBuckets, isCMRFile, isISOFile, mapFileEtags, metadataObjectFromCMRFile, publish2CMR, granulesToCmrFileObjects, reconcileCMRMetadata, removeEtagsFromFileObjects, updateCMRMetadata, } = require('./cmr-utils');
4
4
  module.exports = {
5
+ addEtagsToFileObjects,
5
6
  constructOnlineAccessUrl,
6
7
  ValidationError,
7
8
  getGranuleTemporalInfo,
8
9
  getCollectionsByShortNameAndVersion,
9
10
  getUserAccessibleBuckets,
10
11
  isCMRFile,
12
+ isISOFile,
13
+ mapFileEtags,
11
14
  metadataObjectFromCMRFile,
12
15
  publish2CMR,
13
16
  reconcileCMRMetadata,
17
+ removeEtagsFromFileObjects,
14
18
  granulesToCmrFileObjects,
15
19
  updateCMRMetadata,
16
20
  };
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EACJ,eAAe,GAChB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACvB,MAAM,EACJ,wBAAwB,EACxB,sBAAsB,EACtB,mCAAmC,EACnC,wBAAwB,EACxB,SAAS,EACT,yBAAyB,EACzB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,GAClB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE3B,MAAM,CAAC,OAAO,GAAG;IACf,wBAAwB;IACxB,eAAe;IACf,sBAAsB;IACtB,mCAAmC;IACnC,wBAAwB;IACxB,SAAS;IACT,yBAAyB;IACzB,WAAW;IACX,oBAAoB;IACpB,wBAAwB;IACxB,iBAAiB;CAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EACJ,eAAe,GAChB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACvB,MAAM,EACJ,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,mCAAmC,EACnC,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,yBAAyB,EACzB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,GAClB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE3B,MAAM,CAAC,OAAO,GAAG;IACf,qBAAqB;IACrB,wBAAwB;IACxB,eAAe;IACf,sBAAsB;IACtB,mCAAmC;IACnC,wBAAwB;IACxB,SAAS;IACT,SAAS;IACT,YAAY;IACZ,yBAAyB;IACzB,WAAW;IACX,oBAAoB;IACpB,0BAA0B;IAC1B,wBAAwB;IACxB,iBAAiB;CAClB,CAAC"}