@skmtc/core 0.0.533 → 0.0.535

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.
@@ -2,14 +2,14 @@ import type { OasOperation } from '../../oas/operation/Operation.js';
2
2
  import { type OperationGatewayArgs } from '../GatewayBase.js';
3
3
  import type { Identifier } from '../Identifier.js';
4
4
  import type { EnrichmentRequest } from '../../types/EnrichmentRequest.js';
5
- import type { IsSupportedOperationArgs } from './OperationInsertable.js';
5
+ import type { IsSupportedOperationConfigArgs, IsSupportedOperationArgs } from './OperationInsertable.js';
6
6
  import type { GenerateContext } from '../../context/GenerateContext.js';
7
7
  import type { z } from 'zod';
8
8
  export type ToOperationGatewayArgs<EnrichmentType> = {
9
9
  id: string;
10
10
  toIdentifier: () => Identifier;
11
11
  toExportPath: () => string;
12
- isSupported?: ({ operation, context }: IsSupportedOperationArgs) => boolean;
12
+ isSupported?: ({ context, operation, enrichments }: IsSupportedOperationConfigArgs<EnrichmentType>) => boolean;
13
13
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(operation: OasOperation) => EnrichmentRequest<RequestedEnrichment> | undefined;
14
14
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
15
15
  };
@@ -33,7 +33,7 @@ export declare const toOperationGateway: <EnrichmentType>(config: ToOperationGat
33
33
  toEnrichmentRequest: (<RequestedEnrichment extends EnrichmentType>(operation: OasOperation) => EnrichmentRequest<RequestedEnrichment> | undefined) | undefined;
34
34
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
35
35
  toEnrichments: ({ operation, context }: ToEnrichmentsArgs) => EnrichmentType;
36
- isSupported: ({ operation, context }: IsSupportedOperationArgs) => boolean;
36
+ isSupported: ({ context, operation }: IsSupportedOperationArgs) => boolean;
37
37
  pinnable: boolean;
38
38
  };
39
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"toOperationGateway.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/toOperationGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,MAAM,sBAAsB,CAAC,cAAc,IAAI;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,UAAU,CAAA;IAC9B,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,OAAO,CAAA;IAC3E,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,SAAS,EAAE,YAAY,KACpB,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;CACpD,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,cAAc,UACvC,sBAAsB,CAAC,cAAc,CAAC;gCA2BT,oBAAoB;;;;;;;;;;wBA1CrC,UAAU;wBACV,MAAM;2BAEH,mBAAmB,oCAC7B,YAAY,KACpB,iBAAiB,qBAAqB,GAAG,SAAS;8BAC7B,CAAC,CAAC,OAAO,gBAAgB;4CAqBD,iBAAiB,KAAG,cAAc;0CAzB7C,wBAAwB,KAAK,OAAO;;CA8C5E,CAAA"}
1
+ {"version":3,"file":"toOperationGateway.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/toOperationGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,MAAM,sBAAsB,CAAC,cAAc,IAAI;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,UAAU,CAAA;IAC9B,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,CAAC,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACZ,EAAE,8BAA8B,CAAC,cAAc,CAAC,KAAK,OAAO,CAAA;IAC7D,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,SAAS,EAAE,YAAY,KACpB,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;CACpD,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,cAAc,UACvC,sBAAsB,CAAC,cAAc,CAAC;gCAoCT,oBAAoB;;;;;;;;;;wBAvDrC,UAAU;wBACV,MAAM;2BAMH,mBAAmB,oCAC7B,YAAY,KACpB,iBAAiB,qBAAqB,GAAG,SAAS;8BAC7B,CAAC,CAAC,OAAO,gBAAgB;4CAqBD,iBAAiB,KAAG,cAAc;0CAYpC,wBAAwB;;CAkBzE,CAAA"}
@@ -71,7 +71,13 @@ export const toOperationGateway = (config) => {
71
71
  enumerable: true,
72
72
  configurable: true,
73
73
  writable: true,
74
- value: config.isSupported ?? (() => true)
74
+ value: ({ context, operation }) => {
75
+ if (typeof config.isSupported !== 'function') {
76
+ return true;
77
+ }
78
+ const enrichments = OperationGateway.toEnrichments({ operation, context });
79
+ return config.isSupported({ context, operation, enrichments });
80
+ }
75
81
  }),
76
82
  Object.defineProperty(_a, "pinnable", {
77
83
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/types/Preview.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAA;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQC,CAAA"}
1
+ {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/types/Preview.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAcjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAA;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skmtc/core",
3
- "version": "0.0.533",
3
+ "version": "0.0.535",
4
4
  "main": "./script/mod.js",
5
5
  "module": "./esm/mod.js",
6
6
  "exports": {
@@ -74,7 +74,8 @@
74
74
  },
75
75
  "devDependencies": {
76
76
  "@types/lodash-es": "4.17.12",
77
- "@types/node": "^20.9.0"
77
+ "@types/node": "^20.9.0",
78
+ "openapi-types": "12.1.3"
78
79
  },
79
80
  "_generatedBy": "dnt@dev"
80
81
  }
@@ -2,14 +2,14 @@ import type { OasOperation } from '../../oas/operation/Operation.js';
2
2
  import { type OperationGatewayArgs } from '../GatewayBase.js';
3
3
  import type { Identifier } from '../Identifier.js';
4
4
  import type { EnrichmentRequest } from '../../types/EnrichmentRequest.js';
5
- import type { IsSupportedOperationArgs } from './OperationInsertable.js';
5
+ import type { IsSupportedOperationConfigArgs, IsSupportedOperationArgs } from './OperationInsertable.js';
6
6
  import type { GenerateContext } from '../../context/GenerateContext.js';
7
7
  import type { z } from 'zod';
8
8
  export type ToOperationGatewayArgs<EnrichmentType> = {
9
9
  id: string;
10
10
  toIdentifier: () => Identifier;
11
11
  toExportPath: () => string;
12
- isSupported?: ({ operation, context }: IsSupportedOperationArgs) => boolean;
12
+ isSupported?: ({ context, operation, enrichments }: IsSupportedOperationConfigArgs<EnrichmentType>) => boolean;
13
13
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(operation: OasOperation) => EnrichmentRequest<RequestedEnrichment> | undefined;
14
14
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
15
15
  };
@@ -33,7 +33,7 @@ export declare const toOperationGateway: <EnrichmentType>(config: ToOperationGat
33
33
  toEnrichmentRequest: (<RequestedEnrichment extends EnrichmentType>(operation: OasOperation) => EnrichmentRequest<RequestedEnrichment> | undefined) | undefined;
34
34
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
35
35
  toEnrichments: ({ operation, context }: ToEnrichmentsArgs) => EnrichmentType;
36
- isSupported: ({ operation, context }: IsSupportedOperationArgs) => boolean;
36
+ isSupported: ({ context, operation }: IsSupportedOperationArgs) => boolean;
37
37
  pinnable: boolean;
38
38
  };
39
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"toOperationGateway.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/toOperationGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,MAAM,sBAAsB,CAAC,cAAc,IAAI;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,UAAU,CAAA;IAC9B,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,OAAO,CAAA;IAC3E,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,SAAS,EAAE,YAAY,KACpB,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;CACpD,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,cAAc,UACvC,sBAAsB,CAAC,cAAc,CAAC;gCA2BT,oBAAoB;;;;;;;;;;wBA1CrC,UAAU;wBACV,MAAM;2BAEH,mBAAmB,oCAC7B,YAAY,KACpB,iBAAiB,qBAAqB,GAAG,SAAS;8BAC7B,CAAC,CAAC,OAAO,gBAAgB;4CAqBD,iBAAiB,KAAG,cAAc;0CAzB7C,wBAAwB,KAAK,OAAO;;CA8C5E,CAAA"}
1
+ {"version":3,"file":"toOperationGateway.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/toOperationGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,MAAM,sBAAsB,CAAC,cAAc,IAAI;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,UAAU,CAAA;IAC9B,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,CAAC,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACZ,EAAE,8BAA8B,CAAC,cAAc,CAAC,KAAK,OAAO,CAAA;IAC7D,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,SAAS,EAAE,YAAY,KACpB,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;CACpD,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,cAAc,UACvC,sBAAsB,CAAC,cAAc,CAAC;gCAoCT,oBAAoB;;;;;;;;;;wBAvDrC,UAAU;wBACV,MAAM;2BAMH,mBAAmB,oCAC7B,YAAY,KACpB,iBAAiB,qBAAqB,GAAG,SAAS;8BAC7B,CAAC,CAAC,OAAO,gBAAgB;4CAqBD,iBAAiB,KAAG,cAAc;0CAYpC,wBAAwB;;CAkBzE,CAAA"}
@@ -74,7 +74,13 @@ const toOperationGateway = (config) => {
74
74
  enumerable: true,
75
75
  configurable: true,
76
76
  writable: true,
77
- value: config.isSupported ?? (() => true)
77
+ value: ({ context, operation }) => {
78
+ if (typeof config.isSupported !== 'function') {
79
+ return true;
80
+ }
81
+ const enrichments = OperationGateway.toEnrichments({ operation, context });
82
+ return config.isSupported({ context, operation, enrichments });
83
+ }
78
84
  }),
79
85
  Object.defineProperty(_a, "pinnable", {
80
86
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/types/Preview.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAA;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQC,CAAA"}
1
+ {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/types/Preview.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAcjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAA;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQC,CAAA"}