@globus/sdk 3.7.0 → 3.8.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.
Files changed (29) hide show
  1. package/README.md +4 -0
  2. package/cjs/lib/core/authorization/RedirectTransport.d.ts.map +1 -1
  3. package/cjs/lib/core/authorization/RedirectTransport.js +15 -7
  4. package/cjs/lib/core/authorization/RedirectTransport.js.map +1 -1
  5. package/cjs/lib/core/info/version.d.ts +1 -1
  6. package/cjs/lib/core/info/version.js +1 -1
  7. package/cjs/lib/services/transfer/index.d.ts +1 -0
  8. package/cjs/lib/services/transfer/index.d.ts.map +1 -1
  9. package/cjs/lib/services/transfer/index.js +2 -1
  10. package/cjs/lib/services/transfer/index.js.map +1 -1
  11. package/cjs/lib/services/transfer/utils.d.ts +28 -0
  12. package/cjs/lib/services/transfer/utils.d.ts.map +1 -0
  13. package/cjs/lib/services/transfer/utils.js +98 -0
  14. package/cjs/lib/services/transfer/utils.js.map +1 -0
  15. package/esm/lib/core/authorization/RedirectTransport.d.ts.map +1 -1
  16. package/esm/lib/core/authorization/RedirectTransport.js +15 -7
  17. package/esm/lib/core/authorization/RedirectTransport.js.map +1 -1
  18. package/esm/lib/core/info/version.d.ts +1 -1
  19. package/esm/lib/core/info/version.js +1 -1
  20. package/esm/lib/services/transfer/index.d.ts +1 -0
  21. package/esm/lib/services/transfer/index.d.ts.map +1 -1
  22. package/esm/lib/services/transfer/index.js +1 -0
  23. package/esm/lib/services/transfer/index.js.map +1 -1
  24. package/esm/lib/services/transfer/utils.d.ts +28 -0
  25. package/esm/lib/services/transfer/utils.d.ts.map +1 -0
  26. package/esm/lib/services/transfer/utils.js +92 -0
  27. package/esm/lib/services/transfer/utils.js.map +1 -0
  28. package/package.json +1 -1
  29. package/umd/globus.production.js +1 -1
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ **Help guide the development of the `@globus/sdk` by [reporting issues or suggesting features](https://github.com/globus/globus-sdk-javascript/issues/new/choose)!**
2
+
3
+ ---
4
+
1
5
  [![npm](https://img.shields.io/npm/v/@globus/sdk?style=flat-square&logo=npm&color=000&label)](https://www.npmjs.com/package/@globus/sdk) [![Codecov](https://img.shields.io/codecov/c/gh/globus/globus-sdk-javascript?style=flat-square&logo=codecov)](https://app.codecov.io/gh/globus/globus-sdk-javascript)
2
6
 
3
7
  The Globus SDK for JavaScript provides first class TypeScript support and makes it easy to call Globus services using idiomatic JavaScript APIs to build Node.js and web applications.
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectTransport.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,iBAAiB;;gBAKhB,OAAO,EAAE,wBAAwB;IAU7C,IAAI;IAIJ;;;OAGG;IACG,QAAQ,CAAC,OAAO,GAAE,eAAyC;CA+BlE"}
1
+ {"version":3,"file":"RedirectTransport.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAWF,qBAAa,iBAAiB;;gBAKhB,OAAO,EAAE,wBAAwB;IAU7C,IAAI;IASJ;;;OAGG;IACG,QAAQ,CAAC,OAAO,GAAE,eAAyC;CA0BlE"}
@@ -37,6 +37,14 @@ var _RedirectTransport_pkce, _RedirectTransport_params;
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.RedirectTransport = void 0;
39
39
  const js_pkce_1 = __importDefault(require("js-pkce"));
40
+ /**
41
+ * Resets js-pkce state
42
+ * @see https://github.com/bpedroza/js-pkce/blob/master/src/PKCE.ts
43
+ */
44
+ function resetPKCE() {
45
+ sessionStorage.removeItem('pkce_state');
46
+ sessionStorage.removeItem('pkce_code_verifier');
47
+ }
40
48
  class RedirectTransport {
41
49
  constructor(options) {
42
50
  _RedirectTransport_pkce.set(this, void 0);
@@ -46,7 +54,12 @@ class RedirectTransport {
46
54
  __classPrivateFieldSet(this, _RedirectTransport_params, Object.assign({}, params), "f");
47
55
  }
48
56
  send() {
49
- window.location.replace(__classPrivateFieldGet(this, _RedirectTransport_pkce, "f").authorizeUrl(__classPrivateFieldGet(this, _RedirectTransport_params, "f")));
57
+ /**
58
+ * By resetting PKCE before sending, we ensure that a fresh `code_challenge` is generated
59
+ * when `authorizeUrl` is called.
60
+ */
61
+ resetPKCE();
62
+ window.location.assign(__classPrivateFieldGet(this, _RedirectTransport_pkce, "f").authorizeUrl(__classPrivateFieldGet(this, _RedirectTransport_params, "f")));
50
63
  }
51
64
  /**
52
65
  * Parse the current URL for the authorization code (`?code=...`) and exchange it for an access token when available.
@@ -62,12 +75,7 @@ class RedirectTransport {
62
75
  if (!params.get('code'))
63
76
  return undefined;
64
77
  const response = yield __classPrivateFieldGet(this, _RedirectTransport_pkce, "f").exchangeForAccessToken(url.toString());
65
- /**
66
- * Resets js-pkce state
67
- * @see https://github.com/bpedroza/js-pkce/blob/master/src/PKCE.ts
68
- */
69
- sessionStorage.removeItem('pkce_state');
70
- sessionStorage.removeItem('pkce_code_verifier');
78
+ resetPKCE();
71
79
  if (options.shouldReplace) {
72
80
  /**
73
81
  * Remove the `code` and `state` parameters from the URL.
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectTransport.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA2B;AAmB3B,MAAa,iBAAiB;IAK5B,YAAY,OAAiC;QAJ7C,0CAAY;QAEZ,oCAA8C,EAAE,EAAC;QAG/C,MAAM,EAAE,MAAM,KAAgB,OAAO,EAAlB,MAAM,UAAK,OAAO,EAA/B,UAAqB,CAAU,CAAC;QACtC,uBAAA,IAAI,2BAAS,IAAI,iBAAI,mBAChB,MAAM,EACT,MAAA,CAAC;QACH,uBAAA,IAAI,+CACC,MAAM,OACV,CAAC;IACJ,CAAC;IAED,IAAI;QACF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAA,IAAI,+BAAM,CAAC,YAAY,CAAC,uBAAA,IAAI,iCAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACG,QAAQ;6DAAC,UAA2B,EAAE,aAAa,EAAE,IAAI,EAAE;YAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C;;eAEG;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,uBAAA,IAAI,+BAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE;;;eAGG;YACH,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACxC,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAChD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B;;mBAEG;gBACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvB;;mBAEG;gBACH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/B;;mBAEG;gBACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF;AAtDD,8CAsDC"}
1
+ {"version":3,"file":"RedirectTransport.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA2B;AAmB3B;;;GAGG;AACH,SAAS,SAAS;IAChB,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAClD,CAAC;AAED,MAAa,iBAAiB;IAK5B,YAAY,OAAiC;QAJ7C,0CAAY;QAEZ,oCAA8C,EAAE,EAAC;QAG/C,MAAM,EAAE,MAAM,KAAgB,OAAO,EAAlB,MAAM,UAAK,OAAO,EAA/B,UAAqB,CAAU,CAAC;QACtC,uBAAA,IAAI,2BAAS,IAAI,iBAAI,mBAChB,MAAM,EACT,MAAA,CAAC;QACH,uBAAA,IAAI,+CACC,MAAM,OACV,CAAC;IACJ,CAAC;IAED,IAAI;QACF;;;WAGG;QACH,SAAS,EAAE,CAAC;QACZ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAA,IAAI,+BAAM,CAAC,YAAY,CAAC,uBAAA,IAAI,iCAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACG,QAAQ;6DAAC,UAA2B,EAAE,aAAa,EAAE,IAAI,EAAE;YAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C;;eAEG;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,uBAAA,IAAI,+BAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE,SAAS,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B;;mBAEG;gBACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvB;;mBAEG;gBACH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/B;;mBAEG;gBACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF;AAtDD,8CAsDC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "3.7.0";
1
+ export declare const VERSION = "3.8.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // x-release-please-start-version
5
- exports.VERSION = '3.7.0';
5
+ exports.VERSION = '3.8.1';
6
6
  // x-release-please-end
7
7
  //# sourceMappingURL=version.js.map
@@ -19,4 +19,5 @@ export * as task from './service/task.js';
19
19
  export * as access from './service/access.js';
20
20
  export * as collectionBookmarks from './service/collection-bookmarks.js';
21
21
  export * as endpointManager from './service/endpoint-manager/index.js';
22
+ export * as utils from './utils.js';
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAAW,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,mBAAmB,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAAW,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,mBAAmB,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAEvE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.endpointManager = exports.collectionBookmarks = exports.access = exports.task = exports.endpoint = exports.taskSubmission = exports.fileOperations = exports.endpointSearch = exports.CONFIG = void 0;
26
+ exports.utils = exports.endpointManager = exports.collectionBookmarks = exports.access = exports.task = exports.endpoint = exports.taskSubmission = exports.fileOperations = exports.endpointSearch = exports.CONFIG = void 0;
27
27
  /**
28
28
  * @description A wrapper around the Globus Transfer service.
29
29
  * @group Service
@@ -45,4 +45,5 @@ exports.task = __importStar(require("./service/task.js"));
45
45
  exports.access = __importStar(require("./service/access.js"));
46
46
  exports.collectionBookmarks = __importStar(require("./service/collection-bookmarks.js"));
47
47
  exports.endpointManager = __importStar(require("./service/endpoint-manager/index.js"));
48
+ exports.utils = __importStar(require("./utils.js"));
48
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,sDAAwC;AAExC,qEAA8D;AAQrD,+FARA,mCAAc,OAQA;AANvB;;;GAGG;AACU,QAAA,MAAM,GAAG,QAAQ,CAAC;AAG/B,+EAA+D;AAC/D,+EAA+D;AAC/D,kEAAkD;AAClD,0DAA0C;AAC1C,8DAA8C;AAC9C,yFAAyE;AAEzE,uFAAuE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,sDAAwC;AAExC,qEAA8D;AAQrD,+FARA,mCAAc,OAQA;AANvB;;;GAGG;AACU,QAAA,MAAM,GAAG,QAAQ,CAAC;AAG/B,+EAA+D;AAC/D,+EAA+D;AAC/D,kEAAkD;AAClD,0DAA0C;AAC1C,8DAA8C;AAC9C,yFAAyE;AAEzE,uFAAuE;AAEvE,oDAAoC"}
@@ -0,0 +1,28 @@
1
+ import type { FileDocument } from './service/file-operations.js';
2
+ /**
3
+ * Determines if the given entry is a Globus Transfer File Document.
4
+ * @see https://docs.globus.org/api/transfer/file_operations/#file_document
5
+ */
6
+ export declare function isFileDocument(entry: unknown): entry is FileDocument;
7
+ /**
8
+ * Determines if the given entry is a directory.
9
+ * @see https://docs.globus.org/api/transfer/file_operations/#file_document
10
+ */
11
+ export declare function isDirectory(entry: unknown): boolean;
12
+ /**
13
+ * Returns a readable string for the given bytes, **rounded and truncated** to the given number of decimal places.
14
+ * @param bytes The number of bytes to convert to a readable string.
15
+ * @param [truncate=2] The number of decimal places to truncate the result to.
16
+ */
17
+ export declare function readableBytes(bytes: number, truncate?: number): string;
18
+ /**
19
+ * Returns DNS domain, if any, for a collection or endpoint.
20
+ *
21
+ * - Custom domains will be displayed without any auto-generated wildcard subdomains.
22
+ * - Globus domains will include the auto-generated section to make them identifiable.
23
+ *
24
+ * @param endpoint The endpoint to extract the domain from. While any object will be parsed, this function is intended for use with [Globus Transfer Endpoint or Collection Documents](https://docs.globus.org/api/transfer/endpoints_and_collections/#endpoint_or_collection_document).
25
+ * @see https://docs.globus.org/globus-connect-server/v5.4/domain-guide/#custom_domains_new_in_v_5_4_13
26
+ */
27
+ export declare function getDomainFromEndpoint(endpoint: Record<string, unknown>): string | null;
28
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAOpE;AACD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,WAEzC;AAOD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,UAgCxD;AAOD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAatE"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFileDocument = isFileDocument;
4
+ exports.isDirectory = isDirectory;
5
+ exports.readableBytes = readableBytes;
6
+ exports.getDomainFromEndpoint = getDomainFromEndpoint;
7
+ /**
8
+ * Determines if the given entry is a Globus Transfer File Document.
9
+ * @see https://docs.globus.org/api/transfer/file_operations/#file_document
10
+ */
11
+ function isFileDocument(entry) {
12
+ return (typeof entry === 'object' &&
13
+ entry !== null &&
14
+ 'DATA_TYPE' in entry &&
15
+ entry.DATA_TYPE === 'file');
16
+ }
17
+ /**
18
+ * Determines if the given entry is a directory.
19
+ * @see https://docs.globus.org/api/transfer/file_operations/#file_document
20
+ */
21
+ function isDirectory(entry) {
22
+ return isFileDocument(entry) && entry.type === 'dir';
23
+ }
24
+ const KB = 1000;
25
+ const MB = KB * 1000;
26
+ const GB = MB * 1000;
27
+ const TB = GB * 1000;
28
+ const PB = TB * 1000;
29
+ /**
30
+ * Returns a readable string for the given bytes, **rounded and truncated** to the given number of decimal places.
31
+ * @param bytes The number of bytes to convert to a readable string.
32
+ * @param [truncate=2] The number of decimal places to truncate the result to.
33
+ */
34
+ function readableBytes(bytes, truncate = 2) {
35
+ let unit = 'B';
36
+ let bytesInUnit = 1;
37
+ if (bytes < KB) {
38
+ return `${bytes} ${unit}`;
39
+ }
40
+ if (bytes < MB) {
41
+ unit = 'KB';
42
+ bytesInUnit = KB;
43
+ }
44
+ else if (bytes < GB) {
45
+ unit = 'MB';
46
+ bytesInUnit = MB;
47
+ }
48
+ else if (bytes < TB) {
49
+ unit = 'GB';
50
+ bytesInUnit = GB;
51
+ }
52
+ else if (bytes < PB) {
53
+ unit = 'TB';
54
+ bytesInUnit = TB;
55
+ }
56
+ else {
57
+ unit = 'PB';
58
+ bytesInUnit = PB;
59
+ }
60
+ const value = bytes / bytesInUnit;
61
+ const [int, dec] = `${value}`.split('.');
62
+ let rendered = `${int}`;
63
+ if (dec && dec.length) {
64
+ const truncated = dec.slice(0, truncate);
65
+ if (truncated.length) {
66
+ rendered = `${int}.${truncated}`;
67
+ }
68
+ }
69
+ return `${rendered} ${unit}`;
70
+ }
71
+ /**
72
+ * Known Globus DNS domains.
73
+ */
74
+ const GLOBUS_DNS_DOMAINS = ['dnsteam.globuscs.info', 'data.globus.org', 'dn.glob.us'];
75
+ /**
76
+ * Returns DNS domain, if any, for a collection or endpoint.
77
+ *
78
+ * - Custom domains will be displayed without any auto-generated wildcard subdomains.
79
+ * - Globus domains will include the auto-generated section to make them identifiable.
80
+ *
81
+ * @param endpoint The endpoint to extract the domain from. While any object will be parsed, this function is intended for use with [Globus Transfer Endpoint or Collection Documents](https://docs.globus.org/api/transfer/endpoints_and_collections/#endpoint_or_collection_document).
82
+ * @see https://docs.globus.org/globus-connect-server/v5.4/domain-guide/#custom_domains_new_in_v_5_4_13
83
+ */
84
+ function getDomainFromEndpoint(endpoint) {
85
+ var _a;
86
+ const { tlsftp_server: tls } = endpoint;
87
+ if (!tls || typeof tls !== 'string') {
88
+ return null;
89
+ }
90
+ /**
91
+ * Swap the protocol to `https` so we can use the URL API to extract the hostname.
92
+ */
93
+ const { hostname } = new URL(tls.replace('tlsftp', 'https'));
94
+ const hasCustomDomain = !GLOBUS_DNS_DOMAINS.find((d) => hostname.endsWith(d));
95
+ const customDomain = hasCustomDomain && ((_a = /(?:[gm]-\w{6}.)?(\w+(\.\w+)+)$/.exec(hostname)) === null || _a === void 0 ? void 0 : _a[1]);
96
+ return customDomain || hostname || null;
97
+ }
98
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/utils.ts"],"names":[],"mappings":";;AAMA,wCAOC;AAKD,kCAEC;AAYD,sCAgCC;AAgBD,sDAaC;AA3FD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,KAAK,CAAC,SAAS,KAAK,MAAM,CAC3B,CAAC;AACJ,CAAC;AACD;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;AACvD,CAAC;AAED,MAAM,EAAE,GAAG,IAAI,CAAC;AAChB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB;;;;GAIG;AACH,SAAgB,aAAa,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;IACvD,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC;IACxB,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,QAAQ,GAAG,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;AAEtF;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,QAAiC;;IACrE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IACxC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;OAEG;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,eAAe,KAAI,MAAA,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC,CAAA,CAAC;IAE7F,OAAO,YAAY,IAAI,QAAQ,IAAI,IAAI,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectTransport.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,iBAAiB;;gBAKhB,OAAO,EAAE,wBAAwB;IAU7C,IAAI;IAIJ;;;OAGG;IACG,QAAQ,CAAC,OAAO,GAAE,eAAyC;CA+BlE"}
1
+ {"version":3,"file":"RedirectTransport.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAWF,qBAAa,iBAAiB;;gBAKhB,OAAO,EAAE,wBAAwB;IAU7C,IAAI;IASJ;;;OAGG;IACG,QAAQ,CAAC,OAAO,GAAE,eAAyC;CA0BlE"}
@@ -31,6 +31,14 @@ var __rest = (this && this.__rest) || function (s, e) {
31
31
  };
32
32
  var _RedirectTransport_pkce, _RedirectTransport_params;
33
33
  import PKCE from 'js-pkce';
34
+ /**
35
+ * Resets js-pkce state
36
+ * @see https://github.com/bpedroza/js-pkce/blob/master/src/PKCE.ts
37
+ */
38
+ function resetPKCE() {
39
+ sessionStorage.removeItem('pkce_state');
40
+ sessionStorage.removeItem('pkce_code_verifier');
41
+ }
34
42
  export class RedirectTransport {
35
43
  constructor(options) {
36
44
  _RedirectTransport_pkce.set(this, void 0);
@@ -40,7 +48,12 @@ export class RedirectTransport {
40
48
  __classPrivateFieldSet(this, _RedirectTransport_params, Object.assign({}, params), "f");
41
49
  }
42
50
  send() {
43
- window.location.replace(__classPrivateFieldGet(this, _RedirectTransport_pkce, "f").authorizeUrl(__classPrivateFieldGet(this, _RedirectTransport_params, "f")));
51
+ /**
52
+ * By resetting PKCE before sending, we ensure that a fresh `code_challenge` is generated
53
+ * when `authorizeUrl` is called.
54
+ */
55
+ resetPKCE();
56
+ window.location.assign(__classPrivateFieldGet(this, _RedirectTransport_pkce, "f").authorizeUrl(__classPrivateFieldGet(this, _RedirectTransport_params, "f")));
44
57
  }
45
58
  /**
46
59
  * Parse the current URL for the authorization code (`?code=...`) and exchange it for an access token when available.
@@ -56,12 +69,7 @@ export class RedirectTransport {
56
69
  if (!params.get('code'))
57
70
  return undefined;
58
71
  const response = yield __classPrivateFieldGet(this, _RedirectTransport_pkce, "f").exchangeForAccessToken(url.toString());
59
- /**
60
- * Resets js-pkce state
61
- * @see https://github.com/bpedroza/js-pkce/blob/master/src/PKCE.ts
62
- */
63
- sessionStorage.removeItem('pkce_state');
64
- sessionStorage.removeItem('pkce_code_verifier');
72
+ resetPKCE();
65
73
  if (options.shouldReplace) {
66
74
  /**
67
75
  * Remove the `code` and `state` parameters from the URL.
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectTransport.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAmB3B,MAAM,OAAO,iBAAiB;IAK5B,YAAY,OAAiC;QAJ7C,0CAAY;QAEZ,oCAA8C,EAAE,EAAC;QAG/C,MAAM,EAAE,MAAM,KAAgB,OAAO,EAAlB,MAAM,UAAK,OAAO,EAA/B,UAAqB,CAAU,CAAC;QACtC,uBAAA,IAAI,2BAAS,IAAI,IAAI,mBAChB,MAAM,EACT,MAAA,CAAC;QACH,uBAAA,IAAI,+CACC,MAAM,OACV,CAAC;IACJ,CAAC;IAED,IAAI;QACF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAA,IAAI,+BAAM,CAAC,YAAY,CAAC,uBAAA,IAAI,iCAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACG,QAAQ;6DAAC,UAA2B,EAAE,aAAa,EAAE,IAAI,EAAE;YAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C;;eAEG;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,uBAAA,IAAI,+BAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE;;;eAGG;YACH,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACxC,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAChD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B;;mBAEG;gBACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvB;;mBAEG;gBACH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/B;;mBAEG;gBACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"RedirectTransport.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAmB3B;;;GAGG;AACH,SAAS,SAAS;IAChB,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,OAAO,iBAAiB;IAK5B,YAAY,OAAiC;QAJ7C,0CAAY;QAEZ,oCAA8C,EAAE,EAAC;QAG/C,MAAM,EAAE,MAAM,KAAgB,OAAO,EAAlB,MAAM,UAAK,OAAO,EAA/B,UAAqB,CAAU,CAAC;QACtC,uBAAA,IAAI,2BAAS,IAAI,IAAI,mBAChB,MAAM,EACT,MAAA,CAAC;QACH,uBAAA,IAAI,+CACC,MAAM,OACV,CAAC;IACJ,CAAC;IAED,IAAI;QACF;;;WAGG;QACH,SAAS,EAAE,CAAC;QACZ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAA,IAAI,+BAAM,CAAC,YAAY,CAAC,uBAAA,IAAI,iCAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACG,QAAQ;6DAAC,UAA2B,EAAE,aAAa,EAAE,IAAI,EAAE;YAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C;;eAEG;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,uBAAA,IAAI,+BAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE,SAAS,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B;;mBAEG;gBACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvB;;mBAEG;gBACH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/B;;mBAEG;gBACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "3.7.0";
1
+ export declare const VERSION = "3.8.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // x-release-please-start-version
2
- export const VERSION = '3.7.0';
2
+ export const VERSION = '3.8.1';
3
3
  // x-release-please-end
4
4
  //# sourceMappingURL=version.js.map
@@ -19,4 +19,5 @@ export * as task from './service/task.js';
19
19
  export * as access from './service/access.js';
20
20
  export * as collectionBookmarks from './service/collection-bookmarks.js';
21
21
  export * as endpointManager from './service/endpoint-manager/index.js';
22
+ export * as utils from './utils.js';
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAAW,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,mBAAmB,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAAW,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,mBAAmB,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAEvE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
@@ -19,4 +19,5 @@ export * as task from './service/task.js';
19
19
  export * as access from './service/access.js';
20
20
  export * as collectionBookmarks from './service/collection-bookmarks.js';
21
21
  export * as endpointManager from './service/endpoint-manager/index.js';
22
+ export * as utils from './utils.js';
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,mBAAmB,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,mBAAmB,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAEvE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { FileDocument } from './service/file-operations.js';
2
+ /**
3
+ * Determines if the given entry is a Globus Transfer File Document.
4
+ * @see https://docs.globus.org/api/transfer/file_operations/#file_document
5
+ */
6
+ export declare function isFileDocument(entry: unknown): entry is FileDocument;
7
+ /**
8
+ * Determines if the given entry is a directory.
9
+ * @see https://docs.globus.org/api/transfer/file_operations/#file_document
10
+ */
11
+ export declare function isDirectory(entry: unknown): boolean;
12
+ /**
13
+ * Returns a readable string for the given bytes, **rounded and truncated** to the given number of decimal places.
14
+ * @param bytes The number of bytes to convert to a readable string.
15
+ * @param [truncate=2] The number of decimal places to truncate the result to.
16
+ */
17
+ export declare function readableBytes(bytes: number, truncate?: number): string;
18
+ /**
19
+ * Returns DNS domain, if any, for a collection or endpoint.
20
+ *
21
+ * - Custom domains will be displayed without any auto-generated wildcard subdomains.
22
+ * - Globus domains will include the auto-generated section to make them identifiable.
23
+ *
24
+ * @param endpoint The endpoint to extract the domain from. While any object will be parsed, this function is intended for use with [Globus Transfer Endpoint or Collection Documents](https://docs.globus.org/api/transfer/endpoints_and_collections/#endpoint_or_collection_document).
25
+ * @see https://docs.globus.org/globus-connect-server/v5.4/domain-guide/#custom_domains_new_in_v_5_4_13
26
+ */
27
+ export declare function getDomainFromEndpoint(endpoint: Record<string, unknown>): string | null;
28
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAOpE;AACD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,WAEzC;AAOD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,UAgCxD;AAOD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAatE"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Determines if the given entry is a Globus Transfer File Document.
3
+ * @see https://docs.globus.org/api/transfer/file_operations/#file_document
4
+ */
5
+ export function isFileDocument(entry) {
6
+ return (typeof entry === 'object' &&
7
+ entry !== null &&
8
+ 'DATA_TYPE' in entry &&
9
+ entry.DATA_TYPE === 'file');
10
+ }
11
+ /**
12
+ * Determines if the given entry is a directory.
13
+ * @see https://docs.globus.org/api/transfer/file_operations/#file_document
14
+ */
15
+ export function isDirectory(entry) {
16
+ return isFileDocument(entry) && entry.type === 'dir';
17
+ }
18
+ const KB = 1000;
19
+ const MB = KB * 1000;
20
+ const GB = MB * 1000;
21
+ const TB = GB * 1000;
22
+ const PB = TB * 1000;
23
+ /**
24
+ * Returns a readable string for the given bytes, **rounded and truncated** to the given number of decimal places.
25
+ * @param bytes The number of bytes to convert to a readable string.
26
+ * @param [truncate=2] The number of decimal places to truncate the result to.
27
+ */
28
+ export function readableBytes(bytes, truncate = 2) {
29
+ let unit = 'B';
30
+ let bytesInUnit = 1;
31
+ if (bytes < KB) {
32
+ return `${bytes} ${unit}`;
33
+ }
34
+ if (bytes < MB) {
35
+ unit = 'KB';
36
+ bytesInUnit = KB;
37
+ }
38
+ else if (bytes < GB) {
39
+ unit = 'MB';
40
+ bytesInUnit = MB;
41
+ }
42
+ else if (bytes < TB) {
43
+ unit = 'GB';
44
+ bytesInUnit = GB;
45
+ }
46
+ else if (bytes < PB) {
47
+ unit = 'TB';
48
+ bytesInUnit = TB;
49
+ }
50
+ else {
51
+ unit = 'PB';
52
+ bytesInUnit = PB;
53
+ }
54
+ const value = bytes / bytesInUnit;
55
+ const [int, dec] = `${value}`.split('.');
56
+ let rendered = `${int}`;
57
+ if (dec && dec.length) {
58
+ const truncated = dec.slice(0, truncate);
59
+ if (truncated.length) {
60
+ rendered = `${int}.${truncated}`;
61
+ }
62
+ }
63
+ return `${rendered} ${unit}`;
64
+ }
65
+ /**
66
+ * Known Globus DNS domains.
67
+ */
68
+ const GLOBUS_DNS_DOMAINS = ['dnsteam.globuscs.info', 'data.globus.org', 'dn.glob.us'];
69
+ /**
70
+ * Returns DNS domain, if any, for a collection or endpoint.
71
+ *
72
+ * - Custom domains will be displayed without any auto-generated wildcard subdomains.
73
+ * - Globus domains will include the auto-generated section to make them identifiable.
74
+ *
75
+ * @param endpoint The endpoint to extract the domain from. While any object will be parsed, this function is intended for use with [Globus Transfer Endpoint or Collection Documents](https://docs.globus.org/api/transfer/endpoints_and_collections/#endpoint_or_collection_document).
76
+ * @see https://docs.globus.org/globus-connect-server/v5.4/domain-guide/#custom_domains_new_in_v_5_4_13
77
+ */
78
+ export function getDomainFromEndpoint(endpoint) {
79
+ var _a;
80
+ const { tlsftp_server: tls } = endpoint;
81
+ if (!tls || typeof tls !== 'string') {
82
+ return null;
83
+ }
84
+ /**
85
+ * Swap the protocol to `https` so we can use the URL API to extract the hostname.
86
+ */
87
+ const { hostname } = new URL(tls.replace('tlsftp', 'https'));
88
+ const hasCustomDomain = !GLOBUS_DNS_DOMAINS.find((d) => hostname.endsWith(d));
89
+ const customDomain = hasCustomDomain && ((_a = /(?:[gm]-\w{6}.)?(\w+(\.\w+)+)$/.exec(hostname)) === null || _a === void 0 ? void 0 : _a[1]);
90
+ return customDomain || hostname || null;
91
+ }
92
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/lib/services/transfer/utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,KAAK,CAAC,SAAS,KAAK,MAAM,CAC3B,CAAC;AACJ,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;AACvD,CAAC;AAED,MAAM,EAAE,GAAG,IAAI,CAAC;AAChB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;IACvD,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,CAAC;QACZ,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC;IACxB,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,QAAQ,GAAG,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;AAEtF;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAiC;;IACrE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IACxC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;OAEG;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,eAAe,KAAI,MAAA,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC,CAAA,CAAC;IAE7F,OAAO,YAAY,IAAI,QAAQ,IAAI,IAAI,CAAC;AAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@globus/sdk",
3
- "version": "3.7.0",
3
+ "version": "3.8.1",
4
4
  "private": false,
5
5
  "description": "The Globus SDK for JavaScript",
6
6
  "main": "cjs/index.js",
@@ -1 +1 @@
1
- var globus;(()=>{var e={945:(e,t,r)=>{var n="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==r.g&&r.g,o=function(){function e(){this.fetch=!1,this.DOMException=n.DOMException}return e.prototype=n,new e}();!function(e){!function(t){var r=void 0!==e&&e||"undefined"!=typeof self&&self||void 0!==r&&r,n="URLSearchParams"in r,o="Symbol"in r&&"iterator"in Symbol,i="FileReader"in r&&"Blob"in r&&function(){try{return new Blob,!0}catch(e){return!1}}(),s="FormData"in r,a="ArrayBuffer"in r;if(a)var c=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],u=ArrayBuffer.isView||function(e){return e&&c.indexOf(Object.prototype.toString.call(e))>-1};function p(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function d(e){return"string"!=typeof e&&(e=String(e)),e}function h(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return o&&(t[Symbol.iterator]=function(){return t}),t}function l(e){this.map={},e instanceof l?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function f(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function g(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function v(e){var t=new FileReader,r=g(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:s&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||u(e))?this._bodyArrayBuffer=y(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer)):this.blob().then(v)}),this.text=function(){var e,t,r,n=f(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=g(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},s&&(this.formData=function(){return this.text().then(_)}),this.json=function(){return this.text().then(JSON.parse)},this}l.prototype.append=function(e,t){e=p(e),t=d(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},l.prototype.delete=function(e){delete this.map[p(e)]},l.prototype.get=function(e){return e=p(e),this.has(e)?this.map[e]:null},l.prototype.has=function(e){return this.map.hasOwnProperty(p(e))},l.prototype.set=function(e,t){this.map[p(e)]=d(t)},l.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},l.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),h(e)},l.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),h(e)},l.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),h(e)},o&&(l.prototype[Symbol.iterator]=l.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(e,t){if(!(this instanceof w))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,n,o=(t=t||{}).body;if(e instanceof w){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new l(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new l(t.headers)),this.method=(n=(r=t.method||this.method||"GET").toUpperCase(),b.indexOf(n)>-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(o),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var i=/([?&])_=[^&]*/;i.test(this.url)?this.url=this.url.replace(i,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function _(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(o))}})),t}function A(e,t){if(!(this instanceof A))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new l(t.headers),this.url=t.url||"",this._initBody(e)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},m.call(w.prototype),m.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},A.error=function(){var e=new A(null,{status:0,statusText:""});return e.type="error",e};var T=[301,302,303,307,308];A.redirect=function(e,t){if(-1===T.indexOf(t))throw new RangeError("Invalid status code");return new A(null,{status:t,headers:{location:e}})},t.DOMException=r.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function O(e,n){return new Promise((function(o,s){var c=new w(e,n);if(c.signal&&c.signal.aborted)return s(new t.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function p(){u.abort()}u.onload=function(){var e,t,r={status:u.status,statusText:u.statusText,headers:(e=u.getAllResponseHeaders()||"",t=new l,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();t.append(n,o)}})),t)};r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var n="response"in u?u.response:u.responseText;setTimeout((function(){o(new A(n,r))}),0)},u.onerror=function(){setTimeout((function(){s(new TypeError("Network request failed"))}),0)},u.ontimeout=function(){setTimeout((function(){s(new TypeError("Network request failed"))}),0)},u.onabort=function(){setTimeout((function(){s(new t.DOMException("Aborted","AbortError"))}),0)},u.open(c.method,function(e){try{return""===e&&r.location.href?r.location.href:e}catch(t){return e}}(c.url),!0),"include"===c.credentials?u.withCredentials=!0:"omit"===c.credentials&&(u.withCredentials=!1),"responseType"in u&&(i?u.responseType="blob":a&&c.headers.get("Content-Type")&&-1!==c.headers.get("Content-Type").indexOf("application/octet-stream")&&(u.responseType="arraybuffer")),!n||"object"!=typeof n.headers||n.headers instanceof l?c.headers.forEach((function(e,t){u.setRequestHeader(t,e)})):Object.getOwnPropertyNames(n.headers).forEach((function(e){u.setRequestHeader(e,d(n.headers[e]))})),c.signal&&(c.signal.addEventListener("abort",p),u.onreadystatechange=function(){4===u.readyState&&c.signal.removeEventListener("abort",p)}),u.send(void 0===c._bodyInit?null:c._bodyInit)}))}O.polyfill=!0,r.fetch||(r.fetch=O,r.Headers=l,r.Request=w,r.Response=A),t.Headers=l,t.Request=w,t.Response=A,t.fetch=O}({})}(o),o.fetch.ponyfill=!0,delete o.fetch.polyfill;var i=n.fetch?n:o;(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},21:function(e,t,r){var n;e.exports=(n=n||function(e,t){var n;if("undefined"!=typeof window&&window.crypto&&(n=window.crypto),"undefined"!=typeof self&&self.crypto&&(n=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(n=globalThis.crypto),!n&&"undefined"!=typeof window&&window.msCrypto&&(n=window.msCrypto),!n&&void 0!==r.g&&r.g.crypto&&(n=r.g.crypto),!n)try{n=r(477)}catch(e){}var o=function(){if(n){if("function"==typeof n.getRandomValues)try{return n.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof n.randomBytes)try{return n.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),s={},a=s.lib={},c=a.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},u=a.WordArray=c.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||d).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,o=e.sigBytes;if(this.clamp(),n%4)for(var i=0;i<o;i++){var s=r[i>>>2]>>>24-i%4*8&255;t[n+i>>>2]|=s<<24-(n+i)%4*8}else for(var a=0;a<o;a+=4)t[n+a>>>2]=r[a>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=c.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r<e;r+=4)t.push(o());return new u.init(t,e)}}),p=s.enc={},d=p.Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o<r;o++){var i=t[o>>>2]>>>24-o%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new u.init(r,t/2)}},h=p.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o<r;o++){var i=t[o>>>2]>>>24-o%4*8&255;n.push(String.fromCharCode(i))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new u.init(r,t)}},l=p.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},f=a.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,n=this._data,o=n.words,i=n.sigBytes,s=this.blockSize,a=i/(4*s),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,p=e.min(4*c,i);if(c){for(var d=0;d<c;d+=s)this._doProcessBlock(o,d);r=o.splice(0,c),n.sigBytes-=p}return new u.init(r,p)},clone:function(){var e=c.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),g=(a.Hasher=f.extend({cfg:c.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new g.HMAC.init(e,r).finalize(t)}}}),s.algo={});return s}(Math),n)},754:function(e,t,r){var n,o,i;e.exports=(n=r(21),i=(o=n).lib.WordArray,o.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var o=[],i=0;i<r;i+=3)for(var s=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a<r;a++)o.push(n.charAt(s>>>6*(3-a)&63));var c=n.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o<r.length;o++)n[r.charCodeAt(o)]=o}var s=r.charAt(64);if(s){var a=e.indexOf(s);-1!==a&&(t=a)}return function(e,t,r){for(var n=[],o=0,s=0;s<t;s++)if(s%4){var a=r[e.charCodeAt(s-1)]<<s%4*2|r[e.charCodeAt(s)]>>>6-s%4*2;n[o>>>2]|=a<<24-o%4*8,o++}return i.create(n,o)}(e,t,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},n.enc.Base64)},440:function(e,t,r){var n;e.exports=(n=r(21),function(){if("function"==typeof ArrayBuffer){var e=n.lib.WordArray,t=e.init,r=e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var r=e.byteLength,n=[],o=0;o<r;o++)n[o>>>2]|=e[o]<<24-o%4*8;t.call(this,n,r)}else t.apply(this,arguments)};r.prototype=e}}(),n.lib.WordArray)},9:function(e,t,r){var n;e.exports=(n=r(21),function(e){var t=n,r=t.lib,o=r.WordArray,i=r.Hasher,s=t.algo,a=[],c=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,o=0;o<64;)t(n)&&(o<8&&(a[o]=r(e.pow(n,.5))),c[o]=r(e.pow(n,1/3)),o++),n++}();var u=[],p=s.SHA256=i.extend({_doReset:function(){this._hash=new o.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],o=r[1],i=r[2],s=r[3],a=r[4],p=r[5],d=r[6],h=r[7],l=0;l<64;l++){if(l<16)u[l]=0|e[t+l];else{var f=u[l-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,v=u[l-2],y=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;u[l]=g+u[l-7]+y+u[l-16]}var m=n&o^n&i^o&i,b=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),w=h+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&p^~a&d)+c[l]+u[l];h=d,d=p,p=a,a=s+w|0,s=i,i=o,o=n,n=w+(b+m)|0}r[0]=r[0]+n|0,r[1]=r[1]+o|0,r[2]=r[2]+i|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0,r[5]=r[5]+p|0,r[6]=r[6]+d|0,r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,o=8*t.sigBytes;return r[o>>>5]|=128<<24-o%32,r[14+(o+64>>>9<<4)]=e.floor(n/4294967296),r[15+(o+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(p),t.HmacSHA256=i._createHmacHelper(p)}(Math),n.SHA256)},368:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(r(9)),s=o(r(754)),a=o(r(440)),c=function(){function e(e){this.state="",this.codeVerifier="",this.corsRequestOptions={},this.config=e}return e.prototype.enableCorsCredentials=function(e){return this.corsRequestOptions=e?{credentials:"include",mode:"cors"}:{},this.corsRequestOptions},e.prototype.authorizeUrl=function(e){void 0===e&&(e={});var t=this.pkceChallengeFromVerifier(),r=new URLSearchParams(Object.assign({response_type:"code",client_id:this.config.client_id,state:this.getState(e.state||null),scope:this.config.requested_scopes,redirect_uri:this.config.redirect_uri,code_challenge:t,code_challenge_method:"S256"},e)).toString();return"".concat(this.config.authorization_endpoint,"?").concat(r)},e.prototype.exchangeForAccessToken=function(e,t){var r=this;return void 0===t&&(t={}),this.parseAuthResponseUrl(e).then((function(e){return fetch(r.config.token_endpoint,n({method:"POST",body:new URLSearchParams(Object.assign({grant_type:"authorization_code",code:e.code,client_id:r.config.client_id,redirect_uri:r.config.redirect_uri,code_verifier:r.getCodeVerifier()},t)),headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}},r.corsRequestOptions)).then((function(e){return e.json()}))}))},e.prototype.refreshAccessToken=function(e){return fetch(this.config.token_endpoint,{method:"POST",body:new URLSearchParams({grant_type:"refresh_token",client_id:this.config.client_id,refresh_token:e}),headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}}).then((function(e){return e.json()}))},e.prototype.getCodeVerifier=function(){return""===this.codeVerifier&&(this.codeVerifier=this.randomStringFromStorage("pkce_code_verifier")),this.codeVerifier},e.prototype.getState=function(e){void 0===e&&(e=null);var t="pkce_state";return null!==e&&this.getStore().setItem(t,e),""===this.state&&(this.state=this.randomStringFromStorage(t)),this.state},e.prototype.parseAuthResponseUrl=function(e){var t=new URL(e).searchParams;return this.validateAuthResponse({error:t.get("error"),query:t.get("query"),state:t.get("state"),code:t.get("code")})},e.prototype.pkceChallengeFromVerifier=function(){var e=(0,i.default)(this.getCodeVerifier());return s.default.stringify(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},e.prototype.randomStringFromStorage=function(e){return null===this.getStore().getItem(e)&&this.getStore().setItem(e,a.default.random(64)),this.getStore().getItem(e)||""},e.prototype.validateAuthResponse=function(e){var t=this;return new Promise((function(r,n){return e.error?n({error:e.error}):e.state!==t.getState()?n({error:"Invalid State"}):r(e)}))},e.prototype.getStore=function(){var e;return(null===(e=this.config)||void 0===e?void 0:e.storage)||sessionStorage},e}();t.default=c},477:()=>{}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{auth:()=>g,authorization:()=>v,compute:()=>J,errors:()=>d,flows:()=>B,gcs:()=>W,groups:()=>$,info:()=>e,logger:()=>t,search:()=>R,timer:()=>V,transfer:()=>L,webapp:()=>Y});var e={};r.r(e),r.d(e,{CLIENT_INFO:()=>re,VERSION:()=>te,addClientInfo:()=>oe,getClientInfo:()=>ie,getClientInfoRequestHeaders:()=>se});var t={};r.r(t),r.d(t,{log:()=>he,setLogLevel:()=>de,setLogger:()=>pe});var o={};r.r(o),r.d(o,{HOSTS:()=>ve,ID:()=>fe,SCOPES:()=>ge});var i={};r.r(i),r.d(i,{HOSTS:()=>me,ID:()=>ye,SCOPES:()=>be});var s={};r.r(s),r.d(s,{HOSTS:()=>_e,ID:()=>we});var a={};r.r(a),r.d(a,{HOSTS:()=>Te,ID:()=>Ae,SCOPES:()=>Oe});var c={};r.r(c),r.d(c,{HOSTS:()=>Se,ID:()=>Ee,SCOPES:()=>Le});var u={};r.r(u),r.d(u,{HOSTS:()=>ke,ID:()=>Pe,SCOPES:()=>je});var p={};r.r(p),r.d(p,{HOSTS:()=>xe,ID:()=>Re,RESOURCE_SERVERS:()=>Ce,SCOPES:()=>Ie});var d={};r.r(d),r.d(d,{EnvironmentConfigurationError:()=>$e,isAuthorizationRequirementsError:()=>Me,isConsentRequiredError:()=>De,isErrorWellFormed:()=>Ue,toAuthorizationQueryParams:()=>Ne});var h={};r.r(h),r.d(h,{get:()=>Qe,getAll:()=>Ze});var l={};r.r(l),r.d(l,{introspect:()=>tt,refresh:()=>nt,revoke:()=>rt,validate:()=>ot});var f={};r.r(f),r.d(f,{token:()=>l,userinfo:()=>it});var g={};r.r(g),r.d(g,{CONFIG:()=>st,getAuthorizationEndpoint:()=>at,getTokenEndpoint:()=>ct,identities:()=>h,isGlobusAuthTokenResponse:()=>dt,isRefreshToken:()=>pt,isToken:()=>ut,oauth2:()=>f});var v={};r.r(v),r.d(v,{create:()=>Zt});var y={};r.r(y),r.d(y,{ls:()=>rr,mkdir:()=>nr,rename:()=>or,stat:()=>sr,symlink:()=>ir});var m={};r.r(m),r.d(m,{submissionId:()=>ur,submitDelete:()=>ar,submitTransfer:()=>cr});var b={};r.r(b),r.d(b,{create:()=>dr,get:()=>pr,remove:()=>lr,update:()=>hr});var w={};r.r(w),r.d(w,{cancel:()=>yr,get:()=>gr,getAll:()=>fr,getEventList:()=>br,getPauseInfo:()=>Ar,getSkippedErrors:()=>_r,getSuccessfulTransfers:()=>wr,remove:()=>mr,update:()=>vr});var _={};r.r(_),r.d(_,{create:()=>Or,get:()=>Er,getAll:()=>Tr,remove:()=>Lr,update:()=>Sr});var A={};r.r(A),r.d(A,{create:()=>kr,get:()=>jr,getAll:()=>Pr,remove:()=>xr,update:()=>Rr});var T={};r.r(T),r.d(T,{get:()=>Ir,getAccessList:()=>$r,getHostedEndpoints:()=>Cr,getMonitoredEndpoints:()=>Ur});var O={};r.r(O),r.d(O,{create:()=>Br,get:()=>Nr,getAll:()=>Dr,remove:()=>Hr,update:()=>Mr});var E={};r.r(E),r.d(E,{cancel:()=>qr,get:()=>Gr,getAdminCancel:()=>zr,getAll:()=>Fr,getEventList:()=>Wr,getPauseInfo:()=>Xr,getSkippedErrors:()=>Kr,getSuccessfulTransfers:()=>Vr,pause:()=>Jr,resume:()=>Yr});var S={};r.r(S),r.d(S,{endpoint:()=>T,pauseRule:()=>O,task:()=>E});var L={};r.r(L),r.d(L,{CONFIG:()=>Qr,access:()=>_,collectionBookmarks:()=>A,endpoint:()=>b,endpointManager:()=>S,endpointSearch:()=>er,fileOperations:()=>y,task:()=>w,taskSubmission:()=>m});var P={};r.r(P),r.d(P,{get:()=>Zr,post:()=>en});var k={};r.r(k),r.d(k,{get:()=>tn});var j={};r.r(j),r.d(j,{get:()=>rn});var R={};r.r(R),r.d(R,{CONFIG:()=>nn,entry:()=>j,query:()=>P,subject:()=>k});var x={};r.r(x),r.d(x,{get:()=>sn,getMyGroups:()=>on});var I={};r.r(I),r.d(I,{get:()=>an});var C={};r.r(C),r.d(C,{act:()=>cn});var $={};r.r($),r.d($,{CONFIG:()=>un,groups:()=>x,membership:()=>C,policies:()=>I});var U={};r.r(U),r.d(U,{get:()=>dn,getAll:()=>pn,remove:()=>hn,run:()=>ln});var D={};r.r(D),r.d(D,{cancel:()=>gn,getAll:()=>fn,getLog:()=>vn});var B={};r.r(B),r.d(B,{CONFIG:()=>yn,flows:()=>U,runs:()=>D});var N={};r.r(N),r.d(N,{create:()=>_n,get:()=>bn,getAll:()=>mn,patch:()=>Tn,remove:()=>wn,resetOwnerString:()=>En,update:()=>An,updateOwnerString:()=>On});var M={};r.r(M),r.d(M,{get:()=>Sn,patch:()=>Pn,resetOwnerString:()=>xn,update:()=>Ln,updateOwner:()=>jn,updateOwnerString:()=>Rn,updateSubscriptionId:()=>kn});var H={};r.r(H),r.d(H,{get:()=>In,remove:()=>Cn,update:()=>$n});var F={};r.r(F),r.d(F,{create:()=>Nn,get:()=>Dn,getAll:()=>Un,remove:()=>Bn});var G={};r.r(G),r.d(G,{create:()=>Gn,get:()=>Hn,getAll:()=>Mn,patch:()=>zn,remove:()=>Fn,update:()=>qn});var q={};r.r(q),r.d(q,{create:()=>Jn,get:()=>Vn,getAll:()=>Wn,patch:()=>Xn,remove:()=>Kn,update:()=>Yn});var z={};r.r(z),r.d(z,{info:()=>Qn});var W={};r.r(W),r.d(W,{collections:()=>N,endpoint:()=>M,getRequiredScopes:()=>eo,https:()=>H,roles:()=>F,storageGateways:()=>G,userCredentials:()=>q,versioning:()=>z});var V={};r.r(V),r.d(V,{CONFIG:()=>ro,create:()=>to});var K={};r.r(K),r.d(K,{get:()=>oo,getAll:()=>no,getStatus:()=>io});var J={};r.r(J),r.d(J,{CONFIG:()=>so,endpoints:()=>K});var Y={};r.r(Y),r.d(Y,{HOSTS:()=>ao,host:()=>co,url:()=>uo,urlFor:()=>ho});const X="X-Globus-Client-Info";let Q=!0;const Z=";",ee=",",te="3.7.0",re={product:"javascript-sdk",version:te};let ne=[re];function oe(e){ne=ne.concat(e)}function ie(){return function(e){return(Array.isArray(e)?e:[e]).map((e=>Object.entries(e).map((([e,t])=>`${e}=${t}`)).join(ee))).join(Z)}(ne)}function se(){return Q?{[X]:ie()}:{}}const ae=["debug","info","warn","error"];let ce,ue=ae.indexOf("error");function pe(e){ce=e}function de(e){ue=ae.indexOf(e)}function he(e,...t){var r;ce&&(ae.indexOf(e)<ue||(null!==(r=ce[e])&&void 0!==r?r:ce.log)(...t))}class le extends Error{}le.prototype.name="InvalidTokenError";const fe="TRANSFER",ge={ALL:"urn:globus:auth:scope:transfer.api.globus.org:all"},ve={sandbox:"transfer.api.sandbox.globuscs.info",production:"transfer.api.globusonline.org",staging:"transfer.api.staging.globuscs.info",integration:"transfer.api.integration.globuscs.info",test:"transfer.api.test.globuscs.info",preview:"transfer.api.preview.globus.org"},ye="FLOWS",me={sandbox:"sandbox.flows.automate.globus.org",production:"flows.globus.org",staging:"staging.flows.automate.globus.org",integration:"integration.flows.automate.globus.org",test:"test.flows.automate.globus.org",preview:"preview.flows.automate.globus.org"},be={MANAGE_FLOWS:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/manage_flows",VIEW_FLOWS:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/view_flows",RUN:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/run",RUN_STATUS:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/run_status",RUN_MANAGE:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/run_manage"},we="TIMER",_e={sandbox:"sandbox.timer.automate.globus.org",production:"timer.automate.globus.org",staging:"staging.timer.automate.globus.org",integration:"integration.timer.automate.globus.org",test:"test.timer.automate.globus.org",preview:"preview.timer.automate.globus.org"},Ae="GROUPS",Te={sandbox:"groups.api.sandbox.globuscs.info",production:"groups.api.globus.org",staging:"groups.api.staging.globuscs.info",integration:"groups.api.integration.globuscs.info",test:"groups.api.test.globuscs.info",preview:"groups.api.preview.globuscs.info"},Oe={ALL:"urn:globus:auth:scope:groups.api.globus.org:all",VIEW_MY:"urn:globus:auth:scope:groups.api.globus.org:view_my_groups_and_membership"},Ee="SEARCH",Se={sandbox:"search.api.sandbox.globuscs.info",production:"search.api.globus.org",staging:"search.api.staging.globuscs.info",integration:"search.api.integration.globuscs.info",test:"search.api.test.globuscs.info",preview:"search.api.preview.globus.org"},Le={ALL:"urn:globus:auth:scope:search.api.globus.org:all",INGEST:"urn:globus:auth:scope:search.api.globus.org:ingest",SEARCH:"urn:globus:auth:scope:search.api.globus.org:search"},Pe="COMPUTE",ke={sandbox:"compute.api.sandbox.globuscs.info",production:"compute.api.globus.org",staging:"compute.api.staging.globuscs.info",integration:"compute.api.integration.globuscs.info",test:"compute.api.test.globuscs.info",preview:"compute.api.preview.globus.org"},je={ALL:"https://auth.globus.org/scopes/facd7ccc-c5f4-42aa-916b-a0e270e2c2a9/all"},Re="AUTH",xe={integration:"auth.integration.globuscs.info",sandbox:"auth.sandbox.globuscs.info",production:"auth.globus.org",test:"auth.test.globuscs.info",staging:"auth.staging.globuscs.info",preview:"auth.preview.globus.org"},Ie={VIEW_IDENTITIES:"urn:globus:auth:scope:auth.globus.org:view_identities"},Ce={[Re]:"auth.globus.org",[fe]:"transfer.api.globus.org",[ye]:"flows.api.globus.org",[Ae]:"groups.api.globus.org",[Ee]:"search.api.globus.org",[we]:"524230d7-ea86-4a52-8312-86065a9e0417",[Pe]:"funcx_service"};class $e extends Error{constructor(e,t){super(),this.name="EnvironmentConfigurationError",this.message=`Invalid configuration value provided for ${e} (${t}).`}}function Ue(e){return"object"==typeof e&&null!==e&&"code"in e&&"message"in e}function De(e){return Ue(e)&&"ConsentRequired"===e.code&&"required_scopes"in e&&Array.isArray(e.required_scopes)}const Be=["required_scopes"];function Ne(e){return Object.entries(e.authorization_parameters).reduce(((e,[t,r])=>{if(Be.includes(t)||null==r)return e;let n=r;return Array.isArray(n)?n=n.join(","):"boolean"==typeof r&&(n=n?"true":"false"),Object.assign(Object.assign({},e),{[t]:n})}),{})}function Me(e){return"object"==typeof e&&null!==e&&"authorization_parameters"in e&&"object"==typeof e.authorization_parameters&&null!==e.authorization_parameters}function He(e,t){const r="undefined"!=typeof window?window:process;let n;return n=function(e){return typeof window==typeof e}(r)?r:r.env,e in n?n[e]:t}const Fe={PRODUCTION:"production",PREVIEW:"preview",STAGING:"staging",SANDBOX:"sandbox",INTEGRATION:"integration",TEST:"test"},Ge={[Re]:Re,[fe]:fe,[ye]:ye,[Ae]:Ae,[Ee]:Ee,[we]:we,[Pe]:Pe},qe={[Re]:xe,[fe]:ve,[ye]:me,[Ae]:Te,[Ee]:Se,[we]:_e,[Pe]:ke};function ze(e){var t,r,n,o,i,s;let a=He("GLOBUS_SDK_OPTIONS",{});return"string"==typeof a&&(a=JSON.parse(a)),Object.assign(Object.assign(Object.assign({},a),e),{fetch:Object.assign(Object.assign(Object.assign({},null==a?void 0:a.fetch),null==e?void 0:e.fetch),{options:Object.assign(Object.assign(Object.assign({},null===(t=null==a?void 0:a.fetch)||void 0===t?void 0:t.options),null===(r=null==e?void 0:e.fetch)||void 0===r?void 0:r.options),{headers:Object.assign(Object.assign({},null===(o=null===(n=null==a?void 0:a.fetch)||void 0===n?void 0:n.options)||void 0===o?void 0:o.headers),null===(s=null===(i=null==e?void 0:e.fetch)||void 0===i?void 0:i.options)||void 0===s?void 0:s.headers)})})})}function We(){var e;const t=ze(),r=He("GLOBUS_SDK_ENVIRONMENT",null!==(e=null==t?void 0:t.environment)&&void 0!==e?e:Fe.PRODUCTION);if((null==t?void 0:t.environment)&&r!==t.environment&&he("debug","GLOBUS_SDK_ENVIRONMENT and GLOBUS_SDK_OPTIONS.environment are set to different values. GLOBUS_SDK_ENVIRONMENT will take precedence"),!r||!Object.values(Fe).includes(r))throw new $e("GLOBUS_SDK_ENVIRONMENT",r);return r}function Ve(e,t,r,n){let o;return o="object"==typeof e?new URL(t,e.host):function(e,t="",r=We()){const n=function(e,t=We()){const r=function(e,t=We()){return qe[e][t]}(e,t);return He(`GLOBUS_SDK_SERVICE_URL_${e}`,r?`https://${r}`:void 0)}(e,r);return new URL(t,n)}(e,t,null==n?void 0:n.environment),r&&r.search&&(o.search=function(e){const t=new URLSearchParams;return Array.from(Object.entries(e)).forEach((([e,r])=>{Array.isArray(r)?t.set(e,r.join(",")):void 0!==r&&t.set(e,String(r))})),t.toString()}(r.search)),o.toString()}var Ke,Je=r(945),Ye=r.n(Je);function Xe(e,t,r){return n=this,o=void 0,s=function*(){var n;const o=ze(r),i=(null===(n=null==o?void 0:o.fetch)||void 0===n?void 0:n.options)||{},s=Object.assign(Object.assign(Object.assign({},se()),null==t?void 0:t.headers),i.headers),a=null==o?void 0:o.manager;let c;if(e.resource_server&&a&&(c=a.tokens.getByResourceServer(e.resource_server),c&&(s.Authorization=`Bearer ${c.access_token}`)),e.scope&&a){const t="string"==typeof e.service?Ce[e.service]:e.service.endpoint_id;c=a.tokens.getByResourceServer(t),c&&(s.Authorization=`Bearer ${c.access_token}`)}let u=null==t?void 0:t.body;!u&&(null==t?void 0:t.payload)&&(u=JSON.stringify(t.payload)),!(null==s?void 0:s["Content-Type"])&&u&&(s["Content-Type"]="application/json");const p=Ve(e.service,e.path,{search:null==t?void 0:t.query},o),d=Object.assign(Object.assign({method:e.method,body:u},i),{headers:s});let h=Ye();if((null==i?void 0:i.__callable)&&(h=i.__callable.bind(this),delete d.__callable),e.preventRetry||!a||!c||!pt(c))return h(p,d);const l=yield h(p,d);if(l.ok)return l;let f;try{f=Me(yield l.clone().json())}catch(e){f=!1}if(401===l.status&&!f){const e=yield a.refreshToken(c);return e?h(p,Object.assign(Object.assign({},d),{headers:Object.assign(Object.assign({},d.headers),{Authorization:`Bearer ${e.access_token}`})})):l}return l},new((i=void 0)||(i=Promise))((function(e,t){function r(e){try{c(s.next(e))}catch(e){t(e)}}function a(e){try{c(s.throw(e))}catch(e){t(e)}}function c(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i((function(e){e(n)}))).then(r,a)}c((s=s.apply(n,o||[])).next())}));var n,o,i,s}!function(e){e.POST="POST",e.GET="GET",e.DELETE="DELETE",e.PUT="PUT",e.PATCH="PATCH"}(Ke||(Ke={}));const Qe=function(e,t={},r){return Xe({service:Re,scope:Ie.VIEW_IDENTITIES,path:`/identities/${e}`},t,r)},Ze=function(e={},t){return Xe({service:Re,scope:Ie.VIEW_IDENTITIES,path:"/identities"},e,t)};function et(e){return Object.assign(Object.assign({},e),{body:(t=e.payload,new URLSearchParams(t)),headers:Object.assign(Object.assign({},(null==e?void 0:e.headers)||{}),{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"})});var t}const tt=function(e,t){if(!(null==e?void 0:e.payload))throw new Error("'payload' is required for introspect");return Xe({service:Re,scope:void 0,path:"/v2/oauth2/token/introspect",method:Ke.POST,preventRetry:!0},et(e),t)},rt=function(e,t){if(!(null==e?void 0:e.payload))throw new Error("'payload' is required for revoke");return Xe({service:Re,scope:void 0,path:"/v2/oauth2/token/revoke",method:Ke.POST,preventRetry:!0},et(e),t)},nt=function(e,t){if(!(null==e?void 0:e.payload))throw new Error("'payload' is required for revoke");return Xe({service:Re,scope:void 0,path:"/v2/oauth2/token",method:Ke.POST,preventRetry:!0},et(e),t)},ot=function(e,t){if(!(null==e?void 0:e.payload))throw new Error("'payload' is required for validate");return Xe({service:Re,scope:void 0,path:"/v2/oauth2/token/validate",method:Ke.POST,preventRetry:!0},et(e),t)},it=function(e,t){return Xe({service:Re,scope:void 0,path:"/v2/oauth2/userinfo",method:Ke.GET},e,t)},st=p;function at(){return Ve(Re,"/v2/oauth2/authorize")}function ct(){return Ve(Re,"/v2/oauth2/token")}function ut(e){return"object"==typeof e&&null!==e&&"access_token"in e}function pt(e){return ut(e)&&null!==e&&"refresh_token"in e}function dt(e){return ut(e)&&null!==e&&"resource_server"in e}var ht,lt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class ft{constructor(){ht.set(this,{})}get(e){return void 0!==lt(this,ht,"f")[e]?lt(this,ht,"f")[e]:null}set(e,t){lt(this,ht,"f")[e]="string"!=typeof t?JSON.stringify(t):t}remove(e){delete lt(this,ht,"f")[e]}keys(){return Object.keys(lt(this,ht,"f"))}clear(){!function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?o.call(e,r):o?o.value=r:t.set(e,r)}(this,ht,{},"f")}}ht=new WeakMap;var gt,vt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class yt{constructor(){gt.set(this,globalThis.localStorage)}get(e){return vt(this,gt,"f").getItem(e)}set(e,t){vt(this,gt,"f").setItem(e,"string"!=typeof t?JSON.stringify(t):t)}keys(){return Object.keys(vt(this,gt,"f"))}remove(e){vt(this,gt,"f").removeItem(e)}clear(){vt(this,gt,"f").clear()}}let mt;function bt(e="memory"){if(!mt){let t;t="localStorage"===e?yt:"memory"===e?ft:e,mt=new t}return mt}gt=new WeakMap;const wt=bt;var _t,At=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},Tt=function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r};class Ot{constructor(e){this.name=e,_t.set(this,[])}addListener(e){return At(this,_t,"f").push(e),()=>this.removeListener(e)}removeListener(e){Tt(this,_t,At(this,_t,"f").filter((t=>t!==e)),"f")}clearListeners(){Tt(this,_t,[],"f")}dispatch(e){return t=this,r=void 0,o=function*(){yield Promise.all(At(this,_t,"f").map((t=>t(e))))},new((n=void 0)||(n=Promise))((function(e,i){function s(e){try{c(o.next(e))}catch(e){i(e)}}function a(e){try{c(o.throw(e))}catch(e){i(e)}}function c(t){var r;t.done?e(t.value):(r=t.value,r instanceof n?r:new n((function(e){e(r)}))).then(s,a)}c((o=o.apply(t,r||[])).next())}));var t,r,n,o}}_t=new WeakMap;var Et,St,Lt=r(368),Pt=r.n(Lt),kt=function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r},jt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class Rt{constructor(e){Et.set(this,void 0),St.set(this,{});const{params:t}=e,r=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}(e,["params"]);kt(this,Et,new(Pt())(Object.assign({},r)),"f"),kt(this,St,Object.assign({},t),"f")}send(){window.location.replace(jt(this,Et,"f").authorizeUrl(jt(this,St,"f")))}getToken(){return e=this,t=arguments,n=function*(e={shouldReplace:!0}){const t=new URL(window.location.href),r=new URLSearchParams(t.search);if(!r.get("code"))return;const n=yield jt(this,Et,"f").exchangeForAccessToken(t.toString());return sessionStorage.removeItem("pkce_state"),sessionStorage.removeItem("pkce_code_verifier"),e.shouldReplace&&(r.delete("code"),r.delete("state"),t.search=r.toString(),window.location.replace(t)),n},new((r=void 0)||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}));var e,t,r,n}}Et=new WeakMap,St=new WeakMap;var xt,It,Ct,$t,Ut=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};function Dt(e){const t=wt().get(e)||"null";let r=null;try{const e=JSON.parse(t);ut(e)&&(r=e)}catch(e){}return r}class Bt{constructor(e){xt.add(this),It.set(this,void 0),function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?o.call(e,r):o?o.value=r:t.set(e,r)}(this,It,e.manager,"f")}get auth(){return Ut(this,xt,"m",$t).call(this,Ge.AUTH)}get transfer(){return Ut(this,xt,"m",$t).call(this,Ge.TRANSFER)}get flows(){return Ut(this,xt,"m",$t).call(this,Ge.FLOWS)}get groups(){return Ut(this,xt,"m",$t).call(this,Ge.GROUPS)}get search(){return Ut(this,xt,"m",$t).call(this,Ge.SEARCH)}get timer(){return Ut(this,xt,"m",$t).call(this,Ge.TIMER)}get compute(){return Ut(this,xt,"m",$t).call(this,Ge.COMPUTE)}gcs(e){return this.getByResourceServer(e)}getByResourceServer(e){return Ut(this,xt,"m",Ct).call(this,e)}getAll(){return wt().keys().reduce(((e,t)=>(t.startsWith(Ut(this,It,"f").storageKeyPrefix)&&e.push(Dt(t)),e)),[]).filter(ut)}}It=new WeakMap,xt=new WeakSet,Ct=function(e){return Dt(`${Ut(this,It,"f").storageKeyPrefix}${e}`)},$t=function(e){var t;const r=null===(t=st.RESOURCE_SERVERS)||void 0===t?void 0:t[e];return Ut(this,xt,"m",Ct).call(this,r)};var Nt,Mt,Ht,Ft,Gt,qt,zt,Wt,Vt=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))},Kt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},Jt=function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r};const Yt={useRefreshTokens:!1,defaultScopes:"openid profile email"},Xt={execute:!0,additionalParams:void 0};class Qt{get authenticated(){return Kt(this,Ht,"f")}set authenticated(e){e!==Kt(this,Ht,"f")&&(Jt(this,Ht,e,"f"),Kt(this,Nt,"m",Gt).call(this))}constructor(e){var t;if(Nt.add(this),Mt.set(this,void 0),Ht.set(this,!1),this.events={authenticated:new Ot("authenticated"),revoke:new Ot("revoke")},this.addTokenResponse=e=>{var t;wt().set(`${this.configuration.client}:${e.resource_server}`,e),"other_tokens"in e&&(null===(t=e.other_tokens)||void 0===t||t.forEach(this.addTokenResponse)),Kt(this,Nt,"m",Ft).call(this)},bt("localStorage"),!e.client)throw new Error("You must provide a `client` for your application.");const r=!1===e.defaultScopes?"":null!==(t=e.defaultScopes)&&void 0!==t?t:Yt.defaultScopes;this.configuration=Object.assign(Object.assign(Object.assign({},Yt),e),{scopes:[e.scopes?e.scopes:"",r].filter((e=>e.length)).join(" ")}),this.configuration.events&&Object.entries(this.configuration.events).forEach((([e,t])=>{e in this.events&&this.events[e].addListener(t)})),this.tokens=new Bt({manager:this}),Kt(this,Nt,"m",Ft).call(this)}get storageKeyPrefix(){return`${this.configuration.client}:`}get user(){const e=this.getGlobusAuthToken();return e&&e.id_token?function(e,t){if("string"!=typeof e)throw new le("Invalid token specified: must be a string");t||(t={});const r=!0===t.header?0:1,n=e.split(".")[r];if("string"!=typeof n)throw new le(`Invalid token specified: missing part #${r+1}`);let o;try{o=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return function(e){return decodeURIComponent(atob(e).replace(/(.)/g,((e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return atob(t)}}(n)}catch(e){throw new le(`Invalid token specified: invalid base64 for part #${r+1} (${e.message})`)}try{return JSON.parse(o)}catch(e){throw new le(`Invalid token specified: invalid json for part #${r+1} (${e.message})`)}}(e.id_token):null}refreshTokens(){return Vt(this,void 0,void 0,(function*(){he("debug","AuthorizationManager.refreshTokens");const e=yield Promise.allSettled(this.tokens.getAll().map((e=>pt(e)?this.refreshToken(e):Promise.resolve(null))));return Kt(this,Nt,"m",Ft).call(this),e}))}refreshToken(e){return Vt(this,void 0,void 0,(function*(){he("debug",`AuthorizationManager.refreshToken | resource_server=${e.resource_server}`);try{const t=yield(yield nt({payload:{client_id:this.configuration.client,refresh_token:e.refresh_token,grant_type:"refresh_token"}})).json();if(dt(t))return this.addTokenResponse(t),t}catch(t){he("error",`AuthorizationManager.refreshToken | resource_server=${e.resource_server}`)}return null}))}hasGlobusAuthToken(){return null!==this.getGlobusAuthToken()}getGlobusAuthToken(){const e=wt().get(`${this.storageKeyPrefix}auth.globus.org`);return e?JSON.parse(e):null}reset(){wt().keys().forEach((e=>{e.startsWith(this.storageKeyPrefix)&&wt().remove(e)})),this.authenticated=!1}login(e={additionalParams:{}}){he("debug","AuthorizationManager.login"),this.reset(),Kt(this,Nt,"m",zt).call(this,{params:null==e?void 0:e.additionalParams}).send()}handleCodeRedirect(){return Vt(this,arguments,void 0,(function*(e={shouldReplace:!0,additionalParams:{}}){he("debug","AuthorizationManager.handleCodeRedirect");const t=yield Kt(this,Nt,"m",zt).call(this,{params:null==e?void 0:e.additionalParams}).getToken({shouldReplace:null==e?void 0:e.shouldReplace});dt(t)&&(he("debug",`AuthorizationManager.handleCodeRedirect | response=${JSON.stringify(t)}`),this.addTokenResponse(t))}))}handleErrorResponse(e,t){const r="boolean"==typeof t?Object.assign(Object.assign({},Xt),{execute:t}):Object.assign(Object.assign({},Xt),t);he("debug",`AuthorizationManager.handleErrorResponse | response=${JSON.stringify(e)} execute=${r.execute}`);let n=()=>{};return Me(e)&&(he("debug","AuthorizationManager.handleErrorResponse | error=AuthorizationRequirementsError"),n=()=>this.handleAuthorizationRequirementsError(e,{additionalParams:r.additionalParams})),De(e)&&(he("debug","AuthorizationManager.handleErrorResponse | error=ConsentRequiredError"),n=()=>this.handleConsentRequiredError(e,{additionalParams:r.additionalParams})),"code"in e&&"AuthenticationFailed"===e.code&&(he("debug","AuthorizationManager.handleErrorResponse | error=AuthenticationFailed"),n=()=>this.revoke()),!0===r.execute?n():n}handleAuthorizationRequirementsError(e,t){Jt(this,Mt,Kt(this,Nt,"m",zt).call(this,{params:Object.assign(Object.assign({prompt:"login"},Ne(e)),null==t?void 0:t.additionalParams)}),"f"),Kt(this,Mt,"f").send()}handleConsentRequiredError(e,t){Jt(this,Mt,Kt(this,Nt,"m",zt).call(this,{requested_scopes:Kt(this,Nt,"m",qt).call(this,e.required_scopes.join(" ")),params:Object.assign({},null==t?void 0:t.additionalParams)}),"f"),Kt(this,Mt,"f").send()}revoke(){return Vt(this,void 0,void 0,(function*(){he("debug","AuthorizationManager.revoke");const e=Promise.all(this.tokens.getAll().map(Kt(this,Nt,"m",Wt).bind(this)));this.reset(),yield e,yield this.events.revoke.dispatch()}))}}function Zt(e){return new Qt(e)}Mt=new WeakMap,Ht=new WeakMap,Nt=new WeakSet,Ft=function(){he("debug","AuthorizationManager.#checkAuthorizationState"),this.hasGlobusAuthToken()&&(this.authenticated=!0)},Gt=function(){return Vt(this,void 0,void 0,(function*(){var e;const t=this.authenticated,r=null!==(e=this.getGlobusAuthToken())&&void 0!==e?e:void 0;yield this.events.authenticated.dispatch({isAuthenticated:t,token:r})}))},qt=function(e){return`${e}${this.configuration.useRefreshTokens?" offline_access":""}`},zt=function(e){var t;const r=Kt(this,Nt,"m",qt).call(this,null!==(t=null==e?void 0:e.requested_scopes)&&void 0!==t?t:this.configuration.scopes||"");return new Rt(Object.assign({client_id:this.configuration.client,authorization_endpoint:at(),token_endpoint:ct(),redirect_uri:this.configuration.redirect,requested_scopes:r},e))},Wt=function(e){return he("debug",`AuthorizationManager.revokeToken | resource_server=${e.resource_server}`),rt({payload:{client_id:this.configuration.client,token:e.access_token}})};const er=function(e,t){const r=Object.assign(Object.assign({},e),{query:null==e?void 0:e.query});return Xe({service:fe,scope:ge.ALL,path:"/v0.10/endpoint_search"},r,t)};function tr(e){return e===Ke.GET?{}:{"Content-Type":"application/json"}}const rr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/operation/endpoint/${e}/ls`},t,r)},nr=function(e,t,r){const n={payload:Object.assign({DATA_TYPE:"mkdir"},null==t?void 0:t.payload),headers:Object.assign(Object.assign({},tr(Ke.POST)),null==t?void 0:t.headers)};return Xe({service:fe,scope:ge.ALL,path:`/v0.10/operation/endpoint/${e}/mkdir`,method:Ke.POST},n,r)},or=function(e,t,r){const n={payload:Object.assign({DATA_TYPE:"rename"},null==t?void 0:t.payload),headers:Object.assign(Object.assign({},tr(Ke.POST)),null==t?void 0:t.headers)};return Xe({service:fe,scope:ge.ALL,path:`/v0.10/operation/endpoint/${e}/rename`,method:Ke.POST},n,r)},ir=function(e,t,r){const n={payload:Object.assign({DATA_TYPE:"symlink"},null==t?void 0:t.payload),headers:Object.assign(Object.assign({},tr(Ke.POST)),null==t?void 0:t.headers)};return Xe({service:fe,scope:ge.ALL,path:`/v0.10/operation/endpoint/${e}/symlink`,method:Ke.POST},n,r)},sr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/operation/endpoint/${e}/stat`},t,r)},ar=function(e,t){const r={payload:Object.assign({DATA_TYPE:"delete"},null==e?void 0:e.payload),headers:Object.assign(Object.assign({},tr(Ke.POST)),null==e?void 0:e.headers)};return Xe({service:fe,scope:ge.ALL,path:"/v0.10/delete",method:Ke.POST},r,t)},cr=function(e,t){const r={payload:Object.assign({DATA_TYPE:"transfer"},null==e?void 0:e.payload),headers:Object.assign(Object.assign({},tr(Ke.POST)),null==e?void 0:e.headers)};return Xe({service:fe,scope:ge.ALL,path:"/v0.10/transfer",method:Ke.POST},r,t)},ur=function(e,t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/submission_id"},e,t)},pr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint/${e}`},t,r)},dr=function(e,t){return(null==e?void 0:e.payload)&&Object.assign(e.payload,{DATA_TYPE:"shared_endpoint"}),Xe({service:fe,scope:ge.ALL,path:"/v0.10/shared_endpoint",method:Ke.POST},e,t)},hr=function(e,t,r){return(null==t?void 0:t.payload)&&Object.assign(t.payload,{DATA_TYPE:"endpoint"}),Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint/${e}`,method:Ke.PUT},t,r)},lr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint/${e}`,method:Ke.DELETE},t,r)},fr=function(e={},t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/task_list"},e,t)},gr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/task/${e}`},t,r)},vr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/task/${e}`,method:Ke.PUT},t,r)},yr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/task/${e}/cancel`,method:Ke.POST},t,r)},mr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/task/${e}/remove`,method:Ke.POST},t,r)},br=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/task/${e}/event_list`},t,r)},wr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/task/${e}/successful_transfers`},t,r)},_r=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/task/${e}/skipped_errors`},t,r)},Ar=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/task/${e}/pause_info`},t,r)},Tr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint/${e}/access_list`},t,r)},Or=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint/${e}/access`,method:Ke.POST},t,r)},Er=function({endpoint_xid:e,id:t},r,n){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint/${e}/access/${t}`},r,n)},Sr=function({endpoint_xid:e,id:t},r,n){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint/${e}/access/${t}`,method:Ke.PUT},r,n)},Lr=function({endpoint_xid:e,id:t},r,n){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint/${e}/access/${t}`,method:Ke.DELETE},r,n)},Pr=function(e,t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/bookmark_list"},e,t)},kr=function(e,t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/bookmark",method:Ke.POST},e,t)},jr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/bookmark/${e}`},t,r)},Rr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/bookmark/${e}`,method:Ke.PUT},t,r)},xr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/bookmark/${e}`,method:Ke.DELETE},t,r)},Ir=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/endpoint/${e}`},t,r)},Cr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/endpoint/${e}/hosted_endpoint_list`},t,r)},$r=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/endpoint/${e}/access_list`},t,r)},Ur=function(e={},t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/endpoint_manager/monitored_endpoints"},e,t)},Dr=function(e,t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/endpoint_manager/pause_rule_list"},e,t)},Br=function(e,t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/endpoint_manager/pause_rule",method:Ke.POST},e,t)},Nr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/pause_rule/${e}`},t,r)},Mr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/pause_rule/${e}`,method:Ke.PUT},t,r)},Hr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/pause_rule/${e}`,method:Ke.DELETE},t,r)},Fr=function(e={},t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/task_list"},e,t)},Gr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/task/${e}`},t,r)},qr=function(e,t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/endpoint_manager/admin_cancel",method:Ke.POST},e,t)},zr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/admin_cancel/${e}`,method:Ke.POST},t,r)},Wr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/task/${e}/event_list`},t,r)},Vr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/task/${e}/successful_transfers`},t,r)},Kr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/task/${e}/skipped_errors`},t,r)},Jr=function(e,t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/endpoint_manager/admin_pause",method:Ke.POST},e,t)},Yr=function(e,t){return Xe({service:fe,scope:ge.ALL,path:"/v0.10/endpoint_manager/admin_resume",method:Ke.POST},e,t)},Xr=function(e,t,r){return Xe({service:fe,scope:ge.ALL,path:`/v0.10/endpoint_manager/task/${e}/pause_info`},t,r)},Qr=o,Zr=function(e,t,r){return Xe({service:Ee,scope:Le.SEARCH,path:`/v1/index/${e}/search`},t,r)},en=function(e,t,r){return Xe({service:Ee,scope:Le.SEARCH,path:`/v1/index/${e}/search`,method:Ke.POST},t,r)},tn=function(e,t,r){return Xe({service:Ee,scope:Le.SEARCH,path:`/v1/index/${e}/subject`},t,r)},rn=function(e,t,r){return Xe({service:Ee,scope:Le.SEARCH,path:`/v1/index/${e}/entry`},t,r)},nn=c,on=function(e,t){return Xe({scope:Oe.ALL,path:"/v2/groups/my_groups",service:Ae},e,t)},sn=function(e,t,r){return Xe({service:Ae,scope:Oe.ALL,path:`/v2/groups/${e}`},t,r)},an=function(e,t,r){return Xe({scope:Oe.ALL,path:`/v2/groups/${e}/policies`,service:Ae},t,r)},cn=function(e,t,r){if(!(null==t?void 0:t.payload))throw new Error("payload is required.");return Xe({service:Ae,scope:Oe.ALL,path:`/v2/groups/${e}`,method:Ke.POST},t,r)},un=a,pn=function(e,t){return Xe({service:ye,scope:be.VIEW_FLOWS,path:"/flows"},e,t)},dn=function(e,t,r){return Xe({service:ye,scope:be.VIEW_FLOWS,path:`/flows/${e}`},t,r)},hn=function(e,t,r){return Xe({scope:be.MANAGE_FLOWS,service:ye,path:`/flows/${e}`,method:Ke.DELETE},t,r)},ln=function(e,t,r){return Xe({service:ye,scope:be.VIEW_FLOWS,path:`/flows/${e}/run`,method:Ke.POST},t,r)},fn=function(e={},t){return Xe({service:ye,scope:be.RUN_MANAGE,path:"/runs"},e,t)},gn=function(e,t,r){return Xe({service:ye,scope:be.RUN_MANAGE,path:`/runs/${e}/cancel`,method:Ke.POST},t,r)},vn=function(e,t,r){return Xe({service:ye,scope:be.RUN_MANAGE,path:`/runs/${e}/log`},t,r)},yn=i,mn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/collections"},t,r)},bn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/collections/${t}`},r,n)},wn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/collections/${t}`,method:Ke.DELETE},r,n)},_n=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/collections",method:Ke.POST},t,r)},An=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/collections/${t}`,method:Ke.PUT},r,n)},Tn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/collections/${t}`,method:Ke.PATCH},r,n)},On=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/collections/${t}/owner_string`,method:Ke.PUT},r,n)},En=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/collections/${t}/owner_string`,method:Ke.DELETE},r,n)},Sn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/endpoint"},t,r)},Ln=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/endpoint",method:Ke.PUT},t,r)},Pn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/endpoint",method:Ke.PATCH},t,r)},kn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/endpoint/subscription_id",method:Ke.PUT},t,r)},jn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/endpoint/owner",method:Ke.PUT},t,r)},Rn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/endpoint/owner_string",method:Ke.PUT},t,r)},xn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/endpoint/owner_string",method:Ke.DELETE},t,r)},In=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:t},r,n)},Cn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:t,method:Ke.DELETE},r,n)},$n=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:t,method:Ke.PUT},r,n)},Un=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/roles"},t,r)},Dn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/roles/${t}`},r,n)},Bn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/roles/${t}`,method:Ke.DELETE},r,n)},Nn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/roles",method:Ke.POST},t,r)},Mn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/storage_gateways"},t,r)},Hn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/storage_gateways/${t}`},r,n)},Fn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/storage_gateways/${t}`,method:Ke.DELETE},r,n)},Gn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/storage_gateways",method:Ke.POST},t,r)},qn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/storage_gateways/${t}`,method:Ke.PUT},r,n)},zn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/storage_gateways/${t}`,method:Ke.PATCH},r,n)},Wn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/user_credentials"},t,r)},Vn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/user_credentials/${t}`},r,n)},Kn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/user_credentials/${t}`,method:Ke.DELETE},r,n)},Jn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/user_credentials",method:Ke.POST},t,r)},Yn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/user_credentials/${t}`,method:Ke.PUT},r,n)},Xn=function(e,t,r,n){return Xe({service:e,scope:eo(e),path:`/api/user_credentials/${t}`,method:Ke.PATCH},r,n)},Qn=function(e,t,r){return Xe({service:e,scope:eo(e),path:"/api/info"},t,r)},Zn={HIGH_ASSURANCE:"urn:globus:auth:scope:<ENDPOINT_ID>:manage_collections",NON_HIGH_ASSURANCE:"urn:globus:auth:scope:<ENDPOINT_ID>:manage_collections[*https://auth.globus.org/scopes/<MAPPED_COLLECTION_ID>/data_access]"};function eo(e){return Zn.HIGH_ASSURANCE.replace("<ENDPOINT_ID>",e.endpoint_id)}const to=function(e,t){return Xe({service:we,scope:"https://auth.globus.org/scopes/524230d7-ea86-4a52-8312-86065a9e0417/timer",path:"/v2/timer",method:Ke.POST},e,t)},ro=s,no=function(e,t){return Xe({service:Pe,scope:je.ALL,path:"/v2/endpoints",method:Ke.GET},e,t)},oo=function(e,t,r){return Xe({service:Pe,scope:je.ALL,path:`/v2/endpoints/${e}`,method:Ke.GET},t,r)},io=function(e,t,r){return Xe({service:Pe,scope:je.ALL,path:`/v2/endpoints/${e}/status`},t,r)},so=u,ao={integration:"app.integration.globuscs.info",sandbox:"app.sandbox.globuscs.info",test:"app.test.globuscs.info",staging:"app.staging.globuscs.info",preview:"app.preview.globus.org",production:"app.globus.org"};function co(e=We()){return ao[e]}function uo(e,t){return new URL(e||"",`https://${co(null==t?void 0:t.environment)}`)}const po={TASK:"/activity/%s/overview",COLLECTION:"/file-manager/collections/%s/overview",ENDPOINT:"/file-manager/collections/%s/overview"};function ho(e,t,r){return uo(po[e].replace(/%s/g,(null==t?void 0:t.join("/"))||""),r)}})(),globus=n})();
1
+ var globus;(()=>{var e={945:(e,t,r)=>{var n="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==r.g&&r.g,o=function(){function e(){this.fetch=!1,this.DOMException=n.DOMException}return e.prototype=n,new e}();!function(e){!function(t){var r=void 0!==e&&e||"undefined"!=typeof self&&self||void 0!==r&&r,n="URLSearchParams"in r,o="Symbol"in r&&"iterator"in Symbol,i="FileReader"in r&&"Blob"in r&&function(){try{return new Blob,!0}catch(e){return!1}}(),s="FormData"in r,a="ArrayBuffer"in r;if(a)var c=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],u=ArrayBuffer.isView||function(e){return e&&c.indexOf(Object.prototype.toString.call(e))>-1};function p(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function d(e){return"string"!=typeof e&&(e=String(e)),e}function h(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return o&&(t[Symbol.iterator]=function(){return t}),t}function l(e){this.map={},e instanceof l?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function f(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function g(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function v(e){var t=new FileReader,r=g(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:s&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||u(e))?this._bodyArrayBuffer=y(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer)):this.blob().then(v)}),this.text=function(){var e,t,r,n=f(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=g(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},s&&(this.formData=function(){return this.text().then(_)}),this.json=function(){return this.text().then(JSON.parse)},this}l.prototype.append=function(e,t){e=p(e),t=d(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},l.prototype.delete=function(e){delete this.map[p(e)]},l.prototype.get=function(e){return e=p(e),this.has(e)?this.map[e]:null},l.prototype.has=function(e){return this.map.hasOwnProperty(p(e))},l.prototype.set=function(e,t){this.map[p(e)]=d(t)},l.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},l.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),h(e)},l.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),h(e)},l.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),h(e)},o&&(l.prototype[Symbol.iterator]=l.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(e,t){if(!(this instanceof w))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,n,o=(t=t||{}).body;if(e instanceof w){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new l(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new l(t.headers)),this.method=(n=(r=t.method||this.method||"GET").toUpperCase(),b.indexOf(n)>-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(o),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var i=/([?&])_=[^&]*/;i.test(this.url)?this.url=this.url.replace(i,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function _(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(o))}})),t}function A(e,t){if(!(this instanceof A))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new l(t.headers),this.url=t.url||"",this._initBody(e)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},m.call(w.prototype),m.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},A.error=function(){var e=new A(null,{status:0,statusText:""});return e.type="error",e};var T=[301,302,303,307,308];A.redirect=function(e,t){if(-1===T.indexOf(t))throw new RangeError("Invalid status code");return new A(null,{status:t,headers:{location:e}})},t.DOMException=r.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function O(e,n){return new Promise((function(o,s){var c=new w(e,n);if(c.signal&&c.signal.aborted)return s(new t.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function p(){u.abort()}u.onload=function(){var e,t,r={status:u.status,statusText:u.statusText,headers:(e=u.getAllResponseHeaders()||"",t=new l,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();t.append(n,o)}})),t)};r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var n="response"in u?u.response:u.responseText;setTimeout((function(){o(new A(n,r))}),0)},u.onerror=function(){setTimeout((function(){s(new TypeError("Network request failed"))}),0)},u.ontimeout=function(){setTimeout((function(){s(new TypeError("Network request failed"))}),0)},u.onabort=function(){setTimeout((function(){s(new t.DOMException("Aborted","AbortError"))}),0)},u.open(c.method,function(e){try{return""===e&&r.location.href?r.location.href:e}catch(t){return e}}(c.url),!0),"include"===c.credentials?u.withCredentials=!0:"omit"===c.credentials&&(u.withCredentials=!1),"responseType"in u&&(i?u.responseType="blob":a&&c.headers.get("Content-Type")&&-1!==c.headers.get("Content-Type").indexOf("application/octet-stream")&&(u.responseType="arraybuffer")),!n||"object"!=typeof n.headers||n.headers instanceof l?c.headers.forEach((function(e,t){u.setRequestHeader(t,e)})):Object.getOwnPropertyNames(n.headers).forEach((function(e){u.setRequestHeader(e,d(n.headers[e]))})),c.signal&&(c.signal.addEventListener("abort",p),u.onreadystatechange=function(){4===u.readyState&&c.signal.removeEventListener("abort",p)}),u.send(void 0===c._bodyInit?null:c._bodyInit)}))}O.polyfill=!0,r.fetch||(r.fetch=O,r.Headers=l,r.Request=w,r.Response=A),t.Headers=l,t.Request=w,t.Response=A,t.fetch=O}({})}(o),o.fetch.ponyfill=!0,delete o.fetch.polyfill;var i=n.fetch?n:o;(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},21:function(e,t,r){var n;e.exports=(n=n||function(e,t){var n;if("undefined"!=typeof window&&window.crypto&&(n=window.crypto),"undefined"!=typeof self&&self.crypto&&(n=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(n=globalThis.crypto),!n&&"undefined"!=typeof window&&window.msCrypto&&(n=window.msCrypto),!n&&void 0!==r.g&&r.g.crypto&&(n=r.g.crypto),!n)try{n=r(477)}catch(e){}var o=function(){if(n){if("function"==typeof n.getRandomValues)try{return n.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof n.randomBytes)try{return n.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),s={},a=s.lib={},c=a.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},u=a.WordArray=c.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||d).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,o=e.sigBytes;if(this.clamp(),n%4)for(var i=0;i<o;i++){var s=r[i>>>2]>>>24-i%4*8&255;t[n+i>>>2]|=s<<24-(n+i)%4*8}else for(var a=0;a<o;a+=4)t[n+a>>>2]=r[a>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=c.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r<e;r+=4)t.push(o());return new u.init(t,e)}}),p=s.enc={},d=p.Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o<r;o++){var i=t[o>>>2]>>>24-o%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new u.init(r,t/2)}},h=p.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o<r;o++){var i=t[o>>>2]>>>24-o%4*8&255;n.push(String.fromCharCode(i))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new u.init(r,t)}},l=p.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},f=a.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,n=this._data,o=n.words,i=n.sigBytes,s=this.blockSize,a=i/(4*s),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,p=e.min(4*c,i);if(c){for(var d=0;d<c;d+=s)this._doProcessBlock(o,d);r=o.splice(0,c),n.sigBytes-=p}return new u.init(r,p)},clone:function(){var e=c.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),g=(a.Hasher=f.extend({cfg:c.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new g.HMAC.init(e,r).finalize(t)}}}),s.algo={});return s}(Math),n)},754:function(e,t,r){var n,o,i;e.exports=(n=r(21),i=(o=n).lib.WordArray,o.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var o=[],i=0;i<r;i+=3)for(var s=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a<r;a++)o.push(n.charAt(s>>>6*(3-a)&63));var c=n.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o<r.length;o++)n[r.charCodeAt(o)]=o}var s=r.charAt(64);if(s){var a=e.indexOf(s);-1!==a&&(t=a)}return function(e,t,r){for(var n=[],o=0,s=0;s<t;s++)if(s%4){var a=r[e.charCodeAt(s-1)]<<s%4*2|r[e.charCodeAt(s)]>>>6-s%4*2;n[o>>>2]|=a<<24-o%4*8,o++}return i.create(n,o)}(e,t,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},n.enc.Base64)},440:function(e,t,r){var n;e.exports=(n=r(21),function(){if("function"==typeof ArrayBuffer){var e=n.lib.WordArray,t=e.init,r=e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var r=e.byteLength,n=[],o=0;o<r;o++)n[o>>>2]|=e[o]<<24-o%4*8;t.call(this,n,r)}else t.apply(this,arguments)};r.prototype=e}}(),n.lib.WordArray)},9:function(e,t,r){var n;e.exports=(n=r(21),function(e){var t=n,r=t.lib,o=r.WordArray,i=r.Hasher,s=t.algo,a=[],c=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,o=0;o<64;)t(n)&&(o<8&&(a[o]=r(e.pow(n,.5))),c[o]=r(e.pow(n,1/3)),o++),n++}();var u=[],p=s.SHA256=i.extend({_doReset:function(){this._hash=new o.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],o=r[1],i=r[2],s=r[3],a=r[4],p=r[5],d=r[6],h=r[7],l=0;l<64;l++){if(l<16)u[l]=0|e[t+l];else{var f=u[l-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,v=u[l-2],y=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;u[l]=g+u[l-7]+y+u[l-16]}var m=n&o^n&i^o&i,b=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),w=h+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&p^~a&d)+c[l]+u[l];h=d,d=p,p=a,a=s+w|0,s=i,i=o,o=n,n=w+(b+m)|0}r[0]=r[0]+n|0,r[1]=r[1]+o|0,r[2]=r[2]+i|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0,r[5]=r[5]+p|0,r[6]=r[6]+d|0,r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,o=8*t.sigBytes;return r[o>>>5]|=128<<24-o%32,r[14+(o+64>>>9<<4)]=e.floor(n/4294967296),r[15+(o+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(p),t.HmacSHA256=i._createHmacHelper(p)}(Math),n.SHA256)},368:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(r(9)),s=o(r(754)),a=o(r(440)),c=function(){function e(e){this.state="",this.codeVerifier="",this.corsRequestOptions={},this.config=e}return e.prototype.enableCorsCredentials=function(e){return this.corsRequestOptions=e?{credentials:"include",mode:"cors"}:{},this.corsRequestOptions},e.prototype.authorizeUrl=function(e){void 0===e&&(e={});var t=this.pkceChallengeFromVerifier(),r=new URLSearchParams(Object.assign({response_type:"code",client_id:this.config.client_id,state:this.getState(e.state||null),scope:this.config.requested_scopes,redirect_uri:this.config.redirect_uri,code_challenge:t,code_challenge_method:"S256"},e)).toString();return"".concat(this.config.authorization_endpoint,"?").concat(r)},e.prototype.exchangeForAccessToken=function(e,t){var r=this;return void 0===t&&(t={}),this.parseAuthResponseUrl(e).then((function(e){return fetch(r.config.token_endpoint,n({method:"POST",body:new URLSearchParams(Object.assign({grant_type:"authorization_code",code:e.code,client_id:r.config.client_id,redirect_uri:r.config.redirect_uri,code_verifier:r.getCodeVerifier()},t)),headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}},r.corsRequestOptions)).then((function(e){return e.json()}))}))},e.prototype.refreshAccessToken=function(e){return fetch(this.config.token_endpoint,{method:"POST",body:new URLSearchParams({grant_type:"refresh_token",client_id:this.config.client_id,refresh_token:e}),headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}}).then((function(e){return e.json()}))},e.prototype.getCodeVerifier=function(){return""===this.codeVerifier&&(this.codeVerifier=this.randomStringFromStorage("pkce_code_verifier")),this.codeVerifier},e.prototype.getState=function(e){void 0===e&&(e=null);var t="pkce_state";return null!==e&&this.getStore().setItem(t,e),""===this.state&&(this.state=this.randomStringFromStorage(t)),this.state},e.prototype.parseAuthResponseUrl=function(e){var t=new URL(e).searchParams;return this.validateAuthResponse({error:t.get("error"),query:t.get("query"),state:t.get("state"),code:t.get("code")})},e.prototype.pkceChallengeFromVerifier=function(){var e=(0,i.default)(this.getCodeVerifier());return s.default.stringify(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},e.prototype.randomStringFromStorage=function(e){return null===this.getStore().getItem(e)&&this.getStore().setItem(e,a.default.random(64)),this.getStore().getItem(e)||""},e.prototype.validateAuthResponse=function(e){var t=this;return new Promise((function(r,n){return e.error?n({error:e.error}):e.state!==t.getState()?n({error:"Invalid State"}):r(e)}))},e.prototype.getStore=function(){var e;return(null===(e=this.config)||void 0===e?void 0:e.storage)||sessionStorage},e}();t.default=c},477:()=>{}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{auth:()=>g,authorization:()=>v,compute:()=>J,errors:()=>d,flows:()=>N,gcs:()=>V,groups:()=>U,info:()=>e,logger:()=>t,search:()=>x,timer:()=>K,transfer:()=>P,webapp:()=>X});var e={};r.r(e),r.d(e,{CLIENT_INFO:()=>ne,VERSION:()=>re,addClientInfo:()=>ie,getClientInfo:()=>se,getClientInfoRequestHeaders:()=>ae});var t={};r.r(t),r.d(t,{log:()=>le,setLogLevel:()=>he,setLogger:()=>de});var o={};r.r(o),r.d(o,{HOSTS:()=>ye,ID:()=>ge,SCOPES:()=>ve});var i={};r.r(i),r.d(i,{HOSTS:()=>be,ID:()=>me,SCOPES:()=>we});var s={};r.r(s),r.d(s,{HOSTS:()=>Ae,ID:()=>_e});var a={};r.r(a),r.d(a,{HOSTS:()=>Oe,ID:()=>Te,SCOPES:()=>Ee});var c={};r.r(c),r.d(c,{HOSTS:()=>Le,ID:()=>Se,SCOPES:()=>Pe});var u={};r.r(u),r.d(u,{HOSTS:()=>je,ID:()=>ke,SCOPES:()=>Re});var p={};r.r(p),r.d(p,{HOSTS:()=>Ie,ID:()=>xe,RESOURCE_SERVERS:()=>Ce,SCOPES:()=>$e});var d={};r.r(d),r.d(d,{EnvironmentConfigurationError:()=>Ue,isAuthorizationRequirementsError:()=>He,isConsentRequiredError:()=>De,isErrorWellFormed:()=>Be,toAuthorizationQueryParams:()=>Me});var h={};r.r(h),r.d(h,{get:()=>Ze,getAll:()=>et});var l={};r.r(l),r.d(l,{introspect:()=>rt,refresh:()=>ot,revoke:()=>nt,validate:()=>it});var f={};r.r(f),r.d(f,{token:()=>l,userinfo:()=>st});var g={};r.r(g),r.d(g,{CONFIG:()=>at,getAuthorizationEndpoint:()=>ct,getTokenEndpoint:()=>ut,identities:()=>h,isGlobusAuthTokenResponse:()=>ht,isRefreshToken:()=>dt,isToken:()=>pt,oauth2:()=>f});var v={};r.r(v),r.d(v,{create:()=>tr});var y={};r.r(y),r.d(y,{ls:()=>or,mkdir:()=>ir,rename:()=>sr,stat:()=>cr,symlink:()=>ar});var m={};r.r(m),r.d(m,{submissionId:()=>dr,submitDelete:()=>ur,submitTransfer:()=>pr});var b={};r.r(b),r.d(b,{create:()=>lr,get:()=>hr,remove:()=>gr,update:()=>fr});var w={};r.r(w),r.d(w,{cancel:()=>br,get:()=>yr,getAll:()=>vr,getEventList:()=>_r,getPauseInfo:()=>Or,getSkippedErrors:()=>Tr,getSuccessfulTransfers:()=>Ar,remove:()=>wr,update:()=>mr});var _={};r.r(_),r.d(_,{create:()=>Sr,get:()=>Lr,getAll:()=>Er,remove:()=>kr,update:()=>Pr});var A={};r.r(A),r.d(A,{create:()=>Rr,get:()=>xr,getAll:()=>jr,remove:()=>$r,update:()=>Ir});var T={};r.r(T),r.d(T,{get:()=>Cr,getAccessList:()=>Br,getHostedEndpoints:()=>Ur,getMonitoredEndpoints:()=>Dr});var O={};r.r(O),r.d(O,{create:()=>Mr,get:()=>Hr,getAll:()=>Nr,remove:()=>Gr,update:()=>Fr});var E={};r.r(E),r.d(E,{cancel:()=>Wr,get:()=>zr,getAdminCancel:()=>Vr,getAll:()=>qr,getEventList:()=>Kr,getPauseInfo:()=>Zr,getSkippedErrors:()=>Jr,getSuccessfulTransfers:()=>Yr,pause:()=>Xr,resume:()=>Qr});var S={};r.r(S),r.d(S,{endpoint:()=>T,pauseRule:()=>O,task:()=>E});var L={};r.r(L),r.d(L,{getDomainFromEndpoint:()=>pn,isDirectory:()=>tn,isFileDocument:()=>en,readableBytes:()=>cn});var P={};r.r(P),r.d(P,{CONFIG:()=>dn,access:()=>_,collectionBookmarks:()=>A,endpoint:()=>b,endpointManager:()=>S,endpointSearch:()=>rr,fileOperations:()=>y,task:()=>w,taskSubmission:()=>m,utils:()=>L});var k={};r.r(k),r.d(k,{get:()=>hn,post:()=>ln});var j={};r.r(j),r.d(j,{get:()=>fn});var R={};r.r(R),r.d(R,{get:()=>gn});var x={};r.r(x),r.d(x,{CONFIG:()=>vn,entry:()=>R,query:()=>k,subject:()=>j});var I={};r.r(I),r.d(I,{get:()=>mn,getMyGroups:()=>yn});var $={};r.r($),r.d($,{get:()=>bn});var C={};r.r(C),r.d(C,{act:()=>wn});var U={};r.r(U),r.d(U,{CONFIG:()=>_n,groups:()=>I,membership:()=>C,policies:()=>$});var B={};r.r(B),r.d(B,{get:()=>Tn,getAll:()=>An,remove:()=>On,run:()=>En});var D={};r.r(D),r.d(D,{cancel:()=>Ln,getAll:()=>Sn,getLog:()=>Pn});var N={};r.r(N),r.d(N,{CONFIG:()=>kn,flows:()=>B,runs:()=>D});var M={};r.r(M),r.d(M,{create:()=>In,get:()=>Rn,getAll:()=>jn,patch:()=>Cn,remove:()=>xn,resetOwnerString:()=>Bn,update:()=>$n,updateOwnerString:()=>Un});var H={};r.r(H),r.d(H,{get:()=>Dn,patch:()=>Mn,resetOwnerString:()=>qn,update:()=>Nn,updateOwner:()=>Fn,updateOwnerString:()=>Gn,updateSubscriptionId:()=>Hn});var F={};r.r(F),r.d(F,{get:()=>zn,remove:()=>Wn,update:()=>Vn});var G={};r.r(G),r.d(G,{create:()=>Xn,get:()=>Yn,getAll:()=>Kn,remove:()=>Jn});var q={};r.r(q),r.d(q,{create:()=>to,get:()=>Zn,getAll:()=>Qn,patch:()=>no,remove:()=>eo,update:()=>ro});var z={};r.r(z),r.d(z,{create:()=>ao,get:()=>io,getAll:()=>oo,patch:()=>uo,remove:()=>so,update:()=>co});var W={};r.r(W),r.d(W,{info:()=>po});var V={};r.r(V),r.d(V,{collections:()=>M,endpoint:()=>H,getRequiredScopes:()=>lo,https:()=>F,roles:()=>G,storageGateways:()=>q,userCredentials:()=>z,versioning:()=>W});var K={};r.r(K),r.d(K,{CONFIG:()=>go,create:()=>fo});var Y={};r.r(Y),r.d(Y,{get:()=>yo,getAll:()=>vo,getStatus:()=>mo});var J={};r.r(J),r.d(J,{CONFIG:()=>bo,endpoints:()=>Y});var X={};r.r(X),r.d(X,{HOSTS:()=>wo,host:()=>_o,url:()=>Ao,urlFor:()=>Oo});const Q="X-Globus-Client-Info";let Z=!0;const ee=";",te=",",re="3.8.1",ne={product:"javascript-sdk",version:re};let oe=[ne];function ie(e){oe=oe.concat(e)}function se(){return function(e){return(Array.isArray(e)?e:[e]).map((e=>Object.entries(e).map((([e,t])=>`${e}=${t}`)).join(te))).join(ee)}(oe)}function ae(){return Z?{[Q]:se()}:{}}const ce=["debug","info","warn","error"];let ue,pe=ce.indexOf("error");function de(e){ue=e}function he(e){pe=ce.indexOf(e)}function le(e,...t){var r;ue&&(ce.indexOf(e)<pe||(null!==(r=ue[e])&&void 0!==r?r:ue.log)(...t))}class fe extends Error{}fe.prototype.name="InvalidTokenError";const ge="TRANSFER",ve={ALL:"urn:globus:auth:scope:transfer.api.globus.org:all"},ye={sandbox:"transfer.api.sandbox.globuscs.info",production:"transfer.api.globusonline.org",staging:"transfer.api.staging.globuscs.info",integration:"transfer.api.integration.globuscs.info",test:"transfer.api.test.globuscs.info",preview:"transfer.api.preview.globus.org"},me="FLOWS",be={sandbox:"sandbox.flows.automate.globus.org",production:"flows.globus.org",staging:"staging.flows.automate.globus.org",integration:"integration.flows.automate.globus.org",test:"test.flows.automate.globus.org",preview:"preview.flows.automate.globus.org"},we={MANAGE_FLOWS:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/manage_flows",VIEW_FLOWS:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/view_flows",RUN:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/run",RUN_STATUS:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/run_status",RUN_MANAGE:"https://auth.globus.org/scopes/eec9b274-0c81-4334-bdc2-54e90e689b9a/run_manage"},_e="TIMER",Ae={sandbox:"sandbox.timer.automate.globus.org",production:"timer.automate.globus.org",staging:"staging.timer.automate.globus.org",integration:"integration.timer.automate.globus.org",test:"test.timer.automate.globus.org",preview:"preview.timer.automate.globus.org"},Te="GROUPS",Oe={sandbox:"groups.api.sandbox.globuscs.info",production:"groups.api.globus.org",staging:"groups.api.staging.globuscs.info",integration:"groups.api.integration.globuscs.info",test:"groups.api.test.globuscs.info",preview:"groups.api.preview.globuscs.info"},Ee={ALL:"urn:globus:auth:scope:groups.api.globus.org:all",VIEW_MY:"urn:globus:auth:scope:groups.api.globus.org:view_my_groups_and_membership"},Se="SEARCH",Le={sandbox:"search.api.sandbox.globuscs.info",production:"search.api.globus.org",staging:"search.api.staging.globuscs.info",integration:"search.api.integration.globuscs.info",test:"search.api.test.globuscs.info",preview:"search.api.preview.globus.org"},Pe={ALL:"urn:globus:auth:scope:search.api.globus.org:all",INGEST:"urn:globus:auth:scope:search.api.globus.org:ingest",SEARCH:"urn:globus:auth:scope:search.api.globus.org:search"},ke="COMPUTE",je={sandbox:"compute.api.sandbox.globuscs.info",production:"compute.api.globus.org",staging:"compute.api.staging.globuscs.info",integration:"compute.api.integration.globuscs.info",test:"compute.api.test.globuscs.info",preview:"compute.api.preview.globus.org"},Re={ALL:"https://auth.globus.org/scopes/facd7ccc-c5f4-42aa-916b-a0e270e2c2a9/all"},xe="AUTH",Ie={integration:"auth.integration.globuscs.info",sandbox:"auth.sandbox.globuscs.info",production:"auth.globus.org",test:"auth.test.globuscs.info",staging:"auth.staging.globuscs.info",preview:"auth.preview.globus.org"},$e={VIEW_IDENTITIES:"urn:globus:auth:scope:auth.globus.org:view_identities"},Ce={[xe]:"auth.globus.org",[ge]:"transfer.api.globus.org",[me]:"flows.api.globus.org",[Te]:"groups.api.globus.org",[Se]:"search.api.globus.org",[_e]:"524230d7-ea86-4a52-8312-86065a9e0417",[ke]:"funcx_service"};class Ue extends Error{constructor(e,t){super(),this.name="EnvironmentConfigurationError",this.message=`Invalid configuration value provided for ${e} (${t}).`}}function Be(e){return"object"==typeof e&&null!==e&&"code"in e&&"message"in e}function De(e){return Be(e)&&"ConsentRequired"===e.code&&"required_scopes"in e&&Array.isArray(e.required_scopes)}const Ne=["required_scopes"];function Me(e){return Object.entries(e.authorization_parameters).reduce(((e,[t,r])=>{if(Ne.includes(t)||null==r)return e;let n=r;return Array.isArray(n)?n=n.join(","):"boolean"==typeof r&&(n=n?"true":"false"),Object.assign(Object.assign({},e),{[t]:n})}),{})}function He(e){return"object"==typeof e&&null!==e&&"authorization_parameters"in e&&"object"==typeof e.authorization_parameters&&null!==e.authorization_parameters}function Fe(e,t){const r="undefined"!=typeof window?window:process;let n;return n=function(e){return typeof window==typeof e}(r)?r:r.env,e in n?n[e]:t}const Ge={PRODUCTION:"production",PREVIEW:"preview",STAGING:"staging",SANDBOX:"sandbox",INTEGRATION:"integration",TEST:"test"},qe={[xe]:xe,[ge]:ge,[me]:me,[Te]:Te,[Se]:Se,[_e]:_e,[ke]:ke},ze={[xe]:Ie,[ge]:ye,[me]:be,[Te]:Oe,[Se]:Le,[_e]:Ae,[ke]:je};function We(e){var t,r,n,o,i,s;let a=Fe("GLOBUS_SDK_OPTIONS",{});return"string"==typeof a&&(a=JSON.parse(a)),Object.assign(Object.assign(Object.assign({},a),e),{fetch:Object.assign(Object.assign(Object.assign({},null==a?void 0:a.fetch),null==e?void 0:e.fetch),{options:Object.assign(Object.assign(Object.assign({},null===(t=null==a?void 0:a.fetch)||void 0===t?void 0:t.options),null===(r=null==e?void 0:e.fetch)||void 0===r?void 0:r.options),{headers:Object.assign(Object.assign({},null===(o=null===(n=null==a?void 0:a.fetch)||void 0===n?void 0:n.options)||void 0===o?void 0:o.headers),null===(s=null===(i=null==e?void 0:e.fetch)||void 0===i?void 0:i.options)||void 0===s?void 0:s.headers)})})})}function Ve(){var e;const t=We(),r=Fe("GLOBUS_SDK_ENVIRONMENT",null!==(e=null==t?void 0:t.environment)&&void 0!==e?e:Ge.PRODUCTION);if((null==t?void 0:t.environment)&&r!==t.environment&&le("debug","GLOBUS_SDK_ENVIRONMENT and GLOBUS_SDK_OPTIONS.environment are set to different values. GLOBUS_SDK_ENVIRONMENT will take precedence"),!r||!Object.values(Ge).includes(r))throw new Ue("GLOBUS_SDK_ENVIRONMENT",r);return r}function Ke(e,t,r,n){let o;return o="object"==typeof e?new URL(t,e.host):function(e,t="",r=Ve()){const n=function(e,t=Ve()){const r=function(e,t=Ve()){return ze[e][t]}(e,t);return Fe(`GLOBUS_SDK_SERVICE_URL_${e}`,r?`https://${r}`:void 0)}(e,r);return new URL(t,n)}(e,t,null==n?void 0:n.environment),r&&r.search&&(o.search=function(e){const t=new URLSearchParams;return Array.from(Object.entries(e)).forEach((([e,r])=>{Array.isArray(r)?t.set(e,r.join(",")):void 0!==r&&t.set(e,String(r))})),t.toString()}(r.search)),o.toString()}var Ye,Je=r(945),Xe=r.n(Je);function Qe(e,t,r){return n=this,o=void 0,s=function*(){var n;const o=We(r),i=(null===(n=null==o?void 0:o.fetch)||void 0===n?void 0:n.options)||{},s=Object.assign(Object.assign(Object.assign({},ae()),null==t?void 0:t.headers),i.headers),a=null==o?void 0:o.manager;let c;if(e.resource_server&&a&&(c=a.tokens.getByResourceServer(e.resource_server),c&&(s.Authorization=`Bearer ${c.access_token}`)),e.scope&&a){const t="string"==typeof e.service?Ce[e.service]:e.service.endpoint_id;c=a.tokens.getByResourceServer(t),c&&(s.Authorization=`Bearer ${c.access_token}`)}let u=null==t?void 0:t.body;!u&&(null==t?void 0:t.payload)&&(u=JSON.stringify(t.payload)),!(null==s?void 0:s["Content-Type"])&&u&&(s["Content-Type"]="application/json");const p=Ke(e.service,e.path,{search:null==t?void 0:t.query},o),d=Object.assign(Object.assign({method:e.method,body:u},i),{headers:s});let h=Xe();if((null==i?void 0:i.__callable)&&(h=i.__callable.bind(this),delete d.__callable),e.preventRetry||!a||!c||!dt(c))return h(p,d);const l=yield h(p,d);if(l.ok)return l;let f;try{f=He(yield l.clone().json())}catch(e){f=!1}if(401===l.status&&!f){const e=yield a.refreshToken(c);return e?h(p,Object.assign(Object.assign({},d),{headers:Object.assign(Object.assign({},d.headers),{Authorization:`Bearer ${e.access_token}`})})):l}return l},new((i=void 0)||(i=Promise))((function(e,t){function r(e){try{c(s.next(e))}catch(e){t(e)}}function a(e){try{c(s.throw(e))}catch(e){t(e)}}function c(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i((function(e){e(n)}))).then(r,a)}c((s=s.apply(n,o||[])).next())}));var n,o,i,s}!function(e){e.POST="POST",e.GET="GET",e.DELETE="DELETE",e.PUT="PUT",e.PATCH="PATCH"}(Ye||(Ye={}));const Ze=function(e,t={},r){return Qe({service:xe,scope:$e.VIEW_IDENTITIES,path:`/identities/${e}`},t,r)},et=function(e={},t){return Qe({service:xe,scope:$e.VIEW_IDENTITIES,path:"/identities"},e,t)};function tt(e){return Object.assign(Object.assign({},e),{body:(t=e.payload,new URLSearchParams(t)),headers:Object.assign(Object.assign({},(null==e?void 0:e.headers)||{}),{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"})});var t}const rt=function(e,t){if(!(null==e?void 0:e.payload))throw new Error("'payload' is required for introspect");return Qe({service:xe,scope:void 0,path:"/v2/oauth2/token/introspect",method:Ye.POST,preventRetry:!0},tt(e),t)},nt=function(e,t){if(!(null==e?void 0:e.payload))throw new Error("'payload' is required for revoke");return Qe({service:xe,scope:void 0,path:"/v2/oauth2/token/revoke",method:Ye.POST,preventRetry:!0},tt(e),t)},ot=function(e,t){if(!(null==e?void 0:e.payload))throw new Error("'payload' is required for revoke");return Qe({service:xe,scope:void 0,path:"/v2/oauth2/token",method:Ye.POST,preventRetry:!0},tt(e),t)},it=function(e,t){if(!(null==e?void 0:e.payload))throw new Error("'payload' is required for validate");return Qe({service:xe,scope:void 0,path:"/v2/oauth2/token/validate",method:Ye.POST,preventRetry:!0},tt(e),t)},st=function(e,t){return Qe({service:xe,scope:void 0,path:"/v2/oauth2/userinfo",method:Ye.GET},e,t)},at=p;function ct(){return Ke(xe,"/v2/oauth2/authorize")}function ut(){return Ke(xe,"/v2/oauth2/token")}function pt(e){return"object"==typeof e&&null!==e&&"access_token"in e}function dt(e){return pt(e)&&null!==e&&"refresh_token"in e}function ht(e){return pt(e)&&null!==e&&"resource_server"in e}var lt,ft=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class gt{constructor(){lt.set(this,{})}get(e){return void 0!==ft(this,lt,"f")[e]?ft(this,lt,"f")[e]:null}set(e,t){ft(this,lt,"f")[e]="string"!=typeof t?JSON.stringify(t):t}remove(e){delete ft(this,lt,"f")[e]}keys(){return Object.keys(ft(this,lt,"f"))}clear(){!function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?o.call(e,r):o?o.value=r:t.set(e,r)}(this,lt,{},"f")}}lt=new WeakMap;var vt,yt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class mt{constructor(){vt.set(this,globalThis.localStorage)}get(e){return yt(this,vt,"f").getItem(e)}set(e,t){yt(this,vt,"f").setItem(e,"string"!=typeof t?JSON.stringify(t):t)}keys(){return Object.keys(yt(this,vt,"f"))}remove(e){yt(this,vt,"f").removeItem(e)}clear(){yt(this,vt,"f").clear()}}let bt;function wt(e="memory"){if(!bt){let t;t="localStorage"===e?mt:"memory"===e?gt:e,bt=new t}return bt}vt=new WeakMap;const _t=wt;var At,Tt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},Ot=function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r};class Et{constructor(e){this.name=e,At.set(this,[])}addListener(e){return Tt(this,At,"f").push(e),()=>this.removeListener(e)}removeListener(e){Ot(this,At,Tt(this,At,"f").filter((t=>t!==e)),"f")}clearListeners(){Ot(this,At,[],"f")}dispatch(e){return t=this,r=void 0,o=function*(){yield Promise.all(Tt(this,At,"f").map((t=>t(e))))},new((n=void 0)||(n=Promise))((function(e,i){function s(e){try{c(o.next(e))}catch(e){i(e)}}function a(e){try{c(o.throw(e))}catch(e){i(e)}}function c(t){var r;t.done?e(t.value):(r=t.value,r instanceof n?r:new n((function(e){e(r)}))).then(s,a)}c((o=o.apply(t,r||[])).next())}));var t,r,n,o}}At=new WeakMap;var St,Lt,Pt=r(368),kt=r.n(Pt),jt=function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r},Rt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};function xt(){sessionStorage.removeItem("pkce_state"),sessionStorage.removeItem("pkce_code_verifier")}class It{constructor(e){St.set(this,void 0),Lt.set(this,{});const{params:t}=e,r=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}(e,["params"]);jt(this,St,new(kt())(Object.assign({},r)),"f"),jt(this,Lt,Object.assign({},t),"f")}send(){xt(),window.location.assign(Rt(this,St,"f").authorizeUrl(Rt(this,Lt,"f")))}getToken(){return e=this,t=arguments,n=function*(e={shouldReplace:!0}){const t=new URL(window.location.href),r=new URLSearchParams(t.search);if(!r.get("code"))return;const n=yield Rt(this,St,"f").exchangeForAccessToken(t.toString());return xt(),e.shouldReplace&&(r.delete("code"),r.delete("state"),t.search=r.toString(),window.location.replace(t)),n},new((r=void 0)||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}));var e,t,r,n}}St=new WeakMap,Lt=new WeakMap;var $t,Ct,Ut,Bt,Dt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};function Nt(e){const t=_t().get(e)||"null";let r=null;try{const e=JSON.parse(t);pt(e)&&(r=e)}catch(e){}return r}class Mt{constructor(e){$t.add(this),Ct.set(this,void 0),function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?o.call(e,r):o?o.value=r:t.set(e,r)}(this,Ct,e.manager,"f")}get auth(){return Dt(this,$t,"m",Bt).call(this,qe.AUTH)}get transfer(){return Dt(this,$t,"m",Bt).call(this,qe.TRANSFER)}get flows(){return Dt(this,$t,"m",Bt).call(this,qe.FLOWS)}get groups(){return Dt(this,$t,"m",Bt).call(this,qe.GROUPS)}get search(){return Dt(this,$t,"m",Bt).call(this,qe.SEARCH)}get timer(){return Dt(this,$t,"m",Bt).call(this,qe.TIMER)}get compute(){return Dt(this,$t,"m",Bt).call(this,qe.COMPUTE)}gcs(e){return this.getByResourceServer(e)}getByResourceServer(e){return Dt(this,$t,"m",Ut).call(this,e)}getAll(){return _t().keys().reduce(((e,t)=>(t.startsWith(Dt(this,Ct,"f").storageKeyPrefix)&&e.push(Nt(t)),e)),[]).filter(pt)}}Ct=new WeakMap,$t=new WeakSet,Ut=function(e){return Nt(`${Dt(this,Ct,"f").storageKeyPrefix}${e}`)},Bt=function(e){var t;const r=null===(t=at.RESOURCE_SERVERS)||void 0===t?void 0:t[e];return Dt(this,$t,"m",Ut).call(this,r)};var Ht,Ft,Gt,qt,zt,Wt,Vt,Kt,Yt=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))},Jt=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},Xt=function(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r};const Qt={useRefreshTokens:!1,defaultScopes:"openid profile email"},Zt={execute:!0,additionalParams:void 0};class er{get authenticated(){return Jt(this,Gt,"f")}set authenticated(e){e!==Jt(this,Gt,"f")&&(Xt(this,Gt,e,"f"),Jt(this,Ht,"m",zt).call(this))}constructor(e){var t;if(Ht.add(this),Ft.set(this,void 0),Gt.set(this,!1),this.events={authenticated:new Et("authenticated"),revoke:new Et("revoke")},this.addTokenResponse=e=>{var t;_t().set(`${this.configuration.client}:${e.resource_server}`,e),"other_tokens"in e&&(null===(t=e.other_tokens)||void 0===t||t.forEach(this.addTokenResponse)),Jt(this,Ht,"m",qt).call(this)},wt("localStorage"),!e.client)throw new Error("You must provide a `client` for your application.");const r=!1===e.defaultScopes?"":null!==(t=e.defaultScopes)&&void 0!==t?t:Qt.defaultScopes;this.configuration=Object.assign(Object.assign(Object.assign({},Qt),e),{scopes:[e.scopes?e.scopes:"",r].filter((e=>e.length)).join(" ")}),this.configuration.events&&Object.entries(this.configuration.events).forEach((([e,t])=>{e in this.events&&this.events[e].addListener(t)})),this.tokens=new Mt({manager:this}),Jt(this,Ht,"m",qt).call(this)}get storageKeyPrefix(){return`${this.configuration.client}:`}get user(){const e=this.getGlobusAuthToken();return e&&e.id_token?function(e,t){if("string"!=typeof e)throw new fe("Invalid token specified: must be a string");t||(t={});const r=!0===t.header?0:1,n=e.split(".")[r];if("string"!=typeof n)throw new fe(`Invalid token specified: missing part #${r+1}`);let o;try{o=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return function(e){return decodeURIComponent(atob(e).replace(/(.)/g,((e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return atob(t)}}(n)}catch(e){throw new fe(`Invalid token specified: invalid base64 for part #${r+1} (${e.message})`)}try{return JSON.parse(o)}catch(e){throw new fe(`Invalid token specified: invalid json for part #${r+1} (${e.message})`)}}(e.id_token):null}refreshTokens(){return Yt(this,void 0,void 0,(function*(){le("debug","AuthorizationManager.refreshTokens");const e=yield Promise.allSettled(this.tokens.getAll().map((e=>dt(e)?this.refreshToken(e):Promise.resolve(null))));return Jt(this,Ht,"m",qt).call(this),e}))}refreshToken(e){return Yt(this,void 0,void 0,(function*(){le("debug",`AuthorizationManager.refreshToken | resource_server=${e.resource_server}`);try{const t=yield(yield ot({payload:{client_id:this.configuration.client,refresh_token:e.refresh_token,grant_type:"refresh_token"}})).json();if(ht(t))return this.addTokenResponse(t),t}catch(t){le("error",`AuthorizationManager.refreshToken | resource_server=${e.resource_server}`)}return null}))}hasGlobusAuthToken(){return null!==this.getGlobusAuthToken()}getGlobusAuthToken(){const e=_t().get(`${this.storageKeyPrefix}auth.globus.org`);return e?JSON.parse(e):null}reset(){_t().keys().forEach((e=>{e.startsWith(this.storageKeyPrefix)&&_t().remove(e)})),this.authenticated=!1}login(e={additionalParams:{}}){le("debug","AuthorizationManager.login"),this.reset(),Jt(this,Ht,"m",Vt).call(this,{params:null==e?void 0:e.additionalParams}).send()}handleCodeRedirect(){return Yt(this,arguments,void 0,(function*(e={shouldReplace:!0,additionalParams:{}}){le("debug","AuthorizationManager.handleCodeRedirect");const t=yield Jt(this,Ht,"m",Vt).call(this,{params:null==e?void 0:e.additionalParams}).getToken({shouldReplace:null==e?void 0:e.shouldReplace});ht(t)&&(le("debug",`AuthorizationManager.handleCodeRedirect | response=${JSON.stringify(t)}`),this.addTokenResponse(t))}))}handleErrorResponse(e,t){const r="boolean"==typeof t?Object.assign(Object.assign({},Zt),{execute:t}):Object.assign(Object.assign({},Zt),t);le("debug",`AuthorizationManager.handleErrorResponse | response=${JSON.stringify(e)} execute=${r.execute}`);let n=()=>{};return He(e)&&(le("debug","AuthorizationManager.handleErrorResponse | error=AuthorizationRequirementsError"),n=()=>this.handleAuthorizationRequirementsError(e,{additionalParams:r.additionalParams})),De(e)&&(le("debug","AuthorizationManager.handleErrorResponse | error=ConsentRequiredError"),n=()=>this.handleConsentRequiredError(e,{additionalParams:r.additionalParams})),"code"in e&&"AuthenticationFailed"===e.code&&(le("debug","AuthorizationManager.handleErrorResponse | error=AuthenticationFailed"),n=()=>this.revoke()),!0===r.execute?n():n}handleAuthorizationRequirementsError(e,t){Xt(this,Ft,Jt(this,Ht,"m",Vt).call(this,{params:Object.assign(Object.assign({prompt:"login"},Me(e)),null==t?void 0:t.additionalParams)}),"f"),Jt(this,Ft,"f").send()}handleConsentRequiredError(e,t){Xt(this,Ft,Jt(this,Ht,"m",Vt).call(this,{requested_scopes:Jt(this,Ht,"m",Wt).call(this,e.required_scopes.join(" ")),params:Object.assign({},null==t?void 0:t.additionalParams)}),"f"),Jt(this,Ft,"f").send()}revoke(){return Yt(this,void 0,void 0,(function*(){le("debug","AuthorizationManager.revoke");const e=Promise.all(this.tokens.getAll().map(Jt(this,Ht,"m",Kt).bind(this)));this.reset(),yield e,yield this.events.revoke.dispatch()}))}}function tr(e){return new er(e)}Ft=new WeakMap,Gt=new WeakMap,Ht=new WeakSet,qt=function(){le("debug","AuthorizationManager.#checkAuthorizationState"),this.hasGlobusAuthToken()&&(this.authenticated=!0)},zt=function(){return Yt(this,void 0,void 0,(function*(){var e;const t=this.authenticated,r=null!==(e=this.getGlobusAuthToken())&&void 0!==e?e:void 0;yield this.events.authenticated.dispatch({isAuthenticated:t,token:r})}))},Wt=function(e){return`${e}${this.configuration.useRefreshTokens?" offline_access":""}`},Vt=function(e){var t;const r=Jt(this,Ht,"m",Wt).call(this,null!==(t=null==e?void 0:e.requested_scopes)&&void 0!==t?t:this.configuration.scopes||"");return new It(Object.assign({client_id:this.configuration.client,authorization_endpoint:ct(),token_endpoint:ut(),redirect_uri:this.configuration.redirect,requested_scopes:r},e))},Kt=function(e){return le("debug",`AuthorizationManager.revokeToken | resource_server=${e.resource_server}`),nt({payload:{client_id:this.configuration.client,token:e.access_token}})};const rr=function(e,t){const r=Object.assign(Object.assign({},e),{query:null==e?void 0:e.query});return Qe({service:ge,scope:ve.ALL,path:"/v0.10/endpoint_search"},r,t)};function nr(e){return e===Ye.GET?{}:{"Content-Type":"application/json"}}const or=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/operation/endpoint/${e}/ls`},t,r)},ir=function(e,t,r){const n={payload:Object.assign({DATA_TYPE:"mkdir"},null==t?void 0:t.payload),headers:Object.assign(Object.assign({},nr(Ye.POST)),null==t?void 0:t.headers)};return Qe({service:ge,scope:ve.ALL,path:`/v0.10/operation/endpoint/${e}/mkdir`,method:Ye.POST},n,r)},sr=function(e,t,r){const n={payload:Object.assign({DATA_TYPE:"rename"},null==t?void 0:t.payload),headers:Object.assign(Object.assign({},nr(Ye.POST)),null==t?void 0:t.headers)};return Qe({service:ge,scope:ve.ALL,path:`/v0.10/operation/endpoint/${e}/rename`,method:Ye.POST},n,r)},ar=function(e,t,r){const n={payload:Object.assign({DATA_TYPE:"symlink"},null==t?void 0:t.payload),headers:Object.assign(Object.assign({},nr(Ye.POST)),null==t?void 0:t.headers)};return Qe({service:ge,scope:ve.ALL,path:`/v0.10/operation/endpoint/${e}/symlink`,method:Ye.POST},n,r)},cr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/operation/endpoint/${e}/stat`},t,r)},ur=function(e,t){const r={payload:Object.assign({DATA_TYPE:"delete"},null==e?void 0:e.payload),headers:Object.assign(Object.assign({},nr(Ye.POST)),null==e?void 0:e.headers)};return Qe({service:ge,scope:ve.ALL,path:"/v0.10/delete",method:Ye.POST},r,t)},pr=function(e,t){const r={payload:Object.assign({DATA_TYPE:"transfer"},null==e?void 0:e.payload),headers:Object.assign(Object.assign({},nr(Ye.POST)),null==e?void 0:e.headers)};return Qe({service:ge,scope:ve.ALL,path:"/v0.10/transfer",method:Ye.POST},r,t)},dr=function(e,t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/submission_id"},e,t)},hr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint/${e}`},t,r)},lr=function(e,t){return(null==e?void 0:e.payload)&&Object.assign(e.payload,{DATA_TYPE:"shared_endpoint"}),Qe({service:ge,scope:ve.ALL,path:"/v0.10/shared_endpoint",method:Ye.POST},e,t)},fr=function(e,t,r){return(null==t?void 0:t.payload)&&Object.assign(t.payload,{DATA_TYPE:"endpoint"}),Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint/${e}`,method:Ye.PUT},t,r)},gr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint/${e}`,method:Ye.DELETE},t,r)},vr=function(e={},t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/task_list"},e,t)},yr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/task/${e}`},t,r)},mr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/task/${e}`,method:Ye.PUT},t,r)},br=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/task/${e}/cancel`,method:Ye.POST},t,r)},wr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/task/${e}/remove`,method:Ye.POST},t,r)},_r=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/task/${e}/event_list`},t,r)},Ar=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/task/${e}/successful_transfers`},t,r)},Tr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/task/${e}/skipped_errors`},t,r)},Or=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/task/${e}/pause_info`},t,r)},Er=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint/${e}/access_list`},t,r)},Sr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint/${e}/access`,method:Ye.POST},t,r)},Lr=function({endpoint_xid:e,id:t},r,n){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint/${e}/access/${t}`},r,n)},Pr=function({endpoint_xid:e,id:t},r,n){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint/${e}/access/${t}`,method:Ye.PUT},r,n)},kr=function({endpoint_xid:e,id:t},r,n){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint/${e}/access/${t}`,method:Ye.DELETE},r,n)},jr=function(e,t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/bookmark_list"},e,t)},Rr=function(e,t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/bookmark",method:Ye.POST},e,t)},xr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/bookmark/${e}`},t,r)},Ir=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/bookmark/${e}`,method:Ye.PUT},t,r)},$r=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/bookmark/${e}`,method:Ye.DELETE},t,r)},Cr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/endpoint/${e}`},t,r)},Ur=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/endpoint/${e}/hosted_endpoint_list`},t,r)},Br=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/endpoint/${e}/access_list`},t,r)},Dr=function(e={},t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/endpoint_manager/monitored_endpoints"},e,t)},Nr=function(e,t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/endpoint_manager/pause_rule_list"},e,t)},Mr=function(e,t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/endpoint_manager/pause_rule",method:Ye.POST},e,t)},Hr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/pause_rule/${e}`},t,r)},Fr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/pause_rule/${e}`,method:Ye.PUT},t,r)},Gr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/pause_rule/${e}`,method:Ye.DELETE},t,r)},qr=function(e={},t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/task_list"},e,t)},zr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/task/${e}`},t,r)},Wr=function(e,t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/endpoint_manager/admin_cancel",method:Ye.POST},e,t)},Vr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/admin_cancel/${e}`,method:Ye.POST},t,r)},Kr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/task/${e}/event_list`},t,r)},Yr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/task/${e}/successful_transfers`},t,r)},Jr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/task/${e}/skipped_errors`},t,r)},Xr=function(e,t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/endpoint_manager/admin_pause",method:Ye.POST},e,t)},Qr=function(e,t){return Qe({service:ge,scope:ve.ALL,path:"/v0.10/endpoint_manager/admin_resume",method:Ye.POST},e,t)},Zr=function(e,t,r){return Qe({service:ge,scope:ve.ALL,path:`/v0.10/endpoint_manager/task/${e}/pause_info`},t,r)};function en(e){return"object"==typeof e&&null!==e&&"DATA_TYPE"in e&&"file"===e.DATA_TYPE}function tn(e){return en(e)&&"dir"===e.type}const rn=1e3,nn=1e3*rn,on=1e3*nn,sn=1e3*on,an=1e3*sn;function cn(e,t=2){let r="B",n=1;if(e<rn)return`${e} ${r}`;e<nn?(r="KB",n=rn):e<on?(r="MB",n=nn):e<sn?(r="GB",n=on):e<an?(r="TB",n=sn):(r="PB",n=an);const o=e/n,[i,s]=`${o}`.split(".");let a=`${i}`;if(s&&s.length){const e=s.slice(0,t);e.length&&(a=`${i}.${e}`)}return`${a} ${r}`}const un=["dnsteam.globuscs.info","data.globus.org","dn.glob.us"];function pn(e){var t;const{tlsftp_server:r}=e;if(!r||"string"!=typeof r)return null;const{hostname:n}=new URL(r.replace("tlsftp","https"));return!un.find((e=>n.endsWith(e)))&&(null===(t=/(?:[gm]-\w{6}.)?(\w+(\.\w+)+)$/.exec(n))||void 0===t?void 0:t[1])||n||null}const dn=o,hn=function(e,t,r){return Qe({service:Se,scope:Pe.SEARCH,path:`/v1/index/${e}/search`},t,r)},ln=function(e,t,r){return Qe({service:Se,scope:Pe.SEARCH,path:`/v1/index/${e}/search`,method:Ye.POST},t,r)},fn=function(e,t,r){return Qe({service:Se,scope:Pe.SEARCH,path:`/v1/index/${e}/subject`},t,r)},gn=function(e,t,r){return Qe({service:Se,scope:Pe.SEARCH,path:`/v1/index/${e}/entry`},t,r)},vn=c,yn=function(e,t){return Qe({scope:Ee.ALL,path:"/v2/groups/my_groups",service:Te},e,t)},mn=function(e,t,r){return Qe({service:Te,scope:Ee.ALL,path:`/v2/groups/${e}`},t,r)},bn=function(e,t,r){return Qe({scope:Ee.ALL,path:`/v2/groups/${e}/policies`,service:Te},t,r)},wn=function(e,t,r){if(!(null==t?void 0:t.payload))throw new Error("payload is required.");return Qe({service:Te,scope:Ee.ALL,path:`/v2/groups/${e}`,method:Ye.POST},t,r)},_n=a,An=function(e,t){return Qe({service:me,scope:we.VIEW_FLOWS,path:"/flows"},e,t)},Tn=function(e,t,r){return Qe({service:me,scope:we.VIEW_FLOWS,path:`/flows/${e}`},t,r)},On=function(e,t,r){return Qe({scope:we.MANAGE_FLOWS,service:me,path:`/flows/${e}`,method:Ye.DELETE},t,r)},En=function(e,t,r){return Qe({service:me,scope:we.VIEW_FLOWS,path:`/flows/${e}/run`,method:Ye.POST},t,r)},Sn=function(e={},t){return Qe({service:me,scope:we.RUN_MANAGE,path:"/runs"},e,t)},Ln=function(e,t,r){return Qe({service:me,scope:we.RUN_MANAGE,path:`/runs/${e}/cancel`,method:Ye.POST},t,r)},Pn=function(e,t,r){return Qe({service:me,scope:we.RUN_MANAGE,path:`/runs/${e}/log`},t,r)},kn=i,jn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/collections"},t,r)},Rn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/collections/${t}`},r,n)},xn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/collections/${t}`,method:Ye.DELETE},r,n)},In=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/collections",method:Ye.POST},t,r)},$n=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/collections/${t}`,method:Ye.PUT},r,n)},Cn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/collections/${t}`,method:Ye.PATCH},r,n)},Un=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/collections/${t}/owner_string`,method:Ye.PUT},r,n)},Bn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/collections/${t}/owner_string`,method:Ye.DELETE},r,n)},Dn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/endpoint"},t,r)},Nn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/endpoint",method:Ye.PUT},t,r)},Mn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/endpoint",method:Ye.PATCH},t,r)},Hn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/endpoint/subscription_id",method:Ye.PUT},t,r)},Fn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/endpoint/owner",method:Ye.PUT},t,r)},Gn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/endpoint/owner_string",method:Ye.PUT},t,r)},qn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/endpoint/owner_string",method:Ye.DELETE},t,r)},zn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:t},r,n)},Wn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:t,method:Ye.DELETE},r,n)},Vn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:t,method:Ye.PUT},r,n)},Kn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/roles"},t,r)},Yn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/roles/${t}`},r,n)},Jn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/roles/${t}`,method:Ye.DELETE},r,n)},Xn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/roles",method:Ye.POST},t,r)},Qn=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/storage_gateways"},t,r)},Zn=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/storage_gateways/${t}`},r,n)},eo=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/storage_gateways/${t}`,method:Ye.DELETE},r,n)},to=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/storage_gateways",method:Ye.POST},t,r)},ro=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/storage_gateways/${t}`,method:Ye.PUT},r,n)},no=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/storage_gateways/${t}`,method:Ye.PATCH},r,n)},oo=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/user_credentials"},t,r)},io=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/user_credentials/${t}`},r,n)},so=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/user_credentials/${t}`,method:Ye.DELETE},r,n)},ao=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/user_credentials",method:Ye.POST},t,r)},co=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/user_credentials/${t}`,method:Ye.PUT},r,n)},uo=function(e,t,r,n){return Qe({service:e,scope:lo(e),path:`/api/user_credentials/${t}`,method:Ye.PATCH},r,n)},po=function(e,t,r){return Qe({service:e,scope:lo(e),path:"/api/info"},t,r)},ho={HIGH_ASSURANCE:"urn:globus:auth:scope:<ENDPOINT_ID>:manage_collections",NON_HIGH_ASSURANCE:"urn:globus:auth:scope:<ENDPOINT_ID>:manage_collections[*https://auth.globus.org/scopes/<MAPPED_COLLECTION_ID>/data_access]"};function lo(e){return ho.HIGH_ASSURANCE.replace("<ENDPOINT_ID>",e.endpoint_id)}const fo=function(e,t){return Qe({service:_e,scope:"https://auth.globus.org/scopes/524230d7-ea86-4a52-8312-86065a9e0417/timer",path:"/v2/timer",method:Ye.POST},e,t)},go=s,vo=function(e,t){return Qe({service:ke,scope:Re.ALL,path:"/v2/endpoints",method:Ye.GET},e,t)},yo=function(e,t,r){return Qe({service:ke,scope:Re.ALL,path:`/v2/endpoints/${e}`,method:Ye.GET},t,r)},mo=function(e,t,r){return Qe({service:ke,scope:Re.ALL,path:`/v2/endpoints/${e}/status`},t,r)},bo=u,wo={integration:"app.integration.globuscs.info",sandbox:"app.sandbox.globuscs.info",test:"app.test.globuscs.info",staging:"app.staging.globuscs.info",preview:"app.preview.globus.org",production:"app.globus.org"};function _o(e=Ve()){return wo[e]}function Ao(e,t){return new URL(e||"",`https://${_o(null==t?void 0:t.environment)}`)}const To={TASK:"/activity/%s/overview",COLLECTION:"/file-manager/collections/%s/overview",ENDPOINT:"/file-manager/collections/%s/overview"};function Oo(e,t,r){return Ao(To[e].replace(/%s/g,(null==t?void 0:t.join("/"))||""),r)}})(),globus=n})();