meerk40t 0.9.7010__py2.py3-none-any.whl → 0.9.7020__py2.py3-none-any.whl

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 (55) hide show
  1. meerk40t/balormk/galvo_commands.py +1 -2
  2. meerk40t/core/elements/branches.py +18 -4
  3. meerk40t/core/elements/element_treeops.py +34 -0
  4. meerk40t/core/elements/elements.py +49 -63
  5. meerk40t/core/elements/offset_clpr.py +4 -3
  6. meerk40t/core/elements/shapes.py +1 -1
  7. meerk40t/core/elements/testcases.py +105 -0
  8. meerk40t/core/node/op_cut.py +9 -8
  9. meerk40t/core/node/op_dots.py +8 -8
  10. meerk40t/core/node/op_engrave.py +7 -7
  11. meerk40t/core/node/op_raster.py +8 -8
  12. meerk40t/extra/encode_detect.py +8 -2
  13. meerk40t/extra/hershey.py +2 -3
  14. meerk40t/extra/inkscape.py +3 -5
  15. meerk40t/extra/outerworld.py +2 -3
  16. meerk40t/extra/param_functions.py +1 -1
  17. meerk40t/grbl/device.py +4 -1
  18. meerk40t/grbl/gui/grblcontroller.py +2 -2
  19. meerk40t/gui/busy.py +75 -13
  20. meerk40t/gui/choicepropertypanel.py +364 -375
  21. meerk40t/gui/consolepanel.py +3 -3
  22. meerk40t/gui/hersheymanager.py +13 -3
  23. meerk40t/gui/laserpanel.py +12 -7
  24. meerk40t/gui/materialmanager.py +33 -6
  25. meerk40t/gui/plugin.py +9 -3
  26. meerk40t/gui/propertypanels/operationpropertymain.py +1 -1
  27. meerk40t/gui/ribbon.py +4 -1
  28. meerk40t/gui/scene/widget.py +1 -1
  29. meerk40t/gui/scenewidgets/rectselectwidget.py +19 -16
  30. meerk40t/gui/scenewidgets/selectionwidget.py +26 -20
  31. meerk40t/gui/simpleui.py +13 -8
  32. meerk40t/gui/simulation.py +22 -2
  33. meerk40t/gui/spoolerpanel.py +2 -2
  34. meerk40t/gui/tips.py +2 -3
  35. meerk40t/gui/toolwidgets/toolmeasure.py +4 -1
  36. meerk40t/gui/wxmeerk40t.py +6 -3
  37. meerk40t/gui/wxmmain.py +72 -6
  38. meerk40t/gui/wxmscene.py +2 -6
  39. meerk40t/gui/wxmtree.py +17 -11
  40. meerk40t/gui/wxutils.py +1 -1
  41. meerk40t/image/imagetools.py +20 -5
  42. meerk40t/kernel/kernel.py +21 -2
  43. meerk40t/main.py +1 -1
  44. meerk40t/network/console_server.py +52 -14
  45. meerk40t/network/web_server.py +15 -1
  46. meerk40t/ruida/device.py +5 -1
  47. meerk40t/tools/polybool.py +2 -1
  48. meerk40t/tools/shxparser.py +92 -34
  49. {meerk40t-0.9.7010.dist-info → meerk40t-0.9.7020.dist-info}/METADATA +1 -1
  50. {meerk40t-0.9.7010.dist-info → meerk40t-0.9.7020.dist-info}/RECORD +55 -54
  51. {meerk40t-0.9.7010.dist-info → meerk40t-0.9.7020.dist-info}/LICENSE +0 -0
  52. {meerk40t-0.9.7010.dist-info → meerk40t-0.9.7020.dist-info}/WHEEL +0 -0
  53. {meerk40t-0.9.7010.dist-info → meerk40t-0.9.7020.dist-info}/entry_points.txt +0 -0
  54. {meerk40t-0.9.7010.dist-info → meerk40t-0.9.7020.dist-info}/top_level.txt +0 -0
  55. {meerk40t-0.9.7010.dist-info → meerk40t-0.9.7020.dist-info}/zip-safe +0 -0
@@ -229,6 +229,22 @@ class ShxFont:
229
229
  self._parse_unifont(f)
230
230
  else:
231
231
  raise ShxFontParseError(f"{self.type} is not a valid shx file type.")
232
+ self.translate_names_to_codes()
233
+
234
+ def translate_names_to_codes(self):
235
+ # We can't properly deal with long names,
236
+ # so we translate them a virtual character
237
+ gdict = list(self.glyphs.items())
238
+ virtual_char = len(self.glyphs)
239
+ for key, data in gdict:
240
+ if isinstance(key, str) and len(key) > 1:
241
+ while True:
242
+ newkey = chr(virtual_char)
243
+ if newkey not in self.glyphs:
244
+ break
245
+ virtual_char += 1
246
+ self.glyphs[newkey] = data
247
+ del self.glyphs[key]
232
248
 
233
249
  def _parse_header(self, f):
234
250
  header = read_string(f)
@@ -351,6 +367,7 @@ class ShxFont:
351
367
  try:
352
368
  return self._code.pop()
353
369
  except IndexError as e:
370
+ print (f"Error in {self.font_name}: no codes to pop")
354
371
  raise ShxFontParseError("No codes to pop()") from e
355
372
 
356
373
  def render(
@@ -471,7 +488,10 @@ class ShxFont:
471
488
  line_lengths = _do_render(vtext, offsets)
472
489
 
473
490
  def _parse_code(self):
474
- b = self.pop()
491
+ try:
492
+ b = self.pop()
493
+ except ShxFontParseError:
494
+ return
475
495
  direction = b & 0x0F
476
496
  length = (b & 0xF0) >> 4
477
497
  if length == 0:
@@ -608,7 +628,10 @@ class ShxFont:
608
628
 
609
629
  :return:
610
630
  """
611
- factor = self.pop()
631
+ try:
632
+ factor = self.pop()
633
+ except ShxFontParseError:
634
+ return
612
635
  if self._debug:
613
636
  print(
614
637
  f"DIVIDE_VECTOR {self._scale}/{factor} {'(Skipped)' if self._skip else ''}"
@@ -679,7 +702,10 @@ class ShxFont:
679
702
  self._last_x, self._last_y = self._x, self._y
680
703
 
681
704
  def _draw_subshape_shapes(self):
682
- subshape = self.pop()
705
+ try:
706
+ subshape = self.pop()
707
+ except ShxFontParseError:
708
+ return
683
709
  if self._debug:
684
710
  print(
685
711
  f"Appending glyph {subshape} (Type={self.type}). {'(Skipped)' if self._skip else ''}"
@@ -694,21 +720,28 @@ class ShxFont:
694
720
  self._code += bytearray(reversed(shape))
695
721
 
696
722
  def _draw_subshape_bigfont(self):
697
- subshape = self.pop()
723
+ try:
724
+ subshape = self.pop()
725
+ except ShxFontParseError:
726
+ return
698
727
  if self._debug:
699
728
  print(
700
729
  f"Appending glyph {subshape} (Type={self.type}). {'(Skipped)' if self._skip else ''}"
701
730
  )
702
731
  if subshape == 0:
703
- subshape = int_16le([self.pop(), self.pop()])
704
- origin_x = self.pop() * self._scale
705
- origin_y = self.pop() * self._scale
706
- width = self.pop() * self._scale
707
- height = self.pop() * self._scale
708
- if self._debug:
709
- print(
710
- f"Extended Bigfont Glyph: {subshape}, origin_x = {origin_x}, origin_y = {origin_y}. {width}x{height}"
711
- )
732
+ try:
733
+ subshape = int_16le([self.pop(), self.pop()])
734
+
735
+ origin_x = self.pop() * self._scale
736
+ origin_y = self.pop() * self._scale
737
+ width = self.pop() * self._scale
738
+ height = self.pop() * self._scale
739
+ if self._debug:
740
+ print(
741
+ f"Extended Bigfont Glyph: {subshape}, origin_x = {origin_x}, origin_y = {origin_y}. {width}x{height}"
742
+ )
743
+ except ShxFontParseError:
744
+ return
712
745
  if self._skip:
713
746
  self._skip = False
714
747
  return
@@ -719,7 +752,11 @@ class ShxFont:
719
752
  self._code += bytearray(reversed(shape))
720
753
 
721
754
  def _draw_subshape_unifont(self):
722
- subshape = int_16le([self.pop(), self.pop()])
755
+ try:
756
+ subshape = int_16le([self.pop(), self.pop()])
757
+ except ShxFontParseError:
758
+ return
759
+
723
760
  if self._debug:
724
761
  print(
725
762
  f"Appending glyph {subshape} (Type={self.type}). {'(Skipped)' if self._skip else ''}"
@@ -755,8 +792,12 @@ class ShxFont:
755
792
  ranges from -128 to +127.
756
793
  :return:
757
794
  """
758
- dx = signed8(self.pop()) * self._scale
759
- dy = signed8(self.pop()) * self._scale
795
+ try:
796
+ dx = signed8(self.pop()) * self._scale
797
+ dy = signed8(self.pop()) * self._scale
798
+ except ShxFontParseError:
799
+ return
800
+
760
801
  if self._debug:
761
802
  print(f"XY_DISPLACEMENT {dx} {dy} {'(Skipped)' if self._skip else ''}")
762
803
  if self._skip:
@@ -777,8 +818,11 @@ class ShxFont:
777
818
  :return:
778
819
  """
779
820
  while True:
780
- dx = signed8(self.pop()) * self._scale
781
- dy = signed8(self.pop()) * self._scale
821
+ try:
822
+ dx = signed8(self.pop()) * self._scale
823
+ dy = signed8(self.pop()) * self._scale
824
+ except ShxFontParseError:
825
+ return
782
826
  if self._debug:
783
827
  print(
784
828
  f"POLY_XY_DISPLACEMENT {dx} {dy} {'(Skipped)' if self._skip else ''}"
@@ -816,8 +860,11 @@ class ShxFont:
816
860
  and the span.
817
861
  :return:
818
862
  """
819
- radius = self.pop() * self._scale
820
- sc = signed8(self.pop())
863
+ try:
864
+ radius = self.pop() * self._scale
865
+ sc = signed8(self.pop())
866
+ except ShxFontParseError:
867
+ return
821
868
  s = (sc >> 4) & 0x7
822
869
  c = sc & 0x7
823
870
  if self._debug:
@@ -858,13 +905,15 @@ class ShxFont:
858
905
  90° + (28/256 * 45°) = 95°
859
906
  """
860
907
  octant = tau / 8.0
861
- start_offset = octant * self.pop() / 256.0
862
- end_offset = octant * self.pop() / 256.0
863
- radius = (256 * self.pop() + self.pop()) * self._scale
864
- sc = signed8(self.pop())
865
- s = (sc >> 4) & 0x7
866
- c = sc & 0x7
867
-
908
+ try:
909
+ start_offset = octant * self.pop() / 256.0
910
+ end_offset = octant * self.pop() / 256.0
911
+ radius = (256 * self.pop() + self.pop()) * self._scale
912
+ sc = signed8(self.pop())
913
+ s = (sc >> 4) & 0x7
914
+ c = sc & 0x7
915
+ except ShxFontParseError:
916
+ return
868
917
  if self._debug:
869
918
  print(
870
919
  f"FRACTION_ARC {start_offset}, {end_offset}, {radius}, {s}, {c} {'(Skipped)' if self._skip else ''}"
@@ -903,10 +952,12 @@ class ShxFont:
903
952
 
904
953
  :return:
905
954
  """
906
-
907
- dx = signed8(self.pop()) * self._scale
908
- dy = signed8(self.pop()) * self._scale
909
- h = signed8(self.pop())
955
+ try:
956
+ dx = signed8(self.pop()) * self._scale
957
+ dy = signed8(self.pop()) * self._scale
958
+ h = signed8(self.pop())
959
+ except ShxFontParseError:
960
+ return
910
961
 
911
962
  if self._debug:
912
963
  print(f"BULGE_ARC {dx}, {dy}, {h} {'(Skipped)' if self._skip else ''}")
@@ -939,8 +990,12 @@ class ShxFont:
939
990
  """
940
991
  h = 0
941
992
  while True:
942
- dx = signed8(self.pop()) * self._scale
943
- dy = signed8(self.pop()) * self._scale
993
+ try:
994
+ dx = signed8(self.pop()) * self._scale
995
+ dy = signed8(self.pop()) * self._scale
996
+ except ShxFontParseError:
997
+ return
998
+
944
999
  if self._debug:
945
1000
  print(
946
1001
  f"POLY_BULGE_ARC {dx}, {dy}, {h} {'(Skipped)' if self._skip else ''}"
@@ -949,7 +1004,10 @@ class ShxFont:
949
1004
  if self._debug:
950
1005
  print(f"POLY_BULGE_ARC (TERMINATED)")
951
1006
  break
952
- h = signed8(self.pop())
1007
+ try:
1008
+ h = signed8(self.pop())
1009
+ except ShxFontParseError:
1010
+ return
953
1011
  if self._skip:
954
1012
  continue
955
1013
  r = abs(complex(dx, dy)) / 2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: meerk40t
3
- Version: 0.9.7010
3
+ Version: 0.9.7020
4
4
  Summary: MeerK40t LaserCutter Software
5
5
  Home-page: https://github.com/meerk40t/meerk40t
6
6
  Author: Tatarize
@@ -3,7 +3,7 @@ meerk40t/constants.py,sha256=iTcOFJF_MLo3Ugms_A5kyz5MM0Ln9ZlZweMepW6Peto,203
3
3
  meerk40t/external_plugins.py,sha256=OQ2475hUr9KJDmrIip4zyf-851igd5n6IIMrsAvnA-U,2126
4
4
  meerk40t/external_plugins_build.py,sha256=8pwgdxSpsQMdiXJAX9kXQUc0-Dw9AMBgBfcLbTLAKfI,857
5
5
  meerk40t/internal_plugins.py,sha256=CkVEO355z6dvEF3R6rbJU69GpwA67whPAS_zvZSSbOs,3379
6
- meerk40t/main.py,sha256=YSri6NxeduBAH0n63QoeXseonq3vUrbeLcXJ5Cm2WIo,6552
6
+ meerk40t/main.py,sha256=FmM2Cvq3iH6B_C4KWIr2q8HSW5Rwsva5SgMeurTyd2w,6552
7
7
  meerk40t/svgelements.py,sha256=OlHkjm9kDgx6ARGJ3M2Fyd2kMi06kWJizEt8zzV5xX8,333052
8
8
  meerk40t/balormk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  meerk40t/balormk/balor_params.py,sha256=S-kwGaHfBtXWDgtZlaudvQN_HkXPqlQyp8xVh5iSxW0,4290
@@ -12,7 +12,7 @@ meerk40t/balormk/controller.py,sha256=tZtdgPFh-lEPSAEEwmsRCRnpH9wtNSGj0GH3Jr-y4_
12
12
  meerk40t/balormk/cylindermod.py,sha256=6dtdlDvOKUDPo_UFUzwGbRHv0UOqZUMhcTpXA83UopQ,2222
13
13
  meerk40t/balormk/device.py,sha256=YRhTf8Tl5nG3KZuJ5AAfqohNdr9E6zmA4CmEjMV-Uuk,33424
14
14
  meerk40t/balormk/driver.py,sha256=NWwgGm_Rcnsb9gpJ6wj9Lr1R11qRweVX8r5EzKWIock,27440
15
- meerk40t/balormk/galvo_commands.py,sha256=us0-sfsrIZOgKkBmC8GvhqQyg-7cv_nQsbZJ62zYnBA,42146
15
+ meerk40t/balormk/galvo_commands.py,sha256=AIVEelAsFxkduVTaxcWxuytLwcDJIzWFMKxoXn9HkAI,42089
16
16
  meerk40t/balormk/livelightjob.py,sha256=hkd5HtH22RvGzmpM70rohFGgUrMHxO2FNzsPYXbelSY,14958
17
17
  meerk40t/balormk/mock_connection.py,sha256=Zg_3SViEuaFT9dAfga5CChxYQk6QxMeAUhEj8zaGP2g,4293
18
18
  meerk40t/balormk/plugin.py,sha256=NhZ0oGJM_msmradpn2QkBgjukPO4_r_-aonLNTZcaVM,4887
@@ -71,22 +71,23 @@ meerk40t/core/cutcode/rastercut.py,sha256=azBJhFJS1zhRhjUUvB553HHKDpts_eDijKdXer
71
71
  meerk40t/core/cutcode/waitcut.py,sha256=E5dOO5-LBUVBcP9_qClPkChYBNhQ8ElwucWqEkTlgRE,866
72
72
  meerk40t/core/elements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  meerk40t/core/elements/align.py,sha256=r68DOSr9DgkwbT8BvjoPGxtgJv52Hyz0YDMIFFIgMkA,30177
74
- meerk40t/core/elements/branches.py,sha256=-eJ96sxTJhDj9i0KrPcghXmJ2iyKIUzkLqhAWcqCTdk,64565
74
+ meerk40t/core/elements/branches.py,sha256=ZtLvpX6KmaKbBVHULeQODJbYNrYVMSJRryFEMBZyfSw,65093
75
75
  meerk40t/core/elements/clipboard.py,sha256=z0i4uM2zwPQAaZMDcWdN4fhfau4UXVOmLhKlLImPb34,8034
76
- meerk40t/core/elements/element_treeops.py,sha256=iRyWvoUpqQ5rscHpXcnepLKPCJM9jJSrZ9o9H4L_9oY,169950
76
+ meerk40t/core/elements/element_treeops.py,sha256=jmYgLW0NqmzTBm-am7EL4fhP1srtun1gn3f3CoUJ6rE,171118
77
77
  meerk40t/core/elements/element_types.py,sha256=MvHz7cYG1s4wAB215ZlEd1i4zanc2vv8iOxWzU0J4ys,2334
78
- meerk40t/core/elements/elements.py,sha256=z3-UZb4lw7FTi06vrocICLl6v6Vavs9sIrGyJres35k,176499
78
+ meerk40t/core/elements/elements.py,sha256=c8pXRGpw-Gml9UJ97LckGsJ1x-Ijt1IFaekkga9_51E,175900
79
79
  meerk40t/core/elements/files.py,sha256=cuZPrRmvLqdhQ0Nft4Bm4yDQjI44mMR08AMEHSYAfOQ,4548
80
80
  meerk40t/core/elements/geometry.py,sha256=E11qolLrg_r2XhTOkGKASS8Lx9tj2n9qxOJ7ptkFkQY,17605
81
81
  meerk40t/core/elements/grid.py,sha256=EbE2kAkSUHyP0eUdAw2hQDNG9huf9gzR82XrC1hMayE,18750
82
82
  meerk40t/core/elements/materials.py,sha256=FvypUyQ7hVf3fP8_cyLKYFGra9c-4rRgnUF1F_hd6Es,5873
83
83
  meerk40t/core/elements/notes.py,sha256=tReyNmqe5YwC2IntMJZ8f0qvKw0oH0RU5He34TKfgt4,1781
84
- meerk40t/core/elements/offset_clpr.py,sha256=304PPeaux1coyZm_bYn1NSktuEMLvmknvXZ2rw12Jsk,35507
84
+ meerk40t/core/elements/offset_clpr.py,sha256=_3eRy-iesY6LXVdxz2f1F0hb8T0z5UfcFnxMEcdXyrA,35544
85
85
  meerk40t/core/elements/offset_mk.py,sha256=Dm0BTB3-A1z_VKGgkEX2Cx9DD3TZpC_knDg1PrySyp0,37839
86
86
  meerk40t/core/elements/penbox.py,sha256=kW162SViOSMxJukBHafQa1i0H0qfgPhiPWbw3NrB8fs,12837
87
87
  meerk40t/core/elements/placements.py,sha256=r_b_8Net4_stPm0yPVKjyzA3WELXGZs6Susff5Y7QkI,10680
88
88
  meerk40t/core/elements/render.py,sha256=F-qsV7ii8Zh2xBMO7-orZKptkCbFPXbfahdt2qFXwTE,27382
89
- meerk40t/core/elements/shapes.py,sha256=TuZ5paOrrlXtRW8ARmJi5vXSfMyqj1J3tgFrECZVYQw,94081
89
+ meerk40t/core/elements/shapes.py,sha256=UFNWG0DGY3ClvMM4I9am_iKYNIOMo4RvqXGCZyD_hQw,94081
90
+ meerk40t/core/elements/testcases.py,sha256=4Oqq2ruNh_E71LmxHkSUC93Bo6_A8GPDamw73xJolHk,3758
90
91
  meerk40t/core/elements/trace.py,sha256=J4Wre8XfjSKhfZweoi41vUSlRB2KuHCaQQYK9U1g0Zs,20251
91
92
  meerk40t/core/elements/tree_commands.py,sha256=yfgRdCeYZmcVCmqaQ7utQ3VJw6AUCsBjG5L8UNMZA6I,14326
92
93
  meerk40t/core/elements/undo_redo.py,sha256=clmXAF-v7skKvCJ1DpZFYiegWEyY8eGpy52dc7sdjLk,4130
@@ -117,11 +118,11 @@ meerk40t/core/node/layernode.py,sha256=1SsTxQeKLkMeslylVHZfMt3zhEJSqo6be49GxHLaf
117
118
  meerk40t/core/node/mixins.py,sha256=i2vIh57o1-xEz0YJRik-6_B5vq90MogsmEx7xKzZx1c,4005
118
119
  meerk40t/core/node/node.py,sha256=UhbwnaHmkU-UQ96QBNhsGHN6zJ9Iz2Tjc77-ISibTGI,46055
119
120
  meerk40t/core/node/nutils.py,sha256=YfET5o-9Q-2f-8TNTdk-xruSDwpnzD4rhRBcCZKvhyI,3877
120
- meerk40t/core/node/op_cut.py,sha256=I2zm6WG7PuEqQS_Ho3lAn2sEKDlkowYx_tDe2-_uiic,17812
121
- meerk40t/core/node/op_dots.py,sha256=GoSU5HzWNExCezUlW73RaCx0mAWMcNqQNCWEwFM_0Qk,11587
122
- meerk40t/core/node/op_engrave.py,sha256=roO-vBG2DMncnTV5XiGxYVQGSdIggP24pH_MSppkuHQ,15890
121
+ meerk40t/core/node/op_cut.py,sha256=j-ZXhcrIlr2Z6Bi8Dra9QldXSbhoEhXPvSPTRaM0Yk8,17875
122
+ meerk40t/core/node/op_dots.py,sha256=OfoQdOjEGh1RV8J0t-V7Rd3nAr0tO3-aT-FG3dRcHHQ,11570
123
+ meerk40t/core/node/op_engrave.py,sha256=dczEX1oGQEOB8rNP_Y1DOD65BgljAXBQJa26xLCo4uc,15873
123
124
  meerk40t/core/node/op_image.py,sha256=HoV8Dz5IbLIFiWsv5XuKW1TR_D5zd0l6qAZ0q-fYLNY,32578
124
- meerk40t/core/node/op_raster.py,sha256=y-6OlKXNUGFamfq8WS1kibZd8gH--w4wMM7MRvJ7b0s,32450
125
+ meerk40t/core/node/op_raster.py,sha256=-iAWKvhuefZozaJRySXvtzjQhw9bbCMsDTlH1bNHyGU,32433
125
126
  meerk40t/core/node/place_current.py,sha256=YbMwOZP3pCeINlKLIvxihCuon1WGFlo8TyDtqo0Lojo,1216
126
127
  meerk40t/core/node/place_point.py,sha256=XEA3yGejiwuGUt2H1IbNoTUX2Pfdg2_qBAGRAE9IMKE,11439
127
128
  meerk40t/core/node/refnode.py,sha256=doR-bqSTOqAPtmCR5PDKXkBp9bN_nqUEBeyfAEI9kAE,1937
@@ -153,14 +154,14 @@ meerk40t/dxf/plugin.py,sha256=EE2-hJ15y8adsPcs6t2ayl_UklzccC0QxfCt6t_FMQE,1756
153
154
  meerk40t/extra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
155
  meerk40t/extra/cag.py,sha256=sUi91Ssm41ZWmeVB5wYOPKVQ4iuObHlGhU7H7Y2ljls,4488
155
156
  meerk40t/extra/coolant.py,sha256=iRSTCRUHwJq4mIJrLEf7vmhwwTHeBlulcwlOyy_Q3s4,14708
156
- meerk40t/extra/encode_detect.py,sha256=g6XLiiLoR0Id3ErLQc8pd1I7rdtX0zdD8SHdLaaF-D8,6296
157
+ meerk40t/extra/encode_detect.py,sha256=deHs-0WAgYawpQIc2s36-qOflH06w5zxHs5vv6ZC5y8,6453
157
158
  meerk40t/extra/ezd.py,sha256=6nY2Toj_T5hPsuDx8Lt27JtsUP7Gpj5uvgtGK8FPKFY,38059
158
- meerk40t/extra/hershey.py,sha256=T8IQx5kY_gVtgXAUbUT_11fcUoHjyKpo3PGO24EJEiU,29615
159
+ meerk40t/extra/hershey.py,sha256=qokEQey4ds_-64fXvLSkWBRGBTfKEM4LKchb7O6Vp0M,29565
159
160
  meerk40t/extra/imageactions.py,sha256=bUuXs8Q6rLDzHo-2OGQzRBKMc_5Q3YHYX_I-jwXIQqM,10282
160
- meerk40t/extra/inkscape.py,sha256=9gOsjHM6Hmobuv3CSNs5eTABY9XYemtsySH08zZhwZI,23401
161
+ meerk40t/extra/inkscape.py,sha256=lJGUJPOdO-1mBNnsYZNIPsS_-fDcZZ_OuFvkQDGTTNk,23360
161
162
  meerk40t/extra/lbrn.py,sha256=uwph9pKfsoKgnzVzulVheb_cJ0P4WeKJ8-i4wCwAFG0,16704
162
- meerk40t/extra/outerworld.py,sha256=8dKC5o0-cGXkAdBYFOaoQm0gkrxFwnw8FZv_243CONw,10278
163
- meerk40t/extra/param_functions.py,sha256=sDHPdsRqOiFEpUBKPBp3Q7ZvRRsOtbbrQ5eKbIeN0io,54746
163
+ meerk40t/extra/outerworld.py,sha256=7chb0juHgcs0737O8Mn4xUhI4qSg__Dw1dF-yAhC5b4,10260
164
+ meerk40t/extra/param_functions.py,sha256=jYcIy-GM8AtO7qUkxRLGvshBCZPNdB0iUdVxSQut1JA,54775
164
165
  meerk40t/extra/potrace.py,sha256=j232apdw1-7IdAzjOX7E12IFNmb3r3VspQY9-VR1B7M,9501
165
166
  meerk40t/extra/serial_exchange.py,sha256=G7ycP_2fZjSyrfHsMruVOPpYq72scKgg86-8VgWeaC4,4370
166
167
  meerk40t/extra/updater.py,sha256=auqS9vKx59mPWvHbHEAd5FKSFNO-Cs49ZmjK8xBPinw,26681
@@ -174,7 +175,7 @@ meerk40t/fill/patterns.py,sha256=BpvQWEJrqqm9HEsNkBO_-KWd8hUG-EJA0Kse0_LPi58,181
174
175
  meerk40t/grbl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
176
  meerk40t/grbl/control.py,sha256=WiWMOzXOvmIu1EWHHsGYN0o2sg5Pe33svWsfbRjuCPg,2622
176
177
  meerk40t/grbl/controller.py,sha256=0b_m3qvAYX3nPYNIArUT2AEnrUCzj7e-2Gx7RIFZD2o,39374
177
- meerk40t/grbl/device.py,sha256=AkBfmROCcG4aKh1-wNkK-J_wjNeRxSFwGV0sxXhgnsE,38225
178
+ meerk40t/grbl/device.py,sha256=H5HM2OWoRygEYQmPYLn7u-m2BYXBz85cP5-DFjeg1t4,38374
178
179
  meerk40t/grbl/driver.py,sha256=BgRrsCGI6S7TCGCc4p16Vf9_2omLHxijkYuGqhurYuA,32818
179
180
  meerk40t/grbl/emulator.py,sha256=_rn0v5m0ZXHpXtLYKnr8OOYYc1juo3RUkF8ut1ZaQ38,21778
180
181
  meerk40t/grbl/gcodejob.py,sha256=YZRlhA6_W6rVEyBHUUiQTLK6SWQfKkXeDqmWgElegjA,29238
@@ -187,7 +188,7 @@ meerk40t/grbl/tcp_connection.py,sha256=Wlr2CXGBCiedfEuxArgLqPLpO9ybaYzk-WEqt93nA
187
188
  meerk40t/grbl/ws_connection.py,sha256=Vr2EqJvtgrEHPIJPpb5-FO7gOz1H5o6Qto5T0se_iz8,4028
188
189
  meerk40t/grbl/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
190
  meerk40t/grbl/gui/grblconfiguration.py,sha256=yJdIHpgk6A5dKrawwZ_ODK8hD1satHCUPPxMJFQVtVA,14229
190
- meerk40t/grbl/gui/grblcontroller.py,sha256=D68cIbhfbIR5hMG1dO4W8ow0s7QWTx8tjpCL2rCA4ko,17855
191
+ meerk40t/grbl/gui/grblcontroller.py,sha256=Br97sXoe59cTFy41KuCoWRmsumgHg2UnDYLwlFiAUdg,17828
191
192
  meerk40t/grbl/gui/grblhardwareconfig.py,sha256=jSOh-nGBw6GTKvTlE6DUe_KTXJxmGV2vrGgbg6eTAxI,9113
192
193
  meerk40t/grbl/gui/grbloperationconfig.py,sha256=EZEI_94-4XE6Gn2v41VR5PnhVUrtpzBs9Mq_uoplb0A,3564
193
194
  meerk40t/grbl/gui/gui.py,sha256=V_KNcHWJY-bpbL8m85lzChf0GMtdl-S6J51Q1_xv00c,5227
@@ -197,9 +198,9 @@ meerk40t/gui/alignment.py,sha256=GJQ97shmetTFUB3IuHulM3zkxeH0PhVetjGBq3U2nQ0,631
197
198
  meerk40t/gui/autoexec.py,sha256=aia8pGVuLd7W0IROzzXG5Vz2vUFiBBJnpX61anO7PMQ,7778
198
199
  meerk40t/gui/basicops.py,sha256=aZ2lv5kSkcBb-IuE_YTwAXg1SONCaUZKuvOwhA-MmIw,30668
199
200
  meerk40t/gui/bufferview.py,sha256=ElNTCSwQAvYwGGFx5cB9A-qJhQq3MZeUoB4LFUy_o2A,2533
200
- meerk40t/gui/busy.py,sha256=0ozFkawO7vNt0HfA0T08CNLjyfFT2nTgonVkxAb0Cuw,5619
201
- meerk40t/gui/choicepropertypanel.py,sha256=p0af0UeOKvjHXPlVb8HJ8bxZfseBdM8hIhiWKB-Uuq0,75389
202
- meerk40t/gui/consolepanel.py,sha256=S5DbLWxs5RPcIl8qlx7MMRRrk4AqsM6ZZjFRUEhPymc,25202
201
+ meerk40t/gui/busy.py,sha256=vATESaX__5oJtOt74kbdisXhYyJO53hGbY-YZGdla90,7550
202
+ meerk40t/gui/choicepropertypanel.py,sha256=rHWV8pgGlkbmLGDKaWBYtrtb1HDa7xqxExk16OvaekE,71638
203
+ meerk40t/gui/consolepanel.py,sha256=TYBFXuaE13upodO0xFS889p7tblqiKxkMdqA7HHRntE,25175
203
204
  meerk40t/gui/devicepanel.py,sha256=cTIXncgGzzYNNTl-0EhphDVmAkyjI9ZDzNhZzmfPoLA,25464
204
205
  meerk40t/gui/dialogoptions.py,sha256=yCZ2fQFSVjSLUKXlL8eeNgSTiYa0ed2bYloW_J6_EXs,3863
205
206
  meerk40t/gui/executejob.py,sha256=JwIHG0dyrRESsQMbDcATb4Y9DNrBe7zIhDKJ5zmnwig,12095
@@ -208,15 +209,15 @@ meerk40t/gui/functionwrapper.py,sha256=poKwKGRvsFdRlhBJqtH6qslxC4BL_Kdhy5trVeZIU
208
209
  meerk40t/gui/gui_mixins.py,sha256=Hx3oSiwkaMDQrpPOzRwcCDXnpM62jgYn8EYKNfeu4ow,29502
209
210
  meerk40t/gui/guicolors.py,sha256=PJNxRV8Tg4CRM65PQx5tR1iw5zDr1xanjYIUahLmp9o,5574
210
211
  meerk40t/gui/helper.py,sha256=Y2I9Jbf5BN7sZfysknM5ZTcmumN2q0xsQvkKsvEq8LU,5333
211
- meerk40t/gui/hersheymanager.py,sha256=bN_DZzRBi6Dd98JwDHScvjmnkD2saC6yfrfrED-7T3g,53108
212
+ meerk40t/gui/hersheymanager.py,sha256=pSl0sV96_WTK5zWUFC7p5RX5yexNEVv1DAs6bLN0a0E,53453
212
213
  meerk40t/gui/icons.py,sha256=Jv1i2xu0WGWkgMpm8vH5lWfL8SOqBS4bXNaxVhXv9bI,329773
213
214
  meerk40t/gui/imagesplitter.py,sha256=-2ZaFoohJ_mYrZ0Ng89q1aNYonMtwBOvmuxzKn3HEJw,20403
214
215
  meerk40t/gui/keymap.py,sha256=Hkg1AqBZVrRCoXvZ_pl2qDRBGIwXdLv4FoOdFvCZySY,11850
215
- meerk40t/gui/laserpanel.py,sha256=CGU6a8N8-nZue9iXq-r_b6Dw5kVD-QwDGZbWfY25Iy0,35580
216
+ meerk40t/gui/laserpanel.py,sha256=Qgz_0vf9C8bgJM87Hqqbd7Tm-K2JX5dw_teYRJupDZU,35887
216
217
  meerk40t/gui/laserrender.py,sha256=JGGSRsNXr3l_DLEtqcC00Np-K5z6DhUxyWcjzbW0LLE,53347
217
218
  meerk40t/gui/lasertoolpanel.py,sha256=Toaw06E819yRMDoJJV13cA2-i0B8ky74_wg4_liiX0M,31255
218
219
  meerk40t/gui/magnetoptions.py,sha256=oP4kDiU0fiD_h6iX7_c0ZN581N5IIUAntE_BycTF0bY,19011
219
- meerk40t/gui/materialmanager.py,sha256=kGJOrTgrl_01gFXCV5edZm4qNNhgE2tO6991tVXkVw4,115931
220
+ meerk40t/gui/materialmanager.py,sha256=gqXyZ0vPDPw5ZjKQTwTIPFT4-GG8ddYCMmUqgWlVC7k,117204
220
221
  meerk40t/gui/materialtest.py,sha256=H4-vY7QZKfpIRSgsUHonXNkHAy0Sh-bV0iR8U7H1jsI,71293
221
222
  meerk40t/gui/mkdebug.py,sha256=FbUgFB83-WltuKMKfh1sRc6Y8F1E8dsdgV0XrxXbh1s,22140
222
223
  meerk40t/gui/mwindow.py,sha256=F9a3g1cIC_8Wrv_qlBtSFBa99yrE7pKMemm-HZ7WvIU,6102
@@ -224,24 +225,24 @@ meerk40t/gui/navigationpanels.py,sha256=L2YtFD7lCTDQkH_nhftPpn4dYRwZDWrEqo-1tuJl
224
225
  meerk40t/gui/notes.py,sha256=UNuXa0V0qj7tYvWbTnFr_plkRziRANhgqJXDIx89OUY,4573
225
226
  meerk40t/gui/opassignment.py,sha256=b6UCXZboOVsnmymTrZ1ycn7sryF98EwrIhXizpyIWFQ,14584
226
227
  meerk40t/gui/operation_info.py,sha256=Y5zyMOHPRQdT06gQ7WUeLSJgoCJsp5D5mhlufb_VxvQ,11129
227
- meerk40t/gui/plugin.py,sha256=i-suPlKn1dRsj7vR8tHR7HRRiRGmbIO8WlBRcvfgwb0,19246
228
+ meerk40t/gui/plugin.py,sha256=6PUx5GPEgOojwofMrHovx74TJYh9cqqd27btnVD000Y,19579
228
229
  meerk40t/gui/position.py,sha256=9wvNKuJrM5c-5l-4R7B2ZFXJtc7Q0KLlyST70ZuFdjI,27387
229
230
  meerk40t/gui/preferences.py,sha256=mD-bYAW3gLkDv9z_r8UjxfNVI6FhRr9XwiVpilelBIU,30840
230
- meerk40t/gui/ribbon.py,sha256=2GHkz359WRZ2jzK9IFl0UP_pG56jyWmHnGbfUM7mLog,90044
231
- meerk40t/gui/simpleui.py,sha256=cjph_9pnuDbVscRgT45ocsmd3aqqim_1EMydNy7HUJ8,12398
232
- meerk40t/gui/simulation.py,sha256=9laJ_iq-5ia8xNdueJp7vhooRMn_bHtsFvYblrJNpjo,95942
231
+ meerk40t/gui/ribbon.py,sha256=5iZMPvjKQpRoa9TIz1vPHpt6S-WIP-8AJPO9lS7IfzI,90205
232
+ meerk40t/gui/simpleui.py,sha256=XmpyAv0vR6bJ0i7lxBquBWlBiR0IDBEuANP4s7Qhdx8,12761
233
+ meerk40t/gui/simulation.py,sha256=ecyBUo8E_MnxNaFxVLxT9iTYGbCDezLtnmdC5s7ONNU,96631
233
234
  meerk40t/gui/snapoptions.py,sha256=Vd1PbMWyWSCXeRIOqc12ksx_lUZyNZzV-g9uJ23LcsA,8404
234
- meerk40t/gui/spoolerpanel.py,sha256=2OHb-XqVWDD29uyJFanwGmbG0wC8PBSaJuaZ0GdfXvY,46333
235
+ meerk40t/gui/spoolerpanel.py,sha256=5KdtjhUAkIJTrqOZayYOAA_rcPJYvOY0Ruv06iW1okc,46311
235
236
  meerk40t/gui/themes.py,sha256=xbapmVh-4RQIZexWeo7i2a8_KAjstQH5c3FavInceAE,7897
236
- meerk40t/gui/tips.py,sha256=_XBmwyQXhXQ-h4bhRLSweexFjVSlqlSwY3JTs0nbF_I,21876
237
+ meerk40t/gui/tips.py,sha256=ZxruzPwh4bw1r41ZXD2hhln9OKtyD0u3AVXim2lPJsw,21817
237
238
  meerk40t/gui/usbconnect.py,sha256=1kznvNlXlT14NCev1PngYFmvmTKXLGxoti94FuoWF28,3018
238
239
  meerk40t/gui/wordlisteditor.py,sha256=PHuz9wEkyGtK2IuoRTZvI1xHJ_rC6p6kEmUnLFQZlxI,36955
239
- meerk40t/gui/wxmeerk40t.py,sha256=Cqmd08p7Zcev5J4O6jr3rpLe-K7M7h6hMA-oZsKmCWs,53180
240
- meerk40t/gui/wxmmain.py,sha256=8793_KI5ZGrrWsgskuUh-jUwJLvyjfNtMr0W3oiiRa8,208213
240
+ meerk40t/gui/wxmeerk40t.py,sha256=E4c9CRMQFQv0qs8eu9R4SYT5Ed4ZSoWYV_m14DfuyBE,53499
241
+ meerk40t/gui/wxmmain.py,sha256=k9x0mDt35jmY4g08y4GFjS6o9XYzkDP24UShN_jAoNk,210823
241
242
  meerk40t/gui/wxmribbon.py,sha256=0ZVITcsBkX_18fHF7xEXqYRiK_daBVCS51fdyEiweBg,60081
242
- meerk40t/gui/wxmscene.py,sha256=_ky4ZEXDEOniXmMqdTvCx2soa_XHm1He5vewgbOhwpg,65046
243
- meerk40t/gui/wxmtree.py,sha256=jOHwXmTAgfXz80TLW7rKxKYvVYwJ9YR1KPI0-9EMZ7o,93151
244
- meerk40t/gui/wxutils.py,sha256=ingHxdcDs1sg5lBaFceA2peKswEGeDYZEjXsuQOiTQg,59116
243
+ meerk40t/gui/wxmscene.py,sha256=OzxJu3fpk0KxzeRydZPqQyvrjkVcI1TFDI1Cp5Sto7o,64949
244
+ meerk40t/gui/wxmtree.py,sha256=k8jrvLc1JjqweCyeZP0uenZixy4h_9OpCM860HS-hwU,93421
245
+ meerk40t/gui/wxutils.py,sha256=_3K62AS7oBsfqlezhZ5t-O_Vu99RQpJazTwVaDBamdA,59121
245
246
  meerk40t/gui/zmatrix.py,sha256=kNK4RQ9F9AFW32Gow4u2ZjLdmQXMPBhhv9DEhMU7utI,2705
246
247
  meerk40t/gui/help_assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
247
248
  meerk40t/gui/help_assets/help_assets.py,sha256=th46QCiVRYQSOsRuu-aYUqeYlYoceJo4iSH2GxDIiaw,14851
@@ -255,7 +256,7 @@ meerk40t/gui/propertypanels/hatchproperty.py,sha256=lle-lmPg-PuTy53z57EhJl2ufZH7
255
256
  meerk40t/gui/propertypanels/imageproperty.py,sha256=L3jCLpfXIFQC7GESIdAC3VB8-Y27iZ-qsg4mtukUfUQ,88008
256
257
  meerk40t/gui/propertypanels/inputproperty.py,sha256=Im97uXrn_YDsUtqULCWr3ieMbGPB5t9CGS8Z5Z3puOw,1775
257
258
  meerk40t/gui/propertypanels/opbranchproperties.py,sha256=JCaDpkEvZM-uRH4nmiorcWXVZjnrhAaXxTJrk0UtWsU,2630
258
- meerk40t/gui/propertypanels/operationpropertymain.py,sha256=yKhhi_PFdlbwBYSnzJO4pgDjQcdmAej6ObwAHgQVxJQ,72550
259
+ meerk40t/gui/propertypanels/operationpropertymain.py,sha256=u8Oono8vdLSn8Wvp4CCUh1UPJBQe5Ctf_vWb4ALVrVc,72552
259
260
  meerk40t/gui/propertypanels/outputproperty.py,sha256=XpH1bDgjJO-zRXA1K88viW3TtFtWVx3ucrms5Uyb-mo,1783
260
261
  meerk40t/gui/propertypanels/pathproperty.py,sha256=MHs8xdkQ7pjBSX59Ua1RWlJOMwjo0IedRuCNh3ZbcVU,13862
261
262
  meerk40t/gui/propertypanels/placementproperty.py,sha256=m6a8AhF28CuyE2P0ARrkL4xAbzXhbRzYzebm4byR3Bg,43512
@@ -272,7 +273,7 @@ meerk40t/gui/scene/scene.py,sha256=xpJf4KOEEDc7W5U054tu0N69FcAGiGUAmNI_vcv9kc4,4
272
273
  meerk40t/gui/scene/sceneconst.py,sha256=TTU4LctBWQ4K7-jsZ01iyXqDkOYnxw0AQHg6F4H4LmM,653
273
274
  meerk40t/gui/scene/scenepanel.py,sha256=7RIXiVd57GHs8fguAM3H9dInwkJoJ-g5LLa0eFzxb1g,15972
274
275
  meerk40t/gui/scene/scenespacewidget.py,sha256=y_2yhBqEaVPnKgul5pBEVRFZs_-BKLG0Ign3sje6_nw,12856
275
- meerk40t/gui/scene/widget.py,sha256=UBvwWf88FU8GJnG5ZwYosHJi4zzhUcSgsWblyON0ofQ,16242
276
+ meerk40t/gui/scene/widget.py,sha256=tQ7OkJjItdq__kD9062e2iryKrhkajMiBNYdYU7Lm-A,16240
276
277
  meerk40t/gui/scenewidgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
277
278
  meerk40t/gui/scenewidgets/affinemover.py,sha256=-JoY7Sm66o2rOa455XUoFJ_uKTbIRlWfT5L4dzQKG48,7792
278
279
  meerk40t/gui/scenewidgets/attractionwidget.py,sha256=_oze9nh_BZO0dCsGgUXk6VDltBfH4XG8ONucihusklY,11664
@@ -283,10 +284,10 @@ meerk40t/gui/scenewidgets/guidewidget.py,sha256=6mwapCfA76PyXgFvZ61e_za7wZyIpEa0
283
284
  meerk40t/gui/scenewidgets/laserpathwidget.py,sha256=-f6NXsLydCPje7kPgSQM0l544pydjETD5vZUHtY1G-M,2056
284
285
  meerk40t/gui/scenewidgets/machineoriginwidget.py,sha256=hOFBBF_NBM6ymDnDjdZT_qd25F60DcIb5QglGpHkUIU,3228
285
286
  meerk40t/gui/scenewidgets/nodeselector.py,sha256=5ocEAZRDnMuo5_k2exEy6uH9ryzRV3Ry3GeLpCObJWo,803
286
- meerk40t/gui/scenewidgets/rectselectwidget.py,sha256=_3u7KFPJ0r7lwHs-vOkNWf1GRRLO4FmO0NuC09n44Gk,23858
287
+ meerk40t/gui/scenewidgets/rectselectwidget.py,sha256=RDmlj7jlAOcZHWNqD6U1EcqMUgAqx9FozATotkQ4UXw,24044
287
288
  meerk40t/gui/scenewidgets/relocatewidget.py,sha256=SK6KJ189732zVYU_iLqMVzJaVEacTTchpzmUKdyyyDI,1160
288
289
  meerk40t/gui/scenewidgets/reticlewidget.py,sha256=6BCdxl02bcD-rPHc2V0_TysEyRVvuI4GOgUXlbWYjAY,2846
289
- meerk40t/gui/scenewidgets/selectionwidget.py,sha256=RyGbVVLFt8COvjcsZobQLsubl0nU9N2s3I8T_sHGD7M,111873
290
+ meerk40t/gui/scenewidgets/selectionwidget.py,sha256=V-JdfIJMZzhvqeSZ4RgT9U7C7HufoWKJ-yP1OLdcODA,112194
290
291
  meerk40t/gui/statusbarwidgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
291
292
  meerk40t/gui/statusbarwidgets/defaultoperations.py,sha256=5SpaQK_30j1foHdI0glywwWzjSQX4-XfNv9NvkCArbI,18216
292
293
  meerk40t/gui/statusbarwidgets/infowidget.py,sha256=HoeoosZ7EhrrRIMCla8ORRGtwhwAE3v-p_vv-lOZS2o,18669
@@ -306,7 +307,7 @@ meerk40t/gui/toolwidgets/toolimagecut.py,sha256=XwKtqxgBfLB8ghd_zc8g-jLZRqrMsYeK
306
307
  meerk40t/gui/toolwidgets/toolline.py,sha256=_bcO8vbYJRGetZhGQYWvEh8DTnSGu5OBrGuhzTj-u2I,1241
307
308
  meerk40t/gui/toolwidgets/toollinetext.py,sha256=wy6ih20C_0OzxJVeIoPe9mQOT7tiK6cNUDsIo9CXhXM,2693
308
309
  meerk40t/gui/toolwidgets/toollinetext_inline.py,sha256=WrNk0qFMeeKbYqh7IxqTKoKmBzGUEXqM0J3eZfmI1w4,12030
309
- meerk40t/gui/toolwidgets/toolmeasure.py,sha256=UwaCNugWkl3gDJhq5nNdvycHRBc3YjMfyAVgDs7HhG0,4981
310
+ meerk40t/gui/toolwidgets/toolmeasure.py,sha256=CI7McmCxnXfvuIFHvlI0PuHjBg587Ct8D_lhc3AmaEs,5161
310
311
  meerk40t/gui/toolwidgets/toolnodeedit.py,sha256=9NGKK2XutUMtMT2LvmsN9WlzrJn50oe49uH7fuL8KYM,87135
311
312
  meerk40t/gui/toolwidgets/toolnodemove.py,sha256=uerIEcaLeH1qmyMuau5X6Chd2sGWCD3mQNuArR35oGM,3428
312
313
  meerk40t/gui/toolwidgets/toolparameter.py,sha256=9eGDu1C6JaifTxQ9W_78U1HCyIb0z_1M8if5m0zc-uk,28140
@@ -339,14 +340,14 @@ meerk40t/gui/utilitywidgets/togglewidget.py,sha256=HNufPGtfMW2DhB5_wWTu20HyBAl2M
339
340
  meerk40t/gui/utilitywidgets/toolbarwidget.py,sha256=_VgRuodWc9nMQWtXPhXRBKAhNXXUMXfBKLOk0ic0lPE,336
340
341
  meerk40t/image/__init__.py,sha256=05CSDqB426hArsjecd3y_xPlT2hQ2MiVvPS5IYsNJTo,15
341
342
  meerk40t/image/dither.py,sha256=MkyNCjxyouN8UeUyMa_wIoGtbUljGM1eapTr3-OIFfM,12163
342
- meerk40t/image/imagetools.py,sha256=crZc0yDbF-MTbHYSzrZzhX9FMXMqtDNyxmfyxjk4oyg,99078
343
+ meerk40t/image/imagetools.py,sha256=LHcOWPefbB-lPpZ7qYjqsQz85S_GHVTGQwMRV5UsMlU,99347
343
344
  meerk40t/kernel/__init__.py,sha256=8FYAlpWXrPr60w81H8j8SgZGnb7uMFnfYzQvpUBcwzc,1630
344
345
  meerk40t/kernel/channel.py,sha256=WmkBO-bisdYUn0h1PFLB37KTrvubh2l-C7wHTFTQBpA,7845
345
346
  meerk40t/kernel/context.py,sha256=flOfrOtY0Hrg0sExJLHpTwOjDynJdqZUkx1MMRv7lg8,17426
346
347
  meerk40t/kernel/exceptions.py,sha256=fgnh5cWGjLsiWnuotQW-BuwX6jydPaNF8BvyjWUW1AA,1146
347
348
  meerk40t/kernel/functions.py,sha256=3u-MAYWtq8LXBskJDE_ujLDqfjg8zHDoOwe6OCFbBG0,16248
348
349
  meerk40t/kernel/jobs.py,sha256=9QNec0aWm2BkwR1g_4D-iijFYPDsmicGr7rC-rG91zk,2715
349
- meerk40t/kernel/kernel.py,sha256=UmwIOpqovK_ks8HIVwbc-KcrJ45Ld4bYLrYYU5J9EDo,140581
350
+ meerk40t/kernel/kernel.py,sha256=-Mk0VUebj0j4NQ0u8tyPWeKlU0Ycrxmnn2wyuqhf6rY,141298
350
351
  meerk40t/kernel/lifecycles.py,sha256=GK_l3Werg1MnnsxJj6BNVG_lc8_tPo1Lzwr-lBRN0JI,2192
351
352
  meerk40t/kernel/module.py,sha256=QFKzNQNgUgediAAT-DTFLslOKBgs0EDr0oETaEh4O4w,1892
352
353
  meerk40t/kernel/service.py,sha256=pTAw51TitJO3JoiGqsn-T_1kACza9Tz6ArBjT5kulQM,5065
@@ -380,11 +381,11 @@ meerk40t/moshi/gui/gui.py,sha256=EemyK-NnjK6j-d2R-YjifpKDPZEOUOhbjhNjPPje2Ts,263
380
381
  meerk40t/moshi/gui/moshicontrollergui.py,sha256=yikndWT1dpL-R5ragzZ1BEsCVwraMp5ohnPiLLaTkqw,22482
381
382
  meerk40t/moshi/gui/moshidrivergui.py,sha256=qKH99bvUmzbdfV-pAXixIfZx5httOS9-EHuFFl2sb7M,3090
382
383
  meerk40t/network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
383
- meerk40t/network/console_server.py,sha256=vWOCo3ir72nM9kE9qPrtwFcpJ2vu-0uIPbosNzUBnVU,3634
384
+ meerk40t/network/console_server.py,sha256=7U65L3_6DNPDcO42yjgjhIFgu9Q1wBZBPt2wn-8aj7s,5310
384
385
  meerk40t/network/kernelserver.py,sha256=MLZxah6-NMLPX7a8mH3EZPJaWO9H7XBdM8uWYjUfqeM,368
385
386
  meerk40t/network/tcp_server.py,sha256=HZN-kuRr1eQrBTjQhGvCK3bcK7MCpe-SvrsJiXGpD2U,5080
386
387
  meerk40t/network/udp_server.py,sha256=CDJ8Rl6xgKtm4UqNsLhfJNbNDb0ILVZUXQxNyPLMRuw,3447
387
- meerk40t/network/web_server.py,sha256=CxZ0QB4clxs05ETAzzluvM4mCVMpsWO9CcimQaLvS8U,16024
388
+ meerk40t/network/web_server.py,sha256=Dffaq3k5IPGeR2IW53Z3t8I2ELEj-BUVm1Aumtv3z8w,16453
388
389
  meerk40t/newly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
389
390
  meerk40t/newly/controller.py,sha256=_oQB-DdBIQZGjZELuJKWkulKfG0npYgYo-i4tuhFq0Q,35818
390
391
  meerk40t/newly/device.py,sha256=oCeakbJLi0ZrPvXPNKL5nCdAyxe2B4LzGwF3pXviM6A,31017
@@ -406,7 +407,7 @@ meerk40t/rotary/gui/rotarysettings.py,sha256=p_SPkMFuNhPcH9x7Q3To9Y0S8ZZ1eBWHql-
406
407
  meerk40t/ruida/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
407
408
  meerk40t/ruida/control.py,sha256=ir9uddn_hZ-QjPxGWBKLc6xy1JtqXVBE904lLR63dUA,10409
408
409
  meerk40t/ruida/controller.py,sha256=RIdFegB_tuaI1q2Asl3pXNTERMVvl8ltYL9kQNy4mTU,3460
409
- meerk40t/ruida/device.py,sha256=-gHInBiutgcz2uwAhIRiQ9UjQoIivEFnirwI3joYZgY,22986
410
+ meerk40t/ruida/device.py,sha256=8QuD0D35tVxXseZbFbV0N5A0epRKYseGstJwahDGDog,23136
410
411
  meerk40t/ruida/driver.py,sha256=4Hgm5ptXjARThqf76k1AqznpHl7PgJ7FIZwswnFlKPg,17340
411
412
  meerk40t/ruida/emulator.py,sha256=nr3Qisv7Ix4-HWK4DpReeXw004LAEF2AzciU0mjV6g0,55390
412
413
  meerk40t/ruida/exceptions.py,sha256=xJtpaxuLOLANQuo15p6Fl0Lgq3eUwODCIsWw0TQm78s,116
@@ -431,15 +432,15 @@ meerk40t/tools/livinghinges.py,sha256=oO9ERPh2ILXpJj3-DvYyA3P7Y6FR2ACf3dbBehJlgR
431
432
  meerk40t/tools/pathtools.py,sha256=J0KAQOJNqoOW-FdQysi-poO6hf-xpxgXiBF9eqLD5Zk,31714
432
433
  meerk40t/tools/pmatrix.py,sha256=lM9IKZ3m3MJYlMf8o6ZskLBWq4SDfmhZOAGfIo5saDI,6415
433
434
  meerk40t/tools/pointfinder.py,sha256=-EwZosM3uA-U3M8vr9ylFHedoLh3LNoEXwx7RR8c1YY,34858
434
- meerk40t/tools/polybool.py,sha256=zjhIcBMCE5C3vdidAzKgaOAskN-DnWlT6cRIbuvtIDM,27168
435
+ meerk40t/tools/polybool.py,sha256=EE1D-Lg1MeqaXenWx_3FPfw57KXo9TW4ok7AY4_hVUo,27214
435
436
  meerk40t/tools/rasterplotter.py,sha256=faaCE80xbK_LgIlxCrVWQpE8k-PbReh8KwhbZL328aE,67690
436
- meerk40t/tools/shxparser.py,sha256=NPftvcW6IeFqU49SDaC1ZHBWBcYWqq1XHo1XSH7KESE,33426
437
+ meerk40t/tools/shxparser.py,sha256=5CPV4HW5ulH71hWtiIFMFj0-Jn4-OqXRCdaimjOSfOs,35169
437
438
  meerk40t/tools/ttfparser.py,sha256=XKB6Nar1MpQZYx7bZ1HGcw3JJnaHckuvsghJexMcJz4,26471
438
439
  meerk40t/tools/zinglplotter.py,sha256=wsXA9jnORb0AR0Bvrhcow-hROJhgDeLRcE8DmnEbiWo,20164
439
- meerk40t-0.9.7010.dist-info/LICENSE,sha256=sMsd9pY-cLfcNzUkQ2DvZobE0qpiiLMmoPfJMBTznNY,1065
440
- meerk40t-0.9.7010.dist-info/METADATA,sha256=W-8HXx1X0obcivvGdESU3fyowFpZ56_O4p7RhqyssHc,8014
441
- meerk40t-0.9.7010.dist-info/WHEEL,sha256=OpXWERl2xLPRHTvd2ZXo_iluPEQd8uSbYkJ53NAER_Y,109
442
- meerk40t-0.9.7010.dist-info/entry_points.txt,sha256=5KjPHpJvgQq3-SwLWJQtLE1BvfGeINBae3Josx6fgpk,47
443
- meerk40t-0.9.7010.dist-info/top_level.txt,sha256=ng4SDtNom2u-smf8sCHERr74HYQIOJOjZbBlDdlpvjU,9
444
- meerk40t-0.9.7010.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
445
- meerk40t-0.9.7010.dist-info/RECORD,,
440
+ meerk40t-0.9.7020.dist-info/LICENSE,sha256=sMsd9pY-cLfcNzUkQ2DvZobE0qpiiLMmoPfJMBTznNY,1065
441
+ meerk40t-0.9.7020.dist-info/METADATA,sha256=BBRFcTuyI7eN-j7u0zTAOWs6Al_2E51ybZfbRhJ1ALE,8014
442
+ meerk40t-0.9.7020.dist-info/WHEEL,sha256=OpXWERl2xLPRHTvd2ZXo_iluPEQd8uSbYkJ53NAER_Y,109
443
+ meerk40t-0.9.7020.dist-info/entry_points.txt,sha256=5KjPHpJvgQq3-SwLWJQtLE1BvfGeINBae3Josx6fgpk,47
444
+ meerk40t-0.9.7020.dist-info/top_level.txt,sha256=ng4SDtNom2u-smf8sCHERr74HYQIOJOjZbBlDdlpvjU,9
445
+ meerk40t-0.9.7020.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
446
+ meerk40t-0.9.7020.dist-info/RECORD,,