@effect-aws/client-s3 1.5.1 → 1.9.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/Errors/package.json +6 -0
- package/LICENSE +1 -1
- package/S3ClientInstance/package.json +6 -0
- package/S3Service/package.json +6 -0
- package/S3ServiceConfig/package.json +6 -0
- package/dist/cjs/Errors.d.ts +25 -0
- package/dist/cjs/Errors.d.ts.map +1 -0
- package/dist/cjs/Errors.js +23 -0
- package/dist/cjs/Errors.js.map +1 -0
- package/dist/cjs/S3ClientInstance.d.ts +24 -0
- package/dist/cjs/S3ClientInstance.d.ts.map +1 -0
- package/dist/cjs/S3ClientInstance.js +50 -0
- package/dist/cjs/S3ClientInstance.js.map +1 -0
- package/{lib → dist/cjs}/S3Service.d.ts +32 -39
- package/dist/cjs/S3Service.d.ts.map +1 -0
- package/dist/cjs/S3Service.js +159 -0
- package/dist/cjs/S3Service.js.map +1 -0
- package/dist/cjs/S3ServiceConfig.d.ts +25 -0
- package/dist/cjs/S3ServiceConfig.d.ts.map +1 -0
- package/dist/cjs/S3ServiceConfig.js +35 -0
- package/dist/cjs/S3ServiceConfig.js.map +1 -0
- package/dist/cjs/index.d.ts +39 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/dts/Errors.d.ts +25 -0
- package/dist/dts/Errors.d.ts.map +1 -0
- package/dist/dts/S3ClientInstance.d.ts +24 -0
- package/dist/dts/S3ClientInstance.d.ts.map +1 -0
- package/dist/dts/S3Service.d.ts +544 -0
- package/dist/dts/S3Service.d.ts.map +1 -0
- package/dist/dts/S3ServiceConfig.d.ts +25 -0
- package/dist/dts/S3ServiceConfig.d.ts.map +1 -0
- package/dist/dts/index.d.ts +39 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/esm/Errors.js +20 -0
- package/dist/esm/Errors.js.map +1 -0
- package/dist/esm/S3ClientInstance.js +23 -0
- package/dist/esm/S3ClientInstance.js.map +1 -0
- package/dist/esm/S3Service.js +132 -0
- package/dist/esm/S3Service.js.map +1 -0
- package/dist/esm/S3ServiceConfig.js +31 -0
- package/dist/esm/S3ServiceConfig.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +61 -44
- package/src/Errors.ts +56 -0
- package/src/S3ClientInstance.ts +33 -0
- package/src/S3Service.ts +1579 -0
- package/src/S3ServiceConfig.ts +51 -0
- package/src/index.ts +44 -0
- package/CHANGELOG.md +0 -129
- package/docgen.json +0 -8
- package/lib/Errors.d.ts +0 -25
- package/lib/Errors.js +0 -18
- package/lib/S3ClientInstance.d.ts +0 -31
- package/lib/S3ClientInstance.js +0 -57
- package/lib/S3ClientInstanceConfig.d.ts +0 -23
- package/lib/S3ClientInstanceConfig.js +0 -44
- package/lib/S3Service.js +0 -189
- package/lib/esm/Errors.js +0 -15
- package/lib/esm/S3ClientInstance.js +0 -30
- package/lib/esm/S3ClientInstanceConfig.js +0 -40
- package/lib/esm/S3Service.js +0 -185
- package/lib/esm/index.js +0 -5
- package/lib/index.d.ts +0 -4
- package/lib/index.js +0 -21
- package/project.json +0 -77
- package/vitest.config.ts +0 -3
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toS3ClientConfig = exports.setS3ServiceConfig = exports.withS3ServiceConfig = void 0;
|
|
4
|
+
const commons_1 = require("@effect-aws/commons");
|
|
5
|
+
const effect_1 = require("effect");
|
|
6
|
+
const Function_1 = require("effect/Function");
|
|
7
|
+
const GlobalValue_1 = require("effect/GlobalValue");
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category s3 service config
|
|
11
|
+
*/
|
|
12
|
+
const currentS3ServiceConfig = (0, GlobalValue_1.globalValue)("@effect-aws/client-s3/currentS3ServiceConfig", () => effect_1.FiberRef.unsafeMake({}));
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
* @category s3 service config
|
|
16
|
+
*/
|
|
17
|
+
exports.withS3ServiceConfig = (0, Function_1.dual)(2, (effect, config) => effect_1.Effect.locally(effect, currentS3ServiceConfig, config));
|
|
18
|
+
/**
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
* @category s3 service config
|
|
21
|
+
*/
|
|
22
|
+
const setS3ServiceConfig = (config) => effect_1.Layer.locallyScoped(currentS3ServiceConfig, config);
|
|
23
|
+
exports.setS3ServiceConfig = setS3ServiceConfig;
|
|
24
|
+
/**
|
|
25
|
+
* @since 1.0.0
|
|
26
|
+
* @category adapters
|
|
27
|
+
*/
|
|
28
|
+
exports.toS3ClientConfig = effect_1.Effect.gen(function* () {
|
|
29
|
+
const { logger: serviceLogger, ...config } = yield* effect_1.FiberRef.get(currentS3ServiceConfig);
|
|
30
|
+
const logger = serviceLogger === true
|
|
31
|
+
? yield* commons_1.ServiceLogger.toClientLogger(commons_1.ServiceLogger.defaultServiceLogger)
|
|
32
|
+
: (serviceLogger ? yield* commons_1.ServiceLogger.toClientLogger(commons_1.ServiceLogger.make(serviceLogger)) : undefined);
|
|
33
|
+
return { logger, ...config };
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=S3ServiceConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3ServiceConfig.js","sourceRoot":"","sources":["../../src/S3ServiceConfig.ts"],"names":[],"mappings":";;;AAIA,iDAAoD;AACpD,mCAAiD;AACjD,8CAAuC;AACvC,oDAAiD;AAGjD;;;GAGG;AACH,MAAM,sBAAsB,GAAG,IAAA,yBAAW,EACxC,8CAA8C,EAC9C,GAAG,EAAE,CAAC,iBAAQ,CAAC,UAAU,CAAmB,EAAE,CAAC,CAChD,CAAC;AAEF;;;GAGG;AACU,QAAA,mBAAmB,GAG5B,IAAA,eAAI,EACN,CAAC,EACD,CAAU,MAA8B,EAAE,MAAwB,EAA0B,EAAE,CAC5F,eAAM,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,CAAC,CACzD,CAAC;AAEF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAE,EAAE,CAAC,cAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AAAvG,QAAA,kBAAkB,sBAAqF;AAEpH;;;GAGG;AACU,QAAA,gBAAgB,GAAkC,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACjF,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,iBAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEzF,MAAM,MAAM,GAAG,aAAa,KAAK,IAAI;QACnC,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAa,CAAC,cAAc,CAAC,uBAAa,CAAC,oBAAoB,CAAC;QACzE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAa,CAAC,cAAc,CAAC,uBAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { S3Service } from "./S3Service.js";
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export * from "./Errors.js";
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export * as S3ClientInstance from "./S3ClientInstance.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
export * as S3ServiceConfig from "./S3ServiceConfig.js";
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
*/
|
|
20
|
+
export * from "./S3Service.js";
|
|
21
|
+
/**
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
* @category exports
|
|
24
|
+
* @alias S3Service
|
|
25
|
+
*/
|
|
26
|
+
export declare namespace S3 {
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
* @alias S3Service.Config
|
|
30
|
+
*/
|
|
31
|
+
type Config = S3Service.Config;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
* @category exports
|
|
36
|
+
* @alias S3Service
|
|
37
|
+
*/
|
|
38
|
+
export declare const S3: typeof S3Service;
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,cAAc,aAAa,CAAC;AAE5B;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAE1D;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AAExD;;GAEG;AACH,cAAc,gBAAgB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,EAAE,CAAC;IAC1B;;;OAGG;IACH,KAAY,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;CACvC;AAED;;;;GAIG;AACH,eAAO,MAAM,EAAE,kBAAY,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
+
__setModuleDefault(result, mod);
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.S3 = exports.S3ServiceConfig = exports.S3ClientInstance = void 0;
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
*/
|
|
33
|
+
const S3Service_js_1 = require("./S3Service.js");
|
|
34
|
+
/**
|
|
35
|
+
* @since 1.0.0
|
|
36
|
+
*/
|
|
37
|
+
__exportStar(require("./Errors.js"), exports);
|
|
38
|
+
/**
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
exports.S3ClientInstance = __importStar(require("./S3ClientInstance.js"));
|
|
42
|
+
/**
|
|
43
|
+
* @since 1.0.0
|
|
44
|
+
*/
|
|
45
|
+
exports.S3ServiceConfig = __importStar(require("./S3ServiceConfig.js"));
|
|
46
|
+
/**
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
*/
|
|
49
|
+
__exportStar(require("./S3Service.js"), exports);
|
|
50
|
+
/**
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
* @category exports
|
|
53
|
+
* @alias S3Service
|
|
54
|
+
*/
|
|
55
|
+
exports.S3 = S3Service_js_1.S3Service;
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,iDAA2C;AAE3C;;GAEG;AACH,8CAA4B;AAE5B;;GAEG;AACH,0EAA0D;AAE1D;;GAEG;AACH,wEAAwD;AAExD;;GAEG;AACH,iDAA+B;AAe/B;;;;GAIG;AACU,QAAA,EAAE,GAAG,wBAAS,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { BucketAlreadyExists, BucketAlreadyOwnedByYou, EncryptionTypeMismatch, InvalidObjectState, InvalidRequest, InvalidWriteOffset, NoSuchBucket, NoSuchKey, NoSuchUpload, NotFound, ObjectAlreadyInActiveTierError as ObjectAlreadyInActiveTierException, ObjectNotInActiveTierError as ObjectNotInActiveTierException, S3ServiceException, TooManyParts } from "@aws-sdk/client-s3";
|
|
2
|
+
import type { TaggedException } from "@effect-aws/commons";
|
|
3
|
+
import { SdkError as CommonSdkError } from "@effect-aws/commons";
|
|
4
|
+
import { Data } from "effect";
|
|
5
|
+
export declare const AllServiceErrors: readonly ["BucketAlreadyExists", "BucketAlreadyOwnedByYou", "EncryptionTypeMismatch", "InvalidObjectState", "InvalidRequest", "InvalidWriteOffset", "NoSuchBucket", "NoSuchKey", "NoSuchUpload", "NotFound", "ObjectAlreadyInActiveTierError", "ObjectNotInActiveTierError", "TooManyParts"];
|
|
6
|
+
export type BucketAlreadyExistsError = TaggedException<BucketAlreadyExists>;
|
|
7
|
+
export type BucketAlreadyOwnedByYouError = TaggedException<BucketAlreadyOwnedByYou>;
|
|
8
|
+
export type EncryptionTypeMismatchError = TaggedException<EncryptionTypeMismatch>;
|
|
9
|
+
export type InvalidObjectStateError = TaggedException<InvalidObjectState>;
|
|
10
|
+
export type InvalidRequestError = TaggedException<InvalidRequest>;
|
|
11
|
+
export type InvalidWriteOffsetError = TaggedException<InvalidWriteOffset>;
|
|
12
|
+
export type NoSuchBucketError = TaggedException<NoSuchBucket>;
|
|
13
|
+
export type NoSuchKeyError = TaggedException<NoSuchKey>;
|
|
14
|
+
export type NoSuchUploadError = TaggedException<NoSuchUpload>;
|
|
15
|
+
export type NotFoundError = TaggedException<NotFound>;
|
|
16
|
+
export type ObjectAlreadyInActiveTierError = TaggedException<ObjectAlreadyInActiveTierException>;
|
|
17
|
+
export type ObjectNotInActiveTierError = TaggedException<ObjectNotInActiveTierException>;
|
|
18
|
+
export type TooManyPartsError = TaggedException<TooManyParts>;
|
|
19
|
+
export type S3ServiceError = TaggedException<S3ServiceException & {
|
|
20
|
+
name: "S3ServiceError";
|
|
21
|
+
}>;
|
|
22
|
+
export declare const S3ServiceError: Data.Case.Constructor<S3ServiceError, "_tag">;
|
|
23
|
+
export type SdkError = CommonSdkError;
|
|
24
|
+
export declare const SdkError: Data.Case.Constructor<CommonSdkError, "_tag">;
|
|
25
|
+
//# sourceMappingURL=Errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../src/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,8BAA8B,IAAI,kCAAkC,EACpE,0BAA0B,IAAI,8BAA8B,EAC5D,kBAAkB,EAClB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,gBAAgB,8RAcnB,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;AAC5E,MAAM,MAAM,4BAA4B,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;AACpF,MAAM,MAAM,2BAA2B,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;AAClE,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AACtD,MAAM,MAAM,8BAA8B,GAAG,eAAe,CAAC,kCAAkC,CAAC,CAAC;AACjG,MAAM,MAAM,0BAA0B,GAAG,eAAe,CAAC,8BAA8B,CAAC,CAAC;AACzF,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG,eAAe,CAC1C,kBAAkB,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAChD,CAAC;AACF,eAAO,MAAM,cAAc,+CAAgD,CAAC;AAC5E,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC;AACtC,eAAO,MAAM,QAAQ,+CAAiB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
5
|
+
import { Context, Effect, Layer } from "effect";
|
|
6
|
+
declare const S3ClientInstance_base: Context.TagClass<S3ClientInstance, "@effect-aws/client-s3/S3ClientInstance", S3Client>;
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
* @category tags
|
|
10
|
+
*/
|
|
11
|
+
export declare class S3ClientInstance extends S3ClientInstance_base {
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
* @category constructors
|
|
16
|
+
*/
|
|
17
|
+
export declare const make: Effect.Effect<S3Client, never, import("effect/Scope").Scope>;
|
|
18
|
+
/**
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
* @category layers
|
|
21
|
+
*/
|
|
22
|
+
export declare const layer: Layer.Layer<S3ClientInstance, never, never>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=S3ClientInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3ClientInstance.d.ts","sourceRoot":"","sources":["../../src/S3ClientInstance.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;;AAGhD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAEP;CAAG;AAElC;;;GAGG;AACH,eAAO,MAAM,IAAI,8DAOhB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,6CAAuC,CAAC"}
|