@effect-aws/client-s3 1.1.1 → 1.3.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-aws/client-s3
2
2
 
3
+ ## 1.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`0cfcda0`](https://github.com/floydspace/effect-aws/commit/0cfcda0d5617916d966807f5d5120df9ba461c12) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect to v3
8
+
9
+ ## 1.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#42](https://github.com/floydspace/effect-aws/pull/42) [`2fd893a`](https://github.com/floydspace/effect-aws/commit/2fd893abe4bcc2b4d7c3bc346cc618ca704171f3) Thanks [@godu](https://github.com/godu)! - extended errors in s3 service
14
+
3
15
  ## 1.1.1
4
16
 
5
17
  ### Patch Changes
package/lib/Errors.d.ts CHANGED
@@ -1,10 +1,19 @@
1
- import { S3ServiceException } from "@aws-sdk/client-s3";
1
+ import type { S3ServiceException, BucketAlreadyExists, BucketAlreadyOwnedByYou, InvalidObjectState, NoSuchBucket, NoSuchKey, NoSuchUpload, NotFound, ObjectAlreadyInActiveTierError as ObjectAlreadyInActiveTierException, ObjectNotInActiveTierError as ObjectNotInActiveTierException } from "@aws-sdk/client-s3";
2
2
  import * as Data from "effect/Data";
3
3
  export type TaggedException<T extends {
4
4
  name: string;
5
5
  }> = T & {
6
6
  readonly _tag: T["name"];
7
7
  };
8
+ export type BucketAlreadyExistsError = TaggedException<BucketAlreadyExists>;
9
+ export type BucketAlreadyOwnedByYouError = TaggedException<BucketAlreadyOwnedByYou>;
10
+ export type InvalidObjectStateError = TaggedException<InvalidObjectState>;
11
+ export type NoSuchBucketError = TaggedException<NoSuchBucket>;
12
+ export type NoSuchKeyError = TaggedException<NoSuchKey>;
13
+ export type NoSuchUploadError = TaggedException<NoSuchUpload>;
14
+ export type NotFoundError = TaggedException<NotFound>;
15
+ export type ObjectAlreadyInActiveTierError = TaggedException<ObjectAlreadyInActiveTierException>;
16
+ export type ObjectNotInActiveTierError = TaggedException<ObjectNotInActiveTierException>;
8
17
  export type S3ServiceError = TaggedException<S3ServiceException & {
9
18
  name: "S3ServiceError";
10
19
  }>;
package/lib/Errors.js CHANGED
@@ -27,4 +27,4 @@ exports.SdkError = exports.S3ServiceError = void 0;
27
27
  const Data = __importStar(require("effect/Data"));
28
28
  exports.S3ServiceError = Data.tagged("S3ServiceError");
29
29
  exports.SdkError = Data.tagged("SdkError");
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLGtEQUFvQztBQVN2QixRQUFBLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBRS9ELFFBQUEsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQVcsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTM1NlcnZpY2VFeGNlcHRpb24gfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgKiBhcyBEYXRhIGZyb20gXCJlZmZlY3QvRGF0YVwiO1xuXG5leHBvcnQgdHlwZSBUYWdnZWRFeGNlcHRpb248VCBleHRlbmRzIHsgbmFtZTogc3RyaW5nIH0+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX3RhZzogVFtcIm5hbWVcIl07XG59O1xuXG5leHBvcnQgdHlwZSBTM1NlcnZpY2VFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxcbiAgUzNTZXJ2aWNlRXhjZXB0aW9uICYgeyBuYW1lOiBcIlMzU2VydmljZUVycm9yXCIgfVxuPjtcbmV4cG9ydCBjb25zdCBTM1NlcnZpY2VFcnJvciA9IERhdGEudGFnZ2VkPFMzU2VydmljZUVycm9yPihcIlMzU2VydmljZUVycm9yXCIpO1xuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLGtEQUFvQztBQXNCdkIsUUFBQSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUUvRCxRQUFBLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTM1NlcnZpY2VFeGNlcHRpb24sXG4gIEJ1Y2tldEFscmVhZHlFeGlzdHMsXG4gIEJ1Y2tldEFscmVhZHlPd25lZEJ5WW91LFxuICBJbnZhbGlkT2JqZWN0U3RhdGUsXG4gIE5vU3VjaEJ1Y2tldCxcbiAgTm9TdWNoS2V5LFxuICBOb1N1Y2hVcGxvYWQsXG4gIE5vdEZvdW5kLFxuICBPYmplY3RBbHJlYWR5SW5BY3RpdmVUaWVyRXJyb3IgYXMgT2JqZWN0QWxyZWFkeUluQWN0aXZlVGllckV4Y2VwdGlvbixcbiAgT2JqZWN0Tm90SW5BY3RpdmVUaWVyRXJyb3IgYXMgT2JqZWN0Tm90SW5BY3RpdmVUaWVyRXhjZXB0aW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgKiBhcyBEYXRhIGZyb20gXCJlZmZlY3QvRGF0YVwiO1xuXG5leHBvcnQgdHlwZSBUYWdnZWRFeGNlcHRpb248VCBleHRlbmRzIHsgbmFtZTogc3RyaW5nIH0+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX3RhZzogVFtcIm5hbWVcIl07XG59O1xuXG5leHBvcnQgdHlwZSBCdWNrZXRBbHJlYWR5RXhpc3RzRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QnVja2V0QWxyZWFkeUV4aXN0cz47XG5leHBvcnQgdHlwZSBCdWNrZXRBbHJlYWR5T3duZWRCeVlvdUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEJ1Y2tldEFscmVhZHlPd25lZEJ5WW91PjtcbmV4cG9ydCB0eXBlIEludmFsaWRPYmplY3RTdGF0ZUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRPYmplY3RTdGF0ZT47XG5leHBvcnQgdHlwZSBOb1N1Y2hCdWNrZXRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxOb1N1Y2hCdWNrZXQ+O1xuZXhwb3J0IHR5cGUgTm9TdWNoS2V5RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Tm9TdWNoS2V5PjtcbmV4cG9ydCB0eXBlIE5vU3VjaFVwbG9hZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE5vU3VjaFVwbG9hZD47XG5leHBvcnQgdHlwZSBOb3RGb3VuZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE5vdEZvdW5kPjtcbmV4cG9ydCB0eXBlIE9iamVjdEFscmVhZHlJbkFjdGl2ZVRpZXJFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxPYmplY3RBbHJlYWR5SW5BY3RpdmVUaWVyRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE9iamVjdE5vdEluQWN0aXZlVGllckVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE9iamVjdE5vdEluQWN0aXZlVGllckV4Y2VwdGlvbj47XG5cbmV4cG9ydCB0eXBlIFMzU2VydmljZUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFxuICBTM1NlcnZpY2VFeGNlcHRpb24gJiB7IG5hbWU6IFwiUzNTZXJ2aWNlRXJyb3JcIiB9XG4+O1xuZXhwb3J0IGNvbnN0IFMzU2VydmljZUVycm9yID0gRGF0YS50YWdnZWQ8UzNTZXJ2aWNlRXJyb3I+KFwiUzNTZXJ2aWNlRXJyb3JcIik7XG5leHBvcnQgdHlwZSBTZGtFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxFcnJvciAmIHsgbmFtZTogXCJTZGtFcnJvclwiIH0+O1xuZXhwb3J0IGNvbnN0IFNka0Vycm9yID0gRGF0YS50YWdnZWQ8U2RrRXJyb3I+KFwiU2RrRXJyb3JcIik7XG4iXX0=
@@ -44,11 +44,21 @@ exports.makeDefaultS3ClientInstanceConfig = Effect.gen(function* (_) {
44
44
  const runSync = Runtime.runSync(runtime);
45
45
  return {
46
46
  logger: {
47
- info: (m) => Effect.logInfo(m).pipe(runSync),
48
- warn: (m) => Effect.logWarning(m).pipe(runSync),
49
- error: (m) => Effect.logError(m).pipe(runSync),
50
- debug: (m) => Effect.logDebug(m).pipe(runSync),
51
- trace: (m) => Effect.logTrace(m).pipe(runSync),
47
+ info(m) {
48
+ Effect.logInfo(m).pipe(runSync);
49
+ },
50
+ warn(m) {
51
+ Effect.logWarning(m).pipe(runSync);
52
+ },
53
+ error(m) {
54
+ Effect.logError(m).pipe(runSync);
55
+ },
56
+ debug(m) {
57
+ Effect.logDebug(m).pipe(runSync);
58
+ },
59
+ trace(m) {
60
+ Effect.logTrace(m).pipe(runSync);
61
+ },
52
62
  },
53
63
  };
54
64
  });
@@ -57,4 +67,4 @@ exports.makeDefaultS3ClientInstanceConfig = Effect.gen(function* (_) {
57
67
  * @category layers
58
68
  */
59
69
  exports.DefaultS3ClientConfigLayer = Layer.effect(S3ClientInstanceConfig, exports.makeDefaultS3ClientInstanceConfig);
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TM0NsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsd0RBQTBDO0FBQzFDLHNEQUF3QztBQUN4QyxvREFBc0M7QUFDdEMsd0RBQTBDO0FBRTFDOzs7R0FHRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDckQsOENBQThDLENBQy9DLEVBQTBDO0NBQUc7QUFGOUMsd0RBRThDO0FBRTlDOzs7R0FHRztBQUNVLFFBQUEsaUNBQWlDLEdBQzVDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUNyQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBUyxDQUFDLENBQUM7SUFDbEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDNUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDL0MsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDOUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDOUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDL0M7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFTDs7O0dBR0c7QUFDVSxRQUFBLDBCQUEwQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3BELHNCQUFzQixFQUN0Qix5Q0FBaUMsQ0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB0eXBlIHsgUzNDbGllbnRDb25maWcgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgKiBhcyBDb250ZXh0IGZyb20gXCJlZmZlY3QvQ29udGV4dFwiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJlZmZlY3QvRWZmZWN0XCI7XG5pbXBvcnQgKiBhcyBMYXllciBmcm9tIFwiZWZmZWN0L0xheWVyXCI7XG5pbXBvcnQgKiBhcyBSdW50aW1lIGZyb20gXCJlZmZlY3QvUnVudGltZVwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIFMzQ2xpZW50SW5zdGFuY2VDb25maWcgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtczMvUzNDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxTM0NsaWVudEluc3RhbmNlQ29uZmlnLCBTM0NsaWVudENvbmZpZz4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZURlZmF1bHRTM0NsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PFMzQ2xpZW50Q29uZmlnPiA9XG4gIEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gICAgY29uc3QgcnVudGltZSA9IHlpZWxkKiBfKEVmZmVjdC5ydW50aW1lPG5ldmVyPigpKTtcbiAgICBjb25zdCBydW5TeW5jID0gUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2dlcjoge1xuICAgICAgICBpbmZvOiAobSkgPT4gRWZmZWN0LmxvZ0luZm8obSkucGlwZShydW5TeW5jKSxcbiAgICAgICAgd2FybjogKG0pID0+IEVmZmVjdC5sb2dXYXJuaW5nKG0pLnBpcGUocnVuU3luYyksXG4gICAgICAgIGVycm9yOiAobSkgPT4gRWZmZWN0LmxvZ0Vycm9yKG0pLnBpcGUocnVuU3luYyksXG4gICAgICAgIGRlYnVnOiAobSkgPT4gRWZmZWN0LmxvZ0RlYnVnKG0pLnBpcGUocnVuU3luYyksXG4gICAgICAgIHRyYWNlOiAobSkgPT4gRWZmZWN0LmxvZ1RyYWNlKG0pLnBpcGUocnVuU3luYyksXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFMzQ2xpZW50Q29uZmlnTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIFMzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIG1ha2VEZWZhdWx0UzNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TM0NsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsd0RBQTBDO0FBQzFDLHNEQUF3QztBQUN4QyxvREFBc0M7QUFDdEMsd0RBQTBDO0FBRTFDOzs7R0FHRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDckQsOENBQThDLENBQy9DLEVBQTBDO0NBQUc7QUFGOUMsd0RBRThDO0FBRTlDOzs7R0FHRztBQUNVLFFBQUEsaUNBQWlDLEdBQzVDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUNyQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBUyxDQUFDLENBQUM7SUFDbEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVMOzs7R0FHRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDcEQsc0JBQXNCLEVBQ3RCLHlDQUFpQyxDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBTM0NsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCAqIGFzIFJ1bnRpbWUgZnJvbSBcImVmZmVjdC9SdW50aW1lXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgUzNDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zMy9TM0NsaWVudEluc3RhbmNlQ29uZmlnXCIsXG4pPFMzQ2xpZW50SW5zdGFuY2VDb25maWcsIFMzQ2xpZW50Q29uZmlnPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRGVmYXVsdFMzQ2xpZW50SW5zdGFuY2VDb25maWc6IEVmZmVjdC5FZmZlY3Q8UzNDbGllbnRDb25maWc+ID1cbiAgRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgICBjb25zdCBydW50aW1lID0geWllbGQqIF8oRWZmZWN0LnJ1bnRpbWU8bmV2ZXI+KCkpO1xuICAgIGNvbnN0IHJ1blN5bmMgPSBSdW50aW1lLnJ1blN5bmMocnVudGltZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9nZ2VyOiB7XG4gICAgICAgIGluZm8obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dJbmZvKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHdhcm4obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dXYXJuaW5nKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRXJyb3IobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWcobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dEZWJ1ZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB0cmFjZShtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1RyYWNlKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFMzQ2xpZW50Q29uZmlnTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIFMzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIG1ha2VEZWZhdWx0UzNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=