@typespec/openapi3 0.59.0-dev.8 → 0.59.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.
@@ -0,0 +1,14 @@
1
+ import { Example, Program, Type, Value } from "@typespec/compiler";
2
+ import type { HttpOperation, HttpProperty } from "@typespec/http";
3
+ import { OpenAPI3MediaType } from "./types.js";
4
+ import { SharedHttpOperation } from "./util.js";
5
+ export interface OperationExamples {
6
+ requestBody: Record<string, [Example, Type][]>;
7
+ responses: Record<string, Record<string, [Example, Type][]>>;
8
+ }
9
+ export declare function resolveOperationExamples(program: Program, operation: HttpOperation | SharedHttpOperation): OperationExamples;
10
+ export declare function getExampleOrExamples(program: Program, examples: [Example, Type][]): Pick<OpenAPI3MediaType, "example" | "examples">;
11
+ export declare function getStatusCodeValue(value: Value, properties: HttpProperty[]): number | undefined;
12
+ export declare function getContentTypeValue(value: Value, properties: HttpProperty[]): string | undefined;
13
+ export declare function getBodyValue(value: Value, properties: HttpProperty[]): Value | undefined;
14
+ //# sourceMappingURL=examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../src/examples.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAIP,OAAO,EAEP,IAAI,EACJ,KAAK,EACN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EAGb,YAAY,EAEb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAmB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAyB,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;CAC9D;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,GAAG,mBAAmB,GAC7C,iBAAiB,CA6CnB;AA4FD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,GAC1B,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,CAAC,CAuBjD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,SAAS,CAW/F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,SAAS,CAWhG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,KAAK,GAAG,SAAS,CAOxF"}
@@ -0,0 +1,180 @@
1
+ import { getOpExamples, ignoreDiagnostics, serializeValueAsJson, } from "@typespec/compiler";
2
+ import { getOpenAPI3StatusCodes } from "./status-codes.js";
3
+ import { isSharedHttpOperation } from "./util.js";
4
+ export function resolveOperationExamples(program, operation) {
5
+ const examples = findOperationExamples(program, operation);
6
+ const result = { requestBody: {}, responses: {} };
7
+ if (examples.length === 0) {
8
+ return result;
9
+ }
10
+ for (const [op, example] of examples) {
11
+ if (example.parameters && op.parameters.body) {
12
+ const contentTypeValue = getContentTypeValue(example.parameters, op.parameters.properties) ?? "application/json";
13
+ result.requestBody[contentTypeValue] ??= [];
14
+ const value = getBodyValue(example.parameters, op.parameters.properties);
15
+ if (value) {
16
+ result.requestBody[contentTypeValue].push([
17
+ {
18
+ value,
19
+ title: example.title,
20
+ description: example.description,
21
+ },
22
+ op.parameters.body.type,
23
+ ]);
24
+ }
25
+ }
26
+ if (example.returnType && op.responses) {
27
+ const match = findResponseForExample(program, example.returnType, op.responses);
28
+ if (match) {
29
+ const value = getBodyValue(example.returnType, match.response.properties);
30
+ if (value) {
31
+ for (const statusCode of match.statusCodes) {
32
+ result.responses[statusCode] ??= {};
33
+ result.responses[statusCode][match.contentType] ??= [];
34
+ result.responses[statusCode][match.contentType].push([
35
+ {
36
+ value,
37
+ title: example.title,
38
+ description: example.description,
39
+ },
40
+ match.response.body.type,
41
+ ]);
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ return result;
48
+ }
49
+ function findOperationExamples(program, operation) {
50
+ if (isSharedHttpOperation(operation)) {
51
+ return operation.operations.flatMap((op) => getOpExamples(program, op.operation).map((x) => [op, x]));
52
+ }
53
+ else {
54
+ return getOpExamples(program, operation.operation).map((x) => [operation, x]);
55
+ }
56
+ }
57
+ function isStatusCodeIn(exampleStatusCode, statusCodes) {
58
+ if (statusCodes === "*") {
59
+ return true;
60
+ }
61
+ if (typeof statusCodes === "number") {
62
+ return exampleStatusCode === statusCodes;
63
+ }
64
+ return exampleStatusCode >= statusCodes.start && exampleStatusCode <= statusCodes.end;
65
+ }
66
+ function findResponseForExample(program, exampleValue, responses) {
67
+ const tentatives = [];
68
+ for (const statusCodeResponse of responses) {
69
+ for (const response of statusCodeResponse.responses) {
70
+ if (response.body === undefined) {
71
+ continue;
72
+ }
73
+ const contentType = getContentTypeValue(exampleValue, response.properties);
74
+ const statusCode = getStatusCodeValue(exampleValue, response.properties);
75
+ const contentTypeProp = response.properties.find((x) => x.kind === "contentType"); // if undefined MUST be application/json
76
+ const statusCodeProp = response.properties.find((x) => x.kind === "statusCode"); // if undefined MUST be 200
77
+ const statusCodeMatch = statusCode && statusCodeProp && isStatusCodeIn(statusCode, statusCodeResponse.statusCodes);
78
+ const contentTypeMatch = contentType && response.body?.contentTypes.includes(contentType);
79
+ if (statusCodeMatch && contentTypeMatch) {
80
+ return {
81
+ contentType,
82
+ statusCodes: ignoreDiagnostics(getOpenAPI3StatusCodes(program, statusCodeResponse.statusCodes, statusCodeResponse.type)),
83
+ response,
84
+ };
85
+ }
86
+ else if (statusCodeMatch && contentTypeProp === undefined) {
87
+ tentatives.push([
88
+ {
89
+ response,
90
+ statusCodes: ignoreDiagnostics(getOpenAPI3StatusCodes(program, statusCodeResponse.statusCodes, statusCodeResponse.type)),
91
+ },
92
+ 1,
93
+ ]);
94
+ }
95
+ else if (contentTypeMatch && statusCodeMatch === undefined) {
96
+ tentatives.push([{ response, contentType }, 1]);
97
+ }
98
+ else if (contentTypeProp === undefined && statusCodeProp === undefined) {
99
+ tentatives.push([{ response }, 0]);
100
+ }
101
+ }
102
+ }
103
+ const tentative = tentatives.sort((a, b) => a[1] - b[1]).pop();
104
+ if (tentative) {
105
+ return {
106
+ contentType: tentative[0].contentType ?? "application/json",
107
+ statusCodes: tentative[0].statusCodes ?? ["200"],
108
+ response: tentative[0].response,
109
+ };
110
+ }
111
+ return undefined;
112
+ }
113
+ export function getExampleOrExamples(program, examples) {
114
+ if (examples.length === 0) {
115
+ return {};
116
+ }
117
+ if (examples.length === 1 &&
118
+ examples[0][0].title === undefined &&
119
+ examples[0][0].description === undefined) {
120
+ const [example, type] = examples[0];
121
+ return { example: serializeValueAsJson(program, example.value, type) };
122
+ }
123
+ else {
124
+ const exampleObj = {};
125
+ for (const [index, [example, type]] of examples.entries()) {
126
+ exampleObj[example.title ?? `example${index}`] = {
127
+ summary: example.title,
128
+ description: example.description,
129
+ value: serializeValueAsJson(program, example.value, type),
130
+ };
131
+ }
132
+ return { examples: exampleObj };
133
+ }
134
+ }
135
+ export function getStatusCodeValue(value, properties) {
136
+ const statusCodeProperty = properties.find((p) => p.kind === "statusCode");
137
+ if (statusCodeProperty === undefined) {
138
+ return undefined;
139
+ }
140
+ const statusCode = getValueByPath(value, statusCodeProperty.path);
141
+ if (statusCode?.valueKind === "NumericValue") {
142
+ return statusCode.value.asNumber() ?? undefined;
143
+ }
144
+ return undefined;
145
+ }
146
+ export function getContentTypeValue(value, properties) {
147
+ const contentTypeProperty = properties.find((p) => p.kind === "contentType");
148
+ if (contentTypeProperty === undefined) {
149
+ return undefined;
150
+ }
151
+ const statusCode = getValueByPath(value, contentTypeProperty.path);
152
+ if (statusCode?.valueKind === "StringValue") {
153
+ return statusCode.value;
154
+ }
155
+ return undefined;
156
+ }
157
+ export function getBodyValue(value, properties) {
158
+ const bodyProperty = properties.find((p) => p.kind === "body" || p.kind === "bodyRoot");
159
+ if (bodyProperty !== undefined) {
160
+ return getValueByPath(value, bodyProperty.path);
161
+ }
162
+ return value;
163
+ }
164
+ function getValueByPath(value, path) {
165
+ let current = value;
166
+ for (const key of path) {
167
+ switch (current?.valueKind) {
168
+ case "ObjectValue":
169
+ current = current.properties.get(key.toString())?.value;
170
+ break;
171
+ case "ArrayValue":
172
+ current = current.values[key];
173
+ break;
174
+ default:
175
+ return undefined;
176
+ }
177
+ }
178
+ return current;
179
+ }
180
+ //# sourceMappingURL=examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../src/examples.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -83,6 +83,18 @@ export declare const libDef: {
83
83
  readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
84
84
  };
85
85
  };
86
+ readonly "invalid-style": {
87
+ readonly severity: "warning";
88
+ readonly messages: {
89
+ readonly default: import("@typespec/compiler").CallableMessage<["style", "paramType"]>;
90
+ };
91
+ };
92
+ readonly "path-reserved-expansion": {
93
+ readonly severity: "warning";
94
+ readonly messages: {
95
+ readonly default: "Reserved expansion of path parameter with '+' operator #{allowReserved: true} is not supported in OpenAPI3.";
96
+ };
97
+ };
86
98
  readonly "resource-namespace": {
87
99
  readonly severity: "error";
88
100
  readonly messages: {
@@ -185,6 +197,12 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
185
197
  "invalid-format": {
186
198
  readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
187
199
  };
200
+ "invalid-style": {
201
+ readonly default: import("@typespec/compiler").CallableMessage<["style", "paramType"]>;
202
+ };
203
+ "path-reserved-expansion": {
204
+ readonly default: "Reserved expansion of path parameter with '+' operator #{allowReserved: true} is not supported in OpenAPI3.";
205
+ };
188
206
  "resource-namespace": {
189
207
  readonly default: "Resource goes on namespace";
190
208
  };
@@ -228,7 +246,7 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
228
246
  readonly default: import("@typespec/compiler").CallableMessage<["authType"]>;
229
247
  };
230
248
  }, OpenAPI3EmitterOptions, never>;
231
- export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "resource-namespace" | "path-query" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "invalid-default" | "inline-cycle" | "unsupported-status-code-range" | "invalid-model-property" | "unsupported-auth", M extends keyof {
249
+ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "invalid-style" | "path-reserved-expansion" | "resource-namespace" | "path-query" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "invalid-default" | "inline-cycle" | "unsupported-status-code-range" | "invalid-model-property" | "unsupported-auth", M extends keyof {
232
250
  "oneof-union": {
233
251
  readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
234
252
  };
@@ -241,6 +259,12 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
241
259
  "invalid-format": {
242
260
  readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
243
261
  };
262
+ "invalid-style": {
263
+ readonly default: import("@typespec/compiler").CallableMessage<["style", "paramType"]>;
264
+ };
265
+ "path-reserved-expansion": {
266
+ readonly default: "Reserved expansion of path parameter with '+' operator #{allowReserved: true} is not supported in OpenAPI3.";
267
+ };
244
268
  "resource-namespace": {
245
269
  readonly default: "Resource goes on namespace";
246
270
  };
@@ -296,6 +320,12 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
296
320
  "invalid-format": {
297
321
  readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
298
322
  };
323
+ "invalid-style": {
324
+ readonly default: import("@typespec/compiler").CallableMessage<["style", "paramType"]>;
325
+ };
326
+ "path-reserved-expansion": {
327
+ readonly default: "Reserved expansion of path parameter with '+' operator #{allowReserved: true} is not supported in OpenAPI3.";
328
+ };
299
329
  "resource-namespace": {
300
330
  readonly default: "Resource goes on namespace";
301
331
  };
@@ -338,7 +368,7 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
338
368
  "unsupported-auth": {
339
369
  readonly default: import("@typespec/compiler").CallableMessage<["authType"]>;
340
370
  };
341
- }, C, M>) => import("@typespec/compiler").Diagnostic, reportDiagnostic: <C extends "oneof-union" | "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "resource-namespace" | "path-query" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "invalid-default" | "inline-cycle" | "unsupported-status-code-range" | "invalid-model-property" | "unsupported-auth", M extends keyof {
371
+ }, C, M>) => import("@typespec/compiler").Diagnostic, reportDiagnostic: <C extends "oneof-union" | "inconsistent-shared-route-request-visibility" | "invalid-server-variable" | "invalid-format" | "invalid-style" | "path-reserved-expansion" | "resource-namespace" | "path-query" | "duplicate-header" | "status-code-in-default-response" | "invalid-schema" | "union-null" | "empty-union" | "empty-enum" | "enum-unique-type" | "invalid-default" | "inline-cycle" | "unsupported-status-code-range" | "invalid-model-property" | "unsupported-auth", M extends keyof {
342
372
  "oneof-union": {
343
373
  readonly default: "@oneOf decorator can only be used on a union or a model property which type is a union.";
344
374
  };
@@ -351,6 +381,12 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
351
381
  "invalid-format": {
352
382
  readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
353
383
  };
384
+ "invalid-style": {
385
+ readonly default: import("@typespec/compiler").CallableMessage<["style", "paramType"]>;
386
+ };
387
+ "path-reserved-expansion": {
388
+ readonly default: "Reserved expansion of path parameter with '+' operator #{allowReserved: true} is not supported in OpenAPI3.";
389
+ };
354
390
  "resource-namespace": {
355
391
  readonly default: "Resource goes on namespace";
356
392
  };
@@ -406,6 +442,12 @@ export declare const createDiagnostic: <C extends "oneof-union" | "inconsistent-
406
442
  "invalid-format": {
407
443
  readonly default: import("@typespec/compiler").CallableMessage<["value", "paramType"]>;
408
444
  };
445
+ "invalid-style": {
446
+ readonly default: import("@typespec/compiler").CallableMessage<["style", "paramType"]>;
447
+ };
448
+ "path-reserved-expansion": {
449
+ readonly default: "Reserved expansion of path parameter with '+' operator #{allowReserved: true} is not supported in OpenAPI3.";
450
+ };
409
451
  "resource-namespace": {
410
452
  readonly default: "Resource goes on namespace";
411
453
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,cAAc,EAAgB,MAAM,oBAAoB,CAAC;AAEzF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IAEH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAEpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;CAC7C;AAgFD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAqHkB,cAAc,CAAC,sBAAsB,CAAC;;CAEjE,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,0BAAS,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,cAAc,EAAgB,MAAM,oBAAoB,CAAC;AAEzF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IAEH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAEpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;CAC7C;AAgFD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAiIkB,cAAc,CAAC,sBAAsB,CAAC;;CAEjE,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,0BAAS,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC"}
package/dist/src/lib.js CHANGED
@@ -100,6 +100,18 @@ export const libDef = {
100
100
  default: paramMessage `Collection format '${"value"}' is not supported in OpenAPI3 ${"paramType"} parameters. Defaulting to type 'string'.`,
101
101
  },
102
102
  },
103
+ "invalid-style": {
104
+ severity: "warning",
105
+ messages: {
106
+ default: paramMessage `Style '${"style"}' is not supported in OpenAPI3 ${"paramType"} parameters. Defaulting to style 'simple'.`,
107
+ },
108
+ },
109
+ "path-reserved-expansion": {
110
+ severity: "warning",
111
+ messages: {
112
+ default: `Reserved expansion of path parameter with '+' operator #{allowReserved: true} is not supported in OpenAPI3.`,
113
+ },
114
+ },
103
115
  "resource-namespace": {
104
116
  severity: "error",
105
117
  messages: {
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkEzF,MAAM,oBAAoB,GAA2C;IACnE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,8HAA8H;SACjI;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE;gBACX,0BAA0B;gBAC1B,qDAAqD;gBACrD,mDAAmD;gBACnD,iDAAiD;gBACjD,EAAE;gBACF,yFAAyF;gBACzF,EAAE;gBACF,uCAAuC;gBACvC,oBAAoB;gBACpB,EAAE;gBACF,0CAA0C;gBAC1C,kCAAkC;gBAClC,kCAAkC;gBAClC,EAAE;gBACF,yCAAyC;gBACzC,uBAAuB;gBACvB,uBAAuB;gBACvB,EAAE;gBACF,2CAA2C;gBAC3C,qCAAqC;gBACrC,qCAAqC;gBACrC,uCAAuC;gBACvC,2CAA2C;aAC5C,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;YACpB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,+CAA+C;SAC7D;QACD,wBAAwB,EAAE;YACxB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,+KAA+K;SAClL;QACD,yBAAyB,EAAE;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;YAC9B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,OAAO;YAChB,WAAW,EACT,0MAA0M;SAC7M;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;YAC7B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE;gBACX,0CAA0C;gBAC1C,mEAAmE;gBACnE,yDAAyD;gBACzD,EAAE;gBACF,kBAAkB;aACnB,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;KACF;IACD,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE;QACX,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,yFAAyF;aAC5F;SACF;QACD,8CAA8C,EAAE;YAC9C,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,8EAA8E;aACxF;SACF;QACD,yBAAyB,EAAE;YACzB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,oBAAoB,UAAU,mGAAmG;aACvJ;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,OAAO,kCAAkC,WAAW,2CAA2C;aAC3I;SACF;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4BAA4B;aACtC;SACF;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,yDAAyD;aACnE;SACF;QACD,kBAAkB,EAAE;YAClB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,cAAc,QAAQ,2CAA2C;aACvF;SACF;QACD,iCAAiC,EAAE;YACjC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4DAA4D;aACtE;SACF;QAED,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,gCAAgC,MAAM,EAAE;aAC9D;SACF;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,iDAAiD;aAC3D;SACF;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,qFAAqF;aACxF;SACF;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,oFAAoF;aACvF;SACF;QACD,kBAAkB,EAAE;YAClB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,2EAA2E;aACrF;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,iBAAiB,MAAM,uBAAuB;aACpE;SACF;QACD,cAAc,EAAE;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,MAAM,6FAA6F;aAC/I;SACF;QACD,+BAA+B,EAAE;YAC/B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,OAAO,QAAQ,KAAK,0IAA0I;aAC1M;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,IAAI,MAAM,4CAA4C;aAC5E;SACF;QACD,kBAAkB,EAAE;YAClB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,mBAAmB,UAAU,8EAA8E;aACjI;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,oBAA8D;KACxE;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,WAAW,EAgCX,OAAO,EAGP,OAAO,EAQR,MAAM,oBAAoB,CAAC;AAiD5B,OAAO,EAAoB,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAE9E,OAAO,EAgBL,qBAAqB,EAItB,MAAM,YAAY,CAAC;AAYpB,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,iBAIzE;AAED,KAAK,yCAAyC,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAE1F;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,yCAAyC,CAAM,GACpF,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAgBlC;AAgBD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAC3C,8BAA8B,CAgBhC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,oBAAoB,EAAE,aAAa,GAAG,OAAO,CAAC;IAC9C,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC;CACzC"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,WAAW,EA+BX,OAAO,EACP,OAAO,EAOR,MAAM,oBAAoB,CAAC;AA8C5B,OAAO,EAAoB,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAG9E,OAAO,EAeL,qBAAqB,EAItB,MAAM,YAAY,CAAC;AAYpB,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,iBAIzE;AAED,KAAK,yCAAyC,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAE1F;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,yCAAyC,CAAM,GACpF,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAgBlC;AAgBD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAC3C,8BAA8B,CAgBhC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,oBAAoB,EAAE,aAAa,GAAG,OAAO,CAAC;IAC9C,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC;CACzC"}
@@ -1,14 +1,16 @@
1
- import { compilerAssert, createDiagnosticCollector, emitFile, getAllTags, getAnyExtensionFromPath, getDoc, getFormat, getKnownValues, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getNamespaceFullName, getOpExamples, getPattern, getService, getSummary, ignoreDiagnostics, interpolatePath, isDeprecated, isGlobalNamespace, isNeverType, isSecret, isVoidType, listServices, navigateTypesInNamespace, projectProgram, resolvePath, serializeValueAsJson, } from "@typespec/compiler";
1
+ import { compilerAssert, createDiagnosticCollector, emitFile, getAllTags, getAnyExtensionFromPath, getDoc, getFormat, getKnownValues, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getNamespaceFullName, getPattern, getService, getSummary, ignoreDiagnostics, interpolatePath, isDeprecated, isGlobalNamespace, isNeverType, isSecret, isVoidType, listServices, navigateTypesInNamespace, projectProgram, resolvePath, } from "@typespec/compiler";
2
2
  import { createAssetEmitter } from "@typespec/compiler/emitter-framework";
3
3
  import { createMetadataInfo, getHttpService, getServers, getStatusCodeDescription, isContentTypeHeader, isOrExtendsHttpFile, isOverloadSameEndpoint, reportIfNoRoutes, resolveAuthentication, resolveRequestVisibility, Visibility, } from "@typespec/http";
4
- import { getExtensions, getExternalDocs, getOpenAPITypeName, getParameterKey, isDefaultResponse, isReadonlyProperty, resolveInfo, resolveOperationId, shouldInline, } from "@typespec/openapi";
4
+ import { getExtensions, getExternalDocs, getOpenAPITypeName, getParameterKey, isReadonlyProperty, resolveInfo, resolveOperationId, shouldInline, } from "@typespec/openapi";
5
5
  import { buildVersionProjections } from "@typespec/versioning";
6
6
  import { stringify } from "yaml";
7
7
  import { getRef } from "./decorators.js";
8
8
  import { applyEncoding } from "./encoding.js";
9
+ import { getExampleOrExamples, resolveOperationExamples } from "./examples.js";
9
10
  import { createDiagnostic } from "./lib.js";
10
11
  import { getDefaultValue, isBytesKeptRaw, OpenAPI3SchemaEmitter } from "./schema-emitter.js";
11
- import { deepEquals, isDefined } from "./util.js";
12
+ import { getOpenAPI3StatusCodes } from "./status-codes.js";
13
+ import { deepEquals, isSharedHttpOperation } from "./util.js";
12
14
  import { resolveVisibilityUsage } from "./visibility-usage.js";
13
15
  const defaultFileType = "yaml";
14
16
  const defaultOptions = {
@@ -379,53 +381,6 @@ function createOAPIEmitter(context, options) {
379
381
  }
380
382
  return finalParams;
381
383
  }
382
- function getOpenAPI3StatusCodes(statusCodes, response) {
383
- if (isDefaultResponse(program, response) || statusCodes === "*") {
384
- return ["default"];
385
- }
386
- else if (typeof statusCodes === "number") {
387
- return [String(statusCodes)];
388
- }
389
- else {
390
- return rangeToOpenAPI(statusCodes, response);
391
- }
392
- }
393
- function rangeToOpenAPI(range, diagnosticTarget) {
394
- const reportInvalid = () => diagnostics.add(createDiagnostic({
395
- code: "unsupported-status-code-range",
396
- format: { start: String(range.start), end: String(range.end) },
397
- target: diagnosticTarget,
398
- }));
399
- const codes = [];
400
- let start = range.start;
401
- let end = range.end;
402
- if (range.start < 100) {
403
- reportInvalid();
404
- start = 100;
405
- codes.push("default");
406
- }
407
- else if (range.end > 599) {
408
- reportInvalid();
409
- codes.push("default");
410
- end = 599;
411
- }
412
- const groups = [1, 2, 3, 4, 5];
413
- for (const group of groups) {
414
- if (start > end) {
415
- break;
416
- }
417
- const groupStart = group * 100;
418
- const groupEnd = groupStart + 99;
419
- if (start >= groupStart && start <= groupEnd) {
420
- codes.push(`${group}XX`);
421
- if (start !== groupStart || end < groupEnd) {
422
- reportInvalid();
423
- }
424
- start = groupStart + 100;
425
- }
426
- }
427
- return codes;
428
- }
429
384
  function buildSharedOperation(operations) {
430
385
  return {
431
386
  kind: "shared",
@@ -521,12 +476,13 @@ function createOAPIEmitter(context, options) {
521
476
  const operations = shared.operations;
522
477
  const verb = operations[0].verb;
523
478
  const path = operations[0].path;
479
+ const examples = resolveOperationExamples(program, shared);
524
480
  const oai3Operation = {
525
481
  operationId: computeSharedOperationId(shared),
526
482
  parameters: [],
527
483
  description: joinOps(operations, getDoc, " "),
528
484
  summary: joinOps(operations, getSummary, " "),
529
- responses: getSharedResponses(shared),
485
+ responses: getSharedResponses(shared, examples),
530
486
  };
531
487
  for (const op of operations) {
532
488
  applyExternalDocs(op.operation, oai3Operation);
@@ -567,7 +523,7 @@ function createOAPIEmitter(context, options) {
567
523
  ...new Set(operations.map((op) => op.parameters.body).filter((x) => x !== undefined)),
568
524
  ];
569
525
  if (bodies) {
570
- oai3Operation.requestBody = getRequestBody(shared, bodies, visibility);
526
+ oai3Operation.requestBody = getRequestBody(bodies, visibility, examples);
571
527
  }
572
528
  const authReference = serviceAuth.operationsAuth.get(shared.operations[0].operation);
573
529
  if (authReference) {
@@ -583,12 +539,13 @@ function createOAPIEmitter(context, options) {
583
539
  return undefined;
584
540
  }
585
541
  const visibility = resolveRequestVisibility(program, operation.operation, verb);
542
+ const examples = resolveOperationExamples(program, operation);
586
543
  const oai3Operation = {
587
544
  operationId: resolveOperationId(program, operation.operation),
588
545
  summary: getSummary(program, operation.operation),
589
546
  description: getDoc(program, operation.operation),
590
547
  parameters: getEndpointParameters(parameters.parameters, visibility),
591
- responses: getResponses(operation, operation.responses),
548
+ responses: getResponses(operation, operation.responses, examples),
592
549
  };
593
550
  const currentTags = getAllTags(program, op);
594
551
  if (currentTags) {
@@ -601,7 +558,7 @@ function createOAPIEmitter(context, options) {
601
558
  applyExternalDocs(op, oai3Operation);
602
559
  // Set up basic endpoint fields
603
560
  if (parameters.body) {
604
- oai3Operation.requestBody = getRequestBody(operation, parameters.body && [parameters.body], visibility);
561
+ oai3Operation.requestBody = getRequestBody(parameters.body && [parameters.body], visibility, examples);
605
562
  }
606
563
  const authReference = serviceAuth.operationsAuth.get(operation.operation);
607
564
  if (authReference) {
@@ -613,11 +570,11 @@ function createOAPIEmitter(context, options) {
613
570
  attachExtensions(program, op, oai3Operation);
614
571
  return { operation: oai3Operation, path: fullPath, verb };
615
572
  }
616
- function getSharedResponses(operation) {
573
+ function getSharedResponses(operation, examples) {
617
574
  const responseMap = new Map();
618
575
  for (const op of operation.operations) {
619
576
  for (const response of op.responses) {
620
- const statusCodes = getOpenAPI3StatusCodes(response.statusCodes, op.operation);
577
+ const statusCodes = diagnostics.pipe(getOpenAPI3StatusCodes(program, response.statusCodes, op.operation));
621
578
  for (const statusCode of statusCodes) {
622
579
  if (responseMap.has(statusCode)) {
623
580
  responseMap.get(statusCode).push(response);
@@ -631,15 +588,15 @@ function createOAPIEmitter(context, options) {
631
588
  const result = {};
632
589
  for (const [statusCode, statusCodeResponses] of responseMap) {
633
590
  const dedupeResponses = deduplicateCommonResponses(statusCodeResponses);
634
- result[statusCode] = getResponseForStatusCode(operation, statusCode, dedupeResponses);
591
+ result[statusCode] = getResponseForStatusCode(operation, statusCode, dedupeResponses, examples);
635
592
  }
636
593
  return result;
637
594
  }
638
- function getResponses(operation, responses) {
595
+ function getResponses(operation, responses, examples) {
639
596
  const result = {};
640
597
  for (const response of responses) {
641
- for (const statusCode of getOpenAPI3StatusCodes(response.statusCodes, response.type)) {
642
- result[statusCode] = getResponseForStatusCode(operation, statusCode, [response]);
598
+ for (const statusCode of diagnostics.pipe(getOpenAPI3StatusCodes(program, response.statusCodes, response.type))) {
599
+ result[statusCode] = getResponseForStatusCode(operation, statusCode, [response], examples);
643
600
  }
644
601
  }
645
602
  return result;
@@ -650,7 +607,7 @@ function createOAPIEmitter(context, options) {
650
607
  contentType !== "application/json" &&
651
608
  contentType !== "text/plain");
652
609
  }
653
- function getResponseForStatusCode(operation, statusCode, responses) {
610
+ function getResponseForStatusCode(operation, statusCode, responses, examples) {
654
611
  const openApiResponse = {
655
612
  description: "",
656
613
  };
@@ -666,7 +623,7 @@ function createOAPIEmitter(context, options) {
666
623
  : response.description;
667
624
  }
668
625
  emitResponseHeaders(openApiResponse, response.responses, response.type);
669
- emitResponseContent(operation, openApiResponse, response.responses, schemaMap);
626
+ emitResponseContent(operation, openApiResponse, response.responses, statusCode, examples, schemaMap);
670
627
  if (!openApiResponse.description) {
671
628
  openApiResponse.description = getResponseDescriptionForStatusCode(statusCode);
672
629
  }
@@ -697,7 +654,7 @@ function createOAPIEmitter(context, options) {
697
654
  }
698
655
  }
699
656
  }
700
- function emitResponseContent(operation, obj, responses, schemaMap = undefined) {
657
+ function emitResponseContent(operation, obj, responses, statusCode, examples, schemaMap = undefined) {
701
658
  schemaMap ??= new Map();
702
659
  for (const data of responses) {
703
660
  if (data.body === undefined) {
@@ -705,7 +662,7 @@ function createOAPIEmitter(context, options) {
705
662
  }
706
663
  obj.content ??= {};
707
664
  for (const contentType of data.body.contentTypes) {
708
- const contents = getBodyContentEntry(operation, "response", data.body, Visibility.Read, contentType);
665
+ const contents = getBodyContentEntry(data.body, Visibility.Read, contentType, examples.responses[statusCode]?.[contentType]);
709
666
  if (schemaMap.has(contentType)) {
710
667
  schemaMap.get(contentType).push(contents);
711
668
  }
@@ -783,70 +740,22 @@ function createOAPIEmitter(context, options) {
783
740
  },
784
741
  });
785
742
  }
786
- function isSharedHttpOperation(operation) {
787
- return operation.kind === "shared";
788
- }
789
- function findOperationExamples(operation) {
790
- if (isSharedHttpOperation(operation)) {
791
- return operation.operations.flatMap((op) => getOpExamples(program, op.operation).map((x) => [op.operation, x]));
792
- }
793
- else {
794
- return getOpExamples(program, operation.operation).map((x) => [operation.operation, x]);
795
- }
796
- }
797
- function getExamplesForBodyContentEntry(operation, target) {
798
- const examples = findOperationExamples(operation);
799
- if (examples.length === 0) {
800
- return {};
801
- }
802
- const flattenedExamples = examples
803
- .map(([op, example]) => {
804
- const value = target === "request" ? example.parameters : example.returnType;
805
- const type = target === "request" ? op.parameters : op.returnType;
806
- return value
807
- ? [{ value, title: example.title, description: example.description }, type]
808
- : undefined;
809
- })
810
- .filter(isDefined);
811
- return getExampleOrExamples(flattenedExamples);
812
- }
813
- function getExampleOrExamples(examples) {
814
- if (examples.length === 0) {
815
- return {};
816
- }
817
- if (examples.length === 1 &&
818
- examples[0][0].title === undefined &&
819
- examples[0][0].description === undefined) {
820
- const [example, type] = examples[0];
821
- return { example: serializeValueAsJson(program, example.value, type) };
822
- }
823
- else {
824
- const exampleObj = {};
825
- for (const [index, [example, type]] of examples.entries()) {
826
- exampleObj[example.title ?? `example${index}`] = {
827
- summary: example.title,
828
- description: example.description,
829
- value: serializeValueAsJson(program, example.value, type),
830
- };
831
- }
832
- return { examples: exampleObj };
833
- }
834
- }
835
- function getBodyContentEntry(operation, target, body, visibility, contentType) {
743
+ function getBodyContentEntry(body, visibility, contentType, examples) {
836
744
  const isBinary = isBinaryPayload(body.type, contentType);
837
745
  if (isBinary) {
838
746
  return { schema: { type: "string", format: "binary" } };
839
747
  }
748
+ const oai3Examples = examples && getExampleOrExamples(program, examples);
840
749
  switch (body.bodyKind) {
841
750
  case "single":
842
751
  return {
843
752
  schema: getSchemaForSingleBody(body.type, visibility, body.isExplicit && body.containsMetadataAnnotations, contentType.startsWith("multipart/") ? contentType : undefined),
844
- ...getExamplesForBodyContentEntry(operation, target),
753
+ ...oai3Examples,
845
754
  };
846
755
  case "multipart":
847
756
  return {
848
757
  ...getBodyContentForMultipartBody(body, visibility, contentType),
849
- ...getExamplesForBodyContentEntry(operation, target),
758
+ ...oai3Examples,
850
759
  };
851
760
  }
852
761
  }
@@ -944,14 +853,14 @@ function createOAPIEmitter(context, options) {
944
853
  in: parameter.type,
945
854
  ...getOpenAPIParameterBase(parameter.param, visibility),
946
855
  };
947
- const format = mapParameterFormat(parameter);
948
- if (format === undefined) {
856
+ const attributes = getParameterAttributes(parameter);
857
+ if (attributes === undefined) {
949
858
  param.schema = {
950
859
  type: "string",
951
860
  };
952
861
  }
953
862
  else {
954
- Object.assign(param, format);
863
+ Object.assign(param, attributes);
955
864
  }
956
865
  return param;
957
866
  }
@@ -979,7 +888,7 @@ function createOAPIEmitter(context, options) {
979
888
  }
980
889
  return result;
981
890
  }
982
- function getRequestBody(operation, bodies, visibility) {
891
+ function getRequestBody(bodies, visibility, examples) {
983
892
  if (bodies === undefined || bodies.every((x) => isVoidType(x.type))) {
984
893
  return undefined;
985
894
  }
@@ -997,8 +906,8 @@ function createOAPIEmitter(context, options) {
997
906
  }
998
907
  const contentTypes = body.contentTypes.length > 0 ? body.contentTypes : ["application/json"];
999
908
  for (const contentType of contentTypes) {
1000
- const entry = getBodyContentEntry(operation, "request", body, visibility, contentType);
1001
909
  const existing = schemaMap.get(contentType);
910
+ const entry = getBodyContentEntry(body, visibility, contentType, examples.requestBody[contentType]);
1002
911
  if (existing) {
1003
912
  existing.push(entry);
1004
913
  }
@@ -1084,28 +993,66 @@ function createOAPIEmitter(context, options) {
1084
993
  }
1085
994
  return target;
1086
995
  }
1087
- function mapParameterFormat(parameter) {
996
+ function getParameterAttributes(parameter) {
1088
997
  switch (parameter.type) {
1089
998
  case "header":
1090
999
  return mapHeaderParameterFormat(parameter);
1091
1000
  case "query":
1092
- return mapQueryParameterFormat(parameter);
1001
+ return getQueryParameterAttributes(parameter);
1093
1002
  case "path":
1094
- return {};
1003
+ return getPathParameterAttributes(parameter);
1095
1004
  }
1096
1005
  }
1097
- function mapHeaderParameterFormat(parameter) {
1006
+ function getPathParameterAttributes(parameter) {
1007
+ if (parameter.allowReserved) {
1008
+ diagnostics.add(createDiagnostic({
1009
+ code: "path-reserved-expansion",
1010
+ target: parameter.param,
1011
+ }));
1012
+ }
1013
+ const attributes = {};
1014
+ if (parameter.explode) {
1015
+ attributes.explode = true;
1016
+ }
1017
+ switch (parameter.style) {
1018
+ case "label":
1019
+ attributes.style = "label";
1020
+ break;
1021
+ case "matrix":
1022
+ attributes.style = "matrix";
1023
+ break;
1024
+ case "simple":
1025
+ break;
1026
+ default:
1027
+ diagnostics.add(createDiagnostic({
1028
+ code: "invalid-style",
1029
+ format: { style: parameter.style, paramType: "path" },
1030
+ target: parameter.param,
1031
+ }));
1032
+ }
1033
+ return attributes;
1034
+ }
1035
+ function getQueryParameterAttributes(parameter) {
1036
+ const attributes = {};
1037
+ if (parameter.explode) {
1038
+ attributes.explode = true;
1039
+ }
1098
1040
  switch (parameter.format) {
1041
+ case "ssv":
1042
+ return { style: "spaceDelimited", explode: false };
1043
+ case "pipes":
1044
+ return { style: "pipeDelimited", explode: false };
1099
1045
  case undefined:
1100
- return {};
1101
1046
  case "csv":
1102
1047
  case "simple":
1103
- return { style: "simple" };
1048
+ case "multi":
1049
+ case "form":
1050
+ return attributes;
1104
1051
  default:
1105
1052
  diagnostics.add(createDiagnostic({
1106
1053
  code: "invalid-format",
1107
1054
  format: {
1108
- paramType: "header",
1055
+ paramType: "query",
1109
1056
  value: parameter.format,
1110
1057
  },
1111
1058
  target: parameter.param,
@@ -1113,25 +1060,18 @@ function createOAPIEmitter(context, options) {
1113
1060
  return undefined;
1114
1061
  }
1115
1062
  }
1116
- function mapQueryParameterFormat(parameter) {
1063
+ function mapHeaderParameterFormat(parameter) {
1117
1064
  switch (parameter.format) {
1118
1065
  case undefined:
1119
1066
  return {};
1120
1067
  case "csv":
1121
1068
  case "simple":
1122
- return { style: "form", explode: false };
1123
- case "multi":
1124
- case "form":
1125
- return { style: "form", explode: true };
1126
- case "ssv":
1127
- return { style: "spaceDelimited", explode: false };
1128
- case "pipes":
1129
- return { style: "pipeDelimited", explode: false };
1069
+ return { style: "simple" };
1130
1070
  default:
1131
1071
  diagnostics.add(createDiagnostic({
1132
1072
  code: "invalid-format",
1133
1073
  format: {
1134
- paramType: "query",
1074
+ paramType: "header",
1135
1075
  value: parameter.format,
1136
1076
  },
1137
1077
  target: parameter.param,
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,yBAAyB,EAKzB,QAAQ,EAER,UAAU,EACV,uBAAuB,EACvB,MAAM,EACN,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EAGZ,wBAAwB,EAMxB,cAAc,EACd,WAAW,EACX,oBAAoB,GAIrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAgB,kBAAkB,EAAc,MAAM,sCAAsC,CAAC;AAEpG,OAAO,EAGL,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,wBAAwB,EAcxB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EAGtB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAsB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAoC,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAsB7F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAA0B,MAAM,uBAAuB,CAAC;AAEvF,MAAM,eAAe,GAAa,MAAM,CAAC;AACzC,MAAM,cAAc,GAAG;IACrB,UAAU,EAAE,IAAI;IAChB,wBAAwB,EAAE,KAAK;IAC/B,yBAAyB,EAAE,OAAO;IAClC,kBAAkB,EAAE,OAAO;CACnB,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAA4C;IACxE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAID;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,UAAmF,EAAE;IAErF,MAAM,OAAO,GAAqB;QAChC,OAAO;QAEP,6DAA6D;QAC7D,gBAAgB,EAAE,YAAY;QAE9B,OAAO,EAAE,OAAO;QAChB,eAAe,CAAC,gBAAgB;YAC9B,OAAO,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC;IAEF,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,wBAAwB,CAAC,QAA4B;IAC5D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,QAAQ,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AACD,MAAM,UAAU,cAAc,CAC5B,OAA4C;IAE5C,MAAM,eAAe,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAElE,MAAM,QAAQ,GACZ,eAAe,CAAC,WAAW,CAAC,IAAI,wBAAwB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3F,MAAM,UAAU,GACd,eAAe,CAAC,aAAa,CAAC,IAAI,oCAAoC,QAAQ,EAAE,CAAC;IACnF,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC;QACpC,oBAAoB,EAAE,eAAe,CAAC,wBAAwB,CAAC;QAC/D,oBAAoB,EAAE,eAAe,CAAC,yBAAyB,CAAC;QAChE,eAAe,EAAE,eAAe,CAAC,kBAAkB,CAAC;QACpD,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC;KAC9D,CAAC;AACJ,CAAC;AAWD,SAAS,iBAAiB,CACxB,OAA4C,EAC5C,OAAuC;IAEvC,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,IAAI,aAAmE,CAAC;IAExE,IAAI,IAAsB,CAAC;IAC3B,IAAI,WAAgC,CAAC;IACrC,IAAI,cAAuB,CAAC;IAC5B,IAAI,WAAsC,CAAC;IAC3C,8DAA8D;IAC9D,IAAI,oBAAwC,CAAC;IAC7C,IAAI,WAAgB,CAAC;IAErB,IAAI,YAA0B,CAAC;IAC/B,IAAI,eAAuC,CAAC;IAE5C,2EAA2E;IAC3E,sFAAsF;IACtF,YAAY;IACZ,IAAI,MAA+B,CAAC;IAEpC,iFAAiF;IACjF,gEAAgE;IAChE,IAAI,WAAsB,CAAC;IAE3B,mEAAmE;IACnE,IAAI,IAAiB,CAAC;IAEtB,MAAM,eAAe,GAAoB;QACvC,gEAAgE;QAChE,eAAe,CAAC,EAAE;YAChB,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;YACtC,OAAO,IAAI,KAAK,oBAAoB,CAAC;QACvC,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IAEnC,KAAK,UAAU,WAAW;QACxB,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC;QACpC,0BAA0B;QAC1B,KAAK,MAAM,aAAa,IAAI,QAAQ,EAAE,CAAC;YACrC,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC5B,KAAK,MAAM,cAAc,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;oBACpD,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5C,KAAK,MAAM,aAAa,IAAI,QAAQ,EAAE,CAAC;YACrC,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC5B,KAAK,MAAM,cAAc,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;oBACpD,MAAM,QAAQ,CAAC,OAAO,EAAE;wBACtB,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC;wBACvF,OAAO,EAAE,iBAAiB,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;wBACrE,OAAO,EAAE,OAAO,CAAC,OAAO;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,OAAO,EAAE;oBACtB,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC;oBAC/D,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;oBACpE,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,iBAAiB,CACxB,OAAgB,EAChB,sBAAkC,EAClC,WAAoC,EACpC,OAAgB;QAEhB,cAAc,GAAG,OAAO,CAAC;QACzB,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE;YACzC,mBAAmB,EAAE,UAAU,CAAC,IAAI;YACpC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,eAAe,GAAG,sBAAsB,CACtC,OAAO,EACP,YAAY,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,oBAAoB,CAC7B,CAAC;QACF,aAAa,GAAG,kBAAkB,CAChC,OAAO,EACP,KAAM,SAAQ,qBAAqB;YACjC,YAAY,OAAkE;gBAC5E,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;SACK,EACR,OAAO,CACR,CAAC;QAEF,MAAM,eAAe,GAAG,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,GAAG;YACL,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE;gBACJ,KAAK,EAAE,SAAS;gBAChB,GAAG,IAAI;gBACP,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,IAAI,OAAO;aAC7C;YACD,YAAY,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;YACpD,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACpD,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE;gBACd,aAAa,EAAE,EAAE;gBACjB,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,eAAe,EAAE,eAAe;aACjC;SACF,CAAC;QACF,WAAW,GAAG,yBAAyB,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACnB,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,SAAS,yBAAyB,CAAC,OAAgB,EAAE,IAAU;QAC7D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,iBAAiB,CACtB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAChC,IAAI,CAAC,cAAc,IAAI,IAAI,EAC3B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EACpC,IAAI,CACL,CACF,CAAC;YACJ,KAAK,MAAM;gBACT,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC3C,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACrD,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,SAAS,2BAA2B,CAAC,OAAgB,EAAE,IAAmB;QACxE,MAAM,OAAO,GAAG,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;gBAC/B,MAAM,EAAE,IAAI;aACb,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,cAAc,CAAC,OAAqB;QAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,MAAM,SAAS,GAA2C,EAAE,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC7C,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;oBAChD,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAA2B;oBACvC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC7E,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;iBACnC,CAAC;gBAEF,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC9B,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;yBAC3E,IAAW,CAAC;gBACjB,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACtC,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;yBAC3E,IAAW,CAAC;gBACjB,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;gBACD,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC1C,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;YAC7B,CAAC;YACD,OAAO;gBACL,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS;aACV,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,UAAU;QACvB,MAAM,cAAc,GAA4B,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/D,qBAAqB;gBACrB,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,gEAAgE;oBAChE,OAAO,cAAc,CAAC;gBACxB,CAAC;gBAED,cAAc,CAAC,IAAI,CAAC;oBAClB,OAAO;oBACP,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACrB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,iBAAiB;gBACjB,MAAM,aAAa,GAAmC;oBACpD,OAAO;oBACP,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,EAAE;iBACb,CAAC;gBACF,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAEnC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,4CAA4C;wBAC5C,SAAS;oBACX,CAAC;oBAED,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC1B,OAAO;wBACP,OAAO,EAAE,MAAM,CAAC,OAAQ;wBACxB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACrB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;QAEtB,KAAK,UAAU,2BAA2B,CAAC,OAAgB,EAAE,MAA0B;YACrF,MAAM,iBAAiB,GAA4B;gBACjD;oBACE,cAAc,EAAE,QAAQ;oBACxB,SAAS,EAAE,CAAC,MAAM,CAAC;iBACpB;aACF,CAAC;YACF,MAAM,eAAe,GAAG,OAAO,CAAC;YAChC,MAAM,gBAAgB,GAAG,CAAC,OAAO,GAAG,cAAc,CAAC,eAAe,EAAE;gBAClE,GAAG,iBAAiB;gBACpB,GAAG,MAAM,CAAC,WAAW;aACtB,CAAC,CAAC,CAAC;YACJ,MAAM,kBAAkB,GAAc,gBAAgB,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CACjF,OAAO,CAAC,IAAI,CACA,CAAC;YAEf,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAC1C,kBAAkB,KAAK,gBAAgB,CAAC,sBAAsB,EAAE;gBAC9D,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,sBAAsB,EAAE,EAAE;gBACrD,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAE,EAC5C,MAAM,CAAC,OAAO,CACf,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,SAAS,iBAAiB,CAAC,OAAgB,EAAE,eAAwB,EAAE,OAAgB;QACrF,OAAO,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE;YACzC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,0BAA0B,CACjC,mBAA4C;QAE5C,MAAM,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YAClC,2EAA2E;YAC3E,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,mBAAmB,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,4BAA4B,CAAC,GAAoB;QACxD,MAAM,WAAW,GAA6B,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoC,CAAC;QAC/D,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAElC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;YACpD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,CACrD,CAAC;YACF,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CACvD,CAAC;YACF,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEvF,IAAI,QAAQ,IAAI,aAAa,IAAI,eAAe,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBAClF,wEAAwE;gBACxE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,CAAC,QAAQ,IAAI,aAAa,IAAI,eAAe,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBAC1F,4HAA4H;gBAC5H,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAChC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,QAAQ,IAAI,CAAC,CAAC,aAAa,IAAI,eAAe,IAAI,YAAY,CAAC,EAAE,CAAC;gBAC3E,0GAA0G;gBAC1G,yFAAyF;gBACzF,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzB,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAOD,SAAS,sBAAsB,CAC7B,WAAiC,EACjC,QAAc;QAEd,IAAI,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YAChE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,SAAS,cAAc,CACrB,KAA0B,EAC1B,gBAAkC;QAElC,MAAM,aAAa,GAAG,GAAG,EAAE,CACzB,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;YACf,IAAI,EAAE,+BAA+B;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC9D,MAAM,EAAE,gBAAgB;SACzB,CAAC,CACH,CAAC;QAEJ,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAEpB,IAAI,KAAK,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;YAChB,KAAK,GAAG,GAAG,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;YAC3B,aAAa,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBAChB,MAAM;YACR,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,GAAG,GAAG,CAAC;YAC/B,MAAM,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC;YACjC,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;gBACzB,IAAI,KAAK,KAAK,UAAU,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;oBAC3C,aAAa,EAAE,CAAC;gBAClB,CAAC;gBAED,KAAK,GAAG,UAAU,GAAG,GAAG,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,oBAAoB,CAAC,UAA2B;QACvD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,UAAU;SACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,iBAAiB,CAAC,UAA2B;QACpD,MAAM,MAAM,GAA4C,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;QACnD,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACxB,4DAA4D;YAC5D,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,sBAAsB,CAAC,EAAS,CAAC,EAAE,CAAC;gBACtE,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,sFAAsF;QACtF,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,OAAgB,EAChB,OAAgB;QAEhB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,MAAM,IAAI,GAAG,CAAC,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;YAEhE,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACpE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YAElD,KAAK,MAAM,EAAE,IAAI,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;gBACjD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;oBACzC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACzB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,cAAc,EAAE,CAAC;YACjB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,QAAQ,EAAE,CAAC;YAEX,yBAAyB;YACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAChD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAW,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAW,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,gEAAgE;gBAChE,oCAAoC;gBACpC,OAAO;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,OAAO,CACd,UAA2B,EAC3B,IAA0D,EAC1D,QAAgB;QAEhB,MAAM,MAAM,GAAG,UAAU;aACtB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;aACxC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAa,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,wBAAwB,CAAC,MAA2B;QAC3D,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,6BAA6B,CAAC,SAA8C;QAOnF,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,SAAS,kBAAkB,CAAC,MAA2B;QAKrD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,MAAM,aAAa,GAAsB;YACvC,WAAW,EAAE,wBAAwB,CAAC,MAAM,CAAC;YAC7C,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC;YAC7C,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC;YAC7C,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC;SACtC,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC/C,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACvD,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC;gBACvC,IAAI,WAAW,EAAE,CAAC;oBAChB,wCAAwC;oBACxC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC;gBAC9B,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,wCAAwC;oBACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,8DAA8D;QAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACzC,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CACtD,CAAC;QACF,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;gBACf,IAAI,EAAE,8CAA8C;gBACpD,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aAChC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,aAAa,CAAC,UAAU,GAAG,qBAAqB,CAC9C,4BAA4B,CAAC,UAAU,CAAC,EACxC,UAAU,CACX,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;SACtF,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,aAAa,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACrF,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,QAAQ,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,SAAS,YAAY,CACnB,SAAwB;QAExB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;QACtE,0EAA0E;QAC1E,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACtE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEhF,MAAM,aAAa,GAAsB;YACvC,WAAW,EAAE,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;YAC7D,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;YACjD,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;YACjD,UAAU,EAAE,qBAAqB,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC;YACpE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;SACxD,CAAC;QACF,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,WAAW,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,GAAG,WAAW,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,wCAAwC;gBACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QACD,iBAAiB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACrC,+BAA+B;QAE/B,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,aAAa,CAAC,WAAW,GAAG,cAAc,CACxC,SAAS,EACT,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EACpC,UAAU,CACX,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,QAAQ,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YAC9B,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;QAClC,CAAC;QACD,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,SAAS,kBAAkB,CACzB,SAA8B;QAE9B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC/D,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACtC,KAAK,MAAM,QAAQ,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC/E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBAChC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAA8C,EAAE,CAAC;QAE7D,KAAK,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5D,MAAM,eAAe,GAAG,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;YACxE,MAAM,CAAC,UAAU,CAAC,GAAG,wBAAwB,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,YAAY,CACnB,SAAwB,EACxB,SAAkC;QAElC,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,UAAU,IAAI,sBAAsB,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrF,MAAM,CAAC,UAAU,CAAC,GAAG,wBAAwB,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,eAAe,CAAC,IAAU,EAAE,WAAmB;QACtD,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtB,IAAI,CAAC,IAAI,KAAK,OAAO;YACrB,WAAW,KAAK,kBAAkB;YAClC,WAAW,KAAK,YAAY,CAC7B,CAAC;IACJ,CAAC;IAED,SAAS,wBAAwB,CAC/B,SAA8C,EAC9C,UAA8B,EAC9B,SAAkC;QAElC,MAAM,eAAe,GAAqB;YACxC,WAAW,EAAE,EAAE;SAChB,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiB,CAAC;QAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC;gBACjF,eAAe,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW;oBACvD,CAAC,CAAC,GAAG,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,EAAE;oBAC1D,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3B,CAAC;YACD,mBAAmB,CAAC,eAAe,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;gBACjC,eAAe,CAAC,WAAW,GAAG,mCAAmC,CAAC,UAAU,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,SAAS,mBAAmB,CAAC,GAAQ,EAAE,SAAyC,EAAE,MAAY;QAC5F,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC;gBACnB,8DAA8D;gBAC9D,gFAAgF;gBAChF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;4BACrC,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;gCACf,IAAI,EAAE,kBAAkB;gCACxB,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;gCACvB,MAAM,EAAE,MAAM;6BACf,CAAC,CACH,CAAC;wBACJ,CAAC;wBACD,SAAS;oBACX,CAAC;oBACD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAC1B,SAA8C,EAC9C,GAAqB,EACrB,SAAyC,EACzC,YAA0D,SAAS;QAEnE,SAAS,KAAK,IAAI,GAAG,EAA+B,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC;YACnB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,mBAAmB,CAClC,SAAS,EACT,UAAU,EACV,IAAI,CAAC,IAAI,EACT,UAAU,CAAC,IAAI,EACf,WAAW,CACZ,CAAC;gBACF,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,SAAS,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;gBAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG;wBACzB,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAQ,EAAE;qBACxD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,mCAAmC,CAAC,UAAkB;QAC7D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,+BAA+B,CAAC;QACzC,CAAC;QACD,OAAO,wBAAwB,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;IAC3D,CAAC;IAED,SAAS,iBAAiB,CAAC,IAAmB;QAC5C,OAAO,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,iBAAiB,CACxB,IAAU,EACV,UAAsB,EACtB,yBAAmC,EACnC,WAAoB;QAEpB,MAAM,MAAM,GAAG,yBAAyB,CACtC,IAAI,EACJ,UAAU,EACV,yBAAyB,EACzB,WAAW,CACZ,CAAC;QAEF,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC,KAAY,CAAC;YAC7B,KAAK,aAAa;gBAChB,OAAO,EAAE,IAAI,EAAE,wBAAwB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACzD,KAAK,UAAU;gBACb,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;oBACf,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE;oBACpE,MAAM,EAAE,IAAI;iBACb,CAAC,CACH,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM;gBACT,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS,cAAc,CAAC,IAAU,EAAE,UAAsB,EAAE,WAAmB;QAC7E,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAE/E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC;YACZ,KAAK,aAAa;gBAChB,OAAO,MAAM,CAAC,KAAY,CAAC;YAC7B,KAAK,UAAU;gBACb,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;oBACf,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE;oBACpE,MAAM,EAAE,IAAI;iBACb,CAAC,CACH,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM;gBACT,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS,yBAAyB,CAChC,IAAU,EACV,UAAsB,EACtB,yBAAmC,EACnC,WAAoB;QAEpB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;YAClD,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAC/B,CAAC;QACD,WAAW,GAAG,WAAW,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3E,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClC,gBAAgB,EAAE;gBAChB,UAAU;gBACV,oBAAoB,EAAE,oBAAoB;gBAC1C,yBAAyB,EAAE,yBAAyB,IAAI,KAAK;gBAC7D,WAAW;aACZ;SACF,CAAQ,CAAC;IACZ,CAAC;IAED,SAAS,qBAAqB,CAC5B,SAA8C;QAE9C,OAAQ,SAAiC,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC9D,CAAC;IAED,SAAS,qBAAqB,CAC5B,SAA8C;QAE9C,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CACzC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAC3F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,SAAS,8BAA8B,CACrC,SAA8C,EAC9C,MAA8B;QAE9B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,iBAAiB,GAAsB,QAAQ;aAClD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAA+B,EAAE;YAClD,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7E,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;YAClE,OAAO,KAAK;gBACV,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC;gBAC3E,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC;aACD,MAAM,CAAC,SAAS,CAAC,CAAC;QAErB,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,oBAAoB,CAC3B,QAA2B;QAE3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS;YAClC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,EACxC,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAoC,EAAE,CAAC;YACvD,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1D,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,UAAU,KAAK,EAAE,CAAC,GAAG;oBAC/C,OAAO,EAAE,OAAO,CAAC,KAAK;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;iBAC1D,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAC1B,SAA8C,EAC9C,MAA8B,EAC9B,IAAoD,EACpD,UAAsB,EACtB,WAAmB;QAEnB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1D,CAAC;QAED,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,QAAQ;gBACX,OAAO;oBACL,MAAM,EAAE,sBAAsB,CAC5B,IAAI,CAAC,IAAI,EACT,UAAU,EACV,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,2BAA2B,EACnD,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAC/D;oBACD,GAAG,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC;iBACrD,CAAC;YACJ,KAAK,WAAW;gBACd,OAAO;oBACL,GAAG,8BAA8B,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC;oBAChE,GAAG,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC;iBACrD,CAAC;QACN,CAAC;IACH,CAAC;IAED,SAAS,sBAAsB,CAC7B,IAAU,EACV,UAAsB,EACtB,yBAAkC,EAClC,SAA6B;QAE7B,MAAM,aAAa,GAAG,YAAY,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7E,OAAO,iBAAiB,CACtB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,SAAS,IAAI,kBAAkB,CAChC,CAAC;IACJ,CAAC;IAED,SAAS,8BAA8B,CACrC,IAAgC,EAChC,UAAsB,EACtB,WAAmB;QAEnB,MAAM,UAAU,GAAmC,EAAE,CAAC;QACtD,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,SAAS,GAAqC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,SAAS,EAAE,CAAC;YACjD,IAAI,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACtC,CAAC,CAAC,sBAAsB,CACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,UAAU,EACV,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAC7D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAC1D,CAAC;YAEN,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,MAAM;iBACd,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YAE9B,MAAM,QAAQ,GAAG,+BAA+B,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3E,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAmB;YAC7B,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;QAEF,MAAM,IAAI,GACR,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;YAC1C,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAC3C,CAAC;QACD,MAAM,MAAM,GAAsB;YAChC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM;SACjE,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,+BAA+B,CACtC,IAAuB,EACvB,UAAsB,EACtB,MAAsB;QAEtB,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;YACrE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,+BAA+B,CACtC,YAAsB,EACtB,MAAsB;QAEtB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAEpC,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,YAAY;gBACf,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;YAC9D,KAAK,0BAA0B;gBAC7B,OAAO,CACL,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;oBACxD,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;wBACrB,MAAM,CAAC,KAAa,EAAE,IAAI,KAAK,QAAQ;wBACvC,MAAM,CAAC,KAAa,EAAE,MAAM,KAAK,QAAQ,CAAC,CAC9C,CAAC;YACJ,KAAK,kBAAkB;gBACrB,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,YAAY,CACnB,SAAiC,EACjC,UAAsB;QAEtB,MAAM,KAAK,GAAsB;YAC/B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,EAAE,EAAE,SAAS,CAAC,IAAI;YAClB,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;SACjD,CAAC;QAET,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,GAAG;gBACb,IAAI,EAAE,QAAQ;aACf,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,qBAAqB,CAC5B,UAAoC,EACpC,UAAsB;QAEtB,MAAM,MAAM,GAAiC,EAAE,CAAC;QAChD,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,mDAAmD;YACnD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrF,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAC1F,CAAC;gBACF,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,CAAC;oBAC5D,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,cAAc,CACrB,SAA8C,EAC9C,MAAsE,EACtE,UAAsB;QAEtB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,WAAW,GAAwB;YACvC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClF,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;QACzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW;oBAC/C,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,IAAI,IAAI,EAAE;oBACtC,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC7F,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;gBACvF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC;YACnD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG;oBACjC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE;oBAClF,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,SAAS,iBAAiB,CACxB,SAAiC,EACjC,UAAsB;QAEtB,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;QAE/B,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,sEAAsE;YACtE,eAAe;YACf,WAAW,GAAG,IAAI,CAAC;YACnB,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC;YACnC,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC/B,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC;YACrC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,IAAI,EAAE,MAAM;aACb,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAElD,qGAAqG;QACrG,IAAI,WAAW,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,uBAAuB,CAC9B,KAAoB,EACpB,UAAsB;QAEtB,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAC1B,OAAO,EACP,KAAK,EACL,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC3C,OAAO,CACR,CAAC;QACF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QACD,2DAA2D;QAC3D,OAAO,MAAM,CAAC,WAAW,CAAC;QAE1B,MAAM,QAAQ,GAA0B;YACtC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;YACnC,MAAM;SACP,CAAC;QAEF,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE3C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,sBAAsB,CAC7B,MAAyB,EACzB,KAAwB;QAExB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,kBAAkB,CACzB,SAAiC;QAEjC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC7C,KAAK,OAAO;gBACV,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAC5C,KAAK,MAAM;gBACT,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS,wBAAwB,CAC/B,SAEC;QAED,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC;YACZ,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC7B;gBACE,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;oBACf,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE;wBACN,SAAS,EAAE,QAAQ;wBACnB,KAAK,EAAE,SAAS,CAAC,MAAM;qBACxB;oBACD,MAAM,EAAE,SAAS,CAAC,KAAK;iBACxB,CAAC,CACH,CAAC;gBACF,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,SAAS,uBAAuB,CAC9B,SAEC;QAED,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC;YACZ,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC3C,KAAK,OAAO,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC1C,KAAK,KAAK;gBACR,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACrD,KAAK,OAAO;gBACV,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAEpD;gBACE,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;oBACf,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE;wBACN,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,SAAS,CAAC,MAAM;qBACxB;oBACD,MAAM,EAAE,SAAS,CAAC,KAAK;iBACxB,CAAC,CACH,CAAC;gBACF,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,SAAS,cAAc;QACrB,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,eAAe,CACzB,OAAO,EACP,QAAQ,EACR,KAAK,EACL,IAAI,CAAC,UAAW,CAAC,UAAW,EAC5B,eAAe,CAChB,CAAC;YAEF,IAAI,CAAC,UAAW,CAAC,UAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YAED,KAAK,CAAC,IAAI,GAAG,0BAA0B,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,SAAS,WAAW,CAAC,gBAA2B;QAC9C,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAClC,0BAA0B,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,cAAc,CACZ,KAAK,CAAC,MAAM,KAAK,CAAC,EAClB,kDAAkD,KAAK,CAAC,MAAM,EAAE,CACjE,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC;YAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;YACvD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAY,CAAC;YACvD,CAAC;QACH,CAAC;QAED,SAAS,0BAA0B;YACjC,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,EAAE;gBAC/B,IAAI,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO;gBACT,CAAC;gBACD,IACE,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;oBACnC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;oBACtB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5B,CAAC;oBACD,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC;YACF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACvE,wBAAwB,CACtB,gBAAgB,EAChB;gBACE,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;aACjB,EACD,EAAE,iBAAiB,EAAE,CACtB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,SAAS,QAAQ;QACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,SAAS,gBAAgB,CAAC,IAAU,EAAE,UAAsB;QAC1D,OAAO,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAQ,CAAC;IACpD,CAAC;IAED,SAAS,gBAAgB,CAAC,OAAgB,EAAE,IAAU,EAAE,UAAe;QACrE,gCAAgC;QAChC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,wBAAwB,CAAC,YAAkB,EAAE,MAAsB;QAC1E,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE7C,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC;QACjC,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC/B,CAAC;QAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,SAAS,CAAC,OAAO,GAAG,iBAAiB,CAAC;YACtC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACpC,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC/B,CAAC;QAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,SAAS,CAAC,OAAO,GAAG,iBAAiB,CAAC;YACtC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACpC,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC/C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC/C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;YACpC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,YAAmB,CAAC,CAAC;QAC5D,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;aAC1F,CAAC;QACJ,CAAC;QAED,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAEnD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,iBAAiB,CAAC,YAAkB,EAAE,MAA+B;QAC5E,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;IACH,CAAC;IAED,SAAS,yBAAyB,CAChC,mBAA+B;QAE/B,MAAM,OAAO,GAA2C,EAAE,CAAC;QAC3D,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,kBAAkB,CAAC,aAAsC;QAChE,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,UAAyC,EAAE,EAAE;YACvF,MAAM,cAAc,GAA6B,EAAE,CAAC;YACpD,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;gBACzC,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;oBACzB,KAAK,QAAQ;wBACX,sHAAsH;wBACtH,SAAS;oBACX,KAAK,QAAQ;wBACX,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;wBACzD,SAAS;oBACX;wBACE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,mBAAmB,CAC1B,aAAsC;QAEtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,iBAAiB,CAAC,IAAc;QACvC,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,MAAM,EAAE,CAAC;YACX,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,SAAS,yBAAyB,CAAC,IAAc;QAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9E,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACzF,KAAK,QAAQ;gBACX,MAAM,KAAK,GAAuB,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBACjB,gBAAgB,EAAG,IAAY,CAAC,gBAAgB;wBAChD,QAAQ,EAAG,IAAY,CAAC,QAAQ;wBAChC,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;qBACnF,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAClE,KAAK,eAAe;gBAClB,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO,SAAS,CAAC;YACnB;gBACE,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;oBACf,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,EAAE,QAAQ,EAAG,IAAY,CAAC,IAAI,EAAE;oBACxC,MAAM,EAAE,cAAc,CAAC,IAAI;iBAC5B,CAAC,CACH,CAAC;gBACF,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAsB,EAAE,QAAkB;IACnE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,IAAI,EAAE;gBACrB,WAAW,EAAE,IAAI;gBACjB,qBAAqB,EAAE,KAAK;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;IACP,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,MAAM,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,mBAAoB,SAAQ,KAAK;IACrC;QACE,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACzD,CAAC;CACF;AAED,SAAS,gBAAgB,CAAoC,GAAM;IACjE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,SAAc,EAAE,GAAW,EAAE,EAAE;QACtC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAqB;IAChD,GAAG,CAAC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/openapi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Diagnostic, Program, Type } from "@typespec/compiler";
2
+ import { HttpStatusCodesEntry } from "@typespec/http";
3
+ import { OpenAPI3StatusCode } from "./types.js";
4
+ export declare function getOpenAPI3StatusCodes(program: Program, statusCodes: HttpStatusCodesEntry, response: Type): [OpenAPI3StatusCode[], readonly Diagnostic[]];
5
+ //# sourceMappingURL=status-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-codes.d.ts","sourceRoot":"","sources":["../../src/status-codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAuB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,oBAAoB,EACjC,QAAQ,EAAE,IAAI,GACb,CAAC,kBAAkB,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAQ/C"}
@@ -0,0 +1,51 @@
1
+ import { isDefaultResponse } from "@typespec/openapi";
2
+ import { createDiagnostic } from "./lib.js";
3
+ export function getOpenAPI3StatusCodes(program, statusCodes, response) {
4
+ if (isDefaultResponse(program, response) || statusCodes === "*") {
5
+ return [["default"], []];
6
+ }
7
+ else if (typeof statusCodes === "number") {
8
+ return [[String(statusCodes)], []];
9
+ }
10
+ else {
11
+ return rangeToOpenAPI(statusCodes, response);
12
+ }
13
+ }
14
+ function rangeToOpenAPI(range, diagnosticTarget) {
15
+ const diagnostics = [];
16
+ const reportInvalid = () => diagnostics.push(createDiagnostic({
17
+ code: "unsupported-status-code-range",
18
+ format: { start: String(range.start), end: String(range.end) },
19
+ target: diagnosticTarget,
20
+ }));
21
+ const codes = [];
22
+ let start = range.start;
23
+ let end = range.end;
24
+ if (range.start < 100) {
25
+ reportInvalid();
26
+ start = 100;
27
+ codes.push("default");
28
+ }
29
+ else if (range.end > 599) {
30
+ reportInvalid();
31
+ codes.push("default");
32
+ end = 599;
33
+ }
34
+ const groups = [1, 2, 3, 4, 5];
35
+ for (const group of groups) {
36
+ if (start > end) {
37
+ break;
38
+ }
39
+ const groupStart = group * 100;
40
+ const groupEnd = groupStart + 99;
41
+ if (start >= groupStart && start <= groupEnd) {
42
+ codes.push(`${group}XX`);
43
+ if (start !== groupStart || end < groupEnd) {
44
+ reportInvalid();
45
+ }
46
+ start = groupStart + 100;
47
+ }
48
+ }
49
+ return [codes, diagnostics];
50
+ }
51
+ //# sourceMappingURL=status-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-codes.js","sourceRoot":"","sources":["../../src/status-codes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,WAAiC,EACjC,QAAc;IAEd,IAAI,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QAChE,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,OAAO,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAA0B,EAC1B,gBAAkC;IAElC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,GAAG,EAAE,CACzB,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;QACf,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAC9D,MAAM,EAAE,gBAAgB;KACzB,CAAC,CACH,CAAC;IAEJ,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IAEpB,IAAI,KAAK,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;QACtB,aAAa,EAAE,CAAC;QAChB,KAAK,GAAG,GAAG,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,aAAa,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAChB,MAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,GAAG,GAAG,CAAC;QAC/B,MAAM,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC;QACjC,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;YACzB,IAAI,KAAK,KAAK,UAAU,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;gBAC3C,aAAa,EAAE,CAAC;YAClB,CAAC;YAED,KAAK,GAAG,UAAU,GAAG,GAAG,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { HttpOperation } from "@typespec/http";
1
2
  /**
2
3
  * Checks if two objects are deeply equal.
3
4
  *
@@ -24,4 +25,9 @@ export declare function mapEquals<K, V>(left: Map<K, V>, right: Map<K, V>, equal
24
25
  * Check if argument is not undefined.
25
26
  */
26
27
  export declare function isDefined<T>(arg: T | undefined): arg is T;
28
+ export interface SharedHttpOperation {
29
+ kind: "shared";
30
+ operations: HttpOperation[];
31
+ }
32
+ export declare function isSharedHttpOperation(operation: HttpOperation | SharedHttpOperation): operation is SharedHttpOperation;
27
33
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAWjE;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,GAAE,gBAAgB,CAAC,CAAC,CAAqB,GAC9C,OAAO,CAcT;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAChB,MAAM,GAAE,gBAAgB,CAAC,CAAC,CAAqB,GAC9C,OAAO,CAaT;AACD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,IAAI,CAAC,CAEzD"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAWjE;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,GAAE,gBAAgB,CAAC,CAAC,CAAqB,GAC9C,OAAO,CAcT;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAChB,MAAM,GAAE,gBAAgB,CAAC,CAAC,CAAqB,GAC9C,OAAO,CAaT;AACD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,IAAI,CAAC,CAEzD;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AACD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,aAAa,GAAG,mBAAmB,GAC7C,SAAS,IAAI,mBAAmB,CAElC"}
package/dist/src/util.js CHANGED
@@ -62,4 +62,7 @@ export function mapEquals(left, right, equals = (x, y) => x === y) {
62
62
  export function isDefined(arg) {
63
63
  return arg !== undefined;
64
64
  }
65
+ export function isSharedHttpOperation(operation) {
66
+ return operation.kind === "shared";
67
+ }
65
68
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAa,EAAE,KAAc;IACtD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9F,CAAC;AAID;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,IAAS,EACT,KAAU,EACV,SAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;IAE/C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,IAAe,EACf,KAAgB,EAChB,SAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;IAE/C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAI,GAAkB;IAC7C,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAa,EAAE,KAAc;IACtD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9F,CAAC;AAID;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,IAAS,EACT,KAAU,EACV,SAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;IAE/C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,IAAe,EACf,KAAgB,EAChB,SAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;IAE/C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAI,GAAkB;IAC7C,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC;AAMD,MAAM,UAAU,qBAAqB,CACnC,SAA8C;IAE9C,OAAQ,SAAiC,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9D,CAAC"}
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const version = "0.58.0";
1
+ export const version = "0.59.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/openapi3",
3
- "version": "0.59.0-dev.8",
3
+ "version": "0.59.0",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting OpenAPI 3.0 from the TypeSpec REST protocol binding and converting OpenAPI3 to TypeSpec",
6
6
  "homepage": "https://typespec.io",
@@ -45,20 +45,14 @@
45
45
  "yaml": "~2.4.5"
46
46
  },
47
47
  "peerDependencies": {
48
- "@typespec/compiler": "~0.58.1 || >=0.59.0-dev <0.59.0",
49
- "@typespec/http": "~0.58.0 || >=0.59.0-dev <0.59.0",
50
- "@typespec/openapi": "~0.58.0 || >=0.59.0-dev <0.59.0",
51
- "@typespec/versioning": "~0.58.0 || >=0.59.0-dev <0.59.0"
48
+ "@typespec/compiler": "~0.59.0",
49
+ "@typespec/http": "~0.59.0",
50
+ "@typespec/openapi": "~0.59.0",
51
+ "@typespec/versioning": "~0.59.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/node": "~18.11.19",
55
55
  "@types/yargs": "~17.0.32",
56
- "@typespec/compiler": "~0.58.1 || >=0.59.0-dev <0.59.0",
57
- "@typespec/http": "~0.58.0 || >=0.59.0-dev <0.59.0",
58
- "@typespec/library-linter": "~0.58.0 || >=0.59.0-dev <0.59.0",
59
- "@typespec/openapi": "~0.58.0 || >=0.59.0-dev <0.59.0",
60
- "@typespec/rest": "~0.58.0 || >=0.59.0-dev <0.59.0",
61
- "@typespec/versioning": "~0.58.0 || >=0.59.0-dev <0.59.0",
62
56
  "@vitest/coverage-v8": "^2.0.4",
63
57
  "@vitest/ui": "^2.0.4",
64
58
  "c8": "^10.1.2",
@@ -66,7 +60,13 @@
66
60
  "rimraf": "~6.0.1",
67
61
  "typescript": "~5.5.4",
68
62
  "vitest": "^2.0.4",
69
- "@typespec/tspd": "~0.46.0"
63
+ "@typespec/compiler": "~0.59.0",
64
+ "@typespec/library-linter": "~0.59.0",
65
+ "@typespec/openapi": "~0.59.0",
66
+ "@typespec/http": "~0.59.0",
67
+ "@typespec/tspd": "~0.46.0",
68
+ "@typespec/rest": "~0.59.0",
69
+ "@typespec/versioning": "~0.59.0"
70
70
  },
71
71
  "scripts": {
72
72
  "clean": "rimraf ./dist ./temp",