@lovelace_lol/embody 0.0.7 → 0.0.9

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 (134) hide show
  1. package/README.md +541 -2394
  2. package/dist/index.d.ts +2 -100
  3. package/dist/index.js +9197 -13851
  4. package/dist/index.js.map +1 -1
  5. package/dist/three/annotations/DOMControls.d.ts +73 -0
  6. package/dist/three/annotations/DPthree.d.ts +113 -0
  7. package/dist/three/annotations/DPthree3DMarkers.d.ts +319 -0
  8. package/dist/three/annotations/DPthreeCameraController.d.ts +415 -0
  9. package/dist/three/annotations/DPthreeHTMLMarkers.d.ts +131 -0
  10. package/dist/three/annotations/DPthreeMarkers.d.ts +52 -0
  11. package/dist/three/annotations/adapter.d.ts +157 -0
  12. package/dist/three/annotations/animationFrameTaskScheduler.d.ts +18 -0
  13. package/dist/three/annotations/annotationAnchorModel.d.ts +16 -0
  14. package/dist/three/annotations/annotationCameraCore.d.ts +5 -0
  15. package/dist/three/annotations/boneResolutionProfile.d.ts +7 -0
  16. package/dist/three/annotations/index.d.ts +20 -0
  17. package/dist/three/annotations/loadFrame.d.ts +2 -0
  18. package/dist/three/annotations/markerSurfaceRaycast.d.ts +11 -0
  19. package/dist/three/annotations/markerVisibilityLifecycle.d.ts +21 -0
  20. package/dist/three/annotations/modelRenderPreparation.d.ts +6 -0
  21. package/dist/three/annotations/runtimeAnnotationPreview.d.ts +15 -0
  22. package/dist/three/annotations/runtimeAnnotationPreviewSide.d.ts +10 -0
  23. package/dist/three/annotations/runtimeAnnotationSidePreview.d.ts +5 -0
  24. package/dist/three/annotations/types.d.ts +262 -0
  25. package/dist/three/authoring.d.ts +95 -0
  26. package/dist/three/authoringTypes.d.ts +576 -0
  27. package/dist/three/character.d.ts +243 -0
  28. package/dist/three/characterHost.d.ts +48 -0
  29. package/dist/three/clipBindings.d.ts +6 -0
  30. package/dist/three/index.d.ts +171 -0
  31. package/dist/three/model.d.ts +31 -0
  32. package/dist/three/modelSkinning.d.ts +3 -0
  33. package/dist/three/nativePlayback.d.ts +121 -0
  34. package/dist/three/playbackRendering.d.ts +14 -0
  35. package/dist/three/reference-pose.d.ts +73 -0
  36. package/dist/three/scene.d.ts +253 -0
  37. package/dist/three/sceneRenderingBinding.d.ts +22 -0
  38. package/dist/three.js +9252 -8844
  39. package/dist/three.js.map +1 -1
  40. package/dist/wasm/README.md +551 -62
  41. package/dist/wasm/auto.d.ts +1 -0
  42. package/dist/wasm/compatibility.d.ts +14 -0
  43. package/dist/wasm/embody_wasm.d.ts +352 -71
  44. package/dist/wasm/embody_wasm.js +1266 -37
  45. package/dist/wasm/embody_wasm_bg.wasm +0 -0
  46. package/dist/wasm/embody_wasm_bg.wasm.d.ts +113 -54
  47. package/dist/wasm/index.d.ts +131 -0
  48. package/dist/wasm.d.ts +1 -43
  49. package/dist/wasm.js +1100 -239
  50. package/dist/wasm.js.map +1 -1
  51. package/package.json +35 -39
  52. package/service-worker/character-asset-service-worker.js +295 -0
  53. package/dist/authoring/boneAuthoring.d.ts +0 -132
  54. package/dist/camera/annotationCameraAngles.d.ts +0 -28
  55. package/dist/camera/cameraRelativeGaze.d.ts +0 -15
  56. package/dist/camera/rustAnnotationCameraCore.d.ts +0 -136
  57. package/dist/cljs.cjs +0 -362
  58. package/dist/cljs.cjs.map +0 -1
  59. package/dist/cljs.d.ts +0 -5
  60. package/dist/cljs.js +0 -359
  61. package/dist/cljs.js.map +0 -1
  62. package/dist/core/TsClipCompiler.d.ts +0 -51
  63. package/dist/core/WasmRuntimeCore.d.ts +0 -41
  64. package/dist/core/compositeAxis.d.ts +0 -4
  65. package/dist/core/contracts/abi.d.ts +0 -70
  66. package/dist/core/contracts/clip.d.ts +0 -44
  67. package/dist/core/contracts/frame.d.ts +0 -27
  68. package/dist/core/contracts/host.d.ts +0 -28
  69. package/dist/core/contracts/ids.d.ts +0 -15
  70. package/dist/core/contracts/index.d.ts +0 -10
  71. package/dist/core/contracts/model.d.ts +0 -31
  72. package/dist/core/contracts/primitives.d.ts +0 -17
  73. package/dist/core/contracts/skeletonFit.d.ts +0 -41
  74. package/dist/core/index.d.ts +0 -6
  75. package/dist/core/types.d.ts +0 -472
  76. package/dist/core.cjs +0 -343
  77. package/dist/core.cjs.map +0 -1
  78. package/dist/core.js +0 -323
  79. package/dist/core.js.map +0 -1
  80. package/dist/engines/three/Embody.d.ts +0 -372
  81. package/dist/engines/three/ThreeAnimationRuntime.d.ts +0 -203
  82. package/dist/engines/three/ThreeClipAdapter.d.ts +0 -24
  83. package/dist/engines/three/ThreeFrameApplier.d.ts +0 -68
  84. package/dist/engines/three/ThreeModelInspector.d.ts +0 -54
  85. package/dist/engines/three/bakedClipPartitioning.d.ts +0 -16
  86. package/dist/engines/three/balanceUtils.d.ts +0 -3
  87. package/dist/engines/three/characterHost.d.ts +0 -80
  88. package/dist/engines/three/characterScene.d.ts +0 -98
  89. package/dist/engines/three/hair/HairPhysicsController.d.ts +0 -124
  90. package/dist/engines/three/index.d.ts +0 -20
  91. package/dist/engines/three/modelLoader.d.ts +0 -61
  92. package/dist/engines/three/profileTestScene.d.ts +0 -52
  93. package/dist/engines/three/types.d.ts +0 -20
  94. package/dist/hair/appearance.d.ts +0 -29
  95. package/dist/index.cjs +0 -14871
  96. package/dist/index.cjs.map +0 -1
  97. package/dist/interfaces/Animation.d.ts +0 -315
  98. package/dist/interfaces/EmbodyRuntime.d.ts +0 -90
  99. package/dist/interfaces/Hair.d.ts +0 -181
  100. package/dist/interfaces/HairPhysics.d.ts +0 -90
  101. package/dist/interfaces/index.d.ts +0 -11
  102. package/dist/mappings/extendPresetWithProfile.d.ts +0 -17
  103. package/dist/mappings/types.d.ts +0 -309
  104. package/dist/mappings/visemeSystem.d.ts +0 -26
  105. package/dist/physics/HairPhysics.d.ts +0 -86
  106. package/dist/physics/RustHairPhysics.d.ts +0 -18
  107. package/dist/physics/index.d.ts +0 -6
  108. package/dist/preset.cjs +0 -2005
  109. package/dist/preset.cjs.map +0 -1
  110. package/dist/preset.js +0 -2003
  111. package/dist/preset.js.map +0 -1
  112. package/dist/presets/bettaFish.d.ts +0 -328
  113. package/dist/presets/cc4.d.ts +0 -145
  114. package/dist/presets/index.d.ts +0 -30
  115. package/dist/presets/registry.d.ts +0 -57
  116. package/dist/profiles/resolveProfileConfig.d.ts +0 -36
  117. package/dist/profiles/rustResolvedProfile.d.ts +0 -31
  118. package/dist/profiles/types.d.ts +0 -118
  119. package/dist/regions/normalizeRegionTree.d.ts +0 -6
  120. package/dist/regions/regionMapping.d.ts +0 -17
  121. package/dist/regions/types.d.ts +0 -122
  122. package/dist/skeletonTemplates/humanoidSkeletonTemplates.d.ts +0 -32
  123. package/dist/test/setupWasm.d.ts +0 -1
  124. package/dist/three.cjs +0 -9550
  125. package/dist/three.cjs.map +0 -1
  126. package/dist/validation/analyzeModel.d.ts +0 -68
  127. package/dist/validation/extractModelData.d.ts +0 -90
  128. package/dist/validation/generateMappingCorrections.d.ts +0 -32
  129. package/dist/validation/geometryHelpers.d.ts +0 -66
  130. package/dist/validation/types.d.ts +0 -10
  131. package/dist/validation/validateMappings.d.ts +0 -77
  132. package/dist/wasm.cjs +0 -302
  133. package/dist/wasm.cjs.map +0 -1
  134. package/dist/wasmTypes.d.ts +0 -123
package/dist/wasm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contracts/abi.ts","../src/wasm.ts"],"names":["EMBODY_CORE_ABI_VERSION","PACKED_MORPH_FRAME_DELTA_STRIDE","PACKED_MORPH_FRAME_DELTA_FIELDS","PACKED_BONE_FRAME_DELTA_STRIDE","PACKED_BONE_FRAME_DELTA_FIELDS","HAIR_CONFIG_STRIDE","HAIR_CONFIG_FIELDS","HAIR_STATE_STRIDE","HAIR_STATE_FIELDS","HAIR_HEAD_STATE_STRIDE","HAIR_HEAD_STATE_FIELDS","HAIR_MORPH_OUTPUT_STRIDE","HAIR_MORPH_OUTPUT_FIELDS","MESH_PROPORTIONS_STRIDE","MESH_PROPORTIONS_FIELDS","TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE","TEMPLATE_SKELETON_FIT_SOLUTION_FIELDS","TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE","TEMPLATE_SKELETON_FIT_TRANSFORM_FIELDS","ANNOTATION_CAMERA_FRAMING_STRIDE","ANNOTATION_CAMERA_FRAMING_FIELDS","CAMERA_FLIGHT_SAMPLE_STRIDE","CAMERA_FLIGHT_SAMPLE_FIELDS","MARKER_VISIBILITY_FACTORS_STRIDE","MARKER_VISIBILITY_FACTORS_FIELDS","MARKER_ENDPOINT_STRIDE","MARKER_ENDPOINT_FIELDS"],"mappings":";AAEO,IAAM,uBAAA,GAA0B,CAAA;AAEhC,IAAM,+BAAA,GAAkC,CAAA;AACxC,IAAM,+BAAA,GAAkC;AAAA,EAC7C,QAAA;AAAA,EACA,eAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,8BAAA,GAAiC,CAAA;AACvC,IAAM,8BAAA,GAAiC;AAAA,EAC5C,QAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA;AAMO,IAAM,kBAAA,GAAqB,EAAA;AAC3B,IAAM,iBAAA,GAAoB,CAAA;AAC1B,IAAM,sBAAA,GAAyB,CAAA;AAC/B,IAAM,wBAAA,GAA2B,CAAA;AACjC,IAAM,sCAAA,GAAyC,CAAA;AAC/C,IAAM,uBAAA,GAA0B,EAAA;AAChC,IAAM,qCAAA,GAAwC,EAAA;AAC9C,IAAM,gCAAA,GAAmC,CAAA;AACzC,IAAM,2BAAA,GAA8B,CAAA;AACpC,IAAM,gCAAA,GAAmC,CAAA;AACzC,IAAM,sBAAA,GAAyB,CAAA;AAE/B,IAAM,kBAAA,GAAqB;AAAA,EAChC,MAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,iBAAA,GAAoB,CAAC,GAAA,EAAK,GAAA,EAAK,MAAM,IAAI,CAAA;AAC/C,IAAM,yBAAyB,CAAC,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,eAAe,eAAe,CAAA;AACtF,IAAM,wBAAA,GAA2B;AAAA,EACtC,aAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA;AACO,IAAM,sCAAA,GAAyC;AAAA,EACpD,OAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA;AACO,IAAM,uBAAA,GAA0B;AAAA,EACrC,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA,qBAAA;AAAA,EACA;AACF,CAAA;AACO,IAAM,qCAAA,GAAwC;AAAA,EACnD,OAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,gBAAA;AAAA,EACA,uBAAA;AAAA,EACA,2BAAA;AAAA,EACA;AACF,CAAA;AACO,IAAM,gCAAA,GAAmC;AAAA,EAC9C,WAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA;AACO,IAAM,2BAAA,GAA8B;AAAA,EACzC,WAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA;AACO,IAAM,gCAAA,GAAmC;AAAA,EAC9C,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAA;AACO,IAAM,sBAAA,GAAyB,CAAC,GAAA,EAAK,GAAA,EAAK,GAAG,CAAA;;;AC7F7C,IAAMA,wBAAAA,GAA0B;AAChC,IAAMC,gCAAAA,GAAkC;AACxC,IAAMC,gCAAAA,GAAkC;AACxC,IAAMC,+BAAAA,GAAiC;AACvC,IAAMC,+BAAAA,GAAiC;AACvC,IAAMC,mBAAAA,GAAqB;AAC3B,IAAMC,mBAAAA,GAAqB;AAC3B,IAAMC,kBAAAA,GAAoB;AAC1B,IAAMC,kBAAAA,GAAoB;AAC1B,IAAMC,uBAAAA,GAAyB;AAC/B,IAAMC,uBAAAA,GAAyB;AAC/B,IAAMC,yBAAAA,GAA2B;AACjC,IAAMC,yBAAAA,GAA2B;AACjC,IAAMC,wBAAAA,GAA0B;AAChC,IAAMC,wBAAAA,GAA0B;AAChC,IAAMC,sCAAAA,GAAwC;AAC9C,IAAMC,sCAAAA,GAAwC;AAC9C,IAAMC,uCAAAA,GAAyC;AAC/C,IAAMC,uCAAAA,GAAyC;AAC/C,IAAMC,iCAAAA,GAAmC;AACzC,IAAMC,iCAAAA,GAAmC;AACzC,IAAMC,4BAAAA,GAA8B;AACpC,IAAMC,4BAAAA,GAA8B;AACpC,IAAMC,iCAAAA,GAAmC;AACzC,IAAMC,iCAAAA,GAAmC;AACzC,IAAMC,uBAAAA,GAAyB;AAC/B,IAAMC,uBAAAA,GAAyB;AAEtC,IAAM,qBAAA,GAAwB,uBAAA;AAC9B,IAAM,qBAAA,GAAwB,4BAAA;AAG9B,IAAI,WAAA,GAA0E,IAAA;AAC9E,IAAI,UAAA,GAAgE,IAAA;AAGpE,eAAsB,cAAA,GAAiB;AACrC,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,WAAA,GAAc,cAAA,EAAe,CAAE,KAAA,CAAM,CAAC,KAAA,KAAU;AAE9C,MAAA,WAAA,GAAc,IAAA;AACd,MAAA,UAAA,GAAa,IAAA;AACb,MAAA,MAAM,KAAA;AAAA,IACR,CAAC,CAAA;AAAA,EACH;AACA,EAAA,OAAO,WAAA;AACT;AAGA,eAAsB,aAAA,GAAgB;AACpC,EAAA,OAAO,cAAA,EAAe;AACxB;AAMO,SAAS,4BAAA,GAA+B;AAC7C,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACA,EAAA,OAAO,UAAA;AACT;AAEO,SAAS,uBAAA,GAA0B;AACxC,EAAA,WAAA,GAAc,IAAA;AACd,EAAA,UAAA,GAAa,IAAA;AACf;AAOO,SAAS,sBAAsB,GAAA,EAAK;AACzC,EAAA,aAAA,CAAc,GAAG,CAAA;AACjB,EAAA,UAAA,GAAa,GAAA;AACb,EAAA,WAAA,GAAc,OAAA,CAAQ,QAAQ,GAAG,CAAA;AACnC;AAGA,eAAe,cAAA,GAAiB;AAC9B,EAAA,MAAM,GAAA,GAAM,MAAM,yBAAA,EAA0B;AAC5C,EAAA,IAAI,OAAO,GAAA,CAAI,OAAA,KAAY,UAAA,EAAY;AACrC,IAAA,MAAM,IAAI,OAAA,CAAQ,EAAE,gBAAgB,MAAM,oBAAA,IAAwB,CAAA;AAAA,EACpE;AAEA,EAAA,aAAA,CAAc,GAAG,CAAA;AACjB,EAAA,UAAA,GAAa,GAAA;AACb,EAAA,OAAO,GAAA;AACT;AAGA,eAAe,yBAAA,GAA4B;AACzC,EAAA,MAAM,aAAA;AAAA;AAAA,IACJ,IAAI,QAAA,CAAS,WAAA,EAAa,0BAA0B;AAAA,GAAA;AAGtD,EAAA,IAAI;AACF,IAAA,OAAO,MAAM,aAAA,CAAc,0BAAA,EAA4B,CAAA;AAAA,EACzD,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,UAAU,KAAA,YAAiB,KAAA,GAAQ,KAAA,CAAM,OAAA,GAAU,OAAO,KAAK,CAAA;AACrE,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,wIAAwI,OAAO,CAAA;AAAA,KACjJ;AAAA,EACF;AACF;AAEA,SAAS,0BAAA,GAA6B;AACpC,EAAA,IAAI,OAAO,MAAA,CAAA,IAAA,CAAY,GAAA,KAAQ,YAAY,MAAA,CAAA,IAAA,CAAY,GAAA,CAAI,SAAS,CAAA,EAAG;AACrE,IAAA,OAAO,IAAI,GAAA,CAAI,qBAAA,EAAuB,MAAA,CAAA,IAAA,CAAY,GAAG,CAAA,CAAE,IAAA;AAAA,EACzD;AACA,EAAA,OAAO,qBAAA;AACT;AAGA,eAAe,oBAAA,GAAuB;AACpC,EAAA,IAAI,CAAC,mBAAkB,EAAG;AACxB,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,MAAM,YAAY,0BAAA,EAA2B;AAC7C,EAAA,IAAI,CAAC,SAAA,CAAU,UAAA,CAAW,OAAO,CAAA,EAAG;AAClC,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,MAAM,aAAA;AAAA;AAAA,IACJ,IAAI,QAAA,CAAS,WAAA,EAAa,0BAA0B;AAAA,GAAA;AAEtD,EAAA,MAAM,CAAC,EAAE,QAAA,EAAS,EAAG,EAAE,eAAe,CAAA,GAAI,MAAM,OAAA,CAAQ,GAAA,CAAI;AAAA,IAC1D,cAAc,kBAAkB,CAAA;AAAA,IAChC,cAAc,UAAU;AAAA,GACzB,CAAA;AAED,EAAA,OAAO,QAAA,CAAS,aAAA,CAAc,SAAS,CAAC,CAAA;AAC1C;AAEA,SAAS,0BAAA,GAA6B;AACpC,EAAA,IAAI,OAAO,MAAA,CAAA,IAAA,CAAY,GAAA,KAAQ,YAAY,MAAA,CAAA,IAAA,CAAY,GAAA,CAAI,SAAS,CAAA,EAAG;AACrE,IAAA,OAAO,IAAI,GAAA,CAAI,qBAAA,EAAuB,MAAA,CAAA,IAAA,CAAY,GAAG,CAAA,CAAE,IAAA;AAAA,EACzD;AACA,EAAA,OAAO,qBAAA;AACT;AAEA,SAAS,iBAAA,GAAoB;AAC3B,EAAA,MAAM,OAAA;AAAA;AAAA,IAAyE;AAAA,GAAA;AAC/E,EAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,OAAA,EAAS,QAAA,EAAU,IAAI,CAAA;AAChD;AAGA,SAAS,cAAc,GAAA,EAAK;AAC1B,EAAA,MAAM,OAAA,GAAU,IAAI,gBAAA,EAAiB;AACrC,EAAA,IAAI,YAAY1B,wBAAAA,EAAyB;AACvC,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oCAAA,EAAuC,OAAO,CAAA,WAAA,EAAcA,wBAAuB,CAAA,CAAA,CAAG,CAAA;AAAA,EACxG;AAEA,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,CAAC,0BAAA,EAA4B,GAAA,CAAI,+BAAA,IAAmCC,gCAA+B,CAAA;AAAA,IACnG,CAAC,yBAAA,EAA2B,GAAA,CAAI,8BAAA,IAAkCE,+BAA8B,CAAA;AAAA,IAChG,CAAC,aAAA,EAAe,GAAA,CAAI,kBAAA,IAAsBE,mBAAkB,CAAA;AAAA,IAC5D,CAAC,YAAA,EAAc,GAAA,CAAI,iBAAA,IAAqBE,kBAAiB,CAAA;AAAA,IACzD,CAAC,iBAAA,EAAmB,GAAA,CAAI,sBAAA,IAA0BE,uBAAsB,CAAA;AAAA,IACxE,CAAC,mBAAA,EAAqB,GAAA,CAAI,wBAAA,IAA4BE,yBAAwB,CAAA;AAAA,IAC9E,CAAC,kBAAA,EAAoB,GAAA,CAAI,uBAAA,IAA2BE,wBAAuB,CAAA;AAAA,IAC3E,CAAC,gCAAA,EAAkC,GAAA,CAAI,qCAAA,IAAyCE,sCAAqC,CAAA;AAAA,IACrH,CAAC,iCAAA,EAAmC,GAAA,CAAI,sCAAA,IAA0CE,uCAAsC,CAAA;AAAA,IACxH,CAAC,2BAAA,EAA6B,GAAA,CAAI,gCAAA,IAAoCE,iCAAgC,CAAA;AAAA,IACtG,CAAC,sBAAA,EAAwB,GAAA,CAAI,2BAAA,IAA+BE,4BAA2B,CAAA;AAAA,IACvF,CAAC,2BAAA,EAA6B,GAAA,CAAI,gCAAA,IAAoCE,iCAAgC,CAAA;AAAA,IACtG,CAAC,iBAAA,EAAmB,GAAA,CAAI,sBAAA,IAA0BE,uBAAsB;AAAA,GAC1E;AAEA,EAAA,KAAA,MAAW,CAAC,IAAA,EAAM,MAAA,EAAQ,QAAQ,KAAK,MAAA,EAAQ;AAC7C,IAAA,IAAI,WAAW,QAAA,EAAU;AACvB,MAAA,MAAM,IAAI,MAAM,CAAA,wBAAA,EAA2B,IAAI,WAAW,MAAM,CAAA,WAAA,EAAc,QAAQ,CAAA,CAAA,CAAG,CAAA;AAAA,IAC3F;AAAA,EACF;AACF","file":"wasm.js","sourcesContent":["import type { NumericArray } from './primitives';\n\nexport const EMBODY_CORE_ABI_VERSION = 1;\n\nexport const PACKED_MORPH_FRAME_DELTA_STRIDE = 4;\nexport const PACKED_MORPH_FRAME_DELTA_FIELDS = [\n 'meshId',\n 'morphTargetId',\n 'value',\n 'mode',\n] as const;\n\nexport const PACKED_BONE_FRAME_DELTA_STRIDE = 9;\nexport const PACKED_BONE_FRAME_DELTA_FIELDS = [\n 'boneId',\n 'positionX',\n 'positionY',\n 'positionZ',\n 'rotationX',\n 'rotationY',\n 'rotationZ',\n 'rotationW',\n 'flags',\n] as const;\n\n/** Packed bone FrameDelta flags: bit 0 = has position, bit 1 = has rotation. */\nexport const PACKED_BONE_FLAG_HAS_POSITION = 1;\nexport const PACKED_BONE_FLAG_HAS_ROTATION = 2;\n\nexport const HAIR_CONFIG_STRIDE = 11;\nexport const HAIR_STATE_STRIDE = 4;\nexport const HAIR_HEAD_STATE_STRIDE = 5;\nexport const HAIR_MORPH_OUTPUT_STRIDE = 6;\nexport const TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE = 4;\nexport const MESH_PROPORTIONS_STRIDE = 16;\nexport const TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE = 10;\nexport const ANNOTATION_CAMERA_FRAMING_STRIDE = 7;\nexport const CAMERA_FLIGHT_SAMPLE_STRIDE = 7;\nexport const MARKER_VISIBILITY_FACTORS_STRIDE = 3;\nexport const MARKER_ENDPOINT_STRIDE = 3;\n\nexport const HAIR_CONFIG_FIELDS = [\n 'mass',\n 'stiffness',\n 'damping',\n 'gravity',\n 'headInfluence',\n 'windEnabled',\n 'windStrength',\n 'windDirectionX',\n 'windDirectionZ',\n 'windTurbulence',\n 'windFrequency',\n] as const;\n\nexport const HAIR_STATE_FIELDS = ['x', 'z', 'vx', 'vz'] as const;\nexport const HAIR_HEAD_STATE_FIELDS = ['yaw', 'pitch', 'roll', 'yawVelocity', 'pitchVelocity'] as const;\nexport const HAIR_MORPH_OUTPUT_FIELDS = [\n 'L_Hair_Left',\n 'L_Hair_Right',\n 'L_Hair_Front',\n 'R_Hair_Left',\n 'R_Hair_Right',\n 'R_Hair_Front',\n] as const;\nexport const TEMPLATE_SKELETON_FIT_TRANSFORM_FIELDS = [\n 'scale',\n 'translationX',\n 'translationY',\n 'translationZ',\n] as const;\nexport const MESH_PROPORTIONS_FIELDS = [\n 'minX',\n 'minY',\n 'minZ',\n 'maxX',\n 'maxY',\n 'maxZ',\n 'centerX',\n 'centerY',\n 'centerZ',\n 'spanX',\n 'spanY',\n 'spanZ',\n 'verticalHeight',\n 'crossAxisWideSpan',\n 'crossAxisNarrowSpan',\n 'humanoidLikelihood',\n] as const;\nexport const TEMPLATE_SKELETON_FIT_SOLUTION_FIELDS = [\n 'scale',\n 'translationX',\n 'translationY',\n 'translationZ',\n 'confidence',\n 'meshHeight',\n 'templateHeight',\n 'meshCrossAxisWideSpan',\n 'templateCrossAxisWideSpan',\n 'status',\n] as const;\nexport const ANNOTATION_CAMERA_FRAMING_FIELDS = [\n 'positionX',\n 'positionY',\n 'positionZ',\n 'targetX',\n 'targetY',\n 'targetZ',\n 'distance',\n] as const;\nexport const CAMERA_FLIGHT_SAMPLE_FIELDS = [\n 'positionX',\n 'positionY',\n 'positionZ',\n 'targetX',\n 'targetY',\n 'targetZ',\n 'done',\n] as const;\nexport const MARKER_VISIBILITY_FACTORS_FIELDS = [\n 'itemOpacityFactor',\n 'labelScaleFactor',\n 'lineOpacityFactor',\n] as const;\nexport const MARKER_ENDPOINT_FIELDS = ['x', 'y', 'z'] as const;\n\nexport type PackedMorphFrameDeltaField = (typeof PACKED_MORPH_FRAME_DELTA_FIELDS)[number];\nexport type HairConfigField = (typeof HAIR_CONFIG_FIELDS)[number];\nexport type HairStateField = (typeof HAIR_STATE_FIELDS)[number];\nexport type HairHeadStateField = (typeof HAIR_HEAD_STATE_FIELDS)[number];\nexport type HairMorphOutputField = (typeof HAIR_MORPH_OUTPUT_FIELDS)[number];\nexport type TemplateSkeletonFitTransformField = (typeof TEMPLATE_SKELETON_FIT_TRANSFORM_FIELDS)[number];\nexport type MeshProportionsField = (typeof MESH_PROPORTIONS_FIELDS)[number];\nexport type TemplateSkeletonFitSolutionField = (typeof TEMPLATE_SKELETON_FIT_SOLUTION_FIELDS)[number];\n\nexport interface PackedMorphFrameDelta {\n readonly abiVersion: typeof EMBODY_CORE_ABI_VERSION;\n readonly stride: typeof PACKED_MORPH_FRAME_DELTA_STRIDE;\n readonly fields: typeof PACKED_MORPH_FRAME_DELTA_FIELDS;\n readonly values: NumericArray;\n}\n\nexport interface PackedHairPhysicsState {\n readonly stride: typeof HAIR_STATE_STRIDE;\n readonly fields: typeof HAIR_STATE_FIELDS;\n readonly values: NumericArray;\n}\n\nexport interface PackedHairMorphOutput {\n readonly stride: typeof HAIR_MORPH_OUTPUT_STRIDE;\n readonly fields: typeof HAIR_MORPH_OUTPUT_FIELDS;\n readonly values: NumericArray;\n}\n\nexport interface PackedTemplateSkeletonFitTransform {\n readonly stride: typeof TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE;\n readonly fields: typeof TEMPLATE_SKELETON_FIT_TRANSFORM_FIELDS;\n readonly values: NumericArray;\n}\n\nexport interface PackedMeshProportions {\n readonly stride: typeof MESH_PROPORTIONS_STRIDE;\n readonly fields: typeof MESH_PROPORTIONS_FIELDS;\n readonly values: NumericArray;\n}\n\nexport interface PackedTemplateSkeletonFitSolution {\n readonly stride: typeof TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE;\n readonly fields: typeof TEMPLATE_SKELETON_FIT_SOLUTION_FIELDS;\n readonly values: NumericArray;\n}\n","// @ts-nocheck\nimport {\n ANNOTATION_CAMERA_FRAMING_FIELDS as CORE_ANNOTATION_CAMERA_FRAMING_FIELDS,\n ANNOTATION_CAMERA_FRAMING_STRIDE as CORE_ANNOTATION_CAMERA_FRAMING_STRIDE,\n CAMERA_FLIGHT_SAMPLE_FIELDS as CORE_CAMERA_FLIGHT_SAMPLE_FIELDS,\n CAMERA_FLIGHT_SAMPLE_STRIDE as CORE_CAMERA_FLIGHT_SAMPLE_STRIDE,\n EMBODY_CORE_ABI_VERSION as CORE_ABI_VERSION,\n HAIR_CONFIG_FIELDS as CORE_HAIR_CONFIG_FIELDS,\n HAIR_CONFIG_STRIDE as CORE_HAIR_CONFIG_STRIDE,\n HAIR_HEAD_STATE_FIELDS as CORE_HAIR_HEAD_STATE_FIELDS,\n HAIR_HEAD_STATE_STRIDE as CORE_HAIR_HEAD_STATE_STRIDE,\n HAIR_MORPH_OUTPUT_FIELDS as CORE_HAIR_MORPH_OUTPUT_FIELDS,\n HAIR_MORPH_OUTPUT_STRIDE as CORE_HAIR_MORPH_OUTPUT_STRIDE,\n HAIR_STATE_FIELDS as CORE_HAIR_STATE_FIELDS,\n HAIR_STATE_STRIDE as CORE_HAIR_STATE_STRIDE,\n MARKER_VISIBILITY_FACTORS_FIELDS as CORE_MARKER_VISIBILITY_FACTORS_FIELDS,\n MARKER_VISIBILITY_FACTORS_STRIDE as CORE_MARKER_VISIBILITY_FACTORS_STRIDE,\n MARKER_ENDPOINT_FIELDS as CORE_MARKER_ENDPOINT_FIELDS,\n MARKER_ENDPOINT_STRIDE as CORE_MARKER_ENDPOINT_STRIDE,\n MESH_PROPORTIONS_FIELDS as CORE_MESH_PROPORTIONS_FIELDS,\n MESH_PROPORTIONS_STRIDE as CORE_MESH_PROPORTIONS_STRIDE,\n PACKED_MORPH_FRAME_DELTA_FIELDS as CORE_PACKED_MORPH_FRAME_DELTA_FIELDS,\n PACKED_MORPH_FRAME_DELTA_STRIDE as CORE_PACKED_MORPH_FRAME_DELTA_STRIDE,\n PACKED_BONE_FRAME_DELTA_FIELDS as CORE_PACKED_BONE_FRAME_DELTA_FIELDS,\n PACKED_BONE_FRAME_DELTA_STRIDE as CORE_PACKED_BONE_FRAME_DELTA_STRIDE,\n TEMPLATE_SKELETON_FIT_SOLUTION_FIELDS as CORE_TEMPLATE_SKELETON_FIT_SOLUTION_FIELDS,\n TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE as CORE_TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE,\n TEMPLATE_SKELETON_FIT_TRANSFORM_FIELDS as CORE_TEMPLATE_SKELETON_FIT_TRANSFORM_FIELDS,\n TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE as CORE_TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE,\n} from './core/contracts';\n\nexport const EMBODY_CORE_ABI_VERSION = CORE_ABI_VERSION;\nexport const PACKED_MORPH_FRAME_DELTA_STRIDE = CORE_PACKED_MORPH_FRAME_DELTA_STRIDE;\nexport const PACKED_MORPH_FRAME_DELTA_FIELDS = CORE_PACKED_MORPH_FRAME_DELTA_FIELDS;\nexport const PACKED_BONE_FRAME_DELTA_STRIDE = CORE_PACKED_BONE_FRAME_DELTA_STRIDE;\nexport const PACKED_BONE_FRAME_DELTA_FIELDS = CORE_PACKED_BONE_FRAME_DELTA_FIELDS;\nexport const HAIR_CONFIG_STRIDE = CORE_HAIR_CONFIG_STRIDE;\nexport const HAIR_CONFIG_FIELDS = CORE_HAIR_CONFIG_FIELDS;\nexport const HAIR_STATE_STRIDE = CORE_HAIR_STATE_STRIDE;\nexport const HAIR_STATE_FIELDS = CORE_HAIR_STATE_FIELDS;\nexport const HAIR_HEAD_STATE_STRIDE = CORE_HAIR_HEAD_STATE_STRIDE;\nexport const HAIR_HEAD_STATE_FIELDS = CORE_HAIR_HEAD_STATE_FIELDS;\nexport const HAIR_MORPH_OUTPUT_STRIDE = CORE_HAIR_MORPH_OUTPUT_STRIDE;\nexport const HAIR_MORPH_OUTPUT_FIELDS = CORE_HAIR_MORPH_OUTPUT_FIELDS;\nexport const MESH_PROPORTIONS_STRIDE = CORE_MESH_PROPORTIONS_STRIDE;\nexport const MESH_PROPORTIONS_FIELDS = CORE_MESH_PROPORTIONS_FIELDS;\nexport const TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE = CORE_TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE;\nexport const TEMPLATE_SKELETON_FIT_SOLUTION_FIELDS = CORE_TEMPLATE_SKELETON_FIT_SOLUTION_FIELDS;\nexport const TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE = CORE_TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE;\nexport const TEMPLATE_SKELETON_FIT_TRANSFORM_FIELDS = CORE_TEMPLATE_SKELETON_FIT_TRANSFORM_FIELDS;\nexport const ANNOTATION_CAMERA_FRAMING_STRIDE = CORE_ANNOTATION_CAMERA_FRAMING_STRIDE;\nexport const ANNOTATION_CAMERA_FRAMING_FIELDS = CORE_ANNOTATION_CAMERA_FRAMING_FIELDS;\nexport const CAMERA_FLIGHT_SAMPLE_STRIDE = CORE_CAMERA_FLIGHT_SAMPLE_STRIDE;\nexport const CAMERA_FLIGHT_SAMPLE_FIELDS = CORE_CAMERA_FLIGHT_SAMPLE_FIELDS;\nexport const MARKER_VISIBILITY_FACTORS_STRIDE = CORE_MARKER_VISIBILITY_FACTORS_STRIDE;\nexport const MARKER_VISIBILITY_FACTORS_FIELDS = CORE_MARKER_VISIBILITY_FACTORS_FIELDS;\nexport const MARKER_ENDPOINT_STRIDE = CORE_MARKER_ENDPOINT_STRIDE;\nexport const MARKER_ENDPOINT_FIELDS = CORE_MARKER_ENDPOINT_FIELDS;\n\nconst WASM_MODULE_SPECIFIER = './wasm/embody_wasm.js';\nconst WASM_BINARY_SPECIFIER = './wasm/embody_wasm_bg.wasm';\n\n/** Per-entry loader state. Core consumers receive the resolved module explicitly. */\nlet corePromise: Promise<import('./wasmTypes').EmbodyCoreWasmModule> | null = null;\nlet cachedCore: import('./wasmTypes').EmbodyCoreWasmModule | null = null;\n\n/** @returns {Promise<import('./wasmTypes').EmbodyCoreWasmModule>} */\nexport async function initEmbodyCore() {\n if (!corePromise) {\n corePromise = loadCoreModule().catch((error) => {\n // Allow a later retry after a transient load failure.\n corePromise = null;\n cachedCore = null;\n throw error;\n });\n }\n return corePromise;\n}\n\n/** @returns {Promise<import('./wasmTypes').EmbodyCoreWasmModule>} */\nexport async function getEmbodyCore() {\n return initEmbodyCore();\n}\n\n/**\n * Return the Wasm module already loaded by this package entry.\n * Prefer passing the module returned by `initEmbodyCore()` explicitly.\n */\nexport function requireInitializedEmbodyCore() {\n if (!cachedCore) {\n throw new Error(\n 'Embody Wasm core is not initialized. Await initEmbodyCore() before calling sync engine helpers.'\n );\n }\n return cachedCore;\n}\n\nexport function resetEmbodyCoreForTests() {\n corePromise = null;\n cachedCore = null;\n}\n\n/**\n * Install a pre-loaded Wasm module into the sync cache (used by vitest setup\n * when the package dynamic import cannot resolve dist/wasm from source).\n * @param {import('./wasmTypes').EmbodyCoreWasmModule} mod\n */\nexport function setEmbodyCoreForTests(mod) {\n assertCoreAbi(mod);\n cachedCore = mod;\n corePromise = Promise.resolve(mod);\n}\n\n/** @returns {Promise<import('./wasmTypes').EmbodyCoreWasmModule>} */\nasync function loadCoreModule() {\n const mod = await importGeneratedWasmModule();\n if (typeof mod.default === 'function') {\n await mod.default({ module_or_path: await resolveWasmInitInput() });\n }\n\n assertCoreAbi(mod);\n cachedCore = mod;\n return mod;\n}\n\n/** @returns {Promise<import('./wasmTypes').EmbodyCoreWasmModule>} */\nasync function importGeneratedWasmModule() {\n const dynamicImport = /** @type {(specifier: string) => Promise<import('./wasmTypes').EmbodyCoreWasmModule>} */ (\n new Function('specifier', 'return import(specifier)')\n );\n\n try {\n return await dynamicImport(resolveWasmModuleSpecifier());\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new Error(\n `Unable to load Embody Wasm core from generated package artifacts. Run \"npm run build\" before using @lovelace_lol/embody/wasm. Cause: ${message}`\n );\n }\n}\n\nfunction resolveWasmModuleSpecifier() {\n if (typeof import.meta.url === 'string' && import.meta.url.length > 0) {\n return new URL(WASM_MODULE_SPECIFIER, import.meta.url).href;\n }\n return WASM_MODULE_SPECIFIER;\n}\n\n/** @returns {Promise<unknown | undefined>} */\nasync function resolveWasmInitInput() {\n if (!isNodeLikeRuntime()) {\n return undefined;\n }\n\n const binaryUrl = resolveWasmBinarySpecifier();\n if (!binaryUrl.startsWith('file:')) {\n return undefined;\n }\n\n const dynamicImport = /** @type {(specifier: string) => Promise<any>} */ (\n new Function('specifier', 'return import(specifier)')\n );\n const [{ readFile }, { fileURLToPath }] = await Promise.all([\n dynamicImport('node:fs/promises'),\n dynamicImport('node:url'),\n ]);\n\n return readFile(fileURLToPath(binaryUrl));\n}\n\nfunction resolveWasmBinarySpecifier() {\n if (typeof import.meta.url === 'string' && import.meta.url.length > 0) {\n return new URL(WASM_BINARY_SPECIFIER, import.meta.url).href;\n }\n return WASM_BINARY_SPECIFIER;\n}\n\nfunction isNodeLikeRuntime() {\n const runtime = /** @type {{ process?: { versions?: { node?: string } } }} */ (globalThis);\n return Boolean(runtime.process?.versions?.node);\n}\n\n/** @param {import('./wasmTypes').EmbodyCoreWasmModule} mod */\nfunction assertCoreAbi(mod) {\n const version = mod.core_abi_version();\n if (version !== EMBODY_CORE_ABI_VERSION) {\n throw new Error(`Unsupported Embody Wasm ABI version ${version}; expected ${EMBODY_CORE_ABI_VERSION}.`);\n }\n\n const checks = [\n ['packed morph frame delta', mod.packed_morph_frame_delta_stride(), PACKED_MORPH_FRAME_DELTA_STRIDE],\n ['packed bone frame delta', mod.packed_bone_frame_delta_stride(), PACKED_BONE_FRAME_DELTA_STRIDE],\n ['hair config', mod.hair_config_stride(), HAIR_CONFIG_STRIDE],\n ['hair state', mod.hair_state_stride(), HAIR_STATE_STRIDE],\n ['hair head state', mod.hair_head_state_stride(), HAIR_HEAD_STATE_STRIDE],\n ['hair morph output', mod.hair_morph_output_stride(), HAIR_MORPH_OUTPUT_STRIDE],\n ['mesh proportions', mod.mesh_proportions_stride(), MESH_PROPORTIONS_STRIDE],\n ['template skeleton fit solution', mod.template_skeleton_fit_solution_stride(), TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE],\n ['template skeleton fit transform', mod.template_skeleton_fit_transform_stride(), TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE],\n ['annotation camera framing', mod.annotation_camera_framing_stride(), ANNOTATION_CAMERA_FRAMING_STRIDE],\n ['camera flight sample', mod.camera_flight_sample_stride(), CAMERA_FLIGHT_SAMPLE_STRIDE],\n ['marker visibility factors', mod.marker_visibility_factors_stride(), MARKER_VISIBILITY_FACTORS_STRIDE],\n ['marker endpoint', mod.marker_endpoint_stride(), MARKER_ENDPOINT_STRIDE],\n ];\n\n for (const [name, actual, expected] of checks) {\n if (actual !== expected) {\n throw new Error(`Unsupported Embody Wasm ${name} stride ${actual}; expected ${expected}.`);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../assets/presets/cc4.json","../assets/templates/cc4-humanoid.json","../assets/authoring-defaults.json","../wasm/compatibility.ts","../wasm/index.ts","../wasm/auto.ts"],"names":[],"mappings":";AAAA,IAAA,WAAA,GAAA;AAAA,EAg3EE,UAAA,EAAc;AAAA,IACZ,IAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EA63IA,gBAAA,EAAoB;AAAA,IAClB,aAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,aAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,cAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,WAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,YAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,aAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,SAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,SAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,eAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA,KACvB;AAAA,IACA,WAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,SAAA,EAAa,SAAA;AAAA,MACb,QAAA,EAAY,SAAA;AAAA,MACZ,iBAAA,EAAqB;AAAA;AACvB;AAEJ,CAAA;;;ACj0NA,IAAA,oBAAA,GAAA;AAAA,EACE,EAAA,EAAM,cAAA;AAAA,EACN,iBAAA,EAAqB,KAAA;AAAA,EACrB,WAAA,EAAe,yBAAA;AAAA,EACf,cAAA,EAAkB,UAAA;AAAA,EAClB,KAAA,EAAS;AAAA,IACP;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,IAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,CAAA;AAAA,QACA,CAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,aAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,CAAA;AAAA,QACA,CAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,aAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,4BAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,mBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,oBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,gBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,uBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,uBAAA;AAAA,MACR,MAAA,EAAU,uBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,yBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,wBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,wBAAA;AAAA,MACR,MAAA,EAAU,wBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,mBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,yBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,qBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,oBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,gBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,4BAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,uBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,qBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,uBAAA;AAAA,MACR,MAAA,EAAU,uBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,wBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,sBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,wBAAA;AAAA,MACR,MAAA,EAAU,wBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAU,aAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,CAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,eAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,gBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAU,qBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,cAAA;AAAA,MACR,MAAA,EAAU,qBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,oBAAA;AAAA,MACR,MAAA,EAAU,cAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,qBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,oBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,oBAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,0BAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,sBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,0BAAA;AAAA,MACR,MAAA,EAAU,0BAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,0BAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,sBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,2BAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,qBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,2BAAA;AAAA,MACR,MAAA,EAAU,2BAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,iBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,qBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,qBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,oBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,oBAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,0BAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,qBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,0BAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,qBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,0BAAA;AAAA,MACR,MAAA,EAAU,0BAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,mBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,MAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,mBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,kBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAU,kBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,2BAAA;AAAA,MACR,MAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,oBAAA;AAAA,QACA,qBAAA;AAAA,QACA;AAAA;AACF,KACF;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,2BAAA;AAAA,MACR,MAAA,EAAU,2BAAA;AAAA,MACV,WAAA,EAAe;AAAA,QACb,sBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA;AACF;AACF;AAEJ,CAAA;;;ACp5BA,IAAA,0BAAA,GAAA;AAAA,EACE,oBAAA,EAAwB;AAAA,IACtB,KAAA,EAAS,IAAA;AAAA,IACT,GAAA,EAAO,IAAA;AAAA,IACP,IAAA,EAAQ;AAAA,GACV;AAAA,EACA,qBAAA,EAAyB,EAAA;AAAA,EACzB,mBAAA,EAAuB;AACzB,CAAA;;;ACLO,SAAS,iBAAA,GAA6B;AAC3C,EAAA,IAAI;AAAE,IAAA,4BAAA,EAA6B;AAAG,IAAA,OAAO,IAAA;AAAA,EAAM,CAAA,CAAA,MAAQ;AAAE,IAAA,OAAO,KAAA;AAAA,EAAO;AAC7E;AACO,IAAM,cAAA,GAAiB,MAAM,4BAAA,EAA6B,CAAE,gBAAA;AAC5D,IAAM,mBAAA,GAAsB,CAAC,OAAA,EAAsB,cAAA,EAA6B,MAAA,EAAsB,KAAA,KAAsB,4BAAA,EAA6B,CAAE,sBAAA,CAAuB,OAAA,EAAS,cAAA,EAAgB,MAAA,EAAQ,KAAK;AACxN,IAAM,oBAAA,GAAuB,CAAC,IAAA,EAAc,OAAA,KAAoB,8BAA6B,CAAE,sBAAA,CAAuB,MAAM,OAAO;AACnI,IAAM,eAAA,GAAkB,CAAC,MAAA,EAAsB,QAAA,EAAwB,UAAA,KAA6B,8BAA6B,CAAE,iBAAA,CAAkB,MAAA,EAAQ,QAAA,EAAU,UAAU;AACjL,IAAM,mBAAA,GAAsB,CAAC,IAAA,EAAc,OAAA,EAAiB,KAAA,EAAe,KAAA,KAAkB,4BAAA,EAA6B,CAAE,qBAAA,CAAsB,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,KAAK;AAC7K,IAAM,sBAAA,GAAyB,CAAC,QAAA,EAAwB,YAAA,KAAyB,8BAA6B,CAAE,wBAAA,CAAyB,UAAU,YAAY;AAC/J,IAAM,wBAAA,GAA2B,CAAC,YAAA,EAA4B,cAAA,EAA8B,YAAA,EAAsB,cAAA,KAA2B,4BAAA,EAA6B,CAAE,2BAAA,CAA4B,YAAA,EAAc,cAAA,EAAgB,YAAA,EAAc,cAAc;AAClQ,IAAM,4BAAA,GAA+B,CAAC,GAAA,EAAmB,eAAA,EAAyB,SAAiB,OAAA,EAAiB,OAAA,KAAoB,4BAAA,EAA6B,CAAE,+BAAA,CAAgC,GAAA,EAAK,eAAA,EAAiB,OAAA,EAAS,SAAS,OAAO;AACtP,IAAM,mCAAA,GAAsC,CAAC,QAAA,EAAkB,cAAA,EAA8B,WAAA,EAAqB,iBAAA,KAAoC,4BAAA,EAA6B,CAAE,uCAAA,CAAwC,QAAA,EAAU,cAAA,EAAgB,WAAA,EAAa,iBAAiB;AACrR,IAAM,8BAAA,GAAiC,MAAM,4BAAA,EAA6B,CAAE,kCAAA;AAC5E,SAAS,uBAAA,CAAwB,YAAA,GAAe,8BAAA,EAA+B,EAAG;AACvF,EAAA,OAAO,IAAA,CAAK,4BAAA,EAA6B,EAAE,iBAAA,CAAmB,YAAY,CAAA;AAC5E;AACO,SAAS,kBAAkB,eAAA,EAAyB;AACzD,EAAA,OAAO,IAAA,CAAK,4BAAA,EAA6B,EAAE,WAAA,CAAa,eAAe,CAAA;AACzE;;;ACRO,IAAM,uBAAA,GAA0B;AAChC,IAAM,+BAAA,GAAkC;AACxC,IAAM,8BAAA,GAAiC;AACvC,IAAM,kBAAA,GAAqB;AAC3B,IAAM,iBAAA,GAAoB;AAC1B,IAAM,sBAAA,GAAyB;AAC/B,IAAM,wBAAA,GAA2B;AACjC,IAAM,uBAAA,GAA0B;AAChC,IAAM,qCAAA,GAAwC;AAC9C,IAAM,sCAAA,GAAyC;AAC/C,IAAM,gCAAA,GAAmC;AACzC,IAAM,2BAAA,GAA8B;AACpC,IAAM,gCAAA,GAAmC;AACzC,IAAM,sBAAA,GAAyB;AAI/B,IAAM,0BAA0B,0BAAA,CAAkB;AAClD,IAAM,2BAA2B,0BAAA,CAAkB;AACnD,IAAM,wBAAwB,0BAAA,CAAkB;AAChD,IAAM,cAAc,WAAA,CAAU;AAC9B,IAAM,qBAAqB,WAAA,CAAU;AACrC,IAAM,gCAAgC,kBAAA,CAAmB;AACzD,IAAM,8BAAA,GAAiC;AACvC,IAAM,2BAAA,GAA8B,CAAC,8BAA8B;AAE1E,IAAI,OAAA,GAAsC,IAAA;AAC1C,IAAI,MAAA,GAA4B,IAAA;AAEhC,eAAsB,cAAA,GAAsC;AAC1D,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAA,GAAU,IAAA,EAAK,CAAE,KAAA,CAAM,CAAC,KAAA,KAAU;AAChC,MAAA,OAAA,GAAU,IAAA;AACV,MAAA,MAAA,GAAS,IAAA;AACT,MAAA,MAAM,KAAA;AAAA,IACR,CAAC,CAAA;AAAA,EACH;AACA,EAAA,OAAO,OAAA;AACT;AAEO,IAAM,aAAA,GAAgB;AAGtB,SAAS,4BAAA,GAA2C;AACzD,EAAA,IAAI,CAAC,MAAA,EAAQ,MAAM,IAAI,MAAM,oEAAoE,CAAA;AACjG,EAAA,OAAO,MAAA;AACT;AAEO,SAAS,uBAAA,GAA0B;AACxC,EAAA,OAAA,GAAU,IAAA;AACV,EAAA,MAAA,GAAS,IAAA;AACX;AAEA,eAAe,IAAA,GAA4B;AAGzC,EAAA,MAAM,eAAe,CAAC,IAAA,KAAiB,IAAI,GAAA,CAAI,IAAA,EAAM,YAAY,GAAG,CAAA;AACpE,EAAA,MAAM,SAAA,GAAY,YAAA,CAAa,uBAAuB,CAAA,CAAE,IAAA;AACxD,EAAA,MAAM,SAAA,GAAY,aAAa,4BAA4B,CAAA;AAC3D,EAAA,MAAM,OAAO,MAAM;AAAA;AAAA,IAA0B;AAAA,GAAA;AAC7C,EAAA,IAAI,OAAO,IAAA,CAAK,OAAA,KAAY,UAAA,EAAY;AACtC,IAAA,IAAI,KAAA,GAAmB,SAAA;AACvB,IAAA,IAAK,WAAmB,OAAA,EAAS,QAAA,EAAU,IAAA,IAAQ,SAAA,CAAU,aAAa,OAAA,EAAS;AACjF,MAAA,MAAM,WAAA,GAAc,kBAAA;AACpB,MAAA,MAAM,YAAA,GAAe,UAAA;AACrB,MAAA,MAAM,CAAC,EAAE,QAAA,EAAS,EAAG,EAAE,eAAe,CAAA,GAAI,MAAM,OAAA,CAAQ,GAAA,CAAI;AAAA,QAC1D;AAAA;AAAA,UAA0B;AAAA,SAAA;AAAA,QAC1B;AAAA;AAAA,UAA0B;AAAA;AAAA,OAC3B,CAAA;AACD,MAAA,KAAA,GAAQ,MAAM,QAAA,CAAS,aAAA,CAAc,SAAS,CAAC,CAAA;AAAA,IACjD;AACA,IAAA,MAAM,IAAA,CAAK,OAAA,CAAQ,EAAE,cAAA,EAAgB,OAAO,CAAA;AAAA,EAC9C;AACA,EAAA,IAAI,IAAA,CAAK,gBAAA,EAAiB,KAAM,uBAAA,EAAyB;AACvD,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oCAAA,EAAuC,IAAA,CAAK,gBAAA,EAAkB,CAAA,CAAA,CAAG,CAAA;AAAA,EACnF;AACA,EAAA,MAAA,GAAS,IAAA;AACT,EAAA,OAAO,IAAA;AACT;;;ACvFA,MAAM,cAAA,EAAe","file":"wasm.js","sourcesContent":["{\n \"name\": \"Character Creator 4\",\n \"animalType\": \"human\",\n \"auToMorphs\": {\n \"1\": {\n \"left\": [\n \"Brow_Raise_Inner_L\"\n ],\n \"right\": [\n \"Brow_Raise_Inner_R\"\n ],\n \"center\": []\n },\n \"2\": {\n \"left\": [\n \"Brow_Raise_Outer_L\"\n ],\n \"right\": [\n \"Brow_Raise_Outer_R\"\n ],\n \"center\": []\n },\n \"4\": {\n \"left\": [\n \"Brow_Drop_L\"\n ],\n \"right\": [\n \"Brow_Drop_R\"\n ],\n \"center\": []\n },\n \"5\": {\n \"left\": [\n \"Eye_Wide_L\"\n ],\n \"right\": [\n \"Eye_Wide_R\"\n ],\n \"center\": []\n },\n \"6\": {\n \"left\": [\n \"Cheek_Raise_L\"\n ],\n \"right\": [\n \"Cheek_Raise_R\"\n ],\n \"center\": []\n },\n \"7\": {\n \"left\": [\n \"Eye_Squint_L\"\n ],\n \"right\": [\n \"Eye_Squint_R\"\n ],\n \"center\": []\n },\n \"8\": {\n \"left\": [\n \"Mouth_Press_L\"\n ],\n \"right\": [\n \"Mouth_Press_R\"\n ],\n \"center\": [\n \"Mouth_Close\"\n ]\n },\n \"9\": {\n \"left\": [\n \"Nose_Sneer_L\"\n ],\n \"right\": [\n \"Nose_Sneer_R\"\n ],\n \"center\": []\n },\n \"10\": {\n \"left\": [\n \"Mouth_Up_Upper_L\"\n ],\n \"right\": [\n \"Mouth_Up_Upper_R\"\n ],\n \"center\": []\n },\n \"11\": {\n \"left\": [\n \"Mouth_Up_Upper_L\"\n ],\n \"right\": [\n \"Mouth_Up_Upper_R\"\n ],\n \"center\": []\n },\n \"12\": {\n \"left\": [\n \"Mouth_Smile_L\"\n ],\n \"right\": [\n \"Mouth_Smile_R\"\n ],\n \"center\": []\n },\n \"13\": {\n \"left\": [\n \"Mouth_Smile_L\",\n \"Mouth_Up_Upper_L\"\n ],\n \"right\": [\n \"Mouth_Smile_R\",\n \"Mouth_Up_Upper_R\"\n ],\n \"center\": []\n },\n \"14\": {\n \"left\": [\n \"Mouth_Dimple_L\"\n ],\n \"right\": [\n \"Mouth_Dimple_R\"\n ],\n \"center\": []\n },\n \"15\": {\n \"left\": [\n \"Mouth_Frown_L\"\n ],\n \"right\": [\n \"Mouth_Frown_R\"\n ],\n \"center\": []\n },\n \"16\": {\n \"left\": [\n \"Mouth_Down_Lower_L\"\n ],\n \"right\": [\n \"Mouth_Down_Lower_R\"\n ],\n \"center\": []\n },\n \"17\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Mouth_Shrug_Lower\"\n ]\n },\n \"18\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Mouth_Pucker\"\n ]\n },\n \"19\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Tongue_Out\"\n ]\n },\n \"20\": {\n \"left\": [\n \"Mouth_Stretch_L\"\n ],\n \"right\": [\n \"Mouth_Stretch_R\"\n ],\n \"center\": []\n },\n \"22\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Mouth_Funnel\"\n ]\n },\n \"23\": {\n \"left\": [\n \"Mouth_Press_L\"\n ],\n \"right\": [\n \"Mouth_Press_R\"\n ],\n \"center\": []\n },\n \"24\": {\n \"left\": [\n \"Mouth_Press_L\"\n ],\n \"right\": [\n \"Mouth_Press_R\"\n ],\n \"center\": []\n },\n \"25\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Jaw_Open\"\n ]\n },\n \"26\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Jaw_Open\"\n ]\n },\n \"27\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Jaw_Open\"\n ]\n },\n \"28\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Mouth_Roll_In_Upper\",\n \"Mouth_Roll_In_Lower\"\n ]\n },\n \"29\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Jaw_Forward\"\n ]\n },\n \"30\": {\n \"left\": [\n \"Jaw_L\"\n ],\n \"right\": [],\n \"center\": []\n },\n \"31\": {\n \"left\": [],\n \"right\": [],\n \"center\": []\n },\n \"32\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Mouth_Roll_In_Lower\"\n ]\n },\n \"34\": {\n \"left\": [\n \"Cheek_Puff_L\"\n ],\n \"right\": [\n \"Cheek_Puff_R\"\n ],\n \"center\": []\n },\n \"35\": {\n \"left\": [],\n \"right\": [\n \"Jaw_R\"\n ],\n \"center\": []\n },\n \"36\": {\n \"left\": [\n \"Tongue_Bulge_L\"\n ],\n \"right\": [\n \"Tongue_Bulge_R\"\n ],\n \"center\": []\n },\n \"37\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Tongue_Up\"\n ]\n },\n \"38\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Tongue_Down\"\n ]\n },\n \"39\": {\n \"left\": [\n \"Tongue_L\"\n ],\n \"right\": [],\n \"center\": []\n },\n \"40\": {\n \"left\": [],\n \"right\": [\n \"Tongue_R\"\n ],\n \"center\": []\n },\n \"41\": {\n \"left\": [],\n \"right\": [],\n \"center\": []\n },\n \"42\": {\n \"left\": [],\n \"right\": [],\n \"center\": []\n },\n \"43\": {\n \"left\": [\n \"Eye_Blink_L\"\n ],\n \"right\": [\n \"Eye_Blink_R\"\n ],\n \"center\": []\n },\n \"45\": {\n \"left\": [\n \"Eye_Blink_L\"\n ],\n \"right\": [\n \"Eye_Blink_R\"\n ],\n \"center\": []\n },\n \"51\": {\n \"left\": [\n \"Head_Turn_L\"\n ],\n \"right\": [],\n \"center\": []\n },\n \"52\": {\n \"left\": [],\n \"right\": [\n \"Head_Turn_R\"\n ],\n \"center\": []\n },\n \"53\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Head_Turn_Up\"\n ]\n },\n \"54\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Head_Turn_Down\"\n ]\n },\n \"55\": {\n \"left\": [\n \"Head_Tilt_L\"\n ],\n \"right\": [],\n \"center\": []\n },\n \"56\": {\n \"left\": [],\n \"right\": [\n \"Head_Tilt_R\"\n ],\n \"center\": []\n },\n \"61\": {\n \"left\": [\n \"Eye_L_Look_L\"\n ],\n \"right\": [\n \"Eye_R_Look_L\"\n ],\n \"center\": []\n },\n \"62\": {\n \"left\": [\n \"Eye_L_Look_R\"\n ],\n \"right\": [\n \"Eye_R_Look_R\"\n ],\n \"center\": []\n },\n \"63\": {\n \"left\": [\n \"Eye_L_Look_Up\"\n ],\n \"right\": [\n \"Eye_R_Look_Up\"\n ],\n \"center\": []\n },\n \"64\": {\n \"left\": [\n \"Eye_L_Look_Down\"\n ],\n \"right\": [\n \"Eye_R_Look_Down\"\n ],\n \"center\": []\n },\n \"65\": {\n \"left\": [\n \"Eye_L_Look_L\"\n ],\n \"right\": [],\n \"center\": []\n },\n \"66\": {\n \"left\": [],\n \"right\": [\n \"Eye_L_Look_R\"\n ],\n \"center\": []\n },\n \"67\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Eye_L_Look_Up\"\n ]\n },\n \"68\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Eye_L_Look_Down\"\n ]\n },\n \"69\": {\n \"left\": [\n \"Eye_R_Look_L\"\n ],\n \"right\": [],\n \"center\": []\n },\n \"70\": {\n \"left\": [],\n \"right\": [\n \"Eye_R_Look_R\"\n ],\n \"center\": []\n },\n \"71\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Eye_R_Look_Up\"\n ]\n },\n \"72\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Eye_R_Look_Down\"\n ]\n },\n \"73\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Tongue_Narrow\"\n ]\n },\n \"74\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Tongue_Wide\"\n ]\n },\n \"75\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Tongue_Roll\"\n ]\n },\n \"76\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Tongue_Tip_Up\"\n ]\n },\n \"77\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Tongue_Tip_Down\"\n ]\n },\n \"80\": {\n \"left\": [\n \"EO Bulge L\"\n ],\n \"right\": [\n \"EO Bulge R\"\n ],\n \"center\": []\n },\n \"81\": {\n \"left\": [\n \"EO Depth L\"\n ],\n \"right\": [\n \"EO Depth R\"\n ],\n \"center\": []\n },\n \"82\": {\n \"left\": [\n \"EO Inner Depth L\"\n ],\n \"right\": [\n \"EO Inner Depth R\"\n ],\n \"center\": []\n },\n \"83\": {\n \"left\": [\n \"EO Inner Height L\"\n ],\n \"right\": [\n \"EO Inner Height R\"\n ],\n \"center\": []\n },\n \"84\": {\n \"left\": [\n \"EO Inner Width L\"\n ],\n \"right\": [\n \"EO Inner Width R\"\n ],\n \"center\": []\n },\n \"85\": {\n \"left\": [\n \"EO Outer Depth L\"\n ],\n \"right\": [\n \"EO Outer Depth R\"\n ],\n \"center\": []\n },\n \"86\": {\n \"left\": [\n \"EO Outer Height L\"\n ],\n \"right\": [\n \"EO Outer Height R\"\n ],\n \"center\": []\n },\n \"87\": {\n \"left\": [\n \"EO Outer Width L\"\n ],\n \"right\": [\n \"EO Outer Width R\"\n ],\n \"center\": []\n },\n \"88\": {\n \"left\": [\n \"EO Upper Depth L\"\n ],\n \"right\": [\n \"EO Upper Depth R\"\n ],\n \"center\": []\n },\n \"89\": {\n \"left\": [\n \"EO Lower Depth L\"\n ],\n \"right\": [\n \"EO Lower Depth R\"\n ],\n \"center\": []\n },\n \"90\": {\n \"left\": [\n \"EO Center Upper Depth L\"\n ],\n \"right\": [\n \"EO Center Upper Depth R\"\n ],\n \"center\": []\n },\n \"91\": {\n \"left\": [\n \"EO Center Upper Height L\"\n ],\n \"right\": [\n \"EO Center Upper Height R\"\n ],\n \"center\": []\n },\n \"92\": {\n \"left\": [\n \"EO Center Lower Depth L\"\n ],\n \"right\": [\n \"EO Center Lower Depth R\"\n ],\n \"center\": []\n },\n \"93\": {\n \"left\": [\n \"EO Center Lower Height L\"\n ],\n \"right\": [\n \"EO Center Lower Height R\"\n ],\n \"center\": []\n },\n \"94\": {\n \"left\": [\n \"EO Inner Upper Depth L\"\n ],\n \"right\": [\n \"EO Inner Upper Depth R\"\n ],\n \"center\": []\n },\n \"95\": {\n \"left\": [\n \"EO Inner Upper Height L\"\n ],\n \"right\": [\n \"EO Inner Upper Height R\"\n ],\n \"center\": []\n },\n \"96\": {\n \"left\": [\n \"EO Inner Lower Depth L\"\n ],\n \"right\": [\n \"EO Inner Lower Depth R\"\n ],\n \"center\": []\n },\n \"97\": {\n \"left\": [\n \"EO Inner Lower Height L\"\n ],\n \"right\": [\n \"EO Inner Lower Height R\"\n ],\n \"center\": []\n },\n \"98\": {\n \"left\": [\n \"EO Outer Upper Depth L\"\n ],\n \"right\": [\n \"EO Outer Upper Depth R\"\n ],\n \"center\": []\n },\n \"99\": {\n \"left\": [\n \"EO Outer Upper Height L\"\n ],\n \"right\": [\n \"EO Outer Upper Height R\"\n ],\n \"center\": []\n },\n \"100\": {\n \"left\": [\n \"EO Outer Lower Depth L\"\n ],\n \"right\": [\n \"EO Outer Lower Depth R\"\n ],\n \"center\": []\n },\n \"101\": {\n \"left\": [\n \"EO Outer Lower Height L\"\n ],\n \"right\": [\n \"EO Outer Lower Height R\"\n ],\n \"center\": []\n },\n \"102\": {\n \"left\": [\n \"EO Duct Depth L\"\n ],\n \"right\": [\n \"EO Duct Depth R\"\n ],\n \"center\": []\n },\n \"1001\": {\n \"left\": [\n \"LL_Body_Bicep_Flex_L\"\n ],\n \"right\": [\n \"LL_Body_Bicep_Flex_R\"\n ],\n \"center\": []\n },\n \"1002\": {\n \"left\": [],\n \"right\": [],\n \"center\": []\n },\n \"1003\": {\n \"left\": [],\n \"right\": [],\n \"center\": []\n },\n \"1004\": {\n \"left\": [],\n \"right\": [],\n \"center\": []\n },\n \"1032\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Head_Turn_Up\"\n ]\n },\n \"1033\": {\n \"left\": [],\n \"right\": [],\n \"center\": [\n \"Head_Turn_Down\"\n ]\n },\n \"1034\": {\n \"left\": [],\n \"right\": [\n \"Head_Turn_R\"\n ],\n \"center\": []\n },\n \"1035\": {\n \"left\": [\n \"Head_Turn_L\"\n ],\n \"right\": [],\n \"center\": []\n },\n \"1036\": {\n \"left\": [\n \"Head_Tilt_L\"\n ],\n \"right\": [],\n \"center\": []\n },\n \"1037\": {\n \"left\": [],\n \"right\": [\n \"Head_Tilt_R\"\n ],\n \"center\": []\n }\n },\n \"auToBones\": {\n \"25\": [\n {\n \"node\": \"CC_Base_JawRoot\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"26\": [\n {\n \"node\": \"CC_Base_JawRoot\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 30\n }\n ],\n \"27\": [\n {\n \"node\": \"CC_Base_JawRoot\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 35\n }\n ],\n \"30\": [\n {\n \"node\": \"CC_Base_JawRoot\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"35\": [\n {\n \"node\": \"CC_Base_JawRoot\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"37\": [\n {\n \"node\": \"CC_Base_Tongue01\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"38\": [\n {\n \"node\": \"CC_Base_Tongue01\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 20\n }\n ],\n \"39\": [\n {\n \"node\": \"CC_Base_Tongue01\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 20\n }\n ],\n \"40\": [\n {\n \"node\": \"CC_Base_Tongue01\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"41\": [\n {\n \"node\": \"CC_Base_Tongue01\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 20\n }\n ],\n \"42\": [\n {\n \"node\": \"CC_Base_Tongue01\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"51\": [\n {\n \"node\": \"CC_Base_Head\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 60\n }\n ],\n \"52\": [\n {\n \"node\": \"CC_Base_Head\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 60\n }\n ],\n \"53\": [\n {\n \"node\": \"CC_Base_Head\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 30\n }\n ],\n \"54\": [\n {\n \"node\": \"CC_Base_Head\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 30\n }\n ],\n \"55\": [\n {\n \"node\": \"CC_Base_Head\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 25\n }\n ],\n \"56\": [\n {\n \"node\": \"CC_Base_Head\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 25\n }\n ],\n \"61\": [\n {\n \"node\": \"CC_Base_L_Eye\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 25,\n \"side\": \"left\"\n },\n {\n \"node\": \"CC_Base_R_Eye\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 25,\n \"side\": \"right\"\n }\n ],\n \"62\": [\n {\n \"node\": \"CC_Base_L_Eye\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 25,\n \"side\": \"left\"\n },\n {\n \"node\": \"CC_Base_R_Eye\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 25,\n \"side\": \"right\"\n }\n ],\n \"63\": [\n {\n \"node\": \"CC_Base_L_Eye\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n },\n {\n \"node\": \"CC_Base_R_Eye\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"64\": [\n {\n \"node\": \"CC_Base_L_Eye\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n },\n {\n \"node\": \"CC_Base_R_Eye\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"65\": [\n {\n \"node\": \"CC_Base_L_Eye\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 25,\n \"side\": \"left\"\n }\n ],\n \"66\": [\n {\n \"node\": \"CC_Base_L_Eye\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 25,\n \"side\": \"left\"\n }\n ],\n \"67\": [\n {\n \"node\": \"CC_Base_L_Eye\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n }\n ],\n \"68\": [\n {\n \"node\": \"CC_Base_L_Eye\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n }\n ],\n \"69\": [\n {\n \"node\": \"CC_Base_R_Eye\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 25,\n \"side\": \"right\"\n }\n ],\n \"70\": [\n {\n \"node\": \"CC_Base_R_Eye\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 25,\n \"side\": \"right\"\n }\n ],\n \"71\": [\n {\n \"node\": \"CC_Base_R_Eye\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"72\": [\n {\n \"node\": \"CC_Base_R_Eye\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"103\": [\n {\n \"node\": \"CC_Base_JawRoot\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 30\n }\n ],\n \"1001\": [\n {\n \"node\": \"leftLowerArm\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 120,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLowerArm\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 120,\n \"side\": \"right\"\n }\n ],\n \"1002\": [\n {\n \"node\": \"leftLowerLeg\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 100,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLowerLeg\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 100,\n \"side\": \"right\"\n }\n ],\n \"1003\": [\n {\n \"node\": \"SPINE_01\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 30\n }\n ],\n \"1004\": [\n {\n \"node\": \"SPINE_01\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 30\n }\n ],\n \"1011\": [\n {\n \"node\": \"hips\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1010\": [\n {\n \"node\": \"hips\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1013\": [\n {\n \"node\": \"hips\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"1012\": [\n {\n \"node\": \"hips\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 20\n }\n ],\n \"1015\": [\n {\n \"node\": \"hips\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1014\": [\n {\n \"node\": \"hips\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1017\": [\n {\n \"node\": \"spine\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1016\": [\n {\n \"node\": \"spine\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1019\": [\n {\n \"node\": \"spine\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"1018\": [\n {\n \"node\": \"spine\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 20\n }\n ],\n \"1021\": [\n {\n \"node\": \"spine\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1020\": [\n {\n \"node\": \"spine\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1023\": [\n {\n \"node\": \"chest\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1022\": [\n {\n \"node\": \"chest\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1025\": [\n {\n \"node\": \"chest\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1024\": [\n {\n \"node\": \"chest\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1027\": [\n {\n \"node\": \"upperChest\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1026\": [\n {\n \"node\": \"upperChest\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1029\": [\n {\n \"node\": \"upperChest\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"1028\": [\n {\n \"node\": \"upperChest\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 20\n }\n ],\n \"1031\": [\n {\n \"node\": \"upperChest\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1030\": [\n {\n \"node\": \"upperChest\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1033\": [\n {\n \"node\": \"neck\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"1032\": [\n {\n \"node\": \"neck\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 20\n }\n ],\n \"1035\": [\n {\n \"node\": \"neck\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 20\n }\n ],\n \"1034\": [\n {\n \"node\": \"neck\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 20\n }\n ],\n \"1037\": [\n {\n \"node\": \"neck\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15\n }\n ],\n \"1036\": [\n {\n \"node\": \"neck\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15\n }\n ],\n \"1039\": [\n {\n \"node\": \"leftShoulder\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightShoulder\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"1038\": [\n {\n \"node\": \"leftShoulder\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightShoulder\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"1041\": [\n {\n \"node\": \"leftShoulder\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightShoulder\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"1040\": [\n {\n \"node\": \"leftShoulder\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightShoulder\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"1043\": [\n {\n \"node\": \"leftUpperArm\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperArm\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1042\": [\n {\n \"node\": \"leftUpperArm\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperArm\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1045\": [\n {\n \"node\": \"leftUpperArm\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperArm\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1044\": [\n {\n \"node\": \"leftUpperArm\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperArm\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1047\": [\n {\n \"node\": \"leftUpperArm\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 45,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperArm\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 45,\n \"side\": \"right\"\n }\n ],\n \"1046\": [\n {\n \"node\": \"leftUpperArm\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 45,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperArm\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 45,\n \"side\": \"right\"\n }\n ],\n \"1049\": [\n {\n \"node\": \"leftLowerArm\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLowerArm\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1048\": [\n {\n \"node\": \"leftLowerArm\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLowerArm\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1051\": [\n {\n \"node\": \"leftHand\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 45,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightHand\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 45,\n \"side\": \"right\"\n }\n ],\n \"1050\": [\n {\n \"node\": \"leftHand\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 45,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightHand\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 45,\n \"side\": \"right\"\n }\n ],\n \"1053\": [\n {\n \"node\": \"leftHand\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightHand\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"1052\": [\n {\n \"node\": \"leftHand\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 20,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightHand\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 20,\n \"side\": \"right\"\n }\n ],\n \"1055\": [\n {\n \"node\": \"leftUpperLeg\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperLeg\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1054\": [\n {\n \"node\": \"leftUpperLeg\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperLeg\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1057\": [\n {\n \"node\": \"leftUpperLeg\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 30,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperLeg\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 30,\n \"side\": \"right\"\n }\n ],\n \"1056\": [\n {\n \"node\": \"leftUpperLeg\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 30,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperLeg\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 30,\n \"side\": \"right\"\n }\n ],\n \"1059\": [\n {\n \"node\": \"leftUpperLeg\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 30,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperLeg\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 30,\n \"side\": \"right\"\n }\n ],\n \"1058\": [\n {\n \"node\": \"leftUpperLeg\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 30,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightUpperLeg\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 30,\n \"side\": \"right\"\n }\n ],\n \"1061\": [\n {\n \"node\": \"leftFoot\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 30,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightFoot\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 30,\n \"side\": \"right\"\n }\n ],\n \"1060\": [\n {\n \"node\": \"leftFoot\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 30,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightFoot\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 30,\n \"side\": \"right\"\n }\n ],\n \"1063\": [\n {\n \"node\": \"leftFoot\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightFoot\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1062\": [\n {\n \"node\": \"leftFoot\",\n \"channel\": \"ry\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightFoot\",\n \"channel\": \"ry\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1065\": [\n {\n \"node\": \"leftToes\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 30,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightToes\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 30,\n \"side\": \"right\"\n }\n ],\n \"1064\": [\n {\n \"node\": \"leftToes\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 30,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightToes\",\n \"channel\": \"rx\",\n \"scale\": -1,\n \"maxDegrees\": 30,\n \"side\": \"right\"\n }\n ],\n \"1066\": [\n {\n \"node\": \"leftThumbMetacarpal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 35,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightThumbMetacarpal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 35,\n \"side\": \"right\"\n }\n ],\n \"1067\": [\n {\n \"node\": \"leftThumbProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 35,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightThumbProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 35,\n \"side\": \"right\"\n }\n ],\n \"1068\": [\n {\n \"node\": \"leftThumbDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 35,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightThumbDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 35,\n \"side\": \"right\"\n }\n ],\n \"1070\": [\n {\n \"node\": \"leftThumbMetacarpal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightThumbMetacarpal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1069\": [\n {\n \"node\": \"leftThumbMetacarpal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightThumbMetacarpal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1071\": [\n {\n \"node\": \"leftIndexProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightIndexProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1072\": [\n {\n \"node\": \"leftIndexIntermediate\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightIndexIntermediate\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1073\": [\n {\n \"node\": \"leftIndexDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightIndexDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1075\": [\n {\n \"node\": \"leftIndexProximal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightIndexProximal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1074\": [\n {\n \"node\": \"leftIndexProximal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightIndexProximal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1076\": [\n {\n \"node\": \"leftMiddleProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightMiddleProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1077\": [\n {\n \"node\": \"leftMiddleIntermediate\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightMiddleIntermediate\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1078\": [\n {\n \"node\": \"leftMiddleDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightMiddleDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1080\": [\n {\n \"node\": \"leftMiddleProximal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightMiddleProximal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1079\": [\n {\n \"node\": \"leftMiddleProximal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightMiddleProximal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1081\": [\n {\n \"node\": \"leftRingProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightRingProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1082\": [\n {\n \"node\": \"leftRingIntermediate\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightRingIntermediate\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1083\": [\n {\n \"node\": \"leftRingDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightRingDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1085\": [\n {\n \"node\": \"leftRingProximal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightRingProximal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1084\": [\n {\n \"node\": \"leftRingProximal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightRingProximal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1086\": [\n {\n \"node\": \"leftLittleProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLittleProximal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1087\": [\n {\n \"node\": \"leftLittleIntermediate\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLittleIntermediate\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1088\": [\n {\n \"node\": \"leftLittleDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLittleDistal\",\n \"channel\": \"rx\",\n \"scale\": 1,\n \"maxDegrees\": 60,\n \"side\": \"right\"\n }\n ],\n \"1090\": [\n {\n \"node\": \"leftLittleProximal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLittleProximal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ],\n \"1089\": [\n {\n \"node\": \"leftLittleProximal\",\n \"channel\": \"rz\",\n \"scale\": -1,\n \"maxDegrees\": 15,\n \"side\": \"left\"\n },\n {\n \"node\": \"rightLittleProximal\",\n \"channel\": \"rz\",\n \"scale\": 1,\n \"maxDegrees\": 15,\n \"side\": \"right\"\n }\n ]\n },\n \"boneNodes\": {\n \"EYE_L\": \"L_Eye\",\n \"EYE_R\": \"R_Eye\",\n \"HEAD\": \"Head\",\n \"NECK\": \"NeckTwist01\",\n \"NECK_TWIST\": \"NeckTwist02\",\n \"JAW\": \"JawRoot\",\n \"TONGUE\": \"Tongue01\",\n \"SPINE_01\": \"Spine01\",\n \"SPINE_02\": \"Spine02\",\n \"CLAVICLE_L\": \"L_Clavicle\",\n \"CLAVICLE_R\": \"R_Clavicle\",\n \"HAND_L\": \"L_Hand\",\n \"HAND_R\": \"R_Hand\",\n \"FOOT_L\": \"L_Foot\",\n \"FOOT_R\": \"R_Foot\",\n \"TOEBASE_L\": \"L_ToeBase\",\n \"TOEBASE_R\": \"R_ToeBase\",\n \"CC_Base_L_Eye\": \"CC_Base_L_Eye\",\n \"CC_Base_R_Eye\": \"CC_Base_R_Eye\",\n \"CC_Base_Head\": \"CC_Base_Head\",\n \"CC_Base_NeckTwist01\": \"CC_Base_NeckTwist01\",\n \"CC_Base_NeckTwist02\": \"CC_Base_NeckTwist02\",\n \"CC_Base_JawRoot\": \"CC_Base_JawRoot\",\n \"CC_Base_Tongue01\": \"CC_Base_Tongue01\",\n \"CC_Base_Spine01\": \"CC_Base_Spine01\",\n \"CC_Base_Spine02\": \"CC_Base_Spine02\",\n \"CC_Base_L_Clavicle\": \"CC_Base_L_Clavicle\",\n \"CC_Base_R_Clavicle\": \"CC_Base_R_Clavicle\",\n \"CC_Base_L_Hand\": \"CC_Base_L_Hand\",\n \"CC_Base_R_Hand\": \"CC_Base_R_Hand\",\n \"CC_Base_L_Foot\": \"CC_Base_L_Foot\",\n \"CC_Base_R_Foot\": \"CC_Base_R_Foot\",\n \"CC_Base_L_ToeBase\": \"CC_Base_L_ToeBase\",\n \"CC_Base_R_ToeBase\": \"CC_Base_R_ToeBase\",\n \"HIPS\": \"Hip\",\n \"UPPER_ARM_L\": \"L_Upperarm\",\n \"UPPER_ARM_R\": \"R_Upperarm\",\n \"LOWER_ARM_L\": \"L_Forearm\",\n \"LOWER_ARM_R\": \"R_Forearm\",\n \"UPPER_LEG_L\": \"L_Thigh\",\n \"UPPER_LEG_R\": \"R_Thigh\",\n \"LOWER_LEG_L\": \"L_Calf\",\n \"LOWER_LEG_R\": \"R_Calf\",\n \"WAIST\": \"Waist\",\n \"THUMB_METACARPAL_L\": \"L_Thumb1\",\n \"THUMB_PROXIMAL_L\": \"L_Thumb2\",\n \"THUMB_DISTAL_L\": \"L_Thumb3\",\n \"INDEX_PROXIMAL_L\": \"L_Index1\",\n \"INDEX_INTERMEDIATE_L\": \"L_Index2\",\n \"INDEX_DISTAL_L\": \"L_Index3\",\n \"MIDDLE_PROXIMAL_L\": \"L_Mid1\",\n \"MIDDLE_INTERMEDIATE_L\": \"L_Mid2\",\n \"MIDDLE_DISTAL_L\": \"L_Mid3\",\n \"RING_PROXIMAL_L\": \"L_Ring1\",\n \"RING_INTERMEDIATE_L\": \"L_Ring2\",\n \"RING_DISTAL_L\": \"L_Ring3\",\n \"LITTLE_PROXIMAL_L\": \"L_Pinky1\",\n \"LITTLE_INTERMEDIATE_L\": \"L_Pinky2\",\n \"LITTLE_DISTAL_L\": \"L_Pinky3\",\n \"THUMB_METACARPAL_R\": \"R_Thumb1\",\n \"THUMB_PROXIMAL_R\": \"R_Thumb2\",\n \"THUMB_DISTAL_R\": \"R_Thumb3\",\n \"INDEX_PROXIMAL_R\": \"R_Index1\",\n \"INDEX_INTERMEDIATE_R\": \"R_Index2\",\n \"INDEX_DISTAL_R\": \"R_Index3\",\n \"MIDDLE_PROXIMAL_R\": \"R_Mid1\",\n \"MIDDLE_INTERMEDIATE_R\": \"R_Mid2\",\n \"MIDDLE_DISTAL_R\": \"R_Mid3\",\n \"RING_PROXIMAL_R\": \"R_Ring1\",\n \"RING_INTERMEDIATE_R\": \"R_Ring2\",\n \"RING_DISTAL_R\": \"R_Ring3\",\n \"LITTLE_PROXIMAL_R\": \"R_Pinky1\",\n \"LITTLE_INTERMEDIATE_R\": \"R_Pinky2\",\n \"LITTLE_DISTAL_R\": \"R_Pinky3\"\n },\n \"bonePrefix\": \"CC_Base_\",\n \"suffixPattern\": \"_\\\\d+$|\\\\.\\\\d+$\",\n \"morphToMesh\": {\n \"face\": [\n \"CC_Base_Body\"\n ],\n \"viseme\": [\n \"CC_Base_Body\",\n \"CC_Base_Body_1\"\n ],\n \"eye\": [\n \"CC_Base_EyeOcclusion\",\n \"CC_Base_EyeOcclusion_1\",\n \"CC_Base_EyeOcclusion_2\"\n ],\n \"tongue\": [\n \"CC_Base_Tongue\",\n \"CC_Base_Tongue_1\"\n ],\n \"hair\": [\n \"Side_part_wavy\",\n \"Side_part_wavy_1\",\n \"Side_part_wavy_2\"\n ],\n \"body\": [\n \"CC_Base_Body\"\n ]\n },\n \"auFacePartToMeshCategory\": {\n \"Eye\": \"eye\",\n \"Eyes\": \"eye\",\n \"Eyelids\": \"eye\",\n \"Tongue\": \"tongue\",\n \"Body\": \"body\"\n },\n \"mappingSections\": [\n {\n \"id\": \"Forehead\",\n \"label\": \"Forehead\",\n \"kind\": \"au\",\n \"order\": 0,\n \"meshCategory\": \"face\",\n \"facePart\": \"Forehead\"\n },\n {\n \"id\": \"Eyelids\",\n \"label\": \"Eyelids\",\n \"kind\": \"au\",\n \"order\": 1,\n \"meshCategory\": \"eye\",\n \"facePart\": \"Eyelids\"\n },\n {\n \"id\": \"Eyes\",\n \"label\": \"Eyes\",\n \"kind\": \"au\",\n \"order\": 2,\n \"meshCategory\": \"eye\",\n \"facePart\": \"Eyes\"\n },\n {\n \"id\": \"Cheeks\",\n \"label\": \"Cheeks\",\n \"kind\": \"au\",\n \"order\": 3,\n \"meshCategory\": \"face\",\n \"facePart\": \"Cheeks\"\n },\n {\n \"id\": \"Nose\",\n \"label\": \"Nose\",\n \"kind\": \"au\",\n \"order\": 4,\n \"meshCategory\": \"face\",\n \"facePart\": \"Nose\"\n },\n {\n \"id\": \"Mouth\",\n \"label\": \"Mouth\",\n \"kind\": \"au\",\n \"order\": 5,\n \"meshCategory\": \"face\",\n \"facePart\": \"Mouth\"\n },\n {\n \"id\": \"Chin\",\n \"label\": \"Chin\",\n \"kind\": \"au\",\n \"order\": 6,\n \"meshCategory\": \"face\",\n \"facePart\": \"Chin\"\n },\n {\n \"id\": \"Jaw\",\n \"label\": \"Jaw\",\n \"kind\": \"au\",\n \"order\": 7,\n \"meshCategory\": \"face\",\n \"facePart\": \"Jaw\"\n },\n {\n \"id\": \"Tongue\",\n \"label\": \"Tongue\",\n \"kind\": \"au\",\n \"order\": 8,\n \"meshCategory\": \"tongue\",\n \"facePart\": \"Tongue\"\n },\n {\n \"id\": \"Head\",\n \"label\": \"Head\",\n \"kind\": \"au\",\n \"order\": 9,\n \"meshCategory\": \"face\",\n \"facePart\": \"Head\"\n },\n {\n \"id\": \"Joint Controls\",\n \"label\": \"Joint Controls\",\n \"kind\": \"au\",\n \"order\": 10,\n \"meshCategory\": \"face\",\n \"facePart\": \"Joint Controls\"\n },\n {\n \"id\": \"Eye\",\n \"label\": \"Eye\",\n \"kind\": \"au\",\n \"order\": 11,\n \"meshCategory\": \"eye\",\n \"facePart\": \"Eye\"\n },\n {\n \"id\": \"Hair\",\n \"label\": \"Hair\",\n \"kind\": \"hair\",\n \"order\": 12,\n \"meshCategory\": \"hair\"\n },\n {\n \"id\": \"Visemes\",\n \"label\": \"Visemes\",\n \"kind\": \"viseme\",\n \"order\": 13,\n \"meshCategory\": \"viseme\"\n },\n {\n \"id\": \"LipSync\",\n \"label\": \"Lip Sync\",\n \"kind\": \"lipSync\",\n \"order\": 14,\n \"meshCategory\": \"face\"\n },\n {\n \"id\": \"Unmapped\",\n \"label\": \"Unmapped\",\n \"kind\": \"unmapped\",\n \"order\": 15,\n \"meshCategory\": \"face\"\n }\n ],\n \"visemeKeys\": [\n \"AE\",\n \"Ah\",\n \"B_M_P\",\n \"Ch_J\",\n \"EE\",\n \"Er\",\n \"F_V\",\n \"Ih\",\n \"K_G_H_NG\",\n \"Oh\",\n \"R\",\n \"S_Z\",\n \"T_L_D_N\",\n \"Th\",\n \"W_OO\"\n ],\n \"visemeSystemId\": \"cc4-arkit-15\",\n \"visemeSlots\": [\n {\n \"id\": \"ae\",\n \"label\": \"AE\",\n \"order\": 0,\n \"providerIds\": {\n \"azure\": [\n 4\n ],\n \"sapi\": [\n 4\n ]\n },\n \"phonemes\": [\n \"AE\",\n \"EH\",\n \"EY\",\n \"UH\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(ae|eh|ey)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.75,\n \"lipSpread\": 0.35\n },\n \"defaultJawAmount\": 0.75\n },\n {\n \"id\": \"ah\",\n \"label\": \"Ah\",\n \"order\": 1,\n \"providerIds\": {\n \"azure\": [\n 1,\n 2,\n 9,\n 11,\n 12\n ],\n \"sapi\": [\n 1,\n 2,\n 9,\n 11,\n 12\n ]\n },\n \"phonemes\": [\n \"AA\",\n \"AE\",\n \"AH\",\n \"AX\",\n \"AW\",\n \"AY\",\n \"HH\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(ah|aa|aah|open)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.8\n },\n \"defaultJawAmount\": 0.8\n },\n {\n \"id\": \"b-m-p\",\n \"label\": \"B_M_P\",\n \"order\": 2,\n \"providerIds\": {\n \"azure\": [\n 0,\n 21\n ],\n \"sapi\": [\n 0,\n 21\n ]\n },\n \"phonemes\": [\n \"B\",\n \"M\",\n \"P\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(b[_ .-]?m[_ .-]?p|bmp|closed|sil|rest)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0,\n \"lipClosed\": 1\n },\n \"defaultJawAmount\": 0\n },\n {\n \"id\": \"ch-j\",\n \"label\": \"Ch_J\",\n \"order\": 3,\n \"providerIds\": {\n \"azure\": [\n 16\n ],\n \"sapi\": [\n 16\n ]\n },\n \"phonemes\": [\n \"CH\",\n \"JH\",\n \"SH\",\n \"ZH\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(ch|j|sh|zh)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.3,\n \"fricative\": 0.6\n },\n \"defaultJawAmount\": 0.3\n },\n {\n \"id\": \"ee\",\n \"label\": \"EE\",\n \"order\": 4,\n \"providerIds\": {\n \"azure\": [\n 6\n ],\n \"sapi\": [\n 6\n ]\n },\n \"phonemes\": [\n \"IY\",\n \"IH\",\n \"IX\",\n \"Y\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(ee|iy|y)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.2,\n \"lipSpread\": 0.8\n },\n \"defaultJawAmount\": 0.2\n },\n {\n \"id\": \"er\",\n \"label\": \"Er\",\n \"order\": 5,\n \"providerIds\": {\n \"azure\": [\n 5\n ],\n \"sapi\": [\n 5\n ]\n },\n \"phonemes\": [\n \"ER\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(er)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.35,\n \"lipRound\": 0.35\n },\n \"defaultJawAmount\": 0.35\n },\n {\n \"id\": \"f-v\",\n \"label\": \"F_V\",\n \"order\": 6,\n \"providerIds\": {\n \"azure\": [\n 18\n ],\n \"sapi\": [\n 18\n ]\n },\n \"phonemes\": [\n \"F\",\n \"V\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(f[_ .-]?v|fv)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.1,\n \"fricative\": 1\n },\n \"defaultJawAmount\": 0.1\n },\n {\n \"id\": \"ih\",\n \"label\": \"Ih\",\n \"order\": 7,\n \"providerIds\": {\n \"azure\": [\n 6\n ],\n \"sapi\": [\n 6\n ]\n },\n \"phonemes\": [\n \"IH\",\n \"IX\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(ih|ix)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.2,\n \"lipSpread\": 0.55\n },\n \"defaultJawAmount\": 0.2\n },\n {\n \"id\": \"k-g-h-ng\",\n \"label\": \"K_G_H_NG\",\n \"order\": 8,\n \"providerIds\": {\n \"azure\": [\n 20\n ],\n \"sapi\": [\n 20\n ]\n },\n \"phonemes\": [\n \"K\",\n \"G\",\n \"NG\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(k[_ .-]?g[_ .-]?h?[_ .-]?ng|kg|ng)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.35\n },\n \"defaultJawAmount\": 0.35\n },\n {\n \"id\": \"oh\",\n \"label\": \"Oh\",\n \"order\": 9,\n \"providerIds\": {\n \"azure\": [\n 3,\n 8,\n 10\n ],\n \"sapi\": [\n 3,\n 8,\n 10\n ]\n },\n \"phonemes\": [\n \"AO\",\n \"OW\",\n \"OY\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(oh|ao|ow|oy)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.6,\n \"lipRound\": 0.8\n },\n \"defaultJawAmount\": 0.6\n },\n {\n \"id\": \"r\",\n \"label\": \"R\",\n \"order\": 10,\n \"providerIds\": {\n \"azure\": [\n 13\n ],\n \"sapi\": [\n 13\n ]\n },\n \"phonemes\": [\n \"R\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)[_ .-]?r([_ .-]|$)\",\n \"(^|[_ .-])r[_ .-]?(sound|viseme)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.35,\n \"lipRound\": 0.5\n },\n \"defaultJawAmount\": 0.35\n },\n {\n \"id\": \"s-z\",\n \"label\": \"S_Z\",\n \"order\": 11,\n \"providerIds\": {\n \"azure\": [\n 15\n ],\n \"sapi\": [\n 15\n ]\n },\n \"phonemes\": [\n \"S\",\n \"Z\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(s[_ .-]?z|sz)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.1,\n \"fricative\": 1\n },\n \"defaultJawAmount\": 0.1\n },\n {\n \"id\": \"t-l-d-n\",\n \"label\": \"T_L_D_N\",\n \"order\": 12,\n \"providerIds\": {\n \"azure\": [\n 14,\n 19\n ],\n \"sapi\": [\n 14,\n 19\n ]\n },\n \"phonemes\": [\n \"T\",\n \"L\",\n \"D\",\n \"N\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(t[_ .-]?l[_ .-]?d[_ .-]?n|tldn)([_ .-]|$)\",\n \"(^|[_ .-])(v|viseme)[_ .-]?l([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.3,\n \"tongueTip\": 1\n },\n \"defaultJawAmount\": 0.3\n },\n {\n \"id\": \"th\",\n \"label\": \"Th\",\n \"order\": 13,\n \"providerIds\": {\n \"azure\": [\n 17\n ],\n \"sapi\": [\n 17\n ]\n },\n \"phonemes\": [\n \"TH\",\n \"DH\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(th|dh)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.15,\n \"tongueTip\": 0.8,\n \"fricative\": 0.8\n },\n \"defaultJawAmount\": 0.15\n },\n {\n \"id\": \"w-oo\",\n \"label\": \"W_OO\",\n \"order\": 14,\n \"providerIds\": {\n \"azure\": [\n 7\n ],\n \"sapi\": [\n 7\n ]\n },\n \"phonemes\": [\n \"W\",\n \"UW\"\n ],\n \"matchers\": [\n \"(^|[_ .-])(v|viseme)?[_ .-]?(w[_ .-]?oo|woo|uw|oo)([_ .-]|$)\"\n ],\n \"features\": {\n \"jawOpen\": 0.5,\n \"lipRound\": 1\n },\n \"defaultJawAmount\": 0.5\n }\n ],\n \"visemeMeshCategory\": \"viseme\",\n \"visemeJawAmounts\": [\n 0.75,\n 0.8,\n 0,\n 0.3,\n 0.2,\n 0.35,\n 0.1,\n 0.2,\n 0.35,\n 0.6,\n 0.35,\n 0.1,\n 0.3,\n 0.15,\n 0.5\n ],\n \"visemeTongueTargets\": [\n {},\n {},\n {},\n {\n \"37\": 0.22,\n \"73\": 0.3,\n \"76\": 0.24\n },\n {},\n {},\n {},\n {},\n {\n \"38\": 0.26,\n \"73\": 0.2,\n \"77\": 0.2\n },\n {},\n {\n \"73\": 0.16,\n \"77\": 0.1\n },\n {\n \"37\": 0.12,\n \"73\": 0.36,\n \"76\": 0.18\n },\n {\n \"37\": 0.42,\n \"76\": 0.44\n },\n {\n \"37\": 0.4,\n \"74\": 0.18,\n \"76\": 0.52\n },\n {}\n ],\n \"auMixDefaults\": {\n \"25\": 0.5,\n \"26\": 0.5,\n \"27\": 0.5,\n \"30\": 0.5,\n \"31\": 0.7,\n \"32\": 0.7,\n \"33\": 0.7,\n \"35\": 0.5,\n \"53\": 0.7,\n \"54\": 0.7,\n \"55\": 0.7,\n \"56\": 0.7,\n \"61\": 0.5,\n \"62\": 0.5,\n \"63\": 0.5,\n \"64\": 0.5,\n \"1032\": 0.7,\n \"1033\": 0.7,\n \"1034\": 1,\n \"1035\": 1,\n \"1036\": 0.7,\n \"1037\": 0.7\n },\n \"auInfo\": {\n \"1\": {\n \"id\": \"1\",\n \"name\": \"Inner Brow Raiser\",\n \"muscularBasis\": \"frontalis (pars medialis)\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Frontalis_muscle\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Forehead\"\n },\n \"2\": {\n \"id\": \"2\",\n \"name\": \"Outer Brow Raiser\",\n \"muscularBasis\": \"frontalis (pars lateralis)\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Frontalis_muscle\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Forehead\"\n },\n \"4\": {\n \"id\": \"4\",\n \"name\": \"Brow Lowerer\",\n \"muscularBasis\": \"corrugator/depressor supercilii\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Corrugator_supercilii\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Forehead\"\n },\n \"5\": {\n \"id\": \"5\",\n \"name\": \"Upper Lid Raiser\",\n \"muscularBasis\": \"levator palpebrae superioris\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Levator_palpebrae_superioris\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyelids\"\n },\n \"6\": {\n \"id\": \"6\",\n \"name\": \"Cheek Raiser\",\n \"muscularBasis\": \"orbicularis oculi (pars orbitalis)\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Orbicularis_oculi\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Cheeks\"\n },\n \"7\": {\n \"id\": \"7\",\n \"name\": \"Lid Tightener\",\n \"muscularBasis\": \"orbicularis oculi (pars palpebralis)\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Orbicularis_oculi\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyelids\"\n },\n \"8\": {\n \"id\": \"8\",\n \"name\": \"Lips Toward Each Other\",\n \"muscularBasis\": \"orbicularis oris\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Orbicularis_oris\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"9\": {\n \"id\": \"9\",\n \"name\": \"Nose Wrinkler\",\n \"muscularBasis\": \"levator labii superioris alaeque nasi\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Levator_labii_superioris_alaeque_nasi\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Nose\"\n },\n \"10\": {\n \"id\": \"10\",\n \"name\": \"Upper Lip Raiser\",\n \"muscularBasis\": \"levator labii superioris\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Levator_labii_superioris\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"11\": {\n \"id\": \"11\",\n \"name\": \"Nasolabial Deepener\",\n \"muscularBasis\": \"zygomaticus minor\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Zygomaticus_minor\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Cheeks\"\n },\n \"12\": {\n \"id\": \"12\",\n \"name\": \"Lip Corner Puller\",\n \"muscularBasis\": \"zygomaticus major\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Zygomaticus_major\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"13\": {\n \"id\": \"13\",\n \"name\": \"Sharp Lip Puller\",\n \"muscularBasis\": \"levator anguli oris\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Levator_anguli_oris\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"14\": {\n \"id\": \"14\",\n \"name\": \"Dimpler\",\n \"muscularBasis\": \"buccinator\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Buccinator\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Cheeks\"\n },\n \"15\": {\n \"id\": \"15\",\n \"name\": \"Lip Corner Depressor\",\n \"muscularBasis\": \"depressor anguli oris\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Depressor_anguli_oris\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"16\": {\n \"id\": \"16\",\n \"name\": \"Lower Lip Depressor\",\n \"muscularBasis\": \"depressor labii inferioris\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Depressor_labii_inferioris\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"17\": {\n \"id\": \"17\",\n \"name\": \"Chin Raiser\",\n \"muscularBasis\": \"mentalis\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Mentalis\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Chin\"\n },\n \"18\": {\n \"id\": \"18\",\n \"name\": \"Lip Pucker\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"19\": {\n \"id\": \"19\",\n \"name\": \"Tongue Show\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"20\": {\n \"id\": \"20\",\n \"name\": \"Lip Stretcher\",\n \"muscularBasis\": \"risorius + platysma\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Risorius\",\n \"https://en.wikipedia.org/wiki/Platysma\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"22\": {\n \"id\": \"22\",\n \"name\": \"Lip Funneler\",\n \"muscularBasis\": \"orbicularis oris\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Orbicularis_oris\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"23\": {\n \"id\": \"23\",\n \"name\": \"Lip Tightener\",\n \"muscularBasis\": \"orbicularis oris\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"24\": {\n \"id\": \"24\",\n \"name\": \"Lip Presser\",\n \"muscularBasis\": \"orbicularis oris\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"25\": {\n \"id\": \"25\",\n \"name\": \"Lips Part\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"26\": {\n \"id\": \"26\",\n \"name\": \"Jaw Drop\",\n \"muscularBasis\": \"masseter (relax temporalis)\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Masseter_muscle\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Jaw\"\n },\n \"27\": {\n \"id\": \"27\",\n \"name\": \"Mouth Stretch\",\n \"muscularBasis\": \"pterygoids + digastric\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Pterygoid_bone\",\n \"https://en.wikipedia.org/wiki/Digastric_muscle\"\n ],\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"28\": {\n \"id\": \"28\",\n \"name\": \"Lip Suck\",\n \"muscularBasis\": \"orbicularis oris\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"29\": {\n \"id\": \"29\",\n \"name\": \"Jaw Thrust\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Jaw\"\n },\n \"30\": {\n \"id\": \"30\",\n \"name\": \"Jaw Left\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Jaw\"\n },\n \"31\": {\n \"id\": \"31\",\n \"name\": \"Jaw Clencher\",\n \"muscularBasis\": \"masseter + temporalis\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Jaw\"\n },\n \"32\": {\n \"id\": \"32\",\n \"name\": \"Lip Bite\",\n \"muscularBasis\": \"orbicularis oris\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Mouth\"\n },\n \"34\": {\n \"id\": \"34\",\n \"name\": \"Cheek Puff\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Cheeks\"\n },\n \"35\": {\n \"id\": \"35\",\n \"name\": \"Jaw Right\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Jaw\"\n },\n \"36\": {\n \"id\": \"36\",\n \"name\": \"Tongue Bulge\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"37\": {\n \"id\": \"37\",\n \"name\": \"Tongue Up\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"38\": {\n \"id\": \"38\",\n \"name\": \"Tongue Down\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"39\": {\n \"id\": \"39\",\n \"name\": \"Tongue Left\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"40\": {\n \"id\": \"40\",\n \"name\": \"Tongue Right\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"41\": {\n \"id\": \"41\",\n \"name\": \"Tongue Tilt Left\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"42\": {\n \"id\": \"42\",\n \"name\": \"Tongue Tilt Right\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"43\": {\n \"id\": \"43\",\n \"name\": \"Eyes Closed\",\n \"muscularBasis\": \"orbicularis oculi\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Orbicularis_oculi_muscle\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyelids\"\n },\n \"45\": {\n \"id\": \"45\",\n \"name\": \"Blink\",\n \"muscularBasis\": \"orbicularis oculi\",\n \"links\": [\n \"https://en.wikipedia.org/wiki/Orbicularis_oculi_muscle\"\n ],\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyelids\"\n },\n \"51\": {\n \"id\": \"51\",\n \"name\": \"Head Turn Left\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Head\"\n },\n \"52\": {\n \"id\": \"52\",\n \"name\": \"Head Turn Right\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Head\"\n },\n \"53\": {\n \"id\": \"53\",\n \"name\": \"Head Up\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Head\"\n },\n \"54\": {\n \"id\": \"54\",\n \"name\": \"Head Down\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Head\"\n },\n \"55\": {\n \"id\": \"55\",\n \"name\": \"Head Tilt Left\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Head\"\n },\n \"56\": {\n \"id\": \"56\",\n \"name\": \"Head Tilt Right\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Head\"\n },\n \"61\": {\n \"id\": \"61\",\n \"name\": \"Eyes Turn Left\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"62\": {\n \"id\": \"62\",\n \"name\": \"Eyes Turn Right\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"63\": {\n \"id\": \"63\",\n \"name\": \"Eyes Up\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"64\": {\n \"id\": \"64\",\n \"name\": \"Eyes Down\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"65\": {\n \"id\": \"65\",\n \"name\": \"Left Eye Look Left\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"66\": {\n \"id\": \"66\",\n \"name\": \"Left Eye Look Right\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"67\": {\n \"id\": \"67\",\n \"name\": \"Left Eye Look Up\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"68\": {\n \"id\": \"68\",\n \"name\": \"Left Eye Look Down\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"69\": {\n \"id\": \"69\",\n \"name\": \"Right Eye Look Left\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"70\": {\n \"id\": \"70\",\n \"name\": \"Right Eye Look Right\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"71\": {\n \"id\": \"71\",\n \"name\": \"Right Eye Look Up\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"72\": {\n \"id\": \"72\",\n \"name\": \"Right Eye Look Down\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eyes\"\n },\n \"73\": {\n \"id\": \"73\",\n \"name\": \"Tongue Narrow\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"74\": {\n \"id\": \"74\",\n \"name\": \"Tongue Wide\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"75\": {\n \"id\": \"75\",\n \"name\": \"Tongue Roll\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"76\": {\n \"id\": \"76\",\n \"name\": \"Tongue Tip Up\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"77\": {\n \"id\": \"77\",\n \"name\": \"Tongue Tip Down\",\n \"faceArea\": \"Lower\",\n \"facePart\": \"Tongue\"\n },\n \"80\": {\n \"id\": \"80\",\n \"name\": \"Eye Bulge\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"81\": {\n \"id\": \"81\",\n \"name\": \"Eye Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"82\": {\n \"id\": \"82\",\n \"name\": \"Eye Inner Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"83\": {\n \"id\": \"83\",\n \"name\": \"Eye Inner Height\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"84\": {\n \"id\": \"84\",\n \"name\": \"Eye Inner Width\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"85\": {\n \"id\": \"85\",\n \"name\": \"Eye Outer Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"86\": {\n \"id\": \"86\",\n \"name\": \"Eye Outer Height\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"87\": {\n \"id\": \"87\",\n \"name\": \"Eye Outer Width\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"88\": {\n \"id\": \"88\",\n \"name\": \"Eye Upper Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"89\": {\n \"id\": \"89\",\n \"name\": \"Eye Lower Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"90\": {\n \"id\": \"90\",\n \"name\": \"Eye Center Upper Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"91\": {\n \"id\": \"91\",\n \"name\": \"Eye Center Upper Height\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"92\": {\n \"id\": \"92\",\n \"name\": \"Eye Center Lower Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"93\": {\n \"id\": \"93\",\n \"name\": \"Eye Center Lower Height\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"94\": {\n \"id\": \"94\",\n \"name\": \"Eye Inner Upper Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"95\": {\n \"id\": \"95\",\n \"name\": \"Eye Inner Upper Height\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"96\": {\n \"id\": \"96\",\n \"name\": \"Eye Inner Lower Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"97\": {\n \"id\": \"97\",\n \"name\": \"Eye Inner Lower Height\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"98\": {\n \"id\": \"98\",\n \"name\": \"Eye Outer Upper Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"99\": {\n \"id\": \"99\",\n \"name\": \"Eye Outer Upper Height\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"100\": {\n \"id\": \"100\",\n \"name\": \"Eye Outer Lower Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"101\": {\n \"id\": \"101\",\n \"name\": \"Eye Outer Lower Height\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"102\": {\n \"id\": \"102\",\n \"name\": \"Eye Duct Depth\",\n \"faceArea\": \"Upper\",\n \"facePart\": \"Eye\"\n },\n \"1001\": {\n \"id\": \"1001\",\n \"name\": \"Elbow flex / biceps\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1002\": {\n \"id\": \"1002\",\n \"name\": \"Knee bend\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1003\": {\n \"id\": \"1003\",\n \"name\": \"Torso twist right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1004\": {\n \"id\": \"1004\",\n \"name\": \"Torso twist left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1011\": {\n \"id\": \"1011\",\n \"name\": \"Whole body bend — Forward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1010\": {\n \"id\": \"1010\",\n \"name\": \"Whole body bend — Back\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1013\": {\n \"id\": \"1013\",\n \"name\": \"Whole body twist — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1012\": {\n \"id\": \"1012\",\n \"name\": \"Whole body twist — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1015\": {\n \"id\": \"1015\",\n \"name\": \"Whole body side bend — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1014\": {\n \"id\": \"1014\",\n \"name\": \"Whole body side bend — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1017\": {\n \"id\": \"1017\",\n \"name\": \"Lower spine bend — Forward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1016\": {\n \"id\": \"1016\",\n \"name\": \"Lower spine bend — Back\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1019\": {\n \"id\": \"1019\",\n \"name\": \"Lower spine twist — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1018\": {\n \"id\": \"1018\",\n \"name\": \"Lower spine twist — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1021\": {\n \"id\": \"1021\",\n \"name\": \"Lower spine side bend — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1020\": {\n \"id\": \"1020\",\n \"name\": \"Lower spine side bend — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1023\": {\n \"id\": \"1023\",\n \"name\": \"Chest bend — Forward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1022\": {\n \"id\": \"1022\",\n \"name\": \"Chest bend — Back\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1025\": {\n \"id\": \"1025\",\n \"name\": \"Chest side bend — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1024\": {\n \"id\": \"1024\",\n \"name\": \"Chest side bend — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1027\": {\n \"id\": \"1027\",\n \"name\": \"Upper chest bend — Forward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1026\": {\n \"id\": \"1026\",\n \"name\": \"Upper chest bend — Back\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1029\": {\n \"id\": \"1029\",\n \"name\": \"Upper chest twist — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1028\": {\n \"id\": \"1028\",\n \"name\": \"Upper chest twist — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1031\": {\n \"id\": \"1031\",\n \"name\": \"Upper chest side bend — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1030\": {\n \"id\": \"1030\",\n \"name\": \"Upper chest side bend — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1033\": {\n \"id\": \"1033\",\n \"name\": \"Neck bend — Forward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Head\"\n },\n \"1032\": {\n \"id\": \"1032\",\n \"name\": \"Neck bend — Back\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Head\"\n },\n \"1035\": {\n \"id\": \"1035\",\n \"name\": \"Neck twist — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Head\"\n },\n \"1034\": {\n \"id\": \"1034\",\n \"name\": \"Neck twist — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Head\"\n },\n \"1037\": {\n \"id\": \"1037\",\n \"name\": \"Neck side bend — Right\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Head\"\n },\n \"1036\": {\n \"id\": \"1036\",\n \"name\": \"Neck side bend — Left\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Head\"\n },\n \"1039\": {\n \"id\": \"1039\",\n \"name\": \"Shoulder raise — Raise\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1038\": {\n \"id\": \"1038\",\n \"name\": \"Shoulder raise — Lower\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1041\": {\n \"id\": \"1041\",\n \"name\": \"Shoulder forward/back — Forward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1040\": {\n \"id\": \"1040\",\n \"name\": \"Shoulder forward/back — Back\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1043\": {\n \"id\": \"1043\",\n \"name\": \"Arm forward/back — Forward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1042\": {\n \"id\": \"1042\",\n \"name\": \"Arm forward/back — Back\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1045\": {\n \"id\": \"1045\",\n \"name\": \"Arm raise/lower — Raise\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1044\": {\n \"id\": \"1044\",\n \"name\": \"Arm raise/lower — Lower\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1047\": {\n \"id\": \"1047\",\n \"name\": \"Upper arm twist — Rotate outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1046\": {\n \"id\": \"1046\",\n \"name\": \"Upper arm twist — Rotate inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1049\": {\n \"id\": \"1049\",\n \"name\": \"Forearm rotation — Rotate outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1048\": {\n \"id\": \"1048\",\n \"name\": \"Forearm rotation — Rotate inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1051\": {\n \"id\": \"1051\",\n \"name\": \"Wrist bend — Flex\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1050\": {\n \"id\": \"1050\",\n \"name\": \"Wrist bend — Extend\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1053\": {\n \"id\": \"1053\",\n \"name\": \"Wrist side bend — Flex\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1052\": {\n \"id\": \"1052\",\n \"name\": \"Wrist side bend — Extend\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1055\": {\n \"id\": \"1055\",\n \"name\": \"Hip forward/back — Forward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1054\": {\n \"id\": \"1054\",\n \"name\": \"Hip forward/back — Back\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1057\": {\n \"id\": \"1057\",\n \"name\": \"Hip outward/inward — Outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1056\": {\n \"id\": \"1056\",\n \"name\": \"Hip outward/inward — Inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1059\": {\n \"id\": \"1059\",\n \"name\": \"Hip rotation — Rotate outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1058\": {\n \"id\": \"1058\",\n \"name\": \"Hip rotation — Rotate inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1061\": {\n \"id\": \"1061\",\n \"name\": \"Ankle bend — Flex\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1060\": {\n \"id\": \"1060\",\n \"name\": \"Ankle bend — Extend\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1063\": {\n \"id\": \"1063\",\n \"name\": \"Foot tilt — Rotate outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1062\": {\n \"id\": \"1062\",\n \"name\": \"Foot tilt — Rotate inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1065\": {\n \"id\": \"1065\",\n \"name\": \"Toe bend — Flex\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1064\": {\n \"id\": \"1064\",\n \"name\": \"Toe bend — Extend\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1066\": {\n \"id\": \"1066\",\n \"name\": \"Thumb metacarpal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1067\": {\n \"id\": \"1067\",\n \"name\": \"Thumb proximal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1068\": {\n \"id\": \"1068\",\n \"name\": \"Thumb distal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1070\": {\n \"id\": \"1070\",\n \"name\": \"Thumb spread — Outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1069\": {\n \"id\": \"1069\",\n \"name\": \"Thumb spread — Inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1071\": {\n \"id\": \"1071\",\n \"name\": \"Index proximal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1072\": {\n \"id\": \"1072\",\n \"name\": \"Index intermediate curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1073\": {\n \"id\": \"1073\",\n \"name\": \"Index distal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1075\": {\n \"id\": \"1075\",\n \"name\": \"Index spread — Outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1074\": {\n \"id\": \"1074\",\n \"name\": \"Index spread — Inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1076\": {\n \"id\": \"1076\",\n \"name\": \"Middle proximal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1077\": {\n \"id\": \"1077\",\n \"name\": \"Middle intermediate curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1078\": {\n \"id\": \"1078\",\n \"name\": \"Middle distal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1080\": {\n \"id\": \"1080\",\n \"name\": \"Middle spread — Outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1079\": {\n \"id\": \"1079\",\n \"name\": \"Middle spread — Inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1081\": {\n \"id\": \"1081\",\n \"name\": \"Ring proximal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1082\": {\n \"id\": \"1082\",\n \"name\": \"Ring intermediate curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1083\": {\n \"id\": \"1083\",\n \"name\": \"Ring distal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1085\": {\n \"id\": \"1085\",\n \"name\": \"Ring spread — Outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1084\": {\n \"id\": \"1084\",\n \"name\": \"Ring spread — Inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1086\": {\n \"id\": \"1086\",\n \"name\": \"Little proximal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1087\": {\n \"id\": \"1087\",\n \"name\": \"Little intermediate curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1088\": {\n \"id\": \"1088\",\n \"name\": \"Little distal curl positive\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1090\": {\n \"id\": \"1090\",\n \"name\": \"Little spread — Outward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n },\n \"1089\": {\n \"id\": \"1089\",\n \"name\": \"Little spread — Inward\",\n \"faceArea\": \"Body\",\n \"facePart\": \"Body\"\n }\n },\n \"eyeMeshNodes\": {\n \"LEFT\": \"CC_Base_Eye\",\n \"RIGHT\": \"CC_Base_Eye_1\"\n },\n \"meshes\": {\n \"CC_Base_Body_1\": {\n \"category\": \"body\",\n \"morphCount\": 80\n },\n \"CC_Base_Body_2\": {\n \"category\": \"body\",\n \"morphCount\": 80\n },\n \"CC_Base_Body_3\": {\n \"category\": \"body\",\n \"morphCount\": 80\n },\n \"CC_Base_Body_4\": {\n \"category\": \"body\",\n \"morphCount\": 80\n },\n \"CC_Base_Body_5\": {\n \"category\": \"body\",\n \"morphCount\": 80\n },\n \"CC_Base_Body_6\": {\n \"category\": \"body\",\n \"morphCount\": 80\n },\n \"CC_Base_Eye\": {\n \"category\": \"eye\",\n \"morphCount\": 0,\n \"material\": {\n \"renderOrder\": -10\n }\n },\n \"CC_Base_Eye_1\": {\n \"category\": \"eye\",\n \"morphCount\": 0,\n \"material\": {\n \"renderOrder\": -10\n }\n },\n \"CC_Base_Eye_2\": {\n \"category\": \"eye\",\n \"morphCount\": 0,\n \"material\": {\n \"renderOrder\": -10\n }\n },\n \"CC_Base_Eye_3\": {\n \"category\": \"eye\",\n \"morphCount\": 0,\n \"material\": {\n \"renderOrder\": -10\n }\n },\n \"CC_Base_Eye_4\": {\n \"category\": \"eye\",\n \"morphCount\": 0,\n \"material\": {\n \"renderOrder\": -10\n }\n },\n \"CC_Base_EyeOcclusion_1\": {\n \"category\": \"eyeOcclusion\",\n \"morphCount\": 94,\n \"material\": {\n \"renderOrder\": 2,\n \"transparent\": true,\n \"opacity\": 1,\n \"depthWrite\": true,\n \"depthTest\": true,\n \"blending\": \"Normal\"\n }\n },\n \"CC_Base_EyeOcclusion_2\": {\n \"category\": \"eyeOcclusion\",\n \"morphCount\": 94,\n \"material\": {\n \"renderOrder\": 2,\n \"transparent\": true,\n \"opacity\": 1,\n \"depthWrite\": true,\n \"depthTest\": true,\n \"blending\": \"Normal\"\n }\n },\n \"CC_Base_TearLine_1\": {\n \"category\": \"tearLine\",\n \"morphCount\": 90,\n \"material\": {\n \"renderOrder\": 2\n }\n },\n \"CC_Base_TearLine_2\": {\n \"category\": \"tearLine\",\n \"morphCount\": 90,\n \"material\": {\n \"renderOrder\": 2\n }\n },\n \"CC_Base_Cornea\": {\n \"category\": \"cornea\",\n \"morphCount\": 0,\n \"material\": {\n \"renderOrder\": -10\n }\n },\n \"CC_Base_Cornea_1\": {\n \"category\": \"cornea\",\n \"morphCount\": 0,\n \"material\": {\n \"renderOrder\": -10\n }\n },\n \"CC_Base_Teeth_1\": {\n \"category\": \"teeth\",\n \"morphCount\": 0\n },\n \"CC_Base_Teeth_2\": {\n \"category\": \"teeth\",\n \"morphCount\": 0\n },\n \"CC_Base_Tongue\": {\n \"category\": \"tongue\",\n \"morphCount\": 23\n },\n \"Male_Bushy_1\": {\n \"category\": \"eyebrow\",\n \"morphCount\": 91,\n \"material\": {\n \"renderOrder\": 5\n }\n },\n \"Male_Bushy_2\": {\n \"category\": \"eyebrow\",\n \"morphCount\": 91,\n \"material\": {\n \"renderOrder\": 5\n }\n },\n \"Side_part_wavy_1\": {\n \"category\": \"hair\",\n \"morphCount\": 14,\n \"material\": {\n \"renderOrder\": 10\n }\n },\n \"Side_part_wavy_2\": {\n \"category\": \"hair\",\n \"morphCount\": 14,\n \"material\": {\n \"renderOrder\": 10\n }\n }\n },\n \"continuumPairs\": {\n \"30\": {\n \"pairId\": 35,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_JawRoot\"\n },\n \"35\": {\n \"pairId\": 30,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_JawRoot\"\n },\n \"37\": {\n \"pairId\": 38,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"38\": {\n \"pairId\": 37,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"39\": {\n \"pairId\": 40,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"40\": {\n \"pairId\": 39,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"41\": {\n \"pairId\": 42,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"42\": {\n \"pairId\": 41,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"51\": {\n \"pairId\": 52,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_Head\"\n },\n \"52\": {\n \"pairId\": 51,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_Head\"\n },\n \"53\": {\n \"pairId\": 54,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_Head\"\n },\n \"54\": {\n \"pairId\": 53,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_Head\"\n },\n \"55\": {\n \"pairId\": 56,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"CC_Base_Head\"\n },\n \"56\": {\n \"pairId\": 55,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"CC_Base_Head\"\n },\n \"61\": {\n \"pairId\": 62,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_L_Eye\"\n },\n \"62\": {\n \"pairId\": 61,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_L_Eye\"\n },\n \"63\": {\n \"pairId\": 64,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_L_Eye\"\n },\n \"64\": {\n \"pairId\": 63,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_L_Eye\"\n },\n \"65\": {\n \"pairId\": 66,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_L_Eye\"\n },\n \"66\": {\n \"pairId\": 65,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_L_Eye\"\n },\n \"67\": {\n \"pairId\": 68,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_L_Eye\"\n },\n \"68\": {\n \"pairId\": 67,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_L_Eye\"\n },\n \"69\": {\n \"pairId\": 70,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_R_Eye\"\n },\n \"70\": {\n \"pairId\": 69,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_R_Eye\"\n },\n \"71\": {\n \"pairId\": 72,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_R_Eye\"\n },\n \"72\": {\n \"pairId\": 71,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_R_Eye\"\n },\n \"73\": {\n \"pairId\": 74,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"74\": {\n \"pairId\": 73,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"76\": {\n \"pairId\": 77,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"77\": {\n \"pairId\": 76,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"CC_Base_Tongue01\"\n },\n \"1003\": {\n \"pairId\": 1004,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"SPINE_01\"\n },\n \"1004\": {\n \"pairId\": 1003,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"SPINE_01\"\n },\n \"1011\": {\n \"pairId\": 1010,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"hips\"\n },\n \"1010\": {\n \"pairId\": 1011,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"hips\"\n },\n \"1013\": {\n \"pairId\": 1012,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"hips\"\n },\n \"1012\": {\n \"pairId\": 1013,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"hips\"\n },\n \"1015\": {\n \"pairId\": 1014,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"hips\"\n },\n \"1014\": {\n \"pairId\": 1015,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"hips\"\n },\n \"1017\": {\n \"pairId\": 1016,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"spine\"\n },\n \"1016\": {\n \"pairId\": 1017,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"spine\"\n },\n \"1019\": {\n \"pairId\": 1018,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"spine\"\n },\n \"1018\": {\n \"pairId\": 1019,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"spine\"\n },\n \"1021\": {\n \"pairId\": 1020,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"spine\"\n },\n \"1020\": {\n \"pairId\": 1021,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"spine\"\n },\n \"1023\": {\n \"pairId\": 1022,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"chest\"\n },\n \"1022\": {\n \"pairId\": 1023,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"chest\"\n },\n \"1025\": {\n \"pairId\": 1024,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"chest\"\n },\n \"1024\": {\n \"pairId\": 1025,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"chest\"\n },\n \"1027\": {\n \"pairId\": 1026,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"upperChest\"\n },\n \"1026\": {\n \"pairId\": 1027,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"upperChest\"\n },\n \"1029\": {\n \"pairId\": 1028,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"upperChest\"\n },\n \"1028\": {\n \"pairId\": 1029,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"upperChest\"\n },\n \"1031\": {\n \"pairId\": 1030,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"upperChest\"\n },\n \"1030\": {\n \"pairId\": 1031,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"upperChest\"\n },\n \"1033\": {\n \"pairId\": 1032,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"neck\"\n },\n \"1032\": {\n \"pairId\": 1033,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"neck\"\n },\n \"1035\": {\n \"pairId\": 1034,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"neck\"\n },\n \"1034\": {\n \"pairId\": 1035,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"neck\"\n },\n \"1037\": {\n \"pairId\": 1036,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"neck\"\n },\n \"1036\": {\n \"pairId\": 1037,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"neck\"\n },\n \"1039\": {\n \"pairId\": 1038,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftShoulder\"\n },\n \"1038\": {\n \"pairId\": 1039,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftShoulder\"\n },\n \"1041\": {\n \"pairId\": 1040,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"leftShoulder\"\n },\n \"1040\": {\n \"pairId\": 1041,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"leftShoulder\"\n },\n \"1043\": {\n \"pairId\": 1042,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"leftUpperArm\"\n },\n \"1042\": {\n \"pairId\": 1043,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"leftUpperArm\"\n },\n \"1045\": {\n \"pairId\": 1044,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftUpperArm\"\n },\n \"1044\": {\n \"pairId\": 1045,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftUpperArm\"\n },\n \"1047\": {\n \"pairId\": 1046,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"leftUpperArm\"\n },\n \"1046\": {\n \"pairId\": 1047,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"leftUpperArm\"\n },\n \"1049\": {\n \"pairId\": 1048,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"leftLowerArm\"\n },\n \"1048\": {\n \"pairId\": 1049,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"leftLowerArm\"\n },\n \"1051\": {\n \"pairId\": 1050,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"leftHand\"\n },\n \"1050\": {\n \"pairId\": 1051,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"leftHand\"\n },\n \"1053\": {\n \"pairId\": 1052,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftHand\"\n },\n \"1052\": {\n \"pairId\": 1053,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftHand\"\n },\n \"1055\": {\n \"pairId\": 1054,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"leftUpperLeg\"\n },\n \"1054\": {\n \"pairId\": 1055,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"leftUpperLeg\"\n },\n \"1057\": {\n \"pairId\": 1056,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftUpperLeg\"\n },\n \"1056\": {\n \"pairId\": 1057,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftUpperLeg\"\n },\n \"1059\": {\n \"pairId\": 1058,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"leftUpperLeg\"\n },\n \"1058\": {\n \"pairId\": 1059,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"leftUpperLeg\"\n },\n \"1061\": {\n \"pairId\": 1060,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"leftFoot\"\n },\n \"1060\": {\n \"pairId\": 1061,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"leftFoot\"\n },\n \"1063\": {\n \"pairId\": 1062,\n \"isNegative\": false,\n \"axis\": \"yaw\",\n \"node\": \"leftFoot\"\n },\n \"1062\": {\n \"pairId\": 1063,\n \"isNegative\": true,\n \"axis\": \"yaw\",\n \"node\": \"leftFoot\"\n },\n \"1065\": {\n \"pairId\": 1064,\n \"isNegative\": false,\n \"axis\": \"pitch\",\n \"node\": \"leftToes\"\n },\n \"1064\": {\n \"pairId\": 1065,\n \"isNegative\": true,\n \"axis\": \"pitch\",\n \"node\": \"leftToes\"\n },\n \"1070\": {\n \"pairId\": 1069,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftThumbMetacarpal\"\n },\n \"1069\": {\n \"pairId\": 1070,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftThumbMetacarpal\"\n },\n \"1075\": {\n \"pairId\": 1074,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftIndexProximal\"\n },\n \"1074\": {\n \"pairId\": 1075,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftIndexProximal\"\n },\n \"1080\": {\n \"pairId\": 1079,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftMiddleProximal\"\n },\n \"1079\": {\n \"pairId\": 1080,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftMiddleProximal\"\n },\n \"1085\": {\n \"pairId\": 1084,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftRingProximal\"\n },\n \"1084\": {\n \"pairId\": 1085,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftRingProximal\"\n },\n \"1090\": {\n \"pairId\": 1089,\n \"isNegative\": false,\n \"axis\": \"roll\",\n \"node\": \"leftLittleProximal\"\n },\n \"1089\": {\n \"pairId\": 1090,\n \"isNegative\": true,\n \"axis\": \"roll\",\n \"node\": \"leftLittleProximal\"\n }\n },\n \"continuumLabels\": {\n \"1003\": \"Twist left\",\n \"1004\": \"Twist right\",\n \"61-62\": \"Eyes — Horizontal\",\n \"64-63\": \"Eyes — Vertical\",\n \"65-66\": \"Left Eye — Horizontal\",\n \"68-67\": \"Left Eye — Vertical\",\n \"69-70\": \"Right Eye — Horizontal\",\n \"72-71\": \"Right Eye — Vertical\",\n \"51-52\": \"Head — Horizontal\",\n \"54-53\": \"Head — Vertical\",\n \"55-56\": \"Head — Tilt\",\n \"30-35\": \"Jaw — Horizontal\",\n \"38-37\": \"Tongue — Vertical\",\n \"39-40\": \"Tongue — Horizontal\",\n \"41-42\": \"Tongue — Tilt\",\n \"73-74\": \"Tongue — Width\",\n \"76-77\": \"Tongue Tip — Vertical\",\n \"1011\": \"Whole body bend\",\n \"1013\": \"Whole body twist\",\n \"1015\": \"Whole body side bend\",\n \"1017\": \"Lower spine bend\",\n \"1019\": \"Lower spine twist\",\n \"1021\": \"Lower spine side bend\",\n \"1023\": \"Chest bend\",\n \"1025\": \"Chest side bend\",\n \"1027\": \"Upper chest bend\",\n \"1029\": \"Upper chest twist\",\n \"1031\": \"Upper chest side bend\",\n \"1033\": \"Neck bend\",\n \"1035\": \"Neck twist\",\n \"1037\": \"Neck side bend\",\n \"1039\": \"Shoulder raise\",\n \"1041\": \"Shoulder forward/back\",\n \"1043\": \"Arm forward/back\",\n \"1045\": \"Arm raise/lower\",\n \"1047\": \"Upper arm twist\",\n \"1049\": \"Forearm rotation\",\n \"1051\": \"Wrist bend\",\n \"1053\": \"Wrist side bend\",\n \"1055\": \"Hip forward/back\",\n \"1057\": \"Hip outward/inward\",\n \"1059\": \"Hip rotation\",\n \"1061\": \"Ankle bend\",\n \"1063\": \"Foot tilt\",\n \"1065\": \"Toe bend\",\n \"1070\": \"Thumb spread\",\n \"1075\": \"Index spread\",\n \"1080\": \"Middle spread\",\n \"1085\": \"Ring spread\",\n \"1090\": \"Little spread\"\n },\n \"hairPhysics\": {\n \"stiffness\": 7.5,\n \"damping\": 0.18,\n \"inertia\": 3.5,\n \"gravity\": 12,\n \"responseScale\": 2.5,\n \"idleSwayAmount\": 0.12,\n \"idleSwaySpeed\": 1,\n \"windStrength\": 0,\n \"windDirectionX\": 1,\n \"windDirectionZ\": 0,\n \"windTurbulence\": 0.3,\n \"windFrequency\": 1.4,\n \"idleClipDuration\": 10,\n \"impulseClipDuration\": 1.4,\n \"direction\": {\n \"yawSign\": -1,\n \"pitchSign\": -1\n },\n \"morphTargets\": {\n \"swayLeft\": {\n \"key\": \"L_Hair_Left\",\n \"axis\": \"yaw\"\n },\n \"swayRight\": {\n \"key\": \"L_Hair_Right\",\n \"axis\": \"yaw\"\n },\n \"swayFront\": {\n \"key\": \"L_Hair_Front\",\n \"axis\": \"pitch\"\n },\n \"fluffRight\": {\n \"key\": \"Fluffy_Right\",\n \"axis\": \"yaw\"\n },\n \"fluffBottom\": {\n \"key\": \"Fluffy_Bottom_ALL\",\n \"axis\": \"pitch\"\n },\n \"headUp\": {\n \"Hairline_High_ALL\": {\n \"value\": 0.45,\n \"axis\": \"pitch\"\n },\n \"Length_Short\": {\n \"value\": 0.65,\n \"axis\": \"pitch\"\n }\n },\n \"headDown\": {\n \"L_Hair_Front\": {\n \"value\": 2,\n \"axis\": \"pitch\"\n },\n \"Fluffy_Bottom_ALL\": {\n \"value\": 1,\n \"axis\": \"pitch\"\n }\n }\n }\n },\n \"annotationRegions\": [\n {\n \"name\": \"full_body\",\n \"objects\": [\n \"*\"\n ],\n \"paddingFactor\": 2\n },\n {\n \"name\": \"head\",\n \"bones\": [\n \"HEAD\",\n \"JAW\"\n ],\n \"paddingFactor\": 1.5,\n \"children\": [\n \"face\",\n \"left_eye\",\n \"right_eye\",\n \"mouth\"\n ],\n \"expandAnimation\": \"staggered\"\n },\n {\n \"name\": \"face\",\n \"bones\": [\n \"HEAD\"\n ],\n \"paddingFactor\": 1.3,\n \"parent\": \"head\"\n },\n {\n \"name\": \"left_eye\",\n \"bones\": [\n \"EYE_L\"\n ],\n \"paddingFactor\": 0.9,\n \"parent\": \"head\"\n },\n {\n \"name\": \"right_eye\",\n \"bones\": [\n \"EYE_R\"\n ],\n \"paddingFactor\": 0.9,\n \"parent\": \"head\"\n },\n {\n \"name\": \"mouth\",\n \"bones\": [\n \"JAW\"\n ],\n \"paddingFactor\": 1.5,\n \"parent\": \"head\"\n },\n {\n \"name\": \"upper_body\",\n \"bones\": [\n \"SPINE_02\",\n \"HEAD\",\n \"CLAVICLE_L\",\n \"CLAVICLE_R\"\n ],\n \"paddingFactor\": 1.6\n },\n {\n \"name\": \"back\",\n \"bones\": [\n \"SPINE_01\",\n \"SPINE_02\"\n ],\n \"paddingFactor\": 1.8,\n \"cameraAngle\": 180\n },\n {\n \"name\": \"left_hand\",\n \"bones\": [\n \"HAND_L\"\n ],\n \"paddingFactor\": 1.3,\n \"cameraAngle\": 270\n },\n {\n \"name\": \"right_hand\",\n \"bones\": [\n \"HAND_R\"\n ],\n \"paddingFactor\": 1.3,\n \"cameraAngle\": 90\n },\n {\n \"name\": \"left_foot\",\n \"bones\": [\n \"FOOT_L\",\n \"TOEBASE_L\"\n ],\n \"paddingFactor\": 2.5,\n \"cameraAngle\": 270\n },\n {\n \"name\": \"right_foot\",\n \"bones\": [\n \"FOOT_R\",\n \"TOEBASE_R\"\n ],\n \"paddingFactor\": 2.5,\n \"cameraAngle\": 90\n }\n ],\n \"compositeRotations\": [\n {\n \"node\": \"JAW\",\n \"pitch\": {\n \"aus\": [\n 25,\n 26,\n 27,\n 103\n ],\n \"axis\": \"rz\"\n },\n \"yaw\": {\n \"aus\": [\n 30,\n 35\n ],\n \"axis\": \"ry\",\n \"negative\": 30,\n \"positive\": 35\n },\n \"roll\": null\n },\n {\n \"node\": \"HEAD\",\n \"pitch\": {\n \"aus\": [\n 54,\n 53\n ],\n \"axis\": \"rx\",\n \"negative\": 54,\n \"positive\": 53\n },\n \"yaw\": {\n \"aus\": [\n 51,\n 52\n ],\n \"axis\": \"ry\",\n \"negative\": 51,\n \"positive\": 52\n },\n \"roll\": {\n \"aus\": [\n 55,\n 56\n ],\n \"axis\": \"rz\",\n \"negative\": 55,\n \"positive\": 56\n }\n },\n {\n \"node\": \"EYE_L\",\n \"pitch\": {\n \"aus\": [\n 64,\n 63,\n 68,\n 67\n ],\n \"axis\": \"rx\",\n \"negative\": [\n 64,\n 68\n ],\n \"positive\": [\n 63,\n 67\n ]\n },\n \"yaw\": {\n \"aus\": [\n 61,\n 62,\n 65,\n 66\n ],\n \"axis\": \"rz\",\n \"negative\": [\n 61,\n 65\n ],\n \"positive\": [\n 62,\n 66\n ]\n },\n \"roll\": null\n },\n {\n \"node\": \"EYE_R\",\n \"pitch\": {\n \"aus\": [\n 64,\n 63,\n 72,\n 71\n ],\n \"axis\": \"rx\",\n \"negative\": [\n 64,\n 72\n ],\n \"positive\": [\n 63,\n 71\n ]\n },\n \"yaw\": {\n \"aus\": [\n 61,\n 62,\n 69,\n 70\n ],\n \"axis\": \"rz\",\n \"negative\": [\n 61,\n 69\n ],\n \"positive\": [\n 62,\n 70\n ]\n },\n \"roll\": null\n },\n {\n \"node\": \"TONGUE\",\n \"pitch\": {\n \"aus\": [\n 38,\n 37\n ],\n \"axis\": \"rz\",\n \"negative\": 38,\n \"positive\": 37\n },\n \"yaw\": {\n \"aus\": [\n 39,\n 40\n ],\n \"axis\": \"ry\",\n \"negative\": 39,\n \"positive\": 40\n },\n \"roll\": {\n \"aus\": [\n 41,\n 42\n ],\n \"axis\": \"rx\",\n \"negative\": 41,\n \"positive\": 42\n }\n },\n {\n \"node\": \"leftLowerArm\",\n \"pitch\": {\n \"aus\": [\n 1001\n ],\n \"axis\": \"rx\"\n },\n \"yaw\": {\n \"aus\": [\n 1048,\n 1049\n ],\n \"axis\": \"ry\",\n \"negative\": 1048,\n \"positive\": 1049\n }\n },\n {\n \"node\": \"rightLowerArm\",\n \"pitch\": {\n \"aus\": [\n 1001\n ],\n \"axis\": \"rx\"\n },\n \"yaw\": {\n \"aus\": [\n 1048,\n 1049\n ],\n \"axis\": \"ry\",\n \"negative\": 1048,\n \"positive\": 1049\n }\n },\n {\n \"node\": \"leftLowerLeg\",\n \"pitch\": {\n \"aus\": [\n 1002\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightLowerLeg\",\n \"pitch\": {\n \"aus\": [\n 1002\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"SPINE_01\",\n \"yaw\": {\n \"aus\": [\n 1003,\n 1004\n ],\n \"negative\": 1003,\n \"positive\": 1004,\n \"axis\": \"ry\"\n },\n \"pitch\": {\n \"aus\": [\n 1022,\n 1023\n ],\n \"axis\": \"rx\",\n \"negative\": 1022,\n \"positive\": 1023\n },\n \"roll\": {\n \"aus\": [\n 1024,\n 1025\n ],\n \"axis\": \"rz\",\n \"negative\": 1024,\n \"positive\": 1025\n }\n },\n {\n \"node\": \"hips\",\n \"pitch\": {\n \"aus\": [\n 1010,\n 1011\n ],\n \"axis\": \"rx\",\n \"negative\": 1010,\n \"positive\": 1011\n },\n \"yaw\": {\n \"aus\": [\n 1012,\n 1013\n ],\n \"axis\": \"ry\",\n \"negative\": 1012,\n \"positive\": 1013\n },\n \"roll\": {\n \"aus\": [\n 1014,\n 1015\n ],\n \"axis\": \"rz\",\n \"negative\": 1014,\n \"positive\": 1015\n }\n },\n {\n \"node\": \"spine\",\n \"pitch\": {\n \"aus\": [\n 1016,\n 1017\n ],\n \"axis\": \"rx\",\n \"negative\": 1016,\n \"positive\": 1017\n },\n \"yaw\": {\n \"aus\": [\n 1018,\n 1019\n ],\n \"axis\": \"ry\",\n \"negative\": 1018,\n \"positive\": 1019\n },\n \"roll\": {\n \"aus\": [\n 1020,\n 1021\n ],\n \"axis\": \"rz\",\n \"negative\": 1020,\n \"positive\": 1021\n }\n },\n {\n \"node\": \"upperChest\",\n \"pitch\": {\n \"aus\": [\n 1026,\n 1027\n ],\n \"axis\": \"rx\",\n \"negative\": 1026,\n \"positive\": 1027\n },\n \"yaw\": {\n \"aus\": [\n 1028,\n 1029\n ],\n \"axis\": \"ry\",\n \"negative\": 1028,\n \"positive\": 1029\n },\n \"roll\": {\n \"aus\": [\n 1030,\n 1031\n ],\n \"axis\": \"rz\",\n \"negative\": 1030,\n \"positive\": 1031\n }\n },\n {\n \"node\": \"neck\",\n \"pitch\": {\n \"aus\": [\n 1032,\n 1033\n ],\n \"axis\": \"rx\",\n \"negative\": 1032,\n \"positive\": 1033\n },\n \"yaw\": {\n \"aus\": [\n 1034,\n 1035\n ],\n \"axis\": \"ry\",\n \"negative\": 1034,\n \"positive\": 1035\n },\n \"roll\": {\n \"aus\": [\n 1036,\n 1037\n ],\n \"axis\": \"rz\",\n \"negative\": 1036,\n \"positive\": 1037\n }\n },\n {\n \"node\": \"leftShoulder\",\n \"roll\": {\n \"aus\": [\n 1038,\n 1039\n ],\n \"axis\": \"rz\",\n \"negative\": 1038,\n \"positive\": 1039\n },\n \"pitch\": {\n \"aus\": [\n 1040,\n 1041\n ],\n \"axis\": \"rx\",\n \"negative\": 1040,\n \"positive\": 1041\n }\n },\n {\n \"node\": \"rightShoulder\",\n \"roll\": {\n \"aus\": [\n 1038,\n 1039\n ],\n \"axis\": \"rz\",\n \"negative\": 1038,\n \"positive\": 1039\n },\n \"pitch\": {\n \"aus\": [\n 1040,\n 1041\n ],\n \"axis\": \"rx\",\n \"negative\": 1040,\n \"positive\": 1041\n }\n },\n {\n \"node\": \"leftUpperArm\",\n \"pitch\": {\n \"aus\": [\n 1042,\n 1043\n ],\n \"axis\": \"rx\",\n \"negative\": 1042,\n \"positive\": 1043\n },\n \"roll\": {\n \"aus\": [\n 1044,\n 1045\n ],\n \"axis\": \"rz\",\n \"negative\": 1044,\n \"positive\": 1045\n },\n \"yaw\": {\n \"aus\": [\n 1046,\n 1047\n ],\n \"axis\": \"ry\",\n \"negative\": 1046,\n \"positive\": 1047\n }\n },\n {\n \"node\": \"rightUpperArm\",\n \"pitch\": {\n \"aus\": [\n 1042,\n 1043\n ],\n \"axis\": \"rx\",\n \"negative\": 1042,\n \"positive\": 1043\n },\n \"roll\": {\n \"aus\": [\n 1044,\n 1045\n ],\n \"axis\": \"rz\",\n \"negative\": 1044,\n \"positive\": 1045\n },\n \"yaw\": {\n \"aus\": [\n 1046,\n 1047\n ],\n \"axis\": \"ry\",\n \"negative\": 1046,\n \"positive\": 1047\n }\n },\n {\n \"node\": \"leftHand\",\n \"pitch\": {\n \"aus\": [\n 1050,\n 1051\n ],\n \"axis\": \"rx\",\n \"negative\": 1050,\n \"positive\": 1051\n },\n \"roll\": {\n \"aus\": [\n 1052,\n 1053\n ],\n \"axis\": \"rz\",\n \"negative\": 1052,\n \"positive\": 1053\n }\n },\n {\n \"node\": \"rightHand\",\n \"pitch\": {\n \"aus\": [\n 1050,\n 1051\n ],\n \"axis\": \"rx\",\n \"negative\": 1050,\n \"positive\": 1051\n },\n \"roll\": {\n \"aus\": [\n 1052,\n 1053\n ],\n \"axis\": \"rz\",\n \"negative\": 1052,\n \"positive\": 1053\n }\n },\n {\n \"node\": \"leftUpperLeg\",\n \"pitch\": {\n \"aus\": [\n 1054,\n 1055\n ],\n \"axis\": \"rx\",\n \"negative\": 1054,\n \"positive\": 1055\n },\n \"roll\": {\n \"aus\": [\n 1056,\n 1057\n ],\n \"axis\": \"rz\",\n \"negative\": 1056,\n \"positive\": 1057\n },\n \"yaw\": {\n \"aus\": [\n 1058,\n 1059\n ],\n \"axis\": \"ry\",\n \"negative\": 1058,\n \"positive\": 1059\n }\n },\n {\n \"node\": \"rightUpperLeg\",\n \"pitch\": {\n \"aus\": [\n 1054,\n 1055\n ],\n \"axis\": \"rx\",\n \"negative\": 1054,\n \"positive\": 1055\n },\n \"roll\": {\n \"aus\": [\n 1056,\n 1057\n ],\n \"axis\": \"rz\",\n \"negative\": 1056,\n \"positive\": 1057\n },\n \"yaw\": {\n \"aus\": [\n 1058,\n 1059\n ],\n \"axis\": \"ry\",\n \"negative\": 1058,\n \"positive\": 1059\n }\n },\n {\n \"node\": \"leftFoot\",\n \"pitch\": {\n \"aus\": [\n 1060,\n 1061\n ],\n \"axis\": \"rx\",\n \"negative\": 1060,\n \"positive\": 1061\n },\n \"yaw\": {\n \"aus\": [\n 1062,\n 1063\n ],\n \"axis\": \"ry\",\n \"negative\": 1062,\n \"positive\": 1063\n }\n },\n {\n \"node\": \"rightFoot\",\n \"pitch\": {\n \"aus\": [\n 1060,\n 1061\n ],\n \"axis\": \"rx\",\n \"negative\": 1060,\n \"positive\": 1061\n },\n \"yaw\": {\n \"aus\": [\n 1062,\n 1063\n ],\n \"axis\": \"ry\",\n \"negative\": 1062,\n \"positive\": 1063\n }\n },\n {\n \"node\": \"leftToes\",\n \"pitch\": {\n \"aus\": [\n 1064,\n 1065\n ],\n \"axis\": \"rx\",\n \"negative\": 1064,\n \"positive\": 1065\n }\n },\n {\n \"node\": \"rightToes\",\n \"pitch\": {\n \"aus\": [\n 1064,\n 1065\n ],\n \"axis\": \"rx\",\n \"negative\": 1064,\n \"positive\": 1065\n }\n },\n {\n \"node\": \"leftThumbMetacarpal\",\n \"pitch\": {\n \"aus\": [\n 1066\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1069,\n 1070\n ],\n \"axis\": \"rz\",\n \"negative\": 1069,\n \"positive\": 1070\n }\n },\n {\n \"node\": \"rightThumbMetacarpal\",\n \"pitch\": {\n \"aus\": [\n 1066\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1069,\n 1070\n ],\n \"axis\": \"rz\",\n \"negative\": 1069,\n \"positive\": 1070\n }\n },\n {\n \"node\": \"leftThumbProximal\",\n \"pitch\": {\n \"aus\": [\n 1067\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightThumbProximal\",\n \"pitch\": {\n \"aus\": [\n 1067\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftThumbDistal\",\n \"pitch\": {\n \"aus\": [\n 1068\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightThumbDistal\",\n \"pitch\": {\n \"aus\": [\n 1068\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftIndexProximal\",\n \"pitch\": {\n \"aus\": [\n 1071\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1074,\n 1075\n ],\n \"axis\": \"rz\",\n \"negative\": 1074,\n \"positive\": 1075\n }\n },\n {\n \"node\": \"rightIndexProximal\",\n \"pitch\": {\n \"aus\": [\n 1071\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1074,\n 1075\n ],\n \"axis\": \"rz\",\n \"negative\": 1074,\n \"positive\": 1075\n }\n },\n {\n \"node\": \"leftIndexIntermediate\",\n \"pitch\": {\n \"aus\": [\n 1072\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightIndexIntermediate\",\n \"pitch\": {\n \"aus\": [\n 1072\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftIndexDistal\",\n \"pitch\": {\n \"aus\": [\n 1073\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightIndexDistal\",\n \"pitch\": {\n \"aus\": [\n 1073\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftMiddleProximal\",\n \"pitch\": {\n \"aus\": [\n 1076\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1079,\n 1080\n ],\n \"axis\": \"rz\",\n \"negative\": 1079,\n \"positive\": 1080\n }\n },\n {\n \"node\": \"rightMiddleProximal\",\n \"pitch\": {\n \"aus\": [\n 1076\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1079,\n 1080\n ],\n \"axis\": \"rz\",\n \"negative\": 1079,\n \"positive\": 1080\n }\n },\n {\n \"node\": \"leftMiddleIntermediate\",\n \"pitch\": {\n \"aus\": [\n 1077\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightMiddleIntermediate\",\n \"pitch\": {\n \"aus\": [\n 1077\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftMiddleDistal\",\n \"pitch\": {\n \"aus\": [\n 1078\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightMiddleDistal\",\n \"pitch\": {\n \"aus\": [\n 1078\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftRingProximal\",\n \"pitch\": {\n \"aus\": [\n 1081\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1084,\n 1085\n ],\n \"axis\": \"rz\",\n \"negative\": 1084,\n \"positive\": 1085\n }\n },\n {\n \"node\": \"rightRingProximal\",\n \"pitch\": {\n \"aus\": [\n 1081\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1084,\n 1085\n ],\n \"axis\": \"rz\",\n \"negative\": 1084,\n \"positive\": 1085\n }\n },\n {\n \"node\": \"leftRingIntermediate\",\n \"pitch\": {\n \"aus\": [\n 1082\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightRingIntermediate\",\n \"pitch\": {\n \"aus\": [\n 1082\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftRingDistal\",\n \"pitch\": {\n \"aus\": [\n 1083\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightRingDistal\",\n \"pitch\": {\n \"aus\": [\n 1083\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftLittleProximal\",\n \"pitch\": {\n \"aus\": [\n 1086\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1089,\n 1090\n ],\n \"axis\": \"rz\",\n \"negative\": 1089,\n \"positive\": 1090\n }\n },\n {\n \"node\": \"rightLittleProximal\",\n \"pitch\": {\n \"aus\": [\n 1086\n ],\n \"axis\": \"rx\"\n },\n \"roll\": {\n \"aus\": [\n 1089,\n 1090\n ],\n \"axis\": \"rz\",\n \"negative\": 1089,\n \"positive\": 1090\n }\n },\n {\n \"node\": \"leftLittleIntermediate\",\n \"pitch\": {\n \"aus\": [\n 1087\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightLittleIntermediate\",\n \"pitch\": {\n \"aus\": [\n 1087\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"leftLittleDistal\",\n \"pitch\": {\n \"aus\": [\n 1088\n ],\n \"axis\": \"rx\"\n }\n },\n {\n \"node\": \"rightLittleDistal\",\n \"pitch\": {\n \"aus\": [\n 1088\n ],\n \"axis\": \"rx\"\n }\n }\n ],\n \"humanoidCharacterization\": {\n \"schemaVersion\": 1,\n \"standard\": \"VRMC_vrm-1.0\",\n \"status\": \"characterized\",\n \"roles\": {\n \"hips\": {\n \"nodeKey\": \"HIPS\",\n \"source\": \"cc4-preset\"\n },\n \"spine\": {\n \"nodeKey\": \"WAIST\",\n \"source\": \"cc4-preset\"\n },\n \"chest\": {\n \"nodeKey\": \"SPINE_01\",\n \"source\": \"cc4-preset\"\n },\n \"neck\": {\n \"nodeKey\": \"NECK\",\n \"source\": \"cc4-preset\"\n },\n \"head\": {\n \"nodeKey\": \"HEAD\",\n \"source\": \"cc4-preset\"\n },\n \"leftUpperArm\": {\n \"nodeKey\": \"UPPER_ARM_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftLowerArm\": {\n \"nodeKey\": \"LOWER_ARM_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftHand\": {\n \"nodeKey\": \"HAND_L\",\n \"source\": \"cc4-preset\"\n },\n \"rightUpperArm\": {\n \"nodeKey\": \"UPPER_ARM_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightLowerArm\": {\n \"nodeKey\": \"LOWER_ARM_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightHand\": {\n \"nodeKey\": \"HAND_R\",\n \"source\": \"cc4-preset\"\n },\n \"leftUpperLeg\": {\n \"nodeKey\": \"UPPER_LEG_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftLowerLeg\": {\n \"nodeKey\": \"LOWER_LEG_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftFoot\": {\n \"nodeKey\": \"FOOT_L\",\n \"source\": \"cc4-preset\"\n },\n \"rightUpperLeg\": {\n \"nodeKey\": \"UPPER_LEG_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightLowerLeg\": {\n \"nodeKey\": \"LOWER_LEG_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightFoot\": {\n \"nodeKey\": \"FOOT_R\",\n \"source\": \"cc4-preset\"\n },\n \"upperChest\": {\n \"nodeKey\": \"SPINE_02\",\n \"source\": \"cc4-preset\"\n },\n \"leftEye\": {\n \"nodeKey\": \"EYE_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftShoulder\": {\n \"nodeKey\": \"CLAVICLE_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftToes\": {\n \"nodeKey\": \"TOEBASE_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftThumbMetacarpal\": {\n \"nodeKey\": \"THUMB_METACARPAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftThumbProximal\": {\n \"nodeKey\": \"THUMB_PROXIMAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftThumbDistal\": {\n \"nodeKey\": \"THUMB_DISTAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftIndexProximal\": {\n \"nodeKey\": \"INDEX_PROXIMAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftIndexIntermediate\": {\n \"nodeKey\": \"INDEX_INTERMEDIATE_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftIndexDistal\": {\n \"nodeKey\": \"INDEX_DISTAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftMiddleProximal\": {\n \"nodeKey\": \"MIDDLE_PROXIMAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftMiddleIntermediate\": {\n \"nodeKey\": \"MIDDLE_INTERMEDIATE_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftMiddleDistal\": {\n \"nodeKey\": \"MIDDLE_DISTAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftRingProximal\": {\n \"nodeKey\": \"RING_PROXIMAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftRingIntermediate\": {\n \"nodeKey\": \"RING_INTERMEDIATE_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftRingDistal\": {\n \"nodeKey\": \"RING_DISTAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftLittleProximal\": {\n \"nodeKey\": \"LITTLE_PROXIMAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftLittleIntermediate\": {\n \"nodeKey\": \"LITTLE_INTERMEDIATE_L\",\n \"source\": \"cc4-preset\"\n },\n \"leftLittleDistal\": {\n \"nodeKey\": \"LITTLE_DISTAL_L\",\n \"source\": \"cc4-preset\"\n },\n \"rightEye\": {\n \"nodeKey\": \"EYE_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightShoulder\": {\n \"nodeKey\": \"CLAVICLE_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightToes\": {\n \"nodeKey\": \"TOEBASE_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightThumbMetacarpal\": {\n \"nodeKey\": \"THUMB_METACARPAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightThumbProximal\": {\n \"nodeKey\": \"THUMB_PROXIMAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightThumbDistal\": {\n \"nodeKey\": \"THUMB_DISTAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightIndexProximal\": {\n \"nodeKey\": \"INDEX_PROXIMAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightIndexIntermediate\": {\n \"nodeKey\": \"INDEX_INTERMEDIATE_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightIndexDistal\": {\n \"nodeKey\": \"INDEX_DISTAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightMiddleProximal\": {\n \"nodeKey\": \"MIDDLE_PROXIMAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightMiddleIntermediate\": {\n \"nodeKey\": \"MIDDLE_INTERMEDIATE_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightMiddleDistal\": {\n \"nodeKey\": \"MIDDLE_DISTAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightRingProximal\": {\n \"nodeKey\": \"RING_PROXIMAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightRingIntermediate\": {\n \"nodeKey\": \"RING_INTERMEDIATE_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightRingDistal\": {\n \"nodeKey\": \"RING_DISTAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightLittleProximal\": {\n \"nodeKey\": \"LITTLE_PROXIMAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightLittleIntermediate\": {\n \"nodeKey\": \"LITTLE_INTERMEDIATE_R\",\n \"source\": \"cc4-preset\"\n },\n \"rightLittleDistal\": {\n \"nodeKey\": \"LITTLE_DISTAL_R\",\n \"source\": \"cc4-preset\"\n },\n \"jaw\": {\n \"nodeKey\": \"JAW\",\n \"source\": \"cc4-preset\"\n }\n }\n },\n \"bodyControls\": {\n \"body.elbowFlex\": {\n \"label\": \"Elbow flex / biceps\",\n \"section\": \"Arms\",\n \"auId\": 1001,\n \"bilateral\": true,\n \"roles\": [\n \"leftLowerArm\",\n \"rightLowerArm\"\n ],\n \"order\": 10\n },\n \"body.kneeBend\": {\n \"label\": \"Knee bend\",\n \"section\": \"Legs\",\n \"auId\": 1002,\n \"bilateral\": true,\n \"roles\": [\n \"leftLowerLeg\",\n \"rightLowerLeg\"\n ],\n \"order\": 20\n },\n \"body.torsoTwist\": {\n \"label\": \"Torso twist\",\n \"section\": \"Torso\",\n \"auId\": 1004,\n \"negativeAuId\": 1003,\n \"bilateral\": false,\n \"roles\": [\n \"chest\"\n ],\n \"order\": 30\n },\n \"body.hipsBend\": {\n \"label\": \"Whole body bend\",\n \"section\": \"Whole body\",\n \"auId\": 1011,\n \"bilateral\": false,\n \"roles\": [\n \"hips\"\n ],\n \"order\": 40,\n \"negativeAuId\": 1010\n },\n \"body.hipsTwist\": {\n \"label\": \"Whole body twist\",\n \"section\": \"Whole body\",\n \"auId\": 1013,\n \"bilateral\": false,\n \"roles\": [\n \"hips\"\n ],\n \"order\": 50,\n \"negativeAuId\": 1012\n },\n \"body.hipsSideBend\": {\n \"label\": \"Whole body side bend\",\n \"section\": \"Whole body\",\n \"auId\": 1015,\n \"bilateral\": false,\n \"roles\": [\n \"hips\"\n ],\n \"order\": 60,\n \"negativeAuId\": 1014\n },\n \"body.spineBend\": {\n \"label\": \"Lower spine bend\",\n \"section\": \"Torso\",\n \"auId\": 1017,\n \"bilateral\": false,\n \"roles\": [\n \"spine\"\n ],\n \"order\": 70,\n \"negativeAuId\": 1016\n },\n \"body.spineTwist\": {\n \"label\": \"Lower spine twist\",\n \"section\": \"Torso\",\n \"auId\": 1019,\n \"bilateral\": false,\n \"roles\": [\n \"spine\"\n ],\n \"order\": 80,\n \"negativeAuId\": 1018\n },\n \"body.spineSideBend\": {\n \"label\": \"Lower spine side bend\",\n \"section\": \"Torso\",\n \"auId\": 1021,\n \"bilateral\": false,\n \"roles\": [\n \"spine\"\n ],\n \"order\": 90,\n \"negativeAuId\": 1020\n },\n \"body.chestBend\": {\n \"label\": \"Chest bend\",\n \"section\": \"Torso\",\n \"auId\": 1023,\n \"bilateral\": false,\n \"roles\": [\n \"chest\"\n ],\n \"order\": 100,\n \"negativeAuId\": 1022\n },\n \"body.chestSideBend\": {\n \"label\": \"Chest side bend\",\n \"section\": \"Torso\",\n \"auId\": 1025,\n \"bilateral\": false,\n \"roles\": [\n \"chest\"\n ],\n \"order\": 110,\n \"negativeAuId\": 1024\n },\n \"body.upperChestBend\": {\n \"label\": \"Upper chest bend\",\n \"section\": \"Torso\",\n \"auId\": 1027,\n \"bilateral\": false,\n \"roles\": [\n \"upperChest\"\n ],\n \"order\": 120,\n \"negativeAuId\": 1026\n },\n \"body.upperChestTwist\": {\n \"label\": \"Upper chest twist\",\n \"section\": \"Torso\",\n \"auId\": 1029,\n \"bilateral\": false,\n \"roles\": [\n \"upperChest\"\n ],\n \"order\": 130,\n \"negativeAuId\": 1028\n },\n \"body.upperChestSideBend\": {\n \"label\": \"Upper chest side bend\",\n \"section\": \"Torso\",\n \"auId\": 1031,\n \"bilateral\": false,\n \"roles\": [\n \"upperChest\"\n ],\n \"order\": 140,\n \"negativeAuId\": 1030\n },\n \"body.neckBend\": {\n \"label\": \"Neck bend\",\n \"section\": \"Head\",\n \"auId\": 1033,\n \"bilateral\": false,\n \"roles\": [\n \"neck\"\n ],\n \"order\": 150,\n \"negativeAuId\": 1032\n },\n \"body.neckTwist\": {\n \"label\": \"Neck twist\",\n \"section\": \"Head\",\n \"auId\": 1035,\n \"bilateral\": false,\n \"roles\": [\n \"neck\"\n ],\n \"order\": 160,\n \"negativeAuId\": 1034\n },\n \"body.neckSideBend\": {\n \"label\": \"Neck side bend\",\n \"section\": \"Head\",\n \"auId\": 1037,\n \"bilateral\": false,\n \"roles\": [\n \"neck\"\n ],\n \"order\": 170,\n \"negativeAuId\": 1036\n },\n \"body.shoulderRaise\": {\n \"label\": \"Shoulder raise\",\n \"section\": \"Arms\",\n \"auId\": 1039,\n \"bilateral\": true,\n \"roles\": [\n \"leftShoulder\",\n \"rightShoulder\"\n ],\n \"order\": 180,\n \"negativeAuId\": 1038\n },\n \"body.shoulderSwing\": {\n \"label\": \"Shoulder forward/back\",\n \"section\": \"Arms\",\n \"auId\": 1041,\n \"bilateral\": true,\n \"roles\": [\n \"leftShoulder\",\n \"rightShoulder\"\n ],\n \"order\": 190,\n \"negativeAuId\": 1040\n },\n \"body.armSwing\": {\n \"label\": \"Arm forward/back\",\n \"section\": \"Arms\",\n \"auId\": 1043,\n \"bilateral\": true,\n \"roles\": [\n \"leftUpperArm\",\n \"rightUpperArm\"\n ],\n \"order\": 200,\n \"negativeAuId\": 1042\n },\n \"body.armSpread\": {\n \"label\": \"Arm raise/lower\",\n \"section\": \"Arms\",\n \"auId\": 1045,\n \"bilateral\": true,\n \"roles\": [\n \"leftUpperArm\",\n \"rightUpperArm\"\n ],\n \"order\": 210,\n \"negativeAuId\": 1044\n },\n \"body.armTwist\": {\n \"label\": \"Upper arm twist\",\n \"section\": \"Arms\",\n \"auId\": 1047,\n \"bilateral\": true,\n \"roles\": [\n \"leftUpperArm\",\n \"rightUpperArm\"\n ],\n \"order\": 220,\n \"negativeAuId\": 1046\n },\n \"body.forearmTwist\": {\n \"label\": \"Forearm rotation\",\n \"section\": \"Arms\",\n \"auId\": 1049,\n \"bilateral\": true,\n \"roles\": [\n \"leftLowerArm\",\n \"rightLowerArm\"\n ],\n \"order\": 230,\n \"negativeAuId\": 1048\n },\n \"body.wristBend\": {\n \"label\": \"Wrist bend\",\n \"section\": \"Hands\",\n \"auId\": 1051,\n \"bilateral\": true,\n \"roles\": [\n \"leftHand\",\n \"rightHand\"\n ],\n \"order\": 240,\n \"negativeAuId\": 1050\n },\n \"body.wristDeviation\": {\n \"label\": \"Wrist side bend\",\n \"section\": \"Hands\",\n \"auId\": 1053,\n \"bilateral\": true,\n \"roles\": [\n \"leftHand\",\n \"rightHand\"\n ],\n \"order\": 250,\n \"negativeAuId\": 1052\n },\n \"body.hipSwing\": {\n \"label\": \"Hip forward/back\",\n \"section\": \"Legs\",\n \"auId\": 1055,\n \"bilateral\": true,\n \"roles\": [\n \"leftUpperLeg\",\n \"rightUpperLeg\"\n ],\n \"order\": 260,\n \"negativeAuId\": 1054\n },\n \"body.hipSpread\": {\n \"label\": \"Hip outward/inward\",\n \"section\": \"Legs\",\n \"auId\": 1057,\n \"bilateral\": true,\n \"roles\": [\n \"leftUpperLeg\",\n \"rightUpperLeg\"\n ],\n \"order\": 270,\n \"negativeAuId\": 1056\n },\n \"body.hipTwist\": {\n \"label\": \"Hip rotation\",\n \"section\": \"Legs\",\n \"auId\": 1059,\n \"bilateral\": true,\n \"roles\": [\n \"leftUpperLeg\",\n \"rightUpperLeg\"\n ],\n \"order\": 280,\n \"negativeAuId\": 1058\n },\n \"body.ankleBend\": {\n \"label\": \"Ankle bend\",\n \"section\": \"Feet\",\n \"auId\": 1061,\n \"bilateral\": true,\n \"roles\": [\n \"leftFoot\",\n \"rightFoot\"\n ],\n \"order\": 290,\n \"negativeAuId\": 1060\n },\n \"body.footTilt\": {\n \"label\": \"Foot tilt\",\n \"section\": \"Feet\",\n \"auId\": 1063,\n \"bilateral\": true,\n \"roles\": [\n \"leftFoot\",\n \"rightFoot\"\n ],\n \"order\": 300,\n \"negativeAuId\": 1062\n },\n \"body.toeBend\": {\n \"label\": \"Toe bend\",\n \"section\": \"Feet\",\n \"auId\": 1065,\n \"bilateral\": true,\n \"roles\": [\n \"leftToes\",\n \"rightToes\"\n ],\n \"order\": 310,\n \"negativeAuId\": 1064\n },\n \"body.thumbMetacarpalCurl\": {\n \"label\": \"Thumb metacarpal curl\",\n \"section\": \"Hands\",\n \"auId\": 1066,\n \"bilateral\": true,\n \"roles\": [\n \"leftThumbMetacarpal\",\n \"rightThumbMetacarpal\"\n ],\n \"order\": 320\n },\n \"body.thumbProximalCurl\": {\n \"label\": \"Thumb proximal curl\",\n \"section\": \"Hands\",\n \"auId\": 1067,\n \"bilateral\": true,\n \"roles\": [\n \"leftThumbProximal\",\n \"rightThumbProximal\"\n ],\n \"order\": 330\n },\n \"body.thumbDistalCurl\": {\n \"label\": \"Thumb distal curl\",\n \"section\": \"Hands\",\n \"auId\": 1068,\n \"bilateral\": true,\n \"roles\": [\n \"leftThumbDistal\",\n \"rightThumbDistal\"\n ],\n \"order\": 340\n },\n \"body.thumbSpread\": {\n \"label\": \"Thumb spread\",\n \"section\": \"Hands\",\n \"auId\": 1070,\n \"bilateral\": true,\n \"roles\": [\n \"leftThumbMetacarpal\",\n \"rightThumbMetacarpal\"\n ],\n \"order\": 350,\n \"negativeAuId\": 1069\n },\n \"body.indexProximalCurl\": {\n \"label\": \"Index proximal curl\",\n \"section\": \"Hands\",\n \"auId\": 1071,\n \"bilateral\": true,\n \"roles\": [\n \"leftIndexProximal\",\n \"rightIndexProximal\"\n ],\n \"order\": 360\n },\n \"body.indexIntermediateCurl\": {\n \"label\": \"Index intermediate curl\",\n \"section\": \"Hands\",\n \"auId\": 1072,\n \"bilateral\": true,\n \"roles\": [\n \"leftIndexIntermediate\",\n \"rightIndexIntermediate\"\n ],\n \"order\": 370\n },\n \"body.indexDistalCurl\": {\n \"label\": \"Index distal curl\",\n \"section\": \"Hands\",\n \"auId\": 1073,\n \"bilateral\": true,\n \"roles\": [\n \"leftIndexDistal\",\n \"rightIndexDistal\"\n ],\n \"order\": 380\n },\n \"body.indexSpread\": {\n \"label\": \"Index spread\",\n \"section\": \"Hands\",\n \"auId\": 1075,\n \"bilateral\": true,\n \"roles\": [\n \"leftIndexProximal\",\n \"rightIndexProximal\"\n ],\n \"order\": 390,\n \"negativeAuId\": 1074\n },\n \"body.middleProximalCurl\": {\n \"label\": \"Middle proximal curl\",\n \"section\": \"Hands\",\n \"auId\": 1076,\n \"bilateral\": true,\n \"roles\": [\n \"leftMiddleProximal\",\n \"rightMiddleProximal\"\n ],\n \"order\": 400\n },\n \"body.middleIntermediateCurl\": {\n \"label\": \"Middle intermediate curl\",\n \"section\": \"Hands\",\n \"auId\": 1077,\n \"bilateral\": true,\n \"roles\": [\n \"leftMiddleIntermediate\",\n \"rightMiddleIntermediate\"\n ],\n \"order\": 410\n },\n \"body.middleDistalCurl\": {\n \"label\": \"Middle distal curl\",\n \"section\": \"Hands\",\n \"auId\": 1078,\n \"bilateral\": true,\n \"roles\": [\n \"leftMiddleDistal\",\n \"rightMiddleDistal\"\n ],\n \"order\": 420\n },\n \"body.middleSpread\": {\n \"label\": \"Middle spread\",\n \"section\": \"Hands\",\n \"auId\": 1080,\n \"bilateral\": true,\n \"roles\": [\n \"leftMiddleProximal\",\n \"rightMiddleProximal\"\n ],\n \"order\": 430,\n \"negativeAuId\": 1079\n },\n \"body.ringProximalCurl\": {\n \"label\": \"Ring proximal curl\",\n \"section\": \"Hands\",\n \"auId\": 1081,\n \"bilateral\": true,\n \"roles\": [\n \"leftRingProximal\",\n \"rightRingProximal\"\n ],\n \"order\": 440\n },\n \"body.ringIntermediateCurl\": {\n \"label\": \"Ring intermediate curl\",\n \"section\": \"Hands\",\n \"auId\": 1082,\n \"bilateral\": true,\n \"roles\": [\n \"leftRingIntermediate\",\n \"rightRingIntermediate\"\n ],\n \"order\": 450\n },\n \"body.ringDistalCurl\": {\n \"label\": \"Ring distal curl\",\n \"section\": \"Hands\",\n \"auId\": 1083,\n \"bilateral\": true,\n \"roles\": [\n \"leftRingDistal\",\n \"rightRingDistal\"\n ],\n \"order\": 460\n },\n \"body.ringSpread\": {\n \"label\": \"Ring spread\",\n \"section\": \"Hands\",\n \"auId\": 1085,\n \"bilateral\": true,\n \"roles\": [\n \"leftRingProximal\",\n \"rightRingProximal\"\n ],\n \"order\": 470,\n \"negativeAuId\": 1084\n },\n \"body.littleProximalCurl\": {\n \"label\": \"Little proximal curl\",\n \"section\": \"Hands\",\n \"auId\": 1086,\n \"bilateral\": true,\n \"roles\": [\n \"leftLittleProximal\",\n \"rightLittleProximal\"\n ],\n \"order\": 480\n },\n \"body.littleIntermediateCurl\": {\n \"label\": \"Little intermediate curl\",\n \"section\": \"Hands\",\n \"auId\": 1087,\n \"bilateral\": true,\n \"roles\": [\n \"leftLittleIntermediate\",\n \"rightLittleIntermediate\"\n ],\n \"order\": 490\n },\n \"body.littleDistalCurl\": {\n \"label\": \"Little distal curl\",\n \"section\": \"Hands\",\n \"auId\": 1088,\n \"bilateral\": true,\n \"roles\": [\n \"leftLittleDistal\",\n \"rightLittleDistal\"\n ],\n \"order\": 500\n },\n \"body.littleSpread\": {\n \"label\": \"Little spread\",\n \"section\": \"Hands\",\n \"auId\": 1090,\n \"bilateral\": true,\n \"roles\": [\n \"leftLittleProximal\",\n \"rightLittleProximal\"\n ],\n \"order\": 510,\n \"negativeAuId\": 1089\n },\n \"body.headTurn\": {\n \"label\": \"Head turn\",\n \"section\": \"Head\",\n \"auId\": 52,\n \"bilateral\": false,\n \"roles\": [\n \"head\"\n ],\n \"order\": 520,\n \"negativeAuId\": 51\n },\n \"body.headNod\": {\n \"label\": \"Head nod\",\n \"section\": \"Head\",\n \"auId\": 53,\n \"bilateral\": false,\n \"roles\": [\n \"head\"\n ],\n \"order\": 530,\n \"negativeAuId\": 54\n },\n \"body.headTilt\": {\n \"label\": \"Head tilt\",\n \"section\": \"Head\",\n \"auId\": 56,\n \"bilateral\": false,\n \"roles\": [\n \"head\"\n ],\n \"order\": 540,\n \"negativeAuId\": 55\n },\n \"body.eyeTurn\": {\n \"label\": \"Eyes turn\",\n \"section\": \"Head\",\n \"auId\": 62,\n \"bilateral\": true,\n \"roles\": [\n \"leftEye\",\n \"rightEye\"\n ],\n \"order\": 550,\n \"negativeAuId\": 61\n },\n \"body.eyeLook\": {\n \"label\": \"Eyes up/down\",\n \"section\": \"Head\",\n \"auId\": 63,\n \"bilateral\": true,\n \"roles\": [\n \"leftEye\",\n \"rightEye\"\n ],\n \"order\": 560,\n \"negativeAuId\": 64\n },\n \"body.jawOpen\": {\n \"label\": \"Jaw open\",\n \"section\": \"Head\",\n \"auId\": 26,\n \"bilateral\": false,\n \"roles\": [\n \"jaw\"\n ],\n \"order\": 570\n },\n \"body.jawSide\": {\n \"label\": \"Jaw sideways\",\n \"section\": \"Head\",\n \"auId\": 35,\n \"bilateral\": false,\n \"roles\": [\n \"jaw\"\n ],\n \"order\": 580,\n \"negativeAuId\": 30\n }\n },\n \"bodyControlCalibration\": {\n \"source\": \"LoomLarge/loomlarge_lol/public/characters/jonathan_bust.glb\",\n \"basis\": \"Local rotations after reference quaternion: forearm +X moves hands toward model +Z; calf -X moves feet toward -Z; spine Y is vertical.\",\n \"limits\": \"Authored demonstration ranges. Recalibrate axes and ranges for other rigs.\",\n \"morphs\": \"Optional authored per-side bicep targets; profile auToMorphs may also bind existing center skin/clothing morphs.\"\n },\n \"hairColorPresets\": {\n \"natural_black\": {\n \"name\": \"Natural Black\",\n \"baseColor\": \"#1a1a1a\",\n \"emissive\": \"#000000\",\n \"emissiveIntensity\": 0\n },\n \"natural_brown\": {\n \"name\": \"Natural Brown\",\n \"baseColor\": \"#4a3728\",\n \"emissive\": \"#000000\",\n \"emissiveIntensity\": 0\n },\n \"natural_blonde\": {\n \"name\": \"Natural Blonde\",\n \"baseColor\": \"#e6c78a\",\n \"emissive\": \"#000000\",\n \"emissiveIntensity\": 0\n },\n \"natural_red\": {\n \"name\": \"Natural Red\",\n \"baseColor\": \"#8b3a3a\",\n \"emissive\": \"#000000\",\n \"emissiveIntensity\": 0\n },\n \"natural_gray\": {\n \"name\": \"Natural Gray\",\n \"baseColor\": \"#9e9e9e\",\n \"emissive\": \"#000000\",\n \"emissiveIntensity\": 0\n },\n \"natural_white\": {\n \"name\": \"Natural White\",\n \"baseColor\": \"#f5f5f5\",\n \"emissive\": \"#000000\",\n \"emissiveIntensity\": 0\n },\n \"neon_blue\": {\n \"name\": \"Neon Blue\",\n \"baseColor\": \"#00ffff\",\n \"emissive\": \"#0000ff\",\n \"emissiveIntensity\": 0.8\n },\n \"neon_pink\": {\n \"name\": \"Neon Pink\",\n \"baseColor\": \"#ff00ff\",\n \"emissive\": \"#ff1493\",\n \"emissiveIntensity\": 0.8\n },\n \"neon_green\": {\n \"name\": \"Neon Green\",\n \"baseColor\": \"#00ff00\",\n \"emissive\": \"#00ff00\",\n \"emissiveIntensity\": 0.8\n },\n \"electric_purple\": {\n \"name\": \"Electric Purple\",\n \"baseColor\": \"#9d00ff\",\n \"emissive\": \"#9d00ff\",\n \"emissiveIntensity\": 0.6\n },\n \"fire_orange\": {\n \"name\": \"Fire Orange\",\n \"baseColor\": \"#ff6600\",\n \"emissive\": \"#ff3300\",\n \"emissiveIntensity\": 0.7\n }\n }\n}\n","{\n \"id\": \"cc4-humanoid\",\n \"sourceCharacterId\": \"cc4\",\n \"sourceAsset\": \"assets/presets/cc4.json\",\n \"sourceSkinName\": \"Armature\",\n \"bones\": [\n {\n \"name\": \"CC_Base_BoneRoot\",\n \"parent\": null,\n \"translation\": [\n 0,\n 0,\n 0\n ]\n },\n {\n \"name\": \"CC_Base_Hip\",\n \"parent\": \"CC_Base_BoneRoot\",\n \"translation\": [\n 0,\n 0,\n 102.33650207519531\n ]\n },\n {\n \"name\": \"CC_Base_Pelvis\",\n \"parent\": \"CC_Base_Hip\",\n \"translation\": [\n -3.790411029074318e-15,\n 3.0517578125e-05,\n -7.908884072094224e-07\n ]\n },\n {\n \"name\": \"CC_Base_L_Thigh\",\n \"parent\": \"CC_Base_Pelvis\",\n \"translation\": [\n 9.953155517578125,\n -1.789858102798462,\n -1.3750107288360596\n ]\n },\n {\n \"name\": \"CC_Base_L_Calf\",\n \"parent\": \"CC_Base_L_Thigh\",\n \"translation\": [\n 0.0010912826983258128,\n 47.572593688964844,\n -0.00025631440803408623\n ]\n },\n {\n \"name\": \"CC_Base_L_Foot\",\n \"parent\": \"CC_Base_L_Calf\",\n \"translation\": [\n 0.012946736067533493,\n 47.30466842651367,\n 0.0028991601429879665\n ]\n },\n {\n \"name\": \"CC_Base_L_ToeBaseShareBone\",\n \"parent\": \"CC_Base_L_Foot\",\n \"translation\": [\n -0.00015205750241875648,\n 15.384612083435059,\n 8.890032768249512e-05\n ]\n },\n {\n \"name\": \"CC_Base_L_ToeBase\",\n \"parent\": \"CC_Base_L_Foot\",\n \"translation\": [\n -0.00015205750241875648,\n 15.384612083435059,\n 8.890032768249512e-05\n ]\n },\n {\n \"name\": \"CC_Base_L_PinkyToe1\",\n \"parent\": \"CC_Base_L_ToeBase\",\n \"translation\": [\n -2.8338863849639893,\n 0.00474335253238678,\n -0.449185848236084\n ]\n },\n {\n \"name\": \"CC_Base_L_RingToe1\",\n \"parent\": \"CC_Base_L_ToeBase\",\n \"translation\": [\n -1.4594630002975464,\n 1.165667176246643,\n -0.024081647396087646\n ]\n },\n {\n \"name\": \"CC_Base_L_MidToe1\",\n \"parent\": \"CC_Base_L_ToeBase\",\n \"translation\": [\n -5.848705768585205e-06,\n 2.3142271041870117,\n 5.245208740234375e-05\n ]\n },\n {\n \"name\": \"CC_Base_L_IndexToe1\",\n \"parent\": \"CC_Base_L_ToeBase\",\n \"translation\": [\n 1.5948846340179443,\n 2.64426851272583,\n 0.3221862316131592\n ]\n },\n {\n \"name\": \"CC_Base_L_BigToe1\",\n \"parent\": \"CC_Base_L_ToeBase\",\n \"translation\": [\n 3.8480422496795654,\n 2.5877017974853516,\n 0.018612831830978394\n ]\n },\n {\n \"name\": \"CC_Base_L_CalfTwist01\",\n \"parent\": \"CC_Base_L_Calf\",\n \"translation\": [\n -9.258394129574299e-06,\n 4.678964614868164e-06,\n -3.073364496231079e-08\n ]\n },\n {\n \"name\": \"CC_Base_L_CalfTwist02\",\n \"parent\": \"CC_Base_L_CalfTwist01\",\n \"translation\": [\n 0.008389605209231377,\n 23.652305603027344,\n 0.0010145818814635277\n ]\n },\n {\n \"name\": \"CC_Base_L_KneeShareBone\",\n \"parent\": \"CC_Base_L_Calf\",\n \"translation\": [\n -9.258394129574299e-06,\n 4.678964614868164e-06,\n -3.073364496231079e-08\n ]\n },\n {\n \"name\": \"CC_Base_L_ThighTwist01\",\n \"parent\": \"CC_Base_L_Thigh\",\n \"translation\": [\n -5.249967216514051e-08,\n -4.46811318397522e-05,\n 7.050111889839172e-07\n ]\n },\n {\n \"name\": \"CC_Base_L_ThighTwist02\",\n \"parent\": \"CC_Base_L_ThighTwist01\",\n \"translation\": [\n 0.0005524034495465457,\n 23.786300659179688,\n 3.187847323715687e-05\n ]\n },\n {\n \"name\": \"CC_Base_R_Thigh\",\n \"parent\": \"CC_Base_Pelvis\",\n \"translation\": [\n -9.953006744384766,\n -1.7889251708984375,\n -1.3763487339019775\n ]\n },\n {\n \"name\": \"CC_Base_R_Calf\",\n \"parent\": \"CC_Base_R_Thigh\",\n \"translation\": [\n -0.001107644522562623,\n 47.52029800415039,\n 4.845880903303623e-05\n ]\n },\n {\n \"name\": \"CC_Base_R_KneeShareBone\",\n \"parent\": \"CC_Base_R_Calf\",\n \"translation\": [\n -7.073394954204559e-06,\n -2.518296241760254e-06,\n 1.9818544387817383e-06\n ]\n },\n {\n \"name\": \"CC_Base_R_Foot\",\n \"parent\": \"CC_Base_R_Calf\",\n \"translation\": [\n -0.011737369000911713,\n 47.35129928588867,\n -0.0035943761467933655\n ]\n },\n {\n \"name\": \"CC_Base_R_ToeBase\",\n \"parent\": \"CC_Base_R_Foot\",\n \"translation\": [\n 0.00023105042055249214,\n 15.38337230682373,\n 0.00045359134674072266\n ]\n },\n {\n \"name\": \"CC_Base_R_BigToe1\",\n \"parent\": \"CC_Base_R_ToeBase\",\n \"translation\": [\n -3.848090648651123,\n 2.587796926498413,\n 0.018401414155960083\n ]\n },\n {\n \"name\": \"CC_Base_R_PinkyToe1\",\n \"parent\": \"CC_Base_R_ToeBase\",\n \"translation\": [\n 2.8339407444000244,\n 0.005379915237426758,\n -0.4495028853416443\n ]\n },\n {\n \"name\": \"CC_Base_R_RingToe1\",\n \"parent\": \"CC_Base_R_ToeBase\",\n \"translation\": [\n 1.4595259428024292,\n 1.1659480333328247,\n -0.02425825595855713\n ]\n },\n {\n \"name\": \"CC_Base_R_IndexToe1\",\n \"parent\": \"CC_Base_R_ToeBase\",\n \"translation\": [\n -1.59493887424469,\n 2.64436674118042,\n 0.32200416922569275\n ]\n },\n {\n \"name\": \"CC_Base_R_MidToe1\",\n \"parent\": \"CC_Base_R_ToeBase\",\n \"translation\": [\n -9.12696123123169e-06,\n 2.3142714500427246,\n 1.671910285949707e-05\n ]\n },\n {\n \"name\": \"CC_Base_R_ToeBaseShareBone\",\n \"parent\": \"CC_Base_R_Foot\",\n \"translation\": [\n 0.00023105042055249214,\n 15.38337230682373,\n 0.00045359134674072266\n ]\n },\n {\n \"name\": \"CC_Base_R_CalfTwist01\",\n \"parent\": \"CC_Base_R_Calf\",\n \"translation\": [\n -7.073394954204559e-06,\n -2.518296241760254e-06,\n 1.9818544387817383e-06\n ]\n },\n {\n \"name\": \"CC_Base_R_CalfTwist02\",\n \"parent\": \"CC_Base_R_CalfTwist01\",\n \"translation\": [\n -0.005310218781232834,\n 23.675636291503906,\n -0.0015991628170013428\n ]\n },\n {\n \"name\": \"CC_Base_R_ThighTwist01\",\n \"parent\": \"CC_Base_R_Thigh\",\n \"translation\": [\n 3.0152787076076493e-06,\n -1.2714415788650513e-05,\n -5.024485290050507e-07\n ]\n },\n {\n \"name\": \"CC_Base_R_ThighTwist02\",\n \"parent\": \"CC_Base_R_ThighTwist01\",\n \"translation\": [\n -0.000532150617800653,\n 23.760181427001953,\n -0.0005566661711782217\n ]\n },\n {\n \"name\": \"CC_Base_Waist\",\n \"parent\": \"CC_Base_Hip\",\n \"translation\": [\n 0,\n 7.9917144775390625,\n 1.035797119140625\n ]\n },\n {\n \"name\": \"CC_Base_Spine01\",\n \"parent\": \"CC_Base_Waist\",\n \"translation\": [\n 1.2880583372901905e-13,\n 4.44435453414917,\n 3.6954879760742188e-06\n ]\n },\n {\n \"name\": \"CC_Base_Spine02\",\n \"parent\": \"CC_Base_Spine01\",\n \"translation\": [\n 1.3552527156068805e-20,\n 14.241397857666016,\n -8.52346420288086e-06\n ]\n },\n {\n \"name\": \"CC_Base_NeckTwist01\",\n \"parent\": \"CC_Base_Spine02\",\n \"translation\": [\n -1.075023646990303e-06,\n 29.157955169677734,\n 4.4345855712890625e-05\n ]\n },\n {\n \"name\": \"CC_Base_NeckTwist02\",\n \"parent\": \"CC_Base_NeckTwist01\",\n \"translation\": [\n 8.672486728755757e-09,\n 3.354764223098755,\n 0.00013446807861328125\n ]\n },\n {\n \"name\": \"CC_Base_Head\",\n \"parent\": \"CC_Base_NeckTwist02\",\n \"translation\": [\n 0.00041776246507652104,\n 3.995985746383667,\n -1.358989356958773e-05\n ]\n },\n {\n \"name\": \"CC_Base_FacialBone\",\n \"parent\": \"CC_Base_Head\",\n \"translation\": [\n 5.114753065527111e-11,\n 1.5347271983046085e-05,\n -7.390974587906385e-06\n ]\n },\n {\n \"name\": \"CC_Base_JawRoot\",\n \"parent\": \"CC_Base_FacialBone\",\n \"translation\": [\n 1.856170654296875,\n 2.3725814819335938,\n -0.026499934494495392\n ]\n },\n {\n \"name\": \"CC_Base_Tongue01\",\n \"parent\": \"CC_Base_JawRoot\",\n \"translation\": [\n 3.4788222312927246,\n 1.3013767004013062,\n 0.001722173416055739\n ]\n },\n {\n \"name\": \"CC_Base_Tongue02\",\n \"parent\": \"CC_Base_Tongue01\",\n \"translation\": [\n 1.211624026298523,\n 7.291115616681054e-05,\n 2.3348256945610046e-06\n ]\n },\n {\n \"name\": \"CC_Base_Tongue03\",\n \"parent\": \"CC_Base_Tongue02\",\n \"translation\": [\n 1.8075196743011475,\n 0.0004838673339691013,\n 1.673889346420765e-05\n ]\n },\n {\n \"name\": \"CC_Base_Teeth02\",\n \"parent\": \"CC_Base_JawRoot\",\n \"translation\": [\n 3.509425640106201,\n 1.6364113092422485,\n 0.025405975058674812\n ]\n },\n {\n \"name\": \"CC_Base_R_Eye\",\n \"parent\": \"CC_Base_FacialBone\",\n \"translation\": [\n 7.916625499725342,\n 8.004108428955078,\n -3.399050235748291\n ]\n },\n {\n \"name\": \"CC_Base_L_Eye\",\n \"parent\": \"CC_Base_FacialBone\",\n \"translation\": [\n 7.864105701446533,\n 7.835659027099609,\n 3.473083019256592\n ]\n },\n {\n \"name\": \"CC_Base_UpperJaw\",\n \"parent\": \"CC_Base_FacialBone\",\n \"translation\": [\n 3.261932373046875,\n 6.942871570587158,\n -0.02468101494014263\n ]\n },\n {\n \"name\": \"CC_Base_Teeth01\",\n \"parent\": \"CC_Base_UpperJaw\",\n \"translation\": [\n 0.09780752658843994,\n 0.021660717204213142,\n 0.023386476561427116\n ]\n },\n {\n \"name\": \"CC_Base_L_Clavicle\",\n \"parent\": \"CC_Base_Spine02\",\n \"translation\": [\n 5.846743106842041,\n 22.913326263427734,\n 0.15851521492004395\n ]\n },\n {\n \"name\": \"CC_Base_L_Upperarm\",\n \"parent\": \"CC_Base_L_Clavicle\",\n \"translation\": [\n 6.332993507385254e-05,\n 13.675213813781738,\n 0.00040340423583984375\n ]\n },\n {\n \"name\": \"CC_Base_L_Forearm\",\n \"parent\": \"CC_Base_L_Upperarm\",\n \"translation\": [\n -0.0021000131964683533,\n 29.648496627807617,\n 0.0005214959383010864\n ]\n },\n {\n \"name\": \"CC_Base_L_ForearmTwist01\",\n \"parent\": \"CC_Base_L_Forearm\",\n \"translation\": [\n -2.450495958328247e-05,\n -6.3749030232429504e-06,\n 5.811452865600586e-06\n ]\n },\n {\n \"name\": \"CC_Base_L_ForearmTwist02\",\n \"parent\": \"CC_Base_L_ForearmTwist01\",\n \"translation\": [\n -0.0017938688397407532,\n 12.154339790344238,\n -0.0031246542930603027\n ]\n },\n {\n \"name\": \"CC_Base_L_ElbowShareBone\",\n \"parent\": \"CC_Base_L_Forearm\",\n \"translation\": [\n -2.450495958328247e-05,\n -6.3749030232429504e-06,\n 5.811452865600586e-06\n ]\n },\n {\n \"name\": \"CC_Base_L_Hand\",\n \"parent\": \"CC_Base_L_Forearm\",\n \"translation\": [\n -0.0032659247517585754,\n 24.308786392211914,\n -0.0040430426597595215\n ]\n },\n {\n \"name\": \"CC_Base_L_Pinky1\",\n \"parent\": \"CC_Base_L_Hand\",\n \"translation\": [\n 0.8387796878814697,\n 9.643739700317383,\n -1.8876361846923828\n ]\n },\n {\n \"name\": \"CC_Base_L_Pinky2\",\n \"parent\": \"CC_Base_L_Pinky1\",\n \"translation\": [\n 0.000396043062210083,\n 3.0504348278045654,\n -0.0001811981201171875\n ]\n },\n {\n \"name\": \"CC_Base_L_Pinky3\",\n \"parent\": \"CC_Base_L_Pinky2\",\n \"translation\": [\n 3.8370490074157715e-05,\n 1.9355652332305908,\n -3.510713577270508e-05\n ]\n },\n {\n \"name\": \"CC_Base_L_Ring1\",\n \"parent\": \"CC_Base_L_Hand\",\n \"translation\": [\n 0.0010117590427398682,\n 9.706981658935547,\n 0.0030269622802734375\n ]\n },\n {\n \"name\": \"CC_Base_L_Ring2\",\n \"parent\": \"CC_Base_L_Ring1\",\n \"translation\": [\n -0.0001965165138244629,\n 4.398406982421875,\n -0.0005393028259277344\n ]\n },\n {\n \"name\": \"CC_Base_L_Ring3\",\n \"parent\": \"CC_Base_L_Ring2\",\n \"translation\": [\n -0.0008174926042556763,\n 3.074361801147461,\n 0.0006477683782577515\n ]\n },\n {\n \"name\": \"CC_Base_L_Mid1\",\n \"parent\": \"CC_Base_L_Hand\",\n \"translation\": [\n -0.6153436303138733,\n 9.996679306030273,\n 1.9597835540771484\n ]\n },\n {\n \"name\": \"CC_Base_L_Mid2\",\n \"parent\": \"CC_Base_L_Mid1\",\n \"translation\": [\n -0.0002244412899017334,\n 4.767321586608887,\n -4.1157007217407227e-05\n ]\n },\n {\n \"name\": \"CC_Base_L_Mid3\",\n \"parent\": \"CC_Base_L_Mid2\",\n \"translation\": [\n -0.0010398924350738525,\n 3.306338310241699,\n -0.0008061528205871582\n ]\n },\n {\n \"name\": \"CC_Base_L_Index1\",\n \"parent\": \"CC_Base_L_Hand\",\n \"translation\": [\n -0.4277152717113495,\n 9.799840927124023,\n 4.421895980834961\n ]\n },\n {\n \"name\": \"CC_Base_L_Index2\",\n \"parent\": \"CC_Base_L_Index1\",\n \"translation\": [\n -0.001440480351448059,\n 4.649103164672852,\n 0.001256398856639862\n ]\n },\n {\n \"name\": \"CC_Base_L_Index3\",\n \"parent\": \"CC_Base_L_Index2\",\n \"translation\": [\n -0.0005395412445068359,\n 2.933397054672241,\n 5.2034854888916016e-05\n ]\n },\n {\n \"name\": \"CC_Base_L_Thumb1\",\n \"parent\": \"CC_Base_L_Hand\",\n \"translation\": [\n 0.4729442000389099,\n 1.4073847532272339,\n 2.9682064056396484\n ]\n },\n {\n \"name\": \"CC_Base_L_Thumb2\",\n \"parent\": \"CC_Base_L_Thumb1\",\n \"translation\": [\n -3.701448440551758e-05,\n 7.252772331237793,\n -0.00034561753273010254\n ]\n },\n {\n \"name\": \"CC_Base_L_Thumb3\",\n \"parent\": \"CC_Base_L_Thumb2\",\n \"translation\": [\n -0.0009371936321258545,\n 3.2246363162994385,\n -0.0003355741500854492\n ]\n },\n {\n \"name\": \"CC_Base_L_UpperarmTwist01\",\n \"parent\": \"CC_Base_L_Upperarm\",\n \"translation\": [\n -2.4765729904174805e-05,\n -8.791685104370117e-06,\n -4.850327968597412e-06\n ]\n },\n {\n \"name\": \"CC_Base_L_UpperarmTwist02\",\n \"parent\": \"CC_Base_L_UpperarmTwist01\",\n \"translation\": [\n -5.109608173370361e-05,\n 14.824237823486328,\n -4.093348979949951e-05\n ]\n },\n {\n \"name\": \"CC_Base_L_RibsTwist\",\n \"parent\": \"CC_Base_Spine02\",\n \"translation\": [\n 12.37477970123291,\n 4.240516662597656,\n 11.340028762817383\n ]\n },\n {\n \"name\": \"CC_Base_L_Breast\",\n \"parent\": \"CC_Base_L_RibsTwist\",\n \"translation\": [\n 1.5254845493473113e-05,\n 1.999998688697815,\n 8.869566954672337e-05\n ]\n },\n {\n \"name\": \"CC_Base_R_RibsTwist\",\n \"parent\": \"CC_Base_Spine02\",\n \"translation\": [\n -12.366527557373047,\n 4.255687236785889,\n 11.342021942138672\n ]\n },\n {\n \"name\": \"CC_Base_R_Breast\",\n \"parent\": \"CC_Base_R_RibsTwist\",\n \"translation\": [\n -1.4992387150414288e-05,\n 1.9999765157699585,\n 6.98570511303842e-05\n ]\n },\n {\n \"name\": \"CC_Base_R_Clavicle\",\n \"parent\": \"CC_Base_Spine02\",\n \"translation\": [\n -5.847836017608643,\n 22.913354873657227,\n 0.158738374710083\n ]\n },\n {\n \"name\": \"CC_Base_R_Upperarm\",\n \"parent\": \"CC_Base_R_Clavicle\",\n \"translation\": [\n -0.00038962066173553467,\n 13.675079345703125,\n 0.00013494491577148438\n ]\n },\n {\n \"name\": \"CC_Base_R_Forearm\",\n \"parent\": \"CC_Base_R_Upperarm\",\n \"translation\": [\n 0.0014372840523719788,\n 29.647546768188477,\n -0.00034911930561065674\n ]\n },\n {\n \"name\": \"CC_Base_R_ElbowShareBone\",\n \"parent\": \"CC_Base_R_Forearm\",\n \"translation\": [\n 4.427880048751831e-05,\n -5.062669515609741e-06,\n 1.9073486328125e-06\n ]\n },\n {\n \"name\": \"CC_Base_R_ForearmTwist01\",\n \"parent\": \"CC_Base_R_Forearm\",\n \"translation\": [\n 4.427880048751831e-05,\n -5.062669515609741e-06,\n 1.9073486328125e-06\n ]\n },\n {\n \"name\": \"CC_Base_R_ForearmTwist02\",\n \"parent\": \"CC_Base_R_ForearmTwist01\",\n \"translation\": [\n 0.0017296746373176575,\n 12.154948234558105,\n -0.0021570324897766113\n ]\n },\n {\n \"name\": \"CC_Base_R_Hand\",\n \"parent\": \"CC_Base_R_Forearm\",\n \"translation\": [\n 0.0013648197054862976,\n 24.31002426147461,\n -0.0003132820129394531\n ]\n },\n {\n \"name\": \"CC_Base_R_Ring1\",\n \"parent\": \"CC_Base_R_Hand\",\n \"translation\": [\n 7.3462724685668945e-06,\n 9.707071304321289,\n -0.0007748603820800781\n ]\n },\n {\n \"name\": \"CC_Base_R_Ring2\",\n \"parent\": \"CC_Base_R_Ring1\",\n \"translation\": [\n 0.00015947222709655762,\n 4.398307800292969,\n -0.0006395876407623291\n ]\n },\n {\n \"name\": \"CC_Base_R_Ring3\",\n \"parent\": \"CC_Base_R_Ring2\",\n \"translation\": [\n -0.0010596513748168945,\n 3.074486494064331,\n -0.00025691837072372437\n ]\n },\n {\n \"name\": \"CC_Base_R_Mid1\",\n \"parent\": \"CC_Base_R_Hand\",\n \"translation\": [\n 0.6159845590591431,\n 9.997448921203613,\n 1.9559621810913086\n ]\n },\n {\n \"name\": \"CC_Base_R_Mid2\",\n \"parent\": \"CC_Base_R_Mid1\",\n \"translation\": [\n 0.000445440411567688,\n 4.767148494720459,\n -0.00016441941261291504\n ]\n },\n {\n \"name\": \"CC_Base_R_Mid3\",\n \"parent\": \"CC_Base_R_Mid2\",\n \"translation\": [\n 0.00012923777103424072,\n 3.306414842605591,\n 5.930662155151367e-05\n ]\n },\n {\n \"name\": \"CC_Base_R_Thumb1\",\n \"parent\": \"CC_Base_R_Hand\",\n \"translation\": [\n -0.4736732244491577,\n 1.408708095550537,\n 2.9675445556640625\n ]\n },\n {\n \"name\": \"CC_Base_R_Thumb2\",\n \"parent\": \"CC_Base_R_Thumb1\",\n \"translation\": [\n 0.0003608446568250656,\n 7.252943515777588,\n -0.000981692224740982\n ]\n },\n {\n \"name\": \"CC_Base_R_Thumb3\",\n \"parent\": \"CC_Base_R_Thumb2\",\n \"translation\": [\n -9.268522262573242e-06,\n 3.2248055934906006,\n 4.887580871582031e-05\n ]\n },\n {\n \"name\": \"CC_Base_R_Index1\",\n \"parent\": \"CC_Base_R_Hand\",\n \"translation\": [\n 0.4276627004146576,\n 9.801568984985352,\n 4.418048858642578\n ]\n },\n {\n \"name\": \"CC_Base_R_Index2\",\n \"parent\": \"CC_Base_R_Index1\",\n \"translation\": [\n 0.001061864197254181,\n 4.648791790008545,\n 0.0006793588399887085\n ]\n },\n {\n \"name\": \"CC_Base_R_Index3\",\n \"parent\": \"CC_Base_R_Index2\",\n \"translation\": [\n -0.0006211921572685242,\n 2.9368622303009033,\n -0.00016835331916809082\n ]\n },\n {\n \"name\": \"CC_Base_R_Pinky1\",\n \"parent\": \"CC_Base_R_Hand\",\n \"translation\": [\n -0.837287962436676,\n 9.643238067626953,\n -1.891557216644287\n ]\n },\n {\n \"name\": \"CC_Base_R_Pinky2\",\n \"parent\": \"CC_Base_R_Pinky1\",\n \"translation\": [\n -0.0003053247928619385,\n 3.050346851348877,\n -0.00022897124290466309\n ]\n },\n {\n \"name\": \"CC_Base_R_Pinky3\",\n \"parent\": \"CC_Base_R_Pinky2\",\n \"translation\": [\n -6.973743438720703e-06,\n 1.9355270862579346,\n 1.5944242477416992e-06\n ]\n },\n {\n \"name\": \"CC_Base_R_UpperarmTwist01\",\n \"parent\": \"CC_Base_R_Upperarm\",\n \"translation\": [\n 4.403293132781982e-06,\n 3.3676624298095703e-06,\n -2.473592758178711e-06\n ]\n },\n {\n \"name\": \"CC_Base_R_UpperarmTwist02\",\n \"parent\": \"CC_Base_R_UpperarmTwist01\",\n \"translation\": [\n -0.0015784502029418945,\n 14.823780059814453,\n -0.0003107339143753052\n ]\n }\n ]\n}\n","{\n \"defaultAxisToChannel\": {\n \"pitch\": \"rx\",\n \"yaw\": \"ry\",\n \"roll\": \"rz\"\n },\n \"defaultBoneMaxDegrees\": 60,\n \"jointControlSection\": \"Joint Controls\"\n}\n","import { requireInitializedEmbodyCore } from './index';\n\n/** JavaScript names for the numeric Rust API used by profile tooling. */\nexport function isEmbodyCoreReady(): boolean {\n try { requireInitializedEmbodyCore(); return true; } catch { return false; }\n}\nexport const coreAbiVersion = () => requireInitializedEmbodyCore().core_abi_version();\nexport const packMorphFrameDelta = (meshIds: Uint32Array, morphTargetIds: Uint32Array, values: Float32Array, modes: Uint8Array) => requireInitializedEmbodyCore().pack_morph_frame_delta(meshIds, morphTargetIds, values, modes);\nexport const solveBilateralValues = (base: number, balance: number) => requireInitializedEmbodyCore().solve_bilateral_values(base, balance);\nexport const solveMorphBatch = (values: Float32Array, balances: Float32Array, mixWeights: Float32Array) => requireInitializedEmbodyCore().solve_morph_batch(values, balances, mixWeights);\nexport const solveAxisQuaternion = (axis: number, degrees: number, value: number, scale: number) => requireInitializedEmbodyCore().solve_axis_quaternion(axis, degrees, value, scale);\nexport const analyzeMeshProportions = (vertices: Float32Array, verticalAxis: number) => requireInitializedEmbodyCore().analyze_mesh_proportions(vertices, verticalAxis);\nexport const solveTemplateSkeletonFit = (meshVertices: Float32Array, templateBounds: Float32Array, verticalAxis: number, verticalAnchor: number) => requireInitializedEmbodyCore().solve_template_skeleton_fit(meshVertices, templateBounds, verticalAxis, verticalAnchor);\nexport const composeTemplateFitAdjustment = (fit: Float32Array, scaleMultiplier: number, offsetX: number, offsetY: number, offsetZ: number) => requireInitializedEmbodyCore().compose_template_fit_adjustment(fit, scaleMultiplier, offsetX, offsetY, offsetZ);\nexport const composeTemplateSkeletonFitTransform = (fitScale: number, fitTranslation: Float32Array, manualScale: number, manualTranslation: Float32Array) => requireInitializedEmbodyCore().compose_template_skeleton_fit_transform(fitScale, fitTranslation, manualScale, manualTranslation);\nexport const defaultHairPhysicsConfigValues = () => requireInitializedEmbodyCore().default_hair_physics_config_values();\nexport function createHairPhysicsSolver(configValues = defaultHairPhysicsConfigValues()) {\n return new (requireInitializedEmbodyCore().HairPhysicsSolver)(configValues);\n}\nexport function createRuntimeCore(visemeSlotCount: number) {\n return new (requireInitializedEmbodyCore().RuntimeCore)(visemeSlotCount);\n}\n","/// <reference lib=\"esnext.disposable\" preserve=\"true\" />\n\nimport cc4Preset from '../assets/presets/cc4.json';\nimport cc4HumanoidSkeletonTemplate from '../assets/templates/cc4-humanoid.json';\nimport authoringDefaults from '../assets/authoring-defaults.json';\nimport type { BoneAxisKey, RotationChannel } from '../three/authoringTypes';\nimport type { InitInput } from './embody_wasm.js';\n\n// wasm-bindgen generates this module during the package build. TypeScript's\n// rootDirs resolves it from dist/ in source and as a sibling in the package.\nexport type EmbodyCore = typeof import('./embody_wasm.js');\nexport type { RuntimeCore, NativePlaybackSession, HairPhysicsSolver, CameraFlight, CameraOrbit } from './embody_wasm.js';\n\nexport const EMBODY_CORE_ABI_VERSION = 1;\nexport const PACKED_MORPH_FRAME_DELTA_STRIDE = 4;\nexport const PACKED_BONE_FRAME_DELTA_STRIDE = 9;\nexport const HAIR_CONFIG_STRIDE = 11;\nexport const HAIR_STATE_STRIDE = 4;\nexport const HAIR_HEAD_STATE_STRIDE = 5;\nexport const HAIR_MORPH_OUTPUT_STRIDE = 6;\nexport const MESH_PROPORTIONS_STRIDE = 16;\nexport const TEMPLATE_SKELETON_FIT_SOLUTION_STRIDE = 10;\nexport const TEMPLATE_SKELETON_FIT_TRANSFORM_STRIDE = 4;\nexport const ANNOTATION_CAMERA_FRAMING_STRIDE = 7;\nexport const CAMERA_FLIGHT_SAMPLE_STRIDE = 7;\nexport const MARKER_VISIBILITY_FACTORS_STRIDE = 3;\nexport const MARKER_ENDPOINT_STRIDE = 3;\n\n// These synchronous exports use the same data assets as Rust and remain safe to\n// import before Wasm initializes. Character controls use their resolved profile.\nexport const DEFAULT_AXIS_TO_CHANNEL = authoringDefaults.defaultAxisToChannel as Record<BoneAxisKey, RotationChannel>;\nexport const DEFAULT_BONE_MAX_DEGREES = authoringDefaults.defaultBoneMaxDegrees;\nexport const JOINT_CONTROL_SECTION = authoringDefaults.jointControlSection;\nexport const VISEME_KEYS = cc4Preset.visemeKeys;\nexport const HAIR_COLOR_PRESETS = cc4Preset.hairColorPresets;\nexport const DEFAULT_HAIR_COLOR_APPEARANCE = HAIR_COLOR_PRESETS.natural_brown;\nexport const CC4_HUMANOID_SKELETON_TEMPLATE = cc4HumanoidSkeletonTemplate;\nexport const HUMANOID_SKELETON_TEMPLATES = [CC4_HUMANOID_SKELETON_TEMPLATE];\n\nlet pending: Promise<EmbodyCore> | null = null;\nlet loaded: EmbodyCore | null = null;\n\nexport async function initEmbodyCore(): Promise<EmbodyCore> {\n if (!pending) {\n pending = load().catch((error) => {\n pending = null;\n loaded = null;\n throw error;\n });\n }\n return pending;\n}\n\nexport const getEmbodyCore = initEmbodyCore;\nexport * from './compatibility';\n\nexport function requireInitializedEmbodyCore(): EmbodyCore {\n if (!loaded) throw new Error('Embody Wasm core is not initialized. Await initEmbodyCore() first.');\n return loaded;\n}\n\nexport function resetEmbodyCoreForTests() {\n pending = null;\n loaded = null;\n}\n\nasync function load(): Promise<EmbodyCore> {\n // Keep these paths runtime-resolved so host bundlers can relocate the Wasm\n // siblings without eagerly converting the static URL expressions to assets.\n const resolveAsset = (path: string) => new URL(path, import.meta.url);\n const moduleUrl = resolveAsset('./wasm/embody_wasm.js').href;\n const binaryUrl = resolveAsset('./wasm/embody_wasm_bg.wasm');\n const core = await import(/* @vite-ignore */ moduleUrl) as EmbodyCore;\n if (typeof core.default === 'function') {\n let input: InitInput = binaryUrl;\n if ((globalThis as any).process?.versions?.node && binaryUrl.protocol === 'file:') {\n const fsSpecifier = 'node:fs/promises';\n const urlSpecifier = 'node:url';\n const [{ readFile }, { fileURLToPath }] = await Promise.all([\n import(/* @vite-ignore */ fsSpecifier),\n import(/* @vite-ignore */ urlSpecifier),\n ]);\n input = await readFile(fileURLToPath(binaryUrl));\n }\n await core.default({ module_or_path: input });\n }\n if (core.core_abi_version() !== EMBODY_CORE_ABI_VERSION) {\n throw new Error(`Unsupported Embody Wasm ABI version ${core.core_abi_version()}.`);\n }\n loaded = core;\n return core;\n}\n","import { initEmbodyCore } from './index';\n\n// Embody's ESM runtime is mandatory. Module evaluation does not complete until\n// synchronous profile, authoring, and runtime operations can call into Wasm.\nawait initEmbodyCore();\n\nexport * from './index';\n"]}