rtmlib-ts 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -0
- package/README.md +202 -0
- package/dist/core/base.d.ts +20 -0
- package/dist/core/base.d.ts.map +1 -0
- package/dist/core/base.js +40 -0
- package/dist/core/file.d.ts +11 -0
- package/dist/core/file.d.ts.map +1 -0
- package/dist/core/file.js +111 -0
- package/dist/core/modelCache.d.ts +35 -0
- package/dist/core/modelCache.d.ts.map +1 -0
- package/dist/core/modelCache.js +161 -0
- package/dist/core/posePostprocessing.d.ts +12 -0
- package/dist/core/posePostprocessing.d.ts.map +1 -0
- package/dist/core/posePostprocessing.js +76 -0
- package/dist/core/postprocessing.d.ts +10 -0
- package/dist/core/postprocessing.d.ts.map +1 -0
- package/dist/core/postprocessing.js +70 -0
- package/dist/core/preprocessing.d.ts +14 -0
- package/dist/core/preprocessing.d.ts.map +1 -0
- package/dist/core/preprocessing.js +79 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/models/rtmpose.d.ts +25 -0
- package/dist/models/rtmpose.d.ts.map +1 -0
- package/dist/models/rtmpose.js +185 -0
- package/dist/models/rtmpose3d.d.ts +28 -0
- package/dist/models/rtmpose3d.d.ts.map +1 -0
- package/dist/models/rtmpose3d.js +184 -0
- package/dist/models/yolo12.d.ts +23 -0
- package/dist/models/yolo12.d.ts.map +1 -0
- package/dist/models/yolo12.js +165 -0
- package/dist/models/yolox.d.ts +18 -0
- package/dist/models/yolox.d.ts.map +1 -0
- package/dist/models/yolox.js +167 -0
- package/dist/solution/animalDetector.d.ts +229 -0
- package/dist/solution/animalDetector.d.ts.map +1 -0
- package/dist/solution/animalDetector.js +663 -0
- package/dist/solution/body.d.ts +16 -0
- package/dist/solution/body.d.ts.map +1 -0
- package/dist/solution/body.js +52 -0
- package/dist/solution/bodyWithFeet.d.ts +16 -0
- package/dist/solution/bodyWithFeet.d.ts.map +1 -0
- package/dist/solution/bodyWithFeet.js +52 -0
- package/dist/solution/customDetector.d.ts +137 -0
- package/dist/solution/customDetector.d.ts.map +1 -0
- package/dist/solution/customDetector.js +342 -0
- package/dist/solution/hand.d.ts +14 -0
- package/dist/solution/hand.d.ts.map +1 -0
- package/dist/solution/hand.js +20 -0
- package/dist/solution/index.d.ts +10 -0
- package/dist/solution/index.d.ts.map +1 -0
- package/dist/solution/index.js +9 -0
- package/dist/solution/objectDetector.d.ts +172 -0
- package/dist/solution/objectDetector.d.ts.map +1 -0
- package/dist/solution/objectDetector.js +606 -0
- package/dist/solution/pose3dDetector.d.ts +145 -0
- package/dist/solution/pose3dDetector.d.ts.map +1 -0
- package/dist/solution/pose3dDetector.js +611 -0
- package/dist/solution/poseDetector.d.ts +198 -0
- package/dist/solution/poseDetector.d.ts.map +1 -0
- package/dist/solution/poseDetector.js +622 -0
- package/dist/solution/poseTracker.d.ts +22 -0
- package/dist/solution/poseTracker.d.ts.map +1 -0
- package/dist/solution/poseTracker.js +106 -0
- package/dist/solution/wholebody.d.ts +19 -0
- package/dist/solution/wholebody.d.ts.map +1 -0
- package/dist/solution/wholebody.js +82 -0
- package/dist/solution/wholebody3d.d.ts +22 -0
- package/dist/solution/wholebody3d.d.ts.map +1 -0
- package/dist/solution/wholebody3d.js +75 -0
- package/dist/types/index.d.ts +52 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/visualization/draw.d.ts +57 -0
- package/dist/visualization/draw.d.ts.map +1 -0
- package/dist/visualization/draw.js +400 -0
- package/dist/visualization/skeleton/coco133.d.ts +350 -0
- package/dist/visualization/skeleton/coco133.d.ts.map +1 -0
- package/dist/visualization/skeleton/coco133.js +120 -0
- package/dist/visualization/skeleton/coco17.d.ts +180 -0
- package/dist/visualization/skeleton/coco17.d.ts.map +1 -0
- package/dist/visualization/skeleton/coco17.js +48 -0
- package/dist/visualization/skeleton/halpe26.d.ts +278 -0
- package/dist/visualization/skeleton/halpe26.d.ts.map +1 -0
- package/dist/visualization/skeleton/halpe26.js +70 -0
- package/dist/visualization/skeleton/hand21.d.ts +196 -0
- package/dist/visualization/skeleton/hand21.d.ts.map +1 -0
- package/dist/visualization/skeleton/hand21.js +51 -0
- package/dist/visualization/skeleton/index.d.ts +10 -0
- package/dist/visualization/skeleton/index.d.ts.map +1 -0
- package/dist/visualization/skeleton/index.js +9 -0
- package/dist/visualization/skeleton/openpose134.d.ts +357 -0
- package/dist/visualization/skeleton/openpose134.d.ts.map +1 -0
- package/dist/visualization/skeleton/openpose134.js +116 -0
- package/dist/visualization/skeleton/openpose18.d.ts +177 -0
- package/dist/visualization/skeleton/openpose18.d.ts.map +1 -0
- package/dist/visualization/skeleton/openpose18.js +47 -0
- package/docs/ANIMAL_DETECTOR.md +450 -0
- package/docs/CUSTOM_DETECTOR.md +568 -0
- package/docs/OBJECT_DETECTOR.md +373 -0
- package/docs/POSE3D_DETECTOR.md +458 -0
- package/docs/POSE_DETECTOR.md +442 -0
- package/examples/README.md +119 -0
- package/examples/index.html +746 -0
- package/package.json +51 -0
- package/playground/README.md +114 -0
- package/playground/app/favicon.ico +0 -0
- package/playground/app/globals.css +17 -0
- package/playground/app/layout.tsx +19 -0
- package/playground/app/page.tsx +1338 -0
- package/playground/eslint.config.mjs +18 -0
- package/playground/next.config.ts +34 -0
- package/playground/package-lock.json +6723 -0
- package/playground/package.json +27 -0
- package/playground/postcss.config.mjs +7 -0
- package/playground/tsconfig.json +34 -0
- package/src/core/base.ts +66 -0
- package/src/core/file.ts +141 -0
- package/src/core/modelCache.ts +189 -0
- package/src/core/posePostprocessing.ts +91 -0
- package/src/core/postprocessing.ts +93 -0
- package/src/core/preprocessing.ts +127 -0
- package/src/index.ts +69 -0
- package/src/models/rtmpose.ts +265 -0
- package/src/models/rtmpose3d.ts +289 -0
- package/src/models/yolo12.ts +220 -0
- package/src/models/yolox.ts +214 -0
- package/src/solution/animalDetector.ts +955 -0
- package/src/solution/body.ts +89 -0
- package/src/solution/bodyWithFeet.ts +89 -0
- package/src/solution/customDetector.ts +474 -0
- package/src/solution/hand.ts +52 -0
- package/src/solution/index.ts +10 -0
- package/src/solution/objectDetector.ts +816 -0
- package/src/solution/pose3dDetector.ts +890 -0
- package/src/solution/poseDetector.ts +892 -0
- package/src/solution/poseTracker.ts +172 -0
- package/src/solution/wholebody.ts +130 -0
- package/src/solution/wholebody3d.ts +125 -0
- package/src/types/index.ts +62 -0
- package/src/visualization/draw.ts +543 -0
- package/src/visualization/skeleton/coco133.ts +131 -0
- package/src/visualization/skeleton/coco17.ts +49 -0
- package/src/visualization/skeleton/halpe26.ts +71 -0
- package/src/visualization/skeleton/hand21.ts +52 -0
- package/src/visualization/skeleton/index.ts +10 -0
- package/src/visualization/skeleton/openpose134.ts +125 -0
- package/src/visualization/skeleton/openpose18.ts +48 -0
- package/tsconfig.json +32 -0
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenPose134 skeleton configuration
|
|
3
|
+
* 134 keypoints for wholebody pose estimation (OpenPose style)
|
|
4
|
+
*/
|
|
5
|
+
export declare const openpose134: {
|
|
6
|
+
readonly keypoint_info: {
|
|
7
|
+
readonly 130: {
|
|
8
|
+
readonly name: "left_big_toe";
|
|
9
|
+
readonly id: 130;
|
|
10
|
+
readonly color: readonly [0, 255, 128];
|
|
11
|
+
};
|
|
12
|
+
readonly 131: {
|
|
13
|
+
readonly name: "left_small_toe";
|
|
14
|
+
readonly id: 131;
|
|
15
|
+
readonly color: readonly [0, 255, 128];
|
|
16
|
+
};
|
|
17
|
+
readonly 132: {
|
|
18
|
+
readonly name: "left_heel";
|
|
19
|
+
readonly id: 132;
|
|
20
|
+
readonly color: readonly [0, 255, 128];
|
|
21
|
+
};
|
|
22
|
+
readonly 133: {
|
|
23
|
+
readonly name: "left_foot_center";
|
|
24
|
+
readonly id: 133;
|
|
25
|
+
readonly color: readonly [0, 255, 128];
|
|
26
|
+
};
|
|
27
|
+
readonly 0: {
|
|
28
|
+
readonly name: "nose";
|
|
29
|
+
readonly id: 0;
|
|
30
|
+
readonly color: readonly [255, 0, 0];
|
|
31
|
+
};
|
|
32
|
+
readonly 1: {
|
|
33
|
+
readonly name: "neck";
|
|
34
|
+
readonly id: 1;
|
|
35
|
+
readonly color: readonly [255, 85, 0];
|
|
36
|
+
};
|
|
37
|
+
readonly 2: {
|
|
38
|
+
readonly name: "right_shoulder";
|
|
39
|
+
readonly id: 2;
|
|
40
|
+
readonly color: readonly [255, 170, 0];
|
|
41
|
+
};
|
|
42
|
+
readonly 3: {
|
|
43
|
+
readonly name: "right_elbow";
|
|
44
|
+
readonly id: 3;
|
|
45
|
+
readonly color: readonly [255, 255, 0];
|
|
46
|
+
};
|
|
47
|
+
readonly 4: {
|
|
48
|
+
readonly name: "right_wrist";
|
|
49
|
+
readonly id: 4;
|
|
50
|
+
readonly color: readonly [170, 255, 0];
|
|
51
|
+
};
|
|
52
|
+
readonly 5: {
|
|
53
|
+
readonly name: "left_shoulder";
|
|
54
|
+
readonly id: 5;
|
|
55
|
+
readonly color: readonly [85, 255, 0];
|
|
56
|
+
};
|
|
57
|
+
readonly 6: {
|
|
58
|
+
readonly name: "left_elbow";
|
|
59
|
+
readonly id: 6;
|
|
60
|
+
readonly color: readonly [0, 255, 0];
|
|
61
|
+
};
|
|
62
|
+
readonly 7: {
|
|
63
|
+
readonly name: "left_wrist";
|
|
64
|
+
readonly id: 7;
|
|
65
|
+
readonly color: readonly [0, 255, 85];
|
|
66
|
+
};
|
|
67
|
+
readonly 8: {
|
|
68
|
+
readonly name: "right_hip";
|
|
69
|
+
readonly id: 8;
|
|
70
|
+
readonly color: readonly [0, 255, 170];
|
|
71
|
+
};
|
|
72
|
+
readonly 9: {
|
|
73
|
+
readonly name: "right_knee";
|
|
74
|
+
readonly id: 9;
|
|
75
|
+
readonly color: readonly [0, 255, 255];
|
|
76
|
+
};
|
|
77
|
+
readonly 10: {
|
|
78
|
+
readonly name: "right_ankle";
|
|
79
|
+
readonly id: 10;
|
|
80
|
+
readonly color: readonly [0, 170, 255];
|
|
81
|
+
};
|
|
82
|
+
readonly 11: {
|
|
83
|
+
readonly name: "left_hip";
|
|
84
|
+
readonly id: 11;
|
|
85
|
+
readonly color: readonly [0, 85, 255];
|
|
86
|
+
};
|
|
87
|
+
readonly 12: {
|
|
88
|
+
readonly name: "left_knee";
|
|
89
|
+
readonly id: 12;
|
|
90
|
+
readonly color: readonly [0, 0, 255];
|
|
91
|
+
};
|
|
92
|
+
readonly 13: {
|
|
93
|
+
readonly name: "left_ankle";
|
|
94
|
+
readonly id: 13;
|
|
95
|
+
readonly color: readonly [85, 0, 255];
|
|
96
|
+
};
|
|
97
|
+
readonly 14: {
|
|
98
|
+
readonly name: "right_eye";
|
|
99
|
+
readonly id: 14;
|
|
100
|
+
readonly color: readonly [170, 0, 255];
|
|
101
|
+
};
|
|
102
|
+
readonly 15: {
|
|
103
|
+
readonly name: "left_eye";
|
|
104
|
+
readonly id: 15;
|
|
105
|
+
readonly color: readonly [255, 0, 255];
|
|
106
|
+
};
|
|
107
|
+
readonly 16: {
|
|
108
|
+
readonly name: "right_ear";
|
|
109
|
+
readonly id: 16;
|
|
110
|
+
readonly color: readonly [255, 0, 170];
|
|
111
|
+
};
|
|
112
|
+
readonly 17: {
|
|
113
|
+
readonly name: "left_ear";
|
|
114
|
+
readonly id: 17;
|
|
115
|
+
readonly color: readonly [255, 0, 85];
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
readonly skeleton_info: {
|
|
119
|
+
readonly 36: {
|
|
120
|
+
readonly link: readonly ["left_hand_0", "left_hand_1"];
|
|
121
|
+
readonly color: readonly [255, 128, 0];
|
|
122
|
+
};
|
|
123
|
+
readonly 37: {
|
|
124
|
+
readonly link: readonly ["left_hand_1", "left_hand_2"];
|
|
125
|
+
readonly color: readonly [255, 128, 0];
|
|
126
|
+
};
|
|
127
|
+
readonly 38: {
|
|
128
|
+
readonly link: readonly ["left_hand_2", "left_hand_3"];
|
|
129
|
+
readonly color: readonly [255, 128, 0];
|
|
130
|
+
};
|
|
131
|
+
readonly 39: {
|
|
132
|
+
readonly link: readonly ["left_hand_3", "left_hand_4"];
|
|
133
|
+
readonly color: readonly [255, 128, 0];
|
|
134
|
+
};
|
|
135
|
+
readonly 40: {
|
|
136
|
+
readonly link: readonly ["left_hand_0", "left_hand_5"];
|
|
137
|
+
readonly color: readonly [255, 128, 0];
|
|
138
|
+
};
|
|
139
|
+
readonly 41: {
|
|
140
|
+
readonly link: readonly ["left_hand_5", "left_hand_6"];
|
|
141
|
+
readonly color: readonly [255, 128, 0];
|
|
142
|
+
};
|
|
143
|
+
readonly 42: {
|
|
144
|
+
readonly link: readonly ["left_hand_6", "left_hand_7"];
|
|
145
|
+
readonly color: readonly [255, 128, 0];
|
|
146
|
+
};
|
|
147
|
+
readonly 43: {
|
|
148
|
+
readonly link: readonly ["left_hand_7", "left_hand_8"];
|
|
149
|
+
readonly color: readonly [255, 128, 0];
|
|
150
|
+
};
|
|
151
|
+
readonly 44: {
|
|
152
|
+
readonly link: readonly ["left_hand_0", "left_hand_9"];
|
|
153
|
+
readonly color: readonly [255, 128, 0];
|
|
154
|
+
};
|
|
155
|
+
readonly 45: {
|
|
156
|
+
readonly link: readonly ["left_hand_9", "left_hand_10"];
|
|
157
|
+
readonly color: readonly [255, 128, 0];
|
|
158
|
+
};
|
|
159
|
+
readonly 46: {
|
|
160
|
+
readonly link: readonly ["left_hand_10", "left_hand_11"];
|
|
161
|
+
readonly color: readonly [255, 128, 0];
|
|
162
|
+
};
|
|
163
|
+
readonly 47: {
|
|
164
|
+
readonly link: readonly ["left_hand_11", "left_hand_12"];
|
|
165
|
+
readonly color: readonly [255, 128, 0];
|
|
166
|
+
};
|
|
167
|
+
readonly 48: {
|
|
168
|
+
readonly link: readonly ["left_hand_0", "left_hand_13"];
|
|
169
|
+
readonly color: readonly [255, 128, 0];
|
|
170
|
+
};
|
|
171
|
+
readonly 49: {
|
|
172
|
+
readonly link: readonly ["left_hand_13", "left_hand_14"];
|
|
173
|
+
readonly color: readonly [255, 128, 0];
|
|
174
|
+
};
|
|
175
|
+
readonly 50: {
|
|
176
|
+
readonly link: readonly ["left_hand_14", "left_hand_15"];
|
|
177
|
+
readonly color: readonly [255, 128, 0];
|
|
178
|
+
};
|
|
179
|
+
readonly 51: {
|
|
180
|
+
readonly link: readonly ["left_hand_15", "left_hand_16"];
|
|
181
|
+
readonly color: readonly [255, 128, 0];
|
|
182
|
+
};
|
|
183
|
+
readonly 52: {
|
|
184
|
+
readonly link: readonly ["left_hand_0", "left_hand_17"];
|
|
185
|
+
readonly color: readonly [255, 128, 0];
|
|
186
|
+
};
|
|
187
|
+
readonly 53: {
|
|
188
|
+
readonly link: readonly ["left_hand_17", "left_hand_18"];
|
|
189
|
+
readonly color: readonly [255, 128, 0];
|
|
190
|
+
};
|
|
191
|
+
readonly 54: {
|
|
192
|
+
readonly link: readonly ["left_hand_18", "left_hand_19"];
|
|
193
|
+
readonly color: readonly [255, 128, 0];
|
|
194
|
+
};
|
|
195
|
+
readonly 55: {
|
|
196
|
+
readonly link: readonly ["left_hand_19", "left_hand_20"];
|
|
197
|
+
readonly color: readonly [255, 128, 0];
|
|
198
|
+
};
|
|
199
|
+
readonly 56: {
|
|
200
|
+
readonly link: readonly ["right_hand_0", "right_hand_1"];
|
|
201
|
+
readonly color: readonly [0, 128, 255];
|
|
202
|
+
};
|
|
203
|
+
readonly 57: {
|
|
204
|
+
readonly link: readonly ["right_hand_1", "right_hand_2"];
|
|
205
|
+
readonly color: readonly [0, 128, 255];
|
|
206
|
+
};
|
|
207
|
+
readonly 58: {
|
|
208
|
+
readonly link: readonly ["right_hand_2", "right_hand_3"];
|
|
209
|
+
readonly color: readonly [0, 128, 255];
|
|
210
|
+
};
|
|
211
|
+
readonly 59: {
|
|
212
|
+
readonly link: readonly ["right_hand_3", "right_hand_4"];
|
|
213
|
+
readonly color: readonly [0, 128, 255];
|
|
214
|
+
};
|
|
215
|
+
readonly 60: {
|
|
216
|
+
readonly link: readonly ["right_hand_0", "right_hand_5"];
|
|
217
|
+
readonly color: readonly [0, 128, 255];
|
|
218
|
+
};
|
|
219
|
+
readonly 61: {
|
|
220
|
+
readonly link: readonly ["right_hand_5", "right_hand_6"];
|
|
221
|
+
readonly color: readonly [0, 128, 255];
|
|
222
|
+
};
|
|
223
|
+
readonly 62: {
|
|
224
|
+
readonly link: readonly ["right_hand_6", "right_hand_7"];
|
|
225
|
+
readonly color: readonly [0, 128, 255];
|
|
226
|
+
};
|
|
227
|
+
readonly 63: {
|
|
228
|
+
readonly link: readonly ["right_hand_7", "right_hand_8"];
|
|
229
|
+
readonly color: readonly [0, 128, 255];
|
|
230
|
+
};
|
|
231
|
+
readonly 64: {
|
|
232
|
+
readonly link: readonly ["right_hand_0", "right_hand_9"];
|
|
233
|
+
readonly color: readonly [0, 128, 255];
|
|
234
|
+
};
|
|
235
|
+
readonly 65: {
|
|
236
|
+
readonly link: readonly ["right_hand_9", "right_hand_10"];
|
|
237
|
+
readonly color: readonly [0, 128, 255];
|
|
238
|
+
};
|
|
239
|
+
readonly 66: {
|
|
240
|
+
readonly link: readonly ["right_hand_10", "right_hand_11"];
|
|
241
|
+
readonly color: readonly [0, 128, 255];
|
|
242
|
+
};
|
|
243
|
+
readonly 67: {
|
|
244
|
+
readonly link: readonly ["right_hand_11", "right_hand_12"];
|
|
245
|
+
readonly color: readonly [0, 128, 255];
|
|
246
|
+
};
|
|
247
|
+
readonly 68: {
|
|
248
|
+
readonly link: readonly ["right_hand_0", "right_hand_13"];
|
|
249
|
+
readonly color: readonly [0, 128, 255];
|
|
250
|
+
};
|
|
251
|
+
readonly 69: {
|
|
252
|
+
readonly link: readonly ["right_hand_13", "right_hand_14"];
|
|
253
|
+
readonly color: readonly [0, 128, 255];
|
|
254
|
+
};
|
|
255
|
+
readonly 70: {
|
|
256
|
+
readonly link: readonly ["right_hand_14", "right_hand_15"];
|
|
257
|
+
readonly color: readonly [0, 128, 255];
|
|
258
|
+
};
|
|
259
|
+
readonly 71: {
|
|
260
|
+
readonly link: readonly ["right_hand_15", "right_hand_16"];
|
|
261
|
+
readonly color: readonly [0, 128, 255];
|
|
262
|
+
};
|
|
263
|
+
readonly 72: {
|
|
264
|
+
readonly link: readonly ["right_hand_0", "right_hand_17"];
|
|
265
|
+
readonly color: readonly [0, 128, 255];
|
|
266
|
+
};
|
|
267
|
+
readonly 73: {
|
|
268
|
+
readonly link: readonly ["right_hand_17", "right_hand_18"];
|
|
269
|
+
readonly color: readonly [0, 128, 255];
|
|
270
|
+
};
|
|
271
|
+
readonly 74: {
|
|
272
|
+
readonly link: readonly ["right_hand_18", "right_hand_19"];
|
|
273
|
+
readonly color: readonly [0, 128, 255];
|
|
274
|
+
};
|
|
275
|
+
readonly 75: {
|
|
276
|
+
readonly link: readonly ["right_hand_19", "right_hand_20"];
|
|
277
|
+
readonly color: readonly [0, 128, 255];
|
|
278
|
+
};
|
|
279
|
+
readonly 0: {
|
|
280
|
+
readonly link: readonly ["neck", "right_shoulder"];
|
|
281
|
+
readonly color: readonly [255, 85, 0];
|
|
282
|
+
};
|
|
283
|
+
readonly 1: {
|
|
284
|
+
readonly link: readonly ["neck", "left_shoulder"];
|
|
285
|
+
readonly color: readonly [255, 85, 0];
|
|
286
|
+
};
|
|
287
|
+
readonly 2: {
|
|
288
|
+
readonly link: readonly ["right_shoulder", "right_elbow"];
|
|
289
|
+
readonly color: readonly [255, 170, 0];
|
|
290
|
+
};
|
|
291
|
+
readonly 3: {
|
|
292
|
+
readonly link: readonly ["right_elbow", "right_wrist"];
|
|
293
|
+
readonly color: readonly [255, 255, 0];
|
|
294
|
+
};
|
|
295
|
+
readonly 4: {
|
|
296
|
+
readonly link: readonly ["left_shoulder", "left_elbow"];
|
|
297
|
+
readonly color: readonly [85, 255, 0];
|
|
298
|
+
};
|
|
299
|
+
readonly 5: {
|
|
300
|
+
readonly link: readonly ["left_elbow", "left_wrist"];
|
|
301
|
+
readonly color: readonly [0, 255, 0];
|
|
302
|
+
};
|
|
303
|
+
readonly 6: {
|
|
304
|
+
readonly link: readonly ["neck", "right_hip"];
|
|
305
|
+
readonly color: readonly [255, 85, 0];
|
|
306
|
+
};
|
|
307
|
+
readonly 7: {
|
|
308
|
+
readonly link: readonly ["right_hip", "right_knee"];
|
|
309
|
+
readonly color: readonly [0, 255, 170];
|
|
310
|
+
};
|
|
311
|
+
readonly 8: {
|
|
312
|
+
readonly link: readonly ["right_knee", "right_ankle"];
|
|
313
|
+
readonly color: readonly [0, 255, 255];
|
|
314
|
+
};
|
|
315
|
+
readonly 9: {
|
|
316
|
+
readonly link: readonly ["neck", "left_hip"];
|
|
317
|
+
readonly color: readonly [255, 85, 0];
|
|
318
|
+
};
|
|
319
|
+
readonly 10: {
|
|
320
|
+
readonly link: readonly ["left_hip", "left_knee"];
|
|
321
|
+
readonly color: readonly [0, 85, 255];
|
|
322
|
+
};
|
|
323
|
+
readonly 11: {
|
|
324
|
+
readonly link: readonly ["left_knee", "left_ankle"];
|
|
325
|
+
readonly color: readonly [0, 0, 255];
|
|
326
|
+
};
|
|
327
|
+
readonly 12: {
|
|
328
|
+
readonly link: readonly ["nose", "neck"];
|
|
329
|
+
readonly color: readonly [255, 0, 0];
|
|
330
|
+
};
|
|
331
|
+
readonly 13: {
|
|
332
|
+
readonly link: readonly ["nose", "right_eye"];
|
|
333
|
+
readonly color: readonly [255, 0, 0];
|
|
334
|
+
};
|
|
335
|
+
readonly 14: {
|
|
336
|
+
readonly link: readonly ["nose", "left_eye"];
|
|
337
|
+
readonly color: readonly [255, 0, 0];
|
|
338
|
+
};
|
|
339
|
+
readonly 15: {
|
|
340
|
+
readonly link: readonly ["right_eye", "right_ear"];
|
|
341
|
+
readonly color: readonly [170, 0, 255];
|
|
342
|
+
};
|
|
343
|
+
readonly 16: {
|
|
344
|
+
readonly link: readonly ["left_eye", "left_ear"];
|
|
345
|
+
readonly color: readonly [255, 0, 255];
|
|
346
|
+
};
|
|
347
|
+
readonly 17: {
|
|
348
|
+
readonly link: readonly ["right_shoulder", "left_shoulder"];
|
|
349
|
+
readonly color: readonly [255, 85, 0];
|
|
350
|
+
};
|
|
351
|
+
readonly 18: {
|
|
352
|
+
readonly link: readonly ["right_hip", "left_hip"];
|
|
353
|
+
readonly color: readonly [255, 85, 0];
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
};
|
|
357
|
+
//# sourceMappingURL=openpose134.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openpose134.d.ts","sourceRoot":"","sources":["../../../src/visualization/skeleton/openpose134.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuHd,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenPose134 skeleton configuration
|
|
3
|
+
* 134 keypoints for wholebody pose estimation (OpenPose style)
|
|
4
|
+
*/
|
|
5
|
+
export const openpose134 = {
|
|
6
|
+
keypoint_info: {
|
|
7
|
+
// Body (0-17)
|
|
8
|
+
0: { name: 'nose', id: 0, color: [255, 0, 0] },
|
|
9
|
+
1: { name: 'neck', id: 1, color: [255, 85, 0] },
|
|
10
|
+
2: { name: 'right_shoulder', id: 2, color: [255, 170, 0] },
|
|
11
|
+
3: { name: 'right_elbow', id: 3, color: [255, 255, 0] },
|
|
12
|
+
4: { name: 'right_wrist', id: 4, color: [170, 255, 0] },
|
|
13
|
+
5: { name: 'left_shoulder', id: 5, color: [85, 255, 0] },
|
|
14
|
+
6: { name: 'left_elbow', id: 6, color: [0, 255, 0] },
|
|
15
|
+
7: { name: 'left_wrist', id: 7, color: [0, 255, 85] },
|
|
16
|
+
8: { name: 'right_hip', id: 8, color: [0, 255, 170] },
|
|
17
|
+
9: { name: 'right_knee', id: 9, color: [0, 255, 255] },
|
|
18
|
+
10: { name: 'right_ankle', id: 10, color: [0, 170, 255] },
|
|
19
|
+
11: { name: 'left_hip', id: 11, color: [0, 85, 255] },
|
|
20
|
+
12: { name: 'left_knee', id: 12, color: [0, 0, 255] },
|
|
21
|
+
13: { name: 'left_ankle', id: 13, color: [85, 0, 255] },
|
|
22
|
+
14: { name: 'right_eye', id: 14, color: [170, 0, 255] },
|
|
23
|
+
15: { name: 'left_eye', id: 15, color: [255, 0, 255] },
|
|
24
|
+
16: { name: 'right_ear', id: 16, color: [255, 0, 170] },
|
|
25
|
+
17: { name: 'left_ear', id: 17, color: [255, 0, 85] },
|
|
26
|
+
// Face (18-87) - 70 points
|
|
27
|
+
...Object.fromEntries(Array.from({ length: 70 }, (_, i) => [
|
|
28
|
+
i + 18,
|
|
29
|
+
{ name: `face_${i}`, id: i + 18, color: [255, 255, 255] }
|
|
30
|
+
])),
|
|
31
|
+
// Left hand (88-108) - 21 points
|
|
32
|
+
...Object.fromEntries(Array.from({ length: 21 }, (_, i) => [
|
|
33
|
+
i + 88,
|
|
34
|
+
{ name: `left_hand_${i}`, id: i + 88, color: [255, 128, 0] }
|
|
35
|
+
])),
|
|
36
|
+
// Right hand (109-129) - 21 points
|
|
37
|
+
...Object.fromEntries(Array.from({ length: 21 }, (_, i) => [
|
|
38
|
+
i + 109,
|
|
39
|
+
{ name: `right_hand_${i}`, id: i + 109, color: [0, 128, 255] }
|
|
40
|
+
])),
|
|
41
|
+
// Left foot (130-133) - 4 points
|
|
42
|
+
130: { name: 'left_big_toe', id: 130, color: [0, 255, 128] },
|
|
43
|
+
131: { name: 'left_small_toe', id: 131, color: [0, 255, 128] },
|
|
44
|
+
132: { name: 'left_heel', id: 132, color: [0, 255, 128] },
|
|
45
|
+
133: { name: 'left_foot_center', id: 133, color: [0, 255, 128] },
|
|
46
|
+
},
|
|
47
|
+
skeleton_info: {
|
|
48
|
+
// Body skeleton
|
|
49
|
+
0: { link: ['neck', 'right_shoulder'], color: [255, 85, 0] },
|
|
50
|
+
1: { link: ['neck', 'left_shoulder'], color: [255, 85, 0] },
|
|
51
|
+
2: { link: ['right_shoulder', 'right_elbow'], color: [255, 170, 0] },
|
|
52
|
+
3: { link: ['right_elbow', 'right_wrist'], color: [255, 255, 0] },
|
|
53
|
+
4: { link: ['left_shoulder', 'left_elbow'], color: [85, 255, 0] },
|
|
54
|
+
5: { link: ['left_elbow', 'left_wrist'], color: [0, 255, 0] },
|
|
55
|
+
6: { link: ['neck', 'right_hip'], color: [255, 85, 0] },
|
|
56
|
+
7: { link: ['right_hip', 'right_knee'], color: [0, 255, 170] },
|
|
57
|
+
8: { link: ['right_knee', 'right_ankle'], color: [0, 255, 255] },
|
|
58
|
+
9: { link: ['neck', 'left_hip'], color: [255, 85, 0] },
|
|
59
|
+
10: { link: ['left_hip', 'left_knee'], color: [0, 85, 255] },
|
|
60
|
+
11: { link: ['left_knee', 'left_ankle'], color: [0, 0, 255] },
|
|
61
|
+
12: { link: ['nose', 'neck'], color: [255, 0, 0] },
|
|
62
|
+
13: { link: ['nose', 'right_eye'], color: [255, 0, 0] },
|
|
63
|
+
14: { link: ['nose', 'left_eye'], color: [255, 0, 0] },
|
|
64
|
+
15: { link: ['right_eye', 'right_ear'], color: [170, 0, 255] },
|
|
65
|
+
16: { link: ['left_eye', 'left_ear'], color: [255, 0, 255] },
|
|
66
|
+
17: { link: ['right_shoulder', 'left_shoulder'], color: [255, 85, 0] },
|
|
67
|
+
18: { link: ['right_hip', 'left_hip'], color: [255, 85, 0] },
|
|
68
|
+
// Face skeleton (simplified contour)
|
|
69
|
+
...Object.fromEntries(Array.from({ length: 17 }, (_, i) => [
|
|
70
|
+
i + 19,
|
|
71
|
+
{ link: [`face_${i}`, `face_${(i + 1) % 17}`], color: [255, 255, 255] }
|
|
72
|
+
])),
|
|
73
|
+
// Left hand skeleton
|
|
74
|
+
36: { link: ['left_hand_0', 'left_hand_1'], color: [255, 128, 0] },
|
|
75
|
+
37: { link: ['left_hand_1', 'left_hand_2'], color: [255, 128, 0] },
|
|
76
|
+
38: { link: ['left_hand_2', 'left_hand_3'], color: [255, 128, 0] },
|
|
77
|
+
39: { link: ['left_hand_3', 'left_hand_4'], color: [255, 128, 0] },
|
|
78
|
+
40: { link: ['left_hand_0', 'left_hand_5'], color: [255, 128, 0] },
|
|
79
|
+
41: { link: ['left_hand_5', 'left_hand_6'], color: [255, 128, 0] },
|
|
80
|
+
42: { link: ['left_hand_6', 'left_hand_7'], color: [255, 128, 0] },
|
|
81
|
+
43: { link: ['left_hand_7', 'left_hand_8'], color: [255, 128, 0] },
|
|
82
|
+
44: { link: ['left_hand_0', 'left_hand_9'], color: [255, 128, 0] },
|
|
83
|
+
45: { link: ['left_hand_9', 'left_hand_10'], color: [255, 128, 0] },
|
|
84
|
+
46: { link: ['left_hand_10', 'left_hand_11'], color: [255, 128, 0] },
|
|
85
|
+
47: { link: ['left_hand_11', 'left_hand_12'], color: [255, 128, 0] },
|
|
86
|
+
48: { link: ['left_hand_0', 'left_hand_13'], color: [255, 128, 0] },
|
|
87
|
+
49: { link: ['left_hand_13', 'left_hand_14'], color: [255, 128, 0] },
|
|
88
|
+
50: { link: ['left_hand_14', 'left_hand_15'], color: [255, 128, 0] },
|
|
89
|
+
51: { link: ['left_hand_15', 'left_hand_16'], color: [255, 128, 0] },
|
|
90
|
+
52: { link: ['left_hand_0', 'left_hand_17'], color: [255, 128, 0] },
|
|
91
|
+
53: { link: ['left_hand_17', 'left_hand_18'], color: [255, 128, 0] },
|
|
92
|
+
54: { link: ['left_hand_18', 'left_hand_19'], color: [255, 128, 0] },
|
|
93
|
+
55: { link: ['left_hand_19', 'left_hand_20'], color: [255, 128, 0] },
|
|
94
|
+
// Right hand skeleton
|
|
95
|
+
56: { link: ['right_hand_0', 'right_hand_1'], color: [0, 128, 255] },
|
|
96
|
+
57: { link: ['right_hand_1', 'right_hand_2'], color: [0, 128, 255] },
|
|
97
|
+
58: { link: ['right_hand_2', 'right_hand_3'], color: [0, 128, 255] },
|
|
98
|
+
59: { link: ['right_hand_3', 'right_hand_4'], color: [0, 128, 255] },
|
|
99
|
+
60: { link: ['right_hand_0', 'right_hand_5'], color: [0, 128, 255] },
|
|
100
|
+
61: { link: ['right_hand_5', 'right_hand_6'], color: [0, 128, 255] },
|
|
101
|
+
62: { link: ['right_hand_6', 'right_hand_7'], color: [0, 128, 255] },
|
|
102
|
+
63: { link: ['right_hand_7', 'right_hand_8'], color: [0, 128, 255] },
|
|
103
|
+
64: { link: ['right_hand_0', 'right_hand_9'], color: [0, 128, 255] },
|
|
104
|
+
65: { link: ['right_hand_9', 'right_hand_10'], color: [0, 128, 255] },
|
|
105
|
+
66: { link: ['right_hand_10', 'right_hand_11'], color: [0, 128, 255] },
|
|
106
|
+
67: { link: ['right_hand_11', 'right_hand_12'], color: [0, 128, 255] },
|
|
107
|
+
68: { link: ['right_hand_0', 'right_hand_13'], color: [0, 128, 255] },
|
|
108
|
+
69: { link: ['right_hand_13', 'right_hand_14'], color: [0, 128, 255] },
|
|
109
|
+
70: { link: ['right_hand_14', 'right_hand_15'], color: [0, 128, 255] },
|
|
110
|
+
71: { link: ['right_hand_15', 'right_hand_16'], color: [0, 128, 255] },
|
|
111
|
+
72: { link: ['right_hand_0', 'right_hand_17'], color: [0, 128, 255] },
|
|
112
|
+
73: { link: ['right_hand_17', 'right_hand_18'], color: [0, 128, 255] },
|
|
113
|
+
74: { link: ['right_hand_18', 'right_hand_19'], color: [0, 128, 255] },
|
|
114
|
+
75: { link: ['right_hand_19', 'right_hand_20'], color: [0, 128, 255] },
|
|
115
|
+
},
|
|
116
|
+
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenPose18 skeleton configuration
|
|
3
|
+
* 18 keypoints for body pose estimation (OpenPose style)
|
|
4
|
+
*/
|
|
5
|
+
export declare const openpose18: {
|
|
6
|
+
readonly keypoint_info: {
|
|
7
|
+
readonly 0: {
|
|
8
|
+
readonly name: "nose";
|
|
9
|
+
readonly id: 0;
|
|
10
|
+
readonly color: readonly [255, 0, 0];
|
|
11
|
+
};
|
|
12
|
+
readonly 1: {
|
|
13
|
+
readonly name: "neck";
|
|
14
|
+
readonly id: 1;
|
|
15
|
+
readonly color: readonly [255, 85, 0];
|
|
16
|
+
};
|
|
17
|
+
readonly 2: {
|
|
18
|
+
readonly name: "right_shoulder";
|
|
19
|
+
readonly id: 2;
|
|
20
|
+
readonly color: readonly [255, 170, 0];
|
|
21
|
+
};
|
|
22
|
+
readonly 3: {
|
|
23
|
+
readonly name: "right_elbow";
|
|
24
|
+
readonly id: 3;
|
|
25
|
+
readonly color: readonly [255, 255, 0];
|
|
26
|
+
};
|
|
27
|
+
readonly 4: {
|
|
28
|
+
readonly name: "right_wrist";
|
|
29
|
+
readonly id: 4;
|
|
30
|
+
readonly color: readonly [170, 255, 0];
|
|
31
|
+
};
|
|
32
|
+
readonly 5: {
|
|
33
|
+
readonly name: "left_shoulder";
|
|
34
|
+
readonly id: 5;
|
|
35
|
+
readonly color: readonly [85, 255, 0];
|
|
36
|
+
};
|
|
37
|
+
readonly 6: {
|
|
38
|
+
readonly name: "left_elbow";
|
|
39
|
+
readonly id: 6;
|
|
40
|
+
readonly color: readonly [0, 255, 0];
|
|
41
|
+
};
|
|
42
|
+
readonly 7: {
|
|
43
|
+
readonly name: "left_wrist";
|
|
44
|
+
readonly id: 7;
|
|
45
|
+
readonly color: readonly [0, 255, 85];
|
|
46
|
+
};
|
|
47
|
+
readonly 8: {
|
|
48
|
+
readonly name: "right_hip";
|
|
49
|
+
readonly id: 8;
|
|
50
|
+
readonly color: readonly [0, 255, 170];
|
|
51
|
+
};
|
|
52
|
+
readonly 9: {
|
|
53
|
+
readonly name: "right_knee";
|
|
54
|
+
readonly id: 9;
|
|
55
|
+
readonly color: readonly [0, 255, 255];
|
|
56
|
+
};
|
|
57
|
+
readonly 10: {
|
|
58
|
+
readonly name: "right_ankle";
|
|
59
|
+
readonly id: 10;
|
|
60
|
+
readonly color: readonly [0, 170, 255];
|
|
61
|
+
};
|
|
62
|
+
readonly 11: {
|
|
63
|
+
readonly name: "left_hip";
|
|
64
|
+
readonly id: 11;
|
|
65
|
+
readonly color: readonly [0, 85, 255];
|
|
66
|
+
};
|
|
67
|
+
readonly 12: {
|
|
68
|
+
readonly name: "left_knee";
|
|
69
|
+
readonly id: 12;
|
|
70
|
+
readonly color: readonly [0, 0, 255];
|
|
71
|
+
};
|
|
72
|
+
readonly 13: {
|
|
73
|
+
readonly name: "left_ankle";
|
|
74
|
+
readonly id: 13;
|
|
75
|
+
readonly color: readonly [85, 0, 255];
|
|
76
|
+
};
|
|
77
|
+
readonly 14: {
|
|
78
|
+
readonly name: "right_eye";
|
|
79
|
+
readonly id: 14;
|
|
80
|
+
readonly color: readonly [170, 0, 255];
|
|
81
|
+
};
|
|
82
|
+
readonly 15: {
|
|
83
|
+
readonly name: "left_eye";
|
|
84
|
+
readonly id: 15;
|
|
85
|
+
readonly color: readonly [255, 0, 255];
|
|
86
|
+
};
|
|
87
|
+
readonly 16: {
|
|
88
|
+
readonly name: "right_ear";
|
|
89
|
+
readonly id: 16;
|
|
90
|
+
readonly color: readonly [255, 0, 170];
|
|
91
|
+
};
|
|
92
|
+
readonly 17: {
|
|
93
|
+
readonly name: "left_ear";
|
|
94
|
+
readonly id: 17;
|
|
95
|
+
readonly color: readonly [255, 0, 85];
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
readonly skeleton_info: {
|
|
99
|
+
readonly 0: {
|
|
100
|
+
readonly link: readonly ["neck", "right_shoulder"];
|
|
101
|
+
readonly color: readonly [255, 85, 0];
|
|
102
|
+
};
|
|
103
|
+
readonly 1: {
|
|
104
|
+
readonly link: readonly ["neck", "left_shoulder"];
|
|
105
|
+
readonly color: readonly [255, 85, 0];
|
|
106
|
+
};
|
|
107
|
+
readonly 2: {
|
|
108
|
+
readonly link: readonly ["right_shoulder", "right_elbow"];
|
|
109
|
+
readonly color: readonly [255, 170, 0];
|
|
110
|
+
};
|
|
111
|
+
readonly 3: {
|
|
112
|
+
readonly link: readonly ["right_elbow", "right_wrist"];
|
|
113
|
+
readonly color: readonly [255, 255, 0];
|
|
114
|
+
};
|
|
115
|
+
readonly 4: {
|
|
116
|
+
readonly link: readonly ["left_shoulder", "left_elbow"];
|
|
117
|
+
readonly color: readonly [85, 255, 0];
|
|
118
|
+
};
|
|
119
|
+
readonly 5: {
|
|
120
|
+
readonly link: readonly ["left_elbow", "left_wrist"];
|
|
121
|
+
readonly color: readonly [0, 255, 0];
|
|
122
|
+
};
|
|
123
|
+
readonly 6: {
|
|
124
|
+
readonly link: readonly ["neck", "right_hip"];
|
|
125
|
+
readonly color: readonly [255, 85, 0];
|
|
126
|
+
};
|
|
127
|
+
readonly 7: {
|
|
128
|
+
readonly link: readonly ["right_hip", "right_knee"];
|
|
129
|
+
readonly color: readonly [0, 255, 170];
|
|
130
|
+
};
|
|
131
|
+
readonly 8: {
|
|
132
|
+
readonly link: readonly ["right_knee", "right_ankle"];
|
|
133
|
+
readonly color: readonly [0, 255, 255];
|
|
134
|
+
};
|
|
135
|
+
readonly 9: {
|
|
136
|
+
readonly link: readonly ["neck", "left_hip"];
|
|
137
|
+
readonly color: readonly [255, 85, 0];
|
|
138
|
+
};
|
|
139
|
+
readonly 10: {
|
|
140
|
+
readonly link: readonly ["left_hip", "left_knee"];
|
|
141
|
+
readonly color: readonly [0, 85, 255];
|
|
142
|
+
};
|
|
143
|
+
readonly 11: {
|
|
144
|
+
readonly link: readonly ["left_knee", "left_ankle"];
|
|
145
|
+
readonly color: readonly [0, 0, 255];
|
|
146
|
+
};
|
|
147
|
+
readonly 12: {
|
|
148
|
+
readonly link: readonly ["nose", "neck"];
|
|
149
|
+
readonly color: readonly [255, 0, 0];
|
|
150
|
+
};
|
|
151
|
+
readonly 13: {
|
|
152
|
+
readonly link: readonly ["nose", "right_eye"];
|
|
153
|
+
readonly color: readonly [255, 0, 0];
|
|
154
|
+
};
|
|
155
|
+
readonly 14: {
|
|
156
|
+
readonly link: readonly ["nose", "left_eye"];
|
|
157
|
+
readonly color: readonly [255, 0, 0];
|
|
158
|
+
};
|
|
159
|
+
readonly 15: {
|
|
160
|
+
readonly link: readonly ["right_eye", "right_ear"];
|
|
161
|
+
readonly color: readonly [170, 0, 255];
|
|
162
|
+
};
|
|
163
|
+
readonly 16: {
|
|
164
|
+
readonly link: readonly ["left_eye", "left_ear"];
|
|
165
|
+
readonly color: readonly [255, 0, 255];
|
|
166
|
+
};
|
|
167
|
+
readonly 17: {
|
|
168
|
+
readonly link: readonly ["right_shoulder", "left_shoulder"];
|
|
169
|
+
readonly color: readonly [255, 85, 0];
|
|
170
|
+
};
|
|
171
|
+
readonly 18: {
|
|
172
|
+
readonly link: readonly ["right_hip", "left_hip"];
|
|
173
|
+
readonly color: readonly [255, 85, 0];
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
//# sourceMappingURL=openpose18.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openpose18.d.ts","sourceRoot":"","sources":["../../../src/visualization/skeleton/openpose18.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cb,CAAC"}
|