@tushar-br/editing-pack 1.0.188 → 1.0.190

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 (1216) hide show
  1. package/package.json +1 -1
  2. package/staging_area/Blender/blender.pdb.ts_part_0 +0 -0
  3. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__init__.py +0 -173
  4. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__pycache__/__init__.cpython-311.pyc +0 -0
  5. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__pycache__/camera.cpython-311.pyc +0 -0
  6. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__pycache__/engine.cpython-311.pyc +0 -0
  7. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__pycache__/operators.cpython-311.pyc +0 -0
  8. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__pycache__/presets.cpython-311.pyc +0 -0
  9. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__pycache__/properties.cpython-311.pyc +0 -0
  10. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__pycache__/ui.cpython-311.pyc +0 -0
  11. package/staging_area/Blender/5.0/scripts/addons_core/cycles/__pycache__/version_update.cpython-311.pyc +0 -0
  12. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/geom/shader_data.h +0 -452
  13. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/geom/triangle.h +0 -278
  14. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/geom/triangle_intersect.h +0 -166
  15. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/geom/volume.h +0 -104
  16. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/globals.h +0 -13
  17. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/image.h +0 -12
  18. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/displacement_shader.h +0 -43
  19. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/guiding.h +0 -641
  20. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/init_from_bake.h +0 -344
  21. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/init_from_camera.h +0 -110
  22. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/intersect_closest.h +0 -443
  23. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/intersect_dedicated_light.h +0 -232
  24. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/intersect_shadow.h +0 -183
  25. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/intersect_subsurface.h +0 -24
  26. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/intersect_volume_stack.h +0 -250
  27. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/megakernel.h +0 -114
  28. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/mnee.h +0 -1123
  29. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/path_state.h +0 -425
  30. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shade_background.h +0 -210
  31. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shade_dedicated_light.h +0 -243
  32. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shade_light.h +0 -95
  33. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shade_shadow.h +0 -192
  34. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shade_surface.h +0 -885
  35. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shade_volume.h +0 -2947
  36. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shadow_catcher.h +0 -79
  37. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shadow_linking.h +0 -69
  38. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/shadow_state_template.h +0 -99
  39. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/state.h +0 -276
  40. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/state_flow.h +0 -255
  41. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/state_template.h +0 -152
  42. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/state_util.h +0 -602
  43. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/subsurface.h +0 -251
  44. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/subsurface_disk.h +0 -220
  45. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/subsurface_random_walk.h +0 -462
  46. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/surface_shader.h +0 -1198
  47. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/volume_shader.h +0 -539
  48. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/integrator/volume_stack.h +0 -258
  49. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/area.h +0 -537
  50. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/background.h +0 -500
  51. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/common.h +0 -86
  52. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/distant.h +0 -167
  53. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/distribution.h +0 -60
  54. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/light.h +0 -499
  55. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/point.h +0 -240
  56. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/sample.h +0 -545
  57. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/spot.h +0 -347
  58. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/tree.h +0 -951
  59. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/light/triangle.h +0 -339
  60. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/osl/camera.h +0 -81
  61. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/osl/closures_setup.h +0 -1259
  62. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/osl/closures_template.h +0 -277
  63. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/osl/osl.h +0 -287
  64. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/osl/services_gpu.h +0 -1327
  65. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/osl/types.h +0 -157
  66. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/sample/lcg.h +0 -53
  67. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/sample/mapping.h +0 -251
  68. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/sample/mis.h +0 -41
  69. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/sample/pattern.h +0 -188
  70. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/sample/sobol_burley.h +0 -203
  71. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/sample/tabulated_sobol.h +0 -178
  72. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/sample/util.h +0 -79
  73. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/ao.h +0 -148
  74. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/aov.h +0 -49
  75. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/attribute.h +0 -326
  76. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/bevel.h +0 -334
  77. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/blackbody.h +0 -35
  78. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/brick.h +0 -147
  79. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/brightness.h +0 -32
  80. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/bump.h +0 -72
  81. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/camera.h +0 -42
  82. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/checker.h +0 -54
  83. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/clamp.h +0 -40
  84. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/closure.h +0 -1559
  85. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/color_util.h +0 -409
  86. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/convert.h +0 -66
  87. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/displace.h +0 -240
  88. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/fractal_noise.h +0 -550
  89. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/fresnel.h +0 -80
  90. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/gabor.h +0 -392
  91. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/gamma.h +0 -27
  92. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/geometry.h +0 -280
  93. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/gradient.h +0 -80
  94. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/hsv.h +0 -54
  95. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/ies.h +0 -38
  96. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/image.h +0 -273
  97. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/invert.h +0 -33
  98. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/light_path.h +0 -150
  99. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/magic.h +0 -132
  100. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/map_range.h +0 -164
  101. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/mapping.h +0 -74
  102. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/mapping_util.h +0 -37
  103. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/math.h +0 -73
  104. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/math_util.h +0 -278
  105. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/mix.h +0 -125
  106. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/node_types_template.h +0 -115
  107. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/noise.h +0 -761
  108. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/noisetex.h +0 -370
  109. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/normal.h +0 -38
  110. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/radial_tiling.h +0 -81
  111. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/radial_tiling_shared.h +0 -1179
  112. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/ramp.h +0 -185
  113. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/ramp_util.h +0 -80
  114. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/sepcomb_color.h +0 -62
  115. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/sepcomb_vector.h +0 -45
  116. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/sky.h +0 -309
  117. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/svm.h +0 -492
  118. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/tex_coord.h +0 -506
  119. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/types.h +0 -530
  120. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/util.h +0 -160
  121. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/value.h +0 -34
  122. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/vector_rotate.h +0 -79
  123. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/vector_transform.h +0 -130
  124. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/vertex_color.h +0 -107
  125. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/voronoi.h +0 -1248
  126. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/wave.h +0 -137
  127. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/wavelength.h +0 -36
  128. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/white_noise.h +0 -74
  129. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/svm/wireframe.h +0 -116
  130. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/tables.h +0 -124
  131. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/types.h +0 -1923
  132. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/util/colorspace.h +0 -54
  133. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/util/differential.h +0 -169
  134. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/util/ies.h +0 -145
  135. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/util/lookup_table.h +0 -74
  136. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/util/nanovdb.h +0 -436
  137. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/util/profiler.h +0 -28
  138. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/kernel/util/texture_3d.h +0 -232
  139. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/atomic.h +0 -315
  140. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/color.h +0 -439
  141. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/defines.h +0 -131
  142. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/guiding.h +0 -40
  143. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/half.h +0 -178
  144. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/hash.h +0 -650
  145. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math.h +0 -24
  146. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_base.h +0 -953
  147. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_dual.h +0 -59
  148. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_fast.h +0 -650
  149. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_float2.h +0 -274
  150. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_float3.h +0 -847
  151. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_float4.h +0 -666
  152. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_float8.h +0 -471
  153. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_int2.h +0 -59
  154. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_int3.h +0 -117
  155. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_int4.h +0 -296
  156. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_int8.h +0 -353
  157. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/math_intersect.h +0 -452
  158. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/projection.h +0 -308
  159. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/projection_inverse.h +0 -95
  160. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/rect.h +0 -61
  161. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/static_assert.h +0 -21
  162. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/texture.h +0 -100
  163. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/transform.h +0 -650
  164. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types.h +0 -32
  165. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_base.h +0 -94
  166. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_dual.h +0 -134
  167. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_float2.h +0 -71
  168. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_float3.h +0 -200
  169. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_float4.h +0 -134
  170. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_float8.h +0 -134
  171. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_int2.h +0 -44
  172. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_int3.h +0 -158
  173. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_int4.h +0 -91
  174. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_int8.h +0 -94
  175. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_rgbe.h +0 -109
  176. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_spectrum.h +0 -28
  177. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_uchar2.h +0 -39
  178. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_uchar3.h +0 -39
  179. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_uchar4.h +0 -45
  180. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_uint2.h +0 -37
  181. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_uint3.h +0 -91
  182. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_uint4.h +0 -37
  183. package/staging_area/Blender/5.0/scripts/addons_core/cycles/source/util/types_ushort4.h +0 -19
  184. package/staging_area/Blender/5.0/scripts/addons_core/cycles/ui.py +0 -2645
  185. package/staging_area/Blender/5.0/scripts/addons_core/cycles/version_update.py +0 -330
  186. package/staging_area/Blender/5.0/scripts/addons_core/hydra_storm/__init__.py +0 -33
  187. package/staging_area/Blender/5.0/scripts/addons_core/hydra_storm/engine.py +0 -47
  188. package/staging_area/Blender/5.0/scripts/addons_core/hydra_storm/properties.py +0 -62
  189. package/staging_area/Blender/5.0/scripts/addons_core/hydra_storm/ui.py +0 -280
  190. package/staging_area/Blender/5.0/scripts/addons_core/io_anim_bvh/__init__.py +0 -397
  191. package/staging_area/Blender/5.0/scripts/addons_core/io_anim_bvh/__pycache__/__init__.cpython-311.pyc +0 -0
  192. package/staging_area/Blender/5.0/scripts/addons_core/io_anim_bvh/export_bvh.py +0 -294
  193. package/staging_area/Blender/5.0/scripts/addons_core/io_anim_bvh/import_bvh.py +0 -795
  194. package/staging_area/Blender/5.0/scripts/addons_core/io_curve_svg/__init__.py +0 -115
  195. package/staging_area/Blender/5.0/scripts/addons_core/io_curve_svg/__pycache__/__init__.cpython-311.pyc +0 -0
  196. package/staging_area/Blender/5.0/scripts/addons_core/io_curve_svg/import_svg.py +0 -1911
  197. package/staging_area/Blender/5.0/scripts/addons_core/io_curve_svg/svg_colors.py +0 -153
  198. package/staging_area/Blender/5.0/scripts/addons_core/io_curve_svg/svg_util.py +0 -107
  199. package/staging_area/Blender/5.0/scripts/addons_core/io_curve_svg/svg_util_test.py +0 -166
  200. package/staging_area/Blender/5.0/scripts/addons_core/io_mesh_uv_layout/__init__.py +0 -302
  201. package/staging_area/Blender/5.0/scripts/addons_core/io_mesh_uv_layout/__pycache__/__init__.cpython-311.pyc +0 -0
  202. package/staging_area/Blender/5.0/scripts/addons_core/io_mesh_uv_layout/export_uv_eps.py +0 -82
  203. package/staging_area/Blender/5.0/scripts/addons_core/io_mesh_uv_layout/export_uv_png.py +0 -119
  204. package/staging_area/Blender/5.0/scripts/addons_core/io_mesh_uv_layout/export_uv_svg.py +0 -54
  205. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/__init__.py +0 -740
  206. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/__pycache__/__init__.cpython-311.pyc +0 -0
  207. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/data_types.py +0 -62
  208. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/encode_bin.py +0 -434
  209. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/export_fbx_bin.py +0 -3819
  210. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/fbx2json.py +0 -341
  211. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/fbx_utils.py +0 -1931
  212. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/fbx_utils_threading.py +0 -194
  213. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/import_fbx.py +0 -4045
  214. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/json2fbx.py +0 -165
  215. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_fbx/parse_fbx.py +0 -274
  216. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/__init__.py +0 -2250
  217. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/__pycache__/__init__.cpython-311.pyc +0 -0
  218. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/__init__.py +0 -3
  219. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/__pycache__/__init__.cpython-311.pyc +0 -0
  220. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/blender_default.cpython-311.pyc +0 -0
  221. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/conversion.cpython-311.pyc +0 -0
  222. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/data_path.cpython-311.pyc +0 -0
  223. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/extras.cpython-311.pyc +0 -0
  224. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/gltf2_blender_math.cpython-311.pyc +0 -0
  225. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/gltf2_blender_ui.cpython-311.pyc +0 -0
  226. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/gltf2_blender_utils.cpython-311.pyc +0 -0
  227. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/json_util.cpython-311.pyc +0 -0
  228. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/__pycache__/material_helpers.cpython-311.pyc +0 -0
  229. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/blender_default.py +0 -15
  230. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/conversion.py +0 -229
  231. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/data_path.py +0 -110
  232. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/extras.py +0 -89
  233. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/gltf2_blender_math.py +0 -209
  234. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/gltf2_blender_ui.py +0 -751
  235. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/gltf2_blender_utils.py +0 -70
  236. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/json_util.py +0 -27
  237. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/com/material_helpers.py +0 -32
  238. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/__pycache__/cache.cpython-311.pyc +0 -0
  239. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/__pycache__/sampler.cpython-311.pyc +0 -0
  240. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/accessors.py +0 -189
  241. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/action.py +0 -1062
  242. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/anim_utils.py +0 -321
  243. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/animations.py +0 -22
  244. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/drivers.py +0 -83
  245. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/fcurves/animation.py +0 -35
  246. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/fcurves/channel_target.py +0 -53
  247. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/fcurves/channels.py +0 -378
  248. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/fcurves/keyframes.py +0 -207
  249. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/fcurves/sampler.py +0 -231
  250. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/keyframes.py +0 -127
  251. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/armature/action_sampled.py +0 -55
  252. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/armature/channel_target.py +0 -54
  253. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/armature/channels.py +0 -236
  254. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/armature/keyframes.py +0 -95
  255. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/armature/sampler.py +0 -230
  256. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/data/channel_target.py +0 -48
  257. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/data/channels.py +0 -118
  258. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/data/keyframes.py +0 -152
  259. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/data/sampler.py +0 -135
  260. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/object/action_sampled.py +0 -58
  261. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/object/channel_target.py +0 -51
  262. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/object/channels.py +0 -136
  263. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/object/keyframes.py +0 -88
  264. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/object/sampler.py +0 -171
  265. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/sampling_cache.py +0 -754
  266. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/shapekeys/action_sampled.py +0 -43
  267. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/shapekeys/channel_target.py +0 -38
  268. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/shapekeys/channels.py +0 -79
  269. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/shapekeys/keyframes.py +0 -145
  270. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/sampled/shapekeys/sampler.py +0 -111
  271. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/scene_animation.py +0 -244
  272. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/animation/tracks.py +0 -846
  273. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/cache.py +0 -182
  274. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/cameras.py +0 -152
  275. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/export.py +0 -412
  276. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/exporter.py +0 -536
  277. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/gather.py +0 -157
  278. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/joints.py +0 -110
  279. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/light_spots.py +0 -47
  280. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/lights.py +0 -212
  281. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/__pycache__/encode_image.cpython-311.pyc +0 -0
  282. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/__pycache__/image.cpython-311.pyc +0 -0
  283. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/__pycache__/search_node_tree.cpython-311.pyc +0 -0
  284. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/__pycache__/texture.cpython-311.pyc +0 -0
  285. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/__pycache__/texture_info.cpython-311.pyc +0 -0
  286. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/__pycache__/unlit.cpython-311.pyc +0 -0
  287. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/encode_image.py +0 -491
  288. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/anisotropy.py +0 -259
  289. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/clearcoat.py +0 -156
  290. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/emission.py +0 -115
  291. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/ior.py +0 -45
  292. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/sheen.py +0 -129
  293. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/specular.py +0 -140
  294. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/transmission.py +0 -76
  295. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/variants.py +0 -19
  296. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/extensions/volume.py +0 -118
  297. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/image.py +0 -514
  298. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/material_utils.py +0 -13
  299. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/material_viewport.py +0 -32
  300. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/materials.py +0 -714
  301. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/pbr_metallic_roughness.py +0 -257
  302. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/search_node_tree.py +0 -1120
  303. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/texture.py +0 -248
  304. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/texture_info.py +0 -291
  305. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/material/unlit.py +0 -191
  306. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/mesh.py +0 -160
  307. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/nodes.py +0 -577
  308. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/primitive_attributes.py +0 -252
  309. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/primitive_extract.py +0 -1662
  310. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/primitives.py +0 -366
  311. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/sampler.py +0 -187
  312. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/skins.py +0 -148
  313. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/exp/tree.py +0 -976
  314. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/KHR_materials_anisotropy.py +0 -116
  315. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/KHR_materials_pbrSpecularGlossiness.py +0 -203
  316. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/KHR_materials_unlit.py +0 -56
  317. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/KHR_materials_anisotropy.cpython-311.pyc +0 -0
  318. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/KHR_materials_pbrSpecularGlossiness.cpython-311.pyc +0 -0
  319. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/KHR_materials_unlit.cpython-311.pyc +0 -0
  320. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/animation.cpython-311.pyc +0 -0
  321. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/animation_node.cpython-311.pyc +0 -0
  322. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/animation_pointer.cpython-311.pyc +0 -0
  323. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/animation_utils.cpython-311.pyc +0 -0
  324. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/animation_weight.cpython-311.pyc +0 -0
  325. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/blender_gltf.cpython-311.pyc +0 -0
  326. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/camera.cpython-311.pyc +0 -0
  327. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/draco_compression_extension.cpython-311.pyc +0 -0
  328. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/image.cpython-311.pyc +0 -0
  329. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/light.cpython-311.pyc +0 -0
  330. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/material.cpython-311.pyc +0 -0
  331. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/material_utils.cpython-311.pyc +0 -0
  332. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/mesh.cpython-311.pyc +0 -0
  333. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/node.cpython-311.pyc +0 -0
  334. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/pbrMetallicRoughness.cpython-311.pyc +0 -0
  335. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/scene.cpython-311.pyc +0 -0
  336. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/texture.cpython-311.pyc +0 -0
  337. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/__pycache__/vnode.cpython-311.pyc +0 -0
  338. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/animation.py +0 -170
  339. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/animation_node.py +0 -170
  340. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/animation_pointer.py +0 -787
  341. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/animation_utils.py +0 -174
  342. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/animation_weight.py +0 -95
  343. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/blender_gltf.py +0 -633
  344. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/camera.py +0 -75
  345. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/draco_compression_extension.py +0 -138
  346. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/image.py +0 -102
  347. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/light.py +0 -143
  348. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/material.py +0 -113
  349. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/material_utils.py +0 -196
  350. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/mesh.py +0 -920
  351. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/node.py +0 -348
  352. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/pbrMetallicRoughness.py +0 -903
  353. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/scene.py +0 -133
  354. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/texture.py +0 -233
  355. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/blender/imp/vnode.py +0 -661
  356. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/extern_draco.dll +0 -0
  357. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/__init__.py +0 -5
  358. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/__pycache__/__init__.cpython-311.pyc +0 -0
  359. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/__pycache__/constants.cpython-311.pyc +0 -0
  360. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/__pycache__/debug.cpython-311.pyc +0 -0
  361. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/__pycache__/draco.cpython-311.pyc +0 -0
  362. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/__pycache__/gltf2_io.cpython-311.pyc +0 -0
  363. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/__pycache__/gltf2_io_extensions.cpython-311.pyc +0 -0
  364. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/__pycache__/path.cpython-311.pyc +0 -0
  365. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/constants.py +0 -159
  366. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/debug.py +0 -129
  367. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/draco.py +0 -46
  368. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/gltf2_io.py +0 -1217
  369. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/gltf2_io_extensions.py +0 -30
  370. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/lights_punctual.py +0 -68
  371. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/path.py +0 -19
  372. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/com/variants.py +0 -32
  373. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/__pycache__/binary_data.cpython-311.pyc +0 -0
  374. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/__pycache__/image_data.cpython-311.pyc +0 -0
  375. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/__pycache__/user_extensions.cpython-311.pyc +0 -0
  376. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/binary_data.py +0 -35
  377. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/buffer.py +0 -54
  378. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/draco.py +0 -174
  379. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/export.py +0 -122
  380. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/image_data.py +0 -80
  381. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/exp/user_extensions.py +0 -17
  382. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/imp/__init__.py +0 -5
  383. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/imp/__pycache__/__init__.cpython-311.pyc +0 -0
  384. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/imp/__pycache__/gltf2_io_binary.cpython-311.pyc +0 -0
  385. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/imp/__pycache__/gltf2_io_gltf.cpython-311.pyc +0 -0
  386. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/imp/__pycache__/user_extensions.cpython-311.pyc +0 -0
  387. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/imp/gltf2_io_binary.py +0 -215
  388. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/imp/gltf2_io_gltf.py +0 -198
  389. package/staging_area/Blender/5.0/scripts/addons_core/io_scene_gltf2/io/imp/user_extensions.py +0 -13
  390. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/README.md +0 -5
  391. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/__init__.py +0 -64
  392. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/interface.py +0 -526
  393. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/operators.py +0 -2421
  394. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/preferences.py +0 -398
  395. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/utils/constants.py +0 -192
  396. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/utils/draw.py +0 -219
  397. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/utils/nodes.py +0 -299
  398. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/utils/paths.py +0 -169
  399. package/staging_area/Blender/5.0/scripts/addons_core/node_wrangler/utils/paths_test.py +0 -290
  400. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__init__.py +0 -56
  401. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__pycache__/__init__.cpython-311.pyc +0 -0
  402. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__pycache__/asset_browser.cpython-311.pyc +0 -0
  403. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__pycache__/functions.cpython-311.pyc +0 -0
  404. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__pycache__/gui.cpython-311.pyc +0 -0
  405. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__pycache__/keymaps.cpython-311.pyc +0 -0
  406. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__pycache__/operators.cpython-311.pyc +0 -0
  407. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__pycache__/pose_creation.cpython-311.pyc +0 -0
  408. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/__pycache__/pose_usage.cpython-311.pyc +0 -0
  409. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/asset_browser.py +0 -99
  410. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/functions.py +0 -57
  411. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/gui.py +0 -229
  412. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/keymaps.py +0 -29
  413. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/operators.py +0 -299
  414. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/pose_creation.py +0 -413
  415. package/staging_area/Blender/5.0/scripts/addons_core/pose_library/pose_usage.py +0 -85
  416. package/staging_area/Blender/5.0/scripts/addons_core/rigify/__init__.py +0 -907
  417. package/staging_area/Blender/5.0/scripts/addons_core/rigify/base_generate.py +0 -536
  418. package/staging_area/Blender/5.0/scripts/addons_core/rigify/base_rig.py +0 -351
  419. package/staging_area/Blender/5.0/scripts/addons_core/rigify/feature_set_list.py +0 -357
  420. package/staging_area/Blender/5.0/scripts/addons_core/rigify/feature_sets/__init__.py +0 -16
  421. package/staging_area/Blender/5.0/scripts/addons_core/rigify/generate.py +0 -762
  422. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarig_menu.py +0 -271
  423. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/Animals/__init__.py +0 -0
  424. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/Animals/bird.py +0 -1397
  425. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/Animals/cat.py +0 -2854
  426. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/Animals/horse.py +0 -1401
  427. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/Animals/shark.py +0 -692
  428. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/Animals/wolf.py +0 -3088
  429. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/Basic/basic_human.py +0 -618
  430. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/Basic/basic_quadruped.py +0 -715
  431. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/__init__.py +0 -0
  432. package/staging_area/Blender/5.0/scripts/addons_core/rigify/metarigs/human.py +0 -2625
  433. package/staging_area/Blender/5.0/scripts/addons_core/rigify/operators/__init__.py +0 -34
  434. package/staging_area/Blender/5.0/scripts/addons_core/rigify/operators/action_layers.py +0 -658
  435. package/staging_area/Blender/5.0/scripts/addons_core/rigify/operators/copy_mirror_parameters.py +0 -316
  436. package/staging_area/Blender/5.0/scripts/addons_core/rigify/operators/generic_ui_list.py +0 -191
  437. package/staging_area/Blender/5.0/scripts/addons_core/rigify/operators/upgrade_face.py +0 -457
  438. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rig_lists.py +0 -116
  439. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rig_ui_template.py +0 -1445
  440. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/__init__.py +0 -0
  441. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/basic/__init__.py +0 -0
  442. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/basic/copy_chain.py +0 -167
  443. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/basic/pivot.py +0 -242
  444. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/basic/raw_copy.py +0 -228
  445. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/basic/super_copy.py +0 -191
  446. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/chain_rigs.py +0 -388
  447. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/experimental/__init__.py +0 -0
  448. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/experimental/super_chain.py +0 -853
  449. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/face/basic_tongue.py +0 -195
  450. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/face/skin_eye.py +0 -843
  451. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/face/skin_jaw.py +0 -880
  452. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/faces/__init__.py +0 -0
  453. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/faces/super_face.py +0 -2378
  454. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/__init__.py +0 -0
  455. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/arm.py +0 -209
  456. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/front_paw.py +0 -270
  457. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/leg.py +0 -746
  458. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/limb_rigs.py +0 -1287
  459. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/limb_utils.py +0 -78
  460. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/paw.py +0 -360
  461. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/rear_paw.py +0 -172
  462. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/simple_tentacle.py +0 -169
  463. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/spline_tentacle.py +0 -1486
  464. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/super_finger.py +0 -699
  465. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/super_limb.py +0 -46
  466. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/limbs/super_palm.py +0 -426
  467. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/skin/anchor.py +0 -142
  468. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/skin/basic_chain.py +0 -565
  469. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/skin/glue.py +0 -325
  470. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/skin/skin_nodes.py +0 -604
  471. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/skin/skin_parents.py +0 -505
  472. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/skin/skin_rigs.py +0 -250
  473. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/skin/stretchy_chain.py +0 -422
  474. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/skin/transform/basic.py +0 -141
  475. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/spines/__init__.py +0 -0
  476. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/spines/basic_spine.py +0 -387
  477. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/spines/basic_tail.py +0 -242
  478. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/spines/spine_rigs.py +0 -295
  479. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/spines/super_head.py +0 -424
  480. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/spines/super_spine.py +0 -150
  481. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/utils.py +0 -175
  482. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rigs/widgets.py +0 -483
  483. package/staging_area/Blender/5.0/scripts/addons_core/rigify/rot_mode.py +0 -311
  484. package/staging_area/Blender/5.0/scripts/addons_core/rigify/ui.py +0 -1834
  485. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/__init__.py +0 -40
  486. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/action_layers.py +0 -454
  487. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/animation.py +0 -1024
  488. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/bones.py +0 -742
  489. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/collections.py +0 -83
  490. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/components.py +0 -102
  491. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/errors.py +0 -28
  492. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/layers.py +0 -396
  493. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/mechanism.py +0 -669
  494. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/metaclass.py +0 -170
  495. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/misc.py +0 -533
  496. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/naming.py +0 -366
  497. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/node_merger.py +0 -345
  498. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/objects.py +0 -206
  499. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/rig.py +0 -747
  500. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/switch_parent.py +0 -533
  501. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/widgets.py +0 -531
  502. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/widgets_basic.py +0 -305
  503. package/staging_area/Blender/5.0/scripts/addons_core/rigify/utils/widgets_special.py +0 -226
  504. package/staging_area/Blender/5.0/scripts/addons_core/ui_translate/__init__.py +0 -60
  505. package/staging_area/Blender/5.0/scripts/addons_core/ui_translate/settings.py +0 -194
  506. package/staging_area/Blender/5.0/scripts/addons_core/ui_translate/update_addon.py +0 -378
  507. package/staging_area/Blender/5.0/scripts/addons_core/ui_translate/update_repo.py +0 -248
  508. package/staging_area/Blender/5.0/scripts/addons_core/ui_translate/update_ui.py +0 -267
  509. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/__init__.py +0 -55
  510. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/action_map.py +0 -177
  511. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/action_map_io.py +0 -346
  512. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/configs/default.py +0 -434
  513. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/defaults.py +0 -1587
  514. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/gui.py +0 -295
  515. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/operators.py +0 -540
  516. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/preferences.py +0 -67
  517. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/properties.py +0 -228
  518. package/staging_area/Blender/5.0/scripts/addons_core/viewport_vr_preview/versioning.py +0 -38
  519. package/staging_area/Blender/5.0/scripts/freestyle/modules/freestyle/__init__.py +0 -14
  520. package/staging_area/Blender/5.0/scripts/freestyle/modules/freestyle/chainingiterators.py +0 -644
  521. package/staging_area/Blender/5.0/scripts/freestyle/modules/freestyle/functions.py +0 -313
  522. package/staging_area/Blender/5.0/scripts/freestyle/modules/freestyle/predicates.py +0 -670
  523. package/staging_area/Blender/5.0/scripts/freestyle/modules/freestyle/shaders.py +0 -1248
  524. package/staging_area/Blender/5.0/scripts/freestyle/modules/freestyle/types.py +0 -159
  525. package/staging_area/Blender/5.0/scripts/freestyle/modules/freestyle/utils.py +0 -541
  526. package/staging_area/Blender/5.0/scripts/freestyle/modules/parameter_editor.py +0 -1589
  527. package/staging_area/Blender/5.0/scripts/freestyle/styles/anisotropic_diffusion.py +0 -41
  528. package/staging_area/Blender/5.0/scripts/freestyle/styles/apriori_and_causal_density.py +0 -34
  529. package/staging_area/Blender/5.0/scripts/freestyle/styles/apriori_density.py +0 -33
  530. package/staging_area/Blender/5.0/scripts/freestyle/styles/backbone_stretcher.py +0 -28
  531. package/staging_area/Blender/5.0/scripts/freestyle/styles/blueprint_circles.py +0 -39
  532. package/staging_area/Blender/5.0/scripts/freestyle/styles/blueprint_ellipses.py +0 -39
  533. package/staging_area/Blender/5.0/scripts/freestyle/styles/blueprint_squares.py +0 -40
  534. package/staging_area/Blender/5.0/scripts/freestyle/styles/cartoon.py +0 -32
  535. package/staging_area/Blender/5.0/scripts/freestyle/styles/contour.py +0 -33
  536. package/staging_area/Blender/5.0/scripts/freestyle/styles/curvature2d.py +0 -29
  537. package/staging_area/Blender/5.0/scripts/freestyle/styles/external_contour.py +0 -33
  538. package/staging_area/Blender/5.0/scripts/freestyle/styles/external_contour_sketchy.py +0 -39
  539. package/staging_area/Blender/5.0/scripts/freestyle/styles/external_contour_smooth.py +0 -37
  540. package/staging_area/Blender/5.0/scripts/freestyle/styles/haloing.py +0 -43
  541. package/staging_area/Blender/5.0/scripts/freestyle/styles/ignore_small_occlusions.py +0 -30
  542. package/staging_area/Blender/5.0/scripts/freestyle/styles/invisible_lines.py +0 -32
  543. package/staging_area/Blender/5.0/scripts/freestyle/styles/japanese_bigbrush.py +0 -53
  544. package/staging_area/Blender/5.0/scripts/freestyle/styles/long_anisotropically_dense.py +0 -67
  545. package/staging_area/Blender/5.0/scripts/freestyle/styles/multiple_parameterization.py +0 -41
  546. package/staging_area/Blender/5.0/scripts/freestyle/styles/nature.py +0 -32
  547. package/staging_area/Blender/5.0/scripts/freestyle/styles/near_lines.py +0 -32
  548. package/staging_area/Blender/5.0/scripts/freestyle/styles/occluded_by_specific_object.py +0 -36
  549. package/staging_area/Blender/5.0/scripts/freestyle/styles/polygonalize.py +0 -32
  550. package/staging_area/Blender/5.0/scripts/freestyle/styles/qi0.py +0 -31
  551. package/staging_area/Blender/5.0/scripts/freestyle/styles/qi0_not_external_contour.py +0 -38
  552. package/staging_area/Blender/5.0/scripts/freestyle/styles/qi1.py +0 -32
  553. package/staging_area/Blender/5.0/scripts/freestyle/styles/qi2.py +0 -32
  554. package/staging_area/Blender/5.0/scripts/freestyle/styles/sequentialsplit_sketchy.py +0 -39
  555. package/staging_area/Blender/5.0/scripts/freestyle/styles/sketchy_multiple_parameterization.py +0 -37
  556. package/staging_area/Blender/5.0/scripts/freestyle/styles/sketchy_topology_broken.py +0 -39
  557. package/staging_area/Blender/5.0/scripts/freestyle/styles/sketchy_topology_preserved.py +0 -36
  558. package/staging_area/Blender/5.0/scripts/freestyle/styles/split_at_highest_2d_curvatures.py +0 -34
  559. package/staging_area/Blender/5.0/scripts/freestyle/styles/split_at_tvertices.py +0 -33
  560. package/staging_area/Blender/5.0/scripts/freestyle/styles/suggestive.py +0 -33
  561. package/staging_area/Blender/5.0/scripts/freestyle/styles/thickness_fof_depth_discontinuity.py +0 -32
  562. package/staging_area/Blender/5.0/scripts/freestyle/styles/tipremover.py +0 -32
  563. package/staging_area/Blender/5.0/scripts/freestyle/styles/tvertex_remover.py +0 -32
  564. package/staging_area/Blender/5.0/scripts/freestyle/styles/uniformpruning_zsort.py +0 -31
  565. package/staging_area/Blender/5.0/scripts/modules/__pycache__/_bpy_restrict_state.cpython-311.pyc +0 -0
  566. package/staging_area/Blender/5.0/scripts/modules/__pycache__/_bpy_types.cpython-311.pyc +0 -0
  567. package/staging_area/Blender/5.0/scripts/modules/__pycache__/_console_python.cpython-311.pyc +0 -0
  568. package/staging_area/Blender/5.0/scripts/modules/__pycache__/_keyingsets_utils.cpython-311.pyc +0 -0
  569. package/staging_area/Blender/5.0/scripts/modules/__pycache__/_rna_xml.cpython-311.pyc +0 -0
  570. package/staging_area/Blender/5.0/scripts/modules/__pycache__/addon_utils.cpython-311.pyc +0 -0
  571. package/staging_area/Blender/5.0/scripts/modules/__pycache__/bl_app_template_utils.cpython-311.pyc +0 -0
  572. package/staging_area/Blender/5.0/scripts/modules/__pycache__/nodeitems_utils.cpython-311.pyc +0 -0
  573. package/staging_area/Blender/5.0/scripts/modules/__pycache__/rna_keymap_ui.cpython-311.pyc +0 -0
  574. package/staging_area/Blender/5.0/scripts/modules/__pycache__/rna_prop_ui.cpython-311.pyc +0 -0
  575. package/staging_area/Blender/5.0/scripts/modules/_animsys_refactor.py +0 -230
  576. package/staging_area/Blender/5.0/scripts/modules/_bl_console_utils/__init__.py +0 -7
  577. package/staging_area/Blender/5.0/scripts/modules/_bl_console_utils/autocomplete/__init__.py +0 -7
  578. package/staging_area/Blender/5.0/scripts/modules/_bl_console_utils/autocomplete/complete_calltip.py +0 -174
  579. package/staging_area/Blender/5.0/scripts/modules/_bl_console_utils/autocomplete/complete_import.py +0 -180
  580. package/staging_area/Blender/5.0/scripts/modules/_bl_console_utils/autocomplete/complete_namespace.py +0 -192
  581. package/staging_area/Blender/5.0/scripts/modules/_bl_console_utils/autocomplete/intellisense.py +0 -138
  582. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/__init__.py +0 -5
  583. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/bl_extract_messages.py +0 -1363
  584. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/merge_po.py +0 -132
  585. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/settings.py +0 -824
  586. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/settings_user.py +0 -7
  587. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/utils.py +0 -1709
  588. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/utils_cli.py +0 -144
  589. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/utils_languages_menu.py +0 -68
  590. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/utils_rtl.py +0 -179
  591. package/staging_area/Blender/5.0/scripts/modules/_bl_i18n_utils/utils_spell_check.py +0 -955
  592. package/staging_area/Blender/5.0/scripts/modules/_bl_previews_utils/bl_previews_render.py +0 -537
  593. package/staging_area/Blender/5.0/scripts/modules/_bl_rna_utils/__init__.py +0 -0
  594. package/staging_area/Blender/5.0/scripts/modules/_bl_rna_utils/__pycache__/__init__.cpython-311.pyc +0 -0
  595. package/staging_area/Blender/5.0/scripts/modules/_bl_rna_utils/__pycache__/data_path.cpython-311.pyc +0 -0
  596. package/staging_area/Blender/5.0/scripts/modules/_bl_rna_utils/data_path.py +0 -76
  597. package/staging_area/Blender/5.0/scripts/modules/_bl_text_utils/__init__.py +0 -0
  598. package/staging_area/Blender/5.0/scripts/modules/_bl_text_utils/external_editor.py +0 -54
  599. package/staging_area/Blender/5.0/scripts/modules/_bl_ui_utils/__init__.py +0 -0
  600. package/staging_area/Blender/5.0/scripts/modules/_bl_ui_utils/__pycache__/__init__.cpython-311.pyc +0 -0
  601. package/staging_area/Blender/5.0/scripts/modules/_bl_ui_utils/__pycache__/layout.cpython-311.pyc +0 -0
  602. package/staging_area/Blender/5.0/scripts/modules/_bl_ui_utils/layout.py +0 -21
  603. package/staging_area/Blender/5.0/scripts/modules/_blendfile_header.py +0 -234
  604. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/__init__.py +0 -3
  605. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/__pycache__/__init__.cpython-311.pyc +0 -0
  606. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/addons/__init__.py +0 -3
  607. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/addons/cli.py +0 -42
  608. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/assets/__init__.py +0 -3
  609. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/assets/remote_library_listing/__init__.py +0 -3
  610. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/assets/remote_library_listing/blender_asset_library_openapi.py +0 -98
  611. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/assets/remote_library_listing/blender_asset_library_openapi.yaml +0 -83
  612. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/__init__.py +0 -3
  613. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/__pycache__/__init__.cpython-311.pyc +0 -0
  614. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/__pycache__/junction_module.cpython-311.pyc +0 -0
  615. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/__pycache__/wheel_manager.cpython-311.pyc +0 -0
  616. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/junction_module.py +0 -165
  617. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/permissions.py +0 -16
  618. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/stale_file_manager.py +0 -417
  619. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/tags.py +0 -54
  620. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/extensions/wheel_manager.py +0 -686
  621. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/freedesktop.py +0 -598
  622. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/grease_pencil/__init__.py +0 -3
  623. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/grease_pencil/stroke.py +0 -402
  624. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/http/__init__.py +0 -3
  625. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/http/downloader.py +0 -1348
  626. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/system_info/text_generate_runtime.py +0 -256
  627. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/system_info/url_prefill_runtime.py +0 -60
  628. package/staging_area/Blender/5.0/scripts/modules/_bpy_internal/system_info/url_prefill_startup.py +0 -107
  629. package/staging_area/Blender/5.0/scripts/modules/_bpy_restrict_state.py +0 -50
  630. package/staging_area/Blender/5.0/scripts/modules/_bpy_types.py +0 -1563
  631. package/staging_area/Blender/5.0/scripts/modules/_console_python.py +0 -368
  632. package/staging_area/Blender/5.0/scripts/modules/_console_shell.py +0 -73
  633. package/staging_area/Blender/5.0/scripts/modules/_graphviz_export.py +0 -194
  634. package/staging_area/Blender/5.0/scripts/modules/_keyingsets_utils.py +0 -355
  635. package/staging_area/Blender/5.0/scripts/modules/_rna_info.py +0 -984
  636. package/staging_area/Blender/5.0/scripts/modules/_rna_manual_reference.py +0 -4446
  637. package/staging_area/Blender/5.0/scripts/modules/_rna_xml.py +0 -422
  638. package/staging_area/Blender/5.0/scripts/modules/addon_utils.py +0 -1992
  639. package/staging_area/Blender/5.0/scripts/modules/bl_app_override/__init__.py +0 -211
  640. package/staging_area/Blender/5.0/scripts/modules/bl_app_override/helpers.py +0 -153
  641. package/staging_area/Blender/5.0/scripts/modules/bl_app_template_utils.py +0 -177
  642. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/__init__.py +0 -9
  643. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/__pycache__/__init__.cpython-311.pyc +0 -0
  644. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/__pycache__/io.cpython-311.pyc +0 -0
  645. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/__pycache__/keymap_from_toolbar.cpython-311.pyc +0 -0
  646. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/__pycache__/keymap_hierarchy.cpython-311.pyc +0 -0
  647. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/io.py +0 -308
  648. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py +0 -394
  649. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/keymap_hierarchy.py +0 -247
  650. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/platform_helpers.py +0 -55
  651. package/staging_area/Blender/5.0/scripts/modules/bl_keymap_utils/versioning.py +0 -328
  652. package/staging_area/Blender/5.0/scripts/modules/blend_render_info.py +0 -123
  653. package/staging_area/Blender/5.0/scripts/modules/bpy/__init__.py +0 -75
  654. package/staging_area/Blender/5.0/scripts/modules/bpy/__pycache__/__init__.cpython-311.pyc +0 -0
  655. package/staging_area/Blender/5.0/scripts/modules/bpy/__pycache__/ops.cpython-311.pyc +0 -0
  656. package/staging_area/Blender/5.0/scripts/modules/bpy/__pycache__/path.cpython-311.pyc +0 -0
  657. package/staging_area/Blender/5.0/scripts/modules/bpy/ops.py +0 -184
  658. package/staging_area/Blender/5.0/scripts/modules/bpy/path.py +0 -459
  659. package/staging_area/Blender/5.0/scripts/modules/bpy/utils/__init__.py +0 -1382
  660. package/staging_area/Blender/5.0/scripts/modules/bpy/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  661. package/staging_area/Blender/5.0/scripts/modules/bpy/utils/__pycache__/previews.cpython-311.pyc +0 -0
  662. package/staging_area/Blender/5.0/scripts/modules/bpy/utils/previews.py +0 -136
  663. package/staging_area/Blender/5.0/scripts/modules/bpy/utils/toolsystem.py +0 -11
  664. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/__init__.py +0 -20
  665. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/__pycache__/__init__.cpython-311.pyc +0 -0
  666. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/__pycache__/asset_utils.cpython-311.pyc +0 -0
  667. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/__pycache__/io_utils.cpython-311.pyc +0 -0
  668. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/__pycache__/node_utils.cpython-311.pyc +0 -0
  669. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/__pycache__/object_utils.cpython-311.pyc +0 -0
  670. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/anim_utils.py +0 -1038
  671. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/asset_utils.py +0 -50
  672. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/bmesh_utils.py +0 -56
  673. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/id_map_utils.py +0 -53
  674. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/image_utils.py +0 -194
  675. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/io_utils.py +0 -620
  676. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/keyconfig_utils.py +0 -141
  677. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/mesh_utils.py +0 -464
  678. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/node_shader_utils.py +0 -829
  679. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/node_utils.py +0 -88
  680. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/object_utils.py +0 -289
  681. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/view3d_utils.py +0 -181
  682. package/staging_area/Blender/5.0/scripts/modules/bpy_extras/wm_utils/progress_report.py +0 -160
  683. package/staging_area/Blender/5.0/scripts/modules/gpu_extras/__init__.py +0 -8
  684. package/staging_area/Blender/5.0/scripts/modules/gpu_extras/__pycache__/__init__.cpython-311.pyc +0 -0
  685. package/staging_area/Blender/5.0/scripts/modules/gpu_extras/__pycache__/presets.cpython-311.pyc +0 -0
  686. package/staging_area/Blender/5.0/scripts/modules/gpu_extras/batch.py +0 -80
  687. package/staging_area/Blender/5.0/scripts/modules/gpu_extras/presets.py +0 -102
  688. package/staging_area/Blender/5.0/scripts/modules/nodeitems_utils.py +0 -178
  689. package/staging_area/Blender/5.0/scripts/modules/rna_keymap_ui.py +0 -505
  690. package/staging_area/Blender/5.0/scripts/modules/rna_prop_ui.py +0 -269
  691. package/staging_area/Blender/5.0/scripts/presets/camera/1_inch.py +0 -4
  692. package/staging_area/Blender/5.0/scripts/presets/camera/1_slash_1.8_inch.py +0 -4
  693. package/staging_area/Blender/5.0/scripts/presets/camera/1_slash_2.3_inch.py +0 -4
  694. package/staging_area/Blender/5.0/scripts/presets/camera/1_slash_2.5_inch.py +0 -4
  695. package/staging_area/Blender/5.0/scripts/presets/camera/1_slash_2.7_inch.py +0 -4
  696. package/staging_area/Blender/5.0/scripts/presets/camera/1_slash_3.2_inch.py +0 -4
  697. package/staging_area/Blender/5.0/scripts/presets/camera/2_slash_3_inch.py +0 -4
  698. package/staging_area/Blender/5.0/scripts/presets/camera/APS-C.py +0 -4
  699. package/staging_area/Blender/5.0/scripts/presets/camera/APS-C_(Canon).py +0 -4
  700. package/staging_area/Blender/5.0/scripts/presets/camera/APS-H_(Canon).py +0 -4
  701. package/staging_area/Blender/5.0/scripts/presets/camera/Analog_16mm.py +0 -4
  702. package/staging_area/Blender/5.0/scripts/presets/camera/Analog_35mm.py +0 -4
  703. package/staging_area/Blender/5.0/scripts/presets/camera/Analog_65mm.py +0 -4
  704. package/staging_area/Blender/5.0/scripts/presets/camera/Analog_IMAX.py +0 -4
  705. package/staging_area/Blender/5.0/scripts/presets/camera/Analog_Super_16.py +0 -4
  706. package/staging_area/Blender/5.0/scripts/presets/camera/Analog_Super_35.py +0 -4
  707. package/staging_area/Blender/5.0/scripts/presets/camera/Arri_Alexa_65.py +0 -4
  708. package/staging_area/Blender/5.0/scripts/presets/camera/Arri_Alexa_LF.py +0 -4
  709. package/staging_area/Blender/5.0/scripts/presets/camera/Arri_Alexa_Mini_&_SXT.py +0 -4
  710. package/staging_area/Blender/5.0/scripts/presets/camera/Blackmagic_Pocket_&_Studio.py +0 -4
  711. package/staging_area/Blender/5.0/scripts/presets/camera/Blackmagic_Pocket_4K.py +0 -4
  712. package/staging_area/Blender/5.0/scripts/presets/camera/Blackmagic_Pocket_6k.py +0 -4
  713. package/staging_area/Blender/5.0/scripts/presets/camera/Blackmagic_URSA_4.6K.py +0 -4
  714. package/staging_area/Blender/5.0/scripts/presets/camera/Foveon_(Sigma).py +0 -4
  715. package/staging_area/Blender/5.0/scripts/presets/camera/Fullframe.py +0 -4
  716. package/staging_area/Blender/5.0/scripts/presets/camera/MFT.py +0 -4
  717. package/staging_area/Blender/5.0/scripts/presets/camera/Medium-format_(Hasselblad).py +0 -4
  718. package/staging_area/Blender/5.0/scripts/presets/camera/RED_Dragon_5K.py +0 -4
  719. package/staging_area/Blender/5.0/scripts/presets/camera/RED_Dragon_6K.py +0 -4
  720. package/staging_area/Blender/5.0/scripts/presets/camera/RED_Helium_8K.py +0 -4
  721. package/staging_area/Blender/5.0/scripts/presets/camera/RED_Monstro_8K.py +0 -4
  722. package/staging_area/Blender/5.0/scripts/presets/cloth/Cotton.py +0 -25
  723. package/staging_area/Blender/5.0/scripts/presets/cloth/Denim.py +0 -25
  724. package/staging_area/Blender/5.0/scripts/presets/cloth/Leather.py +0 -25
  725. package/staging_area/Blender/5.0/scripts/presets/cloth/Rubber.py +0 -25
  726. package/staging_area/Blender/5.0/scripts/presets/cloth/Silk.py +0 -25
  727. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_A.py +0 -5
  728. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_B.py +0 -5
  729. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_C.py +0 -5
  730. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_D50.py +0 -5
  731. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_D55.py +0 -5
  732. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_D65.py +0 -5
  733. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_D75.py +0 -5
  734. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_D93.py +0 -5
  735. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_E.py +0 -5
  736. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F1.py +0 -5
  737. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F10.py +0 -5
  738. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F11.py +0 -5
  739. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F12.py +0 -5
  740. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F2.py +0 -5
  741. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F3.py +0 -5
  742. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F4.py +0 -5
  743. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F5.py +0 -5
  744. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F6.py +0 -5
  745. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F7.py +0 -5
  746. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F8.py +0 -5
  747. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_F9.py +0 -5
  748. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-B1.py +0 -5
  749. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-B2.py +0 -5
  750. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-B3.py +0 -5
  751. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-B4.py +0 -5
  752. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-B5.py +0 -5
  753. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-BH1.py +0 -5
  754. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-RGB1.py +0 -5
  755. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-V1.py +0 -5
  756. package/staging_area/Blender/5.0/scripts/presets/color_management/white_balance/Illuminant_LED-V2.py +0 -5
  757. package/staging_area/Blender/5.0/scripts/presets/cycles/integrator/Default.py +0 -14
  758. package/staging_area/Blender/5.0/scripts/presets/cycles/integrator/Direct_Light.py +0 -14
  759. package/staging_area/Blender/5.0/scripts/presets/cycles/integrator/Fast_Global_Illumination.py +0 -14
  760. package/staging_area/Blender/5.0/scripts/presets/cycles/integrator/Full_Global_Illumination.py +0 -14
  761. package/staging_area/Blender/5.0/scripts/presets/cycles/integrator/Limited_Global_Illumination.py +0 -14
  762. package/staging_area/Blender/5.0/scripts/presets/cycles/performance/Default.py +0 -11
  763. package/staging_area/Blender/5.0/scripts/presets/cycles/performance/Faster_Render.py +0 -11
  764. package/staging_area/Blender/5.0/scripts/presets/cycles/performance/Lower_Memory.py +0 -11
  765. package/staging_area/Blender/5.0/scripts/presets/cycles/sampling/Final.py +0 -12
  766. package/staging_area/Blender/5.0/scripts/presets/cycles/sampling/Preview.py +0 -12
  767. package/staging_area/Blender/5.0/scripts/presets/cycles/viewport_sampling/Final.py +0 -11
  768. package/staging_area/Blender/5.0/scripts/presets/cycles/viewport_sampling/Preview.py +0 -11
  769. package/staging_area/Blender/5.0/scripts/presets/eevee/raytracing/Default.py +0 -22
  770. package/staging_area/Blender/5.0/scripts/presets/ffmpeg/DVD_(note_colon__this_changes_render_resolution).py +0 -24
  771. package/staging_area/Blender/5.0/scripts/presets/ffmpeg/H264_in_MP4.py +0 -18
  772. package/staging_area/Blender/5.0/scripts/presets/ffmpeg/H264_in_Matroska.py +0 -17
  773. package/staging_area/Blender/5.0/scripts/presets/ffmpeg/H264_in_Matroska_for_scrubbing.py +0 -14
  774. package/staging_area/Blender/5.0/scripts/presets/ffmpeg/Ogg_Theora.py +0 -18
  775. package/staging_area/Blender/5.0/scripts/presets/ffmpeg/WebM_(VP9+Opus).py +0 -9
  776. package/staging_area/Blender/5.0/scripts/presets/ffmpeg/Xvid.py +0 -18
  777. package/staging_area/Blender/5.0/scripts/presets/fluid/Honey.py +0 -3
  778. package/staging_area/Blender/5.0/scripts/presets/fluid/Oil.py +0 -3
  779. package/staging_area/Blender/5.0/scripts/presets/fluid/Water.py +0 -3
  780. package/staging_area/Blender/5.0/scripts/presets/framerate/12.py +0 -3
  781. package/staging_area/Blender/5.0/scripts/presets/framerate/120.py +0 -3
  782. package/staging_area/Blender/5.0/scripts/presets/framerate/23.98.py +0 -3
  783. package/staging_area/Blender/5.0/scripts/presets/framerate/24.py +0 -3
  784. package/staging_area/Blender/5.0/scripts/presets/framerate/240.py +0 -3
  785. package/staging_area/Blender/5.0/scripts/presets/framerate/25.py +0 -3
  786. package/staging_area/Blender/5.0/scripts/presets/framerate/29.97.py +0 -3
  787. package/staging_area/Blender/5.0/scripts/presets/framerate/30.py +0 -3
  788. package/staging_area/Blender/5.0/scripts/presets/framerate/50.py +0 -3
  789. package/staging_area/Blender/5.0/scripts/presets/framerate/59.94.py +0 -3
  790. package/staging_area/Blender/5.0/scripts/presets/framerate/6.py +0 -3
  791. package/staging_area/Blender/5.0/scripts/presets/framerate/60.py +0 -3
  792. package/staging_area/Blender/5.0/scripts/presets/framerate/8.py +0 -3
  793. package/staging_area/Blender/5.0/scripts/presets/framerate/Custom.py +0 -1
  794. package/staging_area/Blender/5.0/scripts/presets/framerate/__pycache__/30.cpython-311.pyc +0 -0
  795. package/staging_area/Blender/5.0/scripts/presets/gpencil_material/Fill_Only.py +0 -25
  796. package/staging_area/Blender/5.0/scripts/presets/gpencil_material/Stroke_Only.py +0 -25
  797. package/staging_area/Blender/5.0/scripts/presets/gpencil_material/Stroke_and_Fill.py +0 -25
  798. package/staging_area/Blender/5.0/scripts/presets/hair_dynamics/Default.py +0 -17
  799. package/staging_area/Blender/5.0/scripts/presets/interface_theme/Blender_Dark.xml +0 -6
  800. package/staging_area/Blender/5.0/scripts/presets/interface_theme/Blender_Light.xml +0 -1246
  801. package/staging_area/Blender/5.0/scripts/presets/keyconfig/Blender.py +0 -384
  802. package/staging_area/Blender/5.0/scripts/presets/keyconfig/Blender_27x.py +0 -106
  803. package/staging_area/Blender/5.0/scripts/presets/keyconfig/Industry_Compatible.py +0 -41
  804. package/staging_area/Blender/5.0/scripts/presets/keyconfig/__pycache__/Blender.cpython-311.pyc +0 -0
  805. package/staging_area/Blender/5.0/scripts/presets/keyconfig/keymap_data/__pycache__/blender_default.cpython-311.pyc +0 -0
  806. package/staging_area/Blender/5.0/scripts/presets/keyconfig/keymap_data/blender_default.py +0 -9083
  807. package/staging_area/Blender/5.0/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py +0 -3896
  808. package/staging_area/Blender/5.0/scripts/presets/pixel_density/Custom.py +0 -1
  809. package/staging_area/Blender/5.0/scripts/presets/pixel_density/Pixels_slash_Centimeter.py +0 -2
  810. package/staging_area/Blender/5.0/scripts/presets/pixel_density/Pixels_slash_Inch.py +0 -2
  811. package/staging_area/Blender/5.0/scripts/presets/pixel_density/Pixels_slash_Meter.py +0 -2
  812. package/staging_area/Blender/5.0/scripts/presets/render/4K_DCI_2160p.py +0 -8
  813. package/staging_area/Blender/5.0/scripts/presets/render/4K_UHDTV_2160p.py +0 -8
  814. package/staging_area/Blender/5.0/scripts/presets/render/4K_UW_1600p.py +0 -8
  815. package/staging_area/Blender/5.0/scripts/presets/render/DVCPRO_HD_1080p.py +0 -8
  816. package/staging_area/Blender/5.0/scripts/presets/render/DVCPRO_HD_720p.py +0 -8
  817. package/staging_area/Blender/5.0/scripts/presets/render/HDTV_1080p.py +0 -8
  818. package/staging_area/Blender/5.0/scripts/presets/render/HDTV_720p.py +0 -8
  819. package/staging_area/Blender/5.0/scripts/presets/render/HDV_1080p.py +0 -8
  820. package/staging_area/Blender/5.0/scripts/presets/render/HDV_NTSC_1080p.py +0 -8
  821. package/staging_area/Blender/5.0/scripts/presets/render/HDV_PAL_1080p.py +0 -8
  822. package/staging_area/Blender/5.0/scripts/presets/render/TV_NTSC_16_colon_9.py +0 -8
  823. package/staging_area/Blender/5.0/scripts/presets/render/TV_NTSC_4_colon_3.py +0 -8
  824. package/staging_area/Blender/5.0/scripts/presets/render/TV_PAL_16_colon_9.py +0 -8
  825. package/staging_area/Blender/5.0/scripts/presets/render/TV_PAL_4_colon_3.py +0 -8
  826. package/staging_area/Blender/5.0/scripts/presets/safe_areas/14_colon_9_in_16_colon_9.py +0 -7
  827. package/staging_area/Blender/5.0/scripts/presets/safe_areas/16_colon_9.py +0 -7
  828. package/staging_area/Blender/5.0/scripts/presets/safe_areas/4_colon_3_in_16_colon_9.py +0 -7
  829. package/staging_area/Blender/5.0/scripts/presets/text_editor/Internal.py +0 -6
  830. package/staging_area/Blender/5.0/scripts/presets/text_editor/Visual_Studio_Code.py +0 -12
  831. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/1_inch.py +0 -6
  832. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/1_slash_1.8_inch.py +0 -6
  833. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/1_slash_2.3_inch.py +0 -6
  834. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/1_slash_2.5_inch.py +0 -6
  835. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/1_slash_2.7_inch.py +0 -6
  836. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/1_slash_3.2_inch.py +0 -6
  837. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/2_slash_3_inch.py +0 -6
  838. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/APS-C.py +0 -6
  839. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/APS-C_(Canon).py +0 -6
  840. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/APS-H_(Canon).py +0 -6
  841. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Analog_16mm.py +0 -6
  842. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Analog_35mm.py +0 -6
  843. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Analog_65mm.py +0 -6
  844. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Analog_IMAX.py +0 -6
  845. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Analog_Super_16.py +0 -6
  846. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Analog_Super_35.py +0 -6
  847. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Arri_Alexa_65.py +0 -6
  848. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Arri_Alexa_LF.py +0 -6
  849. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Arri_Alexa_Mini_&_SXT.py +0 -6
  850. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Blackmagic_Pocket_&_Studio.py +0 -6
  851. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Blackmagic_Pocket_4K.py +0 -6
  852. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Blackmagic_Pocket_6k.py +0 -6
  853. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Blackmagic_URSA_4.6K.py +0 -6
  854. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Foveon_(Sigma).py +0 -6
  855. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Fullframe.py +0 -6
  856. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/MFT.py +0 -6
  857. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/Medium-format_(Hasselblad).py +0 -6
  858. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/RED_Dragon_5K.py +0 -6
  859. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/RED_Dragon_6K.py +0 -6
  860. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/RED_Helium_8K.py +0 -6
  861. package/staging_area/Blender/5.0/scripts/presets/tracking_camera/RED_Monstro_8K.py +0 -6
  862. package/staging_area/Blender/5.0/scripts/presets/tracking_settings/Blurry_Footage.py +0 -18
  863. package/staging_area/Blender/5.0/scripts/presets/tracking_settings/Default.py +0 -18
  864. package/staging_area/Blender/5.0/scripts/presets/tracking_settings/Fast_Motion.py +0 -18
  865. package/staging_area/Blender/5.0/scripts/presets/tracking_settings/Planar.py +0 -18
  866. package/staging_area/Blender/5.0/scripts/presets/tracking_track_color/Default.py +0 -5
  867. package/staging_area/Blender/5.0/scripts/presets/tracking_track_color/Far_Plane.py +0 -5
  868. package/staging_area/Blender/5.0/scripts/presets/tracking_track_color/Near_Plane.py +0 -5
  869. package/staging_area/Blender/5.0/scripts/presets/tracking_track_color/Object.py +0 -5
  870. package/staging_area/Blender/5.0/scripts/startup/__pycache__/keyingsets_builtins.cpython-311.pyc +0 -0
  871. package/staging_area/Blender/5.0/scripts/startup/__pycache__/nodeitems_builtins.cpython-311.pyc +0 -0
  872. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/2D_Animation/__init__.py +0 -56
  873. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/2D_Animation/__pycache__/__init__.cpython-311.pyc +0 -0
  874. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/2D_Animation/startup.blend +0 -0
  875. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/Sculpting/__init__.py +0 -30
  876. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/Sculpting/startup.blend +0 -0
  877. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/Storyboarding/__init__.py +0 -51
  878. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/Storyboarding/__pycache__/__init__.cpython-311.pyc +0 -0
  879. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/Storyboarding/startup.blend +0 -0
  880. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/VFX/startup.blend +0 -0
  881. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/Video_Editing/__init__.py +0 -51
  882. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/Video_Editing/__pycache__/__init__.cpython-311.pyc +0 -0
  883. package/staging_area/Blender/5.0/scripts/startup/bl_app_templates_system/Video_Editing/startup.blend +0 -0
  884. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__init__.py +0 -88
  885. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/__init__.cpython-311.pyc +0 -0
  886. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/add_mesh_torus.cpython-311.pyc +0 -0
  887. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/anim.cpython-311.pyc +0 -0
  888. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/assets.cpython-311.pyc +0 -0
  889. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/bone_selection_sets.cpython-311.pyc +0 -0
  890. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/clip.cpython-311.pyc +0 -0
  891. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/connect_to_output.cpython-311.pyc +0 -0
  892. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/console.cpython-311.pyc +0 -0
  893. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/constraint.cpython-311.pyc +0 -0
  894. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/copy_global_transform.cpython-311.pyc +0 -0
  895. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/file.cpython-311.pyc +0 -0
  896. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/freestyle.cpython-311.pyc +0 -0
  897. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/geometry_nodes.cpython-311.pyc +0 -0
  898. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/grease_pencil.cpython-311.pyc +0 -0
  899. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/image.cpython-311.pyc +0 -0
  900. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/image_as_planes.cpython-311.pyc +0 -0
  901. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/mesh.cpython-311.pyc +0 -0
  902. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/node.cpython-311.pyc +0 -0
  903. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/object.cpython-311.pyc +0 -0
  904. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/object_align.cpython-311.pyc +0 -0
  905. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/object_quick_effects.cpython-311.pyc +0 -0
  906. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/object_randomize_transform.cpython-311.pyc +0 -0
  907. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/presets.cpython-311.pyc +0 -0
  908. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/rigidbody.cpython-311.pyc +0 -0
  909. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/screen_play_rendered_anim.cpython-311.pyc +0 -0
  910. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/sequencer.cpython-311.pyc +0 -0
  911. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/spreadsheet.cpython-311.pyc +0 -0
  912. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/userpref.cpython-311.pyc +0 -0
  913. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/uvcalc_follow_active.cpython-311.pyc +0 -0
  914. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/uvcalc_lightmap.cpython-311.pyc +0 -0
  915. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/uvcalc_transform.cpython-311.pyc +0 -0
  916. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/vertexpaint_dirt.cpython-311.pyc +0 -0
  917. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/view3d.cpython-311.pyc +0 -0
  918. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/wm.cpython-311.pyc +0 -0
  919. package/staging_area/Blender/5.0/scripts/startup/bl_operators/__pycache__/world.cpython-311.pyc +0 -0
  920. package/staging_area/Blender/5.0/scripts/startup/bl_operators/add_mesh_torus.py +0 -262
  921. package/staging_area/Blender/5.0/scripts/startup/bl_operators/anim.py +0 -924
  922. package/staging_area/Blender/5.0/scripts/startup/bl_operators/assets.py +0 -157
  923. package/staging_area/Blender/5.0/scripts/startup/bl_operators/bmesh/find_adjacent.py +0 -341
  924. package/staging_area/Blender/5.0/scripts/startup/bl_operators/bone_selection_sets.py +0 -439
  925. package/staging_area/Blender/5.0/scripts/startup/bl_operators/clip.py +0 -1044
  926. package/staging_area/Blender/5.0/scripts/startup/bl_operators/connect_to_output.py +0 -360
  927. package/staging_area/Blender/5.0/scripts/startup/bl_operators/console.py +0 -156
  928. package/staging_area/Blender/5.0/scripts/startup/bl_operators/constraint.py +0 -121
  929. package/staging_area/Blender/5.0/scripts/startup/bl_operators/copy_global_transform.py +0 -823
  930. package/staging_area/Blender/5.0/scripts/startup/bl_operators/file.py +0 -308
  931. package/staging_area/Blender/5.0/scripts/startup/bl_operators/freestyle.py +0 -226
  932. package/staging_area/Blender/5.0/scripts/startup/bl_operators/geometry_nodes.py +0 -394
  933. package/staging_area/Blender/5.0/scripts/startup/bl_operators/grease_pencil.py +0 -63
  934. package/staging_area/Blender/5.0/scripts/startup/bl_operators/image.py +0 -322
  935. package/staging_area/Blender/5.0/scripts/startup/bl_operators/image_as_planes.py +0 -1216
  936. package/staging_area/Blender/5.0/scripts/startup/bl_operators/mesh.py +0 -61
  937. package/staging_area/Blender/5.0/scripts/startup/bl_operators/node.py +0 -1340
  938. package/staging_area/Blender/5.0/scripts/startup/bl_operators/node_editor/__pycache__/node_functions.cpython-311.pyc +0 -0
  939. package/staging_area/Blender/5.0/scripts/startup/bl_operators/node_editor/node_functions.py +0 -97
  940. package/staging_area/Blender/5.0/scripts/startup/bl_operators/object.py +0 -1014
  941. package/staging_area/Blender/5.0/scripts/startup/bl_operators/object_align.py +0 -407
  942. package/staging_area/Blender/5.0/scripts/startup/bl_operators/object_quick_effects.py +0 -680
  943. package/staging_area/Blender/5.0/scripts/startup/bl_operators/object_randomize_transform.py +0 -181
  944. package/staging_area/Blender/5.0/scripts/startup/bl_operators/presets.py +0 -1057
  945. package/staging_area/Blender/5.0/scripts/startup/bl_operators/rigidbody.py +0 -323
  946. package/staging_area/Blender/5.0/scripts/startup/bl_operators/screen_play_rendered_anim.py +0 -219
  947. package/staging_area/Blender/5.0/scripts/startup/bl_operators/sequencer.py +0 -438
  948. package/staging_area/Blender/5.0/scripts/startup/bl_operators/spreadsheet.py +0 -46
  949. package/staging_area/Blender/5.0/scripts/startup/bl_operators/userpref.py +0 -1324
  950. package/staging_area/Blender/5.0/scripts/startup/bl_operators/uvcalc_follow_active.py +0 -313
  951. package/staging_area/Blender/5.0/scripts/startup/bl_operators/uvcalc_lightmap.py +0 -688
  952. package/staging_area/Blender/5.0/scripts/startup/bl_operators/uvcalc_transform.py +0 -551
  953. package/staging_area/Blender/5.0/scripts/startup/bl_operators/vertexpaint_dirt.py +0 -198
  954. package/staging_area/Blender/5.0/scripts/startup/bl_operators/view3d.py +0 -316
  955. package/staging_area/Blender/5.0/scripts/startup/bl_operators/wm.py +0 -3722
  956. package/staging_area/Blender/5.0/scripts/startup/bl_operators/world.py +0 -168
  957. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__init__.py +0 -299
  958. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/__init__.cpython-311.pyc +0 -0
  959. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/anim.cpython-311.pyc +0 -0
  960. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/asset_shelf.cpython-311.pyc +0 -0
  961. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/generic_ui_list.cpython-311.pyc +0 -0
  962. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/node_add_menu.cpython-311.pyc +0 -0
  963. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/node_add_menu_compositor.cpython-311.pyc +0 -0
  964. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/node_add_menu_geometry.cpython-311.pyc +0 -0
  965. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/node_add_menu_shader.cpython-311.pyc +0 -0
  966. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/node_add_menu_texture.cpython-311.pyc +0 -0
  967. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_animviz.cpython-311.pyc +0 -0
  968. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_collection.cpython-311.pyc +0 -0
  969. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_constraint.cpython-311.pyc +0 -0
  970. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_armature.cpython-311.pyc +0 -0
  971. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_bone.cpython-311.pyc +0 -0
  972. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_camera.cpython-311.pyc +0 -0
  973. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_curve.cpython-311.pyc +0 -0
  974. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_curves.cpython-311.pyc +0 -0
  975. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_empty.cpython-311.pyc +0 -0
  976. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_grease_pencil.cpython-311.pyc +0 -0
  977. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_lattice.cpython-311.pyc +0 -0
  978. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_light.cpython-311.pyc +0 -0
  979. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_lightprobe.cpython-311.pyc +0 -0
  980. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_mesh.cpython-311.pyc +0 -0
  981. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_metaball.cpython-311.pyc +0 -0
  982. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_modifier.cpython-311.pyc +0 -0
  983. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_pointcloud.cpython-311.pyc +0 -0
  984. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_shaderfx.cpython-311.pyc +0 -0
  985. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_speaker.cpython-311.pyc +0 -0
  986. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_data_volume.cpython-311.pyc +0 -0
  987. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_freestyle.cpython-311.pyc +0 -0
  988. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_grease_pencil_common.cpython-311.pyc +0 -0
  989. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_mask_common.cpython-311.pyc +0 -0
  990. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_material.cpython-311.pyc +0 -0
  991. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_material_gpencil.cpython-311.pyc +0 -0
  992. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_object.cpython-311.pyc +0 -0
  993. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_output.cpython-311.pyc +0 -0
  994. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_paint_common.cpython-311.pyc +0 -0
  995. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_particle.cpython-311.pyc +0 -0
  996. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_cloth.cpython-311.pyc +0 -0
  997. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_common.cpython-311.pyc +0 -0
  998. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_dynamicpaint.cpython-311.pyc +0 -0
  999. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_field.cpython-311.pyc +0 -0
  1000. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_fluid.cpython-311.pyc +0 -0
  1001. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_geometry_nodes.cpython-311.pyc +0 -0
  1002. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_rigidbody.cpython-311.pyc +0 -0
  1003. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_rigidbody_constraint.cpython-311.pyc +0 -0
  1004. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_physics_softbody.cpython-311.pyc +0 -0
  1005. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_render.cpython-311.pyc +0 -0
  1006. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_scene.cpython-311.pyc +0 -0
  1007. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_strip.cpython-311.pyc +0 -0
  1008. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_strip_modifier.cpython-311.pyc +0 -0
  1009. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_texture.cpython-311.pyc +0 -0
  1010. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_view_layer.cpython-311.pyc +0 -0
  1011. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_workspace.cpython-311.pyc +0 -0
  1012. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/properties_world.cpython-311.pyc +0 -0
  1013. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_clip.cpython-311.pyc +0 -0
  1014. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_console.cpython-311.pyc +0 -0
  1015. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_dopesheet.cpython-311.pyc +0 -0
  1016. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_filebrowser.cpython-311.pyc +0 -0
  1017. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_graph.cpython-311.pyc +0 -0
  1018. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_image.cpython-311.pyc +0 -0
  1019. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_info.cpython-311.pyc +0 -0
  1020. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_nla.cpython-311.pyc +0 -0
  1021. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_node.cpython-311.pyc +0 -0
  1022. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_outliner.cpython-311.pyc +0 -0
  1023. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_properties.cpython-311.pyc +0 -0
  1024. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_sequencer.cpython-311.pyc +0 -0
  1025. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_spreadsheet.cpython-311.pyc +0 -0
  1026. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_statusbar.cpython-311.pyc +0 -0
  1027. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_text.cpython-311.pyc +0 -0
  1028. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_time.cpython-311.pyc +0 -0
  1029. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_toolsystem_common.cpython-311.pyc +0 -0
  1030. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_toolsystem_toolbar.cpython-311.pyc +0 -0
  1031. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_topbar.cpython-311.pyc +0 -0
  1032. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_userpref.cpython-311.pyc +0 -0
  1033. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_view3d.cpython-311.pyc +0 -0
  1034. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_view3d_sidebar.cpython-311.pyc +0 -0
  1035. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/space_view3d_toolbar.cpython-311.pyc +0 -0
  1036. package/staging_area/Blender/5.0/scripts/startup/bl_ui/__pycache__/utils.cpython-311.pyc +0 -0
  1037. package/staging_area/Blender/5.0/scripts/startup/bl_ui/anim.py +0 -62
  1038. package/staging_area/Blender/5.0/scripts/startup/bl_ui/asset_shelf.py +0 -41
  1039. package/staging_area/Blender/5.0/scripts/startup/bl_ui/generic_ui_list.py +0 -262
  1040. package/staging_area/Blender/5.0/scripts/startup/bl_ui/node_add_menu.py +0 -505
  1041. package/staging_area/Blender/5.0/scripts/startup/bl_ui/node_add_menu_compositor.py +0 -437
  1042. package/staging_area/Blender/5.0/scripts/startup/bl_ui/node_add_menu_geometry.py +0 -1158
  1043. package/staging_area/Blender/5.0/scripts/startup/bl_ui/node_add_menu_shader.py +0 -511
  1044. package/staging_area/Blender/5.0/scripts/startup/bl_ui/node_add_menu_texture.py +0 -167
  1045. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_animviz.py +0 -123
  1046. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_collection.py +0 -146
  1047. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_constraint.py +0 -1793
  1048. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_armature.py +0 -436
  1049. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_bone.py +0 -625
  1050. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_camera.py +0 -603
  1051. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_curve.py +0 -461
  1052. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_curves.py +0 -219
  1053. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_empty.py +0 -84
  1054. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_grease_pencil.py +0 -536
  1055. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_lattice.py +0 -105
  1056. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_light.py +0 -315
  1057. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_lightprobe.py +0 -413
  1058. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_mesh.py +0 -744
  1059. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_metaball.py +0 -137
  1060. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_modifier.py +0 -323
  1061. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_pointcloud.py +0 -175
  1062. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_shaderfx.py +0 -31
  1063. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_speaker.py +0 -157
  1064. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_data_volume.py +0 -239
  1065. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_freestyle.py +0 -1343
  1066. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_grease_pencil_common.py +0 -607
  1067. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_mask_common.py +0 -461
  1068. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_material.py +0 -460
  1069. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_material_gpencil.py +0 -272
  1070. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_object.py +0 -656
  1071. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_output.py +0 -736
  1072. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_paint_common.py +0 -1904
  1073. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_particle.py +0 -2308
  1074. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_cloth.py +0 -524
  1075. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_common.py +0 -360
  1076. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_dynamicpaint.py +0 -974
  1077. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_field.py +0 -487
  1078. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_fluid.py +0 -1629
  1079. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_geometry_nodes.py +0 -64
  1080. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_rigidbody.py +0 -345
  1081. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py +0 -554
  1082. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_physics_softbody.py +0 -471
  1083. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_render.py +0 -1180
  1084. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_scene.py +0 -495
  1085. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_strip.py +0 -1056
  1086. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_strip_modifier.py +0 -49
  1087. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_texture.py +0 -997
  1088. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_view_layer.py +0 -348
  1089. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_workspace.py +0 -195
  1090. package/staging_area/Blender/5.0/scripts/startup/bl_ui/properties_world.py +0 -282
  1091. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_clip.py +0 -2112
  1092. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_console.py +0 -157
  1093. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_dopesheet.py +0 -1123
  1094. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_filebrowser.py +0 -950
  1095. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_graph.py +0 -615
  1096. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_image.py +0 -1896
  1097. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_info.py +0 -117
  1098. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_nla.py +0 -429
  1099. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_node.py +0 -1247
  1100. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_outliner.py +0 -559
  1101. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_properties.py +0 -205
  1102. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_sequencer.py +0 -2097
  1103. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_spreadsheet.py +0 -83
  1104. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_statusbar.py +0 -41
  1105. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_text.py +0 -479
  1106. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_time.py +0 -364
  1107. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_toolsystem_common.py +0 -1256
  1108. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_toolsystem_toolbar.py +0 -4123
  1109. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_topbar.py +0 -891
  1110. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_userpref.py +0 -3108
  1111. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_view3d.py +0 -9421
  1112. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_view3d_sidebar.py +0 -183
  1113. package/staging_area/Blender/5.0/scripts/startup/bl_ui/space_view3d_toolbar.py +0 -2438
  1114. package/staging_area/Blender/5.0/scripts/startup/bl_ui/utils.py +0 -40
  1115. package/staging_area/Blender/5.0/scripts/startup/keyingsets_builtins.py +0 -686
  1116. package/staging_area/Blender/5.0/scripts/startup/nodeitems_builtins.py +0 -54
  1117. package/staging_area/Blender/5.0/scripts/templates_osl/advanced_camera.osl +0 -76
  1118. package/staging_area/Blender/5.0/scripts/templates_osl/basic_camera.osl +0 -14
  1119. package/staging_area/Blender/5.0/scripts/templates_osl/basic_shader.osl +0 -10
  1120. package/staging_area/Blender/5.0/scripts/templates_osl/cubemap_camera.osl +0 -42
  1121. package/staging_area/Blender/5.0/scripts/templates_osl/empty_shader.osl +0 -6
  1122. package/staging_area/Blender/5.0/scripts/templates_osl/gabor_noise.osl +0 -17
  1123. package/staging_area/Blender/5.0/scripts/templates_osl/lyapunov_texture.osl +0 -141
  1124. package/staging_area/Blender/5.0/scripts/templates_osl/noise.osl +0 -27
  1125. package/staging_area/Blender/5.0/scripts/templates_osl/ramp_closure.osl +0 -20
  1126. package/staging_area/Blender/5.0/scripts/templates_py/addon_add_object.py +0 -84
  1127. package/staging_area/Blender/5.0/scripts/templates_py/background_job.py +0 -118
  1128. package/staging_area/Blender/5.0/scripts/templates_py/batch_export.py +0 -42
  1129. package/staging_area/Blender/5.0/scripts/templates_py/bmesh_simple.py +0 -22
  1130. package/staging_area/Blender/5.0/scripts/templates_py/bmesh_simple_editmode.py +0 -23
  1131. package/staging_area/Blender/5.0/scripts/templates_py/builtin_keyingset.py +0 -37
  1132. package/staging_area/Blender/5.0/scripts/templates_py/custom_nodes.py +0 -172
  1133. package/staging_area/Blender/5.0/scripts/templates_py/driver_functions.py +0 -35
  1134. package/staging_area/Blender/5.0/scripts/templates_py/external_script_stub.py +0 -13
  1135. package/staging_area/Blender/5.0/scripts/templates_py/gizmo_custom_geometry.py +0 -157
  1136. package/staging_area/Blender/5.0/scripts/templates_py/gizmo_operator.py +0 -235
  1137. package/staging_area/Blender/5.0/scripts/templates_py/gizmo_operator_target.py +0 -50
  1138. package/staging_area/Blender/5.0/scripts/templates_py/gizmo_simple_2d.py +0 -59
  1139. package/staging_area/Blender/5.0/scripts/templates_py/gizmo_simple_3d.py +0 -47
  1140. package/staging_area/Blender/5.0/scripts/templates_py/image_processing.py +0 -35
  1141. package/staging_area/Blender/5.0/scripts/templates_py/operator_file_export.py +0 -76
  1142. package/staging_area/Blender/5.0/scripts/templates_py/operator_file_import.py +0 -79
  1143. package/staging_area/Blender/5.0/scripts/templates_py/operator_mesh_add.py +0 -116
  1144. package/staging_area/Blender/5.0/scripts/templates_py/operator_mesh_uv.py +0 -56
  1145. package/staging_area/Blender/5.0/scripts/templates_py/operator_modal.py +0 -58
  1146. package/staging_area/Blender/5.0/scripts/templates_py/operator_modal_draw.py +0 -83
  1147. package/staging_area/Blender/5.0/scripts/templates_py/operator_modal_timer.py +0 -54
  1148. package/staging_area/Blender/5.0/scripts/templates_py/operator_modal_view3d.py +0 -77
  1149. package/staging_area/Blender/5.0/scripts/templates_py/operator_modal_view3d_raycast.py +0 -115
  1150. package/staging_area/Blender/5.0/scripts/templates_py/operator_node.py +0 -66
  1151. package/staging_area/Blender/5.0/scripts/templates_py/operator_simple.py +0 -42
  1152. package/staging_area/Blender/5.0/scripts/templates_py/ui_asset_shelf.py +0 -29
  1153. package/staging_area/Blender/5.0/scripts/templates_py/ui_list.py +0 -44
  1154. package/staging_area/Blender/5.0/scripts/templates_py/ui_list_generic.py +0 -47
  1155. package/staging_area/Blender/5.0/scripts/templates_py/ui_list_simple.py +0 -70
  1156. package/staging_area/Blender/5.0/scripts/templates_py/ui_menu.py +0 -50
  1157. package/staging_area/Blender/5.0/scripts/templates_py/ui_menu_simple.py +0 -27
  1158. package/staging_area/Blender/5.0/scripts/templates_py/ui_panel.py +0 -73
  1159. package/staging_area/Blender/5.0/scripts/templates_py/ui_panel_simple.py +0 -38
  1160. package/staging_area/Blender/5.0/scripts/templates_py/ui_pie_menu.py +0 -31
  1161. package/staging_area/Blender/5.0/scripts/templates_py/ui_previews_custom_icon.py +0 -76
  1162. package/staging_area/Blender/5.0/scripts/templates_py/ui_previews_dynamic_enum.py +0 -141
  1163. package/staging_area/Blender/5.0/scripts/templates_py/ui_tool_simple.py +0 -91
  1164. package/staging_area/Blender/5.0/scripts/templates_toml/blender_manifest.toml +0 -75
  1165. package/staging_area/Blender/blender-launcher.exe +0 -0
  1166. package/staging_area/Blender/blender.crt/api-ms-win-core-console-l1-1-0.dll +0 -0
  1167. package/staging_area/Blender/blender.crt/api-ms-win-core-console-l1-2-0.dll +0 -0
  1168. package/staging_area/Blender/blender.crt/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  1169. package/staging_area/Blender/blender.crt/api-ms-win-core-debug-l1-1-0.dll +0 -0
  1170. package/staging_area/Blender/blender.crt/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  1171. package/staging_area/Blender/blender.crt/api-ms-win-core-fibers-l1-1-0.dll +0 -0
  1172. package/staging_area/Blender/blender.crt/api-ms-win-core-file-l1-1-0.dll +0 -0
  1173. package/staging_area/Blender/blender.crt/api-ms-win-core-file-l1-2-0.dll +0 -0
  1174. package/staging_area/Blender/blender.crt/api-ms-win-core-file-l2-1-0.dll +0 -0
  1175. package/staging_area/Blender/blender.crt/api-ms-win-core-handle-l1-1-0.dll +0 -0
  1176. package/staging_area/Blender/blender.crt/api-ms-win-core-heap-l1-1-0.dll +0 -0
  1177. package/staging_area/Blender/blender.crt/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  1178. package/staging_area/Blender/blender.crt/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  1179. package/staging_area/Blender/blender.crt/api-ms-win-core-localization-l1-2-0.dll +0 -0
  1180. package/staging_area/Blender/blender.crt/api-ms-win-core-memory-l1-1-0.dll +0 -0
  1181. package/staging_area/Blender/blender.crt/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  1182. package/staging_area/Blender/blender.crt/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  1183. package/staging_area/Blender/blender.crt/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  1184. package/staging_area/Blender/blender.crt/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  1185. package/staging_area/Blender/blender.crt/api-ms-win-core-profile-l1-1-0.dll +0 -0
  1186. package/staging_area/Blender/blender.crt/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  1187. package/staging_area/Blender/blender.crt/api-ms-win-core-string-l1-1-0.dll +0 -0
  1188. package/staging_area/Blender/blender.crt/api-ms-win-core-synch-l1-1-0.dll +0 -0
  1189. package/staging_area/Blender/blender.crt/api-ms-win-core-synch-l1-2-0.dll +0 -0
  1190. package/staging_area/Blender/blender.crt/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  1191. package/staging_area/Blender/blender.crt/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  1192. package/staging_area/Blender/blender.crt/api-ms-win-core-util-l1-1-0.dll +0 -0
  1193. package/staging_area/Blender/blender.crt/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  1194. package/staging_area/Blender/blender.crt/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  1195. package/staging_area/Blender/blender.crt/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  1196. package/staging_area/Blender/blender.crt/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  1197. package/staging_area/Blender/blender.crt/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  1198. package/staging_area/Blender/blender.crt/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  1199. package/staging_area/Blender/blender.crt/api-ms-win-crt-math-l1-1-0.dll +0 -0
  1200. package/staging_area/Blender/blender.crt/api-ms-win-crt-multibyte-l1-1-0.dll +0 -0
  1201. package/staging_area/Blender/blender.crt/api-ms-win-crt-private-l1-1-0.dll +0 -0
  1202. package/staging_area/Blender/blender.crt/api-ms-win-crt-process-l1-1-0.dll +0 -0
  1203. package/staging_area/Blender/blender.crt/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  1204. package/staging_area/Blender/blender.crt/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  1205. package/staging_area/Blender/blender.crt/api-ms-win-crt-string-l1-1-0.dll +0 -0
  1206. package/staging_area/Blender/blender.crt/api-ms-win-crt-time-l1-1-0.dll +0 -0
  1207. package/staging_area/Blender/blender.crt/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  1208. package/staging_area/Blender/blender.crt/blender.crt.manifest +0 -54
  1209. package/staging_area/Blender/blender.crt/concrt140.dll +0 -0
  1210. package/staging_area/Blender/blender.crt/msvcp140.dll +0 -0
  1211. package/staging_area/Blender/blender.crt/msvcp140_1.dll +0 -0
  1212. package/staging_area/Blender/blender.crt/msvcp140_2.dll +0 -0
  1213. package/staging_area/Blender/blender.crt/msvcp140_atomic_wait.dll +0 -0
  1214. package/staging_area/Blender/blender.crt/msvcp140_codecvt_ids.dll +0 -0
  1215. package/staging_area/Blender/blender.crt/vcruntime140.dll +0 -0
  1216. package/staging_area/Blender/blender.crt/vcruntime140_1.dll +0 -0
@@ -1,1709 +0,0 @@
1
- # SPDX-FileCopyrightText: 2012-2023 Blender Authors
2
- #
3
- # SPDX-License-Identifier: GPL-2.0-or-later
4
-
5
- # Some misc utilities...
6
-
7
- __all__ = (
8
- "I18n",
9
- "I18nMessage",
10
- "I18nMessages",
11
- "enable_addons",
12
- "find_best_isocode_matches",
13
- "get_po_files_from_dir",
14
- "list_po_dir",
15
- )
16
-
17
- import collections
18
- import os
19
- import platform
20
- import re
21
- import struct
22
- import tempfile
23
- import time
24
-
25
- from _bl_i18n_utils import (
26
- settings,
27
- utils_rtl,
28
- )
29
-
30
-
31
- ##### Misc Utils #####
32
- _valid_po_path_re = re.compile(r"^\S+:[0-9]+$")
33
-
34
-
35
- def is_valid_po_path(path):
36
- return bool(_valid_po_path_re.match(path))
37
-
38
-
39
- def get_best_similar(data):
40
- import difflib
41
- key, use_similar, similar_pool = data
42
-
43
- # try to find some close key in existing messages...
44
- # Optimized code inspired by difflib.get_close_matches (as we only need the best match).
45
- # We also consider to never make a match when len differs more than -len_key / 2, +len_key * 2 (which is valid
46
- # as long as use_similar is not below ~0.7).
47
- # Gives an overall ~20% of improvement!
48
-
49
- # tmp = difflib.get_close_matches(key[1], similar_pool, n=1, cutoff=use_similar)
50
- # if tmp:
51
- # tmp = tmp[0]
52
- tmp = None
53
- s = difflib.SequenceMatcher()
54
- s.set_seq2(key[1])
55
- len_key = len(key[1])
56
- min_len = len_key // 2
57
- max_len = len_key * 2
58
- for x in similar_pool:
59
- if min_len < len(x) < max_len:
60
- s.set_seq1(x)
61
- if s.real_quick_ratio() >= use_similar and s.quick_ratio() >= use_similar:
62
- sratio = s.ratio()
63
- if sratio >= use_similar:
64
- tmp = x
65
- use_similar = sratio
66
- return key, tmp
67
-
68
-
69
- _locale_explode_re = re.compile(r"^([a-z]{2,})(?:_([A-Za-z]{2,}))?(?:@([a-z]{2,}))?$")
70
-
71
-
72
- def locale_explode(locale):
73
- """Copies behavior of `BLT_lang_locale_explode`, keep them in sync."""
74
- ret = (None, None, None, None, None)
75
- m = _locale_explode_re.match(locale)
76
- if m:
77
- lang, country, variant = m.groups()
78
- return (
79
- lang, country, variant,
80
- "{:s}_{:s}".format(lang, country) if country else None,
81
- "{:s}@{:s}".format(lang, variant) if variant else None
82
- )
83
- try:
84
- import bpy.app.translations as bpy_translations
85
- assert ret == bpy_translations.locale_explode(locale)
86
- except ModuleNotFoundError:
87
- pass
88
-
89
- return ret
90
-
91
-
92
- def locale_match(loc1, loc2):
93
- """
94
- Return:
95
- -n if loc1 is a subtype of loc2 (e.g. ``fr_FR`` is a subtype of ``fr``).
96
- +n if loc2 is a subtype of loc1.
97
- n becomes smaller when both locales are more similar
98
- ... (e.g. (``sr, sr_SR``) are more similar than (``sr, sr_SR@latin``)).
99
- 0 if they are exactly the same.
100
- ... (Ellipsis) if they cannot match!
101
- Note: We consider that ``sr_SR@latin`` is a subtype of ``sr@latin``, ``sr_SR`` and ``sr``,
102
- but ``sr_SR`` and ``sr@latin`` won't match (will return ...)!
103
- Note: About similarity, diff in variants are more important than diff in countries, currently here are the cases:
104
- (``sr, sr_SR``) -> 1
105
- (``sr@latin, sr_SR@latin``) -> 1
106
- (``sr, sr@latin``) -> 2
107
- (``sr_SR, sr_SR@latin``) -> 2
108
- (``sr, sr_SR@latin``) -> 3
109
- """
110
- if loc1 == loc2:
111
- return 0
112
- l1, c1, v1, *_1 = locale_explode(loc1)
113
- l2, c2, v2, *_2 = locale_explode(loc2)
114
-
115
- if l1 == l2:
116
- if c1 == c2:
117
- if v1 == v2:
118
- return 0
119
- elif v2 is None:
120
- return -2
121
- elif v1 is None:
122
- return 2
123
- return ...
124
- elif c2 is None:
125
- if v1 == v2:
126
- return -1
127
- elif v2 is None:
128
- return -3
129
- return ...
130
- elif c1 is None:
131
- if v1 == v2:
132
- return 1
133
- elif v1 is None:
134
- return 3
135
- return ...
136
- return ...
137
-
138
-
139
- def find_best_isocode_matches(uid, iso_codes):
140
- """
141
- Return an ordered tuple of elements in iso_codes that can match the given uid, from most similar to lesser ones.
142
- """
143
- tmp = ((e, locale_match(e, uid)) for e in iso_codes)
144
- return tuple(e[0] for e in sorted((e for e in tmp if e[1] is not ... and e[1] >= 0), key=lambda e: e[1]))
145
-
146
-
147
- def get_po_files_from_dir(root_dir, langs=set()):
148
- """
149
- Yield tuples (uid, po_path) of translations for each po file found in the given directory, which should be either
150
- a directory containing po files using language uid's as names (e.g. fr.po, es_ES.po, etc.), or
151
- a directory containing directories which names are language uids, and containing po files of the same names.
152
- """
153
- found_uids = set()
154
- for p in os.listdir(root_dir):
155
- uid = None
156
- po_file = os.path.join(root_dir, p)
157
- print(p)
158
- if p.endswith(".po") and os.path.isfile(po_file):
159
- uid = p[:-3]
160
- if langs and uid not in langs:
161
- continue
162
- elif os.path.isdir(p):
163
- uid = p
164
- if langs and uid not in langs:
165
- continue
166
- po_file = os.path.join(root_dir, p, p + ".po")
167
- if not os.path.isfile(po_file):
168
- continue
169
- else:
170
- continue
171
- if uid in found_uids:
172
- print("WARNING! {} id has been found more than once! only first one has been loaded!".format(uid))
173
- continue
174
- found_uids.add(uid)
175
- yield uid, po_file
176
-
177
-
178
- def list_po_dir(root_path, settings):
179
- """
180
- Generator. List given directory (expecting one sub-directory per languages)
181
- and return all files matching languages listed in settings.
182
-
183
- Yield tuples (can_use, uid, num_id, name, isocode, po_path)
184
-
185
- Note that po_path may not actually exists.
186
- """
187
- isocodes = ((e, os.path.join(root_path, e, e + ".po")) for e in os.listdir(root_path))
188
- isocodes = dict(e for e in isocodes if os.path.isfile(e[1]))
189
- for num_id, name, uid in settings.LANGUAGES[2:]: # Skip "default" and "en" languages!
190
- best_po = find_best_isocode_matches(uid, isocodes)
191
- # print(uid, "->", best_po)
192
- if best_po:
193
- isocode = best_po[0]
194
- yield (True, uid, num_id, name, isocode, isocodes[isocode])
195
- else:
196
- yielded = False
197
- language, _1, _2, language_country, language_variant = locale_explode(uid)
198
- for isocode in (language, language_variant, language_country, uid):
199
- p = os.path.join(root_path, isocode, isocode + ".po")
200
- if not os.path.exists(p):
201
- yield (True, uid, num_id, name, isocode, p)
202
- yielded = True
203
- break
204
- if not yielded:
205
- yield (False, uid, num_id, name, None, None)
206
-
207
-
208
- def enable_addons(addons=None, support=None, disable=False, check_only=False):
209
- """
210
- Enable (or disable) addons based either on a set of names, or a set of 'support' types.
211
- Returns the list of all affected addons (as fake modules)!
212
- If "check_only" is set, no addon will be enabled nor disabled.
213
- """
214
- import addon_utils
215
-
216
- try:
217
- import bpy
218
- except ModuleNotFoundError:
219
- print("Could not import bpy, enable_addons must be run from within Blender.")
220
- return
221
-
222
- if addons is None:
223
- addons = {}
224
- if support is None:
225
- support = {}
226
-
227
- prefs = bpy.context.preferences
228
- used_addon_module_names = {addon.module for addon in prefs.addons}
229
- # In case we need to blacklist some add-ons...
230
- black_list = {}
231
-
232
- ret = [
233
- mod for mod in addon_utils.modules()
234
- if (((addons and mod.__name__ in addons) or
235
- (not addons and addon_utils.module_bl_info(mod)["support"] in support)) and
236
- (mod.__name__ not in black_list))
237
- ]
238
-
239
- if not check_only:
240
- for mod in ret:
241
- try:
242
- addon_module_name = mod.__name__
243
- if disable:
244
- if addon_module_name not in used_addon_module_names:
245
- continue
246
- print(" Disabling module ", addon_module_name)
247
- bpy.ops.preferences.addon_disable(module=addon_module_name)
248
- else:
249
- if addon_module_name in used_addon_module_names:
250
- continue
251
- print(" Enabling module ", addon_module_name)
252
- bpy.ops.preferences.addon_enable(module=addon_module_name)
253
- except Exception as ex: # XXX TEMP WORKAROUND
254
- print(ex)
255
-
256
- # XXX There are currently some problems with bpy/rna...
257
- # *Very* tricky to solve!
258
- # So this is a hack to make all newly added operator visible by
259
- # bpy.types.OperatorProperties.__subclasses__()
260
- for cat in dir(bpy.ops):
261
- cat = getattr(bpy.ops, cat)
262
- for op in dir(cat):
263
- getattr(cat, op).get_rna_type()
264
-
265
- return ret
266
-
267
-
268
- ##### Main Classes #####
269
-
270
- class I18nMessage:
271
- """
272
- Internal representation of a message.
273
- """
274
- __slots__ = ("msgctxt_lines", "msgid_lines", "msgstr_lines", "comment_lines", "is_fuzzy", "is_commented",
275
- "settings")
276
-
277
- def __init__(self, msgctxt_lines=None, msgid_lines=None, msgstr_lines=None, comment_lines=None,
278
- is_commented=False, is_fuzzy=False, settings=settings):
279
- self.settings = settings
280
- self.msgctxt_lines = msgctxt_lines or []
281
- self.msgid_lines = msgid_lines or []
282
- self.msgstr_lines = msgstr_lines or []
283
- self.comment_lines = comment_lines or []
284
- self.is_fuzzy = is_fuzzy
285
- self.is_commented = is_commented
286
-
287
- # ~ def __getstate__(self):
288
- # ~ return {key: getattr(self, key) for key in self.__slots__}
289
-
290
- # ~ def __getstate__(self):
291
- # ~ return {key: getattr(self, key) for key in self.__slots__}
292
-
293
- def _get_msgctxt(self):
294
- return "".join(self.msgctxt_lines)
295
-
296
- def _set_msgctxt(self, ctxt):
297
- self.msgctxt_lines = [ctxt]
298
- msgctxt = property(_get_msgctxt, _set_msgctxt)
299
-
300
- def _get_msgid(self):
301
- return "".join(self.msgid_lines)
302
-
303
- def _set_msgid(self, msgid):
304
- self.msgid_lines = [msgid]
305
- msgid = property(_get_msgid, _set_msgid)
306
-
307
- def _get_msgstr(self):
308
- return "".join(self.msgstr_lines)
309
-
310
- def _set_msgstr(self, msgstr):
311
- self.msgstr_lines = [msgstr]
312
- msgstr = property(_get_msgstr, _set_msgstr)
313
-
314
- def _get_sources(self):
315
- lstrip1 = len(self.settings.PO_COMMENT_PREFIX_SOURCE)
316
- lstrip2 = len(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM)
317
- return ([l[lstrip1:] for l in self.comment_lines if l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE)] +
318
- [l[lstrip2:] for l in self.comment_lines
319
- if l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM)])
320
-
321
- def _set_sources(self, sources):
322
- cmmlines = self.comment_lines.copy()
323
- for l in cmmlines:
324
- if (
325
- l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE) or
326
- l.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM)
327
- ):
328
- self.comment_lines.remove(l)
329
- lines_src = []
330
- lines_src_custom = []
331
- for src in sources:
332
- if is_valid_po_path(src):
333
- lines_src.append(self.settings.PO_COMMENT_PREFIX_SOURCE + src)
334
- else:
335
- lines_src_custom.append(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM + src)
336
- self.comment_lines += lines_src_custom + lines_src
337
- sources = property(_get_sources, _set_sources)
338
-
339
- def _get_is_tooltip(self):
340
- # XXX For now, we assume that all messages > 30 chars are tool-tips!
341
- return len(self.msgid) > 30
342
- is_tooltip = property(_get_is_tooltip)
343
-
344
- def copy(self):
345
- # Deep-copy everything but the settings!
346
- return self.__class__(msgctxt_lines=self.msgctxt_lines[:], msgid_lines=self.msgid_lines[:],
347
- msgstr_lines=self.msgstr_lines[:], comment_lines=self.comment_lines[:],
348
- is_commented=self.is_commented, is_fuzzy=self.is_fuzzy, settings=self.settings)
349
-
350
- def normalize(self, max_len=80):
351
- """
352
- Normalize this message, call this before exporting it...
353
- Currently normalize msgctxt, msgid and msgstr lines to given max_len (if below 1, make them single line).
354
- """
355
- max_len -= 2 # The two quotes!
356
-
357
- def _splitlines(text):
358
- lns = text.splitlines()
359
- return [l + "\n" for l in lns[:-1]] + lns[-1:]
360
-
361
- # We do not need the full power of text-wrap... We just split first at escaped new lines, then into each line
362
- # if needed... No word splitting, nor fancy spaces handling!
363
- def _wrap(text, max_len, init_len):
364
- if len(text) + init_len < max_len:
365
- return [text]
366
- lines = _splitlines(text)
367
- ret = []
368
- for l in lines:
369
- tmp = []
370
- cur_len = 0
371
- words = l.split(' ')
372
- for w in words:
373
- cur_len += len(w) + 1
374
- if cur_len > (max_len - 1) and tmp:
375
- ret.append(" ".join(tmp) + " ")
376
- del tmp[:]
377
- cur_len = len(w) + 1
378
- tmp.append(w)
379
- if tmp:
380
- ret.append(" ".join(tmp))
381
- return ret
382
-
383
- if max_len < 1:
384
- self.msgctxt_lines = _splitlines(self.msgctxt)
385
- self.msgid_lines = _splitlines(self.msgid)
386
- self.msgstr_lines = _splitlines(self.msgstr)
387
- else:
388
- init_len = len(self.settings.PO_MSGCTXT) + 1
389
- if self.is_commented:
390
- init_len += len(self.settings.PO_COMMENT_PREFIX_MSG)
391
- self.msgctxt_lines = _wrap(self.msgctxt, max_len, init_len)
392
-
393
- init_len = len(self.settings.PO_MSGID) + 1
394
- if self.is_commented:
395
- init_len += len(self.settings.PO_COMMENT_PREFIX_MSG)
396
- self.msgid_lines = _wrap(self.msgid, max_len, init_len)
397
-
398
- init_len = len(self.settings.PO_MSGSTR) + 1
399
- if self.is_commented:
400
- init_len += len(self.settings.PO_COMMENT_PREFIX_MSG)
401
- self.msgstr_lines = _wrap(self.msgstr, max_len, init_len)
402
-
403
- # Be sure comment lines are not duplicated (can happen with sources...).
404
- tmp = []
405
- for l in self.comment_lines:
406
- if l not in tmp:
407
- tmp.append(l)
408
- self.comment_lines = tmp
409
-
410
- _esc_quotes = re.compile(r'(?!<\\)((?:\\\\)*)"')
411
- _unesc_quotes = re.compile(r'(?!<\\)((?:\\\\)*)\\"')
412
- _esc_names = ("msgctxt_lines", "msgid_lines", "msgstr_lines")
413
- _esc_names_all = _esc_names + ("comment_lines",)
414
-
415
- @classmethod
416
- def do_escape(cls, txt):
417
- """Replace some chars by their escaped versions!"""
418
- if "\n" in txt:
419
- txt = txt.replace("\n", r"\n")
420
- if "\t" in txt:
421
- txt.replace("\t", r"\t")
422
- if '"' in txt:
423
- txt = cls._esc_quotes.sub(r'\1\"', txt)
424
- return txt
425
-
426
- @classmethod
427
- def do_unescape(cls, txt):
428
- """Replace escaped chars by real ones!"""
429
- if r"\n" in txt:
430
- txt = txt.replace(r"\n", "\n")
431
- if r"\t" in txt:
432
- txt = txt.replace(r"\t", "\t")
433
- if r'\"' in txt:
434
- txt = cls._unesc_quotes.sub(r'\1"', txt)
435
- return txt
436
-
437
- def escape(self, do_all=False):
438
- names = self._esc_names_all if do_all else self._esc_names
439
- for name in names:
440
- setattr(self, name, [self.do_escape(l) for l in getattr(self, name)])
441
-
442
- def unescape(self, do_all=True):
443
- names = self._esc_names_all if do_all else self._esc_names
444
- for name in names:
445
- setattr(self, name, [self.do_unescape(l) for l in getattr(self, name)])
446
-
447
-
448
- class I18nMessages:
449
- """
450
- Internal representation of messages for one language (iso code), with additional stats info.
451
- """
452
-
453
- # Avoid parsing again!
454
- # Keys should be (pseudo) file-names, values are tuples (hash, I18nMessages)
455
- # Note: only used by po parser currently!
456
- # _parser_cache = {}
457
-
458
- def __init__(self, uid=None, kind=None, key=None, src=None, settings=settings):
459
- self.settings = settings
460
- self.uid = uid if uid is not None else settings.PARSER_TEMPLATE_ID
461
- self.msgs = self._new_messages()
462
- self.trans_msgs = set()
463
- self.fuzzy_msgs = set()
464
- self.comm_msgs = set()
465
- self.ttip_msgs = set()
466
- self.contexts = set()
467
- self.nbr_msgs = 0
468
- self.nbr_trans_msgs = 0
469
- self.nbr_ttips = 0
470
- self.nbr_trans_ttips = 0
471
- self.nbr_comm_msgs = 0
472
- self.nbr_signs = 0
473
- self.nbr_trans_signs = 0
474
- self.parsing_errors = []
475
- if kind and src:
476
- self.parse(kind, key, src)
477
- self.update_info()
478
-
479
- self._reverse_cache = None
480
-
481
- def __getstate__(self):
482
- return (self.settings, self.uid, self.msgs, self.parsing_errors)
483
-
484
- def __setstate__(self, data):
485
- self.__init__()
486
- self.settings, self.uid, self.msgs, self.parsing_errors = data
487
- self.update_info()
488
-
489
- @staticmethod
490
- def _new_messages():
491
- return getattr(collections, "OrderedDict", dict)()
492
-
493
- @classmethod
494
- def gen_empty_messages(cls, uid, blender_ver, blender_hash, bl_time, default_copyright=True, settings=settings):
495
- """Generate an empty I18nMessages object (only header is present!)."""
496
- fmt = settings.PO_HEADER_MSGSTR
497
- msgstr = fmt.format(
498
- blender_ver=str(blender_ver),
499
- blender_hash=blender_hash,
500
- time=time.strftime("%Y-%m-%d %H:%M%z", bl_time),
501
- uid=str(uid))
502
- comment = ""
503
- if default_copyright:
504
- comment = settings.PO_HEADER_COMMENT_COPYRIGHT.format(year=str(time.gmtime().tm_year))
505
- comment = comment + settings.PO_HEADER_COMMENT
506
-
507
- msgs = cls(uid=uid, settings=settings)
508
- key = settings.PO_HEADER_KEY
509
- msgs.msgs[key] = I18nMessage(
510
- [key[0]], [key[1]], msgstr.split("\n"), comment.split("\n"),
511
- False, False, settings=settings,
512
- )
513
- msgs.update_info()
514
-
515
- return msgs
516
-
517
- def normalize(self, max_len=80):
518
- for msg in self.msgs.values():
519
- msg.normalize(max_len)
520
-
521
- def escape(self, do_all=False):
522
- for msg in self.msgs.values():
523
- msg.escape(do_all)
524
-
525
- def unescape(self, do_all=True):
526
- for msg in self.msgs.values():
527
- msg.unescape(do_all)
528
-
529
- def check(self, fix=False):
530
- """
531
- Check consistency between messages and their keys!
532
- Check messages using format stuff are consistent between msgid and msgstr!
533
- If fix is True, tries to fix the issues.
534
- Return a list of found errors (empty if everything went OK!).
535
- """
536
- ret = []
537
- default_context = self.settings.DEFAULT_CONTEXT
538
- _format = re.compile(self.settings.CHECK_PRINTF_FORMAT).findall
539
- done_keys = set()
540
- rem = set()
541
- tmp = {}
542
- for key, msg in self.msgs.items():
543
- msgctxt, msgid, msgstr = msg.msgctxt, msg.msgid, msg.msgstr
544
- real_key = (msgctxt or default_context, msgid)
545
- if key != real_key:
546
- ret.append("Error! msg's context/message do not match its key ({} / {})".format(real_key, key))
547
- if real_key in self.msgs:
548
- ret.append("Error! msg's real_key already used!")
549
- if fix:
550
- rem.add(real_key)
551
- elif fix:
552
- tmp[real_key] = msg
553
- done_keys.add(key)
554
- if '%' in msgid and msgstr and _format(msgid) != _format(msgstr):
555
- if not msg.is_fuzzy:
556
- ret.append("Error! msg's format entities are not matched in msgid and msgstr ({} / \"{}\")"
557
- "".format(real_key, msgstr))
558
- if fix:
559
- msg.msgstr = ""
560
- for k in rem:
561
- del self.msgs[k]
562
- self.msgs.update(tmp)
563
- return ret
564
-
565
- def clean_commented(self):
566
- self.update_info()
567
- nbr = len(self.comm_msgs)
568
- for k in self.comm_msgs:
569
- del self.msgs[k]
570
- return nbr
571
-
572
- def rtl_process(self):
573
- keys = []
574
- trans = []
575
- for k, m in self.msgs.items():
576
- keys.append(k)
577
- trans.append(m.msgstr)
578
- trans = utils_rtl.log2vis(trans, self.settings)
579
- for k, t in zip(keys, trans):
580
- self.msgs[k].msgstr = t
581
-
582
- def merge(self, msgs, replace=False):
583
- """
584
- Merge translations from msgs into self, following those rules:
585
- * If a msg is in self and not in msgs, keep self untouched.
586
- * If a msg is in msgs and not in self, skip it.
587
- * Else (msg both in self and msgs):
588
- * If self is not translated and msgs is translated or fuzzy, replace by msgs.
589
- * If self is fuzzy, and msgs is translated, replace by msgs.
590
- * If self is fuzzy, and msgs is fuzzy, and replace is True, replace by msgs.
591
- * If self is translated, and msgs is translated, and replace is True, replace by msgs.
592
- * Else, skip it!
593
- """
594
- for k, m in msgs.msgs.items():
595
- if k not in self.msgs:
596
- continue
597
- sm = self.msgs[k]
598
- if (sm.is_commented or m.is_commented or not m.msgstr):
599
- continue
600
- if (not sm.msgstr or replace or (sm.is_fuzzy and (not m.is_fuzzy or replace))):
601
- sm.msgstr = m.msgstr
602
- sm.is_fuzzy = m.is_fuzzy
603
- sm.comment_lines = m.comment_lines
604
-
605
- def update(self, ref, use_similar=None, keep_old_commented=True):
606
- """
607
- Update this I18nMessage with the ref one. Translations from ref are never used. Source comments from ref
608
- completely replace current ones. If use_similar is not 0.0, it will try to match new messages in ref with an
609
- existing one. Messages no more found in ref will be marked as commented if keep_old_commented is True,
610
- or removed.
611
- """
612
- if use_similar is None:
613
- use_similar = self.settings.SIMILAR_MSGID_THRESHOLD
614
-
615
- similar_pool = {}
616
- if use_similar > 0.0:
617
- for key, msg in self.msgs.items():
618
- if msg.msgstr: # No need to waste time with void translations!
619
- similar_pool.setdefault(key[1], set()).add(key)
620
-
621
- msgs = self._new_messages().fromkeys(ref.msgs.keys())
622
- ref_keys = set(ref.msgs.keys())
623
- org_keys = set(self.msgs.keys())
624
- new_keys = ref_keys - org_keys
625
- removed_keys = org_keys - ref_keys
626
-
627
- # First process keys present in both org and ref messages.
628
- for key in ref_keys - new_keys:
629
- msg, refmsg = self.msgs[key], ref.msgs[key]
630
- msg.sources = refmsg.sources
631
- msg.is_commented = refmsg.is_commented
632
- msgs[key] = msg
633
-
634
- # Next process new keys.
635
- if use_similar > 0.0:
636
- for key, msgid in map(get_best_similar,
637
- tuple((nk, use_similar, tuple(similar_pool.keys())) for nk in new_keys)):
638
- if msgid:
639
- # Try to get the same context, else just get one...
640
- skey = (key[0], msgid)
641
- if skey not in similar_pool[msgid]:
642
- skey = tuple(similar_pool[msgid])[0]
643
- # We keep org translation and comments, and mark message as fuzzy.
644
- msg, refmsg = self.msgs[skey].copy(), ref.msgs[key].copy()
645
- msg.msgctxt = refmsg.msgctxt
646
- msg.msgid = refmsg.msgid
647
- msg.sources = refmsg.sources
648
- msg.is_fuzzy = True
649
- msg.is_commented = refmsg.is_commented
650
- msgs[key] = msg
651
- else:
652
- msgs[key] = ref.msgs[key].copy()
653
- else:
654
- for key in new_keys:
655
- msgs[key] = ref.msgs[key].copy()
656
-
657
- # Add back all "old" and already commented messages as commented ones, if required
658
- # (and translation was not void!).
659
- if keep_old_commented:
660
- for key in removed_keys:
661
- msgs[key] = self.msgs[key]
662
- msgs[key].is_commented = True
663
- msgs[key].sources = []
664
-
665
- # Special 'meta' message, change project ID version and pot creation date...
666
- key = self.settings.PO_HEADER_KEY
667
- rep = []
668
- markers = ("Project-Id-Version:", "POT-Creation-Date:")
669
- for mrk in markers:
670
- for rl in ref.msgs[key].msgstr_lines:
671
- if rl.startswith(mrk):
672
- for idx, ml in enumerate(msgs[key].msgstr_lines):
673
- if ml.startswith(mrk):
674
- rep.append((idx, rl))
675
- for idx, txt in rep:
676
- msgs[key].msgstr_lines[idx] = txt
677
-
678
- # And finalize the update!
679
- self.msgs = msgs
680
-
681
- def update_info(self):
682
- self.trans_msgs.clear()
683
- self.fuzzy_msgs.clear()
684
- self.comm_msgs.clear()
685
- self.ttip_msgs.clear()
686
- self.contexts.clear()
687
- self.nbr_signs = 0
688
- self.nbr_trans_signs = 0
689
- for key, msg in self.msgs.items():
690
- if key == self.settings.PO_HEADER_KEY:
691
- continue
692
- if msg.is_commented:
693
- self.comm_msgs.add(key)
694
- else:
695
- if msg.msgstr:
696
- self.trans_msgs.add(key)
697
- if msg.is_fuzzy:
698
- self.fuzzy_msgs.add(key)
699
- if msg.is_tooltip:
700
- self.ttip_msgs.add(key)
701
- self.contexts.add(key[0])
702
- self.nbr_signs += len(msg.msgid)
703
- self.nbr_trans_signs += len(msg.msgstr)
704
- self.nbr_msgs = len(self.msgs)
705
- self.nbr_trans_msgs = len(self.trans_msgs - self.fuzzy_msgs)
706
- self.nbr_ttips = len(self.ttip_msgs)
707
- self.nbr_trans_ttips = len(self.ttip_msgs & (self.trans_msgs - self.fuzzy_msgs))
708
- self.nbr_comm_msgs = len(self.comm_msgs)
709
-
710
- def print_info(self, prefix="", output=print, print_stats=True, print_errors=True):
711
- """
712
- Print out some info about an I18nMessages object.
713
- """
714
- lvl = 0.0
715
- lvl_ttips = 0.0
716
- lvl_comm = 0.0
717
- lvl_trans_ttips = 0.0
718
- lvl_ttips_in_trans = 0.0
719
- if self.nbr_msgs > 0:
720
- lvl = float(self.nbr_trans_msgs) / float(self.nbr_msgs)
721
- lvl_ttips = float(self.nbr_ttips) / float(self.nbr_msgs)
722
- lvl_comm = float(self.nbr_comm_msgs) / float(self.nbr_msgs + self.nbr_comm_msgs)
723
- if self.nbr_ttips > 0:
724
- lvl_trans_ttips = float(self.nbr_trans_ttips) / float(self.nbr_ttips)
725
- if self.nbr_trans_msgs > 0:
726
- lvl_ttips_in_trans = float(self.nbr_trans_ttips) / float(self.nbr_trans_msgs)
727
-
728
- lines = []
729
- if print_stats:
730
- lines += [
731
- "",
732
- "{:>6.1%} done! ({} translated messages over {}).\n"
733
- "".format(lvl, self.nbr_trans_msgs, self.nbr_msgs),
734
- "{:>6.1%} of messages are tooltips ({} over {}).\n"
735
- "".format(lvl_ttips, self.nbr_ttips, self.nbr_msgs),
736
- "{:>6.1%} of tooltips are translated ({} over {}).\n"
737
- "".format(lvl_trans_ttips, self.nbr_trans_ttips, self.nbr_ttips),
738
- "{:>6.1%} of translated messages are tooltips ({} over {}).\n"
739
- "".format(lvl_ttips_in_trans, self.nbr_trans_ttips, self.nbr_trans_msgs),
740
- "{:>6.1%} of messages are commented ({} over {}).\n"
741
- "".format(lvl_comm, self.nbr_comm_msgs, self.nbr_comm_msgs + self.nbr_msgs),
742
- "This translation is currently made of {} signs.\n".format(self.nbr_trans_signs)
743
- ]
744
- if print_errors and self.parsing_errors:
745
- lines += ["WARNING! Errors during parsing:\n"]
746
- lines += [" Around line {}: {}\n".format(line, error) for line, error in self.parsing_errors]
747
- output(prefix.join(lines))
748
-
749
- def invalidate_reverse_cache(self, rebuild_now=False):
750
- """
751
- Invalidate the reverse cache used by find_best_messages_matches.
752
- """
753
- self._reverse_cache = None
754
- if rebuild_now:
755
- src_to_msg, ctxt_to_msg, msgid_to_msg, msgstr_to_msg = {}, {}, {}, {}
756
- ctxt_to_msg.setdefault(self.settings.DEFAULT_CONTEXT, set())
757
- for key, msg in self.msgs.items():
758
- if msg.is_commented:
759
- continue
760
- ctxt, msgid = key
761
- ctxt_to_msg.setdefault(ctxt, set()).add(key)
762
- msgid_to_msg.setdefault(msgid, set()).add(key)
763
- msgstr_to_msg.setdefault(msg.msgstr, set()).add(key)
764
- for src in msg.sources:
765
- src_to_msg.setdefault(src, set()).add(key)
766
- self._reverse_cache = (src_to_msg, ctxt_to_msg, msgid_to_msg, msgstr_to_msg)
767
-
768
- def find_best_messages_matches(self, msgs, msgmap, rna_ctxt, rna_struct_name, rna_prop_name, rna_enum_name):
769
- """
770
- Try to find the best I18nMessages (i.e. context/msgid pairs) for the given UI messages:
771
- msgs: an object containing properties listed in msgmap's values.
772
- msgmap: a dict of various messages to use for search:
773
- {"but_label": subdict, "rna_label": subdict, "enum_label": subdict,
774
- "but_tip": subdict, "rna_tip": subdict, "enum_tip": subdict}
775
- each subdict being like that:
776
- {"msgstr": id, "msgid": id, "msg_flags": id, "key": set()}
777
- where msgstr and msgid are identifiers of string props in msgs (resp. translated and org message),
778
- msg_flags is not used here, and key is a set of matching (msgctxt, msgid) keys for the item.
779
- The other parameters are about the RNA element from which the strings come from, if it could be determined:
780
- rna_ctxt: the labels' i18n context.
781
- rna_struct_name, rna_prop_name, rna_enum_name: should be self-explanatory!
782
- """
783
- try:
784
- import bpy
785
- except ModuleNotFoundError:
786
- print("Could not import bpy, find_best_messages_matches must be run from within Blender.")
787
- return
788
-
789
- # Build helper mappings.
790
- # Note it's user responsibility to know when to invalidate (and hence force rebuild) this cache!
791
- if self._reverse_cache is None:
792
- self.invalidate_reverse_cache(True)
793
- src_to_msg, ctxt_to_msg, msgid_to_msg, msgstr_to_msg = self._reverse_cache
794
-
795
- # print(len(src_to_msg), len(ctxt_to_msg), len(msgid_to_msg), len(msgstr_to_msg))
796
-
797
- # Build RNA key.
798
- src, src_rna, src_enum = bpy.utils.make_rna_paths(rna_struct_name, rna_prop_name, rna_enum_name)
799
- print("src: ", src_rna, src_enum)
800
-
801
- # Labels.
802
- elbl = getattr(msgs, msgmap["enum_label"]["msgstr"])
803
- if elbl:
804
- # Enum items' labels have no i18n context...
805
- k = ctxt_to_msg[self.settings.DEFAULT_CONTEXT].copy()
806
- if elbl in msgid_to_msg:
807
- k &= msgid_to_msg[elbl]
808
- elif elbl in msgstr_to_msg:
809
- k &= msgstr_to_msg[elbl]
810
- else:
811
- k = set()
812
- # We assume if we already have only one key, it's the good one!
813
- if len(k) > 1 and src_enum in src_to_msg:
814
- k &= src_to_msg[src_enum]
815
- msgmap["enum_label"]["key"] = k
816
- rlbl = getattr(msgs, msgmap["rna_label"]["msgstr"])
817
- # print("rna label: " + rlbl, rlbl in msgid_to_msg, rlbl in msgstr_to_msg)
818
- if rlbl:
819
- k = ctxt_to_msg.get(rna_ctxt, set()).copy()
820
- if k and rlbl in msgid_to_msg:
821
- k &= msgid_to_msg[rlbl]
822
- elif k and rlbl in msgstr_to_msg:
823
- k &= msgstr_to_msg[rlbl]
824
- else:
825
- k = set()
826
- # We assume if we already have only one key, it's the good one!
827
- if len(k) > 1 and src_rna in src_to_msg:
828
- k &= src_to_msg[src_rna]
829
- msgmap["rna_label"]["key"] = k
830
- blbl = getattr(msgs, msgmap["but_label"]["msgstr"])
831
- blbls = [blbl]
832
- if blbl.endswith(self.settings.NUM_BUTTON_SUFFIX):
833
- # Num buttons report their label with a trailing ': '...
834
- blbls.append(blbl[:-len(self.settings.NUM_BUTTON_SUFFIX)])
835
- print("button label: " + blbl)
836
- if blbl and elbl not in blbls and (rlbl not in blbls or rna_ctxt != self.settings.DEFAULT_CONTEXT):
837
- # Always Default context for button label :/
838
- k = ctxt_to_msg[self.settings.DEFAULT_CONTEXT].copy()
839
- found = False
840
- for bl in blbls:
841
- if bl in msgid_to_msg:
842
- k &= msgid_to_msg[bl]
843
- found = True
844
- break
845
- elif bl in msgstr_to_msg:
846
- k &= msgstr_to_msg[bl]
847
- found = True
848
- break
849
- if not found:
850
- k = set()
851
- # XXX No need to check against RNA path here, if blabel is different
852
- # from rlabel, should not match anyway!
853
- msgmap["but_label"]["key"] = k
854
-
855
- # Tips (they never have a specific context).
856
- etip = getattr(msgs, msgmap["enum_tip"]["msgstr"])
857
- # print("enum tip: " + etip)
858
- if etip:
859
- k = ctxt_to_msg[self.settings.DEFAULT_CONTEXT].copy()
860
- if etip in msgid_to_msg:
861
- k &= msgid_to_msg[etip]
862
- elif etip in msgstr_to_msg:
863
- k &= msgstr_to_msg[etip]
864
- else:
865
- k = set()
866
- # We assume if we already have only one key, it's the good one!
867
- if len(k) > 1 and src_enum in src_to_msg:
868
- k &= src_to_msg[src_enum]
869
- msgmap["enum_tip"]["key"] = k
870
- rtip = getattr(msgs, msgmap["rna_tip"]["msgstr"])
871
- # print("rna tip: " + rtip)
872
- if rtip:
873
- k = ctxt_to_msg[self.settings.DEFAULT_CONTEXT].copy()
874
- if k and rtip in msgid_to_msg:
875
- k &= msgid_to_msg[rtip]
876
- elif k and rtip in msgstr_to_msg:
877
- k &= msgstr_to_msg[rtip]
878
- else:
879
- k = set()
880
- # We assume if we already have only one key, it's the good one!
881
- if len(k) > 1 and src_rna in src_to_msg:
882
- k &= src_to_msg[src_rna]
883
- msgmap["rna_tip"]["key"] = k
884
- # print(k)
885
- btip = getattr(msgs, msgmap["but_tip"]["msgstr"])
886
- # print("button tip: " + btip)
887
- if btip and btip not in {rtip, etip}:
888
- k = ctxt_to_msg[self.settings.DEFAULT_CONTEXT].copy()
889
- if btip in msgid_to_msg:
890
- k &= msgid_to_msg[btip]
891
- elif btip in msgstr_to_msg:
892
- k &= msgstr_to_msg[btip]
893
- else:
894
- k = set()
895
- # XXX No need to check against RNA path here, if btip is different from rtip, should not match anyway!
896
- msgmap["but_tip"]["key"] = k
897
-
898
- def parse(self, kind, key, src):
899
- del self.parsing_errors[:]
900
- self.parsers[kind](self, src, key)
901
- if self.parsing_errors:
902
- print("{} ({}):".format(key, src))
903
- self.print_info(print_stats=False)
904
- print("The parser solved them as well as it could...")
905
- self.update_info()
906
-
907
- def parse_messages_from_po(self, src, key=None):
908
- """
909
- Parse a po file.
910
- Note: This function will silently "arrange" mis-formatted entries, thus using afterward write_messages() should
911
- always produce a po-valid file, though not correct!
912
- """
913
- reading_msgid = False
914
- reading_msgstr = False
915
- reading_msgctxt = False
916
- reading_comment = False
917
- is_commented = False
918
- is_fuzzy = False
919
- msgctxt_lines = []
920
- msgid_lines = []
921
- msgstr_lines = []
922
- comment_lines = []
923
-
924
- default_context = self.settings.DEFAULT_CONTEXT
925
-
926
- # Helper function
927
- def finalize_message(self, line_nr):
928
- nonlocal reading_msgid, reading_msgstr, reading_msgctxt, reading_comment
929
- nonlocal is_commented, is_fuzzy, msgid_lines, msgstr_lines, msgctxt_lines, comment_lines
930
-
931
- msgid = I18nMessage.do_unescape("".join(msgid_lines))
932
- msgctxt = I18nMessage.do_unescape("".join(msgctxt_lines))
933
- msgkey = (msgctxt or default_context, msgid)
934
-
935
- # Never allow overriding existing msgid/msgctxt pairs!
936
- if msgkey in self.msgs:
937
- self.parsing_errors.append((line_nr, "{} context/msgid is already in current messages!".format(msgkey)))
938
- return
939
-
940
- self.msgs[msgkey] = I18nMessage(
941
- msgctxt_lines, msgid_lines, msgstr_lines, comment_lines,
942
- is_commented, is_fuzzy, settings=self.settings,
943
- )
944
-
945
- # Let's clean up and get ready for next message!
946
- reading_msgid = reading_msgstr = reading_msgctxt = reading_comment = False
947
- is_commented = is_fuzzy = False
948
- msgctxt_lines = []
949
- msgid_lines = []
950
- msgstr_lines = []
951
- comment_lines = []
952
-
953
- # try to use src as file name...
954
- if os.path.isfile(src):
955
- if os.stat(src).st_size > self.settings.PARSER_MAX_FILE_SIZE:
956
- # Security, else we could read arbitrary huge files!
957
- print("WARNING: skipping file {}, too huge!".format(src))
958
- return
959
- if not key:
960
- key = src
961
- with open(src, 'r', encoding="utf-8") as f:
962
- src = f.read()
963
-
964
- _msgctxt = self.settings.PO_MSGCTXT
965
- _comm_msgctxt = self.settings.PO_COMMENT_PREFIX_MSG + _msgctxt
966
- _len_msgctxt = len(_msgctxt + '"')
967
- _len_comm_msgctxt = len(_comm_msgctxt + '"')
968
- _msgid = self.settings.PO_MSGID
969
- _comm_msgid = self.settings.PO_COMMENT_PREFIX_MSG + _msgid
970
- _len_msgid = len(_msgid + '"')
971
- _len_comm_msgid = len(_comm_msgid + '"')
972
- _msgstr = self.settings.PO_MSGSTR
973
- _comm_msgstr = self.settings.PO_COMMENT_PREFIX_MSG + _msgstr
974
- _len_msgstr = len(_msgstr + '"')
975
- _len_comm_msgstr = len(_comm_msgstr + '"')
976
- _comm_str = self.settings.PO_COMMENT_PREFIX_MSG
977
- _comm_fuzzy = self.settings.PO_COMMENT_FUZZY
978
- _len_comm_str = len(_comm_str + '"')
979
-
980
- # Main loop over all lines in src...
981
- for line_nr, line in enumerate(src.splitlines()):
982
- if line == "":
983
- if reading_msgstr:
984
- finalize_message(self, line_nr)
985
- continue
986
-
987
- elif line.startswith(_msgctxt) or line.startswith(_comm_msgctxt):
988
- reading_comment = False
989
- reading_ctxt = True
990
- if line.startswith(_comm_str):
991
- is_commented = True
992
- line = line[_len_comm_msgctxt:-1]
993
- else:
994
- line = line[_len_msgctxt:-1]
995
- msgctxt_lines.append(line)
996
-
997
- elif line.startswith(_msgid) or line.startswith(_comm_msgid):
998
- reading_comment = False
999
- reading_msgid = True
1000
- if line.startswith(_comm_str):
1001
- if not is_commented and reading_ctxt:
1002
- self.parsing_errors.append((line_nr, "commented msgid following regular msgctxt"))
1003
- is_commented = True
1004
- line = line[_len_comm_msgid:-1]
1005
- else:
1006
- line = line[_len_msgid:-1]
1007
- reading_ctxt = False
1008
- msgid_lines.append(line)
1009
-
1010
- elif line.startswith(_msgstr) or line.startswith(_comm_msgstr):
1011
- if not reading_msgid:
1012
- self.parsing_errors.append((line_nr, "msgstr without a prior msgid"))
1013
- else:
1014
- reading_msgid = False
1015
- reading_msgstr = True
1016
- if line.startswith(_comm_str):
1017
- line = line[_len_comm_msgstr:-1]
1018
- if not is_commented:
1019
- self.parsing_errors.append((line_nr, "commented msgstr following regular msgid"))
1020
- else:
1021
- line = line[_len_msgstr:-1]
1022
- if is_commented:
1023
- self.parsing_errors.append((line_nr, "regular msgstr following commented msgid"))
1024
- msgstr_lines.append(line)
1025
-
1026
- elif line.startswith(_comm_str[0]):
1027
- if line.startswith(_comm_str):
1028
- if reading_msgctxt:
1029
- if is_commented:
1030
- msgctxt_lines.append(line[_len_comm_str:-1])
1031
- else:
1032
- msgctxt_lines.append(line)
1033
- self.parsing_errors.append((line_nr, "commented string while reading regular msgctxt"))
1034
- elif reading_msgid:
1035
- if is_commented:
1036
- msgid_lines.append(line[_len_comm_str:-1])
1037
- else:
1038
- msgid_lines.append(line)
1039
- self.parsing_errors.append((line_nr, "commented string while reading regular msgid"))
1040
- elif reading_msgstr:
1041
- if is_commented:
1042
- msgstr_lines.append(line[_len_comm_str:-1])
1043
- else:
1044
- msgstr_lines.append(line)
1045
- self.parsing_errors.append((line_nr, "commented string while reading regular msgstr"))
1046
- else:
1047
- if reading_msgctxt or reading_msgid or reading_msgstr:
1048
- self.parsing_errors.append((line_nr,
1049
- "commented string within msgctxt, msgid or msgstr scope, ignored"))
1050
- elif line.startswith(_comm_fuzzy):
1051
- is_fuzzy = True
1052
- else:
1053
- comment_lines.append(line)
1054
- reading_comment = True
1055
-
1056
- else:
1057
- if reading_msgctxt:
1058
- msgctxt_lines.append(line[1:-1])
1059
- elif reading_msgid:
1060
- msgid_lines.append(line[1:-1])
1061
- elif reading_msgstr:
1062
- line = line[1:-1]
1063
- msgstr_lines.append(line)
1064
- else:
1065
- self.parsing_errors.append((line_nr, "regular string outside msgctxt, msgid or msgstr scope"))
1066
- # self.parsing_errors.append((
1067
- # line_nr, "regular string outside msgctxt, msgid or msgstr scope:\n\t\t{}"
1068
- # "\n\tComments:{}\n\tContext:{}\n\tKey:{}\n\tMessage:{}".format(
1069
- # line, comment_lines, msgctxt_lines, msgid_lines, msgstr_lines)))
1070
-
1071
- # If no final empty line, last message is not finalized!
1072
- if reading_msgstr:
1073
- finalize_message(self, line_nr)
1074
- self.unescape()
1075
-
1076
- def write(self, kind, dest):
1077
- return self.writers[kind](self, dest)
1078
-
1079
- def write_messages_to_po(self, fname, compact=False):
1080
- """
1081
- Write messages in fname po file.
1082
- """
1083
- default_context = self.settings.DEFAULT_CONTEXT
1084
-
1085
- def _write(self, f, compact):
1086
- _msgctxt = self.settings.PO_MSGCTXT
1087
- _msgid = self.settings.PO_MSGID
1088
- _msgstr = self.settings.PO_MSGSTR
1089
- _comm = self.settings.PO_COMMENT_PREFIX_MSG
1090
-
1091
- self.escape()
1092
-
1093
- for num, msg in enumerate(self.msgs.values()):
1094
- if compact and (msg.is_commented or msg.is_fuzzy or not msg.msgstr_lines):
1095
- continue
1096
- if not compact:
1097
- f.write("\n".join(msg.comment_lines))
1098
- # Only mark as fuzzy if msgstr is not empty!
1099
- if msg.is_fuzzy and msg.msgstr_lines:
1100
- f.write("\n" + self.settings.PO_COMMENT_FUZZY)
1101
- _p = _comm if msg.is_commented else ""
1102
- chunks = []
1103
- if msg.msgctxt and msg.msgctxt != default_context:
1104
- if len(msg.msgctxt_lines) > 1:
1105
- chunks += [
1106
- "\n" + _p + _msgctxt + "\"\"\n" + _p + "\"",
1107
- ("\"\n" + _p + "\"").join(msg.msgctxt_lines),
1108
- "\"",
1109
- ]
1110
- else:
1111
- chunks += ["\n" + _p + _msgctxt + "\"" + msg.msgctxt + "\""]
1112
- if len(msg.msgid_lines) > 1:
1113
- chunks += [
1114
- "\n" + _p + _msgid + "\"\"\n" + _p + "\"",
1115
- ("\"\n" + _p + "\"").join(msg.msgid_lines),
1116
- "\"",
1117
- ]
1118
- else:
1119
- chunks += ["\n" + _p + _msgid + "\"" + msg.msgid + "\""]
1120
- if len(msg.msgstr_lines) > 1:
1121
- chunks += [
1122
- "\n" + _p + _msgstr + "\"\"\n" + _p + "\"",
1123
- ("\"\n" + _p + "\"").join(msg.msgstr_lines),
1124
- "\"",
1125
- ]
1126
- else:
1127
- chunks += ["\n" + _p + _msgstr + "\"" + msg.msgstr + "\""]
1128
- chunks += ["\n\n"]
1129
- f.write("".join(chunks))
1130
-
1131
- self.unescape()
1132
-
1133
- self.normalize(max_len=0) # No wrapping for now...
1134
- if isinstance(fname, str):
1135
- with open(fname, 'w', encoding="utf-8") as f:
1136
- _write(self, f, compact)
1137
- # Else assume fname is already a file(like) object!
1138
- else:
1139
- _write(self, fname, compact)
1140
-
1141
- def write_messages_to_mo(self, fname):
1142
- """
1143
- Write messages in fname mo file.
1144
- """
1145
- # XXX Temp solution, until I can make own mo generator working...
1146
- import subprocess
1147
- with tempfile.NamedTemporaryFile(mode='w+', encoding="utf-8") as tmp_po_f:
1148
- os.makedirs(os.path.dirname(fname), exist_ok=True)
1149
- self.write_messages_to_po(tmp_po_f)
1150
- cmd = (
1151
- self.settings.GETTEXT_MSGFMT_EXECUTABLE,
1152
- "--statistics", # show stats
1153
- tmp_po_f.name,
1154
- "-o",
1155
- fname,
1156
- )
1157
- ret = subprocess.run(cmd, capture_output=True)
1158
- return ret
1159
- # XXX Code below is currently broken (generates corrupted mo files it seems :( )!
1160
- # Using http://www.gnu.org/software/gettext/manual/html_node/MO-Files.html notation.
1161
- # Not generating hash table!
1162
- # Only translated, unfuzzy messages are taken into account!
1163
- default_context = self.settings.DEFAULT_CONTEXT
1164
- msgs = tuple(v for v in self.msgs.values() if not (v.is_fuzzy or v.is_commented) and v.msgstr and v.msgid)
1165
- msgs = sorted(msgs[:2],
1166
- key=lambda e: (e.msgctxt + e.msgid) if (e.msgctxt and e.msgctxt != default_context) else e.msgid)
1167
- magic_nbr = 0x950412de
1168
- format_rev = 0
1169
- N = len(msgs)
1170
- O = 32
1171
- T = O + N * 8
1172
- S = 0
1173
- H = T + N * 8
1174
- # Prepare our data! we need key (optional context and msgid), translation, and offset and length of both.
1175
- # Offset are relative to start of their own list.
1176
- EOT = b"0x04" # Used to concatenate context and msgid
1177
- _msgid_offset = 0
1178
- _msgstr_offset = 0
1179
-
1180
- def _gen(v):
1181
- nonlocal _msgid_offset, _msgstr_offset
1182
- msgid = v.msgid.encode("utf-8")
1183
- msgstr = v.msgstr.encode("utf-8")
1184
- if v.msgctxt and v.msgctxt != default_context:
1185
- msgctxt = v.msgctxt.encode("utf-8")
1186
- msgid = msgctxt + EOT + msgid
1187
- # Don't forget the final NULL char!
1188
- _msgid_len = len(msgid) + 1
1189
- _msgstr_len = len(msgstr) + 1
1190
- ret = ((msgid, _msgid_len, _msgid_offset), (msgstr, _msgstr_len, _msgstr_offset))
1191
- _msgid_offset += _msgid_len
1192
- _msgstr_offset += _msgstr_len
1193
- return ret
1194
- msgs = tuple(_gen(v) for v in msgs)
1195
- msgid_start = H
1196
- msgstr_start = msgid_start + _msgid_offset
1197
- print(N, msgstr_start + _msgstr_offset)
1198
- print(msgs)
1199
-
1200
- with open(fname, 'wb') as f:
1201
- # Header...
1202
- f.write(struct.pack("=8I", magic_nbr, format_rev, N, O, T, S, H, 0))
1203
- # Msgid's length and offset.
1204
- f.write(b"".join(struct.pack("=2I", length, msgid_start + offset) for (_1, length, offset), _2 in msgs))
1205
- # Msgstr's length and offset.
1206
- f.write(b"".join(struct.pack("=2I", length, msgstr_start + offset) for _1, (_2, length, offset) in msgs))
1207
- # No hash table!
1208
- # Msgid's.
1209
- f.write(b"\0".join(msgid for (msgid, _1, _2), _3 in msgs) + b"\0")
1210
- # Msgstr's.
1211
- f.write(b"\0".join(msgstr for _1, (msgstr, _2, _3) in msgs) + b"\0")
1212
-
1213
- parsers = {
1214
- "PO": parse_messages_from_po,
1215
- }
1216
-
1217
- writers = {
1218
- "PO": write_messages_to_po,
1219
- "PO_COMPACT": lambda s, fn: s.write_messages_to_po(fn, True),
1220
- "MO": write_messages_to_mo,
1221
- }
1222
-
1223
- @classmethod
1224
- def update_from_pot_callback(cls, pot, lng, settings):
1225
- """
1226
- Update or create a single PO file (specified by a filepath) from the given POT `I18nMessages` data.
1227
-
1228
- Callback usable in a context where Blender specific modules (like ``bpy``) are not available.
1229
- """
1230
- import sys
1231
- sys.stdout.reconfigure(encoding="utf-8")
1232
- sys.stderr.reconfigure(encoding="utf-8")
1233
- if not lng['use']:
1234
- return
1235
- if os.path.isfile(lng['po_path']):
1236
- po = cls(uid=lng['uid'], kind='PO', src=lng['po_path'], settings=settings)
1237
- po.update(pot)
1238
- else:
1239
- po = pot
1240
- po.write(kind="PO", dest=lng['po_path'])
1241
- print("{} PO written!".format(lng['uid']))
1242
-
1243
- @classmethod
1244
- def cleanup_callback(cls, lng, settings):
1245
- """
1246
- Cleanup a single PO file (specified by a filepath).
1247
-
1248
- Callback usable in a context where Blender specific modules (like ``bpy``) are not available.
1249
- """
1250
- import sys
1251
- sys.stdout.reconfigure(encoding="utf-8")
1252
- sys.stderr.reconfigure(encoding="utf-8")
1253
- if not lng['use']:
1254
- return
1255
- po = cls(uid=lng['uid'], kind='PO', src=lng['po_path'], settings=settings)
1256
- errs = po.check(fix=True)
1257
- cleanedup_commented = po.clean_commented()
1258
- po.write(kind="PO", dest=lng['po_path'])
1259
- print("Processing {} language ({}).\n"
1260
- "Cleaned up {} commented messages.\n".format(lng['name'], lng['uid'], cleanedup_commented) +
1261
- ("Errors in this po, solved as best as possible!\n\t" + "\n\t".join(errs) if errs else "") + "\n")
1262
-
1263
- @classmethod
1264
- def update_to_blender_repo_callback(cls, lng, settings):
1265
- """
1266
- Cleanup and write a single PO file (specified by a filepath) into the relevant Blender source 'compact' PO file.
1267
-
1268
- Callback usable in a context where Blender specific modules (like ``bpy``) are not available.
1269
- """
1270
- import sys
1271
- sys.stdout.reconfigure(encoding="utf-8")
1272
- sys.stderr.reconfigure(encoding="utf-8")
1273
- reports = []
1274
- if lng['uid'] in settings.IMPORT_LANGUAGES_SKIP:
1275
- reports.append(
1276
- "Skipping {} language ({}), edit settings if you want to enable it.".format(
1277
- lng['name'], lng['uid']))
1278
- return lng['uid'], 0.0, reports
1279
- if not lng['use']:
1280
- reports.append("Skipping {} language ({}).".format(lng['name'], lng['uid']))
1281
- return lng['uid'], 0.0, reports
1282
- po = cls(uid=lng['uid'], kind='PO', src=lng['po_path'], settings=settings)
1283
- errs = po.check(fix=True)
1284
- reports.append("Processing {} language ({}).\n"
1285
- "Cleaned up {} commented messages.\n".format(lng['name'], lng['uid'], po.clean_commented()) +
1286
- ("Errors in this po, solved as best as possible!\n\t" + "\n\t".join(errs) if errs else ""))
1287
- if lng['uid'] in settings.IMPORT_LANGUAGES_RTL:
1288
- if platform.system() not in {'Linux'}:
1289
- reports.append("Skipping RtL processing of {} language ({}), "
1290
- "this is only supported on Linux currently.".format(lng['name'], lng['uid']))
1291
- else:
1292
- po.rtl_process()
1293
- po.write(kind="PO_COMPACT", dest=lng['po_path_blender'])
1294
- po.update_info()
1295
- return lng['uid'], po.nbr_trans_msgs / po.nbr_msgs, reports
1296
-
1297
-
1298
- class I18n:
1299
- """
1300
- Internal representation of a whole translation set.
1301
- """
1302
-
1303
- @staticmethod
1304
- def _parser_check_file(path, maxsize=settings.PARSER_MAX_FILE_SIZE,
1305
- _begin_marker=settings.PARSER_PY_MARKER_BEGIN,
1306
- _end_marker=settings.PARSER_PY_MARKER_END):
1307
- if os.stat(path).st_size > maxsize:
1308
- # Security, else we could read arbitrary huge files!
1309
- print("WARNING: skipping file {}, too huge!".format(path))
1310
- return None, None, None, False
1311
- txt = ""
1312
- with open(path, encoding="utf8") as f:
1313
- txt = f.read()
1314
- _in = 0
1315
- _out = len(txt)
1316
- if _begin_marker:
1317
- _in = None
1318
- if _begin_marker in txt:
1319
- _in = txt.index(_begin_marker) + len(_begin_marker)
1320
- if _end_marker:
1321
- _out = None
1322
- if _end_marker in txt:
1323
- _out = txt.index(_end_marker)
1324
- if _in is not None and _out is not None:
1325
- in_txt, txt, out_txt = txt[:_in], txt[_in:_out], txt[_out:]
1326
- elif _in is not None:
1327
- in_txt, txt, out_txt = txt[:_in], txt[_in:], None
1328
- elif _out is not None:
1329
- in_txt, txt, out_txt = None, txt[:_out], txt[_out:]
1330
- else:
1331
- in_txt, txt, out_txt = None, txt, None
1332
- return in_txt, txt, out_txt, (True if "translations_tuple" in txt else False)
1333
-
1334
- @staticmethod
1335
- def _dst(self, path, uid, kind):
1336
- if isinstance(path, str):
1337
- if kind == 'PO':
1338
- if uid == self.settings.PARSER_TEMPLATE_ID:
1339
- if not path.endswith(".pot"):
1340
- return os.path.join(os.path.dirname(path), "blender.pot")
1341
- if not path.endswith(".po"):
1342
- return os.path.join(os.path.dirname(path), uid + ".po")
1343
- elif kind == 'PY':
1344
- if not path.endswith(".py"):
1345
- if os.path.isdir(path):
1346
- return os.path.join(path, "translations.py")
1347
- return os.path.join(os.path.dirname(path), "translations.py")
1348
- return path
1349
-
1350
- def __init__(self, kind=None, src=None, langs=set(), settings=settings):
1351
- self.settings = settings
1352
- self.trans: dict[str, I18nMessages] = {}
1353
- self.src = {} # Should have the same keys as self.trans (plus PARSER_PY_ID for py file)!
1354
- self.dst = self._dst # A callable that transforms src_path into dst_path!
1355
- if kind and src:
1356
- self.parse(kind, src, langs)
1357
- self.update_info()
1358
-
1359
- def _py_file_get(self):
1360
- return self.src.get(self.settings.PARSER_PY_ID)
1361
-
1362
- def _py_file_set(self, value):
1363
- self.src[self.settings.PARSER_PY_ID] = value
1364
- py_file = property(_py_file_get, _py_file_set)
1365
-
1366
- def escape(self, do_all=False):
1367
- for trans in self.trans.values():
1368
- trans.escape(do_all)
1369
-
1370
- def unescape(self, do_all=True):
1371
- for trans in self.trans.values():
1372
- trans.unescape(do_all)
1373
-
1374
- def update_info(self):
1375
- self.nbr_trans = 0
1376
- self.lvl = 0.0
1377
- self.lvl_ttips = 0.0
1378
- self.lvl_trans_ttips = 0.0
1379
- self.lvl_ttips_in_trans = 0.0
1380
- self.lvl_comm = 0.0
1381
- self.nbr_signs = 0
1382
- self.nbr_trans_signs = 0
1383
- self.contexts = set()
1384
-
1385
- if self.settings.PARSER_TEMPLATE_ID in self.trans:
1386
- self.nbr_trans = len(self.trans) - 1
1387
- self.nbr_signs = self.trans[self.settings.PARSER_TEMPLATE_ID].nbr_signs
1388
- else:
1389
- self.nbr_trans = len(self.trans)
1390
- for msgs in self.trans.values():
1391
- msgs.update_info()
1392
- if msgs.nbr_msgs > 0:
1393
- self.lvl += float(msgs.nbr_trans_msgs) / float(msgs.nbr_msgs)
1394
- self.lvl_ttips += float(msgs.nbr_ttips) / float(msgs.nbr_msgs)
1395
- self.lvl_comm += float(msgs.nbr_comm_msgs) / float(msgs.nbr_msgs + msgs.nbr_comm_msgs)
1396
- if msgs.nbr_ttips > 0:
1397
- self.lvl_trans_ttips = float(msgs.nbr_trans_ttips) / float(msgs.nbr_ttips)
1398
- if msgs.nbr_trans_msgs > 0:
1399
- self.lvl_ttips_in_trans = float(msgs.nbr_trans_ttips) / float(msgs.nbr_trans_msgs)
1400
- if self.nbr_signs == 0:
1401
- self.nbr_signs = msgs.nbr_signs
1402
- self.nbr_trans_signs += msgs.nbr_trans_signs
1403
- self.contexts |= msgs.contexts
1404
-
1405
- def print_stats(self, prefix="", print_msgs=True):
1406
- """
1407
- Print out some stats about an I18n object.
1408
- If print_msgs is True, it will also print all its translations' stats.
1409
- """
1410
- if print_msgs:
1411
- msgs_prefix = prefix + " "
1412
- for key, msgs in self.trans.items():
1413
- if key == self.settings.PARSER_TEMPLATE_ID:
1414
- continue
1415
- print(prefix + key + ":")
1416
- msgs.print_stats(prefix=msgs_prefix)
1417
- print(prefix)
1418
-
1419
- nbr_contexts = len(self.contexts - {self.settings.DEFAULT_CONTEXT})
1420
- if nbr_contexts != 1:
1421
- if nbr_contexts == 0:
1422
- nbr_contexts = "No"
1423
- _ctx_txt = "s are"
1424
- else:
1425
- _ctx_txt = " is"
1426
- lines = ((
1427
- "",
1428
- "Average stats for all {} translations:\n".format(self.nbr_trans),
1429
- " {:>6.1%} done!\n".format(self.lvl / self.nbr_trans),
1430
- " {:>6.1%} of messages are tooltips.\n".format(self.lvl_ttips / self.nbr_trans),
1431
- " {:>6.1%} of tooltips are translated.\n".format(self.lvl_trans_ttips / self.nbr_trans),
1432
- " {:>6.1%} of translated messages are tooltips.\n".format(self.lvl_ttips_in_trans / self.nbr_trans),
1433
- " {:>6.1%} of messages are commented.\n".format(self.lvl_comm / self.nbr_trans),
1434
- " The org msgids are currently made of {} signs.\n".format(self.nbr_signs),
1435
- " All processed translations are currently made of {} signs.\n".format(self.nbr_trans_signs),
1436
- " {} specific context{} present:\n".format(self.nbr_contexts, _ctx_txt)) +
1437
- tuple(" " + c + "\n" for c in self.contexts - {self.settings.DEFAULT_CONTEXT}) +
1438
- ("\n",)
1439
- )
1440
- print(prefix.join(lines))
1441
-
1442
- @classmethod
1443
- def check_py_module_has_translations(cls, src, settings=settings):
1444
- """
1445
- Check whether a given src (a py module, either a directory or a py file) has some i18n translation data,
1446
- and returns a tuple (src_file, translations_tuple) if yes, else (None, None).
1447
- """
1448
- txts = []
1449
- if os.path.isdir(src):
1450
- for root, _dnames, fnames in os.walk(src):
1451
- for fname in fnames:
1452
- if not fname.endswith(".py"):
1453
- continue
1454
- path = os.path.join(root, fname)
1455
- _1, txt, _2, has_trans = cls._parser_check_file(path)
1456
- if has_trans:
1457
- txts.append((path, txt))
1458
- elif src.endswith(".py") and os.path.isfile(src):
1459
- _1, txt, _2, has_trans = cls._parser_check_file(src)
1460
- if has_trans:
1461
- txts.append((src, txt))
1462
- for path, txt in txts:
1463
- tuple_id = "translations_tuple"
1464
- env = globals().copy()
1465
- exec(txt, env)
1466
- if tuple_id in env:
1467
- return path, env[tuple_id]
1468
- return None, None # No data...
1469
-
1470
- def parse(self, kind, src, langs=set()):
1471
- self.parsers[kind](self, src, langs)
1472
-
1473
- def parse_from_po(self, src, langs=set()):
1474
- """
1475
- src must be a tuple (dir_of_pos, pot_file), where:
1476
- * dir_of_pos may either contains iso_CODE.po files, and/or iso_CODE/iso_CODE.po files.
1477
- * pot_file may be None (in which case there will be no ref messages).
1478
- if langs set is void, all languages found are loaded.
1479
- """
1480
- root_dir, pot_file = src
1481
- if pot_file and os.path.isfile(pot_file):
1482
- self.trans[self.settings.PARSER_TEMPLATE_ID] = I18nMessages(
1483
- self.settings.PARSER_TEMPLATE_ID, 'PO',
1484
- pot_file, pot_file, settings=self.settings,
1485
- )
1486
- self.src_po[self.settings.PARSER_TEMPLATE_ID] = pot_file
1487
-
1488
- for uid, po_file in get_po_files_from_dir(root_dir, langs):
1489
- self.trans[uid] = I18nMessages(uid, 'PO', po_file, po_file, settings=self.settings)
1490
- self.src_po[uid] = po_file
1491
-
1492
- def parse_from_py(self, src, langs=set()):
1493
- """
1494
- src must be a valid path, either a py file or a module directory (in which case all py files inside it
1495
- will be checked, first file matching will win!).
1496
- if langs set is void, all languages found are loaded.
1497
- """
1498
- default_context = self.settings.DEFAULT_CONTEXT
1499
- self.py_file, msgs = self.check_py_module_has_translations(src, self.settings)
1500
- if msgs is None:
1501
- self.py_file = src
1502
- msgs = ()
1503
- for key, (sources, gen_comments), *translations in msgs:
1504
- if self.settings.PARSER_TEMPLATE_ID not in self.trans:
1505
- self.trans[self.settings.PARSER_TEMPLATE_ID] = I18nMessages(
1506
- self.settings.PARSER_TEMPLATE_ID,
1507
- settings=self.settings,
1508
- )
1509
- self.src[self.settings.PARSER_TEMPLATE_ID] = self.py_file
1510
- if key in self.trans[self.settings.PARSER_TEMPLATE_ID].msgs:
1511
- print("ERROR! key {} is defined more than once! Skipping re-definitions!")
1512
- continue
1513
- custom_src = [c for c in sources if c.startswith("bpy.")]
1514
- src = [c for c in sources if not c.startswith("bpy.")]
1515
- common_comment_lines = (
1516
- [self.settings.PO_COMMENT_PREFIX_GENERATED + c for c in gen_comments] +
1517
- [self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM + c for c in custom_src] +
1518
- [self.settings.PO_COMMENT_PREFIX_SOURCE + c for c in src]
1519
- )
1520
- ctxt = [key[0]] if key[0] else [default_context]
1521
- self.trans[self.settings.PARSER_TEMPLATE_ID].msgs[key] = I18nMessage(
1522
- ctxt, [key[1]], [""],
1523
- common_comment_lines, False, False,
1524
- settings=self.settings,
1525
- )
1526
- for uid, msgstr, (is_fuzzy, user_comments) in translations:
1527
- if uid not in self.trans:
1528
- self.trans[uid] = I18nMessages(uid, settings=self.settings)
1529
- self.src[uid] = self.py_file
1530
- comment_lines = [self.settings.PO_COMMENT_PREFIX + c for c in user_comments] + common_comment_lines
1531
- self.trans[uid].msgs[key] = I18nMessage(
1532
- ctxt, [key[1]], [msgstr], comment_lines, False, is_fuzzy,
1533
- settings=self.settings,
1534
- )
1535
- # key = self.settings.PO_HEADER_KEY
1536
- # for uid, trans in self.trans.items():
1537
- # if key not in trans.msgs:
1538
- # trans.msgs[key]
1539
- self.unescape()
1540
-
1541
- def write(self, kind, langs=set()):
1542
- return self.writers[kind](self, langs)
1543
-
1544
- def write_to_po(self, langs=set()):
1545
- """
1546
- Write all translations into po files. By default, write in the same files (or dir) as the source, specify
1547
- a custom self.dst function to write somewhere else!
1548
- Note: If langs is set and you want to export the pot template as well, langs must contain PARSER_TEMPLATE_ID
1549
- ({} currently).
1550
- """.format(self.settings.PARSER_TEMPLATE_ID)
1551
- keys = self.trans.keys()
1552
- if langs:
1553
- keys &= langs
1554
- for uid in keys:
1555
- dst = self.dst(self, self.src.get(uid, ""), uid, 'PO')
1556
- self.trans[uid].write('PO', dst)
1557
-
1558
- def write_to_py(self, langs=set()):
1559
- """
1560
- Write all translations as python code, either in a "translations.py" file under same dir as source(s), or in
1561
- specified file if self.py_file is set (default, as usual can be customized with self.dst callable!).
1562
- Note: If langs is set and you want to export the pot template as well, langs must contain PARSER_TEMPLATE_ID
1563
- ({} currently).
1564
- """.format(self.settings.PARSER_TEMPLATE_ID)
1565
- default_context = self.settings.DEFAULT_CONTEXT
1566
-
1567
- def _gen_py(self, langs, tab=" "):
1568
- _lencomm = len(self.settings.PO_COMMENT_PREFIX)
1569
- _lengen = len(self.settings.PO_COMMENT_PREFIX_GENERATED)
1570
- _lensrc = len(self.settings.PO_COMMENT_PREFIX_SOURCE)
1571
- _lencsrc = len(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM)
1572
- ret = [
1573
- "# NOTE: You can safely move around this auto-generated block (with the begin/end markers!),",
1574
- "# and edit the translations by hand.",
1575
- "# Just carefully respect the format of the tuple!",
1576
- "",
1577
- "# Tuple of tuples:",
1578
- "# ((msgctxt, msgid), (sources, gen_comments), (lang, translation, (is_fuzzy, comments)), ...)",
1579
- "translations_tuple = (",
1580
- ]
1581
- # First gather all keys (msgctxt, msgid) - theoretically, all translations should share the same, but...
1582
- # Note: using an ordered dict if possible (stupid sets cannot be ordered :/ ).
1583
- keys = I18nMessages._new_messages()
1584
- for trans in self.trans.values():
1585
- keys.update(trans.msgs)
1586
- # Get the ref translation (ideally, PARSER_TEMPLATE_ID one, else the first one that pops up!
1587
- # Ref translation will be used to generate sources "comments"
1588
- ref = self.trans.get(self.settings.PARSER_TEMPLATE_ID) or self.trans[list(self.trans.keys())[0]]
1589
- # Get all languages (uids) and sort them (PARSER_TEMPLATE_ID and PARSER_PY_ID excluded!)
1590
- translations = self.trans.keys() - {self.settings.PARSER_TEMPLATE_ID, self.settings.PARSER_PY_ID}
1591
- if langs:
1592
- translations &= langs
1593
- translations = [('"' + lng + '"', self.trans[lng]) for lng in sorted(translations)]
1594
- print(f"Translated {len(keys)} keys saved to .py file:")
1595
- print(*(k for k in keys.keys()), sep="\n")
1596
- for key in keys.keys():
1597
- if ref.msgs[key].is_commented:
1598
- continue
1599
- # Key (context + msgid).
1600
- msgctxt, msgid = ref.msgs[key].msgctxt, ref.msgs[key].msgid
1601
- if not msgctxt:
1602
- msgctxt = default_context
1603
- ret.append(tab + "(({}, \"{}\"),".format('"' + msgctxt + '"' if msgctxt else "None", msgid))
1604
- # Common comments (mostly sources!).
1605
- sources = []
1606
- gen_comments = []
1607
- for comment in ref.msgs[key].comment_lines:
1608
- if comment.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE_CUSTOM):
1609
- sources.append(comment[_lencsrc:])
1610
- elif comment.startswith(self.settings.PO_COMMENT_PREFIX_SOURCE):
1611
- sources.append(comment[_lensrc:])
1612
- elif comment.startswith(self.settings.PO_COMMENT_PREFIX_GENERATED):
1613
- gen_comments.append(comment[_lengen:])
1614
- if not (sources or gen_comments):
1615
- ret.append(tab + " ((), ()),")
1616
- else:
1617
- if len(sources) > 1:
1618
- ret.append(tab + ' (("' + sources[0] + '",')
1619
- ret += [tab + ' "' + s + '",' for s in sources[1:-1]]
1620
- ret.append(tab + ' "' + sources[-1] + '"),')
1621
- else:
1622
- ret.append(tab + " ((" + ('"' + sources[0] + '",' if sources else "") + "),")
1623
- if len(gen_comments) > 1:
1624
- ret.append(tab + ' ("' + gen_comments[0] + '",')
1625
- ret += [tab + ' "' + s + '",' for s in gen_comments[1:-1]]
1626
- ret.append(tab + ' "' + gen_comments[-1] + '")),')
1627
- else:
1628
- ret.append(tab + " (" + ('"' + gen_comments[0] + '",' if gen_comments else "") + ")),")
1629
- # All languages
1630
- for lngstr, trans in translations:
1631
- if key not in trans.msgs:
1632
- continue # Happens if no language is enabled in translation UI, and new messages are generated.
1633
- if trans.msgs[key].is_commented:
1634
- continue
1635
- # Language code and translation.
1636
- ret.append(tab + " (" + lngstr + ', "' + trans.msgs[key].msgstr + '",')
1637
- # User comments and fuzzy.
1638
- comments = []
1639
- for comment in trans.msgs[key].comment_lines:
1640
- if comment.startswith(self.settings.PO_COMMENT_PREFIX):
1641
- comments.append(comment[_lencomm:])
1642
- ret.append(tab + " (" + ("True" if trans.msgs[key].is_fuzzy else "False") + ",")
1643
- if len(comments) > 1:
1644
- ret.append(tab + ' ("' + comments[0] + '",')
1645
- ret += [tab * 2 + '"' + s + '",' for s in comments[1:-1]]
1646
- ret.append(tab * 2 + '"' + comments[-1] + '"))),')
1647
- else:
1648
- ret[-1] = ret[-1] + " (" + (('"' + comments[0] + '",') if comments else "") + "))),"
1649
-
1650
- ret.append(" " + "),")
1651
- ret += [
1652
- ")",
1653
- "",
1654
- "translations_dict = {}",
1655
- "for msg in translations_tuple:",
1656
- tab + "key = msg[0]",
1657
- tab + "for lang, trans, (is_fuzzy, comments) in msg[2:]:",
1658
- tab * 2 + "if trans and not is_fuzzy:",
1659
- tab * 3 + "translations_dict.setdefault(lang, {})[key] = trans",
1660
- "",
1661
- ]
1662
- return ret
1663
-
1664
- self.escape(True)
1665
- dst = self.dst(self, self.src.get(self.settings.PARSER_PY_ID, ""), self.settings.PARSER_PY_ID, 'PY')
1666
- print(dst)
1667
- prev = txt = nxt = ""
1668
- if os.path.exists(dst):
1669
- if not os.path.isfile(dst):
1670
- print("WARNING: trying to write as python code into {}, which is not a file! Aborting.".format(dst))
1671
- return
1672
- prev, txt, nxt, _has_trans = self._parser_check_file(dst)
1673
- if prev is None and nxt is None:
1674
- print("WARNING: Looks like given python file {} has no auto-generated translations yet, will be added "
1675
- "at the end of the file, you can move that section later if needed...".format(dst))
1676
- txt = (
1677
- [txt, "", self.settings.PARSER_PY_MARKER_BEGIN] +
1678
- _gen_py(self, langs) +
1679
- ["", self.settings.PARSER_PY_MARKER_END]
1680
- )
1681
- else:
1682
- # We completely replace the text found between start and end markers...
1683
- txt = _gen_py(self, langs)
1684
- else:
1685
- print("Creating python file {} containing translations.".format(dst))
1686
- txt = [
1687
- "# SPDX-License-Identifier: GPL-2.0-or-later",
1688
- "",
1689
- self.settings.PARSER_PY_MARKER_BEGIN,
1690
- "",
1691
- ]
1692
- txt += _gen_py(self, langs)
1693
- txt += [
1694
- "",
1695
- self.settings.PARSER_PY_MARKER_END,
1696
- ]
1697
- with open(dst, 'w', encoding="utf8") as f:
1698
- f.write((prev or "") + "\n".join(txt) + (nxt or ""))
1699
- self.unescape()
1700
-
1701
- parsers = {
1702
- "PO": parse_from_po,
1703
- "PY": parse_from_py,
1704
- }
1705
-
1706
- writers = {
1707
- "PO": write_to_po,
1708
- "PY": write_to_py,
1709
- }