@saltcorn/data 0.7.4 → 0.8.0-beta.1

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.
Files changed (204) hide show
  1. package/dist/base-plugin/actions.d.ts +13 -0
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +121 -9
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  6. package/dist/base-plugin/fieldviews.js +23 -4
  7. package/dist/base-plugin/fieldviews.js.map +1 -1
  8. package/dist/base-plugin/fileviews.d.ts +29 -7
  9. package/dist/base-plugin/fileviews.d.ts.map +1 -1
  10. package/dist/base-plugin/fileviews.js +53 -19
  11. package/dist/base-plugin/fileviews.js.map +1 -1
  12. package/dist/base-plugin/index.d.ts +98 -90
  13. package/dist/base-plugin/index.d.ts.map +1 -1
  14. package/dist/base-plugin/types.d.ts +142 -130
  15. package/dist/base-plugin/types.d.ts.map +1 -1
  16. package/dist/base-plugin/types.js +22 -5
  17. package/dist/base-plugin/types.js.map +1 -1
  18. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  19. package/dist/base-plugin/viewtemplates/edit.js +65 -12
  20. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  21. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  22. package/dist/base-plugin/viewtemplates/feed.js +71 -57
  23. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  24. package/dist/base-plugin/viewtemplates/filter.d.ts +1 -1
  25. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  26. package/dist/base-plugin/viewtemplates/filter.js +22 -14
  27. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  28. package/dist/base-plugin/viewtemplates/list.d.ts +3 -3
  29. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  30. package/dist/base-plugin/viewtemplates/list.js +134 -120
  31. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  32. package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -1
  33. package/dist/base-plugin/viewtemplates/listshowlist.js +4 -15
  34. package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -1
  35. package/dist/base-plugin/viewtemplates/show.d.ts +2 -2
  36. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  37. package/dist/base-plugin/viewtemplates/show.js +30 -11
  38. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  39. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +1 -1
  40. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  41. package/dist/base-plugin/viewtemplates/viewable_fields.js +8 -9
  42. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  43. package/dist/contracts.d.ts.map +1 -1
  44. package/dist/contracts.js +0 -1
  45. package/dist/contracts.js.map +1 -1
  46. package/dist/db/reset_schema.d.ts +5 -0
  47. package/dist/db/reset_schema.d.ts.map +1 -1
  48. package/dist/db/reset_schema.js +7 -0
  49. package/dist/db/reset_schema.js.map +1 -1
  50. package/dist/db/state.d.ts +10 -2
  51. package/dist/db/state.d.ts.map +1 -1
  52. package/dist/db/state.js +34 -4
  53. package/dist/db/state.js.map +1 -1
  54. package/dist/diagram/cy_generate_utils.d.ts +3 -3
  55. package/dist/diagram/cy_generate_utils.d.ts.map +1 -1
  56. package/dist/diagram/cy_generate_utils.js +9 -5
  57. package/dist/diagram/cy_generate_utils.js.map +1 -1
  58. package/dist/diagram/cy_raster.d.ts +4 -2
  59. package/dist/diagram/cy_raster.d.ts.map +1 -1
  60. package/dist/diagram/cy_raster.js +63 -15
  61. package/dist/diagram/cy_raster.js.map +1 -1
  62. package/dist/diagram/node_extract_utils.d.ts +6 -2
  63. package/dist/diagram/node_extract_utils.d.ts.map +1 -1
  64. package/dist/diagram/node_extract_utils.js +104 -36
  65. package/dist/diagram/node_extract_utils.js.map +1 -1
  66. package/dist/diagram/nodes/dummy_node.d.ts +6 -0
  67. package/dist/diagram/nodes/dummy_node.d.ts.map +1 -0
  68. package/dist/diagram/nodes/dummy_node.js +17 -0
  69. package/dist/diagram/nodes/dummy_node.js.map +1 -0
  70. package/dist/diagram/nodes/node.d.ts +33 -0
  71. package/dist/diagram/nodes/node.d.ts.map +1 -0
  72. package/dist/diagram/nodes/node.js +42 -0
  73. package/dist/diagram/nodes/node.js.map +1 -0
  74. package/dist/diagram/nodes/page_node.d.ts +9 -0
  75. package/dist/diagram/nodes/page_node.d.ts.map +1 -0
  76. package/dist/diagram/nodes/page_node.js +20 -0
  77. package/dist/diagram/nodes/page_node.js.map +1 -0
  78. package/dist/diagram/nodes/table_node.d.ts +9 -0
  79. package/dist/diagram/nodes/table_node.d.ts.map +1 -0
  80. package/dist/diagram/nodes/table_node.js +24 -0
  81. package/dist/diagram/nodes/table_node.js.map +1 -0
  82. package/dist/diagram/nodes/trigger_node.d.ts +9 -0
  83. package/dist/diagram/nodes/trigger_node.d.ts.map +1 -0
  84. package/dist/diagram/nodes/trigger_node.js +19 -0
  85. package/dist/diagram/nodes/trigger_node.js.map +1 -0
  86. package/dist/diagram/nodes/view_node.d.ts +9 -0
  87. package/dist/diagram/nodes/view_node.d.ts.map +1 -0
  88. package/dist/diagram/nodes/view_node.js +23 -0
  89. package/dist/diagram/nodes/view_node.js.map +1 -0
  90. package/dist/migrate.js +1 -1
  91. package/dist/migrate.js.map +1 -1
  92. package/dist/migrations/202210051058.d.ts +2 -0
  93. package/dist/migrations/202210051058.d.ts.map +1 -0
  94. package/dist/migrations/202210051058.js +121 -0
  95. package/dist/migrations/202210051058.js.map +1 -0
  96. package/dist/migrations/202210101540.d.ts +2 -0
  97. package/dist/migrations/202210101540.d.ts.map +1 -0
  98. package/dist/migrations/202210101540.js +47 -0
  99. package/dist/migrations/202210101540.js.map +1 -0
  100. package/dist/migrations/202211040031.d.ts +2 -0
  101. package/dist/migrations/202211040031.d.ts.map +1 -0
  102. package/dist/migrations/202211040031.js +7 -0
  103. package/dist/migrations/202211040031.js.map +1 -0
  104. package/dist/mobile-mocks/npm/fs-xattr.d.ts +1 -0
  105. package/dist/mobile-mocks/npm/fs-xattr.d.ts.map +1 -0
  106. package/dist/mobile-mocks/npm/fs-xattr.js +2 -0
  107. package/dist/mobile-mocks/npm/fs-xattr.js.map +1 -0
  108. package/dist/models/config.d.ts.map +1 -1
  109. package/dist/models/config.js +15 -0
  110. package/dist/models/config.js.map +1 -1
  111. package/dist/models/discovery.d.ts.map +1 -1
  112. package/dist/models/discovery.js +6 -1
  113. package/dist/models/discovery.js.map +1 -1
  114. package/dist/models/disk_file.d.ts +138 -0
  115. package/dist/models/disk_file.d.ts.map +1 -0
  116. package/dist/models/disk_file.js +255 -0
  117. package/dist/models/disk_file.js.map +1 -0
  118. package/dist/models/email.d.ts +3 -1
  119. package/dist/models/email.d.ts.map +1 -1
  120. package/dist/models/email.js +14 -4
  121. package/dist/models/email.js.map +1 -1
  122. package/dist/models/expression.d.ts +1 -1
  123. package/dist/models/expression.d.ts.map +1 -1
  124. package/dist/models/expression.js +30 -4
  125. package/dist/models/expression.js.map +1 -1
  126. package/dist/models/field.d.ts +8 -1
  127. package/dist/models/field.d.ts.map +1 -1
  128. package/dist/models/field.js +79 -25
  129. package/dist/models/field.js.map +1 -1
  130. package/dist/models/file.d.ts +19 -14
  131. package/dist/models/file.d.ts.map +1 -1
  132. package/dist/models/file.js +264 -52
  133. package/dist/models/file.js.map +1 -1
  134. package/dist/models/form.d.ts +4 -3
  135. package/dist/models/form.d.ts.map +1 -1
  136. package/dist/models/form.js +6 -3
  137. package/dist/models/form.js.map +1 -1
  138. package/dist/models/index.d.ts +5 -3
  139. package/dist/models/index.d.ts.map +1 -1
  140. package/dist/models/page.d.ts +2 -0
  141. package/dist/models/page.d.ts.map +1 -1
  142. package/dist/models/page.js +27 -0
  143. package/dist/models/page.js.map +1 -1
  144. package/dist/models/scheduler.d.ts.map +1 -1
  145. package/dist/models/scheduler.js +9 -4
  146. package/dist/models/scheduler.js.map +1 -1
  147. package/dist/models/table.d.ts +12 -1
  148. package/dist/models/table.d.ts.map +1 -1
  149. package/dist/models/table.js +69 -21
  150. package/dist/models/table.js.map +1 -1
  151. package/dist/models/tag.d.ts +4 -2
  152. package/dist/models/tag.d.ts.map +1 -1
  153. package/dist/models/tag.js +9 -3
  154. package/dist/models/tag.js.map +1 -1
  155. package/dist/models/tag_entry.d.ts +2 -2
  156. package/dist/models/tag_entry.d.ts.map +1 -1
  157. package/dist/models/tag_entry.js +2 -2
  158. package/dist/models/tag_entry.js.map +1 -1
  159. package/dist/models/trigger.d.ts +3 -1
  160. package/dist/models/trigger.d.ts.map +1 -1
  161. package/dist/models/trigger.js +27 -0
  162. package/dist/models/trigger.js.map +1 -1
  163. package/dist/models/user.d.ts +1 -2
  164. package/dist/models/user.d.ts.map +1 -1
  165. package/dist/models/user.js +13 -2
  166. package/dist/models/user.js.map +1 -1
  167. package/dist/models/view.d.ts +2 -7
  168. package/dist/models/view.d.ts.map +1 -1
  169. package/dist/models/view.js +9 -47
  170. package/dist/models/view.js.map +1 -1
  171. package/dist/models/workflow.d.ts +2 -0
  172. package/dist/models/workflow.d.ts.map +1 -1
  173. package/dist/models/workflow.js +4 -0
  174. package/dist/models/workflow.js.map +1 -1
  175. package/dist/plugin-helper.d.ts +17 -11
  176. package/dist/plugin-helper.d.ts.map +1 -1
  177. package/dist/plugin-helper.js +112 -46
  178. package/dist/plugin-helper.js.map +1 -1
  179. package/dist/plugin-testing.js +1 -1
  180. package/dist/plugin-testing.js.map +1 -1
  181. package/dist/tests/calc.test.js +13 -0
  182. package/dist/tests/calc.test.js.map +1 -1
  183. package/dist/tests/discover.test.js +3 -0
  184. package/dist/tests/discover.test.js.map +1 -1
  185. package/dist/tests/email.test.js +156 -13
  186. package/dist/tests/email.test.js.map +1 -1
  187. package/dist/tests/exact_views.test.js +26 -34
  188. package/dist/tests/exact_views.test.js.map +1 -1
  189. package/dist/tests/field.test.js +82 -1
  190. package/dist/tests/field.test.js.map +1 -1
  191. package/dist/tests/models.test.js +10 -7
  192. package/dist/tests/models.test.js.map +1 -1
  193. package/dist/tests/table.test.js +71 -2
  194. package/dist/tests/table.test.js.map +1 -1
  195. package/dist/tests/user.test.js +56 -0
  196. package/dist/tests/user.test.js.map +1 -1
  197. package/dist/tests/view.test.js +1 -11
  198. package/dist/tests/view.test.js.map +1 -1
  199. package/dist/utils.d.ts +3 -1
  200. package/dist/utils.d.ts.map +1 -1
  201. package/dist/utils.js +27 -0
  202. package/dist/utils.js.map +1 -1
  203. package/package.json +8 -7
  204. package/webpack.config.js +1 -0
@@ -10,6 +10,14 @@ export const types: ({
10
10
  isEdit: boolean;
11
11
  run: (s: any) => string;
12
12
  };
13
+ preFormatted: {
14
+ isEdit: boolean;
15
+ run: (s: any) => any;
16
+ };
17
+ code: {
18
+ isEdit: boolean;
19
+ run: (s: any) => any;
20
+ };
13
21
  as_link: {
14
22
  isEdit: boolean;
15
23
  run: (s: any) => any;
@@ -440,6 +448,94 @@ export const types: ({
440
448
  validate: () => boolean;
441
449
  })[];
442
450
  export const viewtemplates: ({
451
+ name: string;
452
+ description: string;
453
+ get_state_fields: () => object[];
454
+ configuration_workflow: () => import("../models/workflow");
455
+ run: (table_id: number, viewname: string, { columns, layout }: {
456
+ columns: object[];
457
+ layout: object;
458
+ }, state: object, extra: object, { distinctValuesQuery }: {
459
+ distinctValuesQuery: any;
460
+ }) => Promise<Layout>;
461
+ initial_config: () => Promise<object>;
462
+ display_state_form: boolean;
463
+ getStringsForI18n({ layout }: {
464
+ layout: any;
465
+ }): string[];
466
+ queries: ({ table_id, viewname, configuration: { columns, default_state }, req, exttable_name, }: {
467
+ table_id: any;
468
+ viewname: any;
469
+ configuration: {
470
+ columns: any;
471
+ default_state: any;
472
+ };
473
+ req: any;
474
+ exttable_name: any;
475
+ }) => {
476
+ distinctValuesQuery(): Promise<{
477
+ distinct_values: {};
478
+ role: any;
479
+ }>;
480
+ };
481
+ } | {
482
+ name: string;
483
+ description: string;
484
+ configuration_workflow: (req: object) => import("../models/workflow");
485
+ run: (table_id: string | number, viewname: string, { columns, view_to_create, create_view_display, create_view_label, default_state, create_view_location, create_link_style, create_link_size }: {
486
+ columns: object[];
487
+ view_to_create?: string | undefined;
488
+ create_view_display: string;
489
+ create_view_label?: string | undefined;
490
+ default_state?: object | undefined;
491
+ create_view_location?: string | undefined;
492
+ }, stateWithId?: object | undefined, extraOpts: object, { listQuery }: {
493
+ listQuery: any;
494
+ }) => Promise<any>;
495
+ view_quantity: string;
496
+ get_state_fields: (table_id: string, viewname: any, { columns }: {
497
+ columns: object[];
498
+ }) => Function;
499
+ initial_config: Function;
500
+ on_delete: (table_id: any, viewname: string, { default_state }: {
501
+ default_state: any;
502
+ }) => Promise<void>;
503
+ routes: {
504
+ run_action: (table_id: number, viewname: any, { columns, layout }: {
505
+ columns: object[];
506
+ layout: any;
507
+ }, body: object, { req, res }: {
508
+ req: object;
509
+ res: any;
510
+ }, { getRowQuery }: {
511
+ getRowQuery: any;
512
+ }) => Promise<object>;
513
+ };
514
+ display_state_form: (opts: object) => boolean;
515
+ default_state_form: ({ default_state }: object) => boolean;
516
+ getStringsForI18n({ columns, create_view_label }: {
517
+ columns: any;
518
+ create_view_label: any;
519
+ }): string[];
520
+ queries: ({ table_id, exttable_name, name, configuration: { columns, default_state }, req, }: {
521
+ table_id: any;
522
+ exttable_name: any;
523
+ name: any;
524
+ configuration: {
525
+ columns: any;
526
+ default_state: any;
527
+ };
528
+ req: any;
529
+ }) => {
530
+ listQuery(state: any, stateHash: any): Promise<{
531
+ rows: import("@saltcorn/db-common/internal").Row[];
532
+ rowCount: number;
533
+ }>;
534
+ getRowQuery(id: any): Promise<import("@saltcorn/db-common/internal").Row | null>;
535
+ };
536
+ configCheck: (view: any) => Promise<string[]>;
537
+ connectedObjects: (configuration: any) => Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
538
+ } | {
443
539
  name: string;
444
540
  description: string;
445
541
  configuration_workflow: (req: object) => import("../models/workflow");
@@ -552,63 +648,6 @@ export const viewtemplates: ({
552
648
  warnings: string[];
553
649
  }>;
554
650
  connectedObjects: (configuration: any) => Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
555
- } | {
556
- name: string;
557
- description: string;
558
- configuration_workflow: (req: object) => import("../models/workflow");
559
- run: (table_id: string | number, viewname: string, { columns, view_to_create, create_view_display, create_view_label, default_state, create_view_location, create_link_style, create_link_size }: {
560
- columns: object[];
561
- view_to_create?: string | undefined;
562
- create_view_display: string;
563
- create_view_label?: string | undefined;
564
- default_state?: object | undefined;
565
- create_view_location?: string | undefined;
566
- }, stateWithId?: object | undefined, extraOpts: object, { listQuery }: {
567
- listQuery: any;
568
- }) => Promise<any>;
569
- view_quantity: string;
570
- get_state_fields: (table_id: string, viewname: any, { columns }: {
571
- columns: object[];
572
- }) => Function;
573
- initial_config: Function;
574
- on_delete: (table_id: any, viewname: string, { default_state }: {
575
- default_state: any;
576
- }) => Promise<void>;
577
- routes: {
578
- run_action: (table_id: number, viewname: any, { columns, layout }: {
579
- columns: object[];
580
- layout: any;
581
- }, body: object, { req, res }: {
582
- req: object;
583
- res: any;
584
- }, { getRowQuery }: {
585
- getRowQuery: any;
586
- }) => Promise<object>;
587
- };
588
- display_state_form: (opts: object) => boolean;
589
- default_state_form: ({ default_state }: object) => boolean;
590
- getStringsForI18n({ columns, create_view_label }: {
591
- columns: any;
592
- create_view_label: any;
593
- }): string[];
594
- queries: ({ table_id, exttable_name, viewname, configuration: { columns, default_state }, req, }: {
595
- table_id: any;
596
- exttable_name: any;
597
- viewname: any;
598
- configuration: {
599
- columns: any;
600
- default_state: any;
601
- };
602
- req: any;
603
- }) => {
604
- listQuery(state: any): Promise<{
605
- rows: import("@saltcorn/db-common/internal").Row[];
606
- rowCount: number;
607
- }>;
608
- getRowQuery(id: any): Promise<import("@saltcorn/db-common/internal").Row | null>;
609
- };
610
- configCheck: (view: any) => Promise<string[]>;
611
- connectedObjects: (configuration: any) => Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
612
651
  } | {
613
652
  name: string;
614
653
  description: string;
@@ -654,10 +693,10 @@ export const viewtemplates: ({
654
693
  }, { authorizeGetQuery }: {
655
694
  authorizeGetQuery: any;
656
695
  }) => Promise<any>;
657
- queries: ({ table_id, exttable_name, viewname, configuration: { columns, layout }, req, }: {
696
+ queries: ({ table_id, exttable_name, name, configuration: { columns, layout }, req, }: {
658
697
  table_id: any;
659
698
  exttable_name: any;
660
- viewname: any;
699
+ name: any;
661
700
  configuration: {
662
701
  columns: any;
663
702
  layout: any;
@@ -761,37 +800,6 @@ export const viewtemplates: ({
761
800
  countRowsQuery(state: any): Promise<number>;
762
801
  };
763
802
  connectedObjects: (configuration: any) => Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
764
- } | {
765
- name: string;
766
- description: string;
767
- get_state_fields: () => object[];
768
- configuration_workflow: () => import("../models/workflow");
769
- run: (table_id: number, viewname: string, { columns, layout }: {
770
- columns: object[];
771
- layout: object;
772
- }, state: object, extra: object, { distinctValuesQuery }: {
773
- distinctValuesQuery: any;
774
- }) => Promise<Layout>;
775
- initial_config: () => Promise<object>;
776
- display_state_form: boolean;
777
- getStringsForI18n({ layout }: {
778
- layout: any;
779
- }): string[];
780
- queries: ({ table_id, viewname, configuration: { columns, default_state }, req, exttable_name }: {
781
- table_id: any;
782
- viewname: any;
783
- configuration: {
784
- columns: any;
785
- default_state: any;
786
- };
787
- req: any;
788
- exttable_name: any;
789
- }) => {
790
- distinctValuesQuery(): Promise<{
791
- distinct_values: {};
792
- role: any;
793
- }>;
794
- };
795
803
  } | {
796
804
  name: string;
797
805
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../base-plugin/index.js"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAsD;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA2E;;;;4CAG9D,MAAM;yCAYN,MAAM"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../base-plugin/index.js"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAsD;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA2E;;;;4CAG9D,MAAM;yCAYN,MAAM"}