@meterapp/car-image-sdk 1.1.0 → 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/README.md +62 -14
- package/dist/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +21 -3
- package/dist/client.js.map +1 -1
- package/dist/mcp/index.d.ts +595 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +383 -23
- package/dist/mcp/index.js.map +1 -1
- package/dist/params.d.ts.map +1 -1
- package/dist/params.js +28 -1
- package/dist/params.js.map +1 -1
- package/dist/types.d.ts +137 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,6 +6,7 @@ TypeScript SDK for the **Car Image API** by Meter — studio-quality, transparen
|
|
|
6
6
|
- Typed parameters and responses for every endpoint.
|
|
7
7
|
- `CarImageError` carries `status`, `title`, `detail`, `requestId` and the raw RFC 9457 problem.
|
|
8
8
|
- Automatic retries with full jitter on `429`/`503` (honoring `Retry-After`); never retries `402`.
|
|
9
|
+
- Signed-URL creation carries an `Idempotency-Key`, so a retried `POST` replays instead of billing twice.
|
|
9
10
|
- Shared MCP tool definitions (`@meterapp/car-image-sdk/mcp`) used by both the stdio and the remote MCP servers.
|
|
10
11
|
|
|
11
12
|
```bash
|
|
@@ -30,10 +31,10 @@ const image = await client.getImage({
|
|
|
30
31
|
make: "Porsche",
|
|
31
32
|
model: "911",
|
|
32
33
|
year: 2024,
|
|
33
|
-
view: "front-3-4",
|
|
34
|
-
color: "red",
|
|
35
|
-
size: "medium",
|
|
36
|
-
format: "png",
|
|
34
|
+
view: "front-3-4", // front | front-3-4 | side | side-right | rear | rear-3-4
|
|
35
|
+
color: "red", // 15 presets: white black gray silver blue red green brown beige tan orange yellow gold burgundy purple
|
|
36
|
+
size: "medium", // thumb=256 small=512 medium=768 large=1024 — or width/height, 1–1024 px each
|
|
37
|
+
format: "png", // png | webp | jpg | auto (auto negotiates WebP or PNG from the Accept header)
|
|
37
38
|
});
|
|
38
39
|
|
|
39
40
|
await writeFile("porsche-911.png", image.bytes);
|
|
@@ -42,6 +43,34 @@ console.log(image.source, image.creditsCharged, image.creditsRemaining, image.re
|
|
|
42
43
|
|
|
43
44
|
`apiKey` and `baseUrl` fall back to `CAR_IMAGE_API_KEY` / `CAR_IMAGE_API_URL` when running on a server.
|
|
44
45
|
|
|
46
|
+
## Sizing, backgrounds and trimming
|
|
47
|
+
|
|
48
|
+
Six views, fifteen colors, PNG/WebP/JPG up to 1024 px — delivered at whatever box your layout needs.
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
await client.getImage({
|
|
52
|
+
make: "BMW", model: "M3", year: 2022, view: "side",
|
|
53
|
+
width: 600, height: 400, // exactly 600×400 (it used to come back square)
|
|
54
|
+
fit: "contain", // contain | cover | inside; default contain
|
|
55
|
+
trim: true, // crop to the car's own bounds first, so it fills the box
|
|
56
|
+
padding: 8, // 0–50 % of the trimmed car's longer side; only with trim
|
|
57
|
+
background: "#f4f4f4", // transparent (default) | white | black | rrggbb | #rrggbb | rgb | #rgb
|
|
58
|
+
format: "webp",
|
|
59
|
+
});
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
| Parameter | Values | What it does |
|
|
63
|
+
| --- | --- | --- |
|
|
64
|
+
| `size` | `thumb` 256 · `small` 512 · `medium` 768 · `large` 1024 | Square presets; shorthand for `width`. |
|
|
65
|
+
| `width`, `height` | 1–1024 px each | One dimension keeps the aspect ratio. Both together give exactly `width`×`height` (see `fit`). Nothing is upscaled past 1024. |
|
|
66
|
+
| `fit` | `contain` (default) · `cover` · `inside` | Only matters with both dimensions. `contain` returns exactly the box with the whole car and transparent (or `background`) padding; `cover` fills the box and centre-crops; `inside` keeps the car within the box and may return a smaller image — the old behaviour. |
|
|
67
|
+
| `background` | `transparent` (default) · `white` · `black` · hex as `rrggbb`, `#rrggbb`, `rgb` or `#rgb` | A solid background flattens PNG and WebP too. `jpg` cannot be transparent and defaults to white. |
|
|
68
|
+
| `trim` | `true` | Crops to the car's alpha bounds before sizing so it fills the box instead of floating in the square source frame. Recommended for non-square layouts. |
|
|
69
|
+
| `padding` | 0–50 | Margin around a trimmed car, as a percentage of its longer side. Only with `trim`. |
|
|
70
|
+
| `format` | `png` (default) · `webp` · `jpg` · `auto` | `auto` picks WebP for clients whose `Accept` header lists it and PNG otherwise (`Vary: Accept`); a signed URL created with `auto` negotiates on every load. |
|
|
71
|
+
|
|
72
|
+
The same parameters apply to `getImageUrl` and to every entry of `createImageUrls`; the returned `vehicle` echoes `fit`, `background`, `trim` and `padding` back. `assertImageParams` (and therefore every call) rejects a `padding` without `trim` and dimensions outside 1–1024 before anything is sent.
|
|
73
|
+
|
|
45
74
|
## Next.js route handler
|
|
46
75
|
|
|
47
76
|
Keep the key on the server; hand the browser signed URLs.
|
|
@@ -55,7 +84,7 @@ const client = new CarImageClient({ apiKey: process.env.CAR_IMAGE_API_KEY });
|
|
|
55
84
|
export async function POST(request: Request) {
|
|
56
85
|
const { make, model, year } = await request.json();
|
|
57
86
|
try {
|
|
58
|
-
const { data } = await client.createImageUrls([{ make, model, year, view: "side" }], {
|
|
87
|
+
const { data } = await client.createImageUrls([{ make, model, year, view: "side", width: 768, height: 432, trim: true }], {
|
|
59
88
|
ttlSeconds: 24 * 60 * 60, // 1 minute to 7 days
|
|
60
89
|
maxUses: 0, // 0 = unlimited redemptions until expiry
|
|
61
90
|
});
|
|
@@ -74,17 +103,27 @@ export async function POST(request: Request) {
|
|
|
74
103
|
Never ship the API key to a browser. Create signed URLs server-side (above) and use them like any image:
|
|
75
104
|
|
|
76
105
|
```html
|
|
77
|
-
<img src="https://carimage.dev/api/v1/delivery/…" alt="2024 Porsche 911, side view" />
|
|
106
|
+
<img src="https://carimage.dev/api/v1/delivery/…" alt="2024 Porsche 911, side view" width="768" height="432" />
|
|
78
107
|
```
|
|
79
108
|
|
|
80
109
|
The SDK itself is browser-safe (no Node APIs), which is useful for public endpoints such as `options()`, `vehicles()` and `searchVehicles()` that need no key.
|
|
81
110
|
|
|
111
|
+
## Idempotent URL creation
|
|
112
|
+
|
|
113
|
+
`POST /api/v1/image-urls` accepts an `Idempotency-Key` header (1–255 characters of `A–Z a–z 0–9 . _ : -`). The same key with the same body within 24 hours replays the first response, marked `Idempotent-Replayed: true`, instead of minting and billing a second batch. The same key with a different body is answered `422`; a retry that arrives while the first request is still running gets `409` with `Retry-After`.
|
|
114
|
+
|
|
115
|
+
The SDK sends a generated key (`sdk_<uuid>`) on every `createImageUrls` call, so its own retries — including a `POST` whose connection dropped — are always safe. Pass your own to make retries across processes safe too:
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
await client.createImageUrls(images, { ttlSeconds: 604_800, idempotencyKey: `order-${order.id}` });
|
|
119
|
+
```
|
|
120
|
+
|
|
82
121
|
## Everything else
|
|
83
122
|
|
|
84
123
|
```ts
|
|
85
124
|
await client.getImageUrl(params); // 1 credit, returns a signed URL instead of bytes
|
|
86
|
-
await client.options(); // views, colors, sizes, formats, pricing, catalog coverage
|
|
87
|
-
await client.resolve("red 2024 porsche 911 side view"); // free text -> { make, model, year, view, color } + candidates
|
|
125
|
+
await client.options(); // views, colors, sizes, fits, backgrounds, trim limits, formats, pricing, catalog coverage
|
|
126
|
+
await client.resolve("red 2024 porsche 911 side view"); // free text -> { make, model, year, view, color } + candidates + confidence high|medium|low
|
|
88
127
|
await client.vehicles(); // years
|
|
89
128
|
await client.vehicles({ year: 2024 }); // makes for a year
|
|
90
129
|
await client.vehicles({ year: 2024, makeId: 7 }); // models for a year + make
|
|
@@ -99,6 +138,8 @@ await client.openapi(); // the OpenAPI 3.1 docum
|
|
|
99
138
|
await client.fetch("/api/v1/account"); // authenticated raw fetch (same-origin only)
|
|
100
139
|
```
|
|
101
140
|
|
|
141
|
+
`createImageUrls(images, options)` takes 1–50 images and `{ ttlSeconds, maxUses, renew, renewDays, idempotencyKey }`. With `renew: true` a URL keeps serving past its TTL at one more credit per opened window of `ttlSeconds`, until `renewDays` (1–365, default 365) — for email, CMS pages and documents that outlive a TTL. `resolve()` returns a `confidence` of `"high"`, `"medium"` or `"low"`; ask the human before spending a credit on `low`.
|
|
142
|
+
|
|
102
143
|
## Requests & feedback
|
|
103
144
|
|
|
104
145
|
Missing a vehicle, or want a feature? File it from code — every call here is free. Listing and reading need no key; creating, voting and commenting do.
|
|
@@ -132,12 +173,12 @@ try {
|
|
|
132
173
|
await client.getImage({ make: "Porsche", model: "911", year: 2024 });
|
|
133
174
|
} catch (error) {
|
|
134
175
|
if (error instanceof CarImageError) {
|
|
135
|
-
error.status; // 400 | 401 | 402 | 404 | 429 | 502 | 0 (network)
|
|
176
|
+
error.status; // 400 | 401 | 402 | 404 | 409 | 422 | 429 | 502 | 0 (network)
|
|
136
177
|
error.title; // "Insufficient credits"
|
|
137
178
|
error.detail; // "This request needs 1 credit; balance is 0"
|
|
138
179
|
error.requestId; // "0d1e…" — quote this when contacting support
|
|
139
180
|
error.problem; // the raw application/problem+json body (402 includes balance, required_credits)
|
|
140
|
-
error.retryAfterSeconds; // set on 429
|
|
181
|
+
error.retryAfterSeconds; // set on 429, and on a 409 Idempotency-Key conflict
|
|
141
182
|
if (error.isInsufficientCredits) {
|
|
142
183
|
// Send a human to https://carimage.dev/dashboard?ref=npm-sdk#billing — never buy credits automatically.
|
|
143
184
|
}
|
|
@@ -145,19 +186,26 @@ try {
|
|
|
145
186
|
}
|
|
146
187
|
```
|
|
147
188
|
|
|
148
|
-
Retries: `429` and `503` are retried up to `maxRetries` (default 2) with full-jitter exponential backoff, honoring `Retry-After`. Network failures are retried for `GET`
|
|
189
|
+
Retries: `429` and `503` are retried up to `maxRetries` (default 2) with full-jitter exponential backoff, honoring `Retry-After`. Network failures are retried for `GET` and for a `POST` sent under an `Idempotency-Key` (which `createImageUrls` always is); any other `POST` is never duplicated. Configure with `new CarImageClient({ maxRetries, retryBaseDelayMs, maxRetryDelayMs, timeoutMs })` or per call via `{ retries }`.
|
|
149
190
|
|
|
150
191
|
## MCP tool definitions
|
|
151
192
|
|
|
152
|
-
`@meterapp/car-image-sdk/mcp` exports the tool names, zod input schemas, descriptions, annotations and the server instructions shared by the `car-image mcp` stdio server and the remote server at `https://carimage.dev/api/mcp`. It needs `zod` (an optional peer dependency); the main entry point does not.
|
|
193
|
+
`@meterapp/car-image-sdk/mcp` exports the tool names, zod input and output schemas, descriptions, annotations and the server instructions shared by the `car-image mcp` stdio server and the remote server at `https://carimage.dev/api/mcp`. It needs `zod` (an optional peer dependency); the main entry point does not.
|
|
153
194
|
|
|
154
195
|
```ts
|
|
155
|
-
import {
|
|
196
|
+
import {
|
|
197
|
+
MCP_TOOLS, MCP_TOOL_OUTPUT_SCHEMAS, formatApiReference,
|
|
198
|
+
MCP_TOOLSETS, DEFAULT_MCP_TOOLSET, isMcpToolset, mcpInstructions, type McpToolset,
|
|
199
|
+
} from "@meterapp/car-image-sdk/mcp";
|
|
156
200
|
```
|
|
157
201
|
|
|
202
|
+
Tools come in two sets. `MCP_TOOLSETS.core` (`DEFAULT_MCP_TOOLSET`, `"core"`) is the eight an agent needs to find, render and embed a car: `get_car_image`, `create_car_image_urls`, `search_vehicles`, `resolve_vehicle`, `list_image_options`, `get_account`, `rate_image`, `describe_api`. `MCP_TOOLSETS.all` adds the request board and the two "about you" tools: `list_requests`, `request_vehicle`, `request_feature`, `get_request`, `upvote_request`, `comment_on_request`, `share_building`, `share_referral`. The hosted server exposes `core` at `https://carimage.dev/api/mcp` and `all` at `https://carimage.dev/api/mcp?toolset=all`; the stdio server takes `car-image mcp --toolset all`. `mcpInstructions(toolset)` returns the matching server instructions (`MCP_INSTRUCTIONS` is the `all` text) and `isMcpToolset(value)` validates a name from a URL or a flag.
|
|
203
|
+
|
|
204
|
+
`get_car_image` and each `create_car_image_urls` entry take `fit`, `background`, `trim` and `padding` alongside the vehicle, view, color, size and format; `create_car_image_urls` also honors `renew` and `renew_days`. Every tool but `describe_api`, whose result is the reference prose itself, advertises an `outputSchema` and returns `structuredContent` that matches it, so a host can hand the model typed data instead of re-parsing the text block. The schemas allow unknown fields: the payloads mirror the REST API and gain fields as it grows.
|
|
205
|
+
|
|
158
206
|
## Types
|
|
159
207
|
|
|
160
|
-
`View`, `Color`, `Size`, `Format`, `ImageParams`, `ImageResult`, `CreateImageUrlsResponse`, `OptionsResponse`, `ResolveResponse`, `VehicleSearchResponse`, `AccountResponse`, `RequestRecord`, `RequestComment`, `CreateRequestInput`, `ReferralSource`, … plus the constant arrays `VIEWS`, `COLORS`, `SIZES`, `FORMATS`, `REQUEST_STATUSES`, `REFERRAL_SOURCES
|
|
208
|
+
`View`, `Color`, `Size`, `Format`, `RequestFormat`, `Fit`, `ImageParams`, `ImageResult`, `CreateImageUrlsOptions`, `CreateImageUrlsResponse`, `OptionsResponse`, `FitOption`, `ResolveResponse`, `ResolveConfidence` (`"high" | "medium" | "low"`), `VehicleSearchResponse`, `AccountResponse`, `RequestRecord`, `RequestComment`, `CreateRequestInput`, `ReferralSource`, … plus the constant arrays `VIEWS`, `COLORS`, `SIZES`, `FORMATS`, `REQUEST_FORMATS` (the formats plus `auto`), `FITS`, `REQUEST_STATUSES`, `REFERRAL_SOURCES` and the limits `MAX_DIMENSION` (1024) and `MAX_PADDING_PERCENT` (50).
|
|
161
209
|
|
|
162
210
|
## License
|
|
163
211
|
|
package/dist/client.d.ts
CHANGED
|
@@ -54,7 +54,8 @@ export declare class CarImageClient {
|
|
|
54
54
|
getImageUrl(params: ImageParams, options?: RequestOptions): Promise<ImageUrlResponse>;
|
|
55
55
|
/**
|
|
56
56
|
* POST /api/v1/image-urls — 1 credit per URL, charged at creation. Up to 50
|
|
57
|
-
* images per call. Redemptions are free within the TTL
|
|
57
|
+
* images per call. Redemptions are free within the TTL; with `renew: true`
|
|
58
|
+
* the URL keeps serving afterwards at one credit per opened window.
|
|
58
59
|
*/
|
|
59
60
|
createImageUrls(images: ImageParams | ImageParams[], options?: CreateImageUrlsOptions & RequestOptions): Promise<CreateImageUrlsResponse>;
|
|
60
61
|
/** GET /api/v1/images/options — public; views, colors, sizes, formats, pricing, catalog. */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,qBAAqB;IACpC,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -28,6 +28,11 @@ function requestPath(id) {
|
|
|
28
28
|
function defaultSleep(ms) {
|
|
29
29
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
30
30
|
}
|
|
31
|
+
/** A fresh Idempotency-Key from Web Crypto; null where no secure randomness exists. */
|
|
32
|
+
function generateIdempotencyKey() {
|
|
33
|
+
const webCrypto = globalThis.crypto;
|
|
34
|
+
return typeof webCrypto?.randomUUID === "function" ? `sdk_${webCrypto.randomUUID()}` : null;
|
|
35
|
+
}
|
|
31
36
|
/**
|
|
32
37
|
* Client for the Car Image API. Safe for Node 20+, edge runtimes and browsers
|
|
33
38
|
* (in browsers, prefer signed delivery URLs created server-side so the API key
|
|
@@ -109,21 +114,33 @@ export class CarImageClient {
|
|
|
109
114
|
}
|
|
110
115
|
/**
|
|
111
116
|
* POST /api/v1/image-urls — 1 credit per URL, charged at creation. Up to 50
|
|
112
|
-
* images per call. Redemptions are free within the TTL
|
|
117
|
+
* images per call. Redemptions are free within the TTL; with `renew: true`
|
|
118
|
+
* the URL keeps serving afterwards at one credit per opened window.
|
|
113
119
|
*/
|
|
114
120
|
async createImageUrls(images, options = {}) {
|
|
115
121
|
const list = Array.isArray(images) ? images : [images];
|
|
116
122
|
if (list.length < 1 || list.length > 50) {
|
|
117
123
|
throw new RangeError(`createImageUrls accepts 1 to 50 images (received ${list.length})`);
|
|
118
124
|
}
|
|
119
|
-
const { ttlSeconds, maxUses, ...request } = options;
|
|
125
|
+
const { ttlSeconds, maxUses, renew, renewDays, idempotencyKey, ...request } = options;
|
|
120
126
|
const body = { images: list.map(imageRequestBody) };
|
|
121
127
|
if (ttlSeconds !== undefined)
|
|
122
128
|
body.ttl_seconds = ttlSeconds;
|
|
123
129
|
if (maxUses !== undefined)
|
|
124
130
|
body.max_uses = maxUses;
|
|
131
|
+
if (renew !== undefined)
|
|
132
|
+
body.renew = renew;
|
|
133
|
+
if (renewDays !== undefined)
|
|
134
|
+
body.renew_days = renewDays;
|
|
135
|
+
// Every call carries an Idempotency-Key, so a retry after a dropped
|
|
136
|
+
// connection replays the answer instead of buying a second batch.
|
|
137
|
+
const key = idempotencyKey ?? generateIdempotencyKey();
|
|
138
|
+
const headers = { ...request.headers };
|
|
139
|
+
if (key)
|
|
140
|
+
headers["Idempotency-Key"] = key;
|
|
125
141
|
const response = await this.send("/api/v1/image-urls", {
|
|
126
142
|
...request,
|
|
143
|
+
headers,
|
|
127
144
|
method: "POST",
|
|
128
145
|
body: JSON.stringify(body),
|
|
129
146
|
});
|
|
@@ -473,7 +490,8 @@ export class CarImageClient {
|
|
|
473
490
|
}
|
|
474
491
|
const retries = Math.max(0, options.retries ?? this.maxRetries);
|
|
475
492
|
const url = this.url(path);
|
|
476
|
-
|
|
493
|
+
// A POST under an Idempotency-Key is as safe to repeat as a GET.
|
|
494
|
+
const idempotent = method === "GET" || method === "HEAD" || headers.has("idempotency-key");
|
|
477
495
|
for (let attempt = 0;; attempt += 1) {
|
|
478
496
|
let response;
|
|
479
497
|
try {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAmCjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAwC3C,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,IAAI,GAAI,UAAoC,CAAC,OAAO,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,OAAgB,EAAE,IAAY;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC1C,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,gEAAgE;AAChE,SAAS,WAAW,CAAC,EAAU;IAC7B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACxF,OAAO,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,uFAAuF;AACvF,SAAS,sBAAsB;IAC7B,MAAM,SAAS,GAAI,UAAyD,CAAC,MAAM,CAAC;IACpF,OAAO,OAAO,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAChB,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,UAAU,CAAS;IACnB,gBAAgB,CAAS;IACzB,eAAe,CAAS;IACxB,SAAS,CAAqB;IACtB,MAAM,CAAqB;IAC3B,SAAS,CAAY;IACrB,KAAK,CAAgC;IAEtD,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5H,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,iBAAiB,WAAW,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IAC7C,CAAC;IAED,oEAAoE;IACpE,IAAI,SAAS;QACX,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,qEAAqE;IACrE,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;YAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QACnE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,6EAA6E;IAC7E,MAAM;QACJ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,0EAA0E;IAE1E,iFAAiF;IACjF,KAAK,CAAC,QAAQ,CAAC,MAAmB,EAAE,UAA0B,EAAE;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;YAClF,GAAG,OAAO;YACV,MAAM,EAAE,kFAAkF;SAC3F,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,OAAO;YACL,KAAK;YACL,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B;YAC/E,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;YACnD,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;YACrD,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;YAChE,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;YACpE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;YACtC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAClC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,WAAW,CAAC,MAAmB,EAAE,UAA0B,EAAE;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;YAClF,GAAG,OAAO;YACV,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAmB,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,MAAmC,EACnC,UAAmD,EAAE;QAErD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,UAAU,CAAC,oDAAoD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;QACtF,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7E,IAAI,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC5D,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5C,IAAI,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QACzD,oEAAoE;QACpE,kEAAkE;QAClE,MAAM,GAAG,GAAG,cAAc,IAAI,sBAAsB,EAAE,CAAC;QACvD,MAAM,OAAO,GAA2B,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/D,IAAI,GAAG;YAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACrD,GAAG,OAAO;YACV,OAAO;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAA0B,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,OAAO,CAAC,UAA0B,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAkB,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,kGAAkG;IAClG,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,UAA0B,EAAE;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACzD,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;SAC9C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAkB,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAQD,KAAK,CAAC,QAAQ,CACZ,SAA6C,EAAE,EAC/C,UAA0B,EAAE;QAE5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,cAAc,CAClB,KAAa,EACb,UAA8D,EAAE;QAEhE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACzF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC,IAAI,CAAwB,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,yEAAyE;IAEzE,wFAAwF;IACxF,KAAK,CAAC,QAAQ,CAAC,KAAoB,EAAE,UAA0B,EAAE;QAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,WAAW,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,KAAK,CAAC;YAClB,OAAO,IAAI,CAAC,MAAM,CAAC;YACnB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACnD,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAmB,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,0EAA0E;IAE1E,2HAA2H;IAC3H,KAAK,CAAC,YAAY,CAAC,SAA6B,EAAE,EAAE,UAA0B,EAAE;QAC9E,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAsB,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,KAAyB,EAAE,UAA0B,EAAE;QACzE,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;YACnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE;gBAAE,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3F,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACnD,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAwB,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,UAA0B,EAAE;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAwB,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,UAA0B,EAAE;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1H,OAAO,IAAI,CAAC,IAAI,CAAkB,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,UAA0B,EAAE;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAkB,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,mBAAmB,CAAC,EAAU,EAAE,UAA0B,EAAE;QAChE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAA0B,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,gBAAgB,CAAC,EAAU,EAAE,IAAY,EAAE,UAA0B,EAAE;QAC3E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC9F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE;YAC/E,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAyB,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,0EAA0E;IAE1E,qHAAqH;IACrH,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,UAA0B,EAAE;QAChE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC3D,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;SACpD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAmB,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,8GAA8G;IAC9G,KAAK,CAAC,aAAa,CAAC,MAAsB,EAAE,MAAe,EAAE,UAA0B,EAAE;QACvF,IAAI,CAAE,gBAAsC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,UAAU,CAAC,0BAA0B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC3D,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAmB,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,yEAAyE;IAEzE,4EAA4E;IAC5E,KAAK,CAAC,OAAO,CAAC,UAA0B,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAkB,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,UAA0B,EAAE;QAChE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;QAC3G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC3D,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAmB,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,aAAa,CAAC,UAA0B,EAAE;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC,IAAI,CAAiB,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,yEAAyE;IAEzE,gCAAgC;IAChC,KAAK,CAAC,MAAM,CAAC,UAA0B,EAAE;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,IAAI,CAAiB,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,OAAO,CAAC,UAA0B,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,IAAI,CAAkB,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,gBAAgB,CACpB,QAAiC,EAAE,EACnC,UAA0B,EAAE;QAE5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACxD,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAqB,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,iGAAiG;IACjG,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,UAA0B,EAAE;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE;YAC5D,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkE,CAAC;YACvG,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ;gBACvC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;aACzB,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAuB,CAAC;gBACnE,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,IAAI,KAAK,uBAAuB,IAAI,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC3F,IAAI,IAAI,KAAK,eAAe;gBAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,MAAM,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,WAAW,CAAC,MAAwB,EAAE,UAA0B,EAAE;QACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAChC,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,OAAoB,EAAE;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,yEAAyE;IAEjE,GAAG,CAAC,IAAY;QACtB,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;IACpE,CAAC;IAEO,UAAU,CAAC,GAAW;QAC5B,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAI,QAAkB;QACtC,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAEO,SAAS,CAAC,OAAuB;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QACpD,MAAM,aAAa,GACjB,OAAO,KAAK,SAAS,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChH,IAAI,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,GAAG,GAAI,WAA4E,CAAC,GAAG,CAAC;YAC9F,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3F,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;IACzC,CAAC;IAED,gEAAgE;IACxD,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,UAAuB,EAAE;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QACjC,MAAM,MAAM,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,8EAA8E;IACtE,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,UAAuB,EAAE;QAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,aAAa,CAAC;gBACtB,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,kBAAkB;gBACzB,MAAM,EACJ,yJAAyJ;aAC5J,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,iEAAiE;QACjE,MAAM,UAAU,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE3F,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBACnC,MAAM;oBACN,OAAO;oBACP,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;oBAAE,MAAM,KAAK,CAAC;gBACzC,IAAI,OAAO,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACvF,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,aAAa,CAAC;oBACtB,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,eAAe;oBACtB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC9D,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;gBAClF,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YACxE,MAAM,KAAK,GACT,UAAU,KAAK,IAAI;gBACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC;gBACnD,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC3E,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;YAClE,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF"}
|