domma-js 0.5.0-alpha → 0.7.0-alpha
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/README.md +33 -30
- package/bin/domma-cli.js +144 -0
- package/package.json +10 -4
- package/public/dist/bundles/domma-complete.css +266 -17
- package/public/dist/bundles/domma-data-focused.css +266 -17
- package/public/dist/bundles/domma-essentials.css +266 -17
- package/public/dist/bundles/domma-full.css +266 -17
- package/public/dist/bundles/domma-grayve.css +266 -17
- package/public/dist/bundles/domma-minimal.css +17 -5
- package/public/dist/domma-syntax.min.js +8 -0
- package/public/dist/domma.css +14 -2
- package/public/dist/domma.esm.js +3 -3
- package/public/dist/domma.min.js +3 -3
- package/public/dist/elements.css +34 -10
- package/public/dist/grid.css +2 -2
- package/public/dist/syntax.css +2 -2
- package/public/dist/themes/domma-themes.css +215 -2
- package/templates/kickstart/about/index.html +241 -0
- package/templates/kickstart/assets/logo/placeholder.svg +6 -0
- package/templates/kickstart/blog/index.html +227 -0
- package/templates/kickstart/contact/index.html +218 -0
- package/templates/kickstart/css/custom.css +121 -0
- package/templates/kickstart/docs/index.html +310 -0
- package/templates/kickstart/domma.config.json +47 -0
- package/templates/kickstart/index.html +170 -0
- package/templates/kickstart/js/app.js +161 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Domma Data-Focused CSS Bundle v0.5.0-alpha
|
|
3
3
|
* Dynamic Object Manipulation & Modeling API
|
|
4
4
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
5
|
-
* Built: 2026-01-
|
|
5
|
+
* Built: 2026-01-08T09:15:50.446Z
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/* ============================================
|
|
@@ -233,8 +233,8 @@
|
|
|
233
233
|
* Domma Core CSS v0.5.0-alpha
|
|
234
234
|
* Dynamic Object Manipulation & Modeling API
|
|
235
235
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
236
|
-
* Built: 2026-01-
|
|
237
|
-
* Commit:
|
|
236
|
+
* Built: 2026-01-08T09:15:50.022Z
|
|
237
|
+
* Commit: ad86642
|
|
238
238
|
*/
|
|
239
239
|
|
|
240
240
|
/**
|
|
@@ -4216,6 +4216,18 @@ code, pre {
|
|
|
4216
4216
|
filter: saturate(1.2) hue-rotate(-15deg);
|
|
4217
4217
|
}
|
|
4218
4218
|
|
|
4219
|
+
/* ================================================
|
|
4220
|
+
CLOAKING - Prevent flash of unstyled content
|
|
4221
|
+
================================================ */
|
|
4222
|
+
body.dm-cloaked {
|
|
4223
|
+
opacity: 0;
|
|
4224
|
+
}
|
|
4225
|
+
|
|
4226
|
+
body.dm-cloaked.dm-ready {
|
|
4227
|
+
opacity: 1;
|
|
4228
|
+
transition: opacity 0.3s ease;
|
|
4229
|
+
}
|
|
4230
|
+
|
|
4219
4231
|
|
|
4220
4232
|
/* ============================================
|
|
4221
4233
|
GRID SYSTEM
|
|
@@ -4226,8 +4238,8 @@ code, pre {
|
|
|
4226
4238
|
* Domma Grid CSS v0.5.0-alpha
|
|
4227
4239
|
* Dynamic Object Manipulation & Modeling API
|
|
4228
4240
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4229
|
-
* Built: 2026-01-
|
|
4230
|
-
* Commit:
|
|
4241
|
+
* Built: 2026-01-08T09:15:50.031Z
|
|
4242
|
+
* Commit: ad86642
|
|
4231
4243
|
*/
|
|
4232
4244
|
|
|
4233
4245
|
/**
|
|
@@ -4771,8 +4783,8 @@ code, pre {
|
|
|
4771
4783
|
* Domma Elements CSS v0.5.0-alpha
|
|
4772
4784
|
* Dynamic Object Manipulation & Modeling API
|
|
4773
4785
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4774
|
-
* Built: 2026-01-
|
|
4775
|
-
* Commit:
|
|
4786
|
+
* Built: 2026-01-08T09:15:50.041Z
|
|
4787
|
+
* Commit: ad86642
|
|
4776
4788
|
*/
|
|
4777
4789
|
|
|
4778
4790
|
/**
|
|
@@ -5074,7 +5086,7 @@ code, pre {
|
|
|
5074
5086
|
border-radius: var(--dm-radius-lg);
|
|
5075
5087
|
box-shadow: var(--dm-shadow-xl);
|
|
5076
5088
|
z-index: 50;
|
|
5077
|
-
max-width:
|
|
5089
|
+
max-width: 700px;
|
|
5078
5090
|
width: 90%;
|
|
5079
5091
|
max-height: 90vh;
|
|
5080
5092
|
overflow: auto;
|
|
@@ -5146,6 +5158,23 @@ code, pre {
|
|
|
5146
5158
|
max-width: 1140px;
|
|
5147
5159
|
}
|
|
5148
5160
|
|
|
5161
|
+
/* Modal Factory Dialog Sizes */
|
|
5162
|
+
.dm-dialog-small {
|
|
5163
|
+
max-width: 400px !important;
|
|
5164
|
+
}
|
|
5165
|
+
|
|
5166
|
+
.dm-dialog-medium {
|
|
5167
|
+
max-width: 700px !important;
|
|
5168
|
+
}
|
|
5169
|
+
|
|
5170
|
+
.dm-dialog-large {
|
|
5171
|
+
max-width: 900px !important;
|
|
5172
|
+
}
|
|
5173
|
+
|
|
5174
|
+
.dm-dialog-xl {
|
|
5175
|
+
max-width: 1200px !important;
|
|
5176
|
+
}
|
|
5177
|
+
|
|
5149
5178
|
|
|
5150
5179
|
/* ============================================
|
|
5151
5180
|
TABS
|
|
@@ -5593,16 +5622,18 @@ textarea:not([class])::placeholder {
|
|
|
5593
5622
|
.form-check {
|
|
5594
5623
|
display: flex;
|
|
5595
5624
|
align-items: flex-start;
|
|
5596
|
-
gap: var(--dm-space-
|
|
5625
|
+
gap: var(--dm-space-3);
|
|
5597
5626
|
cursor: pointer;
|
|
5598
5627
|
position: relative;
|
|
5628
|
+
padding: var(--dm-space-1) 0;
|
|
5629
|
+
min-height: 1.5rem;
|
|
5599
5630
|
}
|
|
5600
5631
|
|
|
5601
5632
|
.form-check-input {
|
|
5602
5633
|
appearance: none;
|
|
5603
5634
|
-webkit-appearance: none;
|
|
5604
|
-
width: 1.
|
|
5605
|
-
height: 1.
|
|
5635
|
+
width: 1.25rem;
|
|
5636
|
+
height: 1.25rem;
|
|
5606
5637
|
border: 2px solid var(--dm-border, var(--dm-gray-400));
|
|
5607
5638
|
border-radius: var(--dm-radius-sm);
|
|
5608
5639
|
background-color: var(--dm-surface, var(--dm-white));
|
|
@@ -5610,6 +5641,8 @@ textarea:not([class])::placeholder {
|
|
|
5610
5641
|
position: relative;
|
|
5611
5642
|
flex-shrink: 0;
|
|
5612
5643
|
margin-top: 0.125rem;
|
|
5644
|
+
margin-right: var(--dm-space-1);
|
|
5645
|
+
padding: 0;
|
|
5613
5646
|
transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
|
|
5614
5647
|
}
|
|
5615
5648
|
|
|
@@ -5631,10 +5664,10 @@ textarea:not([class])::placeholder {
|
|
|
5631
5664
|
.form-check-input:checked::after {
|
|
5632
5665
|
content: '';
|
|
5633
5666
|
position: absolute;
|
|
5634
|
-
left: 5px;
|
|
5635
|
-
top:
|
|
5636
|
-
width:
|
|
5637
|
-
height:
|
|
5667
|
+
left: 5.5px;
|
|
5668
|
+
top: 2.5px;
|
|
5669
|
+
width: 6px;
|
|
5670
|
+
height: 10px;
|
|
5638
5671
|
border: solid var(--dm-white);
|
|
5639
5672
|
border-width: 0 2px 2px 0;
|
|
5640
5673
|
transform: rotate(45deg);
|
|
@@ -5653,6 +5686,9 @@ textarea:not([class])::placeholder {
|
|
|
5653
5686
|
.form-check-label {
|
|
5654
5687
|
cursor: pointer;
|
|
5655
5688
|
color: var(--dm-text, var(--dm-gray-900));
|
|
5689
|
+
line-height: 1.5;
|
|
5690
|
+
padding-top: 0.125rem;
|
|
5691
|
+
user-select: none;
|
|
5656
5692
|
}
|
|
5657
5693
|
|
|
5658
5694
|
/* Custom Radio */
|
|
@@ -10122,8 +10158,8 @@ code {
|
|
|
10122
10158
|
* Domma Themes v0.5.0-alpha
|
|
10123
10159
|
* Dynamic Object Manipulation & Modeling API
|
|
10124
10160
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
10125
|
-
* Built: 2026-01-
|
|
10126
|
-
* Commit:
|
|
10161
|
+
* Built: 2026-01-08T09:15:49.994Z
|
|
10162
|
+
* Commit: ad86642
|
|
10127
10163
|
*/
|
|
10128
10164
|
|
|
10129
10165
|
/**
|
|
@@ -13586,5 +13622,218 @@ code {
|
|
|
13586
13622
|
--dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
|
|
13587
13623
|
|
|
13588
13624
|
}
|
|
13625
|
+
.dm-theme-grayve {
|
|
13626
|
+
color-scheme: dark; /* Slate is typically a dark theme */
|
|
13627
|
+
|
|
13628
|
+
/* Tailwind-based color palette - adapting for grayve */
|
|
13629
|
+
/* Slate (using bootswatch values) */
|
|
13630
|
+
--dm-slate-50: #F8F9FA; /* Off-white */
|
|
13631
|
+
--dm-slate-100: #E9ECEF;
|
|
13632
|
+
--dm-slate-200: #DEE2E6;
|
|
13633
|
+
--dm-slate-300: #CED4DA;
|
|
13634
|
+
--dm-slate-400: #ADB5BD;
|
|
13635
|
+
--dm-slate-500: #6C757D; /* Medium Gray */
|
|
13636
|
+
--dm-slate-600: #495057;
|
|
13637
|
+
--dm-slate-700: #343A40;
|
|
13638
|
+
--dm-slate-800: #212529;
|
|
13639
|
+
--dm-slate-900: #1a1e21; /* Dark Gray */
|
|
13640
|
+
--dm-slate-950: #141619; /* Very Dark Gray */
|
|
13641
|
+
|
|
13642
|
+
/* Blues (for primary/info, etc.) */
|
|
13643
|
+
--dm-blue-50: #e0f7fa;
|
|
13644
|
+
--dm-blue-100: #b2ebf2;
|
|
13645
|
+
--dm-blue-200: #80deea;
|
|
13646
|
+
--dm-blue-300: #4dd0e1;
|
|
13647
|
+
--dm-blue-400: #26c6da;
|
|
13648
|
+
--dm-blue-500: #00bcd4; /* Bootswatch primary might be close to this or lighter */
|
|
13649
|
+
--dm-blue-600: #00acc1;
|
|
13650
|
+
--dm-blue-700: #0097a7;
|
|
13651
|
+
--dm-blue-800: #00838f;
|
|
13652
|
+
--dm-blue-900: #006064;
|
|
13653
|
+
--dm-blue-950: #004d40;
|
|
13654
|
+
|
|
13655
|
+
/* Green (Success) */
|
|
13656
|
+
--dm-green-500: #28a745;
|
|
13657
|
+
--dm-green-400: #49cc61;
|
|
13658
|
+
--dm-green-300: #6fd180;
|
|
13659
|
+
--dm-green-600: #218838;
|
|
13660
|
+
|
|
13661
|
+
/* Red (Danger) */
|
|
13662
|
+
--dm-red-500: #dc3545;
|
|
13663
|
+
--dm-red-400: #e35a67;
|
|
13664
|
+
--dm-red-300: #eb808a;
|
|
13665
|
+
--dm-red-600: #c82333;
|
|
13666
|
+
|
|
13667
|
+
/* Amber (Warning) */
|
|
13668
|
+
--dm-amber-500: #ffc107;
|
|
13669
|
+
--dm-amber-400: #ffcd38;
|
|
13670
|
+
--dm-amber-300: #ffd865;
|
|
13671
|
+
--dm-amber-600: #e0a800;
|
|
13672
|
+
|
|
13673
|
+
/* Sky (Info - often similar to primary but distinct) */
|
|
13674
|
+
--dm-sky-500: #17a2b8;
|
|
13675
|
+
--dm-sky-400: #26d2e9;
|
|
13676
|
+
--dm-sky-300: #51daec;
|
|
13677
|
+
--dm-sky-600: #138496;
|
|
13678
|
+
|
|
13679
|
+
/* Semantic colors */
|
|
13680
|
+
--dm-background: var(--dm-slate-900);
|
|
13681
|
+
--dm-background-alt: var(--dm-slate-800);
|
|
13682
|
+
--dm-surface: var(--dm-slate-800);
|
|
13683
|
+
--dm-surface-raised: var(--dm-slate-700);
|
|
13684
|
+
--dm-surface-overlay: rgba(0, 0, 0, 0.7);
|
|
13685
|
+
|
|
13686
|
+
/* Text */
|
|
13687
|
+
--dm-text: var(--dm-slate-200);
|
|
13688
|
+
--dm-text-secondary: var(--dm-slate-400);
|
|
13689
|
+
--dm-text-muted: var(--dm-slate-500);
|
|
13690
|
+
--dm-text-disabled: var(--dm-slate-600);
|
|
13691
|
+
--dm-text-inverse: var(--dm-slate-900);
|
|
13692
|
+
|
|
13693
|
+
/* Borders */
|
|
13694
|
+
--dm-border: var(--dm-slate-700);
|
|
13695
|
+
--dm-border-light: var(--dm-slate-800);
|
|
13696
|
+
--dm-border-dark: var(--dm-slate-600);
|
|
13697
|
+
--dm-border-focus: var(--dm-blue-500); /* Use a vibrant blue for focus */
|
|
13698
|
+
--dm-focus-ring: rgba(0, 188, 212, 0.3); /* Based on dm-blue-500 */
|
|
13699
|
+
--dm-focus-ring-danger: rgba(220, 53, 69, 0.3); /* Based on dm-red-500 */
|
|
13700
|
+
|
|
13701
|
+
/* Interactive States */
|
|
13702
|
+
--dm-hover-bg: rgba(255, 255, 255, 0.07);
|
|
13703
|
+
--dm-active-bg: rgba(255, 255, 255, 0.1);
|
|
13704
|
+
--dm-selected-bg: var(--dm-blue-600);
|
|
13705
|
+
--dm-disabled-opacity: 0.4;
|
|
13706
|
+
|
|
13707
|
+
/* Brand Colors */
|
|
13708
|
+
--dm-primary: var(--dm-blue-500);
|
|
13709
|
+
--dm-primary-dark: var(--dm-blue-700);
|
|
13710
|
+
--dm-primary-light: var(--dm-blue-300);
|
|
13711
|
+
--dm-primary-hover: var(--dm-blue-400);
|
|
13712
|
+
--dm-primary-active: var(--dm-blue-600);
|
|
13713
|
+
|
|
13714
|
+
--dm-secondary: var(--dm-slate-500);
|
|
13715
|
+
--dm-secondary-hover: var(--dm-slate-400);
|
|
13716
|
+
--dm-secondary-active: var(--dm-slate-300);
|
|
13717
|
+
|
|
13718
|
+
/* Status Colors */
|
|
13719
|
+
--dm-success: var(--dm-green-500);
|
|
13720
|
+
--dm-success-hover: var(--dm-green-400);
|
|
13721
|
+
--dm-success-active: var(--dm-green-600);
|
|
13722
|
+
--dm-success-light: rgba(40, 167, 69, 0.2);
|
|
13723
|
+
--dm-success-dark: var(--dm-green-600);
|
|
13724
|
+
|
|
13725
|
+
--dm-danger: var(--dm-red-500);
|
|
13726
|
+
--dm-danger-hover: var(--dm-red-400);
|
|
13727
|
+
--dm-danger-active: var(--dm-red-600);
|
|
13728
|
+
--dm-danger-light: rgba(220, 53, 69, 0.2);
|
|
13729
|
+
--dm-danger-dark: var(--dm-red-600);
|
|
13730
|
+
|
|
13731
|
+
--dm-warning: var(--dm-amber-400);
|
|
13732
|
+
--dm-warning-hover: var(--dm-amber-300);
|
|
13733
|
+
--dm-warning-active: var(--dm-amber-500);
|
|
13734
|
+
--dm-warning-text: var(--dm-amber-900);
|
|
13735
|
+
--dm-warning-light: rgba(255, 193, 7, 0.2);
|
|
13736
|
+
--dm-warning-dark: var(--dm-amber-600);
|
|
13737
|
+
|
|
13738
|
+
--dm-info: var(--dm-sky-500);
|
|
13739
|
+
--dm-info-hover: var(--dm-sky-400);
|
|
13740
|
+
--dm-info-active: var(--dm-sky-600);
|
|
13741
|
+
--dm-info-light: rgba(23, 162, 184, 0.2);
|
|
13742
|
+
--dm-info-dark: var(--dm-sky-600);
|
|
13743
|
+
|
|
13744
|
+
/* Background Tints */
|
|
13745
|
+
--dm-primary-bg: rgba(0, 188, 212, 0.15);
|
|
13746
|
+
--dm-secondary-bg: rgba(108, 117, 125, 0.15);
|
|
13747
|
+
--dm-success-bg: rgba(40, 167, 69, 0.15);
|
|
13748
|
+
--dm-danger-bg: rgba(220, 53, 69, 0.15);
|
|
13749
|
+
--dm-warning-bg: rgba(255, 193, 7, 0.15);
|
|
13750
|
+
--dm-info-bg: rgba(23, 162, 184, 0.15);
|
|
13751
|
+
|
|
13752
|
+
/* Semantic Surface Colors */
|
|
13753
|
+
--dm-surface-secondary: var(--dm-slate-900);
|
|
13754
|
+
--dm-card-bg: var(--dm-slate-800);
|
|
13755
|
+
--dm-card-border: var(--dm-slate-700);
|
|
13756
|
+
|
|
13757
|
+
/* Legacy color names (kept for backwards compatibility) */
|
|
13758
|
+
--dm-light: var(--dm-slate-200);
|
|
13759
|
+
--dm-dark: var(--dm-slate-800);
|
|
13760
|
+
--dm-white: #ffffff;
|
|
13761
|
+
--dm-black: #000000;
|
|
13762
|
+
|
|
13763
|
+
/* Grays (mapped to Slate) */
|
|
13764
|
+
--dm-gray-50: var(--dm-slate-50);
|
|
13765
|
+
--dm-gray-100: var(--dm-slate-100);
|
|
13766
|
+
--dm-gray-200: var(--dm-slate-200);
|
|
13767
|
+
--dm-gray-300: var(--dm-slate-300);
|
|
13768
|
+
--dm-gray-400: var(--dm-slate-400);
|
|
13769
|
+
--dm-gray-500: var(--dm-slate-500);
|
|
13770
|
+
--dm-gray-600: var(--dm-slate-600);
|
|
13771
|
+
--dm-gray-700: var(--dm-slate-700);
|
|
13772
|
+
--dm-gray-800: var(--dm-slate-800);
|
|
13773
|
+
--dm-gray-900: var(--dm-slate-900);
|
|
13774
|
+
--dm-gray-950: var(--dm-slate-950);
|
|
13775
|
+
|
|
13776
|
+
/* Component-specific variables */
|
|
13777
|
+
--dm-input-bg: var(--dm-surface);
|
|
13778
|
+
--dm-input-border: var(--dm-border-dark);
|
|
13779
|
+
--dm-input-text: var(--dm-text);
|
|
13780
|
+
--dm-input-placeholder: var(--dm-text-muted);
|
|
13781
|
+
--dm-input-focus-border: var(--dm-primary);
|
|
13782
|
+
--dm-input-disabled-bg: var(--dm-slate-800);
|
|
13783
|
+
|
|
13784
|
+
--dm-table-border: var(--dm-border);
|
|
13785
|
+
--dm-table-hover-bg: var(--dm-hover-bg);
|
|
13786
|
+
--dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
|
|
13787
|
+
|
|
13788
|
+
--dm-navbar-bg: var(--dm-surface);
|
|
13789
|
+
--dm-navbar-text: var(--dm-text);
|
|
13790
|
+
--dm-navbar-border: var(--dm-border);
|
|
13791
|
+
|
|
13792
|
+
--dm-dropdown-bg: var(--dm-surface-raised);
|
|
13793
|
+
--dm-dropdown-border: var(--dm-border);
|
|
13794
|
+
--dm-dropdown-item-hover: var(--dm-hover-bg);
|
|
13795
|
+
--dm-dropdown-item-active: var(--dm-selected-bg);
|
|
13796
|
+
|
|
13797
|
+
--dm-sidebar-bg: var(--dm-surface);
|
|
13798
|
+
--dm-sidebar-border: var(--dm-border);
|
|
13799
|
+
--dm-sidebar-item-hover: var(--dm-hover-bg);
|
|
13800
|
+
--dm-sidebar-item-active: var(--dm-selected-bg);
|
|
13801
|
+
|
|
13802
|
+
--dm-autocomplete-bg: var(--dm-surface);
|
|
13803
|
+
--dm-autocomplete-border: var(--dm-border);
|
|
13804
|
+
--dm-autocomplete-shadow: var(--dm-shadow-md);
|
|
13805
|
+
--dm-autocomplete-item-hover: var(--dm-hover-bg);
|
|
13806
|
+
--dm-autocomplete-item-active: var(--dm-selected-bg);
|
|
13807
|
+
--dm-autocomplete-highlight: var(--dm-primary-light);
|
|
13808
|
+
|
|
13809
|
+
--dm-pillbox-bg: var(--dm-surface);
|
|
13810
|
+
--dm-pillbox-border: var(--dm-border);
|
|
13811
|
+
--dm-pill-bg: var(--dm-gray-700); /* Darker pill background for dark theme */
|
|
13812
|
+
--dm-pill-color: var(--dm-text);
|
|
13813
|
+
--dm-pill-hover-bg: var(--dm-gray-600);
|
|
13814
|
+
|
|
13815
|
+
--dm-tab-border: var(--dm-border);
|
|
13816
|
+
--dm-tab-hover-bg: var(--dm-hover-bg);
|
|
13817
|
+
--dm-tab-active-border: var(--dm-primary);
|
|
13818
|
+
--dm-tab-active-text: var(--dm-primary);
|
|
13819
|
+
|
|
13820
|
+
--dm-accordion-border: var(--dm-border);
|
|
13821
|
+
--dm-accordion-header-hover: var(--dm-hover-bg);
|
|
13822
|
+
}
|
|
13823
|
+
|
|
13824
|
+
/* Syntax highlighting tokens for grayve (assuming similar to dark theme) */
|
|
13825
|
+
.dm-theme-grayve .code-block .syntax-keyword {
|
|
13826
|
+
color: #c792ea; /* Purple */
|
|
13827
|
+
font-weight: 500;
|
|
13828
|
+
}
|
|
13829
|
+
|
|
13830
|
+
.dm-theme-grayve .code-block .syntax-string,
|
|
13831
|
+
.dm-theme-grayve .code-block .syntax-template-string {
|
|
13832
|
+
color: #c3e88d; /* Green */
|
|
13833
|
+
}
|
|
13834
|
+
|
|
13835
|
+
.dm-theme-grayve .code-block .syntax-function {
|
|
13836
|
+
color: #82aaff; /* Light Blue */
|
|
13837
|
+
}
|
|
13589
13838
|
|
|
13590
13839
|
|