@robot-admin/naive-ui-components 0.6.24 → 0.6.26

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 (45) hide show
  1. package/dist/C_Signature.js.map +1 -1
  2. package/dist/C_Signature2.js.map +1 -1
  3. package/dist/C_Timeline-Dyz8kXos.css.map +1 -0
  4. package/dist/C_Timeline-sNlECAsx.css.map +1 -0
  5. package/dist/C_Timeline.css +52 -78
  6. package/dist/C_Timeline.js.map +1 -1
  7. package/dist/C_Timeline2.js +1 -1
  8. package/dist/C_Timeline2.js.map +1 -1
  9. package/dist/constants.d.ts +2 -2
  10. package/dist/constants2.d.ts +1 -1
  11. package/dist/constants3.d.ts +4 -4
  12. package/dist/constants4.d.ts +5 -5
  13. package/dist/index10.vue.d.ts +4 -4
  14. package/dist/index11.vue.d.ts +1 -1
  15. package/dist/index12.vue.d.ts +1 -1
  16. package/dist/index13.vue.d.ts +2 -2
  17. package/dist/index15.vue.d.ts +3 -3
  18. package/dist/index17.vue.d.ts +1 -1
  19. package/dist/index18.vue.d.ts +3 -3
  20. package/dist/index2.vue.d.ts +1 -1
  21. package/dist/index20.vue.d.ts +1 -1
  22. package/dist/index21.vue.d.ts +3 -3
  23. package/dist/index24.vue.d.ts +2 -2
  24. package/dist/index25.vue.d.ts +2 -2
  25. package/dist/index26.vue.d.ts +2 -2
  26. package/dist/index3.vue.d.ts +2 -2
  27. package/dist/index4.vue.d.ts +3 -3
  28. package/dist/index6.vue.d.ts +1 -1
  29. package/dist/style.css +53 -79
  30. package/dist/useCollapsePanel.d.ts +1 -1
  31. package/dist/useCropperCore.d.ts +7 -7
  32. package/dist/useDraggableLayout.d.ts +1 -1
  33. package/dist/useDynamicFormState.d.ts +12 -12
  34. package/dist/useEdgeInteraction.d.ts +1 -1
  35. package/dist/useFullscreen.d.ts +2 -2
  36. package/dist/useInfiniteScroll.d.ts +2 -2
  37. package/dist/useQRCode.d.ts +4 -4
  38. package/dist/useSignatureHistory.d.ts +3 -3
  39. package/dist/useSplitResize.d.ts +6 -6
  40. package/dist/useTimeSelection.d.ts +2 -2
  41. package/dist/useTreeOperations.d.ts +2 -2
  42. package/dist/useWorkflowValidation.d.ts +2 -2
  43. package/package.json +1 -1
  44. package/dist/C_Timeline-Cmn2NxVG.css.map +0 -1
  45. package/dist/C_Timeline-WYLx0DmS.css.map +0 -1
@@ -80,12 +80,12 @@ declare const __VLS_base: vue.DefineComponent<Props, CollapsePanelExpose, {}, {}
80
80
  onExpand?: ((key: string) => any) | undefined;
81
81
  onCollapse?: ((key: string) => any) | undefined;
82
82
  }>, {
83
- bordered: boolean;
84
83
  activeKeys: string[];
85
84
  defaultActiveKeys: string[];
86
85
  accordion: boolean;
87
86
  variant: CollapsePanelVariant;
88
87
  expandIconPosition: ExpandIconPosition;
88
+ bordered: boolean;
89
89
  persistKey: string;
90
90
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
91
91
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -52,27 +52,27 @@ interface ImageCropperEmits {
52
52
  //#region src/components/C_ImageCropper/index.vue.d.ts
53
53
  declare const __VLS_export: vue.DefineComponent<ImageCropperProps, ImageCropperExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
54
54
  error: (error: Event) => any;
55
- ready: () => any;
56
- cancel: () => any;
57
55
  crop: (result: any) => any;
56
+ ready: () => any;
58
57
  confirm: (result: any) => any;
58
+ cancel: () => any;
59
59
  }, string, vue.PublicProps, Readonly<ImageCropperProps> & Readonly<{
60
60
  onError?: ((error: Event) => any) | undefined;
61
- onReady?: (() => any) | undefined;
62
- onCancel?: (() => any) | undefined;
63
61
  onCrop?: ((result: any) => any) | undefined;
62
+ onReady?: (() => any) | undefined;
64
63
  onConfirm?: ((result: any) => any) | undefined;
64
+ onCancel?: (() => any) | undefined;
65
65
  }>, {
66
- disabled: boolean;
67
66
  height: string | number;
68
- showToolbar: boolean;
67
+ disabled: boolean;
69
68
  aspectRatio: number;
70
- showPreview: boolean;
69
+ showToolbar: boolean;
71
70
  src: string;
72
71
  outputFormat: CropOutputFormat;
73
72
  outputQuality: number;
74
73
  maxOutputWidth: number;
75
74
  maxOutputHeight: number;
75
+ showPreview: boolean;
76
76
  circular: boolean;
77
77
  modal: boolean;
78
78
  modalTitle: string;
@@ -119,6 +119,7 @@ declare const __VLS_base: vue.DefineComponent<DraggableProps, {
119
119
  sort: boolean;
120
120
  modelValue: DraggableItem[];
121
121
  disabled: boolean;
122
+ direction: "vertical" | "horizontal";
122
123
  delay: number;
123
124
  group: string | GroupOptions;
124
125
  animation: number;
@@ -134,7 +135,6 @@ declare const __VLS_base: vue.DefineComponent<DraggableProps, {
134
135
  emptyText: string;
135
136
  swapThreshold: number;
136
137
  invertSwap: boolean;
137
- direction: "vertical" | "horizontal";
138
138
  layout: LayoutMode;
139
139
  gridColumns: number;
140
140
  gridRows: number;
@@ -429,14 +429,14 @@ declare const __VLS_base: vue.DefineComponent<CFormProps, {
429
429
  shouldShowDefaultActions: vue.ComputedRef<boolean>;
430
430
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
431
431
  "update:modelValue": (model: Record<string, any>) => any;
432
+ "validate-error": (errors: unknown) => any;
432
433
  submit: (payload: SubmitEventPayload) => any;
433
434
  "validate-success": (model: Record<string, any>) => any;
434
- "validate-error": (errors: unknown) => any;
435
435
  }, string, vue.PublicProps, Readonly<CFormProps> & Readonly<{
436
436
  "onUpdate:modelValue"?: ((model: Record<string, any>) => any) | undefined;
437
+ "onValidate-error"?: ((errors: unknown) => any) | undefined;
437
438
  onSubmit?: ((payload: SubmitEventPayload) => any) | undefined;
438
439
  "onValidate-success"?: ((model: Record<string, any>) => any) | undefined;
439
- "onValidate-error"?: ((errors: unknown) => any) | undefined;
440
440
  }>, {
441
441
  config: FormConfig;
442
442
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -1295,6 +1295,7 @@ declare const useDynamicFormState: () => {
1295
1295
  readonly placeholder?: string | undefined;
1296
1296
  readonly rules?: readonly {
1297
1297
  readonly type?: RuleType | undefined;
1298
+ readonly required?: boolean | undefined;
1298
1299
  readonly options?: {
1299
1300
  readonly suppressWarning?: boolean | undefined;
1300
1301
  readonly suppressValidatorError?: boolean | undefined;
@@ -1351,10 +1352,11 @@ declare const useDynamicFormState: () => {
1351
1352
  readonly error?: ((rule: InternalRuleItem, message: string) => ValidateError) | undefined;
1352
1353
  } | undefined;
1353
1354
  readonly trigger?: string | readonly string[] | undefined;
1354
- readonly pattern?: (RegExp | string) | undefined;
1355
- readonly required?: boolean | undefined;
1356
- readonly max?: number | undefined;
1357
1355
  readonly key?: string | undefined;
1356
+ readonly max?: number | undefined;
1357
+ readonly message?: string | ((a?: string) => string) | undefined;
1358
+ readonly pattern?: (RegExp | string) | undefined;
1359
+ readonly level?: "warning" | "error" | undefined;
1358
1360
  readonly asyncValidator?: naive_ui_es_form_src_interface0.FormItemRuleAsyncValidator | undefined;
1359
1361
  readonly min?: number | undefined;
1360
1362
  readonly len?: number | undefined;
@@ -1929,9 +1931,7 @@ declare const useDynamicFormState: () => {
1929
1931
  readonly validator?: ((rule: InternalRuleItem, value: Value, callback: (error?: string | Error) => void, source: Values, options: ValidateOption) => SyncValidateResult | void) | undefined;
1930
1932
  }[] | undefined;
1931
1933
  readonly transform?: ((value: Value) => Value) | undefined;
1932
- readonly message?: string | ((a?: string) => string) | undefined;
1933
1934
  readonly renderMessage?: (() => vue.VNodeChild) | undefined;
1934
- readonly level?: "warning" | "error" | undefined;
1935
1935
  readonly validator: NonNullable<naive_ui0.FormItemRule["validator"]>;
1936
1936
  }[] | undefined;
1937
1937
  readonly attrs?: {
@@ -3572,6 +3572,7 @@ declare const useDynamicFormState: () => {
3572
3572
  } | undefined;
3573
3573
  readonly rules?: readonly {
3574
3574
  readonly type?: RuleType | undefined;
3575
+ readonly required?: boolean | undefined;
3575
3576
  readonly options?: {
3576
3577
  readonly suppressWarning?: boolean | undefined;
3577
3578
  readonly suppressValidatorError?: boolean | undefined;
@@ -3628,10 +3629,11 @@ declare const useDynamicFormState: () => {
3628
3629
  readonly error?: ((rule: InternalRuleItem, message: string) => ValidateError) | undefined;
3629
3630
  } | undefined;
3630
3631
  readonly trigger?: string | readonly string[] | undefined;
3631
- readonly pattern?: (RegExp | string) | undefined;
3632
- readonly required?: boolean | undefined;
3633
- readonly max?: number | undefined;
3634
3632
  readonly key?: string | undefined;
3633
+ readonly max?: number | undefined;
3634
+ readonly message?: string | ((a?: string) => string) | undefined;
3635
+ readonly pattern?: (RegExp | string) | undefined;
3636
+ readonly level?: "warning" | "error" | undefined;
3635
3637
  readonly asyncValidator?: naive_ui_es_form_src_interface0.FormItemRuleAsyncValidator | undefined;
3636
3638
  readonly min?: number | undefined;
3637
3639
  readonly len?: number | undefined;
@@ -4206,9 +4208,7 @@ declare const useDynamicFormState: () => {
4206
4208
  readonly validator?: ((rule: InternalRuleItem, value: Value, callback: (error?: string | Error) => void, source: Values, options: ValidateOption) => SyncValidateResult | void) | undefined;
4207
4209
  }[] | undefined;
4208
4210
  readonly transform?: ((value: Value) => Value) | undefined;
4209
- readonly message?: string | ((a?: string) => string) | undefined;
4210
4211
  readonly renderMessage?: (() => vue.VNodeChild) | undefined;
4211
- readonly level?: "warning" | "error" | undefined;
4212
4212
  readonly validator: NonNullable<naive_ui0.FormItemRule["validator"]>;
4213
4213
  }[] | undefined;
4214
4214
  }[];
@@ -259,9 +259,9 @@ declare const __VLS_export: vue.DefineComponent<Props, {
259
259
  onReady?: ((graph: any) => any) | undefined;
260
260
  "onData-change"?: ((data: DiagramData) => any) | undefined;
261
261
  }>, {
262
- theme: "light" | "dark";
263
262
  width: string | number;
264
263
  height: string | number;
264
+ theme: "light" | "dark";
265
265
  readonly: boolean;
266
266
  showToolbar: boolean;
267
267
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -9,11 +9,11 @@ type __VLS_Props = {
9
9
  autoPreview?: boolean;
10
10
  };
11
11
  declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
12
- preview: (file: string | File) => any;
13
12
  download: (file: string | File) => any;
13
+ preview: (file: string | File) => any;
14
14
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
15
- onPreview?: ((file: string | File) => any) | undefined;
16
15
  onDownload?: ((file: string | File) => any) | undefined;
16
+ onPreview?: ((file: string | File) => any) | undefined;
17
17
  }>, {
18
18
  fileName: string;
19
19
  autoPreview: boolean;
@@ -91,12 +91,12 @@ declare const __VLS_base: vue.DefineComponent<WaterFallProps, WaterFallExpose, {
91
91
  }>, {
92
92
  loading: boolean;
93
93
  gap: number;
94
- animationDuration: number;
95
94
  columns: number;
96
- infinite: boolean;
97
95
  lazy: boolean;
96
+ infinite: boolean;
98
97
  skeleton: boolean;
99
98
  skeletonCount: number;
99
+ animationDuration: number;
100
100
  breakpoints: WaterFallBreakpoint[];
101
101
  noMore: boolean;
102
102
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -50,15 +50,15 @@ declare const __VLS_export: vue.DefineComponent<Props, QRCodeExpose, {}, {}, {},
50
50
  }, string, vue.PublicProps, Readonly<Props> & Readonly<{
51
51
  onError?: ((error: Error) => any) | undefined;
52
52
  }>, {
53
- label: string;
54
- size: number;
55
- color: string;
56
53
  showBorder: boolean;
54
+ label: string;
57
55
  showLabel: boolean;
58
56
  mode: RenderMode;
59
- margin: number;
57
+ size: number;
58
+ color: string;
60
59
  bgColor: string;
61
60
  errorCorrectionLevel: ErrorCorrectionLevel;
61
+ margin: number;
62
62
  logo: LogoOptions;
63
63
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
64
64
  declare const _default: typeof __VLS_export;
@@ -91,25 +91,25 @@ interface SignatureEmits {
91
91
  //#endregion
92
92
  //#region src/components/C_Signature/index.vue.d.ts
93
93
  declare const __VLS_export: vue.DefineComponent<SignatureProps, SignatureExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
94
- change: (data: SignatureStroke[]) => any;
95
94
  clear: () => any;
95
+ change: (data: SignatureStroke[]) => any;
96
96
  "start-draw": () => any;
97
97
  drawing: (point: SignaturePoint) => any;
98
98
  "end-draw": (stroke: SignatureStroke) => any;
99
99
  undo: () => any;
100
100
  redo: () => any;
101
101
  }, string, vue.PublicProps, Readonly<SignatureProps> & Readonly<{
102
- onChange?: ((data: SignatureStroke[]) => any) | undefined;
103
102
  onClear?: (() => any) | undefined;
103
+ onChange?: ((data: SignatureStroke[]) => any) | undefined;
104
104
  "onStart-draw"?: (() => any) | undefined;
105
105
  onDrawing?: ((point: SignaturePoint) => any) | undefined;
106
106
  "onEnd-draw"?: ((stroke: SignatureStroke) => any) | undefined;
107
107
  onUndo?: (() => any) | undefined;
108
108
  onRedo?: (() => any) | undefined;
109
109
  }>, {
110
- disabled: boolean;
111
110
  width: number | string;
112
111
  height: number | string;
112
+ disabled: boolean;
113
113
  readonly: boolean;
114
114
  showToolbar: boolean;
115
115
  maxHistory: number;
@@ -66,27 +66,27 @@ type __VLS_Slots = {} & {
66
66
  second?: (props: typeof __VLS_13) => any;
67
67
  };
68
68
  declare const __VLS_base: vue.DefineComponent<Props, SplitPaneExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
69
- "drag-start": (size: number) => any;
70
- "drag-end": (size: number) => any;
71
69
  expand: (target: CollapseTarget) => any;
72
70
  collapse: (target: CollapseTarget) => any;
71
+ "drag-start": (size: number) => any;
72
+ "drag-end": (size: number) => any;
73
73
  resize: (firstSize: number, secondSize: number) => any;
74
74
  }, string, vue.PublicProps, Readonly<Props> & Readonly<{
75
- "onDrag-start"?: ((size: number) => any) | undefined;
76
- "onDrag-end"?: ((size: number) => any) | undefined;
77
75
  onExpand?: ((target: CollapseTarget) => any) | undefined;
78
76
  onCollapse?: ((target: CollapseTarget) => any) | undefined;
77
+ "onDrag-start"?: ((size: number) => any) | undefined;
78
+ "onDrag-end"?: ((size: number) => any) | undefined;
79
79
  onResize?: ((firstSize: number, secondSize: number) => any) | undefined;
80
80
  }>, {
81
81
  disabled: boolean;
82
82
  direction: SplitDirection;
83
- step: number;
84
- maxSize: number;
85
83
  defaultSize: number;
86
84
  minSize: number;
85
+ maxSize: number;
87
86
  collapsible: boolean;
88
87
  showCollapseButton: boolean;
89
88
  gutterSize: number;
89
+ step: number;
90
90
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
91
91
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
92
92
  declare const _default: typeof __VLS_export;
@@ -48,10 +48,9 @@ declare const __VLS_export: vue.DefineComponent<TimeProps, TimeExpose, {}, {}, {
48
48
  "onChange-start"?: ((time: number | null) => any) | undefined;
49
49
  "onChange-end"?: ((time: number | null) => any) | undefined;
50
50
  }>, {
51
- placeholder: string;
52
51
  format: string;
53
52
  mode: TimeMode;
54
- attrs: Record<string, any>;
53
+ placeholder: string;
55
54
  startPlaceholder: string;
56
55
  endPlaceholder: string;
57
56
  useHours: boolean;
@@ -62,6 +61,7 @@ declare const __VLS_export: vue.DefineComponent<TimeProps, TimeExpose, {}, {}, {
62
61
  secondStep: number;
63
62
  startTimeProps: Record<string, any>;
64
63
  endTimeProps: Record<string, any>;
64
+ attrs: Record<string, any>;
65
65
  defaultStartTime: number | null;
66
66
  defaultEndTime: number | null;
67
67
  defaultSingleTime: number | null;
@@ -102,13 +102,13 @@ declare const __VLS_base: vue.DefineComponent<TreeProps, TreeExpose, {}, {}, {},
102
102
  "onNode-action"?: ((action: string, node: TreeNodeData) => any) | undefined;
103
103
  "onNode-drop"?: ((info: DropInfo) => any) | undefined;
104
104
  }>, {
105
+ mode: TreeMode;
105
106
  actions: ActionConfig[];
106
107
  labelField: string;
108
+ keyField: string;
107
109
  childrenField: string;
108
110
  draggable: boolean;
109
- mode: TreeMode;
110
111
  showToolbar: boolean;
111
- keyField: string;
112
112
  searchPattern: string;
113
113
  searchable: boolean;
114
114
  searchPlaceholder: string;
@@ -240,16 +240,16 @@ declare const __VLS_export: vue.DefineComponent<WorkflowProps, {
240
240
  "update:modelValue": (value: WorkflowData) => any;
241
241
  change: (value: WorkflowData) => any;
242
242
  save: (data: WorkflowData) => any;
243
- "validate-error": (errors: ValidationError[]) => any;
244
243
  "node-click": (node: WorkflowNode) => any;
245
244
  "edge-click": (edge: WorkflowEdge) => any;
245
+ "validate-error": (errors: ValidationError[]) => any;
246
246
  }, string, vue.PublicProps, Readonly<WorkflowProps> & Readonly<{
247
247
  "onUpdate:modelValue"?: ((value: WorkflowData) => any) | undefined;
248
248
  onChange?: ((value: WorkflowData) => any) | undefined;
249
249
  onSave?: ((data: WorkflowData) => any) | undefined;
250
- "onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
251
250
  "onNode-click"?: ((node: WorkflowNode) => any) | undefined;
252
251
  "onEdge-click"?: ((edge: WorkflowEdge) => any) | undefined;
252
+ "onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
253
253
  }>, {
254
254
  theme: "light" | "dark";
255
255
  readonly: boolean;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.6.24",
6
+ "version": "0.6.26",
7
7
  "description": "基于 Naive UI 的 Vue 3 组件库",
8
8
  "type": "module",
9
9
  "main": "dist/index.cjs",
@@ -1 +0,0 @@
1
- {"version":3,"file":"C_Timeline-Cmn2NxVG.css","names":[],"sources":["../src/components/C_Timeline/index.vue?vue&type=style&index=0&scoped=4966a7c4&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.c-timeline[data-v-4966a7c4] {\n --tl-bg: transparent;\n --tl-text-primary: var(--app-text-primary);\n --tl-text-secondary: var(--text-color-2);\n --tl-text-time: var(--text-color-3);\n --tl-line-color: color-mix(in srgb, var(--primary-color) 20%, var(--border-color));\n --tl-line-width: 2px;\n --tl-dot-size: 12px;\n --tl-icon-size: 32px;\n --tl-item-gap: 0px;\n --tl-track-spacing: 24px;\n --tl-track-width: 48px;\n --tl-content-gap: 12px;\n --tl-dot-size-sm: 8px;\n --tl-dot-size-lg: 16px;\n --tl-icon-size-sm: 24px;\n --tl-icon-size-lg: 40px;\n --tl-track-width-sm: 36px;\n --tl-track-width-lg: 60px;\n --tl-track-spacing-sm: 16px;\n --tl-track-spacing-lg: 32px;\n --tl-dot-default: var(--text-color-3);\n --tl-dot-success: #18a058;\n --tl-dot-warning: #f0a020;\n --tl-dot-error: #d03050;\n --tl-dot-info: #2080f0;\n --tl-icon-bg: var(--card-color);\n --tl-content-bg: var(--card-color);\n --tl-content-radius: 8px;\n --tl-content-padding: 12px 16px;\n --tl-tag-radius: 4px;\n --tl-h-item-width: 200px;\n --tl-h-track-height: 56px;\n position: relative;\n background: var(--tl-bg);\n}\n.c-timeline.is-small[data-v-4966a7c4] {\n --tl-dot-size: var(--tl-dot-size-sm);\n --tl-icon-size: var(--tl-icon-size-sm);\n --tl-track-width: var(--tl-track-width-sm);\n --tl-track-spacing: var(--tl-track-spacing-sm);\n}\n.c-timeline.is-large[data-v-4966a7c4] {\n --tl-dot-size: var(--tl-dot-size-lg);\n --tl-icon-size: var(--tl-icon-size-lg);\n --tl-track-width: var(--tl-track-width-lg);\n --tl-track-spacing: var(--tl-track-spacing-lg);\n}\n.c-timeline.is-vertical[data-v-4966a7c4] {\n display: flex;\n flex-direction: column;\n}\n.c-timeline.is-vertical .c-timeline__item[data-v-4966a7c4] {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n}\n.c-timeline.is-vertical .c-timeline__track[data-v-4966a7c4] {\n flex: 0 0 var(--tl-track-width);\n display: flex;\n flex-direction: column;\n align-items: center;\n padding-right: var(--tl-content-gap);\n}\n.c-timeline.is-vertical .c-timeline__dot[data-v-4966a7c4] {\n flex-shrink: 0;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n}\n.c-timeline.is-vertical .c-timeline__dot.is-dot[data-v-4966a7c4] {\n width: var(--tl-dot-size);\n height: var(--tl-dot-size);\n margin-top: calc((var(--tl-icon-size) - var(--tl-dot-size)) / 2);\n background: var(--tl-dot-default);\n border: 2px solid var(--card-color);\n box-shadow: 0 0 0 2px var(--tl-dot-default);\n}\n.c-timeline.is-vertical .c-timeline__dot.is-icon[data-v-4966a7c4] {\n width: var(--tl-icon-size);\n height: var(--tl-icon-size);\n background: var(--tl-icon-bg);\n border: 1.5px solid var(--tl-line-color);\n box-shadow: 0 0 0 3px var(--card-color), 0 2px 8px rgba(0, 0, 0, 0.08);\n font-size: calc(var(--tl-icon-size) * 0.5);\n}\n.c-timeline.is-vertical .c-timeline__line[data-v-4966a7c4] {\n flex: 1;\n min-height: var(--tl-track-spacing);\n width: var(--tl-line-width);\n background: var(--tl-line-color);\n border-radius: 1px;\n margin: 4px 0;\n}\n.c-timeline.is-vertical.is-line-dashed .c-timeline__line[data-v-4966a7c4] {\n background: none;\n width: 0;\n border-left: var(--tl-line-width) dashed var(--tl-line-color);\n}\n.c-timeline.is-vertical.is-line-dotted .c-timeline__line[data-v-4966a7c4] {\n background: none;\n width: 0;\n border-left: var(--tl-line-width) dotted var(--tl-line-color);\n}\n.c-timeline.is-vertical .c-timeline__body[data-v-4966a7c4] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding-bottom: var(--tl-track-spacing);\n}\n.c-timeline.is-vertical .c-timeline__item:last-child .c-timeline__body[data-v-4966a7c4] {\n padding-bottom: 0;\n}\n.c-timeline.is-horizontal[data-v-4966a7c4] {\n display: flex;\n flex-direction: row;\n overflow-x: auto;\n scrollbar-width: thin;\n scrollbar-color: var(--border-color) transparent;\n}\n.c-timeline.is-horizontal[data-v-4966a7c4]::-webkit-scrollbar {\n height: 4px;\n}\n.c-timeline.is-horizontal[data-v-4966a7c4]::-webkit-scrollbar-thumb {\n background: var(--border-color);\n border-radius: 2px;\n}\n.c-timeline.is-horizontal .c-timeline__item[data-v-4966a7c4] {\n flex: 0 0 var(--tl-h-item-width);\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.c-timeline.is-horizontal .c-timeline__track[data-v-4966a7c4] {\n position: relative;\n width: 100%;\n height: var(--tl-h-track-height);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: visible;\n}\n.c-timeline.is-horizontal .c-timeline__dot[data-v-4966a7c4] {\n position: relative;\n z-index: 1;\n flex-shrink: 0;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--tl-icon-bg);\n}\n.c-timeline.is-horizontal .c-timeline__dot.is-dot[data-v-4966a7c4] {\n width: var(--tl-dot-size);\n height: var(--tl-dot-size);\n background: var(--tl-dot-default);\n border: 2px solid var(--card-color);\n box-shadow: 0 0 0 2px var(--tl-dot-default);\n}\n.c-timeline.is-horizontal .c-timeline__dot.is-icon[data-v-4966a7c4] {\n width: var(--tl-icon-size);\n height: var(--tl-icon-size);\n background: var(--tl-icon-bg);\n border: 1.5px solid var(--tl-line-color);\n box-shadow: 0 0 0 3px var(--card-color), 0 2px 8px rgba(0, 0, 0, 0.08);\n font-size: calc(var(--tl-icon-size) * 0.5);\n}\n.c-timeline.is-horizontal .c-timeline__line[data-v-4966a7c4] {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 50%;\n width: var(--tl-h-item-width);\n height: var(--tl-line-width);\n background: var(--tl-line-color);\n z-index: 0;\n border-radius: 1px;\n}\n.c-timeline.is-horizontal.is-line-dashed .c-timeline__line[data-v-4966a7c4] {\n background: none;\n height: 0;\n border-top: var(--tl-line-width) dashed var(--tl-line-color);\n top: 50%;\n transform: none;\n}\n.c-timeline.is-horizontal.is-line-dotted .c-timeline__line[data-v-4966a7c4] {\n background: none;\n height: 0;\n border-top: var(--tl-line-width) dotted var(--tl-line-color);\n top: 50%;\n transform: none;\n}\n.c-timeline.is-horizontal .c-timeline__body[data-v-4966a7c4] {\n width: 100%;\n padding: 8px 12px 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n text-align: center;\n}\n.c-timeline.is-horizontal .c-timeline__header[data-v-4966a7c4] {\n justify-content: center;\n flex-wrap: wrap;\n}\n.c-timeline.is-horizontal .c-timeline__content[data-v-4966a7c4] {\n text-align: left;\n font-size: 12px;\n}\n.c-timeline__header[data-v-4966a7c4] {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n}\n.c-timeline__title[data-v-4966a7c4] {\n font-size: 14px;\n font-weight: 600;\n color: var(--tl-text-primary);\n line-height: 1.5;\n}\n.c-timeline__time[data-v-4966a7c4] {\n display: inline-flex;\n align-items: center;\n padding: 1px 7px;\n font-size: 11px;\n color: var(--tl-text-time);\n white-space: nowrap;\n background: color-mix(in srgb, var(--border-color) 40%, transparent);\n border-radius: 4px;\n line-height: 1.6;\n}\n.c-timeline__tags[data-v-4966a7c4] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n.c-timeline__tag[data-v-4966a7c4] {\n display: inline-flex;\n align-items: center;\n padding: 1px 8px;\n font-size: 11px;\n font-weight: 500;\n border-radius: var(--tl-tag-radius);\n background: color-mix(in srgb, var(--primary-color) 10%, var(--card-color));\n color: var(--primary-color);\n border: 1px solid color-mix(in srgb, var(--primary-color) 20%, transparent);\n}\n.c-timeline__content[data-v-4966a7c4] {\n padding: var(--tl-content-padding);\n background: var(--tl-content-bg);\n border-radius: var(--tl-content-radius);\n border: 1px solid var(--border-color);\n font-size: 13px;\n color: var(--tl-text-secondary);\n line-height: 1.7;\n}\n.c-timeline__detail[data-v-4966a7c4] {\n overflow: hidden;\n transition: max-height 0.3s ease, opacity 0.3s ease;\n}\n.c-timeline__detail.is-collapsed[data-v-4966a7c4] {\n max-height: 0;\n opacity: 0;\n}\n.c-timeline__detail.is-expanded[data-v-4966a7c4] {\n max-height: 800px;\n opacity: 1;\n}\n.c-timeline__collapse-trigger[data-v-4966a7c4] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--primary-color);\n cursor: pointer;\n user-select: none;\n transition: opacity 0.2s;\n}\n.c-timeline__collapse-trigger[data-v-4966a7c4]:hover {\n opacity: 0.75;\n}\n.c-timeline__collapse-trigger .collapse-arrow[data-v-4966a7c4] {\n transition: transform 0.25s;\n}\n.c-timeline__collapse-trigger.is-expanded .collapse-arrow[data-v-4966a7c4] {\n transform: rotate(180deg);\n}\n.c-timeline__pending[data-v-4966a7c4] {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 13px;\n color: var(--tl-text-time);\n padding: 8px 0 0 var(--tl-track-width);\n}\n.c-timeline__pending .pending-dot[data-v-4966a7c4] {\n width: 10px;\n height: 10px;\n flex-shrink: 0;\n border-radius: 50%;\n background: var(--tl-dot-info);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--tl-dot-info) 20%, transparent);\n animation: tl-pulse-4966a7c4 1.4s infinite;\n}\n.c-timeline.is-horizontal .c-timeline__pending[data-v-4966a7c4] {\n padding-left: 0;\n}\n@keyframes tl-pulse-4966a7c4 {\n0%, 100% {\n opacity: 0.4;\n transform: scale(1);\n}\n50% {\n opacity: 1;\n transform: scale(1.15);\n}\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"C_Timeline-WYLx0DmS.css","names":[],"sources":["../src/components/C_Timeline/index.vue?vue&type=style&index=0&scoped=4966a7c4&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.c-timeline[data-v-4966a7c4] {\n --tl-bg: transparent;\n --tl-text-primary: var(--app-text-primary);\n --tl-text-secondary: var(--text-color-2);\n --tl-text-time: var(--text-color-3);\n --tl-line-color: color-mix(in srgb, var(--primary-color) 20%, var(--border-color));\n --tl-line-width: 2px;\n --tl-dot-size: 12px;\n --tl-icon-size: 32px;\n --tl-item-gap: 0px;\n --tl-track-spacing: 24px;\n --tl-track-width: 48px;\n --tl-content-gap: 12px;\n --tl-dot-size-sm: 8px;\n --tl-dot-size-lg: 16px;\n --tl-icon-size-sm: 24px;\n --tl-icon-size-lg: 40px;\n --tl-track-width-sm: 36px;\n --tl-track-width-lg: 60px;\n --tl-track-spacing-sm: 16px;\n --tl-track-spacing-lg: 32px;\n --tl-dot-default: var(--text-color-3);\n --tl-dot-success: #18a058;\n --tl-dot-warning: #f0a020;\n --tl-dot-error: #d03050;\n --tl-dot-info: #2080f0;\n --tl-icon-bg: var(--card-color);\n --tl-content-bg: var(--card-color);\n --tl-content-radius: 8px;\n --tl-content-padding: 12px 16px;\n --tl-tag-radius: 4px;\n --tl-h-item-width: 200px;\n --tl-h-track-height: 56px;\n position: relative;\n background: var(--tl-bg);\n}\n.c-timeline.is-small[data-v-4966a7c4] {\n --tl-dot-size: var(--tl-dot-size-sm);\n --tl-icon-size: var(--tl-icon-size-sm);\n --tl-track-width: var(--tl-track-width-sm);\n --tl-track-spacing: var(--tl-track-spacing-sm);\n}\n.c-timeline.is-large[data-v-4966a7c4] {\n --tl-dot-size: var(--tl-dot-size-lg);\n --tl-icon-size: var(--tl-icon-size-lg);\n --tl-track-width: var(--tl-track-width-lg);\n --tl-track-spacing: var(--tl-track-spacing-lg);\n}\n.c-timeline.is-vertical[data-v-4966a7c4] {\n display: flex;\n flex-direction: column;\n}\n.c-timeline.is-vertical .c-timeline__item[data-v-4966a7c4] {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n}\n.c-timeline.is-vertical .c-timeline__track[data-v-4966a7c4] {\n flex: 0 0 var(--tl-track-width);\n display: flex;\n flex-direction: column;\n align-items: center;\n padding-right: var(--tl-content-gap);\n}\n.c-timeline.is-vertical .c-timeline__dot[data-v-4966a7c4] {\n flex-shrink: 0;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n}\n.c-timeline.is-vertical .c-timeline__dot.is-dot[data-v-4966a7c4] {\n width: var(--tl-dot-size);\n height: var(--tl-dot-size);\n margin-top: calc((var(--tl-icon-size) - var(--tl-dot-size)) / 2);\n background: var(--tl-dot-default);\n border: 2px solid var(--card-color);\n box-shadow: 0 0 0 2px var(--tl-dot-default);\n}\n.c-timeline.is-vertical .c-timeline__dot.is-icon[data-v-4966a7c4] {\n width: var(--tl-icon-size);\n height: var(--tl-icon-size);\n background: var(--tl-icon-bg);\n border: 1.5px solid var(--tl-line-color);\n box-shadow: 0 0 0 3px var(--card-color), 0 2px 8px rgba(0, 0, 0, 0.08);\n font-size: calc(var(--tl-icon-size) * 0.5);\n}\n.c-timeline.is-vertical .c-timeline__line[data-v-4966a7c4] {\n flex: 1;\n min-height: var(--tl-track-spacing);\n width: var(--tl-line-width);\n background: var(--tl-line-color);\n border-radius: 1px;\n margin: 4px 0;\n}\n.c-timeline.is-vertical.is-line-dashed .c-timeline__line[data-v-4966a7c4] {\n background: none;\n width: 0;\n border-left: var(--tl-line-width) dashed var(--tl-line-color);\n}\n.c-timeline.is-vertical.is-line-dotted .c-timeline__line[data-v-4966a7c4] {\n background: none;\n width: 0;\n border-left: var(--tl-line-width) dotted var(--tl-line-color);\n}\n.c-timeline.is-vertical .c-timeline__body[data-v-4966a7c4] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding-bottom: var(--tl-track-spacing);\n}\n.c-timeline.is-vertical .c-timeline__item:last-child .c-timeline__body[data-v-4966a7c4] {\n padding-bottom: 0;\n}\n.c-timeline.is-horizontal[data-v-4966a7c4] {\n display: flex;\n flex-direction: row;\n overflow-x: auto;\n scrollbar-width: thin;\n scrollbar-color: var(--border-color) transparent;\n}\n.c-timeline.is-horizontal[data-v-4966a7c4]::-webkit-scrollbar {\n height: 4px;\n}\n.c-timeline.is-horizontal[data-v-4966a7c4]::-webkit-scrollbar-thumb {\n background: var(--border-color);\n border-radius: 2px;\n}\n.c-timeline.is-horizontal .c-timeline__item[data-v-4966a7c4] {\n flex: 0 0 var(--tl-h-item-width);\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.c-timeline.is-horizontal .c-timeline__track[data-v-4966a7c4] {\n position: relative;\n width: 100%;\n height: var(--tl-h-track-height);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: visible;\n}\n.c-timeline.is-horizontal .c-timeline__dot[data-v-4966a7c4] {\n position: relative;\n z-index: 1;\n flex-shrink: 0;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--tl-icon-bg);\n}\n.c-timeline.is-horizontal .c-timeline__dot.is-dot[data-v-4966a7c4] {\n width: var(--tl-dot-size);\n height: var(--tl-dot-size);\n background: var(--tl-dot-default);\n border: 2px solid var(--card-color);\n box-shadow: 0 0 0 2px var(--tl-dot-default);\n}\n.c-timeline.is-horizontal .c-timeline__dot.is-icon[data-v-4966a7c4] {\n width: var(--tl-icon-size);\n height: var(--tl-icon-size);\n background: var(--tl-icon-bg);\n border: 1.5px solid var(--tl-line-color);\n box-shadow: 0 0 0 3px var(--card-color), 0 2px 8px rgba(0, 0, 0, 0.08);\n font-size: calc(var(--tl-icon-size) * 0.5);\n}\n.c-timeline.is-horizontal .c-timeline__line[data-v-4966a7c4] {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 50%;\n width: var(--tl-h-item-width);\n height: var(--tl-line-width);\n background: var(--tl-line-color);\n z-index: 0;\n border-radius: 1px;\n}\n.c-timeline.is-horizontal.is-line-dashed .c-timeline__line[data-v-4966a7c4] {\n background: none;\n height: 0;\n border-top: var(--tl-line-width) dashed var(--tl-line-color);\n top: 50%;\n transform: none;\n}\n.c-timeline.is-horizontal.is-line-dotted .c-timeline__line[data-v-4966a7c4] {\n background: none;\n height: 0;\n border-top: var(--tl-line-width) dotted var(--tl-line-color);\n top: 50%;\n transform: none;\n}\n.c-timeline.is-horizontal .c-timeline__body[data-v-4966a7c4] {\n width: 100%;\n padding: 8px 12px 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n text-align: center;\n}\n.c-timeline.is-horizontal .c-timeline__header[data-v-4966a7c4] {\n justify-content: center;\n flex-wrap: wrap;\n}\n.c-timeline.is-horizontal .c-timeline__content[data-v-4966a7c4] {\n text-align: left;\n font-size: 12px;\n}\n.c-timeline__header[data-v-4966a7c4] {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n}\n.c-timeline__title[data-v-4966a7c4] {\n font-size: 14px;\n font-weight: 600;\n color: var(--tl-text-primary);\n line-height: 1.5;\n}\n.c-timeline__time[data-v-4966a7c4] {\n display: inline-flex;\n align-items: center;\n padding: 1px 7px;\n font-size: 11px;\n color: var(--tl-text-time);\n white-space: nowrap;\n background: color-mix(in srgb, var(--border-color) 40%, transparent);\n border-radius: 4px;\n line-height: 1.6;\n}\n.c-timeline__tags[data-v-4966a7c4] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n.c-timeline__tag[data-v-4966a7c4] {\n display: inline-flex;\n align-items: center;\n padding: 1px 8px;\n font-size: 11px;\n font-weight: 500;\n border-radius: var(--tl-tag-radius);\n background: color-mix(in srgb, var(--primary-color) 10%, var(--card-color));\n color: var(--primary-color);\n border: 1px solid color-mix(in srgb, var(--primary-color) 20%, transparent);\n}\n.c-timeline__content[data-v-4966a7c4] {\n padding: var(--tl-content-padding);\n background: var(--tl-content-bg);\n border-radius: var(--tl-content-radius);\n border: 1px solid var(--border-color);\n font-size: 13px;\n color: var(--tl-text-secondary);\n line-height: 1.7;\n}\n.c-timeline__detail[data-v-4966a7c4] {\n overflow: hidden;\n transition: max-height 0.3s ease, opacity 0.3s ease;\n}\n.c-timeline__detail.is-collapsed[data-v-4966a7c4] {\n max-height: 0;\n opacity: 0;\n}\n.c-timeline__detail.is-expanded[data-v-4966a7c4] {\n max-height: 800px;\n opacity: 1;\n}\n.c-timeline__collapse-trigger[data-v-4966a7c4] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--primary-color);\n cursor: pointer;\n user-select: none;\n transition: opacity 0.2s;\n}\n.c-timeline__collapse-trigger[data-v-4966a7c4]:hover {\n opacity: 0.75;\n}\n.c-timeline__collapse-trigger .collapse-arrow[data-v-4966a7c4] {\n transition: transform 0.25s;\n}\n.c-timeline__collapse-trigger.is-expanded .collapse-arrow[data-v-4966a7c4] {\n transform: rotate(180deg);\n}\n.c-timeline__pending[data-v-4966a7c4] {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 13px;\n color: var(--tl-text-time);\n padding: 8px 0 0 var(--tl-track-width);\n}\n.c-timeline__pending .pending-dot[data-v-4966a7c4] {\n width: 10px;\n height: 10px;\n flex-shrink: 0;\n border-radius: 50%;\n background: var(--tl-dot-info);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--tl-dot-info) 20%, transparent);\n animation: tl-pulse-4966a7c4 1.4s infinite;\n}\n.c-timeline.is-horizontal .c-timeline__pending[data-v-4966a7c4] {\n padding-left: 0;\n}\n@keyframes tl-pulse-4966a7c4 {\n0%, 100% {\n opacity: 0.4;\n transform: scale(1);\n}\n50% {\n opacity: 1;\n transform: scale(1.15);\n}\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}