>_ rehablogger
Система работает
← Все сессии
СЕССИЯ УСТРОЙСТВА

rehabapp_2026-10-06_13-44-36

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] ANKLE_ANGLE t=14:21:44.262 ts=90.723 Lkat2d=96.1 Lfoot2d=92.7 LfootH=0.0 Lkat3d=- LfootLen=0.045 visL=0.00 Rkat2d=171.3 Rfoot2d=160.5 RfootH=37.1 Rkat3d=- RfootLen=0.060 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:44.336 ts=90.799 Lkat2d=116.0 Lfoot2d=116.0 LfootH=0.0 Lkat3d=- LfootLen=0.025 visL=0.00 Rkat2d=121.8 Rfoot2d=131.1 RfootH=25.6 Rkat3d=- RfootLen=0.050 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:44.512 ts=90.973 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:44.579 ts=91.067 Lkat2d=131.3 Lfoot2d=131.3 LfootH=0.0 Lkat3d=- LfootLen=0.025 visL=0.00 Rkat2d=170.4 Rfoot2d=162.9 RfootH=52.1 Rkat3d=- RfootLen=0.068 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:44.655 ts=91.125 Lkat2d=167.7 Lfoot2d=112.6 LfootH=14.6 Lkat3d=- LfootLen=0.013 visL=0.00 Rkat2d=171.6 Rfoot2d=165.5 RfootH=38.9 Rkat3d=- RfootLen=0.036 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:45.013 ts=91.455 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:45.091 ts=91.562 Lkat2d=132.7 Lfoot2d=123.8 LfootH=0.0 Lkat3d=- LfootLen=0.102 visL=0.01 Rkat2d=148.3 Rfoot2d=149.9 RfootH=19.7 Rkat3d=- RfootLen=0.065 visR=0.00
INFO [console] PASSPORT_WHY: hint=fullBodyNotVisible frontal=n/a(min 0.4) lean=n/adeg(max 20.0) speed=n/a(max 0.06) armsDown=n/a armsAside=n/a(n/a of min 1.15)
INFO [console] ANKLE_ANGLE t=14:21:45.391 ts=91.832 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.036 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] POSE_METRICS: received=24(20.1fps) processed=8(6.7fps) replaced=7(5.9fps) buildMs=1.67 estimatorMs=81.83 (pre=2.7 infer=60.9 det=42.0) roiAgeMs=71.9/max=152.1 stale=1.7fps detRuns=6.7fps resets=2.5fps totalMs=1.02 lagMs=94.0 predLatMs=87.6 actualFps=6.7
INFO [console] ANKLE_ANGLE t=14:21:45.473 ts=91.928 Lkat2d=164.1 Lfoot2d=152.8 LfootH=33.4 Lkat3d=- LfootLen=0.104 visL=0.01 Rkat2d=169.2 Rfoot2d=162.4 RfootH=47.2 Rkat3d=- RfootLen=0.085 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:45.642 ts=92.098 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.01 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:45.709 ts=92.150 Lkat2d=171.6 Lfoot2d=113.2 LfootH=38.3 Lkat3d=- LfootLen=0.021 visL=0.01 Rkat2d=76.0 Rfoot2d=70.9 RfootH=64.7 Rkat3d=- RfootLen=0.064 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:45.765 ts=92.232 Lkat2d=95.0 Lfoot2d=93.8 LfootH=0.0 Lkat3d=- LfootLen=0.073 visL=0.01 Rkat2d=141.8 Rfoot2d=134.3 RfootH=64.8 Rkat3d=- RfootLen=0.073 visR=0.00
INFO [console] PASSPORT_WHY: hint=fullBodyNotVisible frontal=n/a(min 0.4) lean=n/adeg(max 20.0) speed=n/a(max 0.06) armsDown=n/a armsAside=n/a(n/a of min 1.15)
INFO [console] ANKLE_ANGLE t=14:21:46.408 ts=92.850 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] POSE_METRICS: received=21(20.6fps) processed=5(4.9fps) replaced=7(6.9fps) buildMs=2.05 estimatorMs=76.26 (pre=2.0 infer=54.5 det=37.7) roiAgeMs=56.6/max=134.8 stale=1.0fps detRuns=4.9fps resets=2.0fps totalMs=1.58 lagMs=103.4 predLatMs=88.7 actualFps=4.9
INFO [console] ANKLE_ANGLE t=14:21:46.639 ts=93.073 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:46.802 ts=93.235 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:47.089 ts=93.528 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:47.274 ts=93.740 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] PASSPORT_WHY: hint=fullBodyNotVisible frontal=n/a(min 0.4) lean=n/adeg(max 20.0) speed=n/a(max 0.06) armsDown=n/a armsAside=n/a(n/a of min 1.15)
INFO [console] ANKLE_ANGLE t=14:21:48.146 ts=94.609 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.278 visL=0.03 Rkat2d=- Rfoot2d=- RfootH=0.0 Rkat3d=- RfootLen=0.041 visR=0.02
INFO [console] POSE_METRICS: received=43(24.8fps) processed=5(2.9fps) replaced=11(6.3fps) buildMs=1.95 estimatorMs=94.63 (pre=1.6 infer=45.9 det=46.0) roiAgeMs=0.0/max=0.0 stale=0.0fps detRuns=2.9fps resets=2.9fps totalMs=0.51 lagMs=109.3 predLatMs=89.4 actualFps=2.9
INFO [console] ANKLE_ANGLE t=14:21:48.476 ts=94.928 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.02 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.02
INFO [console] ANKLE_ANGLE t=14:21:48.548 ts=95.014 Lkat2d=170.3 Lfoot2d=169.9 LfootH=75.5 Lkat3d=- LfootLen=0.082 visL=0.02 Rkat2d=153.7 Rfoot2d=131.6 RfootH=43.5 Rkat3d=- RfootLen=0.118 visR=0.02
INFO [console] ANKLE_ANGLE t=14:21:48.620 ts=95.077 Lkat2d=134.6 Lfoot2d=113.1 LfootH=13.5 Lkat3d=109.3 LfootLen=0.077 visL=0.07 Rkat2d=155.8 Rfoot2d=143.8 RfootH=31.6 Rkat3d=159.7 RfootLen=0.111 visR=0.10
INFO [console] ANKLE_ANGLE t=14:21:48.960 ts=95.410 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.215 visL=0.04 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.03
INFO [console] PASSPORT_WHY: hint=fullBodyNotVisible frontal=n/a(min 0.4) lean=n/adeg(max 20.0) speed=n/a(max 0.06) armsDown=n/a armsAside=n/a(n/a of min 1.15)
INFO [console] ANKLE_ANGLE t=14:21:49.337 ts=95.798 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.243 visL=0.02 Rkat2d=- Rfoot2d=- RfootH=0.0 Rkat3d=- RfootLen=0.036 visR=0.01
INFO [console] POSE_METRICS: received=25(21.0fps) processed=5(4.2fps) replaced=7(5.9fps) buildMs=2.56 estimatorMs=76.50 (pre=3.2 infer=53.7 det=35.5) roiAgeMs=46.6/max=148.1 stale=0.8fps detRuns=4.2fps resets=2.5fps totalMs=0.77 lagMs=99.2 predLatMs=89.0 actualFps=4.2
INFO [console] ANKLE_ANGLE t=14:21:49.512 ts=95.975 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.277 visL=0.02 Rkat2d=180.0 Rfoot2d=0.0 RfootH=0.0 Rkat3d=- RfootLen=0.054 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:49.717 ts=96.184 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.120 visL=0.01 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:49.879 ts=96.352 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.233 visL=0.02 Rkat2d=- Rfoot2d=- RfootH=0.0 Rkat3d=- RfootLen=0.003 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:49.941 ts=96.406 Lkat2d=160.7 Lfoot2d=140.8 LfootH=-67.3 Lkat3d=- LfootLen=0.034 visL=0.02 Rkat2d=144.7 Rfoot2d=140.0 RfootH=7.2 Rkat3d=- RfootLen=0.084 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:50.006 ts=96.446 Lkat2d=143.8 Lfoot2d=48.8 LfootH=-68.5 Lkat3d=- LfootLen=0.031 visL=0.01 Rkat2d=131.2 Rfoot2d=109.6 RfootH=-37.7 Rkat3d=- RfootLen=0.132 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:50.203 ts=96.659 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.220 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] PASSPORT_WHY: hint=fullBodyNotVisible frontal=n/a(min 0.4) lean=n/adeg(max 20.0) speed=n/a(max 0.06) armsDown=n/a armsAside=n/a(n/a of min 1.15)
INFO [console] ANKLE_ANGLE t=14:21:50.538 ts=96.994 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.217 visL=0.02 Rkat2d=- Rfoot2d=- RfootH=0.0 Rkat3d=- RfootLen=0.035 visR=0.01
INFO [console] POSE_METRICS: received=26(21.6fps) processed=7(5.8fps) replaced=7(5.8fps) buildMs=1.21 estimatorMs=81.59 (pre=1.4 infer=51.2 det=36.8) roiAgeMs=21.2/max=94.2 stale=0.8fps detRuns=5.8fps resets=4.2fps totalMs=0.94 lagMs=95.9 predLatMs=87.7 actualFps=5.8
INFO [console] ANKLE_ANGLE t=14:21:50.702 ts=97.166 Lkat2d=- Lfoot2d=- LfootH=- Lkat3d=- LfootLen=0.000 visL=0.02 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.02
INFO [console] ANKLE_ANGLE t=14:21:50.753 ts=97.251 Lkat2d=165.7 Lfoot2d=150.4 LfootH=69.1 Lkat3d=- LfootLen=0.017 visL=0.02 Rkat2d=176.9 Rfoot2d=173.8 RfootH=49.1 Rkat3d=- RfootLen=0.106 visR=0.02
INFO [console] ANKLE_ANGLE t=14:21:50.816 ts=97.286 Lkat2d=41.7 Lfoot2d=39.7 LfootH=0.0 Lkat3d=38.4 LfootLen=0.122 visL=0.09 Rkat2d=155.1 Rfoot2d=139.4 RfootH=-61.5 Rkat3d=- RfootLen=0.041 visR=0.04
INFO [console] ANKLE_ANGLE t=14:21:50.960 ts=97.417 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.090 visL=0.01 Rkat2d=180.0 Rfoot2d=180.0 RfootH=0.0 Rkat3d=- RfootLen=0.045 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:51.143 ts=97.610 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.136 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:51.209 ts=97.692 Lkat2d=57.8 Lfoot2d=51.6 LfootH=17.8 Lkat3d=- LfootLen=0.052 visL=0.00 Rkat2d=152.4 Rfoot2d=135.7 RfootH=49.1 Rkat3d=- RfootLen=0.045 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:51.456 ts=97.927 Lkat2d=0.0 Lfoot2d=0.0 LfootH=0.0 Lkat3d=- LfootLen=0.104 visL=0.00 Rkat2d=180.0 Rfoot2d=180.0 RfootH=0.0 Rkat3d=- RfootLen=0.036 visR=0.00
INFO [console] PASSPORT_WHY: hint=fullBodyNotVisible frontal=n/a(min 0.4) lean=n/adeg(max 20.0) speed=n/a(max 0.06) armsDown=n/a armsAside=n/a(n/a of min 1.15)
INFO [console] ANKLE_ANGLE t=14:21:52.379 ts=98.842 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.148 visL=0.01 Rkat2d=180.0 Rfoot2d=180.0 RfootH=0.0 Rkat3d=- RfootLen=0.085 visR=0.00
INFO [console] POSE_METRICS: received=45(24.4fps) processed=8(4.3fps) replaced=19(10.3fps) buildMs=1.49 estimatorMs=72.38 (pre=1.7 infer=45.8 det=41.4) roiAgeMs=36.0/max=120.1 stale=0.5fps detRuns=4.3fps resets=2.7fps totalMs=1.06 lagMs=84.4 predLatMs=86.0 actualFps=4.3
INFO [console] ANKLE_ANGLE t=14:21:52.866 ts=99.307 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.109 visL=0.00 Rkat2d=- Rfoot2d=- RfootH=0.0 Rkat3d=- RfootLen=0.052 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:53.206 ts=99.655 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.274 visL=0.02 Rkat2d=180.0 Rfoot2d=0.0 RfootH=0.0 Rkat3d=- RfootLen=0.015 visR=0.01
INFO [console] PASSPORT_WHY: hint=fullBodyNotVisible frontal=n/a(min 0.4) lean=n/adeg(max 20.0) speed=n/a(max 0.06) armsDown=n/a armsAside=n/a(n/a of min 1.15)
INFO [console] ANKLE_ANGLE t=14:21:53.543 ts=100.030 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.088 visL=0.01 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.01
INFO [console] POSE_METRICS: received=27(23.2fps) processed=3(2.6fps) replaced=3(2.6fps) buildMs=0.96 estimatorMs=87.22 (pre=0.7 infer=51.1 det=32.9) roiAgeMs=0.0/max=0.0 stale=0.0fps detRuns=2.6fps resets=2.6fps totalMs=0.93 lagMs=96.9 predLatMs=85.3 actualFps=2.6
INFO [console] ANKLE_ANGLE t=14:21:53.608 ts=100.063 Lkat2d=135.0 Lfoot2d=96.2 LfootH=-14.6 Lkat3d=- LfootLen=0.062 visL=0.01 Rkat2d=164.0 Rfoot2d=157.1 RfootH=51.7 Rkat3d=- RfootLen=0.067 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:53.795 ts=100.207 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.083 visL=0.02 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:54.046 ts=100.497 Lkat2d=180.0 Lfoot2d=180.0 LfootH=0.0 Lkat3d=- LfootLen=0.195 visL=0.01 Rkat2d=- Rfoot2d=- RfootH=- Rkat3d=- RfootLen=0.000 visR=0.01
INFO [console] ANKLE_ANGLE t=14:21:54.112 ts=100.570 Lkat2d=123.7 Lfoot2d=97.6 LfootH=-11.1 Lkat3d=- LfootLen=0.109 visL=0.01 Rkat2d=129.8 Rfoot2d=110.2 RfootH=-21.7 Rkat3d=- RfootLen=0.143 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:54.168 ts=100.616 Lkat2d=91.6 Lfoot2d=67.3 LfootH=-7.4 Lkat3d=- LfootLen=0.105 visL=0.01 Rkat2d=106.5 Rfoot2d=91.1 RfootH=-12.6 Rkat3d=- RfootLen=0.146 visR=0.00
INFO [console] ANKLE_ANGLE t=14:21:54.230 ts=100.687 Lkat2d=117.0 Lfoot2d=104.6 LfootH=0.0 Lkat3d=- LfootLen=0.074 visL=0.01 Rkat2d=160.4 Rfoot2d=148.2 RfootH=41.2 Rkat3d=- RfootLen=0.079 visR=0.00
FATAL [zone] Unhandled asynchronous error
Concurrent modification during iteration: Instance(length:2) of '_GrowableList'.
#0      List.addAll (dart:core-patch/growable_array.dart:317)
#1      ProgressEngine._saveExerciseResult (package:testapp/features/training/domain/runtime/engine/progress_engine.dart:474)
#2      ProgressEngine._moveToNextExerciseOrFinish (package:testapp/features/training/domain/runtime/engine/progress_engine.dart:380)
#3      ProgressEngine.startSet (package:testapp/features/training/domain/runtime/engine/progress_engine.dart:359)
#4      RuntimeTrainingImpl.onStartSet (package:testapp/features/training/domain/runtime/runtime_training_impl.dart:122)
#5      new TrainingCoordinatorBloc.<anonymous closure> (package:testapp/features/training/presentation/bloc/conducting_training/%20training_coordinator/training_coordinator_bloc.dart:57)
#6      Bloc.on.<anonymous closure>.handleEvent (package:bloc/src/bloc.dart:226)
#7      Bloc.on.<anonymous closure> (package:bloc/src/bloc.dart:237)
#8      _MapStream._handleData (dart:async/stream_pipe.dart:247)
#9      _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:184)
#10     _rootRunUnary (dart:async/zone_root.dart:48)
#11     _CustomZone.runUnary (dart:async/zone.dart:816)
#12     _CustomZone.runUnaryGuarded (dart:async/zone.dart:710)
#13     CastStreamSubscription._onData (dart:_internal/async_cast.dart:95)
#14     _rootRunUnary (dart:async/zone_root.dart:48)
#15     _CustomZone.runUnary (dart:async/zone.dart:816)
#16     _CustomZone.runUnaryGuarded (dart:async/zone.dart:710)
#17     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#18     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:312)
#19     _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:154)
#20     _WhereStream._handleData (dart:async/stream_pipe.dart:229)
#21     _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:184)
#22     _rootRunUnary (dart:async/zone_root.dart:56)
#23     _CustomZone.runUnary (dart:async/zone.dart:816)
#24     _CustomZone.runUnaryGuarded (dart:async/zone.dart:710)
#25     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#26     _DelayedData.perform (dart:async/stream_impl.dart:573)
#27     _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#28     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#29     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#30     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
INFO [console] ANGLE_RESEARCH: recording closed, files in /storage/emulated/0/Android/data/team.most.rehabilitation.app/files/angle_research
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result
INFO [console] [DIO] method: POST
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] content-type: multipart/form-data
INFO [console] [DIO] Authorization: Bearer 871|PmxXjqisIoLl9QddoqMRX94JBHoxtlUfNEg1OIA53eb65bc6
INFO [console] [DIO] data:
INFO [console] [DIO] Instance of 'FormData'
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 06 Oct 2026 11:21:58 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-10-06T11:21:58.026955Z","request_id":"a0176489-b02e-441e-a62e-6dc7f170222b","version":"v1"},"data":{"results":[{"id":101,"sequence_number":"1","completion_status":"completed","score_percent":null,"score_interpretation":"evaluated_by_doctor","exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01M31YCJW3RQPCZCECRBEYH726.png","instruction":{"exercise_name":"Тест скрининг","video":"https://rehabilitation.most.team/storage/exercise/videos/01M31YCJW5APG6WCD26WF9N82P.mov","inventory":"Сантиметровая лента","warning":"Вы можете чувствовать легкий дискомфорт или терпимую боль в колене, если боль стала умеренной, то прекратите выполнение упражнение или уменьшите угол сгибания. ","general_description":"В исходном положении лежа на спине максимально согните рабочую ногу, подводя пятку к ягодице ","steps":[{"exercise_id":101,"sequence_number":1,"step_text":"Лягте на твердую и ровную поверхность. Вы должны быть повернутым боком рабочей ноги к камере (рабочая нога - та, которую вы будете сгибать)."},{"exercise_id":101,"sequence_number":2,"step_text":"Руки разместите в удобном положении, которое обеспечивает устойчивость. "},{"exercise_id":101,"sequence_number":3,"step_text":"Если рабочая нога является оперированной/поврежденной, то вы можете согнуть здоровую ногу для большей устойчивости в пояснице. "},{"exercise_id":101,"sequence_number":4,"step_text":"Сгибайте колено рабочей ноги до тех пор, пока не почувствуете лёгкое натяжение или терпимый дискомфорт в передней или внутренней части колена. Острой боли быть не должно."},{"exercise_id":101,"sequence_number":5,"step_text":"Удерживайте максимальное согнутое положение в колене, пятка на полу и близится к ягодице. При этом не задерживайте дыхание."}],"measurement":null}}],"workout_id":192,"workout_duration_start":10,"workout_duration_end":20,"phase_complete_request_status":"wait_for_viewing"}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-06T11:21:58.026955Z, request_id: a0176489-b02e-441e-a62e-6dc7f170222b, version: v1}, data: {results: [{id: 101, sequence_number: 1, completion_status: completed, score_percent: null, score_interpretation: evaluated_by_doctor, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01M31YCJW3RQPCZCECRBEYH726.png, instruction: {exercise_name: Тест скрининг, video: https://rehabilitation.most.team/storage/exercise/videos/01M31YCJW5APG6WCD26WF9N82P.mov, inventory: Сантиметровая лента, warning: Вы можете чувствовать легкий дискомфорт или терпимую боль в колене, если боль стала умеренной, то прекратите выполнение упражнение или уменьшите угол сгибания. , general_description: В исходном положении лежа на спине максимально согните рабочую ногу, подводя пятку к ягодице , steps: [{exercise_id: 101, sequence_number: 1, step_text: Лягте на твердую и ровную поверхность. Вы должны быть повернутым боком рабочей ноги к камере (
INFO [console] рабочая нога - та, которую вы будете сгибать).}, {exercise_id: 101, sequence_number: 2, step_text: Руки разместите в удобном положении, которое обеспечивает устойчивость. }, {exercise_id: 101, sequence_number: 3, step_text: Если рабочая нога является оперированной/поврежденной, то вы можете согнуть здоровую ногу для большей устойчивости в пояснице. }, {exercise_id: 101, sequence_number: 4, step_text: Сгибайте колено рабочей ноги до тех пор, пока не почувствуете лёгкое натяжение или терпимый дискомфорт в передней или внутренней части колена. Острой боли быть не должно.}, {exercise_id: 101, sequence_number: 5, step_text: Удерживайте максимальное согнутое положение в колене, пятка на полу и близится к ягодице. При этом не задерживайте дыхание.}], measurement: null}}], workout_id: 192, workout_duration_start: 10, workout_duration_end: 20, phase_complete_request_status: wait_for_viewing}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result?unit_id=1391&rehabilitation_day_id=3763&workout_id=192
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 871|PmxXjqisIoLl9QddoqMRX94JBHoxtlUfNEg1OIA53eb65bc6
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result?unit_id=1391&rehabilitation_day_id=3763&workout_id=192
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 06 Oct 2026 11:21:58 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-10-06T11:21:58.165587Z","request_id":"65de1af7-f871-476d-b1ad-23bc1044450c","version":"v1"},"data":{"results":[{"id":101,"sequence_number":1,"completion_status":"completed","score_percent":null,"score_interpretation":"evaluated_by_doctor","exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01M31YCJW3RQPCZCECRBEYH726.png","instruction":{"exercise_name":"Тест скрининг","video":"https://rehabilitation.most.team/storage/exercise/videos/01M31YCJW5APG6WCD26WF9N82P.mov","inventory":"Сантиметровая лента","warning":"Вы можете чувствовать легкий дискомфорт или терпимую боль в колене, если боль стала умеренной, то прекратите выполнение упражнение или уменьшите угол сгибания. ","general_description":"В исходном положении лежа на спине максимально согните рабочую ногу, подводя пятку к ягодице ","steps":[{"exercise_id":101,"sequence_number":1,"step_text":"Лягте на твердую и ровную поверхность. Вы должны быть повернутым боком рабочей ноги к камере (рабочая нога - та, которую вы будете сгибать)."},{"exercise_id":101,"sequence_number":2,"step_text":"Руки разместите в удобном положении, которое обеспечивает устойчивость. "},{"exercise_id":101,"sequence_number":3,"step_text":"Если рабочая нога является оперированной/поврежденной, то вы можете согнуть здоровую ногу для большей устойчивости в пояснице. "},{"exercise_id":101,"sequence_number":4,"step_text":"Сгибайте колено рабочей ноги до тех пор, пока не почувствуете лёгкое натяжение или терпимый дискомфорт в передней или внутренней части колена. Острой боли быть не должно."},{"exercise_id":101,"sequence_number":5,"step_text":"Удерживайте максимальное согнутое положение в колене, пятка на полу и близится к ягодице. При этом не задерживайте дыхание."}],"measurement":null}}],"workout_id":192,"workout_duration_start":10,"workout_duration_end":20,"phase_complete_request_status":"wait_for_viewing"}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-06T11:21:58.165587Z, request_id: 65de1af7-f871-476d-b1ad-23bc1044450c, version: v1}, data: {results: [{id: 101, sequence_number: 1, completion_status: completed, score_percent: null, score_interpretation: evaluated_by_doctor, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01M31YCJW3RQPCZCECRBEYH726.png, instruction: {exercise_name: Тест скрининг, video: https://rehabilitation.most.team/storage/exercise/videos/01M31YCJW5APG6WCD26WF9N82P.mov, inventory: Сантиметровая лента, warning: Вы можете чувствовать легкий дискомфорт или терпимую боль в колене, если боль стала умеренной, то прекратите выполнение упражнение или уменьшите угол сгибания. , general_description: В исходном положении лежа на спине максимально согните рабочую ногу, подводя пятку к ягодице , steps: [{exercise_id: 101, sequence_number: 1, step_text: Лягте на твердую и ровную поверхность. Вы должны быть повернутым боком рабочей ноги к камере (
INFO [console] рабочая нога - та, которую вы будете сгибать).}, {exercise_id: 101, sequence_number: 2, step_text: Руки разместите в удобном положении, которое обеспечивает устойчивость. }, {exercise_id: 101, sequence_number: 3, step_text: Если рабочая нога является оперированной/поврежденной, то вы можете согнуть здоровую ногу для большей устойчивости в пояснице. }, {exercise_id: 101, sequence_number: 4, step_text: Сгибайте колено рабочей ноги до тех пор, пока не почувствуете лёгкое натяжение или терпимый дискомфорт в передней или внутренней части колена. Острой боли быть не должно.}, {exercise_id: 101, sequence_number: 5, step_text: Удерживайте максимальное согнутое положение в колене, пятка на полу и близится к ягодице. При этом не задерживайте дыхание.}], measurement: null}}], workout_id: 192, workout_duration_start: 10, workout_duration_end: 20, phase_complete_request_status: wait_for_viewing}}
INFO [console] Request query: {start_date: 2026-09-28, end_date: 2026-11-01}
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-09-28&end_date=2026-11-01
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 871|PmxXjqisIoLl9QddoqMRX94JBHoxtlUfNEg1OIA53eb65bc6
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-09-28&end_date=2026-11-01
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 06 Oct 2026 11:37:15 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-10-06T11:37:15.057176Z","request_id":"bdffb550-7cde-413a-86d1-3808e98248e9","version":"v1"},"data":{"start_rehab":"2026-10-01 00:00:00","end_rehab":"2026-10-07 00:00:00","days":[{"date":"2026-10-01","status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-10-02","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-10-05","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-10-06","status":["first_control"],"training":[{"mode":"screening_test","status":"completed","progress":null}]},{"date":"2026-10-07","status":["end"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-06T11:37:15.057176Z, request_id: bdffb550-7cde-413a-86d1-3808e98248e9, version: v1}, data: {start_rehab: 2026-10-01 00:00:00, end_rehab: 2026-10-07 00:00:00, days: [{date: 2026-10-01, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-10-02, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-10-05, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-10-06, status: [first_control], training: [{mode: screening_test, status: completed, progress: null}]}, {date: 2026-10-07, status: [end], training: [{mode: correction_unit, status: not_done, progress: null}]}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-10-06
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 871|PmxXjqisIoLl9QddoqMRX94JBHoxtlUfNEg1OIA53eb65bc6
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-10-06
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 06 Oct 2026 11:37:15 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-10-06T11:37:15.163185Z","request_id":"81ace79b-5256-428c-ac7a-35d607316e94","version":"v1"},"data":{"rehabilitation_day_id":3763,"phase_id":476,"diagnosis_rehab":"Тест скрининг","start_rehab":"2026-10-01 00:00:00","end_rehab":"2026-10-07 00:00:00","name_rehab_phase":"Проверка скрининга","status":["first_control"],"recommendations_count":1,"date":"2026-10-06","training":[{"mode":"screening_test","status":"completed","progress":null,"unit_id":1391,"time":"10 - 20 мин","count_questions":1,"status_questions":false,"workout_id":192}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-06T11:37:15.163185Z, request_id: 81ace79b-5256-428c-ac7a-35d607316e94, version: v1}, data: {rehabilitation_day_id: 3763, phase_id: 476, diagnosis_rehab: Тест скрининг, start_rehab: 2026-10-01 00:00:00, end_rehab: 2026-10-07 00:00:00, name_rehab_phase: Проверка скрининга, status: [first_control], recommendations_count: 1, date: 2026-10-06, training: [{mode: screening_test, status: completed, progress: null, unit_id: 1391, time: 10 - 20 мин, count_questions: 1, status_questions: false, workout_id: 192}]}}
INFO [console] 🎵 VideoPlaybackService: Нативный плеер полностью уничтожен.
INFO [console] VideoOutput.Resize
INFO [console] {rect: {top: 0, left: 0, width: 1920, height: 1080}, wid: 0, handle: -5476376626738268592, id: 0}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result?unit_id=1391&rehabilitation_day_id=3763&workout_id=192
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 871|PmxXjqisIoLl9QddoqMRX94JBHoxtlUfNEg1OIA53eb65bc6
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result?unit_id=1391&rehabilitation_day_id=3763&workout_id=192
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 06 Oct 2026 11:37:15 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-10-06T11:37:15.965858Z","request_id":"23007e75-4605-49df-ab2b-b76d20a0debd","version":"v1"},"data":{"results":[{"id":101,"sequence_number":1,"completion_status":"completed","score_percent":null,"score_interpretation":"evaluated_by_doctor","exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01M31YCJW3RQPCZCECRBEYH726.png","instruction":{"exercise_name":"Тест скрининг","video":"https://rehabilitation.most.team/storage/exercise/videos/01M31YCJW5APG6WCD26WF9N82P.mov","inventory":"Сантиметровая лента","warning":"Вы можете чувствовать легкий дискомфорт или терпимую боль в колене, если боль стала умеренной, то прекратите выполнение упражнение или уменьшите угол сгибания. ","general_description":"В исходном положении лежа на спине максимально согните рабочую ногу, подводя пятку к ягодице ","steps":[{"exercise_id":101,"sequence_number":1,"step_text":"Лягте на твердую и ровную поверхность. Вы должны быть повернутым боком рабочей ноги к камере (рабочая нога - та, которую вы будете сгибать)."},{"exercise_id":101,"sequence_number":2,"step_text":"Руки разместите в удобном положении, которое обеспечивает устойчивость. "},{"exercise_id":101,"sequence_number":3,"step_text":"Если рабочая нога является оперированной/поврежденной, то вы можете согнуть здоровую ногу для большей устойчивости в пояснице. "},{"exercise_id":101,"sequence_number":4,"step_text":"Сгибайте колено рабочей ноги до тех пор, пока не почувствуете лёгкое натяжение или терпимый дискомфорт в передней или внутренней части колена. Острой боли быть не должно."},{"exercise_id":101,"sequence_number":5,"step_text":"Удерживайте максимальное согнутое положение в колене, пятка на полу и близится к ягодице. При этом не задерживайте дыхание."}],"measurement":null}}],"workout_id":192,"workout_duration_start":10,"workout_duration_end":20,"phase_complete_request_status":"wait_for_viewing"}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-06T11:37:15.965858Z, request_id: 23007e75-4605-49df-ab2b-b76d20a0debd, version: v1}, data: {results: [{id: 101, sequence_number: 1, completion_status: completed, score_percent: null, score_interpretation: evaluated_by_doctor, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01M31YCJW3RQPCZCECRBEYH726.png, instruction: {exercise_name: Тест скрининг, video: https://rehabilitation.most.team/storage/exercise/videos/01M31YCJW5APG6WCD26WF9N82P.mov, inventory: Сантиметровая лента, warning: Вы можете чувствовать легкий дискомфорт или терпимую боль в колене, если боль стала умеренной, то прекратите выполнение упражнение или уменьшите угол сгибания. , general_description: В исходном положении лежа на спине максимально согните рабочую ногу, подводя пятку к ягодице , steps: [{exercise_id: 101, sequence_number: 1, step_text: Лягте на твердую и ровную поверхность. Вы должны быть повернутым боком рабочей ноги к камере (
INFO [console] рабочая нога - та, которую вы будете сгибать).}, {exercise_id: 101, sequence_number: 2, step_text: Руки разместите в удобном положении, которое обеспечивает устойчивость. }, {exercise_id: 101, sequence_number: 3, step_text: Если рабочая нога является оперированной/поврежденной, то вы можете согнуть здоровую ногу для большей устойчивости в пояснице. }, {exercise_id: 101, sequence_number: 4, step_text: Сгибайте колено рабочей ноги до тех пор, пока не почувствуете лёгкое натяжение или терпимый дискомфорт в передней или внутренней части колена. Острой боли быть не должно.}, {exercise_id: 101, sequence_number: 5, step_text: Удерживайте максимальное согнутое положение в колене, пятка на полу и близится к ягодице. При этом не задерживайте дыхание.}], measurement: null}}], workout_id: 192, workout_duration_start: 10, workout_duration_end: 20, phase_complete_request_status: wait_for_viewing}}
$
250 строкUTF-8LIVE