@globus/sdk 0.1.9-alpha.0 → 0.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +28 -12
  2. package/dist/commonjs/src/index.d.ts +4 -0
  3. package/dist/commonjs/src/index.d.ts.map +1 -1
  4. package/dist/commonjs/src/index.js +5 -1
  5. package/dist/commonjs/src/index.js.map +1 -1
  6. package/dist/commonjs/src/lib/core/url.d.ts +26 -2
  7. package/dist/commonjs/src/lib/core/url.d.ts.map +1 -1
  8. package/dist/commonjs/src/lib/core/url.js +46 -5
  9. package/dist/commonjs/src/lib/core/url.js.map +1 -1
  10. package/dist/commonjs/src/lib/services/globus-connect-server/client.d.ts +3413 -0
  11. package/dist/commonjs/src/lib/services/globus-connect-server/client.d.ts.map +1 -0
  12. package/dist/commonjs/src/lib/services/globus-connect-server/client.js +52 -0
  13. package/dist/commonjs/src/lib/services/globus-connect-server/client.js.map +1 -0
  14. package/dist/commonjs/src/lib/services/globus-connect-server/index.d.ts +36 -6
  15. package/dist/commonjs/src/lib/services/globus-connect-server/index.d.ts.map +1 -1
  16. package/dist/commonjs/src/lib/services/globus-connect-server/index.js +13 -19
  17. package/dist/commonjs/src/lib/services/globus-connect-server/index.js.map +1 -1
  18. package/dist/commonjs/src/lib/services/globus-connect-server/service/collections.d.ts +17 -0
  19. package/dist/commonjs/src/lib/services/globus-connect-server/service/collections.d.ts.map +1 -0
  20. package/dist/commonjs/src/lib/services/globus-connect-server/service/collections.js +23 -0
  21. package/dist/commonjs/src/lib/services/globus-connect-server/service/collections.js.map +1 -0
  22. package/dist/commonjs/src/lib/services/globus-connect-server/service/endpoint.d.ts +3 -1
  23. package/dist/commonjs/src/lib/services/globus-connect-server/service/endpoint.d.ts.map +1 -1
  24. package/dist/commonjs/src/lib/services/globus-connect-server/service/endpoint.js +3 -4
  25. package/dist/commonjs/src/lib/services/globus-connect-server/service/endpoint.js.map +1 -1
  26. package/dist/commonjs/src/lib/services/globus-connect-server/service/roles.d.ts +13 -0
  27. package/dist/commonjs/src/lib/services/globus-connect-server/service/roles.d.ts.map +1 -0
  28. package/dist/commonjs/src/lib/services/globus-connect-server/service/roles.js +23 -0
  29. package/dist/commonjs/src/lib/services/globus-connect-server/service/roles.js.map +1 -0
  30. package/dist/commonjs/src/lib/services/globus-connect-server/service/storage-gateways.d.ts +15 -0
  31. package/dist/commonjs/src/lib/services/globus-connect-server/service/storage-gateways.d.ts.map +1 -0
  32. package/dist/commonjs/src/lib/services/globus-connect-server/service/storage-gateways.js +25 -0
  33. package/dist/commonjs/src/lib/services/globus-connect-server/service/storage-gateways.js.map +1 -0
  34. package/dist/commonjs/src/lib/services/globus-connect-server/service/user-credentials.d.ts +14 -0
  35. package/dist/commonjs/src/lib/services/globus-connect-server/service/user-credentials.d.ts.map +1 -0
  36. package/dist/commonjs/src/lib/services/globus-connect-server/service/user-credentials.js +23 -0
  37. package/dist/commonjs/src/lib/services/globus-connect-server/service/user-credentials.js.map +1 -0
  38. package/dist/commonjs/src/lib/services/globus-connect-server/service/versioning.d.ts +3 -1
  39. package/dist/commonjs/src/lib/services/globus-connect-server/service/versioning.d.ts.map +1 -1
  40. package/dist/commonjs/src/lib/services/globus-connect-server/service/versioning.js +4 -5
  41. package/dist/commonjs/src/lib/services/globus-connect-server/service/versioning.js.map +1 -1
  42. package/dist/commonjs/src/lib/services/transfer/service/endpoint-search.d.ts.map +1 -1
  43. package/dist/commonjs/src/lib/services/transfer/service/endpoint-search.js +5 -9
  44. package/dist/commonjs/src/lib/services/transfer/service/endpoint-search.js.map +1 -1
  45. package/dist/commonjs/src/lib/services/types.d.ts +2 -3
  46. package/dist/commonjs/src/lib/services/types.d.ts.map +1 -1
  47. package/dist/commonjs/tsconfig.cjs.tsbuildinfo +1 -1
  48. package/dist/src/index.d.ts +4 -0
  49. package/dist/src/index.d.ts.map +1 -1
  50. package/dist/src/index.js +5 -0
  51. package/dist/src/index.js.map +1 -1
  52. package/dist/src/lib/core/url.d.ts +26 -2
  53. package/dist/src/lib/core/url.d.ts.map +1 -1
  54. package/dist/src/lib/core/url.js +44 -4
  55. package/dist/src/lib/core/url.js.map +1 -1
  56. package/dist/src/lib/services/globus-connect-server/client.d.ts +3413 -0
  57. package/dist/src/lib/services/globus-connect-server/client.d.ts.map +1 -0
  58. package/dist/src/lib/services/globus-connect-server/client.js +48 -0
  59. package/dist/src/lib/services/globus-connect-server/client.js.map +1 -0
  60. package/dist/src/lib/services/globus-connect-server/index.d.ts +36 -6
  61. package/dist/src/lib/services/globus-connect-server/index.d.ts.map +1 -1
  62. package/dist/src/lib/services/globus-connect-server/index.js +17 -21
  63. package/dist/src/lib/services/globus-connect-server/index.js.map +1 -1
  64. package/dist/src/lib/services/globus-connect-server/service/collections.d.ts +17 -0
  65. package/dist/src/lib/services/globus-connect-server/service/collections.d.ts.map +1 -0
  66. package/dist/src/lib/services/globus-connect-server/service/collections.js +20 -0
  67. package/dist/src/lib/services/globus-connect-server/service/collections.js.map +1 -0
  68. package/dist/src/lib/services/globus-connect-server/service/endpoint.d.ts +3 -1
  69. package/dist/src/lib/services/globus-connect-server/service/endpoint.d.ts.map +1 -1
  70. package/dist/src/lib/services/globus-connect-server/service/endpoint.js +4 -5
  71. package/dist/src/lib/services/globus-connect-server/service/endpoint.js.map +1 -1
  72. package/dist/src/lib/services/globus-connect-server/service/roles.d.ts +13 -0
  73. package/dist/src/lib/services/globus-connect-server/service/roles.d.ts.map +1 -0
  74. package/dist/src/lib/services/globus-connect-server/service/roles.js +20 -0
  75. package/dist/src/lib/services/globus-connect-server/service/roles.js.map +1 -0
  76. package/dist/src/lib/services/globus-connect-server/service/storage-gateways.d.ts +15 -0
  77. package/dist/src/lib/services/globus-connect-server/service/storage-gateways.d.ts.map +1 -0
  78. package/dist/src/lib/services/globus-connect-server/service/storage-gateways.js +22 -0
  79. package/dist/src/lib/services/globus-connect-server/service/storage-gateways.js.map +1 -0
  80. package/dist/src/lib/services/globus-connect-server/service/user-credentials.d.ts +14 -0
  81. package/dist/src/lib/services/globus-connect-server/service/user-credentials.d.ts.map +1 -0
  82. package/dist/src/lib/services/globus-connect-server/service/user-credentials.js +20 -0
  83. package/dist/src/lib/services/globus-connect-server/service/user-credentials.js.map +1 -0
  84. package/dist/src/lib/services/globus-connect-server/service/versioning.d.ts +3 -1
  85. package/dist/src/lib/services/globus-connect-server/service/versioning.d.ts.map +1 -1
  86. package/dist/src/lib/services/globus-connect-server/service/versioning.js +4 -5
  87. package/dist/src/lib/services/globus-connect-server/service/versioning.js.map +1 -1
  88. package/dist/src/lib/services/transfer/service/endpoint-search.d.ts.map +1 -1
  89. package/dist/src/lib/services/transfer/service/endpoint-search.js +5 -9
  90. package/dist/src/lib/services/transfer/service/endpoint-search.js.map +1 -1
  91. package/dist/src/lib/services/types.d.ts +2 -3
  92. package/dist/src/lib/services/types.d.ts.map +1 -1
  93. package/dist/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +7 -7
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ![](https://github.com/globusonline/globus-js/actions/workflows/test-sdk.yml/badge.svg)
1
+ ![@globus/sdk - test](https://github.com/globusonline/globus-js/actions/workflows/test-sdk.yml/badge.svg?branch=main)
2
2
 
3
3
  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.
4
4
 
@@ -6,25 +6,41 @@ The Globus SDK for JavaScript provides first class TypeScript support and makes
6
6
  - [@globus/sdk API Documentation](https://globus-jb.s3.amazonaws.com/@globus/sdk/index.html)
7
7
 
8
8
 
9
+ ## Installation
10
+
11
+ If you are not using Typescript, you can install the SDK with the following command:
12
+
13
+ ```sh
14
+ npm install @globus/sdk
15
+ ```
16
+
17
+ ### Typescript
18
+
19
+ `@globus/sdk` is written in Typescript and includes type definitions for it's internal types, Globus platform types (i.e. API responses) are provided by the `@globus/types` package and must be installed separately.
20
+
21
+ ```sh
22
+ npm install @globus/sdk @globus/types
23
+ ```
24
+
9
25
  ## Supported Platforms
10
26
 
11
27
  ### Node.js
12
28
 
13
29
  Our goal is to support all Active LTS [Node.js releases](https://nodejs.org/en/about/releases/). We intend to support all Maintenance LTS versions until their official end-of-life.
14
30
 
15
- | Version | |
16
- |------------|---------|
17
- | Node.js 14 | ✅ |
18
- | Node.js 16 | ✅ |
19
- | Node.js 18 | ✅ |
31
+ | Version | | |
32
+ |------------|---------|-------|
33
+ | Node.js 14 | ✅ | **⚠️** Node.js 14 support is expected to be removed before v1.0.0 (EOL) |
34
+ | Node.js 16 | ✅ ||
35
+ | Node.js 18 | ✅ ||
20
36
 
21
37
  ### Browser Support
22
38
 
23
39
  Officially, the SDK supports widely adopted evergreen browsers: Edge, Chrome, Safari and Firefox.
24
40
 
25
- | Browser | Version |
26
- |---------|---------|
27
- | Google Chrome | |
28
- | Mozilla Firefox | |
29
- | Microsoft Edge | |
30
- | Apple Safari | |
41
+ | Browser | Version |
42
+ |-----------------|---------|
43
+ | Google Chrome | |
44
+ | Mozilla Firefox | |
45
+ | Microsoft Edge | |
46
+ | Apple Safari | |
@@ -1,6 +1,10 @@
1
+ /**
2
+ * @module @globus/sdk
3
+ */
1
4
  export * from "./lib/sdk";
2
5
  export * as authorization from "./lib/core/authorization";
3
6
  export * as auth from "./lib/services/auth";
4
7
  export * as transfer from "./lib/services/transfer";
5
8
  export * as search from "./lib/services/search";
9
+ export * as gcs from "./lib/services/globus-connect-server";
6
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,sCAAsC,CAAC"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ /**
3
+ * @module @globus/sdk
4
+ */
2
5
  /// <reference types="@globus/types" />
3
6
  /// <reference types="@globus/types/auth" />
4
7
  /// <reference types="@globus/types/transfer" />
@@ -17,10 +20,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
21
  };
19
22
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.search = exports.transfer = exports.auth = exports.authorization = void 0;
23
+ exports.gcs = exports.search = exports.transfer = exports.auth = exports.authorization = void 0;
21
24
  __exportStar(require("./lib/sdk"), exports);
22
25
  exports.authorization = require("./lib/core/authorization");
23
26
  exports.auth = require("./lib/services/auth");
24
27
  exports.transfer = require("./lib/services/transfer");
25
28
  exports.search = require("./lib/services/search");
29
+ exports.gcs = require("./lib/services/globus-connect-server");
26
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,4CAA4C;AAC5C,gDAAgD;;;;;;;;;;;;;;;;;AAEhD,4CAA0B;AAC1B,4DAA0D;AAC1D,8CAA4C;AAC5C,sDAAoD;AACpD,kDAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,uCAAuC;AACvC,4CAA4C;AAC5C,gDAAgD;;;;;;;;;;;;;;;;;AAEhD,4CAA0B;AAC1B,4DAA0D;AAC1D,8CAA4C;AAC5C,sDAAoD;AACpD,kDAAgD;AAChD,8DAA4D"}
@@ -1,7 +1,31 @@
1
1
  import { Environment } from "./global";
2
2
  import type { Service } from "./global";
3
+ import type { GCSConfiguration } from "../services/globus-connect-server";
4
+ /**
5
+ * Return the base URL for a service (based on the environment).
6
+ * @param service The service to build the URL for.
7
+ * @param path The path to the resource.
8
+ * @param environment The environment to use.
9
+ */
3
10
  export declare function getServiceURL(service: Service, path?: string, environment?: Environment): URL;
4
- export declare function build(service: Service, path: string, options?: {
5
- search?: ConstructorParameters<typeof URLSearchParams>[0];
11
+ /**
12
+ * Build a URL for a service or GCSConfiguration.
13
+ *
14
+ * @param service The service identifier or GCSConfiguration object to build the URL for.
15
+ * @param path The path to the resource.
16
+ * @param options Additional options for the URL.
17
+ */
18
+ export declare function build(serviceOrConfiguration: Service | GCSConfiguration, path: string, options?: {
19
+ search?: Parameters<typeof stringifyParameters>[0];
20
+ }): string;
21
+ /**
22
+ * An extremely simplified parameter serializer based on our current needs.
23
+ *
24
+ * **This is intended for internal @globus/sdk use only.**
25
+ *
26
+ * @private
27
+ */
28
+ export declare function stringifyParameters(parameters: {
29
+ [key: string]: string | number | Array<string | number | null | undefined> | null | undefined;
6
30
  }): string;
7
31
  //# sourceMappingURL=url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,IAAI,SAAK,EACT,WAAW,GAAE,WAA8B,GAC1C,GAAG,CAGL;AAED,wBAAgB,KAAK,CACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3D,UAQF"}
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,IAAI,SAAK,EACT,WAAW,GAAE,WAA8B,GAC1C,GAAG,CAGL;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CACnB,sBAAsB,EAAE,OAAO,GAAG,gBAAgB,EAClD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;CACpD,UAYF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE;IAC9C,CAAC,GAAG,EAAE,MAAM,GACR,MAAM,GACN,MAAM,GACN,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GACzC,IAAI,GACJ,SAAS,CAAC;CACf,UAaA"}
@@ -1,19 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.build = exports.getServiceURL = void 0;
3
+ exports.stringifyParameters = exports.build = exports.getServiceURL = void 0;
4
4
  const global_1 = require("./global");
5
+ /**
6
+ * Return the base URL for a service (based on the environment).
7
+ * @param service The service to build the URL for.
8
+ * @param path The path to the resource.
9
+ * @param environment The environment to use.
10
+ */
5
11
  function getServiceURL(service, path = "", environment = (0, global_1.getEnvironment)()) {
6
12
  const base = (0, global_1.getServiceBaseUrl)(service, environment);
7
13
  return new URL(path, base);
8
14
  }
9
15
  exports.getServiceURL = getServiceURL;
10
- function build(service, path, options) {
11
- const url = getServiceURL(service, path);
16
+ /**
17
+ * Build a URL for a service or GCSConfiguration.
18
+ *
19
+ * @param service The service identifier or GCSConfiguration object to build the URL for.
20
+ * @param path The path to the resource.
21
+ * @param options Additional options for the URL.
22
+ */
23
+ function build(serviceOrConfiguration, path, options) {
24
+ let url;
25
+ if (typeof serviceOrConfiguration === "object") {
26
+ url = new URL(path, serviceOrConfiguration.host);
27
+ }
28
+ else {
29
+ url = getServiceURL(serviceOrConfiguration, path);
30
+ }
12
31
  if (options && options.search) {
13
- const search = new URLSearchParams(options.search);
14
- url.search = search.toString();
32
+ url.search = stringifyParameters(options.search);
15
33
  }
16
34
  return url.toString();
17
35
  }
18
36
  exports.build = build;
37
+ /**
38
+ * An extremely simplified parameter serializer based on our current needs.
39
+ *
40
+ * **This is intended for internal @globus/sdk use only.**
41
+ *
42
+ * @private
43
+ */
44
+ function stringifyParameters(parameters) {
45
+ const search = new URLSearchParams();
46
+ for (const [key, value] of Object.entries(parameters)) {
47
+ if (Array.isArray(value)) {
48
+ /**
49
+ * Arrays are converted to comma-separated strings.
50
+ */
51
+ search.set(key, value.join(","));
52
+ }
53
+ else if (value !== undefined) {
54
+ search.set(key, String(value));
55
+ }
56
+ }
57
+ return search.toString();
58
+ }
59
+ exports.stringifyParameters = stringifyParameters;
19
60
  //# sourceMappingURL=url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../../src/lib/core/url.ts"],"names":[],"mappings":";;;AAAA,qCAA0E;AAG1E,SAAgB,aAAa,CAC3B,OAAgB,EAChB,IAAI,GAAG,EAAE,EACT,cAA2B,IAAA,uBAAc,GAAE;IAE3C,MAAM,IAAI,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAPD,sCAOC;AAED,SAAgB,KAAK,CACnB,OAAgB,EAChB,IAAY,EACZ,OAEC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;KAChC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAbD,sBAaC"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../../src/lib/core/url.ts"],"names":[],"mappings":";;;AAAA,qCAA0E;AAI1E;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,OAAgB,EAChB,IAAI,GAAG,EAAE,EACT,cAA2B,IAAA,uBAAc,GAAE;IAE3C,MAAM,IAAI,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAPD,sCAOC;AAED;;;;;;GAMG;AACH,SAAgB,KAAK,CACnB,sBAAkD,EAClD,IAAY,EACZ,OAEC;IAED,IAAI,GAAG,CAAC;IACR,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE;QAC9C,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;KAClD;SAAM;QACL,GAAG,GAAG,aAAa,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;KACnD;IACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;QAC7B,GAAG,CAAC,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAClD;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAjBD,sBAiBC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,UAOnC;IACC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB;;eAEG;YACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAChC;KACF;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AApBD,kDAoBC"}