STLExtract 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1967) hide show
  1. data/.gitignore +14 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +66 -0
  5. data/Rakefile +2 -0
  6. data/STLExtract-0.0.1.gem +0 -0
  7. data/STLExtract.gemspec +23 -0
  8. data/Slic3r/Linux/bin/slic3r +0 -0
  9. data/Slic3r/Linux/dll/libGLU.so +1 -0
  10. data/Slic3r/Linux/dll/libGLU.so.1 +1 -0
  11. data/Slic3r/Linux/dll/libGLU.so.1.3.08004 +0 -0
  12. data/Slic3r/Linux/dll/libperl.so +0 -0
  13. data/Slic3r/Linux/dll/libwx_baseu-2.9.so +1 -0
  14. data/Slic3r/Linux/dll/libwx_baseu-2.9.so.3 +1 -0
  15. data/Slic3r/Linux/dll/libwx_baseu-2.9.so.3.0.0 +0 -0
  16. data/Slic3r/Linux/dll/libwx_baseu_net-2.9.so +1 -0
  17. data/Slic3r/Linux/dll/libwx_baseu_net-2.9.so.3 +1 -0
  18. data/Slic3r/Linux/dll/libwx_baseu_net-2.9.so.3.0.0 +0 -0
  19. data/Slic3r/Linux/dll/libwx_gtk2u_adv-2.9.so +1 -0
  20. data/Slic3r/Linux/dll/libwx_gtk2u_adv-2.9.so.3 +1 -0
  21. data/Slic3r/Linux/dll/libwx_gtk2u_adv-2.9.so.3.0.0 +0 -0
  22. data/Slic3r/Linux/dll/libwx_gtk2u_core-2.9.so +1 -0
  23. data/Slic3r/Linux/dll/libwx_gtk2u_core-2.9.so.3 +1 -0
  24. data/Slic3r/Linux/dll/libwx_gtk2u_core-2.9.so.3.0.0 +0 -0
  25. data/Slic3r/Linux/dll/libwx_gtk2u_gl-2.9.so +1 -0
  26. data/Slic3r/Linux/dll/libwx_gtk2u_gl-2.9.so.3 +1 -0
  27. data/Slic3r/Linux/dll/libwx_gtk2u_gl-2.9.so.3.0.0 +0 -0
  28. data/Slic3r/Linux/dll/libwx_gtk2u_html-2.9.so +1 -0
  29. data/Slic3r/Linux/dll/libwx_gtk2u_html-2.9.so.3 +1 -0
  30. data/Slic3r/Linux/dll/libwx_gtk2u_html-2.9.so.3.0.0 +0 -0
  31. data/Slic3r/Linux/lib/std/Authen/SASL.pm +130 -0
  32. data/Slic3r/Linux/lib/std/Authen/SASL/CRAM_MD5.pm +18 -0
  33. data/Slic3r/Linux/lib/std/Authen/SASL/EXTERNAL.pm +18 -0
  34. data/Slic3r/Linux/lib/std/Authen/SASL/Perl.pm +344 -0
  35. data/Slic3r/Linux/lib/std/Authen/SASL/Perl/ANONYMOUS.pm +93 -0
  36. data/Slic3r/Linux/lib/std/Authen/SASL/Perl/CRAM_MD5.pm +105 -0
  37. data/Slic3r/Linux/lib/std/Authen/SASL/Perl/DIGEST_MD5.pm +877 -0
  38. data/Slic3r/Linux/lib/std/Authen/SASL/Perl/EXTERNAL.pm +97 -0
  39. data/Slic3r/Linux/lib/std/Authen/SASL/Perl/GSSAPI.pm +375 -0
  40. data/Slic3r/Linux/lib/std/Authen/SASL/Perl/LOGIN.pm +216 -0
  41. data/Slic3r/Linux/lib/std/Authen/SASL/Perl/PLAIN.pm +182 -0
  42. data/Slic3r/Linux/lib/std/B.pm +1202 -0
  43. data/Slic3r/Linux/lib/std/B/Deparse.pm +4900 -0
  44. data/Slic3r/Linux/lib/std/CPAN/Config.pm +55 -0
  45. data/Slic3r/Linux/lib/std/Cava/Global.pm +20 -0
  46. data/Slic3r/Linux/lib/std/Cava/Project.pm +19 -0
  47. data/Slic3r/Linux/lib/std/Class/Accessor.pm +744 -0
  48. data/Slic3r/Linux/lib/std/Class/Method/Modifiers.pm +481 -0
  49. data/Slic3r/Linux/lib/std/Class/Struct.pm +636 -0
  50. data/Slic3r/Linux/lib/std/Class/XSAccessor.pm +326 -0
  51. data/Slic3r/Linux/lib/std/Class/XSAccessor/Heavy.pm +76 -0
  52. data/Slic3r/Linux/lib/std/Compress/Raw/Bzip2.pm +361 -0
  53. data/Slic3r/Linux/lib/std/Compress/Raw/Zlib.pm +1429 -0
  54. data/Slic3r/Linux/lib/std/Config.pm +110 -0
  55. data/Slic3r/Linux/lib/std/Config_git.pl +12 -0
  56. data/Slic3r/Linux/lib/std/Config_heavy.pl +1355 -0
  57. data/Slic3r/Linux/lib/std/Crypt/CBC.pm +1050 -0
  58. data/Slic3r/Linux/lib/std/Crypt/SSLeay.pm +457 -0
  59. data/Slic3r/Linux/lib/std/Crypt/SSLeay/CTX.pm +4 -0
  60. data/Slic3r/Linux/lib/std/Crypt/SSLeay/Conn.pm +4 -0
  61. data/Slic3r/Linux/lib/std/Crypt/SSLeay/Err.pm +4 -0
  62. data/Slic3r/Linux/lib/std/Crypt/SSLeay/MainContext.pm +42 -0
  63. data/Slic3r/Linux/lib/std/Crypt/SSLeay/X509.pm +26 -0
  64. data/Slic3r/Linux/lib/std/Cwd.pm +855 -0
  65. data/Slic3r/Linux/lib/std/Data/Dumper.pm +1306 -0
  66. data/Slic3r/Linux/lib/std/Data/UUID.pm +204 -0
  67. data/Slic3r/Linux/lib/std/Devel/GlobalDestruction.pm +110 -0
  68. data/Slic3r/Linux/lib/std/Digest/HMAC.pm +120 -0
  69. data/Slic3r/Linux/lib/std/Digest/HMAC_MD5.pm +71 -0
  70. data/Slic3r/Linux/lib/std/Digest/MD5.pm +376 -0
  71. data/Slic3r/Linux/lib/std/Digest/SHA.pm +701 -0
  72. data/Slic3r/Linux/lib/std/Digest/base.pm +100 -0
  73. data/Slic3r/Linux/lib/std/Encode.pm +977 -0
  74. data/Slic3r/Linux/lib/std/Encode/Alias.pm +384 -0
  75. data/Slic3r/Linux/lib/std/Encode/Byte.pm +120 -0
  76. data/Slic3r/Linux/lib/std/Encode/CJKConstants.pm +66 -0
  77. data/Slic3r/Linux/lib/std/Encode/CN.pm +74 -0
  78. data/Slic3r/Linux/lib/std/Encode/CN/HZ.pm +198 -0
  79. data/Slic3r/Linux/lib/std/Encode/Config.pm +170 -0
  80. data/Slic3r/Linux/lib/std/Encode/EBCDIC.pm +45 -0
  81. data/Slic3r/Linux/lib/std/Encode/Encoder.pm +253 -0
  82. data/Slic3r/Linux/lib/std/Encode/Encoding.pm +360 -0
  83. data/Slic3r/Linux/lib/std/Encode/GSM0338.pm +292 -0
  84. data/Slic3r/Linux/lib/std/Encode/Guess.pm +355 -0
  85. data/Slic3r/Linux/lib/std/Encode/JP.pm +95 -0
  86. data/Slic3r/Linux/lib/std/Encode/JP/H2Z.pm +176 -0
  87. data/Slic3r/Linux/lib/std/Encode/JP/JIS7.pm +165 -0
  88. data/Slic3r/Linux/lib/std/Encode/KR.pm +69 -0
  89. data/Slic3r/Linux/lib/std/Encode/KR/2022_KR.pm +81 -0
  90. data/Slic3r/Linux/lib/std/Encode/Locale.pm +348 -0
  91. data/Slic3r/Linux/lib/std/Encode/MIME/Header.pm +242 -0
  92. data/Slic3r/Linux/lib/std/Encode/MIME/Header/ISO_2022_JP.pm +131 -0
  93. data/Slic3r/Linux/lib/std/Encode/MIME/Name.pm +94 -0
  94. data/Slic3r/Linux/lib/std/Encode/Symbol.pm +44 -0
  95. data/Slic3r/Linux/lib/std/Encode/TW.pm +75 -0
  96. data/Slic3r/Linux/lib/std/Encode/Unicode.pm +270 -0
  97. data/Slic3r/Linux/lib/std/Encode/Unicode/UTF7.pm +130 -0
  98. data/Slic3r/Linux/lib/std/Errno.pm +282 -0
  99. data/Slic3r/Linux/lib/std/Fcntl.pm +186 -0
  100. data/Slic3r/Linux/lib/std/File/Basename.pm +402 -0
  101. data/Slic3r/Linux/lib/std/File/Glob.pm +437 -0
  102. data/Slic3r/Linux/lib/std/File/GlobMapper.pm +679 -0
  103. data/Slic3r/Linux/lib/std/File/Listing.pm +435 -0
  104. data/Slic3r/Linux/lib/std/File/Path.pm +981 -0
  105. data/Slic3r/Linux/lib/std/File/Spec.pm +339 -0
  106. data/Slic3r/Linux/lib/std/File/Spec/Cygwin.pm +160 -0
  107. data/Slic3r/Linux/lib/std/File/Spec/Epoc.pm +79 -0
  108. data/Slic3r/Linux/lib/std/File/Spec/Functions.pm +130 -0
  109. data/Slic3r/Linux/lib/std/File/Spec/Mac.pm +786 -0
  110. data/Slic3r/Linux/lib/std/File/Spec/OS2.pm +276 -0
  111. data/Slic3r/Linux/lib/std/File/Spec/Unix.pm +595 -0
  112. data/Slic3r/Linux/lib/std/File/Spec/VMS.pm +679 -0
  113. data/Slic3r/Linux/lib/std/File/Spec/Win32.pm +446 -0
  114. data/Slic3r/Linux/lib/std/File/Temp.pm +2452 -0
  115. data/Slic3r/Linux/lib/std/File/stat.pm +345 -0
  116. data/Slic3r/Linux/lib/std/FileHandle.pm +262 -0
  117. data/Slic3r/Linux/lib/std/Filter/Util/Call.pm +498 -0
  118. data/Slic3r/Linux/lib/std/FindBin.pm +209 -0
  119. data/Slic3r/Linux/lib/std/Getopt/Long.pm +2693 -0
  120. data/Slic3r/Linux/lib/std/Growl/GNTP.pm +595 -0
  121. data/Slic3r/Linux/lib/std/HTML/Entities.pm +483 -0
  122. data/Slic3r/Linux/lib/std/HTML/HeadParser.pm +310 -0
  123. data/Slic3r/Linux/lib/std/HTML/Parser.pm +1240 -0
  124. data/Slic3r/Linux/lib/std/HTTP/Config.pm +436 -0
  125. data/Slic3r/Linux/lib/std/HTTP/Cookies.pm +781 -0
  126. data/Slic3r/Linux/lib/std/HTTP/Cookies/Netscape.pm +114 -0
  127. data/Slic3r/Linux/lib/std/HTTP/Date.pm +388 -0
  128. data/Slic3r/Linux/lib/std/HTTP/Headers.pm +849 -0
  129. data/Slic3r/Linux/lib/std/HTTP/Headers/Util.pm +199 -0
  130. data/Slic3r/Linux/lib/std/HTTP/Message.pm +1107 -0
  131. data/Slic3r/Linux/lib/std/HTTP/Negotiate.pm +528 -0
  132. data/Slic3r/Linux/lib/std/HTTP/Request.pm +242 -0
  133. data/Slic3r/Linux/lib/std/HTTP/Request/Common.pm +514 -0
  134. data/Slic3r/Linux/lib/std/HTTP/Response.pm +638 -0
  135. data/Slic3r/Linux/lib/std/HTTP/Status.pm +267 -0
  136. data/Slic3r/Linux/lib/std/I18N/Langinfo.pm +191 -0
  137. data/Slic3r/Linux/lib/std/IO.pm +68 -0
  138. data/Slic3r/Linux/lib/std/IO/Compress/Adapter/Bzip2.pm +162 -0
  139. data/Slic3r/Linux/lib/std/IO/Compress/Adapter/Deflate.pm +165 -0
  140. data/Slic3r/Linux/lib/std/IO/Compress/Base.pm +981 -0
  141. data/Slic3r/Linux/lib/std/IO/Compress/Base/Common.pm +956 -0
  142. data/Slic3r/Linux/lib/std/IO/Compress/Bzip2.pm +758 -0
  143. data/Slic3r/Linux/lib/std/IO/Compress/Deflate.pm +930 -0
  144. data/Slic3r/Linux/lib/std/IO/Compress/Gzip.pm +1242 -0
  145. data/Slic3r/Linux/lib/std/IO/Compress/Gzip/Constants.pm +148 -0
  146. data/Slic3r/Linux/lib/std/IO/Compress/RawDeflate.pm +1017 -0
  147. data/Slic3r/Linux/lib/std/IO/Compress/Zlib/Constants.pm +77 -0
  148. data/Slic3r/Linux/lib/std/IO/Compress/Zlib/Extra.pm +198 -0
  149. data/Slic3r/Linux/lib/std/IO/Dir.pm +248 -0
  150. data/Slic3r/Linux/lib/std/IO/File.pm +204 -0
  151. data/Slic3r/Linux/lib/std/IO/Handle.pm +646 -0
  152. data/Slic3r/Linux/lib/std/IO/Pipe.pm +257 -0
  153. data/Slic3r/Linux/lib/std/IO/Seekable.pm +128 -0
  154. data/Slic3r/Linux/lib/std/IO/Select.pm +387 -0
  155. data/Slic3r/Linux/lib/std/IO/Socket.pm +540 -0
  156. data/Slic3r/Linux/lib/std/IO/Socket/INET.pm +464 -0
  157. data/Slic3r/Linux/lib/std/IO/Socket/SSL.pm +2456 -0
  158. data/Slic3r/Linux/lib/std/IO/Socket/UNIX.pm +143 -0
  159. data/Slic3r/Linux/lib/std/IO/Uncompress/Adapter/Bunzip2.pm +112 -0
  160. data/Slic3r/Linux/lib/std/IO/Uncompress/Adapter/Inflate.pm +158 -0
  161. data/Slic3r/Linux/lib/std/IO/Uncompress/Base.pm +1483 -0
  162. data/Slic3r/Linux/lib/std/IO/Uncompress/Bunzip2.pm +858 -0
  163. data/Slic3r/Linux/lib/std/IO/Uncompress/Gunzip.pm +1111 -0
  164. data/Slic3r/Linux/lib/std/IO/Uncompress/Inflate.pm +982 -0
  165. data/Slic3r/Linux/lib/std/IO/Uncompress/RawInflate.pm +1110 -0
  166. data/Slic3r/Linux/lib/std/Import/Into.pm +289 -0
  167. data/Slic3r/Linux/lib/std/LWP.pm +667 -0
  168. data/Slic3r/Linux/lib/std/LWP/Authen/Basic.pm +65 -0
  169. data/Slic3r/Linux/lib/std/LWP/Authen/Digest.pm +68 -0
  170. data/Slic3r/Linux/lib/std/LWP/Authen/Ntlm.pm +180 -0
  171. data/Slic3r/Linux/lib/std/LWP/ConnCache.pm +313 -0
  172. data/Slic3r/Linux/lib/std/LWP/MediaTypes.pm +280 -0
  173. data/Slic3r/Linux/lib/std/LWP/MemberMixin.pm +44 -0
  174. data/Slic3r/Linux/lib/std/LWP/Protocol.pm +291 -0
  175. data/Slic3r/Linux/lib/std/LWP/Protocol/GHTTP.pm +73 -0
  176. data/Slic3r/Linux/lib/std/LWP/Protocol/cpan.pm +72 -0
  177. data/Slic3r/Linux/lib/std/LWP/Protocol/data.pm +52 -0
  178. data/Slic3r/Linux/lib/std/LWP/Protocol/file.pm +146 -0
  179. data/Slic3r/Linux/lib/std/LWP/Protocol/ftp.pm +543 -0
  180. data/Slic3r/Linux/lib/std/LWP/Protocol/gopher.pm +213 -0
  181. data/Slic3r/Linux/lib/std/LWP/Protocol/http.pm +501 -0
  182. data/Slic3r/Linux/lib/std/LWP/Protocol/https.pm +132 -0
  183. data/Slic3r/Linux/lib/std/LWP/Protocol/loopback.pm +26 -0
  184. data/Slic3r/Linux/lib/std/LWP/Protocol/mailto.pm +183 -0
  185. data/Slic3r/Linux/lib/std/LWP/Protocol/nntp.pm +145 -0
  186. data/Slic3r/Linux/lib/std/LWP/Protocol/nogo.pm +24 -0
  187. data/Slic3r/Linux/lib/std/LWP/UserAgent.pm +1859 -0
  188. data/Slic3r/Linux/lib/std/List/Util.pm +433 -0
  189. data/Slic3r/Linux/lib/std/MIME/Base64.pm +188 -0
  190. data/Slic3r/Linux/lib/std/MIME/QuotedPrint.pm +114 -0
  191. data/Slic3r/Linux/lib/std/Mail/Address.pm +273 -0
  192. data/Slic3r/Linux/lib/std/Mail/Header.pm +637 -0
  193. data/Slic3r/Linux/lib/std/Mail/Internet.pm +546 -0
  194. data/Slic3r/Linux/lib/std/Mail/Mailer.pm +215 -0
  195. data/Slic3r/Linux/lib/std/Mail/Util.pm +149 -0
  196. data/Slic3r/Linux/lib/std/Math/BigFloat.pm +4493 -0
  197. data/Slic3r/Linux/lib/std/Math/BigFloat/Trace.pm +58 -0
  198. data/Slic3r/Linux/lib/std/Math/BigInt.pm +5284 -0
  199. data/Slic3r/Linux/lib/std/Math/BigInt/Calc.pm +2970 -0
  200. data/Slic3r/Linux/lib/std/Math/BigInt/CalcEmu.pm +329 -0
  201. data/Slic3r/Linux/lib/std/Math/BigInt/FastCalc.pm +112 -0
  202. data/Slic3r/Linux/lib/std/Math/BigInt/Trace.pm +47 -0
  203. data/Slic3r/Linux/lib/std/Math/Complex.pm +2093 -0
  204. data/Slic3r/Linux/lib/std/Math/Libm.pm +199 -0
  205. data/Slic3r/Linux/lib/std/Math/PlanePath.pm +2211 -0
  206. data/Slic3r/Linux/lib/std/Math/PlanePath/ArchimedeanChords.pm +686 -0
  207. data/Slic3r/Linux/lib/std/Math/PlanePath/Base/Digits.pm +389 -0
  208. data/Slic3r/Linux/lib/std/Math/PlanePath/Base/Generic.pm +242 -0
  209. data/Slic3r/Linux/lib/std/Math/PlanePath/Base/NSEW.pm +114 -0
  210. data/Slic3r/Linux/lib/std/Math/PlanePath/Flowsnake.pm +886 -0
  211. data/Slic3r/Linux/lib/std/Math/PlanePath/FlowsnakeCentres.pm +1018 -0
  212. data/Slic3r/Linux/lib/std/Math/PlanePath/HilbertCurve.pm +772 -0
  213. data/Slic3r/Linux/lib/std/Math/PlanePath/MultipleRings.pm +1715 -0
  214. data/Slic3r/Linux/lib/std/Math/PlanePath/OctagramSpiral.pm +469 -0
  215. data/Slic3r/Linux/lib/std/Math/PlanePath/SacksSpiral.pm +440 -0
  216. data/Slic3r/Linux/lib/std/Math/Trig.pm +768 -0
  217. data/Slic3r/Linux/lib/std/Method/Generate/Accessor.pm +652 -0
  218. data/Slic3r/Linux/lib/std/Method/Generate/BuildAll.pm +33 -0
  219. data/Slic3r/Linux/lib/std/Method/Generate/Constructor.pm +221 -0
  220. data/Slic3r/Linux/lib/std/Method/Generate/DemolishAll.pm +48 -0
  221. data/Slic3r/Linux/lib/std/Module/Runtime.pm +494 -0
  222. data/Slic3r/Linux/lib/std/Moo.pm +989 -0
  223. data/Slic3r/Linux/lib/std/Moo/HandleMoose.pm +210 -0
  224. data/Slic3r/Linux/lib/std/Moo/HandleMoose/FakeMetaClass.pm +21 -0
  225. data/Slic3r/Linux/lib/std/Moo/HandleMoose/_TypeMap.pm +72 -0
  226. data/Slic3r/Linux/lib/std/Moo/Object.pm +80 -0
  227. data/Slic3r/Linux/lib/std/Moo/Role.pm +475 -0
  228. data/Slic3r/Linux/lib/std/Moo/_Utils.pm +124 -0
  229. data/Slic3r/Linux/lib/std/Moo/_mro.pm +10 -0
  230. data/Slic3r/Linux/lib/std/Moo/sification.pm +22 -0
  231. data/Slic3r/Linux/lib/std/Mozilla/CA.pm +99 -0
  232. data/Slic3r/Linux/lib/std/Mozilla/CA/cacert.pem +3366 -0
  233. data/Slic3r/Linux/lib/std/Net/Cmd.pm +783 -0
  234. data/Slic3r/Linux/lib/std/Net/Config.pm +312 -0
  235. data/Slic3r/Linux/lib/std/Net/Domain.pm +347 -0
  236. data/Slic3r/Linux/lib/std/Net/FTP.pm +1829 -0
  237. data/Slic3r/Linux/lib/std/Net/FTP/A.pm +111 -0
  238. data/Slic3r/Linux/lib/std/Net/FTP/E.pm +8 -0
  239. data/Slic3r/Linux/lib/std/Net/FTP/I.pm +80 -0
  240. data/Slic3r/Linux/lib/std/Net/FTP/L.pm +8 -0
  241. data/Slic3r/Linux/lib/std/Net/FTP/dataconn.pm +124 -0
  242. data/Slic3r/Linux/lib/std/Net/HTTP.pm +279 -0
  243. data/Slic3r/Linux/lib/std/Net/HTTP/Methods.pm +593 -0
  244. data/Slic3r/Linux/lib/std/Net/HTTPS.pm +110 -0
  245. data/Slic3r/Linux/lib/std/Net/NNTP.pm +1140 -0
  246. data/Slic3r/Linux/lib/std/Net/Netrc.pm +325 -0
  247. data/Slic3r/Linux/lib/std/Net/SMTP.pm +867 -0
  248. data/Slic3r/Linux/lib/std/Net/SSL.pm +639 -0
  249. data/Slic3r/Linux/lib/std/Net/SSLeay.pm +2692 -0
  250. data/Slic3r/Linux/lib/std/OpenGL.pm +6288 -0
  251. data/Slic3r/Linux/lib/std/POSIX.pm +1037 -0
  252. data/Slic3r/Linux/lib/std/Params/Validate/XS.pm +51 -0
  253. data/Slic3r/Linux/lib/std/PerlIO.pm +332 -0
  254. data/Slic3r/Linux/lib/std/PerlIO/encoding.pm +53 -0
  255. data/Slic3r/Linux/lib/std/PerlIO/scalar.pm +41 -0
  256. data/Slic3r/Linux/lib/std/PerlIO/via.pm +243 -0
  257. data/Slic3r/Linux/lib/std/PerlIO/via/QuotedPrint.pm +94 -0
  258. data/Slic3r/Linux/lib/std/Pod/Escapes.pm +721 -0
  259. data/Slic3r/Linux/lib/std/Pod/InputObjects.pm +936 -0
  260. data/Slic3r/Linux/lib/std/Pod/Parser.pm +1829 -0
  261. data/Slic3r/Linux/lib/std/Pod/PlainText.pm +738 -0
  262. data/Slic3r/Linux/lib/std/Pod/Select.pm +746 -0
  263. data/Slic3r/Linux/lib/std/Pod/Simple.pm +1535 -0
  264. data/Slic3r/Linux/lib/std/Pod/Simple/BlackBox.pm +1930 -0
  265. data/Slic3r/Linux/lib/std/Pod/Simple/LinkSection.pm +174 -0
  266. data/Slic3r/Linux/lib/std/Pod/Simple/TiedOutFH.pm +105 -0
  267. data/Slic3r/Linux/lib/std/Pod/Simple/Transcode.pm +35 -0
  268. data/Slic3r/Linux/lib/std/Pod/Text.pm +886 -0
  269. data/Slic3r/Linux/lib/std/Pod/Usage.pm +730 -0
  270. data/Slic3r/Linux/lib/std/Role/Tiny.pm +698 -0
  271. data/Slic3r/Linux/lib/std/SVG.pm +341 -0
  272. data/Slic3r/Linux/lib/std/SVG/DOM.pm +804 -0
  273. data/Slic3r/Linux/lib/std/SVG/Element.pm +1649 -0
  274. data/Slic3r/Linux/lib/std/SVG/Extension.pm +458 -0
  275. data/Slic3r/Linux/lib/std/SVG/XML.pm +185 -0
  276. data/Slic3r/Linux/lib/std/Scalar/Util.pm +325 -0
  277. data/Slic3r/Linux/lib/std/SelectSaver.pm +54 -0
  278. data/Slic3r/Linux/lib/std/Slic3r.pm +180 -0
  279. data/Slic3r/Linux/lib/std/Slic3r/Build.pm +8 -0
  280. data/Slic3r/Linux/lib/std/Slic3r/Config.pm +456 -0
  281. data/Slic3r/Linux/lib/std/Slic3r/ExPolygon.pm +53 -0
  282. data/Slic3r/Linux/lib/std/Slic3r/Extruder.pm +52 -0
  283. data/Slic3r/Linux/lib/std/Slic3r/ExtrusionLoop.pm +12 -0
  284. data/Slic3r/Linux/lib/std/Slic3r/ExtrusionPath.pm +12 -0
  285. data/Slic3r/Linux/lib/std/Slic3r/ExtrusionPath/Collection.pm +5 -0
  286. data/Slic3r/Linux/lib/std/Slic3r/Fill.pm +259 -0
  287. data/Slic3r/Linux/lib/std/Slic3r/Fill/ArchimedeanChords.pm +7 -0
  288. data/Slic3r/Linux/lib/std/Slic3r/Fill/Base.pm +81 -0
  289. data/Slic3r/Linux/lib/std/Slic3r/Fill/Concentric.pm +65 -0
  290. data/Slic3r/Linux/lib/std/Slic3r/Fill/Flowsnake.pm +18 -0
  291. data/Slic3r/Linux/lib/std/Slic3r/Fill/HilbertCurve.pm +7 -0
  292. data/Slic3r/Linux/lib/std/Slic3r/Fill/Honeycomb.pm +128 -0
  293. data/Slic3r/Linux/lib/std/Slic3r/Fill/Line.pm +8 -0
  294. data/Slic3r/Linux/lib/std/Slic3r/Fill/OctagramSpiral.pm +9 -0
  295. data/Slic3r/Linux/lib/std/Slic3r/Fill/PlanePath.pm +61 -0
  296. data/Slic3r/Linux/lib/std/Slic3r/Fill/Rectilinear.pm +110 -0
  297. data/Slic3r/Linux/lib/std/Slic3r/Flow.pm +12 -0
  298. data/Slic3r/Linux/lib/std/Slic3r/Format/AMF.pm +122 -0
  299. data/Slic3r/Linux/lib/std/Slic3r/Format/AMF/Parser.pm +157 -0
  300. data/Slic3r/Linux/lib/std/Slic3r/Format/OBJ.pm +36 -0
  301. data/Slic3r/Linux/lib/std/Slic3r/Format/STL.pm +39 -0
  302. data/Slic3r/Linux/lib/std/Slic3r/GCode.pm +696 -0
  303. data/Slic3r/Linux/lib/std/Slic3r/GCode/ArcFitting.pm +242 -0
  304. data/Slic3r/Linux/lib/std/Slic3r/GCode/CoolingBuffer.pm +80 -0
  305. data/Slic3r/Linux/lib/std/Slic3r/GCode/Layer.pm +238 -0
  306. data/Slic3r/Linux/lib/std/Slic3r/GCode/MotionPlanner.pm +317 -0
  307. data/Slic3r/Linux/lib/std/Slic3r/GCode/PlaceholderParser.pm +83 -0
  308. data/Slic3r/Linux/lib/std/Slic3r/GCode/Reader.pm +72 -0
  309. data/Slic3r/Linux/lib/std/Slic3r/GCode/SpiralVase.pm +81 -0
  310. data/Slic3r/Linux/lib/std/Slic3r/GCode/VibrationLimit.pm +64 -0
  311. data/Slic3r/Linux/lib/std/Slic3r/GUI.pm +586 -0
  312. data/Slic3r/Linux/lib/std/Slic3r/GUI/AboutDialog.pm +110 -0
  313. data/Slic3r/Linux/lib/std/Slic3r/GUI/ConfigWizard.pm +373 -0
  314. data/Slic3r/Linux/lib/std/Slic3r/GUI/OptionsGroup.pm +504 -0
  315. data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater.pm +1437 -0
  316. data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/ObjectCutDialog.pm +153 -0
  317. data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/ObjectPartsPanel.pm +268 -0
  318. data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/ObjectPreviewDialog.pm +30 -0
  319. data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/ObjectSettingsDialog.pm +175 -0
  320. data/Slic3r/Linux/lib/std/Slic3r/GUI/Plater/OverrideSettingsPanel.pm +137 -0
  321. data/Slic3r/Linux/lib/std/Slic3r/GUI/Preferences.pm +78 -0
  322. data/Slic3r/Linux/lib/std/Slic3r/GUI/PreviewCanvas.pm +506 -0
  323. data/Slic3r/Linux/lib/std/Slic3r/GUI/SimpleTab.pm +230 -0
  324. data/Slic3r/Linux/lib/std/Slic3r/GUI/SkeinPanel.pm +550 -0
  325. data/Slic3r/Linux/lib/std/Slic3r/GUI/Tab.pm +944 -0
  326. data/Slic3r/Linux/lib/std/Slic3r/Geometry.pm +753 -0
  327. data/Slic3r/Linux/lib/std/Slic3r/Geometry/Clipper.pm +13 -0
  328. data/Slic3r/Linux/lib/std/Slic3r/Layer.pm +76 -0
  329. data/Slic3r/Linux/lib/std/Slic3r/Layer/BridgeDetector.pm +277 -0
  330. data/Slic3r/Linux/lib/std/Slic3r/Layer/Region.pm +545 -0
  331. data/Slic3r/Linux/lib/std/Slic3r/Line.pm +21 -0
  332. data/Slic3r/Linux/lib/std/Slic3r/Model.pm +608 -0
  333. data/Slic3r/Linux/lib/std/Slic3r/Point.pm +10 -0
  334. data/Slic3r/Linux/lib/std/Slic3r/Polygon.pm +95 -0
  335. data/Slic3r/Linux/lib/std/Slic3r/Polyline.pm +40 -0
  336. data/Slic3r/Linux/lib/std/Slic3r/Print.pm +1146 -0
  337. data/Slic3r/Linux/lib/std/Slic3r/Print/Object.pm +1023 -0
  338. data/Slic3r/Linux/lib/std/Slic3r/Print/Region.pm +63 -0
  339. data/Slic3r/Linux/lib/std/Slic3r/Print/Simple.pm +108 -0
  340. data/Slic3r/Linux/lib/std/Slic3r/Print/State.pm +28 -0
  341. data/Slic3r/Linux/lib/std/Slic3r/Print/SupportMaterial.pm +862 -0
  342. data/Slic3r/Linux/lib/std/Slic3r/SVG.pm +142 -0
  343. data/Slic3r/Linux/lib/std/Slic3r/Surface.pm +15 -0
  344. data/Slic3r/Linux/lib/std/Slic3r/Test/SectionCut.pm +170 -0
  345. data/Slic3r/Linux/lib/std/Slic3r/TriangleMesh.pm +22 -0
  346. data/Slic3r/Linux/lib/std/Slic3r/XS.pm +205 -0
  347. data/Slic3r/Linux/lib/std/Socket.pm +804 -0
  348. data/Slic3r/Linux/lib/std/Storable.pm +1227 -0
  349. data/Slic3r/Linux/lib/std/Sub/Defer.pm +141 -0
  350. data/Slic3r/Linux/lib/std/Sub/Exporter/Progressive.pm +158 -0
  351. data/Slic3r/Linux/lib/std/Sub/Quote.pm +368 -0
  352. data/Slic3r/Linux/lib/std/Symbol.pm +170 -0
  353. data/Slic3r/Linux/lib/std/Term/Cap.pm +799 -0
  354. data/Slic3r/Linux/lib/std/Text/ParseWords.pm +294 -0
  355. data/Slic3r/Linux/lib/std/Thread/Queue.pm +476 -0
  356. data/Slic3r/Linux/lib/std/Tie/Handle.pm +201 -0
  357. data/Slic3r/Linux/lib/std/Tie/Hash.pm +268 -0
  358. data/Slic3r/Linux/lib/std/Tie/Hash/NamedCapture.pm +49 -0
  359. data/Slic3r/Linux/lib/std/Tie/StdHandle.pm +71 -0
  360. data/Slic3r/Linux/lib/std/Time/HiRes.pm +591 -0
  361. data/Slic3r/Linux/lib/std/Time/Local.pm +384 -0
  362. data/Slic3r/Linux/lib/std/Time/Zone.pm +291 -0
  363. data/Slic3r/Linux/lib/std/UNIVERSAL.pm +214 -0
  364. data/Slic3r/Linux/lib/std/URI.pm +1131 -0
  365. data/Slic3r/Linux/lib/std/URI/Escape.pm +208 -0
  366. data/Slic3r/Linux/lib/std/URI/Heuristic.pm +253 -0
  367. data/Slic3r/Linux/lib/std/URI/IRI.pm +44 -0
  368. data/Slic3r/Linux/lib/std/URI/QueryParam.pm +193 -0
  369. data/Slic3r/Linux/lib/std/URI/Split.pm +96 -0
  370. data/Slic3r/Linux/lib/std/URI/URL.pm +305 -0
  371. data/Slic3r/Linux/lib/std/URI/WithBase.pm +171 -0
  372. data/Slic3r/Linux/lib/std/URI/_foreign.pm +6 -0
  373. data/Slic3r/Linux/lib/std/URI/_generic.pm +252 -0
  374. data/Slic3r/Linux/lib/std/URI/_idna.pm +87 -0
  375. data/Slic3r/Linux/lib/std/URI/_ldap.pm +140 -0
  376. data/Slic3r/Linux/lib/std/URI/_login.pm +10 -0
  377. data/Slic3r/Linux/lib/std/URI/_punycode.pm +202 -0
  378. data/Slic3r/Linux/lib/std/URI/_query.pm +93 -0
  379. data/Slic3r/Linux/lib/std/URI/_segment.pm +20 -0
  380. data/Slic3r/Linux/lib/std/URI/_server.pm +162 -0
  381. data/Slic3r/Linux/lib/std/URI/_userpass.pm +51 -0
  382. data/Slic3r/Linux/lib/std/URI/data.pm +140 -0
  383. data/Slic3r/Linux/lib/std/URI/file.pm +328 -0
  384. data/Slic3r/Linux/lib/std/URI/file/Base.pm +80 -0
  385. data/Slic3r/Linux/lib/std/URI/file/FAT.pm +23 -0
  386. data/Slic3r/Linux/lib/std/URI/file/Mac.pm +120 -0
  387. data/Slic3r/Linux/lib/std/URI/file/OS2.pm +28 -0
  388. data/Slic3r/Linux/lib/std/URI/file/QNX.pm +18 -0
  389. data/Slic3r/Linux/lib/std/URI/file/Unix.pm +55 -0
  390. data/Slic3r/Linux/lib/std/URI/file/Win32.pm +84 -0
  391. data/Slic3r/Linux/lib/std/URI/ftp.pm +45 -0
  392. data/Slic3r/Linux/lib/std/URI/gopher.pm +94 -0
  393. data/Slic3r/Linux/lib/std/URI/http.pm +25 -0
  394. data/Slic3r/Linux/lib/std/URI/https.pm +9 -0
  395. data/Slic3r/Linux/lib/std/URI/ldap.pm +122 -0
  396. data/Slic3r/Linux/lib/std/URI/ldapi.pm +30 -0
  397. data/Slic3r/Linux/lib/std/URI/ldaps.pm +9 -0
  398. data/Slic3r/Linux/lib/std/URI/mailto.pm +72 -0
  399. data/Slic3r/Linux/lib/std/URI/mms.pm +8 -0
  400. data/Slic3r/Linux/lib/std/URI/news.pm +68 -0
  401. data/Slic3r/Linux/lib/std/URI/nntp.pm +6 -0
  402. data/Slic3r/Linux/lib/std/URI/pop.pm +68 -0
  403. data/Slic3r/Linux/lib/std/URI/rlogin.pm +7 -0
  404. data/Slic3r/Linux/lib/std/URI/rsync.pm +12 -0
  405. data/Slic3r/Linux/lib/std/URI/rtsp.pm +8 -0
  406. data/Slic3r/Linux/lib/std/URI/rtspu.pm +8 -0
  407. data/Slic3r/Linux/lib/std/URI/sip.pm +86 -0
  408. data/Slic3r/Linux/lib/std/URI/sips.pm +9 -0
  409. data/Slic3r/Linux/lib/std/URI/snews.pm +10 -0
  410. data/Slic3r/Linux/lib/std/URI/ssh.pm +11 -0
  411. data/Slic3r/Linux/lib/std/URI/telnet.pm +7 -0
  412. data/Slic3r/Linux/lib/std/URI/tn3270.pm +7 -0
  413. data/Slic3r/Linux/lib/std/URI/urn.pm +97 -0
  414. data/Slic3r/Linux/lib/std/URI/urn/isbn.pm +102 -0
  415. data/Slic3r/Linux/lib/std/URI/urn/oid.pm +18 -0
  416. data/Slic3r/Linux/lib/std/Wx.pm +394 -0
  417. data/Slic3r/Linux/lib/std/Wx/App.pm +54 -0
  418. data/Slic3r/Linux/lib/std/Wx/DND.pm +74 -0
  419. data/Slic3r/Linux/lib/std/Wx/DropSource.pm +33 -0
  420. data/Slic3r/Linux/lib/std/Wx/Event.pm +469 -0
  421. data/Slic3r/Linux/lib/std/Wx/GLCanvas.pm +84 -0
  422. data/Slic3r/Linux/lib/std/Wx/Grid.pm +128 -0
  423. data/Slic3r/Linux/lib/std/Wx/Html.pm +67 -0
  424. data/Slic3r/Linux/lib/std/Wx/Locale.pm +61 -0
  425. data/Slic3r/Linux/lib/std/Wx/Menu.pm +74 -0
  426. data/Slic3r/Linux/lib/std/Wx/Mini.pm +181 -0
  427. data/Slic3r/Linux/lib/std/Wx/Print.pm +56 -0
  428. data/Slic3r/Linux/lib/std/Wx/RadioBox.pm +53 -0
  429. data/Slic3r/Linux/lib/std/Wx/Timer.pm +56 -0
  430. data/Slic3r/Linux/lib/std/Wx/Wx_Exp.pm +9494 -0
  431. data/Slic3r/Linux/lib/std/XML/NamespaceSupport.pm +583 -0
  432. data/Slic3r/Linux/lib/std/XML/SAX.pm +379 -0
  433. data/Slic3r/Linux/lib/std/XML/SAX/Base.pm +3176 -0
  434. data/Slic3r/Linux/lib/std/XML/SAX/BuildSAXBase.pl +847 -0
  435. data/Slic3r/Linux/lib/std/XML/SAX/DocumentLocator.pm +134 -0
  436. data/Slic3r/Linux/lib/std/XML/SAX/Exception.pm +129 -0
  437. data/Slic3r/Linux/lib/std/XML/SAX/ExpatXS.pm +354 -0
  438. data/Slic3r/Linux/lib/std/XML/SAX/ExpatXS/Encoding.pm +184 -0
  439. data/Slic3r/Linux/lib/std/XML/SAX/ExpatXS/Preload.pm +288 -0
  440. data/Slic3r/Linux/lib/std/XML/SAX/ParserDetails.ini +16 -0
  441. data/Slic3r/Linux/lib/std/XML/SAX/ParserFactory.pm +230 -0
  442. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl.pm +751 -0
  443. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/DTDDecls.pm +603 -0
  444. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/DebugHandler.pm +95 -0
  445. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/DocType.pm +180 -0
  446. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/EncodingDetect.pm +105 -0
  447. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Exception.pm +67 -0
  448. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/NoUnicodeExt.pm +28 -0
  449. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Productions.pm +147 -0
  450. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader.pm +136 -0
  451. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/NoUnicodeExt.pm +25 -0
  452. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/Stream.pm +84 -0
  453. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/String.pm +78 -0
  454. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/URI.pm +57 -0
  455. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/Reader/UnicodeExt.pm +23 -0
  456. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/UnicodeExt.pm +22 -0
  457. data/Slic3r/Linux/lib/std/XML/SAX/PurePerl/XMLDecl.pm +129 -0
  458. data/Slic3r/Linux/lib/std/attributes.pm +490 -0
  459. data/Slic3r/Linux/lib/std/auto/B/B.so +0 -0
  460. data/Slic3r/Linux/lib/std/auto/Class/XSAccessor/XSAccessor.so +0 -0
  461. data/Slic3r/Linux/lib/std/auto/Compress/Raw/Bzip2/Bzip2.so +0 -0
  462. data/Slic3r/Linux/lib/std/auto/Compress/Raw/Bzip2/autosplit.ix +3 -0
  463. data/Slic3r/Linux/lib/std/auto/Compress/Raw/Zlib/Zlib.so +0 -0
  464. data/Slic3r/Linux/lib/std/auto/Compress/Raw/Zlib/autosplit.ix +3 -0
  465. data/Slic3r/Linux/lib/std/auto/Crypt/SSLeay/SSLeay.so +0 -0
  466. data/Slic3r/Linux/lib/std/auto/Cwd/Cwd.so +0 -0
  467. data/Slic3r/Linux/lib/std/auto/Data/Dumper/Dumper.so +0 -0
  468. data/Slic3r/Linux/lib/std/auto/Data/UUID/UUID.so +0 -0
  469. data/Slic3r/Linux/lib/std/auto/Digest/MD5/MD5.so +0 -0
  470. data/Slic3r/Linux/lib/std/auto/Digest/SHA/SHA.so +0 -0
  471. data/Slic3r/Linux/lib/std/auto/Encode/Byte/Byte.so +0 -0
  472. data/Slic3r/Linux/lib/std/auto/Encode/CN/CN.so +0 -0
  473. data/Slic3r/Linux/lib/std/auto/Encode/EBCDIC/EBCDIC.so +0 -0
  474. data/Slic3r/Linux/lib/std/auto/Encode/Encode.so +0 -0
  475. data/Slic3r/Linux/lib/std/auto/Encode/JP/JP.so +0 -0
  476. data/Slic3r/Linux/lib/std/auto/Encode/KR/KR.so +0 -0
  477. data/Slic3r/Linux/lib/std/auto/Encode/Symbol/Symbol.so +0 -0
  478. data/Slic3r/Linux/lib/std/auto/Encode/TW/TW.so +0 -0
  479. data/Slic3r/Linux/lib/std/auto/Encode/Unicode/Unicode.so +0 -0
  480. data/Slic3r/Linux/lib/std/auto/Fcntl/Fcntl.so +0 -0
  481. data/Slic3r/Linux/lib/std/auto/File/Glob/Glob.so +0 -0
  482. data/Slic3r/Linux/lib/std/auto/Filter/Util/Call/Call.so +0 -0
  483. data/Slic3r/Linux/lib/std/auto/HTML/Parser/Parser.so +0 -0
  484. data/Slic3r/Linux/lib/std/auto/I18N/Langinfo/Langinfo.so +0 -0
  485. data/Slic3r/Linux/lib/std/auto/IO/IO.so +0 -0
  486. data/Slic3r/Linux/lib/std/auto/List/Util/Util.so +0 -0
  487. data/Slic3r/Linux/lib/std/auto/MIME/Base64/Base64.so +0 -0
  488. data/Slic3r/Linux/lib/std/auto/Math/BigInt/FastCalc/FastCalc.so +0 -0
  489. data/Slic3r/Linux/lib/std/auto/Math/Libm/Libm.so +0 -0
  490. data/Slic3r/Linux/lib/std/auto/Math/Libm/autosplit.ix +3 -0
  491. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/SSLeay.so +0 -0
  492. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/autosplit.ix +78 -0
  493. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/debug_read.al +22 -0
  494. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_https.al +18 -0
  495. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_https2.al +13 -0
  496. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_https3.al +13 -0
  497. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_https4.al +12 -0
  498. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_httpx2.al +18 -0
  499. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_httpx3.al +43 -0
  500. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/do_httpx4.al +19 -0
  501. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/dump_peer_certificate.al +29 -0
  502. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_http.al +9 -0
  503. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_http3.al +9 -0
  504. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_http4.al +9 -0
  505. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_https.al +9 -0
  506. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_https3.al +9 -0
  507. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_https4.al +9 -0
  508. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_httpx.al +9 -0
  509. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_httpx3.al +9 -0
  510. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/get_httpx4.al +9 -0
  511. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_http.al +10 -0
  512. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_http3.al +10 -0
  513. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_http4.al +12 -0
  514. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_https.al +10 -0
  515. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_https3.al +10 -0
  516. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_https4.al +12 -0
  517. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_httpx.al +10 -0
  518. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_httpx3.al +10 -0
  519. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/head_httpx4.al +13 -0
  520. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/http_cat.al +34 -0
  521. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/https_cat.al +97 -0
  522. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/httpx_cat.al +18 -0
  523. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/make_form.al +25 -0
  524. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/make_headers.al +21 -0
  525. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/new_x_ctx.al +16 -0
  526. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/open_proxy_tcp_connection.al +31 -0
  527. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/open_tcp_connection.al +40 -0
  528. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_http.al +9 -0
  529. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_http3.al +9 -0
  530. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_http4.al +9 -0
  531. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_https.al +9 -0
  532. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_https3.al +9 -0
  533. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_https4.al +9 -0
  534. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_httpx.al +9 -0
  535. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_httpx3.al +9 -0
  536. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/post_httpx4.al +9 -0
  537. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_http.al +9 -0
  538. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_http3.al +9 -0
  539. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_http4.al +9 -0
  540. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_https.al +9 -0
  541. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_https3.al +9 -0
  542. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_https4.al +9 -0
  543. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_httpx.al +9 -0
  544. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_httpx3.al +9 -0
  545. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/put_httpx4.al +9 -0
  546. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/randomize.al +31 -0
  547. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/set_cert_and_key.al +23 -0
  548. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/set_proxy.al +16 -0
  549. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/set_server_cert_and_key.al +14 -0
  550. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_read_CRLF.al +10 -0
  551. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_read_all.al +28 -0
  552. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_read_until.al +95 -0
  553. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_write_CRLF.al +23 -0
  554. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/ssl_write_all.al +149 -0
  555. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/sslcat.al +99 -0
  556. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_read_CRLF.al +11 -0
  557. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_read_all.al +26 -0
  558. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_read_until.al +34 -0
  559. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_write_CRLF.al +23 -0
  560. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcp_write_all.al +36 -0
  561. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcpcat.al +37 -0
  562. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/tcpxcat.al +17 -0
  563. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/want_X509_lookup.al +15 -0
  564. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/want_nothing.al +16 -0
  565. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/want_read.al +9 -0
  566. data/Slic3r/Linux/lib/std/auto/Net/SSLeay/want_write.al +9 -0
  567. data/Slic3r/Linux/lib/std/auto/OpenGL/OpenGL.so +0 -0
  568. data/Slic3r/Linux/lib/std/auto/OpenGL/autosplit.ix +3 -0
  569. data/Slic3r/Linux/lib/std/auto/POSIX/POSIX.so +0 -0
  570. data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/flags.al +9 -0
  571. data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/handler.al +9 -0
  572. data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/mask.al +9 -0
  573. data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/new.al +11 -0
  574. data/Slic3r/Linux/lib/std/auto/POSIX/SigAction/safe.al +13 -0
  575. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/CLEAR.al +9 -0
  576. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/DELETE.al +9 -0
  577. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/EXISTS.al +9 -0
  578. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/FETCH.al +12 -0
  579. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/SCALAR.al +9 -0
  580. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/STORE.al +9 -0
  581. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_check.al +15 -0
  582. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_croak.al +13 -0
  583. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_exist.al +14 -0
  584. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_getsig.al +17 -0
  585. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/_init.al +14 -0
  586. data/Slic3r/Linux/lib/std/auto/POSIX/SigRt/new.al +17 -0
  587. data/Slic3r/Linux/lib/std/auto/POSIX/abs.al +13 -0
  588. data/Slic3r/Linux/lib/std/auto/POSIX/alarm.al +13 -0
  589. data/Slic3r/Linux/lib/std/auto/POSIX/assert.al +15 -0
  590. data/Slic3r/Linux/lib/std/auto/POSIX/atan2.al +13 -0
  591. data/Slic3r/Linux/lib/std/auto/POSIX/atexit.al +12 -0
  592. data/Slic3r/Linux/lib/std/auto/POSIX/atof.al +12 -0
  593. data/Slic3r/Linux/lib/std/auto/POSIX/atoi.al +12 -0
  594. data/Slic3r/Linux/lib/std/auto/POSIX/atol.al +12 -0
  595. data/Slic3r/Linux/lib/std/auto/POSIX/autosplit.ix +173 -0
  596. data/Slic3r/Linux/lib/std/auto/POSIX/bsearch.al +12 -0
  597. data/Slic3r/Linux/lib/std/auto/POSIX/calloc.al +12 -0
  598. data/Slic3r/Linux/lib/std/auto/POSIX/chdir.al +13 -0
  599. data/Slic3r/Linux/lib/std/auto/POSIX/chmod.al +13 -0
  600. data/Slic3r/Linux/lib/std/auto/POSIX/chown.al +13 -0
  601. data/Slic3r/Linux/lib/std/auto/POSIX/clearerr.al +12 -0
  602. data/Slic3r/Linux/lib/std/auto/POSIX/closedir.al +13 -0
  603. data/Slic3r/Linux/lib/std/auto/POSIX/cos.al +13 -0
  604. data/Slic3r/Linux/lib/std/auto/POSIX/creat.al +13 -0
  605. data/Slic3r/Linux/lib/std/auto/POSIX/div.al +12 -0
  606. data/Slic3r/Linux/lib/std/auto/POSIX/errno.al +13 -0
  607. data/Slic3r/Linux/lib/std/auto/POSIX/execl.al +12 -0
  608. data/Slic3r/Linux/lib/std/auto/POSIX/execle.al +12 -0
  609. data/Slic3r/Linux/lib/std/auto/POSIX/execlp.al +12 -0
  610. data/Slic3r/Linux/lib/std/auto/POSIX/execv.al +12 -0
  611. data/Slic3r/Linux/lib/std/auto/POSIX/execve.al +12 -0
  612. data/Slic3r/Linux/lib/std/auto/POSIX/execvp.al +12 -0
  613. data/Slic3r/Linux/lib/std/auto/POSIX/exit.al +13 -0
  614. data/Slic3r/Linux/lib/std/auto/POSIX/exp.al +13 -0
  615. data/Slic3r/Linux/lib/std/auto/POSIX/fabs.al +13 -0
  616. data/Slic3r/Linux/lib/std/auto/POSIX/fclose.al +12 -0
  617. data/Slic3r/Linux/lib/std/auto/POSIX/fcntl.al +13 -0
  618. data/Slic3r/Linux/lib/std/auto/POSIX/fdopen.al +12 -0
  619. data/Slic3r/Linux/lib/std/auto/POSIX/feof.al +12 -0
  620. data/Slic3r/Linux/lib/std/auto/POSIX/ferror.al +12 -0
  621. data/Slic3r/Linux/lib/std/auto/POSIX/fflush.al +12 -0
  622. data/Slic3r/Linux/lib/std/auto/POSIX/fgetc.al +12 -0
  623. data/Slic3r/Linux/lib/std/auto/POSIX/fgetpos.al +12 -0
  624. data/Slic3r/Linux/lib/std/auto/POSIX/fgets.al +12 -0
  625. data/Slic3r/Linux/lib/std/auto/POSIX/fileno.al +12 -0
  626. data/Slic3r/Linux/lib/std/auto/POSIX/fopen.al +12 -0
  627. data/Slic3r/Linux/lib/std/auto/POSIX/fork.al +13 -0
  628. data/Slic3r/Linux/lib/std/auto/POSIX/fprintf.al +12 -0
  629. data/Slic3r/Linux/lib/std/auto/POSIX/fputc.al +12 -0
  630. data/Slic3r/Linux/lib/std/auto/POSIX/fputs.al +12 -0
  631. data/Slic3r/Linux/lib/std/auto/POSIX/fread.al +12 -0
  632. data/Slic3r/Linux/lib/std/auto/POSIX/free.al +12 -0
  633. data/Slic3r/Linux/lib/std/auto/POSIX/freopen.al +12 -0
  634. data/Slic3r/Linux/lib/std/auto/POSIX/fscanf.al +12 -0
  635. data/Slic3r/Linux/lib/std/auto/POSIX/fseek.al +12 -0
  636. data/Slic3r/Linux/lib/std/auto/POSIX/fsetpos.al +12 -0
  637. data/Slic3r/Linux/lib/std/auto/POSIX/fstat.al +17 -0
  638. data/Slic3r/Linux/lib/std/auto/POSIX/fsync.al +12 -0
  639. data/Slic3r/Linux/lib/std/auto/POSIX/ftell.al +12 -0
  640. data/Slic3r/Linux/lib/std/auto/POSIX/fwrite.al +12 -0
  641. data/Slic3r/Linux/lib/std/auto/POSIX/getc.al +13 -0
  642. data/Slic3r/Linux/lib/std/auto/POSIX/getchar.al +13 -0
  643. data/Slic3r/Linux/lib/std/auto/POSIX/getegid.al +13 -0
  644. data/Slic3r/Linux/lib/std/auto/POSIX/getenv.al +13 -0
  645. data/Slic3r/Linux/lib/std/auto/POSIX/geteuid.al +13 -0
  646. data/Slic3r/Linux/lib/std/auto/POSIX/getgid.al +13 -0
  647. data/Slic3r/Linux/lib/std/auto/POSIX/getgrgid.al +13 -0
  648. data/Slic3r/Linux/lib/std/auto/POSIX/getgrnam.al +13 -0
  649. data/Slic3r/Linux/lib/std/auto/POSIX/getgroups.al +14 -0
  650. data/Slic3r/Linux/lib/std/auto/POSIX/getlogin.al +13 -0
  651. data/Slic3r/Linux/lib/std/auto/POSIX/getpgrp.al +13 -0
  652. data/Slic3r/Linux/lib/std/auto/POSIX/getpid.al +13 -0
  653. data/Slic3r/Linux/lib/std/auto/POSIX/getppid.al +13 -0
  654. data/Slic3r/Linux/lib/std/auto/POSIX/getpwnam.al +13 -0
  655. data/Slic3r/Linux/lib/std/auto/POSIX/getpwuid.al +13 -0
  656. data/Slic3r/Linux/lib/std/auto/POSIX/gets.al +13 -0
  657. data/Slic3r/Linux/lib/std/auto/POSIX/getuid.al +13 -0
  658. data/Slic3r/Linux/lib/std/auto/POSIX/gmtime.al +13 -0
  659. data/Slic3r/Linux/lib/std/auto/POSIX/isatty.al +13 -0
  660. data/Slic3r/Linux/lib/std/auto/POSIX/kill.al +13 -0
  661. data/Slic3r/Linux/lib/std/auto/POSIX/labs.al +12 -0
  662. data/Slic3r/Linux/lib/std/auto/POSIX/ldiv.al +12 -0
  663. data/Slic3r/Linux/lib/std/auto/POSIX/link.al +13 -0
  664. data/Slic3r/Linux/lib/std/auto/POSIX/load_imports.al +231 -0
  665. data/Slic3r/Linux/lib/std/auto/POSIX/localtime.al +13 -0
  666. data/Slic3r/Linux/lib/std/auto/POSIX/log.al +13 -0
  667. data/Slic3r/Linux/lib/std/auto/POSIX/longjmp.al +12 -0
  668. data/Slic3r/Linux/lib/std/auto/POSIX/malloc.al +12 -0
  669. data/Slic3r/Linux/lib/std/auto/POSIX/memchr.al +12 -0
  670. data/Slic3r/Linux/lib/std/auto/POSIX/memcmp.al +12 -0
  671. data/Slic3r/Linux/lib/std/auto/POSIX/memcpy.al +12 -0
  672. data/Slic3r/Linux/lib/std/auto/POSIX/memmove.al +12 -0
  673. data/Slic3r/Linux/lib/std/auto/POSIX/memset.al +12 -0
  674. data/Slic3r/Linux/lib/std/auto/POSIX/mkdir.al +13 -0
  675. data/Slic3r/Linux/lib/std/auto/POSIX/offsetof.al +12 -0
  676. data/Slic3r/Linux/lib/std/auto/POSIX/opendir.al +16 -0
  677. data/Slic3r/Linux/lib/std/auto/POSIX/perror.al +13 -0
  678. data/Slic3r/Linux/lib/std/auto/POSIX/pow.al +13 -0
  679. data/Slic3r/Linux/lib/std/auto/POSIX/printf.al +13 -0
  680. data/Slic3r/Linux/lib/std/auto/POSIX/putc.al +12 -0
  681. data/Slic3r/Linux/lib/std/auto/POSIX/putchar.al +12 -0
  682. data/Slic3r/Linux/lib/std/auto/POSIX/puts.al +12 -0
  683. data/Slic3r/Linux/lib/std/auto/POSIX/qsort.al +12 -0
  684. data/Slic3r/Linux/lib/std/auto/POSIX/raise.al +13 -0
  685. data/Slic3r/Linux/lib/std/auto/POSIX/rand.al +12 -0
  686. data/Slic3r/Linux/lib/std/auto/POSIX/readdir.al +13 -0
  687. data/Slic3r/Linux/lib/std/auto/POSIX/realloc.al +12 -0
  688. data/Slic3r/Linux/lib/std/auto/POSIX/redef.al +13 -0
  689. data/Slic3r/Linux/lib/std/auto/POSIX/remove.al +13 -0
  690. data/Slic3r/Linux/lib/std/auto/POSIX/rename.al +13 -0
  691. data/Slic3r/Linux/lib/std/auto/POSIX/rewind.al +13 -0
  692. data/Slic3r/Linux/lib/std/auto/POSIX/rewinddir.al +13 -0
  693. data/Slic3r/Linux/lib/std/auto/POSIX/rmdir.al +13 -0
  694. data/Slic3r/Linux/lib/std/auto/POSIX/scanf.al +12 -0
  695. data/Slic3r/Linux/lib/std/auto/POSIX/setbuf.al +12 -0
  696. data/Slic3r/Linux/lib/std/auto/POSIX/setjmp.al +12 -0
  697. data/Slic3r/Linux/lib/std/auto/POSIX/setvbuf.al +12 -0
  698. data/Slic3r/Linux/lib/std/auto/POSIX/siglongjmp.al +12 -0
  699. data/Slic3r/Linux/lib/std/auto/POSIX/sigsetjmp.al +12 -0
  700. data/Slic3r/Linux/lib/std/auto/POSIX/sin.al +13 -0
  701. data/Slic3r/Linux/lib/std/auto/POSIX/sleep.al +13 -0
  702. data/Slic3r/Linux/lib/std/auto/POSIX/sprintf.al +13 -0
  703. data/Slic3r/Linux/lib/std/auto/POSIX/sqrt.al +13 -0
  704. data/Slic3r/Linux/lib/std/auto/POSIX/srand.al +12 -0
  705. data/Slic3r/Linux/lib/std/auto/POSIX/sscanf.al +12 -0
  706. data/Slic3r/Linux/lib/std/auto/POSIX/stat.al +13 -0
  707. data/Slic3r/Linux/lib/std/auto/POSIX/strcat.al +12 -0
  708. data/Slic3r/Linux/lib/std/auto/POSIX/strchr.al +12 -0
  709. data/Slic3r/Linux/lib/std/auto/POSIX/strcmp.al +12 -0
  710. data/Slic3r/Linux/lib/std/auto/POSIX/strcpy.al +12 -0
  711. data/Slic3r/Linux/lib/std/auto/POSIX/strcspn.al +12 -0
  712. data/Slic3r/Linux/lib/std/auto/POSIX/strerror.al +14 -0
  713. data/Slic3r/Linux/lib/std/auto/POSIX/strlen.al +12 -0
  714. data/Slic3r/Linux/lib/std/auto/POSIX/strncat.al +12 -0
  715. data/Slic3r/Linux/lib/std/auto/POSIX/strncmp.al +12 -0
  716. data/Slic3r/Linux/lib/std/auto/POSIX/strncpy.al +12 -0
  717. data/Slic3r/Linux/lib/std/auto/POSIX/strpbrk.al +12 -0
  718. data/Slic3r/Linux/lib/std/auto/POSIX/strrchr.al +12 -0
  719. data/Slic3r/Linux/lib/std/auto/POSIX/strspn.al +12 -0
  720. data/Slic3r/Linux/lib/std/auto/POSIX/strstr.al +13 -0
  721. data/Slic3r/Linux/lib/std/auto/POSIX/strtok.al +12 -0
  722. data/Slic3r/Linux/lib/std/auto/POSIX/system.al +13 -0
  723. data/Slic3r/Linux/lib/std/auto/POSIX/time.al +13 -0
  724. data/Slic3r/Linux/lib/std/auto/POSIX/tmpfile.al +12 -0
  725. data/Slic3r/Linux/lib/std/auto/POSIX/tolower.al +13 -0
  726. data/Slic3r/Linux/lib/std/auto/POSIX/toupper.al +13 -0
  727. data/Slic3r/Linux/lib/std/auto/POSIX/umask.al +13 -0
  728. data/Slic3r/Linux/lib/std/auto/POSIX/ungetc.al +12 -0
  729. data/Slic3r/Linux/lib/std/auto/POSIX/unimpl.al +14 -0
  730. data/Slic3r/Linux/lib/std/auto/POSIX/unlink.al +13 -0
  731. data/Slic3r/Linux/lib/std/auto/POSIX/usage.al +13 -0
  732. data/Slic3r/Linux/lib/std/auto/POSIX/utime.al +13 -0
  733. data/Slic3r/Linux/lib/std/auto/POSIX/vfprintf.al +12 -0
  734. data/Slic3r/Linux/lib/std/auto/POSIX/vprintf.al +12 -0
  735. data/Slic3r/Linux/lib/std/auto/POSIX/vsprintf.al +12 -0
  736. data/Slic3r/Linux/lib/std/auto/POSIX/wait.al +13 -0
  737. data/Slic3r/Linux/lib/std/auto/POSIX/waitpid.al +13 -0
  738. data/Slic3r/Linux/lib/std/auto/Params/Validate/XS/XS.so +0 -0
  739. data/Slic3r/Linux/lib/std/auto/PerlIO/encoding/encoding.so +0 -0
  740. data/Slic3r/Linux/lib/std/auto/PerlIO/scalar/scalar.so +0 -0
  741. data/Slic3r/Linux/lib/std/auto/PerlIO/via/via.so +0 -0
  742. data/Slic3r/Linux/lib/std/auto/Slic3r/XS/XS.so +0 -0
  743. data/Slic3r/Linux/lib/std/auto/Socket/Socket.so +0 -0
  744. data/Slic3r/Linux/lib/std/auto/Storable/Storable.so +0 -0
  745. data/Slic3r/Linux/lib/std/auto/Tie/Hash/NamedCapture/NamedCapture.so +0 -0
  746. data/Slic3r/Linux/lib/std/auto/Time/HiRes/HiRes.so +0 -0
  747. data/Slic3r/Linux/lib/std/auto/Wx/DND/DND.so +0 -0
  748. data/Slic3r/Linux/lib/std/auto/Wx/GLCanvas/GLCanvas.so +0 -0
  749. data/Slic3r/Linux/lib/std/auto/Wx/Grid/Grid.so +0 -0
  750. data/Slic3r/Linux/lib/std/auto/Wx/Html/Html.so +0 -0
  751. data/Slic3r/Linux/lib/std/auto/Wx/Print/Print.so +0 -0
  752. data/Slic3r/Linux/lib/std/auto/Wx/Wx.so +0 -0
  753. data/Slic3r/Linux/lib/std/auto/XML/SAX/ExpatXS/ExpatXS.so +0 -0
  754. data/Slic3r/Linux/lib/std/auto/attributes/attributes.so +0 -0
  755. data/Slic3r/Linux/lib/std/auto/mro/mro.so +0 -0
  756. data/Slic3r/Linux/lib/std/auto/re/re.so +0 -0
  757. data/Slic3r/Linux/lib/std/auto/threads/shared/shared.so +0 -0
  758. data/Slic3r/Linux/lib/std/auto/threads/threads.so +0 -0
  759. data/Slic3r/Linux/lib/std/base.pm +265 -0
  760. data/Slic3r/Linux/lib/std/bytes.pm +100 -0
  761. data/Slic3r/Linux/lib/std/bytes_heavy.pl +40 -0
  762. data/Slic3r/Linux/lib/std/constant.pm +397 -0
  763. data/Slic3r/Linux/lib/std/constant/defer.pm +441 -0
  764. data/Slic3r/Linux/lib/std/encoding.pm +669 -0
  765. data/Slic3r/Linux/lib/std/encoding/warnings.pm +239 -0
  766. data/Slic3r/Linux/lib/std/feature.pm +249 -0
  767. data/Slic3r/Linux/lib/std/filetest.pm +117 -0
  768. data/Slic3r/Linux/lib/std/integer.pm +93 -0
  769. data/Slic3r/Linux/lib/std/less.pm +158 -0
  770. data/Slic3r/Linux/lib/std/mro.pm +363 -0
  771. data/Slic3r/Linux/lib/std/overload.pm +1701 -0
  772. data/Slic3r/Linux/lib/std/parent.pm +136 -0
  773. data/Slic3r/Linux/lib/std/re.pm +604 -0
  774. data/Slic3r/Linux/lib/std/slic3r.pl +491 -0
  775. data/Slic3r/Linux/lib/std/sort.pm +196 -0
  776. data/Slic3r/Linux/lib/std/strictures.pm +296 -0
  777. data/Slic3r/Linux/lib/std/threads.pm +1115 -0
  778. data/Slic3r/Linux/lib/std/threads/shared.pm +616 -0
  779. data/Slic3r/Linux/lib/std/unicore/Heavy.pl +3261 -0
  780. data/Slic3r/Linux/lib/std/unicore/To/Age.pl +1036 -0
  781. data/Slic3r/Linux/lib/std/unicore/To/Bc.pl +555 -0
  782. data/Slic3r/Linux/lib/std/unicore/To/Bmg.pl +375 -0
  783. data/Slic3r/Linux/lib/std/unicore/To/Digit.pl +433 -0
  784. data/Slic3r/Linux/lib/std/unicore/To/Dt.pl +759 -0
  785. data/Slic3r/Linux/lib/std/unicore/To/Ea.pl +245 -0
  786. data/Slic3r/Linux/lib/std/unicore/To/Fold.pl +1177 -0
  787. data/Slic3r/Linux/lib/std/unicore/To/GCB.pl +1177 -0
  788. data/Slic3r/Linux/lib/std/unicore/To/Gc.pl +2639 -0
  789. data/Slic3r/Linux/lib/std/unicore/To/Hst.pl +822 -0
  790. data/Slic3r/Linux/lib/std/unicore/To/Jg.pl +144 -0
  791. data/Slic3r/Linux/lib/std/unicore/To/Jt.pl +292 -0
  792. data/Slic3r/Linux/lib/std/unicore/To/Lb.pl +2195 -0
  793. data/Slic3r/Linux/lib/std/unicore/To/Lower.pl +1061 -0
  794. data/Slic3r/Linux/lib/std/unicore/To/NFCQC.pl +126 -0
  795. data/Slic3r/Linux/lib/std/unicore/To/NFDQC.pl +245 -0
  796. data/Slic3r/Linux/lib/std/unicore/To/NFKCCF.pl +9815 -0
  797. data/Slic3r/Linux/lib/std/unicore/To/NFKCQC.pl +265 -0
  798. data/Slic3r/Linux/lib/std/unicore/To/NFKDQC.pl +367 -0
  799. data/Slic3r/Linux/lib/std/unicore/To/Na1.pl +1996 -0
  800. data/Slic3r/Linux/lib/std/unicore/To/Nt.pl +198 -0
  801. data/Slic3r/Linux/lib/std/unicore/To/Nv.pl +1157 -0
  802. data/Slic3r/Linux/lib/std/unicore/To/SB.pl +1958 -0
  803. data/Slic3r/Linux/lib/std/unicore/To/Sc.pl +702 -0
  804. data/Slic3r/Linux/lib/std/unicore/To/Title.pl +1117 -0
  805. data/Slic3r/Linux/lib/std/unicore/To/Upper.pl +1144 -0
  806. data/Slic3r/Linux/lib/std/unicore/To/WB.pl +691 -0
  807. data/Slic3r/Linux/lib/std/unicore/To/_slc.pl +46 -0
  808. data/Slic3r/Linux/lib/std/unicore/To/_stc.pl +45 -0
  809. data/Slic3r/Linux/lib/std/unicore/To/_suc.pl +45 -0
  810. data/Slic3r/Linux/lib/std/unicore/lib/AHex/N.pl +16 -0
  811. data/Slic3r/Linux/lib/std/unicore/lib/AHex/Y.pl +15 -0
  812. data/Slic3r/Linux/lib/std/unicore/lib/Age/1_1.pl +300 -0
  813. data/Slic3r/Linux/lib/std/unicore/lib/Age/2_0.pl +41 -0
  814. data/Slic3r/Linux/lib/std/unicore/lib/Age/2_1.pl +14 -0
  815. data/Slic3r/Linux/lib/std/unicore/lib/Age/3_0.pl +133 -0
  816. data/Slic3r/Linux/lib/std/unicore/lib/Age/3_1.pl +48 -0
  817. data/Slic3r/Linux/lib/std/unicore/lib/Age/3_2.pl +71 -0
  818. data/Slic3r/Linux/lib/std/unicore/lib/Age/4_0.pl +89 -0
  819. data/Slic3r/Linux/lib/std/unicore/lib/Age/4_1.pl +98 -0
  820. data/Slic3r/Linux/lib/std/unicore/lib/Age/5_0.pl +47 -0
  821. data/Slic3r/Linux/lib/std/unicore/lib/Age/5_1.pl +101 -0
  822. data/Slic3r/Linux/lib/std/unicore/lib/Age/5_2.pl +102 -0
  823. data/Slic3r/Linux/lib/std/unicore/lib/Age/6_0.pl +118 -0
  824. data/Slic3r/Linux/lib/std/unicore/lib/Age/Unassign.pl +522 -0
  825. data/Slic3r/Linux/lib/std/unicore/lib/Alpha/N.pl +499 -0
  826. data/Slic3r/Linux/lib/std/unicore/lib/Alpha/Y.pl +498 -0
  827. data/Slic3r/Linux/lib/std/unicore/lib/Bc/AL.pl +30 -0
  828. data/Slic3r/Linux/lib/std/unicore/lib/Bc/AN.pl +17 -0
  829. data/Slic3r/Linux/lib/std/unicore/lib/Bc/B.pl +17 -0
  830. data/Slic3r/Linux/lib/std/unicore/lib/Bc/BN.pl +41 -0
  831. data/Slic3r/Linux/lib/std/unicore/lib/Bc/CS.pl +25 -0
  832. data/Slic3r/Linux/lib/std/unicore/lib/Bc/EN.pl +23 -0
  833. data/Slic3r/Linux/lib/std/unicore/lib/Bc/ES.pl +21 -0
  834. data/Slic3r/Linux/lib/std/unicore/lib/Bc/ET.pl +33 -0
  835. data/Slic3r/Linux/lib/std/unicore/lib/Bc/L.pl +358 -0
  836. data/Slic3r/Linux/lib/std/unicore/lib/Bc/LRE.pl +13 -0
  837. data/Slic3r/Linux/lib/std/unicore/lib/Bc/LRO.pl +13 -0
  838. data/Slic3r/Linux/lib/std/unicore/lib/Bc/NSM.pl +211 -0
  839. data/Slic3r/Linux/lib/std/unicore/lib/Bc/ON.pl +195 -0
  840. data/Slic3r/Linux/lib/std/unicore/lib/Bc/PDF.pl +13 -0
  841. data/Slic3r/Linux/lib/std/unicore/lib/Bc/R.pl +40 -0
  842. data/Slic3r/Linux/lib/std/unicore/lib/Bc/RLE.pl +13 -0
  843. data/Slic3r/Linux/lib/std/unicore/lib/Bc/RLO.pl +13 -0
  844. data/Slic3r/Linux/lib/std/unicore/lib/Bc/S.pl +15 -0
  845. data/Slic3r/Linux/lib/std/unicore/lib/Bc/WS.pl +20 -0
  846. data/Slic3r/Linux/lib/std/unicore/lib/BidiC/N.pl +15 -0
  847. data/Slic3r/Linux/lib/std/unicore/lib/BidiC/Y.pl +14 -0
  848. data/Slic3r/Linux/lib/std/unicore/lib/BidiM/N.pl +124 -0
  849. data/Slic3r/Linux/lib/std/unicore/lib/BidiM/Y.pl +123 -0
  850. data/Slic3r/Linux/lib/std/unicore/lib/Blk/ASCII.pl +13 -0
  851. data/Slic3r/Linux/lib/std/unicore/lib/Blk/AegeanNu.pl +13 -0
  852. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Alchemic.pl +13 -0
  853. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Alphabet.pl +13 -0
  854. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ancient2.pl +13 -0
  855. data/Slic3r/Linux/lib/std/unicore/lib/Blk/AncientG.pl +13 -0
  856. data/Slic3r/Linux/lib/std/unicore/lib/Blk/AncientS.pl +13 -0
  857. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Arabic.pl +13 -0
  858. data/Slic3r/Linux/lib/std/unicore/lib/Blk/ArabicP2.pl +13 -0
  859. data/Slic3r/Linux/lib/std/unicore/lib/Blk/ArabicPr.pl +13 -0
  860. data/Slic3r/Linux/lib/std/unicore/lib/Blk/ArabicSu.pl +13 -0
  861. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Armenian.pl +13 -0
  862. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Arrows.pl +13 -0
  863. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Avestan.pl +13 -0
  864. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Balinese.pl +13 -0
  865. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Bamum.pl +13 -0
  866. data/Slic3r/Linux/lib/std/unicore/lib/Blk/BamumSup.pl +13 -0
  867. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Batak.pl +13 -0
  868. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Bengali.pl +13 -0
  869. data/Slic3r/Linux/lib/std/unicore/lib/Blk/BlockEle.pl +13 -0
  870. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Bopomof2.pl +13 -0
  871. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Bopomofo.pl +13 -0
  872. data/Slic3r/Linux/lib/std/unicore/lib/Blk/BoxDrawi.pl +13 -0
  873. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Brahmi.pl +13 -0
  874. data/Slic3r/Linux/lib/std/unicore/lib/Blk/BrailleP.pl +13 -0
  875. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Buginese.pl +13 -0
  876. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Buhid.pl +13 -0
  877. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Byzantin.pl +13 -0
  878. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKComp2.pl +13 -0
  879. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKComp3.pl +13 -0
  880. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKComp4.pl +13 -0
  881. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKCompa.pl +13 -0
  882. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKRadic.pl +13 -0
  883. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKStrok.pl +13 -0
  884. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKSymbo.pl +13 -0
  885. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnif2.pl +13 -0
  886. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnif3.pl +13 -0
  887. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnif4.pl +13 -0
  888. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnif5.pl +13 -0
  889. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CJKUnifi.pl +13 -0
  890. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Canadian.pl +13 -0
  891. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Carian.pl +13 -0
  892. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cham.pl +13 -0
  893. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cherokee.pl +13 -0
  894. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Combini2.pl +13 -0
  895. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Combini3.pl +13 -0
  896. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Combini4.pl +13 -0
  897. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Combinin.pl +13 -0
  898. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CommonIn.pl +13 -0
  899. data/Slic3r/Linux/lib/std/unicore/lib/Blk/ControlP.pl +13 -0
  900. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Coptic.pl +13 -0
  901. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Counting.pl +13 -0
  902. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cuneifo2.pl +13 -0
  903. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cuneifor.pl +13 -0
  904. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Currency.pl +13 -0
  905. data/Slic3r/Linux/lib/std/unicore/lib/Blk/CypriotS.pl +13 -0
  906. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cyrilli2.pl +13 -0
  907. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cyrilli3.pl +13 -0
  908. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cyrilli4.pl +13 -0
  909. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Cyrillic.pl +13 -0
  910. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Deseret.pl +13 -0
  911. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Devanag2.pl +13 -0
  912. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Devanaga.pl +13 -0
  913. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Dingbats.pl +13 -0
  914. data/Slic3r/Linux/lib/std/unicore/lib/Blk/DominoTi.pl +13 -0
  915. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Egyptian.pl +13 -0
  916. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Emoticon.pl +13 -0
  917. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Enclose2.pl +13 -0
  918. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Enclose3.pl +13 -0
  919. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Enclose4.pl +13 -0
  920. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Enclosed.pl +13 -0
  921. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ethiopi2.pl +13 -0
  922. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ethiopi3.pl +13 -0
  923. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ethiopi4.pl +13 -0
  924. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ethiopic.pl +13 -0
  925. data/Slic3r/Linux/lib/std/unicore/lib/Blk/GeneralP.pl +13 -0
  926. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Geometri.pl +13 -0
  927. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Georgia2.pl +13 -0
  928. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Georgian.pl +13 -0
  929. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Glagolit.pl +13 -0
  930. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Gothic.pl +13 -0
  931. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Greek.pl +13 -0
  932. data/Slic3r/Linux/lib/std/unicore/lib/Blk/GreekExt.pl +13 -0
  933. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Gujarati.pl +13 -0
  934. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Gurmukhi.pl +13 -0
  935. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Halfwidt.pl +13 -0
  936. data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulCo.pl +13 -0
  937. data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulJ2.pl +13 -0
  938. data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulJ3.pl +13 -0
  939. data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulJa.pl +13 -0
  940. data/Slic3r/Linux/lib/std/unicore/lib/Blk/HangulSy.pl +13 -0
  941. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Hanunoo.pl +13 -0
  942. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Hebrew.pl +13 -0
  943. data/Slic3r/Linux/lib/std/unicore/lib/Blk/HighPriv.pl +13 -0
  944. data/Slic3r/Linux/lib/std/unicore/lib/Blk/HighSurr.pl +13 -0
  945. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Hiragana.pl +13 -0
  946. data/Slic3r/Linux/lib/std/unicore/lib/Blk/IPAExten.pl +13 -0
  947. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ideograp.pl +13 -0
  948. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Imperial.pl +13 -0
  949. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Inscrip2.pl +13 -0
  950. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Inscript.pl +13 -0
  951. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Javanese.pl +13 -0
  952. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Kaithi.pl +13 -0
  953. data/Slic3r/Linux/lib/std/unicore/lib/Blk/KanaSupp.pl +13 -0
  954. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Kanbun.pl +13 -0
  955. data/Slic3r/Linux/lib/std/unicore/lib/Blk/KangxiRa.pl +13 -0
  956. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Kannada.pl +13 -0
  957. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Katakan2.pl +13 -0
  958. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Katakana.pl +13 -0
  959. data/Slic3r/Linux/lib/std/unicore/lib/Blk/KayahLi.pl +13 -0
  960. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Kharosht.pl +13 -0
  961. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Khmer.pl +13 -0
  962. data/Slic3r/Linux/lib/std/unicore/lib/Blk/KhmerSym.pl +13 -0
  963. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lao.pl +13 -0
  964. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Latin1.pl +13 -0
  965. data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinEx2.pl +13 -0
  966. data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinEx3.pl +13 -0
  967. data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinEx4.pl +13 -0
  968. data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinEx5.pl +13 -0
  969. data/Slic3r/Linux/lib/std/unicore/lib/Blk/LatinExt.pl +13 -0
  970. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lepcha.pl +13 -0
  971. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Letterli.pl +13 -0
  972. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Limbu.pl +13 -0
  973. data/Slic3r/Linux/lib/std/unicore/lib/Blk/LinearBI.pl +13 -0
  974. data/Slic3r/Linux/lib/std/unicore/lib/Blk/LinearBS.pl +13 -0
  975. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lisu.pl +13 -0
  976. data/Slic3r/Linux/lib/std/unicore/lib/Blk/LowSurro.pl +13 -0
  977. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lycian.pl +13 -0
  978. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Lydian.pl +13 -0
  979. data/Slic3r/Linux/lib/std/unicore/lib/Blk/MahjongT.pl +13 -0
  980. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Malayala.pl +13 -0
  981. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Mandaic.pl +13 -0
  982. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Mathema2.pl +13 -0
  983. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Mathemat.pl +13 -0
  984. data/Slic3r/Linux/lib/std/unicore/lib/Blk/MeeteiMa.pl +13 -0
  985. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell2.pl +13 -0
  986. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell3.pl +13 -0
  987. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell4.pl +13 -0
  988. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell5.pl +13 -0
  989. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscell6.pl +13 -0
  990. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Miscella.pl +13 -0
  991. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Modifier.pl +13 -0
  992. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Mongolia.pl +13 -0
  993. data/Slic3r/Linux/lib/std/unicore/lib/Blk/MusicalS.pl +13 -0
  994. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Myanmar.pl +13 -0
  995. data/Slic3r/Linux/lib/std/unicore/lib/Blk/MyanmarE.pl +13 -0
  996. data/Slic3r/Linux/lib/std/unicore/lib/Blk/NKo.pl +13 -0
  997. data/Slic3r/Linux/lib/std/unicore/lib/Blk/NewTaiLu.pl +13 -0
  998. data/Slic3r/Linux/lib/std/unicore/lib/Blk/NoBlock.pl +45 -0
  999. data/Slic3r/Linux/lib/std/unicore/lib/Blk/NumberFo.pl +13 -0
  1000. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ogham.pl +13 -0
  1001. data/Slic3r/Linux/lib/std/unicore/lib/Blk/OlChiki.pl +13 -0
  1002. data/Slic3r/Linux/lib/std/unicore/lib/Blk/OldItali.pl +13 -0
  1003. data/Slic3r/Linux/lib/std/unicore/lib/Blk/OldPersi.pl +13 -0
  1004. data/Slic3r/Linux/lib/std/unicore/lib/Blk/OldSouth.pl +13 -0
  1005. data/Slic3r/Linux/lib/std/unicore/lib/Blk/OldTurki.pl +13 -0
  1006. data/Slic3r/Linux/lib/std/unicore/lib/Blk/OpticalC.pl +13 -0
  1007. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Oriya.pl +13 -0
  1008. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Osmanya.pl +13 -0
  1009. data/Slic3r/Linux/lib/std/unicore/lib/Blk/PhagsPa.pl +13 -0
  1010. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Phaistos.pl +13 -0
  1011. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Phoenici.pl +13 -0
  1012. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Phoneti2.pl +13 -0
  1013. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Phonetic.pl +13 -0
  1014. data/Slic3r/Linux/lib/std/unicore/lib/Blk/PlayingC.pl +13 -0
  1015. data/Slic3r/Linux/lib/std/unicore/lib/Blk/PrivateU.pl +13 -0
  1016. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Rejang.pl +13 -0
  1017. data/Slic3r/Linux/lib/std/unicore/lib/Blk/RumiNume.pl +13 -0
  1018. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Runic.pl +13 -0
  1019. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Samarita.pl +13 -0
  1020. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Saurasht.pl +13 -0
  1021. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Shavian.pl +13 -0
  1022. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Sinhala.pl +13 -0
  1023. data/Slic3r/Linux/lib/std/unicore/lib/Blk/SmallFor.pl +13 -0
  1024. data/Slic3r/Linux/lib/std/unicore/lib/Blk/SpacingM.pl +13 -0
  1025. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Specials.pl +13 -0
  1026. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Sundanes.pl +13 -0
  1027. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Superscr.pl +13 -0
  1028. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem2.pl +13 -0
  1029. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem3.pl +13 -0
  1030. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem4.pl +13 -0
  1031. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem5.pl +13 -0
  1032. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Supplem6.pl +13 -0
  1033. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Suppleme.pl +13 -0
  1034. data/Slic3r/Linux/lib/std/unicore/lib/Blk/SylotiNa.pl +13 -0
  1035. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Syriac.pl +13 -0
  1036. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tagalog.pl +13 -0
  1037. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tagbanwa.pl +13 -0
  1038. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tags.pl +13 -0
  1039. data/Slic3r/Linux/lib/std/unicore/lib/Blk/TaiLe.pl +13 -0
  1040. data/Slic3r/Linux/lib/std/unicore/lib/Blk/TaiTham.pl +13 -0
  1041. data/Slic3r/Linux/lib/std/unicore/lib/Blk/TaiViet.pl +13 -0
  1042. data/Slic3r/Linux/lib/std/unicore/lib/Blk/TaiXuanJ.pl +13 -0
  1043. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tamil.pl +13 -0
  1044. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Telugu.pl +13 -0
  1045. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Thaana.pl +13 -0
  1046. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Thai.pl +13 -0
  1047. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tibetan.pl +13 -0
  1048. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Tifinagh.pl +13 -0
  1049. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Transpor.pl +13 -0
  1050. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Ugaritic.pl +13 -0
  1051. data/Slic3r/Linux/lib/std/unicore/lib/Blk/UnifiedC.pl +13 -0
  1052. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Vai.pl +13 -0
  1053. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Variati2.pl +13 -0
  1054. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Variatio.pl +13 -0
  1055. data/Slic3r/Linux/lib/std/unicore/lib/Blk/VedicExt.pl +13 -0
  1056. data/Slic3r/Linux/lib/std/unicore/lib/Blk/Vertical.pl +13 -0
  1057. data/Slic3r/Linux/lib/std/unicore/lib/Blk/YiRadica.pl +13 -0
  1058. data/Slic3r/Linux/lib/std/unicore/lib/Blk/YiSyllab.pl +13 -0
  1059. data/Slic3r/Linux/lib/std/unicore/lib/Blk/YijingHe.pl +13 -0
  1060. data/Slic3r/Linux/lib/std/unicore/lib/CE/N.pl +46 -0
  1061. data/Slic3r/Linux/lib/std/unicore/lib/CE/Y.pl +45 -0
  1062. data/Slic3r/Linux/lib/std/unicore/lib/CI/N.pl +290 -0
  1063. data/Slic3r/Linux/lib/std/unicore/lib/CI/Y.pl +289 -0
  1064. data/Slic3r/Linux/lib/std/unicore/lib/CWCF/N.pl +590 -0
  1065. data/Slic3r/Linux/lib/std/unicore/lib/CWCF/Y.pl +589 -0
  1066. data/Slic3r/Linux/lib/std/unicore/lib/CWCM/N.pl +112 -0
  1067. data/Slic3r/Linux/lib/std/unicore/lib/CWCM/Y.pl +111 -0
  1068. data/Slic3r/Linux/lib/std/unicore/lib/CWKCF/N.pl +765 -0
  1069. data/Slic3r/Linux/lib/std/unicore/lib/CWKCF/Y.pl +764 -0
  1070. data/Slic3r/Linux/lib/std/unicore/lib/CWL/N.pl +579 -0
  1071. data/Slic3r/Linux/lib/std/unicore/lib/CWL/Y.pl +578 -0
  1072. data/Slic3r/Linux/lib/std/unicore/lib/CWT/N.pl +596 -0
  1073. data/Slic3r/Linux/lib/std/unicore/lib/CWT/Y.pl +595 -0
  1074. data/Slic3r/Linux/lib/std/unicore/lib/CWU/N.pl +595 -0
  1075. data/Slic3r/Linux/lib/std/unicore/lib/CWU/Y.pl +594 -0
  1076. data/Slic3r/Linux/lib/std/unicore/lib/Cased/N.pl +125 -0
  1077. data/Slic3r/Linux/lib/std/unicore/lib/Cased/Y.pl +124 -0
  1078. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/10.pl +13 -0
  1079. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/103.pl +13 -0
  1080. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/107.pl +13 -0
  1081. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/11.pl +13 -0
  1082. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/118.pl +13 -0
  1083. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/12.pl +13 -0
  1084. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/122.pl +13 -0
  1085. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/129.pl +13 -0
  1086. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/13.pl +13 -0
  1087. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/130.pl +15 -0
  1088. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/132.pl +13 -0
  1089. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/14.pl +13 -0
  1090. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/15.pl +13 -0
  1091. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/16.pl +13 -0
  1092. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/17.pl +13 -0
  1093. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/18.pl +14 -0
  1094. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/19.pl +13 -0
  1095. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/20.pl +13 -0
  1096. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/21.pl +13 -0
  1097. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/22.pl +13 -0
  1098. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/23.pl +13 -0
  1099. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/24.pl +13 -0
  1100. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/25.pl +13 -0
  1101. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/26.pl +13 -0
  1102. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/27.pl +13 -0
  1103. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/28.pl +13 -0
  1104. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/29.pl +13 -0
  1105. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/30.pl +14 -0
  1106. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/31.pl +14 -0
  1107. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/32.pl +14 -0
  1108. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/33.pl +13 -0
  1109. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/34.pl +13 -0
  1110. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/35.pl +13 -0
  1111. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/36.pl +13 -0
  1112. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/84.pl +13 -0
  1113. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/91.pl +13 -0
  1114. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/A.pl +96 -0
  1115. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/AL.pl +15 -0
  1116. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/AR.pl +16 -0
  1117. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/ATA.pl +13 -0
  1118. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/ATAR.pl +16 -0
  1119. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/ATB.pl +15 -0
  1120. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/ATBL.pl +13 -0
  1121. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/B.pl +71 -0
  1122. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/BL.pl +13 -0
  1123. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/BR.pl +16 -0
  1124. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/DA.pl +15 -0
  1125. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/DB.pl +16 -0
  1126. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/IS.pl +13 -0
  1127. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/KV.pl +13 -0
  1128. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/L.pl +13 -0
  1129. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/NK.pl +24 -0
  1130. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/NR.pl +135 -0
  1131. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/OV.pl +21 -0
  1132. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/R.pl +13 -0
  1133. data/Slic3r/Linux/lib/std/unicore/lib/Ccc/VR.pl +41 -0
  1134. data/Slic3r/Linux/lib/std/unicore/lib/CompEx/N.pl +87 -0
  1135. data/Slic3r/Linux/lib/std/unicore/lib/CompEx/Y.pl +86 -0
  1136. data/Slic3r/Linux/lib/std/unicore/lib/DI/N.pl +28 -0
  1137. data/Slic3r/Linux/lib/std/unicore/lib/DI/Y.pl +27 -0
  1138. data/Slic3r/Linux/lib/std/unicore/lib/Dash/N.pl +32 -0
  1139. data/Slic3r/Linux/lib/std/unicore/lib/Dash/Y.pl +31 -0
  1140. data/Slic3r/Linux/lib/std/unicore/lib/Dep/N.pl +22 -0
  1141. data/Slic3r/Linux/lib/std/unicore/lib/Dep/Y.pl +21 -0
  1142. data/Slic3r/Linux/lib/std/unicore/lib/Dia/N.pl +130 -0
  1143. data/Slic3r/Linux/lib/std/unicore/lib/Dia/Y.pl +129 -0
  1144. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Com.pl +86 -0
  1145. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Enc.pl +20 -0
  1146. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Fin.pl +125 -0
  1147. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Font.pl +46 -0
  1148. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Fra.pl +15 -0
  1149. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Init.pl +87 -0
  1150. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Iso.pl +110 -0
  1151. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Med.pl +66 -0
  1152. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Nar.pl +18 -0
  1153. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Nb.pl +17 -0
  1154. data/Slic3r/Linux/lib/std/unicore/lib/Dt/NonCanon.pl +161 -0
  1155. data/Slic3r/Linux/lib/std/unicore/lib/Dt/None.pl +362 -0
  1156. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Sml.pl +15 -0
  1157. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Sqr.pl +21 -0
  1158. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Sub.pl +16 -0
  1159. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Sup.pl +32 -0
  1160. data/Slic3r/Linux/lib/std/unicore/lib/Dt/Vert.pl +17 -0
  1161. data/Slic3r/Linux/lib/std/unicore/lib/Ea/A.pl +185 -0
  1162. data/Slic3r/Linux/lib/std/unicore/lib/Ea/F.pl +15 -0
  1163. data/Slic3r/Linux/lib/std/unicore/lib/Ea/H.pl +19 -0
  1164. data/Slic3r/Linux/lib/std/unicore/lib/Ea/N.pl +227 -0
  1165. data/Slic3r/Linux/lib/std/unicore/lib/Ea/Na.pl +19 -0
  1166. data/Slic3r/Linux/lib/std/unicore/lib/Ea/W.pl +49 -0
  1167. data/Slic3r/Linux/lib/std/unicore/lib/Ext/N.pl +33 -0
  1168. data/Slic3r/Linux/lib/std/unicore/lib/Ext/Y.pl +32 -0
  1169. data/Slic3r/Linux/lib/std/unicore/lib/GCB/CN.pl +32 -0
  1170. data/Slic3r/Linux/lib/std/unicore/lib/GCB/CR.pl +13 -0
  1171. data/Slic3r/Linux/lib/std/unicore/lib/GCB/EX.pl +227 -0
  1172. data/Slic3r/Linux/lib/std/unicore/lib/GCB/L.pl +14 -0
  1173. data/Slic3r/Linux/lib/std/unicore/lib/GCB/LF.pl +13 -0
  1174. data/Slic3r/Linux/lib/std/unicore/lib/GCB/LV.pl +411 -0
  1175. data/Slic3r/Linux/lib/std/unicore/lib/GCB/LVT.pl +411 -0
  1176. data/Slic3r/Linux/lib/std/unicore/lib/GCB/PP.pl +17 -0
  1177. data/Slic3r/Linux/lib/std/unicore/lib/GCB/SM.pl +125 -0
  1178. data/Slic3r/Linux/lib/std/unicore/lib/GCB/T.pl +14 -0
  1179. data/Slic3r/Linux/lib/std/unicore/lib/GCB/V.pl +14 -0
  1180. data/Slic3r/Linux/lib/std/unicore/lib/GCB/XX.pl +224 -0
  1181. data/Slic3r/Linux/lib/std/unicore/lib/Gc/C.pl +516 -0
  1182. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Cc.pl +14 -0
  1183. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Cf.pl +27 -0
  1184. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Cn.pl +513 -0
  1185. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Co.pl +15 -0
  1186. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Cs.pl +13 -0
  1187. data/Slic3r/Linux/lib/std/unicore/lib/Gc/L.pl +447 -0
  1188. data/Slic3r/Linux/lib/std/unicore/lib/Gc/LC.pl +122 -0
  1189. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Ll.pl +621 -0
  1190. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Lm.pl +61 -0
  1191. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Lo.pl +335 -0
  1192. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Lu.pl +615 -0
  1193. data/Slic3r/Linux/lib/std/unicore/lib/Gc/M.pl +205 -0
  1194. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Mc.pl +125 -0
  1195. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Me.pl +16 -0
  1196. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Mn.pl +215 -0
  1197. data/Slic3r/Linux/lib/std/unicore/lib/Gc/N.pl +95 -0
  1198. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Nl.pl +24 -0
  1199. data/Slic3r/Linux/lib/std/unicore/lib/Gc/No.pl +53 -0
  1200. data/Slic3r/Linux/lib/std/unicore/lib/Gc/P.pl +145 -0
  1201. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Pd.pl +27 -0
  1202. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Pe.pl +82 -0
  1203. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Pf.pl +22 -0
  1204. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Pi.pl +23 -0
  1205. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Po.pl +140 -0
  1206. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Ps.pl +84 -0
  1207. data/Slic3r/Linux/lib/std/unicore/lib/Gc/S.pl +220 -0
  1208. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Sc.pl +28 -0
  1209. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Sk.pl +39 -0
  1210. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Sm.pl +78 -0
  1211. data/Slic3r/Linux/lib/std/unicore/lib/Gc/So.pl +176 -0
  1212. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Z.pl +21 -0
  1213. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Zl.pl +13 -0
  1214. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Zp.pl +13 -0
  1215. data/Slic3r/Linux/lib/std/unicore/lib/Gc/Zs.pl +20 -0
  1216. data/Slic3r/Linux/lib/std/unicore/lib/GrBase/N.pl +609 -0
  1217. data/Slic3r/Linux/lib/std/unicore/lib/GrBase/Y.pl +608 -0
  1218. data/Slic3r/Linux/lib/std/unicore/lib/GrExt/N.pl +228 -0
  1219. data/Slic3r/Linux/lib/std/unicore/lib/Hex/N.pl +19 -0
  1220. data/Slic3r/Linux/lib/std/unicore/lib/Hex/Y.pl +18 -0
  1221. data/Slic3r/Linux/lib/std/unicore/lib/Hst/NA.pl +18 -0
  1222. data/Slic3r/Linux/lib/std/unicore/lib/Hyphen/N.pl +23 -0
  1223. data/Slic3r/Linux/lib/std/unicore/lib/Hyphen/Y.pl +22 -0
  1224. data/Slic3r/Linux/lib/std/unicore/lib/IDC/N.pl +527 -0
  1225. data/Slic3r/Linux/lib/std/unicore/lib/IDC/Y.pl +526 -0
  1226. data/Slic3r/Linux/lib/std/unicore/lib/IDS/N.pl +450 -0
  1227. data/Slic3r/Linux/lib/std/unicore/lib/IDS/Y.pl +449 -0
  1228. data/Slic3r/Linux/lib/std/unicore/lib/IDSB/N.pl +15 -0
  1229. data/Slic3r/Linux/lib/std/unicore/lib/IDSB/Y.pl +14 -0
  1230. data/Slic3r/Linux/lib/std/unicore/lib/IDST/N.pl +14 -0
  1231. data/Slic3r/Linux/lib/std/unicore/lib/IDST/Y.pl +13 -0
  1232. data/Slic3r/Linux/lib/std/unicore/lib/Ideo/N.pl +25 -0
  1233. data/Slic3r/Linux/lib/std/unicore/lib/Ideo/Y.pl +24 -0
  1234. data/Slic3r/Linux/lib/std/unicore/lib/In/2_0.pl +324 -0
  1235. data/Slic3r/Linux/lib/std/unicore/lib/In/2_1.pl +324 -0
  1236. data/Slic3r/Linux/lib/std/unicore/lib/In/3_0.pl +381 -0
  1237. data/Slic3r/Linux/lib/std/unicore/lib/In/3_1.pl +414 -0
  1238. data/Slic3r/Linux/lib/std/unicore/lib/In/3_2.pl +409 -0
  1239. data/Slic3r/Linux/lib/std/unicore/lib/In/4_0.pl +424 -0
  1240. data/Slic3r/Linux/lib/std/unicore/lib/In/4_1.pl +442 -0
  1241. data/Slic3r/Linux/lib/std/unicore/lib/In/5_0.pl +452 -0
  1242. data/Slic3r/Linux/lib/std/unicore/lib/In/5_1.pl +467 -0
  1243. data/Slic3r/Linux/lib/std/unicore/lib/In/5_2.pl +507 -0
  1244. data/Slic3r/Linux/lib/std/unicore/lib/In/6_0.pl +523 -0
  1245. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Ain.pl +16 -0
  1246. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Alaph.pl +13 -0
  1247. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Alef.pl +18 -0
  1248. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Beh.pl +17 -0
  1249. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Beth.pl +14 -0
  1250. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Burushas.pl +13 -0
  1251. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Dal.pl +16 -0
  1252. data/Slic3r/Linux/lib/std/unicore/lib/Jg/DalathRi.pl +15 -0
  1253. data/Slic3r/Linux/lib/std/unicore/lib/Jg/E.pl +13 -0
  1254. data/Slic3r/Linux/lib/std/unicore/lib/Jg/FarsiYeh.pl +16 -0
  1255. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Fe.pl +13 -0
  1256. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Feh.pl +15 -0
  1257. data/Slic3r/Linux/lib/std/unicore/lib/Jg/FinalSem.pl +13 -0
  1258. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Gaf.pl +17 -0
  1259. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Gamal.pl +14 -0
  1260. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Hah.pl +19 -0
  1261. data/Slic3r/Linux/lib/std/unicore/lib/Jg/He.pl +13 -0
  1262. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Heh.pl +13 -0
  1263. data/Slic3r/Linux/lib/std/unicore/lib/Jg/HehGoal.pl +13 -0
  1264. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Heth.pl +13 -0
  1265. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Kaf.pl +15 -0
  1266. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Kaph.pl +13 -0
  1267. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Khaph.pl +13 -0
  1268. data/Slic3r/Linux/lib/std/unicore/lib/Jg/KnottedH.pl +14 -0
  1269. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Lam.pl +15 -0
  1270. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Lamadh.pl +13 -0
  1271. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Meem.pl +14 -0
  1272. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Mim.pl +13 -0
  1273. data/Slic3r/Linux/lib/std/unicore/lib/Jg/NoJoinin.pl +26 -0
  1274. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Noon.pl +15 -0
  1275. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Nun.pl +13 -0
  1276. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Nya.pl +13 -0
  1277. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Pe.pl +13 -0
  1278. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Qaf.pl +15 -0
  1279. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Qaph.pl +13 -0
  1280. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Reh.pl +18 -0
  1281. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Reversed.pl +13 -0
  1282. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Sad.pl +15 -0
  1283. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Sadhe.pl +13 -0
  1284. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Seen.pl +19 -0
  1285. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Semkath.pl +13 -0
  1286. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Shin.pl +13 -0
  1287. data/Slic3r/Linux/lib/std/unicore/lib/Jg/SwashKaf.pl +13 -0
  1288. data/Slic3r/Linux/lib/std/unicore/lib/Jg/SyriacWa.pl +13 -0
  1289. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Tah.pl +14 -0
  1290. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Taw.pl +13 -0
  1291. data/Slic3r/Linux/lib/std/unicore/lib/Jg/TehMarb2.pl +13 -0
  1292. data/Slic3r/Linux/lib/std/unicore/lib/Jg/TehMarbu.pl +15 -0
  1293. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Teth.pl +13 -0
  1294. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Waw.pl +18 -0
  1295. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Yeh.pl +18 -0
  1296. data/Slic3r/Linux/lib/std/unicore/lib/Jg/YehBarre.pl +13 -0
  1297. data/Slic3r/Linux/lib/std/unicore/lib/Jg/YehWithT.pl +13 -0
  1298. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Yudh.pl +13 -0
  1299. data/Slic3r/Linux/lib/std/unicore/lib/Jg/YudhHe.pl +13 -0
  1300. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Zain.pl +13 -0
  1301. data/Slic3r/Linux/lib/std/unicore/lib/Jg/Zhain.pl +13 -0
  1302. data/Slic3r/Linux/lib/std/unicore/lib/JoinC/N.pl +14 -0
  1303. data/Slic3r/Linux/lib/std/unicore/lib/JoinC/Y.pl +13 -0
  1304. data/Slic3r/Linux/lib/std/unicore/lib/Jt/C.pl +15 -0
  1305. data/Slic3r/Linux/lib/std/unicore/lib/Jt/D.pl +41 -0
  1306. data/Slic3r/Linux/lib/std/unicore/lib/Jt/R.pl +40 -0
  1307. data/Slic3r/Linux/lib/std/unicore/lib/Jt/T.pl +226 -0
  1308. data/Slic3r/Linux/lib/std/unicore/lib/Jt/U.pl +231 -0
  1309. data/Slic3r/Linux/lib/std/unicore/lib/LOE/N.pl +18 -0
  1310. data/Slic3r/Linux/lib/std/unicore/lib/Lb/AI.pl +117 -0
  1311. data/Slic3r/Linux/lib/std/unicore/lib/Lb/AL.pl +576 -0
  1312. data/Slic3r/Linux/lib/std/unicore/lib/Lb/B2.pl +13 -0
  1313. data/Slic3r/Linux/lib/std/unicore/lib/Lb/BA.pl +74 -0
  1314. data/Slic3r/Linux/lib/std/unicore/lib/Lb/BB.pl +24 -0
  1315. data/Slic3r/Linux/lib/std/unicore/lib/Lb/BK.pl +14 -0
  1316. data/Slic3r/Linux/lib/std/unicore/lib/Lb/CB.pl +13 -0
  1317. data/Slic3r/Linux/lib/std/unicore/lib/Lb/CL.pl +91 -0
  1318. data/Slic3r/Linux/lib/std/unicore/lib/Lb/CM.pl +189 -0
  1319. data/Slic3r/Linux/lib/std/unicore/lib/Lb/CP.pl +14 -0
  1320. data/Slic3r/Linux/lib/std/unicore/lib/Lb/EX.pl +34 -0
  1321. data/Slic3r/Linux/lib/std/unicore/lib/Lb/GL.pl +23 -0
  1322. data/Slic3r/Linux/lib/std/unicore/lib/Lb/HY.pl +13 -0
  1323. data/Slic3r/Linux/lib/std/unicore/lib/Lb/ID.pl +85 -0
  1324. data/Slic3r/Linux/lib/std/unicore/lib/Lb/IN.pl +14 -0
  1325. data/Slic3r/Linux/lib/std/unicore/lib/Lb/IS.pl +22 -0
  1326. data/Slic3r/Linux/lib/std/unicore/lib/Lb/NL.pl +13 -0
  1327. data/Slic3r/Linux/lib/std/unicore/lib/Lb/NS.pl +49 -0
  1328. data/Slic3r/Linux/lib/std/unicore/lib/Lb/NU.pl +50 -0
  1329. data/Slic3r/Linux/lib/std/unicore/lib/Lb/OP.pl +91 -0
  1330. data/Slic3r/Linux/lib/std/unicore/lib/Lb/PO.pl +30 -0
  1331. data/Slic3r/Linux/lib/std/unicore/lib/Lb/PR.pl +31 -0
  1332. data/Slic3r/Linux/lib/std/unicore/lib/Lb/QU.pl +24 -0
  1333. data/Slic3r/Linux/lib/std/unicore/lib/Lb/SA.pl +49 -0
  1334. data/Slic3r/Linux/lib/std/unicore/lib/Lb/SG.pl +13 -0
  1335. data/Slic3r/Linux/lib/std/unicore/lib/Lb/SP.pl +13 -0
  1336. data/Slic3r/Linux/lib/std/unicore/lib/Lb/SY.pl +13 -0
  1337. data/Slic3r/Linux/lib/std/unicore/lib/Lb/WJ.pl +14 -0
  1338. data/Slic3r/Linux/lib/std/unicore/lib/Lb/XX.pl +505 -0
  1339. data/Slic3r/Linux/lib/std/unicore/lib/Lb/ZW.pl +13 -0
  1340. data/Slic3r/Linux/lib/std/unicore/lib/Lower/N.pl +625 -0
  1341. data/Slic3r/Linux/lib/std/unicore/lib/Lower/Y.pl +624 -0
  1342. data/Slic3r/Linux/lib/std/unicore/lib/Math/N.pl +119 -0
  1343. data/Slic3r/Linux/lib/std/unicore/lib/Math/Y.pl +118 -0
  1344. data/Slic3r/Linux/lib/std/unicore/lib/NChar/N.pl +30 -0
  1345. data/Slic3r/Linux/lib/std/unicore/lib/NChar/Y.pl +30 -0
  1346. data/Slic3r/Linux/lib/std/unicore/lib/NFCQC/Y.pl +118 -0
  1347. data/Slic3r/Linux/lib/std/unicore/lib/NFDQC/N.pl +239 -0
  1348. data/Slic3r/Linux/lib/std/unicore/lib/NFDQC/Y.pl +240 -0
  1349. data/Slic3r/Linux/lib/std/unicore/lib/NFKCQC/M.pl +46 -0
  1350. data/Slic3r/Linux/lib/std/unicore/lib/NFKCQC/N.pl +225 -0
  1351. data/Slic3r/Linux/lib/std/unicore/lib/NFKCQC/Y.pl +256 -0
  1352. data/Slic3r/Linux/lib/std/unicore/lib/NFKDQC/N.pl +361 -0
  1353. data/Slic3r/Linux/lib/std/unicore/lib/Nt/De.pl +50 -0
  1354. data/Slic3r/Linux/lib/std/unicore/lib/Nt/Di.pl +32 -0
  1355. data/Slic3r/Linux/lib/std/unicore/lib/Nt/Nu.pl +134 -0
  1356. data/Slic3r/Linux/lib/std/unicore/lib/Nv/0.pl +67 -0
  1357. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1.pl +102 -0
  1358. data/Slic3r/Linux/lib/std/unicore/lib/Nv/10.pl +47 -0
  1359. data/Slic3r/Linux/lib/std/unicore/lib/Nv/100.pl +32 -0
  1360. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1000.pl +28 -0
  1361. data/Slic3r/Linux/lib/std/unicore/lib/Nv/10000.pl +19 -0
  1362. data/Slic3r/Linux/lib/std/unicore/lib/Nv/100000.pl +13 -0
  1363. data/Slic3r/Linux/lib/std/unicore/lib/Nv/10000000.pl +14 -0
  1364. data/Slic3r/Linux/lib/std/unicore/lib/Nv/10000002.pl +13 -0
  1365. data/Slic3r/Linux/lib/std/unicore/lib/Nv/11.pl +18 -0
  1366. data/Slic3r/Linux/lib/std/unicore/lib/Nv/11_2.pl +13 -0
  1367. data/Slic3r/Linux/lib/std/unicore/lib/Nv/12.pl +18 -0
  1368. data/Slic3r/Linux/lib/std/unicore/lib/Nv/13.pl +16 -0
  1369. data/Slic3r/Linux/lib/std/unicore/lib/Nv/13_2.pl +13 -0
  1370. data/Slic3r/Linux/lib/std/unicore/lib/Nv/14.pl +16 -0
  1371. data/Slic3r/Linux/lib/std/unicore/lib/Nv/15.pl +16 -0
  1372. data/Slic3r/Linux/lib/std/unicore/lib/Nv/15_2.pl +13 -0
  1373. data/Slic3r/Linux/lib/std/unicore/lib/Nv/16.pl +17 -0
  1374. data/Slic3r/Linux/lib/std/unicore/lib/Nv/17.pl +17 -0
  1375. data/Slic3r/Linux/lib/std/unicore/lib/Nv/17_2.pl +13 -0
  1376. data/Slic3r/Linux/lib/std/unicore/lib/Nv/18.pl +17 -0
  1377. data/Slic3r/Linux/lib/std/unicore/lib/Nv/19.pl +17 -0
  1378. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_10.pl +13 -0
  1379. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_16.pl +15 -0
  1380. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_2.pl +21 -0
  1381. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_3.pl +16 -0
  1382. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_4.pl +21 -0
  1383. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_5.pl +13 -0
  1384. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_6.pl +14 -0
  1385. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_7.pl +13 -0
  1386. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_8.pl +17 -0
  1387. data/Slic3r/Linux/lib/std/unicore/lib/Nv/1_9.pl +13 -0
  1388. data/Slic3r/Linux/lib/std/unicore/lib/Nv/2.pl +105 -0
  1389. data/Slic3r/Linux/lib/std/unicore/lib/Nv/20.pl +30 -0
  1390. data/Slic3r/Linux/lib/std/unicore/lib/Nv/200.pl +14 -0
  1391. data/Slic3r/Linux/lib/std/unicore/lib/Nv/2000.pl +13 -0
  1392. data/Slic3r/Linux/lib/std/unicore/lib/Nv/20000.pl +13 -0
  1393. data/Slic3r/Linux/lib/std/unicore/lib/Nv/21.pl +13 -0
  1394. data/Slic3r/Linux/lib/std/unicore/lib/Nv/22.pl +13 -0
  1395. data/Slic3r/Linux/lib/std/unicore/lib/Nv/23.pl +13 -0
  1396. data/Slic3r/Linux/lib/std/unicore/lib/Nv/24.pl +13 -0
  1397. data/Slic3r/Linux/lib/std/unicore/lib/Nv/25.pl +13 -0
  1398. data/Slic3r/Linux/lib/std/unicore/lib/Nv/26.pl +13 -0
  1399. data/Slic3r/Linux/lib/std/unicore/lib/Nv/27.pl +13 -0
  1400. data/Slic3r/Linux/lib/std/unicore/lib/Nv/28.pl +13 -0
  1401. data/Slic3r/Linux/lib/std/unicore/lib/Nv/29.pl +13 -0
  1402. data/Slic3r/Linux/lib/std/unicore/lib/Nv/2_3.pl +17 -0
  1403. data/Slic3r/Linux/lib/std/unicore/lib/Nv/2_5.pl +13 -0
  1404. data/Slic3r/Linux/lib/std/unicore/lib/Nv/3.pl +103 -0
  1405. data/Slic3r/Linux/lib/std/unicore/lib/Nv/30.pl +22 -0
  1406. data/Slic3r/Linux/lib/std/unicore/lib/Nv/300.pl +15 -0
  1407. data/Slic3r/Linux/lib/std/unicore/lib/Nv/3000.pl +13 -0
  1408. data/Slic3r/Linux/lib/std/unicore/lib/Nv/30000.pl +13 -0
  1409. data/Slic3r/Linux/lib/std/unicore/lib/Nv/31.pl +13 -0
  1410. data/Slic3r/Linux/lib/std/unicore/lib/Nv/32.pl +13 -0
  1411. data/Slic3r/Linux/lib/std/unicore/lib/Nv/33.pl +13 -0
  1412. data/Slic3r/Linux/lib/std/unicore/lib/Nv/34.pl +13 -0
  1413. data/Slic3r/Linux/lib/std/unicore/lib/Nv/35.pl +13 -0
  1414. data/Slic3r/Linux/lib/std/unicore/lib/Nv/36.pl +13 -0
  1415. data/Slic3r/Linux/lib/std/unicore/lib/Nv/37.pl +13 -0
  1416. data/Slic3r/Linux/lib/std/unicore/lib/Nv/38.pl +13 -0
  1417. data/Slic3r/Linux/lib/std/unicore/lib/Nv/39.pl +13 -0
  1418. data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_16.pl +15 -0
  1419. data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_2.pl +13 -0
  1420. data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_4.pl +18 -0
  1421. data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_5.pl +13 -0
  1422. data/Slic3r/Linux/lib/std/unicore/lib/Nv/3_8.pl +13 -0
  1423. data/Slic3r/Linux/lib/std/unicore/lib/Nv/4.pl +97 -0
  1424. data/Slic3r/Linux/lib/std/unicore/lib/Nv/40.pl +21 -0
  1425. data/Slic3r/Linux/lib/std/unicore/lib/Nv/400.pl +14 -0
  1426. data/Slic3r/Linux/lib/std/unicore/lib/Nv/4000.pl +13 -0
  1427. data/Slic3r/Linux/lib/std/unicore/lib/Nv/40000.pl +13 -0
  1428. data/Slic3r/Linux/lib/std/unicore/lib/Nv/41.pl +13 -0
  1429. data/Slic3r/Linux/lib/std/unicore/lib/Nv/42.pl +13 -0
  1430. data/Slic3r/Linux/lib/std/unicore/lib/Nv/43.pl +13 -0
  1431. data/Slic3r/Linux/lib/std/unicore/lib/Nv/44.pl +13 -0
  1432. data/Slic3r/Linux/lib/std/unicore/lib/Nv/45.pl +13 -0
  1433. data/Slic3r/Linux/lib/std/unicore/lib/Nv/46.pl +13 -0
  1434. data/Slic3r/Linux/lib/std/unicore/lib/Nv/47.pl +13 -0
  1435. data/Slic3r/Linux/lib/std/unicore/lib/Nv/48.pl +13 -0
  1436. data/Slic3r/Linux/lib/std/unicore/lib/Nv/49.pl +13 -0
  1437. data/Slic3r/Linux/lib/std/unicore/lib/Nv/4_5.pl +13 -0
  1438. data/Slic3r/Linux/lib/std/unicore/lib/Nv/5.pl +97 -0
  1439. data/Slic3r/Linux/lib/std/unicore/lib/Nv/50.pl +28 -0
  1440. data/Slic3r/Linux/lib/std/unicore/lib/Nv/500.pl +20 -0
  1441. data/Slic3r/Linux/lib/std/unicore/lib/Nv/5000.pl +17 -0
  1442. data/Slic3r/Linux/lib/std/unicore/lib/Nv/50000.pl +16 -0
  1443. data/Slic3r/Linux/lib/std/unicore/lib/Nv/5_2.pl +13 -0
  1444. data/Slic3r/Linux/lib/std/unicore/lib/Nv/5_6.pl +14 -0
  1445. data/Slic3r/Linux/lib/std/unicore/lib/Nv/5_8.pl +13 -0
  1446. data/Slic3r/Linux/lib/std/unicore/lib/Nv/6.pl +90 -0
  1447. data/Slic3r/Linux/lib/std/unicore/lib/Nv/60.pl +17 -0
  1448. data/Slic3r/Linux/lib/std/unicore/lib/Nv/600.pl +14 -0
  1449. data/Slic3r/Linux/lib/std/unicore/lib/Nv/6000.pl +13 -0
  1450. data/Slic3r/Linux/lib/std/unicore/lib/Nv/60000.pl +13 -0
  1451. data/Slic3r/Linux/lib/std/unicore/lib/Nv/7.pl +87 -0
  1452. data/Slic3r/Linux/lib/std/unicore/lib/Nv/70.pl +17 -0
  1453. data/Slic3r/Linux/lib/std/unicore/lib/Nv/700.pl +14 -0
  1454. data/Slic3r/Linux/lib/std/unicore/lib/Nv/7000.pl +13 -0
  1455. data/Slic3r/Linux/lib/std/unicore/lib/Nv/70000.pl +13 -0
  1456. data/Slic3r/Linux/lib/std/unicore/lib/Nv/7_2.pl +13 -0
  1457. data/Slic3r/Linux/lib/std/unicore/lib/Nv/7_8.pl +13 -0
  1458. data/Slic3r/Linux/lib/std/unicore/lib/Nv/8.pl +84 -0
  1459. data/Slic3r/Linux/lib/std/unicore/lib/Nv/80.pl +17 -0
  1460. data/Slic3r/Linux/lib/std/unicore/lib/Nv/800.pl +14 -0
  1461. data/Slic3r/Linux/lib/std/unicore/lib/Nv/8000.pl +13 -0
  1462. data/Slic3r/Linux/lib/std/unicore/lib/Nv/80000.pl +13 -0
  1463. data/Slic3r/Linux/lib/std/unicore/lib/Nv/9.pl +86 -0
  1464. data/Slic3r/Linux/lib/std/unicore/lib/Nv/90.pl +18 -0
  1465. data/Slic3r/Linux/lib/std/unicore/lib/Nv/900.pl +15 -0
  1466. data/Slic3r/Linux/lib/std/unicore/lib/Nv/9000.pl +13 -0
  1467. data/Slic3r/Linux/lib/std/unicore/lib/Nv/90000.pl +13 -0
  1468. data/Slic3r/Linux/lib/std/unicore/lib/Nv/9_2.pl +13 -0
  1469. data/Slic3r/Linux/lib/std/unicore/lib/Nv/NaN.pl +170 -0
  1470. data/Slic3r/Linux/lib/std/unicore/lib/Nv/_1_2.pl +13 -0
  1471. data/Slic3r/Linux/lib/std/unicore/lib/OAlpha/N.pl +158 -0
  1472. data/Slic3r/Linux/lib/std/unicore/lib/OAlpha/Y.pl +157 -0
  1473. data/Slic3r/Linux/lib/std/unicore/lib/ODI/N.pl +23 -0
  1474. data/Slic3r/Linux/lib/std/unicore/lib/ODI/Y.pl +22 -0
  1475. data/Slic3r/Linux/lib/std/unicore/lib/OGrExt/N.pl +29 -0
  1476. data/Slic3r/Linux/lib/std/unicore/lib/OGrExt/Y.pl +28 -0
  1477. data/Slic3r/Linux/lib/std/unicore/lib/OIDC/N.pl +17 -0
  1478. data/Slic3r/Linux/lib/std/unicore/lib/OIDC/Y.pl +16 -0
  1479. data/Slic3r/Linux/lib/std/unicore/lib/OIDS/N.pl +16 -0
  1480. data/Slic3r/Linux/lib/std/unicore/lib/OIDS/Y.pl +15 -0
  1481. data/Slic3r/Linux/lib/std/unicore/lib/OLower/N.pl +26 -0
  1482. data/Slic3r/Linux/lib/std/unicore/lib/OLower/Y.pl +25 -0
  1483. data/Slic3r/Linux/lib/std/unicore/lib/OMath/N.pl +113 -0
  1484. data/Slic3r/Linux/lib/std/unicore/lib/OMath/Y.pl +112 -0
  1485. data/Slic3r/Linux/lib/std/unicore/lib/OUpper/N.pl +15 -0
  1486. data/Slic3r/Linux/lib/std/unicore/lib/OUpper/Y.pl +14 -0
  1487. data/Slic3r/Linux/lib/std/unicore/lib/PatSyn/N.pl +41 -0
  1488. data/Slic3r/Linux/lib/std/unicore/lib/PatSyn/Y.pl +40 -0
  1489. data/Slic3r/Linux/lib/std/unicore/lib/PatWS/N.pl +18 -0
  1490. data/Slic3r/Linux/lib/std/unicore/lib/PatWS/Y.pl +17 -0
  1491. data/Slic3r/Linux/lib/std/unicore/lib/Perl/Alnum.pl +521 -0
  1492. data/Slic3r/Linux/lib/std/unicore/lib/Perl/Any.pl +13 -0
  1493. data/Slic3r/Linux/lib/std/unicore/lib/Perl/Assigned.pl +513 -0
  1494. data/Slic3r/Linux/lib/std/unicore/lib/Perl/Blank.pl +21 -0
  1495. data/Slic3r/Linux/lib/std/unicore/lib/Perl/Graph.pl +518 -0
  1496. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PerlSpac.pl +15 -0
  1497. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PerlWord.pl +16 -0
  1498. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixAln.pl +15 -0
  1499. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixAlp.pl +14 -0
  1500. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixBla.pl +14 -0
  1501. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixCnt.pl +14 -0
  1502. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixDig.pl +13 -0
  1503. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixGra.pl +13 -0
  1504. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixLow.pl +13 -0
  1505. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixPri.pl +13 -0
  1506. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixPun.pl +16 -0
  1507. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixSpa.pl +14 -0
  1508. data/Slic3r/Linux/lib/std/unicore/lib/Perl/PosixUpp.pl +13 -0
  1509. data/Slic3r/Linux/lib/std/unicore/lib/Perl/Print.pl +515 -0
  1510. data/Slic3r/Linux/lib/std/unicore/lib/Perl/SpacePer.pl +24 -0
  1511. data/Slic3r/Linux/lib/std/unicore/lib/Perl/Title.pl +22 -0
  1512. data/Slic3r/Linux/lib/std/unicore/lib/Perl/VertSpac.pl +15 -0
  1513. data/Slic3r/Linux/lib/std/unicore/lib/Perl/Word.pl +526 -0
  1514. data/Slic3r/Linux/lib/std/unicore/lib/Perl/XPosixPu.pl +140 -0
  1515. data/Slic3r/Linux/lib/std/unicore/lib/Perl/_XBegin.pl +30 -0
  1516. data/Slic3r/Linux/lib/std/unicore/lib/Perl/_XExtend.pl +206 -0
  1517. data/Slic3r/Linux/lib/std/unicore/lib/Perl/_XLVLVTV.pl +15 -0
  1518. data/Slic3r/Linux/lib/std/unicore/lib/QMark/N.pl +25 -0
  1519. data/Slic3r/Linux/lib/std/unicore/lib/QMark/Y.pl +24 -0
  1520. data/Slic3r/Linux/lib/std/unicore/lib/Radical/N.pl +16 -0
  1521. data/Slic3r/Linux/lib/std/unicore/lib/Radical/Y.pl +15 -0
  1522. data/Slic3r/Linux/lib/std/unicore/lib/SB/AT.pl +16 -0
  1523. data/Slic3r/Linux/lib/std/unicore/lib/SB/CL.pl +53 -0
  1524. data/Slic3r/Linux/lib/std/unicore/lib/SB/EX.pl +207 -0
  1525. data/Slic3r/Linux/lib/std/unicore/lib/SB/FO.pl +28 -0
  1526. data/Slic3r/Linux/lib/std/unicore/lib/SB/LE.pl +362 -0
  1527. data/Slic3r/Linux/lib/std/unicore/lib/SB/LO.pl +623 -0
  1528. data/Slic3r/Linux/lib/std/unicore/lib/SB/SC.pl +31 -0
  1529. data/Slic3r/Linux/lib/std/unicore/lib/SB/SE.pl +14 -0
  1530. data/Slic3r/Linux/lib/std/unicore/lib/SB/ST.pl +56 -0
  1531. data/Slic3r/Linux/lib/std/unicore/lib/SB/Sp.pl +22 -0
  1532. data/Slic3r/Linux/lib/std/unicore/lib/SB/UP.pl +620 -0
  1533. data/Slic3r/Linux/lib/std/unicore/lib/SB/XX.pl +584 -0
  1534. data/Slic3r/Linux/lib/std/unicore/lib/SD/N.pl +44 -0
  1535. data/Slic3r/Linux/lib/std/unicore/lib/SD/Y.pl +43 -0
  1536. data/Slic3r/Linux/lib/std/unicore/lib/STerm/N.pl +60 -0
  1537. data/Slic3r/Linux/lib/std/unicore/lib/STerm/Y.pl +59 -0
  1538. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Arab.pl +31 -0
  1539. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Armi.pl +14 -0
  1540. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Armn.pl +17 -0
  1541. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Avst.pl +14 -0
  1542. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Bali.pl +14 -0
  1543. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Bamu.pl +14 -0
  1544. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Batk.pl +14 -0
  1545. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Beng.pl +26 -0
  1546. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Bopo.pl +15 -0
  1547. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Brah.pl +14 -0
  1548. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Bugi.pl +14 -0
  1549. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Buhd.pl +13 -0
  1550. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cans.pl +14 -0
  1551. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cari.pl +13 -0
  1552. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cham.pl +16 -0
  1553. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cher.pl +13 -0
  1554. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Copt.pl +15 -0
  1555. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cprt.pl +18 -0
  1556. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Cyrl.pl +19 -0
  1557. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Deva.pl +18 -0
  1558. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Egyp.pl +13 -0
  1559. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Ethi.pl +44 -0
  1560. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Geor.pl +16 -0
  1561. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Glag.pl +14 -0
  1562. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Goth.pl +13 -0
  1563. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Grek.pl +45 -0
  1564. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Gujr.pl +26 -0
  1565. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Guru.pl +28 -0
  1566. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Han.pl +28 -0
  1567. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Hang.pl +26 -0
  1568. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Hano.pl +13 -0
  1569. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Hebr.pl +21 -0
  1570. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Hira.pl +16 -0
  1571. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Ital.pl +14 -0
  1572. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Java.pl +15 -0
  1573. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Kana.pl +20 -0
  1574. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Khar.pl +20 -0
  1575. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Khmr.pl +16 -0
  1576. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Knda.pl +26 -0
  1577. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Kthi.pl +13 -0
  1578. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lana.pl +17 -0
  1579. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lao.pl +30 -0
  1580. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Latn.pl +42 -0
  1581. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lepc.pl +15 -0
  1582. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Limb.pl +17 -0
  1583. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Linb.pl +19 -0
  1584. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lyci.pl +13 -0
  1585. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Lydi.pl +14 -0
  1586. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mand.pl +14 -0
  1587. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mlym.pl +23 -0
  1588. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mong.pl +18 -0
  1589. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mtei.pl +14 -0
  1590. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Mymr.pl +14 -0
  1591. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Nko.pl +13 -0
  1592. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Ogam.pl +13 -0
  1593. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Orkh.pl +13 -0
  1594. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Orya.pl +26 -0
  1595. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Osma.pl +14 -0
  1596. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Phag.pl +13 -0
  1597. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Phli.pl +14 -0
  1598. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Phnx.pl +14 -0
  1599. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Prti.pl +14 -0
  1600. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Rjng.pl +14 -0
  1601. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Runr.pl +14 -0
  1602. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Samr.pl +14 -0
  1603. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Saur.pl +14 -0
  1604. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Sinh.pl +23 -0
  1605. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Sund.pl +14 -0
  1606. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Sylo.pl +13 -0
  1607. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Syrc.pl +15 -0
  1608. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tagb.pl +15 -0
  1609. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tale.pl +14 -0
  1610. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Talu.pl +16 -0
  1611. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Taml.pl +28 -0
  1612. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tavt.pl +14 -0
  1613. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Telu.pl +26 -0
  1614. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tfng.pl +15 -0
  1615. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tglg.pl +14 -0
  1616. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Thaa.pl +13 -0
  1617. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Thai.pl +14 -0
  1618. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Tibt.pl +19 -0
  1619. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Ugar.pl +14 -0
  1620. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Vai.pl +13 -0
  1621. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Xpeo.pl +14 -0
  1622. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Xsux.pl +15 -0
  1623. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Yi.pl +14 -0
  1624. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Zinh.pl +36 -0
  1625. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Zyyy.pl +181 -0
  1626. data/Slic3r/Linux/lib/std/unicore/lib/Sc/Zzzz.pl +511 -0
  1627. data/Slic3r/Linux/lib/std/unicore/lib/Space/N.pl +24 -0
  1628. data/Slic3r/Linux/lib/std/unicore/lib/Space/Y.pl +23 -0
  1629. data/Slic3r/Linux/lib/std/unicore/lib/Term/N.pl +80 -0
  1630. data/Slic3r/Linux/lib/std/unicore/lib/Term/Y.pl +79 -0
  1631. data/Slic3r/Linux/lib/std/unicore/lib/UIdeo/N.pl +25 -0
  1632. data/Slic3r/Linux/lib/std/unicore/lib/UIdeo/Y.pl +24 -0
  1633. data/Slic3r/Linux/lib/std/unicore/lib/Upper/N.pl +618 -0
  1634. data/Slic3r/Linux/lib/std/unicore/lib/Upper/Y.pl +617 -0
  1635. data/Slic3r/Linux/lib/std/unicore/lib/VS/N.pl +16 -0
  1636. data/Slic3r/Linux/lib/std/unicore/lib/VS/Y.pl +15 -0
  1637. data/Slic3r/Linux/lib/std/unicore/lib/WB/EX.pl +18 -0
  1638. data/Slic3r/Linux/lib/std/unicore/lib/WB/FO.pl +27 -0
  1639. data/Slic3r/Linux/lib/std/unicore/lib/WB/KA.pl +21 -0
  1640. data/Slic3r/Linux/lib/std/unicore/lib/WB/LE.pl +388 -0
  1641. data/Slic3r/Linux/lib/std/unicore/lib/WB/MB.pl +19 -0
  1642. data/Slic3r/Linux/lib/std/unicore/lib/WB/ML.pl +20 -0
  1643. data/Slic3r/Linux/lib/std/unicore/lib/WB/MN.pl +26 -0
  1644. data/Slic3r/Linux/lib/std/unicore/lib/WB/NL.pl +15 -0
  1645. data/Slic3r/Linux/lib/std/unicore/lib/WB/NU.pl +50 -0
  1646. data/Slic3r/Linux/lib/std/unicore/lib/WB/XX.pl +539 -0
  1647. data/Slic3r/Linux/lib/std/unicore/lib/XIDC/N.pl +534 -0
  1648. data/Slic3r/Linux/lib/std/unicore/lib/XIDC/Y.pl +533 -0
  1649. data/Slic3r/Linux/lib/std/unicore/lib/XIDS/N.pl +457 -0
  1650. data/Slic3r/Linux/lib/std/unicore/lib/XIDS/Y.pl +456 -0
  1651. data/Slic3r/Linux/lib/std/utf8.pm +214 -0
  1652. data/Slic3r/Linux/lib/std/utf8_heavy.pl +550 -0
  1653. data/Slic3r/Linux/lib/vrt/528ccea98cad02a5f453a7135f9ca183/package.lib +0 -0
  1654. data/Slic3r/Linux/lib/vrt/804f15d0b003b04c3feb68e47adacf8d/package.lib +1 -0
  1655. data/Slic3r/Linux/lib/vrt/fa119178d164dcf97f19aecc876231c0/package.lib +0 -0
  1656. data/Slic3r/Linux/res/Slic3r.icns +0 -0
  1657. data/Slic3r/Linux/res/Slic3r.ico +0 -0
  1658. data/Slic3r/Linux/res/Slic3r.png +0 -0
  1659. data/Slic3r/Linux/res/Slic3r_128px.png +0 -0
  1660. data/Slic3r/Linux/res/Slic3r_192px.png +0 -0
  1661. data/Slic3r/Linux/res/Slic3r_192px_transparent.png +0 -0
  1662. data/Slic3r/Linux/res/add.png +0 -0
  1663. data/Slic3r/Linux/res/arrow_out.png +0 -0
  1664. data/Slic3r/Linux/res/arrow_rotate_anticlockwise.png +0 -0
  1665. data/Slic3r/Linux/res/arrow_rotate_clockwise.png +0 -0
  1666. data/Slic3r/Linux/res/arrow_up.png +0 -0
  1667. data/Slic3r/Linux/res/box.png +0 -0
  1668. data/Slic3r/Linux/res/brick.png +0 -0
  1669. data/Slic3r/Linux/res/brick_add.png +0 -0
  1670. data/Slic3r/Linux/res/brick_delete.png +0 -0
  1671. data/Slic3r/Linux/res/brick_go.png +0 -0
  1672. data/Slic3r/Linux/res/bricks.png +0 -0
  1673. data/Slic3r/Linux/res/building.png +0 -0
  1674. data/Slic3r/Linux/res/bullet_black.png +0 -0
  1675. data/Slic3r/Linux/res/bullet_blue.png +0 -0
  1676. data/Slic3r/Linux/res/bullet_white.png +0 -0
  1677. data/Slic3r/Linux/res/cog.png +0 -0
  1678. data/Slic3r/Linux/res/cog_go.png +0 -0
  1679. data/Slic3r/Linux/res/cross.png +0 -0
  1680. data/Slic3r/Linux/res/delete.png +0 -0
  1681. data/Slic3r/Linux/res/disk.png +0 -0
  1682. data/Slic3r/Linux/res/error.png +0 -0
  1683. data/Slic3r/Linux/res/funnel.png +0 -0
  1684. data/Slic3r/Linux/res/hourglass.png +0 -0
  1685. data/Slic3r/Linux/res/layers.png +0 -0
  1686. data/Slic3r/Linux/res/note.png +0 -0
  1687. data/Slic3r/Linux/res/package.png +0 -0
  1688. data/Slic3r/Linux/res/package_green.png +0 -0
  1689. data/Slic3r/Linux/res/page_white_go.png +0 -0
  1690. data/Slic3r/Linux/res/plugin.png +0 -0
  1691. data/Slic3r/Linux/res/printer_empty.png +0 -0
  1692. data/Slic3r/Linux/res/shading.png +0 -0
  1693. data/Slic3r/Linux/res/shape_ungroup.png +0 -0
  1694. data/Slic3r/Linux/res/spool.png +0 -0
  1695. data/Slic3r/Linux/res/tag_blue.png +0 -0
  1696. data/Slic3r/Linux/res/time.png +0 -0
  1697. data/Slic3r/Linux/res/wrench.png +0 -0
  1698. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libperl.dylib +0 -0
  1699. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu-2.9.3.0.0.dylib +0 -0
  1700. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu-2.9.3.dylib +1 -0
  1701. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu-2.9.dylib +1 -0
  1702. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu_net-2.9.3.0.0.dylib +0 -0
  1703. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu_net-2.9.3.dylib +1 -0
  1704. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_baseu_net-2.9.dylib +1 -0
  1705. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_adv-2.9.3.0.0.dylib +0 -0
  1706. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_adv-2.9.3.dylib +1 -0
  1707. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_adv-2.9.dylib +1 -0
  1708. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_core-2.9.3.0.0.dylib +0 -0
  1709. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_core-2.9.3.dylib +1 -0
  1710. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_core-2.9.dylib +1 -0
  1711. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_gl-2.9.3.0.0.dylib +0 -0
  1712. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_gl-2.9.3.dylib +1 -0
  1713. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_gl-2.9.dylib +1 -0
  1714. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_html-2.9.3.0.0.dylib +0 -0
  1715. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_html-2.9.3.dylib +1 -0
  1716. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_html-2.9.dylib +1 -0
  1717. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_media-2.9.3.0.0.dylib +0 -0
  1718. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_media-2.9.3.dylib +1 -0
  1719. data/Slic3r/Mac/Slic3r.app/Contents/Frameworks/libwx_osx_cocoau_media-2.9.dylib +1 -0
  1720. data/Slic3r/Mac/Slic3r.app/Contents/Info.plist +27 -0
  1721. data/Slic3r/Mac/Slic3r.app/Contents/MacOS/slic3r +0 -0
  1722. data/Slic3r/Mac/Slic3r.app/Contents/PkgInfo +1 -0
  1723. data/Slic3r/Mac/Slic3r.app/Contents/Resources/Slic3r.icns +0 -0
  1724. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/std/Mozilla/CA.pm +99 -0
  1725. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/std/Mozilla/CA/cacert.pem +3366 -0
  1726. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/std/XML/SAX/ParserDetails.ini +16 -0
  1727. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/00fe171e54eaa45f327269069a84261c/SHA.bundle +0 -0
  1728. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/01641a74022c3bbdcd3a4cd5ffa26f07/ExpatXS.bundle +0 -0
  1729. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/02275a9ba60dd2657ec564332cc8c8a6/mro.bundle +0 -0
  1730. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/0599c4249af65dd82091e4b41e75dcac/GLCanvas.bundle +0 -0
  1731. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/0b007f4858c19ac489b6482dc8d8e973/Base64.bundle +0 -0
  1732. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/11897113663a72e0cf3a40f86569d0d3/package.lib +437 -0
  1733. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/181b750c50b989ea215e0c9788700590/scalar.bundle +0 -0
  1734. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/18e56ac547628015c934d8e62b2e59fb/shared.bundle +0 -0
  1735. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/193e996343c27253990f34ec93d7ae14/XS.bundle +0 -0
  1736. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/1e7eafa7ded7f14757bba03f9721336f/MD5.bundle +0 -0
  1737. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/2203e7a3df69c390965a2aa240378b54/FastCalc.bundle +0 -0
  1738. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/3b0e1864ce168232981b0e0b6e4ba639/Zlib.bundle +0 -0
  1739. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/4219a41428dfbeccc0004f15dc4778d8/Unicode.bundle +0 -0
  1740. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/42c3d19347a691f255d231da3d91f1ab/package.lib +332 -0
  1741. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/446150103e8711b6887777b796b96e92/Storable.bundle +0 -0
  1742. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/471029ae61c0427e58f24ac9e5a0cca5/package.lib +41 -0
  1743. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/4b2be1b5f4e6e6643e35d2fcdd27000d/Fcntl.bundle +0 -0
  1744. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/4c8cb4098e6eacc0dda716777c02e08e/Print.bundle +0 -0
  1745. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/51a64b55f893bfcb317be27527adb1c6/XSAccessor.bundle +0 -0
  1746. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/528ccea98cad02a5f453a7135f9ca183/package.lib +0 -0
  1747. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/5abe14a55ea43955299905c968f6b868/NamedCapture.bundle +0 -0
  1748. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/5da723b19d0784844a5d9228c25b1022/IO.bundle +0 -0
  1749. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/5efcd6c8c536b3b2d25ffece18e6cc7f/Byte.bundle +0 -0
  1750. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/62d4f6d2fa13586d2f8d48e80fcaad8d/re.bundle +0 -0
  1751. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/65951cec1d16610098f09e209050a4e5/encoding.bundle +0 -0
  1752. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/72315e121508feb38a782d3bd60cf0e1/Encode.bundle +0 -0
  1753. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/72f45450977a0f098e76b5b1270fb1fa/TW.bundle +0 -0
  1754. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/74f1151ea68af8b93e28a8d7b59bc6f1/Util.bundle +0 -0
  1755. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/7a1d45f404be604381d8b95f374ecae2/POSIX.bundle +0 -0
  1756. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/7a9108dfb82f49ad15e339776671a0c9/KR.bundle +0 -0
  1757. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/7e549424075365bb7bac11a08b208145/XS.bundle +0 -0
  1758. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/7e7926fce7d528168853b8dab2c9ccd2/Socket.bundle +0 -0
  1759. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/804f15d0b003b04c3feb68e47adacf8d/package.lib +1 -0
  1760. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/826014915c535a7285f886166a778440/Cwd.bundle +0 -0
  1761. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/83e7bddbda22f4666134d95e35b3292e/Grid.bundle +0 -0
  1762. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/8efb4e8160ee47f9e953900fd189e72c/Symbol.bundle +0 -0
  1763. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/9077b3800b946e19da99a53a92321f77/JP.bundle +0 -0
  1764. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/9425135f44548a4e211eabfbba86fdf7/B.bundle +0 -0
  1765. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/94c9b361d23d6847d023b9e82acbc595/UUID.bundle +0 -0
  1766. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/953dbc6f080a921c10f4fb4adf0a6ea7/SealRequireHints.bundle +0 -0
  1767. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/9f303c03e9bb3b3307210ed1399034f4/Dumper.bundle +0 -0
  1768. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a3809d03e71342d25daf495917654688/indirect.bundle +0 -0
  1769. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a499207f115577de989dae697bccf1f7/via.bundle +0 -0
  1770. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a4ff00c6243840a7c5a181800d0a0e9f/Glob.bundle +0 -0
  1771. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a8a5488c950b4ae4ab726834ab1f4629/Parser.bundle +0 -0
  1772. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/a927c16eae43f6d2d1fcbca4288c2613/Bzip2.bundle +0 -0
  1773. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/b2467e1e23f7295c8b0e819807403777/Check.bundle +0 -0
  1774. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/b75af51104891e1861cf27a85a06248f/SSLeay.bundle +0 -0
  1775. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c04409d610134c279178eaab1c0cd45e/multidimensional.bundle +0 -0
  1776. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c37c19e69c64f01f83616050a4290081/filehandles.bundle +0 -0
  1777. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c63ee2950efe3f9517034e269406a6f1/Call.bundle +0 -0
  1778. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c8b43a9fa99c2589e0af3851636037ae/threads.bundle +0 -0
  1779. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/c9bc0bb4eaabb8b3b85268094134ae30/SSLeay.bundle +0 -0
  1780. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/cb9c4ab6b50a6ba6e9a1c58866acb842/HiRes.bundle +0 -0
  1781. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/d73dc34729c26340077a511c9aeae54c/Langinfo.bundle +0 -0
  1782. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/e0833c18d9957e5ef93fd12ea63dc88c/Libm.bundle +0 -0
  1783. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/e4596f5a53563fc95d87c9738c6ed3f1/attributes.bundle +0 -0
  1784. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/e69ac1437c1fe7ba8a391d4a6e017895/DND.bundle +0 -0
  1785. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/f0daa614fb85c8dc08ddd86ef81f8546/EBCDIC.bundle +0 -0
  1786. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/f3d865c9882d669a56d9890365558ef3/Wx.bundle +0 -0
  1787. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/f77494368a2754d99fc9ae63725241b9/CN.bundle +0 -0
  1788. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/f7b6e5c51850d9c5b8f9f118bf8c79e5/OpenGL.bundle +0 -0
  1789. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/fa119178d164dcf97f19aecc876231c0/package.lib +0 -0
  1790. data/Slic3r/Mac/Slic3r.app/Contents/Resources/lib/vrt/ff1c32bbf4efed322b40618fa6cc887f/Html.bundle +0 -0
  1791. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r.icns +0 -0
  1792. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r.ico +0 -0
  1793. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r.png +0 -0
  1794. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r_128px.png +0 -0
  1795. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r_192px.png +0 -0
  1796. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/Slic3r_192px_transparent.png +0 -0
  1797. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/add.png +0 -0
  1798. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/arrow_out.png +0 -0
  1799. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/arrow_rotate_anticlockwise.png +0 -0
  1800. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/arrow_rotate_clockwise.png +0 -0
  1801. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/arrow_up.png +0 -0
  1802. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/box.png +0 -0
  1803. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/brick.png +0 -0
  1804. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/brick_add.png +0 -0
  1805. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/brick_delete.png +0 -0
  1806. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/brick_go.png +0 -0
  1807. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/bricks.png +0 -0
  1808. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/building.png +0 -0
  1809. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/bullet_black.png +0 -0
  1810. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/bullet_blue.png +0 -0
  1811. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/bullet_white.png +0 -0
  1812. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/cog.png +0 -0
  1813. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/cog_go.png +0 -0
  1814. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/cross.png +0 -0
  1815. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/delete.png +0 -0
  1816. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/disk.png +0 -0
  1817. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/error.png +0 -0
  1818. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/funnel.png +0 -0
  1819. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/hourglass.png +0 -0
  1820. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/layers.png +0 -0
  1821. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/note.png +0 -0
  1822. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/package.png +0 -0
  1823. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/package_green.png +0 -0
  1824. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/page_white_go.png +0 -0
  1825. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/plugin.png +0 -0
  1826. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/printer_empty.png +0 -0
  1827. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/shading.png +0 -0
  1828. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/shape_ungroup.png +0 -0
  1829. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/spool.png +0 -0
  1830. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/tag_blue.png +0 -0
  1831. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/time.png +0 -0
  1832. data/Slic3r/Mac/Slic3r.app/Contents/Resources/res/wrench.png +0 -0
  1833. data/Slic3r/Win/bin/cpfworkrt/cpfworkrt.manifest +8 -0
  1834. data/Slic3r/Win/bin/cpfworkrt/libgcc_s_sjlj-1.dll +0 -0
  1835. data/Slic3r/Win/bin/cpfworkrt/libstdc++-6.dll +0 -0
  1836. data/Slic3r/Win/bin/cpfworkrt/perl514.dll +0 -0
  1837. data/Slic3r/Win/cpfworkrt/cpfworkrt.manifest +8 -0
  1838. data/Slic3r/Win/cpfworkrt/libgcc_s_sjlj-1.dll +0 -0
  1839. data/Slic3r/Win/cpfworkrt/libstdc++-6.dll +0 -0
  1840. data/Slic3r/Win/cpfworkrt/perl514.dll +0 -0
  1841. data/Slic3r/Win/dll/cpwgui.exe +0 -0
  1842. data/Slic3r/Win/dll/wxbase293u_gcc_citrusperl.dll +0 -0
  1843. data/Slic3r/Win/dll/wxbase293u_net_gcc_citrusperl.dll +0 -0
  1844. data/Slic3r/Win/dll/wxmsw293u_adv_gcc_citrusperl.dll +0 -0
  1845. data/Slic3r/Win/dll/wxmsw293u_core_gcc_citrusperl.dll +0 -0
  1846. data/Slic3r/Win/dll/wxmsw293u_gl_gcc_citrusperl.dll +0 -0
  1847. data/Slic3r/Win/dll/wxmsw293u_html_gcc_citrusperl.dll +0 -0
  1848. data/Slic3r/Win/lib/std/Mozilla/CA.pm +99 -0
  1849. data/Slic3r/Win/lib/std/Mozilla/CA/cacert.pem +3366 -0
  1850. data/Slic3r/Win/lib/std/XML/SAX/ParserDetails.ini +16 -0
  1851. data/Slic3r/Win/lib/vrt/00065b3cc7c31741588c51da0ebf7cfc/Storable.dll +0 -0
  1852. data/Slic3r/Win/lib/vrt/0e211ef5300e42b7129e72ce6934dd03/File.dll +0 -0
  1853. data/Slic3r/Win/lib/vrt/11897113663a72e0cf3a40f86569d0d3/package.lib +437 -0
  1854. data/Slic3r/Win/lib/vrt/13887bf5057dfc645e73f9cbc2107b0b/shared.dll +0 -0
  1855. data/Slic3r/Win/lib/vrt/13b74231834b96c1b29d9bb7ff9fc803/XSAccessor.dll +0 -0
  1856. data/Slic3r/Win/lib/vrt/17a8fd354d07706b1d8e07133653aefe/Unicode.dll +0 -0
  1857. data/Slic3r/Win/lib/vrt/1ff31eb32e672b10095dc07142eda94e/Byte.dll +0 -0
  1858. data/Slic3r/Win/lib/vrt/212acdb3b0d578c6c31b6f5b102aaf9f/OpenGL.dll +0 -0
  1859. data/Slic3r/Win/lib/vrt/212acdb3b0d578c6c31b6f5b102aaf9f/freeglut.dll +0 -0
  1860. data/Slic3r/Win/lib/vrt/2b09d17ec43a6c01f265254b54d60739/Dumper.dll +0 -0
  1861. data/Slic3r/Win/lib/vrt/2ce0a6f8648060f015cf6b795bedf11d/SHA.dll +0 -0
  1862. data/Slic3r/Win/lib/vrt/3545b2d83c9d9a29194f9ab80ec5474b/Fcntl.dll +0 -0
  1863. data/Slic3r/Win/lib/vrt/38786f297f552b7038b60152ad9b90fc/ExpatXS.dll +0 -0
  1864. data/Slic3r/Win/lib/vrt/3d306f1634430f34d0521f8ea684e9ec/SSLeay.dll +0 -0
  1865. data/Slic3r/Win/lib/vrt/3ea9b1cd80f790518c416324dd069ebd/encoding.dll +0 -0
  1866. data/Slic3r/Win/lib/vrt/41c42900fc0d462e9a31e174ac8a654c/Html.dll +0 -0
  1867. data/Slic3r/Win/lib/vrt/42c3d19347a691f255d231da3d91f1ab/package.lib +332 -0
  1868. data/Slic3r/Win/lib/vrt/4699e2a2c6a572106b4070861d78c22a/Parser.dll +0 -0
  1869. data/Slic3r/Win/lib/vrt/46c688003f4a63abb5816f68b951f727/MD5.dll +0 -0
  1870. data/Slic3r/Win/lib/vrt/471029ae61c0427e58f24ac9e5a0cca5/package.lib +41 -0
  1871. data/Slic3r/Win/lib/vrt/49bdccea41102e6d90906b74653d30ab/HiRes.dll +0 -0
  1872. data/Slic3r/Win/lib/vrt/4c9065158b425703c56336bd7fd5bbf2/SSLeay.dll +0 -0
  1873. data/Slic3r/Win/lib/vrt/50e0982503943dcf3f001fc2d17d4075/JP.dll +0 -0
  1874. data/Slic3r/Win/lib/vrt/528ccea98cad02a5f453a7135f9ca183/package.lib +0 -0
  1875. data/Slic3r/Win/lib/vrt/6419170f57dff2f058fefa3f8f37c897/EBCDIC.dll +0 -0
  1876. data/Slic3r/Win/lib/vrt/655af4e236089eadb910a60a39fbe815/attributes.dll +0 -0
  1877. data/Slic3r/Win/lib/vrt/6c123a3a5b411759cc21a293df5bed0e/SealRequireHints.dll +0 -0
  1878. data/Slic3r/Win/lib/vrt/7ba0890aa8ff0eed7abb9f76181bd637/Console.dll +0 -0
  1879. data/Slic3r/Win/lib/vrt/7ef678fd3db32983bdf488c788a3a763/IO.dll +0 -0
  1880. data/Slic3r/Win/lib/vrt/804f15d0b003b04c3feb68e47adacf8d/package.lib +1 -0
  1881. data/Slic3r/Win/lib/vrt/8f7c428c727a7d81643b50b598197734/API.dll +0 -0
  1882. data/Slic3r/Win/lib/vrt/8fa3f50b03f9cb0203031cf516aa3973/B.dll +0 -0
  1883. data/Slic3r/Win/lib/vrt/9573d0f8956394a9448b7cb70a24fed3/CN.dll +0 -0
  1884. data/Slic3r/Win/lib/vrt/9a02fe0b6c8a35ffbf56e88f9910abeb/Base64.dll +0 -0
  1885. data/Slic3r/Win/lib/vrt/9cc90b876890f13970933c948cbb4b2e/Print.dll +0 -0
  1886. data/Slic3r/Win/lib/vrt/9d4869e43aaebbcbfc9baec70819f444/indirect.dll +0 -0
  1887. data/Slic3r/Win/lib/vrt/a3600f18eb88b7c4835e2438eeda19b1/Symbol.dll +0 -0
  1888. data/Slic3r/Win/lib/vrt/a3719ad0fa76c06423d0397090ec4ed9/Libm.dll +0 -0
  1889. data/Slic3r/Win/lib/vrt/a40249e26296df558fcddd2c8cbfb2f6/UUID.dll +0 -0
  1890. data/Slic3r/Win/lib/vrt/aa455d4af51625c2acacb6716c0a6e01/scalar.dll +0 -0
  1891. data/Slic3r/Win/lib/vrt/aa976c80169f479f0613ff5283377098/Win32.dll +0 -0
  1892. data/Slic3r/Win/lib/vrt/ad648dbf31179700b4efd00b04f50dab/multidimensional.dll +0 -0
  1893. data/Slic3r/Win/lib/vrt/b48cd6cc5170110b04444736f8ca1a04/mro.dll +0 -0
  1894. data/Slic3r/Win/lib/vrt/b6a5c6ef2abf4a7046bb88d7a8b220ff/GLCanvas.dll +0 -0
  1895. data/Slic3r/Win/lib/vrt/bd26fbb8f6447c2e98cf359976a3c1a7/POSIX.dll +0 -0
  1896. data/Slic3r/Win/lib/vrt/c23df991c561704a8913289bdfea9462/Zlib.dll +0 -0
  1897. data/Slic3r/Win/lib/vrt/c8786c44f0a905ffe6d5d8a4068a75c2/Call.dll +0 -0
  1898. data/Slic3r/Win/lib/vrt/cbbb6d80da8c62ee893a65195943b803/re.dll +0 -0
  1899. data/Slic3r/Win/lib/vrt/cbfee14465f0627fbadfcc84b97d402b/KR.dll +0 -0
  1900. data/Slic3r/Win/lib/vrt/cd0b5b2fa854963191ca9718e26a0abc/Grid.dll +0 -0
  1901. data/Slic3r/Win/lib/vrt/ceb3487499a2d7f0edbcc6aa0c0536c1/NamedCapture.dll +0 -0
  1902. data/Slic3r/Win/lib/vrt/cfbd454ca865af139a419af806f1d4c7/DND.dll +0 -0
  1903. data/Slic3r/Win/lib/vrt/cfcde55111d441748de61cc95acb240e/Check.dll +0 -0
  1904. data/Slic3r/Win/lib/vrt/d0b4c3dceefb5d08dbe60f0e68d0da76/filehandles.dll +0 -0
  1905. data/Slic3r/Win/lib/vrt/d9c3e3943b3f28bc1f09e2f713cc6afb/Glob.dll +0 -0
  1906. data/Slic3r/Win/lib/vrt/da3813f7e06d5ace75632aaf1738303a/Cwd.dll +0 -0
  1907. data/Slic3r/Win/lib/vrt/e29b9764cd99fd442815834972733f63/Encode.dll +0 -0
  1908. data/Slic3r/Win/lib/vrt/e51409fbea61e7f44156de0a7d61ce6e/FastCalc.dll +0 -0
  1909. data/Slic3r/Win/lib/vrt/eaa3f41565bf2fe58068d68f47a06165/Bzip2.dll +0 -0
  1910. data/Slic3r/Win/lib/vrt/eb8576fa2c159886e7f37945c9fb302c/Util.dll +0 -0
  1911. data/Slic3r/Win/lib/vrt/ef0a1b3a50dcc9984703f576320986af/Socket.dll +0 -0
  1912. data/Slic3r/Win/lib/vrt/efa78e66d1d123d9a6f5890b6ca9167a/TW.dll +0 -0
  1913. data/Slic3r/Win/lib/vrt/f490c3f60de8989339da70e91e2faf32/threads.dll +0 -0
  1914. data/Slic3r/Win/lib/vrt/f6025e058c0367c56e8eed568e60077b/Clone.dll +0 -0
  1915. data/Slic3r/Win/lib/vrt/f8d8299b70fb38b8f4ba594e6f23c91f/XS.dll +0 -0
  1916. data/Slic3r/Win/lib/vrt/fa119178d164dcf97f19aecc876231c0/package.lib +0 -0
  1917. data/Slic3r/Win/lib/vrt/fadbe2ebaf950eb9e5e3c3d65739aa92/via.dll +0 -0
  1918. data/Slic3r/Win/lib/vrt/fb078e7d1a272046eb7bd617bd3ed5c4/Wx.dll +0 -0
  1919. data/Slic3r/Win/lib/vrt/ffa8ccc0f7f886ba695e841a491bce9a/XS.dll +0 -0
  1920. data/Slic3r/Win/res/Slic3r.icns +0 -0
  1921. data/Slic3r/Win/res/Slic3r.ico +0 -0
  1922. data/Slic3r/Win/res/Slic3r.png +0 -0
  1923. data/Slic3r/Win/res/Slic3r_128px.png +0 -0
  1924. data/Slic3r/Win/res/Slic3r_192px.png +0 -0
  1925. data/Slic3r/Win/res/Slic3r_192px_transparent.png +0 -0
  1926. data/Slic3r/Win/res/add.png +0 -0
  1927. data/Slic3r/Win/res/arrow_out.png +0 -0
  1928. data/Slic3r/Win/res/arrow_rotate_anticlockwise.png +0 -0
  1929. data/Slic3r/Win/res/arrow_rotate_clockwise.png +0 -0
  1930. data/Slic3r/Win/res/arrow_up.png +0 -0
  1931. data/Slic3r/Win/res/box.png +0 -0
  1932. data/Slic3r/Win/res/brick.png +0 -0
  1933. data/Slic3r/Win/res/brick_add.png +0 -0
  1934. data/Slic3r/Win/res/brick_delete.png +0 -0
  1935. data/Slic3r/Win/res/brick_go.png +0 -0
  1936. data/Slic3r/Win/res/bricks.png +0 -0
  1937. data/Slic3r/Win/res/building.png +0 -0
  1938. data/Slic3r/Win/res/bullet_black.png +0 -0
  1939. data/Slic3r/Win/res/bullet_blue.png +0 -0
  1940. data/Slic3r/Win/res/bullet_white.png +0 -0
  1941. data/Slic3r/Win/res/cog.png +0 -0
  1942. data/Slic3r/Win/res/cog_go.png +0 -0
  1943. data/Slic3r/Win/res/cross.png +0 -0
  1944. data/Slic3r/Win/res/delete.png +0 -0
  1945. data/Slic3r/Win/res/disk.png +0 -0
  1946. data/Slic3r/Win/res/error.png +0 -0
  1947. data/Slic3r/Win/res/funnel.png +0 -0
  1948. data/Slic3r/Win/res/hourglass.png +0 -0
  1949. data/Slic3r/Win/res/layers.png +0 -0
  1950. data/Slic3r/Win/res/note.png +0 -0
  1951. data/Slic3r/Win/res/package.png +0 -0
  1952. data/Slic3r/Win/res/package_green.png +0 -0
  1953. data/Slic3r/Win/res/page_white_go.png +0 -0
  1954. data/Slic3r/Win/res/plugin.png +0 -0
  1955. data/Slic3r/Win/res/printer_empty.png +0 -0
  1956. data/Slic3r/Win/res/shading.png +0 -0
  1957. data/Slic3r/Win/res/shape_ungroup.png +0 -0
  1958. data/Slic3r/Win/res/spool.png +0 -0
  1959. data/Slic3r/Win/res/tag_blue.png +0 -0
  1960. data/Slic3r/Win/res/time.png +0 -0
  1961. data/Slic3r/Win/res/wrench.png +0 -0
  1962. data/Slic3r/Win/slic3r-console.exe +0 -0
  1963. data/Slic3r/Win/slic3r.exe +0 -0
  1964. data/Slic3r/Win/temp.txt +278 -0
  1965. data/lib/STLExtract.rb +155 -0
  1966. data/lib/STLExtract/version.rb +3 -0
  1967. metadata +2044 -0
@@ -0,0 +1,1437 @@
1
+ package Slic3r::GUI::Plater;
2
+ use strict;
3
+ use warnings;
4
+ use utf8;
5
+
6
+ use File::Basename qw(basename dirname);
7
+ use List::Util qw(max sum first);
8
+ use Slic3r::Geometry::Clipper qw(offset JT_ROUND);
9
+ use Slic3r::Geometry qw(X Y Z MIN MAX convex_hull scale unscale);
10
+ use threads::shared qw(shared_clone);
11
+ use Wx qw(:bitmap :brush :button :cursor :dialog :filedialog :font :keycode :icon :id :listctrl :misc :panel :pen :sizer :toolbar :window);
12
+ use Wx::Event qw(EVT_BUTTON EVT_COMMAND EVT_KEY_DOWN EVT_LIST_ITEM_ACTIVATED EVT_LIST_ITEM_DESELECTED EVT_LIST_ITEM_SELECTED EVT_MOUSE_EVENTS EVT_PAINT EVT_TOOL EVT_CHOICE);
13
+ use base 'Wx::Panel';
14
+
15
+ use constant TB_ADD => &Wx::NewId;
16
+ use constant TB_REMOVE => &Wx::NewId;
17
+ use constant TB_RESET => &Wx::NewId;
18
+ use constant TB_ARRANGE => &Wx::NewId;
19
+ use constant TB_EXPORT_GCODE => &Wx::NewId;
20
+ use constant TB_EXPORT_STL => &Wx::NewId;
21
+ use constant TB_MORE => &Wx::NewId;
22
+ use constant TB_FEWER => &Wx::NewId;
23
+ use constant TB_45CW => &Wx::NewId;
24
+ use constant TB_45CCW => &Wx::NewId;
25
+ use constant TB_ROTATE => &Wx::NewId;
26
+ use constant TB_SCALE => &Wx::NewId;
27
+ use constant TB_SPLIT => &Wx::NewId;
28
+ use constant TB_VIEW => &Wx::NewId;
29
+ use constant TB_SETTINGS => &Wx::NewId;
30
+
31
+ # package variables to avoid passing lexicals to threads
32
+ our $THUMBNAIL_DONE_EVENT : shared = Wx::NewEventType;
33
+ our $PROGRESS_BAR_EVENT : shared = Wx::NewEventType;
34
+ our $MESSAGE_DIALOG_EVENT : shared = Wx::NewEventType;
35
+ our $EXPORT_COMPLETED_EVENT : shared = Wx::NewEventType;
36
+ our $EXPORT_FAILED_EVENT : shared = Wx::NewEventType;
37
+
38
+ use constant CANVAS_SIZE => [335,335];
39
+ use constant CANVAS_TEXT => join('-', +(localtime)[3,4]) eq '13-8'
40
+ ? 'What do you want to print today? ™' # Sept. 13, 2006. The first part ever printed by a RepRap to make another RepRap.
41
+ : 'Drag your objects here';
42
+ use constant FILAMENT_CHOOSERS_SPACING => 3;
43
+
44
+ my $PreventListEvents = 0;
45
+
46
+ sub new {
47
+ my $class = shift;
48
+ my ($parent) = @_;
49
+ my $self = $class->SUPER::new($parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
50
+ $self->{config} = Slic3r::Config->new_from_defaults(qw(
51
+ bed_size print_center complete_objects extruder_clearance_radius skirts skirt_distance
52
+ ));
53
+ $self->{model} = Slic3r::Model->new;
54
+ $self->{print} = Slic3r::Print->new;
55
+ $self->{objects} = [];
56
+
57
+ $self->{canvas} = Wx::Panel->new($self, -1, wxDefaultPosition, CANVAS_SIZE, wxTAB_TRAVERSAL);
58
+ $self->{canvas}->SetBackgroundColour(Wx::wxWHITE);
59
+ EVT_PAINT($self->{canvas}, \&repaint);
60
+ EVT_MOUSE_EVENTS($self->{canvas}, \&mouse_event);
61
+
62
+ $self->{objects_brush} = Wx::Brush->new(Wx::Colour->new(210,210,210), wxSOLID);
63
+ $self->{selected_brush} = Wx::Brush->new(Wx::Colour->new(255,128,128), wxSOLID);
64
+ $self->{dragged_brush} = Wx::Brush->new(Wx::Colour->new(128,128,255), wxSOLID);
65
+ $self->{transparent_brush} = Wx::Brush->new(Wx::Colour->new(0,0,0), wxTRANSPARENT);
66
+ $self->{grid_pen} = Wx::Pen->new(Wx::Colour->new(230,230,230), 1, wxSOLID);
67
+ $self->{print_center_pen} = Wx::Pen->new(Wx::Colour->new(200,200,200), 1, wxSOLID);
68
+ $self->{clearance_pen} = Wx::Pen->new(Wx::Colour->new(0,0,200), 1, wxSOLID);
69
+ $self->{skirt_pen} = Wx::Pen->new(Wx::Colour->new(150,150,150), 1, wxSOLID);
70
+
71
+ # toolbar for object manipulation
72
+ if (!&Wx::wxMSW) {
73
+ Wx::ToolTip::Enable(1);
74
+ $self->{htoolbar} = Wx::ToolBar->new($self, -1, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL | wxTB_TEXT | wxBORDER_SIMPLE | wxTAB_TRAVERSAL);
75
+ $self->{htoolbar}->AddTool(TB_ADD, "Add…", Wx::Bitmap->new("$Slic3r::var/brick_add.png", wxBITMAP_TYPE_PNG), '');
76
+ $self->{htoolbar}->AddTool(TB_REMOVE, "Delete", Wx::Bitmap->new("$Slic3r::var/brick_delete.png", wxBITMAP_TYPE_PNG), '');
77
+ $self->{htoolbar}->AddTool(TB_RESET, "Delete All", Wx::Bitmap->new("$Slic3r::var/cross.png", wxBITMAP_TYPE_PNG), '');
78
+ $self->{htoolbar}->AddTool(TB_ARRANGE, "Arrange", Wx::Bitmap->new("$Slic3r::var/bricks.png", wxBITMAP_TYPE_PNG), '');
79
+ $self->{htoolbar}->AddSeparator;
80
+ $self->{htoolbar}->AddTool(TB_MORE, "More", Wx::Bitmap->new("$Slic3r::var/add.png", wxBITMAP_TYPE_PNG), '');
81
+ $self->{htoolbar}->AddTool(TB_FEWER, "Fewer", Wx::Bitmap->new("$Slic3r::var/delete.png", wxBITMAP_TYPE_PNG), '');
82
+ $self->{htoolbar}->AddSeparator;
83
+ $self->{htoolbar}->AddTool(TB_45CCW, "45° ccw", Wx::Bitmap->new("$Slic3r::var/arrow_rotate_anticlockwise.png", wxBITMAP_TYPE_PNG), '');
84
+ $self->{htoolbar}->AddTool(TB_45CW, "45° cw", Wx::Bitmap->new("$Slic3r::var/arrow_rotate_clockwise.png", wxBITMAP_TYPE_PNG), '');
85
+ $self->{htoolbar}->AddTool(TB_ROTATE, "Rotate…", Wx::Bitmap->new("$Slic3r::var/arrow_rotate_clockwise.png", wxBITMAP_TYPE_PNG), '');
86
+ $self->{htoolbar}->AddTool(TB_SCALE, "Scale…", Wx::Bitmap->new("$Slic3r::var/arrow_out.png", wxBITMAP_TYPE_PNG), '');
87
+ $self->{htoolbar}->AddTool(TB_SPLIT, "Split", Wx::Bitmap->new("$Slic3r::var/shape_ungroup.png", wxBITMAP_TYPE_PNG), '');
88
+ $self->{htoolbar}->AddSeparator;
89
+ $self->{htoolbar}->AddTool(TB_VIEW, "View/Cut…", Wx::Bitmap->new("$Slic3r::var/package.png", wxBITMAP_TYPE_PNG), '');
90
+ $self->{htoolbar}->AddTool(TB_SETTINGS, "Settings…", Wx::Bitmap->new("$Slic3r::var/cog.png", wxBITMAP_TYPE_PNG), '');
91
+ } else {
92
+ my %tbar_buttons = (
93
+ add => "Add…",
94
+ remove => "Delete",
95
+ reset => "Delete All",
96
+ arrange => "Arrange",
97
+ increase => "",
98
+ decrease => "",
99
+ rotate45ccw => "",
100
+ rotate45cw => "",
101
+ rotate => "Rotate…",
102
+ changescale => "Scale…",
103
+ split => "Split",
104
+ view => "View/Cut…",
105
+ settings => "Settings…",
106
+ );
107
+ $self->{btoolbar} = Wx::BoxSizer->new(wxHORIZONTAL);
108
+ for (qw(add remove reset arrange increase decrease rotate45ccw rotate45cw rotate changescale split view settings)) {
109
+ $self->{"btn_$_"} = Wx::Button->new($self, -1, $tbar_buttons{$_}, wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
110
+ $self->{btoolbar}->Add($self->{"btn_$_"});
111
+ }
112
+ }
113
+
114
+ $self->{list} = Wx::ListView->new($self, -1, wxDefaultPosition, wxDefaultSize, wxLC_SINGLE_SEL | wxLC_REPORT | wxBORDER_SUNKEN | wxTAB_TRAVERSAL | wxWANTS_CHARS);
115
+ $self->{list}->InsertColumn(0, "Name", wxLIST_FORMAT_LEFT, 145);
116
+ $self->{list}->InsertColumn(1, "Copies", wxLIST_FORMAT_CENTER, 45);
117
+ $self->{list}->InsertColumn(2, "Scale", wxLIST_FORMAT_CENTER, wxLIST_AUTOSIZE_USEHEADER);
118
+ EVT_LIST_ITEM_SELECTED($self, $self->{list}, \&list_item_selected);
119
+ EVT_LIST_ITEM_DESELECTED($self, $self->{list}, \&list_item_deselected);
120
+ EVT_LIST_ITEM_ACTIVATED($self, $self->{list}, \&list_item_activated);
121
+ EVT_KEY_DOWN($self->{list}, sub {
122
+ my ($list, $event) = @_;
123
+ if ($event->GetKeyCode == WXK_TAB) {
124
+ $list->Navigate($event->ShiftDown ? &Wx::wxNavigateBackward : &Wx::wxNavigateForward);
125
+ } else {
126
+ $event->Skip;
127
+ }
128
+ });
129
+
130
+ # right pane buttons
131
+ $self->{btn_export_gcode} = Wx::Button->new($self, -1, "Export G-code…", wxDefaultPosition, wxDefaultSize, wxBU_LEFT);
132
+ $self->{btn_export_stl} = Wx::Button->new($self, -1, "Export STL…", wxDefaultPosition, wxDefaultSize, wxBU_LEFT);
133
+ $self->{btn_export_gcode}->SetFont($Slic3r::GUI::small_font);
134
+ $self->{btn_export_stl}->SetFont($Slic3r::GUI::small_font);
135
+
136
+ if ($Slic3r::GUI::have_button_icons) {
137
+ my %icons = qw(
138
+ add brick_add.png
139
+ remove brick_delete.png
140
+ reset cross.png
141
+ arrange bricks.png
142
+ export_gcode cog_go.png
143
+ export_stl brick_go.png
144
+
145
+ increase add.png
146
+ decrease delete.png
147
+ rotate45cw arrow_rotate_clockwise.png
148
+ rotate45ccw arrow_rotate_anticlockwise.png
149
+ rotate arrow_rotate_clockwise.png
150
+ changescale arrow_out.png
151
+ split shape_ungroup.png
152
+ view package.png
153
+ settings cog.png
154
+ );
155
+ for (grep $self->{"btn_$_"}, keys %icons) {
156
+ $self->{"btn_$_"}->SetBitmap(Wx::Bitmap->new("$Slic3r::var/$icons{$_}", wxBITMAP_TYPE_PNG));
157
+ }
158
+ }
159
+ $self->selection_changed(0);
160
+ $self->object_list_changed;
161
+ EVT_BUTTON($self, $self->{btn_export_gcode}, \&export_gcode);
162
+ EVT_BUTTON($self, $self->{btn_export_stl}, \&export_stl);
163
+
164
+ if ($self->{htoolbar}) {
165
+ EVT_TOOL($self, TB_ADD, \&add);
166
+ EVT_TOOL($self, TB_REMOVE, sub { $self->remove() }); # explicitly pass no argument to remove
167
+ EVT_TOOL($self, TB_RESET, \&reset);
168
+ EVT_TOOL($self, TB_ARRANGE, \&arrange);
169
+ EVT_TOOL($self, TB_MORE, \&increase);
170
+ EVT_TOOL($self, TB_FEWER, \&decrease);
171
+ EVT_TOOL($self, TB_45CW, sub { $_[0]->rotate(-45) });
172
+ EVT_TOOL($self, TB_45CCW, sub { $_[0]->rotate(45) });
173
+ EVT_TOOL($self, TB_ROTATE, sub { $_[0]->rotate(undef) });
174
+ EVT_TOOL($self, TB_SCALE, \&changescale);
175
+ EVT_TOOL($self, TB_SPLIT, \&split_object);
176
+ EVT_TOOL($self, TB_VIEW, sub { $_[0]->object_cut_dialog });
177
+ EVT_TOOL($self, TB_SETTINGS, sub { $_[0]->object_settings_dialog });
178
+ } else {
179
+ EVT_BUTTON($self, $self->{btn_add}, \&add);
180
+ EVT_BUTTON($self, $self->{btn_remove}, sub { $self->remove() }); # explicitly pass no argument to remove
181
+ EVT_BUTTON($self, $self->{btn_reset}, \&reset);
182
+ EVT_BUTTON($self, $self->{btn_arrange}, \&arrange);
183
+ EVT_BUTTON($self, $self->{btn_increase}, \&increase);
184
+ EVT_BUTTON($self, $self->{btn_decrease}, \&decrease);
185
+ EVT_BUTTON($self, $self->{btn_rotate45cw}, sub { $_[0]->rotate(-45) });
186
+ EVT_BUTTON($self, $self->{btn_rotate45ccw}, sub { $_[0]->rotate(45) });
187
+ EVT_BUTTON($self, $self->{btn_changescale}, \&changescale);
188
+ EVT_BUTTON($self, $self->{btn_rotate}, sub { $_[0]->rotate(undef) });
189
+ EVT_BUTTON($self, $self->{btn_split}, \&split_object);
190
+ EVT_BUTTON($self, $self->{btn_view}, sub { $_[0]->object_cut_dialog });
191
+ EVT_BUTTON($self, $self->{btn_settings}, sub { $_[0]->object_settings_dialog });
192
+ }
193
+
194
+ $_->SetDropTarget(Slic3r::GUI::Plater::DropTarget->new($self))
195
+ for $self, $self->{canvas}, $self->{list};
196
+
197
+ EVT_COMMAND($self, -1, $THUMBNAIL_DONE_EVENT, sub {
198
+ my ($self, $event) = @_;
199
+ my ($obj_idx) = @{$event->GetData};
200
+ return if !$self->{objects}[$obj_idx]; # object was deleted before thumbnail generation completed
201
+
202
+ $self->on_thumbnail_made($obj_idx);
203
+ });
204
+
205
+ EVT_COMMAND($self, -1, $PROGRESS_BAR_EVENT, sub {
206
+ my ($self, $event) = @_;
207
+ my ($percent, $message) = @{$event->GetData};
208
+ $self->statusbar->SetProgress($percent);
209
+ $self->statusbar->SetStatusText("$message…");
210
+ });
211
+
212
+ EVT_COMMAND($self, -1, $MESSAGE_DIALOG_EVENT, sub {
213
+ my ($self, $event) = @_;
214
+ Wx::MessageDialog->new($self, @{$event->GetData})->ShowModal;
215
+ });
216
+
217
+ EVT_COMMAND($self, -1, $EXPORT_COMPLETED_EVENT, sub {
218
+ my ($self, $event) = @_;
219
+ $self->on_export_completed(@{$event->GetData});
220
+ });
221
+
222
+ EVT_COMMAND($self, -1, $EXPORT_FAILED_EVENT, sub {
223
+ my ($self, $event) = @_;
224
+ $self->on_export_failed;
225
+ });
226
+
227
+ $self->_update_bed_size;
228
+ $self->update;
229
+
230
+ {
231
+ my $presets;
232
+ if ($self->skeinpanel->{mode} eq 'expert') {
233
+ $presets = Wx::BoxSizer->new(wxVERTICAL);
234
+ my %group_labels = (
235
+ print => 'Print settings',
236
+ filament => 'Filament',
237
+ printer => 'Printer',
238
+ );
239
+ $self->{preset_choosers} = {};
240
+ $self->{preset_choosers_sizers} = {};
241
+ for my $group (qw(print filament printer)) {
242
+ my $text = Wx::StaticText->new($self, -1, "$group_labels{$group}:", wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
243
+ $text->SetFont($Slic3r::GUI::small_font);
244
+ my $choice = Wx::Choice->new($self, -1, wxDefaultPosition, [140, -1], []);
245
+ $choice->SetFont($Slic3r::GUI::small_font);
246
+ $self->{preset_choosers}{$group} = [$choice];
247
+ EVT_CHOICE($choice, $choice, sub { $self->on_select_preset($group, @_) });
248
+
249
+ $self->{preset_choosers_sizers}{$group} = Wx::BoxSizer->new(wxVERTICAL);
250
+ $self->{preset_choosers_sizers}{$group}->Add($choice, 0, wxEXPAND | wxBOTTOM, FILAMENT_CHOOSERS_SPACING);
251
+
252
+ $presets->Add($text, 0, wxALIGN_LEFT | wxRIGHT, 4);
253
+ $presets->Add($self->{preset_choosers_sizers}{$group}, 0, wxALIGN_CENTER_VERTICAL | wxBOTTOM, 8);
254
+ }
255
+ }
256
+
257
+ my $object_info_sizer;
258
+ {
259
+ my $box = Wx::StaticBox->new($self, -1, "Info");
260
+ $object_info_sizer = Wx::StaticBoxSizer->new($box, wxVERTICAL);
261
+ my $grid_sizer = Wx::FlexGridSizer->new(3, 4, 5, 5);
262
+ $grid_sizer->SetFlexibleDirection(wxHORIZONTAL);
263
+ $grid_sizer->AddGrowableCol(1, 1);
264
+ $grid_sizer->AddGrowableCol(3, 1);
265
+ $object_info_sizer->Add($grid_sizer, 0, wxEXPAND);
266
+
267
+ my @info = (
268
+ size => "Size",
269
+ volume => "Volume",
270
+ facets => "Facets",
271
+ materials => "Materials",
272
+ manifold => "Manifold",
273
+ );
274
+ while (my $field = shift @info) {
275
+ my $label = shift @info;
276
+ my $text = Wx::StaticText->new($self, -1, "$label:", wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
277
+ $text->SetFont($Slic3r::GUI::small_font);
278
+ $grid_sizer->Add($text, 0);
279
+
280
+ $self->{"object_info_$field"} = Wx::StaticText->new($self, -1, "", wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
281
+ $self->{"object_info_$field"}->SetFont($Slic3r::GUI::small_font);
282
+ if ($field eq 'manifold') {
283
+ $self->{object_info_manifold_warning_icon} = Wx::StaticBitmap->new($self, -1, Wx::Bitmap->new("$Slic3r::var/error.png", wxBITMAP_TYPE_PNG));
284
+ $self->{object_info_manifold_warning_icon}->Hide;
285
+
286
+ my $h_sizer = Wx::BoxSizer->new(wxHORIZONTAL);
287
+ $h_sizer->Add($self->{object_info_manifold_warning_icon}, 0);
288
+ $h_sizer->Add($self->{"object_info_$field"}, 0);
289
+ $grid_sizer->Add($h_sizer, 0, wxEXPAND);
290
+ } else {
291
+ $grid_sizer->Add($self->{"object_info_$field"}, 0);
292
+ }
293
+ }
294
+ }
295
+
296
+ my $right_buttons_sizer = Wx::BoxSizer->new(wxVERTICAL);
297
+ $right_buttons_sizer->Add($presets, 0, wxEXPAND, 0) if defined $presets;
298
+ $right_buttons_sizer->Add($self->{btn_export_gcode}, 0, wxEXPAND | wxTOP, 8);
299
+ $right_buttons_sizer->Add($self->{btn_export_stl}, 0, wxEXPAND | wxTOP, 2);
300
+
301
+ my $right_top_sizer = Wx::BoxSizer->new(wxHORIZONTAL);
302
+ $right_top_sizer->Add($self->{list}, 1, wxEXPAND | wxLEFT, 5);
303
+ $right_top_sizer->Add($right_buttons_sizer, 0, wxEXPAND | wxALL, 10);
304
+
305
+ my $right_sizer = Wx::BoxSizer->new(wxVERTICAL);
306
+ $right_sizer->Add($right_top_sizer, 1, wxEXPAND | wxBOTTOM, 10);
307
+ $right_sizer->Add($object_info_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT, 5);
308
+
309
+ my $hsizer = Wx::BoxSizer->new(wxHORIZONTAL);
310
+ $hsizer->Add($self->{canvas}, 0, wxTOP, 1);
311
+ $hsizer->Add($right_sizer, 1, wxEXPAND | wxBOTTOM, 0);
312
+
313
+ my $sizer = Wx::BoxSizer->new(wxVERTICAL);
314
+ $sizer->Add($self->{htoolbar}, 0, wxEXPAND, 0) if $self->{htoolbar};
315
+ $sizer->Add($self->{btoolbar}, 0, wxEXPAND, 0) if $self->{btoolbar};
316
+ $sizer->Add($hsizer, 1, wxEXPAND, 0);
317
+
318
+ $sizer->SetSizeHints($self);
319
+ $self->SetSizer($sizer);
320
+ }
321
+ return $self;
322
+ }
323
+
324
+ sub on_select_preset {
325
+ my $self = shift;
326
+ my ($group, $choice) = @_;
327
+
328
+ if ($group eq 'filament' && @{$self->{preset_choosers}{filament}} > 1) {
329
+ my @filament_presets = $self->filament_presets;
330
+ $Slic3r::GUI::Settings->{presets}{filament} = $choice->GetString($filament_presets[0]) . ".ini";
331
+ $Slic3r::GUI::Settings->{presets}{"filament_${_}"} = $choice->GetString($filament_presets[$_])
332
+ for 1 .. $#filament_presets;
333
+ Slic3r::GUI->save_settings;
334
+ return;
335
+ }
336
+ $self->skeinpanel->{options_tabs}{$group}->select_preset($choice->GetSelection);
337
+ }
338
+
339
+ sub skeinpanel {
340
+ my $self = shift;
341
+ return $self->GetParent->GetParent;
342
+ }
343
+
344
+ sub update_presets {
345
+ my $self = shift;
346
+ my ($group, $items, $selected) = @_;
347
+
348
+ foreach my $choice (@{ $self->{preset_choosers}{$group} }) {
349
+ my $sel = $choice->GetSelection;
350
+ $choice->Clear;
351
+ $choice->Append($_) for @$items;
352
+ $choice->SetSelection($sel) if $sel <= $#$items;
353
+ }
354
+ $self->{preset_choosers}{$group}[0]->SetSelection($selected);
355
+ }
356
+
357
+ sub filament_presets {
358
+ my $self = shift;
359
+
360
+ return map $_->GetSelection, @{ $self->{preset_choosers}{filament} };
361
+ }
362
+
363
+ sub add {
364
+ my $self = shift;
365
+
366
+ my @input_files = Slic3r::GUI::open_model($self);
367
+ $self->load_file($_) for @input_files;
368
+ }
369
+
370
+ sub load_file {
371
+ my $self = shift;
372
+ my ($input_file) = @_;
373
+
374
+ $Slic3r::GUI::Settings->{recent}{skein_directory} = dirname($input_file);
375
+ Slic3r::GUI->save_settings;
376
+
377
+ my $process_dialog = Wx::ProgressDialog->new('Loading…', "Processing input file…", 100, $self, 0);
378
+ $process_dialog->Pulse;
379
+
380
+ local $SIG{__WARN__} = Slic3r::GUI::warning_catcher($self);
381
+
382
+ my $model = eval { Slic3r::Model->read_from_file($input_file) };
383
+ Slic3r::GUI::show_error($self, $@) if $@;
384
+
385
+ if (defined $model) {
386
+ $self->load_model_objects(@{$model->objects});
387
+ $self->statusbar->SetStatusText("Loaded " . basename($input_file));
388
+ }
389
+
390
+ $process_dialog->Destroy;
391
+ }
392
+
393
+ sub load_model_objects {
394
+ my ($self, @model_objects) = @_;
395
+
396
+ my $need_arrange = 0;
397
+ my @obj_idx = ();
398
+ foreach my $model_object (@model_objects) {
399
+ my $o = $self->{model}->add_object($model_object);
400
+
401
+ push @{ $self->{objects} }, Slic3r::GUI::Plater::Object->new(
402
+ name => basename($model_object->input_file),
403
+ );
404
+ push @obj_idx, $#{ $self->{objects} };
405
+
406
+ if ($model_object->instances_count == 0) {
407
+ # if object has no defined position(s) we need to rearrange everything after loading
408
+ $need_arrange = 1;
409
+
410
+ # add a default instance and center object around origin
411
+ $o->center_around_origin;
412
+ $o->add_instance(offset => Slic3r::Pointf->new(@{$self->{config}->print_center}));
413
+ }
414
+
415
+ $self->{print}->auto_assign_extruders($o);
416
+ $self->{print}->add_model_object($o);
417
+ }
418
+
419
+ # if user turned autocentering off, automatic arranging would disappoint them
420
+ if (!$Slic3r::GUI::Settings->{_}{autocenter}) {
421
+ $need_arrange = 0;
422
+ }
423
+
424
+ $self->objects_loaded(\@obj_idx, no_arrange => !$need_arrange);
425
+ }
426
+
427
+ sub objects_loaded {
428
+ my $self = shift;
429
+ my ($obj_idxs, %params) = @_;
430
+
431
+ foreach my $obj_idx (@$obj_idxs) {
432
+ my $object = $self->{objects}[$obj_idx];
433
+ my $model_object = $self->{model}->objects->[$obj_idx];
434
+ $self->{list}->InsertStringItem($obj_idx, $object->name);
435
+ $self->{list}->SetItemFont($obj_idx, Wx::Font->new(10, wxDEFAULT, wxNORMAL, wxNORMAL))
436
+ if $self->{list}->can('SetItemFont'); # legacy code for wxPerl < 0.9918 not supporting SetItemFont()
437
+
438
+ $self->{list}->SetItem($obj_idx, 1, $model_object->instances_count);
439
+ $self->{list}->SetItem($obj_idx, 2, ($model_object->instances->[0]->scaling_factor * 100) . "%");
440
+
441
+ $self->make_thumbnail($obj_idx);
442
+ }
443
+ $self->arrange unless $params{no_arrange};
444
+ $self->update;
445
+ $self->{list}->Update;
446
+ $self->{list}->Select($obj_idxs->[-1], 1);
447
+ $self->object_list_changed;
448
+ }
449
+
450
+ sub remove {
451
+ my $self = shift;
452
+ my ($obj_idx) = @_;
453
+
454
+ # if no object index is supplied, remove the selected one
455
+ if (!defined $obj_idx) {
456
+ ($obj_idx, undef) = $self->selected_object;
457
+ }
458
+
459
+ splice @{$self->{objects}}, $obj_idx, 1;
460
+ $self->{model}->delete_object($obj_idx);
461
+ $self->{print}->delete_object($obj_idx);
462
+ $self->{list}->DeleteItem($obj_idx);
463
+ $self->object_list_changed;
464
+
465
+ $self->select_object(undef);
466
+ $self->update;
467
+ $self->{canvas}->Refresh;
468
+ }
469
+
470
+ sub reset {
471
+ my $self = shift;
472
+
473
+ @{$self->{objects}} = ();
474
+ $self->{model}->clear_objects;
475
+ $self->{print}->clear_objects;
476
+ $self->{list}->DeleteAllItems;
477
+ $self->object_list_changed;
478
+
479
+ $self->select_object(undef);
480
+ $self->{canvas}->Refresh;
481
+ }
482
+
483
+ sub increase {
484
+ my $self = shift;
485
+
486
+ my ($obj_idx, $object) = $self->selected_object;
487
+ my $model_object = $self->{model}->objects->[$obj_idx];
488
+ my $last_instance = $model_object->instances->[-1];
489
+ my $i = $model_object->add_instance(
490
+ offset => Slic3r::Pointf->new(map 10+$_, @{$last_instance->offset}),
491
+ scaling_factor => $last_instance->scaling_factor,
492
+ rotation => $last_instance->rotation,
493
+ );
494
+ $self->{print}->objects->[$obj_idx]->add_copy(@{$i->offset});
495
+ $self->{list}->SetItem($obj_idx, 1, $model_object->instances_count);
496
+
497
+ # only autoarrange if user has autocentering enabled
498
+ if ($Slic3r::GUI::Settings->{_}{autocenter}) {
499
+ $self->arrange;
500
+ } else {
501
+ $self->{canvas}->Refresh;
502
+ }
503
+ }
504
+
505
+ sub decrease {
506
+ my $self = shift;
507
+
508
+ my ($obj_idx, $object) = $self->selected_object;
509
+ my $model_object = $self->{model}->objects->[$obj_idx];
510
+ if ($model_object->instances_count >= 2) {
511
+ $model_object->delete_last_instance;
512
+ $self->{print}->objects->[$obj_idx]->delete_last_copy;
513
+ $self->{list}->SetItem($obj_idx, 1, $model_object->instances_count);
514
+ } else {
515
+ $self->remove;
516
+ }
517
+
518
+ if ($self->{objects}[$obj_idx]) {
519
+ $self->{list}->Select($obj_idx, 0);
520
+ $self->{list}->Select($obj_idx, 1);
521
+ }
522
+ $self->update;
523
+ $self->{canvas}->Refresh;
524
+ }
525
+
526
+ sub rotate {
527
+ my $self = shift;
528
+ my ($angle) = @_;
529
+
530
+ my ($obj_idx, $object) = $self->selected_object;
531
+ my $model_object = $self->{model}->objects->[$obj_idx];
532
+ my $model_instance = $model_object->instances->[0];
533
+
534
+ # we need thumbnail to be computed before allowing rotation
535
+ return if !$object->thumbnail;
536
+
537
+ if (!defined $angle) {
538
+ $angle = Wx::GetNumberFromUser("", "Enter the rotation angle:", "Rotate", $model_instance->rotation, -364, 364, $self);
539
+ return if !$angle || $angle == -1;
540
+ $angle = 0 - $angle; # rotate clockwise (be consistent with button icon)
541
+ }
542
+
543
+ {
544
+ my $new_angle = $model_instance->rotation + $angle;
545
+ $_->set_rotation($new_angle) for @{ $model_object->instances };
546
+ $model_object->update_bounding_box;
547
+
548
+ # update print
549
+ $self->{print}->delete_object($obj_idx);
550
+ $self->{print}->add_model_object($model_object, $obj_idx);
551
+
552
+ $object->transform_thumbnail($self->{model}, $obj_idx);
553
+ }
554
+ $self->selection_changed; # refresh info (size etc.)
555
+ $self->update;
556
+ $self->{canvas}->Refresh;
557
+ }
558
+
559
+ sub changescale {
560
+ my $self = shift;
561
+
562
+ my ($obj_idx, $object) = $self->selected_object;
563
+ my $model_object = $self->{model}->objects->[$obj_idx];
564
+ my $model_instance = $model_object->instances->[0];
565
+
566
+ # we need thumbnail to be computed before allowing scaling
567
+ return if !$object->thumbnail;
568
+
569
+ # max scale factor should be above 2540 to allow importing files exported in inches
570
+ my $scale = Wx::GetNumberFromUser("", "Enter the scale % for the selected object:", "Scale", $model_instance->scaling_factor*100, 0, 100000, $self);
571
+ return if !$scale || $scale == -1;
572
+
573
+ $self->{list}->SetItem($obj_idx, 2, "$scale%");
574
+ $scale /= 100; # turn percent into factor
575
+ {
576
+ my $variation = $scale / $model_instance->scaling_factor;
577
+ foreach my $range (@{ $model_object->layer_height_ranges }) {
578
+ $range->[0] *= $variation;
579
+ $range->[1] *= $variation;
580
+ }
581
+ $_->set_scaling_factor($scale) for @{ $model_object->instances };
582
+ $model_object->update_bounding_box;
583
+
584
+ # update print
585
+ $self->{print}->delete_object($obj_idx);
586
+ $self->{print}->add_model_object($model_object, $obj_idx);
587
+
588
+ $object->transform_thumbnail($self->{model}, $obj_idx);
589
+ }
590
+ $self->selection_changed(1); # refresh info (size, volume etc.)
591
+ $self->update;
592
+ $self->{canvas}->Refresh;
593
+ }
594
+
595
+ sub arrange {
596
+ my $self = shift;
597
+
598
+ # get the bounding box of the model area shown in the viewport
599
+ my $bb = Slic3r::Geometry::BoundingBox->new_from_points([
600
+ Slic3r::Point->new(@{ $self->point_to_model_units([0,0]) }),
601
+ Slic3r::Point->new(@{ $self->point_to_model_units(CANVAS_SIZE) }),
602
+ ]);
603
+
604
+ eval {
605
+ $self->{model}->arrange_objects($self->skeinpanel->config->min_object_distance, $bb);
606
+ };
607
+ # ignore arrange failures on purpose: user has visual feedback and we don't need to warn him
608
+ # when parts don't fit in print bed
609
+
610
+ $self->update(1);
611
+ $self->{canvas}->Refresh;
612
+ }
613
+
614
+ sub split_object {
615
+ my $self = shift;
616
+
617
+ my ($obj_idx, $current_object) = $self->selected_object;
618
+ my $current_model_object = $self->{model}->objects->[$obj_idx];
619
+
620
+ if (@{$current_model_object->volumes} > 1) {
621
+ Slic3r::GUI::warning_catcher($self)->("The selected object couldn't be split because it contains more than one volume/material.");
622
+ return;
623
+ }
624
+
625
+ my @new_meshes = @{$current_model_object->volumes->[0]->mesh->split};
626
+ if (@new_meshes == 1) {
627
+ Slic3r::GUI::warning_catcher($self)->("The selected object couldn't be split because it already contains a single part.");
628
+ return;
629
+ }
630
+
631
+ # create a bogus Model object, we only need to instantiate the new Model::Object objects
632
+ my $new_model = Slic3r::Model->new;
633
+
634
+ my @model_objects = ();
635
+ foreach my $mesh (@new_meshes) {
636
+ $mesh->repair;
637
+
638
+ my $model_object = $new_model->add_object(
639
+ input_file => $current_model_object->input_file,
640
+ config => $current_model_object->config->clone,
641
+ layer_height_ranges => $current_model_object->layer_height_ranges, # TODO: clone this
642
+ );
643
+ $model_object->add_volume(
644
+ mesh => $mesh,
645
+ material_id => $current_model_object->volumes->[0]->material_id,
646
+ );
647
+
648
+ for my $instance_idx (0..$#{ $current_model_object->instances }) {
649
+ my $current_instance = $current_model_object->instances->[$instance_idx];
650
+ $model_object->add_instance(
651
+ offset => Slic3r::Pointf->new(
652
+ $current_instance->offset->[X] + ($instance_idx * 10),
653
+ $current_instance->offset->[Y] + ($instance_idx * 10),
654
+ ),
655
+ rotation => $current_instance->rotation,
656
+ scaling_factor => $current_instance->scaling_factor,
657
+ );
658
+ }
659
+ # we need to center this single object around origin
660
+ $model_object->center_around_origin;
661
+ push @model_objects, $model_object;
662
+ }
663
+
664
+ # remove the original object before spawning the object_loaded event, otherwise
665
+ # we'll pass the wrong $obj_idx to it (which won't be recognized after the
666
+ # thumbnail thread returns)
667
+ $self->remove($obj_idx);
668
+ $current_object = $obj_idx = undef;
669
+
670
+ # load all model objects at once, otherwise the plate would be rearranged after each one
671
+ # causing original positions not to be kept
672
+ $self->load_model_objects(@model_objects);
673
+ }
674
+
675
+ sub export_gcode {
676
+ my $self = shift;
677
+
678
+ if ($self->{export_thread}) {
679
+ Wx::MessageDialog->new($self, "Another slicing job is currently running.", 'Error', wxOK | wxICON_ERROR)->ShowModal;
680
+ return;
681
+ }
682
+
683
+ # It looks like declaring a local $SIG{__WARN__} prevents the ugly
684
+ # "Attempt to free unreferenced scalar" warning...
685
+ local $SIG{__WARN__} = Slic3r::GUI::warning_catcher($self);
686
+
687
+ # apply config and validate print
688
+ my $config = $self->skeinpanel->config;
689
+ eval {
690
+ # this will throw errors if config is not valid
691
+ $config->validate;
692
+ $self->{print}->apply_config($config);
693
+ $self->{print}->validate;
694
+ };
695
+ Slic3r::GUI::catch_error($self) and return;
696
+
697
+ # apply extra variables
698
+ {
699
+ my $extra = $self->skeinpanel->extra_variables;
700
+ $self->{print}->placeholder_parser->set($_, $extra->{$_}) for keys %$extra;
701
+ }
702
+
703
+ # select output file
704
+ $self->{output_file} = $main::opt{output};
705
+ {
706
+ my $output_file = $self->{print}->expanded_output_filepath($self->{output_file});
707
+ my $dlg = Wx::FileDialog->new($self, 'Save G-code file as:', Slic3r::GUI->output_path(dirname($output_file)),
708
+ basename($output_file), &Slic3r::GUI::SkeinPanel::FILE_WILDCARDS->{gcode}, wxFD_SAVE);
709
+ if ($dlg->ShowModal != wxID_OK) {
710
+ $dlg->Destroy;
711
+ return;
712
+ }
713
+ $Slic3r::GUI::Settings->{_}{last_output_path} = dirname($dlg->GetPath);
714
+ Slic3r::GUI->save_settings;
715
+ $self->{output_file} = $Slic3r::GUI::SkeinPanel::last_output_file = $dlg->GetPath;
716
+ $dlg->Destroy;
717
+ }
718
+
719
+ $self->statusbar->StartBusy;
720
+
721
+ if ($Slic3r::have_threads) {
722
+ @_ = ();
723
+
724
+ # some perls (including 5.14.2) crash on threads->exit if we pass lexicals to the thread
725
+ our $_thread_self = $self;
726
+
727
+ $self->{export_thread} = threads->create(sub {
728
+ $_thread_self->export_gcode2(
729
+ $_thread_self->{output_file},
730
+ progressbar => sub { Wx::PostEvent($_thread_self, Wx::PlThreadEvent->new(-1, $PROGRESS_BAR_EVENT, shared_clone([@_]))) },
731
+ message_dialog => sub { Wx::PostEvent($_thread_self, Wx::PlThreadEvent->new(-1, $MESSAGE_DIALOG_EVENT, shared_clone([@_]))) },
732
+ on_completed => sub { Wx::PostEvent($_thread_self, Wx::PlThreadEvent->new(-1, $EXPORT_COMPLETED_EVENT, shared_clone([@_]))) },
733
+ catch_error => sub {
734
+ Slic3r::GUI::catch_error($_thread_self, $_[0], sub {
735
+ Wx::PostEvent($_thread_self, Wx::PlThreadEvent->new(-1, $MESSAGE_DIALOG_EVENT, shared_clone([@_])));
736
+ Wx::PostEvent($_thread_self, Wx::PlThreadEvent->new(-1, $EXPORT_FAILED_EVENT, undef));
737
+ });
738
+ },
739
+ );
740
+ Slic3r::thread_cleanup();
741
+ });
742
+ $self->statusbar->SetCancelCallback(sub {
743
+ $self->{export_thread}->kill('KILL')->join;
744
+ $self->{export_thread} = undef;
745
+ $self->statusbar->StopBusy;
746
+ $self->statusbar->SetStatusText("Export cancelled");
747
+ });
748
+ } else {
749
+ $self->export_gcode2(
750
+ $self->{output_file},
751
+ progressbar => sub {
752
+ my ($percent, $message) = @_;
753
+ $self->statusbar->SetProgress($percent);
754
+ $self->statusbar->SetStatusText("$message…");
755
+ },
756
+ message_dialog => sub { Wx::MessageDialog->new($self, @_)->ShowModal },
757
+ on_completed => sub { $self->on_export_completed(@_) },
758
+ catch_error => sub { Slic3r::GUI::catch_error($self, @_) && $self->on_export_failed },
759
+ );
760
+ }
761
+
762
+ # this method gets executed in a separate thread by wxWidgets since it's a button handler
763
+ Slic3r::thread_cleanup() if $Slic3r::have_threads;
764
+ }
765
+
766
+ sub export_gcode2 {
767
+ my $self = shift;
768
+ my ($output_file, %params) = @_;
769
+ local $SIG{'KILL'} = sub {
770
+ Slic3r::debugf "Exporting cancelled; exiting thread...\n";
771
+ Slic3r::thread_cleanup();
772
+ threads->exit();
773
+ } if $Slic3r::have_threads;
774
+
775
+ my $print = $self->{print};
776
+
777
+ eval {
778
+ {
779
+ my @warnings = ();
780
+ local $SIG{__WARN__} = sub { push @warnings, $_[0] };
781
+
782
+ $print->status_cb(sub { $params{progressbar}->(@_) });
783
+ if ($params{export_svg}) {
784
+ $print->export_svg(output_file => $output_file);
785
+ } else {
786
+ $print->process;
787
+ $print->export_gcode(output_file => $output_file);
788
+ }
789
+ $print->status_cb(undef);
790
+ Slic3r::GUI::warning_catcher($self, $Slic3r::have_threads ? sub {
791
+ Wx::PostEvent($self, Wx::PlThreadEvent->new(-1, $MESSAGE_DIALOG_EVENT, shared_clone([@_])));
792
+ } : undef)->($_) for @warnings;
793
+ }
794
+
795
+ $params{on_completed}->();
796
+ };
797
+ $params{catch_error}->();
798
+ }
799
+
800
+ sub on_export_completed {
801
+ my $self = shift;
802
+
803
+ $self->{export_thread}->detach if $self->{export_thread};
804
+ $self->{export_thread} = undef;
805
+ $self->statusbar->SetCancelCallback(undef);
806
+ $self->statusbar->StopBusy;
807
+ my $message = "G-code file exported to $self->{output_file}";
808
+ $self->statusbar->SetStatusText($message);
809
+ &Wx::wxTheApp->notify($message);
810
+ }
811
+
812
+ sub on_export_failed {
813
+ my $self = shift;
814
+
815
+ $self->{export_thread}->detach if $self->{export_thread};
816
+ $self->{export_thread} = undef;
817
+ $self->statusbar->SetCancelCallback(undef);
818
+ $self->statusbar->StopBusy;
819
+ $self->statusbar->SetStatusText("Export failed");
820
+ }
821
+
822
+ sub export_stl {
823
+ my $self = shift;
824
+
825
+ my $output_file = $self->_get_export_file('STL') or return;
826
+ Slic3r::Format::STL->write_file($output_file, $self->{model}, binary => 1);
827
+ $self->statusbar->SetStatusText("STL file exported to $output_file");
828
+
829
+ # this method gets executed in a separate thread by wxWidgets since it's a button handler
830
+ Slic3r::thread_cleanup() if $Slic3r::have_threads;
831
+ }
832
+
833
+ sub export_amf {
834
+ my $self = shift;
835
+
836
+ my $output_file = $self->_get_export_file('AMF') or return;
837
+ Slic3r::Format::AMF->write_file($output_file, $self->{model});
838
+ $self->statusbar->SetStatusText("AMF file exported to $output_file");
839
+
840
+ # this method gets executed in a separate thread by wxWidgets since it's a menu handler
841
+ Slic3r::thread_cleanup() if $Slic3r::have_threads;
842
+ }
843
+
844
+ sub _get_export_file {
845
+ my $self = shift;
846
+ my ($format) = @_;
847
+
848
+ my $suffix = $format eq 'STL' ? '.stl' : '.amf.xml';
849
+
850
+ my $output_file = $main::opt{output};
851
+ {
852
+ $output_file = $self->{print}->expanded_output_filepath($output_file);
853
+ $output_file =~ s/\.gcode$/$suffix/i;
854
+ my $dlg = Wx::FileDialog->new($self, "Save $format file as:", dirname($output_file),
855
+ basename($output_file), &Slic3r::GUI::SkeinPanel::MODEL_WILDCARD, wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
856
+ if ($dlg->ShowModal != wxID_OK) {
857
+ $dlg->Destroy;
858
+ return undef;
859
+ }
860
+ $output_file = $Slic3r::GUI::SkeinPanel::last_output_file = $dlg->GetPath;
861
+ $dlg->Destroy;
862
+ }
863
+ return $output_file;
864
+ }
865
+
866
+ sub make_thumbnail {
867
+ my $self = shift;
868
+ my ($obj_idx) = @_;
869
+
870
+ my $plater_object = $self->{objects}[$obj_idx];
871
+ $plater_object->thumbnail(Slic3r::ExPolygon::Collection->new);
872
+ my $cb = sub {
873
+ $plater_object->make_thumbnail($self->{model}, $obj_idx);
874
+
875
+ if ($Slic3r::have_threads) {
876
+ Wx::PostEvent($self, Wx::PlThreadEvent->new(-1, $THUMBNAIL_DONE_EVENT, shared_clone([ $obj_idx ])));
877
+ Slic3r::thread_cleanup();
878
+ threads->exit;
879
+ } else {
880
+ $self->on_thumbnail_made($obj_idx);
881
+ }
882
+ };
883
+
884
+ @_ = ();
885
+ $Slic3r::have_threads
886
+ ? threads->create(sub { $cb->(); Slic3r::thread_cleanup(); })->detach
887
+ : $cb->();
888
+ }
889
+
890
+ sub on_thumbnail_made {
891
+ my $self = shift;
892
+ my ($obj_idx) = @_;
893
+
894
+ $self->{objects}[$obj_idx]->transform_thumbnail($self->{model}, $obj_idx);
895
+ $self->update;
896
+ $self->{canvas}->Refresh;
897
+ }
898
+
899
+ sub clean_instance_thumbnails {
900
+ my ($self) = @_;
901
+
902
+ foreach my $object (@{ $self->{objects} }) {
903
+ @{ $object->instance_thumbnails } = ();
904
+ }
905
+ }
906
+
907
+ # this method gets called whenever print center is changed or the objects' bounding box changes
908
+ # (i.e. when an object is added/removed/moved/rotated/scaled)
909
+ sub update {
910
+ my ($self, $force_autocenter) = @_;
911
+
912
+ if ($Slic3r::GUI::Settings->{_}{autocenter} || $force_autocenter) {
913
+ $self->{model}->center_instances_around_point($self->{config}->print_center);
914
+ }
915
+
916
+ # sync model and print object instances
917
+ for my $obj_idx (0..$#{$self->{objects}}) {
918
+ my $model_object = $self->{model}->objects->[$obj_idx];
919
+ my $print_object = $self->{print}->objects->[$obj_idx];
920
+
921
+ $print_object->delete_all_copies;
922
+ $print_object->add_copy(@{$_->offset}) for @{$model_object->instances};
923
+ }
924
+
925
+ $self->{canvas}->Refresh;
926
+ }
927
+
928
+ sub on_config_change {
929
+ my $self = shift;
930
+ my ($opt_key, $value) = @_;
931
+ if ($opt_key eq 'extruders_count' && defined $value) {
932
+ my $choices = $self->{preset_choosers}{filament};
933
+ while (@$choices < $value) {
934
+ my @presets = $choices->[0]->GetStrings;
935
+ push @$choices, Wx::Choice->new($self, -1, wxDefaultPosition, [150, -1], [@presets]);
936
+ $choices->[-1]->SetFont($Slic3r::GUI::small_font);
937
+ $self->{preset_choosers_sizers}{filament}->Add($choices->[-1], 0, wxEXPAND | wxBOTTOM, FILAMENT_CHOOSERS_SPACING);
938
+ EVT_CHOICE($choices->[-1], $choices->[-1], sub { $self->on_select_preset('filament', @_) });
939
+ my $i = first { $choices->[-1]->GetString($_) eq ($Slic3r::GUI::Settings->{presets}{"filament_" . $#$choices} || '') } 0 .. $#presets;
940
+ $choices->[-1]->SetSelection($i || 0);
941
+ }
942
+ while (@$choices > $value) {
943
+ $self->{preset_choosers_sizers}{filament}->Remove(-1);
944
+ $choices->[-1]->Destroy;
945
+ pop @$choices;
946
+ }
947
+ $self->Layout;
948
+ } elsif ($self->{config}->has($opt_key)) {
949
+ $self->{config}->set($opt_key, $value);
950
+ $self->_update_bed_size if $opt_key eq 'bed_size';
951
+ $self->update if $opt_key eq 'print_center';
952
+ }
953
+ }
954
+
955
+ sub _update_bed_size {
956
+ my $self = shift;
957
+
958
+ # supposing the preview canvas is square, calculate the scaling factor
959
+ # to constrain print bed area inside preview
960
+ # when the canvas is not rendered yet, its GetSize() method returns 0,0
961
+ # scaling_factor is expressed in pixel / mm
962
+ $self->{scaling_factor} = CANVAS_SIZE->[X] / max(@{ $self->{config}->bed_size });
963
+ $self->update;
964
+ }
965
+
966
+ # this is called on the canvas
967
+ sub repaint {
968
+ my ($self, $event) = @_;
969
+ my $parent = $self->GetParent;
970
+
971
+ my $dc = Wx::PaintDC->new($self);
972
+ my $size = $self->GetSize;
973
+ my @size = ($size->GetWidth, $size->GetHeight);
974
+
975
+ # draw grid
976
+ $dc->SetPen($parent->{grid_pen});
977
+ my $step = 10 * $parent->{scaling_factor};
978
+ for (my $x = $step; $x <= $size[X]; $x += $step) {
979
+ $dc->DrawLine($x, 0, $x, $size[Y]);
980
+ }
981
+ for (my $y = $step; $y <= $size[Y]; $y += $step) {
982
+ $dc->DrawLine(0, $y, $size[X], $y);
983
+ }
984
+
985
+ # draw print center
986
+ if (@{$parent->{objects}}) {
987
+ $dc->SetPen($parent->{print_center_pen});
988
+ $dc->DrawLine($size[X]/2, 0, $size[X]/2, $size[Y]);
989
+ $dc->DrawLine(0, $size[Y]/2, $size[X], $size[Y]/2);
990
+ $dc->SetTextForeground(Wx::Colour->new(0,0,0));
991
+ $dc->SetFont(Wx::Font->new(10, wxDEFAULT, wxNORMAL, wxNORMAL));
992
+ $dc->DrawLabel("X = " . $parent->{config}->print_center->[X], Wx::Rect->new(0, 0, $self->GetSize->GetWidth, $self->GetSize->GetHeight), wxALIGN_CENTER_HORIZONTAL | wxALIGN_BOTTOM);
993
+ $dc->DrawRotatedText("Y = " . $parent->{config}->print_center->[Y], 0, $size[Y]/2+15, 90);
994
+ }
995
+
996
+ # draw frame
997
+ if (0) {
998
+ $dc->SetPen(wxBLACK_PEN);
999
+ $dc->SetBrush($parent->{transparent_brush});
1000
+ $dc->DrawRectangle(0, 0, @size);
1001
+ }
1002
+
1003
+ # draw text if plate is empty
1004
+ if (!@{$parent->{objects}}) {
1005
+ $dc->SetTextForeground(Wx::Colour->new(150,50,50));
1006
+ $dc->SetFont(Wx::Font->new(14, wxDEFAULT, wxNORMAL, wxNORMAL));
1007
+ $dc->DrawLabel(CANVAS_TEXT, Wx::Rect->new(0, 0, $self->GetSize->GetWidth, $self->GetSize->GetHeight), wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL);
1008
+ }
1009
+
1010
+ # draw thumbnails
1011
+ $dc->SetPen(wxBLACK_PEN);
1012
+ $parent->clean_instance_thumbnails;
1013
+ for my $obj_idx (0 .. $#{$parent->{objects}}) {
1014
+ my $object = $parent->{objects}[$obj_idx];
1015
+ my $model_object = $parent->{model}->objects->[$obj_idx];
1016
+ next unless defined $object->thumbnail;
1017
+ for my $instance_idx (0 .. $#{$model_object->instances}) {
1018
+ my $instance = $model_object->instances->[$instance_idx];
1019
+ next if !defined $object->transformed_thumbnail;
1020
+
1021
+ my $thumbnail = $object->transformed_thumbnail->clone; # in scaled model coordinates
1022
+ $thumbnail->translate(map scale($_), @{$instance->offset});
1023
+
1024
+ $object->instance_thumbnails->[$instance_idx] = $thumbnail;
1025
+
1026
+ if (defined $self->{drag_object} && $self->{drag_object}[0] == $obj_idx && $self->{drag_object}[1] == $instance_idx) {
1027
+ $dc->SetBrush($parent->{dragged_brush});
1028
+ } elsif ($object->selected) {
1029
+ $dc->SetBrush($parent->{selected_brush});
1030
+ } else {
1031
+ $dc->SetBrush($parent->{objects_brush});
1032
+ }
1033
+ foreach my $expolygon (@$thumbnail) {
1034
+ foreach my $points (@{$expolygon->pp}) {
1035
+ $dc->DrawPolygon($parent->points_to_pixel($points, 1), 0, 0);
1036
+ }
1037
+ }
1038
+
1039
+ if (0) {
1040
+ # draw bounding box for debugging purposes
1041
+ my $bb = $model_object->instance_bounding_box($instance_idx);
1042
+ $bb->scale($parent->{scaling_factor});
1043
+ # no need to translate by instance offset because instance_bounding_box() does that
1044
+ my $points = $bb->polygon->pp;
1045
+ $dc->SetPen($parent->{clearance_pen});
1046
+ $dc->SetBrush($parent->{transparent_brush});
1047
+ $dc->DrawPolygon($parent->_y($points), 0, 0);
1048
+ }
1049
+
1050
+ # if sequential printing is enabled and we have more than one object, draw clearance area
1051
+ if ($parent->{config}->complete_objects && (map @{$_->instances}, @{$parent->{model}->objects}) > 1) {
1052
+ my ($clearance) = @{offset([$thumbnail->convex_hull], (scale($parent->{config}->extruder_clearance_radius) / 2), 1, JT_ROUND, scale(0.1))};
1053
+ $dc->SetPen($parent->{clearance_pen});
1054
+ $dc->SetBrush($parent->{transparent_brush});
1055
+ $dc->DrawPolygon($parent->points_to_pixel($clearance, 1), 0, 0);
1056
+ }
1057
+ }
1058
+ }
1059
+
1060
+ # draw skirt
1061
+ if (@{$parent->{objects}} && $parent->{config}->skirts) {
1062
+ my @points = map @{$_->contour}, map @$_, map @{$_->instance_thumbnails}, @{$parent->{objects}};
1063
+ if (@points >= 3) {
1064
+ my ($convex_hull) = @{offset([convex_hull(\@points)], scale($parent->{config}->skirt_distance), 1, JT_ROUND, scale(0.1))};
1065
+ $dc->SetPen($parent->{skirt_pen});
1066
+ $dc->SetBrush($parent->{transparent_brush});
1067
+ $dc->DrawPolygon($parent->points_to_pixel($convex_hull, 1), 0, 0);
1068
+ }
1069
+ }
1070
+
1071
+ $event->Skip;
1072
+ }
1073
+
1074
+ sub mouse_event {
1075
+ my ($self, $event) = @_;
1076
+ my $parent = $self->GetParent;
1077
+
1078
+ my $point = $event->GetPosition;
1079
+ my $pos = $parent->point_to_model_units([ $point->x, $point->y ]); #]]
1080
+ $pos = Slic3r::Point->new_scale(@$pos);
1081
+ if ($event->ButtonDown(&Wx::wxMOUSE_BTN_LEFT)) {
1082
+ $parent->select_object(undef);
1083
+ for my $obj_idx (0 .. $#{$parent->{objects}}) {
1084
+ my $object = $parent->{objects}->[$obj_idx];
1085
+ for my $instance_idx (0 .. $#{ $object->instance_thumbnails }) {
1086
+ my $thumbnail = $object->instance_thumbnails->[$instance_idx];
1087
+ if (defined first { $_->contour->contains_point($pos) } @$thumbnail) {
1088
+ $parent->select_object($obj_idx);
1089
+ my $instance = $parent->{model}->objects->[$obj_idx]->instances->[$instance_idx];
1090
+ my $instance_origin = [ map scale($_), @{$instance->offset} ];
1091
+ $self->{drag_start_pos} = [ # displacement between the click and the instance origin in scaled model units
1092
+ $pos->x - $instance_origin->[X],
1093
+ $pos->y - $instance_origin->[Y], #-
1094
+ ];
1095
+ $self->{drag_object} = [ $obj_idx, $instance_idx ];
1096
+ }
1097
+ }
1098
+ }
1099
+ $parent->Refresh;
1100
+ } elsif ($event->ButtonUp(&Wx::wxMOUSE_BTN_LEFT)) {
1101
+ $parent->update;
1102
+ $parent->Refresh;
1103
+ $self->{drag_start_pos} = undef;
1104
+ $self->{drag_object} = undef;
1105
+ $self->SetCursor(wxSTANDARD_CURSOR);
1106
+ } elsif ($event->ButtonDClick) {
1107
+ $parent->object_cut_dialog if $parent->selected_object;
1108
+ } elsif ($event->Dragging) {
1109
+ return if !$self->{drag_start_pos}; # concurrency problems
1110
+ my ($obj_idx, $instance_idx) = @{ $self->{drag_object} };
1111
+ my $model_object = $parent->{model}->objects->[$obj_idx];
1112
+ $model_object->instances->[$instance_idx]->set_offset(
1113
+ Slic3r::Pointf->new(
1114
+ unscale($pos->[X] - $self->{drag_start_pos}[X]),
1115
+ unscale($pos->[Y] - $self->{drag_start_pos}[Y]),
1116
+ ));
1117
+ $model_object->update_bounding_box;
1118
+ $parent->Refresh;
1119
+ } elsif ($event->Moving) {
1120
+ my $cursor = wxSTANDARD_CURSOR;
1121
+ if (defined first { $_->contour->contains_point($pos) } map @$_, map @{$_->instance_thumbnails}, @{ $parent->{objects} }) {
1122
+ $cursor = Wx::Cursor->new(wxCURSOR_HAND);
1123
+ }
1124
+ $self->SetCursor($cursor);
1125
+ }
1126
+ }
1127
+
1128
+ sub list_item_deselected {
1129
+ my ($self, $event) = @_;
1130
+ return if $PreventListEvents;
1131
+
1132
+ if ($self->{list}->GetFirstSelected == -1) {
1133
+ $self->select_object(undef);
1134
+ $self->{canvas}->Refresh;
1135
+ }
1136
+ }
1137
+
1138
+ sub list_item_selected {
1139
+ my ($self, $event) = @_;
1140
+ return if $PreventListEvents;
1141
+
1142
+ my $obj_idx = $event->GetIndex;
1143
+ $self->select_object($obj_idx);
1144
+ $self->{canvas}->Refresh;
1145
+ }
1146
+
1147
+ sub list_item_activated {
1148
+ my ($self, $event, $obj_idx) = @_;
1149
+
1150
+ $obj_idx //= $event->GetIndex;
1151
+ $self->object_cut_dialog($obj_idx);
1152
+ }
1153
+
1154
+ sub object_cut_dialog {
1155
+ my $self = shift;
1156
+ my ($obj_idx) = @_;
1157
+
1158
+ if (!defined $obj_idx) {
1159
+ ($obj_idx, undef) = $self->selected_object;
1160
+ }
1161
+
1162
+ if (!$Slic3r::GUI::have_OpenGL) {
1163
+ Slic3r::GUI::show_error($self, "Please install the OpenGL modules to use this feature (see build instructions).");
1164
+ return;
1165
+ }
1166
+
1167
+ my $dlg = Slic3r::GUI::Plater::ObjectCutDialog->new($self,
1168
+ object => $self->{objects}[$obj_idx],
1169
+ model_object => $self->{model}->objects->[$obj_idx],
1170
+ );
1171
+ $dlg->ShowModal;
1172
+
1173
+ if (my @new_objects = $dlg->NewModelObjects) {
1174
+ $self->remove($obj_idx);
1175
+ $self->load_model_objects(@new_objects);
1176
+ $self->arrange;
1177
+ }
1178
+ }
1179
+
1180
+ sub object_settings_dialog {
1181
+ my $self = shift;
1182
+ my ($obj_idx) = @_;
1183
+
1184
+ if (!defined $obj_idx) {
1185
+ ($obj_idx, undef) = $self->selected_object;
1186
+ }
1187
+ my $model_object = $self->{model}->objects->[$obj_idx];
1188
+
1189
+ # validate config before opening the settings dialog because
1190
+ # that dialog can't be closed if validation fails, but user
1191
+ # can't fix any error which is outside that dialog
1192
+ return unless $self->validate_config;
1193
+
1194
+ my $dlg = Slic3r::GUI::Plater::ObjectSettingsDialog->new($self,
1195
+ object => $self->{objects}[$obj_idx],
1196
+ model_object => $model_object,
1197
+ );
1198
+ $dlg->ShowModal;
1199
+
1200
+ # update thumbnail since parts may have changed
1201
+ if ($dlg->PartsChanged) {
1202
+ $self->make_thumbnail($obj_idx);
1203
+ }
1204
+
1205
+ # update print
1206
+ if ($dlg->PartsChanged || $dlg->PartSettingsChanged) {
1207
+ $self->{print}->reload_object($obj_idx);
1208
+ }
1209
+ }
1210
+
1211
+ sub object_list_changed {
1212
+ my $self = shift;
1213
+
1214
+ my $have_objects = @{$self->{objects}} ? 1 : 0;
1215
+ my $method = $have_objects ? 'Enable' : 'Disable';
1216
+ $self->{"btn_$_"}->$method
1217
+ for grep $self->{"btn_$_"}, qw(reset arrange export_gcode export_stl);
1218
+
1219
+ if ($self->{htoolbar}) {
1220
+ $self->{htoolbar}->EnableTool($_, $have_objects)
1221
+ for (TB_RESET, TB_ARRANGE);
1222
+ }
1223
+ }
1224
+
1225
+ sub selection_changed {
1226
+ my $self = shift;
1227
+
1228
+ my ($obj_idx, $object) = $self->selected_object;
1229
+ my $have_sel = defined $obj_idx;
1230
+
1231
+ my $method = $have_sel ? 'Enable' : 'Disable';
1232
+ $self->{"btn_$_"}->$method
1233
+ for grep $self->{"btn_$_"}, qw(remove increase decrease rotate45cw rotate45ccw rotate changescale split view settings);
1234
+
1235
+ if ($self->{htoolbar}) {
1236
+ $self->{htoolbar}->EnableTool($_, $have_sel)
1237
+ for (TB_REMOVE, TB_MORE, TB_FEWER, TB_45CW, TB_45CCW, TB_ROTATE, TB_SCALE, TB_SPLIT, TB_VIEW, TB_SETTINGS);
1238
+ }
1239
+
1240
+ if ($self->{object_info_size}) { # have we already loaded the info pane?
1241
+ if ($have_sel) {
1242
+ my $model_object = $self->{model}->objects->[$obj_idx];
1243
+ my $model_instance = $model_object->instances->[0];
1244
+ $self->{object_info_size}->SetLabel(sprintf("%.2f x %.2f x %.2f", @{$model_object->instance_bounding_box(0)->size}));
1245
+ $self->{object_info_materials}->SetLabel($model_object->materials_count);
1246
+
1247
+ if (my $stats = $model_object->mesh_stats) {
1248
+ $self->{object_info_volume}->SetLabel(sprintf('%.2f', $stats->{volume} * ($model_instance->scaling_factor**3)));
1249
+ $self->{object_info_facets}->SetLabel(sprintf('%d (%d shells)', $model_object->facets_count, $stats->{number_of_parts}));
1250
+ if (my $errors = sum(@$stats{qw(degenerate_facets edges_fixed facets_removed facets_added facets_reversed backwards_edges)})) {
1251
+ $self->{object_info_manifold}->SetLabel(sprintf("Auto-repaired (%d errors)", $errors));
1252
+ $self->{object_info_manifold_warning_icon}->Show;
1253
+
1254
+ # we don't show normals_fixed because we never provide normals
1255
+ # to admesh, so it generates normals for all facets
1256
+ my $message = sprintf '%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d facets reversed, %d backwards edges',
1257
+ @$stats{qw(degenerate_facets edges_fixed facets_removed facets_added facets_reversed backwards_edges)};
1258
+ $self->{object_info_manifold}->SetToolTipString($message);
1259
+ $self->{object_info_manifold_warning_icon}->SetToolTipString($message);
1260
+ } else {
1261
+ $self->{object_info_manifold}->SetLabel("Yes");
1262
+ }
1263
+ } else {
1264
+ $self->{object_info_facets}->SetLabel($object->facets);
1265
+ }
1266
+ } else {
1267
+ $self->{"object_info_$_"}->SetLabel("") for qw(size volume facets materials manifold);
1268
+ $self->{object_info_manifold_warning_icon}->Hide;
1269
+ $self->{object_info_manifold}->SetToolTipString("");
1270
+ }
1271
+ $self->Layout;
1272
+ }
1273
+ }
1274
+
1275
+ sub select_object {
1276
+ my ($self, $obj_idx) = @_;
1277
+
1278
+ $_->selected(0) for @{ $self->{objects} };
1279
+ if (defined $obj_idx) {
1280
+ $self->{objects}->[$obj_idx]->selected(1);
1281
+
1282
+ # We use this flag to avoid circular event handling
1283
+ # Select() happens to fire a wxEVT_LIST_ITEM_SELECTED on Windows,
1284
+ # whose event handler calls this method again and again and again
1285
+ $PreventListEvents = 1;
1286
+ $self->{list}->Select($obj_idx, 1);
1287
+ $PreventListEvents = 0;
1288
+ } else {
1289
+ # TODO: deselect all in list
1290
+ }
1291
+ $self->selection_changed(1);
1292
+ }
1293
+
1294
+ sub selected_object {
1295
+ my $self = shift;
1296
+
1297
+ my $obj_idx = first { $self->{objects}[$_]->selected } 0..$#{ $self->{objects} };
1298
+ return undef if !defined $obj_idx;
1299
+ return ($obj_idx, $self->{objects}[$obj_idx]),
1300
+ }
1301
+
1302
+ sub validate_config {
1303
+ my $self = shift;
1304
+
1305
+ eval {
1306
+ $self->skeinpanel->config->validate;
1307
+ };
1308
+ return 0 if Slic3r::GUI::catch_error($self);
1309
+ return 1;
1310
+ }
1311
+
1312
+ sub statusbar {
1313
+ my $self = shift;
1314
+ return $self->skeinpanel->GetParent->{statusbar};
1315
+ }
1316
+
1317
+ # coordinates of the model origin (0,0) in pixels
1318
+ sub model_origin_to_pixel {
1319
+ my ($self) = @_;
1320
+
1321
+ return [
1322
+ CANVAS_SIZE->[X]/2 - ($self->{config}->print_center->[X] * $self->{scaling_factor}),
1323
+ CANVAS_SIZE->[Y]/2 - ($self->{config}->print_center->[Y] * $self->{scaling_factor}),
1324
+ ];
1325
+ }
1326
+
1327
+ # convert a model coordinate into a pixel coordinate, assuming preview has square shape
1328
+ sub point_to_pixel {
1329
+ my ($self, $point) = @_;
1330
+
1331
+ my $canvas_height = $self->{canvas}->GetSize->GetHeight;
1332
+ my $zero = $self->model_origin_to_pixel;
1333
+ return [
1334
+ $point->[X] * $self->{scaling_factor} + $zero->[X],
1335
+ $canvas_height - ($point->[Y] * $self->{scaling_factor} + $zero->[Y]),
1336
+ ];
1337
+ }
1338
+
1339
+ sub points_to_pixel {
1340
+ my ($self, $points, $unscale) = @_;
1341
+
1342
+ my $result = [];
1343
+ foreach my $point (@$points) {
1344
+ $point = [ map unscale($_), @$point ] if $unscale;
1345
+ push @$result, $self->point_to_pixel($point);
1346
+ }
1347
+ return $result;
1348
+ }
1349
+
1350
+ sub point_to_model_units {
1351
+ my ($self, $point) = @_;
1352
+
1353
+ my $canvas_height = $self->{canvas}->GetSize->GetHeight;
1354
+ my $zero = $self->model_origin_to_pixel;
1355
+ return [
1356
+ ($point->[X] - $zero->[X]) / $self->{scaling_factor},
1357
+ (($canvas_height - $point->[Y] - $zero->[Y]) / $self->{scaling_factor}),
1358
+ ];
1359
+ }
1360
+
1361
+ package Slic3r::GUI::Plater::DropTarget;
1362
+ use Wx::DND;
1363
+ use base 'Wx::FileDropTarget';
1364
+
1365
+ sub new {
1366
+ my $class = shift;
1367
+ my ($window) = @_;
1368
+ my $self = $class->SUPER::new;
1369
+ $self->{window} = $window;
1370
+ return $self;
1371
+ }
1372
+
1373
+ sub OnDropFiles {
1374
+ my $self = shift;
1375
+ my ($x, $y, $filenames) = @_;
1376
+
1377
+ # stop scalars leaking on older perl
1378
+ # https://rt.perl.org/rt3/Public/Bug/Display.html?id=70602
1379
+ @_ = ();
1380
+
1381
+ # only accept STL, OBJ and AMF files
1382
+ return 0 if grep !/\.(?:stl|obj|amf(?:\.xml)?)$/i, @$filenames;
1383
+
1384
+ $self->{window}->load_file($_) for @$filenames;
1385
+ }
1386
+
1387
+ package Slic3r::GUI::Plater::Object;
1388
+ use Moo;
1389
+
1390
+ use List::Util qw(first);
1391
+ use Slic3r::Geometry qw(X Y Z MIN MAX deg2rad);
1392
+
1393
+ has 'name' => (is => 'rw', required => 1);
1394
+ has 'thumbnail' => (is => 'rw'); # ExPolygon::Collection in scaled model units with no transforms
1395
+ has 'transformed_thumbnail' => (is => 'rw');
1396
+ has 'instance_thumbnails' => (is => 'ro', default => sub { [] }); # array of ExPolygon::Collection objects, each one representing the actual placed thumbnail of each instance in pixel units
1397
+ has 'selected' => (is => 'rw', default => sub { 0 });
1398
+
1399
+ sub make_thumbnail {
1400
+ my ($self, $model, $obj_idx) = @_;
1401
+
1402
+ my $mesh = $model->objects->[$obj_idx]->raw_mesh;
1403
+
1404
+ if ($mesh->facets_count <= 5000) {
1405
+ # remove polygons with area <= 1mm
1406
+ my $area_threshold = Slic3r::Geometry::scale 1;
1407
+ $self->thumbnail->append(
1408
+ grep $_->area >= $area_threshold,
1409
+ @{ $mesh->horizontal_projection }, # horizontal_projection returns scaled expolygons
1410
+ );
1411
+ $self->thumbnail->simplify(0.5);
1412
+ } else {
1413
+ my $convex_hull = Slic3r::ExPolygon->new($mesh->convex_hull);
1414
+ $self->thumbnail->append($convex_hull);
1415
+ }
1416
+
1417
+ return $self->thumbnail;
1418
+ }
1419
+
1420
+ sub transform_thumbnail {
1421
+ my ($self, $model, $obj_idx) = @_;
1422
+
1423
+ return unless defined $self->thumbnail;
1424
+
1425
+ my $model_object = $model->objects->[$obj_idx];
1426
+ my $model_instance = $model_object->instances->[0];
1427
+
1428
+ # the order of these transformations MUST be the same everywhere, including
1429
+ # in Slic3r::Print->add_model_object()
1430
+ my $t = $self->thumbnail->clone;
1431
+ $t->rotate(deg2rad($model_instance->rotation), Slic3r::Point->new(0,0));
1432
+ $t->scale($model_instance->scaling_factor);
1433
+
1434
+ $self->transformed_thumbnail($t);
1435
+ }
1436
+
1437
+ 1;