@kinotic-ai/os-api 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +17 -12
- package/dist/index.d.cts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.js +17 -12
- package/package.json +2 -1
package/dist/index.cjs
CHANGED
|
@@ -48,7 +48,6 @@ __export(exports_src, {
|
|
|
48
48
|
TextDecorator: () => TextDecorator,
|
|
49
49
|
TenantSelectionC3Type: () => TenantSelectionC3Type,
|
|
50
50
|
TenantIdDecorator: () => TenantIdDecorator,
|
|
51
|
-
StructuresProjectConfig: () => StructuresProjectConfig,
|
|
52
51
|
SingleLoggerLevelsDescriptor: () => SingleLoggerLevelsDescriptor,
|
|
53
52
|
RoleDecorator: () => RoleDecorator,
|
|
54
53
|
QueryOptionsC3Type: () => QueryOptionsC3Type,
|
|
@@ -64,13 +63,16 @@ __export(exports_src, {
|
|
|
64
63
|
OsApiPlugin: () => OsApiPlugin,
|
|
65
64
|
NotIndexedDecorator: () => NotIndexedDecorator,
|
|
66
65
|
NestedDecorator: () => NestedDecorator,
|
|
67
|
-
|
|
66
|
+
NamedQueriesDefinitionService: () => NamedQueriesDefinitionService,
|
|
68
67
|
NamedQueriesDefinition: () => NamedQueriesDefinition,
|
|
69
68
|
MigrationService: () => MigrationService,
|
|
70
69
|
LoggersDescriptor: () => LoggersDescriptor,
|
|
71
70
|
LoggerLevelsDescriptor: () => LoggerLevelsDescriptor,
|
|
72
71
|
LogManager: () => LogManager,
|
|
73
72
|
LogLevel: () => LogLevel,
|
|
73
|
+
KinoticSingleton: () => import_core5.KinoticSingleton,
|
|
74
|
+
KinoticProjectConfig: () => KinoticProjectConfig,
|
|
75
|
+
Kinotic: () => import_core5.Kinotic,
|
|
74
76
|
IdDecorator: () => IdDecorator,
|
|
75
77
|
GroupLoggerLevelsDescriptor: () => GroupLoggerLevelsDescriptor,
|
|
76
78
|
FlattenedDecorator: () => FlattenedDecorator,
|
|
@@ -384,8 +386,8 @@ class OverrideConfiguration {
|
|
|
384
386
|
jsonPath;
|
|
385
387
|
propertyDefinition;
|
|
386
388
|
}
|
|
387
|
-
// packages/os-api/src/api/model/config/
|
|
388
|
-
class
|
|
389
|
+
// packages/os-api/src/api/model/config/KinoticProjectConfig.ts
|
|
390
|
+
class KinoticProjectConfig {
|
|
389
391
|
mdl;
|
|
390
392
|
name;
|
|
391
393
|
description;
|
|
@@ -396,11 +398,11 @@ class StructuresProjectConfig {
|
|
|
396
398
|
validate;
|
|
397
399
|
}
|
|
398
400
|
|
|
399
|
-
class TypescriptProjectConfig extends
|
|
401
|
+
class TypescriptProjectConfig extends KinoticProjectConfig {
|
|
400
402
|
mdl = "ts";
|
|
401
403
|
}
|
|
402
404
|
|
|
403
|
-
class TypescriptExternalProjectConfig extends
|
|
405
|
+
class TypescriptExternalProjectConfig extends KinoticProjectConfig {
|
|
404
406
|
mdl = "ts-external";
|
|
405
407
|
externalEntities;
|
|
406
408
|
utilFunctionsPaths;
|
|
@@ -426,7 +428,7 @@ var import_core = require("@kinotic-ai/core");
|
|
|
426
428
|
|
|
427
429
|
class ApplicationService extends import_core.CrudServiceProxy {
|
|
428
430
|
constructor(kinotic) {
|
|
429
|
-
super(kinotic.serviceProxy("org.kinotic.
|
|
431
|
+
super(kinotic.serviceProxy("org.kinotic.os.api.services.ApplicationService"));
|
|
430
432
|
}
|
|
431
433
|
createApplicationIfNotExist(id, description) {
|
|
432
434
|
return this.serviceProxy.invoke("createApplicationIfNotExist", [id, description]);
|
|
@@ -469,7 +471,7 @@ var import_core2 = require("@kinotic-ai/core");
|
|
|
469
471
|
|
|
470
472
|
class ProjectService extends import_core2.CrudServiceProxy {
|
|
471
473
|
constructor(kinotic) {
|
|
472
|
-
super(kinotic.serviceProxy("org.kinotic.
|
|
474
|
+
super(kinotic.serviceProxy("org.kinotic.os.api.services.ProjectService"));
|
|
473
475
|
}
|
|
474
476
|
countForApplication(applicationId) {
|
|
475
477
|
return this.serviceProxy.invoke("countForApplication", [applicationId]);
|
|
@@ -554,12 +556,12 @@ class EntityDefinitionService extends import_core3.CrudServiceProxy {
|
|
|
554
556
|
return this.serviceProxy.invoke("syncIndex", []);
|
|
555
557
|
}
|
|
556
558
|
}
|
|
557
|
-
// packages/os-api/src/api/services/
|
|
559
|
+
// packages/os-api/src/api/services/INamedQueriesDefinitionService.ts
|
|
558
560
|
var import_core4 = require("@kinotic-ai/core");
|
|
559
561
|
|
|
560
|
-
class
|
|
562
|
+
class NamedQueriesDefinitionService extends import_core4.CrudServiceProxy {
|
|
561
563
|
constructor(kinotic) {
|
|
562
|
-
super(kinotic.serviceProxy("org.kinotic.persistence.api.services.
|
|
564
|
+
super(kinotic.serviceProxy("org.kinotic.persistence.api.services.NamedQueriesDefinitionService"));
|
|
563
565
|
}
|
|
564
566
|
syncIndex() {
|
|
565
567
|
return this.serviceProxy.invoke("syncIndex", []);
|
|
@@ -599,9 +601,12 @@ var OsApiPlugin = {
|
|
|
599
601
|
projects: new ProjectService(kinotic),
|
|
600
602
|
logManager: new LogManager(kinotic),
|
|
601
603
|
entityDefinitions: new EntityDefinitionService(kinotic),
|
|
602
|
-
|
|
604
|
+
namedQueriesDefinitions: new NamedQueriesDefinitionService(kinotic),
|
|
603
605
|
migrations: new MigrationService(kinotic),
|
|
604
606
|
dataInsights: new DataInsightsService(kinotic)
|
|
605
607
|
};
|
|
606
608
|
}
|
|
607
609
|
};
|
|
610
|
+
|
|
611
|
+
// packages/os-api/src/index.ts
|
|
612
|
+
var import_core5 = require("@kinotic-ai/core");
|
package/dist/index.d.cts
CHANGED
|
@@ -358,7 +358,7 @@ declare class EntityConfiguration {
|
|
|
358
358
|
* The project configuration for a structures project.
|
|
359
359
|
* This is the base configuration. Language specific configurations extend this configuration.
|
|
360
360
|
*/
|
|
361
|
-
declare abstract class
|
|
361
|
+
declare abstract class KinoticProjectConfig {
|
|
362
362
|
/**
|
|
363
363
|
* This specifies the Model Definition Language (MDL).
|
|
364
364
|
* This is the language that is used to define the structures models.
|
|
@@ -401,13 +401,13 @@ declare abstract class StructuresProjectConfig {
|
|
|
401
401
|
/**
|
|
402
402
|
* The project configuration for a TypeScript structures project.
|
|
403
403
|
*/
|
|
404
|
-
declare class TypescriptProjectConfig extends
|
|
404
|
+
declare class TypescriptProjectConfig extends KinoticProjectConfig {
|
|
405
405
|
readonly mdl = "ts";
|
|
406
406
|
}
|
|
407
407
|
/**
|
|
408
408
|
* The project configuration for a TypeScript structures project.
|
|
409
409
|
*/
|
|
410
|
-
declare class TypescriptExternalProjectConfig extends
|
|
410
|
+
declare class TypescriptExternalProjectConfig extends KinoticProjectConfig {
|
|
411
411
|
readonly mdl = "ts-external";
|
|
412
412
|
/**
|
|
413
413
|
* External EntityConfigurations that are part of an external codebase and that you cannot add @Entity decorators to.
|
|
@@ -706,14 +706,14 @@ declare class EntityDefinitionService extends CrudServiceProxy3<EntityDefinition
|
|
|
706
706
|
}
|
|
707
707
|
import { IKinotic as IKinotic5 } from "@kinotic-ai/core";
|
|
708
708
|
import { CrudServiceProxy as CrudServiceProxy4, ICrudServiceProxy as ICrudServiceProxy4 } from "@kinotic-ai/core";
|
|
709
|
-
interface
|
|
709
|
+
interface INamedQueriesDefinitionService extends ICrudServiceProxy4<NamedQueriesDefinition> {
|
|
710
710
|
/**
|
|
711
711
|
* This operation makes all the recent writes immediately available for search.
|
|
712
712
|
* @return a Promise that resolves when the operation is complete
|
|
713
713
|
*/
|
|
714
714
|
syncIndex(): Promise<void>;
|
|
715
715
|
}
|
|
716
|
-
declare class
|
|
716
|
+
declare class NamedQueriesDefinitionService extends CrudServiceProxy4<NamedQueriesDefinition> implements INamedQueriesDefinitionService {
|
|
717
717
|
constructor(kinotic: IKinotic5);
|
|
718
718
|
syncIndex(): Promise<void>;
|
|
719
719
|
}
|
|
@@ -782,12 +782,13 @@ interface IOsApiExtension {
|
|
|
782
782
|
projects: IProjectService;
|
|
783
783
|
logManager: ILogManager;
|
|
784
784
|
entityDefinitions: IEntityDefinitionService;
|
|
785
|
-
|
|
785
|
+
namedQueriesDefinitions: INamedQueriesDefinitionService;
|
|
786
786
|
migrations: IMigrationService;
|
|
787
787
|
dataInsights: IDataInsightsService;
|
|
788
788
|
}
|
|
789
789
|
declare const OsApiPlugin: KinoticPlugin<IOsApiExtension>;
|
|
790
|
+
import { Kinotic, KinoticSingleton as KinoticSingleton2, IKinotic as IKinotic8, KinoticPlugin as KinoticPlugin2 } from "@kinotic-ai/core";
|
|
790
791
|
declare module "@kinotic-ai/core" {
|
|
791
792
|
interface KinoticSingleton extends IOsApiExtension {}
|
|
792
793
|
}
|
|
793
|
-
export { VersionDecorator, TypescriptProjectConfig, TypescriptExternalProjectConfig, TransformConfiguration, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator,
|
|
794
|
+
export { VersionDecorator, TypescriptProjectConfig, TypescriptExternalProjectConfig, TransformConfiguration, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, RoleDecorator, QueryOptionsC3Type, QueryDecorator, ProjectType2 as ProjectType, ProjectService, Project, ProgressType, PolicyDecorator, PageableC3Type, PageC3Type, OverrideConfiguration, OsApiPlugin, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticSingleton2 as KinoticSingleton, KinoticProjectConfig, KinoticPlugin2 as KinoticPlugin, Kinotic, InsightRequest, InsightProgress, IdDecorator, IProjectService, IOsApiExtension, INamedQueriesDefinitionService, IMigrationService, ILogManager, IKinotic8 as IKinotic, IEntityDefinitionService, IDataInsightsService, IApplicationService, GroupLoggerLevelsDescriptor, FlattenedDecorator, EsIndexConfigurationDecorator, EntityDefinitionService, EntityDefinition, EntityDecorator, EntityConfiguration, DiscriminatorDecorator, DataInsightsService, DataInsightsComponent, CalculatedPropertyConfiguration, AutoGeneratedIdDecorator, ApplicationService, Application, $Role, $Policy };
|
package/dist/index.d.ts
CHANGED
|
@@ -358,7 +358,7 @@ declare class EntityConfiguration {
|
|
|
358
358
|
* The project configuration for a structures project.
|
|
359
359
|
* This is the base configuration. Language specific configurations extend this configuration.
|
|
360
360
|
*/
|
|
361
|
-
declare abstract class
|
|
361
|
+
declare abstract class KinoticProjectConfig {
|
|
362
362
|
/**
|
|
363
363
|
* This specifies the Model Definition Language (MDL).
|
|
364
364
|
* This is the language that is used to define the structures models.
|
|
@@ -401,13 +401,13 @@ declare abstract class StructuresProjectConfig {
|
|
|
401
401
|
/**
|
|
402
402
|
* The project configuration for a TypeScript structures project.
|
|
403
403
|
*/
|
|
404
|
-
declare class TypescriptProjectConfig extends
|
|
404
|
+
declare class TypescriptProjectConfig extends KinoticProjectConfig {
|
|
405
405
|
readonly mdl = "ts";
|
|
406
406
|
}
|
|
407
407
|
/**
|
|
408
408
|
* The project configuration for a TypeScript structures project.
|
|
409
409
|
*/
|
|
410
|
-
declare class TypescriptExternalProjectConfig extends
|
|
410
|
+
declare class TypescriptExternalProjectConfig extends KinoticProjectConfig {
|
|
411
411
|
readonly mdl = "ts-external";
|
|
412
412
|
/**
|
|
413
413
|
* External EntityConfigurations that are part of an external codebase and that you cannot add @Entity decorators to.
|
|
@@ -706,14 +706,14 @@ declare class EntityDefinitionService extends CrudServiceProxy3<EntityDefinition
|
|
|
706
706
|
}
|
|
707
707
|
import { IKinotic as IKinotic5 } from "@kinotic-ai/core";
|
|
708
708
|
import { CrudServiceProxy as CrudServiceProxy4, ICrudServiceProxy as ICrudServiceProxy4 } from "@kinotic-ai/core";
|
|
709
|
-
interface
|
|
709
|
+
interface INamedQueriesDefinitionService extends ICrudServiceProxy4<NamedQueriesDefinition> {
|
|
710
710
|
/**
|
|
711
711
|
* This operation makes all the recent writes immediately available for search.
|
|
712
712
|
* @return a Promise that resolves when the operation is complete
|
|
713
713
|
*/
|
|
714
714
|
syncIndex(): Promise<void>;
|
|
715
715
|
}
|
|
716
|
-
declare class
|
|
716
|
+
declare class NamedQueriesDefinitionService extends CrudServiceProxy4<NamedQueriesDefinition> implements INamedQueriesDefinitionService {
|
|
717
717
|
constructor(kinotic: IKinotic5);
|
|
718
718
|
syncIndex(): Promise<void>;
|
|
719
719
|
}
|
|
@@ -782,12 +782,13 @@ interface IOsApiExtension {
|
|
|
782
782
|
projects: IProjectService;
|
|
783
783
|
logManager: ILogManager;
|
|
784
784
|
entityDefinitions: IEntityDefinitionService;
|
|
785
|
-
|
|
785
|
+
namedQueriesDefinitions: INamedQueriesDefinitionService;
|
|
786
786
|
migrations: IMigrationService;
|
|
787
787
|
dataInsights: IDataInsightsService;
|
|
788
788
|
}
|
|
789
789
|
declare const OsApiPlugin: KinoticPlugin<IOsApiExtension>;
|
|
790
|
+
import { Kinotic, KinoticSingleton as KinoticSingleton2, IKinotic as IKinotic8, KinoticPlugin as KinoticPlugin2 } from "@kinotic-ai/core";
|
|
790
791
|
declare module "@kinotic-ai/core" {
|
|
791
792
|
interface KinoticSingleton extends IOsApiExtension {}
|
|
792
793
|
}
|
|
793
|
-
export { VersionDecorator, TypescriptProjectConfig, TypescriptExternalProjectConfig, TransformConfiguration, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator,
|
|
794
|
+
export { VersionDecorator, TypescriptProjectConfig, TypescriptExternalProjectConfig, TransformConfiguration, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, RoleDecorator, QueryOptionsC3Type, QueryDecorator, ProjectType2 as ProjectType, ProjectService, Project, ProgressType, PolicyDecorator, PageableC3Type, PageC3Type, OverrideConfiguration, OsApiPlugin, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticSingleton2 as KinoticSingleton, KinoticProjectConfig, KinoticPlugin2 as KinoticPlugin, Kinotic, InsightRequest, InsightProgress, IdDecorator, IProjectService, IOsApiExtension, INamedQueriesDefinitionService, IMigrationService, ILogManager, IKinotic8 as IKinotic, IEntityDefinitionService, IDataInsightsService, IApplicationService, GroupLoggerLevelsDescriptor, FlattenedDecorator, EsIndexConfigurationDecorator, EntityDefinitionService, EntityDefinition, EntityDecorator, EntityConfiguration, DiscriminatorDecorator, DataInsightsService, DataInsightsComponent, CalculatedPropertyConfiguration, AutoGeneratedIdDecorator, ApplicationService, Application, $Role, $Policy };
|
package/dist/index.js
CHANGED
|
@@ -292,8 +292,8 @@ class OverrideConfiguration {
|
|
|
292
292
|
jsonPath;
|
|
293
293
|
propertyDefinition;
|
|
294
294
|
}
|
|
295
|
-
// packages/os-api/src/api/model/config/
|
|
296
|
-
class
|
|
295
|
+
// packages/os-api/src/api/model/config/KinoticProjectConfig.ts
|
|
296
|
+
class KinoticProjectConfig {
|
|
297
297
|
mdl;
|
|
298
298
|
name;
|
|
299
299
|
description;
|
|
@@ -304,11 +304,11 @@ class StructuresProjectConfig {
|
|
|
304
304
|
validate;
|
|
305
305
|
}
|
|
306
306
|
|
|
307
|
-
class TypescriptProjectConfig extends
|
|
307
|
+
class TypescriptProjectConfig extends KinoticProjectConfig {
|
|
308
308
|
mdl = "ts";
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
-
class TypescriptExternalProjectConfig extends
|
|
311
|
+
class TypescriptExternalProjectConfig extends KinoticProjectConfig {
|
|
312
312
|
mdl = "ts-external";
|
|
313
313
|
externalEntities;
|
|
314
314
|
utilFunctionsPaths;
|
|
@@ -334,7 +334,7 @@ import { CrudServiceProxy } from "@kinotic-ai/core";
|
|
|
334
334
|
|
|
335
335
|
class ApplicationService extends CrudServiceProxy {
|
|
336
336
|
constructor(kinotic) {
|
|
337
|
-
super(kinotic.serviceProxy("org.kinotic.
|
|
337
|
+
super(kinotic.serviceProxy("org.kinotic.os.api.services.ApplicationService"));
|
|
338
338
|
}
|
|
339
339
|
createApplicationIfNotExist(id, description) {
|
|
340
340
|
return this.serviceProxy.invoke("createApplicationIfNotExist", [id, description]);
|
|
@@ -377,7 +377,7 @@ import { CrudServiceProxy as CrudServiceProxy2, FunctionalIterablePage } from "@
|
|
|
377
377
|
|
|
378
378
|
class ProjectService extends CrudServiceProxy2 {
|
|
379
379
|
constructor(kinotic) {
|
|
380
|
-
super(kinotic.serviceProxy("org.kinotic.
|
|
380
|
+
super(kinotic.serviceProxy("org.kinotic.os.api.services.ProjectService"));
|
|
381
381
|
}
|
|
382
382
|
countForApplication(applicationId) {
|
|
383
383
|
return this.serviceProxy.invoke("countForApplication", [applicationId]);
|
|
@@ -462,12 +462,12 @@ class EntityDefinitionService extends CrudServiceProxy3 {
|
|
|
462
462
|
return this.serviceProxy.invoke("syncIndex", []);
|
|
463
463
|
}
|
|
464
464
|
}
|
|
465
|
-
// packages/os-api/src/api/services/
|
|
465
|
+
// packages/os-api/src/api/services/INamedQueriesDefinitionService.ts
|
|
466
466
|
import { CrudServiceProxy as CrudServiceProxy4 } from "@kinotic-ai/core";
|
|
467
467
|
|
|
468
|
-
class
|
|
468
|
+
class NamedQueriesDefinitionService extends CrudServiceProxy4 {
|
|
469
469
|
constructor(kinotic) {
|
|
470
|
-
super(kinotic.serviceProxy("org.kinotic.persistence.api.services.
|
|
470
|
+
super(kinotic.serviceProxy("org.kinotic.persistence.api.services.NamedQueriesDefinitionService"));
|
|
471
471
|
}
|
|
472
472
|
syncIndex() {
|
|
473
473
|
return this.serviceProxy.invoke("syncIndex", []);
|
|
@@ -507,12 +507,15 @@ var OsApiPlugin = {
|
|
|
507
507
|
projects: new ProjectService(kinotic),
|
|
508
508
|
logManager: new LogManager(kinotic),
|
|
509
509
|
entityDefinitions: new EntityDefinitionService(kinotic),
|
|
510
|
-
|
|
510
|
+
namedQueriesDefinitions: new NamedQueriesDefinitionService(kinotic),
|
|
511
511
|
migrations: new MigrationService(kinotic),
|
|
512
512
|
dataInsights: new DataInsightsService(kinotic)
|
|
513
513
|
};
|
|
514
514
|
}
|
|
515
515
|
};
|
|
516
|
+
|
|
517
|
+
// packages/os-api/src/index.ts
|
|
518
|
+
import { Kinotic, KinoticSingleton } from "@kinotic-ai/core";
|
|
516
519
|
export {
|
|
517
520
|
VersionDecorator,
|
|
518
521
|
TypescriptProjectConfig,
|
|
@@ -522,7 +525,6 @@ export {
|
|
|
522
525
|
TextDecorator,
|
|
523
526
|
TenantSelectionC3Type,
|
|
524
527
|
TenantIdDecorator,
|
|
525
|
-
StructuresProjectConfig,
|
|
526
528
|
SingleLoggerLevelsDescriptor,
|
|
527
529
|
RoleDecorator,
|
|
528
530
|
QueryOptionsC3Type,
|
|
@@ -538,13 +540,16 @@ export {
|
|
|
538
540
|
OsApiPlugin,
|
|
539
541
|
NotIndexedDecorator,
|
|
540
542
|
NestedDecorator,
|
|
541
|
-
|
|
543
|
+
NamedQueriesDefinitionService,
|
|
542
544
|
NamedQueriesDefinition,
|
|
543
545
|
MigrationService,
|
|
544
546
|
LoggersDescriptor,
|
|
545
547
|
LoggerLevelsDescriptor,
|
|
546
548
|
LogManager,
|
|
547
549
|
LogLevel,
|
|
550
|
+
KinoticSingleton,
|
|
551
|
+
KinoticProjectConfig,
|
|
552
|
+
Kinotic,
|
|
548
553
|
IdDecorator,
|
|
549
554
|
GroupLoggerLevelsDescriptor,
|
|
550
555
|
FlattenedDecorator,
|
package/package.json
CHANGED
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"./package.json": "./package.json"
|
|
22
22
|
},
|
|
23
|
+
"homepage": "https://github.com/kinotic-ai/kinotic",
|
|
23
24
|
"license": "Elastic License 2.0",
|
|
24
25
|
"publishConfig": {
|
|
25
26
|
"access": "public"
|
|
@@ -50,5 +51,5 @@
|
|
|
50
51
|
"optional": true
|
|
51
52
|
}
|
|
52
53
|
},
|
|
53
|
-
"version": "1.0.
|
|
54
|
+
"version": "1.0.2"
|
|
54
55
|
}
|