@scout9/app 1.0.0-alpha.0.7.3 → 1.0.0-alpha.0.7.5

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.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var spirits = require("./spirits-be64ac49.cjs");
3
+ var spirits = require("./spirits-552ab0ad.cjs");
4
4
  var require$$0$4 = require('util');
5
5
  var require$$0$3 = require('stream');
6
6
  var require$$1 = require('path');
@@ -21,7 +21,7 @@ var node_url = require('node:url');
21
21
  var node_events = require('node:events');
22
22
  var Stream = require('node:stream');
23
23
  var node_string_decoder = require('node:string_decoder');
24
- var macros = require("./macros-22b2e0b8.cjs");
24
+ var macros = require("./macros-346a3755.cjs");
25
25
  var readline = require('node:readline');
26
26
  var process$2 = require('node:process');
27
27
  var node_os = require('node:os');
@@ -35241,7 +35241,7 @@ function _loadUserPackageJson() {
35241
35241
  targetPkgUrl = isTest ? packageTestJsonUrl : packageJsonUrl;
35242
35242
  _context2.t0 = JSON;
35243
35243
  _context2.next = 10;
35244
- return fs__default["default"].readFile(new URL(targetPkgUrl, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('dev-9a580c47.js', document.baseURI).href))), 'utf-8');
35244
+ return fs__default["default"].readFile(new URL(targetPkgUrl, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('dev-39cc4ace.js', document.baseURI).href))), 'utf-8');
35245
35245
  case 10:
35246
35246
  _context2.t1 = _context2.sent;
35247
35247
  pkg = _context2.t0.parse.call(_context2.t0, _context2.t1);
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var spirits = require("./spirits-be64ac49.cjs");
4
- var dev = require("./dev-9a580c47.cjs");
5
- var macros = require("./macros-22b2e0b8.cjs");
3
+ var spirits = require("./spirits-552ab0ad.cjs");
4
+ var dev = require("./dev-39cc4ace.cjs");
5
+ var macros = require("./macros-346a3755.cjs");
6
6
  var require$$0 = require('fs');
7
7
  var require$$2$1 = require('events');
8
8
  var require$$1 = require('path');
@@ -29483,7 +29483,7 @@ class Body {
29483
29483
  }
29484
29484
  const {
29485
29485
  toFormData
29486
- } = await Promise.resolve().then(function () { return require("./multipart-parser-c40e8831.cjs"); });
29486
+ } = await Promise.resolve().then(function () { return require("./multipart-parser-bb9514c7.cjs"); });
29487
29487
  return toFormData(this.body, ct);
29488
29488
  }
29489
29489
 
@@ -41884,7 +41884,7 @@ function _loadUserPackageJson() {
41884
41884
  targetPkgUrl = isTest ? packageTestJsonUrl : packageJsonUrl;
41885
41885
  _context.t0 = JSON;
41886
41886
  _context.next = 10;
41887
- return fs__default["default"].readFile(new URL(targetPkgUrl, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-53c92a52.js', document.baseURI).href))), 'utf-8');
41887
+ return fs__default["default"].readFile(new URL(targetPkgUrl, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-2ec44f44.js', document.baseURI).href))), 'utf-8');
41888
41888
  case 10:
41889
41889
  _context.t1 = _context.sent;
41890
41890
  pkg = _context.t0.parse.call(_context.t0, _context.t1);
@@ -43176,7 +43176,7 @@ var ProjectFiles = /*#__PURE__*/function () {
43176
43176
  return ProjectFiles;
43177
43177
  }();
43178
43178
 
43179
- var __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-53c92a52.js', document.baseURI).href)));
43179
+ var __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-2ec44f44.js', document.baseURI).href)));
43180
43180
  var __dirname$1 = path__default["default"].dirname(__filename$1);
43181
43181
  function zipDirectory(source, out) {
43182
43182
  var archive = archiver$1('tar', {
@@ -43391,7 +43391,7 @@ function _buildApp() {
43391
43391
  case 11:
43392
43392
  _context4.t0 = JSON;
43393
43393
  _context4.next = 14;
43394
- return fs__default["default"].readFile(new URL(templatePackagePath, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-53c92a52.js', document.baseURI).href))), 'utf-8');
43394
+ return fs__default["default"].readFile(new URL(templatePackagePath, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-2ec44f44.js', document.baseURI).href))), 'utf-8');
43395
43395
  case 14:
43396
43396
  _context4.t1 = _context4.sent;
43397
43397
  packageTemplate = _context4.t0.parse.call(_context4.t0, _context4.t1);
package/dist/index.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require("./index-53c92a52.cjs");
6
- var dev = require("./dev-9a580c47.cjs");
7
- require("./spirits-be64ac49.cjs");
8
- require("./macros-22b2e0b8.cjs");
5
+ var index = require("./index-2ec44f44.cjs");
6
+ var dev = require("./dev-39cc4ace.cjs");
7
+ require("./spirits-552ab0ad.cjs");
8
+ require("./macros-346a3755.cjs");
9
9
  require('fs');
10
10
  require('events');
11
11
  require('path');
@@ -4430,6 +4430,8 @@ var EntityConfigurationDefinitionSchema = z.object({
4430
4430
  text: z.array(z.string(), {
4431
4431
  description: 'Text representing the entity variance'
4432
4432
  })
4433
+ }, {
4434
+ description: 'The corpus definitions the NLP model(s) uses to set vector embedding positions'
4433
4435
  });
4434
4436
  var EntityConfigurationTrainingSchema = z.object({
4435
4437
  intent: zId('Intent', z.string({
@@ -4438,6 +4440,8 @@ var EntityConfigurationTrainingSchema = z.object({
4438
4440
  text: z.string({
4439
4441
  description: 'Text to train the intent field and entities in or entity variances in example sentences or phrase. Ex: "I love %pizza%" and "Can I purchase a %pizza%?"'
4440
4442
  })
4443
+ }, {
4444
+ description: 'The corpus text to train the NLP model(s) on'
4441
4445
  });
4442
4446
  var EntityConfigurationTestSchema = z.object({
4443
4447
  text: z.string({
@@ -4450,25 +4454,44 @@ var EntityConfigurationTestSchema = z.object({
4450
4454
  // context: ConversationContext
4451
4455
  context: z.any()
4452
4456
  })
4457
+ }, {
4458
+ description: 'The tests to run to validate a successful training iteration'
4459
+ });
4460
+ var EntityTypeEnum = z["enum"](['entity', 'reference'], {
4461
+ description: 'The type of entity. Use "entity" for core types and "reference" for auto-generated categories that help models identify and link to core entities.'
4453
4462
  });
4454
4463
  var _EntityConfigurationSchema = z.object({
4455
4464
  id: zId('Id', z.string({
4456
4465
  description: 'If not provided, the id will default to the route (folder) name'
4457
4466
  })).optional(),
4467
+ type: EntityTypeEnum.optional(),
4468
+ references: z.string({
4469
+ description: 'If type="reference" then this field determines which core entity this categorical entity is referencing'
4470
+ }).optional(),
4458
4471
  definitions: z.array(EntityConfigurationDefinitionSchema).optional(),
4459
4472
  training: z.array(EntityConfigurationTrainingSchema).optional(),
4460
4473
  tests: z.array(EntityConfigurationTestSchema).optional()
4474
+ }, {
4475
+ description: 'full entity NLP configuration file used for training/tuning its corresponding NLP model(s)'
4461
4476
  }).strict();
4462
- var EntityConfigurationSchema = _EntityConfigurationSchema.refine(function (data) {
4463
- // If 'definitions' is provided, then 'training' must also be provided
4464
- if (data.definitions !== undefined) {
4465
- return data.training !== undefined;
4477
+ var EntityConfigurationSchema = _EntityConfigurationSchema.superRefine(function (data, ctx) {
4478
+ // Validation: if definitions is provided, training must also be provided
4479
+ if (data.definitions !== undefined && data.training === undefined) {
4480
+ ctx.addIssue({
4481
+ path: ['training'],
4482
+ code: z.ZodIssueCode.custom,
4483
+ message: "If 'definitions' is provided, then 'training' must also be provided"
4484
+ });
4485
+ }
4486
+
4487
+ // Validation: if type is 'reference', then 'references' is required
4488
+ if (data.type === 'reference' && !data.references) {
4489
+ ctx.addIssue({
4490
+ path: ['references'],
4491
+ code: z.ZodIssueCode.custom,
4492
+ message: "'references' is required when type is 'reference'"
4493
+ });
4466
4494
  }
4467
- // If 'definitions' is not provided, no additional validation is needed
4468
- return true;
4469
- }, {
4470
- // Custom error message
4471
- message: "If 'definitions' is provided, then 'training' must also be provided"
4472
4495
  });
4473
4496
  var EntitiesRootConfigurationSchema = z.array(EntityConfigurationSchema);
4474
4497
  var EntityExtendedProjectConfigurationSchema = z.object({
@@ -2,9 +2,9 @@
2
2
 
3
3
  require('node:fs');
4
4
  require('node:path');
5
- var index = require("./index-53c92a52.cjs");
6
- require("./spirits-be64ac49.cjs");
7
- require("./dev-9a580c47.cjs");
5
+ var index = require("./index-2ec44f44.cjs");
6
+ require("./spirits-552ab0ad.cjs");
7
+ require("./dev-39cc4ace.cjs");
8
8
  require('util');
9
9
  require('stream');
10
10
  require('path');
@@ -23,7 +23,7 @@ require('node:url');
23
23
  require('node:events');
24
24
  require('node:stream');
25
25
  require('node:string_decoder');
26
- require("./macros-22b2e0b8.cjs");
26
+ require("./macros-346a3755.cjs");
27
27
  require('node:readline');
28
28
  require('node:process');
29
29
  require('node:os');
package/dist/schemas.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var macros = require("./macros-22b2e0b8.cjs");
5
+ var macros = require("./macros-346a3755.cjs");
6
6
 
7
7
 
8
8
 
@@ -1442,18 +1442,18 @@ var Spirits = {
1442
1442
  entities: (_generatorPayload$ent = generatorPayload.entities) !== null && _generatorPayload$ent !== void 0 ? _generatorPayload$ent : [],
1443
1443
  context: (_generatorPayload$con = generatorPayload.context) !== null && _generatorPayload$con !== void 0 ? _generatorPayload$con : {},
1444
1444
  mediaUrls: (_generatorPayload$med = generatorPayload.mediaUrls) !== null && _generatorPayload$med !== void 0 ? _generatorPayload$med : []
1445
- }].concat(_toConsumableArray(((generatorPayload === null || generatorPayload === void 0 ? void 0 : generatorPayload.addedMessages) || []).map(function (message) {
1446
- var _message$time, _message$entities, _message$context;
1447
- return {
1448
- id: idGenerator('agent'),
1449
- content: message.content,
1450
- role: 'agent',
1451
- time: ((_message$time = message.time) === null || _message$time === void 0 || (_message$time = _message$time.toDate()) === null || _message$time === void 0 ? void 0 : _message$time.toISOString()) || new Date().toISOString(),
1452
- entities: (_message$entities = message.entities) !== null && _message$entities !== void 0 ? _message$entities : {},
1453
- context: (_message$context = message.context) !== null && _message$context !== void 0 ? _message$context : {},
1454
- mediaUrls: message.mediaUrls
1455
- };
1456
- }))).reduce(function (accumulator, message) {
1445
+ }
1446
+ // ...(generatorPayload?.addedMessages || [])
1447
+ // .map((message) => ({
1448
+ // id: idGenerator('agent'),
1449
+ // content: message.content,
1450
+ // role: 'agent',
1451
+ // time: message.time?.toDate()?.toISOString() || new Date().toISOString(),
1452
+ // entities: message.entities ?? {},
1453
+ // context: message.context ?? {},
1454
+ // mediaUrls: message.mediaUrls
1455
+ // }))
1456
+ ].reduce(function (accumulator, message) {
1457
1457
  if (!accumulator.find(function (m) {
1458
1458
  return m.content === message.content;
1459
1459
  })) accumulator.push(message);
package/dist/spirits.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var spirits = require("./spirits-be64ac49.cjs");
5
+ var spirits = require("./spirits-552ab0ad.cjs");
6
6
 
7
7
 
8
8
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dev = require("./dev-9a580c47.cjs");
6
- require("./spirits-be64ac49.cjs");
5
+ var dev = require("./dev-39cc4ace.cjs");
6
+ require("./spirits-552ab0ad.cjs");
7
7
  require('util');
8
8
  require('stream');
9
9
  require('path');
@@ -24,7 +24,7 @@ require('node:url');
24
24
  require('node:events');
25
25
  require('node:stream');
26
26
  require('node:string_decoder');
27
- require("./macros-22b2e0b8.cjs");
27
+ require("./macros-346a3755.cjs");
28
28
  require('node:readline');
29
29
  require('node:process');
30
30
  require('node:os');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scout9/app",
3
- "version": "1.0.0-alpha.0.7.3",
3
+ "version": "1.0.0-alpha.0.7.5",
4
4
  "description": "Build and deploy your Scout9 app for SMS auto replies",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/src/public.d.ts CHANGED
@@ -475,14 +475,62 @@ export type EntityTest = {
475
475
  };
476
476
  };
477
477
 
478
- export type EntityConfiguration = {
479
- /** If not provided, the id will default to the route (folder) name */
480
- id?: string | undefined;
481
- definitions?: EntityDefinition[] | undefined;
482
- training?: EntityTrainingDocument[] | undefined;
483
- tests?: EntityTest[] | undefined;
478
+ /**
479
+ * The type of entity.
480
+ * - "entity" represents a core entity type.
481
+ * - "reference" represents a categorical reference to a core entity.
482
+ */
483
+ export type EntityConfigurationType = 'entity' | 'reference';
484
+
485
+ /** Configuration for a core entity */
486
+ export type CoreEntityConfiguration = {
487
+ type: 'entity';
488
+ };
489
+
490
+ /** Configuration for a reference entity */
491
+ export type CategoricalReferenceEntityConfiguration = {
492
+ type: 'reference';
493
+ /**
494
+ * The ID of the core entity this reference entity links to.
495
+ */
496
+ references: string;
484
497
  };
485
498
 
499
+ /** Fallback when the type is unknown or optional */
500
+ export type UnknownEntityConfigurationType = {
501
+ /**
502
+ * The type of entity.
503
+ * - "entity" for core types
504
+ * - "reference" for generated categories that reference core entities
505
+ */
506
+ type?: EntityConfigurationType;
507
+ /** Required if type is "reference" */
508
+ references?: string;
509
+ };
510
+
511
+ /** Full entity NLP configuration file used for training/tuning its corresponding NLP model(s) */
512
+ export type EntityConfiguration = {
513
+ /**
514
+ * Optional ID; if not provided, defaults to the route (folder) name.
515
+ */
516
+ id?: string;
517
+
518
+ /**
519
+ * The corpus definitions used to compute embeddings for NLP models.
520
+ */
521
+ definitions?: EntityDefinition[];
522
+
523
+ /**
524
+ * The corpus documents used to train NLP models.
525
+ */
526
+ training?: EntityTrainingDocument[];
527
+
528
+ /**
529
+ * Tests to validate the trained NLP model.
530
+ */
531
+ tests?: EntityTest[];
532
+ } & (CategoricalReferenceEntityConfiguration | CoreEntityConfiguration | UnknownEntityConfigurationType);
533
+
486
534
  export type EntityApiConfiguration = {
487
535
  GET?: boolean | undefined;
488
536
  UPDATE?: boolean | undefined;
@@ -17,11 +17,11 @@ const EntityConfigurationDefinitionSchema = z.object({
17
17
  .optional(),
18
18
  value: z.string({description: 'The value of this entity variance'}),
19
19
  text: z.array(z.string(), {description: 'Text representing the entity variance'})
20
- });
20
+ }, {description: 'The corpus definitions the NLP model(s) uses to set vector embedding positions'});
21
21
  const EntityConfigurationTrainingSchema = z.object({
22
22
  intent: zId('Intent', z.string({description: 'The assigned intent id of the given text, e.g. "I love %pizza%" could have an intent id "feedback" and "Can I purchase a %pizza%?" could have an intent id "purchase"'})),
23
23
  text: z.string({description: 'Text to train the intent field and entities in or entity variances in example sentences or phrase. Ex: "I love %pizza%" and "Can I purchase a %pizza%?"'})
24
- });
24
+ }, {description: 'The corpus text to train the NLP model(s) on'});
25
25
  const EntityConfigurationTestSchema = z.object({
26
26
  text: z.string({description: 'Text to test the entity detection'}),
27
27
  expected: z.object({
@@ -29,24 +29,37 @@ const EntityConfigurationTestSchema = z.object({
29
29
  // context: ConversationContext
30
30
  context: z.any()
31
31
  })
32
- });
32
+ }, {description: 'The tests to run to validate a successful training iteration'});
33
+
34
+ const EntityTypeEnum = z.enum(['entity', 'reference'], {description: 'The type of entity. Use "entity" for core types and "reference" for auto-generated categories that help models identify and link to core entities.'});
35
+
33
36
  const _EntityConfigurationSchema = z.object({
34
37
  id: zId('Id', z.string({description: 'If not provided, the id will default to the route (folder) name'})).optional(),
38
+ type: EntityTypeEnum.optional(),
39
+ references: z.string({description: 'If type="reference" then this field determines which core entity this categorical entity is referencing'}).optional(),
35
40
  definitions: z.array(EntityConfigurationDefinitionSchema).optional(),
36
41
  training: z.array(EntityConfigurationTrainingSchema).optional(),
37
- tests: z.array(EntityConfigurationTestSchema).optional()
38
- }).strict();
42
+ tests: z.array(EntityConfigurationTestSchema).optional(),
43
+ }, {description: 'full entity NLP configuration file used for training/tuning its corresponding NLP model(s)'}).strict();
39
44
 
40
- export const EntityConfigurationSchema = _EntityConfigurationSchema.refine((data) => {
41
- // If 'definitions' is provided, then 'training' must also be provided
42
- if (data.definitions !== undefined) {
43
- return data.training !== undefined;
45
+ export const EntityConfigurationSchema = _EntityConfigurationSchema.superRefine((data, ctx) => {
46
+ // Validation: if definitions is provided, training must also be provided
47
+ if (data.definitions !== undefined && data.training === undefined) {
48
+ ctx.addIssue({
49
+ path: ['training'],
50
+ code: z.ZodIssueCode.custom,
51
+ message: "If 'definitions' is provided, then 'training' must also be provided",
52
+ });
53
+ }
54
+
55
+ // Validation: if type is 'reference', then 'references' is required
56
+ if (data.type === 'reference' && !data.references) {
57
+ ctx.addIssue({
58
+ path: ['references'],
59
+ code: z.ZodIssueCode.custom,
60
+ message: "'references' is required when type is 'reference'",
61
+ });
44
62
  }
45
- // If 'definitions' is not provided, no additional validation is needed
46
- return true;
47
- }, {
48
- // Custom error message
49
- message: "If 'definitions' is provided, then 'training' must also be provided",
50
63
  });
51
64
 
52
65
  export const EntitiesRootConfigurationSchema = z.array(EntityConfigurationSchema);
@@ -634,16 +634,16 @@ export const Spirits = {
634
634
  context: generatorPayload.context ?? {},
635
635
  mediaUrls: generatorPayload.mediaUrls ?? []
636
636
  },
637
- ...(generatorPayload?.addedMessages || [])
638
- .map((message) => ({
639
- id: idGenerator('agent'),
640
- content: message.content,
641
- role: 'agent',
642
- time: message.time?.toDate()?.toISOString() || new Date().toISOString(),
643
- entities: message.entities ?? {},
644
- context: message.context ?? {},
645
- mediaUrls: message.mediaUrls
646
- }))
637
+ // ...(generatorPayload?.addedMessages || [])
638
+ // .map((message) => ({
639
+ // id: idGenerator('agent'),
640
+ // content: message.content,
641
+ // role: 'agent',
642
+ // time: message.time?.toDate()?.toISOString() || new Date().toISOString(),
643
+ // entities: message.entities ?? {},
644
+ // context: message.context ?? {},
645
+ // mediaUrls: message.mediaUrls
646
+ // }))
647
647
  ]
648
648
  .reduce((accumulator, message) => {
649
649
  if (!accumulator.find(m => m.content === message.content)) accumulator.push(message);
package/types/index.d.ts CHANGED
@@ -418,14 +418,62 @@ declare module '@scout9/app' {
418
418
  };
419
419
  };
420
420
 
421
- export type EntityConfiguration = {
422
- /** If not provided, the id will default to the route (folder) name */
423
- id?: string | undefined;
424
- definitions?: EntityDefinition[] | undefined;
425
- training?: EntityTrainingDocument[] | undefined;
426
- tests?: EntityTest[] | undefined;
421
+ /**
422
+ * The type of entity.
423
+ * - "entity" represents a core entity type.
424
+ * - "reference" represents a categorical reference to a core entity.
425
+ */
426
+ export type EntityConfigurationType = 'entity' | 'reference';
427
+
428
+ /** Configuration for a core entity */
429
+ export type CoreEntityConfiguration = {
430
+ type: 'entity';
431
+ };
432
+
433
+ /** Configuration for a reference entity */
434
+ export type CategoricalReferenceEntityConfiguration = {
435
+ type: 'reference';
436
+ /**
437
+ * The ID of the core entity this reference entity links to.
438
+ */
439
+ references: string;
427
440
  };
428
441
 
442
+ /** Fallback when the type is unknown or optional */
443
+ export type UnknownEntityConfigurationType = {
444
+ /**
445
+ * The type of entity.
446
+ * - "entity" for core types
447
+ * - "reference" for generated categories that reference core entities
448
+ */
449
+ type?: EntityConfigurationType;
450
+ /** Required if type is "reference" */
451
+ references?: string;
452
+ };
453
+
454
+ /** Full entity NLP configuration file used for training/tuning its corresponding NLP model(s) */
455
+ export type EntityConfiguration = {
456
+ /**
457
+ * Optional ID; if not provided, defaults to the route (folder) name.
458
+ */
459
+ id?: string;
460
+
461
+ /**
462
+ * The corpus definitions used to compute embeddings for NLP models.
463
+ */
464
+ definitions?: EntityDefinition[];
465
+
466
+ /**
467
+ * The corpus documents used to train NLP models.
468
+ */
469
+ training?: EntityTrainingDocument[];
470
+
471
+ /**
472
+ * Tests to validate the trained NLP model.
473
+ */
474
+ tests?: EntityTest[];
475
+ } & (CategoricalReferenceEntityConfiguration | CoreEntityConfiguration | UnknownEntityConfigurationType);
476
+
429
477
  export type EntityApiConfiguration = {
430
478
  GET?: boolean | undefined;
431
479
  UPDATE?: boolean | undefined;
@@ -1631,7 +1679,9 @@ declare module '@scout9/app/schemas' {
1631
1679
  } | undefined;
1632
1680
  }>, "many">;
1633
1681
  entities: z.ZodArray<z.ZodEffects<z.ZodObject<{
1682
+ type: z.ZodOptional<z.ZodEnum<["entity", "reference"]>>;
1634
1683
  id: z.ZodOptional<z.ZodString>;
1684
+ references: z.ZodOptional<z.ZodString>;
1635
1685
  definitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1636
1686
  utterance: z.ZodOptional<z.ZodString>;
1637
1687
  value: z.ZodString;
@@ -1715,7 +1765,9 @@ declare module '@scout9/app/schemas' {
1715
1765
  PATCH?: boolean | undefined;
1716
1766
  DELETE?: boolean | undefined;
1717
1767
  } | null;
1768
+ type?: "entity" | "reference" | undefined;
1718
1769
  id?: string | undefined;
1770
+ references?: string | undefined;
1719
1771
  definitions?: {
1720
1772
  value: string;
1721
1773
  text: string[];
@@ -1743,7 +1795,9 @@ declare module '@scout9/app/schemas' {
1743
1795
  PATCH?: boolean | undefined;
1744
1796
  DELETE?: boolean | undefined;
1745
1797
  } | null;
1798
+ type?: "entity" | "reference" | undefined;
1746
1799
  id?: string | undefined;
1800
+ references?: string | undefined;
1747
1801
  definitions?: {
1748
1802
  value: string;
1749
1803
  text: string[];
@@ -1771,7 +1825,9 @@ declare module '@scout9/app/schemas' {
1771
1825
  PATCH?: boolean | undefined;
1772
1826
  DELETE?: boolean | undefined;
1773
1827
  } | null;
1828
+ type?: "entity" | "reference" | undefined;
1774
1829
  id?: string | undefined;
1830
+ references?: string | undefined;
1775
1831
  definitions?: {
1776
1832
  value: string;
1777
1833
  text: string[];
@@ -1799,7 +1855,9 @@ declare module '@scout9/app/schemas' {
1799
1855
  PATCH?: boolean | undefined;
1800
1856
  DELETE?: boolean | undefined;
1801
1857
  } | null;
1858
+ type?: "entity" | "reference" | undefined;
1802
1859
  id?: string | undefined;
1860
+ references?: string | undefined;
1803
1861
  definitions?: {
1804
1862
  value: string;
1805
1863
  text: string[];
@@ -1901,7 +1959,9 @@ declare module '@scout9/app/schemas' {
1901
1959
  PATCH?: boolean | undefined;
1902
1960
  DELETE?: boolean | undefined;
1903
1961
  } | null;
1962
+ type?: "entity" | "reference" | undefined;
1904
1963
  id?: string | undefined;
1964
+ references?: string | undefined;
1905
1965
  definitions?: {
1906
1966
  value: string;
1907
1967
  text: string[];
@@ -2019,7 +2079,9 @@ declare module '@scout9/app/schemas' {
2019
2079
  PATCH?: boolean | undefined;
2020
2080
  DELETE?: boolean | undefined;
2021
2081
  } | null;
2082
+ type?: "entity" | "reference" | undefined;
2022
2083
  id?: string | undefined;
2084
+ references?: string | undefined;
2023
2085
  definitions?: {
2024
2086
  value: string;
2025
2087
  text: string[];
@@ -2098,6 +2160,8 @@ declare module '@scout9/app/schemas' {
2098
2160
  }>>;
2099
2161
  export const EntityConfigurationSchema: z.ZodEffects<z.ZodObject<{
2100
2162
  id: z.ZodOptional<z.ZodString>;
2163
+ type: z.ZodOptional<z.ZodEnum<["entity", "reference"]>>;
2164
+ references: z.ZodOptional<z.ZodString>;
2101
2165
  definitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
2102
2166
  utterance: z.ZodOptional<z.ZodString>;
2103
2167
  value: z.ZodString;
@@ -2148,6 +2212,8 @@ declare module '@scout9/app/schemas' {
2148
2212
  }>, "many">>;
2149
2213
  }, "strict", z.ZodTypeAny, {
2150
2214
  id?: string | undefined;
2215
+ type?: "entity" | "reference" | undefined;
2216
+ references?: string | undefined;
2151
2217
  definitions?: {
2152
2218
  value: string;
2153
2219
  text: string[];
@@ -2166,6 +2232,8 @@ declare module '@scout9/app/schemas' {
2166
2232
  }[] | undefined;
2167
2233
  }, {
2168
2234
  id?: string | undefined;
2235
+ type?: "entity" | "reference" | undefined;
2236
+ references?: string | undefined;
2169
2237
  definitions?: {
2170
2238
  value: string;
2171
2239
  text: string[];
@@ -2184,6 +2252,8 @@ declare module '@scout9/app/schemas' {
2184
2252
  }[] | undefined;
2185
2253
  }>, {
2186
2254
  id?: string | undefined;
2255
+ type?: "entity" | "reference" | undefined;
2256
+ references?: string | undefined;
2187
2257
  definitions?: {
2188
2258
  value: string;
2189
2259
  text: string[];
@@ -2202,6 +2272,8 @@ declare module '@scout9/app/schemas' {
2202
2272
  }[] | undefined;
2203
2273
  }, {
2204
2274
  id?: string | undefined;
2275
+ type?: "entity" | "reference" | undefined;
2276
+ references?: string | undefined;
2205
2277
  definitions?: {
2206
2278
  value: string;
2207
2279
  text: string[];
@@ -2221,6 +2293,8 @@ declare module '@scout9/app/schemas' {
2221
2293
  }>;
2222
2294
  export const EntitiesRootConfigurationSchema: z.ZodArray<z.ZodEffects<z.ZodObject<{
2223
2295
  id: z.ZodOptional<z.ZodString>;
2296
+ type: z.ZodOptional<z.ZodEnum<["entity", "reference"]>>;
2297
+ references: z.ZodOptional<z.ZodString>;
2224
2298
  definitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
2225
2299
  utterance: z.ZodOptional<z.ZodString>;
2226
2300
  value: z.ZodString;
@@ -2271,6 +2345,8 @@ declare module '@scout9/app/schemas' {
2271
2345
  }>, "many">>;
2272
2346
  }, "strict", z.ZodTypeAny, {
2273
2347
  id?: string | undefined;
2348
+ type?: "entity" | "reference" | undefined;
2349
+ references?: string | undefined;
2274
2350
  definitions?: {
2275
2351
  value: string;
2276
2352
  text: string[];
@@ -2289,6 +2365,8 @@ declare module '@scout9/app/schemas' {
2289
2365
  }[] | undefined;
2290
2366
  }, {
2291
2367
  id?: string | undefined;
2368
+ type?: "entity" | "reference" | undefined;
2369
+ references?: string | undefined;
2292
2370
  definitions?: {
2293
2371
  value: string;
2294
2372
  text: string[];
@@ -2307,6 +2385,8 @@ declare module '@scout9/app/schemas' {
2307
2385
  }[] | undefined;
2308
2386
  }>, {
2309
2387
  id?: string | undefined;
2388
+ type?: "entity" | "reference" | undefined;
2389
+ references?: string | undefined;
2310
2390
  definitions?: {
2311
2391
  value: string;
2312
2392
  text: string[];
@@ -2325,6 +2405,8 @@ declare module '@scout9/app/schemas' {
2325
2405
  }[] | undefined;
2326
2406
  }, {
2327
2407
  id?: string | undefined;
2408
+ type?: "entity" | "reference" | undefined;
2409
+ references?: string | undefined;
2328
2410
  definitions?: {
2329
2411
  value: string;
2330
2412
  text: string[];
@@ -2346,7 +2428,9 @@ declare module '@scout9/app/schemas' {
2346
2428
  * @TODO why type extend not valid?
2347
2429
  */
2348
2430
  export const EntityRootProjectConfigurationSchema: z.ZodEffects<z.ZodObject<{
2431
+ type: z.ZodOptional<z.ZodEnum<["entity", "reference"]>>;
2349
2432
  id: z.ZodOptional<z.ZodString>;
2433
+ references: z.ZodOptional<z.ZodString>;
2350
2434
  definitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
2351
2435
  utterance: z.ZodOptional<z.ZodString>;
2352
2436
  value: z.ZodString;
@@ -2430,7 +2514,9 @@ declare module '@scout9/app/schemas' {
2430
2514
  PATCH?: boolean | undefined;
2431
2515
  DELETE?: boolean | undefined;
2432
2516
  } | null;
2517
+ type?: "entity" | "reference" | undefined;
2433
2518
  id?: string | undefined;
2519
+ references?: string | undefined;
2434
2520
  definitions?: {
2435
2521
  value: string;
2436
2522
  text: string[];
@@ -2458,7 +2544,9 @@ declare module '@scout9/app/schemas' {
2458
2544
  PATCH?: boolean | undefined;
2459
2545
  DELETE?: boolean | undefined;
2460
2546
  } | null;
2547
+ type?: "entity" | "reference" | undefined;
2461
2548
  id?: string | undefined;
2549
+ references?: string | undefined;
2462
2550
  definitions?: {
2463
2551
  value: string;
2464
2552
  text: string[];
@@ -2486,7 +2574,9 @@ declare module '@scout9/app/schemas' {
2486
2574
  PATCH?: boolean | undefined;
2487
2575
  DELETE?: boolean | undefined;
2488
2576
  } | null;
2577
+ type?: "entity" | "reference" | undefined;
2489
2578
  id?: string | undefined;
2579
+ references?: string | undefined;
2490
2580
  definitions?: {
2491
2581
  value: string;
2492
2582
  text: string[];
@@ -2514,7 +2604,9 @@ declare module '@scout9/app/schemas' {
2514
2604
  PATCH?: boolean | undefined;
2515
2605
  DELETE?: boolean | undefined;
2516
2606
  } | null;
2607
+ type?: "entity" | "reference" | undefined;
2517
2608
  id?: string | undefined;
2609
+ references?: string | undefined;
2518
2610
  definitions?: {
2519
2611
  value: string;
2520
2612
  text: string[];
@@ -2533,7 +2625,9 @@ declare module '@scout9/app/schemas' {
2533
2625
  }[] | undefined;
2534
2626
  }>;
2535
2627
  export const EntitiesRootProjectConfigurationSchema: z.ZodArray<z.ZodEffects<z.ZodObject<{
2628
+ type: z.ZodOptional<z.ZodEnum<["entity", "reference"]>>;
2536
2629
  id: z.ZodOptional<z.ZodString>;
2630
+ references: z.ZodOptional<z.ZodString>;
2537
2631
  definitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
2538
2632
  utterance: z.ZodOptional<z.ZodString>;
2539
2633
  value: z.ZodString;
@@ -2617,7 +2711,9 @@ declare module '@scout9/app/schemas' {
2617
2711
  PATCH?: boolean | undefined;
2618
2712
  DELETE?: boolean | undefined;
2619
2713
  } | null;
2714
+ type?: "entity" | "reference" | undefined;
2620
2715
  id?: string | undefined;
2716
+ references?: string | undefined;
2621
2717
  definitions?: {
2622
2718
  value: string;
2623
2719
  text: string[];
@@ -2645,7 +2741,9 @@ declare module '@scout9/app/schemas' {
2645
2741
  PATCH?: boolean | undefined;
2646
2742
  DELETE?: boolean | undefined;
2647
2743
  } | null;
2744
+ type?: "entity" | "reference" | undefined;
2648
2745
  id?: string | undefined;
2746
+ references?: string | undefined;
2649
2747
  definitions?: {
2650
2748
  value: string;
2651
2749
  text: string[];
@@ -2673,7 +2771,9 @@ declare module '@scout9/app/schemas' {
2673
2771
  PATCH?: boolean | undefined;
2674
2772
  DELETE?: boolean | undefined;
2675
2773
  } | null;
2774
+ type?: "entity" | "reference" | undefined;
2676
2775
  id?: string | undefined;
2776
+ references?: string | undefined;
2677
2777
  definitions?: {
2678
2778
  value: string;
2679
2779
  text: string[];
@@ -2701,7 +2801,9 @@ declare module '@scout9/app/schemas' {
2701
2801
  PATCH?: boolean | undefined;
2702
2802
  DELETE?: boolean | undefined;
2703
2803
  } | null;
2804
+ type?: "entity" | "reference" | undefined;
2704
2805
  id?: string | undefined;
2806
+ references?: string | undefined;
2705
2807
  definitions?: {
2706
2808
  value: string;
2707
2809
  text: string[];
@@ -34,6 +34,10 @@
34
34
  "EntityDefinition",
35
35
  "EntityTrainingDocument",
36
36
  "EntityTest",
37
+ "EntityConfigurationType",
38
+ "CoreEntityConfiguration",
39
+ "CategoricalReferenceEntityConfiguration",
40
+ "UnknownEntityConfigurationType",
37
41
  "EntityConfiguration",
38
42
  "EntityApiConfiguration",
39
43
  "EntityRootProjectConfiguration",
@@ -162,5 +166,5 @@
162
166
  null,
163
167
  null
164
168
  ],
165
- "mappings": "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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsCzBC,8BAA8BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cC3F9BC,4BAA4BA;;;;;;;;;;;;;;;;;;;;;;cAmC5BC,yBAAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAYzBC,+BAA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiB/BC,oCAAoCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoBnBC,mBAAmBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKnBC,8BAA8BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqC9BC,yBAAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAQzBC,0BAA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqB1BC,sBAAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKtBC,sBAAsBA"
169
+ "mappings": "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;;;;;;;;;cC8BlBC,yBAAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsCzBC,8BAA8BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cC3F9BC,4BAA4BA;;;;;;;;;;;;;;;;;;;;;;cAwC5BC,yBAAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoBzBC,+BAA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoBnBC,mBAAmBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKnBC,8BAA8BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqC9BC,yBAAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAQzBC,0BAA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqB1BC,sBAAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKtBC,sBAAsBA"
166
170
  }