@rxap/schematics-ts-morph 14.0.3 → 14.1.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/lib/add-class-method.d.ts +2 -0
- package/src/lib/add-class-method.js +18 -0
- package/src/lib/add-class-method.js.map +1 -0
- package/src/lib/add-provider-to-array.d.ts +2 -2
- package/src/lib/add-provider-to-array.js +10 -7
- package/src/lib/add-provider-to-array.js.map +1 -1
- package/src/lib/nestjs/add-nest-provider-to-array.js +1 -1
- package/src/lib/nestjs/add-nest-provider-to-array.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [14.1.0-dev.1](https://gitlab.com/rxap/packages/compare/@rxap/schematics-ts-morph@14.1.0-dev.0...@rxap/schematics-ts-morph@14.1.0-dev.1) (2023-04-09)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **add-provider-to-array:** support custom compare logic ([7e78ba5](https://gitlab.com/rxap/packages/commit/7e78ba5a9a80030396ada770af46f96ade9379ea))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [14.1.0-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/schematics-ts-morph@14.0.3...@rxap/schematics-ts-morph@14.1.0-dev.0) (2023-01-30)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **nest:** update inject obj generator to use inject instead of deps ([db1902b](https://gitlab.com/rxap/packages/commit/db1902bb84745bef6d56895df05d926ef8a6f39d))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* add AddClassMethod ([f701f78](https://gitlab.com/rxap/packages/commit/f701f785941fa6d04f593e1ae8a09d17fb03f401))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
## [14.0.3](https://gitlab.com/rxap/packages/compare/@rxap/schematics-ts-morph@14.0.2...@rxap/schematics-ts-morph@14.0.3) (2023-01-16)
|
|
7
34
|
|
|
8
35
|
**Note:** Version bump only for package @rxap/schematics-ts-morph
|
package/README.md
CHANGED
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export * from './lib/add-dependency-injection';
|
|
|
41
41
|
export * from './lib/coerce-class-method';
|
|
42
42
|
export * from './lib/merge-ts-morph-project';
|
|
43
43
|
export * from './lib/coerce-property-key';
|
|
44
|
+
export * from './lib/add-class-method';
|
|
44
45
|
export * from './lib/nestjs/add-nest-controller';
|
|
45
46
|
export * from './lib/nestjs/add-nest-module-controller';
|
|
46
47
|
export * from './lib/nestjs/add-nest-module-import';
|
package/src/index.js
CHANGED
|
@@ -44,6 +44,7 @@ tslib_1.__exportStar(require("./lib/add-dependency-injection"), exports);
|
|
|
44
44
|
tslib_1.__exportStar(require("./lib/coerce-class-method"), exports);
|
|
45
45
|
tslib_1.__exportStar(require("./lib/merge-ts-morph-project"), exports);
|
|
46
46
|
tslib_1.__exportStar(require("./lib/coerce-property-key"), exports);
|
|
47
|
+
tslib_1.__exportStar(require("./lib/add-class-method"), exports);
|
|
47
48
|
// region nestjs
|
|
48
49
|
tslib_1.__exportStar(require("./lib/nestjs/add-nest-controller"), exports);
|
|
49
50
|
tslib_1.__exportStar(require("./lib/nestjs/add-nest-module-controller"), exports);
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/ts-morph/src/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,6DAAmC;AACnC,+EAAqD;AACrD,oEAA0C;AAC1C,mEAAyC;AACzC,wDAA8B;AAC9B,uEAA6C;AAC7C,4DAAkC;AAClC,oEAA0C;AAC1C,sEAA4C;AAC5C,sEAA4C;AAC5C,4EAAkD;AAClD,yEAA+C;AAC/C,uEAA6C;AAC7C,iEAAuC;AACvC,oEAA0C;AAC1C,oEAA0C;AAC1C,4EAAkD;AAClD,iEAAuC;AACvC,oEAA0C;AAC1C,mEAAyC;AACzC,kEAAwC;AACxC,2EAAiD;AACjD,6DAAmC;AACnC,gEAAsC;AACtC,iEAAuC;AACvC,yEAA+C;AAC/C,qEAA2C;AAC3C,uEAA6C;AAC7C,kFAAwD;AACxD,2EAAiD;AACjD,oEAA0C;AAC1C,6FAAmE;AACnE,6EAAmD;AACnD,6EAAmD;AACnD,iEAAuC;AACvC,wEAA8C;AAC9C,8EAAoD;AACpD,yEAA+C;AAC/C,yEAA+C;AAC/C,oEAA0C;AAC1C,uEAA6C;AAC7C,oEAA0C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/ts-morph/src/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,6DAAmC;AACnC,+EAAqD;AACrD,oEAA0C;AAC1C,mEAAyC;AACzC,wDAA8B;AAC9B,uEAA6C;AAC7C,4DAAkC;AAClC,oEAA0C;AAC1C,sEAA4C;AAC5C,sEAA4C;AAC5C,4EAAkD;AAClD,yEAA+C;AAC/C,uEAA6C;AAC7C,iEAAuC;AACvC,oEAA0C;AAC1C,oEAA0C;AAC1C,4EAAkD;AAClD,iEAAuC;AACvC,oEAA0C;AAC1C,mEAAyC;AACzC,kEAAwC;AACxC,2EAAiD;AACjD,6DAAmC;AACnC,gEAAsC;AACtC,iEAAuC;AACvC,yEAA+C;AAC/C,qEAA2C;AAC3C,uEAA6C;AAC7C,kFAAwD;AACxD,2EAAiD;AACjD,oEAA0C;AAC1C,6FAAmE;AACnE,6EAAmD;AACnD,6EAAmD;AACnD,iEAAuC;AACvC,wEAA8C;AAC9C,8EAAoD;AACpD,yEAA+C;AAC/C,yEAA+C;AAC/C,oEAA0C;AAC1C,uEAA6C;AAC7C,oEAA0C;AAC1C,iEAAuC;AAEvC,gBAAgB;AAEhB,2EAAiD;AACjD,kFAAwD;AACxD,8EAAoD;AACpD,gFAAsD;AACtD,kFAAwD;AACxD,oFAA0D;AAC1D,oFAA0D;AAC1D,gFAAsD;AACtD,6EAAmD;AACnD,4EAAkD;AAClD,4EAAkD;AAElD,YAAY"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { ClassDeclaration, MethodDeclarationStructure, OptionalKind } from 'ts-morph';
|
|
2
|
+
export declare function AddClassMethod(classDeclaration: ClassDeclaration, name: string, structure: Omit<OptionalKind<MethodDeclarationStructure>, 'name'>, overwrite?: boolean): import("ts-morph").MethodDeclaration;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddClassMethod = void 0;
|
|
4
|
+
function AddClassMethod(classDeclaration, name, structure, overwrite) {
|
|
5
|
+
let methodDeclaration = classDeclaration.getMethod(name);
|
|
6
|
+
if (methodDeclaration) {
|
|
7
|
+
if (overwrite) {
|
|
8
|
+
methodDeclaration.remove();
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
throw new Error('Can not add class method - a method with the same name already exists. Set the overwrite parameter to true or use CoerceClassMethod');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
methodDeclaration = classDeclaration.addMethod(Object.assign(Object.assign({}, structure), { name }));
|
|
15
|
+
return methodDeclaration;
|
|
16
|
+
}
|
|
17
|
+
exports.AddClassMethod = AddClassMethod;
|
|
18
|
+
//# sourceMappingURL=add-class-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-class-method.js","sourceRoot":"","sources":["../../../../../libs/ts-morph/src/lib/add-class-method.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAC5B,gBAAkC,EAClC,IAAY,EACZ,SAAiE,EACjE,SAAmB;IAGnB,IAAI,iBAAiB,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAExD,IAAI,iBAAiB,EAAE;QAErB,IAAI,SAAS,EAAE;YACb,iBAAiB,CAAC,MAAM,EAAE,CAAC;SAC5B;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,qIAAqI,CAAC,CAAC;SACxJ;KAEF;IAED,iBAAiB,GAAG,gBAAgB,CAAC,SAAS,iCACzC,SAAS,KACZ,IAAI,IACJ,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAE3B,CAAC;AA1BD,wCA0BC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
+
import { ArrayLiteralExpression, ObjectLiteralExpression } from 'ts-morph';
|
|
1
2
|
import { ProviderObject } from './provider-object';
|
|
2
|
-
|
|
3
|
-
export declare function AddProviderToArray(providerObject: ProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean): void;
|
|
3
|
+
export declare function AddProviderToArray(providerObject: ProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean, compare?: (ole: ObjectLiteralExpression, po: ProviderObject) => boolean): void;
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AddProviderToArray = void 0;
|
|
4
|
-
const ts_morph_1 = require("ts-morph");
|
|
5
4
|
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
-
|
|
5
|
+
const ts_morph_1 = require("ts-morph");
|
|
6
|
+
function AddProviderToArray(providerObject, providerArray, overwrite = false, compare = (ole, po) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const provideProperty = ole.getProperty('provide');
|
|
9
|
+
if (provideProperty instanceof ts_morph_1.PropertyAssignment) {
|
|
10
|
+
return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getFullText().trim()) === po.provide;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}) {
|
|
7
14
|
if (typeof providerObject === 'string') {
|
|
8
15
|
if (!providerArray.getElements().some(element => element.getFullText().trim() === providerObject)) {
|
|
9
16
|
providerArray.addElement(providerObject);
|
|
@@ -11,12 +18,8 @@ function AddProviderToArray(providerObject, providerArray, overwrite = false) {
|
|
|
11
18
|
}
|
|
12
19
|
else {
|
|
13
20
|
const index = providerArray.getElements().findIndex(element => {
|
|
14
|
-
var _a;
|
|
15
21
|
if (element instanceof ts_morph_1.ObjectLiteralExpression) {
|
|
16
|
-
|
|
17
|
-
if (provideProperty instanceof ts_morph_1.PropertyAssignment) {
|
|
18
|
-
return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getFullText().trim()) === providerObject.provide;
|
|
19
|
-
}
|
|
22
|
+
return compare(element, providerObject);
|
|
20
23
|
}
|
|
21
24
|
return false;
|
|
22
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-provider-to-array.js","sourceRoot":"","sources":["../../../../../libs/ts-morph/src/lib/add-provider-to-array.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"add-provider-to-array.js","sourceRoot":"","sources":["../../../../../libs/ts-morph/src/lib/add-provider-to-array.ts"],"names":[],"mappings":";;;AAAA,qEAAuE;AACvE,uCAAwG;AAGxG,SAAgB,kBAAkB,CAChC,cAAuC,EACvC,aAAqC,EACrC,YAAyE,KAAK,EAC9E,UAAyE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;;IACnF,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,eAAe,YAAY,6BAAkB,EAAE;QAEjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,EAAE,CAAC,OAAO,CAAC;KAE9E;IACD,OAAO,KAAK,CAAC;AACf,CAAC;IAGD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YACjG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YAE5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,OAAO,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;aACzC;YAED,OAAO,KAAK,CAAC;QAEf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,gDAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACzI,KAAK,EAAE,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aACjI,CAAC,CAAC,CAAC,CAAC;SACN;KAEF;AAEH,CAAC;AApDD,gDAoDC"}
|
|
@@ -31,7 +31,7 @@ function AddNestProviderToArray(providerObject, providerArray, overwrite = false
|
|
|
31
31
|
useExisting: providerObject.useExisting,
|
|
32
32
|
useValue: providerObject.useValue,
|
|
33
33
|
scope: providerObject.scope,
|
|
34
|
-
|
|
34
|
+
inject: providerObject.inject ? Array.isArray(providerObject.inject) ? `[ ${providerObject.inject.join(',')} ]` : providerObject.inject : undefined
|
|
35
35
|
})));
|
|
36
36
|
}
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-nest-provider-to-array.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nestjs/add-nest-provider-to-array.ts"],"names":[],"mappings":";;;AACA,uCAAwG;AACxG,qEAAuE;AAEvE,SAAgB,sBAAsB,CACpC,cAA2C,EAC3C,aAAqC,EACrC,YAAqB,KAAK;IAG1B,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YACjG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAC5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBACjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBAC1F;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,gDAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,
|
|
1
|
+
{"version":3,"file":"add-nest-provider-to-array.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nestjs/add-nest-provider-to-array.ts"],"names":[],"mappings":";;;AACA,uCAAwG;AACxG,qEAAuE;AAEvE,SAAgB,sBAAsB,CACpC,cAA2C,EAC3C,aAAqC,EACrC,YAAqB,KAAK;IAG1B,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YACjG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAC5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBACjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBAC1F;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,gDAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aACpJ,CAAC,CAAC,CAAC,CAAC;SACN;KAEF;AAEH,CAAC;AA1CD,wDA0CC"}
|