@infra-blocks/zod-utils 0.19.0 → 0.20.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.
- package/README.md +26 -21
- package/lib/cjs/codec/string-to-integer.js +3 -3
- package/lib/cjs/codec/string-to-integer.js.map +1 -1
- package/lib/cjs/index.d.ts +3 -2
- package/lib/cjs/index.js +4 -4
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/number/index.d.ts +4 -0
- package/lib/cjs/number/index.js +9 -0
- package/lib/cjs/number/index.js.map +1 -0
- package/lib/cjs/number/integer.js.map +1 -0
- package/lib/cjs/{types.js.map → number/types.js.map} +1 -1
- package/lib/esm/codec/string-to-integer.js +2 -2
- package/lib/esm/codec/string-to-integer.js.map +1 -1
- package/lib/esm/index.d.ts +3 -2
- package/lib/esm/index.js +2 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/number/index.d.ts +4 -0
- package/lib/esm/number/index.js +6 -0
- package/lib/esm/number/index.js.map +1 -0
- package/lib/esm/number/integer.js.map +1 -0
- package/lib/esm/{types.js.map → number/types.js.map} +1 -1
- package/package.json +1 -1
- package/lib/cjs/integer.js.map +0 -1
- package/lib/esm/integer.js.map +0 -1
- /package/lib/cjs/{integer.d.ts → number/integer.d.ts} +0 -0
- /package/lib/cjs/{integer.js → number/integer.js} +0 -0
- /package/lib/cjs/{types.d.ts → number/types.d.ts} +0 -0
- /package/lib/cjs/{types.js → number/types.js} +0 -0
- /package/lib/esm/{integer.d.ts → number/integer.d.ts} +0 -0
- /package/lib/esm/{integer.js → number/integer.js} +0 -0
- /package/lib/esm/{types.d.ts → number/types.d.ts} +0 -0
- /package/lib/esm/{types.js → number/types.js} +0 -0
package/README.md
CHANGED
|
@@ -23,14 +23,14 @@ the schema and is accepted both at compile time and runtime at the time of this
|
|
|
23
23
|
- [aws](#aws)
|
|
24
24
|
- [codec](#codec)
|
|
25
25
|
- [geojson](#geojson)
|
|
26
|
-
- [integer](#integer)
|
|
27
26
|
- [iso](#iso)
|
|
28
27
|
- [json](#json)
|
|
28
|
+
- [number](#number)
|
|
29
29
|
- [string](#string)
|
|
30
30
|
- [typeGuard](#type-guard)
|
|
31
31
|
- [isValid](#is-valid)
|
|
32
32
|
|
|
33
|
-
###
|
|
33
|
+
### aws
|
|
34
34
|
|
|
35
35
|
The `zu.aws` module contains utilities to validate various AWS elements. All schemas return [branded types](#branded-types).
|
|
36
36
|
|
|
@@ -87,7 +87,7 @@ import { zu } from "@infra-blocks/zod-utils";
|
|
|
87
87
|
const item: URL = zu.codec.stringToUrl().parse("http://localhost:3000");
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
###
|
|
90
|
+
### geojson
|
|
91
91
|
|
|
92
92
|
The `geojson` module contains utilities to validate GeoJSON objects.
|
|
93
93
|
|
|
@@ -234,21 +234,7 @@ zu.geojson().parse({
|
|
|
234
234
|
});
|
|
235
235
|
```
|
|
236
236
|
|
|
237
|
-
###
|
|
238
|
-
|
|
239
|
-
`zu.integer()` produces a [branded type](#branded-types) using `z.int()` internally.
|
|
240
|
-
|
|
241
|
-
```typescript
|
|
242
|
-
import { zu, Integer } from "@infra-blocks/zod-utils";
|
|
243
|
-
|
|
244
|
-
function expectsInteger(x: Integer) {
|
|
245
|
-
// Do some bull here.
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
expectsInteger(zu.integer().parse(42));
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### ISO
|
|
237
|
+
### iso
|
|
252
238
|
|
|
253
239
|
The `iso` module is an extension of `zod`'s own `iso` module. All schemas return [branded types](#branded-types).
|
|
254
240
|
|
|
@@ -263,7 +249,7 @@ zu.iso.countryCode.alpha3("USA"); // The greatest country on earth.
|
|
|
263
249
|
zu.iso.countryCode.alpha3("CAN"); // Its communist little brother.
|
|
264
250
|
```
|
|
265
251
|
|
|
266
|
-
###
|
|
252
|
+
### json
|
|
267
253
|
|
|
268
254
|
The `json` module contains utilities to validate JSON objects and stringified JSON objects.
|
|
269
255
|
|
|
@@ -326,11 +312,30 @@ zu.json.object().parse(5); // Boom.
|
|
|
326
312
|
zu.json.object().parse([]); // Boom.
|
|
327
313
|
```
|
|
328
314
|
|
|
329
|
-
###
|
|
315
|
+
### number
|
|
316
|
+
|
|
317
|
+
The `zu.number` module exports utilities for parsing numbers. All schemas return [branded types](#branded-types).
|
|
318
|
+
|
|
319
|
+
#### integer
|
|
320
|
+
|
|
321
|
+
`zu.number.integer()` produces a [branded type](#branded-types) using `z.int()` internally.
|
|
322
|
+
|
|
323
|
+
```typescript
|
|
324
|
+
import { zu } from "@infra-blocks/zod-utils";
|
|
325
|
+
import { Integer } from "@infra-blocks/zod-utils/number";
|
|
326
|
+
|
|
327
|
+
function expectsInteger(x: Integer) {
|
|
328
|
+
// Do some bull here.
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
expectsInteger(zu.number.integer().parse(42));
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### string
|
|
330
335
|
|
|
331
336
|
The `zu.string` module exposes schemas for manipulating strings. All schemas return [branded types](#branded-types).
|
|
332
337
|
|
|
333
|
-
####
|
|
338
|
+
#### integer
|
|
334
339
|
|
|
335
340
|
```typescript
|
|
336
341
|
import { zu } from "@infra-blocks/zod-utils";
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stringtoInteger = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const integer_js_1 = require("../integer.js");
|
|
6
5
|
const lib_js_1 = require("../lib.js");
|
|
7
|
-
const index_js_1 = require("../
|
|
8
|
-
const
|
|
6
|
+
const index_js_1 = require("../number/index.js");
|
|
7
|
+
const index_js_2 = require("../string/index.js");
|
|
8
|
+
const stringToIntegerCodec = zod_1.z.codec(index_js_2.string.integer(), index_js_1.number.integer(), {
|
|
9
9
|
decode: (str) => Number.parseInt(str, 10),
|
|
10
10
|
encode: (num) => (0, lib_js_1.trusted)(num.toString()),
|
|
11
11
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-to-integer.js","sourceRoot":"","sources":["../../../src/codec/string-to-integer.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,
|
|
1
|
+
{"version":3,"file":"string-to-integer.js","sourceRoot":"","sources":["../../../src/codec/string-to-integer.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sCAAoC;AACpC,iDAA4C;AAC5C,iDAA4C;AAE5C,MAAM,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC,iBAAM,CAAC,OAAO,EAAE,EAAE,iBAAM,CAAC,OAAO,EAAE,EAAE;IACvE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,gBAAO,EAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACI,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC;AAA7C,QAAA,eAAe,mBAA8B"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -70,13 +70,14 @@ declare const zu: {
|
|
|
70
70
|
primitive: typeof import("./json/json.js").primitive;
|
|
71
71
|
stringified: typeof import("./json/json.js").stringifiedJson;
|
|
72
72
|
};
|
|
73
|
+
number: {
|
|
74
|
+
integer: () => z.core.$ZodBranded<z.ZodInt, "Integer">;
|
|
75
|
+
};
|
|
73
76
|
string: {
|
|
74
77
|
integer: () => z.core.$ZodBranded<z.ZodString, "IntegerString">;
|
|
75
78
|
url: () => z.core.$ZodBranded<z.ZodURL, "UrlString">;
|
|
76
79
|
};
|
|
77
80
|
isValid: typeof isValid;
|
|
78
|
-
integer: () => z.core.$ZodBranded<z.ZodInt, "Integer">;
|
|
79
81
|
typeGuard: typeof typeGuard;
|
|
80
82
|
};
|
|
81
|
-
export type * from "./types.js";
|
|
82
83
|
export { zu };
|
package/lib/cjs/index.js
CHANGED
|
@@ -4,10 +4,10 @@ exports.zu = void 0;
|
|
|
4
4
|
const index_js_1 = require("./aws/index.js");
|
|
5
5
|
const index_js_2 = require("./codec/index.js");
|
|
6
6
|
const index_js_3 = require("./geojson/index.js");
|
|
7
|
-
const integer_js_1 = require("./integer.js");
|
|
8
7
|
const index_js_4 = require("./iso/index.js");
|
|
9
8
|
const index_js_5 = require("./json/index.js");
|
|
10
|
-
const index_js_6 = require("./
|
|
9
|
+
const index_js_6 = require("./number/index.js");
|
|
10
|
+
const index_js_7 = require("./string/index.js");
|
|
11
11
|
/**
|
|
12
12
|
* Returns a type guard function using the provided schema as the source of truth.
|
|
13
13
|
*
|
|
@@ -49,9 +49,9 @@ const zu = {
|
|
|
49
49
|
geojson: index_js_3.geojson,
|
|
50
50
|
iso: index_js_4.iso,
|
|
51
51
|
json: index_js_5.json,
|
|
52
|
-
|
|
52
|
+
number: index_js_6.number,
|
|
53
|
+
string: index_js_7.string,
|
|
53
54
|
isValid,
|
|
54
|
-
integer: integer_js_1.integer,
|
|
55
55
|
typeGuard,
|
|
56
56
|
};
|
|
57
57
|
exports.zu = zu;
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAEA,6CAAqC;AACrC,+CAAyC;AACzC,iDAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAEA,6CAAqC;AACrC,+CAAyC;AACzC,iDAA6C;AAC7C,6CAAqC;AACrC,8CAAuC;AACvC,gDAA2C;AAC3C,gDAA2C;AAE3C;;;;;;;;;;;;;;GAcG;AACH,SAAS,SAAS,CAAsB,MAAS;IAC/C,OAAO,CAAC,KAAc,EAAuB,EAAE;QAC7C,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,OAAO,CACd,MAAS,EACT,KAAc;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,EAAE,GAAG;IACT,GAAG,EAAH,cAAG;IACH,KAAK,EAAL,gBAAK;IACL,OAAO,EAAP,kBAAO;IACP,GAAG,EAAH,cAAG;IACH,IAAI,EAAJ,eAAI;IACJ,MAAM,EAAN,iBAAM;IACN,MAAM,EAAN,iBAAM;IACN,OAAO;IACP,SAAS;CACV,CAAC;AAEO,gBAAE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.number = void 0;
|
|
4
|
+
const integer_js_1 = require("./integer.js");
|
|
5
|
+
const number = {
|
|
6
|
+
integer: integer_js_1.integer,
|
|
7
|
+
};
|
|
8
|
+
exports.number = number;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/number/index.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAEvC,MAAM,MAAM,GAAG;IACb,OAAO,EAAP,oBAAO;CACR,CAAC;AAEO,wBAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integer.js","sourceRoot":"","sources":["../../../src/number/integer.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIxB,MAAM,aAAa,GAAG,OAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAExC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC;AAA9B,QAAA,OAAO,WAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/number/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { integer } from "../integer.js";
|
|
3
2
|
import { trusted } from "../lib.js";
|
|
3
|
+
import { number } from "../number/index.js";
|
|
4
4
|
import { string } from "../string/index.js";
|
|
5
|
-
const stringToIntegerCodec = z.codec(string.integer(), integer(), {
|
|
5
|
+
const stringToIntegerCodec = z.codec(string.integer(), number.integer(), {
|
|
6
6
|
decode: (str) => Number.parseInt(str, 10),
|
|
7
7
|
encode: (num) => trusted(num.toString()),
|
|
8
8
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-to-integer.js","sourceRoot":"","sources":["../../../src/codec/string-to-integer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"string-to-integer.js","sourceRoot":"","sources":["../../../src/codec/string-to-integer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE;IACvE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -70,13 +70,14 @@ declare const zu: {
|
|
|
70
70
|
primitive: typeof import("./json/json.js").primitive;
|
|
71
71
|
stringified: typeof import("./json/json.js").stringifiedJson;
|
|
72
72
|
};
|
|
73
|
+
number: {
|
|
74
|
+
integer: () => z.core.$ZodBranded<z.ZodInt, "Integer">;
|
|
75
|
+
};
|
|
73
76
|
string: {
|
|
74
77
|
integer: () => z.core.$ZodBranded<z.ZodString, "IntegerString">;
|
|
75
78
|
url: () => z.core.$ZodBranded<z.ZodURL, "UrlString">;
|
|
76
79
|
};
|
|
77
80
|
isValid: typeof isValid;
|
|
78
|
-
integer: () => z.core.$ZodBranded<z.ZodInt, "Integer">;
|
|
79
81
|
typeGuard: typeof typeGuard;
|
|
80
82
|
};
|
|
81
|
-
export type * from "./types.js";
|
|
82
83
|
export { zu };
|
package/lib/esm/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { aws } from "./aws/index.js";
|
|
2
2
|
import { codec } from "./codec/index.js";
|
|
3
3
|
import { geojson } from "./geojson/index.js";
|
|
4
|
-
import { integer } from "./integer.js";
|
|
5
4
|
import { iso } from "./iso/index.js";
|
|
6
5
|
import { json } from "./json/index.js";
|
|
6
|
+
import { number } from "./number/index.js";
|
|
7
7
|
import { string } from "./string/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* Returns a type guard function using the provided schema as the source of truth.
|
|
@@ -46,9 +46,9 @@ const zu = {
|
|
|
46
46
|
geojson,
|
|
47
47
|
iso,
|
|
48
48
|
json,
|
|
49
|
+
number,
|
|
49
50
|
string,
|
|
50
51
|
isValid,
|
|
51
|
-
integer,
|
|
52
52
|
typeGuard,
|
|
53
53
|
};
|
|
54
54
|
export { zu };
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AACH,SAAS,SAAS,CAAsB,MAAS;IAC/C,OAAO,CAAC,KAAc,EAAuB,EAAE;QAC7C,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,OAAO,CACd,MAAS,EACT,KAAc;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,EAAE,GAAG;IACT,GAAG;IACH,KAAK;IACL,OAAO;IACP,GAAG;IACH,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;CACV,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/number/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,MAAM,GAAG;IACb,OAAO;CACR,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integer.js","sourceRoot":"","sources":["../../../src/number/integer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/number/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
package/lib/cjs/integer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"integer.js","sourceRoot":"","sources":["../../src/integer.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIxB,MAAM,aAAa,GAAG,OAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAExC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC;AAA9B,QAAA,OAAO,WAAuB"}
|
package/lib/esm/integer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"integer.js","sourceRoot":"","sources":["../../src/integer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|