nlcurl 0.1.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/LICENSE +21 -0
- package/README.md +162 -0
- package/dist/cli/args.d.ts +42 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +262 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +114 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/output.d.ts +22 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +105 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cookies/jar.d.ts +41 -0
- package/dist/cookies/jar.d.ts.map +1 -0
- package/dist/cookies/jar.js +148 -0
- package/dist/cookies/jar.js.map +1 -0
- package/dist/cookies/parser.d.ts +24 -0
- package/dist/cookies/parser.d.ts.map +1 -0
- package/dist/cookies/parser.js +93 -0
- package/dist/cookies/parser.js.map +1 -0
- package/dist/core/client.d.ts +79 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +106 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/errors.d.ts +36 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +65 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/request.d.ts +96 -0
- package/dist/core/request.d.ts.map +1 -0
- package/dist/core/request.js +5 -0
- package/dist/core/request.js.map +1 -0
- package/dist/core/response.d.ts +48 -0
- package/dist/core/response.d.ts.map +1 -0
- package/dist/core/response.js +65 -0
- package/dist/core/response.js.map +1 -0
- package/dist/core/session.d.ts +60 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +305 -0
- package/dist/core/session.js.map +1 -0
- package/dist/fingerprints/akamai.d.ts +17 -0
- package/dist/fingerprints/akamai.d.ts.map +1 -0
- package/dist/fingerprints/akamai.js +30 -0
- package/dist/fingerprints/akamai.js.map +1 -0
- package/dist/fingerprints/database.d.ts +33 -0
- package/dist/fingerprints/database.d.ts.map +1 -0
- package/dist/fingerprints/database.js +68 -0
- package/dist/fingerprints/database.js.map +1 -0
- package/dist/fingerprints/extensions.d.ts +49 -0
- package/dist/fingerprints/extensions.d.ts.map +1 -0
- package/dist/fingerprints/extensions.js +178 -0
- package/dist/fingerprints/extensions.js.map +1 -0
- package/dist/fingerprints/ja3.d.ts +32 -0
- package/dist/fingerprints/ja3.d.ts.map +1 -0
- package/dist/fingerprints/ja3.js +64 -0
- package/dist/fingerprints/ja3.js.map +1 -0
- package/dist/fingerprints/profiles/chrome.d.ts +30 -0
- package/dist/fingerprints/profiles/chrome.d.ts.map +1 -0
- package/dist/fingerprints/profiles/chrome.js +202 -0
- package/dist/fingerprints/profiles/chrome.js.map +1 -0
- package/dist/fingerprints/profiles/edge.d.ts +16 -0
- package/dist/fingerprints/profiles/edge.d.ts.map +1 -0
- package/dist/fingerprints/profiles/edge.js +61 -0
- package/dist/fingerprints/profiles/edge.js.map +1 -0
- package/dist/fingerprints/profiles/firefox.d.ts +13 -0
- package/dist/fingerprints/profiles/firefox.d.ts.map +1 -0
- package/dist/fingerprints/profiles/firefox.js +160 -0
- package/dist/fingerprints/profiles/firefox.js.map +1 -0
- package/dist/fingerprints/profiles/safari.d.ts +16 -0
- package/dist/fingerprints/profiles/safari.d.ts.map +1 -0
- package/dist/fingerprints/profiles/safari.js +140 -0
- package/dist/fingerprints/profiles/safari.js.map +1 -0
- package/dist/fingerprints/profiles/tor.d.ts +14 -0
- package/dist/fingerprints/profiles/tor.d.ts.map +1 -0
- package/dist/fingerprints/profiles/tor.js +136 -0
- package/dist/fingerprints/profiles/tor.js.map +1 -0
- package/dist/fingerprints/types.d.ts +104 -0
- package/dist/fingerprints/types.d.ts.map +1 -0
- package/dist/fingerprints/types.js +9 -0
- package/dist/fingerprints/types.js.map +1 -0
- package/dist/http/h1/client.d.ts +21 -0
- package/dist/http/h1/client.d.ts.map +1 -0
- package/dist/http/h1/client.js +136 -0
- package/dist/http/h1/client.js.map +1 -0
- package/dist/http/h1/encoder.d.ts +11 -0
- package/dist/http/h1/encoder.d.ts.map +1 -0
- package/dist/http/h1/encoder.js +75 -0
- package/dist/http/h1/encoder.js.map +1 -0
- package/dist/http/h1/parser.d.ts +61 -0
- package/dist/http/h1/parser.d.ts.map +1 -0
- package/dist/http/h1/parser.js +258 -0
- package/dist/http/h1/parser.js.map +1 -0
- package/dist/http/h2/client.d.ts +48 -0
- package/dist/http/h2/client.d.ts.map +1 -0
- package/dist/http/h2/client.js +376 -0
- package/dist/http/h2/client.js.map +1 -0
- package/dist/http/h2/frames.d.ts +65 -0
- package/dist/http/h2/frames.d.ts.map +1 -0
- package/dist/http/h2/frames.js +184 -0
- package/dist/http/h2/frames.js.map +1 -0
- package/dist/http/h2/hpack.d.ts +27 -0
- package/dist/http/h2/hpack.d.ts.map +1 -0
- package/dist/http/h2/hpack.js +423 -0
- package/dist/http/h2/hpack.js.map +1 -0
- package/dist/http/negotiator.d.ts +36 -0
- package/dist/http/negotiator.d.ts.map +1 -0
- package/dist/http/negotiator.js +101 -0
- package/dist/http/negotiator.js.map +1 -0
- package/dist/http/pool.d.ts +63 -0
- package/dist/http/pool.d.ts.map +1 -0
- package/dist/http/pool.js +177 -0
- package/dist/http/pool.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/interceptor.d.ts +27 -0
- package/dist/middleware/interceptor.d.ts.map +1 -0
- package/dist/middleware/interceptor.js +35 -0
- package/dist/middleware/interceptor.js.map +1 -0
- package/dist/middleware/rate-limiter.d.ts +26 -0
- package/dist/middleware/rate-limiter.d.ts.map +1 -0
- package/dist/middleware/rate-limiter.js +59 -0
- package/dist/middleware/rate-limiter.js.map +1 -0
- package/dist/middleware/retry.d.ts +17 -0
- package/dist/middleware/retry.d.ts.map +1 -0
- package/dist/middleware/retry.js +64 -0
- package/dist/middleware/retry.js.map +1 -0
- package/dist/proxy/http-proxy.d.ts +23 -0
- package/dist/proxy/http-proxy.d.ts.map +1 -0
- package/dist/proxy/http-proxy.js +93 -0
- package/dist/proxy/http-proxy.js.map +1 -0
- package/dist/proxy/socks.d.ts +24 -0
- package/dist/proxy/socks.d.ts.map +1 -0
- package/dist/proxy/socks.js +196 -0
- package/dist/proxy/socks.js.map +1 -0
- package/dist/tls/constants.d.ts +142 -0
- package/dist/tls/constants.d.ts.map +1 -0
- package/dist/tls/constants.js +163 -0
- package/dist/tls/constants.js.map +1 -0
- package/dist/tls/node-engine.d.ts +22 -0
- package/dist/tls/node-engine.d.ts.map +1 -0
- package/dist/tls/node-engine.js +190 -0
- package/dist/tls/node-engine.js.map +1 -0
- package/dist/tls/stealth/client-hello.d.ts +38 -0
- package/dist/tls/stealth/client-hello.d.ts.map +1 -0
- package/dist/tls/stealth/client-hello.js +197 -0
- package/dist/tls/stealth/client-hello.js.map +1 -0
- package/dist/tls/stealth/engine.d.ts +16 -0
- package/dist/tls/stealth/engine.d.ts.map +1 -0
- package/dist/tls/stealth/engine.js +196 -0
- package/dist/tls/stealth/engine.js.map +1 -0
- package/dist/tls/stealth/handshake.d.ts +45 -0
- package/dist/tls/stealth/handshake.d.ts.map +1 -0
- package/dist/tls/stealth/handshake.js +403 -0
- package/dist/tls/stealth/handshake.js.map +1 -0
- package/dist/tls/stealth/key-schedule.d.ts +85 -0
- package/dist/tls/stealth/key-schedule.d.ts.map +1 -0
- package/dist/tls/stealth/key-schedule.js +141 -0
- package/dist/tls/stealth/key-schedule.js.map +1 -0
- package/dist/tls/stealth/record-layer.d.ts +74 -0
- package/dist/tls/stealth/record-layer.d.ts.map +1 -0
- package/dist/tls/stealth/record-layer.js +167 -0
- package/dist/tls/stealth/record-layer.js.map +1 -0
- package/dist/tls/types.d.ts +58 -0
- package/dist/tls/types.d.ts.map +1 -0
- package/dist/tls/types.js +6 -0
- package/dist/tls/types.js.map +1 -0
- package/dist/utils/buffer-reader.d.ts +32 -0
- package/dist/utils/buffer-reader.d.ts.map +1 -0
- package/dist/utils/buffer-reader.js +99 -0
- package/dist/utils/buffer-reader.js.map +1 -0
- package/dist/utils/buffer-writer.d.ts +35 -0
- package/dist/utils/buffer-writer.d.ts.map +1 -0
- package/dist/utils/buffer-writer.js +121 -0
- package/dist/utils/buffer-writer.js.map +1 -0
- package/dist/utils/encoding.d.ts +19 -0
- package/dist/utils/encoding.d.ts.map +1 -0
- package/dist/utils/encoding.js +63 -0
- package/dist/utils/encoding.js.map +1 -0
- package/dist/utils/logger.d.ts +24 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +56 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/url.d.ts +22 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.js +56 -0
- package/dist/utils/url.js.map +1 -0
- package/dist/ws/client.d.ts +63 -0
- package/dist/ws/client.d.ts.map +1 -0
- package/dist/ws/client.js +273 -0
- package/dist/ws/client.js.map +1 -0
- package/dist/ws/frame.d.ts +44 -0
- package/dist/ws/frame.d.ts.map +1 -0
- package/dist/ws/frame.js +146 -0
- package/dist/ws/frame.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NLcURL error hierarchy.
|
|
3
|
+
*
|
|
4
|
+
* All errors thrown by the library extend NLcURLError so callers can
|
|
5
|
+
* discriminate library faults from generic exceptions with a single
|
|
6
|
+
* instanceof check.
|
|
7
|
+
*/
|
|
8
|
+
export declare class NLcURLError extends Error {
|
|
9
|
+
readonly code: string;
|
|
10
|
+
constructor(message: string, code: string);
|
|
11
|
+
}
|
|
12
|
+
export declare class TLSError extends NLcURLError {
|
|
13
|
+
readonly alertCode?: number;
|
|
14
|
+
constructor(message: string, alertCode?: number);
|
|
15
|
+
}
|
|
16
|
+
export declare class HTTPError extends NLcURLError {
|
|
17
|
+
readonly statusCode: number;
|
|
18
|
+
constructor(message: string, statusCode: number);
|
|
19
|
+
}
|
|
20
|
+
export declare class TimeoutError extends NLcURLError {
|
|
21
|
+
readonly phase: 'connect' | 'tls' | 'response' | 'total';
|
|
22
|
+
constructor(message: string, phase: 'connect' | 'tls' | 'response' | 'total');
|
|
23
|
+
}
|
|
24
|
+
export declare class ProxyError extends NLcURLError {
|
|
25
|
+
constructor(message: string);
|
|
26
|
+
}
|
|
27
|
+
export declare class AbortError extends NLcURLError {
|
|
28
|
+
constructor(message?: string);
|
|
29
|
+
}
|
|
30
|
+
export declare class ConnectionError extends NLcURLError {
|
|
31
|
+
constructor(message: string);
|
|
32
|
+
}
|
|
33
|
+
export declare class ProtocolError extends NLcURLError {
|
|
34
|
+
constructor(message: string);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAM1C;AAED,qBAAa,QAAS,SAAQ,WAAW;IACvC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAKhD;AAED,qBAAa,SAAU,SAAQ,WAAW;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKhD;AAED,qBAAa,YAAa,SAAQ,WAAW;IAC3C,SAAgB,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC;gBAEpD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO;CAK7E;AAED,qBAAa,UAAW,SAAQ,WAAW;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,UAAW,SAAQ,WAAW;gBAC7B,OAAO,GAAE,MAA0B;CAIhD;AAED,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NLcURL error hierarchy.
|
|
3
|
+
*
|
|
4
|
+
* All errors thrown by the library extend NLcURLError so callers can
|
|
5
|
+
* discriminate library faults from generic exceptions with a single
|
|
6
|
+
* instanceof check.
|
|
7
|
+
*/
|
|
8
|
+
export class NLcURLError extends Error {
|
|
9
|
+
code;
|
|
10
|
+
constructor(message, code) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = 'NLcURLError';
|
|
13
|
+
this.code = code;
|
|
14
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class TLSError extends NLcURLError {
|
|
18
|
+
alertCode;
|
|
19
|
+
constructor(message, alertCode) {
|
|
20
|
+
super(message, 'ERR_TLS');
|
|
21
|
+
this.name = 'TLSError';
|
|
22
|
+
this.alertCode = alertCode;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class HTTPError extends NLcURLError {
|
|
26
|
+
statusCode;
|
|
27
|
+
constructor(message, statusCode) {
|
|
28
|
+
super(message, 'ERR_HTTP');
|
|
29
|
+
this.name = 'HTTPError';
|
|
30
|
+
this.statusCode = statusCode;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export class TimeoutError extends NLcURLError {
|
|
34
|
+
phase;
|
|
35
|
+
constructor(message, phase) {
|
|
36
|
+
super(message, 'ERR_TIMEOUT');
|
|
37
|
+
this.name = 'TimeoutError';
|
|
38
|
+
this.phase = phase;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export class ProxyError extends NLcURLError {
|
|
42
|
+
constructor(message) {
|
|
43
|
+
super(message, 'ERR_PROXY');
|
|
44
|
+
this.name = 'ProxyError';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class AbortError extends NLcURLError {
|
|
48
|
+
constructor(message = 'Request aborted') {
|
|
49
|
+
super(message, 'ERR_ABORTED');
|
|
50
|
+
this.name = 'AbortError';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class ConnectionError extends NLcURLError {
|
|
54
|
+
constructor(message) {
|
|
55
|
+
super(message, 'ERR_CONNECTION');
|
|
56
|
+
this.name = 'ConnectionError';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export class ProtocolError extends NLcURLError {
|
|
60
|
+
constructor(message) {
|
|
61
|
+
super(message, 'ERR_PROTOCOL');
|
|
62
|
+
this.name = 'ProtocolError';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpB,IAAI,CAAS;IAE7B,YAAY,OAAe,EAAE,IAAY;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,WAAW;IACvB,SAAS,CAAU;IAEnC,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxB,UAAU,CAAS;IAEnC,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3B,KAAK,CAA2C;IAEhE,YAAY,OAAe,EAAE,KAA+C;QAC1E,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,YAAY,UAAkB,iBAAiB;QAC7C,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request and configuration types for NLcURL.
|
|
3
|
+
*/
|
|
4
|
+
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS';
|
|
5
|
+
export interface RequestTimings {
|
|
6
|
+
/** Milliseconds from start to DNS lookup completion. */
|
|
7
|
+
dns: number;
|
|
8
|
+
/** Milliseconds from start to TCP connection established. */
|
|
9
|
+
connect: number;
|
|
10
|
+
/** Milliseconds from start to TLS handshake completed. */
|
|
11
|
+
tls: number;
|
|
12
|
+
/** Milliseconds from start to first byte received. */
|
|
13
|
+
firstByte: number;
|
|
14
|
+
/** Milliseconds total. */
|
|
15
|
+
total: number;
|
|
16
|
+
}
|
|
17
|
+
export interface TimeoutConfig {
|
|
18
|
+
/** TCP connect timeout in milliseconds. */
|
|
19
|
+
connect?: number;
|
|
20
|
+
/** TLS handshake timeout in milliseconds. */
|
|
21
|
+
tls?: number;
|
|
22
|
+
/** Time to first byte timeout in milliseconds. */
|
|
23
|
+
response?: number;
|
|
24
|
+
/** Total request timeout in milliseconds. */
|
|
25
|
+
total?: number;
|
|
26
|
+
}
|
|
27
|
+
export type RequestBody = string | Buffer | URLSearchParams | Record<string, unknown> | ReadableStream<Uint8Array> | null;
|
|
28
|
+
export interface NLcURLRequest {
|
|
29
|
+
url: string;
|
|
30
|
+
method?: HttpMethod;
|
|
31
|
+
headers?: Record<string, string>;
|
|
32
|
+
body?: RequestBody;
|
|
33
|
+
timeout?: number | TimeoutConfig;
|
|
34
|
+
signal?: AbortSignal;
|
|
35
|
+
/** Browser profile name to impersonate, e.g. "chrome136", "firefox135". */
|
|
36
|
+
impersonate?: string;
|
|
37
|
+
/** Custom JA3 fingerprint string. Overrides profile TLS settings. */
|
|
38
|
+
ja3?: string;
|
|
39
|
+
/** Custom Akamai HTTP/2 fingerprint string. Overrides profile h2 settings. */
|
|
40
|
+
akamai?: string;
|
|
41
|
+
/** Use stealth TLS engine for byte-level ClientHello control. */
|
|
42
|
+
stealth?: boolean;
|
|
43
|
+
/** Follow redirects. Default: true. */
|
|
44
|
+
followRedirects?: boolean;
|
|
45
|
+
/** Maximum number of redirects to follow. Default: 20. */
|
|
46
|
+
maxRedirects?: number;
|
|
47
|
+
/** Skip TLS certificate verification. Default: false. */
|
|
48
|
+
insecure?: boolean;
|
|
49
|
+
/** Proxy URL (http, https, socks4, socks5). */
|
|
50
|
+
proxy?: string;
|
|
51
|
+
/** Proxy authentication as [username, password]. */
|
|
52
|
+
proxyAuth?: [string, string];
|
|
53
|
+
/** Force HTTP version: "1.1" or "2". */
|
|
54
|
+
httpVersion?: '1.1' | '2';
|
|
55
|
+
/** Base URL prepended to relative URLs. */
|
|
56
|
+
baseURL?: string;
|
|
57
|
+
/** Query parameters merged into the URL. */
|
|
58
|
+
params?: Record<string, string | number | boolean>;
|
|
59
|
+
/** Cookie jar instance or boolean to enable automatic cookie management. */
|
|
60
|
+
cookieJar?: boolean | string;
|
|
61
|
+
/** Accept-Encoding. Default: "gzip, deflate, br". */
|
|
62
|
+
acceptEncoding?: string;
|
|
63
|
+
/** Extra header ordering hint, if the profile needs headers in exact order. */
|
|
64
|
+
headerOrder?: string[];
|
|
65
|
+
}
|
|
66
|
+
export interface RetryConfig {
|
|
67
|
+
/** Number of retry attempts. Default: 0. */
|
|
68
|
+
count: number;
|
|
69
|
+
/** Base delay in milliseconds between retries. Default: 1000. */
|
|
70
|
+
delay: number;
|
|
71
|
+
/** Backoff strategy. Default: "exponential". */
|
|
72
|
+
backoff: 'linear' | 'exponential';
|
|
73
|
+
/** Maximum random jitter in milliseconds added to each delay. Default: 200. */
|
|
74
|
+
jitter: number;
|
|
75
|
+
/** Predicate to decide whether to retry. */
|
|
76
|
+
retryOn?: (error: Error | null, statusCode?: number) => boolean;
|
|
77
|
+
}
|
|
78
|
+
export interface NLcURLSessionConfig {
|
|
79
|
+
baseURL?: string;
|
|
80
|
+
headers?: Record<string, string>;
|
|
81
|
+
timeout?: number | TimeoutConfig;
|
|
82
|
+
impersonate?: string;
|
|
83
|
+
ja3?: string;
|
|
84
|
+
akamai?: string;
|
|
85
|
+
stealth?: boolean;
|
|
86
|
+
proxy?: string;
|
|
87
|
+
proxyAuth?: [string, string];
|
|
88
|
+
followRedirects?: boolean;
|
|
89
|
+
maxRedirects?: number;
|
|
90
|
+
insecure?: boolean;
|
|
91
|
+
httpVersion?: '1.1' | '2';
|
|
92
|
+
cookieJar?: boolean | string;
|
|
93
|
+
retry?: Partial<RetryConfig>;
|
|
94
|
+
acceptEncoding?: string;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/core/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/core/request.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NLcURL response model.
|
|
3
|
+
*/
|
|
4
|
+
import type { RequestTimings, HttpMethod } from './request.js';
|
|
5
|
+
export interface ResponseMeta {
|
|
6
|
+
url: string;
|
|
7
|
+
method: HttpMethod;
|
|
8
|
+
headers: Record<string, string>;
|
|
9
|
+
command?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class NLcURLResponse<T = unknown> {
|
|
12
|
+
readonly status: number;
|
|
13
|
+
readonly statusText: string;
|
|
14
|
+
readonly headers: Record<string, string>;
|
|
15
|
+
/** Raw header pairs preserving duplicates (e.g. multiple Set-Cookie). */
|
|
16
|
+
readonly rawHeaders: Array<[string, string]>;
|
|
17
|
+
readonly rawBody: Buffer;
|
|
18
|
+
readonly httpVersion: string;
|
|
19
|
+
readonly url: string;
|
|
20
|
+
readonly redirectCount: number;
|
|
21
|
+
readonly timings: RequestTimings;
|
|
22
|
+
readonly request: ResponseMeta;
|
|
23
|
+
private _json;
|
|
24
|
+
private _text;
|
|
25
|
+
constructor(init: {
|
|
26
|
+
status: number;
|
|
27
|
+
statusText: string;
|
|
28
|
+
headers: Record<string, string>;
|
|
29
|
+
rawHeaders?: Array<[string, string]>;
|
|
30
|
+
rawBody: Buffer;
|
|
31
|
+
httpVersion: string;
|
|
32
|
+
url: string;
|
|
33
|
+
redirectCount: number;
|
|
34
|
+
timings: RequestTimings;
|
|
35
|
+
request: ResponseMeta;
|
|
36
|
+
});
|
|
37
|
+
/** Whether the status code is 2xx. */
|
|
38
|
+
get ok(): boolean;
|
|
39
|
+
/** Decode the body as UTF-8 text. Result is cached. */
|
|
40
|
+
text(): string;
|
|
41
|
+
/** Parse the body as JSON. Result is cached. Throws on invalid JSON. */
|
|
42
|
+
json<R = T>(): R;
|
|
43
|
+
/** Content-Length as reported by the server, or the actual body size. */
|
|
44
|
+
get contentLength(): number;
|
|
45
|
+
/** Shorthand for the content-type header value. */
|
|
46
|
+
get contentType(): string;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAc,CAAC,CAAC,GAAG,OAAO;IACrC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,yEAAyE;IACzE,SAAgB,UAAU,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,SAAgB,OAAO,EAAE,YAAY,CAAC;IAEtC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAqB;gBAEtB,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACrC,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,YAAY,CAAC;KACvB;IAaD,sCAAsC;IACtC,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,uDAAuD;IACvD,IAAI,IAAI,MAAM;IASd,wEAAwE;IACxE,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAOhB,yEAAyE;IACzE,IAAI,aAAa,IAAI,MAAM,CAO1B;IAED,mDAAmD;IACnD,IAAI,WAAW,IAAI,MAAM,CAExB;CACF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NLcURL response model.
|
|
3
|
+
*/
|
|
4
|
+
export class NLcURLResponse {
|
|
5
|
+
status;
|
|
6
|
+
statusText;
|
|
7
|
+
headers;
|
|
8
|
+
/** Raw header pairs preserving duplicates (e.g. multiple Set-Cookie). */
|
|
9
|
+
rawHeaders;
|
|
10
|
+
rawBody;
|
|
11
|
+
httpVersion;
|
|
12
|
+
url;
|
|
13
|
+
redirectCount;
|
|
14
|
+
timings;
|
|
15
|
+
request;
|
|
16
|
+
_json;
|
|
17
|
+
_text;
|
|
18
|
+
constructor(init) {
|
|
19
|
+
this.status = init.status;
|
|
20
|
+
this.statusText = init.statusText;
|
|
21
|
+
this.headers = init.headers;
|
|
22
|
+
this.rawHeaders = init.rawHeaders ?? Object.entries(init.headers);
|
|
23
|
+
this.rawBody = init.rawBody;
|
|
24
|
+
this.httpVersion = init.httpVersion;
|
|
25
|
+
this.url = init.url;
|
|
26
|
+
this.redirectCount = init.redirectCount;
|
|
27
|
+
this.timings = init.timings;
|
|
28
|
+
this.request = init.request;
|
|
29
|
+
}
|
|
30
|
+
/** Whether the status code is 2xx. */
|
|
31
|
+
get ok() {
|
|
32
|
+
return this.status >= 200 && this.status < 300;
|
|
33
|
+
}
|
|
34
|
+
/** Decode the body as UTF-8 text. Result is cached. */
|
|
35
|
+
text() {
|
|
36
|
+
let cached = this._text;
|
|
37
|
+
if (cached === undefined) {
|
|
38
|
+
cached = this.rawBody.toString('utf8');
|
|
39
|
+
this._text = cached;
|
|
40
|
+
}
|
|
41
|
+
return cached;
|
|
42
|
+
}
|
|
43
|
+
/** Parse the body as JSON. Result is cached. Throws on invalid JSON. */
|
|
44
|
+
json() {
|
|
45
|
+
if (this._json === undefined) {
|
|
46
|
+
this._json = JSON.parse(this.text());
|
|
47
|
+
}
|
|
48
|
+
return this._json;
|
|
49
|
+
}
|
|
50
|
+
/** Content-Length as reported by the server, or the actual body size. */
|
|
51
|
+
get contentLength() {
|
|
52
|
+
const cl = this.headers['content-length'];
|
|
53
|
+
if (cl !== undefined) {
|
|
54
|
+
const n = parseInt(cl, 10);
|
|
55
|
+
if (!Number.isNaN(n))
|
|
56
|
+
return n;
|
|
57
|
+
}
|
|
58
|
+
return this.rawBody.length;
|
|
59
|
+
}
|
|
60
|
+
/** Shorthand for the content-type header value. */
|
|
61
|
+
get contentType() {
|
|
62
|
+
return this.headers['content-type'] ?? '';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,OAAO,cAAc;IACT,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,OAAO,CAAyB;IAChD,yEAAyE;IACzD,UAAU,CAA0B;IACpC,OAAO,CAAS;IAChB,WAAW,CAAS;IACpB,GAAG,CAAS;IACZ,aAAa,CAAS;IACtB,OAAO,CAAiB;IACxB,OAAO,CAAe;IAE9B,KAAK,CAAgB;IACrB,KAAK,CAAqB;IAElC,YAAY,IAWX;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,sCAAsC;IACtC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACjD,CAAC;IAED,uDAAuD;IACvD,IAAI;QACF,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wEAAwE;IACxE,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,KAAU,CAAC;IACzB,CAAC;IAED,yEAAyE;IACzE,IAAI,aAAa;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NLcURL Session.
|
|
3
|
+
*
|
|
4
|
+
* A persistent session that maintains cookies, connection pools,
|
|
5
|
+
* default configuration, and middleware across multiple requests.
|
|
6
|
+
*/
|
|
7
|
+
import type { NLcURLRequest, NLcURLSessionConfig, RequestBody } from './request.js';
|
|
8
|
+
import { NLcURLResponse } from './response.js';
|
|
9
|
+
import { CookieJar } from '../cookies/jar.js';
|
|
10
|
+
import { type RequestInterceptor, type ResponseInterceptor } from '../middleware/interceptor.js';
|
|
11
|
+
import { type RateLimitConfig } from '../middleware/rate-limiter.js';
|
|
12
|
+
/**
|
|
13
|
+
* Convenience options for HTTP method shortcuts.
|
|
14
|
+
*/
|
|
15
|
+
export type RequestOptions = Omit<NLcURLRequest, 'url' | 'method' | 'body'>;
|
|
16
|
+
export declare class NLcURLSession {
|
|
17
|
+
private readonly config;
|
|
18
|
+
private readonly negotiator;
|
|
19
|
+
private readonly cookieJar;
|
|
20
|
+
private readonly interceptors;
|
|
21
|
+
private rateLimiter;
|
|
22
|
+
private closed;
|
|
23
|
+
constructor(config?: NLcURLSessionConfig);
|
|
24
|
+
/**
|
|
25
|
+
* Register a request interceptor.
|
|
26
|
+
*
|
|
27
|
+
* Interceptors run before dispatch and may modify the outgoing request.
|
|
28
|
+
*/
|
|
29
|
+
onRequest(fn: RequestInterceptor): this;
|
|
30
|
+
/**
|
|
31
|
+
* Register a response interceptor.
|
|
32
|
+
*
|
|
33
|
+
* Interceptors run after a response is received and may transform it.
|
|
34
|
+
*/
|
|
35
|
+
onResponse(fn: ResponseInterceptor): this;
|
|
36
|
+
/**
|
|
37
|
+
* Enable per-session rate limiting.
|
|
38
|
+
*/
|
|
39
|
+
setRateLimit(config: RateLimitConfig): this;
|
|
40
|
+
get(url: string, options?: RequestOptions): Promise<NLcURLResponse>;
|
|
41
|
+
post(url: string, body?: RequestBody, options?: RequestOptions): Promise<NLcURLResponse>;
|
|
42
|
+
put(url: string, body?: RequestBody, options?: RequestOptions): Promise<NLcURLResponse>;
|
|
43
|
+
patch(url: string, body?: RequestBody, options?: RequestOptions): Promise<NLcURLResponse>;
|
|
44
|
+
delete(url: string, options?: RequestOptions): Promise<NLcURLResponse>;
|
|
45
|
+
head(url: string, options?: RequestOptions): Promise<NLcURLResponse>;
|
|
46
|
+
options(url: string, options?: RequestOptions): Promise<NLcURLResponse>;
|
|
47
|
+
request(input: NLcURLRequest): Promise<NLcURLResponse>;
|
|
48
|
+
/**
|
|
49
|
+
* Return the session cookie jar, or `null` when cookie management is disabled.
|
|
50
|
+
*/
|
|
51
|
+
getCookies(): CookieJar | null;
|
|
52
|
+
/**
|
|
53
|
+
* Close the session and release pooled connections.
|
|
54
|
+
*/
|
|
55
|
+
close(): void;
|
|
56
|
+
private mergeDefaults;
|
|
57
|
+
private resolveProfile;
|
|
58
|
+
private executeWithRedirects;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAGnB,WAAW,EAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAoB,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAMlF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;AAE5E,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,mBAAwB;IAiB5C;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAKvC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAKzC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAO3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAInE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIxF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIvF,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIzF,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAItE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAMjE,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA2C5D;;OAEG;IACH,UAAU,IAAI,SAAS,GAAG,IAAI;IAM9B;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,aAAa;IA4DrB,OAAO,CAAC,cAAc;YAYR,oBAAoB;CA+HnC"}
|