cozyclay 3.0.3 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/INSTALL_FOR_AGENTS.md +146 -0
  3. package/README.md +74 -192
  4. package/THIRD_PARTY_NOTICES.md +0 -21
  5. package/bin/agent/agent-routes.mjs +22 -56
  6. package/bin/agent/agent-runner.mjs +5 -3
  7. package/bin/agent/main-agent.mjs +70 -0
  8. package/bin/agent/main-prompt.mjs +17 -0
  9. package/bin/agent/session-store.mjs +2 -2
  10. package/bin/agent/studio-prompt.mjs +1 -1
  11. package/bin/agent/studio-task-routes.mjs +185 -0
  12. package/bin/agent/studio-tasks.mjs +156 -0
  13. package/bin/agent/studio-tools.mjs +3 -2
  14. package/bin/agent/studio-turn-transaction.mjs +76 -0
  15. package/bin/cozyclay.mjs +5 -7
  16. package/dist/app/index.html +7 -6
  17. package/dist/assets/TaskBoard-DdDXMgZm.js +1 -0
  18. package/dist/assets/app-B2BpfCl2.js +5088 -0
  19. package/dist/assets/app-BlwOpest.css +1 -0
  20. package/dist/assets/compile-worker-D0pKioa0.js +5 -0
  21. package/dist/assets/landing-y3EqDgSZ.js +1 -0
  22. package/dist/assets/modulepreload-polyfill-P2Xu9kJm.js +1 -0
  23. package/dist/assets/motion3-compile-B887n77J.js +1 -0
  24. package/dist/assets/scene-asset-sync-COGOlF5T.css +1 -0
  25. package/dist/assets/scene-asset-sync-CQzEdsqu.js +13 -0
  26. package/dist/assets/task-board-BKaM7d-9.js +14 -0
  27. package/dist/assets/workflow-B8Dhzexj.js +179 -0
  28. package/dist/assets/x-bot-tpose-body-BusyR3eg.json +1 -0
  29. package/dist/assets/y-bot-tpose-body-Dy1VKChZ.json +1 -0
  30. package/dist/cozyclay-package.json +1 -1
  31. package/dist/greybox-to-video/index.html +2 -3
  32. package/dist/index.html +7 -57
  33. package/dist/llms.txt +2 -1
  34. package/dist/previs-software/index.html +2 -2
  35. package/dist/privacy/index.html +3 -7
  36. package/dist/seedance-camera-control/index.html +2 -2
  37. package/dist/sitemap.xml +5 -5
  38. package/dist/sw.js +5 -1
  39. package/dist/thumbs/blank-stage-dark.webp +0 -0
  40. package/dist/thumbs/blank-stage-light.webp +0 -0
  41. package/dist/workflow/index.html +5 -4
  42. package/mcp/mesh-file.mjs +3 -1
  43. package/mcp/server.mjs +3 -0
  44. package/package.json +3 -3
  45. package/src/App.jsx +50 -281
  46. package/src/analytics.js +3 -148
  47. package/src/app-stage.jsx +1 -1
  48. package/src/asset-pane.jsx +5 -10
  49. package/src/auto-flat.js +10 -0
  50. package/src/bus-tasks.js +11 -5
  51. package/src/command-bus.js +1 -1
  52. package/src/commands/motion3-compile.js +51 -27
  53. package/src/commands/motion3.js +3 -3
  54. package/src/commands/project.js +1 -1
  55. package/src/commands/shot.js +16 -4
  56. package/src/controls.jsx +0 -11
  57. package/src/cuts.js +11 -0
  58. package/src/domains/cast.js +3 -2
  59. package/src/domains/motion.js +3 -10
  60. package/src/domains/playback.js +32 -0
  61. package/src/domains/scenes.js +3 -22
  62. package/src/domains/shots.js +5 -5
  63. package/src/dualview.jsx +11 -15
  64. package/src/hierarchy-panel.css +18 -4
  65. package/src/hierarchy-panel.jsx +12 -11
  66. package/src/kits/held.js +3 -2
  67. package/src/light-blockers.js +2 -2
  68. package/src/main.jsx +5 -0
  69. package/src/motion/ground.js +5 -14
  70. package/src/motion/playback-frame-store.js +79 -0
  71. package/src/motion/playback-probe.js +16 -0
  72. package/src/motion/playback-subject.js +7 -0
  73. package/src/motion/timeline.css +43 -5
  74. package/src/motion/timeline.jsx +4 -3
  75. package/src/motion3/body.js +37 -5
  76. package/src/motion3/carried.js +11 -3
  77. package/src/motion3/compile-job.js +1 -1
  78. package/src/motion3/compiler/compile.js +7 -1
  79. package/src/motion3/compiler/finger-close.js +137 -0
  80. package/src/motion3/compiler/limbs.js +18 -3
  81. package/src/motion3/compiler/pose.js +6 -0
  82. package/src/motion3/compiler/validate-objects.js +17 -2
  83. package/src/motion3/compiler/validate-parts.js +2 -1
  84. package/src/motion3/compiler/vocab.js +4 -4
  85. package/src/motion3/describe.js +2 -2
  86. package/src/motion3/fix/index.js +5 -3
  87. package/src/motion3/flight.js +38 -0
  88. package/src/motion3/free-motion.js +10 -7
  89. package/src/motion3/load.js +125 -0
  90. package/src/motion3/mass.js +23 -0
  91. package/src/motion3/object-keys.js +11 -6
  92. package/src/motion3/object-pose.js +11 -3
  93. package/src/motion3/pipeline.js +3 -0
  94. package/src/motion3/qa/explain.js +3 -1
  95. package/src/motion3/qa/grasp-checks.js +123 -0
  96. package/src/motion3/qa/hints-grasp.js +71 -0
  97. package/src/motion3/qa/index.js +3 -1
  98. package/src/motion3/qa/object-checks.js +7 -2
  99. package/src/motion3/qa/patch.js +2 -1
  100. package/src/motion3/qa/spec-checks.js +10 -1
  101. package/src/motion3/schema/fields.js +3 -3
  102. package/src/motion3/schema/topics.js +9 -8
  103. package/src/motion3/schema/types.js +4 -1
  104. package/src/motion3/seat.js +84 -0
  105. package/src/motion3/settle.js +11 -6
  106. package/src/motion3/shapes.js +70 -0
  107. package/src/motion3/skills/catch.js +71 -0
  108. package/src/motion3/skills/index.js +10 -3
  109. package/src/motion3/skills/info.js +13 -0
  110. package/src/motion3/skills/throw.js +72 -0
  111. package/src/object-catalog.jsx +0 -4
  112. package/src/object-gizmo.jsx +2 -1
  113. package/src/object-path.js +1 -1
  114. package/src/panels/ProjectPanel.jsx +42 -21
  115. package/src/panels/details.css +15 -4
  116. package/src/popover.js +37 -0
  117. package/src/posestudio.jsx +15 -10
  118. package/src/project-browser-art.jsx +19 -0
  119. package/src/project-browser.css +74 -121
  120. package/src/project-browser.jsx +36 -60
  121. package/src/props.jsx +4 -7
  122. package/src/retired-kinds.js +37 -0
  123. package/src/scene-objects.js +3 -7
  124. package/src/scenes.js +4 -5
  125. package/src/settings-menu.jsx +1 -20
  126. package/src/shell/BottomDock.jsx +9 -9
  127. package/src/shell/MenuBar.jsx +1 -9
  128. package/src/shell/PreferencesDialog.jsx +3 -4
  129. package/src/shell/ViewportToolbar.jsx +3 -3
  130. package/src/shell/add-camera-shot.js +11 -0
  131. package/src/shell/glass-regions.css +3 -2
  132. package/src/shell/glass.css +0 -5
  133. package/src/shell/lens-scrub-math.js +51 -0
  134. package/src/shell/lens-scrub.css +73 -0
  135. package/src/shell/lens-scrub.jsx +98 -0
  136. package/src/shell/mode.css +6 -5
  137. package/src/shell/preferences.css +1 -32
  138. package/src/shell/shell.css +18 -1
  139. package/src/shell/studio-shell-context.js +5 -0
  140. package/src/shot-frame.js +26 -0
  141. package/src/stage-canvas-rigs.jsx +7 -8
  142. package/src/stage-characters.jsx +26 -0
  143. package/src/stage-gizmo.js +43 -0
  144. package/src/stage-labels-ko.js +0 -6
  145. package/src/stage-startup-defaults.js +3 -9
  146. package/src/starter-scenes.js +5 -11
  147. package/src/studio-agent-commands.js +2 -2
  148. package/src/studio-agent-protocol.js +2 -7
  149. package/src/studio-app-binding.js +1 -1
  150. package/src/studio-elements.js +1 -1
  151. package/src/styles/themes.css +13 -0
  152. package/src/styles.css +6 -674
  153. package/src/text/text-object.jsx +1 -1
  154. package/src/ui.jsx +8 -16
  155. package/src/use-embed-bridge.js +3 -6
  156. package/src/use-render-activity.js +3 -1
  157. package/src/view-ghosts.jsx +5 -3
  158. package/src/viewport-visible-rect.js +37 -0
  159. package/src/workflow/AgentPanel.jsx +75 -42
  160. package/src/workflow/AgentProgressCard.jsx +1 -1
  161. package/src/workflow/TaskBoard.jsx +102 -0
  162. package/src/workflow/TaskInline.jsx +114 -0
  163. package/src/workflow/agent-client.js +11 -25
  164. package/src/workflow/agent-panel.css +14 -1
  165. package/src/workflow/attachment-image.js +10 -3
  166. package/src/workflow/attachment-video.js +91 -0
  167. package/src/workflow/task-board.css +98 -0
  168. package/src/workflow/task-board.js +169 -0
  169. package/tools/check-eslint.mjs +2 -1
  170. package/tools/check-knip.mjs +2 -1
  171. package/tools/dev/pages/greybox-to-video.html +2 -3
  172. package/tools/dev/pages/previs-software.html +2 -2
  173. package/tools/dev/pages/privacy.html +3 -7
  174. package/tools/dev/pages/seedance-camera-control.html +2 -2
  175. package/tools/dev-full.mjs +11 -2
  176. package/tools/eslint-baseline.json +6 -6
  177. package/tools/knip-baseline.json +0 -11
  178. package/tools/loc-baseline.json +30 -31
  179. package/tools/metrics-snapshot.mjs +43 -5
  180. package/tools/render-start-thumbs.mjs +175 -0
  181. package/tools/run-tests.mjs +7 -14
  182. package/tools/sitemap.mjs +1 -1
  183. package/dist/assets/analytics-BibyE5ar.js +0 -6
  184. package/dist/assets/app-DhRJ-PBz.js +0 -5088
  185. package/dist/assets/app-f-fkV5uP.css +0 -1
  186. package/dist/assets/compile-worker-DqiA4AaN.js +0 -5
  187. package/dist/assets/first-shot-handoff-Qx7SKl38.js +0 -1
  188. package/dist/assets/landing-DYg87MDY.js +0 -1
  189. package/dist/assets/scene-asset-sync-DBYQBR0T.js +0 -20
  190. package/dist/assets/scene-asset-sync-_S8NQl5B.css +0 -1
  191. package/dist/assets/workflow-BSA22Ofr.js +0 -179
  192. package/dist/scenes/city-block.cclayproject +0 -1
  193. package/src/burn-in.js +0 -91
  194. package/src/camera-tutorial.jsx +0 -520
  195. package/src/facing-marks.js +0 -88
  196. package/src/first-shot-handoff.js +0 -44
  197. package/src/panels/motion.css +0 -197
  198. package/src/set-pieces.jsx +0 -183
  199. package/src/tutorial-analytics.js +0 -86
  200. package/src/tutorial-walk.js +0 -17
  201. package/src/use-camera-tutorial.js +0 -50
  202. package/src/use-semantic-state.js +0 -12
  203. package/tools/metrics/archive-traffic.mjs +0 -138
  204. package/tools/perf/ik-camera-drag.mjs +0 -138
@@ -1,5 +0,0 @@
1
- (function(){let e=(e,t)=>[e[0]+t[0],e[1]+t[1],e[2]+t[2]],t=(e,t)=>[e[0]-t[0],e[1]-t[1],e[2]-t[2]],n=(e,t)=>[e[0]*t,e[1]*t,e[2]*t],r=(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],i=(e,t)=>[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]],a=e=>Math.hypot(e[0],e[1],e[2]),o=(e,n)=>a(t(e,n));function s(e){let t=a(e);return t>1e-12?[e[0]/t,e[1]/t,e[2]/t]:[0,0,0]}let c=(e,t,n)=>Math.min(n,Math.max(t,e)),l=e=>e*Math.PI/180,u=e=>e*180/Math.PI,d=()=>[[1,0,0],[0,1,0],[0,0,1]];function f(e,t){let n=[[0,0,0],[0,0,0],[0,0,0]];for(let r=0;r<3;r++)for(let i=0;i<3;i++)n[r][i]=e[r][0]*t[0][i]+e[r][1]*t[1][i]+e[r][2]*t[2][i];return n}let p=(e,t)=>[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]],m=e=>[[e[0][0],e[1][0],e[2][0]],[e[0][1],e[1][1],e[2][1]],[e[0][2],e[1][2],e[2][2]]],h=(e,t,n)=>[[e[0],t[0],n[0]],[e[1],t[1],n[1]],[e[2],t[2],n[2]]];function g(e){let t=l(e),n=Math.cos(t),r=Math.sin(t);return[[1,0,0],[0,n,-r],[0,r,n]]}function _(e){let t=l(e),n=Math.cos(t),r=Math.sin(t);return[[n,0,r],[0,1,0],[-r,0,n]]}function v(e){let t=l(e),n=Math.cos(t),r=Math.sin(t);return[[n,-r,0],[r,n,0],[0,0,1]]}function y(e,t){let[n,r,i]=s(e),a=l(t),o=Math.cos(a),c=Math.sin(a),u=1-o;return[[o+n*n*u,n*r*u-i*c,n*i*u+r*c],[r*n*u+i*c,o+r*r*u,r*i*u-n*c],[i*n*u-r*c,i*r*u+n*c,o+i*i*u]]}function b(e,o){let c=s(e),l=t(o,n(c,r(o,c)));return a(l)<1e-9&&(l=t([0,1,0],n(c,c[1])),a(l)<1e-9&&(l=t([1,0,0],n(c,c[0])))),l=s(l),h(c,l,i(c,l))}let x=(e,t,n,r)=>f(b(n,r),m(b(e,t)));function S(e){let t=e[0][0],n=e[1][1],r=e[2][2],i=t+n+r,a,o,s,c;if(i>0){let t=.5/Math.sqrt(i+1);c=.25/t,a=(e[2][1]-e[1][2])*t,o=(e[0][2]-e[2][0])*t,s=(e[1][0]-e[0][1])*t}else if(t>n&&t>r){let i=2*Math.sqrt(1+t-n-r);c=(e[2][1]-e[1][2])/i,a=.25*i,o=(e[0][1]+e[1][0])/i,s=(e[0][2]+e[2][0])/i}else if(n>r){let i=2*Math.sqrt(1+n-t-r);c=(e[0][2]-e[2][0])/i,a=(e[0][1]+e[1][0])/i,o=.25*i,s=(e[1][2]+e[2][1])/i}else{let i=2*Math.sqrt(1+r-t-n);c=(e[1][0]-e[0][1])/i,a=(e[0][2]+e[2][0])/i,o=(e[1][2]+e[2][1])/i,s=.25*i}let l=Math.hypot(a,o,s,c);return[a/l,o/l,s/l,c/l]}function C([e,t,n,r]){return[[1-2*(t*t+n*n),2*(e*t-n*r),2*(e*n+t*r)],[2*(e*t+n*r),1-2*(e*e+n*n),2*(t*n-e*r)],[2*(e*n-t*r),2*(t*n+e*r),1-2*(e*e+t*t)]]}let w=(e,t)=>u(Math.acos(c(r(s(e),s(t)),-1,1))),T=.01;function E(e){let n=e.bones,r=n.map(e=>e.name),i=Object.fromEntries(r.map((e,t)=>[e,t])),a=n.map(e=>e.parent),o=r.map(()=>[]);a.forEach((e,t)=>{e>=0&&o[e].push(t)});let s=r.map((e,t)=>{let n=[],r=[t];for(;r.length;){let e=r.shift();n.push(e),r.unshift(...o[e])}return n}),c=n.map(e=>e.localPos.map(e=>e*T)),l=n.map(e=>C(e.localQuat)),u=n.map(e=>e.worldPos.map(e=>e*T)),d=n.map(e=>C(e.worldQuat)),f=e.landmarks,h=i.Head,g=e=>p(m(d[h]),t(e.map(e=>e*T),u[h])),_={mouth:g(f.mouth),headCentre:g(f.headEllipsoid.centre),headRadii:f.headEllipsoid.radii.map(e=>e*T),sole:{ball:(f.sole?.ball??0)*T,tip:(f.sole?.tip??0)*T}};return{model:e.model,names:r,index:i,parent:a,children:o,subtree:s,restLocalPos:c,restLocalRot:l,restWorldPos:u,restWorldRot:d,landmarks:_}}function D(e){return{P:e.restWorldPos.map(e=>e.slice()),R:e.restWorldRot.map(e=>e.map(e=>e.slice()))}}function O(n,r,i,a,o){for(let s of n.subtree[i])r.P[s]=e(a,p(o,t(r.P[s],a))),r.R[s]=f(o,r.R[s])}function k(e,t){return{quats:e.names.map((n,r)=>{let i=e.parent[r];return S(i<0?t.R[r]:f(m(t.R[i]),t.R[r]))}),hips:t.P[e.index.Hips].slice()}}let A=(t,n,r)=>e(t.P[n],p(t.R[n],r)),j=(e,t,n,r)=>p(t.R[n],p(m(e.restWorldRot[n]),r)),M=(e,t,n)=>Math.acos(c((n*n-e*e-t*t)/(2*e*t),-1,1))*180/Math.PI,N=(e,t,n)=>Math.sqrt(e*e+t*t+2*e*t*Math.cos(n*Math.PI/180));function P(e,t,n,r=145,i=150){let a=N(e,t,r);if(n>=a)return n;let o=a-N(e,t,i);return n>a-2*o?n+(a-n)*(a-n)/(4*o):a-o}function ee(i,o,c,l,u,d=145,f=150){let p=N(c,l,d),m=a(t(o,i));if(m>=p)return o;let h=P(c,l,m,d,f),g=n(u,N(c,l,f)),_=e(i,g),v=t(o,_),y=a(v)>1e-9?s(v):n(u,-1),b=r(y,g);return e(_,n(y,-b+Math.sqrt(Math.max(0,b*b-r(g,g)+h*h))))}let te=(e,t)=>j(e,t,e.index.Spine2??e.index.Hips,[0,0,-1]),ne=(e,t)=>j(e,t,e.index.Hips,[0,1,0]),F=(e,t,n)=>M(e,t,P(e,t,N(e,t,n)));function re(e,n,r,i,[o,s,c]=[`Arm`,`ForeArm`,`Hand`]){let l=n.P[e.index[`${r}${o}`]],u=n.P[e.index[`${r}${s}`]],d=n.P[e.index[`${r}${c}`]];return M(a(t(u,l)),a(t(d,u)),a(t(i,l)))}function I(e,n,o){let l=e.index[`${o}Arm`],u=e.index[`${o}ForeArm`],d=t(n.P[u],n.P[l]),f=t(n.P[e.index[`${o}Hand`]],n.P[u]),p=Math.acos(c(r(s(d),s(f)),-1,1))*180/Math.PI,m=i(d,f);p>145&&a(m)>1e-12&&O(e,n,u,n.P[u].slice(),y(m,F(a(d),a(f),p)-p))}let ie={elbow:[145,150,te],knee:[150,160,ne]};function ae(i,o,l,u,d,f,p,m,h=null){let g=o.P[l],_=o.P[u],v=o.P[d],y=a(t(_,g)),b=a(t(v,_)),S=ie[h],C=S?ee(g,f,y,b,S[2](i,o),S[0],S[1]):f,w=C===f?0:a(t(C,f)),T=t(C,g),E=a(T),D=n(T,1/Math.max(E,1e-9)),k=c(E,Math.abs(y-b)+1e-4,(y+b)*.9995),A=(y*y-b*b+k*k)/(2*k),M=Math.sqrt(Math.max(y*y-A*A,0)),N=s(t(p,n(D,r(p,D)))),P=e(g,e(n(D,A),n(N,M))),te=j(i,o,l,m);O(i,o,l,g.slice(),x(t(_,g),te,t(P,g),N));let ne=j(i,o,u,m),F=e(g,n(D,k));return O(i,o,u,o.P[u].slice(),x(t(o.P[d],o.P[u]),ne,t(F,o.P[u]),N)),w||E-k}function oe(e,n,r,i,o,s=null){let c=e.index[`${r}Foot`],l=e.index[`${r}ToeBase`],u=t(e.restWorldPos[l],e.restWorldPos[c]),d=s?p(s.R,p(_(i-s.yaw),p(g(o),u))):p(_(i),p(g(o),u)),f=s?p(s.R,[0,1,0]):[0,1,0];O(e,n,c,n.P[c].slice(),x(t(n.P[l],n.P[c]),j(e,n,c,[0,1,0]),d,f));let m=e.index[`${r}Toe_End`];if(!s&&o>0&&m!==void 0){let r=t(n.P[m],n.P[l]),i=[r[0],0,r[2]];a(i)>1e-6&&O(e,n,l,n.P[l].slice(),x(r,[0,1,0],i,[0,1,0]))}}function L(e,a,o){let c=e.index[`${o}Hand`],l=e.index[`${o}HandMiddle1`],u=s(t(a.P[l],a.P[c])),d=t(a.P[e.index[`${o}HandIndex1`]],a.P[e.index[`${o}HandPinky1`]]);return d=s(t(d,n(u,r(d,u)))),{d:u,l:d,n:i(u,d)}}function se(e,n,r,i){let a=e.index[`${r}Arm`],o=e.index[`${r}Hand`],s=y(t(n.P[o],n.P[a]),i);O(e,n,a,n.P[a].slice(),s),O(e,n,o,n.P[o].slice(),m(s))}function ce(e,i,a,o,l){if(!o&&!l)return;let u=e.index[`${a}Hand`],d=e.index[`${a}ForeArm`],f=s(t(i.P[u],i.P[d])),{l:p}=L(e,i,a),m=s(t(p,n(f,r(p,f))));O(e,i,u,i.P[u].slice(),y(m,c(l,-70,70))),O(e,i,u,i.P[u].slice(),y(f,c(o,-85,85)))}let le={relaxed:{Index:[12,18,10],Middle:[15,20,12],Ring:[18,22,12],Pinky:[20,24,14],Thumb:[15,10,8]},fist:{Index:[80,95,60],Middle:[85,95,60],Ring:[85,95,60],Pinky:[85,95,60],Thumb:[15,10,8]},grip:{Index:[55,60,35],Middle:[60,62,35],Ring:[62,62,35],Pinky:[65,62,35],Thumb:[15,10,8]},cigarette:{Index:[8,10,6],Middle:[10,12,8],Ring:[60,75,45],Pinky:[65,80,45],Thumb:[35,25,20]},point:{Index:[0,0,0],Middle:[80,95,60],Ring:[85,95,60],Pinky:[85,95,60],Thumb:[40,30,30]}};function ue(e,t,n,r){let i=le.relaxed,a=n===`Left`?-1:1,o=(e,t)=>i[e][t]+Object.entries(r??{}).reduce((n,[r,a])=>n+(a||0)*((le[r]?.[e]?.[t]??i[e][t])-i[e][t]),0);for(let r of[`Index`,`Middle`,`Ring`,`Pinky`,`Thumb`])for(let i=0;i<3;i++){let s=e.index[`${n}Hand${r}${i+1}`];if(s===void 0)continue;let{l:c,d:l}=L(e,t,n),u=r===`Thumb`&&i===0?l:c;O(e,t,s,t.P[s].slice(),y(u,a*o(r,i)))}let s=[0,1,2,3].map(e=>Object.entries(r??{}).reduce((t,[n,r])=>t+(r||0)*(de[n]?.[e]??0),0));s.some(Boolean)&&fe(e,t,n,s)}let de={fist:[-70,-5,5,80],grip:[-30,-30,30,10]};function fe(e,n,r,[a,o,c,l]){let u=r===`Left`?-1:1,d=t=>e.index[`${r}HandThumb${t}`];if(d(1)===void 0)return;let{d:f,n:p}=L(e,n,r);O(e,n,d(1),n.P[d(1)].slice(),y(f,u*a)),O(e,n,d(1),n.P[d(1)].slice(),y(p,o));for(let[r,a]of[[2,c],[3,l]]){let o=s(i(s(t(n.P[d(r+1)],n.P[d(r)])),p));O(e,n,d(r),n.P[d(r)].slice(),y(o,u*a))}}let pe=(e,t)=>[e[3]*t[0]+e[0]*t[3]+e[1]*t[2]-e[2]*t[1],e[3]*t[1]-e[0]*t[2]+e[1]*t[3]+e[2]*t[0],e[3]*t[2]+e[0]*t[1]-e[1]*t[0]+e[2]*t[3],e[3]*t[3]-e[0]*t[0]-e[1]*t[1]-e[2]*t[2]],me=e=>[-e[0],-e[1],-e[2],e[3]],he=(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3];function ge(e){let t=Math.hypot(e[0],e[1],e[2],e[3]);return t>1e-12?[e[0]/t,e[1]/t,e[2]/t,e[3]/t]:[0,0,0,1]}function _e(e){let t=e[3]<0?-1:1,n=e[0]*t,r=e[1]*t,i=e[2]*t,a=e[3]*t,o=Math.hypot(n,r,i);if(o<1e-12)return[2*n,2*r,2*i];let s=2*Math.atan2(o,a)/o;return[n*s,r*s,i*s]}function ve(e){let t=Math.hypot(e[0],e[1],e[2]);if(t<1e-12)return ge([e[0]/2,e[1]/2,e[2]/2,1]);let n=Math.sin(t/2)/t;return[e[0]*n,e[1]*n,e[2]*n,Math.cos(t/2)]}let ye=(e,t)=>pe(pe(e,[t[0],t[1],t[2],0]),me(e)).slice(0,3);function be(e,t){let n=1+e[0]*t[0]+e[1]*t[1]+e[2]*t[2];if(n>1e-9)return ge([e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0],n]);let r=Math.abs(e[0])<.9?[0,e[2],-e[1]]:[-e[2],0,e[0]],i=Math.hypot(...r);return[r[0]/i,r[1]/i,r[2]/i,0]}let xe=(e,t)=>{let n=t*Math.PI/360,r=Math.sin(n);return[e[0]*r,e[1]*r,e[2]*r,Math.cos(n)]},Se=(e,t,n)=>pe(e,ve(_e(pe(me(e),t)).map(e=>e*n))),Ce={"y-bot-tpose":{model:`y-bot-tpose`,step:.015,unit:`mm`,grids:JSON.parse(`{"LeftToeBase":{"min":[-0.1083,-0.0343,-0.0724],"dims":[14,12,11],"data":"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"},"LeftFoot":{"min":[-0.1062,-0.0914,-0.1519],"dims":[15,22,17],"data":"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R0xTW2RaU0xJRkU/ODQzNDc8Q0pSXFJKQz89PDYxKigpKzM6QktWSkE7NjQzMSslICAkKjM8RVBFOzItKyorJyEcGRsjLjdBTEA1LCckJCYlIBoXGR4pNT9KPzQrJCEhIiIgHBgXHSYzP0tANiwlIiAgIiIeGxoeKDI/TEQ5MColIyMkJSIeHSAmND5MSUA2MCspKCkpJSIfISozQU5QRj84MzAwMCsnJCAkLDdCUFhPSEE9OjkzLCgkISUuOENRYlpSTEdEOjErJiQhJS44RFFrY1xXTEE3LicjIR8iKzRCT3ZvaVZKPjMqIx8dHR4oMj9Mf29iVUg9MikhHRsbHiYxPUp/cGNVST0yKiMeHRsgJzI+S39yZVhLPzUsJiIhJCctOENOf3VpXVBGPTQvKigpLTQ+SFN/e29iWE5GPDUwLi8zOkJMV39/dmpgVkxEPTk3ODtDS1Nef39+c2heVU1HQ0FCRktTW2VtaWReW1hSTEhISUxRVVtkbGNcWFRSUEpCPzw+QUZNU1xlWlROSklIQz02NDM4PkRMVV5UTEVCQEA+ODMtLS42PEdQWU5FPzo4ODk1LyooKjA2QktWSkI7NTMyNDMuKSYnLDY9SlRJQDgzMDAxMS4qJyUrMz1IVUpCOTIwLy8xMC0oKSsyPUhTTkU9NjMxMjMzMCwsLTQ9SVRSSUI8OTc2Nzc0MC4xNj9KVllQSkQ/PT09OTYyMDM4QUxYYVlRTEhFRUA6NjMwNDpDTVhpYlxVUk9GPjg1MjE0OEJNWXNrZWFWS0M7NTEvLjI2QElWfXZwX1NIPzcxLSwrLTM9R1R/dmpdUkY9NS8rKiorMjpGUX94al5SRz42MCwrKy8yPUdTf3lsYFRKQTo0MDEvMjlAS1Z/fXBlWlBIQTw3Njc6QEhRXH9/dWpfV09HQT07PEBGTVZgf398cWdfVk9IRENER0xUXWV/f395cGZeVlFOTE1RVVtjbXZxbGlnY11XVFNTVlpgZm11bmdiYF5bVU9LSUlMUVdeZm9lX1pWVFVQSkVBQUJIT1hfaV9XUU5NTExFQDw6PEJJUVtkWlFLSEVGR0I9ODY4PERMV2BXTkhDQUFCQTs3NDU6QUpUXlRNRUFAP0BAPDg2Nzk+SFJdV01GQj8+P0A/Ozc3OT9IUl1ZUEpGQkFBQkI/Ozo7QUhSXl5WT0lFREVFRUI+PT9ESlNfY1xUT0xKSUtHREE/QEZMVWFqY1xXVVJRTUhFQkBCRk9XYnJrZmFdWlJLRkNBP0JHT1die3RvamJXT0hCPz49QERLVF5/f3RoXlRLRT87Ozo8QEhSXX9/cmddUktDPTk4OTs/R1Fbf39zZ11TS0M+Ozo6PUJJUlx/f3VpX1ZNR0I+PT9BRUtVX39/eG5kWlNNSEZERUdLUltkf399c2phWlNOSklKTVFZYWp/f395cWlhWlVRUFBTWF5mcH9/f395b2hhXVlYWVtfZm52"},"RightToeBase":{"min":[-0.0781,-0.0343,-0.0724],"dims":[14,12,11],"data":"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"},"RightFoot":{"min":[-0.0907,-0.0914,-0.1519],"dims":[15,22,17],"data":"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VltgZ3BnX1pWUk9MSktJSElNUVhgaF9XUk1KR0NBQEA/QUVKUVljWFBJRUJAPDg3OTo7PkRLVF1US0M+Ozk3MjEzNTY7QEdQWlBGPzg1NDMvLCswNTg+Rk9ZTUU7NTIwLy0pKS0yOT9GTlhMQjk0MS4uLSkoKzA4QElRW05DPDQvLS0tKSgqMTlDTVVeUUY9NzIuLiwoJygwOEFNWGNWSkI6NTIuKiYjJy43Q0xYY1tSSEE8My0nIiAjKzZBTFhkY1hQR0AyKiQfHCAoMz5LV2NpYVdGPDAoIh0WHSQxQElVYnJnXUc6LycgGhQaJC8+R1RheG1kSDwwJx8ZFhkjLT1IU2B/dWxLPjIpIBsZGiEsPkhUYH9pW05CNi0lIB0eJi9BS1Vjf21gUkg9MysnJiksNUZQW2d/c2ZZTkM9NjIyMzo/SVNhbX95bWFXTUZBPj9BRUtTXGl0f391amFYUk1MTE5SV15mdn55c25qZ2RhX2BeXV5hZmpyeXFsZmJeW1hWVVVWVlhdYmt1aWRdWVZUUE1NTk1OUlZdZW5kXlZSUE1KRkVHSElNUVhgal9WUUxIR0VAP0BCRUhOVF1mXFNMSENCQT07Oj1DRk1SW2RaUUlDQD4+Ozg6O0FHTFNbZVhQR0I/PT07ODc5PkVOVV5nWFBJQj48PDs4Nzk/RU5YYmxcUUtDQD08Ozc2Nz1FTldibV5WT0lDQD04NDI1PENMV2FtZFxTTEhBOjUwLzE4QEtWYW1rYVpQRz44Mi4qLjU9SFNhbHJqYFFFPTYvKikqMTtGUV9qe3FoUUY8My4pKCgtOUNPXml/aV1RRTwzLSgmJyw3Qk5daX9sX1RJPjUuKCcoLjdBTV1pf25iVkxAODEtKy4xOkRQX2t/c2ZaUUY+NjQxNDdASFRkb394bGFWTkZBPDw+QkhRW2l0f35zaF9XT0pHR0hNU1picXt/f3txaGBZVlJSVVleZWx2f39+eXZzb2xra2lpa21wdnx/fXZxbWtoZGJhY2JjZWlvdn91b2llY2FdWlpbW1xfZGlweW9pZF9bW1hUU1RWV1teZGt0amNeWVZVU1BNTlBTV1thaXJmX1pWUlBQTElJTFFVWmBncGZdVlFPTU1KSEdKTlNaYGdwZVxVUE5MTElHRkdMU1lhanJlXlZQTEtLSUdGSExTWmNtdmdfWFJOTUtJRkVGS1FZY213amFcVlFOS0VDQUNIT1hhbXduZ19bVU5IQ0A9QEVNVV9td3VtZVtTS0VAPDg8QkpSXWx2fHNsWlJJQz05Nzc+RVBbanR/enJbUUhCOzc2NjtETlhpc39yZ1tRSEE7NzU1OkNMV2hyf3NpXlJJQzw5NTg8QkxXaHJ/dmtgVUxGPzo5Oz9ET1lqdH96b2VbUUpEQEBCRUpTXW54f390amBXUExJSElNUlljc31/f3pxaGBaVVFRU1VbYmt6f39/f3lxaWNeXFxdYWZtdH1/"},"RightLeg":{"min":[-0.1112,-0.1017,-0.1376],"dims":[16,39,18],"data":"f399dG1nYV1bWltcYWRrcXt/f391bGRfWFRRUFJTVltiaXN8f3lvZVxXUExISEpKTlNbYmx1fnRpX1dQSURBQUJDR05UXGZwem9lWlJLQz89Ojw+QklPV2JsdGpgV05HPzs5Njg5PkVLVF5pb2VbU0xFPTg3NDQ3O0NJUlxnbGJYTUY+Ojg2MzM2O0NIUVxnaV5USkE6NjM0NTU4PERKU11jZltQRz44MS4xNDg7P0ZMUVdeY1lPRDs0LCsuMTU6P0RITVNaYVZLQTgxKisuMDU5PEFGTFFZYFZKPzktKSgqLTE1OkBES1FYXlVIPjcsKSopLzA1Oj9ES1FZX1RIQDctKisrLTE2PEFGTFNbX1NJQTUwLS4tMzQ5PkNJT1VeYVVKQzoyMDAxNTg9QkdNUlpiY1hPRTs3NjU2Oj1BRkpRVl5mZVtSSD87Ozo7PkFFSE5UW2NraV5VS0VBQD9AQURHS1BVXmdybGJYUElGREJDREZJTFFYYWt2b2ZcU01LR0ZFRkhKTlNaZG55c2lfV1JNSkhHSElMT1VdZ3F7dmtjWlVPS0lISElMUVZganJ+d21kXVZQTUpISElNUVhia3R/dmxlXVVQTElISElNUVhianV/cmlhWlNOSkhHR0lMUVlia3Z/b2VdVk9KSEZFRUhLUFhia3Z/aWFYUktGREJCQkVITVZganV/Zl1VTEdEQD8+P0JFSlReaXN/Y1lRSkJAPDw7PD9CSFFbZ3J+YlhPR0E8Ozo5OjtBRlBbZXF8YVdPSEE8Ojk5Oj1AR1FbZXB8Y1hQSUE9Ozo6PD5BSFJcZXB9ZFpSTEVAPz49P0FFSlReZ3J9aF5WUEtGRURFRUhLUVlia3Z/bWRdV1FOTE1NT09SWGBncHt/dGxkX1pXWFZXWVlcYWdud39/fXRtaGVjYWJjZGVma3B3f39/f311bGNcV1NQT09SVlphaXB6f3ZtYlpUTUlGRUVHTVFYYWhyem9mXFJKREA8Ozs/REhQWWJrdWlfVExDPDg2MzU3OkFIU1xmb2VbUUY9NjItLS8wNDtDTVdhamBXTUI6Mi0rKCorLzc/SVReZltRRz83LyomJSUpLTQ9R1JcYlhNQjoyLSolJCQoLTM8R1JbX1RKPzUtKSUmJiYqLjU+R1BXXFFGOzIpIiAjJiotMjg/RUpSWk5DOC8mHhwhIycsMTU6QEZO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cmZdUUg/ODMyLzEyNj1FTldgb2NaT0Q7NC8sKisvN0A+RVBZbGFVSkA2LicjIyUoMTc4QEpUaFxRRTswJyEgHyIlKjI2PUdQY1hNQTctIRwdHCAkKTE0PURPX1RJPjMpHhkcGx8kKTE0PUVPXFFGOzEnHRoZGx8kKTI1P0dRWk5EOS8mHRkeHCAlKi82QEhSWE5COi8nHRkbHiIrLDE4QkpTVktBNy4mHR4hJCgsLjY7RE1WVUxBNy8oHxwgIygtMjc+R1BZWExCOTAoIx8lJiszNj1CS1RdWU5FOzMrIyImKi80OkBHT1dhXVJJPjUtJyUqLTM5P0ZMVFxkYFVLQjkxKyktMTc9REpRWWFqY1lPRT02Li4wNTtBSE9WX2ZvZ11USUE7NjI2OT5FTFNbY2t0a2FYT0Y/Ojc6PUJIUVpfZ295bmVcU0tFPz0/QUZMVF1janN8cWliWFBJQ0FDRUpOV2BlbXZ/dWxnXVRMR0VER0tSW2Vmb3h/eG9pX1dQSkdISU1UXGZncHp/eW9mW1NKRUJDRUhQWWNncXp/d21kWVBKQ0FBQ0hNVV5lb3h/dWthVk1GQD08QERLUVpjbHR+cWheU0pDPDg7PUBHT1dha3F6b2VbUkdAOTU4OT5ES1NcZmx2bGJZTkU9NjQzNjpAR09XYWlyal9XTUM8NjIxNDc9RExUX2dwaV5VTEM8NTIwMjU7QkpSXWVuaV9VS0M8NTIwMjU6QklRXGVval9WTUU9ODUzNDc9Q0tTXmZwbWNZUUlBPDk3ODtAR05WYWlzcmheVk9JQ0E/P0JHTlVdZW94eG5mXldSTkxKS01RV15kbXV/f39+dm5pY19cXF1eYWZsc3x/f393bmZgWlZTUlRVWF5ka3V9f3tvZ15ZUk1KSkxNUFdcZG53f3VrYVhTS0dDQ0VGSVBWXmhwe3FnXFRNRkE9PT9AREtRWGBpeW5kWVBIPzo3Nzg7QkpJUVhjdWpeVElBODMzMDM2PUNETFVecGVaT0U8NC4uLjA0OD1DSlNcbGFWS0E4LyorKy4yNzxCSFJaamBUSD43LCcqKi4yNzxCSFFaZl1SRjw0LCgoKi4yNzxCSVNcZFtPRDs0KyssKy81OD9DSlRdYllPRDowLCcqLTE1OkBFTFdfYFZMQzo0LC0vMTM6PENIT1liYVZNRDszLSouMjY7QEZLUlxlYllORz03MS4zNDlAQ0pPVl9oY1lQRz84MTE0OD1CR01TWmNsZV5US0I8NTM4O0JGTFJYX2dvamBXTUU/OTc6P0RKUFdeZW11bmRaUUlDPjw+Q0hOVltianJ6cmheVU1HQUFDR0xSWGBnb3d/dmxkWlNMSEZIS09VXGVqc3x/enFnX1hRTUxOT1RZX2hud39/fXVsZFxWUVBRU1ZcYmtxeX9/f3lwaWBaVVRUVVhfZ29ye39/f3xzaWNcV1VVV1pgaHF0fH9/f3pwZ2BYU1FRU1ddZW5zfH9/f3huZV1WUk9QUVVaYWlxen9/f3VrYllTTkxMTlJYXmZud39/fXNnX1ZPSkhJS09VW2NrdXx/enBmXFRNR0ZGSEtRV19ncHh/eG1jWlFLRENCRElOVFtja3R+dmtiWVBKREBCQkVLUVhganJ8dGphWFBJREA/QUVIT1ZfZ3B6dGpgWE9JREA/QENJT1ZeZ3B6dGtiWVFLRkNCQ0ZKUVhgaHF7d25lXVVPSkZERUlMVFtja3R+fHJqYlpUUE1MTE9TWmBocHl/f3hwaGJdWFZVVlhaYWdud39/"},"LeftLeg":{"min":[-0.1131,-0.1017,-0.1376],"dims":[16,39,18],"data":"f399dW5pYl5cW11eYWVscnx/f393bWVgWlVTUlNVWF5ja3R9f3pwZl5YUU1KSUtMUFZcY213f3VrYFhSS0ZDQkRFSVBVXWdwenFmXFNNRUA/PD4/Q0pQV19peG5jWE9HPzk2Njg7QUlJUFhidWldU0lBODIyMDI2PUJES1VecGVaTkQ8My0tLS8zNzxCSVNba2FVS0E3LikrKi0yNjtBSFFaaWBTSD42LCcpKS0xNjtBSFFaZV1RRjw0KygnKS0xNj1BSFJbY1tORDszKyorKi41Nz5DSlRcYlhOQzowKycpLDA0OUBETFZfYFZMQzozKywuMDI5PENHTlhhYFZMQzszLSouMTU6P0ZKUlxkYllNRjw3MS0yNDk/Q0pOVV9nY1hQRz84MTAzNzxBR01TWmNrZV1TS0E8NTI3OkFFS1FXXmdval9WTUU+ODY6PkNKUFZdZG11bWNaUEhCPTs+QkdOVVtiaXF5cWdeVExHQkBCRktRWF9mbnZ/dWtjWlNMR0ZISk5VW2Rqcnt/eXBnXldRTEtNT1NYX2htdn9/fXRsY1xVUU9RUlVbYWpweH9/f3hwaGBZVFNTVVdeZm9ye39/f3tzaWJbV1RVVlpfZ3Bze39/f3pwZ19XU1BRUlZcZG1yfH9/f3dtZF1WUU5PUFRaYGlwen9/f3VqYVlTTUtMTlFXXmZud39/fHJnXlZOSkdISk5UW2JqdXx/enBmXFNNR0VGR0pRV15mb3h/d21jWVFKREJBREhNU1pia3R9dWthWFBIQ0BBQURKUFhgaXJ7c2pgV09IQz8/QERITlZeZnB5c2lgV09IQ0A/QENITlZdZ3B5dGphWVFKRUNBQkVJUFdfaHF6d21kXFVOSUVERUlMVFpia3R9e3JpYVpUT01LTE5TWWBnb3h/f3dvaGJcV1ZUVVdaYWZudn5/f352bWRdWFRRUFFTWFtianN7f3duY1xVTkpHRkhJTlJZYmpze3BnXVRMRkE+PT1ARUpRWmNsdmthVU1FPjk1NTU4PEJKVF1ncmZcUEg/ODMxLjEyNj1FTVZfb2NZTkQ7NC4rKSsuNj89RU9YbGFVST82LiciIiQoMDc4P0pTZ1xRRDowJiAfHiElKTE1PEZQY1hNQTYsIBsdGx8jKDA0PUNPX1RJPjMpHhkbGh4jKDE0PEROXFFGOzEnHBkYGh8jKDE0PkZP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cGVbUUY+NzIuLTAxNTxETlhhamBXTkM6Mi4sKCssMDdASlReZltSSEA4MCsmJiYpLjU9SFJcY1hOQzoyLiomJSUpLTQ9R1JdYFVKQDYuKSUmJycqLzU+R1FXXFFHPDMqIyAkJysuMzlARUtTWk5EOTAnHh0iIygtMjY7QUdPV0xBNy0nHRodISguLjM4P0VMV0xBNSskGxccHyMnLDE2PkRNVUo+MykiGx0bIiMrLDE3PUROVUtAMywjHB4dICQsLzM6P0dQVks/NCwiHR4gIyctMTY9QkpTWE1ANi8lJCIkJyswNTpARk1XW05EOjAqJigpLDA0OD5ES1NdXVFGPjQuLi0uMDM3O0BHUFliX1RKQTgyMzEyNDY5PkNKU15pY1hOQz04NjU1Njg7PUVMV2JuZltSSUE+OTg3ODk8P0dQWmVxaV5US0Q/PDo5OTs+QUlRXWZybGJXTkhCPjs6OTs+Q0tVYGl0bmJZUEhDPjw6Ojs+RE1WX2t2bGJbUUhDPjs6OTs+RU1VYGt4aV5WT0ZAPTo5OTk+RU5WYm16ZVpRSkI9Ojg3Nzo8RE5WYm16YVVNRj45NjQ0NDg7Q0xVYWx5XFNJQjo1MzExMTI4PUlTX2t3Wk9FPjcxLy4tLjE0PUVSXWl2WE1DPDQvLSwrLC4zPEZQXGh0WE1DOzQvLCsrLC4zO0dQXGd0WE5EPDQwLSwsLi80PUdQW2h0W1BFPzg0MTAxMzI4QUpTXmp1X1VLRD06ODg5Ojs/R09YYm14ZVpSTEdDQ0FCREVITlVeaHJ8bWNaVFFOTU1OUE9TVl1kb3d/dWxlX1xZWVlbXFxfYmdud39/f399dG5oYl5bWlxdYWVrcnt/f392bWVfWVRRUVJUV1xiaXN8f3lvZV1YUUxJSEpLTlRbYm12fnRqYFdRSkVCQUNESE9UXGdwenBlW1JMRD8+Oz0+QklPV2JsdGthV05IQDs6Nzk6PkZMVF9pcGZcU0xGPjk3NTQ3PERKUl1obWNYTkY/Ozk3NDQ3PENJUl1naV9USkI6NjM1NTY4PURKU11kZlxQRz44MS8xNTk7QEdNUlheY1pPRDs1LSwvMjU6P0RJTlRbYVZLQjoyKysuLjY6PEFGTFJZYVdLQDkuKikqLTE2OkFETFFZX1VJPzctKisqLzE1Oj9FS1FZYFVIQDguKywsLjI2PEFHTVRbYFRJQTYwLi8uNDQ8P0RJT1ZeYVVLRDozMTAyNTk+Q0hOU1piY1hPRTw4NzY3Oj5CRktRV15mZltTSUA8Ozs8P0JFSU5VW2RsaV5VTEVCQUBAQkVHS1FWX2hybGNZUEpHRENERUdJTVJZYmx2cGZdVE5LSEdGR0hLTlNbZW96dGlfWFJNS0lISElNUFVdZ3F8d2xjW1ZQTEpJSEpNUVdganN+d25lXlZRTUpJSUpNUlhia3R/d2xmXVZRTUpJSEpNUllianV/c2piW1ROS0lHSEpNUVpjbHd/b2ZdV1BKSEZGRkhLUVljbHd/a2FZUUxHRUNCQ0ZITldganZ/Z11VTUhEQUA/QENFS1ReaXR/ZFpSS0NBPTw8PT9DSVFcZ3J+YlhQR0I9Ozs6OzxBR1FcZnF9YlhPSUI9Ozo6Oz1ASFBcZXF8Y1lRSkI9PDs7PD9CSVJcZXB9ZVpTTEZBPz8/QEJFS1VeaHN+aV9XUUtGRURFRUhMUlpibHZ/bmVdV1JPTU5NT09SWWBocXt/dWxlX1tYWFZYWlpcYmhvd39/fXVuaWZjYmJjZWVnbHB3f39/"},"LeftUpLeg":{"min":[-0.144,-0.1331,-0.1498],"dims":[20,41,22],"data":"f39/f399dnRyb25wcXN4fX9/f39/f39/f397dG5qaGVlZmdqb3V4fH9/f39/f394dG1mYmBdXF5gY2ZpbHF3fX9/f396cm1lX1pZVVVXV1lbXmJnbXN7f39/dWxmYFhUUk9NTk5QUlVYXmRrdH1/e3FoYVtTT0xHRUZFRklNUVdcY212fnVtZF5XT0pHQD0/Pj9DR0tRVl1ncXhvZ19ZUkxGQjs4OTg6PUJGTFJZYm1zamJbVE5IQz44NTI1NTg+Q0lPV19ob2ZeV1FLRkE8ODAvMjI1O0FGTVNcZWxjW1VPSURAOzgyKywxMzhBRUxSW2VqYVlTTUdCQDk1LyopLzE2PURLUltjZ19XUkxIQT45NDItLC0zOD1FS1JaY2heWFJLSEE8PDYzLCcpMDY8REtVXGRmXlZSTEhDPzs0MC4qKTE2PERMVFxlZl5YU0xJQj49NTUzLi4yO0BHT1VdZmlgWFVOSUVBQDc2MSorMDk9Rk1YYGlqYlpXUU1GQUA5NTMvLTM4P0ZPV2BpbWRfWVJNSERCPjo2MzQ5P0RMU1tia25mZFtUUU1IRT48NjMzOUBETVZeZ3ByamdfV1RNSUdBPzo2OT1BSE9YYGhxdW1lYVtVUExIREE8Oj5ESU5VW2RsdXhwaWVfWlRPS0dEPj9BR0tRWmJqcnp9dG1oZl5XVE5LRkNGSE1QV19mbnd/f3hwa2tjXVVRTkpISU5VWFxla3N7f397dG5wZl5YU09MTFBUWV1kbXN6f39/fndwcmlhWlVST1BUWWBkanJ5f39/f35+dGxlX1lWVFNXWl9ka3J4f39/f396eG9nX1lVUVFUWFtjaHB3f39/f39+dnNqYVtVUU1NUFJYXmdveH9/f39/enJwZl5YUk1JSk1QVV1kbHR8f39/f3hwbWRcVU9KR0ZKTVNbYmpxen9/f392bm1jW1ROSkZGSU5TWmFob3d/f39/dm5tY1tVT0tIR0lPVFthaG92fn9/f3dwb2VcVlBMSklLUVZcYWhvdn5/f396cnFnX1lTT01NTlNYXmNob3d+f39/fnZ1a2JdWFRSUVNXXWNmanF4f39/f397c2xpY15ZWFhbX2JpaW90e39/f39/f3lzb2llYmFiY2ZrcW90en5/f39/f39/eXVxbmxrbG1wcXN3en9/f39/f39/f399end2dnd4enp8f39/f39/f39/f39+eHNsaGZjY2VlaG5yeH9/f39/f39/dnJqYl5dWlhbW19kaG91en9/f39/d25qYlpWU1BQUlJWXGBjaW51fX9/e3BnY1tTTUxJR0pKTlFUWF5janN9f3ZrYVtUS0dEQUBDQURHSU5TWWFrdntxZlxUTkdBPzo3OTk7PkBFS1FZY251bGNYUEpBPTk0MTIxMjY6PkRKU11pbmRcVE1EPzg0LSorKiwvNDg/Rk5ZY2lfVk9HQDs1MCwmIyUnKzA2O0JKVV9lWlFKRD04My4sIiEkIyctMzk/R1FcYldNR0E8NjMtKCQcHyQlKzE3PkZQW2BUTEQ/OjQvLiYjGxohIygwNj5HT1ddUkpEPjkzLismJiAfICUrLzc+RU5XXVNJRD04My4vKSUgGBokKC83QUhPWVxRSUQ+ODYuLyYiIhgaJSgwNz9HUFlcUkpFPjk0Ly4qJycgICYuNDtCSFJaXlNMRkA7OTMyKSUkGxwkKTA5Q0tUXl9VTUhEPzozMSsnJyEeJysyO0NLVF5iWFNMRD88NTQxLSghJSwyOT9HTVZgY1pZUEZBPzg4MCwpJCQtMTdASVNbZGdeXFJKRD87OTMvLiosMjQ7Q0xUXWdqYFlTTUhFQDw2NCssMDc8Q0lRWWFpbWNcWFNORkE9OTcyMDQ7PkVOVl9ncHJoYFlbUktGQDs4NTg8QURKUlpianR1bGRdYFhRSUI+PDo7QUdNU1hgZ3B4dm9nYGZbUkpFQTw+QkhLUVlhaW93f3pzamNoXlVNR0NBQkZNUlhfZm52fn98cnVrYVlSTEhFRUlOU1heZ211fH9/eG5uZVtTTEhDQ0ZLUFdcZGx0fH9/f3NqaV9WT0hDPz5CRUtTW2NsdX5/f39vZmVbUUtFPzw8P0JIUVhhaHJ6f39/bGNjWE5IQTw4NzxARU5VXWVtdn9/f2phYldNR0A8Nzc7QEVNVVtia3R9f39qYWNYTUdBOzk4O0FHTVNaYmpye39/bGNkWlBJQj08OzxDSE5UWmJpcXp/f29mZ1xTS0VBQD5BRkxRVVxianF7f39yamthV1BLRkNERktQV1hdZGtzfH9/eG9nYF5WUU1MTE5SV19cYWhtdn9/f351bmdlXllWVVdZXGBnY2dtc3p/f39/fXVuaGViYWFiY2VlZ2pudHl/f39/f39+d3JubGxsbW5wcHByd3t/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U0xHRkRERUZKUFlibnl/f39/fnVsZF5YU1BPTU1OUVhgaXR/f39/d29pY19dWllbXF9laW94f39/f39/d21mYFpVUU9PUVJWW19mb3h/f39/eXBlXVZRS0lFRUhITFJXXWdweX9/e3JoXlVQSUM/PTw/P0NKT1ZfaXN9f3dtY1dPR0I8NzU1ODg8Q0hPWmRtd39yaF5SSkM9NTEuLjIxNT5CSlRfaHN+b2VbTkY9ODEsKSksLDE6PUZQW2Vve2xiWEtDOjUtKSYlKSkuNjtDTVljbXlsYVdMQTo1KycnIycnLDU5QkpXYWt4a2BXSkE4NCsnJyMnJys1OEFMWGFsd21iWE1COjYtKSglJSktNjpDTFhibHluZFtPRTw5MCwsKSksMTg9RlBbZW95cmheU0lBPTUxMS0wMTU9Q0pSXmZudXNpY1lOR0M7Nzc0NDc7QkdPV1tianFvZF5WUExGQj8+PDw/P0FJUVhYX2dubGFYUEpGQj87OTY2Ojo+RUtSVl1lbWpeVExFQj88ODUyMjU3PEFITlRcYmppXlNKREE+OjYzLi4yODtARk9UXGJqaV1SSkRAPTo1NC8tMTg7QUdOU1thampfVExGQj48NjUwLjA5PEJIUFRbYmprYFZNRkRAPDg2MDE1OT5ESlJXXGJtbWJZUUtHQj47OjY0OT1BRktVV11kbXBlX1hSS0VCPz46Oj9AREpQWFdeZnByZ11WWFFNR0VDQEBBRElQTlNZYGlydGphWWBaVE5KSEVGSEpOVVBVWmJrdXduZF5ZVlRST05LSkpMTU9TV15mb3l6cGhhXVpYVlNRT05OT1BTVlphaXJ8f3VuZ2JfXFlWU1FRUVJTVVhdZG13f394cGlkX1pWU1FQUlNUVVdbYWhwe39/dm5nYlxjW1VRUFFUV11lW2FocXt/fnVsZV5ZXVVOSEdKSk9WXFleZW53f310a2NcVlZPSURCQ0ZJTlRVW2Fqc35+dGtiWlVSSURAPT9BREhOUlhfZ3B7f3VsY1xUUEdCPjs5PUBFS09WXGNueH94bmReVk9HQDs3Ojs+Q0pNU1pibHh/e3FoYVlRR0M8ODg6PkJJTFNaYmx3f392bmZeVU1GQT48PEBDSkxSWWJteX9/fXRsYlpSS0ZDQEFDRk1OU1pkbnp/f398c2phWlJNSUdISk1TUVZdZ3J9f39/f3xza2NcWFNRUFBVWlZbY2x2f39/f39/fHRtZ2BdXFlbXmNeY2pyfH9/f39/eXRtaWdlZGZmaW90eX9/f39/f39/d3BrZGBeXFpcXWBlanB4f39/f39/eHBoY1tXVVJRU1RXXWNocHl/f39/fHFpYFtVT05LSUxLT1VbYWlzfX9/f3dtYlpVTUhGQkJERUlPVVtjbXd/f3xyZl5VUEdDQT48Pz9DSVBWXmlzfX95b2RaUUxDPjw4Nzo6PkZMUlplcHl/d21iV09JQDs3NDQ3NzxCSU9YY254f3ZsYVZNSEE5NzUyNTU6QUhOV2Fsdn92bGBWTUdAOjU1MjU3OkFITVZhbXd/d21iV05JQjs3NjQ0NztASU9YYm13f3lvZFpRS0U+PDo3OTw+RUxRWmVwen98c2hdVU9JQj4+PD5AQkdQVV5oc3p/fXNsYlpUTkhEREJCRkhNVVpiaG93fnluaGJdWVRPS0tISUxMUFVdY2Vsc3t2bGNcV1RQTklJRURHSUxRWF5janJ5dGhgWFRRTktHRkBBQ0hKUFVbYWhwd3NpXlhTUExIRUM9PUBFSU5UWmFob3ZyZ19XUk9MR0RCPjxARUlPVFthaW92dGlgWVNRTEhEQz49P0ZKT1ZdYmhvdnVrYlpVUk5KRkQ/P0NJTFFXXmNqcHh3bWVeWVVQTklHREJGS09UWWFka3B5em9qY15XU1FOS0hITE5SWFtkZWtye3xxamJjXVlVU1FOT1BSVl1dYmZtdX1/dm1namVgWlhVU1NWVlthX2NobnZ/f3lxa2ZkYmBdWllaWFpcXmFla3F5f398dG9qaGZkYV9eXV1eXmFkaG11fX9/f3p0cG1qZ2RiYWBgYWJkZmtxeH9/f399d3JtaGRhX15gYWNkZmludHx/f39/e3Rvam5mYV1cXmBjaG9pbnV9f39/f3lya2doYVtXVVdYW2JnZmxyeX9/f394cGlkYltWUFBRU1ZbYGNpbnZ+f39/d29pY15XUk9MTU9SVlpgZWxze39/f3dvaWJcVVBKSUpMT1NXXWNpcHl/f395cWpjWlRPSUhISk1RVlthZ294f39/fXVtZV1VUEtHSUlMUFZaYGdud39/f395cWlhWlNOTEtKTlFXWl9mbnd/f39/f3dtZl9XU1FPT1FUWlxhZ295f39/f398dGtkXlpWVFVXWl9fZGpzfH9/f39/f3t0bGVjXVxdXWFmY2hvdn9/f39/f39/fXZwbGhmZWVpbmpudHx/fw=="},"RightUpLeg":{"min":[-0.1306,-0.1331,-0.1498],"dims":[20,41,22],"data":"f39/enJsZmJgXV1eX2JobXJ6f39/f39/eXBpY15YVlNSVVVYXmJpcnt/f39/fHJoYFpTT0xJSUtMT1ZaYWpzfH9/f3VrYVlTTUdEQUBDQ0ZOUlpibXZ/f3pwZltTTEZAOzk5OzxAR0tTXGdweX91a2FWTUdBOTc1MjY1OUFGTlZibHZ/cmhdUklCPDUwLi0wMTU9Q0lSXmhyfm9lW09GPjkyLSoqLS0yOj5HT1xmcHxvZFpPRD44MCsrKCwrMDg9RU5aZG56bWRaTkU8ODArKygrKzA4PkVPWmVvenBlW09GPjkxLS0qKi0yOT5HT1tmb3txZ11RSUI9NDAwLS0wNTxCSVJeaHJ9dWthVU1FQDk1NTI1NzlAR01WYWpyeHZsZltSSkY/Ozs4ODs/RkxSW19mbnVyZ2FZVE9KRkJCP0BDQ0VNVVtcY2tyb2VbU05LRkM/PTo6Pj9CSU9WWmFpcG1iWE9KR0RCPTw2Njo8QEdMUlhfZm5sYVZOSUVCPjs6MzM2PD9ES1NYXmZubGBWTkhFQj06OTQyNjw/RUtRV19lbW1iWFBKRkJAOjo0MzQ9QEZMVFhgZm5uY1hRSkhEQDw6NDU5PkNITlZbYGdwcGRdVU9LRkQ/Pjo4PUFFSlBYW2FocXNoYltWT0pHREI+PkJFSU5UW1xianN1a2FaW1VQTElHRERGSE1UU1hdZGx1d21kXWNdWFFOTElJTE5SWVVZXmZueXtwaGFdWlhWU1JPUE5QUlRXW2Jpcnx+dGxlYV5cWlhVVFNTU1RXWl5lbHZ/f3hxa2ZjYF1aWFZWVldYWlxhaHB6f398dG1oY19aV1VUVldZWlxfZWx0fn9/enJrZWBmXlhVU1VXW2BoX2VsdX5/f3hwaWJeYFhSTUtOT1NZX11iaXF6f393b2dgW1pTTUhGR0pNUlhZX2Vtdn9/eG5mXllVTUhEQkRFSExSVl1janN+f3lwZ2BYU0tGQj8+QUVJT1NaYGhxe397cWhhWlNLRD88Pj9DR05RV15mcHt/fnVsZV1UTEdAPT0/Q0ZNUFddZnB6f396cmlhWFFKRUJBQERHTlFWXGZwe39/f3dvZl1XT0lHREVHSlFSV15ncX1/f39/dm1kXVZQTUtMTlFXVVlha3V/f39/f351bWVfW1ZTVFRYXlpfZm95f39/f39/f3ZvamRgX11eYWZhZm11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Xl9gYmJjZmtwdn1/f39/f3t0b2tpaGlrbG1sbW90eH5/f39/f39/f396dG9ua2ptbnB1en9/f39/f39/f314cWtmZWFhY2NnbHF1en9/f39/f311cWliXlxZWFpbXmNmaW50en9/f393b2piW1ZVUVBTU1ZYW15kanB5f398cmpjXFRQTkpKSkpMTlFVW2BocXt/eG1lXFdPSklDQUJCREVJTVNZYGp0e3JpYFpTS0ZCPDk7Ojs/Q0dNU1pkbnVrZFxVTkhCPjY0NDQ1OT1CSE5WX2pwZl5XUEpEPzozMC4vMTU5P0VLU1xla2JZVE1HQj04NCwrLi0xNzxCSVBYY2lfV1FLRUA7NzIuJigtLjY9QUhPV2JnXVVPSUM+OzUwLCUkKy0yOUBHUFdgZVtTTkhEPTo1MC4pKCkvNDlAR09WX2RaUk5HRD04ODIvKCMlLDE4QElRWGFjWlJOR0I/OjcwLComJS4yOEBIUFhhZFtST0hEPjk4MTAvKiovNz1DS1FbY2VcVVBKREE9OzMxLSYnLDI5Q0pUXGZnXlZSTUlBPTw1MS8qKS80O0NLVFxlamBbVU5IRD8+OjYyLi81O0BIT1dfZ2tiYFhQS0lEQTo2Mi4uNTlASlJbZG1vZmRbU05JRUM9OTcyNTo9RExUXGVtcmlhXVZRTEdFQD04NjlARUpSWGFpcXVsZWFcVlBLR0NAPDo9Q0dNV19nbnd5cGlkYlpTUElHQj9CREpNU1tia3N8fXRtaGdgWlFMSkZEREpRVVphaHB3f394cGttY1pTT0tISExQVVpgaXB3fX9/enNsb2VdVlFNS0xQVVxgZm51fn9/f3p7cWhhW1VSUE9SVltgZ291fH9/f392dWxjWlVRTUxQVFdfZGx0fH9/f397cnBmX1dRTUlITE5UWmNsdH1/f39/dm5sY1pUTklERklMUVlgaXB6f39/f3RsamBYUUtGQ0FGSU9WXmVudn5/f39yamlfVlBKRkFCRUlPVl1ka3R8f39/cmpqYFdRSkdDQ0VLUFZdZGtye39/f3Rsa2JYUkxHRkRGTFJXXWRrcnp/f393bm5kW1VPS0lIS09UWl9ka3N6f39/enJyaGBZVFBOTU9TWV9hZm10e39/f393b2llX1pWVFVXW15mZWtwd35/f39/fXZvbGZiXl1eYGJnbmtwdnt/f39/f399dnFtamhoaWptbW9zd3x/f39/f39/f356dnRzc3R1d3Z4e39/f39/f39/f39/f39/e3p2dnh5e39/f39/f39/f39/f398dnJxbm1vcHN3e35/f39/f39/f398dG5raWZlZ2lqbXBzeH1/f39/f398dW5oY2JeXl9fYWNmaW50en9/f399dW9oYV5cV1ZXVlhaXWFmbHJ7f39/eXBqY11YVVBOT05PUlZaYGVsdH1/fXVuZmBZU09KR0hHSExPVFlfZm54f3dvaGJbVU9MRUJDQkRIT1BVW2JqdHtya2ReV1JMSUE9PD8/QklNUlhfZ3B3bmdhWlVQS0lBOzk8PD9GSlBWXGRtc2tkXllSTUpIQTs1Njo+QkpOVlxjbXJpY1xXUVRLQ0A5NDM4O0BIUVRbZGxwaGFbVlFTSkM+Ozc1NjtBSVFUW2NrcGdhWlVQS0hFQD02MTM5P0ZOVF5kbG9nYVtVUk1JQz48NzQ0Oj9GTlVcZW5vZ2FdVlNMSEY/Pzw4ODxDSVBXX2ZvcWljXVhUTUtJQ0A6NDY6QUdOWGBpcXJrZWFbV09LSUM/PDg3PENIT1hgaHF2bmhiW1hSTUxFREA9PkJITVRbYmtze3RsZF5aVlJOSEZAPT1DSk5WX2dvd395cGhhXVdTT0tJREBCRkxRWGBocnx/e3JpZGBaVlJOSkZESE1SVl1kbHV9f351bmhjXVpVUU1ISUtQVltja3J6f399e3RuZmFdWFVRT05QVVlfZm52f39/f397c2xmX1pXVFJTV11hZWtze39/f39/f3hvZ2FeWVdWWV1iZ210e39/f39/f396cWpkYFxZWl1iaWxyen9/f39/f398dG1oY2BfXmBjZ250eX9/f39/f39/d29oY15bW15iZWpzfH9/f39/f39/e3JrZWBbWFdaXmJncHl/f39/f39/f3duaGBcV1NUV1tfZW11fX9/f39/f391bGVfWVRRUFRZXWRrc3p/f39/f39+dWxkXVhUUFFUV11kanJ4f39/f39/f3VsZF5YVVFRVFheZGpzeH9/f39/f392bmZfWldUU1VbYGVrdHh/f39/f39/eXBoYl1ZV1dYXmJnbnZ5f39/f39/f3x0a2ZhXVxcXmFmbHJ6en9/f39/f39/eHBrZ2NiYWRna3J4f31/f39/f39/f393cm5qaWprb3J4f39/f39/f39/f39/f3p2c3J0dXh7f39/f39/f39/f39/f39/f319fn9/f39/f39/f39/fw=="},"Hips":{"min":[-0.2091,-0.1948,-0.2005],"dims":[29,30,27],"data":"f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/e3h2dXV0dXV1dXV1dnh7f39/f39/f39/f313cm1qaGlnZ2hoZ2hoam1wdnx/f39/f39/fHVuaGNfXVxaWltaWltbXmJmbHJ6f39/f39/d29nYFpTUVBNTU1NTU5QVFhdYmpze39/f397cmphWVFLSEZDRENDQ0RFSU5UWmNsdX9/f352b2VcVEtEQT06Ozo5OTs8QERMVF1oc31/f3xzamJZT0U/OzU0NTIyLzM0N0BHUVtlcHx/f3pyaF9WTUI8ODIvLi0rKy8tMzxFTVpkb3p/f3hwZl5UTEA5Mi8tKyooKisrMTtDTVdjbnp/f3lvZl1TSUA3My4rKikoKCsrMTtDTlhlb3t/f3dwZ11TSkA3MC0rKikoKSwuMz5FT1pmcXx/f3lwZ15VSkI3MS8rLSopKi4wNkBIUlxocn5/f3tyamBWTUU5My0tKywrLDAyOENNVWBrdX9/f310a2FYUEg/ODEwLi8uMDQ2PUZRWWRven9/f393bmVcU0tDOzY0MjI0Mzo9QUxWYGl0f39/f398cmpiWFFJQj05ODg4Oj1ESVFbZm95f39/f39/d29mXldQSENAPz8/QkdNUVhiam94f39/f39/fnVtZl5YUExLSUpKTVFUV1thaG53f39/f39/f352bmdeWFRPTU1NTU9RVVlfZ293f39/f39/f393bmZdV1FPS0pLTE1PVFhfaG94f39/f39/f394b2deVlFOSklKSkxPVFhfaHB5f39/f39/f395cGZfVlBNSklJSktOVFhfaHF6f39/f39/f397cWdgWFNPTEtLTE1QVlthanJ7f39/f39/f399c2liXFdUUE9PUFJUWl9lbnR9f39/f39/f39/dm5mYV5aV1ZWV1hbYGVscXh/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/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TEhEQEBAQEJER01UXWRtdn9/f39/f3hsY1tTS0VCPj0+P0BDSExTXWVtd39/f39/f3huZVtTSkVBPTw9PT9CSExUXmVueH9/f39/f3pwZlxUS0RAPTw8PT5BRk1VXmdweX9/f39/f3txaF1UTUdDPz4+P0BESk9XYGhxen9/f39/f310aF9WUUxIRENDREZJT1RbZGl0fn9/f39/f394bWRcVlJQTEtLTE1RVltgZm53f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/fXl3dnZ0dXZ2dXZ2d3l8f39/f39/f39/f354c25raWpnaGloaGlpa25xd31/f39/f39/f3dwamRgXl1bW1tbW1xcX2NobXR7f39/f39/eHFpYVtWU1FOTlBQT09RVVleZGt0fH9/f399dGtjW1NNSkdERUVEREVGSk9VXWRtd39/f395cGdeVUxGQj88PDs7Ojw+QUdOVl9pdH9/f351bGNaUUdBPTc2NjI0MTU1OUFJU1xmcn1/f3x0aWBXT0Q9OjMxMC4sLTAvNT1HT1tlcHt/f3lzaF5VTUE6NjEvLSwqLC0tMz1ET1llb3t/f3lxaF5UTEI5NC8tLCspKi0tMz1FT1lmcXx/f3pyaV5VTUI5Mi8tKysqKi4vNT9IUVtncn1/f3pyaV9XTkM5MzEtLysrLC8xN0FNVV5qdH9/f31zamFXUUY7NTEvLS0tLjIzOkRPW2Fsd39/f351bGNaVElANzMxMDAwMjY4PkdSXmVve39/f394b2ZdVUxFPTc1NDQ2NTw+Q01XYWp1f39/f399dGtjWVNLRD86OTk6PD9FSlJcZ3B6f39/f39/eHBoX1hSSkVBQEBBQ0hOUlpjbHV/f39/f39/f3dvZ19ZUk1MSktMTlJYWVxianN9f39/f39/f393cGhgWlZRT09PT1BTV1tgaXJ9f39/f39/f398cWdeWFNRTUxNTU9RVlpgaXJ9f39/f39/f396cWhfWFJQTEtMTE5QVlpgaXN9f39/f39/f397cWhgWFJPTEtLTE1QVVphanR+f39/f39/f399cmliWlRRTUxNTk9SWFxja3V/f39/f39/f39+dGtkXllVUlFRUlNWW2Fnb3l/f39/f39/f39/eG9oY19cWFdYWVpdYWdtdX5/f39/"},"Spine1":{"min":[-0.213,-0.0964,-0.1216],"dims":[30,25,25],"data":"f39/enJqY15bW1lZWVtdYGZud3x/f39/f39/enRrZF1YVVVTVFRWWl1ja3R/f39/f39/f3ZvZl9aU1FRUFBRU1lcYmp0fn9/f39/f310bGNcV1NPTk9PUFJXW2Fpc31/f39/f398c2xjW1ZTT01NTk9RVlphaXJ9f39/f39/f3VtZFxWUk5NTU5PUVZaYGlyfH1/f39/f393bmZdV1NQTU5NTlFVWWBocnJzdXl/f39/eXBnYFhTUU5NTlBRVlthaWloaWxwdn5/f3xzbGNcVlRSUlFSUldcYWBeX2FkaG93f39/eHBoYVxYVVRbWVhYWl5jaVdZXGJpcX9/enNtZmBbV1VST05MTVBUWWBPUVddY21/fHRtZV9aWVNOSkdFREVIS1FTWF5TWWFqf3hvaGBYUk9JRkNAPj0+QURJS1BXUFdgaX1za2NaVk1HQ0A9OTg2Nzw/QkNKT1VdXmh5cGdeVVFIQj46NzQyMDI3Oz4/Q0hPWF5pc2tiWlFMQz45NTIvLS0vNDg7PD9ESlReaW1oXlZNRj86NjIvKykpKzE1Njk8QUpUX2tpZF1UTEM+OTQwLCkmJysvMzU4O0FJVGBsZ2JeVUxFPzozLysoJCUpLC8yMzpAS1ZhbmhiXlhQSUQ/OjUyLisqLC4vMDM5Q01XY29qZWFeVk9LRkI9OjYzMjMvKysxOkNNV2RxbmlmZV5YVFBMR0RBPj04MCwtMDpET1pmc3VwbWtoYl9bV1NQTUpGPDUxMjc9RVFeand8eHV0c25qZ2RgXVpXTUQ9Ojs+REtXYm98f39+fX56d3RxbWpnX1VOSEVFR01UXWhzf39+dW1nX1dST05MTEtNT1NaYGdxe39/f39/eG9nYFlRS0dHREZFR0pPV15mbnl/f39/f3RqYltTTUZCQkFCQ0VKTlRdZm94f39/f31yaF9XT0dFQD9AQEFESU1UXmhveH9/f399cmdeVk1IREA+Pj9AQ0hNU11ob3h/f39/fnJpYFhQSEI/Pj4/P0JITFNdZ29zdXh8f391a2JaUUlDQT49Pj9CR0xTXWdnaGtvc3t/eG9kW1RKRUE/Pj9CREhNU11dXF5gZWx0f3xyaF9YT0pGRENBQ0RITlZVVFNUV11jbX53cm1kXVVNSkhGRkdITExMS0lKTFBWXWd6cmxmYVpVUEtIRURBQ0NDQ0NCQ0ZKUFlj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ZV9bWlJLRkI9OTYyLy4uKiUmLDY+SFRncmlkYF9bVFBMSERBPjo6NCsmJCo2QEpXY3Bwa2hmZV9bWFRQTkpHQzgwLC0yOUJOW2d0eHNwb3BrZ2RhXVtYVUpAOTY2OUBIVF9seX99enl6d3RxbmtoZV1TSkVCQUNJUVtlcn5/f39/eXFqZmNjYWFhY2VpbnV+f39/f39/f39/enNsZWBeXVxdXV9iZmtze39/f39/f39/fXZuZ2JcWlpZWVpcYWVqcnp/f39/f39/f3tza2NgXFhXWFhZW2BjaXF6f39/f39/f397c2pkXltYVlZXV1pfYmlveX9/f39/f39/fHRsZF5bV1ZXV1haX2Nob3l/f39/f39/f352bWVfW1lWV1ZYWVxjaG95eXp8f39/f39/d3BoYVxaV1ZXWVpfY2lwcG5xc3d9f39/f3pza2NeXVpaWltcYGVoZ2ZmaGtwdn1/f39/d29pZGFdXmFfXl5hZGlvXmFkaXB4f39/enRtZ2NfXFlXVVRVV1tfZldaX2VsdH9/e3VsZmFfWlVST01NTFBRWFpeZVthaXJ/f3ZvZmBZVlFOS0hGRUZJTFBTV15YX2dwf3pyamFcVE9LSEVCQD5AREhLTFFWXGNlb393bmVcWFBKRkM/PDo5O0BER0hKUFZeZW56cmliWFNLRkI+Ojc2NTc8QUNFSExTW2VvdW9lXVVOSEI/Ozc0NDI0Oj4/QUVJUVpkcHFsZFxTS0ZBPTk1Mi8wNDc7PkBDSFFaZXFwamVdVE1HQz04NDEtLjE1ODs+QklSXGdzcGtnYFdQS0dCPTo2MzI0Njg4O0FKVF5pdHJtamVdV1JNSURBPTo5Ojg0MzlBSlNeanZ2cW5sZF9aVlJNSkdEQz84NTU4QktVX2t3fHd0c25oZGBdWFVST0xDPTk6PkVNV2Nven9/fHt4c29saGRhXltSSkRBQkVKUltncn9/f39/f397eHRxbmtjWlNOS0tOUlpjbXh/"},"Spine":{"min":[-0.1148,0.0125,-0.1184],"dims":[17,10,23],"data":"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"},"Spine2":{"min":[-0.1761,-0.0184,-0.1297],"dims":[25,19,22],"data":"W1NMRDw0KyQeGhgVExISFBkmMzxDS1RMRT82LyUfGRUSDw0LDBEVICkvN0BLRD03MSkhGhURDQoIBggOEhUeJCw3RT03MiojHBcSDgoHBAMHDBATFBclMUE4MzEoHRkVEQ0JBQIBBQoNEA8XIDBBODIwKyQeGhAMCAUB/wMHCw4RGCYyRDw2NDMtJyQfHBcS//4BBAgLERsoNEY/OjnEODMxLCkl4e77/gIDChMfKzhJQj3Ew7+/Pjo3zdvm9/v9Aw0YIy8+RDw1zs7LycXEzdPb6fP7AwwWHy85REA2L9XY2NXSy9nl5PX9Bg8bIiw1QE0/NCwk4OPj3tXh8fkSCRIbJC03QUpXQTcsJBvq7ufe5P0FDRUeJi84QkxVX0Y7MCceFBDo4+YWERkhKTI6RE1XYWpNQjguJRkZHx8eHRwlLTU+Rk9YYmx2VUtBOC0nJignJycsMTlBSlJaZG13f15VTEQ7NjU0MjI0Nz5FTVZfZm94f39pYFdPSERCQD8/QURKUVlianJ7f39/dWtjXFVTT05NTU9SVV5mbnZ/f39/f1JHPzgwKCEYEQ0LCAYEBAYWIjA5QElKQTozLCMbEgsHBAL//v4DBxwlLDQ9QTkyLCYeFg0HA//8+vf7AAQRGB8oNDsvKyQeFxAJBAD8+PX0+f4CBAUTIC43LCUiHRELBwP/+vbz8vf7/wEDCx0sNywkISIZFBEB/vr28/D1+fz/BBAhLzkvKScqJN8e4+jq6vLv8/b6/QgUIS88Miwr0c7RLdbZ297m7PDz9v8LFyg0QDcx0M3GwzzIys3W4Ont9gAFFh8rOjowKtnX083IxM3V3eXu9wELFR8oNEA4LCLj49/d1c7Z4enx+gMMFiAqND5INiofGO3y6eLY5O31/QYOFyArNT9JUzktIxcG/vbv7fD5AQkRGiMsNj9KVF4+NCgbEwoE8Pz+Aw0VHiYvN0FKVF5pRzwwJx8YERMLDREXISoyOkVMV19pc1BFPDQsJSIfHhwfJC42PkZPWGFqdH5aUUhAOTIvLCwrLTI6QkpSXGRsdX9/Zl1VTUZCPTs6OT1ARk9WX2dveH9/f3JqYlpVT0lJSUhMTlNbY2tze39/f39JPzQqJBwVDQb//vv5+Pft59zPOkFJQjguJyAYEAj/+vf08vDw9e3i2dM1PjsxJiEaEwoC+vXx7uvp7fL27OXfKTU0KCEZEwwF/Pby7ern5uvv8/X26iEvLiIXFAsF//n18Ozo5ePp7fDy9u4fLTAiFxMZ7fj18+/r6OTj5+vu8PwKHiswJBvn4d/h4uHi4eDj4eTo6/P+EB0qMygg4t3T0tPT1dbW197h6fP8CBMiLzYrJN3Yz8TExcfIzdbf6fP+CBAcKDQyJh3l4NfMx8HJ0dni6/T+CBMdJTE9LyMZ7u/k29PO1d3l7vb/CRMdKDI8RzEjEQT58Ojg2uDp8voDCxQeKDI8R1EyJRkOBfz07u3u9f4GDhcgKTM9R1FcOi0jGhEJAv38/QEKEhojLDU+SFJcZkI4LiUeFhALCwwPGh4nLzhASVNdZ3FOQzoyKiQdGhkbHSMsMztETlVeaHJ8WE9IPzcxKykoKi4wN0BHUFhianN9f2RcU0tFQDo4Nzk9PkRLVVxkbXd/f39xaWBZU05JR0hIS1FZWGBpcXl/f39/RTYtIBYQCAL69PHu7Ovp4t7VycG6sz0yJRsUDAT89Ozp5+Xj4+fh2dLNxkM3KR8VDwf/9+7n5OHe3N/k5+Dc19A6MSIXDQgB+vHp5N/c2Nfd4eXn4+DYMi0bEAQA+fLr5uLd2dbW29/i4+nrHSkqHgn+8vLs5+Th3dnV1Nnc3+v4BhMlKRoL/O3e3tvZ2NXU1dLW3Obw/AsYJiwfFO/n2tDOzc3My8zS3Obx+wURHSsvIhnq49jKwcDBwsvT3efx+wYQGSUxLR8V7+zdz8fDxs7X3+jy/AYQGyUtOiobDP7v4tvU0NLa4+v0/QcRGyUvOkQtHg8C9+/o4d/g5e/3AAkSHCYwOkRPMyQXCgT89e7t7/P5AwwVHicxO0VPWTgsJBgRCQL9/P7/Bw8YISoyPEZQWmRCOC0lHhYQCwsNDhUbJi01P0hRW2VvTUI6MisjHBoaHCIiKDM6QUpTXmZwelhORj83MSspKSovMDY8Rk5YX2hye39jW1NMRUE6Nzo5PUBESlNZY2t0fX9/cGhhWVNPS0lKSk1TWldfZ254f39/f0E0JxsMBPz16Ojk4uDb19TRysG5s604KyASBwD48Onh3NrY1tXW1M3Iw763MiUXDAH79Ozj2tXT0c/R1tXTz87LPS0eEAX99u7m3tXPzsvKz9PW1tzd2DIpGwz+9e7o4NnUz8vHyM3H1OLv6x0pKRoL/O7n4NrQ0s/Lx8bKz9nn9P4WJCkaC/zt3tXUzsvJx8bFz9nk7vkGEiUpGgv87d7PxsTDwcDGzdrk7vkDDRonKRoL/O3ez8C5uMDI0tvl7/kDDhghLikaC/zt3s/NxsXM1N3m8PoEDhgjLTkqGgv97uPg2dPU2N/p8vsFDxkjLThCLB0MAfbx6ufi4uTs9P4HEBokLjhCTTIhFgsE/vfy8fHz+QESExwlLzlDTVc3KyAZEgsF//8AAQUOFSIoMTpGTlhiQTUvJR8YEg0UDxAUGiIqNT1GT1pjbUtDOjIsJh4cHx0jIikvNz9KUltkbnhXT0ZAOTMtMzU1OTE1PkRLVF5ncHl/ZFtVTkdCPEBBQkU/Q0pQWGFpc3x/f3BpYmJaU09NT09QVVhdZW94dX9/f38/MiQWCfzw49vY2NbPzMnGw762r6qnOSsdEQP27OTd1dDNy8rGx8XAvLi0tDEjFQn87+jg2NDJxsTCxMXGxcrKx8AsHQ8B9Orj29PLwsC9vMDEyNHX19M1KhsM/u/k3dXNxcG9ubq+w9Da4uMiKikaC/zu39XOx8TAvLi4ws3X4u/tGSMpGgv87d7PyMK+vLm5w83X4uz2Aw8hKRoL/O3ez8C5t7W7xM7Y4uz3AQoXIykaC/zt3s/Du7i/x9DZ4+33AQwWISspGgv87d3W0MfEzNDc5e74AgwXISs2KRsL/e/r5N3T1Nnh6PD6Aw0XISw2QCweEAL6+PHq4uPm7vT8BQ8YIiw3QUsxIxoOBwT99/Hy8/oCCREaJC03QUxWOiwiGxUSCgMAAQEFDxYeJi85QkxXYkE5MSgiHhQRDxAOFBwkKjI7RE5XYmxNRTw1LykjIB4fIiInMDk/R1BZY212WVFJQzw2MS8xLi8wNT5FTFRcZW94f2ZeVlBKQ0A9PTs8P0NJUllgaXF7f39ya2NjW1NNSEhHSExPVV5mcHV9f39/PTAiFQf649bPycjEwb67t7WxqqysqjcpHA8B9ObY0MjEwb+6uLi3sre6u7gwIRYI++3g1MzEvLm3ta+ut7/EyMjFKx0PAPTn2s/Hv7exr62rtsHL09bWLyobDP3t39PKwrqyqqSstsDL2ODl4iUpGgv87d7Pw7y0q6KstsHL1uDs+RIfKRoL/O3ez8C1raaut8HM1uDr9QANGigaC/zt3s/AsaexusPK1uHr9QAKFCEnGQr77N3Pxbu3wMfO2OHr9gALFR8qKBkK/O3i2tDIxs3R2+Pt9wALFSAqNSocDf7y7ufd1dLa4enw+AIMFiArNT8wIhIGAvvy6eDh5u/2/AUNFyErOEBKNSkaEg4I/vbv8PH7AwoRGSIsNkBKVT0xJh4bEwsB/f//BRAXHyYuN0FLVWBFOjIsJx8UDwsMDBMcJCwyO0NMVmJqT0Y+OTMrIRweGhsfJzE5QUdPWGNtdVtUTEY/NiwpKCYnKjE8RE1VXmltd39oYFlRSUE5NDMyMzg8Q0xWX2pzeX9/dG9lXFRMQ0A/PkBDSE5WX2hxfH9/fzosHhAC7uLUxbq5trOvrKinp6yvr6w1JxkM/vHk1sa7tbKwraqprLS6vr67Lh8TBvjr3tDDuLGsqqmjq7bAyM3NySobDf7y5djKvbSrpKKgqrXAzNXb29YqGwz97d7RxLavpp6gq7XAytbj6ekfKRoL/O3ez8CxqKGhq7XAytXf6vcFGCgZCvvs3c6/sKOmrrbAytXf6vT/CxkoGQr77N3Ov7Wos7rCy9Xf6vX/ChQfKBkK++zd1Mm9uMHHz9fg6vT/ChQfKSkaC/zv6N7Rx8TN1Nzk7PX/ChQfKTQuHw4C/PLk29TQ2eLp8PgBChQfKjQ/MSIWCgb98Off2+Xu9/0FDRYfKjc/STYqHxsSBfvz6+vv+gMKEhkiKzQ/SVQ+MywkGg8H/Pj5+wUPGB8mLjdAS1RgST42LiQZEggEBQYMGCIsMztDTFVgaVJKRDguJR0VERIRGB4qMz5IT1hhanVeWU1COC8nIBwdHyMqMjxET1xmbXZ/amFWTEI6MiwoKisvNT1FTlhlb3l/f3ZrYFZMRT44NTU4PUFJT1hha3V/f385Kx0PAfPh08S2qqiloZ2Wn6esr6+sNCUXCfzu4tPFtaelop6aoay0ur6+uy0dDwP26NrPwLKkoJ2Vn6u3wcjNzckpGgz+7+PVyLqtoJiWnqq1wMzV29vWKhsM/e7fzsK0p5uVn6m0v8rU4unpHykaC/zt3s/As6SZoKq0v8fU3+r2AxgoGQr77N3OwbOfpa62v8nU3+r0/woXKRsH+evd0MO3qbC6wsrU3+n0/wkUHysdCvzu49fLwLe/xc/X4On0/gkUHykqHA0B9+zh1MfBy9Dc5Oz1/gkTHik1LSATBgH26NvPzdjg6PD4AQoUHik0PjImGxUL/e/i2tji6/T9BQ0WHykzPkk6LyccEAT37uXl7Pb/CRIaIis0PklTQjkyJRgMAfnw8PP+CBIdJi83QElTXk1EOS0fFQsD/f3+BhAaJDA6Q0xVYGhYTkE0KR8WCwgJChAZIis5QExYYWpzYlVJPjMpIBcUFRccIys0PklVYW12f2peUkc9NCwlIiMlKzA3P0ZSYGp1f39yZlpPRz84Mi8xMzk+Q0pRW2dyf39/OSsgEgT259XGt6iZlpKOlp+mq62tqzIlGA3/8ePVxranlpSQlqGqs7m8vLguIBIE+eze0MKzpZKPlZ+qtr7GycnFLRwOAPTm2Mu9r6CNlZ+qtL/L0tfW0SobDP3x49TGuKqcl6GqtL/K1ODl5CQpGgv88OLUxbenmaCstb/K1N/p9QEbKRoL/fHi1Ma4n6Wtt8HK1N/p9P4KFigaDP3y5NbIuamxusPI1t/p9P8JFB8qHA4C9ejazsGzvcXP2OHr9P4JFB4pLR8QB/vv4tXIvsjR2uTt9gAKFB4pMzAmGw8D9+rdz8nS3Obv+QILFB8pMz44KyMYC/7w49XR3Obw+wQOFyApNj5JPzYsIBIE9unf3OTv+QINGSMsNT5JU0dANCQXCv3y6efs9wAKFCAtOEFKU15TRzkrHhIG/PT0+f8IEh4pNUJNVmBpXk1AMyYaEAgBAgcNEholMz1JVWJrdGFURzouIxsUEBAUGh4lLzpEUV1pd39oW09DOC8nIh8fIygsMzpET11nc39/b2RXTUI7NS4uLTE2Oz9HT1lkbnx/fz4wIhkS6t/Rw7WmgoGEj5miqa+xsa44Kx0OAPLf0cO0poKDjpmkrre9wL+8MSYYCvzt39HDs6SDjZiirrrDys7OyTIiFAb36drMvrCijZiirbfCztfc3NYsIBIE9ebYybqsnZiirbfCzNfi7uofLiERA/Xl18i6q5yhrbfBzNbg6/cDGSwhEgT15tjJup+jrrjCzNbg6vUACxctIhMF9+jZyryqrrnDy9fh6/X/ChQgLiQVB/nr3cm/tLjDztjj7PYAChQfKjQnGQz98OPWybzDzNjj7vgBCxUfKjQ4LB4RBPfq3dDDzNbh7vgDDRcgKjQ/PzMmGAz/8eTWy9Xg6fUBDhgiLDU/Skc6LiATBffq29re5vD8ChYjLTdASlRPQjgnGQv97+Po7PD5BBEdKzhCTFVhV0g6LB4RA/fx9Pv+Aw0ZJTNATVdhamFOQDIkFwsDAAMJDRAYIjI8SFVjbHZhU0Y4LCAXEQ8RFRseJCw3Q1FdaXZ/Z1pNQTYrJCAeHyQqLTI6Q0xcZ3J+f29iVktBOTIvLS4yODs/RU9ZY218f38/MCIbF+TZzL+wooGBh5KcpayxtLOwOyweDwHy4NHCs6SBhZCcp7G6wMPCvjcoGQv97uDRw7Wkg46apbG+xs3R0Ms2JRYI+erczr+xoo2ao7C6xtLa394oMyQVBvfo2cq7rZ6Yoq+5xdDb5/LsHjIjFAX26NnKu6ydoq24xMza5O/6BhgzJBUH+Onay7ygo664w83Z4+74BA4aMyUWB/jq28y9q625w8vY4u74Aw0YIjUnGAn67N7KwLW3ws7Z4+33Ag4XISw4KhsN//Hk18m8v8vX4+74AgwXIyw2PC4gEwX3697QvMfU4O34Aw0XISw2QUI0JxkN//Lk1sbR3Oj1Ag0YIy03QUtIOjAhEwX46tzZ3+fx/QoXIi04QkxWUEU7JxkL/e/l5+zz/AcSHis4Q01XYVpIOy0fEQP29PX6AAcQHCYzP01YYmxkTkAyJRcKAgIECA4UGyQxO0dUY213YlRGOCsfFhAREhYcIScvOkVQXGl1f2daTD80KiQgICEkKS81O0RPW2dxfX9tYVRKQTgxLy4wMzc9QUdQWWRufH9/PzAlGxfk2c2/saKBgYiSnaatsrW0sTstHhAB8uDRwrSlgYWQnKmyusHDw783KBoL/e/g0sO1pYSPmqWxvsfP0tHMNCUXCPrr3M2/saKOmaWwusbS3+HgKDMkFgf46drLvK2emKKuucXQ2+f0Ex4zJBUG9+jZyrusnaGtuMPP2uXw/AgaNCUWB/jp2su8oKOuuMPN2eTv+gUQHDQlFwj56tvMvautuMPL2OLu+QQPGiQ2JxkK++3eysC1t8PO2ePt9wIOGSQuOCocDv/x5NfJvL/L2OPu+AIMFyMtOD0vIBMF+Ovd0LzH1ODt+AMNFyEtOEJCNCcZDP/y5NbE0dzn9QINGCItN0JMSDswIRMF+Orc2N/n8fwIFiItOEJMV1BFOycZC/3w5uft9PwGER0qOkNNV2FaSDstHxED9fX1+gEIERsmMj9MWGJsZU5AMyIVCQEDBAgOFR0mMTtHU2Ntd2JTRTcqHhQPEhMWGyIpMTtGUFxodX9nWUs/MysiHiEiJCkvNjxFUFtmcX1/bWBUSkA1MS8vMTM3PUNKUVpkb3x/fz4wIhoX5NvOwbOlgYGGkZukq7Cysq85LB0PAfLf0cKzpIGEjpqmsLi+wcG9NScZCvzu4NHDtKSDjpmjr7rEzNDPyjIkFQf46tvNv7CijZmirrnE0Nze3tcxIhQF9ufZyrusnpiirrjDzdjk8OseMiIUBPXn2Mq7rJ2hrbfDzdji7fgEFzEiFAX26NnKu5+krrjCzdji7fYBDBgyIxUG9+nazL2qrbnDy9ji7PcBCxYhMyUXCPrs3snAtbfDztnj7fcBCxUgKzYpGw3/8ePWybzAydjj7vgCDBYgKjc7LR8SBffr3dC/ytTh7fgDDRchKzU/QTQmGQz/8eTWx9Hb6PYCDRgiLDZASkg7LSATBfjq3Nre5fD8ChcjLTdBS1VPRDonGQv97+Po7PH5AxEeLDlCTFZgWUg7LR8QA/by9fv/BQwYJjM/TVhha2NOQDIkFgsCAQMJDhIZITI7R1RjbXdhU0Y3KyAWERARFxwfJS42QlFcaXV/Z1pMQDUqJCAfICQqLTM7Q01cZnF9f25hVUpBNzEuLi4yODxARk9YYm18f388LyETBPbi1MW2p5KPi46Yoaitr6+sNCocDgDy49XFtqeQjYyYpK21u76+ujAhFgj77d/QwrKki4yWoay4wcjMzMgvIQ8E9ujazL2voYyWoau2wMzV2trUKxwNAfPl1se5qpyXoau1wMrV4ObmIiobDADy5NbGuKmboay2wMrV3+r2EBwqGw0B8+XWyLmepK64wcvV3+r0/goXKhwOAvTm2Mm7qbC5w8rX4Or0/woTHyweEAT36tvOwbO7xM7Y4uz1/wkUHyovIBcK/O/i1sm8xtDZ4+33AQoUHyk0NCkdEQP36t3PxtDZ5e75AgwVHyk0PzoxJRgM/vHj1s7a4+z3Aw4YISo3PklDOi0gEgX36dzZ4ev1AAsXIyw2P0lUTEI1JhkL/O/m6Ozy+wYSHiw4QUtVYFZIOisdEQT68fP7/QQOGSYyQU1XYGphTEAyJBgNBQABCQ0QGSMyO0dVYmx0YlNHOSwiGRMPEBQbHiQuOENRXWl2f2hbTUE2LCUgHh4iJy0xOUJNXGZyfn9vYlZLQjkyLy0tMTg7PkZOV2Nte39/OSsgEQP159TFt6ihnpqWlp+mq66urDMlFwr/8OLUxrennpuXlaGrs7m9vbotHxAE9urdz8GzpZqWlJ+qtb/Hy8vHLBsM/vDk18m8rqCTlJ+ptMDK09nZ1CgaC/zt4NLEtqiblZ+ptL/K1OHm5iEnGQr77N7Rw7WnmJ+qtL/J1N7p9REbJxgK++zg0sS1n6attr/K1N7p8/4KGiYYCfvt4dPFuKqyu8LL1N/p8/4JFB8oGQz98uXZzcC2vsbQ1+Hp9P4JEx4pLB0PAfnt4dXIwcnS2+Xs9v8JFB4pMy8iFQ0D9unczsvV3+fw+AEKFB4pMz42KSEXCv3x4tjW3+nz/AUNFh8pMz5IPTErHxAD9uvi4Ojz/AYRGiIrNz5JU0U9NSQYC//27ezx+wUOGSQuN0FJU15QRjksHxMJAPj4+wMMFSEqNkNMVmFoWk1AMycdEwsEBAcNFRsoNT5KVmFrdGJVSDswJx4UEhIVHCEoMDtHUl9rd39pXVBEOTEpIh8fIykvNDtFUF5oc39/cWVZTkU9NjIvMDE3PEJJUFplcH1/fzgrHhAC9ODSxLSyr6yopaKgp6yvr601JRcK/e7h1cS1rqyppqOirLS7vr67LR8QBffp3M/BsqympKGgq7fByc3NySkbDP7w5NbJu66mnpygqrXBzNbc3NYqGwz97t/Qw7WpoZmfqrW/ytXj8OseKRoL/O3ez8CxpJugqrW/yNXf6vcEESgZCvvs3c6/sJ6mrra/ytXf6vT/ChgoGQr77N3Owbeos7vCytXf6vT/ChQgKBkK+uzh1su9uMDHz9fg6vT/ChQfKSkaC/7x6uDSxsTM0dzk7PX/CRQfKTQuHhAF/vTl2tHQ2eHq8PgBChQfKTQ/MiQYDQj77+Xc2eTt9v4FDRYfKTY+STgsIRwQBPnw6Oju+AIKEhohKzQ/SVNANS8lGQ0D/PX19wIMFh8mLzdASVRfS0I6LSIYDwUBAQIJFB8oMjtDTFVgaVZMQjYsIRkQDA0NFBwmLjlFUFhhanRgWExANiwkHBgZGSAmLThBTFhibHZ/bGBVSkA3LyglJSgrMjlBS1RibHZ/f3RoXlNKQjs1MjM2Oz9FTVVeaXR/f387LiATBvjj1cnCwb27t7Swrqqrrq6rNigbDQDz5dfLwb65t7SysbCzuby9uS8hFQf67N/Sxr+3s7Gvqay2v8fLy8crHA4A8+bZy8K6saupp6u1wsvT2dksKhsM/e3f0sW9tKykoau1wMrX4OXmIikaC/zt3s/At6+noau2wMvV4Ov4EhspGgv87d7PwLGppq23wcvV4Or1/wwZKBkK++zdzr+zqLO6wszW4Ov1AAoTICgZCvvs3dHHvbfAx8/X4ev1AAoVHyopGgv87ebb0MjFztTc4+z2AAoVHyo0KxwLAPTw59zU0dri6fD4AQsVHyo1PzEgFAgE+/Hp4eDm7/b9BA0WICo1P0o0KBwUEAb99e7u8foECxIZIi01P0pUPDMoIBsRCQH7/P0FDxgfJi43QkpUX0c8NDAmHRQMCAkKERgkLDM6Q0xWYWpQSEA6MCgeGRUWGhwiLjhAR09YYmt1XFZPRDozKSUhIiMnLTZASlJfaW12f2hhWU5GPTYwLS4wMjhASVJbaXJ5f392bWNZUElBPDs6PEBES1NbZG54f39/PjEkFQjv5d3V0c/MycXDv7y4sKqmpzgqHRAC9Obe19DKx8XCwMC+urayrrUwIhQJ/O7i2tLKw8C9vL2+v8LGx8XBKx0PAfXo3dXNxby5t7W6vsTN0tXTMyobDP3u4NfQx8C6trKzt8HM1t/j4CgpGgv87d7QycK9ubWxt8HM1uDt+hQgKRoL/O3ez8K9uLWyuMLM1+Hr9QEOGykaC/zt3s/AtLGwusTN1+Hs9gALFSIoGQr87d7PxLu4wMbP2eLs9wELFSAsKBgK++ze2NLJxczO2+Tu9wEMFiArNSobDP7w7OXf1dTZ4ejw+QMMFyErNUAtHxEE/Pny6uLi5u72/AUOGCEsNkBKMicYEAgGAPTw8fL7AwkRGiMtNkFLVTwvJBwWEwsCAgAABQ8XHiYuOEJMVmJEODAqJCAVEQ4PDhMdJCoyO0NNV2FrT0Y9NzEtIx8dHSEhJzE5P0dQWmJsdlpSSkQ+OTEsLSssLzU9RUtUXGRud39nXlhSS0U9OTk3ODxAR1FaYGhxeX9/c2tlYFdQSEREQ0RIS1JaYmx0fX9/f0AzJRgL/vbp4uLe3NfU0c3Kxby1r6k3LB8SBfny6uPb19TS0c/PzcfDvrm2MSQWC/327ube1s/Ny8jLz87MzM3JPiwdEAL38Onh2c/Jx8TDyMzP1Nrb1jMoGgv97+rj29PNyMTAwcbF0uDn6B8rKRoL/O3h29TOy8jEwL/Dztjl8vEZJikaC/zt3tPOyMXDwL/Eztjj7fgEESQpGgv87d7Pwr+9vLzFz9nj7fgCDBglKRoL/O3ez8G7t73I0drk7vgCDRcgLCkaC/zt3s/Ox8XM093m7/kDDRciLDcqHQr87uXi3NTU2d/o8fsEDhgiLDdBLB4Q//ny7+jh4+Tt9P0GEBkjLTdCTDEiFwsGAPzz8fLz+gEJERslLjhCTFc3LCEZEw0JAgABAQUOFR4pMDpDTVdjQTYvJiAaFBAPEBAUHSIqMzxFT1hibEtDPDMuJyIfHh8iIiYvNz9HUVpkbXdYUUlBOzUuNTUxNTE1PURLVF1mb3l/ZV1WTkhCPUFBP0A/Q0pQWGFpc3t/f3FqYmVcVlFNTkxNUFNZYWt0dX1/f39CNyobEgoD/PTu6+jm5d7b2NDGvbewOi8hFw0G/vfv5+Ph3t3c4dvUzsjDujMmGhAJAvrx6eHd2tjW2d3d2tbTzDwuHxMJA/z07OPd2dXS0Nba3uDc3igxKx4MAvr07ebf29fSz8/U2Nvk6+wcKCobDPrv7ebg3trW0s7O0tbc6fYEESQpGgv87d7a1tTS0M7Oy9Db5e/7CRYkKRoL/O3ez8vJycfGxtHb5e/6Aw8bKCwfFO/n2sy+vb3BydLc5vD6BA8ZJDApGgv87d7Py8TFzdLe5/H7BQ8ZJC46KRsM/e/i3NjP0dni6vP8BhAaJC45QyweDwH37+ni3+Hl7vb/CBEbJS85Q04yIRYLBPz27+7w8/kBCxQdJjA6RE5YNisgGRAKA/79/gAHDhYgKTI7RU9ZY0A1LSUeFxEMDA0VFB8jLTU+R1BaZG5KQjoyKyQdGxscIyIoLzdCSVNcZXB5WE9GPzgyLCopKzAyNj5ETFdeZ3F6f2NbVExHQTs4ODo9QUNJUVlianN8f39waGFbVVFMS0xMT1RcV19lbXd/f39/SDsvJh4WDwgA+vf18/Lw6OPZzcS9S0A0Kh8aEgoC+fTw7uzq6u7o3tbQyUA4LSMZFQ0F/fTu6+jl4+fr7+fh3NQ3MSUbFA0H//jw6+fj4N/k6Ozu7+bcMS4fEwcG//ny7unl4d7d4ubp6/AXICstHw0B6+zz7+zo5OHd3ODk5+77CBYnLR8V7ube4N/e3tza3Nrd4ebyAA0bKDAkG+fh1tHR0dLS0dLX3ejy/AYSHy0yJx7j3tTIw8PFxczV3ujy/AcRGyczLyMZ6+TZzcbAx8/Y4erz/QcRHCYvOy0bDf7v49rTz9Tc5O31/ggSHCYxO0YtIRAD+O/o4N7f6PD5AQoTHScxO0ZQMSQYCwT89O7s7vP8BQ0WHygyPEZQWjksJBkQCQL8+/0BBxEZIio0PUdRW2VBOS4kHRYQCwoMDhUbJS42P0hSXGZwTkM6MiokHRoZGyEjKTQ6Q0tUXWdxfFlORj84MSspKyovMDY/SE9XYGlzfH9kW1NLRT86ODo5PkFESlRcY211fn9/cGhgWVNOSUZJR0xRWVhfaHB4f39/f05DOjAqIhsSCwcEAgD+/gAWIjA5QElHPTMuJh4WDAUB/vv59/f8DxwlLDQ9PjUtJyAYEAcB/Pj28/H1+f3vGB8oNDgsJR8ZEQsD/vn18u/t8vf7/f4TIC4yJh4bFwsFAPz48+/s6/D1+Pn9BR0sMyceGx4V7v369/Pv7Oru8vX4AA0gLjQpIiDb3uDj4+bn5uvo7O/z9wQRHy03LSbb19DS1NXY2dvg5ens9PsJFSQyOzIs1tLKw8XHycvS2+Hr9f8JEh4qOTYrI9/b1dDIw8vT2+Tt9gAKFB4mMj4zKB3p5uXc1M7X3+fw+AEKFB8pMz1HMyYaE/rx6eHc4+vz/AQNFiApMz5IUjYpHg8F/fbu7e/3/wgQGSEqND5IU107MSQaEgoD/fz+AgsUHCUtNkFJU11oRTkvJx4XFQwLDBAWICgwOUJLVl5ock5EOzMrJB0aGhseJC40PUVOVmBqc31ZUEhAODMsKSkqLDE5QUlRWmJrdH5/ZV1UTkVBOzg4OT0/RU5VXWZud39/f3BpYVlTTklHSEhLTVNaYmpyen9/f39XTkY/Ni4nHhcUEg8MCwsNGCQxOkFJT0dAOTIpHxkSDgsJBgUFCg8dJy01Pkc/ODIrJBoUDgoGAwH/AgcLDhohKjU/NzEqJB0WEAwHAwD9/AAFCQwNESEvPDMsKiMXEg4KBgL++/r+AwYJCREfLTwyKyknHxgVEgUB/vr4/QAEBwsYIzA/NjAuLygjIR0ZFe749/r+AQQLGCQxQTkzMso1zy4rKNzh6/T3+/0CDxsqNUU8N8rHw8E9OTbN2eTx9PYACRQjLzw/NjDU0s/LxsTP1N/n8Pn9DBgbLTVBPDEo3N3c2NbM2+Pm8/wEDhchKzQ/SjovJh7m6Orj1uLv9/8HEBkiLDZASVQ9MicdFfD38OTn+wMLExwkLjdBS1VeQjcsIxQLBOzq7BEPFx8oMDlCTFZgako+NSggGRIaGRkYGyMrNDxGTldhanVSSD81LSYkIyIiIyUvN0BIUVpia3Z/XFNJQTozMjAvLzEzPERMVF5lb3d/f2deVk5HQz89PT0/QUdQWGBqcXp/f39zamJbVFFNS0tLTU9UXGRsdX5/f39/YVlSSkI6MS4lIR8cGhkYGyArNj9FTVlSS0U8NSwoIBwZFxQRExgcJS0yOkNRSkU9Ni8oIRwYFRIPDRAVGh0jKDA6S0M+OTAqJB0aFhIODAoMExcaGx0pNUc/OjgvKCAdGRUQDAoJDREVFxseJjNHPzo4MSskIBgUEAwJBwoPEhUYHys2SkI9PDgyLCkkIBoUBwYIDA8SGCQsOE1GQUFBPDc0LysnIBIDBQkLERcjLzxPSES+vbtEQTw4M9vm/wIEChEcJjM/SkE7x8jHxcLCzNLZ4u/+BxAaIy46R0Y8Ns/S09LPy9ff4ervCA8ZIiw3Qk9EOzIr2tze2tLf6u4XCxQdJi84QktaRjwyKiLk5+LX4e0HFhwfKDE6RE1XYEs/NiwkGxjj3CIaExsnKzQ8Rk9YYmtQRjwyKSEfIyYlJCMnLzdASFFaZG13WE9EPDIsKi4tLSwwMztDS1RcZW94f2FYT0Y+OTc4Nzc4O0FHT1dhaHF6f39sYlpRSkZFRENDRUdNU1tjbHR9f39/d25lXVhUU1FQUFJUWWBnb3h/f39/fw=="},"LeftShoulder":{"min":[-0.1709,0.0105,-0.1308],"dims":[21,14,17],"data":"e29jWE9IQT07OjxCtqyglo96bmNXTEQ8NTAuMTi/s6egmXltYldMQTcvKCUoMMW5r6mheG1iV0xBNysiISQsNkJKUVp5bWJXTEE2KyUcISgzPkVNVnluY1dMQTYsJiIkKjM+REtVe29kWE1COTEtKisvN0FGTVZ8cWVbUEdAOTYzMzc+RktRWn9zaV5VTEhEPj4/QkhOUlhgf3htZF1XUU1KSktOU1hbYWh/fXRsZV9bVlZYXGFjY2Zrcn9/e3VuaWZjY2RobG5ucXZ8f39/fHdzcW9vcXR3en1+f39/f39/f317e3x+f39/f39/f3BmW05DOzUxMDI2xLuwpJ6Xb2RYTUI3LyomJSnPxbiwqaFwY1hNQjcsIh0Z4tjLvrqzqW9kWE1CNywfFg0Y3dHHwkZQb2NYTUI3LCIZDxMeKjM4QUxwZFlOQjcsIBkUEh4pMTdAS3JlWk9DNy4lHh4eJC0zOUJMc2hcUEU8MzApKSouNTo/R1F1al9US0I9ODU1NjpAQ0dOWHluY1pRS0dCQkJFSExNUlhgfHJpY1tVUU5OUFRXWVpeY2l/eHBtZmBcWltdYWNlZ2pudH9/eHFsaGZmZ2ptcHJ0dnp/f39/enVycXFzd3t9f39/f39nW1FGOS4nJCUqz8e9squlnWZaT0U4LSIdGx7b08e8t7CnZltOQzgtIhcMEujczsjDu7FlWU5DNy0iFwoB+OHX083DuGVaTkM4LSIXBwL96SIlLTdEaFtPQzktIhQNCQkUICIqNUJoXFBFOi8jGhQUFRkkJi04RGleUkc7MigkICElJiwuND5JbGBVSkA3My0tMDQ0Nzk/Rk9wZVlQR0E8OTk8P0JERkpQWHRpX1ZQSkdFRkpMT1FTVFtieG5mXlhUUVBSVlpcXmBhZmx9dW1mYV1cXmFnbmlrbW5yd398dG5qaGdna3F3dnl6e35/XlFGPTMkGBcb3NLHvLOvqaBeUUU6MSMYDRHm3NHGwb21rFxRRTkuIhcMAvfl2tHPycC1XlBEOS4iFwwC9+zj3tzUyb1dUEU5LiMYDQL09e/q59wwPl5RRTouIxgKAf8DBggVIS48X1NHOzAlGA8LDhETFRckMT1hVUk+MyceGBgbHiAjJSw2QWNYTD82LSgkJCkrLjAxNj5IZltPRTw6MzAxNjk7PT5CSFBqYFVLRT88Oz9DRkhKTE5TWm5lW1NNSUdHS1BTVVdYWl5lc2tiW1ZTUlNXXmZjZWZna3B5c2tkX11dX2Job3Fyc3V4fVVJPDIpIQ4D7N/Sxrq1saqiVEc8MCUeDgP45tnOxcS/t61VRzwwJBkNAvfs4tPU0szCt1NHOy8kGA0C9+3i5Ofg2My/VEg8MCQYDQP37fDy9O3h08ZVST0wJRkO/ff6/f8BAxsoN1ZKPjImGw4FBQgKDQ8QHCk3WkxANCkdFA8QFRgaGx0kLzpbT0M2LCMeGxwiJSYpKi42QF1SRzwyLCUmLC8yNDY1OkBJYFVLQjo0MjI6PUBCRENGTFNlWlBIQj48PkRJTFBQUVRYX2hfV1FLSEhKT1ZfXl5fYmZscGdgWlZTU1VaYWlsbW5wc3lNQTQoGxgX7+7e0MK1tLCpoUw/MikbDwT57uLUx8PCvbasSkAyJxsPA/jt4tfR09DKwbdLPjImGg4D+O3i3N7g3tbMwUs/MycaDwP47efp6+3v4tXITEA0KBwQBPnx9Pb5+vzp2sxNQTUpHRIG+v8BBAYHCRckMk9DNysgEwoGDA4RExUVHCc1UkY6LyMZEBIYHB8hISMlMDtUST4yKCAbHiUqLDAvMTM7RFdMQTgvKicqMjY7PT0/QUdPXFBGPzczMTY9RElKTE5PVVxhVk1GQT49QUhQWllaXF9jaWdeVk9LSktOUltkaGlqbXF2RzssIBMH+uXf2cu9srCspp9ENyseEQb67+TYzcC/vbmzq0I1KR0RBvru49jNyszLx7+2RDYqHREF+e7j2NLX2dvTyr9DNioeEgb67uPg4+Tm6N/VyUM3Kx8TB/vv6+7w8vP06tzPRTksIBQI/fT4+/7+AAISIS9GOy8jFwv/AAYJDA0OEBkkMUk9MSYaDwYNExgbHB0eIS03TEA0KB4WEhUhJikrKy8wOEFPQzgsJR4dIi00Nzo6Pj9ETFJHPDMtKikuN0FHSUpMTVJYV01DPDY0NjpCS1ZYWVtcX2VeVU1HQkBCR05WYGZoaWtuc0A0JhkM/vLl1czCtquppqKcPjEiFgn98eXazsO4uLaysKk9LiEUEfzx5dnKw8PFxsK9tjkvIxUI/PDk2c3G0dLU0crBOy4hFQn98eXc3t7f4OPf1ss8LyIWCv7y5unt7u7v8evf0TwwJBgMAPTx9/v9/f4AAx0sPjImGg4C9/0FCgwMDQ4SIS9BNCgdEQUBChIYGxscHSAqNUM3KyAUBQkVHyYpKiosLzY/RTgvIhkWFh8qMzg5OTs9Q0pKPzQqIx8gKjQ/R0hISkxPV1BFOzEuLC00P0lUV1dZW15kV01EPTs5OkFHU15mZmhpbHI4Kx8TBfjr3dHCt62ipqajnjUoHRAD9ejc0MW5rq22tbGrNCUZDADz59zQxMLCwsXDv7gzJhgLAPTn29PT0dDR1NLNxDMlFw0A9Ojg4eDg4ODi4NnOMiQaDQH16e3v7+/u7/H04tU1KRsPA/fw+f39/v3+AAMaKTUoHREF+vkDCgwNDA0OER4sOCogFAj9/gsUGxsbGx0gKDM7LiEXC/8IEiAoKioqLC80PT8yJRsQCRAcKDM6OTk7PUFJQzcrHxkWHCcxPUlISEpMT1ZLPzQrJScpMDxGU1dYWFteY1NIPTc0NTg9RlFbZmdnaW1xMiIZCv7x5NfJvLCinKinpaEwIhQG/O/i1ce7r6Snt7azrzAhEwT57N7SysfGwsLFxcK7MB8SBPfr39XY1dTR0dTUz8cvHxED+Ovf5Ofk4eDg4ubc0SwfEQP57Onz9vPw7+/x9ObYLx8SBvru9P4EAv/+/gADFyUwIhQI/fH8CRAPDQ0NDhIcKTQlFwr/9QIQHB4cHBwdICcxNigbDv/8BxQiLCwrKywvMjw9LB8SBgcRHCg1Ozo6Oz1BSD80JxkSExwmMTxKSUlKTE9VRzswJSIjKDI7R1NYWFlbXmNORDs0MTI1PUdRXGdnaGttcTEjFgD16d3Qw7SopqapqqmlLxwOAPPo2s7Bsqa0tbe5t7MwIQ8B8uXYy8jIxsPExsfFwCshFv7w49XX19nU0tPU2NPLLR8U/fDi3eXo6OPh4uPm4NYpGgv97+Tq9Pf38vDx8vXq3S0gDP/x6fT/BgQB/wABAxMhLB0OAfPy/gkSEhAODw8SGyYxIRIE9/gGEx4hHh0eHiEkLzMlFwj6/goXJC8tLC0tLzM7NykcDgEHEx4rODw7Ozw+QUg9LyIUDxQcKDM/SkpKS01QVUM2KyIdIygxPUlUWVlaW19jS0A3MCwwNT1IU15oaGlqbXEwIxjt5+DUyLmooaarrK2sqCwdDv/w4dLHuqertbm7vLu2LR4PAPHi1MbIycbExcnLycMqGw3/8OHS1NfY1dPU19vX0CgaC/zt3tzi5ubk4uPl6eTaKBkK++ze5+/19fLx8vT37uErGQr87erz/QMEAQABAgUSHyocDf7v8/8IDxMQDxARExcmLx8QAvT7CBQdIR8eHyAiJi8xIxQG+AANHCgwLS0uLzA0OzcpGQv/ChQhLjs8PD09P0JIOy8iEg0VHyk1QktLS0xOUVVCNiogGyIqMz9JVlpaW11fY0o/Ni4tMDY/SFRgaWlqbG5xLB8U9una0MS3saqssLKyrqgsHw3+7+HSxrqvsLm/wL+7sy0eDwDx4tLGxMfFxMvNzMnELB8U/e/g1NHV1dTT2N3a2NAqHAn67N3Y3+Pk4+Ll6u3l2ycYCfrr3OXs8fPx8fP2++8fKx0K++zo8fn/AgAAAgUIDR8pGwz+7/P+BgwQDg8RExYbJS4dDwHy+wgSGh8dHiAhJSgwMCETBPcCDx0nLSwtLzEzNjwzJRgK/wsWIzE5Ozw+P0FFSjkrIBINFSAqN0RKS01OUFJYQTQpIBsiKjNBTFlgaF1fYWVJPjUuLTA2P0pWYGtza21vcyobB/nu4tfLxLy3ubi3t7OtJxoNAPHn28/EvLy+xMbFwLktHxAC9Ore0MPEw8rQ1tLNwyscEAH16NvO0dPR1t3j39fMKRoM/fHj1tvf4eDj6e/q39YpGgv+8OPi6O3v7vH3/AIaJSobDADz5/D2+/79/wQJDxolLB0PA/by/AMIDAsOEhYaHyowIBEH+vsHEBUZGh0gJCgsNDIkFQv/Aw8bISYqKy8yNjo/NSgaDAYLFyQuMzg6PUFESEw7LSQZEhcfLTg+RUlMUFJVWkM3LCIiJis2QUxSWWJeYGRoS0A3MDAyN0BLV19mbmxwcnUsHxQB9evg29HCxMjGwr25sisdEAf77+XZz8rLy83LysW9MSMUC//y5dfOzs7O1dzX0ccuJBQJ/PDj0dHR0dvi6OTbzywhEgX36t3X293g5+718OMrLx8SBPjr3uTo6u70+wIIGyoxIBQG+u3r8fX5/AEIDRQhLjIkFgn98fj+AgcLDxUbISk0NicaDgL3AgkOFBkdIiguMzw4Kx8SBQELFBohJyswNTtARj0wJBMODhIgJy40Oj5DSU5SQTYpHxkcIiszO0FITFJWWl5IPTMrJSkuN0BHTlZfYGVobFBFPTg2NztDTFRbYWptcXZ6MyYZCf718ObdztHX0s3FvbUzJhoOA/ru5NrZ2trb1M/JwDcsHxMG+ezg3Nzd3d/g3NXLNSgbDgDz5d/g4ODh5+3q4NMzJhgM/vHk4+Pj4+ry+gAbKTMmGQz/8ujn5ujv9/8GDR0rNCcbDgH27evw9vwDCxMaIzA3Kh4RBfrz9v0DChAXHyYsODsuIhUJ//sDChEXHiQrNDlCPzImGgwGCA0WHSUrMjg/RU1DNywfFxEWGiQrMjlARkxSWkg8MSggHyQqMjk/Rk1TWV9lTkM4MjAxNjY+RkxTXWFnbXJWTEM+PD1BRExTWmBnb3R6fzouJBgKAfvx5uXl5dzXzcG4OS0iFw8D+evo6Ojo6t/VzcM/MycaDQHw6+vr6+zt5uHXyzwvIhQH+vDu7u7v7/D16yEuOi0gEgb58vHy8vLy9v4FHCo6LSATB/z29fX18/oCChEeLD0vIhYKAPv5+fj9BQ4WHiQyPjIlGQ4FAP7+AwkSGiIqMTtCNikdEwgGBgoPFB8nLzc+RkY6LiIWEA4TFxskLDM7Q0tRSj8zKR8aGx8kKzI5QEhPV2FQRDkxKSgoLTE5P0ZNVFxjbFVLQjo3NTU6PkZMVF1iaXB4XFNLRURDQ0dMU1pgaG92fX9DOSwfFhAG/vXz8/Tj3NHEuUM3LCAYB//49vb39/jl2M7DRzgrHREF/fr5+vr6/OniKDRDNigbDwP+/P39/f7/AhMhL0IzJx0OBAAAAAABAQIHDiAuQjUoHBAIBAQEBAQCCBAXIjBDNiofFAwJCAcGCAoRGiIpNkY6LiMYEQ4MCwwPFh4mLjY/STwyJxwXExMRFhshKTI6QklOQTksJR0aGx4iJy02PUZPVlJHPDIpJiMmKi42O0JLU1xlV0xDOTMxMTI3O0JIT1ZfZ3BeU0tCPT0+P0RITlZeY2tze2VcVE9MSUpNUVVcYmpweH9/TUE0KyUcDgcDEQIRHCUwPEpNQjUsHBQLBgUFBQYSHCk2QExAMiYaEQkJCAgJCQoZJCw4Sj0vIxcRDQoLDAwNDhYcJjNIPDAjGRMODw8PDw8QFBomM0k9MCQaFhISEhISExIYHyo2TD8zKCAYFxYWExUXGyMqMTtOQjcuJB4cGxkaGx4lKzQ7QlFGOzMpJCEfICAmKC83P0dNV0pANi8pKCgqLC80OkJLU1pcT0U9NzEvMjQ2O0BGTlZeZ2BVS0M9Ojs9PUJGTFJaYWpyZlxUTEdGRkhKTlNaY2Zudn9tZV1WU1JSVFdbYGZuc3p/f1ZKQDkuIRsVEhoYGiIrNUBNV0lAMyggGhkUFBQUHSQvO0ZVRjsvJh4ZFxYXFxgZIS01P1JGOjAoHxwZGhobGxwjKDA7UkU4LighIB0dHh4eHSEnMDtSRjkvKiQhICEhISEiJiwyPlNKPjQsJyUlJCQlJCYuMjtEV0tCODEsKikpJykrLzU8Q0paT0c8NjEvLS0uLzU5PkZNVV9UTEM8NzQ0NDc6PURJUFdgZVlRSUI9PTw/QUJITVNbZGtrXlZPSUZGR0lJTlNZX2dud29lXVZTUVBSVFZaYWlrc3p/dm5mYF1cW11fYmZsc3d+f39fVExCNy8pJCEnJiYtNT1HU15SSD00LCckIyIjIyovOENPW09FOzIuKCYlJSYmJy43QElbT0U8Mi0qKCsuLyorMDY8RVpNQzs0LywsLCwtLS4vNTxFW05FPTgyLy8vMC8wMDM4P0heU0hAOzYzMzMzNDQ2OD9ETWBWTEQ/Ojg3Njc2ODw/R05VZVtRSUM/PTw6Oz0/QkhOVl1oYFdOSUZDQUFCRklNUlhgZ21jXFVPS0lJSExOUlddY2pxcmlhW1VSUlFUVVhcYWdudX14b2hiXVtbXF5gY2dscXl/f393cGpoZmVnaGtuc3h9f39/"},"RightShoulder":{"min":[-0.1279,0.0106,-0.1308],"dims":[21,14,17],"data":"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"},"Head":{"min":[-0.12,-0.0947,-0.1535],"dims":[18,24,23],"data":"f39/f3pzb2toZWRjYmlmZGZmaWtwd39/f311bmdjXltZWFhYWFhaXV5hZm1yen97c2pkXVhTUE5NTU1NT1JVWFxhaG53fXNpYlpTTUpHRUREQ0VGSU1SWF5lbnh0a2BYUUxGPz08Ojo7PEBCR01WXWRrdW5jWVFJQj05NjQ0NDU1OT1DS1NcY2p0Z11USkE7NjIyMDAwMTM0OkFJUltja3RiV05FPDUzLy0tLS4uLjI4QEhRWmJqdF1SSD43My4sKysrLCwsMDQ9RU9YYGhxXU9DOjMvLCsqKSorKywtMjpCTFRcZW1cTUA3Ly0rKikpKSoqKiswNz9IUFlhaltKPjYtLCsqKSkpKioqKy0yPERNVV1lWko/NTArKiopKioqKikpKjA3QEhRWWFcSz42LSspKioqKioqKScpLjU9RUxWXl1OQjgvKykqKioqKiopJyovNTxDTFReXVFGOzMsKikpKikpKSkqLTI4P0ZNVl9hVko/NzIsKigoJygoKiwxNz1DSVBYYmZbUUY+NjIvKykpKSotMTc8QkhOVV5mbWJZTUU+ODQwLi4uMDI4PUJJTlVbY2tzaWBXT0ZBPTk3NTY5Oz9ESU9VW2JpcnxyaGFYUkxHQ0FBQEFESUxSVlxiaXB4f3tyamJbVlJOS0pKTU1RVFhdY2pwd39/f3t0bWZgXVhXVVVWV1pdYWdrcXh/f39/f313cGtnY2NfX2FhY2dqbnR5f39/f39/eHFsZmJgXFxaWV1bWlpbXV9kbHR/fnVtZmFbV1NRT01NTE5PUVJVWmJmcH50a2NbVU5LR0RDQ0NDQ0VISk1UXGJsdWthWVFKRD87OTg4ODg7PkBFS1FZY21tY1lPR0A5NDAvLy0uMDI1O0BJT1dgamZbUUc+NzMsKScmJicoKzA4P0dPVl9pYFRKPzcvKiUiICEiIiMnLTU9Rk5WXmhZTkM7MCkjIh8eHh4fICQrMzxFTVVfaVZJPjQqJCAeHBwcHR4eIikxO0NMU1tmU0U7LiYfHRwbGhscHB0fJC42QEhQWGFRQzgsIx4cGxoaGhsbHB0iKjM8RU1VXlBBNSkhHRwbGhoaGxsbGx8oMDhBSVFbUEE2KCAcGxsaGxsbGxoaHCMsNDxFTVdRQzYqIRwaGxsbGxsbGhgbISgwN0BKU1JFOSwjGxobGxsbGxsaGRwhKDA3P0lSVUk9MicfGxoaGxoaGhobHiUrMjhBSlRZTUI3KyQdGxoZGBkaGx8kKjA2PEROV19TSD8zLCUfHBsaGh0gIyowNj5CSlJcZVpPRj0zLSgkIiEhIygrMDY8RUlQWGFsYlhORj85MS8qLCstLzM4PUNJUFdeaHRqYVlQSEI9OTY1NTY4P0BFSlFWXmVve3JpYVpUTUdEQUA/QEJGSExSWF9lbnd/e3RrZF1XU05MSkpMTE5RVltgZm92f39/fHVtZ2FeWFdUVFZWWFxfZGpwd39/f395cWplYFxYY11XVFNRT09PUFNaYWp/d25mX1hTTktIRkVERENFRUVHTFNbZXZtZFxUTUdEPzs7ODg4ODo9PkBFTldibmRaUUpBOjYyLy0sLC0uMDQ4PURLVV9mW1FHPzcxKyckIiMjIyUoLjU8QklTXGJTST82LScgHxoZGRkbHSMrMjpBSVJcWk1BNy0lHRgVExITFBUZICgxOUFJUVpURjswJh0XEhAPDxAREhceKDA5QUlQWE9BNSoiFxEPDQ0ODg8QFBwmLzc/R05WST0xJRoTDw0MDAwNDQ0RGSIsNDxETFRHOi4iFw4NDAsLCwwMDQ8WHygwOUFJUkY5MSEUDA0MCwsLDAwMDBEbJC01PkdQRjkxIRQLDAwLDAwMDAsKDxggKTE5Qk1HOi4iFQwMDAwMDAwMCwoMFBwlKzU+SUo9MCUXDwsMDAwMDAwLCg0UGyIqMj1JT0E1KRsTDQsMDAwLCwsNEhgeJCw2PUlRRjovJBoSDQsKCgoLDREXHiQqMDpDTVhLQDUsIRoUEA0MDQ8SGB4kKTA2P0dSX1JHPjQsJR0ZFhQWGBofJSowNj1ETlhjWVBHPzYvKSQhICAhJCgsMTc9RExVX2xhWE9HQDk0LywqKistMDQ5P0VLVF1ndGphWlFKQz46NzU1Nzc7PUJHTFVcZXB7c2tiW1VOSERBPz9BQUNHSVFWXWdveX98dWxlXlhUT0xKSkxMTlFUWmJrdnl/f3pyamReWVVSWVVPS0pIRkVERUlPV2F5b2dgV1NMSEVCPz0+Ozs6Ojo6P0hRW29lXFVNRkA7ODQyMS8vLy8wMTQ5Q01YZlxUSkI6NC8qJyUkIyMjJScpMDdAS1VeVEpAOC8oIh0aGBcXGBkcICgvND5HU1pMQTctJR0XEg8NDQ4PEBYbJi00P0ZRUUU6LyUcFA0IBgUFBgcMFBwlLTU9RlBKPzMoHRMLBQH/AQECBAoTGyQsNEBDTEY6LiIXDAQA/v7//wABCBAaIyszPUFJQTUpHREGAP79/f3+/v8FDhcgKDA6QEc+MyYZDQL+/fz8/P39/gEKFBwkLTU+Rz0xJBcL//79/Pz8/f39/gcQGCEpMjxFPTElFwv//f38/f39/fz8AwwUHSUuOUI/MyYaDQD9/f39/f39/PsACBAZISk0QUI2KR0RA/39/f39/f38/P8GDhYdKDRCRTktIRUKAPz9/f38/Pz+BQsRGCIpNUFKPjInHBIHAfz7+/v7/wULERceIy45RU5DOS4kGhILBAH/AAMHDBIYHSUqND9LVUo/Ni0jHBUQDAoLDA8UGR4kKzI8RVJcUUc+NS4mIBsXFRUWGBwgJiwxOkNNWWRaUEdANzAqJSIgHyAiJSkvMjpCS1dhbGJZUkhBOjQvLCoqKiwxMDU8RE1VX2p0a2NbUkxEPzo3NTU3NTo8QUhNVmBpc311bWRdVlBLRUJDQUJBRElMU1tlbnR9f3VsZV5ZVGFYUUxJREJAPTs7Oz5GT1p1amFZUktHQ0A9Ozw2NDQxLy4xNT5IVGlhVk5GPzo1Mi8uMSgmJyUlIicvOENQYFZMQzozLSgkIB4cGhoaGhodISs2P0xXTUI4MCghGxcUEQ8ODg4PExshKTI9SlJFOS8mHhYPCgYEAgIDBAkRGSAnMT5HSz0yJx4UCwT++vj4+Pr/CBAYICcxO0RDNy4gFgsC+vTx8vLz9v0GDxcfJy44Qj4xJRoPBPny8O/w8PHz+wUOFh4mKzQ/Oi0kFQn+8u/u7u7v7/H5AwsUHCMrMj03Kh4SBfnv7u3t7e7u7/b/CBAYICkxOzYpHBAD9u/u7e3t7u7u8vsEDBUdJy47NikdEAP27u7t7u7u7u7u+AAJERohLjs3Kx8SBvnu7u7u7u7u7ez0/AQNFCAtOjotIRUJ/fHu7u7u7u7t7fP6AQkTHS48PzElGg4D+O7u7u7t7e3z+f8FDBUhMj5CNiofFAr/+PLs7Ozu8/n/BQsQGyU4Q0g9MCYcEwoC/Pj19ff7AAYMEhgiLDlGTUI3LSQbFAwHAgAAAQQIDRIXICkzQU1TSkE2LSUdFxENCgoLDRAUGCAoMT5JVV1SSD85LichGxcVFBUXHB0iKjE8RlJdZVpQSUE5MSslIiAgIyEnKC04QkdQWWZuZFxTSUM9NzMvListLS8zOEJMT1tjbnhvZ11VT0ZDPDo6Nzk5PEJGTVZeZ294e3FpYlpVT1xSS0VDPz07ODQyMTc/SVVwZ15WTUhCQDs5NjQxLy0rJyYlKzZBTmVdUkhAOjQwLSsoKSMhIB4bFhokLzxKXVJIPTUtJyMfHRoYFRMSEQ8PFCEtOEVUST0yKiEaFREODAoHBQUFBwkUHSk2Q0pAMykfFg8IAwD9+/n5+fwECxIcJjRARTcrIBYNBP338/Du7e7z+wMLExwjMD08MCcZDQT68erm4+Tl6fL6AwsTGiMsOTkrHhIH/PHo4eDh4uLn8PkCChEZHyo0NCYZDQL26uHf39/g4OTu9/8HDxYdKDUxIxYJ/fHl397e3t/f4ev0/AQMFBonMzAhFAf77uLf3t7e39/f5/D4AQkSGSYzLiEVCPvv4t/e39/f39/j7PT9BQ0ZJzQvJRYK/vHl39/f39/f3+Do8PgBDBkmNjInGQ0B9enf39/f39/e4eft9P4KGSc2NSgdEQb78Off39/e3uDm7PL5AQ0eKzo6LSUXDAL58Ojj4ODj5+3z+f4IEiIzP0A1Jx4TCgH68+7r6+zw9PoABg8dKzVDRjsvKBwTCwP9+Pb19vj8/wYOFyYwPUtOQjktIyAVDQcDAP8AAgQJEBciLThFUlhNQTcwJR0YEg4LCgoMDxQaIyw3Qk1ZYVVLQzkxKyIcGRwWGhgfIScyOkJMV2JpX1dORDw1LyknJyQjJSkuND1FTFdgbHRrY1hQSkI8NzQ1MjQ0OD1BSFFZYmx1eW9mXldQTFlQSEM/PDo2My8tLTA4RE9tY1pRSkM+Ojg7NDEuKyglIR8eJDA8SWNZTkU9NjAsKi8mIyAdGhcTDRIdKjdFWU5DOTApIh4bGRcUEQ4MCQYDBhknM0FPRDkxJRsVEA0KCQYDAP/9+v8IFSIxPkc7LyQZEQkD//z69/Ty8PD3/wcSHyw8PzMnGhAF/fbx7uvp5uTm7vf/BhAcKTg5Kx8SB/zy6uPg3dvY3eXu9v4FDhglMzMlGAv/9Org2NLPzMvc5O31/QQLFCEvLiARBvrt49jO0NDR0dni6/P7AggTHS4rHQ7+9end0cbPz9DQ19/o8PgABRIfLiobDQDz5trQz8/Q0NDT3OTs9P0FEh4wKhsNAPPn2tDP0NDQ0M/Y4Onx+gUSIzIqHA4C9und0dDQ0NDQ0NTc5e35CBcmNC0fEQT57eHX0NDQ0NDP1Nng7PsJGCY3MyMWCf7z6N/W0NDPz9PW4ObyAA0bKjg1KBsOA/rw6ODa1tXX3OHn7PkGEyEyPz4xIhYK/vnx6uTh4OHk6Oz2AQ4aJzVCRDYqIhQKAvv07uvq6+3w9wAKFiIvPEpMQDYoHhkMBP349vT1+P0DCxQfKjlDUFVKPDIsIBgQCgYDAwMGChAXICw1QExZX1NIQDYrIx0YFBcREhQYHSMsNUFKVWFoXVRLQTozKighJR8hIiYqMjtBSlZfanNpYVZOR0A6NjIzMTAxNDs/Rk1WX2t0d21kXFZPSlhORkE+OjczLywpKS01QU1rYVhPSEE8ODY5Mi8sKCUhHhsZISw5RmFYTEM8My4qJy0jIB0aFhIPDAwUJTRDV0xBNy4mHxsYFhUSDwsIBQH+ABYiMD5OQjcuIhkSDQoHBgMA/fr39PQCEB4tPEY5LSEWDQX/+/n39fLv7Onq8v4NGyo4PjEkFw0C+fHs6unm4+Dd4urx/AkYJjQ3KRwPA/jt5N7c2tjU0dnh6fH5BRMhMDEjFgf77+PZ0c3MycbP2OHo8PcBDx0sLR4QAfTn29DHwcHCxc7W3+bu9f8NGysqGwz97uHVyr7AwMHBy9Pc4+vz/w4cKygZCvrs3tHFwMDBwcHH0Njg6PIBDx4sKBkK+uzf0sbAwcHBwcPM1N3n9gQTITApGgv87uHVycHBwcHBwcjR2ev5CBYlMysdDv/x5dnPxcHBwcHCyNHg7vwLGSg3LyETBffr4NbOxsHAw8fO2OXzAQ8dLDo1JxkMAPPn39fQzMvMz9Xg7PkGFCI1QTotIRUI/fLo4dvW1dba4er1AQ4bKDVDQjYpIRIH/fXt5+Xk5eju9v8KFiIvPElLPjUnHRgKAfv28/Pz9/wCCxQfKzlDUVNJPDIqHhYOCQUCAgIFCRAXICw0QEtYXlFHPDMrIhwXExERERQYHSQsNUFKVWFnXFJKQDcwKiUiICAgIiYrMTpBSlVfanFnX1RMRj44MzEvLy8xNTs/RU1WX2t0dm1kXFVOSldNRUA9OTYxLispKS01QUxrYVhPSEE8NzU5MS4rJyQfHRoaICs3RmFYTEM7NC0pJi0jIBwZFREOCwsWIjNCV0xBNy4mIBsYFRQRDgoHAv/8/xUhLz5OQjcuIhkSDAkHBQL/+/jz8PEADx0sO0Y5LSIWDQX++vj28/Dt6ebi7v0MGik3PTEkGAwB+PHr6efl4t7b193r+ggWJTM3KRwPA/fs493a2dbPxs3V3ef1BBIgLzEjFQj77uLXz8vKyMLDy9Tc4/EADhwrLR4QAvTm2c3CvLu5ucLK0trh7v0MGyoqGwz97+DSwrixsbK2v8fP1+Dv/g0cKygZCvvs3c7AsbGysrO7xMzU4/IADx0sKBkK++zdzr+xsbKysri+yNHn9QQSIS8pGgv87t/QwrWysrKytL7N1uv5CBYlMysdDv/x5NbJvbSysrK2xNLg7/0LGig3LyETBffr3tLHvri3ubzC2OXzAQ8dLDs0JxkMAPPn3dLLx8bHxMvg7PkGFCI2QjotIRQI/PLo4NnV1Nba4er1AQ4bKDZEQjYpHRIH/fTt5+Tj5eju9v8KFiIvPElKPjQnHBIJAfv28/Lz9/wCCxQfKzhEUVNJPDInHhYOCAQCAQIFCRAXICw0QEtYXlFHPDMqIhwWExAQERQYHSQsNUBKVWFnXFFJPzcwKiQiIB8gIiYrMThBSlVfanFnX1RMRT04MzEvLi8xNTo/RU1WX2p0d21kXFZPSlhORkE+OjczLywpKS01QU1rYVhPSEE8ODY5Mi8sKCUhHhsZISw5RmFYTEM8My4qJy0jIB0aFhIPDAwUJTRDV0xBNy4mHxsYFhUSDwsIBQH+ABYiMD5OQjcuIhkSDQoHBgMA/fr39PQCEB4tPEY5LSEWDQX/+/n39fLu7Onq8v4NGyo4PjEkFw0C+fHs6unm4+Dd4urx/AkYJjQ3KRwPA/jt5N7c2tjU0dnh6fH5BRMhMDEjFgf77+PZ0c3MycbP2OHo8PYBDh0sLR4QAfTn29DHwcHCxc7W3ubu9f8NGysqGwz97uHVyb7AwMHBy9Pb4+vz/w4cKygZCvrs3tHFwMDBwcHH0Njg6PIBDx4sKBkK+uze0sbAwMHBwcPM1N3n9gQTITApGgv97uHVycHBwcHBwMjQ2ev5CBYlMysdDv/x5dnPxcHBwcHCyNHf7vwLGSg3LyETBffr4NbOxsHAw8fO2OXzAQ8cLDo0JxkMAPPn39fQzMvMz9Xg7PkGFCI1QTotIRUI/fLo4dvW1dba4er1AQ4bKDVDQjYpIRIH/fXt5+Xk5eju9v8KFiIvPElLPjUnHRgKAfv28/Pz9/wCCxQfKzlDUFNJPDIqHhYOCQUCAgIFCRAXICw0QEtYXlFHPDMrIhwXExERERQYHSQsNUFKVWFnXFJKQDcwKiUiICAgIiYrMTpBSlZfanFnX1RMRj44MzEvLy8xNTs/RU1WX2t0eG9mXldQTFlQSEM/PDk2My8tLTA4RE9tY1pRSkM+Ojg7NDEuKyglIR8eJDA8SWNZTkU9NjAsKi8mIyAdGhcTDRIdKjdFWU5DOTApIh4bGRcUEQ4MCQYDBhknM0FPRDkuJRsVDw0KCQYDAP/8+v8IFSIxPkc7LyQZEAkD//z69/Ty8PD3/gcSHyw8PzMnGhAF/fbx7uvp5uTm7vf/BhAcKTg5Kx8SB/zy6uPg3dvY3eXu9v4FDhglMzMlGAv/9Org2NLS09Pb5O31/QQLFCEvLh8RBvrt49jQ0NDR0dni6/P7AggTHS4rHQ7+9end0c/Pz9DQ19/o8Pj/BRIfLiobDQDz5trQz8/Q0NDS2+Ts9P0FEh4wKhsNAPPn2tDPz9DQ0NDY4Onx+gUSIzIqHA4C9und0dDQ0NDQz9Tc5e35CBcmNC0fEQT57eHX0NDQ0NDP1Nrg7PsJGCY3MyMWCf7z6N/W0M/Pz9Ta4ObyAA0bKjg1KBsOA/nw5+Da1tXX2+Hn7PkGEyEyPz4xIhYK/vnx6uTh4OHk6Oz2AQ4aJzVCRDYqIhQKAvv07uvq6+3w9wAKFiIvO0pMQDYoHhkMBP349vT1+P0DCxQfKjlDUFVKPjIsIBgQCgYDAwMGChAXICw1QExZX1NIQDYrJh0YFBcREhQYHSMsNUFKVWFoXVRLQTozKighJR8hIiYrMjtBSlZfa3NpYVZOR0A6NjIzMTAxNDs/Rk1WX2t0e3FpYlpVT1xSS0VDPz07ODQyMTc/SVVwZ11WTUhCQDs/NzQxLy0rJyYlKzVBTmVdUkhAOjQwLTQsKSMhIB4aFhkkLzxKXVJIPTUtJyMfHRoYFRMSEQ8PFCEtOEVUST0yKiEaFREODAoHBQUFBwkUHSk2Q0pAMykfFg4IAwD9+/n5+fwECxIcJjRARTcrIBYNBP338/Du7e7z+wMLExsjMD08MCcZDQT68erl4+Tl6fL6AwsTGiMsOTkrHhIH/PHo4eDh4eLn8PkBChEZHyk0NCYZDQL26uDf39/g4OTu9/8HDxYdKDUxIxYJ/fHl397e3t/f4ev0/AQMFBonMy4hFAf77uLf3t7e39/f5/D4AAkSGSYzLiEUB/vu4t/e3t/f39/j7PT9BQ0ZJjQvJRYK/vHk39/f39/f3uDo8PgBDBkmNjInGQ0B9enf39/f39/e4efs9P4KGSg2NSgdEQb78Off397e3uDm7PL5AQ0eKzo6LSUXDAL58Ojj4ODj5+3z+f4IEiIzP0AzJx4TCgH68+7r6+zv9PkABg8dKzVDRjsvKBwTCwP9+PX19vf8/wYOFyQwPUtOQjktIyAVDQcCAP8AAgQJEBciLThFUlhNQTcwJR0YEg4LCgoMDxQaIyw3Qk1aYVVLQzkxKCIcGRwWGhgfIScyOkJMV2JpX1dORDw1LyknJyQjJSkuND1FTFdgbHRrY1hQSkI8NzQ1MjQ0OD1BR1FZYmx1f3VsZV5ZVGFYUUxJREJAPTs6Oz5GT1p1amFZUktHQ0A9Ozg2NDMxMC4xNT1IVGlfVk5GPzo1Mi8uKigmJyUlIicvOENQYFZMQzozLSgkIB4cGhoaGhodJCs2P0xXTUI4MCghGxcTEQ8ODg4PExshKTI9SlJEOTAmHhYPCgYEAgIDBAkRGSAqNjxHSz0yJx4UCwT++vj4+Pr/Bw8YICg0OkRDNy0gFgsC+vTx8vLz9f0GDxcfKzc4Qj4xJRoPBPny8O/w8PHz+wUOFh4mNDQ/Oi0hFQn+8u/u7u7v7/H5AwsTGyMyMj03Kh4SBfnv7u3t7e7u7/b/CBAYICkxOzYpHBAD9u/u7e3t7u7u8vsEDBUdJi47NikdEAP27u7t7e7u7u7u+AAJERohLjs3Kx8SBfnu7u7u7u7u7ez0/AQNFCAtOjotIRUJ/fHu7u7u7u7s7fP5AQkTHS48PzElGg4D+O7t7u3t7e3z+f8FDBUhLT1CNiofFAoA+PLs7Ozu8/n/BQsQGyU0QUg9MCYcEwoC/Pj19ff7AAULERgiLDlGTUI3LSQbFAwHAgAAAQQIDRIXICkzQU1TSkE2LSUdFhENCgoLDBAUGCAoMT5JVV1SSD85LichGxcVFBUXHB0iKjE8RlJdZVpQSUE5MSslIiMfIyEnKC00PUdQWWZuZFxTSUM9NzMvListLS8zOEJHT1tjbnhvZ11VT0ZDPDo6Nzk5O0JFTVVeZ294f3pyamReWWdfWVVPS0pIRkVERUlPV2F4b2dgV1NMSEVCPz0+PTs6Ojo6P0hRW29lXFVNRkA7NzQyMS8zMi8wMTQ5Q01YZlxUSkI6NC8qJyUkIyMjJScpMDdAS1VeVEpAOC8oIR0aGBcXFxkbICgvND5HU1pLQTctJR0XEg8NDQ4PEBYbJi00P0ZRUUU6LyUcEw0IBgUFBgcMFBwlLTU8RVBKPjMoHRMLBQH/AQECBAoTGyQsNEBDTEY6LiIXDAQA/v7//wABCBAaIiszPUFJQTUpHREGAP79/f3+/v8FDRcgKDA6QEc+MiYZDQL+/fz8/P39/gEKFBwkLDU+Rj0xJBcL//79/Pz8/f39/gcQGCEpMjxFPTElFwv//f38/P39/fz8AwwUHSUuOUI/MyYZDQD9/f39/f39/PsACBAYHSk0QUI1KR0QA/39/f39/f37/AAGDhYcKDNBRTktIRUKAPz8/fz8/Pz+BQsRGCIpNUFJPjInHBIH//z7+/v7/wULERceIy45RU5DOS4kGhILBAH/AAMHDBEXHSUqND9LVUo/Ni0jHBUQDAoLDA8UGR4kKzI7RVJcUUc+NS4mIBoXFRUWGBwgJiwxOkNNWWRaUEdANzAqJSIgHyAhJCkvMjpCS1dhbGFZUkhBOjQvLCoqKiwxMDU8RE1VX2p0a2NbUkxEPzo3NTU3NTo8QUhNVmBpc311bWRdVlBLRUJDQEJBRElMU1tlbXR9f395cWplX1xYVVNXVFJRT09PU1JaYWp/d25mX1hTTktIRkVERENFRUVIT1hbZXZtZFtUTUdEPzs7ODg3ODo7PUBIUVdibmRaUUpBOjYyLy0sLS8xMDQ4PUROWWRmW1FHPzcwKyckIiIjIyYoLjQ8QktVYV5TST82LScgHBoZGRkbHSMtMjpBSVRfV0xBNy0lHRgVExITFBUZICsxOUFJU15SRjswJh0XEhAPDxAREhceKTA4QUlVYE1BNSoiFxAPDQ0NDg8QFBwlLzc/R1FdST0xJRoTDw0MCwwNDQ0RGSIsNDxETldHOi4iFw4NDAsLCwwMDA8WHygwOEFJUkY5LCEUDA0MCwsLDAwMDBEbJC01PUZRRjksIRQLDAwLCwwMDAsJDxggKDA5Qk1HOi4iFQwLDAwMDAwMCwkMFBwkKzU+SUo9MCUXDwsMDAwMDAwKCg4UGyMqMj1JTUE1KRsTDAsLDAsLCwsNEhgeKCw1PUlSRjovJBoSDAsKCQoKDREXHiMuMDpDTVhLQDUsIRoUEA0MDQ8RFx0kKTA2PkdSXVJHPjQsJR0ZFhQWGBofJSowNj1ETlhjWVBHPzYvKSQhICAhIyssMTc9RExVX2xhWE9HQDk0LywtKi8yODQ5P0VLVF1ndGphWlFKQz45NzU1NzY7PUJHTFVcZXB7c2tiW1VNSERBPz9BQUNHSVFWXWdveX98dWxkXlhUT0xKSkxMTlFUWWFncHl/f39/eHFrZmJgXFxhXl1bWlpaXV9kbHR/fnVtZmFbV1NRT01NTE1PUVJUWmJmcH10a2NaVU5LR0RCQ0NDQ0VHSk1UXGJsdWthWVFKRD87OTg4ODg7PUBES1FZY21tY1lPR0A5NDAvLS0uMDI1OkBJT1dgamZbUUc+NzMsKCcmJicnKzA4P0dPVl9pYFRKPzcvKiUiHyEhIiMnLTQ9Rk5WXmhZTkM5MCkjIh8eHh4fICQrMzxFTVVfaVZJPjQqJCAdHBwcHR0eIigxO0NLU1tmU0U7LiYfHRwbGhscHB0fJC42QEhQWGFRQjgrIx4cGxoaGhsbGx0iKjM8RE1VXlBBNSkhHRwbGhoaGxsbGh8oMDhBSVFbUEE2KCAcGxsaGhsbGxoaHCMsNDxFTVdRQjYpIRwaGxsbGxsbGhgbISgxN0BJU1JFOSwjGxobGxsbGxsZGRwhKC83P0lSVUk9MicfGxoaGxoaGhobHiUrMThBSlRZTUI3KyQdGxkZGBkZGx8kKjA2PEROV19TSD8zKyUfHBsaGhwfIyowNjxCSlJcZVpPRj0zLSgkIiEhIygrMDY8QklQWGFsYlhORj45MS8qLCstLzM4PUNJUFZeaHRqYVlQSEI9OTY1NTY4P0BFSlFWXmVve3JpYVpUTUdDQUA/QEJGSExSV19lbnd/e3NrZF1XU05MSkpMS05RVltgZm92f39/fHRtZ2FeWFdUVFZWWFxfZGpwd39/f39/f3pzb2toZWRjYmNjZGZmaW1ze39/f311bmdiXltZWFhXWVtdYV5hZm11fn97c2pkXVhTUE5NTU1NUFJXWFxhaHF6fHNqYlpTTUpHRUREQ0RGSU5WX15lbnh0a2BYUUxGPz07Ojo6PEBCR1BaXWNrdW5jWVFJQj05NjQ0NDU1OT1DTVdbY2p0Z11USkE7NjIyMDAwMTM0OkFJVVtja3RiV05FPDUzLy0tLS4uLjI4P0hTWmJqdF1SSD43My4sKysrLCwsMDQ9RVBYYGhxWk9DOjMvLCsqKSorKywtMjpCS1dgZG1XTEA3Ly0rKikpKSoqKiswNz9HUFphalZKPjUtLCsqKSkpKiopKy0yO0RMVV1lVko/NTArKiopKSoqKikpKjA3QEhQWWFXSz42LSspKioqKioqKScpLjU9RU9WXlpNQjgvKykqKioqKiooJyovNTxET1ReXVFFOzMsKikpKikpKSkpLTI4P0dRVl9hVko/NzIsKignJygoKiwwNz1CS1VYYmZbUUY+NjIvKykpKSotMTc8QkhRWl5mbGJZTUU+ODQwLi4uMDI4PUJITldhY2tzaWBXT0ZBPDk3NTY5Oz9ESU9XW2JpcnxxaGFYUkxHQ0FBQEFESU1QV19iaXB4f3pyaWJbVlJOS0pKTU1TWFxdY2lwd39/f3t0bWZgXVhXVlZYWl5jZ2ZrcXh/f39/f313cGtnY2BfX2FgY2dqbnR5f39/f39/f397dnNwbm1tbW1tb3JydXl/f39/f399d3FsaGVjYmJiY2Vna2xuc3l/f39/e3NtaGFfW1pZWFhZWl5iZWpudXx/f3tya2RfWlZRUFBOUVFTVllhaWxyen99c2piW1ZRTEpISEhIS0xPVFxkanB4f3ZtY1tVTkpGRENDQ0NFR0tRWWJocHd/cWheVE1IQ0I/Pj4/QEFDSU5WX2dvd39rYVhPSERAPjw7Oz09P0FETFRdZm53f2hdUktDQD07Ojo6Ozs8PkJKUVpkbHR8Y1dPRkI9Ojo5ODk5Ojo7QEdOV2BqcHlhVkxDPzw6OTg4ODk5OTs+QktTXGVtdV9USkI+Ozk5ODg4OTk4OTtAR1BYYGlxX1RKQT46OTk4ODk5OTg4OT1ETFRdZW1gVUtCPjo4OTk5OTk5ODY4PEJKUVthamJXTEQ+Ojg5OTk5OTg3ODk9QklRWmBqZVpPRz87ODk4OTg4ODg4Oz9FTFNbYmtpXlNLQz06ODc2NjY3OTo+RElPVl9kbm5jWlBIRD07OTg4ODk7PkJJT1VbZGhydWtiWFBJREI/PTs9PkBDSU5VW2JqbnZ8cmhfV1JMSEVDQkNERktQVVthZ211fH96cWlhW1VRTUtLTE5PU1dcYmludXt/f397c2tlYFxYV1VVV1lcYWZpb3V7f39/f398dm9qZWNhX19iY2dscHF3fH9/f39/f39/enRwbWxqamtsb3J1eX9/f39/"},"LeftArm":{"min":[-0.1143,-0.0929,-0.1023],"dims":[16,29,16],"data":"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RFBcaFhKPjUrKCUmJCowPUhTX2xVSTwyKyQiJSUpLzlCT1toUEM2LCMgHSEhJSo6QktYZU1ANCgeHBoeHSEqMTxJVmJKPS4lGxkXGxkeJy86R1RhSTstIx0XFRkbHSMuOkVTYEg7LCIXFxUYGh4kLzpGU2BIOi0kGhkXGh0hJzQ9SFZiSj4wJiMeHB8iJi43QE1ZZk9COC4rJiQnKi82P0hTXWtVSUA8NjIyMDY7QklSW2VxXlRMRkE8PT1BRUxUXGVueXNqY11XVFJRUlVZX2VsdHxqYVlSTUhGRkdLUFVaYmpzZFpSS0VAPj4/QkdJUFlibF9VS0M/ODY1Nzg9QUlSW2ZaUEc/ODMxMDAvNjxETlhjV01DOzQwLSwpKjE3QElVYFNJQjozLionJiYrND5IU15NQzszLiknJSQiJzM8RlFdSD41MSsnJSMiISUxO0VRXEQ7My4pKiQhIB8kMDpFUV1EOjEtKSokISEfJDE6RlJdRDoxLikuKSIiICUxPEdTX0Y6NDArMyokIiMoMz1IVWFIPzYyLispJyImLTdAS1hkTkM8NjEuLCsqKjE6RE9bZ1NIQDg0MTAvLi81P0hTXmtZTUU+ODQzMzM0OkRNWmRwX1JJQDs2NDU2OD5HUV5oc1xQRT43MjAzNDc9RE1aZXBXS0E3My4sLy8zOT9JVmFsVEg8NTAqKSwrLzY+RlFcalFDOTArJyYpKywxPERPXGhPQjgwKyUoJykqMTpDT1pnT0E3LSomJCcpKzE7RU9baE9BOC8sKCYpLC40PUZSXWlRRjs0MSwtKy4zOkJMVmFtVkpAOzYyMzM2Oz9IUFtmcVxSSUM/Ozw7QENKUFlibHdjWVNOSkdHR0pPVVtja3R/fHRtZ2JfXVxdYGRpbnR8f3RsZF5ZVVNSU1ZaX2Nqc3xuZVxWUUxLSktNUVVbYmx1aWBYUUtIRUVDRUlOU1xmcGVbU0xGQT8+PD1CSVBYYmxjWU9IQj07OjY4PEVMVWBqXFRNRUA8OTY0NDlBSVNdaFVNR0A7OTY0MjE1PkhRXGdSSUM/OTY0MTAvMzxGUFpmT0dAPTg3MzAvLTI7RU9aZk9GPzw3NTMwLy0yO0ZQW2dORkA9ODo2MTAuNDxGUVxnUUhCPjo/NTMxMTY+SFJdalRLREE8OTg2NDQ6QktVYGtXTklEPzw7OTg4PEVOWGNwXFRMR0I/Pj09PUJKU1xncmNZUUtFQ0JBQkFHTldjbXhoXVROSEVEREVGS1FbaXJ9Y1lQSkNBQEJCRUtRWWVveWBVS0VAPDs+P0FFTVRganVcUUdBPjk6Ozw8QUpTW2ZxWk5FPjo2NTg6Oj9HUVlkcFdNQj05NDY2ODo+RE9YZHBXTEI8OTUzNjg7PkdQWmRxWE1EPjo2Nzg6PkJIUlxnclpQRkE+OTo7PkJHTVZganVfVU1HQz5AQEJHTVNbZW95ZFtUT0lHR0hKT1VZYmp1f2xjXFhTUFFSVVleZGpzfH8="},"LeftForeArm":{"min":[-0.0986,-0.0819,-0.094],"dims":[15,28,14],"data":"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QEpVYV5SSkM9ODc2Njk/SVRfX1VLRT05NjY4O0FJU2BiV09HQT06ODo+RExWYmdcVU5GQ0A/QERKUVpmbmRcVU9KR0ZHSlFZYWx1bWVdWFRRT1FUWmBpcn12b2hkYWBgY2Zrcnp/dm5nYl1aWVlbX2RrcnpwaGBaVVJRUVNXXGNrdWtjW1VQTUtMTlJYXmVta19ZUkxKSElKTFBWXmdkXFZQS0dEQkFESVFYYV9XUEtEQj49PkBFTVVfW1JLRkA8Ojk5O0JLVV9ZT0lCPTs3NjU5QUpUX1hOSEA7NzUzMzhBS1VhWFBJQDo2NDMzOUJMVmVbUkpBOzg1NDY6RE5ZZ11VTEQ9Ojg3OD9IUl1oYFhOR0E9PDs8Q0xWYGtmXFJLRkI/P0BIUFpkb2xgVk9KRkNDRkxVX2hzbmRaU05KRkdKUFhibXdyaF5XUk5LS05SW2RteG5lX1lTUE1LTFFXYGl0a2JbVlFOS0hJTVNbZW9pYFhTT0xJR0dKT1hgbGdfV1JMSUdFRUhOVl9qaF9XUEtIRkRFR01VXmlqYFhQS0dFRUZJTlVeaWxjW1ROS0hGSExRWGFrcGhgWFNQTEtNUVZcZG93bmdfW1VUU1RYXWNrdH52bmhjX1xbXF9la3J7"},"LeftHand":{"min":[-0.086,-0.0669,-0.0721],"dims":[13,17,12],"data":"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"},"RightArm":{"min":[-0.1048,-0.0929,-0.1024],"dims":[16,29,16],"data":"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TFZib2RXTUM5MzAzNTo/Rk9aZnReUkg+NjEwMjU5PkRNV2RyWE5DOTIuLjAzNzxCTFdicVNIPTMtLCwuMTU6QEpUYW9PRDkwKikqLS80OkBKVWFuTUI2LCcnKSwvMzo/SVVhbUxBNCwnJicrLjM3QElVYW1PQjctKiUlKSw0OUBKVmJtUkU8My4pKSwwNDpCTVhkcFdMQzw1MjIzNjs/R1FcaHNeVEtFPjs7PD9DSE9XYm14Z15WUEpGRUZKTlJYYGl0f3hwaGJdWlhXWFtfZGtwdn5waGBZVFBOTk9RVltdZGt0a2JaU01KR0ZIS05OUllhamVbU0xGQT8+QEFDQ0hPWGJgVk5HQDw6ODY2ODtARk9bXlRLQz00LisqLDAzN0BKVl1TSkI3LiglJSkrLzQ9R1NdUEU+MykiICEkKCoxOkVRWk1DOC8lHh8gIyYqMDlFUVdMQTcsIh4fISMmKTE6RlFWSz81KiIfICIkKCsyPUlUV0pANCgiJCMlJyswN0FMV1hMQTUrJyYnKSstMjpGUlxbUEQ5MCksLC4wNDg/S1ZjYFNHPDUxMTE0Njc+RlJdaGNYTkQ9ODU4Oj1ARU1YY29pXVVLQj49PkBER01VX2l1bWFXTUdCP0FESE1TW2RvfGZcU0pEQT9AQ0dMUllibHthVkxFPz49PkJFSlBXYGx6XFFIQTs7OzxAQ0lOVV9peVhNRDw5ODk8P0JITlVfanhXS0I6NTY3Oj1BSE1UXmp3VklBODY0Njk8QUdMVV5qdldMQTw4NDY4PUFHTVVfa3daUEdBOzg3Oz5CSE9YYW15X1VMR0E+P0BDRk1TW2VwfGZdVU9JR0dIS05TWGBqdX9uZl9YU1FQUVRXXGFocXt/f3pzbWhlY2NkZmpvcnd9f3tzbGZhXVtZXF5hZGdrcnt0a2RfWFZUU1RWWFlcYmlyb2dfYVpUT01LTE1QU1lhamxjW1hQSkVDQUFER0tQWWNpZ1tQR0A8OTk7PkFFS1RfaGFXS0E6NTM0Njk9QEdRXGZaUUc9NDAvMDM2Oj5FT1piV01EOTIvLS8yNTk9RU5aYVZMQTgxLy4wMjU5P0ZPW2BWSj83MjAvMTM2OT9IUl5gVUlANzMyMjM1OT1BS1VgYVVKQTk0NTU3OTs+RlBaZWRZTkU8Ojo6PD1BQ0tTXmpnW1FIQj8/P0FGSUxSW2RvbGFXT0lGRkdJTVNQWGBrdnFoXldSUFBRUlZbWV9mcXx1a2JaVFFOUFJWW2Bmbnh/cGZdVlJPTk9SVVpfZm53f2phWVJOTEtNUFNYXWRsdn9mXFROSkpJS05SVlxianR/YlhQSkdHSEpNUFVbYmp0f2BXTkhFRUZITFBUW2Jqc39gVk1IRUNFSEtPVFphanR/YVZOSUZFRUhLT1VaYWp0f2RbU05JRkZJTFBWXGRsdn9pYFlTTkpMTVFUWl5mcHp/b2dgWlVTU1RXWl9kbHR+f3dvaWJeXFxcX2JnbHN7f38="},"RightForeArm":{"min":[-0.1004,-0.082,-0.0941],"dims":[15,28,14],"data":"dm9nYFxZWFhaXmJqc3pvZ19ZU1BOTlFVW2NrcmhfV1BLSEZHSU1TXGNtZFtSS0ZDQUFESE5WXWZkWE9IQz8+Pj9DSE5WYF1UTUZAPDo4NztASE9bV01HQjo4MzQzNTxCTVdTSUI8NjIvLi8yOUNMV1FGPzozLiwrKy84QUxXUEY+NjAuKikpLjlETlpRRT84MCspKCkvOkVQXVNIQTcxLSonKzI8SFJfVkxEOjQwLiwvNkBLVmFZTkc9NzMxMDM6RE5aZV5TSkI7NzU0OD9JUl1pZVhNRj48OTk9Q01WYm1lXFFKREA7PUBHUFtlcWpgVU5IQ0FAQ0lSW2ZyZ1xVT0lFQkBCR09YYm5jWlFLR0NAPj9DSlReaWBXTklEQT48PEBGT1pmYFZOR0I9PDo6PkNNWGNgVU5HQDw7OTo9QkxXYmFXTUhAPTo6PD9ES1ZhZVpSSkVAPjw+QkdPWWNpX1hRS0ZDQ0RITVRdZ3BnX1hSTUpJSk9UW2Rud29oYFtXVFJUV11ja3RsZFxWUU1MTE9TWF9ncWVcU01IREJDRUpQV2BqX1ZNRj47OTk8QUlQWmNaT0c/OTUzNDY7QkpUXFVLQjo0Ly4uMTc7Q01XVEpBODIuLCwqLTU9R1FORDo1LiomJCQnLThCTUk/NC8oJCEfHiUrNkJNSDwxKyUgHh0cIS43Qk5HOzEqIh0bFRsgLztGUUg8MCsiHRoXGyUvO0ZTSj4zLSQeGxkdJzM+SVVMQTYtJyEeGyIsNkFOWVBFOjEqJSAhJzE6RVBeVEk+NS4qJyUsNT5JVGNZTUQ5Mi4pKjA5Qk1YaF5RRz42Mi0vMjtFUV1pYVVLQTk1MjE0PUdSXmpjUkdDOzYzMjQ5Q05aZmFORTw4NDIvMDY/SlViYEtCOTYyMC0uMjpFUV5fS0E5My8uKysvN0NPW19LQDkyLSwrKS83QUxaYUxCOzMuLCkrMDZBTFpjUEY/NzIvLjA1OkVPXGdVTUY+OTUzNTtBSlRgbl1VTUdCPz0/QkhRWmZ2Zl9YUkxJSUlNVFpjbmVcVE1IRENDRkhPV19pXVJKQjw5Nzc6P0VOV2FVS0I8My8tLjE2QEZQW1BFOzMsJyUmKS82P0pWTUE3LiciICAkKjI6Q05LPzUsJB8dHiAhKDM+SUg6MSciHRkXFxojLThEQzUqIB4WExEQFyErOERBMSccGhIPCg4VIi06RkAzJhsUDwwHDRgkMjxJQTMnGxQPCwkNGiYyPktDNSkeFhANCw8eKTVBTUY4LSIZExAPFiItOUVRSTswJh0WFBMcJjE8SFZMQDUsIRoZGB8qNUFNWVBEOTAmHhocJC05RVFfVEg9MSoiIR4mLjxIVWFXS0A0LSYkIyYxPUpXZFhHPTctKCQjJi86RlNgVkU5MCsmIx4jKTVCT1xVQzYtKCQhHh8mMT1KWFRCNSwmIR8dGiMuOkhVVUE2KyYfHRwbISw3RlNWRDctJiAdGx8hLDdGU1lHPDIqJSEgICYwOkhVXk5EOzQuKigrLjdCTVplVU1EPjc0MjU6QElUYG1fV09JQ0JBQkZMU11oX1RLRD46OTk8QUdPWGNWSkE5Mi4sLTA1PEVPWk5DOTApJCIiJiw0PUhTSDwxKCAbGBkdIyw3Qk5EOC0iGhQSExceJzI6RUI2KiAXEQ4PExkfKTVAQjUqIBcRDgsLDhgjMDw+MSEXDQoFAwQMFiMvPDsuHRIIBAH+AQ0YJTI+Oy0fEAYC/vkDDxsoNUE7LR0SBv/9+gYRHSo3RDwvIBUJAv/+CRUgLTlHPTEjGA0G/gINGSQzPUpANSgcEQoGBREcKTVBTUM4LCAVDgoLFSEtOUVRRzwwJRkSDA4ZJTE9SlZLPzQpHRYSEhooNEFNW01CNysfGRUUHCg1Q1BjTkE4KB8aFhEbJjNATWRMQTclGxgVEBUiLzxJXUo/NiIZFRILEh4rOEVYSj82IBcTEAUOFyc1Q1RLPzUhFxEODQ4TIjJAVE1BNyQZEw8NDBgiMkBVUEQ7Kh8aFhMWHSY1Q1hVS0IzKiMfHSAmLztIXV1PRj03MS0rLDE6RE9kZlpQSkM+Ozk7PkVPWWxZTkU9NzIxMTQ5QElSXVBEOjErJiQlKC41P0lVSDwwJyAaFxgcIyw2QU1CNSkfFhANDhIaJC87SD4wJBgPBwQFChMdKTQ/Oy4hFQsD/wAGDxghLDo7LiEVCwP/AAIGDx0oNTcpHREHAQX69gIOGig1NSgaDf32DRD4BREdKzg0JhkL+/Tv7voGEyEuOzQmGQz98+7y/QkWIzA9NScbDgD18PUADBkmM0A2KR0RBPn0+QQQHSk2QzksHxQI/fj9CRUhLTpGPDAkGAwB/AENGSUyPkpANCccEAX/BBAdKTZCTkI3KyAUCQQFEyAtOkVURDgtIhULBgUUIS48SVxGOS0eFAwHBhIgLTpIXEM2LBsQCgYDBxwpN0RWQjQqFg0HBP4KGCUzQVBCNCoZCwUC/wMUIjA+TUM1KhcMAwD+ABEfLjxMRTcsGg8GAf8DDR4uPE1JOzEjGRINCg0VIzE+UU9DOSslHxoZGyEsOERWV0o/ODIsKScpLjVATF1hVUxEPzk3NTc8QkxVZlRKQDgyLiwsLzU8RU9ZSz81LCUgHR4iKDA6RVFDNyshGBIPEBUcJjA8ST0wIxgOBgMECRIdKTZDOSsdEQX8+PkAChYjMTw2KBoNAPbw8voGEBsoNTYoGg0A9goFBQAIEyQyMSQXCQH/+/oA+QYUITEvIRQH+QcEBQr9ChckMy4gEgT4FBES8gANGig1LiASBPjrH+j1Ag8cKzcwIRMG+u3i7PgFEh8tOTIiFQj98OXx/QkVIy88MyYYCwD06vUBDRkmMkA0JRsPBPjv+QUSHig2RDkrHxMI/PP8CRUhLztJPC4iFgv/9f8MGCQzQU89MCQYDQD3AA0aJTRDWD8yJRgM//j+DBknNUNWPTAjFQn89/sJFiQyQFA8LiATBvj19wUTIDI+Sz0vIRMF9vPzAQ8dKjlIPjAiFAb58fH/DRsoN0ZAMiQVCgD8+wANHCw6R0Q2KR0UDgsKDBUfMj5MSz80JyAcGhkaHyo5RVFTRjxFOzQxMjY8RD9KWV1RSE5GQD0+QUZNSlRiUkc9NS4qKCgsMTlCTFdJPTIpIRwZGh4kLTdCTkE0KB4VDgsMERgiLjpHOy0gFAkB/f4EDhkmM0E2JxkM//Tu8PkEEiAuOTMlFgf57BgU8gAOGCUxMSUWCPkLCQYDAAQQIS4rHBEEAPz6+PoFAA8eLSgZDgAJAf3/BfYBEB8uKRoL//EPDAwR+QQTIjAoGQv+8eMbG+77BRQjMyobDf7y5Nnl8foJFyU0LBwN//To3en1/w0bKjguHxAC+Ozh7foFEiAuPDEjFAb78OXx/QkXJTNBNSYYCf7z6PUBDx0qOEY4KBkKAfbr9wQTIS8/TTkqGw0D+Oz5BRQjMUBWOiweEQP36vgEEyIxP1M6Kx4PAfXp9gMRHy08TTgqGw3/8ufyAA4cLDpJNygZDf/x5O79CxkoNkU5Kx0MAfPt7foJGCY1RDssHhAF/vv8AAsZKDZFQDIlGhENCgoNFCAtO0lGOi4lHRsZGRwhKjVBTk9FOj81LSgpKzQ8P0pWWk9GSUE6Nzc5PkdKVF9SRz01LyooKSwxOUJMV0k9MikhHBkaHiQtN0JOQTMoHRQNCgsQGCItOUc6LB8TCP/7/QMNGCUyQDYnGQv+8+zu9wQRHy08MyQVB/jqGBfw/w0cKDQtHhIH+AkJCAf/CxIhMCkaDP3/+vr6+gQGEB8uJxgK+wgA/P0E+QURIC8oGQr77A4LDBH6AxIgMSkaC/zvHBob8PwHFSQxKRoL/PHj3Ofz/wkYJzUrHA4C9Obf6/YCDBsqOC4fEQX46uLu+QYRHy09MiQSCfvu5vL+CxgnNUI2JRYI//Lo9QIPHSs6RzgpGgsB9er3BBMhLz9ONygZCwL26vgGEiQzQVc3KRoM/fTp9wUSIS9AUjcoGQr88ef1Aw8fLjxLNSYXCfru5PL/DRwqOUc2JxgJ+u7g7vsKGSg2RTgpGgz98evr+QgXJjVEOy0eEQT9+foACxknNkVAMyUZEAsICA0VICw6SEY6LiUeGRcXGiEqNUFNT0M6OjAoJiUoLjdASlZZT0ZFOzY0NDY7QUtVX1NIPzYwKykqLTM6Q01ZSj40KyMeGxwgJi85RFBCNiofFxAODxMbJC87SDwuIRULAwABBxAbJzVCNykbDgL59PX9CBQiMD40JhgK/fLr7fYDER8tOy4gEgf9CAgK9wMRHSk3KxkN/wP5+fv9BQ4aJjUrGwz9DAT/AgcCDRomNSocDf/wEQ4P+AMOGyk2LB4QAfPkHe75BREdKzgvIBIE9ufl8PwIEx8tOjEjFQf56+jz/wsWIjA9MyYYCv3v7fcCDhonNEE3KRwPAfXx+gYSHis4RjssHxMG+vT9CRYhLz1KPTAiFgr99v0LGSQzQVE8LiIXC//1/QsZJzZEWTssHQ8J/fP8ChgmNUNUOSobDAX57/kHFiQyQEw4KRoPAvXs9gQSICw6STgqHA8C9OnyAA4cKThHOiocEgT36e79CxooN0U+MSMWCf339v8NGyk4RkM2KBwSCwYFChQhLTtKST0yJx4ZFBMXHyk4Q05RRTs4LCcjIiUpNj5KWFtQR0M6NTExMzdBSVRhVkxDOzUxLy8yOD5HUVxNQjgvKCMhIiUrMz1HU0Y6LiUcFxQVGSApMz9LQDMnHBIMCQoPFyEsOEY7LiEVCwP/AAYPGyc0QTUoGxIG/vn7AQsXJDFALiEUBwT++fsBCxckMT0tHxEC9QP//wMOGSQvOy0eDwHyDAkK/wwXIy87LR8QAvPs6/MADBgkLzwvIRMF9vDv9gIOGiUxPjIkFgf59PP5BREcKDRANScZCv349/wIFB8qN0M4Kx0PAvv7/wsXIy46RjwvIRQI/v8CDhomMT5LQDMmGQ0CAwURHio2Qk9DNiseEgYEBhIfLTpFVEM3LSATBgQFDh8sOkhdQTQqHhEGAQILHSs5R1g/MiYaDQL+/wgaKDZEUj0xIxYJ/fr7CBYkNkJPPjAjFgj7+PkCEiAtPEpAMiUXCfz39wEPHSw6SUM2KBoNAvr5Ag4eLDtJRzotIRUNBwMKFSIzP01NQjcqIRoUExcgKTxHU1VJPjguJyEhJCs1P0tbX1JJQjs1MDAyOD9JVGRcUUhCOjY1NTo/RUxXYVNIPjgvKykqLTI8Q01YS0A3LCUgHR4iKDA6RVFFOi4kHBYUFRkgKTM/Sz40KR4VDwwNERkjLjpHOCsgFA4LCAkOFiAsOEY0JBYKAQcICQ4WICw5RjEjFAb5+Pv/CRUiLjlEMCITBfj4+PsGEyAtOEMxIhQG+vv6+wgUIS05RDIkFgn+/v3+ChYjLztGNScaCgICAQEOGSUxPUg4Kx0PBwYFBhEcKDQ/SzwvIhIMCgkKFB8rN0ROQDMnGxENDg8VIy87RlJGOCwhFRAREhkmMj5KVks+MiYaExMTGyQzQE5cS0E4KB0VExQaJTJATmNJPTEkGxMQERcjMD1LX0Y5MB8WDgwNExwtOkhZRDgrGxEKCQoPGig9SFRFNy0cEAgHBwsWJTdDUEY4Lx0QBwYHCRQiNUFOST4zIRQMCAgLFiI1QU9OQjklGxQODREZJjpFUlNJQC8lHxkYGyMtQkxXW01CPDErJyQpLjZCTV9kV01GPTgzNDY7QkxXaWNYUElEQD4/QUZMVFxnWk9GPjg0MzM2O0JKVF5SSD41LyooKSwyOEJMV0tBNy4nIiAhJSs0PEdTQTcrJSIdGhsfJS04Q087LiEYFBgWFxsiKjVBTTgoHA4KCw8TGSIrNUFNNSgaCwQGBwoSGik2Q040JxkNBAcHBxAdKDRCTTUnHA4ICQkIDxwoNkJONykcEggNDAsRHys4RE86LSEWDxAQDxQiLjpGUj4wIhsTFBQTGSYxPUhUQjUqHxkYGBcdKTRATFdGOjAlHRwcHCItN0NPW0w/NSsiHSAfJi87RlNfUUU6MCcgIiMrND5IVWJWST4zJyMiIiYuOUZTYVJGOC4lIR8fIis3Q1FnTkEzKSMcGxweJzE/TWFMPjAmHBgYGRojLjlIW008MSUbFhYWGh8rNkVXTz8xJBwUFhYYHyk2Q1ZSQTUnHhoXFhkfKTZDVlZFOCwkHxsaHSQvOkdZXEk/NS4nIyEnKjVBTF5jUkg/ODEuLS41PUhTZWtbUkpDPjs5Oj9HT1tuamBYUk1JSEhLT1VbZG1hV09IQz89P0JGS1RdZ1pRSEE7NzU1OD1ETFVgUEY+OTMvLS4xNj1GUFpGPTQsKSooKSwyOUJMWEAzKyIeIiImKS82QEpVPTEiGxQYGh4jKzZAS1Y8Lx8YEhUVGB0mMj5KVzouIhkXFhYXHCQxPElXPC8hHBkYGBYcJTI9Slc/MScdHRsbGB8pND9LWUI2KSMhHx4dIiw3Qk5bRjkuJyUjIiAmMDpGUV1KPjIsJicmJCozPklUYE5DOTAsKyspLzdCTFdlU0k+NjAuLi8zOURPW2pYTUQ7NDExMjY8R1BcaWBSSD41MTExMjpCTlpnXE5DOTEuLS4xNkBLV3FZSD40LyoqKi0yPEdTaldHOzEsJycnKzA3Q05kV0Y6MikkJSQoLjZAS2BZRjwxKCQkJCYrND5LX1xJPTMqKCUlJy02QEpfYExAODArKScrMDdETmJlUkc/ODMvLjA2PUhTZ2xZTkdBOzc2Oj9GT1ptdGJYUUtGQ0JDSU5WYXZyamNdWFVUVFZaYGZud2pjWlNPS0pKTFFWXWdvYFhSTEdDQkJESU9WYWlXTkdAQD07Oz5CSVFbZE9FPDYzNjc4Oj9GTlZhST40LCksLjE4PERLVmBFOS8nJiUnKzE2PkpVYEM3LCYlJCQnLTI7R1JeQzctJCYlJCYrMTlGUV5EOS8pKCcnKCkxOUdSXkU7Mi0rKikqLDM9SVRgST82MC4tLSsvNkBMV2NOQzszMzExMDM7RE9aZlJHPzk3NTU1Nz5IU11pV0xDPTo5OTk8QUtWYWxcUUlBPT09PkBGT1lkb2JYTkZCQEBBRElSW2ZxZltSS0Q/P0BCRk9XY29iV01GPzw8PD9CS1Rfa11TSUI7ODg5O0BHUFtmXFBGPzg2NTY4PURMV2JbT0c8NzQ0NDY7QkpVYFtPRT03NTMzNTlBSVNgXlJHPzo2NDQ0OkBLVWBgVUxEPTo2NTk9RE5YYmVaUEpEPjw7PUFJUFxna2FZUkpHRUJGSk9YYWxyamJaVVBNTU5TWGBpc3tzbWdiYF5fYWRpb3h/cm1lX1tYVlZZXWJocHloYFpVVFFQUFJVXGNrdF9WTktIS0lKTFBWXWVuV05HQUBBQ0ZITVNaYmxRRj47ODk7PkJJT1hha05DOzY0NTc4PkNJU15qTEA6MzQzMzY7PkdQXGhLQjk2NTQzNTk9RlBbZ05EPDc2NTU3OT5GUFxnUUZAOzk4ODk5QEdSXWlTSkM/PTw7OzxDS1VgbFhOR0NBQD8/QUZPWGRvXFNLR0VERENES1FcZ3JhVlBKSUhHR0lPVmBqdWZdVVBMS0xMTVNbZG54a2JaVE9PT1BSV11mcHpwZl5XUk1OTlFVW2Nsd2piWlRNSkpLTVFWX2lzZ15WT0lHR0dKTVRbZW9mXFRNR0RERUdLUVhibGVcU0pFQ0NDRUhPV19qZlxRSkVDQkJDSE5WX2lnXFRLSERDQ0VITldgampgV1BLSEVGSEpQWWNtbmRcVlBMSklLT1RcZnB0a2NcV1JRT1FWWmJrdXtzbGRfW1lYWl5jaXJ7"},"RightHand":{"min":[-0.0924,-0.067,-0.0723],"dims":[13,17,12],"data":"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"},"Neck":{"min":[-0.0933,-0.0495,-0.0784],"dims":[14,14,14],"data":"bWRdWFNQT09SVVphanJmXFRPSUdFRUhLUVlhal5UTEdBPTw8P0NJUVpkWU5GQDk1NDQ4PEJKVF9USUE6NC8uLjI2PUVPWlFGPTcwKyoqLjI5QkxXUEQ7NS4pKCgsMDhAS1VQRDw2LikoKCwxOEBLVlJHPjgwLCsrLzM6Q01XVUpCPDUxMDAzNz5HUVtaUEhCOzc2Njo+RExWYWBWT0lDPz8/QkVLU1xmaF5XUkxJSEhLTlRbZG1wZ2BbVlNSUlVYXmRsdWRdVE5JRkVFR0tSWGFqXFRKRD87Ojo9QUdPV2FUTEI7NTEwMDM4P0ZPWk5FOzMtKScnKy83P0lUSUA1LSYiICAkKTE6RFBGPDEoIR0bGyAlLTZBTUQ7LyYfGxkZHSMrND9LRDswJyAbGhoeIyw0P0tHPTIqIx4dHSEmLjdBTUpBNi4oJCIiJiszO0VRUEc9NS8rKiotMjlBS1ZWTkU9ODQzMzY6QUlTXF5WTUdCPj09QERKUVpkZ2BYUUxKSUlLUFVbZGxdVE1GQD08PD9DSVFZY1RKQTs0MTAwMzg+RlBaTEI4MSonJSUoLjU+R1JGOzAoIR0bGx8lLDZBTEE1LCEZFRMTFx4mMzxHPTEoHRQPDQ0SGSEsOEQ7LyMaEQ0KCw8WHyo2QjwwJBsSDQsLEBcgKjZCPjImHhYRDg8TGiMtOUVCNisjGxcVFRkgKDU9SEg9NCskHx4eIigvOENOT0U7NC0qKCgsMTdASlRXTUQ+ODUzNDc7QklTXWBYUUlEQT9AQkdMVFxlWE5GPjk2NDU3O0JKU15PRDsyLyknKCozN0BJVEc7MSghHRscHyUtNkBNQDMoHhcSDxAUGyQuOUY6LSEWDwkGBwsTHSczQDcoHREJAv8ABQ0XIy88NSoaDgX++/wCChUhMDw2KxsPBv/8/QILFiIxPTgqHhIKBP8CBg8ZJDA/PC4jGBELCQoOFR8pNEFCNSshGhUTFBceJjA7R0k9NCslIB4fIigwOUNPUkc9NjEtKywuNDpETFhbUUlCPTo4OTtARk1WYVNJQDkzMC4vMTc9RU9ZST80LSYiICEkKTE6RFBBNSohGhUTFBceJjA8RzktIRcOCAYHCxMdJzRBNCYZDwT9+vwBChUgLjswIRQJ/fXx8/oDDxspNy4fEQX58ezu9gAMGSc2LiASBvrx7e/2AQ0aKDYwIxYK//f09fwFEB0qODUoGxEHAf3/BA0XIi89Oy8kGhEMCQsPFh8qNkNDOC0lHRkXGBshKTM+SkxCODEqJiQlKC01P0hSVkxEPTc0MjM1O0FJUlxQRj02MCsqKy4zOkRLVkc7NCkiHRscICYvO0FNPzQnHRUPDQ4SGSIsOkU1KB0SCAL/AAUNGCMwPC8iFQn99fHz+gMPHCk3Kx0PAvXr5ejw/AkXJTMpGw3+8eXe4ev4BhUjMSkbDf/x5t/i7PkHFSM0LB4RBPfu6evz/gsYJjYxJBcLAfn19/0GEh4rOjcqHxUMBgMECREbJjI+QjgqIBkUERIWHSUwPUhJPjUtJiIgICQqMTpEUFNKQTo0MC8vMjc+Rk9ZT0U7NC4qKCksMThCSlVFOjInIBsZGh4kKzlASz0zJRsTDQoLDxcgKzhCNCcbDwb/+/0CCxYiLjwuIBMG+vHs7vYADRooNiobDf/x5d7h7PkHFSMyKBkK++ze0dfm9QQSITAoGgv87d/U2uf1BBMiMSsdDv/06eLl7vsIFiUzMCIVCf318fP5BA8cKjc2KR4TCQMAAQYPGSQwPkA3KB4XEQ8QFBskLjxGSD0zKyQgHh8iKC85Q05SST84Mi8tLTA1PERNWE9FPDUvKykqLTI5Q0pVRTozKCEcGhsfJS46QEs+NCUcFA4LDBEYISs5RTQnGxAHAP3+AwwWIi48LiATB/zz7vD3Ag4aKDYqGw0A8+jh5O76BxUjMigZC/zu4djc6PYEEyEwKBoL/e/i2t3p9wUTIjErHQ8C9evl5/D8CRYlMzAiFQr/9/P0+wUQHCo3NiweFAsEAQIHDxkkMz5BOCgfGBIQERUbJC49R0g9NCwlIB8fIykwOUNQUklAOTMvLS4xNj1FT1hSR0A3MS4sLS81O0ZNWEg9NiokIB4fIigyPUNOPjUoHxcSDxEVGyQuO0U4Kx8UCwUCAwgQGiYyPzIkFwsB+vb3/QcSHyw5LiASBfrw7O71AAwaJzUsHQ8C9uvm6PD8CRclNCweEAL27Ofp8f0KGCY0LyETBvzz7vD3Ag0bKTYzJhkOBP35+wAJFCEtOzotIhcPCQYHDBMdKDRBQzksIhsWFBUZHycxPklLQDcuKCQiIyYsMztGUVVLQjs1MjAxNDk/R1BbVUtDPDczMTI1OUBHUVtLQTgwKSYkJSgvND1IUkM4LiUeGRcYGyEqMz5JPC8lGxMNCwwQFyErNkM2LB4TCgMAAgcOGSQwPjIoGQ0D/Pn6AAgUHyw6MCYWCgD49fb8BREdKjgxJhcLAfn19/0GEh4qOTMpGg8F/vv8AgoVIS07Ny0gFQ0GBAUJERsmMj8+MigeFhEPDxMaIy04RUU6MSghHRsbHyUtNkBMTkQ7NC0qKCksMDhCSVVYUEdAOzc1Njk9REtUXlpSSUI+Ojg5O0FFTlZhUUc+NzQvKy4yODtDTVdJPzUtJiIgISQqMDpEUEI3LCQdGBYWGiEoMj1KQDYmHRUPDQ4SGSEsO0Y8MyEXDwkHBwwUHCg4QzsxHxUMBgQECREaJjZBOzEgFg0HBAUKEhomN0I9MyMZEAsICQ0VHik5REE4KB8XEg8QFBsjLj1HRDkvJh8bGRkdIyo0P0pLQTcwKSUkJCctMz1HU1RKQzo1MS8wMzhASE9ZXlVMRkE+PD0/RElQWmRhWFFKRUJBQURHTlZdZ1lPRkA6NzU1OT1DTFReUUY+NjAsKysuMzpETFdKPzYuJyMiIiYrMj1FUEU6MCggHBoaHyQsN0BMQjYsIxsXFRUaHygzPUlANCohGRUSExcdJjI7R0A0KiIaFRMTGB4mMjtHQzctJB0YFhYbISk1PUlHOzEpIh4cHCEmLjlCTUxBODAqJiQkKC00P0dSU0lAOTMwLi4xNj1GTllbUUlDPTo5OTxAR09XYWRbVE1JRkRFR0tRWWBpamFZU09LSkpNUVZdZm5hV1BJREFAQENITVReZ1pPR0A8ODc3Oj5ETFZfVElBOTQwLi4yNj1FUFlPRDwzLikoKCwwOEBLVExBOC8pJSMjJyw0PUhRSz82LScjISElKjI7R1BLPzYuKCMiIiYqMjtHUE1BOTAqJiUlKS01PUlSUUU9NC8rKiotMjlCTFZWS0M7NjIxMTQ4P0dSWlxTSkM+Ojk5PEBHTlhhZFpTTEhEQ0NGSU9XYGhsZFxWUk9NT1BUWmBpcXJqY15ZVlVVWFthZ253amFaVFBNS0tOUldeZ3BjWlJNR0VDQ0ZJUFdfaV5UTEZBPDw8P0NKUFlkWlBHQDs3NjY5PkNMVGBXTUQ8NzMyMjU6QElRXVVLQjw2MTAwNDg+R1BcVktCPTY0MTE0OUBHUFxXTUU/ODYzMzY7QklSXltRSEE9Ojc3Oz9FTVZhYFZOR0M+Pj5BRUpSWmVlXFRPSkZGRkhMU1lha21kXVhSUE5QUVVZYWhydWxlYVxZWFhbXmRpcXo="}}`),radii:{LeftArm:[[.083,.0569],[.25,.0672],[.417,.0578],[.583,.0446],[.75,.0526],[.917,.0555]],RightArm:[[.083,.0569],[.25,.0671],[.417,.0578],[.583,.0447],[.75,.0527],[.917,.0556]],LeftForeArm:[[.083,.0485],[.25,.0572],[.417,.0458],[.583,.0367],[.75,.0388],[.917,.0407]],RightForeArm:[[.083,.0485],[.25,.0572],[.417,.0459],[.583,.0367],[.75,.0388],[.917,.0407]],LeftHand:[[.083,.022],[.25,.022],[.417,.022],[.583,.022],[.75,.022],[.917,.022]],RightHand:[[.083,.022],[.25,.022],[.417,.022],[.583,.022],[.75,.022],[.917,.022]],LeftUpLeg:[[.083,.0884],[.25,.0966],[.417,.103],[.583,.0806],[.75,.0737],[.917,.0757]],RightUpLeg:[[.083,.0884],[.25,.0966],[.417,.103],[.583,.0806],[.75,.0737],[.917,.0757]],LeftLeg:[[.083,.0672],[.25,.0822],[.417,.0775],[.583,.0621],[.75,.063],[.917,.063]],RightLeg:[[.083,.0672],[.25,.0822],[.417,.0775],[.583,.0621],[.75,.063],[.917,.063]]}},"x-bot-tpose":{model:`x-bot-tpose`,step:.015,unit:`mm`,grids:JSON.parse(`{"Hips":{"min":[-0.2099,-0.2232,-0.2037],"dims":[29,28,25],"data":"f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/fnt6enp8fn9/f39/f39/f39/f39/f398eHRycG9vcHJzdHV3eXp9f39/f39/f398dW9saWVkZWRlZ2dpam1vc3V6f39/f399dm5oY19cWllaWltbXV9hZWhscXd/f39/eHBpYVtVVVFQUE9QUFJSVVpeZGlvd39/fXRrYltUT01JR0ZFRURISUxSVVthaHF6f3twZVxWUExFQUE8PDo7P0BBSU5UXWRrdX94bmJaUU1GQTs4NTYyMjc3O0JJT1dgaHJ9dWtiWVJLQTs5NTAxLC0xMzY8RUtTXWdxe3RpYFlTSkA6ODAtLigoLi0yN0NIUlxncHt0amFaU0pCPTkwLC4oKC0wMTlCSFJbZ3J8eG5lXlRKQz47Mi4xLCovMTM5QkxTXWh0fnlvZ2BXTkVCPjYyNC0uMTY2O0ZPVV9pdX98cmpjW1FLR0Q9Ojs2Mzg7O0FJU1tjbXl/f3dvaV9XUE1IQj9AOjo9QUNGT1hhaXJ8f39+dW9lXldTT0lFR0NARElLTlReZ293f39/f3t1a2RdWlZQTU5KSUpQU1ddZW53fn9/f39/e3NrZmJeWVZWVFJVWWBkZm12f39/f39/f397c25qZmFeX15dXmJobXF3f39/f39/f39/f3x2c3BraWlpZ2lscnh8f39/f39/f39/f39/f356dXR0dHN0d3x/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/fXx7e3x/f39/f39/f39/f39/f39/f396dXNwb3Bxc3Z6fX9/f39/f39/f39/f395cm1pZmVlZWdpbG1vb3Byc3Z6f39/f396cWljYF1aWlpbXV9fYWJkZmhscHV8f397cmthW1dUUE9QT1FSUlRVWFpeYWZuc3t/dWtkXVZOSUdFREVFRkZISk1PVFhdZG11fnFnYFdQSEJAPDs6OTs6Pj1BRkpRVl1ncHhwZlxQSEM8NzQ0MTAvLzQ0Nz5CSU9YYGx2bmNZTkU/OzIuLSgpJSYsKi41O0NMU11ndGtgVk1FPjYuKykiIB4fJSQoMjY+SVJcZ3JqXlRMRUA1LSkhHiAZGSEfJC00PEdSW2Zxa19VTUc+MywsJR4gGRkgIiMtNj1GUl1ncm5jWVFKPzYvLiQgIhsbISAlKzhAR1NfaHRuY1pSTUQ7NTMoJCcfHyUoKTE7QUtVYW13cmdeV1BFPjg4LystJiYqLS40PkhQWWRwe3dtZF1VTERAPTUyMy8sMTU3O0VOVV1odH99c2piW1FLRkQ8OTo2NDU9PUNKVV1lb3l/f3lwaWJYUk5LREFCPz1ARklMUlxmbnZ/f39/eXJpYVpWU0xJSklGSU5VWV5lb3d/f39/f396cWhjX1xWVFRUUlRYX2NpcHh/f39/f39/f3pybGlmYl5fX11fY2lvc3p/f39/f39/f39/fXh0cm1ra2xrbG90eX9/f39/f39/f39/f39/f356d3d4eHl8fn9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/fXx8fX9/f39/f39/f39/f39/f39/f395dXJxcXFzdnt7e31/f39/f39/f39/f393cGpoZ2ZmZ2tvcHFzdXh3d3h8f39/f352b2ZhXltaW1xeYmZnamxta2ttcHV7f394b2hgWFRRT1BQUlVaXmFjZGFhY2Zrcnp/cmhgWFBKSUVDRUZJSktOTk9RU1dcYmlxe2thWVFIQkA7Ojs6PD4+QEFDRkhNVFpia3RnXVNMRTs2MzAvMDAyMTQ1OTs/REtUXGRvZVpRSD43LyomJiUlJiUqKSwxNj1ETVhga2VaT0Q5MS0oIR0cGxoaHB8lKTA5P0lSX2lkXEtBNzAsIBocFBIQERkXGyUqMjxGUl1pZl1JPzczKx8ZGg8MCwoXERYfJzA9RlFcaWZaSkA5NSkfHhoPEwoKFxAVJCgxPUhSXWllWU5EPTYpIiAWEg8NDRYSGCQsMz1KVF9rZllPRD85LSYmIBYcGBIcFhwmMDZATFhibmldU0tEPDIrKiIeIBgYHyAiKzY8RFBdZ3FuZFpRSkI4MTArJSYiHyQoKjA7Q0tVZW54dGlfV1BIPzk3MC0tKigsNDM5QkxUXGZzf3pwZl9ZUEdCPzo1NTUyNDxARExVXmZven9/eG9nYFdPSUhBPz8/PT9FS09VX2lweX9/f393cGhfWVRSTUlKS0hLUFdaYWhvd39/f39/f3lyamRgXllWVlhXWFxhZm1yeH5/f39/f39/fHVwbGplY2JjZGVoam50en9/f39/f39/f39/f3t2c3Jvbm5xcXN3fX9/f39/f39/f39/f39/f3x7eXd3ent9f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/fn1+f39/f39/f39/f39/f39/f39/f396dXJxcnR2en58fH5/f39/f39/f39/f353cGpnZ2dpa29ycHBzdHZ6eXp9f39/f311bmVgXVxcXF9iaGZmaGpsbm5vcnV6f390bGVcV1FRUVFSV1tcW19hY2JiZGdrcXd/bmRdVU1KRkVFR0pPUlJWV1lWVlhcYWhvd2hfVk5FPz06PDs+QkdISUhISEpOUlhfaXFkWU9GPTc0MC4wMTQ4OTo5Ozw/Q0lPV2FsX1NJPjkyKiYlJiUnKiorKy4yNDlCSFFaZV1QRDw0LCMeGxocGBscHCAkJysxOURMVmFaUEU7LSUcFxMREAoMDRUUGR4kKzQ+SlRfWU9CNy0iHhgMCgcGBQUHChAXHicxPElTXltRQDQqJCMRCxAB//39/wMSExspMDxHVF9dUUI1KicgEgsWAf37++8CBxIcJjQ9SFRhXVBENy8qIhUOFAT//v7uBQoZHig1P0tXY15RRTowLSQaExcLBwQEEwoQHyQqOERNWWViVklAODMpHx0aERQLChYQFyMnMTtIVF5qaFxPRT44LCYgIBgVEhMaGR8mMzhCTFxlcG1gVkxFPzQtKyggHSEdHyosMjxETFZhbXhzaF5VTUY8NjIvKicrKCozNjxFT1dganV/e3BlXVZORT89OjQ1NzM2PURIT1heZnF7f394bmdgWFFMSUZCQURDRUpNVFpfZWx2f39/f3hxa2NdWFVSTk1OTlFSVltiZm10fX9/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f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f399fHt7fH9/f39/f39/f39/f39/f39/f3p1c3BvcHFzdnp9f39/f39/f39/f39/f3lybWlmZWVlZ2lsbW9vcXJzd3p/f39/f3pxaWRgXVpaWltdX2BhYmRmaGxwdXx/f3tya2FcWFRRT1BPUVJSVVVYWl5hZm50e392a2RdVk5JR0VERUVGRkhKTU9UWF1kbXV+cWdgWFBIQ0A8Ozo5Ozs+PkFGSlFWXWdweHBmXFFIQzw4NDQxMC8wNDQ3PkJJT1hgbHZvZFlORT87Mi4tKCklJiwqLjc8RExUXWd0a2BWTUU+Ni4rKSIgHx8lJCgyNj9JUlxncmpfVExFQDUtKSIeIBkZIh8kLjQ8R1JbZnFrX1VNRz4zLC0lHiAZGSAiIy02PUZSXWhybmNZUUo/Ni8uJCEjGxsiICYrOEBHU19pdG5kW1NNRDs2MyglJx8gJSgpMTtBS1VhbXdyZ15XUUU+ODgvKy0mJiotLzQ/SFBZZHB7d21kXVVMREA9NTI0Ly0xNjc7RU5VXmh0f31zamJbUUtGRDw5OjY0NT09REpVXWVveX9/eXFpYlhSTktEQUI/PUBGSUxTXGZudn9/f395cmlhWlZTTEpKSUhJT1VZXmZvd39/f39/f3pxaWNfXFZUVFRSVFhfZGlweX9/f39/f39/enJsaWZiXl9gXWBjaW9zen9/f39/f39/f399eHVybmtrbGtsb3V5f39/f39/f39/f39/f39/fnp3d3l4eXx+f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f357ent6fH5/f39/f39/f39/f39/f39/fXh0c29vb3Byc3R1d3l6fX9/f39/f39/fHVvbGlmZGVlZmdnaWptb3N1en9/f39/fXZuaWNfXF5eXFxbW11fYWVobHF4f39/f3hxaWFbVlVTUlBQUFBSUlVaXmRpb3d/f310a2JbVFNNSUlGRURFSElMUlVbYWlxen97cGVdVlFMRUFBPTw6Oz9AQklOVV1ka3V/eG5iWlFNR0E7ODY2MjM3NztCSU9XYGhyfXVrYlpSS0I8OTYwMSwtMjM2PUVLU15ncXt0aWFZU0pAOjgwLS4oKC4tMzhDSlJcZ3B7dGpiWlRKQj05MCwuKCgtMDE6QkpSW2dyfHhuZV5USkM+OzIvMS0qLzIzOUJMU15odH55b2dgWE5GQz42MjQuLjI2NjxGUFZgaXV/fHJqY1tSS0dEPjs7NjQ4OztBSVNbY215f393b2lfV1BNSEI/QDo6PUJDR09YYWlyfX9/fnZvZl5XU09JRkdDQERJS05UXmdvd39/f39/dWxkXVpWUU1OSklKUFRXXWVud35/f39/f3tza2ZiXllXVlRSVVleYWZudn9/f39/f39/e3NuamZhX19eXV5iaGxxd39/f39/f39/f398dnRwa2lpaWdpbHJ4fH9/f39/f39/f39/f39+enV0dHRzdHh8f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f38="},"Spine1":{"min":[-0.1861,-0.0666,-0.153],"dims":[26,18,24],"data":"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6O0YGxgcIy87R1NhTEQ9Mywq2djX2NrX294lJSEiKDRATFhmf39/f39/f39/f39/f39/f39+fX1+f39/f39/fXt3d3d4e35/f39/e3d0c3N1eH1/f395dHFubGtsb3F1eXt0b2tqaWlrb3R8f3hxbGhkYmFhYmNjZGRjY2FfXmBhZmx0eXFrZF9aV1ZVVlVVVVZWVlZVVVVZX2VsdW1lYFhRTktJSUhJSkpKSkpLTU5SWWFocmlgWVBLRUJAPj08PT0+P0BDREdLUltjb2heVEtDPjk1MzExMDEyNTY6PkFHTlVebmVZUEc/NzItKignJygqLDA0Oj9ETFNcbGFXTUQ7MywmIiAfHyEkJzAxNzxCSVNcZ15USkA2LiYhGxkYHhwgJC0vNTxBSFJbYFhPRTwxKSEbFhQUFRodIyouNDhASVJbWVFJQDYtJB0WEA8PEhYbISYsMjk/SFFcVEtAODAnIRcSDAsMDxQZHyQqMThASVNdUUg9MykhGRMNCgoKDRIXHSMpMDhBSVRfUUc8MiohHBULEggUFA8VISEoLzlCTVdjU0o+NS4oIx8dHBgdHRkeJiYnMDpFTlpoV09EPDYyLiwr19oqKSYpLy0uNDxIU19sf39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/fn5/f39/f39/f3x5d3Z2eHp9f399eXZ0dHV2en9/f399d3JvbGtqamlqa2tra2tqamtucnh/f352cGpmYmBfXl5eXl5fX19gYWJma3F4f3hwamNeWldVU1JRUlJTVFVXWVpeZGtzfXRrY1xWUU1KSEZGR0ZISkxOUVVZX2VvenJnXldQSkVBPj08PD0/QUNHS09WWmJqeG5kW1NLRD88NjQzMzQ3Oz1BR0xSWV9odmxiWE9HQTk2MC0tLS8yNjw/REpPVl5ocmheVEpCOjMuKScmKCsvMjg9Q0lPVV5na2JZT0Y9NS4oJCIiIygsMTY8QUdNVF5nZFpSSUE4MCgkHx0eICQpLjQ6QEZOVV1mX1VKQjoyKiceGxofHiInLDI4PkVNVV5nXVJIPzQtJh8cHRkZGyAlKjA3PUVMVl9pXFFHPjYuJyMeHRceIB0jLC81PERNV2JsXlNJQTozLiomJCEkKCUoMDQ3PEVPWWRwYldOR0E7NzQxLywvMS8xODo8QEhRW2hzf39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f396d3V0dHNyc3N0dHV1dnd5fn9/f39/fXZxbmxqaGdmZ2doaWpsbW5yd31/f399dW9pZmFgXVxbW1tdX2NjZGhscXZ/f393cGhjXVlWU1FRUVJTVVpaXmJna3J6f3xza2RfV1NPSkpJSklLTVNaY15iaW92f3lwZ19ZUUtGQ0NAQUJFR01UXVpfZm1zf3dtY1tVTUVCPD06PT1AREhQWVheY2t0fHJpX1ZORkA8NzU1Njk9QUZNVlZcYmlzdGxjWlBJQzo2NDIwMjY6P0RLU1VaYWlzbmRcUktDPDYxLSwsLzQ3PEJHUFNaYmpyamBXTUY9NzIsLSgtLDE1OkBIT1JZYmpzZ11US0I5My4qKCgrKi8zOD5ESlFZYmp0ZlxTS0I8NTAsKiYrLS8wOD9CSVFZYmx2aF5VTkZAOjUyLy0wNDM1O0JFSlJaZG55a2JZU0xGQj47ODY4PDo8QUdJTlRcZnF8"},"Spine2":{"min":[-0.1898,-0.0032,-0.1578],"dims":[27,17,22],"data":"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VUxDOTIsJCMcIh4lJi4wNjxDSlFdVExFOzQsJR8eGRgbISQoLzQ8QUhQVkxFPzUuJiAaFxYcGBshJy0zOUBJUFFHPzo1LCIcGBQUFBYaHyUrMThAR1FPRT03Ni8jHBkXFRQUGB0jKjA4P0lTTkU9ODcwJhsdGxcREhYbIigwOUFLVU5FPzw7Ny4oIh8aGRYbGR8nMjpETVhRSEJAQMA4Mi4pJiMhJCEiKTI+R1JeVk5JRke1RD46NDMwLi0pKS41QU1YY1pTTkxNsFBKRkFAPTw4MzI2PkZSXmphWlZTU1ZbWFNPTq5JQj4+QUdQWmZyaGFcWlpcn2ZgXVykVE9LS05TWmNueG9pZGJiZJeRiYmQZ2BaWFdZXmRtdn94cm5sbG5yiYGEdnJrZ2RkZmpvd39/f3x5d3d4fIGBgX15d3RxcXN2fH9/f39/f39/f39/f39/f39/f39/f39/f393b2ZcVEtDPDY2NDY1ODxARklLU1tibmZeVk5FPjYxLysuLDE0OT5ETVBXX2VfWE9HQDc0LSsnKSksMjY8QkpOVV1gWFJLQTszLCgoJSknKi80OkBJUVpdXFNMSkE5Mi0mJyMkJSktMzk/RUxXXFpRSktCOS4rKCYkIyMmKzE3PkRMVl5aUktPRToyLSooJiAhJikvNT1ETldgWlJNVUk/ODMwLSslIygrLTQ8Rk9ZYlxVUFtQR0E8ODQyLCsvLzA1PkdSXGZhWlZTVFFMRkI9PDc2ODU2OkFKVGBrZmBcWlpdV1FNSUdDQkE+PkFHUFpmcWxmYmBhZGJeWVVUUFBLSEhKUFhha3dzbmlnZ2lta2ViYV5cVlNTVVphanR/enRwbm5wdIaBgYptZ2JgX2FmbHR9f399eXd3eXyBgYF/eXNvbGxucXd+f39/f39/f39/f4F/f39/e3l4en1/f39/f39/f39/f39/f39/f39/f39/f39/f394cGdeVlBKRkJAQUFESExTV1pfZ294cGlgWFFLRD86OTs7PUJHTlJZXWNrcWpjWlNKREA8OTY4ODpARExQVVxiaWtkX1dPRkA6Nzc0NjY4PUJITlRdZWpoYFpWTUZAOjU1MjMzNztARkxTWWJpZl5YV05EPTk3NTQyMjY5PkVLUVlhamZfWVpPRj87ODc0MTA0NzxDSVFZY2tnYFxdU0pEQD47ODMyNTk8QElRWmRtaWNeY1lRS0hEQD05Nzo9P0NKUlxmcG1nY2FhWlVQTEhFQUBDQ0NHTVVfanRzbWloaGVfWlZST0xLTEpKTVJaY215eHNvbW5wamZhXVtYV1ZTU1VaYWpzfn96dnV1d3ZxbGlnZGRgXV1fY2pye39/f317e31/gYGBfHVva2hoam50e39/f39/f39/f4GBgX9/enZ0dHZ5f39/f39/f39/f3+BgX9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/"},"LeftShoulder":{"min":[-0.1355,-0.0272,-0.1175],"dims":[20,16,15],"data":"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Ukc8MyoiINvV1c/HwLarTkE0KiAVEufj4tvUy8CzSj0wIxsLAfv29Obf1MexSTsuIRUJAPn18/Tn2cu8RDorHhII//n18/Tn2tHFQzcnGxIJAv359/fu5iYzPzMmHBINBgL+/f0BEyAtQDQoHxgRDAcEAwQIDh0rRDgtJR0XEQwKCgwQFx4tRjsyKSIbFBIREhUZICkzSj42KyQeGhgZGh4kKzY7TEE3LycjISEjJSkvNj5IUEY+NTArKC0uMjU6QUlSV0xEPDg3Njk6PkJHTFVcX1VNSEVDQ0RITlBUWWBoZ19YU1BPUFJWWl1iZm10WU5EOC4nJikpKjDIwbesVEg9MSUcGhobHCTWzMG0UUU5LiEWFAkFA+ni1sivTkI2KR4VDAcEAgPq28xGTD8zJx0UDQgEAgIWKTI9STwzJx4VDwoHBQUVHik2Rz0xJx4ZFA8MCgsNGSUzST80KSQeGRUSEBEUGSYxTEI4LyokHhoYFxgcISc0T0Y/NS8oIyAeHiAkKjA6U0o/ODErJyUlJyktMjpCVU1DOzUyLCwuLzM3PUVNWlBJQTs4NjY4Oz5CSE9ZYFdQSUNAQD9DRklOU1pjZl5WUk5MS01QVVZaX2Ztb2dhXFlYWFlcYGJmbHJ5YVZKPzYwLy4tLjM7QUtWXFFFOS8oJiIgISguNkFOWU1DNiwhHBcUFx0jLjpVVko+NCohGhUSERIcKTZLVEg9MighGhYTEREcMThCUUg8MiojHRgVExQdKDE8UkY8My4nIR0ZGBgfJC46VEg+NzErJiIfHh4hJS86VkxDPTYwKyglJCUoLTI9W1FJQjs2MS0sLC0wNDtDX1VNRD44NTMzMzU4PURKYldPSEI+Ojo5Oz1BRk1UZF1TTkdEQUFDREdLUFdgamJaVE9MS0tNUFJWW2JpcWliXFlWVVdZXl1hZ21zeHBrZmNhYGJkaGpucnl/aV1SSEE8OTc1NjpBR1BaZVlNQTs2MC0rKzE1PUdSYldLQToyKiUiJCgsNUBcXlNJPzYuKCQhHyEnMT1SXlJHPzUuKCQhICAnMT1LXVFHPzYwKiYjISIpMjxFW1FIQTo0LysoJiYrMjlDXVNLRD44My8tLCwtMTpEYFdQSUM9OTUzMjM1OT9IZFtVTkhDPjs5OTo8QEVNa2NaUUxGREFAQEFDSE5UcWZdVU9LR0dHR0pMUVddcGdiW1ZSUE5OUFJWWmFndW5pYl5aV1ZZWVxgZWpxe3RtaGRgYGBiZGdqbnV7f3t1cW5ramttb3J1en9/cWZcU01JREJAQERJT1dgbmJXT0hCPTo3ODxARk9Za2BWTEY9ODYxMzU4P0lkaF5VSkI9NjIwLzA0PEZcZ1xUSkI9NjIwLi80PEZVZlxTS0Q+OTUyMDE1PUdQZl1UTUhBPDk2NDU4P0ZOaF5YUUtFQT06Ojo7QUdPbGNcVlBKRkNAP0BCRUtTcGhhW1VQS0hHRkZJTFFYdm5mYFpVUU9NTU5QVFlee3FpY1xZV1RUVFZYXGFne3RtZ2JeXVtcXF5hZWtwf3l0bmpmZGNkZWdrbnR6f395dHBsbGtubnF0eH5/f39/fHh2dXV3eXx/f39/"},"RightShoulder":{"min":[-0.1377,-0.0272,-0.1175],"dims":[20,16,15],"data":"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VEk9MSgdGBvb0MW6rqKVUkc6LiEWC+3l2s/DtqicUUQ3KCASB//149fJvK+iT0ExJhoOB/706trPwrSmSzwwJBwQBv7z6d/SxruqSjsvIxoQB/706+Xcz8KzRzsvIxsRCP/39vbj1ce7SDwwJhwTCgMCAgIcKDPASDwxJx4VDQ0NDhgcJTE+Sj4zKSAYFxcZGh4gKDRAS0A3LSQfHyIkJicoMDpFT0Q6MC0pKS0xMzQ1O0NNVEk/OTQyNzw8QEFCR05XWVBIQj48P0RJTU9QVFphYFdQSUhJSk9VXlxfYmZsaGBZVFNTVVpgaGtsb3N3XVFHOC0mIiUrzsW7r6KWW09ENSofHBoe2tDEt6ueV0g9MSseFAru5djMv7KkVUY6LyccEwn/6+DTxbeoUUU4MCUbEwn+9ObXyLqtUEQ4LyUcEwkA9eTazsGzUEQ6MCYdFAoDAO3h1MW3UUU7MSgjFg8MCwseLDpHUkY9MykhHhgXFxckMDpGU0g+NCwlIiIjIyctMzxIVkpBODAtKywuLjM0OkJMWE5EPDk1NTY5Oz0+Q0pTXVNLRUE/PkFFSEhJTlRdY1pSTUlHSk1QVFZWWmBnaWFbVlNRVVhfZmNkZ2xycWljX15eYGNocHFxdHl/ZltNQjcyLy8yN8K4raGWYlZKPzQuJyQmK8zBt6ueXVFGPjUpHxsaIdbLv7KkW09DOzEoHhUUFuDTxbeoWk1FOjAoHhMJAOXWyLmqWU5EOzEoHhUKE+LVyb2wWVBHOzIpHxYPFR0nMj9NW1FGPTYqIxsUFR0mMj9NXVJIQDUuJyUhICArNkJPXVNKQDkxMS0sLCw0PUdRX1VMRD46Nzc4ODo/RUxVY1pRSkVAQEFDREhJTVNcZ11XUU1KSkxOUFJTV1xkbGRdWFRUVVZZXF5fYmdudGxmYV5cX2NpcGprbnJ5e3Rua2hoaW1xeHd4en9/bmJXTEU/Ozk6PkSzqZ+UamBUSkI5MzAvMzu9s6ibZltSSj41KycnKS/Hu6+hZFpQRj00KiMeHyfOwbSlZFpPRT0zKB4VGiPRw7WnY1lQRj0zKh8bHSXPPkpWZVtQRz40LSIfIikyO0dTZ1tSSUA2LicjJSoxO0ZTZ11VS0I7NDAsKjA1PklVaV9VTUVAPDg3NTg9RU9aa2FYUEtHRUJBQUFHTldgbWVeVlFOTExNTU1SWF5mcWpjXVlVVVZYWlteYWZtd29pZWFfX2FjZWdoa3B2fndxbGlpamxucXJ0dnp/f396dXNzdHd5fX9/f39/dmthWVJLR0VER01UpJqPdGpfVk1FPzs7PkJJraOXb2deU0pAOTUzMzhBtamdb2VbUkk/Ny8rLDI7uq6gb2VbUUg9NConKC44vK+ibmVbUkg/NCspKjA6RVJecGZcU0pAODEuMDY9R1BccGdeVU1EOjMxMzc+RlBbcmlgV05HQDs4OTxCSVNec2phWVJMSERBP0RIT1hidmxkXlhUUE1MSk1QVl9oeXBoY15bWFdXVlZbYGdwfXVvaWVjYWFkZmJma3F3f3x2cW1qamttcHBydXp/f399eXV0dHZ4enx9f39/f39/f35+f39/f39/f39/"},"Head":{"min":[-0.128,-0.1076,-0.1397],"dims":[19,25,23],"data":"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Pz49P0JHT1ZZYGdvd3RqYVhRTEZBPTo4NzY6PEJHT1hhY2pybmRaUkpCPTk2MzIxMTM3PUJIUVtdZG5oXlVLRDw3MjAvLi0tLjI3PkRLU1dgamRaUEU9OTQvLSssLCorLjQ5P0RLVV5nYFdMQTk1LissKioqKikrMjY8QUhSXGVeUkc+NTAsKikpKSkoJykvMTdARk9YZF1SRzw1LiooKCgnKCgoKCsvNTxGTVdhW09FOzIuKSgnJycnJycnKjI1PEROVmFbUUY7Ni4qKCgnJycnJycqLzU+RE1XYVxRRj00LyspKCgoJycoKC0wNj5FUFhjX1RKPzcxLSopKSgoKCgqLTI4QEdRW2ZjWE5DOzYwLCsqKiopKy8wNTxDS1ReaWZcUklAOTMwLSwsLCwxMDQ6QElPWWJta2FZT0Y/OzUyMTAwMDM2Oj9GTVVeaHFzaF5VTkhBPDk5NjY3OT9CSExUW2Rud3luZV1WUElGQj8+PkFBRklNVFpkanV9f3duZl5YU1BKSkdHSEtPUVZcYmpyfH9/f3dwaWJdWlZTUlJUVFhdYWdtdHx/f39/f3lzbGhkYF9dXF9gY2dqcXZ9f39/f39/f39/f39/fXl3dXR1dnh8f39/f39/f39/f39/e3Zzb21sa2ttcnZ8f39/f39/f39/enRwbGhlY2JjY2VrcHZ8f39/f39/fHRvamZiX1xaWFpdYGVqcHd+f39/f3pzbGZhXFpXU1JQUlZaYWhrcXh/f397cmtlXVlVUU5MS0pLT1RZYWZsc3t/fXRrY1xXUExKR0dGREZKUFRaYmtudn53bmVcVE9KRkNBQT8/QUVJUFVbZWlweHJoX1dOSUZCPz49PTw9QEVKUVdeZGx0bmRZUUpGPz07PDs6Ojo8QUdMUVhhanNrYldNR0I9Ojk5OTk5Nzo/RElNVV5ncWdfU0pFPjo5ODg4ODc4ODtBRUxUW2RuZ1xRSUM9OTc3NzY3Nzc3Oj1DSVJbYmxmWlBHQTw5NzY2NjY2Njg5PkRJUFljbGZbUElDPDg3NzY2NjY2ODk9Q0tRWWJsaF5SSUQ9OTg3Nzc2Njc3OT5ESlJcZG1oX1RNRj87OTg4ODc3Nzk7QEdMVF1mb21jV09HRD46Ojk5OTo5Oz5DSVBXYWlycGZdU05HQT49PTo6Oz4+QklOU1xkbXd1bGNZUktIQ0A/Pj4/QkNHTVJYYWhxfHxxaV9YVE1KRkRFRURHS05UWF5nbnd/f3hwaGFaVVJOTUtLTU1SVFpfZW50fn9/f3dvaWNdWVZVU1NVVlpdYWdtdHx/f39/f3hybGdkYF9cXF5fYmdqcXZ9f39/f39/f3t2cm1qaWdnaWlscXV6f39/f38="},"LeftUpLeg":{"min":[-0.1641,-0.126,-0.1398],"dims":[21,42,21],"data":"f39/f39/f356ent8fn9/f39/f39/f39/f397d3VycXJzdXl+f39/f39/f39/f3pzcG5raWpsbXB0eX5/f39/f39/enNtaGZkYmBfYmRobXN6f39/f398dW1mYl1YVlRTVlhcY2hweH9/f312bWNdV1NNSklJS01TWF9ncHl/fXRsZlxTTkpFQj8/QUVKUFdgaHJ9dWxiXVZNR0M+PDo5PD9ESVJaY255b2VcVU9HQT02NDIzNTlARE1WXmh0amBXUEk/OjgyLy8vMjU6QUpRW2VxZVtRSUU9NjQzMTAxMzY7QUlRWWNuYldNRUE8NzMtKysrLjE2PUZMVl9rYFVMRT82MjErKSktLDI3O0VMVF9qXVJJQT01MDEvLisuLjI3PERMVF1oXVJHQT03My8qKygoKy4zOkBJUVtmXFFHPz01MDAqLCgsKjE2OUNKUVxnXFFIQDw4MzMvLissLjE3PENMU1xnXVRKREA5MzItKyorLDA3O0FLUVtlYFVKQz84NTQvMC8wMTE6PENNU1xmYVdNRkE/Ojg0MDIvNDc5Q0hQWGFrZFtSS0VBOjc0MzQzNTg9REpRW2NsaV9VTUZEPjo7OTo5PD9DSU1VXmVvbGNZUUxJRD4+Ojo9PUBITFVcY2tzcGlgWFBLRkJBPj5BQkVLUVlfZ3J6dm1lW1VQTUlHRkRGSU1SVl5lbXZ+enJqYlxWUkxJSUdITlBVXmRsdHx/f3hwaGBaV1FPT0xOU1ZbY2lweX9/f311bmZgXllUVVRUWV5jam93f39/f398dW1nY11aWllaXWNobnZ9f39/f39/e3NtaWRgYGBgZGpudHx/f39/f39/f3p0b2lmZGZmam91fH9/f39/f39/f3t1cW1qaGlscHV7f39/f39/f39/f3dxbGpoZmhqbXJ5f39/f39/f39/fXVvamhmZWVna3B3f39/f39/f39/e3NsaWdlZGZoanB3f39/f39/f39/enNsZ2ZlZGRpbHF4f39/f39/f39/e3RuamhmZWZrbnN6f39/f39/f39/fndxbWtqamtucXZ9f39/f39/f39/f3x3c3Fubm9zd3x/f39/f39/f39/f399enZ0dHV5fn9/f39/f39/f39/f39/f358e3x/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f354dXJwbm9wcnZ7f39/f39/f39/fHZva2llZWZmaW1zeH5/f39/f397dW9nY2FdXF5fYGVrb3Z9f39/f311bmhgXFlVVVZXWVxgZWtyen9/f3lwaGJaVVNPTUtLTU9UWmBpcHp/fnRrYlxTTUlDQD09QURJT1ZfZ3B8dWtnYFNKQz85NTM0NTk+RE5VX2p2bWNaU01COTYyLiwqLTA3PUdPWWVxZ1xSSUQ9NS8oJSQkJy4yOkJKVGBsYldMRD01LSckISAhJCctNDxGUFxoXVFFPTgxKSMmIiMjJCkqNDxFT1plWE1BOTEwKiYeHBwcHyMpMDdBSlZhVEtBODIrIyMdGhofHiYnLjg/SlVfU0g8NCwqIiIjIh4hISYqMDlASVNfUUg9My4rJSMbGRkZHCAmLDY8RlFdUUc8Mi4mIiIcHhkgHCQlLDY8RVJcUEc7MysrIiUhIRkfICMqLzc/R1JdUUk/NzEsJCQeHBscHiEmLTQ8RlBcVEtANi8uJiIgIiIjJCcsLzlAR1FeVUxCOTEyLSkmISQhJicsNTtFTVdhWFBIPzUzLCkmJCckKSovNj1GTVdiXVRKQDk2LywvLCwtLjI3PEFLUVtkYFdPRkA7NzAvKyssLzU5P0hQWGBqZV1VTEM9OjUxMDA0NDo+RExUXWZwa2FZUUhCQTw4NzQ4Oz5GTFNZY2p0cWdfWFBIRD47Ozk6PkNIUFhhanF5dm5jXFROSkRBQkFCR0lQVl5mbnh/fXNqYlxVUEtHRkRGS1BWX2VsdH5/f3lxamJbVU9NTExNUVZcY2pye39/f394b2lhW1dTUVNTV11janF4f39/f39+dm9nYVxXVldZXWJpb3d/f39/f39/d29oY19bWlteZGlsc3t/f39/f398c2tjXltZWFlcX2VqcXh/f39/f395cWlhW1lXVlZZXWNnb3Z/f39/f393b2ZeWVhWVVdZXGNnbnV+f39/f392bmVeWVdWVVVZXWRobXV9f39/f393b2dgW1lYVllcYGZpb3Z9f39/f394cGliYF1cW11hZGptcnl/f39/f397c2xmZmNgYGFmanByd31/f39/f39/eHJsZ2ZmZmhscXV5fH9/f39/f39/f3lzb21ub3F0eX1/f39/f39/f39/f398eHd3eXp9f39/f39/f39/f39/enRtaWdjY2RkZ2xwdnx/f39/f395cWxlX11bWFpaXWJnbHR9f39/f3pxaWRcV1RQUFFRVFpfZGx1f39/fnRqYlxVT01KR0lJTVJXXWRsc31/em9kXFVPSERBQEJCRkhNUlliaXN/dWpfV1BKQ0A8OTc2OTxBR05WYGt2b2VcU0xCOjYvKygoKjA1PEVMV2NwZ1xRSkQ6MCkkIR4eISUrMjxGUF5qYFRJQDk0Jh8gFhoVGB0kLzVBTFljWU5DOC8sIxoWExISFRkgKjI8SFNfU0k+NCwnGxYZDxUWEhYdKC46RlBcTEQ5LSUiHhgPDQ0NERUcJiw1QkxXSUA4LCEgFRAODAsTDxMaJSozQEpUSD4zKCAfFA8YFxQXFhweJi01P0pVRDwzJh4eExgNCgoKDREYHycxPEhRRTwyJR4eFA8NCwoVDRkYJCYwPUdQRDsyJh4eGRkVFAoTDRgcIywzPUlURTw2LCQhFhIPDQwNDxMZICcxO0dTST82KSIfGBQYFxgZGR0gJi0yPElUSj44LiUkIBcZExESFBkiJTA4QUxYTUQ9MykiHhocFhsWHR0lKTE4QkxZU0c/Ni0mJiIiHh0eHSYrMTg/RlBdV0xEPDUrKSIfHR0eISYsMztFTldiXFNJQTcwKicjJiUoKS8yOEBIUVtmY1dNRj44My4oKSYnLDE6QUhQVmBqZ11TTEU8NjEuLissMTY9RUxVX2hxb2RZUElBOzo2NDM1Oz9GS1JbY212dWlgV1FIQj45Nzc5PkNKUVpia3N9fHFoXlVOSEU/Pz8/RUpQWF9ocHt/f3htZF1VT0pFQ0VGSlBXX2Vud39/f390a2RbVE9JSElLT1ZdZWx0fX9/f350bGRcVlFNS0xRV11fZ294f39/f3txaF9XUE1LSUpOUlhdZWx2f39/f3huZVxTTkpHR0lLTlZaYWpzfX9/f3VrYlpSS0lHRkhKT1ZaYWlye39/f3RpYVlQS0hHRkdLT1daX2hweX9/f3VrYltTTUpJR0pOUVlbYmlxen9/f3ZrY1xVUk9NTU9TV11gZWx0e39/f3lvZ2BZWVZTUlRZXmRmaXB1fX9/f311bWZgWllZWVtgZWhrcHR6f39/f397dG5oZGJiZGVpbnFzdnp/f39/f39/fHVxbmtrbXBzeHp8fn9/f39/f394cGxmYV1ZWFlaXGJmbXR8f39/f3lvZ2FbVVFOTU9PU1hcYmt0fH9/e3JnX1dSS0dGQ0ZGSU9TWmNsdH5/dGthV1BKQz88Oz09QEdLUltlbnd/b2VaUUhDPDc2MzU1OUBES1NdZG96amFWS0I+NTEwLC8uMjU5P0dQWmZxZ11SRz86MSwqJSQjJSktNTxHUl5pYlZMQzw3JyAeFhMTFR0gKzM9S1ZjWU5CNzQvHRYPDAkJDRIZIiw5RVBbUUY7LyYhHA0GBf0EBwwTHSc0PUpbSj41Kh4VDggD/wAABAkQGSMxO0dURDowJRkRFQT//v7/AggOFyAuOEJPQTUpIxUNBwL//fz9/wYNFR8sM0BMPzMpHxMLBgHs7e7s7hQWHSIsNUFNOzAnHxIKEfD+/Pv7/wQLEhwlMzxJOi4nHhEJBQH+/Pvw/wQKERsoMjxIOi4nHRIKEhHw/fz8/xEKGh8pNT9LOzAoIxgUBwT///3+/wUMExwmMz5JQDQqIRUOCgYT7uzwEhQWHR0nNj9KQDUqJhwZFgkQBAIEBwsSGSQqN0RPRDgyKhwVFgwJBxMHEw8VHSQuOEVQSz4zKyAZHBcUCgoMDxQbJi00PklTTUM4MisfGBQRDw8QFBogJy84Q05ZVUo+NC4kHR0bHBgdHiQpLTU9R1FdW01EOjQtIyIbHBgZHyQsMz1FTFZiYVVLQDcvKScgIh0jJCkyOUFKU19paF5PRj04Mi0mIyMlKzE7QkhQWWNubGJXTEQ+NjAsKSksMTc+Rk5YYWl0c2lfVEtEPDcxLzIzOT9GTFRdZnB7em5lWlJJQjw3NTc4PERLU1xjbHZ/f3VrYFdPRkA6OTo/Q0pRWGFqc31/f3ZrYVdORkA/PDxARUtSW2RteH9/fnJmXFRLQj08Ojo+Q0lQWGFrdX9/em5jWFBHQDo4ODo8QEZMVV5ocnx/eGtgVk5FPTo5ODo7QUVNVF1mcHp/d2tfVE1EPTg4Nzg8QEVLUlxkbnh/d2tgVk1GPzw7OD0/Q0hOVFxlbXd/eGxgV09IQT4/PUBGSU5TWWBnb3l/e29lW1RNR0NERUdNUFRYXWJpcnt/f3VqYltUT01NTlFVWlxeY2Zudn9/f3tyaWJdWVZWWFtfY2Vnam50e39/f396cWtlYl9gYmZsbm5ucnZ8f39/f3lwZ2JcVVFPTk9QVFdcZGtyfH9/eXBoXlZRS0ZDQ0JFR0xSWWJqc31/cWhfVU1IQDw5ODo6P0JJUVpha3Z/a2FYTUU9NzMvLzExNDlAR1JbZW96ZVpSRj44LysqJikoLDE5QkxTXml2YFZNQjgvKSQjHx4hJS0zO0JKV2JsXVFIPDMqIx4fGRkcHiEmMDZCTVhkW05GOzAnIxsbEQ4ODxMZIS46RFBdVUo/NCslHQ0GAv//AAcNGSQyPkpXSz82Kh0UGgP99/T0+AAIEyIqN0RVRDgsJBUMD/v28/Hy9vwFDxkmMj9PPzMlGQ0F+/fy8O/w9PoCDBwlLjpJOSwgFAn/+fTw7u7v8vkAChgfKzhGOCkdEQb+9/Po5ubm5+vsFRohLDlHMycbDwX97PLv7ezt8Pf9BhAbKDRDNSUZFQT89/Pv7ezt6vbwBhYaJzRANCUZDgX96+vq7u3t8fb9EBYiLDdENSYbFhL++fXy8O7u8vj/BxEfJzRBOSsdEggB7/fp6+ny9e7wExgiKTZDOiwgFRcQ8Pv39fT1+f4FDBYfMDtHPzMoGhYIAv77+eru7xMJFhkjMDpHRTcqHxoNERD//Pz+AQgPFiQsNT5KSDwvKBsSDAYDAAACBg0UHCQuOkZRT0Q3KiAcERcIEgUHDBMfJSkzPUlUU0g8MCkhFxENCgoNEhkgKDA8Rk9ZWU5EOC0jHRcSGBYaHSMmLjdASlZgYVdJPDMtIx4YFhUYHyUtNz9GUFtlZVlQRjoxKiQeHBweJSszO0RNWGFqbGBVS0E4MSokIiIlKzI6Q0pTXGdxcmdbUkc+NjApJyorMTg/R1FbY213eW1hWE1DOTMuKywzNT1ETVZfaXJ9eW5iVkxDODMwLS0yNz5GT1hibXd/dWldUkdANjAuKyswNTxDTFZga3Z/cmZaTkQ8Mi0rKSouMjhASVNdaHJ9b2NVS0E5LyorKCwtMTc+SFFbZXB6bmJWSj84LyonKCwuMjc+R09ZY215bmJWSkE5MS0tKTAxNTlAR1BYYm13cGNXTEI8MzAxMTM5PUFFTFJaZG54c2dbUEdCOzY4ODxCRUhLUFVdZ3F7eG1iWFBJRUE/REdLTVBTVlpia3R+f3RpYFhRTkpLTVFVWVlbXmNqcHl/f3txaGFaWFVWWF1kY2FjZmtwd39/e3FqYVhSTElGRUVHSU5UXGRtdH9/dWxfVk5GQj06OTk7PkNJUllicHl/bGJVTkQ9OjQuLS0wMzg/SE9ZZnB8Y1hNRTszLygkIyMlLC82QEdSXWl1XVJGPzMrIx8bGhkcJCcuOUBLVmJvWExBOS0kIBcSEhEVGB8nMzpFUF5pVEk9NCcfGxEMCwsOEhoiLzVASVVhUkY6MSQbGA0IBgYKDhEWHys0QExbUEQ4MCIZEAsIBAD4AAMKFyAsOEdUST0wJRoRCQv6/AUI8vYADBgkMEBOQjMnGxAF/fMJBwcLD/D6BhIfLDxIPTAgFAj78hIODAwPFO33AQ4eKjhFOCkYDP/17RgVExMVG+v1/goXIzRBMycVCfzy6uQdGxwe3uPr+wgUJzI/MSISBvrw6OQlJSUn4unx+wYTIDA/LyMQBPjv6OTgKi/W4unx+gYSHy89MCEQBPnw6eHd39je4unw+hUaJTE+LSMRBu/x6ufj4eDg5Ovy/AYTIC09MicUCf307eng5OLj5+3t7hIUIS4/MigXDP/v8ezp5+Xn6/H5/wsbIzNBNi0jEQb89fDs5OTr8OzuBQ8aJjNAPC8lFgsS+vTx7u7w9fsDCxUkLTZFQTQrIREH//n16/Lt7w8IEBokLztKRjouIRcNEv/69/f6/wcPHSAsNEBNTUA0KyETCgT//PwABQ0VHSYwPUVSU0Y6LiMZEBIQAgIGDBkgIy02QExaW1BBNS0hGBELCAgKEhoiKjY+RlFfYVZHPDAnHhcYDg8SHSAoMDlDT1ljaF5OQjkuJR4WFBQYHyYuOT9JUl1pbWBUST00KyMcGRwfJSw0PUZQWmNuc2VaTkE6LiYfHB8iKTA4QUtVXml0cWVZTkI3LyYfHh4kKjE6Q01YYm14bWBVSj00KyIcHB0iKC84QUtWYmx3a15SRjovJB8aGhsfJSs0P0hTXmlzZ1tPQjYrJRwdGRoeIyoyO0ZQW2VxZlpNQTUqIRwcGRwgJCoxOkNOWGRvZllNQTMqJB0fHCMmKCwzO0NNWGJuaFtPQTguJiMjJCYtMDM4PUVPWWNva19USD42MS0qLzM2OTw+QklSXGdycWVaUEY8OTU2OT1CRERGSlBWX2p1eGxiV05HQ0BBREhNTkxOUlddZm96f3RqYVhST05OUFVbWFZYW2BmbXZ/dWtiWVFKRkA9PDw+QkZOVFxmcHp/bmRXTkc/OTQxMDAyNjtBSVFbZ3F8ZlxORDs0LSklJCQmKjA5P0hTX2l1XlJGOzQqIx4ZGBkbHyUvNT9KWGNuV0o/NCwhGRMPDg4RFhwnLjhEUFxoU0Q5LSYZEQsHBQUIDRQhJzI9S1hkT0A0KCETCwT//f0BBg4bIS04R1RgTD0xJR0PB//6+Pj8AQoSHic0QE1YSzwwIxcNBP349fj6+ggMEx0pOERRSjwwJBgNBf3+/vv6/wj/CBQkMD5JQDUpHBEIB//7+fn9Agv0/wwfJzVDOSwfFQf89gUB/v8CBw/u+gYUIjBBMyUYC/3zEwwJBgcKDhbp9gIXIi08LyESA/bpHBURDxATFx7n8wAOHCs5Kx0OAPLl3B8cGhsdISTm8v4VIC07KhsM/e/k2yooJicpK9zl8f4LGig3KxkL++/k3NTTMDIw1dzl6e8UGSg3KRsM/vHl3dnV0tHS1t3m8v8MHis3KyAO//Tp4NfX1dPV2uHp7AAUHyo4LiASBPft5N7b2NfY3eXs9gIPIC89MiQcCv3y6OHb29vd4+rr7wYTHy8+OSodDwLv7ufj39/i6PD3/wsdKDRBPC8iFgn98+zn3+Pn7uvwBhAcKDdFRDcoHA8D+vLs6ent9PsEDRwhLTlISTsuIhUJAPjy7+7r+gIKEx0nNUFNUEM2KBwQBv/59fT6AQgXGSMtOURTVkk6LiIXDQX/+/sABw8XICk2PkpXW09DNSkeFAwGAP8HDhodJjA5RFFeY1hJOzAkGhELBgcMExskLTg/SlViZ1tPQTUqIBUPCgwRGSApMjxGUFxobGBSRjktIxgSDhAVHCQsNkFKVWBsbV9SRTgtIxgSDxEWHSUuOENNWGRwZ1pNQDQqHxUPDQ8UGyMsN0FNV2NuZVZJPDElGxEMCw0RFyAoMz5JVWBsYVNGOi4hFw8JCgwPFh4nMTtGUFxoX1FEOCofFQ4JCg4SFx0lLjhCTltnYFJFOCwfFQ8MEBUZHh8mLjhDTVlmYVNHOy0jGhUVFx4iJCcrMThETlpmZFhMQTYsIyAgJCguLTAyNj5HUl5qa19TSD40Li0sMTQ6OTc5P0NMVWJtcWVaUEc/OTk6PUJGQ0FDR0xTXGdzeW5jWlNMSEdISU9ST0xNUVZdZW55cGZdU0tDPjo2NTY4O0BGTVdhaXR/aF1RSD83MS0pKCgqLjM6Qk1WX2x2X1RHPjYsJiAcGxseIigvOUNOWGNvWExCOishGhQRDw8RFxwlLjxFT1toUUY6LyIcEAkFAwQGDBIcJjQ/SlViTEAxJhoPB//7+fn8AwoUHik4RFFdRjsvIBQJAPjz8PD0+wMOGSc0QExaRTksHBAF+/Lt6uru9f4JFSEyPUlWQjcqGw8C+PDqEhcP8/wHEx8pNUFPQzcqGw8D+fALCAUE/v4EChQhLTxJQTcqHREF/PQA/Pr49v/4AAwYJjRCOi0gFgwE//r08fL2/AQO9wUTIS8/NSUYC//5CQL9+vv/BAwV8gAOIC07Lh8RBPjuEgwHBQYJDhUd7vwLGSg2LRwN/vHkHBcTERIUGR/d6/oIHCo4JxgK++3fKiMfHR4gJCrc6/kIFiU0KhwJ+uvcNC8sKystMTbc6vkHFiU2JhcJ+uzd0cQ6ODg6ydHd6voIFyY0LB4K/O7h1MfJxsXHzdTe7PsJGCc1LhwOAPLm2c/NysjL0dji7/sLHiw6LyQZBfjr3tHQzc3Q19/o8v8NHCo5NyYXCv3r5NrV0dHV3OTt9wQXIi07OSsdGAP36uDa1tXb4uvr/AgVIjFBQDIkFwn98ebg1tPh6PH6AxYeJjRDRTgqHQ8D9+3i4eHn6fcACRQgMDxISz4wIxYK/vTs5+fu9f4GGBolMT5MUUQ3KSEQBfrz7e7s/AQMFiAuOURQWEo9MCIXDP/58/T7AgoZHCYxPEpXYFRDNigdEQf++PoACBAZIy83Q01bZFZIOy0iFgsC+/4FDBUeKDE8SVVhaVtMPjElGQ4E/wIIDxghLDZBTVdkaFpNPjElGA4EAAMJEBkjLThDT1pnZFZHOi4hFQsB/gEHDhciLDhDTltnYVNDNikcEAb+/P4DDBQfKjRAS1djXU5AMiQYDQL7+/0CCRIcJjE7R1NhXEw+MCIVCv/6+wAECRAZIy05RVJeW0w+MCIUC/7/AwoNEBQYIyw4RFFeXU9BMyUdEAoLEBYZGBodJTA5RVNfYVRHOi4kGxQXHCQlIyIkKTI9SVVhZ1pNQTYsJiUlKTIzLiwuMzlCTlllbWFUSUE7NTIyNz49Ojc4PUNLVWBrdWleVU1IQ0BBRUlJRkNESE1UXGZxbGFXTkU/ODQxMDAyNjtBSlFbZXB7YldMRDoyLCYjIiIkKC42PUZRXGZyWk5DOi8mHxkWFBQXGyIpNDxHUl5rUkY6MSQbEw0JBwcKDxYeKDM+S1dkTD4yJhsRCP/8+vr+AwsUIio3Q1BeRjkrIhMI/vbx7u/z+QIMGyMwPktYQjQmHQwB9u3n5OXp8PoFEB4rOUdVPzEjFQj88Ofg3N3i6vUAExooNkRSPi8hEwb67uQfHRrn6fL+ChgmNUNRPjAiEwb67ucUEQ8NC/L+CxsiLj1KPzEkFgn98vMJERIP8PUBEA0fKjdEPDAkGw0C+O4A/Pn39fsG+wYXJTI/NSkcEAcBAPj08PH0+wMO8v4OHCo7MSIVCP31CgP//P0ABg0X7fsJHSo4LR8QAvXqFQ8LCQoMERgg6vgHFiU0KhsM/vDiIhwYFxcZHiPZ6PYFGig2KRoL/O3fLikmJCUnKzDZ6PcGFSQzKBkK++3f0MMzMzM1OMvZ6PcFGyg2KRoL/e7fzcJCQUFDwcva6fgHFiU0Kx0OAPHj1Ma+u7q+xs7c6/oIHCo4LyASBPbo2szCv77Ey9Tf7fwLGSg4NSUXCfvt4NLHw8PKztnk8P8VIS47OCocFf/z5tjNyMjQ1+Dl9QMRHy0+PTIiFAf57N7TzczW3ubw+xIVIzE/QzUoGg3/8uXa1NXc5Of1AQwaKDhGSj4tIBMG+Ozh2tvi6vP9EhEfLDpIUUE0JhkM/vLo4eLp6fkDDRgoND9MVUk6LB8SBPju5ujv9wATEh0pNkRRXlJAMiQXCf3z6+3t/AUPGSQxO0lWYlJFNykbDgH27vH4AAoUHSgzQE1bZVdJOiweEQT58PT7Aw0XISw5RFFeZVZHOSwdEAT58fX7BA4ZIy44RlNhYFNFNicaDQD28PP5Ag0YIy46RFJfXlBBMyMWCP3z7vH3AAoVICs3Q05cW00+MB8SBfju7O/0/QcSHCczQU1aWks8Kx0P//Xs8vb5/AQOGCQwPUhXWUo7Kx0P//f3/QIEBAcNFyMvPUpXW0w8LiATCAEFCxAQDw0RGSQwPktYX1FENigdEhETGR8eGRcYICk2QUxaZVdKPDInJCAgJTAqJSIjKjI7R1Jda15RRjs2My8vMzs2MS4vNTpBTVllc2ZbUkpEQT4+QUhDPzw8QEVLVWBsaV9US0I6NTAtLCwuMTc+RU5XY256X1RJPzYuJyIeHR0gJCkxOUNNWWVxV0o/NCshGhQQDw8SFh0lLjhDUVxpTkI2KyAWDQcCAAEECRAaJC86RlVjSTouIhYLAvr18vP3/QUPGiYzQU5cRDQnGg4B+O7o5ebq8vsGEh8sOUlYPjAiFAf67+Td2drf6PL/DBknNUVUPSweEAL16N3Uzy/W4ez6CBUjNEJROysdDgDy5dkpJiQi4On3BRQiMEFQOysdDwDy5d4hHB8YFur3BhQiMEBMPi0fEQP26egUEA4MC/b6CBYfKjhGQDAjFgj88PMJBQMB////AwsXIjE/OS0kFg4E+fH+7e7t9P0H+AMQHiw6MygaDgT8BP349fX5/wcR8f0LGSg3MCITB/vyEwoFAwQHDBMb7PkIFyY1Lx8RA/bpHBcTERIUGR/b6vgQGyg2Kx0P//Pm2SUhICAiJiza6fcGFSQzLB8OAPLk18owLi8wNMza6fcRGyg2Kx0OAPLj1sg+PT0/Qszb6vkIFyY1Lx4QAvPl1si7ramyvs3c6+8JGCc2MCETBfbo2sy+r664wM/e7fwLGig3NiYXCfvt39HDtbe+xMzg7v4NHCo5OSocDgDy5NbIu73Ezdbk8v8QHi0+PTIhFAb46t3HvsPJ09zo9gQTITA/QzUnGQz+8OPUx8nR2uPt+wgWKDdESTstIBIE9unbzc3X4On08A0bKDdHT0EzJhgK/O7g1Nbe4u/5BRIfMT5LVUc6LB4QAvPl2tvj7PbwCRckMUFQXVE/MSMVBvjq3+Hk8fsFDxwpOUZUYFJENScXCfvt4uTs9f8JEiAtOklYZVZHOSgaDP3w5Ofv+AIMFyMwPk1bY1RGNygaC/zv5Ofv+AMOGSQyP0xcYFFCNCUXCPrs4OXv+AMOGSMxPkxZXE4/MCITBPfp3uPr9QALFiItO0lWWks8LR4QAfPk4eLo8v0IEx0rOUdVWkk6Kx0O//Do7vDv7/oEEB0nNURSWUs6KxwO//L2/P/9+vkCDhomNUNRW00/MSMQBf8ECg4LBgIGDxooNkRTYFJDNSUaDxASGB0YEg0OFiMsOUdVZFdJPC8oIR8hJSwjHhkZHig0QE1Za15RRj02Ly4vMzcwKSYmLDI8R1RhcmZbUklEPjxAQUI8ODM0OT5GT1toaF1SSkA4Mi4qKSkrLzQ7RE1VYWt4XVJJPDMrJR8cGhsdISYuOUBMVmNvVko8NCgfFxENCwwOExohKzhBTlpmTD82JxwTCgP//P0ABg0WJCw6RFNgRzorIhMI/vbw7u7y+QIMGyMwP0xYQTIkGwr+8+nj3+Dl7fcCDiApN0dVOy8iEAP26t7W0dLY4+76CBonMkFPOy0fDP7w49bLxcfO2uj1AxIkMkBONygZCvzt39E2MzMx1uTz/xAfLT5NNygZCvzu39QpJSMhIOXzARAfLj1POy0bDf/x5N8dGhcWFOz2BBIhLztJPjAjEgT36+QRFQwLEgj8CRgcKzZBPjIoGAsA9ewFAgD//f0DAgoVJTE/OiwgFAwGAfn69vX1+wQO+AMQHS48NScZDgL6DQYCAAADCBDn8f8MHiw6MSQWCfzx6RQQDg4RFhzh7vwLGSc4MCIUB/rt4SIeHR0gJCrf7PsKGCo4LyETBvjr3tItLCwuMdDe7PsJGCc1LyESBffp3dA8Ozo9w9De7fsKGSo4MiETBffp3M/Cuba5w9Hf7vwLGSg3MyQWCPrr3tDDube7xNLg7/4MGik6NisZC/3v4dPFurm9xtLi8f8OHCs6OiwdDwHz5djKvLzAydbl8wEQHy0+PjIiFAf5693Lwb/CzNrn9gQTIjA/QzYoGgz+8ePSx8HG0N3r+QgXJTZESTsuIBIE9unbzcPK1uDu/QwaKTdGT0EzJRgK/O7g0srT2uXy/xAeLTtKVUc6Kx0PAvPl1tDY4uzuBRMiMD9NXFA/MSMUBvfp2tTZ5/D8CRYoNkJRYFJDNScYCfrr3Nfg6/X/DBkoNkVUZFVGOCkaC/zt3trj7fcCDxwtO0pYZFVGOCkaC/zt3trj7vkDEB4rPEpYYVJFNSYYCfrr3drj7vkEDx0qOEhXXk9BMCMVBvjp29ng7PcCDRooNkZUW0w9LiATBPbn5+fj6fP/ChglNURSWks7LR4RA/Xw9PXw6O/7BhQiMT9PWks9Lh8QBPn7AgP98+35BRMiMEFPW01AMSIVCQUHDREI//n8CBYjMUJRYFJENSkdFhIVGh0UCwQFDxknNUVTZVdJPTMrIyAiJygeFxITGSIwPUpYbF9TSEA5MS8zNTUqJCAhJy05RVFedGhdVExFQD5BQz02NDAuNTtDTllmZ1xSSD83Mi0pKCgqLjQ6Q0tVX2t3XVJGPDMrJB4aGRocICYuNkBKVmFtVEg8MSceFhAMCgsOEhkhKzVBTFlmTD8zJxwSCQL9+/z/BQwWICw3RFFeRTgrHhIH/fXv7O3x+P8LFyMwPUpYQDIkFgn98ujh3d7j7PYBDhspN0VTOy0eEAL16NzTztDW4e36CBUkMkFPOCkbDP3v4dPHwMLM2Ob0AxIgLz5NNygZCvvs3c7DOjjK1OPy/xAfLTxLNygZCvvs3s81MzIw1OPyARAfLj1UOSobDf7w4tUmIyEg4uf1BBIhLz5PPC0fEgT36uMaFxUU7u77CRckLjxJQTMlGAv/9OsOCwkIB/gDCxIcJzRCQDInHBQJ//f+//38+gP7AQoWIzA+Oi8hFQoDAwUA/v4CBw/x+gQSHy07NyodEAX68hMPDQ0QFRvp9gIPHSs6NygbDgL16uIdHBwfI9vm8wAOHCo5NScaDP/z5trSzszLzdjk8gANHCo5NCYYC/7x5NjOycbHzNfk8v8NHCo5NScZC/7w49fMx8XHzdjk8gAOHSs6NigaDP/x5NfMx8bJztnl8wEPHiw7OSsdDgH05tnNyMjL0dvn9QMRIC49PS8hEgX36dzQy8vO093q9wUTIjNAQTMoFgn77uDUzc3Q1t/s+ggWJDNBRTcqGw4A8+XY0NDT2OPw/QsZKjhESz0xIRMF+Orc0tLV2+XzAA4cKzlIUEI0JhgL/e/g1NPW3ej1AxAeMD5MVkk6LB4PAfPl1tTY3ur4BhQiMT9OXlE/MSIUBffo2tXY3+v5CBYlNERRYFJDNSYYCfrr3NXY4Oz6ChknNkVUZFVGOCkaC/zt3tPY4u78CxopOEdWZVdIOSobDP3u39HZ5O38CxopOEdVY1RGNykaC/zt3s7Z4+/7CRgnNkRTYFJDNSYYCvvs3t3X4+z6BxYnMkFQXlBCMyUXCPrs6+vk3+r3BBIhMD9PXU9BMiQWCPr1+vjx6ObzARYjMT9OXU5BNCQXCwIBCAb98Oby/xAeMD9NX1FENikcEg0OFBIF/PP1AxEkM0FQY1VGOi0mHBgbIBoPBf7/CRYkNUNRZ1pNQTgwKSYpKyQZEg0TFCIuOkhVbWFVTEM6NzU2Oi0mHxwcICk2Q09cdWpgV1BHRENERDozLiorMTU+S1dkaF5TSEA4My4rKSosLzU7RU1XYmx4X1NJPTMsJR8cGhsdIScuOUJNV2NvVko+NCgfFxENDAwPFBoiKzhDT1tnTkI2KB0TCwT//f0ABg4XIC86RlNgRzsuHhMI//bx7u/z+QIMFycyQExaQjQnFwr+8+rj4ODl7fgDDyEsOUdVPTAjEQP26t/W0tPZ4+/7CBsoNUNROy0gDP/x49bLxcfP2+j2BBgkMkBPOSseCvzu4NHFvb/J1+XzARYjMD9NOSseC/zu4NLFODY11+XzAhYjMD9cPC0gDf/y5NjSLCop3On2BBglMkFTPjEkFwT47OHeIB4d5fD8CRspNkFOQzUpHQwA9u3qFBLv7/kEECAkLzxHRTovJRUKAfn2+Pr7/AQFCxQeLDZDQjQpHhQMBgcCAAADCPj7Aw0ZJjZCPjEnGQ0D+vYNDw8SFO30/QoWJjM+PC8iFgn+8+vmHR0f4eXv+wcUIjE/Oy0hFAf77+Te2tjX2uLt+QYTIS8+OiwfEgb57ePb19XV2eHs+QYTIS8/OiwfEgX47OHa1tTW2uLs+QYUIS8/Oy0gEgX47OHa1tXX3OPu+gYUIjBBPTAiFAf67uLb19fa3uXv+wgWJDJAQjMlFwr98OXd2dnc4Ofx/QsYJjZERDYpGw3/9Ojg3Nzf4+r0AA0bKDZFSTstIBIF+Ozj397h5e33AxEhLjtHTT8yJBcJ/PDl4eDj6O/6BhQhLj1NUkU3KRsOAPTo4+Ll6vL9ChYkMkBRV0o8Lh8SBPfr5ePm6/T/DBknNUNRX1NAMSMVB/ns5eTm7PQADBooOEdVYVNENCcYCvvt5OTn7PUADRspN0hWZVZGNykaDP3u4+Ll6/QADRspOEdWZldJOSobDP7v4uDj6vP/DRopOEdWZldIOiscDf7v4N3g5/H9ChgnNkVUZVVHOCobDf7w4dvc5O76BxYkM0JRY1RGOCkbDf7w7Ork3+n3BRMiMUBPYlRGOCocDgH3+Pnw5ef0AhEgLz5NYlVHOSsfEgoGBwT68Of0/hEgLz5NZFdIPC8jHBUUFg4B9+72BBMhMkFPZ1pNQjcuJiEjIhULAvwACRcmNEJQbF5TSUA2MjExKiAWDwsLFR4tOUdVcmZbUkpCPTw8NS0jIBoaICozQk5beW9lXFVNSklJQDcyLikpMDU/SlZjaV5US0I7NTAtKywuMjc+Rk5YY256X1RJQDYuJyMfHR4gJCoxOkNNWGVxV0tANSsiGxQRDxASFx0lLzlEUV1pT0M2KyAWDggDAQEEChEaJC87R1VjSDsvIhYLA/v28/T3/gUQGyczQU9cQjUoGg4C+O/p5ufr8/wHEx8tOklYPjAiFQj68OXe2tvg6fP/DRonNUVUPS0fEQP16d7V0NHY4u36CBYkNENROisdD//y5trQy8zT3ur4BhQiMUFQOiwdDwHz5trRy83U3uv4BhQjMUFQPi0gEgT26t/X0tPZ4+77CRclMkNSQTEjFgn88efg3N3i6vUADhsoNkRURTYpHBAE+vLs6enu9P4IFCAuN0VPSzwwJBkOBf749vb6AAgRFR0nM0BMSj0yJh0UDgoGBAQCAQIGDRYhLjpIRTksIhYMBP/7+Pf29vf+BxIeKjdFQzcqHhIH/PXx7uzs7PD5BA8bKTZDQjUoHBAE+fHs6Obm6O73Ag4aJzVDQTMnGg4C9+/q5uTk5+33AQ4aJzVCQTMmGQ0B9u7o5ePk6O73AQ4eJzVDQTQmGg0B9u7o5OTm6vD4Ag8bKDZEQzYoGw8D9+/p5ubo7PL6BBAcKjdFRjgrHhEF+vHr6Ojq7vT8BhIeKzlHSTsuIRQI/fPt6uvt8ff/CRUhLjxLTT8yJRgMAPfw7e3v9PkCDBcnMT5OUUQ2KRwQBPrz8O/x9vwEDxonNEJPVUk7LiEUCP318vHz9/4HEh4rN0RTWk9AMiQXCwD38/L0+f8JFCAtOUdVYlZDNScaDQH48/P1+QAKFSEuPElYY1VGOCocDgL48/P1+gAKFSEvPUtYZldJOiwdDwL38vH0+QAJFSEvPUxaaFlKOy0dDwL28O/y9v4IEyAuPEtZaFlLPC0eEAL17uvu8/wGER4rOkhXaFlLPC0fEAL17Ojp8PgDDhoqOEZUZ1lKPC4fEQP16+Xl6/T+ChglNkNSZ1lLPS8hFAf89PPr5/D7CBUnNEJQaFtNPzMmGg8HAv316+/7CBUmMz9OaltPQzcsIxwUEAj98/H9ChYoNUNSbWBUSEA1LykjHBII//0EDhsqNUNTcmZbUUg/OjYxJh0VDgwPGCYxPUhWeG1iWlFKRUQ7MikiGxsgJi45RVFdf3VrY1xWUlFHQDcwKSouMzlCTVllbGFZTkY/OTUyMDEzNjtCS1JbZXB7Y1hNRTsyLCcjIiMlKC81PUdRXGdzWk5DOC8nHxoWFRUYHCIqNT1HU19rU0Y6MSUcFA0JCAgLDxcfKzM/S1dkTD8yKRwSCQL9+/z/BAwVIys3RFFeRjksIxQJ//jy7/D0+gMNHCQxPktZQjUnHg0C9+/o5ebq8fsGER4sOkhWPzEjGgn98ejh3t7j6/YBDRsoNkVTPjAiFAf77+Xd2drf6PP/CxknNUNSPzAiFAf77+Xe2tvg6fP/DBknNURSQDIkFgr+8+ni39/k7PYCDhspN0VTQzUoGg4D+fDq5+fs8/wHEyMsOkhWSDotJBULAfn08fL1/AQPGSgyP0pYTUA0KB0UCwT//f4BBw4XHyowOkVSUUU6MSYeFhAMCgsNCwwRFyEtNUJOTkE2Kh8WDgkFAwH//wMJEhwnNUBLSz8zJxwRCAL9+/n5+fwFDhkkMD1KST0xJBkOBf/69/X19vsCDBcjLz5JSTsvIhcMA/349fPz9foCDBYiLz1JSDsuIhYLAvz38/Lz9vsDDBYiLz5JSTsuIRYLAvv28/P0+P0EDRcjMDxKSTwwIxgMA/z39PT2+v8GDxklMT9LTT8yJRoOBf759/f5/AEIERsnMz9NT0I1KB0RCAD8+fn7/wQLFB0pNUJSUkU5LCAVCwP+/Pz+AgcNFiAsOERXVkk9MiQZDwYB/v4ABAkQGSQvO0hVXFBBNCgcEgkDAAACBgsTHCcyQEtYYVVFOCwgFQsFAgEDBwwUHik0QU5caF1JOy4iFgwFAgIECA0VHyo2RFBdZ1hKPTAjFw0FAgIECA0VHyo2RFBeaVpNPjEjFwwEAQACBgwVHio1Q1BealxOPzEjFgsD/v3/BAsTHSg2Qk9da11NPzEjFgoB/Pr8AAcQGiQyP0xba11PPzEkFgoA+vb3/AMMFiQuO0hYbF1PQDIkFgoA+PPy+P8IEx4sOUZWbF5QQjQmGQ4D+vLu9PwFEBwqN0dVbmFTRjksIBULA/rx8foEDxwqN0ZUcGNXSj81KB8XDwb89foGEB0qO0hWdGdcUUY9MysjGhEJAgMKFSEuO0tYeG1jWU9HPzgvJh0WDw8VHSo1Qk9cf3VrYVlSTEQ7MiojIR4jKDE9SlZhf3xza2RfW1BHPjczLCwwMzxGUl1pcWddU0tEPzo3Njc4PEFHTlhhanR/aF1SSEA4Mi0qKSkrLzY7Q01XYWx3YFVIPzUtJyEdHBwfIygwOUJOWWNvWU1ANSsiGxUSEBASGB0mLztGUV1oUkc6LSMYEQoGBAUHDRMdJzFASlVjTUEyJhsQCQH8+vv+BAsVHyo5RVJdST0tIRUKAfn08vL2/AQPGiU1QUxaRjotHREG/PTu7Ozw9/8KFiIyPktXRTgrHBAD+vHr6Ojt9P0IFCAwPUhWQzgrHBAE+vHs6enu9f0IFCAwPUhXRzotHhIG/fXv7O3x+AALFyIyP0xYSD0xIhcMAvv28/P3/QYPGyY1Qk1bTkE2Jx0TCgP+/PwABQ0WICw5RlNfUkg8LyQbEw0JBgcKDxYeKDA6RU9ZWE5ENy4kHRgUEhMVFhgcIis0QUtWV0o/NCkgGhURDw0NDQ8UHSUwPEhVVEg7MCUcFQ8LCAcGBwoRGSMtOUVTUUU5LiMaEgwIBQQDBQgPFyEvOERSUEQ4LCEYEAoGAwICBAgPFyEvN0RQT0M3KyAXDwkFAgECBAkPFyErN0RST0M3KyAXDwkFAgIDBgoRGCItOEVRUUQ4LSEYEAoGAwMFCA0TGiQuOkZUU0g6LyMaEQwIBQUHCw8VHCYwO0hUVkk9MSgcFA4KCAgKDRIYHygyPkpYWUxANSggFxENCgoMEBQaISs1QUxYXVBEOC0jGhQQDQ0OEhcdJy44RE9cYldIPDEmHRcSDw8QFBgfKzA7R1JfZVpMQDQpIBkTERASFRogLDM+SVZiaV1PQzYrIRoUERESFhsiKjQ/S1dlbF9RRDcsIhoUERESFhsiKjQ/S1dlbl9SRTcsIRkTEA8RFRohLDM/S1dkbmBTRTksIBcRDQwOEhcfKDI9SlVjbmBTRTcrHxYPCggJDhQcJS86RVNgb2FTRTYrHxUNCAUFCRAXICs2Qk9cb2FTRjcrHxUNBgEBBQwUHSg1P01acWNVSDstIhgPBv/9AQgQGiUzPktYdGVYSz0yJh0UCwL8/gYNGSQwPktZd2pdUEU5LyUcEwoDAAcQGygzQE1be29kWUxCNy4mHhUOCgwUISg1Qk5df3ZrYVVNQjoyKSMaFhcdJzE7RlNff3xzamFXT0c9Ni0nIyQrLjdCTlpmf397c2tjW1JKQDo0MDM3O0FKVmFtdmtjWlFLR0E+PT0/Q0dOVVxncHt/bWJYT0hAOTUyMTEzNzxDSVJcZ3J9ZVlPRTw1MComJSUnKzE6QElUX2p2XlNHPDUrJB8bGhocICcwNkBLWGRvWEtANC0iGhURDw8SFx0oLzlDUV1pU0U6LicbEgwIBgYJDhYiKDM+TFllT0E1KSIVDAb///8CCBAYIi45R1VhTT4yJh8RCP/8+vn+AwsUHyo2RVNfTD0xJB0PBv759/f7AAkSHSk1Q1FeTD0xJRkPBv769/j8/wkSHSk1Q1FeTkAzJxsRCQH9+/v/AwwVHys3RVNgUUI2Kh8WDgYDAP8ECREZJi46RlViVUY7MCUcFA0KCAgLEBcfKDQ/TFlmWk5BNywjHRYTERIUGB8nLzpETllkYVZIPjUsJiEeGxweIiMnLTU+SFNgXlNIPTQsJyIeHBsaGx0hKDE8RVBdXFBFOjEoIh0aFxUVFhkeJS44RE5aWk5DOC8mIBsXFBISFBccIy03QU1ZWU1CNi0kHhgVEhERExccIyw2QkxYWExANSwjHRcUERARExccJCw3QUxZWUxBNSwjHRcTERESFBgeJS03Qk1ZWU1CNi0kHhgUEhITFxsgJy85Q1BaXE9DOi8mHxkWFBQWGR0iKTE7RVBcXlNGOzEoIRwZFxcZHCAlLDQ9SVJeYldJPjQrJB8bGRkbHiInLjZAS1VhZVpNQzcvJyEeHBsdICUqMTlDTVlkal9RRTsyKiQgHh4fIicsNTxFUFtnbWBUSD41LCYiIB8gIyguND5IU15qcGRXTEA3LicjICAhJCkvNj9JVGBscmZYTkE3LiciIB8hJSkuNz9JVGBsdGdaTkE2LSYhHh4gIyguNT9JVF9sdGZaTkE1LCQfHBscICUrMz1HUl5pdGZaTkA1KyMdGRcYGyAoMDlEUFtndGZaTUA0KiEbFhMTFhwjLDQ/SldjdWdaTkA0KiEaEw8PEhgfKzE8SlVidmlbUEI1LCMaEw4LDhUcJS86SFRfemxgVEY6MCceFg8LDBIbJi45R1JffXBlWUpANy4lHBUPDhMaJS86SFVhf3ZrYFNJPzYtJBwWFRgeKTI/SFVif31yaVtRSkE4LiciHyMmLjlETllmf397cmZdVEpCOjMwKysyNkFKVWBqf39/eXFoX1ZNR0A7ODg9Q0pSXGdye3JpYVlSTUpHRkZITE9VXWRsdX9/c2hgV09IQz47Ojo8P0RKU1pjbXh/a2FWT0U+NzMwLy8xNjpASlBaZHB8ZFlORjw0MCkpJCcnLTA3QkhTXWl1XlNHQDQsJSAcGxseJSgvOkNMV2JwWU1DOi4mIRkUExMWGiEoNDtGUV9sVUo+NikgHRIODQwQFBsjMDZCTlpoU0c7MyUcGg4KCAgMEBcgLDY/S1hmUkU5MSQbFwwIBgYKDhUeKjI+SlZlUkY6MSQbEg0IBgYKDhUeKjQ+SlZlVEc7MyYdFQ8LCQkMERggLDc/S1hmVko+NikhGRQPDQ4RFRskLTlDT1poW05DOjEnHxoWFBUXHCEqMj5HUl5sX1RJQDcuJyIfHR0fJCwxOURNWGNtZltQSEA2MCsnJicsLDUzOUFKVWFoaF1TSEA4My8rKSgoKCouNT1FUV1lZVpQRT01MCsoJiQkJScrMjpDTVpjY1hORDszLSklIyEhIyUqMTpCTFhiYldLQjkyLCcjISAfIiUpMDhBS1hhYVZMQTgxKyYiIB8fIiUqMThCTFdjYVZMQTgxKyYiICAgIycrMjlCTVhjYldLQjkxKyYjISEiJSkuNDtETlhlZFhPQzszLSglIyMlJyswNj5GUFplZltQRj01LyonJSUnKi4zOUBIUl5paV5USUA5MiwqKCgqLTA1O0JLVWBqbWFXTEM9NS8tKyosLzM4PkdQV2NucGVbUEY/ODIvLS0uMTU6QElTWmVwdGlfU0pAOjQxLi4vMjY7QktWXWhzeGxiVkxDOzQxLy8wMzc8Q0tVXmp1em5jV0xCOzQxLy4wMzc9Q0tWX2p1e29jV0xBOjMvLSwuMTU7QktWXml0e29hVktAOTItKiorLjI4P0hRXGdze29hVUpANzArJyYmKS00O0ROV2Nve25hVUk/Ni8wKSEhJC0wN0BJVF9sfG9hVUk/Ni4qIR4dHyQsMz5IU19qfHBiV0tANy4nIRwaHCIpNTlEUFxof3NlWk5EOzIuIh0ZGSAqNTtDT1xof3hqXlRKPzYyKCAbHCAsNzlEUV1pf35wZVpRSD86MCchIikyPTxHUl9qf393bGNZUEc+Ni8tKyszOEJNWGJtf39/dWtjW1JIQDs3NDc7QEhSXmhyf39/f3ZuZVtTTEZEQUJFSlBaZG55f3pxaGNdVlJQT1FRVVhdZWxzfX9/enFoX1dSTEhFRERGSU9TWmNrdH5/cmlgVk5JQj06Ojw7PkRKUltibHd/bGJZTkZAOTQxMDIyNjxBSVNcZnB7ZlxTRz85MCwrJysqLjM6QU1WX2p2YVdOQzkwKiUlISAjJy80PEhRW2ZxXlNKPTQsJSAgGxseIiovN0NNV2JuXE9HOjEoIRwdFxcaHicsNEFLVGBsWlBGOzAnIxobFRUYHCYqMz9JU19rW09GOTAnIxsbFRUYHSYqMz9JU19rXFFHPTIpJR0ZFxgaHiksNUFLVGBsX1NKQDUtKSEdHBweIyswOENOV2NvYldORDoyLycjIiIkKDA1PUhSXGZyZ1xUS0A5NS4qKSkrLzc7Q0xXYGt2bWJaUUdAPDYzMTI2ODxBRkxVXmlycWdeU01HQz48OTU4Njg7QkpRWmVvb2VaUUpDPjo2NDMyMzY5P0hPWGNubWNYUEdBOzc0MjAwMTQ4PkVNV2FtbGJXTkY/OTUxMC8vMDM4PUVOVmBta2FWTUc+OjQzLy4uMDM4PkVOV2Fsa2FWTUY+ODQwLy8vMjU6P0ZQWGJtbGJXTkc/OTUxMDAxNDc8QUhQWWNtbWRYT0lAOzYzMjQzNjk+Q0pTW2VwcGZbUklCPTk2NDQ2ODxARk1WXWdycmlfVExFPzs4NzY4Oz5DSE9YYGl1dmxgV09IQj47OTk7PUFGS1JbYmx4eXBkW1JLRUA9PDs9P0NITVReZW95fXNoXlVNR0I/PT0+QURJT1ZgZ3J9f3ZqYVdPSENAPj4/QUVKUFhgaXR/f3hsYVhPSEM/Pj0+QUVLUVhganR/f3hsYlhOR0I9PDs8P0NJT1ZgaXN+f3hrYFdNRUA7ODg5Oz9FTFRdZnB7f3hqX1ZMRD45NTM0NztASE9YYmx3f3dqXlRLQjw6NTAvMjg8RExVXml0f3hqX1RLQzs1Ly0sLTI5P0hTXGdzf3lrX1VMRDw0LispKy82P0ZQWWVwf3xtY1lPRz44MCsoKC4zP0VQWGRxf39yaF1TSkM8My0pKi43QEZOWWZyf394bmRZUEhCODMvMDQ8RUlRXGdzf39/dGtiWVBIQDs4Njk+RUxWYGt2f39/fXNqYVlSSkVBQEFHSlJbZXF7f39/f310bGNbVE5MSUxQVFpibHd/f396cWtkYFxaWVpbXmNmbXV9f39/f3pwaGJcV1RSUFFRU1pdZGx1fX9/fHNoYFhTTUhGRUdHSlBUW2Rtdn5/dWxhWFJMREA9PD4+QUhMVFxnb3h/cGZbUkpFPTk3NTY3OkFFTVZgaXN+a2JXTURANzIyLjEwNDs/R1FcZW56aF5TSUA7Mi4tKSkrLzc7Q0xYYWt3ZlxRRj04LyorJiYoLDQ4QEtWX2p1ZVtQRDw3LSkpJCQmKzI2P0hUXmh0ZVtQRTw3LikpJCQpKzI5P0hUXml0ZlxSRj44MCsqJiYrLTQ7QUpVYGp1Z19USUE8My8uKiovMDU+RE1YYm13bGNYTkZAOjQzLzA0NTpDSFFcZnB7cGdeU0tGQDo3NjY7PEBITlZga3V/dm1kWlJNSEI/Pj5CQ0hQVllgaXN+fXFpYVlUUEtISEdLTFBYX1VeZm96enBmXVZRWVVTUFFUV1thaVNcZG14eG1kXFVPSkZCQD8/QEJGS1JbYmx2d2xjWlNNSERAPz4+P0FGS1JZY2x3dmtiW1JMSENAPj09P0JGTVJaY2x2dmtiWVJMRkM/Pj4+QENITVNbZW13d2xjWlNNSUNAPz5AQkVKT1VdZm54eW5kXVVOSkVEQEJCREhMUVdfaHB6e29mXlZQSkdEQ0JER0pOU1phanJ8fXNpYFpTTUpHRkVHSU1RVlxja3V+f3VsY11VUExJSEhJTE9UWl9mb3d/f3pwZ2BYU09MSkpLTlFWW2Foc3x/f31zamNbVVFOTExNT1JXXWNsdn9/f392bGRdVlJOTU1OUFRYXmRsdn9/f393bWNdVlFOTUxNUFRYXmVtdn9/f392bWNbVFBMSkpLTVFWXGNsdH9/f391bGJaY1xWUU1MTVFYYGBocXt/f390a2FZXFRNSEVEREpRWltkbXZ/f390amBXV05HQj49QEVLU1xmanN+f390amBXVEpCPzs6PEBFTldiZ3F8f391amFYU0pCPTk4OTxDSlRfZW96f394bWNbVkxDPTk3NztBSlRfZW96f398cWhfWlBGQTw4OT1CS1VgY257f39/d25lX1VNRkE9PkFHT1lkZnF7f39/fnNqZVxTTEZFQ0dNVV9panR/f39/f3xzbWNbVFBOTlBVXWZwb3l/f39/f397c2tkXllWVVZbX2RsdX9/f39/e3ZvamhlZGVlaW1xd31/f39/f396cm1lYV9cWlxcX2RobnV+f39/f3tyamVdWFZSUVNTVltgZm12f39/f3VrY11XUE5LSUtKTlNZXmZwen9/e3BlXVdPSkVDQkNDR01TWGBqdH5/dmthWFJLREE/PD4+QkZOU1tlcHl/c2hdVE5HQDs7ODk8PUNKT1hhbHZ/cWZbUktEPTk4NTU4Oj9ITFVfanR/cGVbUEpEPDc3MzM3OT5GS1RdaXN+cGVaUUpEPDc3MzM4OT1HS1ReaXR+cWdcUktGPjk5NTU6Oz9ITVZeanV/c2leVU5JQDw8ODk9PkNLUFhhbXd/d21jWVFNRUFBPT1CQkdPVVxlcHp/e3FmXlhTS0dGQ0RHSE1UWmFqdX9/f3duZV1ZUk5NTEtOT1NbYWZudX1/f31zbGRhW1ZVU1NWV1xiaWNqcnt/f3tya2ReYl9eXVxfYWRqcWBncHl/f3lwamJcWFRRT05OT1FVWl9mcHd/f3hvaGFbVlJPTk1NTlBUWV9mb3h/f3duaGBaVVFOTUxMTlBVWWBncHh/f3duaGBaVVFOTUxNT1JWW2Bob3l/f3hvaGFbVVJQTk9PUVRYXWJqcXp/f3lwamJcWFNST1BRU1ZaX2ZrdH1/f3tya2ReWlZTUlFTVVlcYWdudX5/f351bmdgXVhVVFRWWFtfZGlweX9/f394cGljX1tYV1ZYWl5iZmxze39/f397dGxmYl1aWVlaXWBkaW91fn9/f39+d29pZGBcW1pcXmFlanF3f39/f39/eXFqZWBdXFtdX2JmbHJ5f39/f39/eXFqZWBcW1tcX2JmbHJ5f39/f39/eHBoYl5bWVlZXF9kaXB3f39/f39/dm5nbWZhXFpYWV1jamx0fH9/f39/dW1lZ19aVVJSUlZdZWhveH9/f39/dWxlYlpUTk1MTlFXX2dwdX9/f39/dWxkX1ZQTEpJSk5SWWJscnx/f39/dm1lX1ZQS0hHSEtQV19pcXp/f39/eW9mYVlRS0dFRktPVl9pcHp/f39/fHNqZVtUTkpHSExQV2BqcHp/f39/f3hwaWBZU09LS05UW2Ntcnt/f39/f352bmZeV1RSUVRZYGhydX5/f39/f398dm1lX1xZWVxgZ294eX9/f39/f39/fHRuaGVhYGFla3B2f39/"},"LeftFoot":{"min":[-0.1029,-0.0759,-0.1274],"dims":[14,19,16],"data":"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f3lsX1NJPjYsKCYpLjY/Sn9/c2dcUEY/OTQzNDg+R1B/f3pvZFhPR0E+PD5CSE9acWpkYFtUTkpISEpOVFtkcGdfWFRRSkU/Pj1AREtTXGhaU01KR0E6NTIwMjhASVRhUUlDPz06MysoJiktNUFMWkpAOzY0My4pIyAgJi86RVNEOjMuLCwrJiAcHSMrNkJNQTgtKScnJyUhHRwiKTM/S0E3LyglJSYnJCIgIyoyPkpEOTIqKCYnKSklJScsNEBLST83Mi0sLC4sKigqLzhBSlBHPzk2NDQ0LiooKi83QUtYUElDQD4+MywnJSgtNT1IY1pTTktDOTApJCMmKjI7R2xlXlpPQzkwKCMkJyszPUl4cWpdUEY8MiwpKCswN0JLf3puYVVKQTkzLi0vMztFTX9/cmZbUEg/ODUzNTpASVJ/f3htY1hPSEI9PT1BR09Zf39/dmtfV1BKSEZHS1BYYXdxbWxkXllUU1JUV11kbHZsZmJjWlVOSkdFSExSWmNtY11XVFJMRkA9PD1ASFBaZVtUTkpJRT86NjQ0OEBIVF9UTEVCQEA8NjAuLTM5RE5bT0Y/Ozo6OTQtKiwwOD9KVk1CPTg2NTYzLiwrLzU/SFNMQzs3NDQ1NjIuLjE3PklTT0U+OTY1Njg3NDM1OUFKVVJKQz06OTo7Ojg2OT1DTVZaUkpEQUBAQTw4Nzk9REtWYVhTTkpJR0A5NDQ2O0FJUmpiXFdVTkU9NjMyNDk/SFBzbWhjWE5EPDY0MjU5QEhSfnhxZltRSEA5Nzc4PUNLVn9/dWpfVEtFQDw7PUBHUFl/f3luY1pSS0VCQUJGTFNdf39/dWtiWVJMSUlJTVJaY39/f3xyamJbVlNTU1VbYmk="},"LeftToeBase":{"min":[-0.098,-0.0385,-0.0402],"dims":[13,13,11],"data":"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"},"LeftLeg":{"min":[-0.1111,-0.1018,-0.1274],"dims":[16,41,17],"data":"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KyonKCkuNjxFUFtXTEI6MismKigrLTI5P0hSXVNJPjkxKSgoJSotLzlBR1BcUkg/ODAoIyIjJyguNj9GUFtSRz04MCgnISInJy02P0dPXFJHPzkwKCchIicoLjdASFJdUkg/OTEuLCIjJykwOEJKVGBTSUA6MysqKSUqLjI7RUxWYlZLQzw1LikqJygwNDtGTlhkV01DPjkxLS4rLDM3PklRW2dbUEZBOzQwMS4vNzpBTFReaV5TSkQ/NzQ0MTM5PUNMVmBrYlZORkI6Nzg0Njw/RU5YYmxlWlFJRT06OTc4PkFHUFlkbWldVUxIQDw8OTo/QkhRWmNubWJYT0lCPj46PEBDS1FbZW9wZVpTTEM/Pjs8P0RLUltlcHFmXFhOR0FAPD9ARkxTXWdxc2ddV05FQT89PUBFS1NcZnJ0Z15ZT0hBQUBBQUhNVF5oc3NoXldORkE/PkBBRUxUXWdzc2leV05GQ0E+QUFITFVfaXNzaWBWTEVCPjw9QEZLVF5pc3JoXlRLREA7PDw/RUlSWmdycmZaUUhDOzg4NjlBSE9YY21wZFlPR0A4NTY1OD9ETFZha25iVk1EPzc0Njc6QENMVmBrbmNXTURAOzg5ODxDSE9ZYm1vZVpPSERAPDs/QkhMU11mcXFnXlRNSEZEREdKTlNaY2x2dWtjW1RPTk1MTlNXXWJrc3x6cWljXFhWV1ZYXmJmbHR7f395cWtmYl9hYmRnbXF3fn9/f393cWpkX11bXF1fZGpxeX9/eHBoYltWU1JTVFZcYWhxen1zaGBaU05LSUtLTlRZYGpzeG1jWlRMR0NCQ0RHTlNbZG50aV5VT0ZBPzw8PkJJTVVfaW1kW1JLQz48ODc6PkRKUlxnaF5VT0dAOzk1NTc7QkdQWWVkWVFKRkA7NjU1ODtBSFBYZGFXT0hCPDk4NjY6PEFJUVllYVdORz05Nzg3OD0/RExTXGdeU0xGPDc3NTM3Oz1ETVVdZ11UTEU7NjUxMjU4O0FLU1tlXFJMRTs2NTIxNTg7QUxUXGZcVExFOzY1MzE1OTxCTFRdZ11UTUY8OzkxMjU6PURNVl9pXlRORz45ODYzOD0/R1BZYWtfV1BKQDw6ODY3PkFIUVljbWJYUUxDPz48OTtCREtUXmZwZFtUT0hCPj88PkRHTlZgaXNoXldSTEVCQkBBRkpRWWFrdWtiWVRPSUVGQ0RKTVNcY213bmZeWFJMSEhGR0tPVV1lbnhzaWFaVk5LS0hJTVBWXmZveHdsZF1XUE1MSUpPUVhfZnB6eW9mX1lSTk1KS09SV15ncHp7cGdjW1RPT0tOUFJaYGhyfH1yaGNaVE9OTExPU1lgaHJ8fXNpZFxUUVBOT1FVW2Bpc35+c2tjWlRRTk1PUFRaYWlzfn5za2NbVFFPTU9QVVthaXR+fnVqYVpUUExLTU9SWmBoc319c2lfWFNMSUpKTVJYXmdxfHtvZl1WUEpHR0VITlVbY214eW5kW1RNRkNFQ0ZMUlhha3Z3bGJZUkxGQ0RGSE1SWGFrdXhtYllTTklGR0dKTlVbZG13em9lXFZSTUpJTU5UWmBocXt8cmdgWVZTUFFUVlpgZWx2f392bWVgXFpYWVteYmhtdH1/f3x0bWhjYmJhY2hrcXZ9f39/f3x2cG1qbGttcnZ7f39/fw=="},"LeftArm":{"min":[-0.0943,-0.0886,-0.0899],"dims":[15,29,14],"data":"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O0FKVVJJQDUvLSgoKzA4P0hTUkg/NDUsJiUtNDc9R1FQRz80NSwlJCosNjxHUVFIPzQtKyUkJy01PEdSUkpBNi8tJiUoLTc/SFRVTEM4Mi8pJyowOUBKVVdNRjw2Mi0rLjM8Q01ZWlJKQDo0MjIyN0BHUVtfVE5FPjg2Njc8REtWYGJYUUhAPDg3O0BIUFpkYVhPRkA8OTo/Q0pVXmlcVEtCPDc6Oj5FTVZha1hQRz43Njg4PEVMVV5nVUxEOzUxNTc7Q0tTW2VTS0I6NDQ2NjpCSlFaZFFKQjo0NDc4PENKU1tlVExCOjc3OTpARUxWXWZYT0Y+Ojs9PkJJUFlgaV1US0VCQkNFSlFXX2dwZFpTTEpKTE1RWF9mb3d7c21nZWJhYmVobXN7f3NrZV9bWVhZW19ka3N8bGVeWFRRUVFUWF5lcHhnYFhTT0xMTU9TWWFpcmRcVE5KR0ZHSk5VXGRsY1pRTUhEQ0RHS1JXXmZhWVFLRkRCQUVHTVRaY2JaUEhCQT09QUNIUFdgYFdNRD49OTk/QEdPVWBeVUtDPDs3Nzs+Q0xUXV1USkFBOTU0OkBCS1JcXFRKQUA5NDM4OkJKUlxdVEhBOjg0Mzc6QEpSXF9WTEI+OjU0ODtDTFNdYFhMRj88ODY6PUNNVV9jW1JJQz48PDxBSFBZYmVeVU1IREBAQEVMU1tmaWFYUUtHRERESVBYYGltZVxVT0pHSEhNVFxkbm1kWlJNS0hJTVFXYGlzZ2BXTkpHSEhMU1pibHZkW1JLRURGRktRWWFqc2FZUEdDQkNFSVBYYGdxX1dORkNCREZJUFdfZm9eV05GQ0NFRkpRV19ncGBXT0lFRkhITFRZYWhxZFpSTEhJS0xQV11kbHVnXldST09RUlZcY2pyem1kXllWVlhZXWNqcXl/"},"LeftForeArm":{"min":[-0.0952,-0.0802,-0.094],"dims":[14,28,14],"data":"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"},"LeftHand":{"min":[-0.0854,-0.0698,-0.0733],"dims":[13,16,11],"data":"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"},"RightArm":{"min":[-0.1044,-0.0886,-0.0899],"dims":[15,29,14],"data":"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Nj9HUk9EOjIrKCUmKC41QEhRTEE5MComJCUpLjY/R1JLQDYvKSUkJSkvNz9KU0pANzEqKCUpKzA4QUxVTEA3MisnJystMjtDTlpNQjk0LSkqKzA2PkZRWU9DOzMvLSwvMzpBSlRdU0g+NzIwMTM3PURMVmBWTEI7ODQ1Njo/Rk9YYlpPRj86ODc4O0BJU1ljXlRKQz46ODc7QEZPWGNgVkxEPTk2NTg+Q0xWYVtRR0E7NjIxNDo/R1FcWE5FPTcyMC0vNTlCTFhXTUM8NTAuKiwyNj9KVlhNRj40LyoqLTA0PUlVWlJJPzg1Ly0vMTY+SlZhV09HPzkzMzQ2O0NOWWlgV05JQDw7Oz1CSlRfcWlgWVJLR0ZFRkpSW2V0bGVgXFpZWlxgZWxzfG1lXFhUUE9QUlddY2x1ZV1VT0tIR0hMUVVeZ3BgV1BJRUJBQkVKUFhhal1UTEZBPjw9QEZLU11mWlFJQj47Ojs+QklRWmNaUEhBPDk4OTxBSVBWYFpRSUI+Ozo6PD9ETVVeXVNKQj45ODc5PENKVFxZUEY/OzY2NTc+QktVXVZORD03NTM0Nz5DSlVcVktFPTc0MzM4PENMVV9VTEU8ODY0Nzk+Rk1XYVVMRT45ODY5O0BHT1hjVk5HQTs4ODo+Q0tSW2ZZUEhDPjs7PUJHTVVeaF1SS0ZAP0BBREpQWGFrYFZOSkRDQ0VHTVRbY21kWlNNSUZGR0pOVV5jbmheV1FMSUdISUxUW2NuamBXUUtHRERGS1FXYGplXFVOSERCQEJHTFNbZWNZUkxFQD48PUNHTlZhYllQSkM+PDk8QUVLVF9jWlNKQkA5OTs+Q0lTXmVdVU1HQj08Pj9DS1Nfa2JZUUxFQUBCQ0hOV2JyaWBZU0tIR0hKTlVdZ3pxaWJbVFFRUFFVXGRt"},"RightForeArm":{"min":[-0.0939,-0.0802,-0.094],"dims":[14,28,14],"data":"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"},"RightHand":{"min":[-0.0934,-0.0698,-0.0733],"dims":[13,16,11],"data":"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"},"RightFoot":{"min":[-0.0891,-0.0759,-0.1274],"dims":[14,19,16],"data":"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f3NnWk1COC8oJyktNT5IVH96bWJVSkE5NDQ2OUFJUl1/f3VqXlVNRkJBQkdNVV5menRua2RjXVhVVFVZYGhwdXBqZWFdWlNOS0lMUFdfaG9nZV9bWFJKRUFCRElQWGJpYF1VUU5JRD48PD5DSlNcZVpVTkhEQj07ODg7P0ZOWWNWUUhCPz45NjU3OT5FTVhhVE1FPzs5NzQzNTo/RU9ZYlNLQTw5Nzg0MzQ3PUNLVWJUTEM7ODc3MjAuMTc8RlBfV05GPzo5NC4qKiwxOUFMV1pSSkQ+ODEpJyYnLDI8RlFiWFBKQjcuJyQhISQsNkBNaWBYTkM4LSUfHR0gKTI+S3JqYlFGOS8lIBscICgyPEl7bWFVSD4yKiIeICUpNEBMf3JmWU1DOC8pJygqMTpFUX94bF9UST84MzEyNTtDTFl/f3JmXFFJQT49PUBGTldif396b2RbUk5KSEpNUVlian99eXVvbGdiYF9gZGpxeX56dG9sZ2ReWVdWWFxiaXJ5c29pZWJdVlJQUFFVW2Nsc2xnYVxaVVFNS0tMUVZeZ29mYVpVUlBMSUhHSU1TWmRsY1xVUE1MSERERkhMUlljbGBZUk1KSEZDQURITVNbZG1fV09KSEZFQkJCRUhOV19pYFhQSkdGRUA9PT9DSVBaZmFaU0xIR0A8OTk5PkRMVV9mXVdSTUU9OTU0NTk+RVBaa2NbV0xEOzQyMC8yOUBKVHFpY1hNRDkzLywrLjM9RlN6c2xaTkQ8My4qKi4zPUdTf3VoXVFIPjUwLS4yNz9JVH95bWJXS0M8NjQ0OD1DTFl/fnJmXFJKQz07PUBFS1Rgf395bWRbUUxHRkhITlZdaH9/f3ZrY1xVU1JTVVlfaHA="},"RightToeBase":{"min":[-0.0815,-0.0385,-0.0402],"dims":[13,13,11],"data":"VExIRURERkpOVF5MRD46OTk8P0VLVkY8NjIvMDU4PEZQQjcxLSorLjI5QUxBNi8qJygrMjc/S0E2LyonKCswOEFMQjgwLCgqLTM6RE9DODEtKiwvNz1HUUQ7NDAtLzI4QEtVSUA5NTM0Nz1GT1lMQz05Nzk8QkpTXlJKREE+QERJUVpkW1RPS0pLT1NaYmxMRD48OTo+QEVNVkE6My8vLzI0O0RNPDIpJiQkJywyPEc3LSQfHB0gIy04QTYpIhwZGhwiKzZCNiwiHBkZHSMsNUM3KyMdGhsfJS85RjouJB4cHSErMjxKOy4nIR4gJSw2QU4+NColIyUpMjpFUkM3MSwqLDA2QEtWSkE6NzU2OkBJUl1TS0ZCQUJGS1JbZUU8NTIyNDY5PkZQOjIoJSQlKSwzO0c1KR8bGRodISg0QC8jFxEPDxMYIy07LyIVDQoLDhYeLDkwIhUNCgsPFyEtOzEjFg8LDBIaJDI/MSMXEA0OFB4rNkEzJRoTEBIXIi07SDUoHhgWFx0nMj9MOTAlHx0fJC83RFFDOTIuLC0yOUJMWE1FPzo5OD5ETFZgQTcvLCwuLzM5QUs2LCEeHiAhJS03QjAjFhERExUaIS47LBwQBgQFCA8ZJzQrHA4A/PwBChglNSscDgD7/AIMGig2LB0PAv3+BhAeKzksHhAD/v8KFCIwPi0gEQUCBA0ZJzVDMSMVDAkLEx4tO0g3KyEYFhgeJzRATj81LCYkJiozPUlVSUA5NTM0OD9HUl4+MysoKSssLzY+STQnHRkaHB4iKTRALB8SCgsNDxUdKzYqGwv+/f8BCRYlMykaC/zv8fcFEyIzKRoL/O3u+gcXJTQqGwz97vL/DBooOSobDf7w9gQSIDA9LR4PAfX8CRclNEIwIhQIBAcPHSs4RzUnHBUSFBwnMT9MPjMpIyEiKDA8R1NIPTc0MjM4PEdRXT40KicoKysuNj1JMykcGBkZHCEpNEAsHxIKCgoOFBwoNykaC/78/AAIFyUzKBkK++3t+ggVJjIoGQr77PH/DBgnNSkaC/zt+AUPHSs5KhwN/vD5CBYkMD4tHhED9/4LGSg2RDIkFgsFCBIfLDpHNykfFxQWHScyP01ANCwlIiQoMjxJVUpAODMxMzc9R1FdQDQvKysrLDI3P0s1KyIdHB0eJCo2Qi4hFA8ODhAXIi46KRoNA/8ABA0bKDYnGQr78fH+DBooNygZCvvs9wQSHSs5KhsM/e78ChYjMD4rHQ4A8v4MHCk2QS4gEwX7AhAdKzlHNCYYDwkMFiEwPUo5LCMaFxogKzVCUEM3LiglJyw0P0tXTUM8NjM1OkJJVGBEOjQxLy4xNTxDTzgtJyIgICMoLzpGMSUaExISFRwnMT8qHBAGAwMIEh8tOygZC/z09QEPHiw6KRoM/e75BhQhLz4rHA3+8P0LGSc1Qy0eEAL1AQ8dLDpIMCMVCAIIEyEvPUs2KBwTDxIbJzVBTzwwJx8cHyQvOkhTRjsyLCorMDhDTltPR0A6ODk+RU1XYkY8NjIxMjQ5QElTOi4pJCIjJi0zP0syJhsVExQZICk2RCwdEQcEBgwXJDE/KhwN//X4BhQiLz0rHQ4A8fwJFyQzQS0eEAL2AQ4cKTdELyETBv4HEyAuPUszJhkOCg4ZJTNBTjksIRkWGiEtOkVTQTUsJSMlKzRAS1lJQDcyMDI3P0hTX1RLRUA9PkRLU1xmRz43MjExNjxDTlg8MSokIiMnLzlEUDQnHRYUFBsiLzxJLyAUCgUHDhwpNkUuIBIF/P8NGic1Qy8gEwb9BRAcKTdFMCIUBwIJFCEtO0gzJBgNCRAaJTJATTcqHRYTGCErOEVSPTIoIB8iKDM+S1dGOjItKi0zOkZSXk5GPTk3OD5GT1lkWVBLRkRHSlFZYWxLQjk2MzU3P0ZSXUA1LSkmJiwzPUhVOS4kGxgYHyk0QU41JhwSDA8YIi88SzMmGhAKDBYhLjtJNCYbEQwQGSMwPUo2KBwTDRQdKDRATTgrHxkWGiItOUVSPDAnHx8iKTQ9SldCOS8qKSsxOkVQXEtBOjU0NTtETFlkVUxFQUBCRkxWX2pfVlJOTE5RV2BpclFHQTo6Oz5DTFZhRz41Ly0uMzpDTllANSwlIiMnMTxIVDwxJx4aGyMsN0RROy8lHBkbHyw2Qk87MCUdGh0jLjhEUT0xJyEeICgyPEdUPzQrJSMnLTZBTFlEOjErKi0zPUZSXUtBOTM0NjtDTVhiUklDQD5AREtUYGpbVE5KSUtPVV1mcGZeWlZVV1pfZ294WE9JREJDRkxUXWdQRj85ODc7Q0tVYEpAODIwLzM8RU9bRjwzLCkpLjZBTFlFOTEsKCktN0FMV0U6MispKjA5Q01YRjw0LiwuNDtGUFtJPzc0MzM5QUpVYE5EPTk3Oj5GT1plU0pEQUBCRkxWYGpbUk1JSUtPVV1ocmRcV1RTVVleZm54bmZjX15gY2hud38="},"RightLeg":{"min":[-0.1052,-0.1018,-0.1274],"dims":[16,41,17],"data":"f3xyamReWVZVVVdbXmRrc3t+dGpiXFRPTEtMTU9UW2JrdHduY1pUTEdDQkNER0xTW2RscmhdVE1FQD06PDxARkxUXmhuZFlORz86ODQzNjpBRk5ZY2leVEtCOzYzLy8xNj1DS1ZgY1hPSEA6My4tLC4zO0BJVF5dU0lDPjgzLiwsLjI6QElTXltQRkA6MjEwLS4vNDtBSlRfW1BHPzcxLDAuMTU3PERNVmFYTUU+Ni8uLSowMzU9R01VYFdMRD4zLi0oKS0uMzlFS1VeVkxEPjMuLScoLS8zO0VLVGBWTEQ+My4tKigtMDQ8RkxWYFZMRT80MzEoKS0vNTxHTlhiWE1GQDYxMC4rMDQ3QEpQWmZZT0hCODQvLy0vNjpAS1NdZ1tSSkQ+NjU0MTI5PUROVmBrX1RLRkA6Njc0NT0/RlBYYmxhWE5KRD05Ojc5P0JJUlpkb2ZbUkxHQD0+OzxCRUtVXWZxaV9WUEtDQEA9PkNHTVZeZ3JtYlpSTUZDQj9ARUhOVl9ocnFlXVRPSEREQUJGSVBWX2pzdGlfWFFJRkRCQkVKUFdganR1aWFcU0xHRkNFR0xSWGJsdndrYlxTS0dFQ0NGS1JZYWx2eGxiXVRNR0dGR0dNU1ljbXd4bWRcUkxHRURGR0tRWWJtd3htZFxUTElHREdHTVNaYm14eG5kWVJLSERCQ0ZKUllibXh3bWNZUUlEQUJCRUtOV2BrdnVqX1ZPSUE+Pzw/Rk1UXWdyc2hdVE1FPjs8Oz5ESVFaZW9yZltSSUU+Ojw9QEZKUVllb3JnXFJLRkE+Pz5CSE1UXWdxc2lfVE1KRUJBRUdNUlhha3V1bGJZUk5LSElMT1RYX2ZwenlwZ19ZVVNRUVNXXGJnbnd/fnVuZ2FdWltbXWJla3F3f39/fXVvamZkZWZobHB1e39/f310aWJaVE9MSkpMT1RaY2tzdWxiWFBKRUFAQEFFSlBaYWtuZVpQSEE8NzY2OD1BSFJaZGldVElAOzQvLS8wNTlBS1NeZFlPRDs1LSgmJigsMztGTVlhVUtANy4oIyEhIycuN0FLVVtPRTw0KyUgHh4gJSs0PUlTVko/NjArJCAdHR8kKzQ9SVNTRjwxLSQjIh8fISYsNT5KVFJGOTIrIx4iICMlKjI4QU1WT0M4MSshICAcIiMoMjlASldOQTcwKSAbGRogICYwNj9J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JiImJSctLzhASFFZT0Y/Ni4oIiUiJSwwNkBHUVVLQTgwKSQiIScpMDE6QUhSVUk/Ny8rJyYoJCgwMzpES1NUSD84LyglIyQmKjI1PEZMVlNIPzYvKSYlKSwvNjtCSlFZVUtCOjMtKCYoKzA3PENMU1xVSkE5My0qKSsyMztCR1BWYFdMQz41My4vLzU3PURLVFtlWk9GPjkzMTAzODtBSE9YX2hcUkpDPDk1NDc7QEVMVF1kbmFXTkdAOzk5Oz9ESlBYYWhxZVpSTEY/Pz1AQ0hOVl5mbHVqX1dPSERDQkJHTFJaYGhweW5jXFVPSUhJSEtRWWBkbHR9cmlhWlFOS0xMT1VaYWhveH92bmZfWFRSU1RWW11ja3J6f3pxaWFaVVNSUVNZXmVtdH1/fXRsY1tWVFNSVVtfZW12fn9/dWxkXVdVUVJVWl9lbXV+f392bWVdWVZUU1RXXGNqc3x/f3VsYlxfW1hWVllfZmdveH9+dGtjXFhTUU5PUlhdY2t0f3txaGRbVE5KSUlMUFZcZW55enBmYllRS0dERERIT1dganR5b2RfVk1HQD4/P0NLUltlcHdtY1pTSkQ/Ojs8PkZPV2FtdmxhWFBJQzs4OTg9RE1WYGt2bGJYUUlEOzk6Oj5FTVVga3dtYlpRS0dBPj4/QEhQWGFsenBlXVdQSkVDREJHTFVdZnF+dWtjXVZSTEpLTE1UW2Rtd397cmplX1tXVFVWWF1kbHR+f397dW5oZWFfYWFkaW50fH9/fHRrZWBbWFdYWFthZWx1fn91bWVfWFNRTk9PU1leZG12fHBnXlhRTEhIRkZKUFVcZW94bWNaVEtEQkA8PkNITlZfanVqX1VORT45Ojc4PUFIT1pkcGVbUEdBODY2MzU7P0RNV2BrYFdNRD03MzEyNDo9Q0xVXWZdUkpBOjcxNDMzOz5ETVRdYlpPSkE6NTEzMTQ5PURNVVxgVk5EPjgzMTA1NzxARU5VXV9VTUM8NzU0NTU2PUJHUFhgXlRNRD43MzIzNjg+Q0lQWWFdVExEPTg0MzQ7PUNJTlZdY19WTkZAOzY1Nzw+QklQV2BnX1ZNRkA7OTg6P0FFT1NaY2thWFFJQ0E+Pj1DRUpSWGBocGVbUktGQ0A/QURJTlZcY2tzaF5WUEpHQ0VHSk9TW2BocHhsY1tUTUlHR0lNUVddZGtzfG9mXlhST01LT1FXW2JqcXl/dGpkXVZSUVBQVVpfZWx0fX94b2dhW1dWVVdZX2VrcHh/f310bmZfW1paWl1iZ210fH9/f3lya2VgX2BhY2dqcHd/f39/fXVtZ2NhYGBiZ2xzeX9/f39/d3BpZGNiYWNobXN7f39/f395cGpmZGBhY2hscnp/f39/f3lya2dlYmJjZmtwd39/f39/eHBqa2dkYmNma3F0e39/f393cGplYV5cXGBkaW51fn9/fXRwZ2BcWldYWVthaHB5f398cm5mX1lTUVJSVlxja3R9f3pwamJaVU9NTU9SV19lb3l/eG9nX1hSTUpKSkxTW2Nsd392bWRdVlBKR0hHS1FZYmt1f3dsZV1WUEpHSUlMUlpianV/eG5mYFlUTkxMTVBVXWRtdn95cWliXVhTUFFSVFhgaHF6f392b2hiXllXWFhaX2Zudn9/f3x1cGpmYV9gYWNnbXV9fw=="},"RightUpLeg":{"min":[-0.1271,-0.1283,-0.1398],"dims":[21,43,21],"data":"f398dG9oZGFeXV5fYWdrcHd/f39/f3xza2dgW1hTU1RUV11gZ294f39/f3VrY15WUU5KSUtLTlRZXmZweH9/eG5kW1VPSERBQEJCRUxQV15pcnt/c2leVU1IQT06OTs7PkVKUFhjbHZ/bmRYUElDOzY2MjQ0OD9DS1NeaHJ8a2FVTEM+NjIxLi0vMztBRk9aZG55aF5SSUA8My4uKiosMDU9Q0xYYmx2Z11SRz87MSwtKCgtLjM8QktWYWt1Z11QSD86MS0tKCgtLjU9QkpWYWt2aF9TSUA8My4uKiouMDU+Q0xXYmx2amFWS0M+ODExLS0yMzhBRk9ZZW55bmVaT0dCOjY1MTI3NzxFSlNdaHF7cmleVE1IQDw7ODg8PkJKT1hhbHZ/d25lW1NOSUNCP0BERUlRV15mbnd/fnVrYltWUUxJSEhLTVFYYFtkbHR+f3RrZFxXWlVUUVJVV1thaVlhaXJ8fXNqYlpVUExJR0ZFR0hMUVhfaHF7e3FoYVlTTkpHRURERUlMUldfaHB6e3BnYFhSTUlGRENERUhMUldfaHB7e3BnYFhSTElFRERERklNUllgaXJ7fHFoYFhSTklIRURGSEtPVFpia3J9fXJpYlpUUEtJRkdISk1RVlxkbXV+f3RrYltVUU1KSUhKTFBUWV9mb3Z/f3ZtZl9YVE9MS0tNT1JWW2FocXl/f3lwaGBbVVJPTk1PUVVZXmRrdHx/f310bGVeWFVSUFBRU1dbYGdtd39/f393bmhgWldUUlJTVVhdYmlxen9/f396cmliW1hUU1NUVlpeY2tyen9/f397cmliXVhUU1JTVlpeZGpyen9/f396cmhhWlZSUVBRVFdcYmlwen9/f396cWdfaWFcV1RSU1ddZWZtdn9/f395b2ZeYVlTTkxKS1BWX2Fpcnx/f395bmVcXFNNSEVERktRWWFrb3h/f395b2RdWVBIRUJBQkZLU1xmbHZ/f396b2ZdWE5IQz8/P0NJT1ljanN+f398cWhfWlFIQz88PUFHT1hjaXN9f39/dWtjXlRLRkE+P0JHUFlkaXN+f39/eXFoYlhRS0ZCQkZMU1xnanR/f39/f3duaF9XT0pJSEtRWWJsbnd/f39/f351b2ZdV1NRUVNYYGhycnx/f39/f39+dW1nYVxZWFleYmhueH9/f39/f39/f3dwamZjYmRna3B3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aWdnaWpudHZ5fH9/f39/f39/f3t2cnFxcnR4fX9/f39/f39/f39/f39/fHp6fH9/f39/f39/f39/f39/f39+enh1c3V2eHt/f39/f39/f39/f3t1cW9sa2xtb3N5fn9/f39/f39/e3RuamdkYmRlZ2pxdnx/f39/f396dG1mYmBiYF5eYGJmbHF4f39/f311bmhgW1pVVFJSVFZbYWZudn9/f3lwaWFaU1BLR0VFSUpQVl1lbXZ/enFqY1lRSkdAPTw8PUFHTFNdZnB6cmlgWlNKQj46NzU1NTk+RU5WX2t2bWFYUkxEPTgxLi0tMjY7QUpSW2VxaF1TS0Y9NTMtKikqLDA1PEZNV2FuYldNRUE5MSwtKiorLDAyOURMVWBrX1NJQTw4MS4nKCUlKCsxOEFIUVtoW1JIQDoxLCwmIyMkJyowNkBGT1tmWk5EPDcvKiopKScpKi4zOEBHUFplWE5COzczLiokJiIiJSgtND1DTVZiWE1DOjcvKiokJSImJCstND5ETFdiWExCOjYyKywqKSYnKSwzNz5HT1hjWE9FPjk0LC0mJSQkJioxNTxFTFZiWlBGPTkyLi0oJiUpKys0Nj1HTlhjW1JHQDs5MzIuLC0pLjE2PUNLU1xmXlZNRT88NDAuLC4sLjI3PURLVV1oY1tQR0A+NzQ0MDQzNjg8Q0hPWGBqZl5US0RDPjg4MzM3NzxBSE9WXWVua2NbU0pEPzw7ODc7Oz9FS1JaY2x1cWhfV09JRkFBPz5AQ0dMUFlfZ3B5dWtlXVZQTEVDQkBCR0pPWF9mbnZ+e3NrY1pUUUtISEZHTVBVXGRsc31/f3hvaGBaV1JOTk1NUlhdZGpyen9/f352b2hhW1ZUU1JUVlxiaHB5f39/f399dW1nY15aWVpaXmRobnZ+f39/f39/fHRuZ2NfXV9gZGlvdn5/f39/f39/f3dxbGdjYmNmaW91e39/f39/f39/e3NsZmViYWJlaG10fX9/f39/f39/eHBpZGJgX19iZWtyen1/f39/f39/dm5oY2FfXWBiZGtyen1/f39/f39+dW1nYmBeXV5jZmtze3x/f39/f39/dm5oY2FgX2BkaG10fH1/f39/f39/eXFrZ2VkY2RoanB3f39/f39/f39/fnZwbGpoZ2ltcXZ8f39/f39/f39/f313dHBubG9yeH1/f39/f39/f39/f39/fHh1dXZ6f39/f39/f39/f39/f39/fnx8fn9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/fnt4d3h6fH9/f39/f39/f39/f396dnRxb3Fyc3d6f39/f39/f39/f3lzb21qaWdmaGtudHl/f39/f39/e3RtaWNfXlpbXWBkam92f39/f399c2pjX1pVU1FRU1VZYGVud39/f3pzbGNbVlJNS0lJS01SWF5ncHh/e3JrZV1VT0tHRUNDRUdNUVlianR/dmxkXlZOSUU/PTw8QEFITFVeZW95cGdfWFBIQ0E7ODg5Oz5ESVBaYWx3a2FZUk1EPj07OTk5Oz5DSFBYYGp0aF1VTkpEPzs2NjQ0Njo+RUxVXWZxZlxUTUc/Ojk0NDI1NTk/RExUW2RwY1hQSUY9OTk3NzQ2NzpARUxUW2RuY1lPSUVAPDgzMzExMzc9QkhSWGJrYlhOSUU9OTUzNDE0Mzc+QUlSWGFsYldPR0U9OTs3NzQ1Nzo/REtTW2NtY1lRS0dBPTo1MzIzNDg+QklSWmFrZltRSkdBPTw3NzQ1OTpAREpTW2NtZ11UTUlFQUA9Ozs6PEBDSlBXXmZwamFYUk5IQkA8Ozw7PUBFS1BYYWpzb2VcVE9LRUJBPkE+QkVIT1RcZGx1cmhfWFNQS0hHQ0FFRUpQVVthaXF5dm5lXlhTTUpJRkZJSU1TWF5mbnd/fHNrYlxXUk5OTExOUFNZXWNrc3t/f3hwZ2FeWVNSUE5QVVdcZGtyeH9/f353bmdhXVlWVVRVWl1iaW92f39/f397dG1nZF9dXFtdYGRob3V8f39/f39/enRtaWRhYWBhZGpudH1/f39/f39/f3l0b2pnZ2dnanB0e39/f39/f39/f396dXBta21ucXV8f39/f39/f39/f39+enVxcHF0d3p/f39/f39/f39/f395dXNxb3Fzdnt/f39/f39/f39/f313c3Fvbm5wdHh/f39/f39/f39/f3t1cnBubW5xc3h/f39/f39/f39/f3p1cW9tbG1xdHl/f39/f39/f39/f3t2cnBvbm5zdnt/f39/f39/f39/f355dXNycXN2eX5/f39/f39/f39/f399enh2dXd6fn9/f39/f39/f39/f39/f317e3x/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/"},"Spine":{"min":[-0.1487,-0.025,-0.1354],"dims":[21,22,21],"data":"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HyMsMzdAS1dhX1ZKPzYyKyMjIRwdIyQpMzhBS1dhYVhMQTgzLSUhIx4iJiYrNjlCTVljY1pPRDw3MiklJyIjKSovOT1GT1tlZ15USkA5Ni4qLScoLy80PUNKUl9qbGJZTkZAPTQxMi4vNTU6QkhPWGNucGhfVk1GQzs4OTU3OzxBSE9VX2l0d29mXFRNS0VBPj4/Q0ZJUFddZW96fnVuZV5WU05KSkpITE9SWGBmbHZ/f353bmZgXFlUUlNTVFlcYGhtdX9/f39/d29pZmNfXV5dYGNlanJ3fn9/f39/f3t1cG5qaWloam5wdXx/f39/f39/f3p0b21qaGloam5ydXt/f39/f39/eHFqZmRfXl9fYGRoa3F5f39/f351b2lhXFtXVFVVV1lgZGhveH9/f3ZuZ2FZVFJNTExNTlJYW2FocXt/enBnYVtTTktHQ0VGRklQWFpganR9dWpiWVRLRkNAPTw/P0JJUVNbZG94cWddVU9HQD07NjU6OTxDTE1VX2pzbmJZUEtDPDc3MjE2NDc/R0lSWmZwbGFWTkpBODU1Li0yMDQ7RE9bWGNual9US0k+NjEyKyswMTI3QUxYVmFtal9TSko/NTEwKysuMDE2QUtXVmBsa19US0o/NjExLysuMTI3QEtWVmBsbGFXTU1CODQyMS0uNDQ5QklPV2Jub2RYUFBFPTY1NTExNzc8REtRWmNvcmhdVE1IQjw4OjU2PD5ASVBWX2hzd21iWVJNSEE+Pzs8QUFGTFVaY2x3e3JoX1lTTkhFRkRDSEtNVFxhaHF8f3lvZl9aVlFOTk5OUVRVWmJob3d/f392bmdjX1hWVVVUV1tdYmlwdn9/f39/d3BqZ2JfX19eX2Rma3J5f39/f39/f3lzcW1pZ2hoaW5wdHt/f39/f39/f39/e3d0cnNydHh7fn9/f39/"},"Neck":{"min":[-0.0913,-0.0528,-0.0731],"dims":[14,14,14],"data":"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"}}`),radii:{LeftArm:[[.083,.0491],[.25,.062],[.417,.0573],[.583,.0472],[.75,.0424],[.917,.0506]],RightArm:[[.083,.0491],[.25,.062],[.417,.0573],[.583,.0472],[.75,.0424],[.917,.0506]],LeftForeArm:[[.083,.0468],[.25,.0538],[.417,.0477],[.583,.0394],[.75,.0402],[.917,.0405]],RightForeArm:[[.083,.0468],[.25,.0538],[.417,.0477],[.583,.0394],[.75,.0402],[.917,.0405]],LeftHand:[[.083,.022],[.25,.022],[.417,.022],[.583,.022],[.75,.022],[.917,.022]],RightHand:[[.083,.022],[.25,.022],[.417,.022],[.583,.022],[.75,.022],[.917,.022]],LeftUpLeg:[[.083,.0903],[.25,.1055],[.417,.1064],[.583,.0834],[.75,.0626],[.917,.0681]],RightUpLeg:[[.083,.0944],[.25,.0995],[.417,.1064],[.583,.0834],[.75,.0626],[.917,.0681]],LeftLeg:[[.083,.0611],[.25,.0799],[.417,.0635],[.583,.0464],[.75,.0428],[.917,.0475]],RightLeg:[[.083,.0611],[.25,.0799],[.417,.0635],[.583,.0464],[.75,.0428],[.917,.0475]]}}},we=.1,Te=new Map;function Ee(e){let t=typeof Buffer<`u`?Buffer.from(e,`base64`):Uint8Array.from(atob(e),e=>e.charCodeAt(0));return new Int8Array(t.buffer,t.byteOffset,t.byteLength)}function De(e,t){let n=new Set([t,e.parent[t],...e.children[t]]);return/^(Left|Right)Arm$/.test(e.names[t])&&n.add(e.parent[e.parent[t]]),/^(Left|Right)UpLeg$/.test(e.names[t])&&n.add(e.index.Spine),n}function Oe(e){let t=Ce[e.model];if(!t)return null;if(Te.has(e.model))return Te.get(e.model);let n=Object.entries(t.grids).map(([n,r])=>{let i=r.dims.map(e=>(e-1)*t.step/2),o=r.min.map((e,t)=>e+i[t]);return{b:e.index[n],min:r.min,dims:r.dims,data:Ee(r.data),centre:o,reach:a(i)}}),r=Object.fromEntries(Object.entries(t.radii).map(([t,n])=>[e.index[t],n])),i={step:t.step,grids:n,radii:r,skip:new Map(Object.keys(r).map(t=>[+t,De(e,+t)]))};return Te.set(e.model,i),i}function ke(e,t,n){let[r,i,a]=t.dims,o=e.step,s=(n[0]-t.min[0])/o,c=(n[1]-t.min[1])/o,l=(n[2]-t.min[2])/o;if(s<0||c<0||l<0||s>r-1||c>i-1||l>a-1)return we;let u=Math.min(r-2,Math.floor(s)),d=Math.min(i-2,Math.floor(c)),f=Math.min(a-2,Math.floor(l)),p=s-u,m=c-d,h=l-f,g=(e,n,r)=>t.data[((u+e)*i+d+n)*a+f+r],_=g(0,0,0)*(1-p)+g(1,0,0)*p,v=g(0,0,1)*(1-p)+g(1,0,1)*p,y=g(0,1,0)*(1-p)+g(1,1,0)*p,b=g(0,1,1)*(1-p)+g(1,1,1)*p;return((_*(1-m)+y*m)*(1-h)+(v*(1-m)+b*m)*h)/1e3}let Ae=new WeakMap;function je(t,n){let r=Ae.get(n);return r||(r=t.grids.map(t=>e(n.P[t.b],p(n.R[t.b],t.centre))),Ae.set(n,r)),r}function Me(e,n,r,i=null){let o=we,s=-1,c=je(e,n);return e.grids.forEach((l,u)=>{if(i?.has(l.b)||a(t(r,c[u]))-l.reach>o)return;let d=ke(e,l,p(m(n.R[l.b]),t(r,n.P[l.b])));d<o&&(o=d,s=l.b)}),{d:o,bone:s}}function Ne(r,i,o,s=null,c=.01){let l=[0,1,2].map(n=>{let a=[0,0,0];return a[n]=c,Me(r,i,e(o,a),s).d-Me(r,i,t(o,a),s).d}),u=a(l);return u>1e-9?n(l,1/u):null}let Pe=e=>/^(Left|Right)Arm$/.test(e)?.5:/^(Left|Right)UpLeg$/.test(e)?.3:0,Fe=(e,t)=>/Hand$/.test(e.names[t])?e.index[e.names[t].replace(/Hand$/,`HandMiddle1`)]:e.children[t][0];function Ie(r,i,a,o){let s=r.radii[o],c=Fe(i,o);if(!s||c===void 0)return[];let l=a.P[o],u=t(a.P[c],l),d=Pe(i.names[o]);return s.filter(([e])=>e>=d).map(([t,r])=>({p:e(l,n(u,t)),r,t}))}let Le=/^(Spine\d?|Neck|Head)$/,Re=(e,t)=>e.children[t].find(t=>Le.test(e.names[t]))??Fe(e,t),ze=.25;function Be(i,o,s,l,u,d=null){let f=Me(i,s,l,d);if(f.d>=u||f.bone<0)return l;let p=s.P[f.bone],m=Re(o,f.bone),h=m===void 0?p:s.P[m],g=t(h,p),_=r(g,g)>1e-9?c(r(t(l,p),g)/r(g,g),0,1):0,v=t(l,e(p,n(g,_))),y=a(v)>1e-4?n(v,1/a(v)):Ne(i,s,l,d);if(!y)return l;let b=new Set(i.grids.map(e=>e.b).filter(e=>e!==f.bone)),x=t=>Me(i,s,e(l,n(y,t)),b).d>=u,S=0,C=.02;for(;!x(C)&&C<ze;)S=C,C=Math.min(ze,C*2);for(let e=0;e<10;e++){let e=(S+C)/2;x(e)?C=e:S=e}return e(l,n(y,C))}let Ve=.03;function He(e){let t=Oe(e);return t&&{body:t,skip:new Set(e.names.map((e,t)=>/(Arm|ForeArm|Hand|Neck|Head.*)$/.test(e)?t:-1).filter(e=>e>=0))}}function Ue(r,i,a,o,s,c){let l=0,u=Pe(i.names[o]);for(let[i,d]of r.radii[o]??[]){if(i<u)continue;let{d:f,bone:p}=Me(r,a,e(s,n(t(c,s),i)),r.skip.get(o));p>=0&&(l=Math.max(l,d-f))}return l}function We(e,t,n,r){let i={depth:0,p:null,into:-1};for(let a of Ie(e,t,n,r)){let{d:t,bone:o}=Me(e,n,a.p,e.skip.get(r)),s=a.r-t;o>=0&&s>i.depth&&(i={depth:s,p:a.p,into:o,r:a.r})}return i}let Ge={twist:[-85,85],flex:[-70,70],dev:[-35,20]},Ke={twist:[-50,50],flex:[-40,40],dev:[-25,15]},qe=[0,0,-1],Je=100/(180/Math.PI),Ye=180/Math.PI;function Xe(e,t=8,n=400){let r=0;for(let i of[`twist`,`flex`,`dev`]){let a=e[i],o=a>=0?Ke[i][1]:-Ke[i][0],s=a>=0?Ge[i][1]:-Ge[i][0],c=Math.abs(a);r+=c<=o?(c/o)**2:1+t*((Math.min(c,s)-o)/Math.max(1e-6,s-o))**2+(c>s?n*((c-s)/s)**2:0)}return r}function Ze(e,n){let r=s(t(n,e)),i=Math.acos(c(-r[1],-1,1))*Ye;return 2*(Math.max(0,i-70)/30)**2}function Qe(e,a,o,c){let l=S(f(a,m(e)));l[3]<0&&(l=l.map(e=>-e));let u=2*Math.atan2(r([l[0],l[1],l[2]],o),l[3]),d=ve(n(o,u)),h=_e(pe(l,me(d))),g=p(C(d),c),_=s(t(g,n(o,r(g,o)))),v=i(o,_);return{twist:u*Ye,flex:r(h,_)*Ye,dev:r(h,v)*Ye,axF:_,axD:v}}function $e(e,t=0){let n=0;for(let[r,[i,a]]of Object.entries(Ge)){let o=(e[r]-(i+a)/2)/((a-i)/2),s=Math.max(0,Math.abs(o)-1+t);n+=o*o+400*s*s}return n}function et(o,l,u,d,h,g,_,v=0,y=!1){let b=o.index,S=b[`${u}Arm`],C=b[`${u}ForeArm`],w=b[`${u}Hand`],T=l.P[S],E=a(t(l.P[C],T)),D=a(t(l.P[w],l.P[C])),O=t(ee(T,h,E,D,te(o,l)),T),k=a(O),A=n(O,1/Math.max(k,1e-9)),j=c(k,Math.abs(E-D)+1e-4,(E+D)*.9995),M=(E*E-D*D+j*j)/(2*j),N=Math.sqrt(Math.max(E*E-M*M,0)),P=e=>t(e,n(A,r(e,A))),ne=s(a(P(g))>1e-6?P(g):i(A,Math.abs(A[1])<.9?[0,1,0]:[1,0,0])),F=i(A,ne),re=e(T,n(A,j)),I=o.restWorldRot,ie=p(m(I[C]),t(o.restWorldPos[w],o.restWorldPos[C])),ae=p(m(I[C]),_),oe=f(m(I[C]),I[w]),se=p(m(l.R[w]),L(o,l,u).l),ce=r=>{let i=e(n(ne,Math.cos(r)),n(F,Math.sin(r))),a=t(re,e(T,e(n(A,M),n(i,N)))),o=f(x(ie,ae,a,i),oe),c=Qe(o,d,s(a),p(o,se)),l=Math.abs(Math.atan2(Math.sin(r),Math.cos(r)))/Je,u=e(T,e(n(A,M),n(i,N)));return{pv:i,need:c,elbow:u,cost:(y?Xe(c)+Ze(T,u):$e(c,v))+.5*(1-Math.cos(r))+400*Math.max(0,l-1)**2}},le=e=>a(P(e))>1e-6?Math.atan2(r(e,F),r(e,ne)):0;return{at:ce,angleOf:le,softmin:()=>{let t=Array.from({length:72},(e,t)=>ce(2*Math.PI*t/72)),r=Math.min(...t.map(e=>e.cost)),i=t.reduce((t,i)=>e(t,n(i.pv,Math.exp(-(i.cost-r)/.02))),[0,0,0]);return a(i)>.001?le(i):2*Math.PI*t.findIndex(e=>e.cost===r)/72},miss:Math.max(0,k-j)}}function tt(e,t,n,r,i,a,o,{toward:s,w:c=1,margin:l=0,comfort:u=!1}={}){let d=et(e,t,n,r,i,a,o,l,u),f=s?d.angleOf(s):d.softmin(),p=d.at(c*Math.atan2(Math.sin(f),Math.cos(f)));return{pole:p.pv,need:p.need,cost:p.cost,miss:d.miss,elbow:p.elbow}}let nt=(e,[t,n])=>Math.min(n,Math.max(t,e));function rt(r,i,o,s,c,l){let u=n(t(i.P[s],i.P[c]),1/a(t(i.P[s],i.P[c]))),d=f(i.R[c],f(m(r.restWorldRot[c]),r.restWorldRot[s])),{axF:h,axD:g,..._}=Qe(d,l,u,p(f(d,m(i.R[s])),L(r,i,o).l)),v=Object.fromEntries(Object.entries(_).map(([e,t])=>[e,nt(t,Ge[e])])),b=f(f(y(e(n(h,v.flex),n(g,v.dev)),Math.hypot(v.flex,v.dev)),y(u,v.twist)),d);return O(r,i,c,i.P[c].slice(),y(u,.5*v.twist)),O(r,i,s,i.P[s].slice(),f(b,m(i.R[s]))),_}function it(r,i,o){let s=r.index,c=s[`${o}Arm`],l=t(i.P[s[`${o}ForeArm`]],n(e(i.P[c],i.P[s[`${o}Hand`]]),.5));return a(l)>.005?l:j(r,i,c,qe)}function at(r,i,a,o,s,c,l){let u=r.index[`${a}Hand`],d=f(m(i.R[u]),s.R),h=p(m(i.R[u]),t(s.pos,i.P[u])),g=C(Se(S(i.R[u]),S(f(o.R,m(d))),c)),_=i.P[u].slice(),v=e=>t(o.pos,p(e,h));return{goal:g,plane:it(r,i,a),wristAt:l===`wrist`?()=>_:l===`palm`?v:r=>e(_,n(t(v(r),_),c))}}function ot(e,t,n,r,i,a,o){let s=e.index,c=s[`${n}Arm`],l=s[`${n}ForeArm`],u=s[`${n}Hand`],{w:d}=r,{goal:f,plane:p,wristAt:m}=at(e,t,n,r.palm,r.measure(t),d,r.pin),h=tt(e,t,n,f,m(f),p,i,{toward:r.pole,w:d,comfort:r.comfort}),g=0,_=0,v={twist:0,flex:0,dev:0};for(let r=0;r<3;r++){let a=m(r?t.R[u]:f);_=re(e,t,n,a),g=ae(e,t,c,l,u,a,h.pole,i,`elbow`),v=rt(e,t,n,u,l,f)}a[`hold_${o}`]={w:d,miss:Math.max(0,g),...v,swivel:ut(t,c,l,u,p),..._>145?{fold:_}:{},...r.second?{second:r.second}:{}},a[`arm_miss_${o}`]*=1-d}function st(e,t,n,r){let{goal:i,plane:a,wristAt:o}=at(e,t,n,r.palm,r.measure(t),r.w);return et(e,t,n,i,o(i),a,qe,0,r.comfort)}function ct(e,n,r,i,o,{shoulder:s=!1}={}){let{goal:c,plane:l,wristAt:u}=at(e,n,r,i,o,1),d=u(c),f=tt(e,n,r,c,d,l,qe,{margin:.15}),p=e.index,m=n.P[p[`${r}Arm`]],h=a(t(n.P[p[`${r}ForeArm`]],m)),g=a(t(n.P[p[`${r}Hand`]],n.P[p[`${r}ForeArm`]])),_=Math.max(0,N(h,g,145)-a(t(d,m))),v=s?tt(e,n,r,c,d,l,qe,{comfort:!0}):f;return(s?Xe(v.need)+Ze(m,v.elbow)+lt(e,n,r,m,v.elbow,d):f.cost)+1*((f.miss*100)**2+(_*100)**2)}function lt(e,t,n,r,i,a){let o=Oe(e),s=e.index;return o?4*(Math.max(Ue(o,e,t,s[`${n}Arm`],r,i),Ue(o,e,t,s[`${n}ForeArm`],i,a))*100)**2:0}function ut(e,i,a,o,c){let l=s(t(e.P[o],e.P[i])),u=e=>t(e,n(l,r(e,l)));return w(u(t(e.P[a],e.P[i])),u(c))}let dt=(e,[t,n])=>Math.min(n,Math.max(t,e));function ft(r,i,a){let o=r.index,c=o[`${a}Hand`],l=o[`${a}ForeArm`],u=r.restWorldRot,d=s(t(i.P[c],i.P[l])),h=f(i.R[l],f(m(u[l]),u[c])),{axF:g,axD:_,...v}=Qe(h,i.R[c],d,p(f(h,m(i.R[c])),L(r,i,a).l)),b=Object.fromEntries(Object.entries(v).map(([e,t])=>[e,dt(t,Ge[e])]));if(Object.keys(v).every(e=>Math.abs(v[e]-b[e])<1e-6))return null;let x=f(f(y(e(n(g,b.flex),n(_,b.dev)),Math.hypot(b.flex,b.dev)),y(d,b.twist)),h);return O(r,i,c,i.P[c].slice(),f(x,m(i.R[c]))),{need:v,got:b}}let R={l:`Left`,r:`Right`},pt=e=>{let t=Math.min(1,Math.max(0,e));return t*t*(3-2*t)},mt=[0,0,1],ht=[`UpLeg`,`Leg`,`Foot`],gt=(e,t=[0,0,0])=>Array.isArray(e)||ArrayBuffer.isView(e)?[e[0],e[1],e[2]]:t,z=(e,t=0)=>typeof e==`number`&&Number.isFinite(e)?e:t;function _t(e,t,n,r,i,a){let o=n.length;for(let s of n){let n=e.index[s];O(e,t,n,t.P[n].slice(),f(_(r/o),f(g(i/o),v(a/o))))}}let vt=.9995;function yt(r,i,o,s,c,l,u,d){let f=a(t(i.P[s],i.P[o]))+a(t(i.P[c],i.P[s])),p=t(l,i.P[o]),m=a(p),h=.99*f,g=.009500000000000064*f;if(m<=h||m-vt*f>.05)return l;let _=h+g*(1-Math.exp(-(m-h)/g));return u[`reach_over_${d}`]=Math.max(0,m-vt*f),e(i.P[o],n(p,_/m))}let bt=new Map;function xt(r,i){let a=`${r.model}|${i}`;if(bt.has(a))return bt.get(a);let o=(90-i)*Math.min(1,Math.max(0,(i-45)/27)),s=He(r),c=a=>{let o=D(r);return[[`Left`,-1],[`Right`,1]].every(([c,l])=>{let u=r.index[`${c}Arm`],d=r.index[`${c}ForeArm`],f=r.index[`${c}Hand`],p=r.index[`${c}HandMiddle1`];return O(r,o,u,o.P[u].slice(),v(l*i)),O(r,o,d,o.P[d].slice(),v(l*a)),[.5,.75,1].map(r=>e(o.P[d],n(t(o.P[f],o.P[d]),r))).concat([o.P[p]]).every(e=>Me(s.body,o,e,s.skip).d>=.095)})},l=o;if(s&&o>0){for(let e=0;e<=o;e+=.5)if(!c(e)){l=Math.max(0,e-2);break}}return bt.set(a,l),l}let St=e=>e-360*Math.round(e/360);function Ct(e,t,n){let r=St(t),i=St(n),a=(Math.max(Math.abs(r),Math.abs(i))-60)/60;if(a<=0)return null;let o=a>=1?1:a*a*(3-2*a);return{yaw:e,R:f(_(e),f(g(r*o),v(i*o)))}}function wt(r,i,a={}){let o=D(r),c={},l=z(i.arm_rest,72),u=z(i.arm_hang)&&z(i.arm_hang)*xt(r,l);for(let[e,t,n]of[[`Left`,-1,`l`],[`Right`,1,`r`]]){let a=r.index[`${e}Arm`],s=r.index[`${e}ForeArm`],c=u*(1-Math.min(1,Math.max(0,z(i[`armw_${n}`])+z(i[`hangoff_${n}`]))));O(r,o,a,o.P[a].slice(),v(t*l)),c&&O(r,o,s,o.P[s].slice(),v(t*c))}for(let[e,t]of Object.entries(R)){let n=z(i[`abend_${e}`]),a=z(i[`aswing_${e}`]),s=r.index[`${t}ForeArm`],c=r.index[`${t}Arm`];n&&(O(r,o,s,o.P[s].slice(),g(-n)),I(r,o,t)),a&&O(r,o,c,o.P[c].slice(),g(-a))}_t(r,o,[`Neck`,`Head`],z(i.head_yaw),z(i.head_pitch),z(i.head_roll)),_t(r,o,[`Spine`,`Spine1`,`Spine2`],z(i.spine_yaw),z(i.spine_pitch),z(i.spine_roll));let d=r.index.Hips,m=z(i.yaw);O(r,o,d,o.P[d].slice(),f(_(m),f(g(z(i.pitch)),v(z(i.roll)))));let h=t(gt(i.root,o.P[d]),o.P[d]);for(let t=0;t<o.P.length;t++)o.P[t]=e(o.P[t],h);let y=Ct(m,z(i.pitch),z(i.roll)),b=y?.R??_(m);for(let[e,t]of Object.entries(R)){if(!i[`foot_${e}`])continue;let n=gt(i[`foot_${e}`]);c[`leg_miss_${e}`]=ae(r,o,r.index[`${t}UpLeg`],r.index[`${t}Leg`],r.index[`${t}Foot`],n,p(b,gt(i[`knee_${e}`],mt)),mt,`knee`);let a=re(r,o,t,n,ht);a>150&&(c[`leg_fold_${e}`]=a),oe(r,o,t,z(i[`fyaw_${e}`],m),z(i[`fpitch_${e}`]),y)}for(let l of a.armOrder??[`r`,`l`]){let u=R[l],d=z(i[`armw_${l}`]),f=r.index[`${u}Arm`],m=r.index[`${u}ForeArm`],h=r.index[`${u}Hand`],g=s(p(b,gt(i[`elbow_${l}`],[0,-1,-.3])));if(c[`arm_miss_${l}`]=0,d>1e-4&&a.handTarget){let i=o.P[h].slice(),p=a.handTarget(l,o,c)??i,_=e(i,n(t(p,i),d));a.keepOut&&(_=a.keepOut(l,o,_));let v=a.push?.(l);v&&(_=e(_,v));let y=a.skinPush?.(l);y&&(_=e(_,n(y,pt(d)))),a.softReach&&(_=yt(r,o,f,m,h,_,c,l));let b=s(t(o.P[m],n(e(o.P[f],i),.5))),x=e(n(b,1-d),n(g,d));c[`arm_miss_${l}`]=ae(r,o,f,m,h,_,x,qe,a.foldFree?null:`elbow`);let S=re(r,o,u,_);S>145&&!a.foldFree&&(c[`arm_fold_${l}`]=S)}ce(r,o,u,z(i[`wtwist_${l}`]),z(i[`wflex_${l}`])),ue(r,o,u,i[`fingers_${l}`]);let _=a.hold?.(l,o);(!_||_.w<1)&&a.grip?.(l,o,c),_&&ot(r,o,u,_,qe,c,l);let v=a.swivel?.(l);v&&(se(r,o,u,v*pt(d)),_||ft(r,o,u)),a.afterArm?.(l,o,c)}return{s:o,diag:c}}let B=e=>typeof e?.prop==`string`,Tt=e=>!B(e)&&e?.follow!==void 0,Et=e=>!!e&&typeof e==`object`&&!Array.isArray(e)&&[`prop`,`follow`,`pivot`,`axis`,`channel`,`keys`,`fall`].every(t=>e[t]===void 0),Dt=e=>!!e&&typeof e==`object`&&!Et(e);function Ot(t,r,i,a){let o=r.props[a.prop];return n(o.origin.map(e=>i.P[t.index[e]]).reduce((t,n)=>e(t,n),[0,0,0]),1/o.origin.length)}function kt(a,o,c,l){let u=L(a,c,R[o.props[l.prop].hand]),d=Ot(a,o,c,l),f=t=>e(n(u.d,t[0]),e(n(u.l,t[1]),n(u.n,t[2]))),p=s(f(l.along??[0,0,1])),m=t(u.d,n(p,r(u.d,p)));Math.hypot(...m)<1e-6&&(m=t(u.l,n(p,r(u.l,p)))),m=s(m);let h=i(m,p);return{pos:e(d,f(l.at??[0,0,0])),R:[[m[0],p[0],h[0]],[m[1],p[1],h[1]],[m[2],p[2],h[2]]]}}let V=(t,n)=>({pos:e(t.pos,p(t.R,n.pos)),R:f(t.R,n.R)}),At=(e,n)=>({pos:p(m(e.R),t(n.pos,e.pos)),R:f(m(e.R),n.R)});function jt(n,r,i,a){let o=i[n.channel]?.[a]??0,s=y(n.axis??[0,1,0],o);return{pos:e(n.pivot,p(s,t(r.pos,n.pivot))),R:f(s,r.R??d()),angle:o}}let Mt=new WeakMap;function Nt(e){let t=e?.objects??{};if(Mt.has(t))return Mt.get(t);let n={};for(let[e,r]of Object.entries(t))(r.ancestors??[]).forEach((t,i)=>{let a=r.ancestorPoses?.[i];n[t]??={pos:a?.pos??[0,0,0],R:a?.R??[[1,0,0],[0,1,0],[0,0,1]],ancestors:r.ancestors.slice(i+1),children:[]};let o=i?r.ancestors[i-1]:e;n[t].children.includes(o)||n[t].children.push(o)});return Mt.set(t,n),n}let Pt=.2,Ft=e=>Math.round(e*1e5)/1e5,It=(e,t)=>2*Math.acos(Math.min(1,Math.abs(he(e,t)))),Lt=(r,i,a)=>r.lean>0&&r.aim&&a>0?e(r.pos,n(t(s(r.aim),ye(i,[0,1,0])),a)):r.pos;function Rt(t,r){let a=s(i(t,Math.abs(t[1])<.9?[0,1,0]:[1,0,0])),o=i(t,a),c=[t];for(let i of[r/2,r])for(let r=0;r<8;r++){let l=2*Math.PI*r/8,u=Math.min(i,45)*Math.PI/180,d=e(n(a,Math.cos(l)),n(o,Math.sin(l)));c.push(s(e(n(t,Math.cos(u)),n(d,Math.sin(u)))))}return c}function zt(e){let t=e[0].map(e=>({total:e.cost,from:-1})),n=[t];for(let r=1;r<e.length;r++)t=e[r].map(t=>{let i={total:1/0,from:-1};return e[r-1].forEach((e,a)=>{let o=n[r-1][a].total+Pt*It(e.q,t.q)**2;o<i.total&&(i={total:o,from:a})}),{total:i.total+t.cost,from:i.from}}),n.push(t);let r=[];for(let i=e.length-1,a=t.reduce((e,n,r)=>n.total<t[e].total?r:e,0);i>=0;a=n[i][a].from,i--)r[i]=a;return r}function Bt(e,t,n){let r=(Math.sqrt(5)-1)/2,i=t,a=n,o=a-r*(a-i),s=i+r*(a-i),c=e(o),l=e(s);for(let t=0;t<12;t++)c<l?(a=s,s=o,l=c,o=a-r*(a-i),c=e(o)):(i=o,o=s,c=l,s=i+r*(a-i),l=e(s));return(i+a)/2}function Vt(e,t,n){let r=e.map((e,r)=>{if(e.aim===void 0)return{fixed:ge(e.rot)};let i=ge(t(r)),a=e=>{let t=pe(be(s(ye(i,[0,1,0])),e),i);return n=>pe(xe(e,n),t)};if(e.lean>0&&n)return{leans:Rt(s(e.aim),e.lean).map(a),roll:e.roll};let o=a(s(e.aim));return e.roll!==void 0||!n?{fixed:e.roll?o(e.roll):o(0)}:{rolled:o}}),i=e=>e.roll===void 0?Array.from({length:24},(e,t)=>t*15-180):[e.roll],a=r.map((e,t)=>e.fixed?[{q:e.fixed,cost:0,r:0}]:e.leans?e.leans.flatMap(r=>i(e).map(i=>{let a=r(i);return{q:a,cost:n(t,a),r:i,rolled:r,fixedRoll:e.roll!==void 0}})):Array.from({length:24},(r,i)=>{let a=i*15-180,o=e.rolled(a);return{q:o,cost:n(t,o),r:a}})),o=zt(a),c=a.map((e,t)=>e[o[t]]);for(let[e,t]of r.entries())t.leans&&(r[e]=c[e].fixedRoll?{fixed:c[e].q}:{rolled:c[e].rolled});let l=[],u=null;for(let[t,i]of r.entries()){if(e[t].aim===void 0){l.push(e[t].rot),u=i.fixed;continue}let r=(i.fixed??i.rolled(Bt(e=>{let r=i.rolled(e),a=[c[t-1],c[t+1]].filter(Boolean);return n(t,r)+a.reduce((e,t)=>e+Pt*It(t.q,r)**2,0)},c[t].r-15/2,c[t].r+15/2))).map(Ft);u&&he(r,u)<0&&(r=r.map(e=>-e)),l.push(r),u=ge(r)}return l}let Ht=1e3,Ut=.03,Wt=Array.from({length:72},(e,t)=>2*Math.PI*t/72-Math.PI);function Gt(e,t){let n=t.length,r=Array.from(t);for(let t=0;t<n;t++)for(let i=t+1;i<=Math.min(t+2,n-1);i++){let a=e[i][t-i+2]/e[t][2];for(let r=t;r<=Math.min(t+2,n-1);r++)e[i][r-i+2]-=a*e[t][r-t+2];r[i]-=a*r[t]}for(let t=n-1;t>=0;t--){for(let i=t+1;i<=Math.min(t+2,n-1);i++)r[t]-=e[t][i-t+2]*r[i];r[t]/=e[t][2]}return r}function Kt(i,a,o,s=null){let c=o.length,l=o.slice();for(let e=1;e<c;e++)l[e]=l[e-1]+Math.atan2(Math.sin(l[e]-l[e-1]),Math.cos(l[e]-l[e-1]));for(let o=0;o<4&&c>2;o++){let o=l.map(()=>new Float64Array(5)),u=new Float64Array(c);l.forEach((e,t)=>{let n=i(t,e),r=i(t,e+Ut),a=i(t,e-Ut);o[t][2]=Math.max(.05,(r+a-2*n)/(Ut*Ut)),u[t]=-(r-a)/(2*Ut)});let d=l.map((e,t)=>a(t,e)),f=l.map((e,r)=>n(t(a(r,e+Ut),a(r,e-Ut)),1/(2*Ut)));for(let i=0;i+2<c;i++){let a=[1,-2,1],c=e(t(d[i],n(d[i+1],2)),d[i+2]),l=s?2*Ht*s[i]:2*Ht;for(let e=0;e<3;e++){u[i+e]-=l*a[e]*r(c,f[i+e]);for(let t=0;t<3;t++)o[i+e][t-e+2]+=l*a[e]*a[t]*r(f[i+e],f[i+t])}}let p=Gt(o,u);l.forEach((e,t)=>{l[t]=e+Math.max(-.6,Math.min(.6,p[t]))})}return l}function qt(e,n,r){let i=e.map((e,t)=>r(t,e)),o=e=>e>=0&&e+1<i.length?a(t(i[e+1],i[e])):0;return e.slice(1).map((e,t)=>t).filter(t=>o(t)>.05&&o(t)>2*Math.max(o(t-1),o(t+1))&&w(n(t,e[t]),n(t+1,e[t+1]))>45)}function Jt(e,t,n,i){let a=i.length,o=45*Math.PI/180,s=[],c=[];for(let r=0;r<n;r++)s.push(i.map(t=>e(r,t))),c.push(i.map(e=>t(r,e)));let l=s[0].slice(),u=[];for(let e=1;e<n;e++){let t=Array(a),n=new Int32Array(a);for(let i=0;i<a;i++){let u=1/0;for(let t=0;t<a;t++){let a=Math.acos(Math.max(-1,Math.min(1,r(c[e-1][t],c[e][i])))),s=l[t]+10*a*a+(a>o?400*(a-o)**2:0);s<u&&(u=s,n[i]=t)}t[i]=u+s[e][i]}u.push(n),l=t}let d=Array(n);d[n-1]=l.indexOf(Math.min(...l));for(let e=n-1;e>0;e--)d[e-1]=u[e-1][d[e]];return d.map(e=>i[e])}function Yt(e,t,n,r,i=Wt){let a=Kt(e,t,n);if(!qt(a,r,t).length)return a;let o=Jt(e,r,a.length,i),s=Kt(e,t,o),c=qt(s,r,t);if(!c.length)return s;let l=Kt(e,t,o,new Float64Array(Math.max(0,s.length-2)).map((e,t)=>c.some(e=>e>=t-4&&e<=t+1+4)?16:1));return qt(l,r,t).length?a:l}function Xt(e){return e.map((t,n)=>{let r=0,i=0;for(let t=Math.max(0,n-6);t<=Math.min(e.length-1,n+6);t++){let a=Math.exp(-((t-n)**2)/8);r+=a*e[t],i+=a}return r/i})}function Zt(e,t,n,r){let i=n.map(n=>{let{s:i,held:a}=r(n);return st(e,i,t,a)}),a=Yt((e,t)=>i[e].at(t).cost,(e,t)=>i[e].at(t).elbow,i.map(e=>e.softmin()),(e,t)=>i[e].at(t).pv);return new Map(n.map((e,t)=>[e,i[t].at(a[t]).pv]))}let Qt=[[`torso_lo`,`Spine`,`Spine2`,.12],[`torso_hi`,`Spine2`,`Neck`,.105],[`hips`,`LeftUpLeg`,`RightUpLeg`,.095],[`neck`,`Neck`,`Head`,.055],...[`Left`,`Right`].flatMap(e=>{let t=e===`Left`?`l`:`r`;return[[`thigh_${t}`,`${e}UpLeg`,`${e}Leg`,.07],[`shin_${t}`,`${e}Leg`,`${e}Foot`,.05],[`uarm_${t}`,`${e}Arm`,`${e}ForeArm`,.042],[`farm_${t}`,`${e}ForeArm`,`${e}Hand`,.033],[`hand_${t}`,`${e}Hand`,`${e}HandMiddle3`,.022]]})],$t=(r,i,a=9)=>Array.from({length:a},(o,s)=>e(r,n(t(i,r),s/(a-1))));function H(e,n){let r=p(m(n.R),t(e,n.pos)),i=[0,n.half[1],0],o=[Math.abs(r[0]-i[0])-n.half[0],Math.abs(r[1]-i[1])-n.half[1],Math.abs(r[2]-i[2])-n.half[2]];return a([Math.max(o[0],0),Math.max(o[1],0),Math.max(o[2],0)])+Math.min(Math.max(o[0],o[1],o[2]),0)}function en(i,o,s,l){let u=1/0,d=t(l,s),f=r(d,d);for(let l of $t(i,o)){let i=f<1e-12?0:c(r(t(l,s),d)/f,0,1);u=Math.min(u,a(t(l,e(s,n(d,i)))))}return u}function tn(e,n,r){let i=A(n,e.index.Head,e.landmarks.headCentre),o=n.R[e.index.Head],s=p(m(o),t(r,i)),c=e.landmarks.headRadii;return(1-a([s[0]/c[0],s[1]/c[1],s[2]/c[2]]))*Math.min(...c)}let nn=e=>Math.round(e.restWorldPos[e.index.LeftFoot][1]*1e3)/1e3,rn=(e,t,n,r)=>r?A(t,n,p(m(e.restWorldRot[n]),[0,-r,0])):t.P[n];function an(e,n,r){let i=e.index,a=e.restWorldPos,o=e.landmarks.sole??{},s=i[`${r}Foot`],c=i[`${r}ToeBase`],l=i[`${r}Toe_End`]??c,u=[a[s][0],.005,a[s][2]-.045],d=p(m(e.restWorldRot[s]),t(u,a[s]));return{heel:A(n,s,d),ball:rn(e,n,c,o.ball),tip:rn(e,n,l,o.tip)}}function on(e,r){let i=p(m(r.R),t(e,r.pos));i[1]-=r.half[1];let o=i.map((e,t)=>Math.abs(e)-r.half[t]),s;if(Math.max(...o)<0){let e=o.indexOf(Math.max(...o));s=[0,0,0],s[e]=Math.sign(i[e])||1}else s=i.map((e,t)=>o[t]>0?Math.sign(e)*o[t]:0);let c=a(s);return p(r.R,c>1e-12?n(s,1/c):[0,1,0])}let sn=Qt.filter(e=>e[0].startsWith(`torso`)),cn=Qt.find(e=>e[0]===`hand_l`)[3];function ln(i,o,s){let l=t(s,o),u=c(r(t(i,o),l)/Math.max(r(l,l),1e-12),0,1);return a(t(i,e(o,n(l,u))))}function un(t){let n=[];for(let r of[-1,1])for(let i of[0,2])for(let a of[-1,1])n.push(e(t.pos,p(t.R,[r*t.half[0],i*t.half[1],a*t.half[2]])));return n}function dn(e,t,n,r,i=()=>null){let a=e.index,o=Object.entries(t.ctx.spec.objects??{}).filter(([,e])=>Dt(e)).map(([e])=>e);for(let e=0;e<t.frames.length;e++){let{s,diag:c}=t.frames[e],l=s.P,u=[];for(let[e,t]of Object.entries(c.props??{}))for(let[n,r]of Object.entries(t))Array.isArray(r)&&n!==`origin`&&u.push([`prop_${e}`,r,.004]);for(let[t,i,o,s]of sn){let c=new Map;for(let[e,t,n]of u)c.set(e,Math.max(c.get(e)??-1/0,s+n-ln(t,l[a[i]],l[a[o]])));for(let[i,a]of c)a>n.body&&r(`BODY`,`${i} into ${t}`,e,a,n.body)}let d=2*cn-en(l[a.LeftHand],l[a.LeftHandMiddle3],l[a.RightHand],l[a.RightHandMiddle3]),f=Math.max(i(`hand_l`,`hand_r`)??0,n.hands);if(d>f&&r(`SELF`,`hands overlap`,e,d,f),!o.length)continue;let p=t.objectsAt(e);for(let t of o){if(!p[t]?.half)continue;let i=un(p[t]);for(let[a,s]of Object.entries(p)){if(o.includes(a)||!s.half||s.ignore)continue;let c=-Math.min(...i.map(e=>H(e,s)));c>n.object&&r(`OBJECT`,`${t} into ${a}`,e,c,n.object)}}}}let fn=[[/^Hips$/,`hips`],[/^(Spine|Spine1)$/,`torso_lo`],[/^Spine2$/,`torso_hi`],[/^Neck$/,`neck`],[/^Head/,`head`],[/Shoulder$/,`shoulder`],[/UpLeg$/,`thigh`],[/Leg$/,`shin`],[/(Foot|Toe)/,`foot`],[/ForeArm$/,`farm`],[/Arm$/,`uarm`],[/Hand$/,`hand`]];function pn(e,t){let n=e.names[t]??``,r=/^Left/.test(n)?`_l`:/^Right/.test(n)?`_r`:``,i=fn.find(([e])=>e.test(n));return i?`${i[1]}${r}`:n}let mn=[`Arm`,`ForeArm`,`Hand`].flatMap(e=>[`Left${e}`,`Right${e}`]);function hn(e,t,n,r,i){let a=Oe(e);if(!a)return;let o=mn.map(t=>e.index[t]);t.frames.forEach(({s:t},s)=>{for(let c of o){let o=We(a,e,t,c);if(o.into<0)continue;let l=pn(e,c),u=pn(e,o.into),d=Math.max(i(l,u)??0,n.skin);o.depth>d&&r(`BODY`,`${l} into ${u}`,s,o.depth,d)}})}let gn=new WeakMap;function _n(e){let t=gn.get(e);return t||(t=Object.values(e).filter(e=>e.half&&!e.ignore).map(e=>({RT:m(e.R),c:[e.pos[0]+e.R[0][1]*e.half[1],e.pos[1]+e.R[1][1]*e.half[1],e.pos[2]+e.R[2][1]*e.half[1]],half:e.half,up:[e.R[1][0],e.R[1][1],e.R[1][2]],r:a(e.half)})),gn.set(e,t)),t}function vn(e,n){if(Math.hypot(n[0]-e.c[0],n[2]-e.c[2])>e.r)return null;let r=p(e.RT,t(n,e.c)),i=-1/0,a=1/0;for(let t=0;t<3;t++){let n=e.up[t],o=e.half[t];if(Math.abs(n)<1e-9){if(Math.abs(r[t])>o)return null;continue}let s=(-o-r[t])/n,c=(o-r[t])/n;i=Math.max(i,Math.min(s,c)),a=Math.min(a,Math.max(s,c))}return i<=a?n[1]+a:null}function yn(e,t,n){let r=0;for(let i of _n(e.objectsAt(t))){let e=vn(i,n);e!==null&&e<=n[1]+.05&&e>r&&(r=e)}return r}function bn(e,t,n){let r=an(e.ctx.sk,e.frames[t].s,n);for(let n of[`heel`,`ball`,`tip`])r[n]=[r[n][0],r[n][1]-yn(e,t,r[n]),r[n][2]];return r}let xn=[`Hips`,`Head`,`LeftHand`,`RightHand`,`LeftFoot`,`RightFoot`,`LeftLeg`,`RightLeg`,`LeftForeArm`,`RightForeArm`],Sn=new Set([`Hips`,`Head`]),Cn=[[`knee_l`,`LeftUpLeg`,`LeftLeg`,`LeftFoot`],[`knee_r`,`RightUpLeg`,`RightLeg`,`RightFoot`],[`elbow_l`,`LeftArm`,`LeftForeArm`,`LeftHand`],[`elbow_r`,`RightArm`,`RightForeArm`,`RightHand`]],wn=.75,Tn=e=>Math.round(e*100)/100;function En(e,n){let r=n.frames,i=r.length;return xn.map(n=>{let o=r.map(t=>t.s.P[e.index[n]]),s=new Float64Array(i),c=new Float64Array(i),l=o.map(()=>[0,0,0]);for(let e=1;e<i;e++)s[e]=a(t(o[e],o[e-1]));for(let e=2;e<i;e++)l[e]=t(t(o[e],o[e-1]),t(o[e-1],o[e-2])),c[e]=a(l[e]);return{j:n,core:Sn.has(n),v:s,a:c,A:l}})}function Dn({a:e,A:t},n){let i=0;for(let t of[n-3,n-2,n+2,n+3])t>=2&&t<e.length&&(i=Math.max(i,e[t]));let a=e[n]>0?[n-1,n+1].filter(t=>t>=2&&t<e.length).map(i=>r(t[i],t[n])/e[n]):[];return a.length?Math.max(i,Math.max(...a)+Math.min(0,...a)):i}let On=(e,t,n)=>e.a[t]>n&&e.a[t]>2*Dn(e,t);function kn(e,t,n,r){for(let i of En(e,t)){let e=i.core?n.accCore:n.accLimb;for(let t=2;t<i.a.length;t++)On(i,t,e)&&r(`POP`,`${i.j} accel ${(i.a[t]*100).toFixed(2)} cm/f^2 in one frame`,t,i.a[t],e)}}let An=[`hips`,`torso_lo`,`torso_hi`];function jn(e,t,n){let{P:r}=e.frames[t].s,i=e.ctx.sk.index;return Qt.some(([e,t,n,a])=>An.includes(e)&&Math.min(r[i[t]][1],r[i[n]][1])-a<.04)?!0:n.some(n=>{let a=e.objectsAt(t)[n.object],o=Qt.find(e=>e[0]===(n.part??`hips`));return a&&o&&Math.min(...$t(r[i[o[1]]],r[i[o[2]]]).map(e=>H(e,a)))-o[3]<(n.tol??.04)})}function Mn(t,r=[]){let i=t.ctx.sk.index,a=t.frames;return a.map(({s:o},s)=>{if(jn(t,s,r))return null;let{P:c}=o,l=s>0&&s<a.length-1&&Math.hypot(a[s+1].s.P[i.Hips][0]-a[s-1].s.P[i.Hips][0],a[s+1].s.P[i.Hips][2]-a[s-1].s.P[i.Hips][2])/2>.006,u=[];for(let e of[`Left`,`Right`]){let n=bn(t,s,e);(l||Math.min(n.heel[1],n.ball[1])<.02)&&u.push(n.heel,n.ball,n.tip)}if(!u.length)return`air`;let d=n([`Hips`,`Spine1`,`Spine2`,`Head`].reduce((t,n)=>e(t,c[i[n]]),[0,0,0]),.25),f=u.map(e=>e[0]),p=u.map(e=>e[2]);return Math.min(d[0]-Math.min(...f),Math.max(...f)-d[0],d[2]-Math.min(...p),Math.max(...p)-d[2])})}function Nn(e,t){let{P:n}=e.frames[t].s,r=e.ctx.sk.index;return[`Left`,`Right`].some(i=>[`${i}Hand`,`${i}HandMiddle1`].some(i=>r[i]!==void 0&&n[r[i]][1]-yn(e,t,n[r[i]])<.06))}function Pn(e,t=[]){let n=e.frames.length,r=[],i=e.frames.map((n,r)=>!jn(e,r,t)&&[`Left`,`Right`].every(t=>{let n=bn(e,r,t);return Math.min(n.heel[1],n.ball[1])>=.02})&&!Nn(e,r));for(let e=0;e<n;e++){if(!i[e])continue;let t=e;for(;t+1<n&&i[t+1];)t++;r.push([e,t]),e=t}return r}function Fn(e,t={}){let n=e.frames,r=n.length,i=e.ctx.sk.index,a=9.81/(e.fps??24)**2,o=e.f0??0,s=[],c=e=>n[Math.max(0,Math.min(r-1,e))].s.P[i.Hips][1];for(let[n,i]of Pn(e,t.supports)){let e=i-n+1;if(e<4)continue;let t=1-((n>0?c(n)-c(n-1):c(n+1)-c(n))-(i<r-1?c(i+1)-c(i):c(i)-c(i-1)))/e/a;if(!(t<=wn))for(let e=n;e<=i;e++)s.push({kind:`FLOAT`,msg:`no foot on the ground f${n+o}-f${i+o}, hips fall at ${Math.round(Math.max(0,1-t)*100)}% of g`,frame:e,value:+t.toFixed(4),limit:wn})}return s}let In=(e,n,[,r,i,a])=>w(t(n.P[e.index[i]],n.P[e.index[r]]),t(n.P[e.index[a]],n.P[e.index[i]]));function Ln(t,r,i,a){let o=i?.limits??{},s=e=>Object.hasOwn(o,e),c=[],l=(e,t,n,r,i)=>c.push({kind:e,msg:t,frame:n,value:+r.toFixed(4),limit:i});for(let e of En(t,r)){let{j:t,core:n,v:r,a:i}=e,o=n?`speedCore`:`speedLimb`,c=n?`accCore`:`accLimb`;for(let n=1;n<r.length;n++)s(o)&&r[n]>a[o]&&l(`SPEED`,`${t} ${(r[n]*100).toFixed(1)} cm/frame`,n,r[n],a[o]),s(c)&&n>1&&i[n]>a[c]&&!On(e,n,a[c])&&l(`ACC`,`${t} accel ${(i[n]*100).toFixed(2)} cm/f^2`,n,i[n],a[c])}return s(`knee`)&&r.frames.forEach(({s:e},n)=>{for(let r of Cn.slice(0,2)){let i=In(t,e,r);i>a.knee&&l(`KNEE`,`${r[0]===`knee_l`?`Left`:`Right`} knee bent ${i.toFixed(0)}deg`,n,i,a.knee)}}),s(`balance`)&&Mn(r,i.supports).forEach((i,o)=>{if(i===`air`)l(`BALANCE`,`no foot on the ground`,o,0,0);else if(i!==null&&-i>a.balance){let s=n([`Hips`,`Spine1`,`Spine2`,`Head`].reduce((n,i)=>e(n,r.frames[o].s.P[t.index[i]]),[0,0,0]),.25);l(`BALANCE`,`centre of mass ${s[0].toFixed(2)},${s[2].toFixed(2)} outside the feet`,o,-i,a.balance)}}),c}function Rn(e,t,n={}){let r=t.f0??0,i=t.fps??24,a=(e,t)=>{let n=0;for(let t=1;t<e.length;t++)e[t]>e[n]&&(n=t);return[Math.round(e[n]*t*100)/100,n+r]},o=Object.fromEntries(En(e,t).map(({j:e,v:t,a:n})=>[e,{speed:a(t,i),accel:a(n,i*i)}]).filter(([,e])=>e.speed[0]>=.05)),s=Mn(t,n.supports),c=e=>{let t=s.map((t,n)=>e(t)?n+r:-1).filter(e=>e>=0);return t.length?[t[0],t[t.length-1]]:null},l=Pn(t,n.supports).slice(0,4).map(([e,t])=>[e+r,t+r]),u=null;s.forEach((e,t)=>{typeof e==`number`&&(!u||e<u[0])&&(u=[Tn(e),t+r])});let d=c(e=>typeof e==`number`&&e<0),f=Object.fromEntries(Cn.map(n=>{let i=[0,r];return t.frames.forEach(({s:t},a)=>{let o=In(e,t,n);o>i[0]&&(i=[o,a+r])}),[n[0],[Math.round(i[0]),i[1]]]}));return{units:`[value, frame]; speed m/s, accel m/s^2, balance m inside the feet (< 0 outside), bend deg (0 straight)`,peaks:o,balance:{min:u,...d?{outside:d}:{},...l.length?{air:l}:{}},bend:f}}function zn(e,t,n,r){let i=e=>Object.hasOwn(n??{},e),a=new Float64Array(t.frames.length);for(let n of En(e,t)){let{core:e,v:t,a:o}=n,s=e?`speedCore`:`speedLimb`,c=e?`accCore`:`accLimb`;for(let e=1;e<t.length;e++)i(s)&&(a[e]=Math.max(a[e],t[e]/r[s])),!(e<2)&&(On(n,e,r[c])&&(a[e]=Math.max(a[e],Math.sqrt(o[e]/Math.max(r[c],2*Dn(n,e))))),i(c)&&(a[e]=Math.max(a[e],Math.sqrt(o[e]/r[c]))))}return a}let Bn=[0,1,0],Vn=new Map;function Hn(e,t){let n=`${e.model}:${t}`;if(Vn.has(n))return Vn.get(n);let r=Oe(e),i=r?[]:null;for(let n of r?.grids??[]){if(n.b!==e.index[`${t}Foot`]&&n.b!==e.index[`${t}ToeBase`])continue;let[a,o,s]=n.dims,c=new Set;for(let e=0;e<a;e++)for(let t=0;t<o;t++)for(let a=0;a<s;a++){if(Math.abs(n.data[(e*o+t)*s+a]/1e3)>r.step/2)continue;let l=[n.min[0]+e*r.step,n.min[1]+t*r.step,n.min[2]+a*r.step],u=l.map(e=>Math.floor(e/.025)).join();c.has(u)||(c.add(u),i.push([n.b,l]))}}return Vn.set(n,i),i}function Un(t,r,i){let a=Hn(t,i);if(!a?.length){let a=an(t,r,i),o=(t,r)=>n(e(t,r),.5);return[a.heel,o(a.heel,a.ball),a.ball,o(a.ball,a.tip),a.tip]}return a.map(([t,n])=>e(r.P[t],p(r.R[t],n)))}function Wn(e,t){let n={top:-1/0,side:-1/0,topAt:null,sideAt:null};for(let i of e){let e=-H(i,t);if(e<=0)continue;let a=r(on(i,t),Bn)>.7?`top`:`side`;e>n[a]&&(n[a]=e,n[`${a}At`]=i)}return n}function Gn(e,t,n,r,i,a,s){for(let[c,l]of[[`Left`,`l`],[`Right`,`r`]]){let u=Un(e,t,c),d=`foot_${l}`;for(let[e,t,c,l]of r){if(u.every(e=>o(e,c)>l))continue;let r=Wn(u,t),f=a(d,e),p=f??i.allow,m=f??i.groundAllow;r.side>p?s(`COLLIDE`,`${d} x ${e}`,n,r.side,p):r.top>m&&s(`COLLIDE`,`${d} x ${e}`,n,r.top,m)}}}let Kn={allow:.005,groundAllow:.01,reach:.01,slide:.0015,plantH:.012,speedCore:.04,speedLimb:.16,accCore:.015,accLimb:.05,flip:60,knee:150,headAllow:.003,self:0,body:.005,skin:.015,hands:.01,object:.005,grab:.03,balance:.08},qn=(e,t,n)=>{for(let r of e??[])if(t.startsWith(r.part)&&(r.object===n||r.object.endsWith(`*`)&&n.startsWith(r.object.slice(0,-1))))return r.depth;return null};function Jn(i,c,l={}){let u={...Kn,...l.limits},d=[],f=i.index,m=c.frames,h=m.length,g=(e,t,n,r,i)=>d.push({kind:e,msg:t,frame:n,value:+r.toFixed(4),limit:i});for(let d=0;d<h;d++){let{s:h,diag:_}=m[d],v=c.objectsAt(d),y=Object.entries(v).filter(([,e])=>e.half&&!e.ignore).map(([t,n])=>[t,n,e(n.pos,p(n.R,[0,n.half[1],0])),a(n.half)]);for(let[t,r,i,a]of Qt){let s=h.P[f[r]],c=h.P[f[i]],p=n(e(s,c),.5),m=a+o(s,c)/2,_=null;for(let[e,n,r,i]of y){let f=qn(l.allow,t,e)??u.allow;if(m-(o(p,r)-i)<=f)continue;_??=$t(s,c);let h=a-Math.min(..._.map(e=>H(e,n)));h>f&&g(`COLLIDE`,`${t} x ${e}`,d,h,f)}}Gn(i,h,d,y,u,(e,t)=>qn(l.allow,e,t),g);for(let e of[`Left`,`Right`]){let t=an(i,h,e),n=Math.min(t.heel[1],t.ball[1],t.tip[1]);n<-u.groundAllow&&g(`GROUND`,`${e} sole below floor`,d,-n,u.groundAllow)}for(let[e,t]of Object.entries(_))/miss_[lr]$/.test(e)&&t>u.reach&&g(`REACH`,e,d,t,u.reach);let b=[];for(let e of[`Left`,`Right`])b.push(...$t(h.P[f[`${e}Hand`]],h.P[f[`${e}HandMiddle3`]],5).map(t=>[`hand_${e[0].toLowerCase()}`,t,.022]));for(let[e,t]of Object.entries(_.props??{}))for(let[n,r]of Object.entries(t))Array.isArray(r)&&n!==`origin`&&!(l.mouthPoints??[]).includes(`${e}.${n}`)&&b.push([`prop_${e}`,r,.004]);for(let[e,t,n]of b){let r=tn(i,h,t)+n;r>u.headAllow&&g(`FACE`,`${e} into head`,d,r,u.headAllow)}en(h.P[f.LeftLeg],h.P[f.LeftFoot],h.P[f.RightLeg],h.P[f.RightFoot])<.1+u.self&&g(`SELF`,`shins touch`,d,.1,.1),en(h.P[f.LeftUpLeg],h.P[f.LeftLeg],h.P[f.RightUpLeg],h.P[f.RightLeg])<.135+u.self&&g(`SELF`,`thighs overlap`,d,.135,.135);let x=s(t(h.P[f.Spine],h.P[f.Hips]))[1]<.5;for(let e of[`Left`,`Right`]){let i=h.P[f[`${e}UpLeg`]],a=h.P[f[`${e}Leg`]],o=h.P[f[`${e}Foot`]],c=w(t(a,i),t(o,a)),l=t(h.P[f[`${e}ToeBase`]],o);if(x){let e=s(t(o,a));l=t(l,n(e,r(l,e)))}else l[1]=0;let u=t(a,[(i[0]+o[0])/2,(i[1]+o[1])/2,(i[2]+o[2])/2]);c>3&&r(u,l)<-.002&&g(`KNEE`,`${e} knee bends backward`,d,c,0),c>160.01&&g(`KNEE`,`${e} knee folds ${c.toFixed(0)}deg`,d,c,160);let p=w(t(h.P[f[`${e}ForeArm`]],h.P[f[`${e}Arm`]]),t(h.P[f[`${e}Hand`]],h.P[f[`${e}ForeArm`]]));p>150.01&&g(`ELBOW`,`${e} elbow folds ${p.toFixed(0)}deg`,d,p,150)}}let _=(e,t)=>qn(l.allow,e,t);dn(i,c,u,g,_),hn(i,c,u,g,_);for(let e of[`Left`,`Right`]){let t=m.map((t,n)=>bn(c,n,e));for(let n=1;n<h;n++){let r=t[n-1],i=t[n];for(let t of[`heel`,`ball`]){let a=i[t][1]<u.plantH&&r[t][1]<u.plantH&&Math.abs(i[t][1]-r[t][1])<5e-4,o=Math.hypot(i[t][0]-r[t][0],i[t][2]-r[t][2]);a&&o>u.slide&&g(`SLIDE`,`${e} ${t} slides`,n,o,u.slide)}}}for(let e=0;e<i.names.length;e++){let t=i.parent[e];if(t<0)continue;let n=o(i.restWorldPos[e],i.restWorldPos[t]),r=Math.max(...m.map(r=>Math.abs(o(r.s.P[e],r.s.P[t])-n)));r>.001&&g(`LENGTH`,`${i.names[t]}-${i.names[e]}`,0,r,.001)}return kn(i,c,u,g),Yn(i,m,u,g),d}function Yn(e,n,r,o){let c=e.index,l=Math.sin(20*Math.PI/180);for(let e of[`Left`,`Right`])for(let[u,d,f]of[[`${e}UpLeg`,`${e}Leg`,`${e}Foot`],[`${e}Arm`,`${e}ForeArm`,`${e}Hand`]]){let e=null,p=0;for(let m=0;m<n.length;m++){let h=n[m].s.P,g=t(h[c[d]],h[c[u]]),_=t(h[c[f]],h[c[d]]),v=i(g,_);if(a(v)<l*a(g)*a(_))continue;let y=s(v),b=e?w(y,e):0,x=m-p;b/x>r.flip&&o(`FLIP`,`${d} bend plane jumps ${b.toFixed(0)}deg${x>1?` over ${x} frames`:``}`,m,b/x,r.flip),e=y,p=m}}}let Xn=Qt.filter(e=>e[0].startsWith(`torso`)),Zn=Object.fromEntries(Qt.map(e=>[e[0],e[3]])),Qn=(e,t,n)=>[[e[0],t[0],n[0]],[e[1],t[1],n[1]],[e[2],t[2],n[2]]],$n=(e,t)=>[e[0][t],e[1][t],e[2][t]];function er(i,o,s,l){let u=t(o,i),d=t(l,s),f=t(i,s),p=r(u,u),m=r(d,d),h=r(d,f);if(p<1e-12||m<1e-12)return a(f);let g=r(u,f),_=r(u,d),v=p*m-_*_,y=v>1e-12?c((_*h-g*m)/v,0,1):0,b=(_*y+h)/m;return b<0?(b=0,y=c(-g/p,0,1)):b>1&&(b=1,y=c((_-g)/p,0,1)),a(t(e(i,n(u,y)),e(s,n(d,b))))}function tr(t,r,i){let a=t.index,o=L(t,r,i);return{pos:n(e(r.P[a[`${i}HandIndex2`]],r.P[a[`${i}HandMiddle2`]]),.5),R:Qn(o.d,o.l,o.n)}}function nr(a,o,c,l,u,d){let h=o.objects[c];if(o.props[h.prop].hand!==`r`)return null;let g=Object.entries(o.anchors??{}).reduce((e,[t,n])=>e+(n.kind===`prop`&&n.prop===h.prop?Math.max(0,u[`w_${t}_l`]??0):0),0);if(!(g>1e-4))return null;let _=tr(a,l,R.r).R,v=$n(_,0),b=s(i(d,t(v,n(d,r(v,d))))),x=e=>t(e,n(b,2*r(e,b))),S=Qn(x(v),x($n(_,1)),n(x($n(_,2)),-1)),C=tr(a,l,R.l),w=a.index,T=w.LeftHand,E=l.P[T],D=f(m(l.R[T]),C.R),O=p(m(l.R[T]),t(C.pos,E)),k=(o.fits??[]).some(e=>e.side===`l`&&o.anchors?.[e.anchor]?.kind===`prop`&&o.anchors[e.anchor].prop===h.prop&&u[`w_${e.anchor}_l`]>1e-4)?`palm`:`wrist`,A=e=>f(y(d,e*180/Math.PI),S),j=e=>f(A(e),m(D)),M=n=>k===`wrist`?e(E,p(j(n),O)):t(C.pos,p(j(n),O)),N=e=>k===`wrist`?E:M(e),P=p(m(l.R[T]),t(l.P[w.LeftHandMiddle3],E)),ee=l.P[w.LeftArm],te=it(a,l,R.l),ne=o.fix===!1||o.fix?.self===!1?null:Oe(a),F={uarm_l:w.LeftArm,farm_l:w.LeftForeArm,hand_l:w.LeftHand},re=(e,t,n)=>ne?Ue(ne,a,l,F[n],e,t):Math.max(0,...Xn.map(([,r,i,a])=>Zn[n]+a-er(e,t,l.P[w[r]],l.P[w[i]]))),I=new Map,ie=t=>{if(I.has(t))return I.get(t);let n=N(t),r=et(a,l,R.l,j(t),n,te,qe),i=e=>{let t=r.at(e);return{pv:t.pv,elbow:t.elbow,cost:t.cost+1*((100*re(ee,t.elbow,`uarm_l`))**2+(100*re(t.elbow,n,`farm_l`))**2)}},o={th:0,cost:1/0};for(let e=0;e<36;e++){let t=2*Math.PI*e/36-Math.PI,n=i(t).cost;n<o.cost&&(o={th:t,cost:n})}let s=e(n,p(j(t),P)),c=re(n,s,`hand_l`),u=Math.max(0,c-Kn.body),d=2*Zn.hand_l-er(n,s,l.P[w.RightHand],l.P[w.RightHandMiddle3]),f=Math.max(0,d-Kn.hands),m=1*((100*c)**2+(100*r.miss)**2)+(u>0?100*(100*u)**2:0)+(f>0?100*(100*f)**2:0),h={at:i,best:{th:o.th,pole:i(o.th).pv,cost:o.cost+m}};return I.set(t,h),h},ae=e=>ie(e).best.cost+.3*(1-Math.cos(e));return{id:c,weight:g,pin:k,at:C.pos,rolled:A,arm:ie,cost:ae,point:M,softmin:()=>{let e=Array.from({length:36},(e,t)=>{let n=2*Math.PI*t/36-Math.PI;return[n,ae(n)]}),t=Math.min(...e.map(e=>e[1])),n=e.reduce((e,[n,r])=>{let i=Math.exp(-(r-t)/.05);return[e[0]+i*Math.cos(n),e[1]+i*Math.sin(n)]},[0,0]);return Math.atan2(n[1],n[0])},measure:e=>tr(a,e,R.l)}}let rr=(e,t)=>Math.exp(-Math.max(0,e.cost(t)-3)/10),ir=(e,t,n,r,i)=>({w:t*Math.min(1,e.weight)*r,second:e.id,pin:e.pin,pole:i,palm:{pos:e.at,R:e.rolled(n)},measure:e.measure}),ar=[30,10],or=[`the fingers' line`,`the palm normal`,`the knuckle line`],sr=(e,t)=>[e[0][t],e[1][t],e[2][t]],cr=e=>{let t=m(e.R);return{pos:n(p(t,e.pos),-1),R:t}},lr=e=>Math.round(e*100)/100;function ur(e,t,n){let r=S(e),i=S(t);return he(r,i)<0&&(i=i.map(e=>-e)),C(Se(r,i,n))}function dr(e,[t,n],[r,i]){let a=e>=0?n:-t,o=e>=0?i:-r,s=Math.abs(e);if(s<=a)return(s/a)**2;let c=(Math.min(s,o)-a)/Math.max(1e-6,o-a);return 1+8*c*c+(s>o?400*((s-o)/o)**2:0)}function fr(e,n,r,i,o){let{goal:s,plane:c,wristAt:l}=at(e,n,r,i,o,1),u=l(s),d=et(e,n,r,s,u,c,qe),f=d.at(d.softmin()),p=e.index,m=n.P[p[`${r}Arm`]],h=a(t(n.P[p[`${r}ForeArm`]],m)),g=a(t(n.P[p[`${r}Hand`]],n.P[p[`${r}ForeArm`]])),_=Math.max(0,N(h,g,145)-a(t(u,m))),v=Oe(e),y=v?Math.max(Ue(v,e,n,p[`${r}Arm`],m,f.elbow),Ue(v,e,n,p[`${r}ForeArm`],f.elbow,u),Ue(v,e,n,p[`${r}Hand`],u,i.pos)):0;return[`twist`,`flex`,`dev`].reduce((e,t)=>e+dr(f.need[t],Ke[t],Ge[t]),0)+20*((d.miss*100)**2+(_*100)**2)+4*(y*100)**2}function pr(e,t,n,r,i,a,o){if(r.aim===void 0)return o({pos:r.pos,R:C(r.rot)});let c=S(V(i,a).R),l=s(r.aim),u=pe(be(s(ye(c,[0,1,0])),l),c),d=e=>({pos:r.pos,R:C(pe(xe(l,e),u))});if(r.roll!==void 0)return o(d(r.roll));let f=null;for(let r=0;r<4;r++){let o=d(360/4*r-180),s=ct(e,t,n,V(o,cr(a)),i);(!f||s<f.strain)&&(f={p:o,strain:s})}return o(f.p)}function mr(e,t){let n=Object.entries(e?.objects??{}).filter(([e,n])=>(e===t||n.ancestors?.includes(t))&&n.half);if(!n.length)return!1;let r=n.map(([,e])=>e.half).reduce((e,t)=>t[0]*t[1]*t[2]>e[0]*e[1]*e[2]?t:e),i=[0,1,2].reduce((e,t)=>r[t]>r[e]?t:e,0);return[0,1,2].filter(e=>e!==i).every(e=>r[e]<.045)}let hr=(e,t)=>e.length<=t?e:Array.from({length:t},(n,r)=>e[Math.round(r*(e.length-1)/(t-1))]);function gr(e,t){let n=_e(S(f(m(e),t))),r=Math.round(2*a(n)*180/Math.PI),i=[0,1,2].reduce((e,t)=>Math.abs(n[t])>Math.abs(n[e])?t:e,0);return`today's grip turned ${r} deg, mostly about ${or[i]}`}function _r({sk:e,o:t,side:n,grab:r,rest:i,plain:a,palmOf:o,map:s=e=>e}){let c=new Map,l=e=>{let t=Math.round(e);if(!c.has(t)){let e=a(t);c.set(t,{s:e,now:o(e)})}return c.get(t)},{s:u,now:d}=l(r),p=[...t.keys].sort((e,t)=>e.f-t.f),m=hr(p,8),h=e=>At({pos:d.pos,R:e},i),g=(t,r,i)=>{let{s:a,now:o}=l(r);return fr(e,a,n,V(i,cr(t)),o)},_=t=>fr(e,u,n,V(i,cr(t)),d),v=t=>{let r=h(t);return _(r)+m.reduce((t,i)=>{let{s:a,now:o}=l(s(i.f));return t+pr(e,a,n,i,o,r,e=>g(r,s(i.f),e))},0)},b=r=>{let a=h(r),o=Math.round(s(p[0].f)),c=Math.round(s(p[p.length-1].f)),u=Ba(t,s,e=>S(V(l(e).now,a).R),(t,r,i,o)=>{let{s,now:c}=l(t);return ct(e,s,n,V({pos:r,R:C(i)},cr(a)),c,o)},2*(i?.half?.[1]??0)),d=_(a),f=d;for(let e=o;e<=c;e+=4){let t=g(a,e,Ua(u,e));d+=t,f=Math.max(f,t)}return{A:a,cost:d,worst:f}},x={name:`today`,R:d.R,...b(d.R)};if(x.worst<=1.5)return{offset:x.A,name:`today`,cost:lr(x.cost),today:lr(x.cost)};let w={R:d.R,rough:v(d.R)};for(let e of ar)for(let t=0,n=!0;n&&t<2;t++){n=!1;for(let t of[0,1,2])for(let r of[1,-1]){let i=f(y(sr(w.R,t),r*e),w.R),a=v(i);a<w.rough-1e-6&&(w={R:i,rough:a},n=!0)}}let T=w.R===d.R?x:{name:gr(d.R,w.R),...b(w.R)},E=T.cost<x.cost-Math.max(2,.1*x.cost)?T:x;return{offset:E.A,name:E.name,cost:lr(E.cost),today:lr(x.cost)}}let vr={"x-bot-tpose":{model:`x-bot-tpose`,units:`cm`,mesh:`Beta_Surface`,bones:[{name:`Hips`,parent:-1,localPos:[-7727290721959434e-21,104.27487182617188,1.5543158054351807],localQuat:[.006458545995471647,0,0,.9999791433743129],worldPos:[-7727290721959434e-21,104.27487182617188,1.5543158054351807],worldQuat:[.006458545995471649,0,0,.9999791433743129]},{name:`Spine`,parent:0,localPos:[-42558306661763523e-26,10.182436647133528,-383026943495679e-29],localQuat:[-.0801557216468605,0,-2.4806808368112424e-7,.9967823535191669],worldPos:[-7727716305026052e-21,114.45645899708516,1.6858405330789255],worldQuat:[-.07371628519129939,1.6021591284630476e-9,-2.4806290981795794e-7,.9972792534177845]},{name:`Spine1`,parent:1,localPos:[0,10.00267477114727,3552713678800501e-30],localQuat:[6162975822039155e-48,-49630836753181624e-40,5211237859084076e-38,1],worldPos:[-2780995758607294e-21,124.35042288428505,.21513282040928483],worldQuat:[-.07371628519129939,1.6021591284630476e-9,-2.480629098179579e-7,.9972792534177845]},{name:`Spine2`,parent:2,localPos:[113754220886636e-28,9.322090642186126,2.823681128916178e-7],localQuat:[.01288561985057818,-4771173867766652e-25,-3.7024045453006494e-8,.9999169769541195],worldPos:[18291488873430703e-22,133.57119939581565,-1.1555073459065734],worldQuat:[-.06085960369636199,-4.799512607436978e-9,-2.849511007796114e-7,.9981463362843349]},{name:`Neck`,parent:3,localPos:[41474883340816403e-26,16.865321474300316,55067062021407764e-30],localQuat:[-693889390390723e-32,-8271806125530272e-39,5190558343770245e-38,1],worldPos:[11433183430736414e-21,150.31158623305856,-3.204535645093104],worldQuat:[-.060859603696361994,-4.799512607436981e-9,-2.8495110077961134e-7,.9981463362843349]},{name:`Head`,parent:4,localPos:[-1.0756747747233872e-7,9.341923497302815,2.841040809958507],localQuat:[-693889390390723e-32,-36734198463196485e-56,-10339757656912817e-40,1],worldPos:[1671650538423477e-20,159.92947501239226,-1.5195243864816557],worldQuat:[-.060859603696362,-4.7995126074369775e-9,-2.849511007796113e-7,.9981463362843349]},{name:`HeadTop_End`,parent:5,localPos:[9.856974393531148e-7,20.962781993760927,10.122935199433357],localQuat:[9020562075079394e-32,-4963083675318166e-39,-3143286327701505e-38,1],worldPos:[298931534294587e-19,181.96684091859,5.981578858112073],worldQuat:[-.060859603696361904,-4.799512607437009e-9,-2.8495110077961134e-7,.9981463362843349]},{name:`RightShoulder`,parent:3,localPos:[-4.569970073784302,11.195844421252815,-.8066318609761822],localQuat:[-.48443063216376725,.5709636753028516,-.52616363833282,-.4030871739493107],worldPos:[-4.569961889633833,144.58610943784936,-3.316387285708532],worldQuat:[.45900076979447035,-.5378833301202727,.5599368183567869,.4318223893631366]},{name:`RightArm`,parent:7,localPos:[39968028886505635e-31,10.838175719528936,-2842170943040401e-29],localQuat:[-.024616241704842487,.002562291621043601,-.10349841681885355,.9943216547083585],worldPos:[-15.162807207946486,144.06130443716168,-5.548485110836629],worldQuat:[.4999999123070338,-.5000002750229358,.49999979787788545,.5000000147920203]},{name:`RightForeArm`,parent:8,localPos:[-9.964063352185804e-9,27.841518023440628,0],localQuat:[-17109853453384572e-39,-8816207631167156e-54,2938735877055719e-54,1],worldPos:[-43.004325231382126,144.06132057494256,-5.548489180140211],worldQuat:[.4999999123070338,-.5000002750229358,.49999979787788545,.5000000147920203]},{name:`RightHand`,parent:9,localPos:[2285859917883215e-20,28.328838348366197,4472538876143517e-21],localQuat:[6229948061854065e-38,2350988701644575e-53,-19852334701272682e-39,1],worldPos:[-71.33316357974921,144.0613325226415,-5.548470451934339],worldQuat:[.4999999123070338,-.5000002750229358,.49999979787788545,.5000000147920203]},{name:`RightHandMiddle1`,parent:10,localPos:[-2368732377888705e-20,9.532501220730282,3985569264841615e-20],localQuat:[-9.781740202927786e-7,4908535656919963e-25,-.0005018059094885016,.9999998740949284],worldPos:[-80.86566480049744,144.061298192282,-5.5484955291275435],worldQuat:[.5002502631148101,-.4997497980010115,.4997483431213557,.5002513440251519]},{name:`RightHandMiddle2`,parent:11,localPos:[-8881784197001252e-30,3.700000000000017,0],localQuat:[3986107263256567e-37,1323489458050882e-38,.0008498714387871692,.9999996388592037],worldPos:[-84.56566293763908,144.0613075740096,-5.544782705328028],worldQuat:[-.4998253593741713,.5001747659318385,-.5001733119713432,-.4998264415205831]},{name:`RightHandMiddle3`,parent:12,localPos:[-25224267119483557e-29,2.9500000000000455,-1.5411302456413978e-8],localQuat:[-5680000760156732e-38,-3970467145889554e-38,-.00032184201183913403,.9999999482088584],worldPos:[-87.51566222254714,144.06131507131767,-5.54683672237727],worldQuat:[-.4999863107405839,.5000138752279871,-.5000124209192871,-.49998739241899415]},{name:`RightHandMiddle4`,parent:13,localPos:[1127986593019159e-28,2.9466287337241255,7.20586967872805e-9],localQuat:[1.5498268359238913e-7,.0009288141658670982,.00016639448508219264,.9999995548084492],worldPos:[-90.46229095218658,144.06132253675315,-5.546991694384452],worldQuat:[.49943854746932836,-.4996323747246579,.5005598653243383,.5003683130007397]},{name:`RightHandRing1`,parent:10,localPos:[-1.8651332219504173,9.103592315445724,.043069650068900955],localQuat:[6.963165823826897e-8,10850652509911485e-27,.0001558292973731088,.9999999878586124],worldPos:[-80.43675564821785,144.01826884807926,-7.413605017339948],worldQuat:[-.4999220263552031,.5000781487660197,-.5000777412794597,-.4999220592937387]},{name:`RightHandRing2`,parent:15,localPos:[-4440892098500626e-30,3.379273006312431,-2842170943040401e-29],localQuat:[75254050543037e-37,13234890125559426e-39,-.00022151509096650696,.9999999754655319],worldPos:[-83.81602849026015,144.01827033659325,-7.414658689507339],worldQuat:[.5000327889464959,-.4999673962237241,.4999669887298773,.5000328217947667]},{name:`RightHandRing3`,parent:16,localPos:[26290081223123707e-29,2.889684678650127,8202221124520293e-25],localQuat:[16000775075877487e-39,13234889885055366e-39,-.00011280510431914317,.9999999936375041],worldPos:[-86.70571314402952,144.01827160815185,-7.4142794883596075],worldQuat:[.5000891846393266,-.4999109867917636,.499910579294214,.5000892174416297]},{name:`RightHandRing4`,parent:17,localPos:[4716227408607665e-28,2.638815675202565,5682068149326369e-25],localQuat:[-1.339645129809642e-7,.00014607500499735936,-.0007992862081225936,.9999996699017618],worldPos:[-89.34452865122908,144.01827276927736,-7.41333786395688],worldQuat:[.5004155000832223,-.4994381238192544,.4995836834200939,.5005617154884825]},{name:`RightHandIndex1`,parent:10,localPos:[2.25983507131116,9.1082835183702,.5178621137028756],localQuat:[-6.059340578197898e-7,9953529057906979e-26,-.00016426752705445157,.9999999865079061],worldPos:[-80.4414477277744,143.54347484170384,-3.288636902648485],worldQuat:[.5000817363528871,-.4999184374449017,.49991735444845625,.5000824447930416]},{name:`RightHandIndex2`,parent:19,localPos:[-843769498715119e-29,3.7000000000000313,0],localQuat:[-47359322790488744e-39,-3970467069997446e-38,.00025564424489899254,.9999999673230096],worldPos:[-84.14144752826542,143.54348146979163,-3.2874218624291216],worldQuat:[-.4999539187402696,.5000462641269495,-.5000451813116483,-.49995462745726243]},{name:`RightHandIndex3`,parent:20,localPos:[-3423927807943983e-28,2.8500000000000227,-8893152880773414e-25],localQuat:[-13914829894769055e-38,-39704669556009313e-39,-8792197348428728e-20,.9999999961348633],worldPos:[-86.99144748059157,143.54348657664548,-3.287943125263367],worldQuat:[-.49999788186225497,.5000023052590155,-.5000012223814067,-.4999985904840416]},{name:`RightHandIndex4`,parent:21,localPos:[7900347043232614e-28,2.7721906128530236,5114202394906897e-25],localQuat:[8.659859370723384e-8,.0010026920012318767,8705832638285169e-20,.9999994935146673],worldPos:[-89.76363809337116,143.54349154251554,-3.2879626838817946],worldQuat:[.49945279532966436,-.4995441931072631,.5005458853548749,.5004561129854466]},{name:`RightHandThumb1`,parent:10,localPos:[2.6818519535315546,2.464805039121785,1.5739839631865493],localQuat:[.2532844925861686,.06161827244019283,-.22821025705768283,.9380672859078498],worldPos:[-73.79796992221794,142.48734898334772,-2.866619447484665],worldQuat:[.6789718782579114,-.19747746019729454,.5123797682139857,.48730566831705546]},{name:`RightHandThumb2`,parent:23,localPos:[-1887379141862766e-29,4.188985472990834,-2842170943040401e-29],localQuat:[-.002315749257559554,-.0011704489169351957,.009300110231568928,.9999533865657887],worldPos:[-77.01316043621617,140.61457222434876,-.9423386824772395],worldQuat:[.6765749035040036,-.20553967786615746,.5156358706838127,.4838589563451013]},{name:`RightHandThumb3`,parent:24,localPos:[-14210854715202004e-30,3.416271152352966,0],localQuat:[-.0016647383095556567,-.0008077810781858194,.006919747685379302,.9999743462849742],worldPos:[-79.66799955910238,139.08658379209294,.5702713693484767],worldQuat:[.6747462864925903,-.21146538352949726,.5180821304204447,.4812387625412099]},{name:`RightHandThumb4`,parent:25,localPos:[-13822276656583199e-30,2.5749773944199115,0],localQuat:[.005774853769703311,-.11750920454458612,-.048743708782553366,.9918579982867299],worldPos:[-81.68681626684736,137.9345819337196,1.6783234442112593],worldQuat:[.7432186106607572,-.23041213116196285,.41233882500284114,.47382807005935446]},{name:`RightHandPinky1`,parent:10,localPos:[-3.8062774279108913,8.076676225678526,.4867036950552688],localQuat:[4670719286902752e-21,2.4304698046602542e-9,.0005203629947084559,.9999998646002598],worldPos:[-79.40983953257197,143.5746349351307,-9.354749239786173],worldQuat:[.499741997111188,-.5002580522008165,.500262248259257,.49973743155597233]},{name:`RightHandPinky2`,parent:27,localPos:[-8881784197001252e-30,3.6000000000000654,0],localQuat:[4870027600139235e-37,529395781586262e-37,.0008462316753971022,.9999996419459117],worldPos:[-83.0098375822885,143.57460339401808,-9.358496377738998],worldQuat:[.49931848396687806,-.5006807705888573,.500684962782278,.49931391486245963]},{name:`RightHandPinky3`,parent:28,localPos:[-53290705182007514e-30,2.1000000000000085,-2.116385644512775e-8],localQuat:[1859605644060166e-37,-39704674301868344e-39,-.000496777829639297,.9999998766058863],worldPos:[-85.1098297375345,143.5745850175554,-9.364236374919699],worldQuat:[.49956714946047176,-.5004326584550336,.5004368529177667,.4995625824392057]},{name:`RightHandPinky4`,parent:29,localPos:[12789769243681803e-29,2.1157810760144855,1.4407362414203817e-8],localQuat:[-6.420659236909123e-8,.0015694812069815289,-4128528174330759e-20,.9999987675113715],worldPos:[-87.22560761141007,143.5745664664587,-9.367917366015948],worldQuat:[.4988017359417918,-.4996273949534528,.5011996406746996,.5003680791387806]},{name:`LeftShoulder`,parent:3,localPos:[4.570446071555214,11.195644630655181,-.80662723793772],localQuat:[.48442267749711376,.5709704717068556,-.5261616291252289,.40308972946685606],worldPos:[4.570454255590543,144.58590649477904,-3.316358019038552],worldQuat:[-.4589930047913493,-.5378899562605334,.5599354515710177,-.4318241616452356]},{name:`LeftArm`,parent:31,localPos:[-17763568394002505e-31,10.837705310376135,0],localQuat:[-.02460635908641656,-.002561394687342173,.10350452783474903,.9943212655210948],worldPos:[15.162823921302898,144.06131195632307,-5.548478497344785],worldQuat:[.5000007152647227,.4999994684527458,-.5000001196887698,.4999996965928613]},{name:`LeftForeArm`,parent:32,localPos:[8881784197001252e-30,27.841521654197066,-2842170943040401e-29],localQuat:[9612242362214153e-38,13234889800848425e-39,-2646977960169688e-38,1],worldPos:[43.00434557545168,144.06126546354233,-5.548455563844584],worldQuat:[.5000007152647227,.4999994684527458,-.5000001196887698,.4999996965928612]},{name:`LeftHand`,parent:33,localPos:[5438735050766752e-21,28.328834533709,-5.564248510836478e-7],localQuat:[-626962918533632e-37,-3970466940254537e-38,-26469779601696903e-39,1],worldPos:[71.333180109117,144.06121871342071,-5.548437667671921],worldQuat:[.5000007152647227,.4999994684527458,-.5000001196887698,.4999996965928613]},{name:`LeftHandThumb1`,parent:34,localPos:[-2.681731448380733,2.466144851985561,1.5761928025685847],localQuat:[.25309644676633125,-.06132323271522458,.2273527590163699,.9383455508133752],worldPos:[73.79932012001562,142.48502080725694,-2.866704767040701],worldQuat:[.6787362281261902,.19828588307841977,-.512706326258779,.48696207677299685]},{name:`LeftHandThumb2`,parent:35,localPos:[-6439293542825908e-30,4.18709445950184,2842170943040401e-29],localQuat:[-.002067032129087745,.0010427308040619535,-.008213407893731095,.9999635893478415],worldPos:[77.01712188965233,140.61296547844856,-.9502182343475976],worldQuat:[.6766109604816792,.2054209516609806,-.5155696739884216,.48392949077136155]},{name:`LeftHandThumb3`,parent:36,localPos:[5440092820663267e-30,3.4183883081631072,5684341886080802e-29],localQuat:[-.0015313589649970979,.0007452552330187441,-.006073119605284013,.9999801081784668],worldPos:[79.67313738956891,139.08416322654404,.5642862932655532],worldQuat:[.6749931166817439,.2106761779810745,-.5176795589715161,.48167179145825934]},{name:`LeftHandThumb4`,parent:37,localPos:[1482147737874584e-29,2.580581439610723,0],localQuat:[.005153407131366997,.12268277993699259,.04165153492193895,.9915581311958046],worldPos:[81.69402483309037,137.93008677758235,1.6794194947408763],worldQuat:[.7440625177876421,.2372081988172148,-.41152267473439397,.46984287609461295]},{name:`LeftHandIndex1`,parent:34,localPos:[-2.2598629283141953,9.109308911975873,.5180343214524328],localQuat:[6.665759936749852e-7,-29380348585960335e-27,-44076517660685066e-21,.9999999990284081],worldPos:[80.44248629452144,143.5431683499078,-3.28856742622205],worldQuat:[-.4999790098166289,-.5000211729545403,.5000224907507637,-.4999773245691765]},{name:`LeftHandIndex2`,parent:39,localPos:[-6217248937900877e-30,3.6999999999999886,-5684341886080802e-29],localQuat:[3.407213613716439e-7,3580919473408932e-26,.0001050981787351313,.9999999944771283],worldPos:[84.14248628039589,143.54315723870565,-3.2888905447059225],worldQuat:[.5000317287407754,.49996845295921,-.49997011163297345,.5000297028895362]},{name:`LeftHandIndex3`,parent:40,localPos:[-7172040739078511e-28,2.849999999999966,5684341886080802e-29],localQuat:[3.347505650683504e-7,-22176925334093855e-27,-6624910485486997e-20,.9999999978054721],worldPos:[86.99248625886426,143.54314673774508,-3.2885403736491297],worldQuat:[-.49999877255511554,-.5000014111400769,.5000034044318037,-.499996411845041]},{name:`LeftHandIndex4`,parent:41,localPos:[858424442640171e-27,2.7748656282368103,0],localQuat:[1.0594603907920247e-8,-.0003775632648206345,-13069537623522493e-21,.9999999286375816],worldPos:[89.76735188694607,143.54313465598005,-3.288567098859584],worldQuat:[.4998034244662043,.4998191246365437,-.5001986899385569,.5001786182186978]},{name:`LeftHandMiddle1`,parent:34,localPos:[-3660436011010404e-20,9.53340148931592,-3254047146583616e-20],localQuat:[4.084735851900896e-7,-12926721325528698e-27,-3164640698382836e-20,.9999999994991691],worldPos:[80.86658159844058,144.06123533397496,-5.548393210486787],worldQuat:[-.49998509605784175,-.5000150871851532,.5000161468752833,-.499983668904545]},{name:`LeftHandMiddle2`,parent:43,localPos:[-26645352591003757e-31,3.6999999999999744,-2842170943040401e-29],localQuat:[-1.6358384175735772e-7,-34673461654660564e-28,2119614093572879e-20,.9999999997753484],worldPos:[84.5665815912097,144.0612261326968,-5.548624346151146],worldQuat:[-.49999561254479435,-.500004571111091,.5000054672459868,-.49999434899615885]},{name:`LeftHandMiddle3`,parent:44,localPos:[-28697044740511046e-28,2.9500000006246694,-2842170943040401e-29],localQuat:[-4.275899279477681e-7,-884662274908745e-26,20689502181930057e-21,.9999999997858808],worldPos:[87.51658159123295,144.06121976164127,-5.548683572757025],worldQuat:[.5000057434864292,.4999944401365919,-.4999949087122563,.5000049075508173]},{name:`LeftHandMiddle4`,parent:45,localPos:[-8713030297258229e-27,2.952863459443819,-14210854715202004e-29],localQuat:[-2.6759425390821073e-8,-.0010241407152540845,279847572642705e-19,.9999994751761864],worldPos:[90.46944505000428,144.06121590958617,-5.548620670295296],worldQuat:[.499507394771273,.49946812318416767,-.5004927166472543,.5005307154158994]},{name:`LeftHandRing1`,parent:34,localPos:[1.865081040398466,9.104528720799948,.04302823471783768],localQuat:[6.248995762954407e-7,39451643110942306e-28,6313277301958232e-21,.9999999999798759],worldPos:[80.43771029434576,144.0181759602736,-7.413511224335965],worldQuat:[.5000041843415268,.49999599935162675,-.4999972754894557,.5000025407699983]},{name:`LeftHandRing2`,parent:47,localPos:[-4440892098500626e-30,3.1500000002318416,0],localQuat:[-19345585602378175e-38,0,4235164736267838e-37,1],worldPos:[83.58771029427925,144.01816676318134,-7.413468855985753],worldQuat:[.5000041843415268,.4999959993516267,-.4999972754894557,.5000025407699983]},{name:`LeftHandRing3`,parent:48,localPos:[2643289183090758e-21,2.9500000001810776,5.209859352817148e-7],localQuat:[-8757673760813274e-38,1323488980045867e-38,12839125457873287e-48,1],worldPos:[86.53771029421749,144.01815762904647,-7.413431820978903],worldQuat:[.5000041843415268,.4999959993516267,-.4999972754894557,.5000025407699983]},{name:`LeftHandRing4`,parent:49,localPos:[-23274330810174604e-21,2.644316435477009,-14607575451464072e-22],localQuat:[-2.7316933950438635e-7,.0004934373218353761,16047023509748673e-21,.9999998781310067],worldPos:[89.18202672913526,144.0181513691535,-7.413372979877784],worldQuat:[.5002587275852554,.5002347713372702,-.49974233369355947,.49976392320219065]},{name:`LeftHandPinky1`,parent:34,localPos:[3.806263215177876,8.077778818742132,.4868770149745387],localQuat:[-4975537953269548e-21,1.0178097892277194e-8,.0020448023965822897,.9999979093770162],worldPos:[79.41096125008677,143.57432960785403,-9.354694407950916],worldQuat:[.5010195873847003,.4989785133401168,-.498974180943756,.5010235354085267]},{name:`LeftHandPinky2`,parent:51,localPos:[-3552713678800501e-30,3.6000000000000796,2842170943040401e-29],localQuat:[6.285466836481913e-7,-13240964884135178e-26,-.00021066000242779323,.9999999778109838],worldPos:[83.01093113307373,143.5743594144743,-9.339968896109413],worldQuat:[.5009147763033496,.49908373336086237,-.499080029188825,.5009180955410079]},{name:`LeftHandPinky3`,parent:52,localPos:[23803181647963356e-29,2.1000000536000414,5684341886080802e-29],localQuat:[1.0560541723515637e-7,-70842344057535595e-28,-6708211165014274e-20,.9999999977499896],worldPos:[85.11091705114045,143.57437416212716,-9.332263779357556],worldQuat:[.500881348481691,.4991172819497667,-.4991136834189969,.5008845621759181]},{name:`LeftHandPinky4`,parent:53,localPos:[11048939541069558e-28,2.12553132909224,0],localQuat:[2.2034709579345264e-7,-.0007833987784531817,-.0002953855857226705,.9999996495167691],worldPos:[87.23643510003559,143.57438864025644,-9.324750154134009],worldQuat:[.5003428461990634,.49887255781562256,-.4996539623833923,.5011278531377935]},{name:`RightUpLeg`,parent:0,localPos:[-8.207789844904983,-6.771764137627812,-1.5122187689572422],localQuat:[2.7047671429134563e-9,.010356475588677583,.9999463702685825,2.6115275064568443e-7],worldPos:[-8.207797572195703,97.52320568879888,-.04524648166077205],worldQuat:[4.391377782486676e-9,.0038980599621582274,.9999924025353709,2.611298350175175e-7]},{name:`RightLeg`,parent:55,localPos:[6.19727558159866e-9,44.37146193723237,-16631140908884845e-29],localQuat:[-.03809137752293408,-816315213450579e-24,2.1414893185802513e-8,.9992742601300231],worldPos:[-8.207820750122902,53.15309218889458,.3006761286643062],worldQuat:[-4.658818794361865e-9,-.03419585714041286,.9994151506528081,2.396960478727042e-7]},{name:`RightFoot`,parent:56,localPos:[-5.538291603102152e-9,44.52781411684904,18207657603852567e-30],localQuat:[.45974006194132166,3725814189701004e-38,-1.2432846936543718e-7,.8880535318583977],worldPos:[-8.207842064194724,8.729415862750969,-2.742876350631811],worldQuat:[1.1031211398837241e-7,.4291034315577479,.903255359809859,3.3926052346823936e-7]},{name:`RightToeBase`,parent:57,localPos:[0,13.816866143314009,6217248937900877e-30],localQuat:[.335241516804437,7023902526244116e-39,-1.1130089220595614e-7,.9421322228915896],worldPos:[-8.207849224193675,.0007420744116171107,7.96768124078066],worldQuat:[1.6990321486208088e-7,.7070808667083169,.7071326947149592,3.8318019813577996e-7]},{name:`RightToe_End`,parent:58,localPos:[-17763568394002505e-31,9.278120542404253,4288670113483661e-30],localQuat:[-3388360082792521e-36,.01160806788231821,11912203416067455e-38,.9999326241102645],worldPos:[-8.207852022918948,6202649694084369e-20,17.245801758262132],worldQuat:[-.008208274430290369,.7070332309537893,.7070850529927397,-.0082074595446575]},{name:`LeftUpLeg`,parent:0,localPos:[8.207788043566438,-6.771802818529409,-1.5122137762205135],localQuat:[2.8191483378909245e-9,.01036795967915088,.9999462512615453,2.718950400523856e-7],worldPos:[8.207780316275715,97.52316694663398,-.04524198897490894],worldQuat:[4.575136162088223e-9,.00390954458172457,.9999923577013424,2.7187116164010067e-7]},{name:`LeftLeg`,parent:60,localPos:[6.468269475590205e-9,44.37138978410286,37414515929867775e-30],localQuat:[-.0381124510208252,-8172602612650612e-25,2.142781333519525e-8,.9992734566059407],worldPos:[8.207756184976574,53.15313355499844,.30169921260475335],worldQuat:[-4.888837197809569e-9,-.034205455626157316,.9994148221861352,2.504235506344471e-7]},{name:`LeftFoot`,parent:61,localPos:[-5.547779124981389e-9,44.52784595754781,-2220446049250313e-29],localQuat:[.4597486071334844,-3725832749974238e-39,-1.1668517803347452e-7,.8880491080108168],worldPos:[8.207733916824536,8.729483932050528,-2.742708742345943],worldQuat:[1.147816207643381e-7,.4291034480907216,.9032553519556492,3.412529433141002e-7]},{name:`LeftToeBase`,parent:62,localPos:[17763568394002505e-31,13.81686480841043,-17763568394002505e-31],localQuat:[.33524149798857344,10535853714492708e-39,-1.1452079069214378e-7,.94213222958689],worldPos:[8.207726760093172,.0008113791108694812,7.967848133811215],worldQuat:[1.7340034603185666e-7,.707080865528955,.7071326958942321,3.864673509538802e-7]},{name:`LeftToe_End`,parent:63,localPos:[0,9.278136754869934,-13125351500109517e-31],localQuat:[0,-.011869165745076847,18530151004086692e-38,.9999295589712888],worldPos:[8.207723964114914,.00013129905961646127,17.245984863756057],worldQuat:[.008393248559463194,.7070310534383599,.7070828826815805,.008392846428263363]}],landmarks:{mouth:[0,158.500185546875,11.717991638183594],headEllipsoid:{centre:[-95367431640625e-19,167.56204986572266,-.15480518341064453],radii:[8.804292678833008,13.326271057128906,12.424483299255371]},headJoint:[1671650538423477e-20,159.92947501239226,-1.5195243864816557],headTop:[298931534294587e-19,181.96684091859,5.981578858112073],sole:{ball:0,tip:-.7}}},"y-bot-tpose":{model:`y-bot-tpose`,units:`cm`,mesh:`Alpha_Surface`,bones:[{name:`Hips`,parent:-1,localPos:[-6757011760782916e-21,99.79193878173828,4844740033149719e-20],localQuat:[7615435492247396e-26,-17453292503320135e-22,4363323128594654e-20,.9999999990465473],worldPos:[-6757011760782916e-21,99.79193878173828,4844740033149719e-20],worldQuat:[7615435492247396e-26,-17453292503320135e-22,4363323128594654e-20,.9999999990465473]},{name:`Spine`,parent:0,localPos:[.0008597856133863019,9.923461876522225,-1.2273349078167588],localQuat:[-.06073022898235704,5303745488019905e-37,6119354919596912e-21,.9981542161661715],worldPos:[-8672608244745512e-21,109.71540069587908,-1.227286457407732],worldQuat:[-.060730228859120175,-4391963877518737e-21,4956605444176136e-20,.9981542149520963]},{name:`Spine1`,parent:1,localPos:[0,11.731977989043784,-3552713678800501e-30],localQuat:[.0001960924550491026,4662287733052689e-29,-9316072744031837e-21,.9999999807304797],worldPos:[-.0011632832276606084,121.36083978703566,-2.649627688070991],worldQuat:[-.06053449713743436,-494801144686156e-20,4026803743853935e-20,.9981661049195772]},{name:`Spine2`,parent:2,localPos:[1931491945550423e-26,13.458836780167971,6235012506294879e-28],localQuat:[.057711730916465316,21958232674411106e-22,3285013706200134e-21,.9983332890868721],worldPos:[-.0022371547694859653,134.72103871836885,-4.27608729015328],worldQuat:[-.002827710078055566,-2.2517339024978275e-7,4363254684471116e-20,.9999960010679366]},{name:`Neck`,parent:3,localPos:[2548122992670175e-20,15.027761372130044,.8779068542021755],localQuat:[.0028277058943183713,-8816242878226746e-54,-7234126583784003e-36,.9999960020316957],worldPos:[-.003523660156014883,149.7535246254643,-3.4831824403326026],worldQuat:[-4.186445695616128e-9,-1.017924801167934e-7,4363300912729469e-20,.999999999048075]},{name:`Head`,parent:4,localPos:[2562548663041439e-21,10.32183835340436,3.1424288991299827],localQuat:[12407709188295404e-40,13234889800848435e-39,-33812794736012347e-37,1],worldPos:[-.0044224830930743595,160.07536296607333,-.3407536277174854],worldQuat:[-4.1864456956161264e-9,-1.0179248011679337e-7,43633009127294685e-21,.999999999048075]},{name:`HeadTop_End`,parent:5,localPos:[.00015451594228192873,18.474670356296826,6.63639947863672],localQuat:[693889473108785e-32,-661744490042423e-38,-10158249377722142e-36,1],worldPos:[-.005881529143937624,178.55003332101543,6.295645696100038],worldQuat:[-4.186445688677232e-9,-1.0179248011679308e-7,4363300912729468e-20,.999999999048075]},{name:`LeftShoulder`,parent:3,localPos:[6.105824524896,9.10629188078309,.757062475638635],localQuat:[-.45383506682997793,-.5448493479758866,.5511388470821386,-.4397941465761588],worldPos:[6.10279217248512,143.83199925791556,-3.5705353792059826],worldQuat:[-.4525659925709384,-.5433084112379314,.5526580275773418,-.44109987213863294]},{name:`LeftArm`,parent:7,localPos:[4884981308350689e-30,12.92228632488431,2842170943040401e-29],localQuat:[-.010451820107802023,-.0010627185813176982,.10115046260752789,.9948156683526521],worldPos:[18.75785325853472,143.5671732022338,-6.171454434247386],worldQuat:[.49997802104022876,.5000219779933275,-.4999777974641308,.5000222015503447]},{name:`LeftForeArm`,parent:8,localPos:[3.059411390893274e-9,27.404682159441652,-2842170943040401e-29],localQuat:[-10173904404505293e-36,6815758221109549e-42,13234889800848457e-39,1],worldPos:[46.162535310990236,143.5695947084291,-6.171442183765884],worldQuat:[.49997802104022876,.5000219779933275,-.4999777974641308,.5000222015503447]},{name:`LeftHand`,parent:9,localPos:[-12820418092474029e-21,27.614463806173113,2.3361064904747764e-7],localQuat:[-3397640826470449e-36,-18680226235633534e-43,52939559203393736e-39,1],worldPos:[73.77699900937316,143.57203451753804,-6.171417016006557],worldQuat:[.49997802104022876,.5000219779933275,-.4999777974641308,.5000222015503447]},{name:`LeftHandRing1`,parent:10,localPos:[2.216630558205681,12.147010274148471,-.009996226470974534],localQuat:[5.56794949511021e-7,-3.067028835367668e-9,4777353976607745e-21,.9999999999884335],worldPos:[85.92400934395243,143.5831040665074,-8.388042142881478],worldQuat:[.49998068669282075,.5000193094968617,-.4999756886184537,.500024313263825]},{name:`LeftHandRing2`,parent:11,localPos:[0,3.601188659840844,0],localQuat:[-2306826384812874e-21,1861861504887997e-26,-8071095064110734e-21,.999999999964768],worldPos:[89.52519798990681,143.58341826103262,-8.388006124364832],worldQuat:[.4999754975118546,.5000244982373176,-.49997857087756026,.5000214312542258]},{name:`LeftHandRing3`,parent:12,localPos:[-7140954494389007e-28,3.3073120118204997,22737367544323206e-29],localQuat:[-32584970000852863e-37,-2067951531382572e-40,-6352747104407258e-37,1],worldPos:[92.83250998771065,143.5837220743585,-8.388026432414401],worldQuat:[.49997549751185466,.5000244982373176,-.49997857087756026,.5000214312542258]},{name:`LeftHandRing4`,parent:13,localPos:[-241726316367874e-19,3.660118102908669,16886514032421474e-21],localQuat:[8486035821629225e-21,.007396474405473809,.0007707649842267434,.9999723486255485],worldPos:[96.49262807680708,143.5840414103271,-8.388024734185503],worldQuat:[.5040493957792119,.5033194611486261,-.4958855340273986,.4966903097363882]},{name:`LeftHandMiddle1`,parent:10,localPos:[-18344155402694184e-21,12.77552795411546,-10320898695681535e-22],localQuat:[5.567949752588633e-7,-2.6633364343577455e-9,2.0800236288001427e-7,.9999999999998233],worldPos:[86.55252691351437,143.5731644085546,-6.171392959489538],worldQuat:[.49997840212413347,.5000215942797767,-.49997797319957754,.5000220284932966]},{name:`LeftHandMiddle2`,parent:15,localPos:[-3552713678800501e-30,3.61396789550858,-2842170943040401e-29],localQuat:[23697741078528623e-36,6203854594147698e-40,-26469779601696844e-39,1],worldPos:[90.16649479526663,143.5734797180353,-6.171389840137076],worldQuat:[.49997840212413347,.5000215942797767,-.49997797319957754,.5000220284932966]},{name:`LeftHandMiddle3`,parent:16,localPos:[28508498060020315e-21,3.4597625732240687,-8526512829121202e-29],localQuat:[1692147750009982e-35,20679515313825724e-41,264697796016969e-37,1],worldPos:[93.62625735534596,143.57378157349484,-6.171415362383127],worldQuat:[.49997840212413347,.5000215942797767,-.49997797319957754,.5000220284932966]},{name:`LeftHandMiddle4`,parent:17,localPos:[-30473889779614183e-21,3.680191040059995,-2842170943040401e-29],localQuat:[-133272714831852e-20,.004579424073341433,-.000654144096597114,.9999893004272004],worldPos:[97.30644838137125,143.57410266077613,-6.171381711981186],worldQuat:[.5019349111684311,.5026337814312043,-.4980094305837711,.4974004762403589]},{name:`LeftHandThumb1`,parent:10,localPos:[-3.002975029424964,3.7888090485209744,2.1671489778191813],localQuat:[.25189492500135036,-.05946403657250492,.2219235197808198,.940086659027326],worldPos:[77.56599819190912,141.40522033116738,-3.168440292478436],worldQuat:[.6772116616355364,.20343190021506413,-.5147394802435296,.484812432594653]},{name:`LeftHandThumb2`,parent:19,localPos:[-19984014443252818e-31,4.744970523440218,2842170943040401e-29],localQuat:[69460704858849485e-22,55796786860811154e-28,8.032883032279416e-7,.9999999999755533],worldPos:[81.24162844278966,139.28353174695044,-1.0464306132517085],worldQuat:[.6772151925776482,.20342778079987783,-.5147405038353289,.48480814210593404]},{name:`LeftHandThumb3`,parent:20,localPos:[-5984102102729594e-28,4.3821287009303775,5172751116333529e-27],localQuat:[7030691099565929e-33,7121429504040547e-33,-15407439555097887e-48,1],worldPos:[84.63615479208448,137.32403482337068,.9133179986734019],worldQuat:[.6772151925776482,.20342778079987775,-.5147405038353289,.48480814210593404]},{name:`LeftHandThumb4`,parent:21,localPos:[-51284654249972306e-22,3.459077859769903,4.03463474185628e-7],localQuat:[.009146816027813427,.1256374250101491,.07207247635857116,.9894125182879566],worldPos:[87.31565650284612,135.77728679427992,2.4602700847142343],worldQuat:[.7538118553684166,.20866722684171796,-.3911265183168664,.4850213622280347]},{name:`LeftHandIndex1`,parent:10,localPos:[-2.822044006965872,12.266617250897596,.23182516767607808],localQuat:[5.567949601161418e-7,-3.075281477739248e-9,487076476385117e-20,.9999999999879827],worldPos:[86.04363543486608,143.34129324170544,-3.34936752423002],worldQuat:[.49998073339592125,.5000192627891642,-.4999756419148924,.5000243599710406]},{name:`LeftHandIndex2`,parent:23,localPos:[-13322676295501878e-31,3.891967773631521,0],localQuat:[-30225470980600983e-37,0,-6214320207710297e-21,.999999999980691],worldPos:[89.93560319348254,143.34163280596658,-3.349327870283342],worldQuat:[.49997762610645813,.5000223698198841,-.4999787492167228,.5000212529526508]},{name:`LeftHandIndex3`,parent:24,localPos:[4071321058063404e-26,3.415161132822689,-11368683772161603e-29],localQuat:[46684518186119064e-39,-9183549615799121e-56,21175823681357537e-38,1],worldPos:[93.35076431329836,143.34193077006435,-3.3493355202090695],worldQuat:[.49997762610645813,.5000223698198841,-.4999787492167229,.5000212529526508]},{name:`LeftHandIndex4`,parent:25,localPos:[5.854722480158614e-7,3.0779876709090814,5684341886080802e-29],localQuat:[10393592226093013e-22,.004001602788212073,22779581052790166e-21,.9999919932955144],worldPos:[96.4287519724834,143.34219931663745,-3.3493430003052733],worldQuat:[.5019862492920715,.5020073437901309,-.4979631636001596,.4980272281710877]},{name:`LeftHandPinky1`,parent:10,localPos:[4.72583130478205,10.908194092064392,.22613216873591568],localQuat:[28521120612919424e-22,-3.0577730863769185e-9,.000141051374267014,.9999999900481878],worldPos:[84.68521515320175,143.3468662092345,-10.897243443373178],worldQuat:[.5000499694422342,.49995002290857044,-.49990869131728644,.5000912946652625]},{name:`LeftHandPinky2`,parent:27,localPos:[-5329070518200751e-30,4.136657059551979,2842170943040401e-29],localQuat:[-59544873416476465e-22,2.190560405006969e-9,-.0003678839387923365,.9999999323129735],worldPos:[88.82187203349876,143.3472081321215,-10.896074631422186],worldQuat:[.4998630353195086,.5001369272162459,-.5000896549937187,.49991032888321396]},{name:`LeftHandPinky3`,parent:28,localPos:[43876013933186186e-29,2.594834461051775,0],localQuat:[36591694282576963e-22,8409112616016821e-25,.00022980932036022433,.999999973587143],worldPos:[91.41670621645012,143.34745351466333,-10.897250657097295],worldQuat:[.49997978792115133,.5000202113293842,-.49997658739741363,.5000234114387793]},{name:`LeftHandPinky4`,parent:29,localPos:[-2948752353404416e-28,2.9238662720287607,-2842170943040401e-29],localQuat:[-10497831164166655e-22,.004099894588367042,-.0005750644579927158,.9999914300453439],worldPos:[94.34057247729058,143.3477086145383,-10.89723194250163],worldQuat:[.5017372856540723,.5023540149301887,-.4982094589732469,.49768210220741194]},{name:`RightShoulder`,parent:3,localPos:[-6.1056956701096174,9.10638358733786,.7570756312724551],localQuat:[.4538375688887134,-.5448472538987562,.5511399888422243,.43979272809263187],worldPos:[-6.1087279840345,143.8310253866605,-3.5705252284969617],worldQuat:[.45261579666489365,-.5432669079313696,.5526977464106563,.44105012013225253]},{name:`RightArm`,parent:31,localPos:[39968028886505635e-31,12.922286714484947,0],localQuat:[-.01045541384979725,.0010630628959740092,-.10114940861202837,.9948157373885607],worldPos:[-18.763745414580892,143.56389953844294,-6.171423447408117],worldQuat:[.5000215299672571,-.4999784691060287,.5000215360351153,.4999784630368383]},{name:`RightForeArm`,parent:32,localPos:[8.327427636345419e-9,27.404682159441318,-2842170943040401e-29],localQuat:[-3388329060809388e-36,-15146129380243438e-44,8271806125530284e-40,1],worldPos:[-46.16842747236397,143.56153906740224,-6.171423771692651],worldQuat:[.5000215299672571,-.49997846910602883,.5000215360351153,.4999784630368383]},{name:`RightHand`,parent:33,localPos:[12842842382454478e-21,27.614463806155165,15492399938921153e-21],localQuat:[-19727179218464944e-41,-7573064690121704e-44,0,1],worldPos:[-73.78289117474843,143.55914503465877,-6.17141126400836],worldQuat:[.5000215299672571,-.4999784691060287,.5000215360351153,.4999784630368383]},{name:`RightHandThumb1`,parent:34,localPos:[3.002974470681663,3.7888088905192205,2.1671490371761024],localQuat:[.25189499102226326,.05946427874712486,-.2219234615465524,.9400866397658112],worldPos:[-77.57151342274972,141.3916696607838,-3.168436839313407],worldQuat:[.6772291629398663,-.20337279117491877,.5147821060302558,.4847675236487542]},{name:`RightHandThumb2`,parent:35,localPos:[-68833827526759706e-31,4.744970470128291,2842170943040401e-29],localQuat:[8453832451066965e-21,-33376070678072775e-28,-3.9480215616198235e-7,.9999999999641884],worldPos:[-81.24677425676067,139.26933968812125,-1.0464288158806956],worldQuat:[.6772333413527709,-.20336817191604672,.5147836339017984,.48476200168592604]},{name:`RightHandThumb3`,parent:36,localPos:[-17763568394002505e-29,4.382135391768333,-4092726157978177e-27],localQuat:[-14347996972659013e-33,-5998687332454958e-33,-1387778780781447e-32,1],worldPos:[-84.64095942776746,137.30923516924733,.9133180789494266],worldQuat:[.6772333413527709,-.20336817191604672,.5147836339017984,.48476200168592604]},{name:`RightHandThumb4`,parent:37,localPos:[11177533225659175e-21,3.4590709023307085,-23241859054223823e-21],localQuat:[.00923206336161341,-.1271302153500302,-.0723276818427547,.989202397788438],worldPos:[-87.32019182850055,135.76203483248253,2.460268746809576],worldQuat:[.7545499013151971,-.2090649481886763,.389944180490974,.4846543407061524]},{name:`RightHandIndex1`,parent:34,localPos:[2.822042502024897,12.266617102415225,.23182522345669554],localQuat:[5.567922673046469e-7,-7.224337929733461e-9,-4743924457641052e-21,.9999999999885925],worldPos:[-86.04948829791044,143.32626324098368,-3.3493689108641775],worldQuat:[.5000241838181078,-.4999758222398485,.5000194389411731,.4999805530753941]},{name:`RightHandIndex2`,parent:39,localPos:[0,3.891967773619811,0],localQuat:[1695401251774016e-35,-4135903062840235e-40,602627167052741e-20,.9999999999818419],worldPos:[-89.94145605654246,143.32592367674323,-3.3493320316989923],worldQuat:[.5000211708188947,-.4999788355123435,.5000224519507367,.4999775398133359]},{name:`RightHandIndex3`,parent:40,localPos:[-51669779566054785e-28,3.4151611328221207,11368683772161603e-29],localQuat:[-13593959205239575e-36,0,0,1],worldPos:[-93.35661717635494,143.32562571266394,-3.349340831998884],worldQuat:[.5000211708188947,-.4999788355123435,.5000224519507367,.4999775398133359]},{name:`RightHandIndex4`,parent:41,localPos:[-12771572572845002e-22,3.0779876709101757,-2842170943040401e-29],localQuat:[-7290381402922513e-20,-.006709307422924062,.0013745331778991744,.9999765449936721],worldPos:[-96.4346048355366,143.3253571661075,-3.3493500406116747],worldQuat:[-.5026405594004304,.5040453607575476,-.49730671352060296,-.49596045712511533]},{name:`RightHandMiddle1`,parent:34,localPos:[16632154487439266e-21,12.775527954114011,-10320893863990932e-22],localQuat:[5.567949633221699e-7,-7.289108692409176e-9,-3.662527039828292e-7,.9999999999997777],worldPos:[-86.55841908156046,143.55804566121927,-6.171394786911078],worldQuat:[.5000219951158138,-.4999780112066047,.5000216276573223,.4999783641170999]},{name:`RightHandMiddle2`,parent:43,localPos:[8881784197001252e-31,3.6139678955093757,0],localQuat:[-33759614098155274e-37,-4135903062765133e-40,0,1],worldPos:[-90.17238696331393,143.55773035173834,-6.171392183522983],worldQuat:[.5000219951158138,-.4999780112066047,.5000216276573223,.4999783641170999]},{name:`RightHandMiddle3`,parent:44,localPos:[-29421479796454264e-21,3.4597625732165085,14210854715202004e-29],localQuat:[34003021678244415e-37,-8271806125530284e-40,-7940933880509075e-38,1],worldPos:[-93.63214952338268,143.55742849627876,-6.1714191126993185],worldQuat:[.5000219951158138,-.4999780112066047,.5000216276573223,.4999783641170999]},{name:`RightHandMiddle4`,parent:45,localPos:[28549065814509333e-21,3.680191040067001,-5684341886080802e-29],localQuat:[-5158123071926063e-20,-.006695195594000001,-.0017083442773867367,.9999761263426065],worldPos:[-97.31234054942114,143.557107408997,-6.171387912540353],worldQuat:[.504186145435319,-.5024851098604104,.49578202059538456,.49749897806327625]},{name:`RightHandRing1`,parent:34,localPos:[-2.216632303077052,12.147002761381543,-.009996270293299858],localQuat:[5.567954667309114e-7,-7.224304767843245e-9,-4803651127566965e-21,.9999999999883074],worldPos:[-85.92989472518438,143.5680950366908,-8.38804371451417],worldQuat:[.5000242136815972,-.49997579237346873,.5000194090805982,.49998058293828956]},{name:`RightHandRing2`,parent:47,localPos:[0,3.6011962892353893,-8526512829121202e-29],localQuat:[-5732183384702703e-36,0,8071083662125689e-21,.9999999999674287],worldPos:[-89.53109100054763,143.5677808414962,-8.388009160440863],worldQuat:[.5000201783188615,-.4999798280944457,.5000234444494263,.4999765472235214]},{name:`RightHandRing3`,parent:48,localPos:[-6055600465515454e-27,3.307312011785328,-11368683772161603e-29],localQuat:[32821615918857455e-37,-36734198463196485e-56,21175823681357546e-38,1],worldPos:[-92.83840299967426,143.56749228695628,-8.38803081342569],worldQuat:[.5000201783188615,-.4999798280944457,.5000234444494263,.4999765472235214]},{name:`RightHandRing4`,parent:49,localPos:[2417262415121968e-20,3.6601181029476635,-2842170943040401e-29],localQuat:[-6164489635359998e-20,-.007613221748708619,-.000300224892743606,.9999709720384515],worldPos:[-96.49852108877111,143.56717295098406,-8.388030603602541],worldQuat:[.5039317385023292,-.503652452411389,.49602123868179077,.49633651979941534]},{name:`RightHandPinky1`,parent:34,localPos:[-4.725833119502555,10.90819434071372,.2261320753251539],localQuat:[5.567949828639406e-7,-7.530380981813863e-9,-3132050030138696e-21,.99999999999494],worldPos:[-84.69106594001192,143.3320733953033,-10.897244515904388],worldQuat:[.5000233780731588,-.4999766283665967,.5000202446951756,.49997974695226793]},{name:`RightHandPinky2`,parent:51,localPos:[0,4.13665008553545,-2842170943040401e-29],localQuat:[1470867824118891e-37,8271806125977124e-40,10394374390791114e-21,.9999999999459783],worldPos:[-88.8277160097222,143.33171248313417,-10.897218653721097],worldQuat:[.5000181811018849,-.4999818257697831,.5000254416448413,.49997454952763204]},{name:`RightHandPinky3`,parent:52,localPos:[-3950617610826157e-27,2.5948410036845218,-8526512829121202e-29],localQuat:[6674018442413745e-36,1836709923259698e-55,-10428465638715964e-21,.9999999999456235],worldPos:[-91.42255700325643,143.33148608987582,-10.897256374372848],worldQuat:[.5000233951179858,-.49997661132017523,.5000202276502416,.4999797639985816]},{name:`RightHandPinky4`,parent:53,localPos:[4362732397567015e-27,2.923866272034857,5684341886080802e-29],localQuat:[-8226663950025322e-20,-.00849884034311731,.0022061069470672434,.9999614472754239],worldPos:[-94.34642326410449,143.33123099000105,-10.897237895108226],worldQuat:[-.5031095764062739,.5053508241180749,-.4968132089402998,-.4946493041680384]},{name:`LeftUpLeg`,parent:0,localPos:[9.123873709849553,-6.657188518716367,-.05540310527662988],localQuat:[20251728747483253e-21,-.006350177975401161,.9999754277247583,-.002969642442257367],worldPos:[9.12444806072654,93.13554649657034,-.05532280954860631],worldQuat:[18783520922709306e-21,-.006350171978846871,.999975297231096,-.00301328568169704]},{name:`LeftLeg`,parent:55,localPos:[-4618527782440651e-29,40.59943638074365,1170175067954915e-28],localQuat:[-.018114309191591866,.00018249364298742092,-.005920146666904975,.9998183786878614],worldPos:[9.369107731941927,52.540121711606496,-.5709414745281038],worldQuat:[-715314874584385e-19,-.02446331907456045,.9996964939479204,.00290876113461602]},{name:`LeftFoot`,parent:56,localPos:[-10658141036401503e-30,42.09902591219656,20872192862952943e-30],localQuat:[.5405498192560871,.01436647216366454,.024951033886733327,.8408192096329419],worldPos:[9.12441738143423,10.49219684921195,-2.6300976499043784],worldQuat:[-.01346031169880001,.5198601039256607,.853859207560786,-.022107600933591907]},{name:`LeftToeBase`,parent:57,localPos:[17763568394002505e-31,15.721559146548017,-1509903313490213e-29],localQuat:[.2276920621809942,-.032521469150786096,-.015365592016704316,.9730686396375217],worldPos:[9.497939603229476,3.2836504838127345,11.336461068911172],worldQuat:[.0016492651748272183,.7007886739142866,.7132730439227728,.01157925951782756]},{name:`LeftToe_End`,parent:58,localPos:[17763568394002505e-31,9.999999999999991,4.890746918562172e-9],localQuat:[3842630640765734e-25,-2181956872127079e-33,8673617379884037e-34,1],worldPos:[9.355871856763304,3.108427383452366,21.333916426176543],worldQuat:[.0016492651792767014,.700788674188371,.7132730436534856,.011579259517193808]},{name:`RightUpLeg`,parent:0,localPos:[-9.125032356625555,-6.655601347887028,-.05535274484958799],localQuat:[-17972283601838397e-21,-.006333801286546503,.9999752669985558,.0030574547301418053],worldPos:[-9.12445807483328,93.1355411499169,-.055336149820714026],worldQuat:[-19441205218510228e-21,-.006333807477113975,.9999753994199062,.00301381152055421]},{name:`RightLeg`,parent:60,localPos:[7105427357601002e-30,40.59943859177964,26645352591003757e-30],localQuat:[-.018147073530042527,-.00018249394989624574,.005920149654138874,.9998177845219228],worldPos:[-9.369160167563622,52.54009755727,-.5696263108436963],worldQuat:[7086285029500266e-20,-.024479715368387448,.9996960941175567,-.0029082503401009767]},{name:`RightFoot`,parent:61,localPos:[-24868995751603507e-30,42.09902387472938,-6217248937900877e-29],localQuat:[.5405636018310247,-.014366037304083883,-.024951225824318232,.8408103506008421],worldPos:[-9.12451164224619,10.492242047309674,-2.6301615125796047],worldQuat:[.013459958226241265,.5198600714589466,.8538592128932476,.02210837363015364]},{name:`RightToeBase`,parent:62,localPos:[3552713678800501e-30,15.721558809599616,26645352591003757e-31],localQuat:[.22770869920802236,.03211960072148292,.015257901862228916,.9730797891155923],worldPos:[-9.498060396707743,3.2836958492734345,11.33639620371245],worldQuat:[-.0013617607248561205,.700801240791512,.7132661380535977,-.011277536030161229]},{name:`RightToe_End`,parent:63,localPos:[3.1880595940947387e-9,9.999999999999998,5.687534443410414e-9],localQuat:[-3109963189751316e-25,-16439215440311446e-32,-17347234759768052e-34,1],worldPos:[-9.356269180688868,3.1086870931784847,21.33385924122101],worldQuat:[-.0013617607213487338,.7008012405696887,.7132661382715444,-.011277536030584614]}],landmarks:{mouth:[0,158.399150390625,12.493875312805176],headEllipsoid:{centre:[-16689300537109375e-21,167.32984161376953,.6807799339294434],radii:[8.005595684051514,13.133369445800781,12.374487400054932]},headJoint:[-.0044224830930743595,160.07536296607333,-.3407536277174854],headTop:[-.005881529143937624,178.55003332101543,6.295645696100038],sole:{ball:3.3,tip:2.6}}}},yr=new Map;function br(e){return vr[e]?(yr.has(e)||yr.set(e,E(vr[e])),yr.get(e)):null}let xr=e=>e.flatMap(e=>[`${e}_l`,`${e}_r`]),Sr=new Set([`root`,...xr([`foot`,`knee`,`hand`,`elbow`])]),Cr=new Set(xr([`knee`,`elbow`])),wr=new Set([`yaw`,`pitch`,`roll`,`spine_yaw`,`spine_pitch`,`spine_roll`,`head_yaw`,`head_pitch`,`head_roll`,`arm_rest`,`arm_hang`,...xr([`fyaw`,`fpitch`,`armw`,`wtwist`,`wflex`,`aswing`,`abend`])]),Tr=new Set(xr([`fingers`])),Er=[`relaxed`,`fist`,`grip`,`cigarette`,`point`],Dr=[`power`,`pinch`,`hook`,`palm`],Or={power:`grip`,pinch:`cigarette`,hook:`grip`,palm:`relaxed`},kr={power:[0,0,.02],hook:[0,0,.02],pinch:[.025,0,.01],palm:[-.045,0,.015]},Ar=[[/^(armw)_[lr]$/,0,1,`0 FK, 1 IK to the hand target`],[/^arm_hang$/,0,1,`1 = a free FK forearm hangs plumb`],[/^w_.+_[lr]$/,0,1,`hand-target weight; a hand's sum <= 1`],[/^wtwist_[lr]$/,-85,85,`twist about the forearm, deg`],[/^wflex_[lr]$/,-70,70,`flex about the knuckle line, deg`],[/^fpitch_[lr]$/,-60,90,`toe-down pitch, deg: + lifts the heel (toes flat), - lifts the toes`],[/^(spine_pitch|head_pitch)$/,-120,120,`degrees, + bends forward`],[/^(spine_roll|head_roll)$/,-90,90,`degrees`]],jr=e=>Ar.find(([t])=>t.test(e))??null,Mr={yaw:`yaw 0 faces +Z and + turns toward +X`,fyaw:`foot heading, as yaw`,pole:`body-frame direction (root yaw): +z forward, +x its left, +y up`,foot:`ANKLE target, world m (standing 0.087 X Bot, 0.105 Y Bot)`,hand:`WRIST target, world m`,root:`hips joint, world m (standing 1.03 X Bot, 0.99 Y Bot)`};Mr.root,`${Mr.yaw}`,Mr.foot,Mr.fyaw,`${Mr.pole}`,Mr.hand,`${Mr.pole}`;let Nr=[[[`frames`,`when`,`range`,`f`,`from`,`within`,`during`,`at`],[`when`,`frames`,`at`,`f`]],[[`max`,`maxDist`,`distance`,`tolerance`,`limit`],[`tol`,`min`]]];function Pr(e,t){for(let[n,r]of Nr){let i=n.includes(e)&&r.find(n=>t.includes(n)&&n!==e);if(i)return`; did you mean "${i}"?`}return W(e,t,Math.max(2,Math.floor(e.length/3)))}let Fr=e=>Array.isArray(e)&&e.length===3&&e.every(Number.isFinite),U=e=>JSON.stringify(e)?.slice(0,60);function Ir(e,t){let n=Array.from({length:e.length+1},(e,n)=>[n,...Array(t.length).fill(0)]);for(let e=1;e<=t.length;e++)n[0][e]=e;for(let r=1;r<=e.length;r++)for(let i=1;i<=t.length;i++)n[r][i]=Math.min(n[r-1][i]+1,n[r][i-1]+1,n[r-1][i-1]+(e[r-1]===t[i-1]?0:1));return n[e.length][t.length]}function W(e,t,n=Math.max(3,Math.floor(e.length/3))){let r=null,i=1/0;for(let n of t){let t=Ir(e,n);t<i&&(r=n,i=t)}return r&&i<=n?`; did you mean "${r}"?`:``}let Lr={pelvis:`Hips`,hip:`Hips`,hips:`Hips`,root:`Hips`,chest:`Spine2`,upperchest:`Spine2`,torso:`Spine1`,belly:`Spine`,abdomen:`Spine`,neck:`Neck`,head:`Head`},Rr={hand:`Hand`,wrist:`Hand`,foot:`Foot`,ankle:`Foot`,toe:`ToeBase`,toes:`ToeBase`,ball:`ToeBase`,arm:`Arm`,upperarm:`Arm`,forearm:`ForeArm`,lowerarm:`ForeArm`,elbow:`ForeArm`,shoulder:`Shoulder`,clavicle:`Shoulder`,thigh:`UpLeg`,upleg:`UpLeg`,upperleg:`UpLeg`,leg:`Leg`,lowerleg:`Leg`,shin:`Leg`,calf:`Leg`,knee:`Leg`},zr={l:`Left`,left:`Left`,r:`Right`,right:`Right`},Br=e=>e.toLowerCase().replace(/[\s_.-]+/g,``);function Vr(e,t){let n=t.toLowerCase();return e.names.find(e=>e.toLowerCase()===n)??null}function Hr(e,t){let n=Br(t);if(Lr[n])return Vr(e,Lr[n]);let r=t.toLowerCase().trim(),i=/^(l|r|left|right)[\s_.-]+(.+)$/.exec(r)??/^(left|right)(.+)$/.exec(r),a=/^(.+?)[\s_.-]+(l|r|left|right)$/.exec(r)??/^(.+?)(left|right)$/.exec(r),[o,s]=i?[i[1],i[2]]:a?[a[2],a[1]]:[];return o?Vr(e,`${zr[o]}${Rr[Br(s)]??Br(s)}`):null}function Ur(e,t){if(typeof t!=`string`||!t)return{bone:null,hint:``};if(e.index[t]!==void 0)return{bone:t,hint:``};let n=t.replace(/^mixamorig\d*:/i,``),r=Vr(e,t)??Vr(e,n)??Hr(e,n);return r?{bone:r,hint:``}:{bone:null,hint:W(n,e.names)}}function Wr(e,t,n,r){let i=e?.people?.[t];if(!i)return null;let a=i.names.indexOf(Ur(br(i.rig),n).bone??``);if(a<0)return null;let o=(Math.max(0,Math.min(i.frames-1,Math.round(r)))*i.names.length+a)*3;return[i.P[o],i.P[o+1],i.P[o+2]]}let Gr=e=>Object.entries(e?.people??{}).map(([e,t])=>`${e} (${t.name})`).join(`, `)||`none: no other character has an installed take`;function Kr(e,t){let n=new Map,r=(t,r)=>{let i=e?.people?.[t],a=i&&Ur(br(i.rig),r).bone;a&&n.set(t,new Set([...n.get(t)??[],a]))},i=(e,t)=>{if(typeof e==`string`){let n=/^person:([^.]+)(?:\.(.+))?$/.exec(e);n&&(n[2]||t===`from`)&&r(n[1],n[2]??`Hips`)}else if(Array.isArray(e))e.forEach(e=>i(e));else if(e&&typeof e==`object`){e.kind===`person`&&r(e.person,e.bone);for(let[t,n]of Object.entries(e))i(n,t)}};return i(t),n.size?Object.fromEntries([...n].map(([t,n])=>{let r=e.people[t],i=[...n],a=r.names.length,o=[];for(let e=0;e<r.frames;e++)for(let t of i){let n=(e*a+r.names.indexOf(t))*3;o.push(r.P[n],r.P[n+1],r.P[n+2])}return[t,{name:r.name,rig:r.rig,frames:r.frames,names:i,P:o}]})):null}let qr=[`schema`,`fps`,`frames`,`label`,`keys`,`anchors`,`props`,`fits`,`objects`,`generators`,`checks`,`fix`,`use`,`channels`,`detourRadius`,`search`,`goals`,`flow`,`idle`],Jr=[`f`,`set`,`step`,`src`],Yr=[`skill`,`args`,`f0`],Xr={world:[`p`],body:[`p`],bone:[`bone`,`offset`],segment:[`from`,`to`,`t`,`tMin`,`offset`,`reach`],object:[`object`,`local`,`socket`,`grasp`],landmark:[`name`],prop:[`prop`,`point`,`offset`],person:[`person`,`bone`,`offset`]},Zr=[`hand`,`origin`,`points`],Qr=[`side`,`anchor`,`effector`,`offset`,`orient`],$r={hinge:[`pivot`,`axis`,`channel`],carry:[`prop`,`at`,`along`,`visible`,`level`,`grab`,`release`,`keys`,`fall`],switch:[`visible`,`level`],follow:[`follow`,`offset`,`aim`,`visible`,`level`],free:[`keys`,`fall`,`visible`,`level`]},ei=[`at`,`onto`,`bounce`,`tumble`],ti=[`f`,`pos`,`rot`,`aim`,`roll`,`lean`],ni=[`type`,`f0`,`steps`,`step`,`period`,`swing`,`halfWidth`,`lift`,`heading`,`turnDistance`,`pelvisHigh`,`pelvisLow`,`firstStep`,`armSwing`,`vary`],ri=[`contacts`,`orient`,`below`,`clearance`,`appear`,`supports`,`allow`,`limits`,`mouthPoints`],ii={contacts:[`name`,`point`,`target`,`tol`,`when`],orient:[`name`,`from`,`to`,`along`,`minCos`,`when`],below:[`name`,`joint`,`ref`,`min`,`when`],clearance:[`name`,`part`,`object`,`min`,`frames`],appear:[`name`,`channel`,`joint`,`anchor`,`tol`],supports:[`object`,`part`,`tol`],allow:[`part`,`object`,`depth`]},ai=[`name`,`near`,`above`,`moved`,`still`,`speed`,`tol`,`by`,`at`,`mode`,`after`,`before`],oi=[`name`,`distance`,`position`,`frames`,`every`],si=[`joint`,`bone`,`prop`,`anchor`,`landmark`,`object`,`person`];function ci(e,t,n,r){return!t||t.index[r]!==void 0||(e(`${n} names unknown bone "${r}"${W(String(r),t.names)}`),!1)}function li(e,t,n,r,{groups:i=!1}={}){let a=Object.keys(t?.objects??{});if(!a.length||a.includes(r))return!0;let o=Mi(t,r);return o.length&&i?!0:(o.length?e(`${n} names "${r}", a group (Empty) with no body of its own; its parts are ${o.join(`, `)}. Name one part`):e(`${n} names object "${r}", which is not in the scene${W(String(r),[...new Set([...a,...a.flatMap(e=>t.objects[e].ancestors??[]),...Object.keys(t.others??{})])])}`),!1)}function ui(e,t,n,r,i){let[a,o]=String(i).split(/:(.*)/s);if(a===`joint`)return ci(t,n,r,o);if(a===`anchor`)return e.anchors?.[o]?!0:t(`${r} "${i}" names no anchor`);if(a===`prop`){let[n,a]=(o??``).split(`.`);return e.props?.[n]?.points?.[a]||a===`origin`?!0:t(`${r} "${i}" names no prop point`)}t(`${r} "${i}" must be joint:<Bone>, prop:<prop>.<point> or anchor:<name>`)}let di={joint:`joint:<Bone>`,bone:`bone:<Bone>`,prop:`prop:<prop>.<point>`,anchor:`anchor:<name>`,landmark:`landmark:mouth`,object:`object:<id>[.center|.top|.base]`,person:`person:<id>.<Bone>`};function fi(e){let t=/^([a-z]+):(.+)$/s.exec(String(e));if(!t)return null;let[,n,r]=t;if(n===`prop`){let[e,t]=r.split(`.`);return{kind:n,name:e,point:t??``}}if(n===`object`){let e=/^(.+)\.(center|top|base)$/s.exec(r);return{kind:n,name:e?e[1]:r,point:e?e[2]:null}}if(n===`person`){let e=r.lastIndexOf(`.`);return{kind:n,name:e>0?r.slice(0,e):r,point:e>0?r.slice(e+1):``}}return{kind:n,name:r,point:null}}function pi(t,n){let r=[1/0,1/0,1/0],i=[-1/0,-1/0,-1/0];for(let n of t)for(let t of[-1,1])for(let a of[0,2])for(let o of[-1,1]){let s=e(n.pos,p(n.R,[t*n.half[0],a*n.half[1],o*n.half[2]]));for(let e=0;e<3;e++)r[e]=Math.min(r[e],s[e]),i[e]=Math.max(i[e],s[e])}let a=[(r[0]+i[0])/2,(r[1]+i[1])/2,(r[2]+i[2])/2];return n===`top`?[a[0],i[1],a[2]]:n===`base`?[a[0],r[1],a[2]]:a}function mi(e,t,n){let r=e.frames?.[t-(e.f0??0)],i=fi(n);if(!r||!i)return null;let{s:a,diag:o,c:s}=r,c=e.ctx.sk;switch(i.kind){case`joint`:case`bone`:{let{bone:e}=Ur(c,i.name);return e?a.P[c.index[e]].slice():null}case`prop`:{let e=o.props?.[i.name]?.[i.point];return Array.isArray(e)?e.slice():null}case`anchor`:return e.ctx.spec.anchors?.[i.name]?ma(e.ctx,i.name,a,{...o,frame:t},s):null;case`landmark`:return c.landmarks?.[i.name]?A(a,c.index.Head,c.landmarks[i.name]):null;case`object`:{let n=Ji(e,i.name,t);return n?pi(n,i.point):null}case`person`:return Wr(e.ctx.scene,i.name,i.point,t);default:return null}}function hi(e,n,r,i){let o=e=>{let t=fi(e);return t?.kind===`object`&&t.point===null?t:null},s=o(i)?[r,o(i)]:o(r)?[i,o(r)]:null;if(s){let t=mi(e,n,s[0]),r=Ji(e,s[1].name,n);return t&&r?Math.max(0,Math.min(...r.map(e=>H(t,e)))):null}let c=mi(e,n,r),l=mi(e,n,i);return c&&l?a(t(c,l)):null}function gi(e,{sk:t,scene:n},r,i){if(typeof r!=`string`||!r)return``;let a=r.replace(/\.(center|top|base)$/,``),[o,s]=r.split(`.`),c=t&&(i.includes(`joint`)||i.includes(`bone`))?Ur(t,r).bone:null,l=[i.includes(`object`)&&(n?.objects?.[a]||Mi(n,a).length)&&`object:${r}`,c&&`${i.includes(`joint`)?`joint`:`bone`}:${c}`,i.includes(`anchor`)&&e.anchors?.[r]&&`anchor:${r}`,i.includes(`prop`)&&e.props?.[o]&&(s===`origin`||e.props[o].points?.[s])&&`prop:${r}`,i.includes(`landmark`)&&r===`mouth`&&`landmark:mouth`].filter(Boolean);return l.length?`; did you mean ${l.map(e=>`"${e}"`).join(` or `)}?`:``}function _i(e,t,{sk:n,scene:r},i,a,o=si){let s=fi(a),c=`${i} "${a}"`;if(!s||!o.includes(s.kind))return t(`${c} must be ${o.map(e=>di[e]).join(`, `)}${s?``:gi(e,{sk:n,scene:r},a,o)}`),!1;if(s.kind===`joint`||s.kind===`bone`){let{bone:e,hint:r}=n?Ur(n,s.name):{bone:s.name};return e||t(`${c}: unknown bone${r}`),!!e}if(s.kind===`prop`){let n=!!(e.props?.[s.name]&&(s.point===`origin`||e.props[s.name].points?.[s.point]));return n||t(`${c}: spec.props has no point ${s.name}.${s.point}`),n}if(s.kind===`anchor`)return e.anchors?.[s.name]||t(`${c}: no anchor "${s.name}" in spec.anchors${W(s.name,Object.keys(e.anchors??{}))}`),!!e.anchors?.[s.name];if(s.kind===`landmark`)return s.name!==`mouth`&&t(`${c}: the only landmark is "mouth"`),s.name===`mouth`;if(s.kind===`person`){let e=!!Wr(r,s.name,s.point,0);return e||t(`${c}: no person "${s.name}" with joint "${s.point}" (people with an installed take: ${Gr(r)})`),e}return li(t,r,c,s.name,{groups:!0})}let vi=[0,1,0];function yi(e,n,r=`up`,i){if(Array.isArray(r))return s(r);if(r===`face`){let{sk:t}=e.ctx;return s(j(t,e.frames[n-(e.f0??0)].s,t.index.Head,[0,0,1]))}let o=r===`up`?null:mi(e,n,r),c=o?t(o,i):vi;return a(c)>1e-9?s(c):vi}function bi(t,n,r){let i=t.f0??0,a=Math.max(i,Math.min(i+t.frames.length-1,r)),o=mi(t,a,n.follow);if(!o)return null;let s=C(be(vi,yi(t,a,n.aim,o)));return{pos:e(o,p(s,n.offset??[0,0,0])),R:s}}function xi(e,t){let n=t.length,r=Array(n).fill(0);for(let i=1;i<n-1;i++){let n=e[i]-e[i-1],a=e[i+1]-e[i],o=(t[i]-t[i-1])/n,s=(t[i+1]-t[i])/a;if(o*s>0){let e=2*a+n,t=a+2*n;r[i]=(e+t)/(e/o+t/s)}}return r}function Si(e,t,n,r){if(e.length===1||r<=e[0])return t[0];if(r>=e[e.length-1])return t[t.length-1];let i=0;for(;r>e[i+1];)i++;let a=e[i+1]-e[i],o=(r-e[i])/a,s=o*o,c=s*o;return(2*c-3*s+1)*t[i]+(c-2*s+o)*a*n[i]+(-2*c+3*s)*t[i+1]+(c-s)*a*n[i+1]}let Ci=/^(spine|head)_(yaw|pitch|roll)$|^(aswing|abend)_[lr]$/,wi={spine:0,head:2,arms:3},Ti=e=>/^(spine|head)_/.test(e)?[`l`,`r`]:/^(aswing|abend)_([lr])$/.test(e)?[e.slice(-1)]:[],Ei=e=>/^spine_/.test(e)?`spine`:/^head_/.test(e)?`head`:/^(aswing|abend)_[lr]$/.test(e)?`arms`:null;function Di(e){if(e===!1)return{smooth:!1,lag:{spine:0,head:0,arms:0}};let t=e??{},n=t.lag===!1?0:t.lag,r=typeof n==`number`?{spine:n,head:n,arms:n}:{...wi,...n??{}};return{smooth:t.smooth!==!1,lag:r}}function Oi(e,t){let n=t.length,r=Array(n).fill(0);for(let i=1;i<n-1;i++)t[i]!==t[i-1]&&t[i]!==t[i+1]&&(r[i]=(t[i+1]-t[i-1])/(e[i+1]-e[i-1]));for(let i=0;i<n-1;i++){let n=e[i+1]-e[i],a=Math.min(t[i],t[i+1]),o=Math.max(t[i],t[i+1]),s=Math.min(6,.15*(o-a));for(let c=0;c<12;c++){let c=0;for(let s=1;s<16;s++){let l=Si([e[i],e[i+1]],[t[i],t[i+1]],[r[i],r[i+1]],e[i]+n*s/16);c=Math.max(c,l-o,a-l)}if(c<=s+1e-9)break;r[i]*=.7,r[i+1]*=.7}}return r}let ki=e=>Array.isArray(e)?`vec`:e&&typeof e==`object`?`map`:`num`;function Ai(e,t,n=Di()){let r=new Map;for(let t of[...e].sort((e,t)=>e.f-t.f))for(let[e,n]of Object.entries(t.set??{}))r.has(e)||r.set(e,[]),r.get(e).push({f:t.f,value:n,step:t.step?.includes(e)});let i={},a={};for(let[e,o]of r){let r=[...new Map(o.map(e=>[e.f,e])).values()],s=ki(r[0].value),c=s===`vec`?r[0].value.length:0,l=s===`num`?[r.map(e=>e.value)]:s===`vec`?Array.from({length:c},(e,t)=>r.map(e=>e.value[t])):[...new Set(r.flatMap(e=>Object.keys(e.value)))].map(e=>({name:e,y:r.map(t=>t.value[e]??0)})),u=r.map(e=>e.f),d=n.smooth&&Ci.test(e),f=n.lag[Ei(e)]??0,p=e=>f>0?e-f*Math.min(1,(t-1-e)/(2*f)):e,m=(e,t=!0)=>{let n=d&&t?Oi(u,e):xi(u,e);return i=>{let a=t?p(i):i;for(let t=1;t<r.length;t++)if(r[t].step&&a>=u[t-1]&&a<u[t])return e[t-1];return Si(u,e,n,a)}},h=Array(t);if(s===`num`){let e=m(l[0]);for(let n=0;n<t;n++)h[n]=e(n)}else if(s===`vec`){let e=l.map(m);for(let n=0;n<t;n++)h[n]=e.map(e=>e(n))}else{let e=l.map(({name:e,y:t})=>[e,m(t)]);for(let n=0;n<t;n++)h[n]=Object.fromEntries(e.map(([e,t])=>[e,t(n)]))}if(i[e]=h,s===`num`&&(d||f>0)&&Ti(e).length){let n=m(l[0],!1);a[e]=Array.from({length:t},(e,t)=>n(t))}}for(let[e,t]of Object.entries(a)){let n=Ti(e).map(e=>i[`armw_${e}`]).filter(Boolean);n.length&&(i[e]=i[e].map((e,r)=>{let i=Math.min(1,4*Math.max(0,...n.map(e=>e[r])));return e+(t[r]-e)*i*(2-i)}))}return i}let ji=(e,t)=>Object.fromEntries(Object.entries(e).map(([e,n])=>[e,n[t]]));function Mi(e,t){let n=e?.objects??{};return Object.keys(n).filter(e=>e===t||n[e].ancestors?.includes(t))}function Ni(e,t){return B(e)&&t>=(e.grab??0)&&(e.release===void 0||t<=e.release)}function Pi(e,t){return e?.objects?.[t]??Nt(e)[t]??null}function Fi(e,t,n){return[n,...t?.objects?.[n]?.ancestors??Nt(t)[n]?.ancestors??[]].find(t=>Dt(e.objects?.[t]))??null}function Ii(e,t){let n=t=>e.timeMap?Math.round(e.timeMap(t)):t;return[n(t.grab??0),t.release===void 0?e.frameCount-1:n(t.release)]}let Li=(e,t,n)=>n.at===void 0&&n.along===void 0&&(!e?.objects?.[t]&&!!Nt(e)[t]||n.grab!==void 0),Ri=new WeakMap,zi=new WeakMap,Bi=new WeakMap,Vi=e=>({spec:e.ctx.spec,scene:e.ctx.scene,timeMap:e.timeMap});function Hi(e,t,n){let{spec:r,scene:i}=e.ctx,a=Fi(r,i,t),o=r.objects?.[a];if(!B(o))return null;let s=Fo(Vi(e),a,o,n,Ii(e,o)[0]);return s&&(a===t?s:V(s,At(Pi(i,a),Pi(i,t))))}function Ui(t,n){Bi.has(t)||Bi.set(t,new Map);let r=Bi.get(t);if(r.has(n))return r.get(n);let{spec:i,scene:a}=t.ctx,o=i.objects?.[n],s=Pi(a,n),c=Mi(a,n),l=null;if(B(o)&&o.release!==void 0&&s&&c.length){let r=Ii(t,o)[1];if(r<t.frameCount-1&&!Lo(Vi(t),o,r)){let u=Ki(t,n,o,r),d=c.flatMap(e=>bo({...V(u,At(s,a.objects[e])),half:a.objects[e].half})),f=Math.min(...d.map(e=>e[1])),p=d.reduce((t,n)=>e(t,n),[0,0,0]).map(e=>e/d.length);for(let[e,o]of Object.entries(a.objects)){let s=c.includes(e)?null:Fi(i,a,e),u=i.objects?.[s];if(!s||s===n||B(u)||Tt(u))continue;let d={...Xi(t,e,r),half:o.half},m=xo(d);So(d,p)&&m<=f+.005&&(!l||m>l.top)&&(l={mover:s,top:m})}}}return r.set(n,l?.mover??null),l?.mover??null}function Wi(e,t){let n=e.frames[t-(e.f0??0)];if(n)return n;Ri.has(e)||Ri.set(e,new Map);let r=Ri.get(e);return r.has(t)||r.set(t,zc(e.ctx,ji(e.baked,t),t)),r.get(t)}function Gi(e,t,n,r,i){let{sk:a,spec:o,scene:s}=e.ctx;if(!Li(s,t,n))return kt(a,o,i,n);if(n.keys?.length&&e.ctx.hold)return e.ctx.hold.attaching(t)?Pi(s,t):V(kt(a,o,i,{prop:n.prop}),e.ctx.hold.attach(t));let c=e=>kt(a,o,e,{prop:n.prop}),l=Ii(e,n)[0];return V(c(i),At(c(l===r?i:Wi(e,l).s),Hi(e,t,l)??Pi(s,t)))}function Ki(e,t,n,r){let i=Wi(e,r);zi.has(i)||zi.set(i,new Map);let a=zi.get(i);return a.has(t)||a.set(t,Gi(e,t,n,r,i.s)),a.get(t)}function qi(e,t,n,r=null){let{spec:i,scene:a}=e.ctx,o=Dt(i.objects?.[t])?i.objects[t]:void 0,s=Pi(a,t);if(Tt(o))return bi(r?{...e,f0:n,frames:[r]}:e,o,n);if(B(o)&&(s||!Li(a,t,o))){let[i,a]=Ii(e,o),c=Math.max(i,Math.min(n,a));if(n<i&&s)return Hi(e,t,n);let l=n>a?Io(Vi(e),t,o,n,a,Ki(e,t,o,a),a>0?Ki(e,t,o,a-1):null):null;if(l)return l;let u=n>a?Ui(e,t):null;if(u){let r=Ki(e,t,o,a);return V(qi(e,u,n),At(qi(e,u,a),r))}return r&&c===n?Gi(e,t,o,n,r.s):Ki(e,t,o,c)}if(!s)return null;if(go(o))return Po(Vi(e),t,n);if(o&&a.objects[t])return e.ctx.objectsAt(n)[t];if(o){let r=Mi(a,t)[0],i=e.ctx.objectsAt(n)[r];return V(i,At(a.objects[r],s))}return{pos:s.pos,R:s.R}}function Ji(e,t,n){let r=e.frames?.[n-(e.f0??0)],i=e.ctx.scene,a=Mi(i,t);return!r||!a.length?null:a.map(t=>{let r=Xi(e,t,n);return{id:t,pos:r.pos,R:r.R,half:i.objects[t].half}})}function Yi(e,t,n){let{spec:r,scene:i,sk:a}=e.ctx,o=r.objects?.[Fi(r,i,t)];if(B(o)){let[t,i]=Ii(e,o);return n>=t&&n<=i?r.props?.[o.prop]?.hand??null:null}if(!Tt(o))return null;let[s,c=``]=String(o.follow).split(/:(.*)/s);if(s===`prop`)return r.props?.[c.split(`.`)[0]]?.hand??null;let l=(s===`joint`||s===`bone`)&&/^(Left|Right)(Arm|ForeArm|Hand)/.exec(Ur(a,c).bone??``);return l?l[1]===`Left`?`l`:`r`:null}function Xi(e,t,n,r=null){let{spec:i,scene:a}=e.ctx,o=Pi(a,t),s=Fi(i,a,t),c=i.objects?.[s];if(!o)return null;if(B(c)||Tt(c)||go(c)){let t=qi(e,s,n,r);return t&&V(t,At(Pi(a,s),o))}return s?a.objects[t]?e.ctx.objectsAt(n)[t]??o:s===t?qi(e,t,n):V(qi(e,s,n),At(Pi(a,s),o)):{pos:o.pos,R:o.R}}let Zi=.045,Qi=[[1,0,0],[0,1,0],[0,0,1]],$i=(e,i)=>t(e,n(i,r(e,i)));function ea(e){if(!e)return-1;let t=[0,1,2].reduce((t,n)=>e[n]>e[t]?n:t,0);return[0,1,2].filter(e=>e!==t).every(t=>e[t]<Zi)?t:-1}let ta=(e,t)=>e===`cylinder`&&!!t&&t[1]<Zi&&Math.min(t[0],t[2])>=Zi&&Math.abs(t[0]-t[2])<.1*t[0],na=(e,t)=>e?.objects?.[t]?.grasp??e?.others?.[t]?.grasp??null;function ra(e,t){let n=[],r=(t,r)=>Object.entries(na(e,t)??{}).forEach(([e,i])=>n.push({...i,name:r+e,owner:t}));r(t,``);for(let i of Mi(e,t)){i!==t&&r(i,`${i}.`);let{half:a,renderer:o}=e.objects[i],s=ea(a);s>=0?n.push({name:i,owner:i,at:[0,a[1],0],axis:Qi[s],radius:Math.min(...a.filter((e,t)=>t!==s))}):ta(o,a)&&n.push({name:i,owner:i,at:[0,a[1],0],rim:a[0],normal:Qi[1]})}return n}let ia=(e,t,n)=>ra(e,t).find(e=>e.name===n);function aa(t,n){let r=e=>e?s(p(n.R,e)):void 0;return{p:e(n.pos,p(n.R,t.at??[0,0,0])),axis:r(t.axis),from:r(t.from),thumb:r(t.thumb),radius:t.radius,...t.rim?{rim:t.rim,normal:r(t.normal)}:{}}}function oa(r,o){let c=$i(t(o,r.p),r.normal),l=a(c)>1e-6?s(c):s($i(Math.abs(r.normal[1])<.9?[0,1,0]:[1,0,0],r.normal));return{p:e(r.p,n(l,r.rim)),axis:s(i(r.normal,l))}}function sa(r,i){let a;for(let o of r){let r=p(m(o.R),t(i,e(o.pos,p(o.R,[0,o.half[1],0])))),s=[0,1,2].map(e=>Math.abs(r[e])-o.half[e]),c=[0,1,2].reduce((e,t)=>s[t]>s[e]?t:e,0),l=Math.max(...s);(!a||l<a.gap)&&(a={gap:l,n:n([o.R[0][c],o.R[1][c],o.R[2][c]],r[c]<0?-1:1)})}return a?.n}function ca(e,n){let i=t(n,e.p);return e.rim?Math.hypot(r(i,e.normal),a($i(i,e.normal))-e.rim):a(e.axis?$i(i,e.axis):i)}function la(t,o,c,l,u=0){let d=t===`Right`,f=e=>d?e:n(e,-1);if(o.axis&&c!==`palm`&&!(o.from&&a($i(o.axis,o.from))<.001)){if(o.from){let e=f(o.from),t=s($i(o.axis,e)),a=t=>o.thumb?r(t,o.thumb):r(i(t,e),l),c=a(t)>=a(n(t,-1))?t:n(t,-1);return da(i(c,e),c,e)}let t=ua(l,o.axis),a=p(_(u),[d?1:-1,0,0]),c=Math.abs(t[1]),m=o.thumb??$i(e(n([0,1,0],1-c),n(a,c)),t),h=s($i(o.axis,t)),g=r(h,m)>=0?h:n(h,-1);return da(t,g,i(t,g))}let m=f(o.from??n(l,-1)),h=ua(l,m);return da(h,i(m,h),m)}function ua(e,t){let n=$i(e,t);return s(a(n)>.001?n:$i(Math.abs(t[1])<.9?[0,1,0]:[1,0,0],t))}let da=(e,t,n)=>[[e[0],t[0],n[0]],[e[1],t[1],n[1]],[e[2],t[2],n[2]]];function fa(e,n){let r=R[n],i=e.restWorldPos,o=e.index;return a(t(i[o[`${r}ForeArm`]],i[o[`${r}Arm`]]))+a(t(i[o[`${r}Hand`]],i[o[`${r}ForeArm`]]))}let pa=new Set([`body`]);function ma(e,t,n,r,i,a){let o=e.spec.anchors?.[t];if(!o)throw Error(`MOTION_SPEC_INVALID: unknown anchor "${t}"`);let s=ya(e,o,t,n,r,i,a),c=pa.has(o.kind)&&e.keepOut;return c?Be(c.body,e.sk,n,Be(c.body,e.sk,n,s,Ve,c.skip),Ve,c.skip):s}let ha=[`r`,`l`],ga={l:`left`,r:`right`};function _a(e,t,n,{s:r,diag:i,c:a},o){let s=i.frame,c=()=>e.restingAt?.(t.object,s)??e.objectsAt(s)[t.object]??Nt(e.scene)[t.object],l=e.objectPose&&s!==void 0?e.objectHand(t.object,s):null;if(o&&l&&ha.indexOf(l)>ha.indexOf(o))throw Error(`MOTION_SPEC_INVALID: anchor "${n}" is on "${t.object}", which the ${ga[l]} hand holds at f${s}; the right arm is solved before the left, so the right hand cannot follow it. Carry "${t.object}" in the right hand (a right-hand prop) and put the left hand on it, or give the right hand another anchor`);let u=!e.objectPose||s===void 0||l===o?c():va(e,n,t.object,s,()=>e.objectPose(t.object,s,{s:r,diag:i,c:a}));if(!u)throw Error(`MOTION_SPEC_INVALID: anchor "${n}" names unknown object "${t.object}"`);return u}function va(e,t,n,r,i){if((e.nest??0)>=16)throw Error(`MOTION_SPEC_INVALID: anchor "${t}" on "${n}" at f${r} reads a pose that needs this frame solved again (an anchor and carry loop); anchor the hand on a point that does not ride on the hand it moves`);e.nest=(e.nest??0)+1;try{return i()}finally{e.nest--}}function ya(r,i,o,s,c,l,u){let{sk:d}=r,f=d.index;switch(i.kind){case`world`:return i.p.slice();case`body`:return e(l.root??s.P[f.Hips],p(_(l.yaw??0),i.p));case`bone`:return e(s.P[f[i.bone]],i.offset??[0,0,0]);case`segment`:{let r=s.P[f[i.from]],o=s.P[f[i.to]],c=i.offset??[0,0,0],l=i=>e(e(r,n(t(o,r),i)),c);if(!i.reach)return l(i.t??.5);let u=s.P[f[`${R[i.reach]}Arm`]],p=.95*fa(d,i.reach);for(let e=i.t??.45;e>=(i.tMin??.15);e-=.01)if(a(t(l(e),u))<=p)return l(e);return l(i.tMin??.15)}case`object`:{if(i.grasp&&i.local===void 0)return xa(r,o,s,c,l,u).p;let t=_a(r,i,o,{s,diag:c,c:l},u);return e(t.pos,p(t.R,i.local??[0,0,0]))}case`landmark`:return A(s,f.Head,d.landmarks[i.name]??(()=>{throw Error(`MOTION_SPEC_INVALID: unknown landmark "${i.name}"`)})());case`prop`:{let t=ba(r,i,o,c?.frame)??c.props?.[i.prop]?.[i.point];if(!t)throw Error(`MOTION_SPEC_INVALID: anchor "${o}" needs prop ${i.prop}.${i.point}, which is held by an arm solved later`);return e(t,i.offset??[0,0,0])}case`person`:{let t=Wr(r.scene,i.person,i.bone,c?.frame??0);if(!t)throw Error(`MOTION_SPEC_INVALID: anchor "${o}" names person "${i.person}" bone "${i.bone}", which the scene does not have (people: ${Gr(r.scene)})`);return e(t,i.offset??[0,0,0])}default:throw Error(`MOTION_SPEC_INVALID: anchor "${o}" has unknown kind "${i.kind}"`)}}function ba(n,r,i,a){let o=n.spec.props?.[r.prop]?.hand;if(!o||a===void 0||!n.solvedAt||!n.carrySpan)return null;let s=null;for(let[e,t]of Object.entries(n.spec.objects??{})){if(!B(t)||n.spec.props?.[t.prop]?.hand!==o)continue;let[r,i]=n.carrySpan(t);if(a>=r&&a<=i)return null;let c=a<r?r:i;(!s||Math.abs(a-c)<Math.abs(a-s.at))&&(s={id:e,at:c})}if(!s)return null;let c=va(n,i,s.id,s.at,()=>n.solvedAt(s.at).diag.props?.[r.prop]?.[r.point]),l=n.objectPose(s.id,s.at),u=n.objectPose(s.id,a);return c&&l&&u?e(u.pos,p(u.R,p(m(l.R),t(c,l.pos)))):null}function xa(i,o,c,l,u,d){let f=i.spec.anchors[o],m={s:c,diag:l,c:u},h=e=>_a(i,{...f,object:e},o,m,d),g=f.local&&(t=>e(t.pos,p(t.R,f.local)))(h(f.object));if(i.sockets??=new Map,!i.sockets.has(o)){let e=ra(i.scene,f.object),t=i.sk.index,n=g??c.P[t[d?`${R[d]}Arm`:`Hips`]],r=f.socket?ia(i.scene,f.object,f.socket):e.map(e=>({k:e,d:ca(aa(e,h(e.owner)),n)})).sort((e,t)=>e.d-t.d)[0]?.k;i.sockets.set(o,r??null)}let _=i.sockets.get(o),v=_?aa(_,h(_.owner)):{p:g??h(f.object).pos};if(_?.rim)v=Sa(i,o,d,_,h(_.owner),v,g??c.P[i.sk.index[d?`${R[d]}Arm`:`Hips`]]);else if(g)v.p=g;else if(v.axis&&v.radius>0){let o=Math.abs(kr[f.grasp]?.[2]??0),l=v.radius-o,u=c.P[i.sk.index[`${R[d]??`Right`}Arm`]],p=t(u,v.p),m=t(p,n(v.axis,r(p,v.axis)));l>1e-4&&a(m)>1e-6&&(v.p=e(v.p,n(s(m),l)))}return!v.axis&&!v.from&&(v.from=sa(Mi(i.scene,f.object).map(e=>({...h(e),half:i.scene.objects[e].half})),v.p)),v}function Sa(e,n,r,i,a,o,s){e.rims??=new Map;let c=(r?null:[...e.rims.keys()].find(e=>e.startsWith(`${n}|`)&&!e.endsWith(`|`)))??`${n}|${r??``}`;if(!e.rims.has(c)){let n=oa(o,s),r=e=>p(m(a.R),e);e.rims.set(c,{at:r(t(n.p,a.pos)),axis:r(n.axis)})}return aa(e.rims.get(c),a)}function Ca(t,r,i,a){let{sk:o}=t;for(let[s,c]of Object.entries(t.spec.props??{})){if(c.hand!==r)continue;let t=L(o,i,R[r]),l=n(c.origin.map(e=>i.P[o.index[e]]).reduce((t,n)=>e(t,n),[0,0,0]),1/c.origin.length),u={};for(let[r,[i,a,o]]of Object.entries(c.points??{}))u[r]=e(l,e(n(t.d,i),e(n(t.l,a),n(t.n,o))));u.origin=l,u.axes=t,(a.props??={})[s]=u}}let wa=180/Math.PI,Ta=[-40,-40/2,0,40/2,40];function Ea(e){let t=Math.min(...e.map(e=>e[1])),n=e.map(([e,n])=>[e,Math.exp(-(n-t)/.3)]);return n.reduce((e,[t,n])=>e+t*n,0)/n.reduce((e,[,t])=>e+t,0)}function Da(e){let t=Array.from({length:12},(t,n)=>{let r=2*Math.PI*n/12-Math.PI;return[r,e(r)]}),n=Math.min(...t.map(e=>e[1])),r=t.reduce((e,[t,r])=>{let i=Math.exp(-(r-n)/.05);return[e[0]+i*Math.cos(t),e[1]+i*Math.sin(t)]},[0,0]);return Math.atan2(r[1],r[0])}let Oa=({d:e,l:t,n})=>[[e[0],t[0],n[0]],[e[1],t[1],n[1]],[e[2],t[2],n[2]]],ka=(e,t)=>e.anchors?.[t]?.kind===`object`&&!!e.anchors[t].grasp,Aa=(e,t)=>(e.keys??[]).some(e=>(!e.src||e.src.startsWith(`keys[`))&&(e.set?.[`wtwist_${t}`]!==void 0||e.set?.[`wflex_${t}`]!==void 0));function ja(e,t,n,r){let i=new Set(Mi(t,n));return(e.fits??[]).some(a=>{if(a.side!==r||!ka(e,a.anchor))return!1;let o=e.anchors[a.anchor].object;return o===n||i.has(o)||Mi(t,o).some(e=>i.has(e))})}function Ma(e,t,n){let{spec:r,scene:i}=e;if(!e.objectHand||!(r.fits??[]).some(e=>e.side===t&&ka(r,e.anchor)))return null;for(let[a,o]of Object.entries(r.objects??{}))if(o?.prop&&e.objectHand(a,n)===t&&ja(r,i,a,t))return{id:a,grab:e.carrySpan(o)[0],keyed:!!o.keys?.length};return null}function Na(e,n,r,i,a,o,c,l,u,d=null,p=void 0){let h=n.index,g=h[`${i}Arm`],_=h[`${i}ForeArm`],v=h[`${i}Hand`],b=r.R[_],x=d?.w??xa(e,l.fit.anchor,r,c,o,a),S=u(r),C=s(t(r.P[v],r.P[_])),w=d?.type??e.spec.anchors[l.fit.anchor].grasp,T=la(i,x,w,C,o.yaw),E=(e=>({pos:u(e),R:Oa(L(n,e,i))}))(r),D=e=>{let t=at(n,r,i,{pos:S,R:e},E,1,`palm`);return tt(n,r,i,t.goal,t.wristAt(t.goal),t.plane,qe).cost},O=(e,t)=>[e[0][t],e[1][t],e[2][t]],k=e=>f(y(O(T,1),e*wa),T),{R:A,roll:j,tilt:M}=Pa(e,l.fit.anchor,a,p,()=>{let e=x.axis&&!x.from&&w!==`palm`?Da(e=>D(k(e))+.3*(1-Math.cos(e))):0,t=k(e),n=e=>f(y(O(t,2),e),t),r=x.axis&&w!==`palm`?Ea(Ta.map(e=>[e,D(n(e))+1*(e/40)**2])):0;return{R:n(r),roll:e,tilt:r}}),{goal:N,plane:P,wristAt:ee}=at(n,r,i,{pos:S,R:A},E,l.w,`palm`),te=tt(n,r,i,N,ee(N),P,qe,{w:l.w}),ne={twist:0,flex:0,dev:0};for(let e=0;e<3;e++)ae(n,r,g,_,v,ee(e?r.R[v]:N),te.pole,qe,`elbow`),ne=rt(n,r,i,v,_,N);c[`grip_${a}`]={w:l.w,socket:!0,...ne,roll:j*wa,tilt:M},c[`socket_${a}`]={rel:f(m(b),r.R[v])}}function Pa(e,t,n,r,i){let a=`w_${t}_${n}`,o=t=>e.weightAt?.(a,t)??0;if(!e.weightAt||!Number.isInteger(r))return i();let s=r,c;for(;s>0&&o(s-1)>.001;)s--;for(c=s;c<e.frameCount-1&&o(c)<.999&&o(c+1)>.001;c++);let l=`${a}:${s}`;if(e.graspPlans??=new Map,r>=c){let t=i();return r===c&&e.graspPlans.set(l,t),t}return e.graspPlans.has(l)||(e.graspPlans.set(l,null),(e.hold?.plainFrame??e.solvedAt)(c)),e.graspPlans.get(l)??i()}function Fa(e,t,n,r,i,a){let o=`${i}:${a.grab}`;e.socketTurns??=new Map,e.socketTurns.has(o)||(e.socketTurns.set(o,null),e.socketTurns.set(o,(e.hold?.plainFrame??e.solvedAt)(a.grab)?.diag?.[`socket_${i}`]?.rel??null));let s=e.socketTurns.get(o);if(!s)return;let c=t.index,l=c[`${r}ForeArm`],u=c[`${r}Hand`];rt(t,n,r,u,l,f(n.R[l],s))}let Ia={m:.01,deg:5},La=e=>e*e*(3-2*e),Ra=(e,t)=>{let n=t=>e.timeMap?Math.round(e.timeMap(t)):t;return[n(t.grab??0),t.release===void 0?e.frameCount-1:n(t.release)]},za=e=>{let t=m(e.R);return{pos:n(p(t,e.pos),-1),R:t}};function Ba(r,i,a,o,s=0){let c=[...r.keys].sort((e,t)=>e.f-t.f),l=c.map(e=>i(e.f)),u=[],d=Vt(c,e=>a(l[e]),o&&((e,t)=>o(l[e],Lt(c[e],t,s),t,c[e].lean?{shoulder:!0}:void 0))),f=c.map((e,t)=>Lt(e,ge(d[t]),s).slice());for(let e of d){let t=ge(e);u.push(u.length&&he(u[u.length-1],t)<0?t.map(e=>-e):t)}let p=c.length-1,m=e=>n(_e(pe(me(u[e]),u[e+1])),1/(l[e+1]-l[e])),h=(t,r)=>t===0||t===p?[0,0,0]:n(e(n(r(t),l[t]-l[t-1]),n(r(t-1),l[t+1]-l[t])),1/(l[t+1]-l[t-1]));return{t:l,p:f,q:u,m:f.map((e,r)=>h(r,e=>n(t(f[e+1],f[e]),1/(l[e+1]-l[e])))),w:u.map((e,t)=>h(t,m)),rots:d}}let Va=new WeakMap;function Ha(e,t){Va.has(e)||Va.set(e,new Map);let n=Va.get(e),r=e.timeMap,i=e.baked,a=n.get(t);if(!a||a.map!==r||a.baked!==i){let a=e.ctx.hold,o=new Map,s=e=>{let t=Math.round(e);return o.has(t)||o.set(t,a.plainFrame(t).s),o.get(t)};n.set(t,{map:r,baked:i,curve:Ba(e.ctx.spec.objects[t],e=>r?r(e):e,e=>S(a.carryOn(t,s(e)).R),(e,n,r,i)=>a.strainOn(t,s(e),{pos:n,R:C(r)},i),2*(e.ctx.scene?.objects?.[t]?.half?.[1]??0))})}return n.get(t).curve}function Ua({t,p:r,q:i,m:a,w:o},s){let c=t.length;if(c===1||s<=t[0])return{pos:r[0].slice(),R:C(i[0])};if(s>=t[c-1])return{pos:r[c-1].slice(),R:C(i[c-1])};let l=0;for(;s>t[l+1];)l++;let u=t[l+1]-t[l],d=(s-t[l])/u,f=d*d,p=f*d,m=2*p-3*f+1,h=p-2*f+d,g=-2*p+3*f,_=p-f,v=e(e(n(r[l],m),n(a[l],u*h)),e(n(r[l+1],g),n(a[l+1],u*_))),y=pe(me(i[l]),i[l+1]),b=_e(y),x=e(e(n(b,g),n(o[l],u*h)),n(ye(y,o[l+1]),u*_));return{pos:v,R:C(pe(i[l],ve(x)))}}function Wa(e,[t,n],r){let i=e.t[0],a=e.t[e.t.length-1];if(r<t||r>n)return 0;if(r>=i&&r<=a)return 1;let o=r<i?Math.min(8,i-t):8,s=r<i?i-r:r-a;return o>0&&s<o?La(1-s/o):0}let Ga=e=>Object.entries(e.objects??{}).filter(([,e])=>B(e)&&e.keys?.length);function Ka(r,i,a,o){let{sk:s,spec:c,scene:l}=r,u=Ga(c);if(!u.length)return null;let d=(e,t)=>kt(s,c,t,{prop:e.prop}),f=new WeakMap,p=new Set,m=(e,t)=>r.restingAt?.(e,t)??l?.objects?.[e]??Nt(l)[e],h=new WeakMap,g=e=>i.timeMap?Math.round(i.timeMap(e)):e,_=e=>{h.has(i)||h.set(i,new Map);let t=h.get(i),n=c.objects[e],r=c.props?.[n.prop]?.hand,o=Ra(i,n)[0],u=i.baked??{};if(t.has(e))return t.get(e);if(t.set(e,null),!(r&&n.at===void 0&&n.along===void 0&&(n.grab!==void 0||!l?.objects?.[e])&&mr(l,e)&&!(c.fits??[]).some(e=>e.side===r&&e.orient===!1)&&!ja(c,l,e,r)&&![`wtwist`,`wflex`].some(e=>Math.abs(u[`${e}_${r}`]?.[o]??0)>.001)&&g(Math.min(...n.keys.map(e=>e.f)))<=o))return null;p.add(e);try{t.set(e,_r({sk:s,o:n,side:R[r],grab:o,rest:m(e,o),plain:e=>a(e).s,palmOf:e=>d(n,e),map:g}))}finally{p.delete(e)}return t.get(e)},v=e=>{f.has(i.baked)||f.set(i.baked,new Map);let t=f.get(i.baked),n=c.objects[e];if(t.has(e))return t.get(e);let o=_(e);if(o&&o.name!==`today`)return t.set(e,o.offset),o.offset;let u=l?.objects?.[e]??Nt(l)[e],m=!l?.objects?.[e]&&!!u,h=n.at===void 0&&n.along===void 0&&(m||n.grab!==void 0);p.add(e);let g;try{g=h?a(Ra(i,n)[0]).s:D(s)}finally{p.delete(e)}let v=At(d(n,g),h?r.restingAt?.(e,Ra(i,n)[0])??{pos:u.pos,R:u.R}:kt(s,c,g,n));return t.set(e,v),v},y=(e,t)=>V(d(c.objects[e],t),v(e)),b=(e,t,n,r)=>{let i=c.objects[e];return ct(s,t,R[c.props[i.prop].hand],V(n,za(v(e))),d(i,t),r)},x=(e,t,n)=>{let r=Ha(i,e),a=Wa(r,Ra(i,t),n);return a>0?{w:a,palm:V(Ua(r,n),za(v(e))),measure:e=>d(t,e),comfort:t.keys.some(e=>e.lean>0)}:null},S=new WeakMap,C=(e,t)=>{S.has(i.baked)||S.set(i.baked,new Map);let n=S.get(i.baked),r=n.get(e);if(r&&r.map===i.timeMap)return r.plan;let[o,l]=Ra(i,t),u=[];for(let t=Math.max(0,o);t<=Math.min(i.frameCount-1,l);t++)Wa(Ha(i,e),[o,l],t)>0&&u.push(t);let d=Zt(s,R[c.props[t.prop].hand],u,n=>({s:a(n).s,held:x(e,t,n)}));return n.set(e,{map:i.timeMap,plan:d}),d},w=!1,T=(e,t,n)=>{let r=y(e,t).R;return nr(s,c,e,t,n,[r[0][1],r[1][1],r[2][1]])},E=new WeakMap,O=(e,t)=>{E.has(i.baked)||E.set(i.baked,new Map);let n=E.get(i.baked),r=n.get(e);if(r&&r.map===i.timeMap)return r.plan;let[a,s]=Ra(i,t),c=new Map;w=!0;let l=[],u=()=>{let e=Kt((e,t)=>l[e].grip.cost(t),(e,t)=>l[e].grip.point(t),l.map(e=>e.grip.softmin())),t=Xt(l.map((t,n)=>rr(t.grip,e[n]))),n=t=>l[t].grip.arm(e[t]),r=Kt((e,t)=>n(e).at(t).cost,(e,t)=>n(e).at(t).elbow,l.map((e,t)=>n(t).best.th));l.forEach((i,a)=>c.set(i.f,{roll:e[a],gate:t[a],pole:n(a).at(r[a]).pv})),l=[]};for(let t=Math.max(0,a);t<=Math.min(i.frameCount-1,s);t++){let n=Wa(Ha(i,e),[a,s],t)>0?o(t):null,r=n&&T(e,n.s,n.c);r?l.push({f:t,grip:r}):l.length&&u()}return l.length&&u(),w=!1,n.set(e,{map:i.timeMap,plan:c}),c},k=(t,r,a)=>{let o=_(t);if(!o||o.name===`today`)return null;let s=Ha(i,t),c=s.t[0],l=s.t[s.t.length-1],[u,f]=Ra(i,r);if(a>=c&&a<=l)return null;let p=Ua(s,a<c?c:l),m=V(p,za(o.offset)),h=e=>d(r,e),g=C(t,r).get(Math.round(a<c?c:l));if(a<u||a>f){let e=La(Math.max(0,1-(a<u?u-a:a-f)/12));return e>.001?{w:e,palm:m,measure:h,pole:g}:null}let v=x(t,r,a);return{w:1,palm:v?{pos:e(n(m.pos,1-v.w),n(v.palm.pos,v.w)),R:ur(m.R,v.palm.R,v.w)}:m,measure:h,pole:g}},A=new WeakMap,j=(e,n,r)=>{A.has(i.baked)||A.set(i.baked,new Map);let o=A.get(i.baked),s=o.get(e);if(s&&s.map===i.timeMap)return s.off;p.add(e);let c;try{c=d(n,a(Math.max(Ra(i,n)[0],Math.round(Ha(i,e).t[0]))).s)}finally{p.delete(e)}let l=At(c,r).R,u=Math.acos(Math.min(1,Math.max(-1,(l[0][0]+l[1][1]+l[2][2]-1)/2)))*180/Math.PI,f=Math.hypot(...t(r.pos,c.pos))>Ia.m||u>Ia.deg;return o.set(e,{map:i.timeMap,off:f}),f},M=(e,t,n)=>{let r=Ha(i,e),[a,o]=Ra(i,t),s=Math.max(a,Math.round(r.t[0]));if(!(n<s&&n>=s-12)||s-a>=8||s>o)return null;let c=V(Ua(r,s),za(v(e)));if(!j(e,t,c))return null;let l=La(1-(s-n)/12);return l>.001?{w:l,palm:c,measure:e=>d(t,e),pole:C(e,t).get(s)}:null},N=(e,t,n)=>{let r=Ha(i,e),a=r.t[r.t.length-1],o=Ra(i,t)[1];return n>o&&n-a<8?{curve:r,release:o,w:La(1-(n-a)/8)}:null},P=(e,t,n)=>{let r=N(e,t,n);return r&&{w:r.w,palm:V(Ua(r.curve,r.release),za(v(e))),measure:e=>d(t,e),pole:C(e,t).get(r.release)}};return{lead:(e,t,n,r)=>{for(let[a,o]of u){let s=c.props?.[o.prop]?.hand===e?k(a,o,t)??M(a,o,t)??P(a,o,t):null;if(s)return s;let l=c.props?.[o.prop]?.hand===e?x(a,o,t):null;if(l)return{...l,pole:C(a,o).get(t)};let u=e===`l`&&n&&!w?N(a,o,t):null,d=e===`l`&&n&&!w?Wa(Ha(i,a),Ra(i,o),t)||(u?.w??0):0,f=d>0?T(a,n,r):null,p=f&&O(a,o).get(u?u.release:t),m=p?.roll??f?.softmin();if(f)return ir(f,d,m,p?.gate??rr(f,m),p?.pole??f.arm(m).best.pole)}return null},attach:v,attaching:e=>p.has(e),plainFrame:a,carryOn:y,strainOn:b,span:e=>Ra(i,c.objects[e]),firstKey:e=>{let t=Math.min(...c.objects[e].keys.map(e=>e.f));return i.timeMap?Math.round(i.timeMap(t)):t},grips:()=>u.map(([e,t])=>{let n=_(e);return n&&{id:e,hand:c.props[t.prop].hand,name:n.name,cost:n.cost,today:n.today}}).filter(Boolean)}}let qa=.5,Ja=6*Math.PI,Ya=[0,-1,0],Xa=[[1,0,0],[-1,0,0],[0,1,0],[0,-1,0],[0,0,1],[0,0,-1]],Za=e=>e*180/Math.PI;function Qa(t){let r=t.filter(e=>e.half[0]*e.half[1]*e.half[2]>1e-12);if(!r.length)return null;let i=0,a=[0,0,0],o=[];for(let t of r){let r=t.half[0]*t.half[1]*t.half[2];i+=r,a=e(a,n(e(t.pos,p(t.R,[0,t.half[1],0])),r));for(let n of[-1,1])for(let r of[0,2])for(let i of[-1,1])o.push(e(t.pos,p(t.R,[n*t.half[0],r*t.half[1],i*t.half[2]])))}return{com:n(a,1/i),lo:[0,1,2].map(e=>Math.min(...o.map(t=>t[e]))),hi:[0,1,2].map(e=>Math.max(...o.map(t=>t[e])))}}let $a=e=>[0,1,2,3,4,5,6,7].map(t=>[t&1?e.hi[0]:e.lo[0],t&2?e.hi[1]:e.lo[1],t&4?e.hi[2]:e.lo[2]]),eo=(t,n)=>e(t.pos,p(t.R,n)),to=(e,t)=>Math.min(...$a(e).map(e=>eo(t,e)[1])),no=(e,t,n)=>({pos:[t.pos[0],t.pos[1]+n-to(e,t),t.pos[2]],R:t.R}),ro=(n,r,i)=>({pos:e(r,p(i,t(n.pos,r))),R:f(i,n.R)}),io=e=>Xa.reduce((t,n,i)=>r(p(e,n),Ya)>r(p(e,Xa[t]),Ya)?i:t,0),ao=(e,t)=>{let n=t>>1;return Xa[t][n]>0?e.hi[n]:e.lo[n]},oo=(e,t)=>Math.abs(ao(e,t)-e.com[t>>1]);function so(e,t,r){let i=f(t,[[e[0][0],e[1][0],e[2][0]],[e[0][1],e[1][1],e[2][1]],[e[0][2],e[1][2],e[2][2]]]),o=Math.acos(c((i[0][0]+i[1][1]+i[2][2]-1)/2,-1,1));if(o*r<1)return[0,0,0];let l=s([i[2][1]-i[1][2],i[0][2]-i[2][0],i[1][0]-i[0][1]]),u=Math.min(Ja,o*r);return a(l)>0?n(l,u):[0,0,0]}function co(n,r,i,o,s){let c=a(i),l=eo(r,n.com),u=a=>{let o=c>0?f(y(i,Za(c*a)),r.R):r.R;return{pos:t(e(l,[0,-.5*mo*a*a,0]),p(o,n.com)),R:o}},d=Math.max(0,to(n,r)-o);if(c===0)return{tl:Math.sqrt(2*d/mo),at:u};let m=1/(s*8),h=Math.sqrt(2*(d+a(t(n.hi,n.lo)))/mo)+m,g=0,_=m;for(;_<h&&to(n,u(_))>o;)g=_,_+=m;for(let e=0;e<24&&_-g>1e-7;e++){let e=(g+_)/2;to(n,u(e))>o?g=e:_=e}return{tl:_,at:u}}let lo=(e,t)=>.12+.9*Math.sqrt(Math.max(e,1e-4)/mo)*Math.sqrt(t/90);function uo(o,l,u,d,f=[0,0,0]){let m=[],h=no(o,l,u),g=0,_=(e,t,n)=>{let r=eo(h,o.com)[1]-u,i=lo(r,n);m.push({from:h,pivot:e,axis:t,angle:n,time:i}),h=no(o,ro(h,e,y(t,n)),u),g+=i},v=io(h.R),b=e=>Za(Math.acos(c(r(p(h.R,Xa[e]),Ya),-1,1))),x=b(v);if(x>qa){let t=[0,1,2,3,4,5].filter(e=>e>>1!=v>>1).reduce((e,t)=>b(t)<b(e)?t:e,v===0||v===1?2:0);x>Za(Math.atan2(oo(o,t),oo(o,v)))&&(v=t);let r=$a(o).map(e=>eo(h,e)).filter(e=>e[1]<=u+1e-4),a=p(h.R,Xa[v]);_(n(r.reduce(e,[0,0,0]),1/r.length),s(i(a,Ya)),b(v))}let S=x>qa||a(f)>0?d:0;for(let a=0;a<3;a++){let a=eo(h,o.com),c=a[1]-u,l=null;for(let e=0;e<6;e++){if(e>>1==v>>1)continue;let n=p(h.R,Xa[e]),i=eo(h,Xa[e].map((t,n)=>t?ao(o,e):n===v>>1?ao(o,v):o.com[n])),s=-r(t(a,i),n),u=oo(o,e);if(!(s<0||u<c*.8))continue;let d=s<0||Za(Math.atan2(s,c))<15?0:Math.hypot(c,s)-c,m=r(n,f);(!l||d<l.cost-1e-9||Math.abs(d-l.cost)<=1e-9&&m>l.side)&&(l={j:e,out:n,edge:i,cost:d,side:m})}if(!l||l.cost>S)break;S-=l.cost;let d=$a(o).map(e=>eo(h,e)).filter(e=>e[1]<=u+1e-4&&r(t(e,l.edge),l.out)>=-1e-4);_(d.length?n(d.reduce(e,[0,0,0]),1/d.length):[l.edge[0],u,l.edge[2]],s(i(l.out,Ya)),90),v=l.j}return{steps:m,rest:h,time:g}}function fo(e,t){let n=t;for(let t of e.steps){if(n<t.time){let e=n/t.time;return ro(t.from,t.pivot,y(t.axis,t.angle*e*e))}n-=t.time}return e.rest}let po=(e,t)=>a(t)**2*((e.hi[0]-e.lo[0])**2+(e.hi[1]-e.lo[1])**2+(e.hi[2]-e.lo[2])**2)/(24*mo),mo=9.8,ho=[`prop`,`follow`,`pivot`,`axis`,`channel`],go=e=>!!e&&typeof e==`object`&&!Array.isArray(e)&&ho.every(t=>e[t]===void 0)&&(e.keys!==void 0||e.fall!==void 0),_o=e=>e?.fall===void 0?[]:Array.isArray(e.fall)?e.fall:[e.fall],vo=(e,t)=>e?.objects?.[t]??Nt(e)[t]??null,yo=(e,t)=>Object.keys(e?.objects??{}).filter(n=>n===t||e.objects[n].ancestors?.includes(t));function bo(t){let n=[];for(let r of[-1,1])for(let i of[0,2])for(let a of[-1,1])n.push(e(t.pos,p(t.R,[r*t.half[0],i*t.half[1],a*t.half[2]])));return n}let xo=e=>Math.max(...bo(e).map(e=>e[1])),So=(e,n)=>{let r=p(m(e.R),t([n[0],e.pos[1]+e.half[1],n[2]],e.pos));return Math.abs(r[0])<=e.half[0]&&Math.abs(r[2])<=e.half[2]};function Co(e,t){let n=new Set;for(let[r,i]of Object.entries(t?.objects??{}))[r,...i.ancestors??[]].some(t=>Dt(e.objects?.[t]))&&n.add(r);return n}function wo(e,t,n){let r=vo(e,t);return yo(e,t).map(t=>({id:t,...V(n,At(r,e.objects[t])),half:e.objects[t].half}))}function To(t,n,r,i,a=null){let o=wo(n,r,i),s=new Set(o.map(e=>e.id)),c=Co(t,n);if(!o.length)return{support:null,top:0,h:0};let l=Math.min(...o.flatMap(e=>bo(e).map(e=>e[1]))),u=o.flatMap(bo).reduce((t,n)=>e(t,n),[0,0,0]).map(e=>e/(o.length*8)),d=(a?yo(n,a):Object.keys(n.objects)).filter(e=>!s.has(e)&&!c.has(e)),f=null;for(let e of d){let t=n.objects[e],r=xo(t);So(t,u)&&r<=l+.005&&(!f||r>f.top)&&(f={support:e,top:r})}if(!f&&a)for(let e of d){let t=xo(n.objects[e]);t<=l+.005&&(!f||t>f.top)&&(f={support:e,top:t})}return f??={support:null,top:0},{...f,h:Math.max(0,l-f.top)}}let Eo=new WeakMap;function Do(e,t){Eo.has(e)||Eo.set(e,new Map);let n=Eo.get(e);return n.has(t)||n.set(t,Qa(wo(e,t,{pos:[0,0,0],R:d()}))),n.get(t)}function Oo(e,t,n,r,i,a,o,s=null){let c=To(e,t,n,r,a.onto??null),l=a.tumble===!1?null:Do(t,n);if(l){let e=s?so(s.R,r.R,o):[0,0,0],t=co(l,r,e,c.top,o),n=uo(l,t.at(t.tl),c.top,.3*c.h+po(l,e),[-e[2],0,e[0]]);if(n.steps.length||e.some(e=>e))return{t0:i,land:i+t.tl*o,end:i+(t.tl+n.time)*o,h:c.h,support:c.support,top:c.top,at:e=>{let a=(e-i)/o;return a<=0?r:a<=t.tl?t.at(a):fo(n,a-t.tl)},rest:n.rest}}let u=c.h,d=Math.sqrt(2*u/mo),f=Math.min(.6,Math.max(0,a.bounce??.25)),p=Math.min(f*mo*d,Math.sqrt(2*mo*.03)),m=2*p/mo,h={pos:[r.pos[0],r.pos[1]-u,r.pos[2]],R:r.R};return{t0:i,land:i+d*o,end:i+(d+m)*o,h:u,support:c.support,top:c.top,at:e=>{let t=(e-i)/o;if(t<=0)return r;let n=t<=d?-.5*mo*t*t:t<=d+m?-u+p*(t-d)-.5*mo*(t-d)**2:-u;return{pos:[r.pos[0],r.pos[1]+Math.min(0,n),r.pos[2]],R:r.R}},rest:h}}function ko(e,t,n=-1/0,r=1/0){let i=B(e)?[]:[...e.keys??[]].sort((e,t)=>e.f-t.f),a=_o(e).map(e=>({...e,t:t(e.at)})).filter(e=>e.t>=n&&e.t<r).sort((e,t)=>e.t-t.t),o=[],s=[],c=0;for(let e of i){for(;c<a.length&&a[c].t<t(e.f);)s.length&&o.push({run:s}),s=[],o.push({fall:a[c++]});s.push(e)}for(s.length&&o.push({run:s});c<a.length;)o.push({fall:a[c++]});return o}function Ao(e,t,n,r,i=!0){let a=n;for(let n of e)if(n.run){let{t:e}=n.curve;if(t<e[0])return a;if(t<=e[e.length-1])return Ua(n.curve,t);a=Ua(n.curve,e[e.length-1])}else{if(t<n.fall.t)return a;let e=i?n.plan??=r(a,n.fall):r(a,n.fall);if(t<e.end)return e.at(t);a=e.rest}return a}let jo=new WeakMap;function Mo(e,t,n,r,i){jo.has(e.scene)||jo.set(e.scene,new Map);let a=jo.get(e.scene),o=`${t}|${i}|${e.grab}|${e.release}`,s=a.get(o);if(s&&s.map===r&&s.o===n&&s.spec===e.spec)return s.events;let c=vo(e.scene,t),l=r??(e=>e),[u,d]=i===`before`?[-1/0,e.grab]:i===`after`?[e.release,1/0]:[-1/0,1/0],f=ko(n,l,u,d);for(let e of f)e.run&&(e.curve=Ba({keys:e.run},l,()=>S(c.R),null));return a.set(o,{map:r,o:n,spec:e.spec,events:f}),f}let No=(e,t)=>(n,r)=>Oo(e.spec,e.scene,t,n,r.t,r,e.spec.fps??30);function Po(e,t,n){let r=vo(e.scene,t),i=e.spec.objects?.[t];return!r||!i?null:Ao(Mo(e,t,i,e.timeMap,`all`),n,{pos:r.pos,R:r.R},No(e,t))}function Fo(e,t,n,r,i){let a=vo(e.scene,t);return!a||!_o(n).length?a&&{pos:a.pos,R:a.R}:Ao(Mo({...e,grab:i},t,n,e.timeMap,`before`),r,{pos:a.pos,R:a.R},No(e,t))}function Io(e,t,n,r,i,a,o=null){let s=_o(n).length?Mo({...e,release:i},t,n,e.timeMap,`after`):[];return s.length?Ao(s,r,a,(n,r)=>Oo(e.spec,e.scene,t,n,r.t,r,e.spec.fps??30,r.t<=i+1?o:null),!1):null}function Lo(e,t,n){let r=e.timeMap??(e=>e);return _o(t).some(e=>r(e.at)>=n)}let Ro=180/Math.PI,zo=[0,1,0],Bo=(e,t,n)=>[[e[0],t[0],n[0]],[e[1],t[1],n[1]],[e[2],t[2],n[2]]],Vo=(e,i)=>t(e,n(i,r(e,i)));function Ho(e,t,n){let r=null;for(let i of e.fits??[]){let e=t[`w_${i.anchor}_${i.side}`]??0;i.side===n&&i.orient!==!1&&e>1e-4&&(!r||e>r.w)&&(r={fit:i,w:e})}return r&&{...r,w:r.w*Math.min(1,Math.max(0,t[`armw_${n}`]??0))}}function Uo(t,r,i,a,o){if(o.prop){let s=r.props?.[o.prop];if(!s)return null;let c=L(t,i,a),l=n(s.origin.map(e=>i.P[t.index[e]]).reduce(e,[0,0,0]),1/s.origin.length),[u,d,f]=o.point===`origin`?[0,0,0]:s.points?.[o.point]??[0,0,0];return e(l,e(n(c.d,u),e(n(c.l,d),n(c.n,f))))}let s=o.joints??[`${a}HandIndex2`,`${a}HandMiddle2`];return n(s.map(e=>i.P[t.index[e]]).reduce(e,[0,0,0]),1/s.length)}function Wo(e,t){let{spec:n}=e,r=e.scene?.objects?.[t];for(let e of[t,...r?.ancestors??[]]){let t=n.objects?.[e];if(t?.prop)return{key:e,entry:t,side:n.props?.[t.prop]?.hand??null}}return null}function Go(e,t,n,r){let i=e.spec.objects?.[t],a=e.scene?.objects?.[t]?.half;if(!e.hold?.span||!i?.prop||e.spec.props?.[i.prop]?.hand!==n||!i.keys?.length||i.grab===void 0||i.at!==void 0||i.along!==void 0||a&&Jo(a)>=0)return null;let[o]=e.hold.span(t);return o>=1&&r<=Math.max(o,e.hold.firstKey(t)-1)?Math.min(r,o-1):null}function Ko(e,t,n,r,i,a){let o=e.scene?.objects??{},s=i?.kind===`object`?Mi(e.scene,i.object):Object.keys(o),c=null;for(let i of s){let s=o[i]?.half;if(!s)continue;let l=Go(e,Wo(e,i)?.key,n,t),u=e.objectPose?.(i,l??t,l===null?a:null)??o[i];if(!u?.R)continue;let d={pos:u.pos,R:u.R,half:s},f=H(r,d);(!c||f<c.d)&&(c={box:d,d:f,id:i})}let l=c&&Wo(e,c.id);return!c||l?.side===n&&Go(e,l.key,n,t)===null?null:i?.kind===`object`||c.d<=.06?{...c.box,id:c.id}:null}let qo=[0,1,2];function Jo(e){let t=qo.reduce((t,n)=>e[n]>e[t]?n:t,0);return qo.filter(e=>e!==t).every(t=>e[t]<.045)?t:-1}function Yo(t,o,c,l,u){let d=t===`Right`,f=p(_(l??0),[d?1:-1,0,0]),m=Math.abs(o[1]),h=Vo(e(n(zo,1-m),n(f,m)),o),g=s(a(h)>.001?h:Vo(f,o)),v=u?Vo(u,o):null;if(!v||a(v)<=.3)return Bo(o,g,i(o,g));let y=e=>Math.acos(Math.max(-1,Math.min(1,r(e,c))))*Ro-(r(e,g)>0?30:0),b=s(v),x=y(b)<=y(n(b,-1))?b:n(b,-1);return Bo(o,x,i(o,x))}function Xo(e,t,n){let a=[e[0][0],e[1][0],e[2][0]],o=[e[0][1],e[1][1],e[2][1]],s=Math.atan2(r(i(t,o),a),r(t,o))*Ro,[c,l]=Ke.twist,u=Math.min(l,Math.max(c,n+s))-n;if(Math.abs(u-s)<1e-6)return e;let d=p(y(a,u),t);return Bo(a,d,i(a,d))}function Zo(n,r,i,a,o,c,l,u){let d=Ho(n.spec,c,o),h=Ma(n,o,l),g=d&&d.w>=.001&&ka(n.spec,d.fit.anchor);if(h||g?Aa(n.spec,o):Math.abs(c[`wtwist_${o}`]??0)>.001||Math.abs(c[`wflex_${o}`]??0)>.001)return;if(h&&l>h.grab)return h.keyed?void 0:Fa(n,r,i,a,o,h);if(!d||d.w<.001)return;if(g)return Na(n,r,i,a,o,c,u,d,e=>Uo(r,n.spec,e,a,d.fit.effector??{}),null,l);if(Object.keys(n.spec.objects??{}).some(e=>n.spec.objects[e]?.prop&&n.objectHand?.(e,l)===o&&Go(n,e,o,l)===null))return;let _={s:i,diag:u,c},v=n.spec.anchors?.[d.fit.anchor];if(v?.kind===`prop`)return;let y=e(ma(n,d.fit.anchor,i,u,c,o),d.fit.offset??[0,0,0]),b=Ko(n,l,o,y,v,_),x=b&&Uo(r,n.spec,i,a,d.fit.effector??{});if(!x)return;let S=e=>({pos:Uo(r,n.spec,e,a,d.fit.effector??{}),R:(({d:e,l:t,n})=>Bo(e,t,n))(L(r,e,a))}),C=r.index,w=C[`${a}Arm`],T=C[`${a}ForeArm`],E=C[`${a}Hand`],D=Jo(b.half),O=D>=0?p(b.R,qo.map(e=>+(e===D))):null;if(O&&Math.abs(O[1])>.8&&!Wo(n,b.id))return Na(n,r,i,a,o,c,u,d,e=>Uo(r,n.spec,e,a,d.fit.effector??{}),{w:{p:y,axis:O},type:`power`},l);let k=L(r,i,a),A=s(Vo(k.l,k.d)),j=s(t(i.P[E],i.P[T])),M=f(i.R[T],f(m(r.restWorldRot[T]),r.restWorldRot[E])),N=Qe(M,i.R[E],j,p(f(M,m(i.R[E])),k.l)).twist,{goal:P,plane:ee,wristAt:te}=at(r,i,a,{pos:x,R:Xo(Yo(a,k.d,A,c.yaw,O),A,N)},S(i),d.w,`palm`),ne={twist:0,flex:0,dev:0};for(let e=0;e<2;e++)ae(r,i,w,T,E,te(e?i.R[E]:P),ee,qe,`elbow`),ne=rt(r,i,a,E,T,P);u[`grip_${o}`]={w:d.w,...ne}}let Qo={period:3.8,deg:.8},$o={yaw:.9,pitch:.6},es={period:5.6,m:.012,list:1.4},ts=.5,ns=2*Math.PI,rs=e=>e*e*(3-2*e),is=(e,t)=>Array.isArray(e)?e.some((e,n)=>Math.abs(e-t[n])>1e-4):e&&typeof e==`object`?Object.keys({...e,...t}).some(n=>Math.abs((e[n]??0)-(t?.[n]??0))>.001):Math.abs((e??0)-(t??0))>.01;function as(e,t){let n=2166136261;for(let t=0;t<e.length;t++)n=Math.imul(n^e.charCodeAt(t),16777619);let r=n>>>0;return Array.from({length:t},()=>{r=r+1831565813>>>0;let e=Math.imul(r^r>>>15,r|1);return e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296*ns})}function os(e,t,n,r){let i=Array(n).fill(!1),a=Object.keys(e);i[0]=!0;for(let t=1;t<n;t++)a.some(n=>is(e[n][t],e[n][t-1]))&&(i[t]=i[t-1]=!0);let o=a.filter(e=>/^(armw_[lr]|w_.+_[lr])$/.test(e));for(let t=0;t<n;t++)o.some(n=>e[n][t]>.001)&&(i[t]=!0);for(let e of Object.values(t.objects??{}))if(Number.isFinite(e?.grab))for(let t=Math.max(0,e.grab);t<Math.min(n,Number.isFinite(e.release)?e.release:n);t++)i[t]=!0;for(let e of t.goals??[]){let t=Array.isArray(e?.at)?e.at:null;if(!(e?.still===void 0||!t?.length))for(let e=Math.max(0,Math.round(t[0]));e<=Math.min(n-1,Math.round(t[t.length-1]));e++)i[e]=!0}let s=Math.max(1,Math.round(ts*r)),c=Array(n).fill(1/0);for(let e=0,t=-1/0;e<n;e++)i[e]&&(t=e),c[e]=e-t;for(let e=n-1,t=1/0;e>=0;e--)i[e]&&(t=e),c[e]=Math.min(c[e],t-e);return c.map(e=>rs(Math.min(1,e/s)))}function ss(e,t,n,r){let i={},a=Math.max(1,Math.round(ts*r));for(let r of[`l`,`r`]){let o=Object.keys(e).filter(e=>e===`armw_${r}`||RegExp(`^w_.+_${r}$`).test(e)),s=Array.from({length:n},(t,n)=>o.some(t=>e[t][n]>.001));for(let e of Object.values(t.objects??{}))if(!(!Number.isFinite(e?.grab)||t.props?.[e.prop]?.hand!==r))for(let t=Math.max(0,e.grab);t<Math.min(n,Number.isFinite(e.release)?e.release:n);t++)s[t]=!0;if(!s.some(Boolean)){i[r]=null;continue}let c=Array(n).fill(1/0);for(let e=0,t=-1/0;e<n;e++)s[e]&&(t=e),c[e]=e-t;for(let e=n-1,t=1/0;e>=0;e--)s[e]&&(t=e),c[e]=Math.min(c[e],t-e);i[r]=c.map(e=>1-rs(Math.min(1,e/a)))}return i}function cs(e,{spec:t,sk:n,frameCount:r}){if(t.idle===!1||!e.root||!e.foot_l||!e.foot_r)return null;let i=t.fps??30,a=os(e,t,r,i);if(!a.some(e=>e>0))return null;let o=n.restWorldPos,s=o[n.index.Hips][1],c=o[n.index.LeftFoot][1],[l,u,d,f,p]=as(JSON.stringify([e.root[0].map(e=>e.toFixed(3)),(e.yaw?.[0]??0).toFixed(1)]),5),m=Array(r).fill(null);for(let t=0;t<r;t++){if(!(a[t]>0))continue;let n=t/i,r=a[t],o=m[t]={spine_pitch:-r*Qo.deg*Math.sin(ns*n/Qo.period+l),head_yaw:r*$o.yaw*(.6*Math.sin(ns*n/7.3+u)+.4*Math.sin(ns*n/11.9+p)),head_pitch:r*$o.pitch*Math.sin(ns*n/9.1+d)};if(![`l`,`r`].every(n=>e[`foot_${n}`][t][1]<c+.03&&Math.abs(e[`fpitch_${n}`]?.[t]??0)<2)||e.root[t][1]<s-.15)continue;let h=r*Math.sin(ns*n/es.period+f),g=(e.yaw?.[t]??0)*Math.PI/180;o.root=[Math.cos(g)*es.m*h,0,-Math.sin(g)*es.m*h],o.roll=es.list*h,o.spine_roll=-es.list*h}return m}function ls(e,t,n){let r=t?.[n];if(!r)return e;let i={...e};for(let[t,n]of Object.entries(r))i[t]=Array.isArray(n)?Array.isArray(e[t])?e[t].map((e,t)=>e+n[t]):e[t]:(Number(e[t])||0)+n;return i}let us=(e,t,n)=>Math.min(n,Math.max(t,e));function ds(e){let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);let n=t>>>0;return()=>{n=n+1831565813>>>0;let e=Math.imul(n^n>>>15,n|1);return e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296*2-1}}let fs={noise:.02,side:.03,first:.22,second:.08,last:.22,beforeLast:.08,turn:0},ps={noise:.025,side:.012,stride:.035,second:.05,beforeLast:.06,turn:.06},ms={noise:.1,first:.1,last:.25};function hs(e,{s0:t,turn:n,seed:r}){let i=e.steps,a=us(e.vary??1,0,2),o=ds(r),s=Array.from({length:i},()=>({time:o(),length:o(),lift:o(),arm:o()})),c=o()<0?1:-1,l=e=>e%2==0?c:-c,u=Array.from({length:Math.ceil(i/2)},()=>o()),d=e=>u[Math.floor((e-1)/2)],f=Array.from({length:i},(t,n)=>n===i-1?0:n===0?e.firstStep:e.step),p=t,m=f.map(e=>{let t=Math.abs(n(p,p+e));return p+=e,Math.min(1,t/60)}),h=i>=4,g=s.map((e,t)=>{if(i<2)return 1;let n=(t===0||t===i-1?.5:1)*(fs.noise*e.time+fs.side*l(t))+fs.turn*m[t];return t===0&&(n+=fs.first*(1-m[0])),t===1&&h&&(n+=fs.second),t===i-1&&(n+=fs.last),t===i-2&&h&&(n+=fs.beforeLast),1+a*n}),_=g.reduce((e,t)=>e+t,0),v=i*e.period,y=[];for(let e=0,t=0;e<i;e++)y.push(Math.round(t)),t+=v*g[e]/_;let b=e.period-e.swing,x=y.map((t,n)=>{if(a===0)return e.swing;let r=(n<i-1?y[n+1]:v)-t;return Math.min(r-2,Math.max(e.swing,r-b),n===i-1?e.swing+3:1/0)}),S=f.map((e,t)=>t>0&&t<i-1),C=s.map((e,t)=>{if(!S[t])return 1;let n=ps.noise*(.7*e.length+.3*e.time)+ps.side*l(t)+ps.stride*d(t)-ps.turn*m[t];return t===1&&h&&(n-=ps.second),t===i-2&&h&&(n-=ps.beforeLast),1+a*n}),w=S.filter(Boolean).length,T=C.reduce((e,t,n)=>e+(S[n]?t:0),0);return{lift:y,air:x,inc:f.map((e,t)=>S[t]&&a>0?e*C[t]*w/T:e),height:s.map((t,n)=>e.lift*(1+a*(ms.noise*t.lift-(n===0?ms.first:0)-(n===i-1&&i>1?ms.last:0)))),arm:s.map(e=>1+a*.1*e.arm)}}let gs={strike:4,load:4,mid:3,toeOff:5},_s={strike:2,load:14,mid:7,toeOff:48,pow:1.8},vs=[1,2.2],ys=e=>{let t=Math.min(1,Math.max(0,((e??vs[1])-vs[0])/(vs[1]-vs[0])));return t*t*(3-2*t)},bs=.004,xs=[.25,.5],Ss=e=>e*e*e*(e*(6*e-15)+10),Cs=new WeakSet,ws=(n,r,i,a)=>e(n,p(_(r),p(g(i),p(_(-r),t(a,n)))));function Ts(e,n,r){let i=e.index,o=e.restWorldPos,s=a(t(o[i.LeftLeg],o[i.LeftUpLeg])),c=a(t(o[i.LeftFoot],o[i.LeftLeg])),l=Math.min(1,Math.max(0,(13-n)/4)),u=ys(r),d=(e,t)=>e+(t-e)*u,f=d(_s.strike,18)+l*gs.strike,p=d(_s.load,22)+l*gs.load,m=d(_s.mid,7)+l*gs.mid,h=d(_s.toeOff,45)+l*gs.toeOff;return{reach:e=>Math.sqrt(s*s+c*c+2*s*c*Math.cos(e*Math.PI/180)),hipOff:{l:t(o[i.LeftUpLeg],o[i.Hips]),r:t(o[i.RightUpLeg],o[i.Hips])},strike:f,load:p,mid:m,trail:e=>m+(h-m)*Math.min(1,Math.max(0,e))**d(_s.pow,1)}}let Es=(t,n,r)=>e(t.root[n],p(_(t.yaw?.[n]??0),p(v(t.roll?.[n]??0),r)));function Ds(e,t,{f0:n,end:r,period:i,pace:a,ground:o,start:s}){let c=e.index,l=e.restWorldPos,{reach:u,hipOff:d,strike:f,load:m,mid:h,trail:g}=Ts(e,i,a),y=Math.max(2,Math.round(.35*i)),b=(e,t)=>{if(t<e.a)return f;if(e.heel!==void 0&&t>=e.heel)return g((t-e.heel)/Math.max(1,e.b-e.heel));let n=(t-e.a)/i/.4;return e.strike&&n<1?(n<.5?f:h)+(m-(n<.5?f:h))*Math.sin(Math.PI*n):h},x=Ai(t,r+1),S=l[c.Hips][1]-.008,C=x.root.map(e=>[e[0],e[2]]);for(let e=0;e<2;e++)C=C.map((e,t)=>{if(t<=n||t>=r)return e;let i=0,a=0,o=0;for(let e=-6;e<=6;e++){let s=Math.min(r,Math.max(n,t+e)),c=Math.exp(-(e*e)/8);i+=c*C[s][0],a+=c*C[s][1],o+=c}let s=Math.min(1,(t-n)/8,(r-t)/8),c=s*s*(3-2*s);return[e[0]+(i/o-e[0])*c,e[1]+(a/o-e[1])*c]});let w=e=>{let t=[C[e][0],x.root[e][1],C[e][1]],i=x.yaw?.[e]??0,a=x.roll?.[e]??0,s=[];for(let n of[`l`,`r`]){let r=o[n].find(t=>e>=t.a-(t.strike?y:0)&&e<=t.b);if(!r||r.free!==void 0&&e>=r.free)continue;let c=x[`foot_${n}`][e],l=p(_(i),p(v(a),d[n])),f=u(b(r,e)),m=Math.hypot(t[0]+l[0]-c[0],t[2]+l[2]-c[2]);m<f&&s.push(c[1]+Math.sqrt(f*f-m*m)-l[1])}if(!s.length)return S;let c=Math.min(...s),l=Math.min(S,c-bs*Math.log(s.reduce((e,t)=>e+Math.exp(-(t-c)/bs),0)))-.001,f=Math.min(1,(e-n)/8,(r-e)/8),m=f*f*(3-2*f);return t[1]+(l-t[1])*m};for(let e of[`l`,`r`])for(let t of o[e]){if(t.heel===void 0||!t.flat)continue;let e=p(_(t.yw),[0,0,1]),r=Math.max(n+1,t.a);for(;r<t.heel&&(C[r][0]-t.flat[0])*e[0]+(C[r][1]-t.flat[2])*e[2]<0;)r++;t.free=r}let T=[];for(let e=n;e<=r;e++)T[e]=w(e);let E=Math.max(2,Math.round(.25*i)),D=(e,t)=>{let n=e;for(let r=e;r<=t;r++)T[r]<T[n]&&(n=r);return n},O=[...new Set([`l`,`r`].flatMap(e=>o[e].filter(e=>e.strike&&e.a>n+2&&e.a<r-2).map(e=>e.a)))].sort((e,t)=>e-t),k=[{f:n,y:T[n]}];O.forEach((e,t)=>{let n=D(Math.max(k.at(-1).f+2,e-2),Math.min(r-2,e+E));if(t>0){let e=k.at(-1),t={f:n,y:T[n]},r=t.f-e.f,i=null;for(let n=Math.ceil(e.f+xs[0]*r);n<=Math.floor(e.f+xs[1]*r);n++){let r=T[n];for(let t=e.f+1;t<n;t++){let i=Ss((t-e.f)/(n-e.f));i>1e-6&&(r=Math.min(r,e.y+(T[t]-e.y)/i))}for(let e=n+1;e<t.f;e++){let i=Ss((e-n)/(t.f-n));i<1-1e-6&&(r=Math.min(r,(T[e]-t.y*i)/(1-i)))}(!i||r>i.y)&&(i={f:n,y:r})}i&&i.y>Math.max(e.y,t.y)&&k.push(i)}n>k.at(-1).f&&k.push({f:n,y:T[n]})}),k.push({f:r,y:T[r]});for(let e=1;e+1<k.length;e++){let t=k[e],n=Math.min(...[k[e-1],k[e+1]].map(e=>e.y+.008*(t.f-e.f)**2/2));t.y>Math.max(k[e-1].y,k[e+1].y)&&(t.y=Math.min(t.y,n))}let A=[];for(let e=0;e<30;e++){let e=0,t=ks(k.map(e=>e.f),k.map(e=>e.y),0,0);for(let i=0;i+1<k.length;i++){let a=k[i],o=k[i+1],s=0;for(let e=a.f;e<=o.f;e++)A[e]=t(e),s=Math.max(s,A[e]-T[e]);if(s>3e-4){let t=a.y>o.y&&i>0||o.f===r?a:o;t.f!==n&&t.f!==r&&(t.y-=s,e=Math.max(e,s))}}if(!e)break}for(let e=n;e<=r;e++)A[e]=Math.min(A[e],T[e]);let j=t.filter(e=>/ step \d+$/.test(e.src??``)).sort((e,t)=>e.f-t.f),M=0,N=s;for(let e=n+1;e<r;e++){for(;M<j.length&&j[M].f<=e;)N=j[M++].src;t.push({f:e,set:{root:[C[e][0],A[e],C[e][1]]},src:N})}}function Os(r,i,{end:o,period:s,pace:c,ground:l}){let{reach:u,hipOff:d,trail:f}=Ts(r,s,c),p=Ai(i,o+1),m=new Map(i.map(e=>[e.f,e.src]));for(let r of[`l`,`r`])for(let s of l[r]){if(s.free===void 0||!Number.isFinite(s.b)||s.b>o)continue;let c=[],l=[],h=0;for(let e=s.free;e<=s.b;e++){let n=Es(p,e,d[r]),i=u(f((e-s.heel)/Math.max(1,s.b-s.heel))),o=e=>a(t(n,ws(s.ball,s.yw,e,s.flat)))-i,m=h,g=50;if(o(m)<=0)g=m;else if(o(g)<=0)for(let e=0;e<24;e++){let e=(m+g)/2;o(e)>0?m=e:g=e}h=g,c.push(g),l.push({f:e,hip:n,want:i})}let g=c.map((e,t)=>Math.max(...c.slice(t).map((e,t)=>e-t*15)));for(let e=0;e<2;e++)g=g.map((e,t)=>Math.max(c[t],((g[t-1]??0)+e+(g[t+1]??e))/3));l.forEach(({f:o,hip:c,want:l},u)=>{let d=ws(s.ball,s.yw,g[u],s.flat),f=a(t(c,d))-l;f>0&&(d=e(d,n(t(c,d),f/a(t(c,d))))),i.push({f:o,set:{[`foot_${r}`]:d,[`fpitch_${r}`]:g[u],[`fyaw_${r}`]:s.yw},src:m.get(o)})})}}function ks(e,t,n,r){let i=e.length-1,a=e.slice(1).map((t,n)=>t-e[n]),o=[],s=[],c=[],l=[];for(let e=0;e<=i;e++)e===0?(o[e]=0,s[e]=2*a[0],c[e]=a[0],l[e]=6*((t[1]-t[0])/a[0]-n)):e===i?(o[e]=a[i-1],s[e]=2*a[i-1],c[e]=0,l[e]=6*(r-(t[i]-t[i-1])/a[i-1])):(o[e]=a[e-1],s[e]=2*(a[e-1]+a[e]),c[e]=a[e],l[e]=6*((t[e+1]-t[e])/a[e]-(t[e]-t[e-1])/a[e-1]));for(let e=1;e<=i;e++){let t=o[e]/s[e-1];s[e]-=t*c[e-1],l[e]-=t*l[e-1]}let u=[];u[i]=l[i]/s[i];for(let e=i-1;e>=0;e--)u[e]=(l[e]-c[e]*u[e+1])/s[e];return n=>{let r=0;for(;r<i-1&&n>e[r+1];)r++;let o=n-e[r],s=a[r],c=(e[r+1]-n)/s,l=o/s;return c*t[r]+l*t[r+1]+((c**3-c)*u[r]+(l**3-l)*u[r+1])*s*s/6}}let As=e=>e*180/Math.PI,js=e=>{let t=Math.min(1,Math.max(0,e));return t*t*(3-2*t)};function Ms(i,o,s,c,l){let u=t(o,i),d=Math.min(c+l-1e-6,Math.max(Math.abs(c-l)+1e-6,a(u))),f=n(u,1/a(u)),p=t(s,n(f,r(s,f)));p=n(p,1/(a(p)||1));let m=(c*c+d*d-l*l)/(2*c*d),h=e(i,e(n(f,c*m),n(p,c*Math.sqrt(Math.max(0,1-m*m))))),g=t(o,h);return As(Math.atan2(-r(g,s),-g[1]))}function Ns(e,{end:n,ground:r,sk:i}){let o=Ai(e,n+2),s=new Map(e.map(e=>[e.f,e.src])),c=i?.index,l=i?.restWorldPos,u=i&&a(t(l[c.LeftLeg],l[c.LeftUpLeg])),d=i&&a(t(l[c.LeftFoot],l[c.LeftLeg]));for(let a of[`l`,`r`]){let f=r[a],m=a===`l`?`Left`:`Right`,h=i&&t(l[c[`${m}UpLeg`]],l[c.Hips]),v=i&&t(l[c[`${m}ToeBase`]],l[c[`${m}Foot`]]),y=i&&l[c[`${m}ToeBase`]][1],b=i&&[0,.005-l[c[`${m}Foot`]][1],-.045];for(let r=0;r+1<f.length;r++){let c=f[r],l=f[r+1];if(!Number.isFinite(c.b)||!l.strike||l.a>n||l.a-c.b<3)continue;let m=[...new Set(e.filter(e=>!Cs.has(e)&&e.f>c.b&&e.f<l.a&&e.set[`foot_${a}`]).map(e=>e.f))].sort((e,t)=>e-t),x=[c.b,...m,l.a],S=o[`foot_${a}`],C=e=>S[Math.max(0,Math.min(S.length-1,e))],w=t(C(c.b),C(c.b-1)),T=t(C(l.a+1),C(l.a)),E=[0,1,2].map(e=>ks(x,x.map(t=>C(t)[e]),w[e],T[e])),D=e=>o[`fyaw_${a}`]?.[e]??0,O=e=>o[`fpitch_${a}`]?.[e]??0,k=(e,t)=>Ms(Es(o,e,h),t,p(_(D(e)),[0,0,1]),u,d)-3,A=l.a-c.b,j=i&&O(c.b)-k(c.b,C(c.b)),M=i&&O(l.a)-k(l.a,C(l.a));for(let t=c.b+1;t<l.a;t++){let n=E.map(e=>e(t)),r={[`foot_${a}`]:n};if(i){let e=Math.min(50,k(t,n)+j*(1-js((t-c.b)/(.35*A)))+M*(1-js((l.a-t)/(.2*A)))),i=y+.03*js(Math.min(t-c.b,l.a-t)/3),o=e=>n[1]+p(g(e),v)[1];if(o(e)<i){let t=-30,n=e;for(let e=0;e<20;e++){let e=(t+n)/2;o(e)<i?n=e:t=e}e=t}let s=O(t),u=e=>n[1]+p(g(e),b)[1],d=Math.min(.04,Math.max(u(s),.025));if(e<s&&u(e)<d){let t=e,n=s;for(let e=0;e<20;e++){let e=(t+n)/2;u(e)<d?t=e:n=e}e=n}r[`fpitch_${a}`]=e}let o={f:t,set:r,src:s.get(t)};Cs.add(o),e.push(o)}}}}let Ps=[6,4],Fs=[18,3],Is=[6,3],Ls=[.52,.64],Rs=e=>c(.66-.18*e,.2,.48),zs=e=>c(.32-.11*e,0,.45),Bs=e=>c(2.8-.45*e,1.2,3),Vs=e=>c(4.7-1.1*e,1.8,4),Hs=[.2,.6],Us=e=>p(_(e),[0,0,1]),Ws=e=>p(_(e),[1,0,0]),Gs=e=>{let t=Math.min(1,Math.max(0,e));return t*t*(3-2*t)};function Ks(e,t){let n={};for(let r of[...e].sort((e,t)=>e.f-t.f))r.f<=t&&Object.assign(n,r.set);return n}function qs(r,i,o,s=`walk`){let l=`${s} start`,u=[],d=(e,t)=>{let n={f:e,set:t,src:l};return u.push(n),n},f=Ks(i,r.f0);if(!f.foot_l||!f.foot_r||!f.root)throw Error(`MOTION_SPEC_INVALID: walk needs foot_l, foot_r and root keyed before f0`);if(r.vary!==void 0&&!(Number.isFinite(r.vary)&&r.vary>=0&&r.vary<=2))throw Error(`MOTION_SPEC_INVALID: ${s} vary must be a number from 0 (every step the same) to 2, got ${JSON.stringify(r.vary)}`);let m=o.index,h=o.restWorldPos,g=h[m.LeftFoot][1],v=h[m.Hips][1],y={l:t(h[m.LeftToeBase],h[m.LeftFoot]),r:t(h[m.RightToeBase],h[m.RightFoot])},b=[0,.005-g,-.045],x={l:-1/0,r:-1/0},S=a(t(h[m.LeftLeg],h[m.LeftUpLeg]))+a(t(h[m.LeftFoot],h[m.LeftLeg])),C=h[m.Hips][1]-h[m.LeftUpLeg][1],w=r.step??.5,T=r.halfWidth??.08,E=e=>Math.sqrt(Math.max(0,(.98*S)**2-e**2))+g+C-v,D={steps:8,step:w,period:20,swing:14,halfWidth:T,lift:.08,turnDistance:.4,firstStep:.4,pelvisHigh:Math.min(-.005,E(Math.hypot(.03,T-.035))),pelvisLow:E(Math.hypot(w/2,T)),vary:1,...r},O=D.step/D.period/(.5/20);D.armSwing=r.armSwing??c(6.4*O,4,22);let k=Rs(O),A=zs(O),j=Bs(O),M=Vs(O),N=c(.9*O,0,3),P=Fs[0]+Fs[1]*Math.min(O,2.5),ee=Is[0]+Is[1]*Math.min(O,2.5),[te,ne]=D.heading??[f.yaw??0,f.yaw??0],F=e=>te+(ne-te)*Gs(e/D.turnDistance),re=n(e(f.foot_l,f.foot_r),.5);re[1]=0;let I=[re];for(let t=0;t<4e3;t++)I.push(e(I[t],n(Us(F(t*.01)),.01)));let ie=e=>I[Math.max(0,Math.min(I.length-1,Math.round(e/.01)))],ae=(t,r)=>{let i=e(ie(t),n(Ws(F(t)),(r===`l`?1:-1)*D.halfWidth));return i[1]=g,i},oe={l:-.07,r:.07},L={foot_l:f.foot_l,foot_r:f.foot_r,fyaw_l:f.fyaw_l??te,fyaw_r:f.fyaw_r??te},se=[`root`,`yaw`,`roll`,`foot_l`,`foot_r`,`fyaw_l`,`fyaw_r`,`spine_yaw`,`spine_roll`,`spine_pitch`,`aswing_l`,`aswing_r`,`abend_l`,`abend_r`,`wflex_l`,`wflex_r`,`head_yaw`],ce=f.roll??0,le=f.spine_roll??0,ue=f.spine_pitch??0,de={l:[{a:r.f0,b:1/0,strike:!1}],r:[{a:r.f0,b:1/0,strike:!1}]};d(r.f0,Object.fromEntries(se.map(e=>[e,f[e]??L[e]??(e===`yaw`?te:0)])));let fe=oe.r,pe=null,me=hs(D,{s0:fe,turn:(e,t)=>F(t)-F(e),seed:[r.f0,D.steps,D.step,D.period,D.swing,D.firstStep,te,ne,re[0].toFixed(3),re[2].toFixed(3)].join(`|`)});for(let i=0;i<D.steps;i++){l=`${s} step ${i+1}`;let a=i%2==0?`l`:`r`,o=a===`l`?`r`:`l`,u=i===D.steps-1,m=u?fe:fe+me.inc[i],h=r.f0+16+me.lift[i],g=h+me.air[i],S=h+Math.floor(me.air[i]/2);if(i===0){let t=e(ie(oe[o]),n(Ws(te),(o===`l`?1:-1)*D.halfWidth*.75));t[1]=f.root[1],d(h-4,{root:t,yaw:te}),d(h,{arm_hang:1})}let C=c(Math.abs(m-oe[a])/1.1,.3,1.15),ne=50*(.55+.45*C)*(u?.8:1),re=L[`foot_${a}`],I=L[`fyaw_${a}`],se=e(re,p(_(I),y[a])),he=Math.max(h-Math.max(4,Math.round((i===0?.35:.3)*D.period)),x[a]+1,r.f0+1);Object.assign(de[a].at(-1),{b:h,heel:he,ball:se,yw:I,flat:re});for(let e=he;e<=h;e++){let t=ne*((e-he)/Math.max(1,h-he))**1.8;d(e,{[`foot_${a}`]:ws(se,I,t,re),[`fpitch_${a}`]:t,[`fyaw_${a}`]:I})}let ge=Math.max(1,Math.round(.22*me.air[i])),_e=ae((oe[a]+m)/2,a);_e[1]+=me.height[i];let ve=ws(se,I,Math.min(ne,50),re),ye=e(ve,n(t(_e,ve),.35));ye[1]=ve[1]+.18*C*Math.min(1,(me.air[i]/10)**2)*(.55+.44999999999999996*ys(O))*(me.height[i]/D.lift);let be=n(Ws(F(oe[o])),a===`l`?1:-1),xe=L[`foot_${o}`],Se=e=>(e[0]-xe[0])*be[0]+(e[2]-xe[2])*be[2],Ce=Se(_e)-Se(ye);Ce>0&&(ye[0]+=be[0]*Ce,ye[2]+=be[2]*Ce);let we=h+Math.max(2,Math.round(.18*me.air[i]));!u&&we<S-1&&d(we,{[`foot_${a}`]:ye,[`fpitch_${a}`]:.7*Math.min(ne,50)}),d(S,{[`foot_${a}`]:_e,[`fyaw_${a}`]:F((oe[a]+m)/2),[`fpitch_${a}`]:0});let Te=oe[o]+(Ls[0]+(Ls[1]-Ls[0])*ys(O))*(m-oe[o]),Ee=pe?pe.s+(Te-pe.s)*((S-pe.f)/(g-pe.f)):null,De=Ee===null?oe[o]+.03:Ee-.015*Math.abs(m-oe[a])/2,Oe=i===0?.015:.032,ke=e(ie(De),n(Ws(F(De)),(o===`l`?1:-1)*Oe));ke[1]=v+D.pelvisHigh;let Ae=r.pelvisLow??(me.inc[i]>w?Math.min(D.pelvisLow,E(Math.hypot(me.inc[i]/2,T))):D.pelvisLow),je=ie(Te).slice();je[1]=v+(u?D.pelvisHigh:Ae),pe={f:g,s:Te};let Me=ae(m,a),Ne=F(m),Pe=e(Me,p(_(Ne),b)),Fe=-(Ps[0]+(Ps[1]-Ps[0])*ys(O))*(u?.5:1),Ie=Math.max(2,Math.round(.2*D.period)),Le=ws(Pe,Ne,Fe,Me),Re=e(Le,n(Us(Ne),-.12*Math.abs(m-oe[a])));Re[1]+=.03,!u&&ge>1&&g-ge>S+1&&d(g-ge,{[`foot_${a}`]:Re,[`fpitch_${a}`]:.6*Fe});for(let e=0;e<=Ie;e++){let t=Fe*(1-Gs(e/Ie));d(g+e,{[`foot_${a}`]:ws(Pe,Ne,t,Me),[`fpitch_${a}`]:t,[`fyaw_${a}`]:Ne})}x[a]=g+Ie,de[a].push({a:g,b:1/0,strike:!0}),L[`foot_${a}`]=Me,L[`fyaw_${a}`]=Ne,oe[a]=m;let ze=(u?0:i<3?[0,.3,.7][i]:1)*me.arm[i],Be=a===`l`?1:-1,Ve=c(C,.4,1.1),He=u?0:i===0?.5:1,Ue=4.5*Ve*He*(o===`l`?1:-1),We=(g-S)/D.period,Ge=e=>{let t=[Math.cos(Math.PI*(e-We)),Math.cos(Math.PI*e)];return t.map(e=>e/Math.max(...t.map(Math.abs)))},Ke=Ge(-A).map(e=>-4.5*Ve*Be*ze*e),qe=Ge(k).map(e=>5.5*Ve*Be*ze*e),Je=Ge(.92).map(e=>-Math.sign(Ue)*j*Ve*He*e),Ye=Ge(We).map((e,t)=>t?.8*e:e),Xe=e=>({aswing_l:-.85*D.armSwing*Be*ze*e,aswing_r:D.armSwing*Be*ze*e,abend_l:ze*(P-Be*ee*e),abend_r:ze*(P+Be*ee*e)});d(S,{root:ke,yaw:F(De)+Ke[0],roll:ce+Ue,spine_roll:le-Ue*1.26+Je[0],spine_yaw:qe[0]-Ke[0],...Xe(Ye[0]),wflex_l:8*ze,wflex_r:8*ze}),d(g,{root:je,yaw:F(Te)+Ke[1],roll:ce,spine_roll:le+Je[1],spine_yaw:qe[1]-Ke[1],...Xe(Ye[1]),head_yaw:0});let Ze=ue+N*He,Qe=M*Ve*He;d(Math.max(r.f0+1,g-Math.round(Hs[1]*D.period)),{spine_pitch:Ze-.6*Qe}),d(Math.max(r.f0+1,g-Math.round(Hs[0]*D.period)),{spine_pitch:Ze+Qe}),fe=m}let he=r.f0+16+D.steps*D.period+18,ge=Math.max(...u.map(e=>e.f));return r.pelvisHigh===void 0&&r.pelvisLow===void 0&&(Ns(u,{end:ge,ground:de}),Ds(o,u,{f0:r.f0,end:ge,period:D.period,pace:O,ground:de,start:`${s} start`}),Os(o,u,{end:ge,period:D.period,pace:O,ground:de}),Ns(u,{end:ge,ground:de,sk:o})),l=`${s} end`,d(he,Ks(u,he)),u}function Js(e,t){let n=(e.keys??[]).map((e,t)=>e.src?e:{...e,src:`keys[${t}]`});return(e.generators??[]).forEach((e,r)=>{if(e.type!==`walk`)throw Error(`MOTION_SPEC_INVALID: generators[${r}] has unknown type "${e.type}" (only "walk")`);n=n.concat(qs(e,n,t,`generators[${r}] walk`))}),n}let Ys={yaw:.5,pitch:.2,roll:.7},Xs={yaw:4,pitch:6,roll:10},Zs=[`yaw`,`pitch`,`roll`];function Qs(e){let t=new Map;for(let n of e){let e=/ (start|step \d+)$/.exec(n.src??``),r=e&&n.src.slice(0,-e[0].length);if(!e||!/\bwalk(To)?$/.test(r))continue;let i=t.get(r)??[1/0,-1/0];t.set(r,[Math.min(i[0],n.f),Math.max(i[1],n.f)])}return[...t.values()].filter(([e,t])=>t>e)}let $s=(e,t)=>{let n=Math.floor(t/2),r=t=>e[Math.max(0,Math.min(e.length-1,t))];return e.map((e,t)=>{let i=0;for(let e=t-n;e<=t+n;e++)i+=r(e);return i/(2*n+1)})};function ec(e,t,n){let r=Qs(t);if(!r.length)return;let i=t=>e[t]??Array(n).fill(0);for(let a of Zs){let o=i(`spine_${a}`),s=i(a).map((e,t)=>e+o[t]),c=$s(s,33),l=null;for(let[e,o]of r)if(!t.some(t=>t.f>=e&&t.f<=o&&t.set?.[`head_${a}`]!==void 0&&!/\bwalk(To)? (start|step \d+|end)$/.test(t.src??``))){l??=i(`head_${a}`).slice();for(let t=Math.max(0,e);t<=Math.min(n-1,o);t++){let n=Math.min(1,(t-e)/8,(o-t)/8),r=Math.max(-Xs[a],Math.min(Xs[a],s[t]-c[t]));l[t]-=Ys[a]*r*n*n*(3-2*n)}}l&&(e[`head_${a}`]=l)}}function tc(e,t){let n=e.length,r=new Float64Array(n);for(let i=0;i<n;i++)if(e[i]>0)for(let a=Math.max(0,i-t-1);a<=Math.min(n-1,i+t+1);a++){let n=1-Math.abs(i-a)/(t+1),o=n*n*(3-2*n);r[a]=Math.max(r[a],e[i]*o)}return r}let nc=e=>Math.round(e*1e4)/1e4;function rc(e,n){let{sk:i}=e.ctx,o=i.index,s=i.restWorldPos,c=e.baked.root;if(!c)return null;let l=e.frames.length,u=new Float64Array(l);for(let n=0;n<l;n++){let{s:i,diag:c,c:l}=e.frames[n];for(let[e,d]of Object.entries(R)){if(!(c[`leg_miss_${e}`]>5e-4)||!Array.isArray(l[`foot_${e}`]))continue;let f=.999*(a(t(s[o[`${d}Leg`]],s[o[`${d}UpLeg`]]))+a(t(s[o[`${d}Foot`]],s[o[`${d}Leg`]]))),p=t(l[`foot_${e}`],i.P[o[`${d}UpLeg`]]),m=p[1]*p[1]-r(p,p)+f*f,h=m>=0?-p[1]-Math.sqrt(m):-p[1];h>0&&h<=.05&&(u[n]=Math.max(u[n],h+5e-4))}}let d=u.filter(e=>e>0).length;if(!d)return null;let f=tc(u,6),p=[];for(let t=0;t<l;t++){if(!(f[t]>0))continue;let n=e.f0+t,r=c[n];c[n]=[r[0],r[1]-f[t],r[2]],p.push(n)}return n.solve(p),{frames:d,eased:p.length,max:nc(Math.max(...u)),how:`hips lowered`}}function ic(e){let t=0,n=0;for(let r of e.frames)for(let e of[`l`,`r`]){let i=r.diag[`reach_over_${e}`]??0;i>.001&&(t++,n=Math.max(n,i))}return t?{frames:t,max:nc(n),how:`wrist target clamped to reach`}:null}let ac=.01;function oc(n,r){let i=n.frames.length,a=Kn.plantH,o=0,s=0,c=0,l=new Set;for(let[r,u]of[[`l`,`Left`],[`r`,`Right`]]){let d=n.baked[`foot_${r}`];if(!d)continue;let f=n.frames.map((e,t)=>bn(n,t,u)),p=(e,t)=>f[e][t][1]<a&&f[e-1][t][1]<a&&Math.abs(f[e][t][1]-f[e-1][t][1])<5e-4,m=Array.from({length:i},()=>null);for(let n=1;n<i;){if(!p(n,`ball`)&&!p(n,`heel`)){n++;continue}let r=null,l=null,u=n,d=0,h=[0,0,0],g=!1,_=[],v=e=>{let n=t(l,f[e][r]);n[1]=0,h=n,_.push([e,n]),d=Math.max(d,Math.hypot(n[0],n[2]))};for(;u<i&&(p(u,`ball`)||p(u,`heel`));u++){let t=p(u,`ball`)?`ball`:`heel`;g||=f[u][t===`ball`?`heel`:`ball`][1]>=a,t!==r&&(r=t,l=e(f[u-1][r],h)),v(u)}if(g&&d>=ac)for(;u<i&&f[u][r][1]<.03;u++)v(u);if(d>2e-4&&(d<ac||g)){o++,c=Math.max(c,d),d>=ac&&s++;for(let[e,t]of _)m[e]=t;let e=Math.max(4,Math.ceil(Math.hypot(h[0],h[2])/.02));for(let t=1;t<=e&&u-1+t<i&&!m[u-1+t];t++){let n=t/(e+1),r=1-n*n*(3-2*n);m[u-1+t]=[h[0]*r,0,h[2]*r]}}n=u}for(let t=0;t<i;t++){if(!m[t])continue;let r=n.f0+t;d[r]=e(d[r],m[t]),l.add(r)}}return o?(r.solve([...l]),{plants:o,...s?{pivots:s}:{},frames:l.size,max:nc(c),how:s?`planted heel/ball held in place; turning feet pivot on it`:`planted heel/ball held in place`}):null}let sc=e=>e*e*(3-2*e);function cc(e,t){let n=e.frames.length,r=Kn.plantH,i=new Set,a=0;for(let[t,o]of[[`l`,`Left`],[`r`,`Right`]]){let s=e.baked[`fyaw_${t}`]??e.baked.yaw;if(!e.baked[`foot_${t}`]||!s)continue;let c=e.frames.map((t,n)=>bn(e,n,o)),l=(e,t)=>c[e][t][1]<r&&c[e-1][t][1]<r&&Math.abs(c[e][t][1]-c[e-1][t][1])<5e-4,u=e=>e>0&&e<n&&l(e,`heel`)&&l(e,`ball`),d=Array.from({length:n},(t,n)=>s[e.f0+n]),f=d.slice();for(let e=1;e<n;e++){if(!u(e))continue;let t=f[e-1],r=e,i=0;for(;u(r);r++)i=Math.max(i,Math.abs(f[r]-t));if(i<=1){e=r;continue}a=Math.max(a,i);for(let n=e;n<r;n++)f[n]=t;let o=r<n?d[r]-t:0,s=Math.max(4,Math.ceil(Math.abs(o)/6));for(let e=0;o&&e<s&&r+e<n&&!u(r+e);e++)f[r+e]=d[r+e]-o*(1-sc((e+1)/(s+1)));e=r}let p=f.map((e,t)=>e!==d[t]);if(!p.some(Boolean))continue;let m=e.baked[`fyaw_${t}`]=s.slice();p.forEach((t,n)=>{t&&(m[e.f0+n]=f[n],i.add(e.f0+n))})}return i.size?(t.solve([...i]),{frames:i.size,max:nc(a)}):null}function lc(e,t){let{sk:n}=e.ctx,r=e.frames.length,i=new Set,a=0;for(let[t,o]of Object.entries(R)){let s=e.baked[`foot_${t}`],c=n.index[`${o}Foot`];if(!s)continue;let l=e.frames.map(({s:t},r)=>{let i=an(n,t,o),a=Math.min(i.heel[1],i.ball[1],i.tip[1])-t.P[c][1]+s[e.f0+r][1];return Math.min(.15,-a-.001)});if(!l.some(e=>e>0))continue;let u=tc(l,2);for(let t=0;t<r;t++){if(!(u[t]>0))continue;let n=e.f0+t;s[n]=[s[n][0],s[n][1]+u[t],s[n][2]],a=Math.max(a,l[t]),i.add(n)}}return i.size?(t.solve([...i]),{frames:i.size,max:nc(a),how:`soles lifted onto the floor`}):null}let uc={l:Qt.filter(e=>e[0]===`hand_l`||e[0]===`farm_l`),r:Qt.filter(e=>e[0]===`hand_r`||e[0]===`farm_r`)};function dc(t,r,i,a,o){let{sk:s}=t.ctx,c=s.index,l=t.frames.length,u=Array.from({length:l},()=>null);for(let s=0;s<l;s++){let{s:l,c:d}=t.frames[s],f=t.objectsAt(s),p=null;for(let[t,s]of Object.entries(f)){if(!s.half||s.ignore)continue;let u=null;for(let[e,n,d,f]of uc[r]){let r=qn(a,e,t)??Kn.allow,p=$t(l.P[c[n]],l.P[c[d]]),m=p.map(e=>H(e,s)),h=Math.min(...m),g=f-h-r;if(!(g<=0)){if(g>i){o.deep++;continue}(!u||g>u[0])&&(u=[g,p[m.indexOf(h)]])}}u&&(p=e(p??[0,0,0],n(on(u[1],s),u[0]+.002)))}if(p){if(!(d[`armw_${r}`]>1e-4)){o.skipped++;continue}u[s]=p}}return u}function fc(t,r,i){let o=t.ctx.spec.checks?.allow,s=t.frames.length,c={deep:0,skipped:0},l=new Set,u=0;for(let d=0;d<3;d++){c.deep=0,c.skipped=0;let d=new Set;for(let r of[`l`,`r`]){let f=dc(t,r,i,o,c),p=t.ctx.push[r],m=Array.from({length:s},()=>null);for(let e=0;e<s;e++)if(f[e]){l.add(`${r}${e}`);for(let t=Math.max(0,e-4-1);t<=Math.min(s-1,e+4+1);t++){let r=1-Math.abs(e-t)/5,i=n(f[e],r*r*(3-2*r));(!m[t]||a(i)>a(m[t]))&&(m[t]=i)}}for(let n=0;n<s;n++){if(!m[n])continue;let r=t.f0+n,i=e(p.get(r)??[0,0,0],m[n]);p.set(r,i),u=Math.max(u,a(i)),d.add(r)}}if(!d.size)break;r.solve([...d])}return!l.size&&!c.skipped?null:{frames:l.size,max:nc(u),skipped:c.skipped,tooDeep:c.deep,how:`hand pushed out along the box normal`}}let pc=e=>{let t=e.ctx.spec?.checks?.limits;return zn(e.ctx.sk,e,t,{...Kn,...t})};function mc(e,t,n){let r=[];for(let i=1;i<n;i++){if(e[i]<=1)continue;let a=i;for(;a+1<n&&e[a+1]>1;)a++;let o=Math.max(6,2*(a-i+1)),s=Math.max(0,...t.filter(e=>e<=i-1-o)),c=Math.min(n-1,...t.filter(e=>e>=a+o));r.length&&s<=r[r.length-1][1]?r[r.length-1][1]=Math.max(r[r.length-1][1],c):r.push([s,c]),i=a}return r}function hc(e,t){let n=t[t.length-1]-t[0],r=t.slice(1).map((n,r)=>{let i=0;for(let a=Math.floor(t[r])+1;a<=Math.ceil(n);a++)i=Math.max(i,e[a]??0);return{len:n-t[r],need:1.1*i}}),i=e=>r.reduce((t,n)=>t+n.len*Math.max(n.need,e),0),a=.35,o=1;for(let e=0;e<40;e++){let e=(a+o)/2;i(e)>n?o=e:a=e}let s=r.map(e=>e.len*Math.max(e.need,a)),c=n/s.reduce((e,t)=>e+t,0),l=[t[0]];return s.forEach((e,t)=>l.push(l[t]+e*c)),l[l.length-1]=t[t.length-1],{T:l,stretch:Math.max(...s.map((e,t)=>e*c/r[t].len))}}function gc(e,t){let n=e.frames.length,r=[],i=0,a=1;for(let o=0;o<3;o++){let o=pc(e),s=[...new Set(e.keys.map(e=>e.f))].sort((e,t)=>e-t),c=mc(o,s,n);if(!c.length)break;let l=c.map(([e,t])=>{let n=[...new Set([e,...s.filter(n=>n>e&&n<t),t])].sort((e,t)=>e-t),r=hc(o,n);return a=Math.max(a,r.stretch),{cuts:n,T:r.T}});i+=c.length;let u=e=>{for(let{cuts:t,T:n}of l){if(e<t[0]||e>t[t.length-1])continue;let r=0;for(;r<t.length-2&&e>t[r+1];)r++;return n[r]+(n[r+1]-n[r])*(e-t[r])/(t[r+1]-t[r])}return e};r.push(u),t.rebake(e.keys.map(e=>({...e,f:u(e.f)}))),t.solve(t.all())}if(!r.length)return null;e.timeMap=e=>r.reduce((e,t)=>t(e),e);let o=pc(e).filter(e=>e>1).length;return{windows:i,maxStretch:Math.round(a*100)/100,stillFast:o,how:`key intervals around speed spikes stretched`}}let _c=Array.from({length:19},(e,t)=>-90+t*10),vc=.003,yc=.08;function bc(e,t,n){let r=null;for(let i of e.ctx.spec.checks?.below??[]){let a=String(i.joint).replace(/^joint:/,``),o=String(i.ref).replace(/^joint:/,``),s=e.f0+t;(Array.isArray(i.when)?s>=i.when[0]&&s<=i.when[1]:!i.when||(e.frames[t].c[i.when]??0)>.5)&&a===`${n}ForeArm`&&o===`${n}Arm`&&Number.isFinite(i.min)&&(r=Math.max(r??0,i.min))}return r}let xc={l:`Left`,r:`Right`};function Sc(e,t,n){let r=0;for(let i of e.fits??[]){let a=e.anchors?.[i.anchor],o=t[`w_${i.anchor}_${i.side}`]??0;(i.side===n||a?.kind===`prop`&&e.props?.[a.prop]?.hand===n)&&(r=Math.max(r,o))}return Math.min(1,r)}let Cc=Object.fromEntries(Qt.map(e=>[e[0],e[3]]));function wc(e,t,n,r){let i=0;for(let a of e)i=Math.max(i,r-Math.min(...$t(t,n,5).map(e=>H(e,a))));return i}function Tc(n,r,i,a,o,s=[]){let c=r.index,l=c[`${a}Arm`],u=c[`${a}ForeArm`],d=i.P[l],f=i.P[c[`${a}Hand`]],m=o?e(d,p(y(t(f,d),o),t(i.P[u],d))):i.P[u],h=Math.max(Ue(n,r,i,l,d,m),Ue(n,r,i,u,m,f)),g=a===`Left`?`l`:`r`;return{depth:h,scene:s.length?Math.max(wc(s,d,m,Cc[`uarm_${g}`]),wc(s,m,f,Cc[`farm_${g}`])):0,rise:Math.max(0,m[1]-(d[1]-.09)),under:d[1]-m[1]}}let Ec=(e,n)=>{let r=e.index,i=e.restWorldPos;return a(t(i[r[`${n}ForeArm`]],i[r[`${n}Arm`]]))+a(t(i[r[`${n}Hand`]],i[r[`${n}ForeArm`]]))};function Dc(n,r,i){let{sk:o}=n.ctx,s=xc[i],c=n.frames.length,l=n.ctx.swivel[i],u=n.frames.map(({s:c,c:u},d)=>{let f=pt(u[`armw_${i}`]??0),m=(l.get(n.f0+d)??0)*f;if(!m&&Tc(r,o,c,s,0).depth<=vc)return null;let h=c.P[o.index[`${s}Arm`]],g=Ec(o,s)+.15,_=Object.values(n.objectsAt(d)).filter(n=>n.half&&!n.ignore&&a(t(e(n.pos,p(n.R,[0,n.half[1],0])),h))-a(n.half)<g),v=Tc(r,o,c,s,-m,_).scene,y=bc(n,d,s);return _c.map(e=>{let{depth:t,scene:n,rise:i,under:a}=Tc(r,o,c,s,e*f-m,_),l=Math.max(0,t-vc)*100,u=y===null?0:Math.max(0,y-a),d=Math.max(0,n-Math.max(v,vc))*100;return 40*(l*l+d*d)+.05*(e/10)**2+4*(i*100)**2+400*(u*100)**2})});if(u.every(e=>!e))return null;let d=_c.indexOf(0),f=_c.map((e,t)=>t===d?0:1/0),m=_c.map(()=>0),h=[];for(let e=0;e<c;e++){let t=u[e]??f,n=m,r=[];m=t.map((e,t)=>{let i=1/0,a=d;for(let e=0;e<_c.length;e++){if(Math.abs(_c[t]-_c[e])>10)continue;let r=n[e]+2*((_c[t]-_c[e])/10)**2;r<i&&(i=r,a=e)}return r.push(a),i+e}),h.push(r)}let g=Array(c),_=m.indexOf(Math.min(...m));for(let e=c-1;e>=0;e--)g[e]=_c[_],_=h[e][_];return g.map((e,t)=>(g[Math.max(0,t-1)]+2*g[t]+g[Math.min(c-1,t+1)])/4)}function Oc(e,t,r,i){let{sk:o}=e.ctx,s=xc[r],c=o.index,l=e.frames.length,u=Array(l).fill(null),d=[c.Head,c.Neck,c.HeadTop_End].filter(e=>e!==void 0);for(let f=0;f<l;f++){let{s:l,c:p}=e.frames[f],m=e.f0+f,h=1-Sc(e.ctx.spec,p,r);if(h<.05)continue;let g=null;for(let n of[c[`${s}Hand`],c[`${s}ForeArm`]]){let r=We(t,o,l,n);if(r.into<0||d.includes(r.into))continue;let i=Math.min(.03,qn(e.ctx.spec.checks?.allow,pn(o,n),pn(o,r.into))??0),a=r.depth-Math.max(i,vc);a>0&&(!g||a>g.past)&&(g={...r,b:n,past:a})}if(!g)continue;if(!(p[`armw_${r}`]>1e-4)){i.skipped++;continue}let _=a(e.ctx.skinPush[r].get(m)??[0,0,0]);if(_>=yc){i.deep++;continue}let v=Ne(t,l,g.p,new Set([...t.skip.get(g.b),...d]));v&&(u[f]=n(v,h*Math.min(.03,yc-_,g.past+.003)))}let f=Array(l).fill(null);return u.forEach((e,t)=>{if(e)for(let r=Math.max(0,t-5-1);r<=Math.min(l-1,t+5+1);r++){let i=1-Math.abs(t-r)/6,o=n(e,i*i*(3-2*i));(!f[r]||a(o)>a(f[r]))&&(f[r]=o)}}),f}function kc(t,r){let i=Oe(t.ctx.sk);if(!i)return null;let o=t.frames.length,s={skipped:0,deep:0},c=new Set,l=new Set,u=0,d=0;for(let n=0;n<3;n++){let n=new Set;for(let e of[`r`,`l`]){let r=Dc(t,i,e);r&&r.forEach((r,i)=>{let a=t.f0+i,o=t.ctx.swivel[e].get(a)??0,s=Math.abs(r)<.5?0:r;Math.abs(s-o)<.5||(s?t.ctx.swivel[e].set(a,s):t.ctx.swivel[e].delete(a),u=Math.max(u,Math.abs(s)),s&&c.add(`${e}${i}`),n.add(a))})}n.size&&r.solve([...n]),n=new Set,s.skipped=0,s.deep=0;for(let r of[`r`,`l`])Oc(t,i,r,s).forEach((i,o)=>{if(!i)return;let s=t.f0+o,c=e(t.ctx.skinPush[r].get(s)??[0,0,0],i);t.ctx.skinPush[r].set(s,c),d=Math.max(d,a(c)),l.add(`${r}${o}`),n.add(s)});if(!n.size)break;r.solve([...n])}if(l.size){let i=new Set;for(let r of[`r`,`l`]){let s=e=>t.ctx.skinPush[r].get(t.f0+e)??[0,0,0];for(let c=0;c<2;c++){let c=Array.from({length:o},(e,t)=>s(t));c.forEach((s,l)=>{let u=[-2,-1,0,1,2].reduce((t,r,i)=>e(t,n(c[Math.min(o-1,Math.max(0,l+r))],[1,4,6,4,1][i]/16)),[0,0,0]);a(u)<1e-5&&!t.ctx.skinPush[r].has(t.f0+l)||(t.ctx.skinPush[r].set(t.f0+l,u),i.add(t.f0+l))})}}i.size&&r.solve([...i])}return!c.size&&!l.size&&!s.skipped?null:{elbowFrames:c.size,maxTurn:Math.round(u),handFrames:l.size,maxPush:nc(d),skipped:s.skipped,tooDeep:s.deep,how:`elbow turned about the shoulder-wrist line; a hand a little inside pushed out along the skin`}}let Ac=[`reach`,`slide`,`penetration`,`self`,`retime`,`stance`];function jc(e){if(e===!1)return{reach:!1,slide:!1,penetration:0,self:!1,retime:!1,stance:!1};let t=e??{},n=t.penetration===!0?.02:Math.min(.05,Math.max(0,Number(t.penetration)||0));return{reach:t.reach!==!1,slide:t.slide!==!1,penetration:n,self:t.self!==!1,retime:t.retime===!0,stance:t.stance!==!1}}let Mc=(e,t)=>e?{...t??{frames:0,how:`planted heel/ball held in place`},turns:e,how:`${t?.how??`planted heel/ball held in place`}; a flat planted foot keeps its heading until it lifts`}:t,Nc=(e,t)=>e&&t?{frames:Math.max(e.frames,t.frames),eased:Math.max(e.eased,t.eased),max:Math.max(e.max,t.max),how:e.how}:e??t;function Pc(e,t,n,{whole:r=!0}={}){let i={},a=(e,t)=>{t&&(i[e]=t)};return t.retime&&r&&a(`retime`,gc(e,n)),t.slide&&a(`ground`,lc(e,n)),t.reach&&a(`reachLegs`,rc(e,n)),t.slide&&a(`slide`,Mc(cc(e,n),oc(e,n))),t.reach&&i.slide?.pivots&&a(`reachLegs`,Nc(i.reachLegs,rc(e,n))),t.penetration>0&&a(`penetration`,fc(e,n,t.penetration)),t.self&&a(`self`,kc(e,n)),t.reach&&a(`reachArms`,ic(e)),i}let Fc=e=>e*e*(3-2*e);function Ic(e,t,n,r=()=>void 0){let i=new Map,a=new Map,o=r(),s=s=>{if(r()!==o&&(o=r(),i.clear(),a.clear()),i.has(s))return i.get(s);let c={};for(let[r,i]of Object.entries(t?.objects??{})){let a=[r,...i.ancestors??[]].find(t=>Dt(e.objects?.[t])),l=e.objects?.[a];c[r]=l?B(l)||Tt(l)?{...i,carried:a}:go(l)?{...i,...V(Po({spec:e,scene:t,timeMap:o},a,s),At(t.objects[a]??Nt(t)[a],i))}:{...i,...jt(l,i,n,s)}:i}return i.set(s,c),c};return{all:s,obstacles:e=>(r()!==o&&s(e),a.has(e)||a.set(e,Object.fromEntries(Object.entries(s(e)).filter(([,e])=>!e.carried))),a.get(e))}}function Lc(t,r,i,a){if(a.prop)return i.props?.[a.prop]?.[a.point];let o=a.joints??[`RightHandIndex2`,`RightHandMiddle2`];return n(o.map(e=>r.P[t.index[e]]).reduce((t,n)=>e(t,n),[0,0,0]),1/o.length)}function Rc(i,o,c,l=!1,u=!0,d=null){let{sk:f}=i;return{softReach:i.softReach,foldFree:l,hold:u&&i.hold?(e,t)=>e===d?null:i.hold.lead(e,c,t,o):void 0,push:l?void 0:e=>i.push?.[e]?.get(c),swivel:e=>i.swivel?.[e]?.get(c),skinPush:l?void 0:e=>i.skinPush?.[e]?.get(c),handTarget(l,u,d){d.frame=c;let m=u.P[f.index[l===`l`?`LeftHand`:`RightHand`]],h=[];for(let[t,n]of Object.entries(o)){let r=/^w_(.+)_([lr])$/.exec(t);!r||r[2]!==l||!(n>1e-6)||h.push([n,e(ma(i,r[1],u,d,o,l),o[`fit_${r[1]}_${l}`]??[0,0,0])])}let g=h.reduce((e,[t])=>e+t,0);if(g>1){for(let e of h)e[0]/=g;g=1}let _=n(o[`hand_${l}`]??m,1-g);for(let[t,r]of h)_=e(_,n(r,t));let v=Math.max(0,...h.map(([e])=>Fc(Math.min(1,Math.min(e,1-e)*3))));if(v>0){let c=u.P[f.index.Spine],l=u.P[f.index.Neck],d=t(l,c),m=Math.min(1,Math.max(0,r(t(_,c),d)/r(d,d))),h=e(c,n(d,m)),g=i.spec.detourRadius??.25,b=t(_,h),x=a(b);if(x<g){let r=p(y([0,1,0],o.yaw??0),[0,0,1]),i=s(e(x>1e-6?n(b,1/x):r,n(r,.6)));_=e(_,n(t(e(h,n(i,g)),_),v))}}return _},keepOut:i.keepOut&&!l?(r,a,s)=>{let c=(1-Sc(i.spec,o,r))*Math.min(1,Math.max(0,o[`armw_${r}`]??0));for(let r=0;r<2&&c>.001;r++){let r=Be(i.keepOut.body,f,a,s,Ve,i.keepOut.skip);if(r===s)break;s=e(s,n(t(r,s),c))}return s}:void 0,afterArm:(e,t,n)=>Ca(i,e,t,n),grip:l?void 0:(e,t,n)=>Zo(i,f,t,R[e],e,o,c,n)}}function zc(n,r,i,o=!0){let s={...ls(r,n.idle,i)};for(let e of[`l`,`r`])n.busy?.[e]&&(s[`hangoff_${e}`]=n.busy[e][i]);for(let r of n.spec.fits??[]){let c=`w_${r.anchor}_${r.side}`;if(!(s[c]>1e-4))continue;let l={...s,[c]:1,[`armw_${r.side}`]:1};for(let e of Object.keys(l))e!==c&&RegExp(`^w_.+_${r.side}$`).test(e)&&(l[e]=0);let u=[0,0,0],d=null,f=null,p=ka(n.spec,r.anchor),m=n.sk.index[`${R[r.side]}Arm`],h=n.sk.index[`${R[r.side]}Hand`];for(let s=0;s<6;s++){l[`fit_${r.anchor}_${r.side}`]=u;let{s,diag:c}=wt(n.sk,l,Rc(n,l,i,!0,o,r.side)),g=Lc(n.sk,s,c,r.effector),_=e(ma(n,r.anchor,s,c,l,r.side),r.offset??[0,0,0]);if(!g)break;let v=t(_,g),y=a(v);p&&(!d||y<d.err)&&(d={err:y,hand:t(s.P[h],g)}),f={goal:_,shoulder:s.P[m]},u=e(u,v)}p&&d&&f&&a(t(e(f.goal,u),f.shoulder))>fa(n.sk,r.side)+.02&&(u=d.hand),s[`fit_${r.anchor}_${r.side}`]=u}let{s:c,diag:l}=wt(n.sk,s,Rc(n,s,i,!1,o));return l.frame=i,{s:c,diag:l,c:s}}function Bc(e,{sk:t,scene:n},r={}){if(e?.schema!==`cozyclay.motion-spec.v1`)throw Error(`MOTION_SPEC_INVALID: schema must be cozyclay.motion-spec.v1`);let i=Math.round(e.frames);if(!(i>=1&&i<=2e4))throw Error(`MOTION_SPEC_INVALID: frames must be 1..20000`);let a=jc(e.fix),[o,s]=r.window?[Math.max(0,r.window[0]),Math.min(i-1,r.window[1])]:[0,i-1],c={sk:t,spec:e,scene:n,softReach:a.reach,push:{l:new Map,r:new Map},swivel:{l:new Map,r:new Map},skinPush:{l:new Map,r:new Map},keepOut:a.self?He(t):null},l={ctx:c,fps:e.fps??30,frameCount:i,f0:o,frames:[]};c.objectPose=(e,t,n)=>Xi(l,e,t,n),c.objectHand=(e,t)=>Yi(l,e,t),c.restingAt=(e,t)=>Hi(l,e,t),c.carrySpan=e=>Ii(l,e),c.solvedAt=e=>Wi(l,e),c.weightAt=(e,t)=>l.baked?.[e]?.[t],c.frameCount=i;let u={rebake(r){l.keys=r,l.baked=Ai(r,i,Di(e.flow)),c.socketTurns=new Map,c.graspPlans=new Map,ec(l.baked,r,i),c.idle=cs(l.baked,{spec:e,sk:t,frameCount:i}),c.busy=ss(l.baked,e,i,l.fps);let a=Ic(e,n,l.baked,()=>l.timeMap);c.objectsAt=a.all,l.objectsAt=o?e=>a.obstacles(e+o):a.obstacles},solve(e){for(let t of e)t>=o&&t<=s&&(l.frames[t-o]=zc(c,ji(l.baked,t),t))},all:()=>Array.from({length:s-o+1},(e,t)=>o+t)};return c.hold=Ka(c,l,e=>zc(c,ji(l.baked,e),e,!1),e=>zc(c,ji(l.baked,e),e)),u.rebake(r.keys??Js(e,t)),u.solve(u.all()),l.fixed=r.fixes===!1?{}:Pc(l,a,u,{whole:!r.window}),c.hold&&l.timeMap&&u.solve(u.all()),l}let Vc=`{ f, pos: [x, y, z], rot: [x, y, z, w] } or { f, pos, aim: [x, y, z], roll? }`,Hc=`{ at, onto?, bounce?, tumble? }`,Uc=e=>Array.isArray(e)&&e.length===4&&e.every(Number.isFinite)&&Math.abs(Math.hypot(...e)-1)<=.01,Wc=e=>Fr(e)&&Math.hypot(...e)>1e-9;function Gc(e,t,n){if(n.rot!==void 0&&n.aim!==void 0)return e(`${t} gives both rot and aim; give one: rot [x, y, z, w], or aim [x, y, z] (the world direction its +Y points) with roll`);if(n.aim===void 0){n.roll!==void 0&&e(`${t}.roll turns the object about aim; give aim [x, y, z] with it, or leave roll out (rot fixes the roll)`),n.lean!==void 0&&e(`${t}.lean lets the compiler lean aim; give aim [x, y, z] with it (rot is used exactly)`),Uc(n.rot)||e(`${t}.rot must be a unit quaternion [x, y, z, w], got ${U(n.rot)}${n.rot===void 0?`; or give aim [x, y, z], the world direction its +Y points`:``}`);return}Wc(n.aim)||e(`${t}.aim must be a non-zero world direction [x, y, z] for the object's +Y (a bat: knob to barrel), got ${U(n.aim)}`),n.roll!==void 0&&!Number.isFinite(n.roll)&&e(`${t}.roll must be degrees about aim (a number), got ${U(n.roll)}`),n.lean!==void 0&&!(Number.isFinite(n.lean)&&n.lean>=0&&n.lean<=45)&&e(`${t}.lean must be the most degrees the compiler may lean aim (0..45), got ${U(n.lean)}`)}function Kc(e,t,n,r,i,a=!1){if(!Array.isArray(r.keys))return e(`${n}.keys must be an array of ${Vc}`);let o=Number.isInteger(i)?i-1:1/0,s=a?0:r.grab??0,c=a?o:r.release??o,l=new Map;r.keys.forEach((r,i)=>{let o=`${n}.keys[${i}]`;if(!r||typeof r!=`object`||Array.isArray(r))return e(`${o} must be ${Vc}, got ${U(r)}`);for(let e of Object.keys(r))ti.includes(e)||t(`${o} has unknown field "${e}"${W(e,ti)}; a key is ${Vc}`);Number.isInteger(r.f)?r.f<s||r.f>c?e(a?`${o}.f = ${r.f} is outside the take (0..${c})`:`${o}.f = ${r.f} is outside grab..release (${s}..${c}); keys pose a carried object only while it is in hand (drop its prop to move it on its own, C17)`):l.has(r.f)?e(`${o}.f = ${r.f}: keys[${l.get(r.f)}] is at that frame already; one key per frame`):l.set(r.f,i):e(`${o}.f must be a whole frame, got ${U(r.f)}`),Fr(r.pos)||e(`${o}.pos must be [x, y, z], the world position of the object's base (a group: its root), got ${U(r.pos)}`),Gc(e,o,r)})}function qc(e,t,n,r,i){let a=/^object:(.+?)(?:\.(?:center|top|base))?$/s.exec(i)?.[1];if(a===void 0)return;let o=Mi(n,a).flatMap(t=>[t,...n.objects[t].ancestors??[]].find(t=>Dt(e.objects?.[t]))??[]).find(t=>Tt(e.objects[t]));o&&t(`${r} "${i}": "${a}" moves with the follow entry objects.${o}; a follow entry rides a joint, landmark, prop or anchor point, or an object no follow entry moves`)}function Jc(e,t,n,r,i){_i(e,t,n,`${r}.follow`,i.follow)&&qc(e,t,n.scene,`${r}.follow`,i.follow),i.offset!==void 0&&!Fr(i.offset)&&t(`${r}.offset must be [x, y, z], metres along the record's own axes after aim (+Y along aim), got ${U(i.offset)}`);let a=i.aim;if(a!==void 0&&a!==`face`&&a!==`up`){if(Array.isArray(a)){Wc(a)||t(`${r}.aim must be a non-zero world direction [x, y, z], got ${U(a)}`);return}if(typeof a!=`string`||!/^[a-z]+:/.test(a))return t(`${r}.aim must be "face", "up", a world direction [x, y, z] or a point ref (toward it), where the record's +Y points; got ${U(a)}`);_i(e,t,n,`${r}.aim`,a)&&qc(e,t,n.scene,`${r}.aim`,a)}}function Yc(e,t,n,r){return n===void 0||Number.isInteger(n)&&n>=0&&(!Number.isInteger(r)||n<r)?!0:(e(`${t} must be a whole frame 0..${Number.isInteger(r)?r-1:`frames-1`}, got ${U(n)}`),!1)}function Xc(e,t,n,r,{frames:i,scene:a,carry:o}){let s=Array.isArray(r.fall)?r.fall:[r.fall],c=new Set;s.length||e(`${n}.fall is an empty list; give ${Hc} or a list of them`),s.forEach((s,l)=>{let u=Array.isArray(r.fall)?`${n}.fall[${l}]`:`${n}.fall`;if(!s||typeof s!=`object`||Array.isArray(s))return e(`${u} must be ${Hc} (at: the frame it starts to fall), got ${U(s)}`);for(let e of Object.keys(s))ei.includes(e)||t(`${u} has unknown field "${e}"${W(e,ei)}; a fall is ${Hc}`);if(s.at===void 0)e(`${u}.at must be the whole frame it starts to fall`);else if(Yc(e,`${u}.at`,s.at,i)){c.has(s.at)&&e(`${u}.at = ${s.at}: another fall starts on that frame`),c.add(s.at);let t=r.grab??0,n=r.release;o&&s.at>=t&&(n===void 0||s.at<n)&&e(`${u}.at = ${s.at} is while it is in hand (grab ${t}..release ${n??`end`}); a carried object falls before its grab or from its release on`)}s.onto!==void 0&&li(e,a,`${u}.onto`,s.onto,{groups:!0}),s.bounce!==void 0&&!(Number.isFinite(s.bounce)&&s.bounce>=0&&s.bounce<=.6)&&e(`${u}.bounce must be 0..0.6 (the share of its landing speed it bounces back with; 0 lands dead), got ${U(s.bounce)}`),s.tumble!==void 0&&typeof s.tumble!=`boolean`&&e(`${u}.tumble must be true (it rolls to rest on a stable face, the default) or false (it drops straight down as it was), got ${U(s.tumble)}`)})}function Zc(e,t,n){n.visible!==void 0&&(typeof n.visible!=`string`||!n.visible)&&e(`${t}.visible must name a channel (shown above 0.5)`),n.level!==void 0&&(typeof n.level!=`string`||!n.level)&&e(`${t}.level must name a channel (the record's level 0..4: 0 dark, 1 as authored; it scales its light, glow and effect rate)`)}function Qc(e,t,{sk:n,scene:r,frames:i=e.frames,unknown:a=t}){for(let[o,s]of Object.entries(e.objects??{})){let c=`objects.${o}`,l=s?.prop===void 0?Tt(s)?`follow`:go(s)?`free`:Et(s)?`switch`:`hinge`:`carry`,u=$r[l];(l!==`switch`&&l!==`follow`||!r?.others?.[o])&&li(t,r,c,o,{groups:!0});for(let e of Object.keys(s??{}))!u.includes(e)&&(l!==`hinge`||e!==`keys`&&e!==`fall`)&&a(`${c} (${l}) has unknown field "${e}"${W(e,u)}; fields: ${u.join(`, `)}`);if(l===`follow`){Jc(e,t,{sk:n,scene:r},c,s),Zc(t,c,s);continue}if(l===`switch`){s.visible===void 0&&s.level===void 0&&t(`${c} needs visible or level (a channel): a switch shows, hides or dims "${o}" without moving it; a carry needs prop, a hinge pivot and channel`),Zc(t,c,s);continue}if(l===`free`){s.keys!==void 0&&Kc(t,a,c,s,i,!0),s.fall!==void 0&&Xc(t,a,c,s,{frames:i,scene:r,carry:!1}),Zc(t,c,s);continue}if(l===`carry`){e.props?.[s.prop]||t(`${c}.prop "${s.prop}" is not in spec.props`);for(let e of[`at`,`along`])s[e]!==void 0&&!Fr(s[e])&&t(`${c}.${e} must be [d, l, n] along the palm axes, got ${U(s[e])}`);Zc(t,c,s),Yc(t,`${c}.grab`,s.grab,i)&&Yc(t,`${c}.release`,s.release,i)&&s.grab!==void 0&&s.release!==void 0&&!(s.grab<s.release)&&t(`${c}: grab (${s.grab}) must come before release (${s.release})`),s.keys!==void 0&&Kc(t,a,c,s,i),s.fall!==void 0&&Xc(t,a,c,s,{frames:i,scene:r,carry:!0});continue}(s?.keys!==void 0||s?.fall!==void 0)&&t(`${c}: a hinge turns by its channel "${s.channel}", keyed in spec.keys; keys and fall move an object with no pivot, axis or channel (C17), or a carried one (prop)`),Fr(s?.pivot)||t(`${c}.pivot must be [x, y, z] (world hinge point), got ${U(s?.pivot)}`),s?.axis!==void 0&&(!Fr(s.axis)||Math.hypot(...s.axis)<1e-9)&&t(`${c}.axis must be a non-zero [x, y, z], got ${U(s.axis)}`),(typeof s?.channel!=`string`||!s.channel)&&t(`${c}.channel must name the angle channel (degrees)`)}}let G=e=>{let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?0:t},K=e=>`[${e.map(e=>{let t=G(e);return t>0?`+${t}`:`${t}`}).join(`, `)}]`,$c=[`near`,`above`,`moved`,`still`,`speed`],el={near:.05,above:0,moved:.05,still:.01},tl=new Set([`near`,`still`]),nl=new Set([`moved`,`still`,`speed`]),rl=e=>$c.filter(t=>e?.[t]!==void 0),il=(e,t)=>e.name??`goals[${t}]`,al=(e,t)=>(tl.has(t)?e.tol:e.by)??el[t],ol=(e,t)=>e.mode??(t===`speed`?`any`:`all`),sl=e=>!e.startsWith(`object:`)||/\.(center|top|base)$/.test(e)?e:`${e}.base`;function cl(t,n){let[,r,i]=/^object:(.+)\.(center|top|base)$/s.exec(sl(n))??[],a=Mi(t,r).map(e=>t.objects[e]);if(!a.length)return null;let o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0];for(let t of a)for(let n of[-1,1])for(let r of[0,2])for(let i of[-1,1]){let a=e(t.pos,p(t.R,[n*t.half[0],r*t.half[1],i*t.half[2]]));for(let e=0;e<3;e++)o[e]=Math.min(o[e],a[e]),s[e]=Math.max(s[e],a[e])}let c=[(o[0]+s[0])/2,(o[1]+s[1])/2,(o[2]+s[2])/2];return i===`top`?[c[0],s[1],c[2]]:i===`base`?[c[0],o[1],c[2]]:c}let ll=e=>e.moved??e.still,ul=(e,t,n=Array.isArray(t.at)?t.at[0]:t.at)=>ll(t).startsWith(`object:`)?cl(e.ctx.scene,ll(t)):mi(e,n,ll(t));function dl(e,n,r){let i=mi(e,r,n),o=e.fps??24;if(!i)return null;let s=mi(e,r-1,n),c=mi(e,r+1,n);if(s&&c)return a(t(c,s))*o/2;let l=s??c;return l?a(t(i,l))*o:null}function fl(e,n,r,i,o){if(r===`near`)return hi(e,i,n.near[0],n.near[1]);if(r===`above`){let t=mi(e,i,n.above[0]),r=mi(e,i,n.above[1]);return t&&r?t[1]-r[1]:null}if(r===`speed`)return dl(e,n.speed,i);let s=o&&mi(e,i,sl(ll(n)));return s?a(t(s,o)):null}let pl=(e,t,n)=>tl.has(e)?t-n:n-t,ml=e=>Math.max(1e-4,Math.round(e*1e4)/1e4);function hl(e,t,n,r,i){let a=al(t,n),o=(n===`moved`||n===`still`)&&!ll(t).startsWith(`object:`),s=n===`moved`||n===`still`?ul(e.out,t,r):null,c=[];for(let o=Math.max(r,e.f0);o<=Math.min(i,e.last);o++){let r=fl(e.out,t,n,o,s);r!==null&&c.push({f:o,v:r,short:pl(n,r,a)})}return{rows:c,from:o?r:void 0}}function gl(e,t){if(e.events.has(t))return e.events.get(t);if(e.visiting.has(t))return null;e.visiting.add(t);let n=e.goals[t],r=rl(n)[0],i=r&&_l(e,t),a;if(i&&!i.wait){let{rows:t}=hl(e,n,r,i.a,i.b);a=t.length?t.find(e=>e.short<=0)?.f??null:void 0}else a=i?.wait?null:void 0;return e.visiting.delete(t),e.events.set(t,a),a}function _l(e,t){let n=e.goals[t],[r,i]=Array.isArray(n.at)?n.at:[n.at,n.at];for(let a of[`after`,`before`]){if(n[a]===void 0)continue;let o=e.names.get(n[a]);if(o===void 0||o===t)return{wait:`${a} "${n[a]}" names no other goal`};let s=gl(e,o);if(s===void 0)return{skip:!0};if(s===null)return{wait:`waits for "${n[a]}" (${a}), which never holds`};if(a===`after`?r=Math.max(r,s+1):i=Math.min(i,s-1),r>i)return{wait:`no frames left ${a} "${n[a]}" (it holds first at f${s}; at is f${Array.isArray(n.at)?`${n.at[0]}-f${n.at[1]}`:n.at})`}}return{a:r,b:i}}function vl(e,t,n,r,i,a){let o=i?`f${n.f}, the best of f${i[0]}-f${i[1]}`:`f${n.f}`;return t===`near`?`${e}: ${G(n.v)} m at ${o} (needs <= ${r})`:t===`above`?`${e}: ${G(n.v)} m above at ${o} (needs >= ${r})`:t===`speed`?`${e}: ${G(n.v)} m/s at ${o} (needs >= ${r})`:t===`still`?`${e}: ${G(n.v)} m from ${a===void 0?`its scene pose`:`f${a}`} at ${o} (needs <= ${r})`:`${e}: moved ${G(n.v)} m${a===void 0?``:` from f${a}`} at ${o} (needs >= ${r})`}function yl(e,t,n){let r=e.f0??0;return _l({out:e,goals:t,names:new Map(t.map((e,t)=>[il(e,t),t])),f0:r,last:r+(e.frames?.length??0)-1,events:new Map,visiting:new Set},n)}function bl(e,t){let n=[],r=[],i=e.f0??0,a={out:e,goals:t,names:new Map(t.map((e,t)=>[il(e,t),t])),f0:i,last:i+(e.frames?.length??0)-1,events:new Map,visiting:new Set};return t.forEach((e,t)=>{let o=rl(e)[0];if(!o)return;let s=il(e,t),c=al(e,o),l=_l(a,t),u=Array.isArray(e.at)?e.at[0]:e.at;if(l.skip)return;if(l.wait){r.push({name:s,kind:o,ok:!1,value:null,at:null,need:c}),u>=i&&u<=a.last&&n.push({kind:`GOAL`,msg:`${s}: ${l.wait}`,frame:u-i,value:.01,limit:0});return}let{rows:d,from:f}=hl(a,e,o,l.a,l.b);if(!d.length)return;o===`moved`&&f!==void 0&&(d=[d.reduce((e,t)=>t.v>e.v?t:e)]);let p=ol(e,o)===`any`,m=Array.isArray(e.at)?l.a!==l.b:!1,h=d.reduce((e,t)=>(p?t.short<e.short:t.short>e.short)?t:e),g=h.short<=0;if(r.push({name:s,kind:o,ok:g,value:G(h.v),at:h.f,need:c}),!g)for(let e of p?[h]:d.filter(e=>e.short>0))n.push({kind:`GOAL`,msg:vl(s,o,e,c,p&&m?[l.a,l.b]:null,f),frame:e.f-i,value:ml(e.short),limit:0})}),{issues:n,results:r}}let xl=`{ name?, near | above | moved | still | speed, tol?, by?, at, mode?, after?, before? }`,Sl=new Set([`near`,`still`]),Cl=new Set([`above`,`moved`,`speed`]);function wl(e,t){let n=Number.isFinite(t)&&t!==0?Math.abs(t):.05;return e===`speed`?`speed takes by (the point reaches by m/s): use by: ${n} (m/s), not tol`:e===`above`?`above takes by (a.y - b.y >= by, default 0): use by: ${n} for a at least ${n} m above b, or by: -${n} to let a sit up to ${n} m below b, not tol`:`moved takes by (the object moves >= by, default 0.05): use by: ${n} (metres), not tol`}let Tl=e=>typeof e==`string`&&e!==``&&!/^[a-z]+:/.test(e),El=e=>[`moved`,`still`,`speed`].find(t=>Tl(e?.[t]));function Dl(e){return Array.isArray(e)&&e.some(El)?e.map(e=>{let t=El(e);return t?{...e,[t]:`object:${e[t]}`}:e}):e}function Ol(e,t,n,r,i=``){let a=e=>Number.isInteger(e);if(n===void 0)return e(`${t} needs at: a frame or [f0, f1] (absolute frames within 0..${r-1})`);let o=Array.isArray(n)?n:[n,n];if(!(o.length===2&&o.every(a)&&o[0]<=o[1]))return e(`${t}.at must be an integer frame or [f0, f1] with f0 <= f1, got ${U(n)}`);(o[0]<0||o[1]>r-1)&&e(`${t}.at = ${U(n)} is outside 0..${r-1} (spec.frames ${r})${o[1]>r-1?i:``}`)}function kl(e,t,n,r,i,a){let o=i[a];if(typeof o!=`string`)return t(`${r}.${a} must be an object id or a point ref (object:<id>[.center|.top|.base], prop:<prop>.<point>, joint:<Bone>, landmark:mouth, anchor:<name>), got ${U(o)}`);_i(e,t,n,`${r}.${a}`,o)&&a!==`speed`&&!o.startsWith(`object:`)&&(Number.isInteger(i.at)||Array.isArray(i.at)&&i.at[0]===i.at[1])&&t(`${r}.${a} "${o}" measures ${a===`moved`?`how far the point gets`:`how far the point strays`} from where it is at at[0], so at must be [f0, f1] with f0 < f1, got ${U(i.at)}`)}function Al(e,t,n,r,i,a){let o=`goals[${i}]`,s={sk:n.sk,scene:n.scene},c=n.unknown??t;if(!r||typeof r!=`object`||Array.isArray(r))return t(`${o} must be ${xl}, got ${U(r)}`);for(let e of Object.keys(r))ai.includes(e)||c(`${o} has unknown field "${e}"${W(e,ai)} (fields: ${ai.join(`, `)})`);r.name!==void 0&&(typeof r.name!=`string`||!r.name.trim()?t(`${o}.name must be a non-empty string, got ${U(r.name)}`):a.has(r.name)?t(`${o}.name "${r.name}" is already used by goals[${a.get(r.name)}]; goal names must differ`):a.set(r.name,i));let l=rl(r),u=l[0];if(l.length||t(`${o} needs one predicate: ${$c.join(`, `)}`),l.length>1&&t(`${o} names ${l.join(` and `)}; a goal takes exactly one of ${$c.join(`, `)} (split it into ${l.length} goals)`),l.length===1&&nl.has(u))kl(e,t,s,o,r,u);else if(l.length===1){let n=r[u];Array.isArray(n)&&n.length===2&&n.every(e=>typeof e==`string`)?n.forEach((n,r)=>_i(e,t,s,`${o}.${u}[${r}]`,n)):t(`${o}.${u} must be [ref, ref] (two point refs), got ${U(n)}`)}r.tol!==void 0&&(l.length===1&&!Sl.has(u)?t(`${o}.tol applies to near and still; ${wl(u,r.tol)}`):Number.isFinite(r.tol)&&r.tol>=0||t(`${o}.tol must be a number >= 0 (metres), got ${U(r.tol)}`)),r.by===void 0?u===`speed`&&l.length===1&&t(`${o}.speed needs by: the speed the point must reach, in m/s (e.g. by: 2)`):l.length===1&&!Cl.has(u)?t(`${o}.by applies to above, moved and speed; ${u} takes tol`):(!Number.isFinite(r.by)||u===`moved`&&r.by<0||u===`speed`&&r.by<=0)&&t(`${o}.by must be a ${u===`moved`?`number >= 0 (metres)`:u===`speed`?`number > 0 (m/s)`:`finite number (metres)`}, got ${U(r.by)}`),r.mode!==void 0&&r.mode!==`all`&&r.mode!==`any`&&t(`${o}.mode must be "all" or "any", got ${U(r.mode)}`),Ol(t,o,r.at,n.frames,n.past)}function jl(e,t){let n=new Map(e.map((e,t)=>[e&&typeof e==`object`?il(e,t):`goals[${t}]`,t])),r=e.map((e,r)=>[`after`,`before`].flatMap(i=>{if(!e||typeof e!=`object`||e[i]===void 0)return[];let a=n.get(e[i]);return typeof e[i]!=`string`||a===void 0?(t(`goals[${r}].${i} must name another goal (its name, or goals[<i>] when it has none), got ${U(e[i])}${typeof e[i]==`string`?W(e[i],[...n.keys()]):``}`),[]):a===r?(t(`goals[${r}].${i} names the goal itself; name the goal whose first met frame this one waits for`),[]):[a]})),i=e.map(()=>0),a=[],o=n=>{if(i[n]!==2){if(i[n]===1){let r=a.slice(a.indexOf(n)).map(t=>`"${il(e[t],t)}"`);return t(`goals wait on each other through after/before: ${[...r,r[0]].join(` -> `)}; one of them must not wait`)}i[n]=1,a.push(n);for(let e of r[n])o(e);a.pop(),i[n]=2}};e.forEach((e,t)=>o(t))}function Ml(e,t,n){if(e.goals===void 0)return;if(!Array.isArray(e.goals))return t(`spec.goals must be an array of goals ${xl}, got ${U(e.goals)}`);let r=new Map;e.goals.forEach((i,a)=>Al(e,t,n,i,a,r)),jl(e.goals,t)}let Nl=new Set([`l`,`r`]),Pl=e=>!!e&&typeof e==`object`&&!Array.isArray(e);function Fl(e,t,n,r){if(Pl(n))for(let i of Object.keys(n))r.includes(i)||e(`${t} has unknown field "${i}"${Pr(i,r)} (fields: ${r.join(`, `)})`)}function Il(e,t,{sk:n,scene:r,unknown:i=t}){for(let[a,o]of Object.entries(e.anchors??{})){let s=`anchors.${a}`;if(/_[lr]$/.test(a)&&t(`${s}: an anchor name may not end in _l or _r (the weight channel w_${a}_l would read as anchor "${a.slice(0,-2)}"); the side goes on the weight channel, so name it "${a.slice(0,-2)}"`),!o||!Xr[o.kind]){t(`${s}.kind must be one of ${Object.keys(Xr).join(`, `)}, got ${U(o?.kind)}`);continue}Fl(i,`${s} (${o.kind})`,o,[`kind`,...Xr[o.kind]]);for(let e of[`p`,`offset`,`local`])o[e]!==void 0&&!Fr(o[e])&&t(`${s}.${e} must be [x, y, z], got ${U(o[e])}`);(o.kind===`world`||o.kind===`body`)&&o.p===void 0&&t(`${s} (${o.kind}) needs p: [x, y, z]${o.kind===`body`?`, ${Mr.pole}`:``}`),o.kind===`bone`&&ci(t,n,s,o.bone),o.kind===`segment`&&(ci(t,n,`${s}.from`,o.from),ci(t,n,`${s}.to`,o.to),o.reach!==void 0&&!Nl.has(o.reach)&&t(`${s}.reach must be "l" or "r"`)),o.kind===`object`&&li(t,r,s,o.object,{groups:!0})&&(o.grasp!==void 0&&!Dr.includes(o.grasp)&&t(`${s}.grasp must be one of ${Dr.join(`, `)}, got ${U(o.grasp)}`),o.socket!==void 0&&r?.objects&&!ia(r,o.object,o.socket)&&t(`${s}.socket: "${o.object}" has no socket ${U(o.socket)} (sockets: ${ra(r,o.object).map(e=>e.name).join(`, `)||`none`})`),o.socket!==void 0&&o.grasp===void 0&&t(`${s}.socket needs grasp (${Dr.join(`, `)}): the socket says how the hand takes it`)),o.kind===`person`&&!Wr(r,o.person,o.bone??``,0)&&t(`${s} (person) needs person: the id of another character with an installed take (people: ${Gr(r)}) and bone: one of its joints, got ${U(o.person)} ${U(o.bone)}`),o.kind===`landmark`&&o.name!==`mouth`&&t(`${s}: the only landmark is "mouth", got ${U(o.name)}`),o.kind===`prop`&&!e.props?.[o.prop]?.points?.[o.point]&&o.point!==`origin`&&t(`${s} needs prop point ${o.prop}.${o.point}, which spec.props does not define`)}}function Ll(e,t,{sk:n,unknown:r=t}){for(let[i,a]of Object.entries(e.props??{})){let e=`props.${i}`;Fl(r,e,a,Zr),Nl.has(a?.hand)||t(`${e}.hand must be "l" or "r", got ${U(a?.hand)}`),!Array.isArray(a?.origin)||!a.origin.length?t(`${e}.origin must list one or more bones`):a.origin.forEach(r=>ci(t,n,`${e}.origin`,r));for(let[n,r]of Object.entries(a?.points??{}))Fr(r)||t(`${e}.points.${n} must be [d, l, n] along the palm axes, got ${U(r)}`)}(e.fits??[]).forEach((i,a)=>{let o=`fits[${a}]`;Fl(r,o,i,Qr),Nl.has(i?.side)||t(`${o}.side must be "l" or "r", got ${U(i?.side)}`),e.anchors?.[i?.anchor]||t(`${o}.anchor "${i?.anchor}" is not in spec.anchors${W(String(i?.anchor),Object.keys(e.anchors??{}))}`);let s=i?.effector;s?.prop===void 0?Array.isArray(s?.joints)?s.joints.forEach(e=>ci(t,n,`${o}.effector`,e)):t(`${o}.effector must be { prop, point } or { joints: [bone, ...] }`):e.props?.[s.prop]?.points?.[s.point]||t(`${o}.effector ${s.prop}.${s.point} is not a point of spec.props`),i?.offset!==void 0&&!Fr(i.offset)&&t(`${o}.offset must be [x, y, z]`),i?.orient!==void 0&&typeof i.orient!=`boolean`&&t(`${o}.orient must be true or false (false: the hand takes no grip turn), got ${U(i.orient)}`)})}function Rl(e,t,{frames:n,unknown:r=t,past:i=``}){(e.generators??[]).forEach((e,a)=>{let o=`generators[${a}]`;if(e?.type!==`walk`)return t(`${o}.type must be "walk", got ${U(e?.type)}`);Fl(r,o,e,ni),(!Number.isInteger(e.f0)||e.f0<0||e.f0>n-1)&&t(`${o}.f0 must be an integer frame within 0..${n-1}, got ${U(e.f0)}${e.f0>n-1?i:``}`),e.heading!==void 0&&!(Array.isArray(e.heading)&&e.heading.length===2&&e.heading.every(Number.isFinite))&&t(`${o}.heading must be [h0, h1] in degrees (${Mr.yaw}), got ${U(e.heading)}`);for(let n of ni.slice(2))n!==`heading`&&e[n]!==void 0&&!Number.isFinite(e[n])&&t(`${o}.${n} must be a finite number, got ${U(e[n])}`);e.steps!==void 0&&!(Number.isInteger(e.steps)&&e.steps>=1)&&t(`${o}.steps must be an integer >= 1, got ${U(e.steps)}`),e.turnDistance!==void 0&&!(e.turnDistance>0)&&t(`${o}.turnDistance must be > 0 m, got ${U(e.turnDistance)}`)})}function zl(e,t,{sk:n,scene:r,frames:i,unknown:a=t,past:o=``}){let s=e.checks??{};for(let e of Object.keys(s))ri.includes(e)||a(`checks.${e} is not a check${W(e,ri)} (checks: ${ri.join(`, `)})`);let c=(e,n=()=>{})=>{let r=s[e],i=`{ ${ii[e].join(`, `)} }`;if(r!==void 0){if(!Array.isArray(r))return t(`checks.${e} must be an array of ${i}, got ${U(r)}`);r.forEach((r,o)=>{if(!Pl(r))return t(`checks.${e}[${o}] must be ${i}, got ${U(r)}`);Fl(a,`checks.${e}[${o}]`,r,ii[e]),n(r,o)})}},l=(e,n)=>{n!==void 0&&typeof n!=`string`&&(Array.isArray(n)&&n.length===2&&n.every(Number.isInteger)&&n[0]<=n[1]&&n[0]>=0&&n[1]<=i-1||t(`${e}.when must be a weight channel or [f0, f1] within 0..${i-1}, got ${U(n)}${Array.isArray(n)&&n[1]>i-1?o:``}`))};c(`contacts`,(r,i)=>{ui(e,t,n,`checks.contacts[${i}].point`,r.point),ui(e,t,n,`checks.contacts[${i}].target`,r.target),l(`checks.contacts[${i}]`,r.when)}),c(`orient`,(r,i)=>{ui(e,t,n,`checks.orient[${i}].from`,r.from),ui(e,t,n,`checks.orient[${i}].to`,r.to),l(`checks.orient[${i}]`,r.when),r.along===`face`||r.along===`up`||Fr(r.along)||t(`checks.orient[${i}].along must be "face", "up" or [x, y, z]`)}),c(`below`,(e,r)=>{ci(t,n,`checks.below[${r}].joint`,e.joint),ci(t,n,`checks.below[${r}].ref`,e.ref),l(`checks.below[${r}]`,e.when)}),c(`clearance`,(e,n)=>{li(t,r,`checks.clearance[${n}]`,e.object),l(`checks.clearance[${n}]`,e.frames)}),c(`appear`,(r,i)=>{ci(t,n,`checks.appear[${i}].joint`,r.joint),e.anchors?.[r.anchor]||t(`checks.appear[${i}].anchor "${r.anchor}" is not in spec.anchors`)}),c(`supports`,(e,n)=>li(t,r,`checks.supports[${n}]`,e.object)),c(`allow`);for(let e of Object.keys(s.limits??{}))e in Kn||a(`checks.limits.${e} is not a QA limit${W(e,Object.keys(Kn))}`);let u=e.fix;if(u!==void 0&&u!==!1&&(typeof u!=`object`||!u))t(`spec.fix must be false or { reach, slide, penetration, self, retime }`);else for(let e of Object.keys(u||{}))Ac.includes(e)||a(`spec.fix.${e} is not a fix${W(e,Ac)} (fixes: ${Ac.join(`, `)})`)}function Bl(e,t,n){Il(e,t,n),Ll(e,t,n),Qc(e,t,n),Rl(e,t,n),zl(e,t,n),Ml(e,t,n)}function Vl(e){let t=new Set(e.channels??[]);for(let n of Object.values(e.objects??{}))for(let e of[n?.channel,n?.visible,n?.level])typeof e==`string`&&e&&t.add(e);let n=e.checks??{},r=e=>Array.isArray(e)?e.filter(e=>e&&typeof e==`object`):[];for(let e of[n.contacts,n.orient,n.below,n.clearance].flatMap(r))typeof e.when==`string`&&t.add(e.when);for(let e of r(n.appear))typeof e.channel==`string`&&t.add(e.channel);return t}function Hl(e,t,n,r){if(Sr.has(n)){if(!Fr(r))return e(`${t} ${n} must be [x, y, z] (3 finite numbers), got ${U(r)}`);if(Cr.has(n)){let i=Math.hypot(...r);if(i<1e-6)return e(`${t} ${n} = ${U(r)} has no direction; a pole is a ${Mr.pole}`);n.startsWith(`knee`)&&r[2]<-.7*i&&e(`${t} ${n} = ${U(r)} points backward; knees bend toward +z. A pole is a ${Mr.pole}`)}n.startsWith(`foot`)&&r[1]<.04&&e(`${t} ${n} y = ${r[1]} puts the ankle into the floor; foot_* is the ${Mr.foot}`);return}if(Tr.has(n)){if(!r||typeof r!=`object`||Array.isArray(r))return e(`${t} ${n} must be { preset: weight }, presets ${Er.join(`, `)}; got ${U(r)}`);for(let[i,a]of Object.entries(r))Er.includes(i)?Number.isFinite(a)&&a>=0&&a<=1||e(`${t} ${n}.${i} must be a weight within 0..1, got ${U(a)}`):e(`${t} ${n} preset "${i}" is unknown${W(i,Er)} (presets: ${Er.join(`, `)})`);return}if(!Number.isFinite(r))return e(`${t} ${n} must be a finite number${n===`yaw`?` (degrees; ${Mr.yaw})`:n.startsWith(`fyaw`)?` (${Mr.fyaw})`:``}, got ${U(r)}`);let i=jr(n);i&&(r<i[1]||r>i[2])&&e(`${t} ${n} = ${r} is outside ${i[1]}..${i[2]} (${i[3]})`)}let Ul=e=>Array.isArray(e)?e:[],Wl=e=>Array.isArray(e)?e[1]:e;function Gl(e,t){let n=[...Ul(e.keys).map(e=>e?.f),...Ul(e.generators).map(e=>e?.f0)].filter(Number.isInteger),r=e.checks??{},i=[...[`contacts`,`orient`,`below`].flatMap(e=>Ul(r[e]).map(e=>Wl(e?.when))),...Ul(r.clearance).map(e=>Wl(e?.frames)),...Ul(e.goals).map(e=>Wl(e?.at))].filter(Number.isInteger),a=Math.max(t-1,...n,...i)+1;return`; set frames >= ${a}${Math.max(0,...n)+1>=a?` or frames: "auto"`:``}`}function Kl(e,t,n,r,i=``){if(e.keys!==void 0&&!Array.isArray(e.keys))return t(`spec.keys must be an array of { f, set, step? }`);let a=Object.keys(e.anchors??{}),o=Vl(e),s=[...Sr,...wr,...Tr,...o,...a.flatMap(e=>[`w_${e}_l`,`w_${e}_r`])];(e.keys??[]).forEach((e,c)=>{let l=e?.src?e.src.startsWith(`keys[`)?e.src:`${e.src} key`:`keys[${c}]`;if(!e||typeof e!=`object`)return t(`${l} must be { f, set, step? }`);for(let t of Object.keys(e))Jr.includes(t)||r(`${l} has unknown field "${t}"${Pr(t,Jr)}; a key is { f, set, step? }`);if(!Number.isInteger(e.f))return t(`${l}.f must be an integer frame, got ${U(e.f)}`);(e.f<0||e.f>n-1)&&t(`${l}.f = ${e.f} is outside 0..${n-1} (spec.frames ${n})${e.f>0?i:``}`);let u=`${l} (f${e.f})`;if(!e.set||typeof e.set!=`object`||Array.isArray(e.set))return t(`${u} needs set: { channel: value }`);for(let[n,r]of Object.entries(e.set)){let e=/^w_(.+)_([lr])$/.exec(n);e&&!a.includes(e[1])?t(`${u} sets ${n}, but there is no anchor "${e[1]}"${W(n,s)}`):e||Sr.has(n)||wr.has(n)||Tr.has(n)?Hl(t,u,n,r):o.has(n)||n.endsWith(`_vis`)?Number.isFinite(r)||t(`${u} ${n} must be a finite number, got ${U(r)}`):t(`${u} sets unknown channel "${n}"${W(n,s)}`)}for(let n of e.step??[])n in e.set||t(`${u} step names "${n}", which this key does not set`);e.step!==void 0&&!Array.isArray(e.step)&&t(`${u} step must be an array of channel names`)})}function ql(e,t,n){if(e===void 0||e===!1)return;if(!e||typeof e!=`object`||Array.isArray(e))return t(`spec.flow must be false or { smooth?, lag? }, got ${U(e)}`);for(let t of Object.keys(e))t!==`smooth`&&t!==`lag`&&n(`spec.flow has unknown field "${t}" (fields: smooth, lag)`);e.smooth!==void 0&&typeof e.smooth!=`boolean`&&t(`spec.flow.smooth must be true or false, got ${U(e.smooth)}`);let r=e=>Number.isFinite(e)&&e>=0&&e<=6,i=e.lag;if(!(i===void 0||i===!1||r(i))){if(!i||typeof i!=`object`||Array.isArray(i))return t(`spec.flow.lag must be false, 0..6 frames or { spine?, head?, arms? }, got ${U(i)}`);for(let[e,a]of Object.entries(i))[`spine`,`head`,`arms`].includes(e)?r(a)||t(`spec.flow.lag.${e} must be 0..6 frames, got ${U(a)}`):n(`spec.flow.lag has unknown field "${e}" (fields: spine, head, arms)`)}}function Jl(e,{sk:t,scene:n,lenient:r=!1}={}){let i=[],a=e=>{i.length<12&&i.push(e)},o=r?()=>{}:a;if(!e||typeof e!=`object`)throw Error(`MOTION_SPEC_INVALID: spec must be an object`);e.schema!==`cozyclay.motion-spec.v1`&&a(`spec.schema must be "cozyclay.motion-spec.v1", got ${U(e.schema)}`);for(let t of Object.keys(e))qr.includes(t)||o(`spec.${t} is not a spec field${W(t,qr)} (fields: ${qr.join(`, `)})`);e.fps!==void 0&&e.fps!==24&&a(`spec.fps must be 24, the timeline rate, got ${U(e.fps)}`),ql(e.flow,a,o);let s=e.frames;(!Number.isInteger(s)||s<1||s>2e4)&&a(`spec.frames must be an integer 1..20000 or "auto", got ${U(s)}`);let c=Number.isInteger(s)?Gl(e,s):``;if(Kl(e,a,Number.isInteger(s)?s:2e4,o,c),Bl(e,a,{sk:t,scene:n,frames:Number.isInteger(s)?s:2e4,lenient:r,unknown:o,past:c}),i.length)throw Error(`MOTION_SPEC_INVALID: ${i.join(`
2
- `)}${i.length>=12?`
3
- (more problems not listed)`:``}`)}function Yl(e,t,n){let{s:r,diag:i,c:a}=e.frames[t],[o,s]=n.split(/:(.*)/s);if(o===`joint`)return r.P[e.ctx.sk.index[s]];if(o===`prop`){let[e,t]=s.split(`.`);return i.props?.[e]?.[t]??null}if(o===`anchor`)return ma(e.ctx,s,r,i,a);throw Error(`MOTION_SPEC_INVALID: check point "${n}"`)}function Xl(e,t){let[n,r]=t.split(/:(.*)/s),i=n===`anchor`?e.ctx.spec.anchors?.[r]:null;return i?.kind!==`object`||!i.grasp?null:e.ctx.sockets?.get(r)?.owner??i.object}let Zl=(e,t,n)=>Array.isArray(n)?t+(e.f0??0)>=n[0]&&t+(e.f0??0)<=n[1]:!n||(e.frames[t].c[n]??0)>.99;function Ql(e,t,n){return n===`up`?[0,1,0]:n===`face`?j(e.ctx.sk,e.frames[t].s,e.ctx.sk.index.Head,[0,0,1]):s(n)}function $l(e,n={}){let i=[],o=e.frames.length,c=e.ctx.sk.index,l=(e,t,n,r,a)=>i.push({kind:e,msg:t,frame:n,value:+r.toFixed(4),limit:a});for(let i=0;i<o;i++){for(let r of n.contacts??[])if(Zl(e,i,r.when)){let n=Yl(e,i,r.point),o=Yl(e,i,r.target);if(!n||!o)continue;let s=Xl(e,r.target),c=s?hi(e,i,r.point,`object:${s}`)??a(t(n,o)):a(t(n,o));c>(r.tol??.01)&&l(`CONTACT`,`${r.name}: ${(c*100).toFixed(1)} cm apart`,i,c,r.tol??.01)}for(let a of n.orient??[])if(Zl(e,i,a.when)){let n=Yl(e,i,a.from),o=Yl(e,i,a.to);if(!n||!o)continue;let c=r(s(t(o,n)),Ql(e,i,a.along));c<(a.minCos??.64)&&l(`ORIENT`,`${a.name}: cos ${c.toFixed(2)}`,i,c,a.minCos??.64)}for(let t of n.below??[])if(Zl(e,i,t.when)){let{P:n}=e.frames[i].s,r=n[c[t.ref]][1]-n[c[t.joint]][1];r<(t.min??.08)&&l(`BELOW`,`${t.name}: ${t.joint} only ${(r*100).toFixed(1)} cm below ${t.ref}`,i,r,t.min??.08)}for(let t of n.clearance??[])if(Zl(e,i,t.frames)){let n=e.objectsAt(i)[t.object],r=Qt.find(e=>e[0]===t.part);if(!n||!r)continue;let{P:a}=e.frames[i].s,o=Math.min(...$t(a[c[r[1]]],a[c[r[2]]]).map(e=>H(e,n)))-r[3];o<t.min&&l(`CLEARANCE`,`${t.name}: ${(o*100).toFixed(1)} cm`,i,o,t.min)}}for(let r of n.appear??[])for(let n=1;n<o;n++){if((e.frames[n-1].c[r.channel]??0)>.5==(e.frames[n].c[r.channel]??0)>.5)continue;let i=a(t(Yl(e,n,`joint:${r.joint}`),Yl(e,n,`anchor:${r.anchor}`)));i>(r.tol??.035)&&l(`APPEAR`,`${r.name}: switches with the hand ${(i*100).toFixed(1)} cm from ${r.anchor}`,n,i,r.tol??.035)}return i}let eu=/^(.+): [\d.]+ cm off its keys$/,tu={twist:`twist about the forearm`,flex:`flex`,dev:`deviation (+ toward the thumb)`};function nu(t,n){let r=t.objects[n]??Nt(t)[n];return Mi(t,n).flatMap(n=>{let i=t.objects[n],a=At(r,i),[o,s,c]=i.half;return[-o,o].flatMap(t=>[0,2*s].flatMap(n=>[-c,c].map(r=>e(a.pos,p(a.R,[t,n,r])))))})}function ru(t,n,r){let{scene:i}=t.ctx,a=t.f0??0;for(let[s]of Ga(t.ctx.spec)){let c=Ha(t,s),l=nu(i,s);if(l.length)for(let i=Math.max(a,Math.ceil(c.t[0]));i<=Math.min(a+t.frames.length-1,Math.floor(c.t[c.t.length-1]));i++){let u=Ua(c,i),d=qi(t,s,i),f=Math.max(...l.map(t=>o(e(u.pos,p(u.R,t)),e(d.pos,p(d.R,t)))));f>n.reach&&r(`REACH`,`${s}: ${(f*100).toFixed(1)} cm off its keys`,i-a,f,n.reach)}}}function iu(e,t){let n=eu.exec(t.subject)?.[1],r=e.spec?.objects?.[n];if(!r?.keys?.length)return null;let i=t.worstFrame,a=e.spec.props?.[r.prop]?.hand,o=e.fr(i).diag[`hold_${a}`]??{},s=r.keys.reduce((e,t,n)=>Math.abs(t.f-i)<Math.abs(r.keys[e].f-i)?n:e,0),c=Object.entries(Ge).filter(([e,[t,n]])=>o[e]<t||o[e]>n).map(([e,[t,n]])=>`the wrist ${tu[e]} needs ${Math.round(o[e])}deg (limit ${t}..${n})`);c.length&&(c[c.length-1]+=` after the elbow swung ${Math.round(o.swivel??0)}deg and the forearm turned`);let l=o.miss>.005&&o.fold,u=l?`the grip is ${(o.miss*100).toFixed(1)} cm inside the forearm's reach (the elbow would fold ${Math.round(o.fold)}deg; it bends to 145deg and stops at 150deg)`:`the arm is ${(o.miss*100).toFixed(1)} cm short`,d=[...o.miss>.005?[u]:[],...c],f=r.keys[s].aim&&r.keys[s].roll===void 0?``:`; an aim key without roll takes the roll the arm holds most easily`;return{cause:`objects.${n}.keys[${s}] f${r.keys[s].f}`,hint:`${n} at f${i}: ${d.length?d.join(`, `):`the hand cannot hold it there`}; ${l?`key a pose farther from the shoulder, or turn or move the body away from it`:`key a pose nearer the hand, or bring the body to it`} (root, yaw, spine_yaw)${f}`}}let au=e=>Math.round(e*10)/10,ou=e=>Math.round(e*100)/100;function su(e){let t=Ga(e.ctx.spec);return t.length?Object.fromEntries(t.map(([t,n])=>{let r=Ha(e,t);return[t,[...n.keys].sort((e,t)=>e.f-t.f).map((n,i)=>{let a=qi(e,t,Math.round(r.t[i])),c=[a.R[0][1],a.R[1][1],a.R[2][1]],l=n.aim?s(n.aim):p(C(r.q[i]),[0,1,0]),u=au(w(l,c));return{f:n.f,deg:u,cm:au(o(n.pos,a.pos)*100),...u>=1?{got:c.map(ou)}:{},...n.aim?{rot:r.rots[i]}:{}}})]})):null}let cu=t=>e(t.pos,p(t.R,[0,t.half[1],0])),lu=(e,t)=>[e[0][t],e[1][t],e[2][t]];function uu(e,o,c=null){let l=cu(e),u=cu(o),d=t(l,u),f=[0,1,2].map(t=>lu(e.R,t)),p=[0,1,2].map(e=>lu(o.R,e)),m=[...f,...p,...f.flatMap(e=>p.map(t=>i(e,t)))],h={depth:1/0,axis:[0,1,0]};for(let t of m){if(a(t)<1e-6)continue;let i=s(t),l=(e,t)=>t.reduce((t,n,a)=>t+Math.abs(r(n,i))*e.half[a],0),u=l(e,f)+l(o,p);if(u-Math.abs(r(d,i))<=0)return{depth:u-Math.abs(r(d,i)),axis:i};let m=r(c??d,i)<0?n(i,-1):i,g=u-r(d,m);g<h.depth&&(h={depth:g,axis:m})}return h}let du=(t,r,i,a)=>{let o=i===`l`?`Left`:`Right`,s=n(e(r.P[t.index[`${o}HandIndex2`]],r.P[t.index[`${o}HandMiddle2`]]),.5);return a.some(e=>H(s,e)<=0)},fu=(e,t,n)=>!t.visible||(e.baked?.[t.visible]?.[n]??0)>.5,pu=(e,t,n)=>Mi(e.ctx.scene,t).map(t=>({...e.ctx.scene.objects[t],...Hi(e,t,n)}));function mu(e,t,n){let{sk:r,spec:i}=e.ctx,a=e.frames[n-(e.f0??0)];if(!a)return null;let o=Ot(r,i,a.s,i.objects[t]);return Math.max(0,Math.min(...pu(e,t,n).map(e=>H(o,e))))}function hu(t,r,i){let a=pu(t,r,i);if(!a.length)return null;let o=Math.min(...a.map(e=>e.pos[1]-Math.abs(e.R[1][0])*e.half[0]-Math.abs(e.R[1][2])*e.half[2])),s=n(a.map(cu).reduce((t,n)=>e(t,n),[0,0,0]),1/a.length),c=[s[0],o-.01,s[2]],l=null;for(let[e,n]of Object.entries(t.ctx.objectsAt(i))){if(n.carried||!n.half)continue;let t=H(c,n);t<=.02&&(!l||t<l[1])&&(l=[e,t])}return l?.[0]??null}function gu(t,r,i){let s=Object.entries(r.ctx.spec.objects??{}).filter(([,e])=>B(e));if(!s.length)return[];let c=i.checks??{},l={...Kn,...c.limits},u=c.allow,d=[],f=r.f0??0,p=t.index,m=(e,t,n,r,i)=>d.push({kind:e,msg:t,frame:n,value:+r.toFixed(4),limit:i}),h=(e,t)=>e.reduce((e,n)=>t.reduce((e,t)=>e??qn(u,n,t),e),null)??l.allow;for(let[c,u]of s){let[s,d]=Ii(r,u),g=i.props?.[u.prop]?.hand,_=new Set([`hand_${g}`,`farm_${g}`]);if(u.grab!==void 0&&s>0&&r.frames[s-f]&&fu(r,u,s-1)){let e=mu(r,c,s);e>l.grab&&m(`GRAB`,`${c}: hand ${(e*100).toFixed(1)} cm from it at grab`,s-f,e,l.grab)}let v=u.grab===void 0?null:hu(r,c,s),y=e=>Math.abs(e-s)<=3||u.release!==void 0&&Math.abs(e-d)<=3;for(let i=0;i<r.frames.length;i++){let l=i+f,d=Ji(r,c,l);if(!d||!fu(r,u,l))continue;let g=d.map(e=>e.id),b=d.map(e=>[e,cu(e),a(e.half)]),{s:x}=r.frames[i],S=Object.entries(r.frames[i].diag).filter(([e,n])=>/^hold_[lr]$/.test(e)&&n?.second===c&&(n.w>=.5||du(t,x,e.slice(-1),d))).map(([e])=>`hand_${e.slice(-1)}`);for(let[t,r,a,s]of Qt){if(_.has(t)||S.includes(t))continue;let l=x.P[p[r]],u=x.P[p[a]],d=n(e(l,u),.5),f=s+o(l,u)/2,v=h([t],[c,...g]),y=null,C=-1/0;for(let[e,t,n]of b)f-(o(d,t)-n)<=v||(y??=$t(l,u),C=Math.max(C,s-Math.min(...y.map(t=>H(t,e)))));C>v&&m(`COLLIDE`,`${t} x ${c}`,i,C,v)}if(!(l<s))for(let[e,t]of Object.entries(r.objectsAt(i))){if(!t.half||t.ignore||e===v&&y(l))continue;let n=h([c,...g],[e]),r=cu(t),s=a(t.half),u=-1/0;for(let[e,i,a]of b)o(i,r)<a+s+n&&(u=Math.max(u,uu(e,t).depth));u>n&&m(`COLLIDE`,`${c} x ${e}`,i,u,n)}}}return ru(r,l,m),d}let _u=.5,vu={twist:.5,flex:1,dev:1},yu=(e,t)=>t[e].map(t=>t*vu[e]);function bu(e,t,n,r){let{diag:i}=e.frames[n],a=e.baked??{};if((i[`hold_${t}`]?.w??0)>_u||(i[`grip_${t}`]?.w??0)>_u)return!0;for(let n of e.ctx.spec.fits??[])if(n.side===t&&(a[`w_${n.anchor}_${t}`]?.[r]??0)>_u)return!0;return Object.keys(e.ctx.spec.objects??{}).some(n=>e.ctx.spec.objects[n]?.prop&&Yi(e,n,r)===t)}function xu(e,r){let i=e.index,o=e.restWorldRot,s=r.f0??0,c={};for(let[l,u]of[[`Left`,`l`],[`Right`,`r`]]){let d=i[`${l}Hand`],h=i[`${l}ForeArm`],g=i[`${l}Arm`],_={frames:0,past:0,limit:0,raised:0};r.frames.forEach(({s:i},c)=>{let v=c+s;if(!bu(r,u,c,v))return;let y=n(t(i.P[d],i.P[h]),1/Math.max(1e-9,a(t(i.P[d],i.P[h])))),b=f(i.R[h],f(m(o[h]),o[d])),x=Qe(b,i.R[d],y,p(f(b,m(i.R[d])),L(e,i,l).l));_.frames++;for(let e of[`flex`,`dev`,`twist`]){let t=Math.round(x[e]),n=_[e];_[e]=n?[Math.min(n[0],t),t<n[0]?v:n[1],Math.max(n[2],t),t>n[2]?v:n[3]]:[t,v,t,v]}let S=(e,t)=>[`flex`,`dev`,`twist`].some(n=>{let[r,i]=yu(n,e);return x[n]<r+t||x[n]>i-t});S(Ke,-1)&&_.past++,S(Ge,1)&&_.limit++;let C=t(i.P[h],i.P[g]),w=Math.round(Math.acos(Math.max(-1,Math.min(1,-C[1]/Math.max(1e-9,a(C)))))*180/Math.PI);(!_.elevation||w>_.elevation[0])&&(_.elevation=[w,v]),w>90&&_.raised++}),_.frames&&(c[`hand_${u}`]=_)}for(let e of r.ctx.hold?.grips?.()??[])c[`hand_${e.hand}`]&&(c[`hand_${e.hand}`].grip={object:e.id,chose:e.name,cost:[e.cost,e.today]});return Object.keys(c).length?c:null}let Su=.5,Cu=[`flex`,`dev`,`twist`],wu={l:`Left`,r:`Right`},Tu={flex:e=>e>=0?`flex`:`extension`,dev:e=>e>=0?`radial deviation`:`ulnar deviation`,twist:()=>`twist`};function Eu(e){let t=null;for(let n of Cu){let[r,i]=Ge[n],a=e[n],o=a>=0?i:r,s=a>=0?a-i:r-a;(!t||s>t.past)&&(t={axis:n,value:a,edge:o,past:s})}return t}function Du(e,r,i,o){let{s,diag:c}=r.frames[o],l=c[`hold_${i}`];if((l?.w??0)>Su)return l;let u=wu[i],d=e.index,h=d[`${u}Hand`],g=d[`${u}ForeArm`],_=e.restWorldRot,v=n(t(s.P[h],s.P[g]),1/Math.max(1e-9,a(t(s.P[h],s.P[g])))),y=f(s.R[g],f(m(_[g]),_[h]));return Qe(y,s.R[h],v,p(f(y,m(s.R[h])),L(e,s,u).l))}function Ou(e,t){let n=[],r=t.f0??0;for(let i of[`l`,`r`])t.frames.forEach((a,o)=>{if(!bu(t,i,o,o+r))return;let s=Eu(Du(e,t,i,o));if(s.past<=.5)return;let c=Math.abs(s.edge);n.push({kind:`WRIST`,msg:`hand_${i} ${Tu[s.axis](s.value)} ${Math.round(Math.abs(s.value))}deg (limit ${Math.round(c)})`,frame:o,value:+Math.abs(s.value).toFixed(2),limit:c})});return n}function ku(e,t){let n=/^hand_([lr]) /.exec(t.subject)?.[1];if(!n)return null;let r=t.worstFrame,i=`at f${r}${t.count>1?` (f${t.first}-f${t.last}, ${t.count} frames)`:``}`,a=Math.round(e.out.ctx?.swivel?.[n]?.get(r)??0);if(Math.abs(a)>=1)return{cause:`fix.self elbow turn ${a}deg at f${r}`,hint:`${t.subject} ${i}: fix.self turned the elbow ${a} deg to keep the arm out of the body and the hand kept its turn, so the wrist took it; key elbow_${n} (the elbow pole) or the hand's target so the arm clears the body without the turn`};let o=(e.out.frames[e.rel(r)]?.diag[`hold_${n}`]?.w??0)>Su&&Object.keys(e.spec.objects??{}).find(t=>e.spec.props?.[e.spec.objects[t]?.prop]?.hand===n),s=e.fr(r).c.spine_pitch??0;return{cause:o?`objects.${o}.keys near f${r}`:e.cause(`armw_${n}`,r),hint:`${t.subject} ${i}: the arm cannot turn the hand that far from where the body stands; lean the upper body over the hand (spine_pitch ${Math.round(s)} at f${r}: try ${Math.round(s+20)}) or bring the body to it (root), ${o?`or key ${o} so the hand need not bend that far (its aim or pos)`:`or move what the hand reaches`}; repair: { rounds } tries leans of 10-30 deg here and keeps one that helps`}}let Au={WRIST:ku};function ju(e,t){let n=Math.max(0,Math.min(e.frames-1,t))*e.names.length,r=t=>{let r=e.names.indexOf(t),i=(n+r)*3;return[e.P[i],e.P[i+1],e.P[i+2]]};return Qt.map(([e,t,n,i])=>[e,r(t),r(n),i])}function Mu(e,t,n={}){let r=Object.entries(t.ctx?.scene?.people??{}),i=[];if(!r.length)return i;let a=e.index,s=t.f0??0,c={...Kn,...n.limits}.allow;return t.frames.forEach(({s:e},t)=>{let l=t+s,u=Qt.map(([t,n,r,i])=>[t,e.P[a[n]],e.P[a[r]],i]);for(let[s,d]of r){if(!Qt.every(([,e,t])=>d.names.includes(e)&&d.names.includes(t)))continue;let r=ju(d,l),f=r.find(e=>e[0]===`hips`)[1];if(!(o(e.P[a.Hips],f)>2.2))for(let[e,a,o,l]of u){let u=Math.max(...r.map(([,e,t,n])=>l+n-en(a,o,e,t))),d=qn(n.allow,e,`person:${s}`)??c;u>d&&i.push({kind:`PERSON`,msg:`${e} x person:${s}`,frame:t,value:+u.toFixed(4),limit:d})}}}),i}let Nu=(e,t)=>` (${e}the knee would fold ${Math.round(t)}deg; it bends to 150deg and stops at 160deg)`;function Pu(e,i,c,l,u){let d=i===`l`?`Left`:`Right`,f=e.fr(c).s.P,p=f[e.I[`${d}UpLeg`]],m=f[e.I[`${d}Leg`]],h=f[e.I[`${d}Foot`]],g=t(u,p),_=N(o(p,m),o(m,h),150)+.002,v=n(s(g),Math.max(0,_-a(g))),y=g[1]+Math.sqrt(Math.max(0,g[1]*g[1]-r(g,g)+_*_));return g[1]<0?{cause:e.cause(`root`,c),hint:`root: raise ${G(y)} m at f${c}${l}, or key foot_${i} farther from the hip (wider or more forward)`,fix:{channel:`root`,f:c,delta:[0,y,0]}}:{cause:e.cause(`foot_${i}`,c),hint:`foot_${i}: move ${K(v)} m out from the hip at f${c}${l}, or raise root ${G(y)} m`,fix:{channel:`foot_${i}`,f:c,delta:v}}}let Fu=.003,Iu=e=>/(^|_)l$|^Left/.test(e)?`l`:/(^|_)r$|^Right/.test(e)?`r`:null;function Lu(e,t,n,r,i){let a=e.spec.anchors?.[t],o=e=>`/anchors/${t}/${e}`;if(a?.kind===`world`)return{path:o(`p`),delta:r};if(a?.kind===`body`)return{path:o(`p`),delta:p(_(-(e.fr(n).c.yaw??0)),r)};if([`bone`,`segment`,`prop`,`person`].includes(a?.kind))return{path:o(`offset`),delta:r};if(a?.kind!==`object`)return;let s=e.fr(n),c=_a(e.out.ctx,a,t,{...s,diag:{...s.diag,frame:n}},i);return{path:o(`local`),delta:p(m(c.R),r)}}function q(e,t,n,r,i=``){let a=/^prop_(.+)$/.exec(t),o=a?e.spec.props?.[a[1]]?.hand:Iu(t),s,c,l,u=r;if(/^(hand|farm|uarm)_/.test(t)||a){let t=e.hand(o,n);s=t.label,l=t.anchor?Lu(e,t.anchor,n,r,o):t.ch===`hand_${o}`?{channel:t.ch,f:n,delta:r}:void 0;let i=t.anchor&&e.spec.anchors[t.anchor]?.kind===`object`?e.spec.anchors[t.anchor].object:null;i&&l&&(s=`anchors.${t.anchor}.local (a point on ${i}, in ${i}'s axes; ${i} stays)`,u=l.delta),c=t.anchor?`anchor ${t.anchor}${t.fit===null?``:` (fits[${t.fit}])`} via ${e.cause(t.ch,n)}`:e.cause(t.ch,n)}else/^(shin|foot|sole)_/.test(t)?(s=`foot_${o}`,c=e.cause(s,n),l={channel:s,f:n,delta:r}):(s=`root`,c=e.cause(`root`,n),l={channel:`root`,f:n,delta:r,.../^root held since /.test(c)?{hold:!0}:{}});return/ (walk|walkTo) /.test(` ${c}`)&&/step|start|end/.test(c)&&!/^anchor/.test(s)?{cause:c,hint:`walk path: ${s} needs ${K(r)} m at f${n}${i}; change that walk's heading/turnDistance/step (or give one a { range: [lo, hi] })`}:{cause:c,hint:`${s}: move ${K(u)} m at f${n}${i}`,fix:l}}let Ru=e=>Qt.find(t=>t[0]===e);function zu(e,t,n,r){let[,i,a]=Ru(n),{s:o}=e.fr(t),s=$t(o.P[e.I[i]],o.P[e.I[a]]),c=s.map(e=>H(e,r)),l=Math.min(...c);return{p:s[c.indexOf(l)],n:on(s[c.indexOf(l)],r),d:l}}function Bu(e,t,r,i,a){let o=t.worstFrame,s=e.out.objectsAt(e.rel(o))[i];if(!s||!Ru(r))return null;let{n:c}=zu(e,o,r,s);return q(e,r,o,n(c,a),` (out of ${i})`)}function Vu(e,r,i,a){let o=r.worstFrame,s=e.out.objectsAt(e.rel(o))[a];if(!s)return null;let c=Un(e.sk,e.fr(o).s,i.endsWith(`_l`)?`Left`:`Right`),l=Wn(c,s),u=r.worst-r.limit+Fu;if(!(l.side>0))return l.topAt?q(e,i,o,n(on(l.topAt,s),u),` (out of ${a}'s top)`):null;let d=Math.max(...c.filter(e=>H(e,s)<0).map(e=>2*s.half[1]-p(m(s.R),t(e,s.pos))[1]))+Fu,f=n(on(l.sideAt,s),u);if(d>.25)return q(e,i,o,f,` (out of ${a}'s side)`);let h=q(e,i,o,p(s.R,[0,d,0]),` (over ${a}'s top; its ${r.worst.toFixed(3)} m is through a side)`);return h.hint+=/^walk path/.test(h.hint)?`; a higher lift raises the swing`:`; or move ${K(f)} m out of that side`,h}function Hu(e,t,r,i,a,o){return q(e,r,t.worstFrame,n(s(i),a),` (away from the ${o})`)}function Uu(e,t,n){let{s:r,diag:i}=e.fr(t),a=e.I;if(n.startsWith(`hand_`)){let e=n.endsWith(`l`)?`Left`:`Right`;return $t(r.P[a[`${e}Hand`]],r.P[a[`${e}HandMiddle3`]],5)}return Object.entries(i.props?.[n.slice(5)]??{}).filter(([e,t])=>Array.isArray(t)&&e!==`origin`).map(([,e])=>e)}let Wu={COLLIDE(e,t){let[,n,r]=/^(\S+) x (.+)$/.exec(t.subject)??[];if(/^foot_[lr]$/.test(n??``))return Vu(e,t,n,r);let i=Bu(e,t,n,r,t.worst-t.limit+Fu);return i&&/^(hand|farm)_/.test(n)&&!e.spec.fix?.penetration&&t.worst-t.limit<=.05&&(i.hint+=`; or fix.penetration: 0.02 pushes shallow hand hits out`,e.spec.fix!==!1&&(i.fix={path:`/fix/penetration`,value:.02})),i},PERSON(i,o){let[,l,u]=/^(\S+) x person:(.+)$/.exec(o.subject)??[],d=Ru(l),f=i.out?.ctx?.scene?.people?.[u];if(!d||!f)return null;let p=o.worstFrame,{s:m}=i.fr(p),h=$t(m.P[i.I[d[1]]],m.P[i.I[d[2]]]),g=ju(f,p).map(([i,o,s,l])=>{let u=t(s,o),f=Math.max(r(u,u),1e-12);return h.map(s=>{let p=e(o,n(u,c(r(t(s,o),u)/f,0,1)));return{other:i,p:s,q:p,depth:d[3]+l-a(t(s,p))}}).reduce((e,t)=>t.depth>e.depth?t:e)}).reduce((e,t)=>t.depth>e.depth?t:e),_=a(t(g.p,g.q))>1e-6?s(t(g.p,g.q)):s([g.p[0]-g.q[0]||1,0,g.p[2]-g.q[2]]),v=q(i,l,p,n(_,o.worst-o.limit+Fu),` (out of ${f.name}'s ${g.other})`);return{...v,hint:`${v.hint}; or, for a touch you mean, checks.allow [{ part: "${l}", object: "person:${u}", depth: ${G(o.worst+Fu)} }]`}},CLEARANCE(e,t){let n=(e.spec.checks?.clearance??[]).find(e=>t.subject.startsWith(`${e.name}:`));return n&&Bu(e,t,n.part,n.object,n.min-t.worst+Fu)},GROUND(e,t){let n=t.subject.startsWith(`Left`)?`l`:`r`,r=t.worstFrame,i=e.fr(r).c,a=e.fr(r).diag[`leg_fold_${n}`];if(a)return Pu(e,n,r,Nu(`the sole is in the floor because the knee is on its stop: `,a),i[`foot_${n}`]);let o=i[`fpitch_${n}`]?`, or less fpitch_${n} (now ${G(i[`fpitch_${n}`])} deg; + lifts the heel)`:``;return{cause:e.cause(`foot_${n}`,r),hint:`foot_${n}: raise ${G(t.worst+.001)} m at f${r} (foot_* is the ankle; it stands ${nn(e.sk)} m above the floor)${o}`,fix:{channel:`foot_${n}`,f:r,delta:[0,t.worst+.001,0]}}},FACE(e,n){let r=n.subject.replace(/ into head$/,``),i=n.worstFrame,{s:a}=e.fr(i),o=A(a,e.I.Head,e.sk.landmarks.headCentre),s=Uu(e,i,r).reduce((t,n)=>tn(e.sk,a,n)>tn(e.sk,a,t)?n:t);return Hu(e,n,r,t(s,o),n.worst-n.limit+Fu,`head`)},BODY(i,o){let[,s,l]=/^(\S+) into (\S+)$/.exec(o.subject)??[],u=Ru(l),d=o.worstFrame,{s:f}=i.fr(d),p=/^(hand|farm|uarm)_([lr])$/.exec(s??``),m=p&&Oe(i.sk);if(m){let e=i.I[`${p[2]===`l`?`Left`:`Right`}${{hand:`Hand`,farm:`ForeArm`,uarm:`Arm`}[p[1]]}`],t=We(m,i.sk,f,e),r=t.p&&Ne(m,f,t.p,m.skip.get(e));if(r){let e=q(i,s,d,n(r,o.worst-o.limit+Fu),` (out of the ${l})`);return p[1]!==`hand`&&(e.hint+=`; or turn elbow_${p[2]} away from the ${l}`),e}}if(!u)return null;let h=f.P[i.I[u[1]]],g=f.P[i.I[u[2]]],_=t(g,h),v=i=>e(h,n(_,c(r(t(i,h),_)/r(_,_),0,1))),y=Uu(i,d,s).reduce((e,n)=>a(t(n,v(n)))<a(t(e,v(e)))?n:e);return Hu(i,o,s,t(y,v(y)),o.worst-o.limit+Fu,`torso`)},SELF(e,r){let i=r.worstFrame,{s:a}=e.fr(i),o=a.P,c=e.I;if(r.subject===`hands overlap`){let a=s(t(o[c.LeftHand],o[c.RightHand])),l=(r.worst-r.limit+Fu)/2,u=q(e,`hand_l`,i,n(a,l));return{cause:u.cause,hint:`${u.hint}; and ${q(e,`hand_r`,i,n(a,-l)).hint}`,fix:q(e,`hand_l`,i,n(a,2*l)).fix}}let l=r.subject===`shins touch`,u=l?.1:.135,[d,f]=l?[`Leg`,`Foot`]:[`UpLeg`,`Leg`],p=en(o[c[`Left${d}`]],o[c[`Left${f}`]],o[c[`Right${d}`]],o[c[`Right${f}`]]),m=t(o[c[`Left${f}`]],o[c[`Right${f}`]]);m[1]=0;let h=(u-p+Fu)/2,g=s(m);return{cause:e.cause(`foot_l`,i),hint:`foot_l: move ${K(n(g,h))} m and foot_r ${K(n(g,-h))} m at f${i} (${l?`shins`:`thighs`} ${G(p)} m apart, need ${u}); or spread knee_l/knee_r`,fix:{channel:`foot_l`,f:i,delta:n(g,2*h)}}},OBJECT(e,t){let[,n,r]=/^(\S+) into (.+)$/.exec(t.subject)??[],i=e.spec.objects?.[n]?.channel;if(!i)return null;let a=t=>e.out.baked[i]?.[t]??0,o=t.first>0?a(t.first-1):a(0);return{cause:e.cause(i,t.worstFrame),hint:`${i}: keep it within ${G(o)} deg (it reaches ${G(a(t.worstFrame))} at f${t.worstFrame}, ${G(t.worst)} m into ${r}), or move ${r}`,fix:{channel:i,f:t.worstFrame,value:o}}},BALANCE(r,i){let a=i.worstFrame,{s:o}=r.fr(a),s=o.P,l=r.I;if(i.subject===`no foot on the ground`)return{cause:r.cause(`root`,a),hint:`at f${a} lower foot_l or foot_r onto the ground, the floor or the top of an object under it (the ankle stands ${nn(r.sk)} m above it), or declare checks.supports for the seat the hips rest on`};let u=n([`Hips`,`Spine1`,`Spine2`,`Head`].reduce((t,n)=>e(t,s[l[n]]),[0,0,0]),.25),d=[`Left`,`Right`].flatMap(e=>Object.values(an(r.sk,o,e))),f=d.map(e=>e[0]),p=d.map(e=>e[2]),m=.07,h=[c(u[0],Math.min(...f)-m,Math.max(...f)+m),u[1],c(u[2],Math.min(...p)-m,Math.max(...p)+m)];return{cause:r.cause(`root`,a),hint:`root: move ${K(t(h,u))} m at f${a} (centre of mass over the feet), or step a foot under it`,fix:{channel:`root`,f:a,delta:t(h,u)}}}},Gu=.02;function Ku(e,r,i,o,c=``){let l=r===`l`?`Left`:`Right`,{s:u}=e.fr(i),d=t(u.P[e.I[`${l}Hand`]],u.P[e.I[`${l}Arm`]]),f=Math.hypot(d[0],d[2])/Math.max(a(d),1e-9);if(f<.5)return null;let p=n(s([d[0],0,d[2]]),Math.min(.2,o/f));return{delta:p,hint:`body: move ${K(p)} m toward the target at f${i}, ${e.cause(`root`,i)} (arm ${r} is at full reach)${c}`,fix:{channel:`root`,f:i,delta:p,hold:!0}}}let qu=(e,t,n)=>(e.fr(n).diag[`reach_over_${t}`]??0)>.001||(e.fr(n).diag[`arm_miss_${t}`]??0)>.002&&!e.fr(n).diag[`arm_fold_${t}`];function Ju(e,t,n,r){let i=null;for(let[a,o]of Object.entries(e.fr(n).c))a===r||!RegExp(`^w_.+_${t}$`).test(a)||!(o>Gu)||i&&o<=i.w||(i={ch:a,w:o});return i}function Yu(e,t,n,r,i){let a=n.slice(-1),o=e.hand(a,r),s=o.anchor?Ju(e,a,r,o.ch):null;if(!s)return null;let c=Array.isArray(t.at)?t.at[1]:t.at,l=e.bracket(s.ch,r).prev,u=l&&Math.abs(e.out.baked[s.ch]?.[Math.round(l.f)]??1)<=Gu&&c>=r&&!(e.bracket(s.ch,r).next?.f<=c)?c:r,d=s.w/Math.max(1,(e.fr(r).c[o.ch]??1)+s.w),f=s.ch.replace(/^w_/,``).replace(/_[lr]$/,``);return{cause:e.cause(s.ch,r),hint:`${s.ch} is ${G(s.w)} at f${r}, so anchor ${f} takes ${Math.round(d*100)}% of the hand target from ${o.label}: key ${s.ch} 0 at f${u}${i}`,fix:{channel:s.ch,f:u,value:0}}}function Xu(e,t){let n=null;return(e.spec?.goals??[]).forEach((e,r)=>{let i=il(e,r);t.subject.startsWith(`${i}:`)&&(!n||i.length>n.name.length)&&(n={goal:e,name:i,i:r})}),n}function Zu(e,t,n){let r=[t,...e.out.ctx.scene?.objects?.[t]?.ancestors??[]].find(t=>Ni(e.spec.objects?.[t],n));return r?e.spec.objects[r]:null}function Qu(e,t,n){let[,r,i]=/^([a-z]+):(.+)$/s.exec(t)??[];if(r===`prop`)return e.spec.props?.[i.split(`.`)[0]]?.hand?`hand_${e.spec.props[i.split(`.`)[0]].hand}`:null;if(r===`object`){let t=Zu(e,i.replace(/\.(center|top|base)$/,``),n),r=t&&e.spec.props?.[t.prop]?.hand;return r?`hand_${r}`:null}if(r===`landmark`)return`root`;if(r!==`joint`&&r!==`bone`)return null;let a=Ur(e.sk,i).bone??``,o=/^Left/.test(a)?`l`:/^Right/.test(a)?`r`:null;return o&&/^(Left|Right)(Hand|ForeArm)/.test(a)?`hand_${o}`:o&&/^(Left|Right)(Foot|Toe|Leg)/.test(a)?`foot_${o}`:`root`}function $u(e,t,n,r){let i=t.slice(-1);if(!t.startsWith(`hand_`))return{channel:t,f:n,delta:r};let a=e.hand(i,n);return a.ch===`hand_${i}`?{channel:a.ch,f:n,delta:r}:a.anchor&&e.spec.anchors?.[a.anchor]?.kind===`world`?{path:`/anchors/${a.anchor}/p`,delta:r}:null}function ed(e,r,i,o,c,l){if(i===`moved`||i===`still`){let u=r[i],d=Qu(e,u,o),f=ul(e.out,r,l),p=mi(e.out,o,sl(u)),m=p&&f&&a(t(p,f))>.001?s(t(p,f)):[0,1,0];return d?[d,n(m,i===`still`?-c:c)]:null}let[u,d]=r[i],f=Qu(e,u,o),p=Qu(e,d,o),m=e=>e?.startsWith(`hand_`)?2:+!!e,h=m(f)>=m(p),g=h?f:p,_=h?1:-1;if(!g)return null;if(i===`above`)return[g,[0,_*c,0]];let v=mi(e.out,o,u),y=mi(e.out,o,d);return v&&y?[g,n(s(t(y,v)),_*c)]:null}let td={GOAL(e,t){let n=e.spec&&Xu(e,t),r=t.worstFrame;if(!n)return{cause:`goal ${t.subject.split(`:`)[0]}`,hint:`change the keys around f${r} until the goal holds`};let{goal:i,name:a,i:o}=n,s=rl(i)[0],c=t.worst+.003,l=yl(e.out,e.spec.goals,o);if(l.wait){let e=i.after??i.before;return{cause:`goal ${a}`,hint:`${a} ${l.wait}: make goal "${e}" hold${i.after!==void 0&&i.before!==void 0?` and "${i.before}"`:``} where this one needs it, or move at`}}let u=s===`speed`?`m/s`:`m`,d=s===`near`||s===`still`?`<=`:`>=`,f=` (goal "${a}" is ${G(t.worst)} ${u} ${s===`still`?`off`:`short`}; needs ${d} ${al(i,s)})`;if(s===`speed`){let t=Qu(e,i.speed,r);return{cause:t?e.cause(t,r):`goal ${a}`,hint:`${i.speed} is too slow at f${r}: put its keys around f${r} closer in time, or farther apart in space${f}`}}let p=ed(e,i,s,r,c,l.a);if(!p){if(s===`still`&&i.still.startsWith(`object:`)){let e=i.still.slice(7).replace(/\.(center|top|base)$/,``);return{cause:`objects.${e}`,hint:`${e} moves at f${r}, where it should stay: hold its hinge channel or keys until then, or start them later${f}`}}if(s===`still`)return{cause:`goal ${a}`,hint:`${i.still} moves at f${r} and nothing that follows the body moves it; name a joint, prop point or held object${f}`};if(s===`moved`&&!i.moved.startsWith(`object:`))return{cause:`goal ${a}`,hint:`${i.moved} does not move with the body at f${r}; name a joint, prop point or held object`};if(s===`moved`){let e=i.moved.slice(7).replace(/\.(center|top|base)$/,``);return{cause:`objects.${e}`,hint:`${e} is not in a hand at f${r}, so nothing moves it: carry it (objects.${e} = { prop, grab }) or hinge it`}}return{cause:`goal ${a}`,hint:`neither ${i[s][0]} nor ${i[s][1]} moves with the body at f${r}; name a joint, prop point or held object`}}let[m,h]=p;if(m.startsWith(`hand_`)){let t=Yu(e,i,m,r,f);if(t)return t;let n=qu(e,m.slice(-1),r)&&Ku(e,m.slice(-1),r,c,f);if(n)return{cause:e.cause(`root`,r),hint:n.hint,fix:n.fix}}let g=q(e,m,r,h,f),_=$u(e,m,r,h);return{cause:g.cause,hint:g.hint,..._?{fix:_}:{}}}},nd={Leg:[`UpLeg`,`Leg`,`Foot`,`knee`],ForeArm:[`Arm`,`ForeArm`,`Hand`,`elbow`]},rd=e=>e.startsWith(`Left`)?`l`:`r`,id=e=>/^(w_|armw)/.test(e)?.5:/^(root|foot|hand)/.test(e)?1:/^(knee|elbow)/.test(e)?.2:.01;function ad(e,t,n){let r=rd(t),i=e.out.baked,a=[`root`,`yaw`,`pitch`];t===`Head`?a=[`head_yaw`,`head_pitch`,`spine_pitch`,`spine_yaw`,`root`,`yaw`]:/Hand|ForeArm/.test(t)?a=[`hand_${r}`,`armw_${r}`,`elbow_${r}`,`aswing_${r}`,`abend_${r}`,...Object.keys(i).filter(e=>RegExp(`^w_.+_${r}$`).test(e)),`spine_yaw`,`spine_pitch`,`root`,`yaw`]:/Foot|Leg/.test(t)&&(a=[`foot_${r}`,`knee_${r}`,`fpitch_${r}`,`root`]);let s=e=>{let t=i[e]?.[n-1],r=i[e]?.[n];return t===void 0||r===void 0||typeof t==`object`&&!Array.isArray(t)?0:(Array.isArray(t)?o(t,r):Math.abs(r-t))*id(e)};return a.filter(e=>i[e]).sort((e,t)=>s(t)-s(e))}function od(e,t,n){let r=t.subject.split(` `)[0],i=t.worstFrame,a=ad(e,r,i)[0]??`root`,{prev:o,next:s}=e.bracket(a,i),c=e.keys(a).find(e=>e.step&&Math.abs(e.f-i)<=1);if(c)return{cause:e.cause(a,i),hint:`${a}: a step key jumps at f${Math.round(c.f)}; ease it over 4+ frames (key the old value 4 frames earlier, drop the step)`};let l=Math.ceil((t.worst/t.limit)**+n*1.1*10)/10,u=Math.round(o?.f??i-4),d=Math.round(s?.f??i+4),f=Math.ceil((d-u)*(l-1)),p=/^w_(.+)_[lr]$/.exec(a);return{cause:e.cause(a,i),hint:`retime: stretch f${u}-f${d} by ${l}x (+${f} frames, move the keys from f${d} on later)${p?` - the hand switches to anchor ${p[1]} too fast`:``}; or fix.retime: true`,fix:e.spec.fix===!1?void 0:{path:`/fix/retime`,value:!0}}}function sd(e,t,n){let[r,i]=n.split(/:(.*)/s);if(r===`joint`)return t.s.P[e.I[i]];if(r===`prop`){let[e,n]=i.split(`.`);return t.diag.props?.[e]?.[n]}return ma(e.out.ctx,i,t.s,t.diag,t.c)}function cd(e,t,n,r){let i=ji(e.out.baked,t),a=r(e.fr(t)),o=null;for(let[s,c,l]of n){let n=r(zc(e.out.ctx,{...i,[s]:c},t))-a;n>1e-6&&(!o||n/l>o.gain/o.unit)&&(o={ch:s,value:c,gain:n,unit:l})}return{best:o,base:a,c0:i}}let ld=(e,t,n,r)=>e.fr(n).s.P[e.I[`${t===`l`?`Left`:`Right`}${nd[r][0]}`]],ud={REACH(i,c){let[,l,u]=/^(leg|arm)_miss_([lr])$/.exec(c.subject)??[],d=c.worstFrame,f=c.worst+.002;if(l===`leg`){let e=i.fr(d).diag[`leg_fold_${u}`];if(e)return Pu(i,u,d,Nu(`the ankle target is ${G(c.worst)} m inside the shin's reach: `,e),i.fr(d).c[`foot_${u}`]);let l=i.fr(d).c[`foot_${u}`]??[0,0,0],p=ld(i,u,d,`Leg`),m=t(l,p),h=o(p,l)-c.worst,g=m[1]*m[1]-r(m,m)+h*h,_=[m[0],0,m[2]],v=g>=0?`or root down ${G(-m[1]-Math.sqrt(g)+.002)} m${c.worst<=.05?` (fix.reach does this when on)`:``}`:`or root ${K(n(s(_),a(_)-h*.95))} m toward the foot (the foot is ${G(a(_))} m sideways of the hip: the root and foot keys disagree)`;return{cause:i.cause(`foot_${u}`,d),hint:`foot_${u}: move ${K(n(s(t(p,l)),f))} m toward the hip at f${d}, ${v}`,fix:{channel:`foot_${u}`,f:d,delta:n(s(t(p,l)),f)}}}let p=u===`l`?`Left`:`Right`,{s:m,diag:h}=i.fr(d),g=s(t(m.P[i.I[`${p}Hand`]],m.P[i.I[`${p}Arm`]])),_=h[`arm_fold_${u}`];if(_){let e=q(i,`hand_${u}`,d,n(g,f),` (the hand target is ${G(c.worst)} m inside the forearm's reach: the elbow would fold ${Math.round(_)}deg; it bends to 145deg and stops at 150deg)`);return{cause:e.cause,hint:`${e.hint}, or bring root ${K(n([-g[0],0,-g[2]],f))} m back from it`,fix:e.fix}}let v=q(i,`hand_${u}`,d,n(g,-f),``),y=i.hand(u,d).anchor,b=JSON.stringify([i.spec.goals??[],i.spec.checks?.contacts??[]]),x=y&&(i.spec.anchors?.[y]?.kind===`object`||b.includes(`"anchor:${y}"`)),S=i.spec.fits?.[i.hand(u,d).fit??-1],C=S?.effector?.prop&&i.fr(d).diag.props?.[S.effector.prop]?.[S.effector.point],w=C?o(C,e(sd(i,i.fr(d),`anchor:${y}`),S.offset??[0,0,0]))+.01:f,T=x&&Ku(i,u,d,Math.min(f,w));return T?{cause:v.cause,hint:`${T.hint} (out of reach by ${G(c.worst)} m), or ${v.hint}`,fix:T.fix}:{cause:v.cause,hint:`${v.hint} (out of reach by ${G(c.worst)} m), or bring root ${K(n([g[0],0,g[2]],f))} m closer`,fix:v.fix}},KNEE(r,i){let a=rd(i.subject),c=a===`l`?`Left`:`Right`,l=i.worstFrame,{s:u,c:d}=r.fr(l),f=u.P,m=r.I;if(/backward/.test(i.subject)){let n=t(f[m[`${c}ToeBase`]],f[m[`${c}Foot`]]);n[1]=0;let i=e(s(p(_(-(d.yaw??0)),n)),[0,.3,0]);return{cause:r.cause(`knee_${a}`,l),hint:`knee_${a}: key ${K(s(i))} (body frame, along the foot) at f${l}; a knee pole is +z forward, +x the character's left`,fix:{channel:`knee_${a}`,f:l,value:s(i)}}}if(/ folds /.test(i.subject))return Pu(r,a,l,` (the knee folds ${G(i.worst)}deg, past its ${i.limit}deg stop; it bends freely to 150deg)`,f[m[`${c}Foot`]]);let h=f[m[`${c}UpLeg`]],g=f[m[`${c}Leg`]],v=f[m[`${c}Foot`]],y=o(h,g),b=o(g,v),x=(180-(i.limit-5))*Math.PI/180,S=Math.sqrt(y*y+b*b-2*y*b*Math.cos(x));return{cause:r.cause(`foot_${a}`,l),hint:`foot_${a}: move ${K(n(s(t(v,h)),S-o(h,v)))} m away from the hip at f${l} (the knee folds ${G(i.worst)} deg, limit ${i.limit})`,fix:{channel:`foot_${a}`,f:l,delta:n(s(t(v,h)),S-o(h,v))}}},ELBOW(e,r){let i=rd(r.subject),a=i===`l`?`Left`:`Right`,c=r.worstFrame,l=e.fr(c).s.P,u=e.I,d=l[u[`${a}Arm`]],f=l[u[`${a}ForeArm`]],p=l[u[`${a}Hand`]],m=n(s(t(p,d)),N(o(d,f),o(f,p),145)-o(d,p));return q(e,`hand_${i}`,c,m,` (the elbow folds ${G(r.worst)}deg, past its ${r.limit}deg stop; it bends freely to 145deg)`)},FLIP(e,n){let[,r,i]=/^(Left|Right)(Leg|ForeArm) /.exec(n.subject)??[],o=n.worstFrame;if(!i)return null;let s=rd(r),[c,l,u,d]=nd[i],f=e.I,p=+(/ over (\d+) frames$/.exec(n.subject)?.[1]??1),m=e.fr(o).diag,h=i===`ForeArm`&&(m[`arm_fold_${s}`]??m[`hold_${s}`]?.fold);if(h){let t=m[`hold_${s}`]?.fold&&Object.entries(e.spec.objects??{}).find(([,t])=>t.keys?.length&&e.spec.props?.[t.prop]?.hand===s)?.[0];return{cause:t?`objects.${t}.keys`:e.cause(e.hand(s,o).ch,o),hint:`the ${t?`keys of ${t} ask`:`hand target asks`} the elbow to fold ${Math.round(h)}deg at f${o}, past its 150deg stop, so the hand swings round the shoulder on the stop: move ${t?`the keyed pose`:`the target`} out from the shoulder (REACH says how far)`}}let g=n=>{let i=e.fr(n).s.P;return w(t(i[f[`${r}${l}`]],i[f[`${r}${c}`]]),t(i[f[`${r}${u}`]],i[f[`${r}${l}`]]))},_=Array.from({length:Math.max(1,p-1)},(e,t)=>p>1?o-1-t:o).reduce((e,t)=>g(t)<g(e)?t:e),v=g(_),y=`${d}_${s}`,b=e.out.baked[y]?.[Math.max(0,o-1)];if(b&&a(b)<.5)return{cause:e.cause(y,o),hint:`${y}: the pole passes near zero (length ${G(a(b))}) at f${o} while it turns between opposite keys; add an in-between pole key (e.g. the average direction, normalised) so it turns, not shrinks`};let x=v<12?`the limb is almost straight at f${_} (bend ${G(v)} deg), so the pole cannot hold it: bring the ${i===`Leg`?`foot`:`hand`} target ~0.02 m toward the ${i===`Leg`?`hip`:`shoulder`}, or `:``;return{cause:e.cause(y,o),hint:`${y}: ${x}keep the pole on one side through f${o}${b?` (key ${K(b)} there)`:``}`,fix:b&&{channel:y,f:o,value:b}}},SLIDE(e,t){let n=rd(t.subject),r=n===`l`?`Left`:`Right`,i=t.subject.includes(`heel`)?`heel`:`ball`,a=Math.max(0,t.first-1),o=t=>an(e.sk,e.fr(t).s,r)[i],s=Math.hypot(o(t.last)[0]-o(a)[0],o(t.last)[2]-o(a)[2]),c=e.out.baked[`foot_${n}`]?.[a],l=e.out.baked[`fyaw_${n}`],u=e.out.baked[`foot_${n}`]?.[t.last];return l&&c&&u&&Math.hypot(u[0]-c[0],u[2]-c[2])<s/2&&Math.abs(l[t.last]-l[a])>1?{cause:e.cause(`fyaw_${n}`,t.worstFrame),hint:`fyaw_${n}: the flat foot turns ${G(l[a])} -> ${G(l[t.last])} deg over f${a}-f${t.last} and the ${i} slides ${G(s)} m; key fyaw_${n} ${G(l[a])} at f${t.last} so it turns once the foot is up, or lift the heel first (fpitch_${n} +) so it pivots on the ball`,fix:{channel:`fyaw_${n}`,f:t.last,value:l[a]}}:{cause:e.cause(`foot_${n}`,t.worstFrame),hint:`foot_${n}: hold it still over f${a}-f${t.last}${c?` (key ${K(c)} at both ends)`:``}; the ${i} slides ${G(s)} m${s<.01?`; fix.slide locks this when on`:``}`,fix:c&&{channel:`foot_${n}`,f:t.last,value:c}}},SPEED:(e,t)=>od(e,t,1),POP:(e,t)=>od(e,t,.5),ACC:(e,t)=>od(e,t,.5),FLOAT:(e,t)=>({cause:e.cause(`root`,t.worstFrame),hint:`over f${t.first}-f${t.last} lower the root or key foot_l/foot_r back onto the ground, the floor or the top of an object under the foot (the ankle stands ${nn(e.sk)} m above it); a jump needs the hips to rise and fall; a seat or ledge the hips rest on goes in checks.supports (a foot on an object's top needs none)`}),LENGTH:()=>({cause:`compiler`,hint:`a bone changed length: report the spec, this is a compiler fault`}),CONTACT(e,r){let i=(e.spec.checks?.contacts??[]).find(e=>r.subject.startsWith(`${e.name}:`)),a=r.worstFrame,o=e.rel(a);if(!i)return null;let c=Yl(e.out,o,i.point),l=Yl(e.out,o,i.target),u=t(l,c),d=/^prop:([^.]+)/.exec(i.point),f=d?e.spec.props?.[d[1]]?.hand:rd(i.point.slice(6)),{diag:p}=e.fr(a),m=Math.max(p[`reach_over_${f}`]??0,p[`arm_miss_${f}`]??0),h=/^anchor:(.+)$/.exec(i.target)?.[1],g=(e.spec.fits??[]).findIndex(e=>e.side===f&&e.anchor===h),_=g>=0?`fits[${g}] (${f} -> anchor ${h})`:q(e,`hand_${f}`,a,u).cause,v=n(s([u[0],0,u[2]]),m+.01),y=p[`arm_fold_${f}`];if(m>.002&&y){let t=e.fr(a).s.P[e.I[`${f===`l`?`Left`:`Right`}Arm`]],r=n(s([t[0]-l[0],0,t[2]-l[2]]),m+.01);return{cause:_,hint:`inside the forearm's reach by ${G(m)} m at f${a} (the elbow would fold ${Math.round(y)}deg; it stops at 150deg): bring root ${K(r)} m back from ${h??`the target`}, or move the target out from the shoulder`,fix:{channel:`root`,f:a,delta:r}}}if(m>.002)return{cause:_,hint:`out of reach by ${G(m)} m at f${a}: bring root ${K(v)} m toward ${h??`the target`}, or move the target`,fix:{channel:`root`,f:a,delta:v}};let b=q(e,`hand_${f}`,a,u);return{cause:_,hint:`${b.hint}${g<0&&h?`; or add fits: [{ side: "${f}", anchor: "${h}", effector: ${d?`{ prop: "${d[1]}", point: "${i.point.split(`.`)[1]}" }`:`{ joints: [...] }`} }]`:``}`,fix:b.fix}},ORIENT(e,n){let i=(e.spec.checks?.orient??[]).find(e=>n.subject.startsWith(`${e.name}:`)),a=n.worstFrame;if(!i)return null;let o=/^prop:([^.]+)/.exec(i.from),l=o?e.spec.props?.[o[1]]?.hand:rd(i.from.slice(6)),u=i.minCos??.64,d=t=>i.along===`up`?[0,1,0]:i.along===`face`?j(e.sk,t.s,e.I.Head,[0,0,1]):s(i.along),f=n=>r(s(t(sd(e,n,i.to),sd(e,n,i.from))),d(n)),p=ji(e.out.baked,a),m=p[`wtwist_${l}`]??0,h=p[`wflex_${l}`]??0,{best:g,base:_}=cd(e,a,[[`wtwist_${l}`,c(m+15,-85,85),15],[`wtwist_${l}`,c(m-15,-85,85),15],[`wflex_${l}`,c(h+15,-70,70),15],[`wflex_${l}`,c(h-15,-70,70),15]],f);if(!g)return{cause:e.cause(`wtwist_${l}`,a),hint:`turn the prop another way: wrist twist/flex do not help at f${a} (cos ${G(_)}, needs ${u}); change elbow_${l} or the prop points`};let v=g.ch.startsWith(`wtwist`)?m:h,y=g.ch.startsWith(`wtwist`)?85:70,b=c(v+(g.value-v)*Math.min(4,(u-_+.03)/g.gain),-y,y);return{cause:e.cause(g.ch,a),hint:`${g.ch}: key ${G(b)} deg at f${a} (now ${G(v)}; cos ${G(_)}, needs ${u})`,fix:{channel:g.ch,f:a,value:b}}},BELOW(e,t){let n=(e.spec.checks?.below??[]).find(e=>t.subject.startsWith(`${e.name}:`)),r=t.worstFrame;if(!n)return null;let i=rd(n.joint),a=`${/Leg/.test(n.joint)?`knee`:`elbow`}_${i}`,o=ji(e.out.baked,r)[a]??[0,-1,-.3],s=t=>t.s.P[e.I[n.ref]][1]-t.s.P[e.I[n.joint]][1],c=(n.min??.08)+.01,l=ji(e.out.baked,r),u=s(e.fr(r)),d=[[0,-1,0],[.5,-1,0],[-.5,-1,0],[0,-1,-.4],[0,-1,.4],[.5,-1,.5],[-.5,-1,.5],[.5,-1,-.4],[-.5,-1,-.4]].map(t=>({p:t,d:s(zc(e.out.ctx,{...l,[a]:t},r)),turn:w(t,o)})),f=d.filter(e=>e.d>=c).sort((e,t)=>e.turn-t.turn)[0]??d.sort((e,t)=>t.d-e.d)[0];return f.d>u?{cause:e.cause(a,r),hint:`${a}: key ${K(f.p)} (body frame: +y up, +z forward) at f${r} (${n.joint} ${G(u)} m below ${n.ref} -> ${G(f.d)}, needs ${n.min??.08})`,fix:{channel:a,f:r,value:f.p}}:{cause:e.cause(a,r),hint:`${a}: no pole change lowers ${n.joint} at f${r}; lower the hand target instead`}},APPEAR(e,n){let r=(e.spec.checks?.appear??[]).find(e=>n.subject.startsWith(`${e.name}:`)),i=n.worstFrame;if(!r)return null;let o=null;for(let n=Math.max(e.out.f0??0,i-24);n<=Math.min((e.out.f0??0)+e.out.frames.length-1,i+24);n++){let i=a(t(Yl(e.out,e.rel(n),`joint:${r.joint}`),Yl(e.out,e.rel(n),`anchor:${r.anchor}`)));(!o||i<o.d)&&(o={q:n,d:i})}let s=r.tol??.035;return{cause:e.cause(r.channel,i),hint:o.d<=s?`${r.channel}: move the step from f${i} to f${o.q} (${r.joint} ${G(o.d)} m from ${r.anchor} there)`:`${r.joint} never gets within ${s} m of ${r.anchor} near f${i} (closest ${G(o.d)} m at f${o.q}): hold its weight w_${r.anchor}_${rd(r.joint)} at 1 around the switch`}}},dd=.003;function fd(e,t,n,r){let i=e.hand(t,n);if(i.ch===`hand_${t}`)return{channel:i.ch,f:n,delta:r};if(i.fit!==null&&i.fit!==void 0)return e.spec.fits[i.fit].offset?{path:`/fits/${i.fit}/offset`,delta:r}:{path:`/fits/${i.fit}/offset`,value:r};if(i.anchor&&e.spec.anchors?.[i.anchor]?.kind===`world`)return{path:`/anchors/${i.anchor}/p`,delta:r}}function pd(e,t,n,r,i){let a=q(e,`hand_${t}`,n,r,i),o=fd(e,t,n,r);return o?{...a,fix:o}:a}function md(e,t,n,r){let i=e.spec.anchors?.[e.hand(t,n).anchor],a=e.out.ctx.scene;return i?.kind===`object`&&[a.objects?.[i.object]?.ancestors,Nt(a)[i.object]?.ancestors,[i.object]].some(e=>e?.includes(r))}function hd(n,r){let i=p(m(n.R),t(r,n.pos)),a=[0,n.half[1],0];return e(n.pos,p(n.R,i.map((e,t)=>c(e,a[t]-n.half[t],a[t]+n.half[t]))))}let gd={REACH:(e,t)=>iu(e,t)??ud.REACH(e,t),GRAB(e,r){let i=r.subject.split(`:`)[0],o=r.worstFrame,s=e.spec?.objects?.[i],c={cause:`objects.${i}.grab`,hint:`${i}: move the hand to it by f${o}, or set objects.${i}.grab to the frame the hand arrives`};if(!e.out||!B(s))return c;let l=null;for(let t=o-24;t<=o+24;t++){let n=mu(e.out,i,t);n!==null&&n<=r.limit&&(!l||Math.abs(t-o)<Math.abs(l[0]-o))&&(l=[t,n])}if(l)return{cause:c.cause,hint:`${i}: set objects.${i}.grab to ${l[0]} (the hand is ${(l[1]*100).toFixed(1)} cm from it there, ${(r.worst*100).toFixed(1)} cm at f${o})`,fix:{path:`/objects/${i}/grab`,value:l[0]}};let{sk:u,spec:d,scene:f}=e.out.ctx,p=Ot(u,d,e.fr(o).s,s),m=Mi(f,i).map(e=>hd(f.objects[e],p)).reduce((e,n)=>a(t(n,p))<a(t(e,p))?n:e),h=a(t(m,p)),g=n(t(m,p),h>1e-9?(h-r.limit/2)/h:0),_=pd(e,d.props[s.prop].hand,o,g,` (to ${i} at grab)`);return{..._,hint:`${_.hint}; or set objects.${i}.grab to the frame the hand arrives`}},COLLIDE(e,r){let[,i,a]=/^(\S+) x (.+)$/.exec(r.subject)??[],o=e.spec?.objects??{},s=B(o[a])?a:B(o[i])?i:null;if(!s||!e.out)return Wu.COLLIDE(e,r);let c=o[s],l=e.spec.props[c.prop].hand,[u,d]=Ii(e.out,c),f=r.worst-r.limit+dd,p=r.worstFrame,m=p>=u&&p<=d,h=Math.min(p,d),g=Ji(e.out,s,p)??[];if(s===a){let t=Qt.find(e=>e[0]===i),{s:r}=e.fr(p);if(!t||!g.length)return null;let a=$t(r.P[e.I[t[1]]],r.P[e.I[t[2]]]),[o,c]=g.flatMap(e=>a.map(t=>[e,t])).reduce((e,t)=>H(t[1],t[0])<H(e[1],e[0])?t:e),u=on(c,o),d=/^(hand|farm|uarm)_([lr])$/.exec(i)?.[2];return m&&d&&d!==l&&md(e,d,p,s)?q(e,`hand_${d}`,p,n(u,f),` (out of ${s})`):m?pd(e,l,p,n(u,-f),` (${s} off ${i})`):q(e,i,p,n(u,f),` (out of ${s})`)}let _=e.out.objectsAt(e.rel(p))[a];if(!_||!g.length)return null;let v=Ji(e.out,s,Math.max(u,r.first-1))??g,y=g.map((e,n)=>uu(e,_,t(v[n].pos,_.pos))).reduce((e,t)=>t.depth>e.depth?t:e);return pd(e,l,h,n(y.axis,y.depth-r.limit+dd),m?` (${s} out of ${a})`:` (${s} is put down in ${a}; it stays where the hand lets go at f${d})`)}},_d=[`add`,`remove`,`replace`,`test`],vd=e=>{throw Error(`MOTION_SPEC_INVALID: ${e}`)},yd=(e,t)=>JSON.stringify(e)===JSON.stringify(t),bd=e=>e.split(`/`).slice(1).map(e=>e.replaceAll(`~1`,`/`).replaceAll(`~0`,`~`)),xd=e=>e.map(e=>`/${String(e).replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}`).join(``);function Sd(e,t){if(Array.isArray(e))return`${t} has ${e.length} entries`;let n=Object.keys(e);return n.length?`${t} has ${n.slice(0,8).join(`, `)}${n.length>8?`, ...`:``}`:`${t} is empty`}function Cd(e,t,n){let r=e;for(let e=0;e<t.length-1;e++){let i=t[e],a=e?t[e-1]:`the spec`;(typeof r!=`object`||!r||!Object.hasOwn(r,Array.isArray(r)?Number(i):i)||Array.isArray(r)&&!/^\d+$/.test(i))&&vd(`${n}: ${xd(t.slice(0,e+1))} does not exist${r&&typeof r==`object`?` (${Sd(r,a)})`:``}`),r=r[Array.isArray(r)?Number(i):i]}return(typeof r!=`object`||!r)&&vd(`${n}: ${xd(t.slice(0,-1))} is not an object or array`),r}function wd(e,t,n,r){(!t||typeof t!=`object`||!_d.includes(t.op))&&vd(`patch[${n}]: op must be ${_d.join(`, `)}, got ${JSON.stringify(t?.op)}`);let i=`patch[${n}] (${t.op} ${t.path})`;if((typeof t.path!=`string`||t.path!==``&&!t.path.startsWith(`/`))&&vd(`${i}: path must be a JSON Pointer such as "/keys/0/f"`),t.op!==`remove`&&!Object.hasOwn(t,`value`)&&vd(`${i}: needs a value`),t.path===``){if(t.op===`replace`)return structuredClone(t.value);if(t.op===`test`)return yd(e,t.value)||vd(`${i}: the spec differs from the test value`),e;vd(`${i}: ${t.op} needs a path below the spec`)}let a=bd(t.path),o=a[a.length-1],s=Cd(e,a,i),c=a.length>1?a[a.length-2]:`the spec`;if(Array.isArray(s)){if(o===`-`)return t.op!==`add`&&vd(`${i}: "-" (append) works with add only`),s.push(structuredClone(t.value)),e;let n=/^\d+$/.test(o)?Number(o):NaN,r=t.op===`add`?s.length:s.length-1;return n>=0&&n<=r||vd(`${i}: ${t.path} does not exist (${Sd(s,c)})`),t.op===`add`?s.splice(n,0,structuredClone(t.value)):t.op===`remove`?s.splice(n,1):t.op===`replace`?s[n]=structuredClone(t.value):yd(s[n],t.value)||vd(`${i}: value is ${JSON.stringify(s[n])?.slice(0,60)}, not ${JSON.stringify(t.value)?.slice(0,60)}`),e}return t.op===`replace`&&r&&!Object.hasOwn(s,o)?r.push(`${i}: ${t.path} did not exist (${Sd(s,c)}); added`):t.op!==`add`&&!Object.hasOwn(s,o)&&vd(`${i}: ${t.path} does not exist (${Sd(s,c)})`),t.op===`remove`?delete s[o]:t.op===`test`?yd(s[o],t.value)||vd(`${i}: value is ${JSON.stringify(s[o])?.slice(0,60)}, not ${JSON.stringify(t.value)?.slice(0,60)}`):s[o]=structuredClone(t.value),e}function Td(e,t,n){return Array.isArray(t)||vd(`patch must be an array of { op, path, value }`),t.reduce((e,t,r)=>wd(e,t,r,n),structuredClone(e))}let Ed=e=>Array.isArray(e)?e.map(Ed):typeof e==`number`?Math.round(e*1e4)/1e4:e,Dd=e=>e.split(`/`).slice(1).map(e=>e.replaceAll(`~1`,`/`).replaceAll(`~0`,`~`)),Od=e=>e.map(e=>`/${String(e).replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}`).join(``),kd=e=>typeof e==`number`&&Number.isFinite(e);function Ad(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n||!Object.hasOwn(n,e))return;n=n[e]}return n}function jd(e,t){if(kd(e)&&kd(t))return e+t;if(Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every(kd)&&t.every(kd))return e.map((e,n)=>e+t[n])}function Md(e,t,n){let r=-1;return(e.keys??[]).forEach((i,a)=>{!i?.set||!Object.hasOwn(i.set,t)||!kd(i.f)||Math.abs(i.f-n)>2||(r<0||Math.abs(i.f-n)<Math.abs(e.keys[r].f-n))&&(r=a)}),r}function Nd(e,t,n,r){let i=/^use\[(\d+)\] standIdle$/.exec(r?.src??``),a=n.delta;if(!i||n.channel!==`root`||!Array.isArray(a)||Math.hypot(a[0],a[2])<Math.abs(a[1]))return null;let o=Number(i[1]),s=t.use?.[o],c=e.fr(r.f).c.root;if(s?.skill!==`standIdle`)return null;let l=Array.isArray(s.args?.at)?s.args.at:c&&[c[0],c[2]];if(!l)return null;let u=Ed(l.map((e,t)=>e+(t===0?a[0]:t===l.length-1?a[2]:0)));return s.args?[{op:Object.hasOwn(s.args,`at`)?`replace`:`add`,path:`/use/${o}/args/at`,value:u}]:[{op:`add`,path:`/use/${o}/args`,value:{at:u}}]}function Pd(e,t,n,r){let i=t.use?.[n],a=i?.args??{},o=r.delta,s=(e.fr(r.f).c.yaw??0)*Math.PI/180,c=o[0]*Math.sin(s)+o[2]*Math.cos(s);if(i?.skill!==`walkTo`||Math.abs(o[0]*Math.cos(s)-o[2]*Math.sin(s))>Math.abs(c))return null;let l=(e,t)=>[i.args?{op:Object.hasOwn(a,e)?`replace`:`add`,path:`/use/${n}/args/${e}`,value:Ed(t)}:{op:`add`,path:`/use/${n}/args`,value:{[e]:Ed(t)}}];if(a.steps===void 0&&Array.isArray(a.to))return l(`to`,a.to.map((e,t)=>e+(t===0?o[0]:t===a.to.length-1?o[2]:0)));let u=a.steps??8,d=u<=2?`firstStep`:`step`,f=(a[d]??(d===`step`?.5:.4))+c/Math.max(1,u-2);return u>=2&&f>.05?l(d,f):null}function Fd(e,t,n){let r=e.keys(`root`),i=e=>/^keys\[\d+\]$/.test(e.src),a=r.findLastIndex(e=>e.f<=n.f);if(a<0||!i(r[a]))return null;let o=a,s=a;for(;o>0&&i(r[o-1]);)--o;for(;s<r.length-1&&i(r[s+1]);)s+=1;return r.slice(o,s+1).map(e=>{let r=Number(/\d+/.exec(e.src)[0]),i=t.keys?.[r]?.set?.root;return Array.isArray(i)&&i.length===3?{op:`replace`,path:`/keys/${r}/set/root`,value:Ed([i[0]+n.delta[0],i[1],i[2]+n.delta[2]])}:null}).filter(Boolean)}function Id(e,t,n){if(!Array.isArray(n.delta)||!e?.fr)return null;let r=e.bracket(`root`,n.f).prev,i=/^use\[(\d+)\] (standIdle|walkTo)\b/.exec(r?.src??``);if(i?.[2]===`standIdle`)return Nd(e,t,n,r);if(i?.[2]===`walkTo`)return Pd(e,t,Number(i[1]),n);let a=r&&Fd(e,t,n);return a?.length?a:null}function Ld(e,t,n){let{channel:r,f:i}=n;if(typeof r!=`string`||!kd(i))return null;if(n.hold)return Id(e,t,n);let a=e=>n.value===void 0?jd(e,n.delta):n.value,o=Md(t,r,i);if(o>=0){let e=a(t.keys[o].set[r]);return e===void 0?null:[{op:`replace`,path:Od([`keys`,o,`set`,r]),value:Ed(e)}]}if(!e?.fr)return null;let{prev:s,next:c}=e.bracket(r,i),l=s&&i-s.f<=2?s:c&&c.f-i<=2?c:null,u=n.delta!==void 0&&Nd(e,t,n,l);if(u)return u;let d=a(e.fr(i).c[r]);return d===void 0?null:[{op:`add`,path:`/keys/-`,value:{f:Math.round(i),set:{[r]:Ed(d)}}}]}function Rd(e,t){if(typeof t.path!=`string`||!t.path.startsWith(`/`))return null;let n=Dd(t.path),r=Ad(e,n),i=t.delta===void 0?t.value:r===void 0&&t.path.endsWith(`/offset`)?t.delta:jd(r,t.delta);return i===void 0?null:r===void 0?Ad(e,n.slice(0,-1))===void 0?n.length===2&&n[0]===`fix`?[{op:`add`,path:Od([n[0]]),value:{[n[1]]:Ed(i)}}]:null:[{op:`add`,path:t.path,value:Ed(i)}]:[{op:`replace`,path:t.path,value:Ed(i)}]}function zd(e,t,n){let r=e.channel===void 0?e.path===void 0?null:Rd(n,e):Ld(t,n,e);if(!r)return null;try{return JSON.stringify(Td(n,r))===JSON.stringify(n)?null:r}catch{return null}}function Bd(e,{X:t,userSpec:n}={}){if(!n||typeof n!=`object`)return e;for(let r of e)if(r.fix)try{let e=zd(r.fix,t,n);e&&(r.patch=e)}catch{}return e}let Vd={...Wu,...ud,...gd,...td,...Au};function Hd(e){let t=new Map;for(let n of e.keys??[])for(let e of Object.keys(n.set??{}))t.has(e)||t.set(e,[]),t.get(e).push({f:n.f,src:n.src??`keys`,step:n.step?.includes(e)});for(let e of t.values())e.sort((e,t)=>e.f-t.f);return t}function Ud(e,t,n){let r=Hd(t),i={sk:e,out:t,spec:n,I:e.index,fr:e=>t.frames[Math.max(0,Math.min(t.frames.length-1,e-(t.f0??0)))],rel:e=>Math.max(0,Math.min(t.frames.length-1,e-(t.f0??0))),keys:e=>r.get(e)??[],bracket(e,t){let n=i.keys(e),r=null,a=null;for(let e of n)if(e.f<=t)r=e;else{a=e;break}return{prev:r,next:a}},cause(e,t){let{prev:n,next:r}=i.bracket(e,t);if(!n&&!r)return`${e} (not keyed)`;let a=n&&t-n.f<=2?n:r&&r.f-t<=2?r:null;return a?`${a.src} f${Math.round(a.f)} ${e}`:r?n?`${e} between ${n.src} f${Math.round(n.f)} and ${r.src===n.src?``:`${r.src} `}f${Math.round(r.f)}`:`${e} before ${r.src} f${Math.round(r.f)}`:`${e} held since ${n.src} f${Math.round(n.f)}`},hand(e,t){let r=i.fr(t).c;if(!(r[`armw_${e}`]>.5))return{label:`arm ${e} (FK: aswing_${e}/abend_${e}, or armw_${e} 1 and hand_${e})`,ch:`aswing_${e}`};let a=null;for(let[t,n]of Object.entries(r)){let r=/^w_(.+)_([lr])$/.exec(t);r&&r[2]===e&&n>.5&&(!a||n>a.w)&&(a={w:n,anchor:r[1],ch:t})}if(!a)return{label:`hand_${e}`,ch:`hand_${e}`};let o=(n.fits??[]).findIndex(t=>t.anchor===a.anchor&&t.side===e);return{label:`anchor ${a.anchor}`,ch:a.ch,anchor:a.anchor,fit:o>=0?o:null}}};return i}function Wd(e,t,n,r,{limit:i=16,userSpec:a}={}){if(!r.length)return r;let o=Ud(e,t,n);for(let e of r.slice(0,i))try{let t=Vd[e.kind]?.(o,e);t&&(e.cause=t.cause,e.hint=t.hint),t?.fix&&Object.defineProperty(e,"fix",{value:t.fix,enumerable:!1,configurable:!0})}catch(t){e.cause=`unknown`,e.hint=`no hint (${t.message})`}return Bd(r,{X:o,userSpec:a})}let Gd=new Set([`ORIENT`,`BELOW`,`CLEARANCE`]),Kd=e=>Math.max(0,Gd.has(e.kind)?e.limit-e.worst:e.worst-e.limit),qd=e=>e.count*(1+Math.min(3,Kd(e)/Math.max(Math.abs(e.limit),.01))),Jd=e=>Math.round(qd(e)*100)/100,Yd=/(?<![\w\-.[])[-+]?\d+(\.\d+)?|\bf\d+\b/g,Xd=e=>{let t=e.subject.indexOf(`: `),n=t>=0?e.subject.slice(0,t+2):``;return`${e.kind} ${n}${e.subject.slice(n.length).replace(Yd,e=>e[0]===`f`?`f#`:`#`)}`};function Zd(e){for(let t of e)t.excess=Math.round(Kd(t)*1e4)/1e4,t.severity=Jd(t);return e.sort((e,t)=>(t.kind===`GOAL`)-(e.kind===`GOAL`)||t.severity-e.severity||t.count-e.count)}function Qd(e){let t=new Map;for(let n of e){let e=Xd({kind:n.kind,subject:n.msg}),r=t.get(e)??{kind:n.kind,subject:n.msg,count:0,worst:n.value,worstFrame:n.frame,first:n.frame,last:n.frame,limit:n.limit};r.count++,r.first=Math.min(r.first,n.frame),r.last=Math.max(r.last,n.frame),(Gd.has(n.kind)?n.value<r.worst:n.value>r.worst)&&(r.worst=n.value,r.worstFrame=n.frame,r.subject=n.msg),t.set(e,r)}return Zd([...t.values()])}function $d(e,t,n,r={}){let i=n.checks??{},a=bl(t,n.goals??[]),o=[...Jn(e,t,{allow:i.allow,limits:i.limits,mouthPoints:i.mouthPoints}),...$l(t,i),...gu(e,t,n),...Fn(t,i),...Ln(e,t,i,{...Kn,...i.limits}),...Ou(e,t),...Mu(e,t,i),...a.issues];if(t.f0)for(let e of o)e.frame+=t.f0;let s=Qd(o);return r.explain!==!1&&Wd(e,t,n,s,{userSpec:r.userSpec}),{ok:o.length===0,total:o.length,problems:s.length,...n.goals?{goals:a.results}:{},groups:s}}let ef=[`contacts`,`orient`,`below`,`clearance`,`appear`];function tf(e){let t=e?.checks;if(!t||typeof t!=`object`||!ef.some(e=>Array.isArray(t[e])&&t[e].some(e=>e&&typeof e==`object`&&e.name===void 0)))return e;let n={...t};for(let e of ef)Array.isArray(t[e])&&(n[e]=t[e].map((t,n)=>t&&typeof t==`object`&&t.name===void 0?{...t,name:`${e}[${n}]`}:t));return{...e,checks:n}}let nf=(e,t)=>({...t,...e?{description:e}:{}}),J=(e,t)=>nf(e,{type:`number`,...t}),Y=(e,t)=>nf(e,{type:`integer`,...t}),X=(e,t)=>nf(e,{type:`string`,...t}),rf=(e,t)=>nf(e,{type:`boolean`,...t}),Z=(e,t)=>nf(t,{$ref:`#/$defs/${e}`}),af=e=>nf(e,{enum:[`l`,`r`]}),of=(e,t)=>nf(t,{type:`array`,prefixItems:[e,e],minItems:2,maxItems:2});`${si.join(`|`)}`,`${Qt.map(e=>e[0]).join(`, `)}`,Y(`frame`,{minimum:0}),X(`written by the skills expander; leave it out`),X(`a skill name (topic skills)`),Y(`first frame`,{minimum:0});let sf={type:{const:`walk`},f0:Y(`first frame; needs a standing pose keyed before it`,{minimum:0}),steps:Y(`footsteps`,{minimum:1,default:8}),step:J(`stride, m`,{default:.5}),period:Y(`frames per step`,{default:20}),swing:Y(`frames a foot is in the air`,{default:14}),halfWidth:J(`feet half-width, m`,{default:.08}),lift:J(`foot lift, m`,{default:.08}),heading:of({type:`number`},`[h0, h1] degrees; ${Mr.yaw}`),turnDistance:J(`m walked while the heading turns h0 -> h1`,{default:.4}),pelvisHigh:J(`hips offset over the stance foot, m`),pelvisLow:J(`hips offset at double support, m`),firstStep:J(`first stride, m`,{default:.4}),armSwing:J(`degrees`,{default:14}),vary:J(`0..2, uneven steps as people walk (build-up, slow stop, left/right, turns) around the averages above; 0 = every step period frames, step m`,{default:1,minimum:0,maximum:2})};Y(null,{minimum:1,maximum:2e4}),X(`a short name for the take`),J(`m; a hand moving between targets arcs around the torso this far out`,{default:.25}),Y(`compiles at most`,{minimum:1,maximum:64,default:32}),Z(`vec3`,`world: a world point (m); body: root-relative, ${Mr.pole}`),X(`bone name`),Z(`vec3`,`world offset, m`),X(`bone`),X(`bone`),J(`0 = from .. 1 = to`,{default:.5}),J(`with reach: the lowest t to slide back to`,{default:.15}),af("slide toward `from` until this arm reaches"),X(`scene object id`),Z(`vec3`,`point in the object's frame, m`),X(`a prop held by the other hand`),X(`a point of that prop, or origin`),X(`a character id`),X(`a socket of the object`),af(),(e=>Z(`vec3`,`${e} [d, l, n] on the palm axes (d to the middle finger, l to the thumb side, n = d x l), m`))(`point:`),af(),X(`an anchor name`),X(),X(),Z(`vec3`,`world offset, m`);let cf={f:Y(),pos:Z(`vec3`),rot:{type:`array`,items:{type:`number`},minItems:4,maxItems:4,description:`quat x, y, z, w`},aim:Z(`vec3`,`or rot: +Y dir`),roll:J(`deg about aim`),lean:J(`aim tilt`,{minimum:0,maximum:45})},lf={type:`object`,properties:{at:Y(),onto:X(),bounce:J(null,{default:.25,minimum:0,maximum:.6}),tumble:{type:`boolean`}},required:[`at`],additionalProperties:!1};Z(`vec3`,`world hinge point`),Z(`vec3`,`default +Y`),X(`angle channel, deg`),X(`spec.props name: it rides that hand`),Z(`vec3`,`palm offset [d, l, n]`),Z(`vec3`,`+Y on the palm, fixed`),X(`channel: shown > 0.5`),X(`channel: strength 0..4`),Y(`hand takes it`,{default:0}),Y(`let go (else end)`),Object.fromEntries(ti.map(e=>[e,cf[e]])),{...lf},Z(`ref`),Z(`vec3`),X(`the QA group's name`),Z(`checkRef`),Z(`checkRef`),J(`m; default contacts 0.01, appear 0.035, supports 0.04`),Z(`when`),Z(`checkRef`),Z(`checkRef`),J(`default 0.64`),X(`bone`),X(`bone`),J(`m; below default 0.08`),Z(`part`),X(`scene object id`),Z(`frameSpan`),X(`a visibility channel`),X(`an anchor name`),J(`allowed depth, m`),Object.fromEntries(Object.entries(Kn).map(([e,t])=>[e,J(null,{default:t})])),X(`prop.point`),X(),of({$ref:`#/$defs/ref`},`distance <= tol`),of({$ref:`#/$defs/ref`},`a.y - b.y >= by`),X("a ref or an object id: an object's base moves at least `by` from the scene pose; any other point (prop:, joint:, landmark:, anchor:) at least `by` from where it is at at[0] (at: [f0, f1])"),X("a ref or an object id: stays within `tol` of where moved measures from (an object: its scene pose; a point: where it is at at[0], at: [f0, f1])"),X("a point ref: its speed reaches `by` m/s (mode any by default)"),J(`m; near default 0.05, still 0.01`),J(`above m, default 0; moved m, default 0.05; speed m/s, needed`),Y(null,{minimum:0}),X(`a goal's name: at starts after the first frame that goal holds`),X(`a goal's name: at ends before the first frame that goal holds`),X(`the key of the answer`),of({$ref:`#/$defs/ref`},`min/max/mean/first/last m`),Z(`ref`,`world points`),Z(`frameSpan`,`absolute, default the whole take`),Y(`position: every n frames (<= 16 rows)`,{minimum:1}),rf(`wrist targets past reach go onto it softly; hips lower for near-miss ankles`,{default:!0}),rf(`lifts sunk soles; a planted heel or ball drifting under 1 cm stays put; a heel-up foot pivots on its ball`,{default:!0}),rf(`arms kept out of the body's skin (wrists, elbows)`,{default:!0}),rf(`speed spikes borrow frames from the neighbouring keys`,{default:!1}),rf(`a standIdle stance in a scene body slides out of it (observations.placed)`,{default:!0});let uf=e=>e.f0+16+(e.steps??8)*(e.period??20)+18,df=e=>({type:`array`,items:{type:`number`},minItems:2,maxItems:2,description:e}),ff=e=>Object.fromEntries(e.map(e=>[e,X(e===`car`?`car prefix: fills <car>_Seat_Driver, _Seat_Driver_Back, _Door_L/R, _Door_Handle, _Steering_Wheel`:`scene object id (overrides the car default)`)])),pf=Object.fromEntries(ni.filter(e=>e!==`type`&&e!==`f0`).map(e=>[e,sf[e]])),mf={standIdle:{args:{at:df(`[x, z] world m; default the root keyed before f0, else within reach of the next reachGrip's anchor (output.observations.placed); a stance in a body slides out of it`),heading:J(`degrees (yaw); default the keyed yaw`),until:Y(`hold the pose to this frame`)},needs:`args.at, or a root keyed before f0`,frames:`1 (to args.until when given)`,adds:[`keys: a standing pose, FK arms down`],example:{f0:0,args:{at:[0,0],heading:0}},place:{at:.03}},walkTo:{args:{to:df(`[x, z] world m: the heading turns toward it and the steps cover the distance`),...pf,heading:{oneOf:[J(),sf.heading],description:`degrees: h1, or [h0, h1]`},arrive:Y(`with to and no steps/period/step/swing: the frame to end by (feet together); the engine picks the cadence (observations.planned)`)},needs:`a standing pose keyed before f0`,frames:`16 + steps * period + 18`,adds:[`keys: a walk ending feet together`],example:{f0:10,args:{to:[.5,1.5]}},tune:{lift:.01,halfWidth:.01,firstStep:.01,step:.01},place:{firstStep:.03,step:.03}},reachGrip:{args:{anchor:X(`not ending in _l/_r`),side:af(`the hand`),reach:Y(`frames to reach`,{default:20}),hold:Y(`frames held`,{default:22}),release:Y(`frames to let go`,{default:12}),elbow:Z(`vec3`,`pole`),fingers:{enum:Er,default:`grip`},define:{type:`object`,description:`defines anchor args.anchor`},orient:{type:`boolean`,description:`false: no grip turn`}},required:[`anchor`,`side`],needs:`args.anchor in anchors or define`,frames:`reach + hold + release (54)`,adds:[`props.<anchor>Grip (fingers point)`,`fits: fingers on the anchor`,`checks.contacts "fingers on <anchor>"`,`checks.allow hand on its object`,`keys: w_<anchor>_<side>, fingers_<side>, armw_<side>`],example:{f0:10,args:{anchor:`bar`,side:`r`,define:{kind:`world`,p:[-.2,1.2,.33]}}},tune:{reach:2,release:2}},sitInSeat:{args:{...ff([`car`,`seat`,`seatBack`,`wheel`]),offset:{...Z(`vec3`,`hips from the seat top, seat frame`),default:[0,.17,.02]},floor:J(`floor y under the feet, m`)},needs:`args.car or args.seat (a scene box)`,frames:`1`,adds:[`keys: seated, hands at the wheel`,`checks.supports seat`,`checks.allow seat, back, wheel`],example:{f0:0,args:{car:`Car`}}},exitCar:{args:{...ff([`car`,`seat`,`door`,`handle`]),side:af(`driver door side, default l`),channel:X(`the door hinge channel`,{default:`door`})},needs:`seated in the car before f0 (sitInSeat); a car on the ground (seat base y 0.4)`,frames:`246`,adds:[`objects: door and handle hinges`,`anchors handle, lthigh, rthigh`,`props.grip`,`fits, checks.contacts, checks.allow`],example:{f0:0,args:{car:`Car`}}},flip:{args:{kind:{enum:[`back`,`front`,`cartwheel`],default:`back`,description:`a standing back or front tuck, or a cartwheel`},travel:J(`back/front: m along the heading at landing (default back -0.25, front 0.4)`),side:af(`cartwheel: toward the character's l (default) or r`),heading:J(`degrees (yaw); default the keyed yaw`)},needs:`a standing pose keyed before f0`,frames:`back/front 58 (one turn, the hips 0.5 m up); cartwheel 68`,adds:[`keys every frame: back/front crouch, push-off, a ballistic tucked flight turning the whole body (pitch to -360 back, +360 front) and a landing that stands up`,`cartwheel: a side step, then the whole body rolls 360 like a wheel on the straddled legs and the arms overhead, the hands planted in turn`,`whole-body pitch and roll take full turns in any key (no range); past 60 deg the knee and elbow poles and the feet turn with the body`],example:{f0:10,args:{kind:`back`}}},smokeCigarette:{args:{until:Y(`hold to this frame; default the last frame; under f0+264 the beats are paced to fit`),kit:{type:`object`,properties:{cig:X(`the cigarette kit's rootId (object.createKit)`),lighter:X(`the lighter kit's rootId`),exhale:X(`the exhale kit's rootId (or an effect): it follows the mouth`)},required:[`cig`,`lighter`],additionalProperties:!1,description:`kits the skill carries and lights: it adds their spec.objects entries itself`}},needs:`a stand or squat keyed before f0`,frames:`265 nominal; fits 199..264 by pacing`,adds:[`anchors lpocket, rpocket, hold, mouth, flame`,`props cig, lighter`,`channels cig_vis, lit_vis, flame_vis, ember_vis, exhale, ember`,`checks contacts, orient, below, appear, mouthPoints`],example:{f0:0,args:{}}},hitReaction:{args:{dir:df(`[x, z] the way the body is thrown`),from:X(`or what hits it: object:<id> | person:<id> (thrown away from it)`),speed:J(`launch speed, m/s (a shove 2, a car at 30 km/h about 8)`,{default:4,exclusiveMinimum:0}),land:{enum:[`back`,`front`],description:`default: back when hit from the front`}},needs:`a pose; dir or from`,frames:`~40`,adds:[`keys: thrown to rest`],example:{f0:10,args:{dir:[0,-1],speed:3}}}},hf={_l:`_r`,_r:`_l`},gf=/^(yaw|roll|spine_yaw|spine_roll|head_yaw|head_roll|fyaw_[lr]|wtwist_[lr]|wflex_[lr])$/,_f=/^(root|foot_[lr]|hand_[lr])$/,vf=/^(knee|elbow)_[lr]$/,yf=/^(yaw|fyaw_[lr])$/,bf=e=>e&&typeof e==`object`?structuredClone(e):e,xf=e=>e.replace(/_(l|r)$/,e=>hf[e]).replace(/^(Left|Right)/,e=>e===`Left`?`Right`:`Left`),Sf=()=>({origin:[0,0,0],yaw:0,mirror:!1,negate:new Set,names:{}}),Cf=(t,n)=>e(t.origin,p(_(t.yaw),t.mirror?[-n[0],n[1],n[2]]:n)),wf=(e,t)=>e.mirror?[-t[0],t[1],t[2]]:t.slice();function Tf(e,t){if(!e.mirror)return t;let n=/^w_(.+)_([lr])$/.exec(t);return n?`w_${e.names[n[1]]??n[1]}_${n[2]===`l`?`r`:`l`}`:/_[lr]$/.test(t)?xf(t):t}function Ef(e,t){let n={};for(let[r,i]of Object.entries(t)){let t=bf(i);_f.test(r)?t=Cf(e,t):vf.test(r)?t=wf(e,t):typeof t==`number`&&(e.mirror&&(gf.test(r)||e.negate.has(r))&&(t=-t),yf.test(r)&&(t+=e.yaw)),n[Tf(e,r)]=t}return n}function Df(e,t=0,n=Sf()){let r=[],i=e=>Tf(n,e);return{state:e,keys:r,frame:n,at(i,a){let o=Ef(n,a);Object.assign(e,bf(o)),r.push({f:t+i,set:o})},hold(n,...a){r.push({f:t+n,set:Object.fromEntries(a.filter(t=>e[i(t)]!==void 0).map(t=>[i(t),bf(e[i(t)])]))})},step(n,a,o){let s=i(a);r.push({f:t+n-1,set:{[s]:e[s]}}),e[s]=o,r.push({f:t+n,set:{[s]:o},step:[s]})}}}let Q=(e,t)=>{throw Error(`MOTION_SPEC_INVALID: ${e}: ${t}`)};function Of(e,t,n){let r=e.scene?.objects?.[n];return r||Q(e.tag,`args.${t} "${n}" is not a scene object`),r}let kf=e=>Math.atan2(e[0][2],e[2][2])*180/Math.PI,Af=.01,jf=[`Left`,`Right`].flatMap(e=>[[`${e}UpLeg`,`${e}Leg`,.07],[`${e}Leg`,`${e}Foot`,.05],[`${e}Foot`,`${e}ToeBase`,.045],[`${e}ToeBase`,`${e}Toe_End`,.04]]).concat([[`LeftUpLeg`,`RightUpLeg`,.095],[`Hips`,`Spine2`,.12]]),Mf=[[0,-1],[1,0],[-1,0],[Math.SQRT1_2,-Math.SQRT1_2],[-Math.SQRT1_2,-Math.SQRT1_2]];function Nf(n,r,i){let a=n.index,o=n.restWorldPos,s=o[a.Hips],c=_(i),l=t=>e([r[0],0,r[1]],p(c,[t[0]-s[0],t[1],t[2]-s[2]])),u=(n,r,i)=>[0,.25,.5,.75,1].map(a=>[e(n,t(r,n).map(e=>e*a)),i]),d=[`Left`,`Right`].flatMap(e=>{let t=o[a[`${e}Arm`]],n=Math.sign(t[0]-s[0])*.04;return u(l(t),l([t[0]+n,t[1]-.62,t[2]]),.045)});return jf.filter(([e,t])=>a[e]!==void 0&&a[t]!==void 0).flatMap(([e,t,n])=>u(l(o[a[e]]),l(o[a[t]]),n)).concat(d)}let Pf=e=>Object.values(e?.objects??{}).filter(e=>e.half&&e.pos&&e.R&&e.pos[1]+2*e.half[1]*e.R[1][1]>.12);function Ff(e,t,n,r){let i=1/0;for(let[a,o]of Nf(e,n,r))for(let e of t)i=Math.min(i,H(a,e)-o-.01);return i}function If(e,t,n,r){let i=Pf(t);if(!i.length||Ff(e,i,n,r)>=0)return null;let a=_(r);for(let t=Af;t<=.600000001;t+=Af)for(let[o,s]of Mf){let c=p(a,[o*t,0,s*t]),l=[n[0]+c[0],n[1]+c[2]];if(Ff(e,i,l,r)>=0)return{at:l.map(e=>+e.toFixed(4)),moved:+t.toFixed(2)}}return null}function Lf(t,n){if(n?.kind===`world`&&Array.isArray(n.p))return n.p;if(n?.kind!==`object`||!t)return null;let r=t.objects?.[n.object]??t.groups?.[n.object];if(!r)return null;if(!n.grasp||n.local)return e(r.pos,p(r.R,n.local??[0,0,0]));let i=Mi(t,n.object).map(e=>t.objects[e]).filter(e=>e?.half).map(t=>e(t.pos,p(t.R,[0,t.half[1],0])));return i.reduce((t,n)=>e(t,n.map(e=>e/i.length)),[0,0,0])}function Rf(e){let{sk:n,scene:r,use:i=[],index:o=-1}=e,s=i.slice(o+1).find(e=>e?.skill===`reachGrip`),c=Lf(r,s&&(s.args?.define??e.anchors?.[s.args?.anchor]));if(!c)return null;let l=n.index,u=n.restWorldPos,d=s.args.side===`l`?`Left`:`Right`,f=u[l.Hips],m=u[l[`${d}Arm`]],h=a(t(u[l[`${d}ForeArm`]],m))+a(t(u[l[`${d}Hand`]],u[l[`${d}ForeArm`]]))+a(t(u[l[`${d}HandMiddle2`]],u[l[`${d}Hand`]])),g=m[1]-c[1],v=Math.max(.15,Math.sqrt(Math.max(0,(.8*h)**2-g*g))),y=e.args.heading??e.state?.yaw??0,b=_(y),x=Pf(r),S=p(b,[m[0]-f[0],0,m[2]-f[2]+v]),C=[c[0]-S[0],c[2]-S[2]],w=0,T=C;for(;w<=.600000001&&Ff(n,x,T,y)<0;w+=Af){let e=p(b,[0,0,-(w+Af)]);T=[C[0]+e[0],C[1]+e[2]]}return{at:T.map(e=>+e.toFixed(4)),heading:y,anchor:s.args.anchor,moved:+w.toFixed(2)}}let zf=.75,Bf=.08,Vf=[.15,.3,.45,.6,.7,.8,.9],Hf=e=>e*e*e*(10-15*e+6*e*e),Uf=.9,Wf=.7,Gf=(e,t)=>{let n=Math.min(1,Math.max(0,e));return n<Wf?Uf*Hf((n/Wf)**t):Uf+.09999999999999998*Hf((n-Wf)/.30000000000000004)},Kf=e=>[...new Map(Vf.map(t=>Math.round(t*e)).filter(t=>t>0&&t<e).map(t=>[t,[Gf(t/e,.65),Gf(t/e,.75)]])).entries()].map(([e,[t,n]])=>[e,t,n]),qf=180/Math.PI,Jf=(e,t,n)=>Math.max(t,Math.min(n,e));function Yf(e,t){let n=Xf(e,t),r=e.sk.index;return!!n&&n[1]>=e.sk.restWorldPos[r.LeftLeg][1]+.1}function Xf(t,n){if(n?.kind===`world`&&Array.isArray(n.p))return n.p.map(Number);let r=n?.kind===`object`?t.scene?.objects?.[n.object]:null;return!r||[n.object,...r.ancestors??[]].some(e=>Zf(t,e))?null:e(r.pos,p(r.R,n.local??[0,r.half?.[1]??0,0]))}function Zf(e,t){let n=e.objects?.[t];return!n||typeof n!=`object`?!1:n.follow!==void 0||n.hinge!==void 0||Math.min(...(n.keys??[]).map(e=>e.f).filter(Number.isFinite),n.fall?.at??1/0)<(e.until??1/0)}let Qf=new WeakMap;function $f(e){if(!Qf.has(e)){let n=D(e),r=e.index;ue(e,n,`Right`,{}),Qf.set(e,a(t(n.P[r.RightHandThumb4],n.P[r.RightHandIndex4])))}return Qf.get(e)}function ep(e,t){let n=e.scene?.objects??{};if(t?.kind===`object`)return n[t.object]?.half?n[t.object]:null;if(t?.kind!==`world`||!Array.isArray(t.p))return null;let r=t.p.map(Number);return Object.values(n).filter(e=>e.half&&H(r,e)<=.01).sort((e,t)=>H(r,e)-H(r,t))[0]??null}function tp(e,n,r,i){let a=r[0]-n[0],o=r[2]-n[2],s=Math.hypot(a,o);if(s<1e-6)return!1;let c=[n[0]+a/s*Bf,n[1],n[2]+o/s*Bf];return Object.entries(e.scene?.objects??{}).some(([e,n])=>{if(!n.half||i.has(e)||i.has(n.parent))return!1;let r=t(c,[0,.12,0]);return H(c,n)>0&&H(r,n)<=0})}function np(t,n,r){let i=ep(t,n),a=Xf(t,n)??(i&&e(i.pos,p(i.R,[0,i.half[1],0])));if(!i||!a||2*Math.min(...i.half)+.025>$f(t.sk))return!1;let o=new Set(Object.entries(t.scene.objects).filter(([,e])=>e===i).map(([e])=>e));return!(Array.isArray(r.root)&&tp(t,a,r.root,o))}function rp(e,t,n){let r=Xf(e,t),i=n.root;if(!r||!Array.isArray(i))return null;let a=e.sk.restWorldPos,o=e.sk.index,s=[i[0],i[1]+a[o.Head][1]-a[o.Hips][1],i[2]],c=[r[0]-s[0],r[1]-s[1],r[2]-s[2]],l=Math.hypot(c[0],c[2]);if(l<.05)return null;let u=Math.atan2(c[0],c[2])*qf-(n.yaw??0)-(n.spine_yaw??0);for(;u>180;)u-=360;for(;u<-180;)u+=360;let d=Math.atan2(-c[1],l)*qf-(n.pitch??0)-(n.spine_pitch??0);return{head_yaw:Jf(zf*u,-60,60),head_pitch:Jf(zf*d,-30,50)}}let ip=(e,t,n)=>e.some(e=>e.f>=t&&e.f<=n&&(e.set?.head_yaw!==void 0||e.set?.head_pitch!==void 0)),ap=(e,t)=>kr[e]?kr[e].map((e,n)=>n===2&&t===`r`?-e:e):[0,0,0];function op(t){let{sk:n,args:r,state:i}=t,a=n.index,o=n.restWorldPos,s=o[a.LeftFoot][1],c=r.heading??i.yaw??0,l=r.at??(i.root?[i.root[0],i.root[2]]:null),u=null;if(!l){let e=Rf(t);e||Q(t.tag,`needs args.at: [x, z] (no root is keyed before f0), or a reachGrip after it to stand within reach of`),{at:l,heading:c}=e,u={at:l,heading:c,why:`within reach of anchor ${e.anchor}`}}else if(r.at&&t.place!==!1){let e=If(n,t.scene,[l[0],l[l.length-1]],c);e&&(l=e.at,u={at:l,heading:c,why:`moved ${e.moved} m out of a scene body`})}let d=[l[0],0,l[l.length-1]],f=_(c),m=t=>{let n=e(d,p(f,t));return n[1]=s,n},h={root:[d[0],o[a.Hips][1]-.01,d[2]],yaw:c,pitch:0,roll:0,spine_yaw:0,spine_pitch:0,spine_roll:0,head_yaw:0,head_pitch:0,foot_l:m([.09,0,-.03]),foot_r:m([-.09,0,.03]),fyaw_l:c,fyaw_r:c,fpitch_l:0,fpitch_r:0,knee_l:[.05,0,1],knee_r:[-.05,0,1],armw_l:0,armw_r:0,aswing_l:0,aswing_r:0,abend_l:0,abend_r:0,arm_hang:1},g=[{f:t.f0,set:h}];return r.until!==void 0&&g.push({f:r.until,set:structuredClone(h)}),{keys:g,end:r.until??t.f0,...u?{placed:u}:{}}}function sp(e){let{args:t,state:n}=e;(!n.foot_l||!n.foot_r||!n.root)&&Q(e.tag,`needs a standing pose keyed before f0 (use standIdle or another skill first)`);let r={type:`walk`,f0:e.f0,...t};delete r.to,delete r.arrive;let i=n.yaw??0,a=t.step??.5,o=t.firstStep??.4;if(t.to){let e=[(n.foot_l[0]+n.foot_r[0])/2,(n.foot_l[2]+n.foot_r[2])/2],s=t.to[0]-e[0],c=t.to[t.to.length-1]-e[1],l=Math.hypot(s,c),u=Math.atan2(s,c)*180/Math.PI;for(;u-i>180;)u-=360;for(;u-i<-180;)u+=360;r.heading=t.heading??[i,u],r.steps=t.steps??Math.max(2,2+Math.round((l-o)/a))}typeof r.heading==`number`&&(r.heading=[i,r.heading]);let s=qs(r,e.keys,e.sk,e.tag),c=uf(r),l=e.frames-1;return c>l&&Math.max(...s.filter(e=>e.f<c).map(e=>e.f))<=l?{keys:s.filter(e=>e.f<=l),end:l,cut:`settle cut at f${l} (hold to the end)`}:{keys:s,end:c}}function cp(e={},t,n,r){let i=t=>e[t]&&JSON.stringify(e[t])!==JSON.stringify(r);if(!i(t))return t;let a=`${t}_${n}`;for(let e=2;i(a);e++)a=`${t}_${n}${e}`;return a}let lp=(e,t)=>{let n=e?.objects??{};if(!t||n[t]||t.startsWith(`person:`))return t?[t]:[];let r=Object.keys(n).filter(e=>n[e].ancestors?.includes(t));return r.length?r:[t]};function up(e){let{args:t,state:n}=e,r=t.side,i=t.anchor;r!==`l`&&r!==`r`&&Q(e.tag,`args.side must be "l" or "r", got ${JSON.stringify(r)}`),(typeof i!=`string`||/_[lr]$/.test(i))&&Q(e.tag,`args.anchor must name an anchor (not ending in _l/_r)`);let a=t.reach??20,o=t.hold??22,s=t.release??12,c=(t.define??e.anchors?.[i])?.grasp,l=t.fingers??Or[c]??`grip`,u=`w_${i}_${r}`,d=`fingers_${r}`,f=`armw_${r}`,p=`elbow_${r}`,m=!(n[f]>.5),h=e.frames-1,g=e.f0+a<=h&&e.f0+a+o+s>h,_=Math.min(a+o,h-e.f0);for(let[e,t]of[[u,0],[d,{[l]:0}],[f,0]])n[e]===void 0&&(n[e]=t);let v=a+o+s,y={...e,until:e.f0+a},b=!ip(e.keys??[],e.f0,e.f0+v)&&rp(y,t.define??e.anchors?.[i],n),x=b?{head_yaw:n.head_yaw??0,head_pitch:n.head_pitch??0}:null,S=Df(n,e.f0);S.hold(0,u,d,f,p,...b?[`head_yaw`,`head_pitch`]:[]);let C=t.define??e.anchors?.[i],w=n[u],T=n[f],E=(e,t,n)=>e+(t-e)*n;if(Yf(y,C))for(let[e,t,n]of Kf(a))S.at(e,{[u]:E(w,1,t),[f]:E(T,1,n)});let D=Math.round(.4*a);D>0&&D<a&&np(y,C,n)&&S.hold(D,d),b&&S.at(Math.max(1,Math.round(.3*a)),b),S.at(a,{[u]:1,[d]:{...n[d],[l]:1},[f]:1,...t.elbow?{[p]:t.elbow}:{}}),S.hold(_,u,d,f,p,...b?[`head_yaw`,`head_pitch`]:[]),g||S.at(v,{[u]:0,[d]:{...n[d],[l]:0},...m?{[f]:0}:{},...x??{}});let O=r===`l`?`Left`:`Right`,k={hand:r,origin:[`${O}HandIndex2`,`${O}HandMiddle2`],points:{fingers:ap(c,r)}},A=cp(e.props,`${i}Grip`,r,k),j=t.define?{[i]:t.define}:{},M=t.define??e.anchors?.[i],N=M?.kind===`object`?M.object:M?.kind===`person`?`person:${M.person}`:null;return{keys:S.keys,end:g?h:e.f0+a+o+s,...g?{cut:`${_<a+o?`hold`:`release`} cut at f${h} (hold to the end)`}:{},anchors:j,props:{[A]:k},fits:[{side:r,anchor:i,effector:{prop:A,point:`fingers`},...t.orient===!1?{orient:!1}:{}}],checks:{contacts:[{name:`fingers on ${i}`,point:`prop:${A}.fingers`,target:`anchor:${i}`,tol:.04,when:u}],allow:lp(e.scene,N).map(e=>({part:`hand`,object:e,depth:.04}))}}}let dp=[.54,.4,-.075],fp=.4,pp=new Set([`l`,`r`]);function mp(e,t=`l`){let n=e.car;return{seat:e.seat??(n&&`${n}_Seat_Driver`),seatBack:e.seatBack??(n&&`${n}_Seat_Driver_Back`),door:e.door??(n&&`${n}_Door_${t.toUpperCase()}`),handle:e.handle??(n&&`${n}_Door_Handle`),wheel:e.wheel??(n&&`${n}_Steering_Wheel`)}}function hp(e,n,r){let i=Of(e,`seat`,n);Math.abs(i.pos[1]-fp)>.05&&Q(e.tag,`seat "${n}" stands at y ${i.pos[1]}; the car skills are tuned for a seat base at y ${fp} (a car on the ground)`);let a=Sf();a.yaw=kf(i.R),a.mirror=r===`r`;let o=t(i.pos,p(_(a.yaw),a.mirror?[-dp[0],dp[1],dp[2]]:dp));return a.origin=[o[0],0,o[2]],a.names={lthigh:`rthigh`,rthigh:`lthigh`},a}let gp=[[`hand`,`thigh*`,.07],[`farm`,`thigh*`,.07],[`hand`,`hips`,.07],[`farm`,`hips`,.07],[`hand_l`,`hand_r`,.035]].map(([e,t,n])=>({part:e,object:t,depth:n})),_p=e=>({A:e.restWorldPos[e.index.LeftFoot][1],H:t=>t+(e.restWorldPos[e.index.Hips][1]-1.0427487182617188)});function vp(t){let{args:n,sk:r}=t,i=mp(n),a=Of(t,`seat`,i.seat),{A:o}=_p(r),s=kf(a.R),c=e=>p(_(s),e),l=n.offset??[0,.17,.02],u=n.floor??a.pos[1],d=e(e(a.pos,p(a.R,[0,2*a.half[1],0])),c(l)),f=t=>{let n=e(d,c([t,0,.452]));return n[1]=u+o,n},m=t=>e(d,c([t,.348,.324])),h={root:d,yaw:s,pitch:0,spine_pitch:-12,spine_yaw:0,spine_roll:0,head_yaw:0,head_pitch:10,foot_l:f(.17),foot_r:f(-.17),fyaw_l:s,fyaw_r:s,fpitch_l:0,fpitch_r:0,knee_l:[.15,.2,1],knee_r:[-.15,.2,1],armw_l:1,armw_r:1,hand_l:m(.22),hand_r:m(-.22),elbow_l:[.6,-1,-.3],elbow_r:[-.6,-1,-.3],aswing_l:0,aswing_r:0,abend_l:0,abend_r:0,wtwist_l:0,wtwist_r:0,wflex_l:0,wflex_r:0},g=[{part:`torso_lo`,object:i.seat,depth:.04},{part:`hips`,object:i.seat,depth:.04},{part:`thigh`,object:i.seat,depth:.045}];return i.seatBack&&t.scene.objects[i.seatBack]&&g.push({part:`torso`,object:i.seatBack,depth:.03}),i.wheel&&t.scene.objects[i.wheel]&&g.push({part:`hand`,object:i.wheel,depth:.05}),{keys:[{f:t.f0,set:h}],checks:{supports:[{object:i.seat,part:`hips`,tol:.04}],allow:g},end:t.f0}}function yp(t){let n=t.args.side??`l`;pp.has(n)||Q(t.tag,`args.side must be "l" or "r", got ${JSON.stringify(n)}`);let r=mp(t.args,n),i=hp(t,r.seat,n),a=t.args.channel??`door`;for(let[e,n]of[[`door`,r.door],[`handle`,r.handle]])Of(t,e,n);i.negate.add(a);let o={[a]:0,w_handle_l:0,w_lthigh_l:0,w_rthigh_r:0,fingers_l:{grip:0,fist:0}},s=Df(t.state,t.f0,i),c={};for(let[e,n]of Object.entries(o))t.state[Tf(i,e)]===void 0&&(c[e]=n);Object.keys(c).length&&s.at(0,c),bp(s,a,_p(t.sk));let l=t.scene.objects[r.door],u=(i.mirror?-1:1)*l.half[0],d={pivot:e(l.pos,p(l.R,[u,0,l.half[2]])),axis:[0,1,0],channel:a},f=e=>i.mirror?xf(e):e,m=e=>i.mirror?{lthigh:`rthigh`,rthigh:`lthigh`}[e]??e:e,h=(e,t)=>({kind:`segment`,from:f(`${e}UpLeg`),to:f(`${e}Leg`),t:.45,tMin:.15,offset:[0,.07,0],reach:i.mirror?t===`l`?`r`:`l`:t}),g=i.mirror?`r`:`l`;return{keys:s.keys,objects:{[r.door]:d,[r.handle]:d},anchors:{handle:{kind:`object`,object:r.handle,local:wf(i,[-.005,.015,0])},[m(`lthigh`)]:h(`Left`,`l`),[m(`rthigh`)]:h(`Right`,`r`)},props:{grip:{hand:g,origin:[f(`LeftHandIndex2`),f(`LeftHandMiddle2`)],points:{fingers:[0,0,0]}}},fits:[{side:g,anchor:`handle`,effector:{prop:`grip`,point:`fingers`}}],checks:{contacts:[{name:`fingers on the door handle`,point:`prop:grip.fingers`,target:`anchor:handle`,tol:.04,when:`w_handle_${g}`}],allow:[{part:`hand`,object:r.door,depth:.03},{part:`hand`,object:r.handle,depth:.04},...gp]},end:t.f0+246}}function bp(e,t,{A:n,H:r}){e.hold(12,`w_handle_l`,`fingers_l`,`head_yaw`,`spine_yaw`,`spine_roll`,`elbow_l`,`hand_l`),e.at(32,{w_handle_l:1,fingers_l:{grip:1,fist:0},head_yaw:35,spine_yaw:10,spine_roll:-8,elbow_l:[.3,-1,-.6],hand_l:[1,.96,.06]}),e.hold(32,t),e.at(38,{[t]:-3}),e.at(50,{[t]:-10,spine_roll:-16,spine_yaw:14}),e.hold(54,`w_handle_l`,`fingers_l`,`w_lthigh_l`,`elbow_l`,t),e.at(66,{w_handle_l:0,fingers_l:{grip:0,fist:0},[t]:-10}),e.at(70,{w_lthigh_l:1,elbow_l:[.5,-.3,-1],spine_roll:-3,spine_yaw:6}),e.at(84,{[t]:-68,head_yaw:40}),e.hold(64,`w_rthigh_r`,`elbow_r`,`spine_pitch`),e.at(80,{w_rthigh_r:1,elbow_r:[-.5,-.3,-1],spine_roll:0,spine_yaw:0,spine_pitch:0}),e.hold(84,`yaw`,`root`,`foot_l`,`foot_r`,`fyaw_l`,`fyaw_r`,`knee_l`,`knee_r`),e.at(92,{foot_r:[.4,fp+n+.03,.36],fyaw_r:15}),e.at(97,{foot_l:[.96,.62,.32],fyaw_l:40,knee_l:[.5,.4,1],yaw:30,root:[.64,.915,-.06]}),e.at(101,{foot_r:[.56,fp+n,.34],fyaw_r:35}),e.at(105,{foot_l:[1.18,.5,.1],fyaw_l:60}),e.at(116,{foot_l:[1.28,n,-.12],fyaw_l:75,knee_l:[.4,.5,1],yaw:62,root:[.82,.9,-.06],head_yaw:20,knee_r:[.1,.6,1],spine_pitch:10}),e.hold(120,`foot_r`,`fyaw_r`),e.at(129,{foot_r:[.94,.64,.36],fyaw_r:65,knee_r:[0,.5,1],yaw:80,root:[.86,.9,-.03]}),e.at(135,{foot_r:[1.18,.5,.26],fyaw_r:85}),e.hold(142,`foot_l`,`fyaw_l`),e.at(144,{foot_r:[1.29,n,.22],fyaw_r:90,knee_r:[-.1,.4,1],yaw:90,root:[.88,.9,.02],head_yaw:0,knee_l:[.1,.4,1],spine_pitch:16}),e.hold(144,`head_pitch`,`pitch`,`elbow_l`,`elbow_r`),e.at(152,{spine_pitch:28,head_pitch:-8,root:[.91,.9,.02],elbow_l:[.6,-.2,-1],elbow_r:[-.6,-.2,-1]}),e.at(162,{spine_pitch:50,pitch:22,head_pitch:-36,root:[.99,.91,.02]}),e.at(174,{root:[1.09,.96,.02],spine_pitch:36,pitch:12,head_pitch:-24}),e.hold(166,`armw_l`,`armw_r`),e.at(186,{root:[1.19,r(1),.02],spine_pitch:12,pitch:3,head_pitch:-8,armw_l:0,armw_r:0}),e.hold(187,`w_lthigh_l`,`w_rthigh_r`),e.at(190,{w_lthigh_l:0,w_rthigh_r:0}),e.at(196,{root:[1.21,r(1.005),.02],spine_pitch:0,pitch:0,head_pitch:0}),e.at(205,{root:[1.26,r(.985),.165]}),e.hold(208,`foot_l`,`fyaw_l`),e.at(212,{root:[1.3,r(.985),.16]}),e.at(214,{foot_l:[1.4,n+.06,-.12]}),e.at(220,{foot_l:[1.535,n,-.132],fyaw_l:110,root:[1.38,r(.98),.05]}),e.at(230,{root:[1.5,r(.975),-.08]}),e.hold(232,`foot_r`,`fyaw_r`),e.at(236,{root:[1.52,r(.975),-.085]}),e.at(239,{foot_r:[1.53,n+.07,.09]}),e.at(246,{foot_r:[1.765,n,-.048],fyaw_r:125,yaw:110,root:[1.62,r(.98),-.08]})}let xp=[`cig`,`lighter`,`exhale`],Sp={follow:`landmark:mouth`,aim:`face`,visible:`exhale`},Cp={cig:`cigarette`,lighter:`lighter`},wp=[-.05,.07,.1],Tp=.88,Ep=[.245,.08,.02],Dp={l:[.13,-.035,.08],r:[-.13,-.035,.08]};function Op(e,t){return Object.entries(e?.objects??{}).map(([e,t])=>[e,t,!0]).concat(Object.entries(e?.others??{}).map(([e,t])=>[e,t,!1])).filter(([,e])=>e.ancestors?.includes(t))}function kp(e,t,n){let r=t[n];return(typeof r!=`string`||!Nt(e.scene)[r])&&Q(e.tag,`args.kit.${n} ${JSON.stringify(r)} is not a group in the scene; object.createKit { kit: "${Cp[n]}" } answers its rootId`),r}let Ap={cig:.03,lighter:.045},jp=.07,Mp=.04;function Np(e,t){let n=e.args.kit;if(n===void 0)return null;(!n||typeof n!=`object`||Array.isArray(n))&&Q(e.tag,`args.kit must be { cig, lighter, exhale? } (kit root ids), got ${JSON.stringify(n)}`);for(let t of Object.keys(n))xp.includes(t)||Q(e.tag,`args.kit has unknown field "${t}"; fields: ${xp.join(`, `)}`);let r=kp(e,n,`cig`),i=kp(e,n,`lighter`),a={[r]:{prop:`cig`,grab:t.cig,at:[0,0,0],along:[0,0,1],visible:`cig_vis`},[i]:{prop:`lighter`,grab:t.lit,release:t.unlit,at:[0,0,0],along:[0,1,0],visible:`lit_vis`}};for(let[t,n,i]of Op(e.scene,r))i&&n.glow||!i&&n.renderer===`light`?a[t]={visible:`ember_vis`,level:`ember`}:!i&&n.renderer===`effect`&&(a[t]={visible:`ember_vis`});for(let[t,n,r]of Op(e.scene,i))(r&&n.glow||!r&&n.renderer===`light`)&&(a[t]={visible:`flame_vis`});n.exhale!==void 0&&((typeof n.exhale!=`string`||!(e.scene?.others?.[n.exhale]||e.scene?.objects?.[n.exhale]||Nt(e.scene)[n.exhale]))&&Q(e.tag,`args.kit.exhale ${JSON.stringify(n.exhale)} is not a scene object; object.createKit { kit: "exhale" } answers its rootId (it follows the mouth)`),a[n.exhale]={...Sp});let o=e=>t.squat?jp:e;return{objects:a,allow:[[`thigh_r`,r,o(Ap.cig)],[`thigh_l`,i,o(Ap.lighter)],[`hips`,r,o(Ap.cig)],[`hips`,i,o(Ap.lighter)],...t.squat?[[`shin`,r,jp],[`shin`,i,jp],[`hand_l`,`thigh_l`,Mp],[`hand_r`,`thigh_r`,Mp],[`hand`,`hips`,Mp]]:[]].map(([e,t,n])=>({part:e,object:t,depth:n}))}}function Pp(r){let{sk:i,state:o}=r,s=i.index,c=i.restWorldPos;if(!(o.root[1]<.7*c[s.Hips][1]))return null;let{s:l}=wt(i,o),u=o.yaw??0,d=l.P[s.RightArm],f=e=>p(_(-u),t(e,o.root)),m=a(t(c[s.RightForeArm],c[s.RightArm]))+a(t(c[s.RightHand],c[s.RightForeArm])),h=e(l.P[s.RightLeg],p(_(u),wp)),g=a(t(h,d)),v=f(g>Tp*m?e(d,n(t(h,d),Tp*m/g)):h),y=e(f(A(l,s.Head,i.landmarks.mouth)),[0,0,.2]),b=He(i),x=(t,n)=>{let r=e(o.root,p(_(u),[n*Ep[0],Ep[1],Ep[2]]));return f(b?Be(b.body,i,l,r,Ve,b.skip):r)},S=e=>e.map(e=>Math.round(e*1e3)/1e3);return{hold:S(v),mouthOut:S(y),lpocket:S(x(`Left`,1)),rpocket:S(x(`Right`,-1))}}let Fp={TW_M:40,FX_M:0,TW_H:0,FX_H:10,TW_L:-80,FX_L:-50},Ip=[[`hand_l`,`hand_r`,.045],[`hand_r`,`hand_l`,.045],[`farm_r`,`hand_l`,.02],[`hand_l`,`farm_r`,.02]].map(([e,t,n])=>({part:e,object:t,depth:n})),Lp=[.4,-1,.6],Rp=[-.4,-1,-.3],zp=[.9,-.6,.3],Bp=[`armw_r`,`armw_l`,`w_rpocket_r`,`w_lpocket_l`,`w_hold_r`,`w_mouth_r`,`w_flame_l`,`elbow_r`,`elbow_l`,`wtwist_r`,`wflex_r`,`wtwist_l`,`wflex_l`,`head_pitch`,`head_yaw`,`spine_pitch`,`root`,`fingers_l`,`fingers_r`,`cig_vis`,`lit_vis`,`flame_vis`,`ember_vis`,`exhale`,`ember`],Vp=e=>(e/24).toFixed(1),Hp={armw_r:0,armw_l:0,w_rpocket_r:0,w_lpocket_l:0,w_hold_r:0,w_mouth_r:0,w_flame_l:0,elbow_r:[-.5,-.4,-1],elbow_l:[.5,-.4,-1],wtwist_r:0,wflex_r:0,wtwist_l:0,wflex_l:0,head_pitch:0,head_yaw:0,spine_pitch:0,fingers_l:{grip:0,fist:0},fingers_r:{cigarette:0},cig_vis:0,lit_vis:0,flame_vis:0,ember_vis:0,exhale:0,ember:0};function Up(e){let t=e.args.until??(e.auto?e.f0+264:e.frames-1),n=t-e.f0;n<198&&Q(e.tag,`needs frames f${e.f0}..f${e.f0+198} at least: 199 frames, ${Vp(199)} s at 24 fps, paced 0.75 (265 frames, ${Vp(265)} s, at its own pace); it has f${e.f0}..f${t}, `+(e.args.until===void 0?`so set frames >= ${e.f0+198+1} or frames: "auto"`:`so set args.until >= ${e.f0+198}`)),Array.isArray(e.state.root)||Q(e.tag,`needs a pose keyed before f0 (root): standing or squatting`);let r=Object.fromEntries(Object.entries(Hp).filter(([t])=>e.state[t]===void 0));Object.keys(r).length&&Object.assign(e.state,structuredClone(r)),e.state.head_yaw=0;let i=e.state.head_pitch,a=(e.state.pitch??0)+e.state.spine_pitch,o=e=>e+i,s=a?p(g(a),Lp):Lp,c=a?p(g(a),Rp):Rp,l=Pp(e),u=e.self?l?20:15:Fp.FX_M;l&&(e.state.w_mouthOut_r=0);let d=n<264?n/264:1,f=e=>Math.round(e*d),m=Df(e.state,e.f0),h=d===1?m:{...m,at:(e,t)=>m.at(f(e),t),hold:(e,...t)=>m.hold(f(e),...t),step:(e,t,n)=>m.step(f(e),t,n)},_=e.state.root.slice(),v=e.state.yaw??0,y=(e,t)=>{h.hold(e,`w_mouth_r`,`w_hold_r`,`wtwist_r`,`wflex_r`,`elbow_r`,`head_pitch`,`root`,...l?[`w_mouthOut_r`]:[]),l&&h.at(Math.round((e+t)/2),{w_hold_r:0,w_mouthOut_r:1,w_mouth_r:0}),h.at(t,{w_mouth_r:1,w_hold_r:0,...l?{w_mouthOut_r:0}:{},wtwist_r:Fp.TW_M,wflex_r:u,elbow_r:s,head_pitch:o(6),root:_})},b=(e,t)=>{h.hold(e,`w_mouth_r`,`w_hold_r`,`wtwist_r`,`wflex_r`,`elbow_r`,`head_pitch`,...l?[`w_mouthOut_r`]:[]),l&&h.at(Math.round((e+t)/2),{w_mouth_r:0,w_mouthOut_r:1,w_hold_r:0}),h.at(t,{w_mouth_r:0,w_hold_r:1,...l?{w_mouthOut_r:0}:{},wtwist_r:Fp.TW_H,wflex_r:Fp.FX_H,elbow_r:c,head_pitch:o(0)})};h.hold(0,...Bp),h.at(2,{w_rpocket_r:1,elbow_r:[-.5,-.4,-1]}),h.hold(6,`armw_r`,`w_rpocket_r`,`elbow_r`,`fingers_r`),h.at(20,{armw_r:1}),h.at(28,{fingers_r:{cigarette:1}}),h.step(28,`cig_vis`,1),h.hold(36,`w_rpocket_r`,`w_mouth_r`,`wtwist_r`,`wflex_r`,`elbow_r`,`head_pitch`),h.at(58,{w_rpocket_r:0,w_mouth_r:1,wtwist_r:Fp.TW_M,wflex_r:u,elbow_r:s,head_pitch:o(6)}),h.at(2,{w_lpocket_l:1,elbow_l:[.5,-.4,-1]}),h.hold(12,`armw_l`,`w_lpocket_l`,`elbow_l`,`fingers_l`),h.at(26,{armw_l:1}),h.at(34,{fingers_l:{grip:0,fist:1}}),h.step(35,`lit_vis`,1),h.hold(44,`w_lpocket_l`,`w_flame_l`,`wtwist_l`,`wflex_l`,`elbow_l`),h.at(60,{w_lpocket_l:0,w_flame_l:1,wtwist_l:Fp.TW_L,wflex_l:Fp.FX_L,elbow_l:zp}),h.step(63,`flame_vis`,1),h.step(73,`ember_vis`,1),h.step(79,`flame_vis`,0),h.step(73,`ember`,1),h.at(80,{ember:2}),h.hold(90,`ember`),h.at(104,{ember:.6}),h.hold(194,`ember`),h.at(200,{ember:2}),h.hold(212,`ember`),h.at(224,{ember:.6}),h.step(116,`exhale`,1),h.step(138,`exhale`,0),h.step(238,`exhale`,1),h.step(260,`exhale`,0),h.hold(80,`w_flame_l`,`w_lpocket_l`,`wtwist_l`,`wflex_l`,`elbow_l`);let x=l&&e.self?8:0;h.at(x?96+x:l?100:96,{w_flame_l:0,w_lpocket_l:1,wtwist_l:0,wflex_l:0,elbow_l:[.5,-.4,-1]}),h.hold(101+x,`fingers_l`),h.step(102+x,`lit_vis`,0),h.hold(104+x,`armw_l`,`w_lpocket_l`),h.at(112,{fingers_l:{grip:0,fist:0}}),h.at(120,{armw_l:0,w_lpocket_l:1}),h.at(123,{w_lpocket_l:0}),b(92,114),h.at(124,{head_pitch:o(-14)}),h.at(140,{head_pitch:o(0)});let S=[Math.cos(v*Math.PI/180),0,-Math.sin(v*Math.PI/180)];h.hold(120,`root`,`head_yaw`),h.at(146,{root:_.map((e,t)=>e+.03*S[t]-(t===1?.005:0)),head_yaw:-22}),h.at(168,{head_yaw:0}),y(170,194),b(212,236),h.at(246,{head_pitch:o(-14)}),h.at(264,{head_pitch:o(0)}),m.hold(n,...Bp,...l?[`w_mouthOut_r`]:[]);let C=!!l&&e.self,w=Np(e,{cig:e.f0+f(28),lit:e.f0+f(35),unlit:e.f0+f(C?110:102),squat:C});return{keys:m.keys,end:t,...d<1?{paced:Math.floor(d*100)/100}:{},channels:[`exhale`,`ember`],...w?{objects:w.objects}:{},anchors:{lpocket:{kind:`body`,p:e.self&&l?.lpocket||Dp.l},rpocket:{kind:`body`,p:e.self&&l?.rpocket||Dp.r},hold:{kind:`body`,p:l?.hold??[-.24,.03,.06]},...l?{mouthOut:{kind:`body`,p:l.mouthOut}}:{},mouth:{kind:`landmark`,name:`mouth`},flame:{kind:`prop`,prop:`cig`,point:`tip`,offset:[0,-.02,0]}},props:{cig:{hand:`r`,origin:[`RightHandIndex2`,`RightHandMiddle2`],points:{filter:[0,0,-.026],tip:[0,0,.058]}},lighter:{hand:`l`,origin:[`LeftHand`,`LeftHandMiddle1`],points:{body:[.01,0,0],flame:[.01,.036,0]}}},fits:[{side:`r`,anchor:`mouth`,effector:{prop:`cig`,point:`filter`}},{side:`l`,anchor:`flame`,effector:{prop:`lighter`,point:`flame`}}],checks:{contacts:[{name:`filter on the lips`,point:`prop:cig.filter`,target:`anchor:mouth`,tol:.01,when:`w_mouth_r`},{name:`flame under the cigarette tip`,point:`prop:lighter.flame`,target:`anchor:flame`,tol:.01,when:`flame_vis`}],orient:[{name:`lit end points away from the face`,from:`prop:cig.filter`,to:`prop:cig.tip`,along:`face`,minCos:.64,when:`w_mouth_r`},{name:`lighter upright`,from:`prop:lighter.body`,to:`prop:lighter.flame`,along:`up`,minCos:.85,when:`flame_vis`}],below:[{name:`no chicken-wing elbow`,joint:`RightForeArm`,ref:`RightArm`,min:.08,when:`w_mouth_r`}],appear:[{name:`cigarette from the right pocket`,channel:`cig_vis`,joint:`RightHand`,anchor:`rpocket`,tol:.035},{name:`lighter from the left pocket`,channel:`lit_vis`,joint:`LeftHand`,anchor:`lpocket`,tol:.035}],mouthPoints:[`cig.filter`],allow:[...w?.allow??[],...Ip]}}}let Wp=9.81/576,Gp=e=>Math.min(1,Math.max(0,e)),$=e=>{let t=Gp(e);return t*t*(3-2*t)},Kp=(e,t,n)=>e+(t-e)*n,qp=(e,t,n)=>e.map((e,r)=>e+(t[r]-e)*n),Jp=(e,t,n,r,i)=>$((e-t)/(n-t))-$((e-r)/(i-r)),Yp={l:1,r:-1},Xp=(e,t,n)=>f(_(e),f(g(t),v(n))),Zp=(e,t,n,r,i)=>p(m(Ct(e,t,n)?.R??_(e)),p(r,i));function Qp(e,t,n,r,i,a){let o=Ct(e.h,n,r);if(!o)return{fyaw:e.h,fpitch:a};let s=e.toe[t],c=p(i,p(g(a),s)),l=p(m(o.R),c),u=Math.atan2(-s[1],s[2]),d=180/Math.PI,f=Math.asin(Math.max(-1,Math.min(1,-l[1]/Math.hypot(...l))))-u;return{fyaw:e.h+Math.atan2(l[0],l[2])*d,fpitch:Math.max(-60,Math.min(90,f*d))}}function $p(e){let{sk:n,args:r,state:i}=e,a=n.index,s=n.restWorldPos;(!i.foot_l||!i.foot_r||!i.root)&&Q(e.tag,`needs a standing pose keyed before f0 (use standIdle or another skill first)`);let c=r.heading??i.yaw??0,l=_(c),u=s[a.Hips],d=o(s[a.LeftUpLeg],s[a.LeftLeg])+o(s[a.LeftLeg],s[a.LeftFoot]),f=o(s[a.LeftArm],s[a.LeftForeArm])+o(s[a.LeftForeArm],s[a.LeftHand]);return{h:c,R:l,F:p(l,[0,0,1]),L:p(l,[1,0,0]),ank:s[a.LeftFoot][1],y0:u[1]-.01,leg:d,arm:f,feet:{l:i.foot_l.slice(),r:i.foot_r.slice()},root:i.root.slice(),hipOff:{l:t(s[a.LeftUpLeg],u),r:t(s[a.RightUpLeg],u)},shoulder:{l:t(s[a.LeftArm],u),r:t(s[a.RightArm],u)},toe:{l:t(s[a.LeftToeBase],s[a.LeftFoot]),r:t(s[a.RightToeBase],s[a.RightFoot])}}}function em(r,i,a){let{args:o}=r,s=(a===`back`?-1:1)*360,c=o.travel??(a===`back`?-.25:.4),l=i.y0+.05,u=i.y0-.02,d=Math.max(10,Math.round(Math.sqrt(.9/Wp)+Math.sqrt(2*(l+.5-.05-u)/Wp))),f=(u-l+Wp*d*d/2)/d,h=f-Wp*d,g=l-f*5/2,_=u+h*6/2,v=c/(5/2+d+6/2),y=r.f0,b=y+10,x=b+5,S=x+d,C=S+6,w=C+14,T=t=>e(i.feet[t],n(i.F,c)),E=t=>e(i.feet[t],p(i.R,i.toe[t])),D=t=>{let r,a;if(t<=b)r=Kp(i.root[1],g,$((t-y)/10)),a=0;else if(t<=x){let e=t-b;r=g+f/5*e*e/2,a=v/5*e*e/2}else if(t<=S){let e=t-x;r=l+f*e-Wp*e*e/2,a=v*5/2+v*e}else if(t<=C){let e=t-S;r=u+h*e-h/6*e*e/2,a=v*5/2+v*d+v*e-v/6*e*e/2}else r=Kp(_,i.y0,$((t-C)/14)),a=c;return e([i.root[0],r,i.root[2]],n(i.F,a))},O=e=>s*$((e-x+2)/(d+5)),k=e=>Xp(i.h,O(e),0),A=(e,n)=>p(m(k(e)),t(n,D(e))),j={l:A(x,ws(E(`l`),i.h,50,i.feet.l)),r:A(x,ws(E(`r`),i.h,50,i.feet.r))},M={l:A(S,T(`l`)),r:A(S,T(`r`))},N=[];for(let t=y;t<=w+1;t++){let r=t>w?0:O(t),a=Xp(i.h,r,0),o=D(t),s=(t-x)/d,c=t>x&&t<S?Jp(s,.12,.34,.6,.82):0,l={root:o,yaw:i.h,pitch:r,roll:0,armw_l:0,armw_r:0,fyaw_l:i.h,fyaw_r:i.h};for(let u of[`l`,`r`]){let d,f;if(t<=b)d=i.feet[u],f=0;else if(t<=x)f=50*$((t-b)/5),d=ws(E(u),i.h,f,i.feet[u]);else if(t<S){let t=1-$(s/.2),r=$((s-.72)/.28),l=e(i.hipOff[u],qp([0,-i.leg*.97,0],[Yp[u]*.02,-.24,.16],c));d=e(o,p(a,e(e(n(j[u],t),n(M[u],r)),n(l,1-t-r)))),f=Kp(Kp(50,30,$(s/.2)),0,$((s-.7)/.3))}else d=T(u),f=0;let m=t>x&&t<S?Qp(i,u,r,0,a,f):{fyaw:i.h,fpitch:f};Object.assign(l,{[`foot_${u}`]:d,[`fpitch_${u}`]:m.fpitch,[`fyaw_${u}`]:m.fyaw,[`knee_${u}`]:Zp(i.h,r,0,a,[Yp[u]*.05,.5*c,1])})}N.push({f:t,set:l})}let P=a===`back`?[-12,18]:[10,25];for(let[e,t,n,r,i]of[[y,0,0,0,0],[b,-45,15,20,0],[x,160,5,-8,P[0]],[Math.round(x+.3*d),55,85,32,P[1]],[Math.round(x+.62*d),55,85,32,P[1]],[S,75,25,22,0],[C,70,25,28,0],[w,0,0,0,0]])N.push({f:e,set:{aswing_l:t,aswing_r:t,abend_l:n,abend_r:n,spine_pitch:r,head_pitch:i}});return{keys:N,end:w+1}}function tm(r,i){let{args:a}=r,o=a.side===`r`?-1:1,s=-o,c=r.f0,l=c+12,u=l+34,d=u+14,f=o>0?`l`:`r`,h=f===`l`?`r`:`l`,g={foot:t=>e(i.hipOff[t],[Yp[t]*.3,-i.leg*.93,0]),hand:t=>e(i.shoulder[t],[Yp[t]*.32,i.arm*.88,0])},_={foot:i.ank,hand:.1},v=[[`foot`,f],[`hand`,f],[`hand`,h],[`foot`,h],[`foot`,f]],y=e=>e<=l?0:e<=u?s*360*$((e-l)/34):s*360,b=(t,n,r,a)=>e(n,p(Xp(i.h,0,y(t)),g[r](a))),x=Xp(i.h,0,0),S=t(i.feet[h],p(x,g.foot(h))),C=b(l,S,`foot`,f);C[1]=i.ank;let w=[],T={foot:{l:[],r:[]},hand:{l:[],r:[]}},E=0,D=i.feet[f].slice(),O=l;T.foot[h].push({a:c,b:l,p:i.feet[h]});for(let e=c;e<=d+1;e++){if(e<=l){w.push(qp(i.root,S,$((e-c)/12)));continue}e===l+1&&(D=C.slice());let n=t(D,p(Xp(i.h,0,y(e)),g[v[E][0]](v[E][1]))),r=v[E+1];if(r&&e<=u){let a=b(e,n,...r);if(a[1]<=_[r[0]]){let o=b(e-1,w.at(-1),...r),s=o[1]-_[r[0]],c=a[1]-_[r[0]],l=qp(o,a,s>0?s/(s-c):1);T[v[E][0]][v[E][1]].push({a:O,b:e,p:D}),E++,O=e,D=[l[0],_[r[0]],l[2]],n=t(D,p(Xp(i.h,0,y(e)),g[r[0]](r[1])))}}w.push(n)}T[v[E][0]][v[E][1]].push({a:O,b:d+1,p:D});let k=v[v.length-2];E>=v.length-1&&(T[k[0]][k[1]].at(-1).b=d+1);let A=w.map((t,r)=>{let i=[0,0,0],a=0;for(let t=-3;t<=3;t++){let o=Math.min(w.length-1,Math.max(0,r+t)),s=Math.exp(-(t*t)/4);i=e(i,n(w[o],s)),a+=s}return n(i,1/a)}),j=t=>t<=u?A[t-c]:e(A[u-c],[0,(i.y0-A[u-c][1])*$((t-u)/14),0]),M=(r,i,a)=>{let o=t(r,i),s=Math.hypot(...o);return s>a?e(i,n(o,a/s)):r},N=(n,r,a,o)=>{for(let s of T[n][r]){if(a>=s.a-6&&a<=s.b)return qp(o,s.p,$((a-s.a+6)/6));if(a>s.b&&a<=s.b+10){let o=Xp(i.h,0,y(s.b)),c=p(m(o),t(s.p,j(s.b))),l=e(j(a),p(Xp(i.h,0,y(a)),qp(c,g[n](r),$((a-s.b-1)/9))));return qp(s.p,l,$((a-s.b)/8))}}return o},P=(e,t,n)=>T[e][t].some(e=>n>=e.a&&n<=e.b),ee=Object.fromEntries([`l`,`r`].map(e=>{let t=P(`foot`,e,u)?T.foot[e].at(-1).p.slice():b(u,j(u),`foot`,e);return t[1]=i.ank,[e,t]})),te=[];for(let t=c;t<=d+1;t++){let n=t===d+1?0:y(t),r=Xp(i.h,0,y(t)),a=j(t),o={root:a,yaw:i.h,pitch:0,roll:n};for(let s of[`l`,`r`]){let d;if(t<=l&&s===f){let n=$((t-c-1)/8);d=e(qp(i.feet[s],C,n),[0,.07*Math.sin(Math.PI*n),0])}else if(t>u)d=ee[s];else{let n=$((t-u+4)/4);d=M(qp(N(`foot`,s,t,b(t,a,`foot`,s)),ee[s],n),e(a,p(r,i.hipOff[s])),i.leg*.995)}let m=t>l&&t<=u?Qp(i,s,0,y(t),r,0):{fyaw:i.h,fpitch:0};Object.assign(o,{[`foot_${s}`]:d,[`fyaw_${s}`]:m.fyaw,[`fpitch_${s}`]:m.fpitch,[`knee_${s}`]:Zp(i.h,0,n,r,[Yp[s]*.05,0,1]),[`hand_${s}`]:M(t>l&&t<=u?N(`hand`,s,t,b(t,a,`hand`,s)):b(t,a,`hand`,s),e(a,p(r,i.shoulder[s])),i.arm*.995),[`elbow_${s}`]:Zp(i.h,0,n,r,[Yp[s]*.4,0,-1]),[`armw_${s}`]:t<=l?0:t<=u?$((t-l)/6):1-$((t-u)/8)})}o.arm_rest=t<=l?Kp(72,-56,$((t-c)/12)):t<=u?-56:Kp(-56,72,$((t-u)/14)),te.push({f:t,set:o})}return{keys:te,end:d+1}}function nm(e){let t=e.args.kind??`back`;[`back`,`front`,`cartwheel`].includes(t)||Q(e.tag,`kind must be "back", "front" or "cartwheel", got ${JSON.stringify(t)}`);let n=$p(e);return t===`cartwheel`?tm(e,n):em(e,n,t)}let rm=9.81,im=.75,am={back:.16,front:.11},om=.12,sm=e=>e-om*(1-Math.exp(-e/om)),cm=(e,t,n)=>t+n*Math.log1p(Math.exp((e-t)/n)),lm=3/24,um=.03,dm=e=>{let t=Math.min(1,Math.max(0,e));return t*t*t*(t*(6*t-15)+10)},fm=e=>(e+540)%360-180,pm=e=>e.map(e=>Math.round(e*1e3)/1e3),mm=e=>Math.round(e*10)/10;function hm(e,t,n){let r=null,i=null;for(let a of e){let e=a.set?.[t];Array.isArray(e)&&(a.f<=n&&(!r||a.f>=r.f)&&(r={f:a.f,v:e}),a.f>n&&(!i||a.f<i.f)&&(i={f:a.f,v:e}))}if(!r||!i)return r?.v;let a=(n-r.f)/(i.f-r.f);return r.v.map((e,t)=>e+(i.v[t]-e)*a)}function gm(e,t){let{args:n,scene:r}=e,i=n.dir;if(!i&&typeof n.from==`string`){let[a,o]=n.from.split(/:(.*)/s),s=a===`object`?r?.objects?.[o]?.pos:a===`person`?Wr(r,o,`Hips`,e.f0):null;s||Q(e.tag,`args.from "${n.from}" must be object:<id> of a scene body or person:<id> of a character with an installed take`),i=[t[0]-s[0],t[2]-s[2]]}(!Array.isArray(i)||i.length!==2||!(Math.hypot(i[0],i[1])>1e-6))&&Q(e.tag,`needs args.dir: [x, z] (the way the body is thrown) or args.from: object:<id> | person:<id> (what hits it)`);let a=Math.hypot(i[0],i[1]);return[i[0]/a,i[1]/a]}function _m(t){let{sk:n,args:r,state:i}=t,a=n.index,o=n.restWorldPos;i.root||Q(t.tag,`needs a pose keyed before f0 (standIdle, a walk, ...)`);let s=hm(t.keys,`root`,t.f0)??i.root.slice(),c={};for(let e of[`l`,`r`]){let n=hm(t.keys,`foot_${e}`,t.f0),r=hm(t.keys,`foot_${e}`,t.f0-1);n&&(c[e]={at:n,v:r?n.map((e,t)=>e-r[t]):[0,0,0]})}let l=i.yaw??0,[u,d]=gm(t,s),f=r.speed??4;Number.isFinite(f)&&f>0||Q(t.tag,`args.speed must be a launch speed above 0 m/s, got ${JSON.stringify(r.speed)}`);let m=Math.min(2.5,Math.max(.8,.3*f)),h=p(_(l),[0,0,1]),v=(r.land??(u*h[0]+d*h[2]<=0?`back`:`front`))===`back`,y=Math.atan2(u,d)*180/Math.PI,b=v?y+180:y,x=fm(b-l),S=v?-90:90,C=v?am.back:am.front,w=s[1],T=e=>w+m*sm(e)-.5*rm*e*e,E=e=>m*(1-Math.exp(-e/om))-rm*e,D=0,O=(m+Math.sqrt(m*m+2*rm*Math.max(0,w-C)))/rm+1;for(let e=0;e<60;e++){let e=(D+O)/2;T(e)+E(e)*lm/2>C-um||E(e)>0?D=e:O=e}let k=D,A=Math.min(0,E(k)),j=T(k),M=k+lm,N=f/(im*rm),P=M+N,ee=e=>e<k?T(e):e<M?j+A*(e-k)-A/(2*lm)*(e-k)**2:C-um*(1-dm((e-M)/.25)),te=o[a.LeftFoot][1],ne=o[a.Hips][1],F=v?1:-1,re=.9*Math.hypot(...[0,1,2].map(e=>o[a.LeftFoot][e]-o[a.Hips][e])),I=t.f0+Math.ceil((P+.6)*24),ie=[];for(let n=t.f0;n<=I;n++){let r=(n-t.f0)/24,i=r<M,a=Math.min(Math.max(0,r-M),N),o=i?f*sm(r):f*sm(M)+f*a-.5*im*rm*a*a,m=ee(r),h=[s[0]+u*o,m,s[2]+d*o],y=Math.max(.35,.9*M),b=l+x*dm(r/Math.max(.25,y)),C=S*dm(r/y),w=(e=>p(_(b),p(g(C),e))),T=dm(r/om)*Math.exp(-r/.18)*Math.sin(2*Math.PI*r/.55),E=dm(r/.3)*Math.exp(-r/.45)*Math.sin(2*Math.PI*r/.6),D=dm((r-M)/.3),O=-(ne-te)+.06*(1-D)+(v?.03:.01)*D,k=dm(r/.25),A=te+.01+(!v&&!i&&a<N?.04:0),j=(r,i,a)=>{let o=e(h,w([i,O,a])),s=h[1]-.05;v&&(o[1]=s-.05*Math.log1p(Math.exp((s-o[1])/.05))),o[1]=cm(o[1],A,.03);let l=c[r];if(!l)return o;let u=l.at.map((e,r)=>e+l.v[r]*(n-t.f0)*(1-k));return u[1]=Math.max(l.at[1],u[1]),P(o.map((e,t)=>u[t]+(e-u[t])*k))},P=e=>{let t=e.map((e,t)=>e-h[t]),n=Math.hypot(...t),r=re-.02*Math.log1p(Math.exp((re-n)/.02));return n>1e-9?h.map((e,i)=>e+t[i]*(1+(r/n-1)*k)):e},I=Ct(0,C,0),ae=I?p(I.R,[0,1,0]):[0,1,0],oe=Math.atan2(ae[2],ae[1])*180/Math.PI,L=p(g(-oe),[0,-Math.sin(C*Math.PI/180),Math.max(.05,Math.cos(C*Math.PI/180))]),se={root:pm(h),yaw:mm(b),pitch:mm(C),roll:0,foot_l:pm(j(`l`,.11,.04+.1*E*k-(v?.1:0)*D)),foot_r:pm(j(`r`,-.11,.04-.1*E*k-(v?.1:0)*D)),fyaw_l:mm(b),fyaw_r:mm(b),fpitch_l:mm(v?-50*D:-.5*oe),fpitch_r:mm(v?-50*D:-.5*oe),knee_l:pm([.05,L[1],L[2]]),knee_r:pm([-.05,L[1],L[2]]),spine_pitch:mm(F*22*T*Math.min(1,f/4)),spine_yaw:0,spine_roll:mm(10*E*(1-D)),head_pitch:mm(F*30*T*Math.min(1,f/4)+(v?-8:8)*D),head_roll:mm(12*D),arm_rest:mm(72-22*D),aswing_l:mm(F*45*E+8*D),aswing_r:mm(-F*35*E-8*D),abend_l:mm(25+30*E*E),abend_r:mm(30+25*E*E)};n===t.f0&&Object.assign(se,{armw_l:0,armw_r:0,fingers_l:{relaxed:1},fingers_r:{relaxed:1}}),ie.push({f:n,set:se})}return{keys:ie,end:I}}let vm={standIdle:op,sitInSeat:vp,exitCar:yp,walkTo:sp,reachGrip:up,smokeCigarette:Up,flip:nm,hitReaction:_m},ym=Object.keys(vm),bm=e=>{throw Error(`MOTION_SPEC_INVALID: ${e}`)},xm=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function Sm(e,t,n,r){for(let[i,a]of Object.entries(t??{}))e[i]&&!xm(e[i],a)&&bm(`${r} defines ${n}.${i} differently from an earlier skill; rename one or define it yourself in spec.${n}`),e[i]=a}function Cm(e,t){for(let[n,r]of Object.entries(t??{})){if(n===`limits`&&r&&typeof r==`object`&&!Array.isArray(r)){e.limits={...e.limits,...r};continue}if(!Array.isArray(r)||e[n]!==void 0&&!Array.isArray(e[n])){e[n]=r;continue}let t=e[n]??(e[n]=[]);for(let e of r)t.some(t=>xm(t,e))||t.push(e)}}function wm(e,t,n){e.args!==void 0&&(!e.args||typeof e.args!=`object`||Array.isArray(e.args))&&bm(`use[${t}].args must be an object, got ${JSON.stringify(e.args)}`);let r=Object.keys(mf[e.skill].args);if(!n)for(let n of Object.keys(e.args??{}))r.includes(n)||bm(`use[${t}].args.${n} is not an arg of ${e.skill}${Pr(n,r)} (args: ${r.join(`, `)})`)}function Tm(e,{sk:t,scene:n,lenient:r=!1,auto:i=!1}){if(!e.use?.length)return{spec:e,used:[]};Array.isArray(e.use)||bm(`spec.use must be an array of { skill, args, f0 }`);let a=(e.keys??[]).map((e,t)=>({...e,src:`keys[${t}]`})),o={anchors:{},props:{},objects:{},fits:[],checks:{},channels:[]},s=[],c=[];e.use.forEach((l,u)=>{let d=`use[${u}] ${l?.skill}`;vm[l?.skill]||bm(`use[${u}].skill "${l?.skill}" is not a skill${W(String(l?.skill),ym)} (skills: ${ym.join(`, `)})`);for(let e of Object.keys(l))!Yr.includes(e)&&!r&&bm(`use[${u}] has unknown field "${e}"${Pr(e,Yr)}; an entry is { skill, args, f0 }`);wm(l,u,r),(!Number.isInteger(l.f0)||l.f0<0||l.f0>e.frames-1)&&bm(`use[${u}].f0 must be an integer frame within 0..${e.frames-1}, got ${JSON.stringify(l.f0)}`);let f=[...s,...a],p={sk:t,scene:n,frames:e.frames,auto:i,props:{...o.props,...e.props},self:e.fix!==!1&&e.fix?.self!==!1,f0:l.f0,args:structuredClone(l.args??{}),tag:d,keys:f,use:e.use,index:u,place:jc(e.fix).stance,state:structuredClone(Ks(f,l.f0)),anchors:{...o.anchors,...e.anchors},objects:{...o.objects,...e.objects}},m=vm[l.skill](p),h=Math.max(m.end??l.f0,...m.keys.map(e=>e.f));h>e.frames-1&&bm(`${d} needs ${h-l.f0} frames from f${l.f0} (to f${h}), past the last frame f${e.frames-1}; set frames >= ${h+1} or frames: "auto"`),s.push(...m.keys.map(e=>({...e,src:e.src??d}))),Sm(o.anchors,m.anchors,`anchors`,d),Sm(o.props,m.props,`props`,d),Sm(o.objects,m.objects,`objects`,d);for(let e of m.fits??[])o.fits.some(t=>xm(t,e))||o.fits.push(e);for(let e of m.channels??[])o.channels.includes(e)||o.channels.push(e);Cm(o.checks,m.checks),c.push({skill:l.skill,f0:l.f0,end:m.end,...m.paced?{paced:m.paced}:{},...m.cut?{cut:m.cut}:{},...m.placed?{placed:m.placed}:{}})});let l={...e,keys:[...s,...a],anchors:{...o.anchors,...e.anchors},props:{...o.props,...e.props},objects:{...o.objects,...e.objects}},u=[...new Set([...o.channels,...Array.isArray(e.channels)?e.channels:[]])];u.length&&(l.channels=u);let d=e.fits??[];return l.fits=[...o.fits.filter(e=>!d.some(t=>t.side===e.side&&t.anchor===e.anchor)),...d],Cm(o.checks,e.checks),l.checks=o.checks,delete l.use,{spec:l,used:c}}let Em=new Set([`f`,`f0`,`steps`,`period`,`swing`,`until`,`reach`,`hold`,`release`]),Dm=e=>e&&typeof e==`object`&&!Array.isArray(e)&&(e.range??e.search)!==void 0&&Object.keys(e).every(e=>[`range`,`search`,`int`].includes(e)),Om=e=>e.reduce((e,t)=>typeof t==`number`?`${e}[${t}]`:e?`${e}.${t}`:t,``);function km(e){let t=[],n=(e,r)=>{if(Dm(e)){let n=e.range??e.search;if(!(Array.isArray(n)&&n.length===2&&n.every(Number.isFinite)&&n[0]<n[1]))throw Error(`MOTION_SPEC_INVALID: ${Om(r)} range must be [lo, hi] with lo < hi, got ${JSON.stringify(n)}`);t.push({path:r,lo:n[0],hi:n[1],int:e.int??Em.has(r[r.length-1])});return}if(Array.isArray(e))e.forEach((e,t)=>n(e,[...r,t]));else if(e&&typeof e==`object`)for(let[t,i]of Object.entries(e))n(i,[...r,t])};for(let[t,r]of Object.entries(e??{}))[`schema`,`fps`,`frames`,`search`].includes(t)||n(r,[t]);return t}let Am=(e,t)=>{let n=Math.min(e.hi,Math.max(e.lo,t));return e.int?Math.round(n):Math.round(n*1e4)/1e4};function jm(e,t,n){let r=structuredClone(e);return t.forEach((e,t)=>{let i=r;for(let t of e.path.slice(0,-1))i=i[t];i[e.path[e.path.length-1]]=n[t]}),r}let Mm=e=>e.groups.reduce((e,t)=>e+qd(t),0);function Nm(e,t,n,r,i){let a=n=>r(jm(e,t,n)),o=a(n),s=e=>JSON.stringify({...e,keys:void 0,generators:void 0}),c=e=>Ai(Js(e,i),e.frames,Di(e.flow)),l=c(o),u=1/0,d=-1/0;for(let r=0;r<t.length;r++)for(let i of[t[r].lo,t[r].hi]){let f=a(n.map((e,n)=>n===r?Am(t[r],i):e));if(s(f)!==s(o))return null;let p=c(f);for(let t of new Set([...Object.keys(l),...Object.keys(p)])){let n=l[t],r=p[t];for(let t=0;t<e.frames;t++)JSON.stringify(n?.[t])!==JSON.stringify(r?.[t])&&(u=Math.min(u,t),d=Math.max(d,t))}}return u>d?null:[Math.max(0,u-8),Math.min(e.frames-1,d+8)]}let Pm=[2,3,5,7,11,13,17,19,23,29],Fm=(e,t)=>Array.from({length:t},(t,n)=>{let r=1,i=0,a=e,o=Pm[n%Pm.length];for(;a>0;)r/=o,i+=a%o*r,a=Math.floor(a/o);return i});function Im(e,t,{sk:n,scene:r},i){let a=performance.now(),o=Math.max(1,Math.min(64,Math.round(e.search?.budget??32))),s=t.map(e=>Am(e,(e.lo+e.hi)/2)),c=Nm(e,t,s,i,n),l=new Map,u=0,d=null,f=a=>{let s=a.join(`,`);if(l.has(s))return l.get(s);if(u>=o)return 1/0;u++;let f;try{let o=i(jm(e,t,a));f=Mm($d(n,Bc({fps:24,...o},{sk:n,scene:r},{window:c}),o,{explain:!1}))}catch(e){if(!/MOTION_SPEC_INVALID/.test(e.message))throw e;f=1e9}return l.set(s,f),(!d||f<d.cost)&&(d={values:a,cost:f}),f},p=()=>d?.cost===0||u>=o,m=e=>t.map((t,n)=>Am(t,t.lo+(t.hi-t.lo)*e[n]));f(s);let h=t.length===1?[4,3,5,2,6,1,7,0,8].map(e=>[e/8]):Array.from({length:Math.min(o>>1,8*t.length)},(e,n)=>Fm(n+1,t.length));for(let e of h){if(p())break;f(m(e))}let g=t.map(e=>(e.hi-e.lo)/8);for(;!p()&&g.some((e,n)=>e>(t[n].int?.5:(t[n].hi-t[n].lo)*.001));){let e=!1;for(let n=0;n<t.length&&!p();n++)for(let r of[-1,1]){let i=d.values.slice();i[n]=Am(t[n],i[n]+r*g[n]);let a=d.cost;f(i),d.cost<a&&(e=!0)}e||(g=g.map(e=>e/2))}return{spec:jm(e,t,d.values),search:{values:Object.fromEntries(t.map((e,t)=>[Om(e.path),d.values[t]])),evals:u,cost:Math.round(d.cost*100)/100,window:c,ms:Math.round(performance.now()-a)}}}function Lm(e){let t=structuredClone(e);for(let n of km(e)){let e=t;for(let t of n.path.slice(0,-1))e=e[t];e[n.path[n.path.length-1]]=n.hi}return t}function Rm(e,{sk:t,scene:n,lenient:r=!1}={}){if(e?.frames!==`auto`)return e;let{spec:i,used:a}=Tm({...Lm(e),frames:2e4},{sk:t,scene:n,lenient:r,auto:!0}),o=[...Array.isArray(i.keys)?i.keys.map(e=>e?.f):[],...a.map(e=>e.end),...Array.isArray(i.generators)?i.generators.map(e=>e&&Number.isFinite(e.f0)?uf(e):null):[]];return{...e,frames:Math.max(0,...o.filter(Number.isFinite))+1}}let zm=new WeakSet;function Bm(e){return zm.add(e),e}let Vm=e=>Math.round(e*1e3)/1e3,Hm=e=>Math.round(e*10)/10,Um=e=>e.map(Vm);function Wm(e,t,n){let r=e.frameCount-1,i=e.timeMap??(e=>e),a=t.map((e,t)=>({beat:e.skill,src:`use[${t}]`,f:[e.f0,e.end??e.f0]}));(n.generators??[]).forEach((e,t)=>a.push({beat:e.type,src:`generators[${t}]`,f:[e.f0,e.f0+16+(e.steps??8)*(e.period??20)+18]}));let o=e=>a.some(t=>e>=t.f[0]&&e<=t.f[1]),s=[...new Set((n.keys??[]).map(e=>e.f))].filter(e=>Number.isFinite(e)&&!o(e)).sort((e,t)=>e-t),c=null;for(let e of s)c&&!a.some(t=>t.src!==`keys`&&t.f[1]>c.f[1]&&t.f[0]<e)?c.f[1]=e:a.push(c={beat:`keys`,src:`keys`,f:[e,e]});let l=e=>Math.max(0,Math.min(r,Math.round(i(e))));for(let e of a)e.f=[l(e.f[0]),l(e.f[1])];return a.sort((e,t)=>e.f[0]-t.f[0]).slice(0,12)}function Gm(e){let t=e.frameCount,n=e.f0??0,r={l:new Uint8Array(t),r:new Uint8Array(t)};for(let[t,i]of[[`l`,`Left`],[`r`,`Right`]]){let a=e.frames.map((t,n)=>t?bn(e,n,i):null);a.forEach((e,i)=>{let o=a[i>0?i-1:i+1];if(!e||!o)return;let s=[`heel`,`ball`].some(t=>e[t][1]<Kn.plantH&&Math.abs(e[t][1]-o[t][1])<5e-4&&Math.hypot(e[t][0]-o[t][0],e[t][2]-o[t][2])<=Kn.slide);r[t][n+i]=+!!s})}return r}function Km(e,[t,n]){let r=[],i=null;for(let a=t;a<=n+1;a++){let t=a<=n&&e[a]===1;t&&i===null&&(i=a),!t&&i!==null&&(a-i>=3&&r.push([i,a-1]),i=null)}if(r.length<=4)return r;let a=r.slice(1,-1).sort((e,t)=>t[1]-t[0]-(e[1]-e[0])||e[0]-t[0]).slice(0,2);return[r[0],...a,r[r.length-1]].sort((e,t)=>e[0]-t[0])}function qm(e,t){let n=e.frameCount,r=[],i=Object.entries(t.objects??{});for(let[e,t]of i)for(let i=1;i<n;i++){let n=Ni(t,i-1),a=Ni(t,i);a&&!n&&r.push({f:i,object:e,event:`grab`}),n&&!a&&r.push({f:i-1,object:e,event:`release`})}let a={};for(let[e,t]of i)typeof t?.visible==`string`&&(a[t.visible]??=[]).push(e);for(let t of new Set([...Object.keys(a),...Object.keys(e.baked??{}).filter(e=>e.endsWith(`_vis`))])){let i=e.baked?.[t];if(i)for(let e=1;e<n;e++){let n=i[e-1]>.5,o=i[e]>.5;if(n!==o)for(let n of a[t]??[t])r.push({f:e,object:n,event:o?`show`:`hide`})}}return r.sort((e,t)=>e.f-t.f)}function Jm(e,t,n,r){for(let[t,i]of Object.entries(e.objects??{}))if(e.props?.[i?.prop]?.hand===n&&Ni(i,r))return`object:${t}`;let i=null,a=.5;for(let[e,r]of Object.entries(t)){let t=/^w_(.+)_([lr])$/.exec(e);t&&t[2]===n&&r>a&&(i=t[1],a=r)}return i&&`anchor:${i}`}function Ym(e,t,n){let r=e.frames[n-(e.f0??0)];if(!r)return null;let{s:i,c:a}=r,o=e.ctx.sk.index;return{root:Um(i.P[o.Hips]),yaw:Hm(a.yaw??0),hand_l:Um(i.P[o.LeftHand]),hand_r:Um(i.P[o.RightHand]),on_l:Jm(t,a,`l`,n),on_r:Jm(t,a,`r`,n)}}function Xm(e,{used:t,spec:n}){let r=Wm(e,t??[],n);if(!r.length)return[];let i=Gm(e),a=qm(e,n);return r.map(t=>({...t,end:Ym(e,n,t.f[1]),planted:{l:Km(i.l,t.f),r:Km(i.r,t.f)},events:a.filter(e=>e.f>=t.f[0]&&e.f<=t.f[1])}))}let Zm=e=>`[${e[0]},${e[1]}]`,Qm=(e,t)=>{e&&!e.includes(t)&&e.push(t)};function $m(e,t){if(!(Array.isArray(e)&&e.length===2&&e.every(Number.isInteger)&&e[0]<=e[1]))return null;let n=Math.max(0,e[0]),r=Math.min(t,e[1]);return n<=r?[n,r]:null}function eh(e,t){if(!Array.isArray(e.goals)||!Number.isInteger(e.frames))return;let n=e.frames-1;e.goals.forEach((e,r)=>{if(!e||typeof e!=`object`||!Array.isArray(e.at))return;let i=$m(e.at,n);!i||i[0]===e.at[0]&&i[1]===e.at[1]||(Qm(t,`goals[${r}]${e.name?` "${e.name}"`:``} at ${Zm(e.at)} -> ${Zm(i)}: the clip is 0..${n}`),e.at=i)})}let th=e=>e.rot===void 0?{aim:e.aim,...e.roll===void 0?{}:{roll:e.roll},...e.lean===void 0?{}:{lean:e.lean}}:{rot:e.rot},nh=e=>e&&(e.rot!==void 0||e.aim!==void 0),rh=e=>e&&typeof e==`object`&&!Array.isArray(e)&&!nh(e)&&e.roll===void 0&&e.lean===void 0;function ih(e,t,n,r){let i=t.keys.map((e,t)=>({k:e,i:t})).filter(({k:e})=>e&&Number.isInteger(e.f)).sort((e,t)=>e.k.f-t.k.f),a=i.filter(({k:e})=>rh(e));if(!a.length)return;let o=n?.objects?.[e]??Nt(n??{})[e],s=o?B(t)?{aim:[o.R[0][1],o.R[1][1],o.R[2][1]].map(e=>Math.round(e*1e4)/1e4)}:{rot:S(o.R)}:null,c=i.filter(e=>nh(e.k)),l=[],u=[];for(let{k:e,i:t}of a){let n=c.filter(t=>t.k.f<e.f).at(-1)??c.find(t=>t.k.f>e.f);n?(Object.assign(e,th(n.k)),l.push(t)):s&&(Object.assign(e,s),u.push(t))}l.length&&Qm(r,`objects.${e}.keys[${l.join(`,`)}] had no rot or aim: each holds the turn of the nearest key before it (else after)`),u.length&&Qm(r,`objects.${e}.keys[${u.join(`,`)}] had no rot or aim: ${s.aim?`+Y as in the scene, aim [${s.aim}]`:`turned as in the scene`}`)}function ah(e,t,n){t.keys.forEach((t,r)=>{if(!Array.isArray(t?.rot)||t.rot.length!==4||!t.rot.every(Number.isFinite))return;let i=Math.hypot(...t.rot);Math.abs(i-1)<=.01||i<=.5||i>=2||(t.rot=t.rot.map(e=>e/i),Qm(n,`objects.${e}.keys[${r}].rot had length ${i.toFixed(3)}: normalized`))})}function oh(e,t,n){if(!e||typeof e!=`object`)return e;eh(e,n);for(let[r,i]of Object.entries(e.objects??{}))!i||typeof i!=`object`||!Array.isArray(i.keys)||!(B(i)||go(i))||(ih(r,i,t,n),ah(r,i,n));return e}function sh(e,t,n,r){let i=Number.isInteger(e)?[e,e]:e,a=$m(i,t);return a&&(a[0]!==i[0]||a[1]!==i[1])&&Qm(r,`${n}.frames ${Zm(i)} -> ${Zm(a)}: the take is 0..${t}`),a}function ch(e,t,n,r,i){if(Math.ceil(t/e)<=n)return e;let a=Math.ceil(t/n);return Qm(i,`${r}.every ${e} -> ${a}: a position probe answers at most ${n} rows`),a}let lh=`{ name, distance: [refA, refB] | position: ref, frames: [f0, f1], every }`,uh=e=>Math.round(e*1e6)/1e6,dh=e=>Math.round(e*1e4)/1e4;function fh(e,t){let n=/^(joint|bone):(.+)$/s.exec(t);return n?`${n[1]}:${Ur(e,n[2]).bone??n[2]}`:t}function ph(e,t,n,r,i){let a=e.frames===void 0?[0,n]:sh(e.frames,n,t,i);return a||r(`${t}.frames must be [f0, f1], integer frames within 0..${n} with f0 <= f1, got ${U(e.frames)}`),a}function mh(e,t,{spec:n,sk:r,scene:i,notes:a}){let o=[],s=e=>{o.length<12&&o.push(e)},c=e.frameCount-1,l=[],u=new Map;if(Array.isArray(t)?t.length>16?s(`probes has ${t.length} entries; at most 16 per compile`):t.forEach((e,t)=>{let o=`probes[${t}]`;if(!e||typeof e!=`object`||Array.isArray(e))return s(`${o} must be ${lh}`);for(let t of Object.keys(e))oi.includes(t)||s(`${o} has unknown field "${t}"${W(t,oi)}; a probe is ${lh}`);let d=e.name??o;if(typeof d!=`string`||!d?s(`${o}.name must be a non-empty string, got ${U(e.name)}`):u.has(d)?s(`${o}.name "${d}" is already used by ${u.get(d)}; probe names must differ`):u.set(d,o),e.distance===void 0==(e.position===void 0))return s(`${o} needs exactly one of distance: [refA, refB] or position: ref`);let f=e.distance===void 0?`position`:`distance`,p=f===`distance`?e.distance:[e.position];if(f===`distance`&&!(Array.isArray(p)&&p.length===2&&p.every(e=>typeof e==`string`)))return s(`${o}.distance must be [refA, refB], two point refs, got ${U(e.distance)}`);if(f===`position`&&typeof e.position!=`string`)return s(`${o}.position must be a point ref, got ${U(e.position)}`);let m=p.map((e,t)=>_i(n,s,{sk:r,scene:i},f===`distance`?`${o}.distance[${t}]`:`${o}.position`,e)).every(Boolean),h=ph(e,o,c,s,a);if(e.every!==void 0&&!(Number.isInteger(e.every)&&e.every>=1))return s(`${o}.every must be a positive integer, got ${U(e.every)}`);if(!m||!h)return;let g=h[1]-h[0]+1,_=e.every??(f===`position`?Math.ceil(g/16):1),v=f===`position`?ch(_,g,16,o,a):_;l.push({name:d,kind:f,refs:p.map(e=>fh(r,e)),range:h,every:v})}):s(`probes must be an array of ${lh}`),o.length)throw Error(`MOTION_SPEC_INVALID: ${o.join(`
4
- `)}${o.length>=12?`
5
- (more problems not listed)`:``}`);return l}function hh([e,t],n){let r=[];for(let i=e;i<=t;i+=n)r.push(i);return r}function gh(e,t){let n=hh(t.range,t.every).map(n=>[n,hi(e,n,t.refs[0],t.refs[1])]).filter(([,e])=>Number.isFinite(e));if(!n.length)return{min:null,minAt:null,max:null,maxAt:null,mean:null,first:null,last:null};let r=n[0],i=n[0],a=0;for(let e of n)e[1]<r[1]&&(r=e),e[1]>i[1]&&(i=e),a+=e[1];return{min:uh(r[1]),minAt:r[0],max:uh(i[1]),maxAt:i[0],mean:uh(a/n.length),first:uh(n[0][1]),last:uh(n[n.length-1][1])}}function _h(e,t){return{at:hh(t.range,t.every).map(n=>{let r=mi(e,n,t.refs[0]);return{f:n,p:r?r.map(dh):null}})}}function vh(e,t,n){return Object.fromEntries(mh(e,t,n).map(t=>[t.name,t.kind===`distance`?gh(e,t):_h(e,t)]))}let yh=.3,bh=[`Thumb4`,`Index4`,`Middle4`,`Ring4`,`Pinky4`],xh=e=>Math.round(e*1e3)/1e3;function Sh(t,r){let i=t.index,a={};for(let[o,s]of[[`Left`,`l`],[`Right`,`r`]]){let c=n(e(r.P[i[`${o}Hand`]],r.P[i[`${o}HandMiddle1`]]),.5);a[`hand_${s}`]=[c,...bh.map(e=>r.P[i[`${o}Hand${e}`]]).filter(Boolean)],a[`foot_${s}`]=Object.values(an(t,r,o))}return a}let Ch=(e,t,n)=>[t,...e.ctx.scene.objects[t].ancestors??[]].some(t=>{let r=e.ctx.spec.objects?.[t];return r?.visible&&!((e.baked?.[r.visible]?.[n]??0)>.5)});function wh(t,n){let{scene:r,spec:i}=t.ctx,o=[];for(let[s,c]of Object.entries(r?.objects??{})){let r=c.ancestors??[];if([s,...r].some(e=>Tt(i.objects?.[e]))||Ch(t,s,n))continue;let l=Xi(t,s,n);if(!l)continue;let u={pos:l.pos,R:l.R,half:c.half};o.push({id:s,root:r[r.length-1]??s,hand:Yi(t,s,n),box:u,c:e(u.pos,p(u.R,[0,c.half[1],0])),r:a(c.half)})}return o}function Th(t,r,i){let a=n(t.reduce((t,n)=>e(t,n),[0,0,0]),1/t.length),s=Math.max(...t.map(e=>o(e,a))),c=null;for(let e of r){if(i&&e.hand===i||o(a,e.c)-e.r-s>(c?c[2]:yh))continue;let n=Math.min(...t.map(t=>H(t,e.box)));n<=yh&&(!c||n<c[2])&&(c=[e.root,e.id,n])}return c}function Eh(e,t){let n=[];return e.forEach((e,r)=>{let i=n[n.length-1];if(!e)return;let[a,o,s]=e,c=r+t;i&&i.object===a&&i.frames[1]===c-1?(i.frames[1]=c,s<i.gap[0]&&(i.gap[0]=s,i.gap[1]=c,i.part=o),s>i.gap[2]&&(i.gap[2]=s,i.gap[3]=c)):n.push({object:a,part:o,frames:[c,c],gap:[s,c,s,c]})}),n.sort((e,t)=>e.gap[0]-t.gap[0]).slice(0,2).sort((e,t)=>e.frames[0]-t.frames[0]).map(({object:e,part:t,frames:n,gap:r})=>({object:e,...t===e?{}:{part:t},frames:n,gap:[xh(r[0]),r[1],xh(r[2]),r[3]]}))}function Dh(e,t){if(!Object.keys(t.ctx.scene?.objects??{}).length)return null;let n=t.f0??0,r={hand_l:[],hand_r:[],foot_l:[],foot_r:[]};t.frames.forEach(({s:i},a)=>{let o=wh(t,a+n),s=Sh(e,i);for(let e of Object.keys(r))r[e].push(Th(s[e],o,e.startsWith(`hand_`)?e.slice(-1):null))});let i=Object.fromEntries(Object.entries(r).map(([e,t])=>[e,Eh(t,n)]).filter(([,e])=>e.length));return Object.keys(i).length?i:null}let Oh=.25,kh=.75,Ah=Array.from({length:16},(e,t)=>9+t),jh=[`steps`,`period`,`step`,`swing`],Mh=new Set([`POP`,`REACH`,`SLIDE`,`FLOAT`,`FLIP`,`KNEE`]),Nh=new Map,Ph=e=>Math.round(e*100)/100,Fh=e=>(Array.isArray(e?.use)?e.use:[]).map((e,t)=>({i:t,u:e})).filter(({u:e})=>e?.skill===`walkTo`&&Number.isInteger(e.args?.arrive)&&Array.isArray(e.args?.to)&&!jh.some(t=>e.args[t]!==void 0)&&Object.values(e.args).every(e=>!(e&&typeof e==`object`&&!Array.isArray(e))));function Ih(e,t){if(t===2)return e>=Oh&&e<=kh?{first:e,step:e}:null;let n=Math.min(.62,Math.max(.3,.8*e/(t-2+.8))),r=(e-n)/(t-2);return r>=Oh&&r<=kh?{first:n,step:r}:null}function Lh(e,t,n){let r=[];for(let i of Ah)for(let a=2;a<=40;a++){let o=Ih(e,a);if(!o)continue;let s=t+16+a*i+18,c=o.step*24/i,l=Math.abs(Math.log(o.step*i/9.7)),u=Math.max(0,n-s)/Math.max(1,n-t);r.push({args:{steps:a,period:i,swing:Math.round(.88*i),step:Ph(o.step),firstStep:Ph(o.first)},end:s,v:c,late:s>n,score:l+1.5*u+Math.max(0,.5-c)*4})}return{onTime:r.filter(e=>!e.late).sort((e,t)=>e.score-t.score),late:r.filter(e=>e.late).sort((e,t)=>e.end-t.end||e.score-t.score)}}function Rh(e,t){let{steps:n,period:r}=e.args,i=Math.round(.8*r),a=n>2&&e.args.firstStep<.62?{firstStep:.62,step:Ph((t-.62)/(n-2))}:null;return[{},a,{lift:.06},a&&{...a,lift:.06}].filter(Boolean).map(t=>({...e,args:{...e.args,swing:i,...t}})).filter(e=>e.args.step>=Oh&&e.args.step<=kh)}let zh=(e,t,n)=>e.groups.filter(e=>Mh.has(e.kind)&&e.last>=t&&e.first<=n).reduce((e,t)=>e+t.count,0);function Bh(e,{sk:t,scene:n,trial:r}){let i=[];for(let{i:a,u:o}of Fh(e)){let s=JSON.stringify([e.keys,e.use.slice(0,a+1),e.anchors,e.props,e.fits,e.fix,n?.objects??null]);if(Nh.has(s)){i.push(Nh.get(s));continue}let c=e.use.slice(0,a).filter(e=>e.f0<o.f0),l,u=[];try{let{spec:r,used:i}=Tm({...e,frames:2e4,use:c},{sk:t,scene:n,lenient:!0});l=Ks(r.keys??[],o.f0),u=i.map(e=>e.end??0)}catch{l=null}if(!l?.foot_l||!l?.foot_r)continue;let d=[(l.foot_l[0]+l.foot_r[0])/2,(l.foot_l[2]+l.foot_r[2])/2],f=o.args.to,p=Math.hypot(f[0]-d[0],f[f.length-1]-d[1]),{onTime:m,late:h}=Lh(p,o.f0,o.args.arrive),g=t=>{let n=Math.max(t.end,...u)+1;return{schema:e.schema,fps:e.fps??24,frames:n,keys:(e.keys??[]).filter(e=>e.f<n),use:[...c,{...o,args:{...o.args,...t.args}}],...e.anchors?{anchors:e.anchors}:{},...e.props?{props:e.props}:{},...e.fits?{fits:e.fits}:{},...e.fix===void 0?{}:{fix:e.fix}}},_=null,v=0,y=null,b=0,x=[...m.slice(0,6),...m.slice(0,3).flatMap(e=>Rh(e,p))].slice(0,18);for(let e of[...x,...h.slice(0,22-x.length)]){let t;try{t=zh(r(g(e)),o.f0,e.end)}catch{t=1/0}if(v++,b+=+!e.late,(!y||t<y.issues)&&(y={c:e,issues:t}),t===0){_=e;break}}if(_??=y?.issues<1/0?y.c:m[0]??h[0],!_)continue;let S=_.args,C=o.args.arrive,w=`use[${a}] walkTo arrive f${C}: steps ${S.steps}, period ${S.period}, swing ${S.swing}, step ${S.step} m, firstStep ${S.firstStep} m${S.lift?`, lift ${S.lift} m`:``} (${Ph(_.v)} m/s), ends f${_.end}`,T=m.length?`the ${b} walks tried that end by f${C} pop or miss a foot`:`even the quickest walk over ${Ph(p)} m (a step every ${Ah[0]} frames, strides up to ${kh} m, 34 frames to start and stop) ends f${h[0]?.end}`,E=_.late?`; f${C} is too soon: ${T}; give arrive >= f${_.end} or a shorter distance`:``,D=y&&y.c===_&&y.issues>0?`; no candidate walked clean (${y.issues} issues in its frames)`:``,O={i:a,args:S,end:_.end,note:`${w}${E}${D} (${v} checked)`};Nh.size>=64&&Nh.delete(Nh.keys().next().value),Nh.set(s,O),i.push(O)}return i}function Vh(e,t){if(!t.length)return e;let n=e.use.map((e,n)=>{let r=t.find(e=>e.i===n);return r&&e?.skill===`walkTo`?{...e,args:{...e.args,...r.args}}:e});return{...e,use:n}}let Hh=e=>Math.round(performance.now()-e);function Uh(e,t){let n=structuredClone(e.checks??{}),r=e=>Array.isArray(e)?[Math.round(t(e[0])),Math.round(t(e[1]))]:e;for(let e of[`contacts`,`orient`,`below`])for(let t of n[e]??[])t.when=r(t.when);for(let e of n.clearance??[])e.frames=r(e.frames);return{...e,checks:n}}function Wh(e,t){if(!e||typeof e!=`object`||Array.isArray(e))return{spec:e,probes:t};let n=Dl(e.goals);if(e.probes===void 0&&n===e.goals)return{spec:e,probes:t};let{probes:r,...i}=e,a=r===void 0?t:t?[...t,...Array.isArray(r)?r:[r]]:r;return{spec:n===e.goals?i:{...i,goals:n},probes:a}}function Gh(e,{sk:t,scene:n},r={}){let{spec:i,probes:a}=Wh(e,r.probes),o=performance.now(),s={sk:t,scene:n,lenient:r.lenient===!0},c=[],l=r.checks&&tf({checks:r.checks}).checks,u=[],d=e=>{let{spec:t,used:r}=Tm(tf(Vh(e,u)),s),i=oh(JSON.parse(JSON.stringify(l?{...t,checks:l}:t)),n,c);return Jl(i,s),{full:i,used:r}};u=Bh(i,{sk:t,scene:n,trial:e=>{let n=d(e).full;return $d(t,Bc({fps:24,...n},s),n,{explain:!1})}});let f=i?.frames===`auto`&&u.length?{...i,frames:Rm(Vh(i,u),s).frames}:Rm(i,s),p=km(f),m=f,h=null;p.length&&({spec:m,search:h}=Im(f,p,s,e=>d(e).full)),i?.frames===`auto`&&Bm(m);let g=performance.now(),{full:_,used:v}=d(m),y=Bc({fps:24,..._},s),b=Hh(g),x=performance.now(),S=y.timeMap?Uh(_,y.timeMap):_,C=$d(t,y,S,{userSpec:m}),w=Rn(t,y,S.checks),T=su(y);T&&Object.assign(w,{units:`${w.units}; held: per key, deg = the drawn +Y off the asked one (aim, or rot's +Y), cm = the drawn base off pos, got = the drawn +Y (when 1 deg off or more), rot = what an aim key used`,held:T});let E=Dh(t,y),D=xu(t,y);E&&Object.assign(w,{units:`${w.units}; near: hand (palm, fingertips), foot (sole) to the nearest object within 0.3 m (top group; part: the body at the closest frame), 2 closest runs; gap [min, f, max, f] m, < 0 inside`,near:E}),D&&Object.assign(w,{units:`${w.units}; wrist: deg on the frames a hand holds (a fit, a carry or a grip on); flex + toward the palm, dev + radial / - ulnar, twist at the wrist joint; [min, f, max, f], frames past the comfortable range and at the limit; grip: the grip a keyed carry of a thin body keeps (grip-choice.js), cost [it, today's] (comfort-priced wrist, reach and body over the keys); elevation [max deg, f] of the upper arm (90 level), raised: frames the elbow is over the shoulder`,wrist:D});let O=v.filter(e=>e.paced).map(e=>`${e.skill} paced ${e.paced.toFixed(2)} to fit f${e.f0}..f${e.end}`);O.length&&(w.paced=O);let k=v.filter(e=>e.cut).map(e=>`${e.skill}: ${e.cut}`);k.length&&(w.cut=k);let A=v.filter(e=>e.placed).map(e=>`${e.skill} f${e.f0}: ${e.placed.why}: at [${e.placed.at.join(`, `)}], heading ${e.placed.heading}`);A.length&&(w.placed=A),u.length&&(w.planned=u.map(e=>e.note));let j=Xm(y,{used:v,spec:_}),M=a&&vh(y,a,{spec:_,sk:t,scene:n,notes:c});return{out:y,qa:C,observations:w,spec:m,expanded:_,used:v,fixed:y.fixed,search:h,timeline:j,...M?{probes:M}:{},...c.length?{notes:c}:{},ms:{compile:b,qa:Hh(x),total:Hh(o)}}}let Kh=[-1,1,-2,2],qh=e=>typeof e==`number`&&Number.isFinite(e),Jh=e=>Kd(e)<=.5*Math.max(Math.abs(e.limit),.01);function Yh(e,t){let n=/\buse\[(\d+)\] (\w+)/.exec(e),r=Number(n?.[1]),i=n&&t.use?.[r],a=n&&i?.skill===n[2]?mf[i.skill]:null;if(!a?.tune)return[];let o=[];for(let e of[1,2])for(let[t,n]of Object.entries(a.tune)){let s=a.args[t]??{},c=i.args?.[t]??s.default;if(qh(c))for(let a of Kh.filter(t=>Math.abs(t)===e)){let e=c+a*n,l=s.type===`integer`?Math.round(e):Math.round(e*1e4)/1e4;!(l>0)||l===c||o.push(i.args?[{op:i.args[t]===void 0?`add`:`replace`,path:`/use/${r}/args/${t}`,value:l}]:[{op:`add`,path:`/use/${r}/args`,value:{[t]:l}}])}}return o}function Xh(e,t,n){if(![`SPEED`,`ACC`,`POP`].includes(e.kind))return[];let r=/between keys\[(\d+)\] f(\d+) and keys\[(\d+)\] f(\d+)/.exec(t);if(!r)return[];let[i,a,o,s]=r.slice(1).map(Number),c=n.keys??[];if(c[i]?.f!==a||c[o]?.f!==s)return[];let l=Number.isInteger(n.frames)?n.frames-1:1/0,u=[];for(let e of[1,2])a-e>=0&&u.push([{op:`replace`,path:`/keys/${i}/f`,value:a-e}]),s+e<=l&&u.push([{op:`replace`,path:`/keys/${o}/f`,value:s+e}]);return u}let Zh=e=>Math.round(e*1e4)/1e4;function Qh(e,t,n){let r=e.keys??[],i=[],a=(e.use??[]).map((e,t)=>({u:e,i:t})).filter(({u:e})=>(e?.skill===`standIdle`||e?.skill===`walkTo`)&&e.f0<=t).sort((e,t)=>e.u.f0-t.u.f0).at(-1),o=r.map((e,t)=>({k:e,j:t})).filter(({k:e})=>Array.isArray(e?.set?.root)&&e.set.root.length===3&&qh(e.f)&&e.f>(a?.u.f0??-1));if(o.some(({k:e})=>e.f<=t))for(let e of[0,2])for(let t of[-n,n])i.push(o.map(({k:n,j:r})=>({op:`replace`,path:`/keys/${r}/set/root`,value:n.set.root.map((n,r)=>r===e?Zh(n+t*.03):n)})));else if(a){let{u:e,i:t}=a,r=mf[e.skill].place??{},o=e.args?.steps??8;for(let[a,s]of Object.entries(r)){if(a===`step`&&o<=2)continue;let r=e.args?.[a]??mf[e.skill].args[a]?.default,c=n=>[e.args?{op:e.args[a]===void 0?`add`:`replace`,path:`/use/${t}/args/${a}`,value:n}:{op:`add`,path:`/use/${t}/args`,value:{[a]:n}}];if(Array.isArray(r))for(let e of[0,r.length-1])for(let t of[-n,n])i.push(c(r.map((n,r)=>r===e?Zh(n+t*s):n)));else if(qh(r))for(let e of[-n,n])r+e*s>.05&&i.push(c(Zh(r+e*s)))}}let s=r.map((e,t)=>({f:e?.f,j:t})).filter(({j:e})=>qh(r[e]?.set?.spine_pitch)&&qh(r[e].f)).sort((e,t)=>e.f-t.f),c=[s.filter(e=>e.f<=t).at(-1),s.find(e=>e.f>t)].filter(Boolean).map(e=>e.j);for(let e of c.length?[n,-n]:[])i.push(c.map(t=>({op:`replace`,path:`/keys/${t}/set/spine_pitch`,value:r[t].set.spine_pitch+e*5})));return i}let $h=[10,20,30,-10];function eg(e,t){let n=e.keys??[],r=Math.round(t),i=Number.isInteger(e.frames)?e.frames-1:1/0,a=n.filter(e=>qh(e?.f)&&qh(e?.set?.spine_pitch)).sort((e,t)=>e.f-t.f),o=a.filter(e=>e.f<r).at(-1),s=a.find(e=>e.f>r),c=o?.set.spine_pitch??0,l=n.findIndex(e=>e?.f===r&&e.set&&typeof e.set==`object`);return $h.map(e=>{let t=c+e,a=[l>=0?{op:n[l].set.spine_pitch===void 0?`add`:`replace`,path:`/keys/${l}/set/spine_pitch`,value:t}:{op:`add`,path:`/keys/-`,value:{f:r,set:{spine_pitch:t}}}];return(!o||r-o.f>12)&&r-12>=0&&a.push({op:`add`,path:`/keys/-`,value:{f:r-12,set:{spine_pitch:c}}}),(!s||s.f-r>12)&&r+12<=i&&a.push({op:`add`,path:`/keys/-`,value:{f:r+12,set:{spine_pitch:s?.set.spine_pitch??c}}}),a})}function tg(e,t){if(typeof e.cause!=`string`||e.kind===`WRIST`&&e.cause.startsWith(`fix.self`))return[];if(e.kind===`WRIST`&&qh(e.worstFrame))return[...eg(t,e.worstFrame),...[1,2].flatMap(n=>Qh(t,e.worstFrame,n)).filter(e=>e.every(e=>e.path.endsWith(`/spine_pitch`)))];let n=!e.patch&&Jh(e)?[...Yh(e.cause,t),...Xh(e,e.cause,t)]:[];return e.kind!==`GOAL`||!qh(e.worstFrame)||Kd(e)>.1?n:[...n,...Qh(t,e.worstFrame,1),...Qh(t,e.worstFrame,2)]}let ng=e=>e?.qa?.groups??[],rg=e=>ng(e).reduce((e,t)=>e+(t.severity??0),0),ig=e=>(e?.qa?.goals??[]).filter(e=>!e.ok).length,ag=(e,t)=>ng(e).find(e=>Xd(e)===t),og=e=>(e?.qa?.goals??[]).filter(e=>e.ok).map(e=>e.name),sg=(e,t)=>rg(e)<rg(t)-1e-9&&ig(e)<=ig(t)&&og(t).every(t=>og(e).includes(t));function cg(e,t,n){let r=Math.min(8,Math.max(1,Math.round(Number(t?.rounds??4))||4)),i=performance.now(),a=()=>performance.now()-i>=2e4,o=e,s=n(e),c=1,l=0,u=0,d=[],f=e=>{try{let t=Td(o,e);return c+=1,{next:t,r:n(t)}}catch{return l+=1,null}},p=(e,t,n,{next:r,r:i})=>{d.push({kind:e.kind,subject:e.subject,patch:n,severity:[e.severity,ag(i,t)?.severity??0]}),o=r,s=i},m=e=>{let t=null;for(let n of tg(e,o)){if(a())break;let e=f(n);if(e&&(sg(e.r,t?.r??s)?(t&&(l+=1),t={...e,patch:n}):l+=1,t&&rg(t.r)===0&&!ig(t.r)))break}return t&&p(e,Xd(e),t.patch,t),!!t};for(;u<r&&!a();){let e=ng(s).filter(e=>e.patch).slice(0,3).map(Xd),t=ng(s).filter(e=>tg(e,o).length).slice(0,2).map(Xd);if(!e.length&&!t.length)break;u+=1;let n=0;for(let t of e){let e=ag(s,t);if(!e?.patch||a())continue;let r=f(e.patch);r&&sg(r.r,s)?(p(e,t,e.patch,r),n+=1):r&&(l+=1)}for(let e of n?[]:t){let t=ag(s,e);if(t&&!a()&&m(t)){n+=1;break}}if(!n)break}return{spec:o,result:s,repair:{rounds:u,compiles:c,applied:d,rejected:l}}}function lg(e,n,r={position:[0,0,0],yaw:0},i={}){let a=n.frames.length,o=e.names.length,s=new Float32Array(a*o*4),c=new Float32Array(a*3),l=_(-(r.yaw??0));for(let i=0;i<a;i++){let a=n.frames[i].s,{quats:u,hips:d}=k(e,{P:a.P.map(e=>p(l,t(e,r.position))),R:a.R.map(e=>f(l,e))});u.forEach((e,t)=>s.set(e,(i*o+t)*4)),c.set(d,i*3)}let u={},d=n.f0??0;for(let[e,t]of Object.entries(n.ctx.spec.objects??{})){let r=B(t),i=Tt(t),o=r||i,s=!Et(t),c=s?new Float32Array(a*3):null,l=s?new Float32Array(a*4):null,f=o||!s||go(t),p=f&&t.visible?new Uint8Array(a):null,m=o?new Uint8Array(a):null,h=f&&t.level?new Float32Array(a):null,[g,_]=r?Ii(n,t):[0,0],v=r&&Ui(n,e)?new Uint8Array(a):null;for(let r=0;r<a;r++){if(p&&(p[r]=+((n.baked?.[t.visible]?.[r+d]??0)>.5)),h&&(h[r]=Math.max(0,Math.min(4,n.baked?.[t.level]?.[r+d]??1))),!s)continue;let a=qi(n,e,r+d);a&&(c.set(a.pos,r*3),l.set(S(a.R),r*4),m&&(m[r]=i||r+d>=g&&r+d<=_?1:0),v&&(v[r]=+(r+d>_)))}u[e]={...s?{pos:c,quat:l}:{},...p?{vis:p}:{},...m?{hold:m}:{},...v?{world:v}:{},...h?{lvl:h}:{}}}return{schema:`cozyclay.take.v3`,fps:n.fps,frameCount:a,rig:e.model,bones:e.names.slice(),rot:s,hips:c,objects:u,placement:r,...i}}let ug=(e,t)=>{throw Object.assign(Error(t),{code:e})};function dg(e){try{return e()}catch(e){throw/^MOTION_SPEC_INVALID/.test(e.message)&&ug(`INVALID_ARGUMENT`,e.message.replace(/^MOTION_SPEC_INVALID:\s*/,``)),e}}let fg=e=>Array.isArray(e)?e.map(fg):e&&typeof e==`object`&&!ArrayBuffer.isView(e)?Object.fromEntries(Object.keys(e).map(t=>[t,fg(e[t])])):e;function pg({model:e,scene:t,spec:n,probes:r,checks:i,lenient:a,repair:o,bake:s}){let c=br(e),l={...i?{checks:i}:{},...a?{lenient:!0}:{}},u=e=>{let{spec:n,probes:i}=Wh(e,r);n?.fps!==void 0&&n.fps!==24&&ug(`INVALID_ARGUMENT`,`spec.fps must be 24, the timeline rate.`);let a={fps:24,...n},o=dg(()=>Gh(a,{sk:c,scene:t},{...l,probes:i}));return{...o,stored:o.spec===a?n:o.spec}},d=performance.now(),f=o?cg(n,o,u):{spec:n,result:u(n)},p=f.result,m=f.spec?.label??null,h=f.repair?{...p.ms,repair:Math.round(performance.now()-d)}:p.ms,g=s?lg(c,p.out,{position:s.position,yaw:s.yaw},{spec:p.stored,prompt:(`prompt`in s?s.prompt:m)??``}):void 0,_=g&&Kr(t,[p.expanded,p.stored]);return _&&(g.people=_),{stored:p.stored,qa:p.qa,observations:p.observations,used:p.used,fixed:p.fixed,search:p.search,timeline:p.timeline,...p.probes?{probes:p.probes}:{},...p.notes?{notes:p.notes}:{},ms:h,frameCount:p.out.frameCount,label:m,...f.repair?{repair:f.repair}:{},...g?{take:g}:{}}}function mg(e,t=new Set){if(ArrayBuffer.isView(e))t.add(e.buffer);else if(e&&typeof e==`object`)for(let n of Object.values(e))mg(n,t);return[...t]}function hg({id:e,job:t}){try{let n=pg(fg(t));return{message:{id:e,value:n},transfer:mg(n)}}catch(t){return{message:{id:e,error:{message:String(t?.message??t),code:t?.code??null,name:t?.name??`Error`}},transfer:[]}}}self.onmessage=({data:e})=>{let{message:t,transfer:n}=hg(e);self.postMessage(t,n)}})();