From 41a35923406a1325c9326305f442113930a24430 Mon Sep 17 00:00:00 2001 From: Mario Voigt Date: Thu, 13 Oct 2022 00:05:56 +0200 Subject: [PATCH] Adding back more extensions --- .../cleanup_styles/cleanup_styles.inx | 72 + .../cleanup_styles/cleanup_styles.py | 258 ++++ .../fablabchemnitz/cleanup_styles/meta.json | 21 + .../fablabchemnitz/color_harmony/.gitignore | 1 + .../color_harmony/color_harmony.inx | 87 ++ .../color_harmony/color_harmony.py | 318 +++++ .../color_harmony/color_harmony/__init__.py | 1 + .../color_harmony/color_harmony/colorplus.py | 260 ++++ .../color_harmony/color_harmony/export.py | 139 ++ .../color_harmony/color_harmony/harmonies.py | 104 ++ .../color_harmony/matching/__init__.py | 1 + .../color_harmony/matching/matching.py | 117 ++ .../color_harmony/matching/svg.py | 96 ++ .../color_harmony/matching/svg_widget.py | 135 ++ .../color_harmony/matching/transform.py | 241 ++++ .../color_harmony/open_palette.py | 17 + .../color_harmony/palette/palette.py | 352 +++++ .../color_harmony/color_harmony/shades.py | 125 ++ .../color_harmony/storage/__init__.py | 1 + .../color_harmony/storage/cluster.py | 180 +++ .../color_harmony/storage/css.py | 83 ++ .../color_harmony/storage/gimp.py | 188 +++ .../color_harmony/storage/image.py | 201 +++ .../color_harmony/storage/kpl.py | 178 +++ .../color_harmony/storage/scribus.py | 76 + .../color_harmony/storage/storage.py | 62 + .../color_harmony/storage/xml.py | 179 +++ .../color_harmony/color_harmony/utils.py | 49 + .../fablabchemnitz/color_harmony/meta.json | 21 + .../destructive_clip/destructive_clip.inx | 17 + .../destructive_clip/destructive_clip.py | 220 +++ .../fablabchemnitz/destructive_clip/meta.json | 21 + .../dimensioning/dimensioning.inx | 58 + .../dimensioning/dimensioning.py | 283 ++++ .../fablabchemnitz/dimensioning/meta.json | 21 + .../duplicate_reverse_join.inx | 16 + .../duplicate_reverse_join.py | 63 + .../duplicate_reverse_join/meta.json | 21 + .../epilog_dashboard_bbox_adjust.inx | 64 + .../epilog_dashboard_bbox_adjust.py | 159 +++ .../epilog_dashboard_bbox_adjust/meta.json | 22 + .../frame_animation_sequence.inx | 20 + .../frame_animation_sequence.py | 123 ++ .../frame_animation_sequence/meta.json | 21 + .../guillotine_plus/guillotine_plus.inx | 20 + .../guillotine_plus/guillotine_plus.py | 192 +++ .../fablabchemnitz/guillotine_plus/meta.json | 21 + .../import_attributes/import_attributes.inx | 20 + .../import_attributes/import_attributes.py | 45 + .../import_attributes/meta.json | 21 + .../dimetric_projection.inx | 23 + .../isometric_projection.inx | 23 + .../isometric_projection.py | 218 +++ .../isometric_projection/meta.json | 21 + .../fablabchemnitz/low_poly_2/low_poly_2.inx | 16 + .../fablabchemnitz/low_poly_2/low_poly_2.py | 301 ++++ .../fablabchemnitz/low_poly_2/meta.json | 21 + .../open_in_roland_cutstudio/meta.json | 21 + .../open_in_roland_cutstudio.inx | 16 + .../open_in_roland_cutstudio.py | 435 ++++++ .../meta.json | 21 + .../optimize_sequence_lasercut_sequence.inx | 16 + .../optimize_sequence_lasercut_sequence.py | 40 + .../meta.json | 21 + .../optimize_sequence_travel_distance.inx | 25 + .../optimize_sequence_travel_distance.py | 1239 +++++++++++++++++ .../plot_utils.py | 744 ++++++++++ .../simplepath.py | 211 +++ .../simpletransform.py | 261 ++++ .../purge_duplicate_path_nodes/meta.json | 21 + .../purge_duplicate_path_nodes.inx | 43 + .../purge_duplicate_path_nodes.py | 524 +++++++ .../purge_duplicate_path_segments/meta.json | 20 + .../purge_duplicate_path_segments.inx | 16 + .../purge_duplicate_path_segments.py | 123 ++ .../fablabchemnitz/quick_joint/meta.json | 21 + .../quick_joint/quick_joint.inx | 38 + .../fablabchemnitz/quick_joint/quick_joint.py | 310 +++++ .../fablabchemnitz/raytracing/desc_parser.py | 20 + extensions/fablabchemnitz/raytracing/lens.inx | 39 + extensions/fablabchemnitz/raytracing/lens.py | 231 +++ .../fablabchemnitz/raytracing/meta.json | 21 + .../raytracing/raytracing/__init__.py | 4 + .../raytracing/geometry/__init__.py | 2 + .../raytracing/geometry/cubic_bezier.py | 210 +++ .../raytracing/geometry/geometric_object.py | 151 ++ .../raytracing/material/__init__.py | 5 + .../raytracing/material/beamdump.py | 15 + .../raytracing/material/beamsplitter.py | 27 + .../raytracing/raytracing/material/glass.py | 39 + .../raytracing/raytracing/material/mirror.py | 20 + .../raytracing/material/optic_material.py | 19 + .../raytracing/raytracing/optical_object.py | 10 + .../raytracing/raytracing/ray.py | 18 + .../raytracing/raytracing/shade.py | 35 + .../raytracing/raytracing/vector.py | 75 + .../raytracing/raytracing/world.py | 93 ++ .../fablabchemnitz/raytracing/render.inx | 17 + .../fablabchemnitz/raytracing/render.py | 289 ++++ .../raytracing/set_material.inx | 25 + .../fablabchemnitz/raytracing/set_material.py | 67 + extensions/fablabchemnitz/raytracing/test.py | 4 + extensions/fablabchemnitz/raytracing/utils.py | 11 + .../remove_duplicate_line_segments/meta.json | 21 + .../remove_duplicate_line_segments.inx | 32 + .../remove_duplicate_line_segments.py | 361 +++++ .../remove_obsolete_attributes/meta.json | 21 + .../remove_obsolete_attributes.inx | 20 + .../remove_obsolete_attributes.py | 44 + .../replace_color_and_alpha/meta.json | 21 + .../replace_color_and_alpha.inx | 18 + .../replace_color_and_alpha.py | 81 ++ .../reverse_order_of_subpaths/meta.json | 21 + .../reverse_order_of_subpaths.inx | 17 + .../reverse_order_of_subpaths.py | 45 + .../scale_to_path_length/meta.json | 21 + .../scale_to_path_length.inx | 37 + .../scale_to_path_length.py | 123 ++ .../fablabchemnitz/scale_to_real/meta.json | 21 + .../scale_to_real/scale_to_real.inx | 89 ++ .../scale_to_real/scale_to_real.py | 249 ++++ .../shape_recognition/meta.json | 21 + .../shape_recognition/shape_recognition.inx | 52 + .../shape_recognition/shape_recognition.py | 836 +++++++++++ .../shape_recognition/shaperrec/extenders.py | 130 ++ .../shape_recognition/shaperrec/geometric.py | 305 ++++ .../shape_recognition/shaperrec/groups.py | 278 ++++ .../shape_recognition/shaperrec/internal.py | 351 +++++ .../shaperrec/manipulation.py | 187 +++ .../shaperrec/miscellaneous.py | 209 +++ .../snap_object_points/snap_object_points.inx | 10 +- .../snap_object_points/snap_object_points.py | 3 +- .../fablabchemnitz/strip_line/.gitignore | 1 + .../strip_line/geometry/Circle.py | 27 + .../strip_line/geometry/Minus.py | 29 + .../strip_line/geometry/Plus.py | 34 + .../strip_line/geometry/Triangle.py | 99 ++ .../strip_line/geometry/Vertex.py | 52 + .../fablabchemnitz/strip_line/meta.json | 21 + .../fablabchemnitz/strip_line/strip_line.inx | 26 + .../fablabchemnitz/strip_line/strip_line.py | 239 ++++ .../svg_embed_and_crop/meta.json | 21 + .../svg_embed_and_crop/svg_embed_and_crop.inx | 16 + .../svg_embed_and_crop/svg_embed_and_crop.py | 42 + .../svg_embed_and_crop/LICENSE | 21 + .../svg_embed_and_crop/LICENSE-apache.txt | 202 +++ .../svg_embed_and_crop/NOTICE-apache.txt | 14 + .../svg_embed_and_crop/README.md | 33 + .../svg_embed_and_crop/commons-codec-1.7.jar | Bin 0 -> 259600 bytes .../svg_embed_and_crop/ij-1.47i.jar | Bin 0 -> 1781912 bytes .../svg-embed-and-crop-1.6.jar | Bin 0 -> 17753 bytes extensions/fablabchemnitz/travel/meta.json | 21 + extensions/fablabchemnitz/travel/travel.inx | 39 + extensions/fablabchemnitz/travel/travel.py | 269 ++++ .../triangular_grid/triangular_grid.inx | 2 +- .../triangular_grid/triangular_grid.py | 66 +- .../meta.json | 23 + .../ungrouper_and_element_migrator_filter.inx | 123 ++ .../ungrouper_and_element_migrator_filter.py | 265 ++++ 159 files changed, 16518 insertions(+), 38 deletions(-) create mode 100644 extensions/fablabchemnitz/cleanup_styles/cleanup_styles.inx create mode 100644 extensions/fablabchemnitz/cleanup_styles/cleanup_styles.py create mode 100644 extensions/fablabchemnitz/cleanup_styles/meta.json create mode 100644 extensions/fablabchemnitz/color_harmony/.gitignore create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony.inx create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/__init__.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/colorplus.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/export.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/harmonies.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/matching/__init__.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/matching/matching.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/matching/svg.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/matching/svg_widget.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/matching/transform.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/open_palette.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/palette/palette.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/shades.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/__init__.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/cluster.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/css.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/gimp.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/image.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/kpl.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/scribus.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/storage.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/storage/xml.py create mode 100644 extensions/fablabchemnitz/color_harmony/color_harmony/utils.py create mode 100644 extensions/fablabchemnitz/color_harmony/meta.json create mode 100644 extensions/fablabchemnitz/destructive_clip/destructive_clip.inx create mode 100644 extensions/fablabchemnitz/destructive_clip/destructive_clip.py create mode 100644 extensions/fablabchemnitz/destructive_clip/meta.json create mode 100644 extensions/fablabchemnitz/dimensioning/dimensioning.inx create mode 100644 extensions/fablabchemnitz/dimensioning/dimensioning.py create mode 100644 extensions/fablabchemnitz/dimensioning/meta.json create mode 100644 extensions/fablabchemnitz/duplicate_reverse_join/duplicate_reverse_join.inx create mode 100644 extensions/fablabchemnitz/duplicate_reverse_join/duplicate_reverse_join.py create mode 100644 extensions/fablabchemnitz/duplicate_reverse_join/meta.json create mode 100644 extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.inx create mode 100644 extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.py create mode 100644 extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/meta.json create mode 100644 extensions/fablabchemnitz/frame_animation_sequence/frame_animation_sequence.inx create mode 100644 extensions/fablabchemnitz/frame_animation_sequence/frame_animation_sequence.py create mode 100644 extensions/fablabchemnitz/frame_animation_sequence/meta.json create mode 100644 extensions/fablabchemnitz/guillotine_plus/guillotine_plus.inx create mode 100644 extensions/fablabchemnitz/guillotine_plus/guillotine_plus.py create mode 100644 extensions/fablabchemnitz/guillotine_plus/meta.json create mode 100644 extensions/fablabchemnitz/import_attributes/import_attributes.inx create mode 100644 extensions/fablabchemnitz/import_attributes/import_attributes.py create mode 100644 extensions/fablabchemnitz/import_attributes/meta.json create mode 100644 extensions/fablabchemnitz/isometric_projection/dimetric_projection.inx create mode 100644 extensions/fablabchemnitz/isometric_projection/isometric_projection.inx create mode 100644 extensions/fablabchemnitz/isometric_projection/isometric_projection.py create mode 100644 extensions/fablabchemnitz/isometric_projection/meta.json create mode 100644 extensions/fablabchemnitz/low_poly_2/low_poly_2.inx create mode 100644 extensions/fablabchemnitz/low_poly_2/low_poly_2.py create mode 100644 extensions/fablabchemnitz/low_poly_2/meta.json create mode 100644 extensions/fablabchemnitz/open_in_roland_cutstudio/meta.json create mode 100644 extensions/fablabchemnitz/open_in_roland_cutstudio/open_in_roland_cutstudio.inx create mode 100644 extensions/fablabchemnitz/open_in_roland_cutstudio/open_in_roland_cutstudio.py create mode 100644 extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/meta.json create mode 100644 extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/optimize_sequence_lasercut_sequence.inx create mode 100644 extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/optimize_sequence_lasercut_sequence.py create mode 100644 extensions/fablabchemnitz/optimize_sequence_travel_distance/meta.json create mode 100755 extensions/fablabchemnitz/optimize_sequence_travel_distance/optimize_sequence_travel_distance.inx create mode 100644 extensions/fablabchemnitz/optimize_sequence_travel_distance/optimize_sequence_travel_distance.py create mode 100644 extensions/fablabchemnitz/optimize_sequence_travel_distance/plot_utils.py create mode 100644 extensions/fablabchemnitz/optimize_sequence_travel_distance/simplepath.py create mode 100644 extensions/fablabchemnitz/optimize_sequence_travel_distance/simpletransform.py create mode 100644 extensions/fablabchemnitz/purge_duplicate_path_nodes/meta.json create mode 100644 extensions/fablabchemnitz/purge_duplicate_path_nodes/purge_duplicate_path_nodes.inx create mode 100644 extensions/fablabchemnitz/purge_duplicate_path_nodes/purge_duplicate_path_nodes.py create mode 100644 extensions/fablabchemnitz/purge_duplicate_path_segments/meta.json create mode 100644 extensions/fablabchemnitz/purge_duplicate_path_segments/purge_duplicate_path_segments.inx create mode 100644 extensions/fablabchemnitz/purge_duplicate_path_segments/purge_duplicate_path_segments.py create mode 100644 extensions/fablabchemnitz/quick_joint/meta.json create mode 100644 extensions/fablabchemnitz/quick_joint/quick_joint.inx create mode 100644 extensions/fablabchemnitz/quick_joint/quick_joint.py create mode 100644 extensions/fablabchemnitz/raytracing/desc_parser.py create mode 100644 extensions/fablabchemnitz/raytracing/lens.inx create mode 100644 extensions/fablabchemnitz/raytracing/lens.py create mode 100644 extensions/fablabchemnitz/raytracing/meta.json create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/__init__.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/geometry/__init__.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/geometry/cubic_bezier.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/geometry/geometric_object.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/material/__init__.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/material/beamdump.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/material/beamsplitter.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/material/glass.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/material/mirror.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/material/optic_material.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/optical_object.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/ray.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/shade.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/vector.py create mode 100644 extensions/fablabchemnitz/raytracing/raytracing/world.py create mode 100644 extensions/fablabchemnitz/raytracing/render.inx create mode 100644 extensions/fablabchemnitz/raytracing/render.py create mode 100644 extensions/fablabchemnitz/raytracing/set_material.inx create mode 100644 extensions/fablabchemnitz/raytracing/set_material.py create mode 100644 extensions/fablabchemnitz/raytracing/test.py create mode 100644 extensions/fablabchemnitz/raytracing/utils.py create mode 100644 extensions/fablabchemnitz/remove_duplicate_line_segments/meta.json create mode 100644 extensions/fablabchemnitz/remove_duplicate_line_segments/remove_duplicate_line_segments.inx create mode 100644 extensions/fablabchemnitz/remove_duplicate_line_segments/remove_duplicate_line_segments.py create mode 100644 extensions/fablabchemnitz/remove_obsolete_attributes/meta.json create mode 100644 extensions/fablabchemnitz/remove_obsolete_attributes/remove_obsolete_attributes.inx create mode 100644 extensions/fablabchemnitz/remove_obsolete_attributes/remove_obsolete_attributes.py create mode 100644 extensions/fablabchemnitz/replace_color_and_alpha/meta.json create mode 100644 extensions/fablabchemnitz/replace_color_and_alpha/replace_color_and_alpha.inx create mode 100644 extensions/fablabchemnitz/replace_color_and_alpha/replace_color_and_alpha.py create mode 100644 extensions/fablabchemnitz/reverse_order_of_subpaths/meta.json create mode 100644 extensions/fablabchemnitz/reverse_order_of_subpaths/reverse_order_of_subpaths.inx create mode 100644 extensions/fablabchemnitz/reverse_order_of_subpaths/reverse_order_of_subpaths.py create mode 100644 extensions/fablabchemnitz/scale_to_path_length/meta.json create mode 100644 extensions/fablabchemnitz/scale_to_path_length/scale_to_path_length.inx create mode 100644 extensions/fablabchemnitz/scale_to_path_length/scale_to_path_length.py create mode 100644 extensions/fablabchemnitz/scale_to_real/meta.json create mode 100644 extensions/fablabchemnitz/scale_to_real/scale_to_real.inx create mode 100644 extensions/fablabchemnitz/scale_to_real/scale_to_real.py create mode 100644 extensions/fablabchemnitz/shape_recognition/meta.json create mode 100644 extensions/fablabchemnitz/shape_recognition/shape_recognition.inx create mode 100644 extensions/fablabchemnitz/shape_recognition/shape_recognition.py create mode 100644 extensions/fablabchemnitz/shape_recognition/shaperrec/extenders.py create mode 100644 extensions/fablabchemnitz/shape_recognition/shaperrec/geometric.py create mode 100644 extensions/fablabchemnitz/shape_recognition/shaperrec/groups.py create mode 100644 extensions/fablabchemnitz/shape_recognition/shaperrec/internal.py create mode 100644 extensions/fablabchemnitz/shape_recognition/shaperrec/manipulation.py create mode 100644 extensions/fablabchemnitz/shape_recognition/shaperrec/miscellaneous.py create mode 100644 extensions/fablabchemnitz/strip_line/.gitignore create mode 100644 extensions/fablabchemnitz/strip_line/geometry/Circle.py create mode 100644 extensions/fablabchemnitz/strip_line/geometry/Minus.py create mode 100644 extensions/fablabchemnitz/strip_line/geometry/Plus.py create mode 100644 extensions/fablabchemnitz/strip_line/geometry/Triangle.py create mode 100644 extensions/fablabchemnitz/strip_line/geometry/Vertex.py create mode 100644 extensions/fablabchemnitz/strip_line/meta.json create mode 100644 extensions/fablabchemnitz/strip_line/strip_line.inx create mode 100644 extensions/fablabchemnitz/strip_line/strip_line.py create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/meta.json create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop.inx create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop.py create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/LICENSE create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/LICENSE-apache.txt create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/NOTICE-apache.txt create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/README.md create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/commons-codec-1.7.jar create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/ij-1.47i.jar create mode 100644 extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/svg-embed-and-crop-1.6.jar create mode 100644 extensions/fablabchemnitz/travel/meta.json create mode 100644 extensions/fablabchemnitz/travel/travel.inx create mode 100644 extensions/fablabchemnitz/travel/travel.py create mode 100644 extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/meta.json create mode 100644 extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/ungrouper_and_element_migrator_filter.inx create mode 100644 extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/ungrouper_and_element_migrator_filter.py diff --git a/extensions/fablabchemnitz/cleanup_styles/cleanup_styles.inx b/extensions/fablabchemnitz/cleanup_styles/cleanup_styles.inx new file mode 100644 index 0000000..2ce0bac --- /dev/null +++ b/extensions/fablabchemnitz/cleanup_styles/cleanup_styles.inx @@ -0,0 +1,72 @@ + + + Cleanup Styles + fablabchemnitz.de.cleanup_styles + + + + + + + + false + 0.100 + + + + + + + + false + 100.0 + true + true + true + true + true + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + ../000_about_fablabchemnitz.svg + + + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/cleanup_styles/cleanup_styles.py b/extensions/fablabchemnitz/cleanup_styles/cleanup_styles.py new file mode 100644 index 0000000..bc68179 --- /dev/null +++ b/extensions/fablabchemnitz/cleanup_styles/cleanup_styles.py @@ -0,0 +1,258 @@ +#!/usr/bin/env python3 +''' +Copyright (C) 2013 Matthew Dockrey (gfish @ cyphertext.net) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Based on +- coloreffect.py by Jos Hirth and Aaron C. Spike +- cleanup.py (https://github.com/attoparsec/inkscape-extensions) by attoparsec + +Author: Mario Voigt / FabLab Chemnitz +Mail: mario.voigt@stadtfabrikanten.org +Last Patch: 12.04.2021 +License: GNU GPL v3 + +Notes: + - This extension does not check if attributes contain duplicates properties like "opacity:1;fill:#393834;fill-opacity:1;opacity:1;fill:#393834;fill-opacity:1". We assume the SVG syntax is correct +''' + +import inkex +import re +import numpy as np + +class CleanupStyles(inkex.EffectExtension): + + groups = [] + roundUpColors = [] + roundUpColors = [ + [ 0, 0, 0], #black | eri1 + [ 0, 0, 255], #blue | eri2 + [ 0, 255, 0], #green | eri3 + [255, 0, 0], #red | eri4 + [255, 0, 255], #magenta | eri5 + [ 0, 255, 255], #cyan | eri6 + [255, 255, 0], #yellow | eri7 + #half tones + [128, 0, 255], #violet | eri8 + [0 , 128, 255], #light blue | eri9 + [255, 128, 0], #orange | eri10 + [255, 0, 128], #pink | eri11 + [128, 255, 0], #light green | eri12 + [0 , 255, 128], #mint | eri13 + ] + + def add_arguments(self, pars): + pars.add_argument("--tab") + pars.add_argument("--mode", default="Lines", help="Join paths with lines or polygons") + pars.add_argument("--dedicated_style_attributes", default="ignore", help="Handling of dedicated style attributes") + pars.add_argument("--stroke_width_override", type=inkex.Boolean, default=False, help="Override stroke width") + pars.add_argument("--stroke_width", type=float, default=0.100, help="Stroke width") + pars.add_argument("--stroke_width_units", default="mm", help="Stroke width unit") + pars.add_argument("--stroke_opacity_override", type=inkex.Boolean, default=False, help="Override stroke opacity") + pars.add_argument("--stroke_opacity", type=float, default="100.0", help="Stroke opacity (%)") + pars.add_argument("--reset_opacity", type=inkex.Boolean, default=True, help="Reset stroke style attribute 'opacity'. Do not mix up with 'fill-opacity' and 'stroke-opacity'") + pars.add_argument("--reset_stroke_attributes", type=inkex.Boolean, default=True, help="Remove 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linejoin', 'stroke-linecap', 'stroke-miterlimit' from style attribute") + pars.add_argument("--reset_fill_attributes", type=inkex.Boolean, default=True, help="Sets 'fill:none;fill-opacity:1;' to style attribute") + pars.add_argument("--apply_hairlines", type=inkex.Boolean, default=True, help="Adds 'vector-effect:non-scaling-stroke;' and '-inkscape-stroke:hairline;' Hint: stroke-width is kept in background. All hairlines still have a valued width.") + pars.add_argument("--apply_black_strokes", type=inkex.Boolean, default=True, help="Adds 'stroke:#000000;' to style attribute") + pars.add_argument("--remove_group_styles", type=inkex.Boolean, default=False, help="Remove styles from groups") + pars.add_argument("--harmonize_colors", type=inkex.Boolean, default=False, help="Round up colors to the next 'full color'. Example: make rgb(253,0,0) to rgb(255,0,0) to receive clear red color.") + pars.add_argument("--allow_half_tones", type=inkex.Boolean, default=False, help="Allow rounding up to half-tone colors") + + + def closestColor(self, colors, color): + colors = np.array(colors) + color = np.array(color) + distances = np.sqrt(np.sum((colors-color)**2, axis=1)) + index_of_smallest = np.where(distances==np.amin(distances)) + smallest_distance = colors[index_of_smallest] + return smallest_distance + + def effect(self): + self.roundUpColors = [ + [ 0, 0, 0], #black | eri1 + [ 0, 0, 255], #blue | eri2 + [ 0, 255, 0], #green | eri3 + [255, 0, 0], #red | eri4 + [255, 0, 255], #magenta | eri5 + [ 0, 255, 255], #cyan | eri6 + [255, 255, 0], #yellow | eri7 + [255, 255, 255], #white | eri8 - useful for engravings, not for line cuttings + ] + if self.options.allow_half_tones is True: + self.roundUpColors.extend([ + [128, 0, 255], #violet | eri9 + [0 , 128, 255], #light blue | eri10 + [255, 128, 0], #orange | eri11 + [255, 0, 128], #pink | eri12 + [128, 255, 0], #light green | eri13 + [128, 255, 255], #lighter blue| eri14 + [0 , 255, 128], #mint | eri15 + [128, 128, 128], #grey | eri16 + ]) + + if len(self.svg.selected) == 0: + self.getAttribs(self.document.getroot()) + else: + for element in self.svg.selected.values(): + self.getAttribs(element) + #finally remove the styles from collected groups (if enabled) + if self.options.remove_group_styles is True: + for group in self.groups: + if group.attrib.has_key('style') is True: + group.attrib.pop('style') + + def getAttribs(self, node): + self.changeStyle(node) + for child in node: + self.getAttribs(child) + + #stroke and fill styles can be included in style attribute or they can exist separately (can occure in older SVG files). We do not parse other attributes than style + def changeStyle(self, node): + #we check/modify the style of all shapes (not groups) + if isinstance(node, inkex.ShapeElement) and not isinstance(node, inkex.Group): + # the final styles applied to this element (with influence from top level elements like groups) + specified_style = node.specified_style() + specifiedStyleAttributes = str(specified_style).split(';') #array + specifiedStyleAttributesDict = {} + if len(specified_style) > 0: #Style "specified_style" might contain just empty '' string which will lead to failing dict update + for specifiedStyleAttribute in specifiedStyleAttributes: + specifiedStyleAttributesDict.update({'{}'.format(specifiedStyleAttribute.split(':')[0]): specifiedStyleAttribute.split(':')[1]}) + + #three options to handle dedicated attributes (attributes not in the "style" attribute, but separate): + # - just delete all dedicated properties + # - merge dedicated properties, and prefer them over those from specified style + # - merge dedicated properties, but prefer properties from specified style + dedicatedStyleAttributesDict = {} + popDict = [] + # there are opacity (of group/parent), fill-opacity and stroke-opacity + popDict.extend(['opacity', 'stroke', 'stroke-opacity', 'stroke-width', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'fill', 'fill-opacity']) + for popItem in popDict: + if node.attrib.has_key(str(popItem)): + dedicatedStyleAttributesDict.update({'{}'.format(popItem): node.get(popItem)}) + node.attrib.pop(popItem) + + #inkex.utils.debug("specifiedStyleAttributesDict = " + str(specifiedStyleAttributesDict)) + #inkex.utils.debug("dedicatedStyleAttributesDict = " + str(dedicatedStyleAttributesDict)) + + if self.options.dedicated_style_attributes == 'prefer_dedicated': + specifiedStyleAttributesDict.update(dedicatedStyleAttributesDict) + node.set('style', specifiedStyleAttributesDict) + elif self.options.dedicated_style_attributes == 'prefer_specified': + dedicatedStyleAttributesDict.update(specifiedStyleAttributesDict) + node.set('style', dedicatedStyleAttributesDict) + elif self.options.dedicated_style_attributes == 'ignore': + pass + + # now parse the style with possibly merged dedicated attributes modded style attribute (dedicatedStyleAttributes) + if node.attrib.has_key('style') is False: + node.set('style', 'stroke:#000000;') #we add basic stroke color black. We cannot set to empty value or just ";" because it will not update properly + style = node.get('style') + + #add missing style attributes if required + if style.endswith(';') is False: + style += ';' + if re.search('(;|^)stroke:(.*?)(;|$)', style) is None: #if "stroke" is None, add one. We need to distinguish because there's also attribute "-inkscape-stroke" that's why we check starting with ^ or ; + style += 'stroke:none;' + if self.options.stroke_width_override is True and "stroke-width:" not in style: + style += 'stroke-width:{:1.4f};'.format(self.svg.unittouu(str(self.options.stroke_width) + self.options.stroke_width_units)) + if self.options.stroke_opacity_override is True and "stroke-opacity:" not in style: + style += 'stroke-opacity:{:1.1f};'.format(self.options.stroke_opacity / 100) + + if self.options.apply_hairlines is True: + if "vector-effect:non-scaling-stroke" not in style: + style += 'vector-effect:non-scaling-stroke;' + if "-inkscape-stroke:hairline" not in style: + style += '-inkscape-stroke:hairline;' + + if re.search('fill:(.*?)(;|$)', style) is None: #if "fill" is None, add one. + style += 'fill:none;' + + #then parse the content and check what we need to adjust + declarations = style.split(';') + for i, decl in enumerate(declarations): + parts = decl.split(':', 2) + if len(parts) == 2: + (prop, val) = parts + prop = prop.strip().lower() + if prop == 'stroke-width' and self.options.stroke_width_override is True: + new_val = self.svg.unittouu(str(self.options.stroke_width) + self.options.stroke_width_units) + declarations[i] = prop + ':{:1.4f}'.format(new_val) + if prop == 'stroke-opacity' and self.options.stroke_opacity_override is True: + new_val = self.options.stroke_opacity / 100 + declarations[i] = prop + ':{:1.1f}'.format(new_val) + if self.options.reset_opacity is True: + if prop == 'opacity': + declarations[i] = '' + if self.options.reset_stroke_attributes is True: + if prop == 'stroke-dasharray': + declarations[i] = '' + if prop == 'stroke-dashoffset': + declarations[i] = '' + if prop == 'stroke-linejoin': + declarations[i] = '' + if prop == 'stroke-linecap': + declarations[i] = '' + if prop == 'stroke-miterlimit': + declarations[i] = '' + if self.options.apply_black_strokes is True: + if prop == 'stroke': + if val == 'none': + new_val = '#000000' + declarations[i] = prop + ':' + new_val + if self.options.harmonize_colors is True: + if prop == 'fill': + if re.search('fill:none(.*?)(;|$)', style) is None: + rgb = inkex.Color(val).to_rgb() + closest_color = self.closestColor(self.roundUpColors, [rgb[0], rgb[1], rgb[2]]) + rgbNew = inkex.Color(( + int(closest_color[0][0]), + int(closest_color[0][1]), + int(closest_color[0][2]) + ), space='rgb') + declarations[i] = prop + ':' + str(inkex.Color(rgbNew).to_named()) + if prop == 'stroke': + if re.search('stroke:none(.*?)(;|$)', style) is None: + rgb = inkex.Color(val).to_rgb() + closest_color = self.closestColor(self.roundUpColors, [rgb[0], rgb[1], rgb[2]]) + rgbNew = inkex.Color(( + int(closest_color[0][0]), + int(closest_color[0][1]), + int(closest_color[0][2]) + ), space='rgb') + declarations[i] = prop + ':' + str(inkex.Color(rgbNew).to_named()) + if self.options.reset_fill_attributes is True: + if prop == 'fill': + new_val = 'none' + declarations[i] = prop + ':' + new_val + if prop == 'fill-opacity': + new_val = '1' + declarations[i] = prop + ':' + new_val + if self.options.apply_hairlines is False: + if prop == '-inkscape-stroke': + if val == 'hairline': + del declarations[i] + if prop == 'vector-effect': + if val == 'non-scaling-stroke': + del declarations[i] + node.set('style', ';'.join(declarations)) + + # if element is group we add it to collection to remove it's style after parsing all selected items + elif isinstance(node, inkex.ShapeElement) and isinstance(node, inkex.Group): + self.groups.append(node) + +if __name__ == '__main__': + CleanupStyles().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/cleanup_styles/meta.json b/extensions/fablabchemnitz/cleanup_styles/meta.json new file mode 100644 index 0000000..bb94f6b --- /dev/null +++ b/extensions/fablabchemnitz/cleanup_styles/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Cleanup Styles", + "id": "fablabchemnitz.de.cleanup_styles", + "path": "cleanup_styles", + "dependent_extensions": null, + "original_name": "Cleanup", + "original_id": "com.attoparsec.filter.cleanup", + "license": "GNU GPL v2", + "license_url": "https://github.com/attoparsec/inkscape-extensions/blob/master/cleanup.py", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/cleanup_styles", + "fork_url": "https://github.com/attoparsec/inkscape-extensions", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Cleanup+Styles", + "inkscape_gallery_url": "https://inkscape.org/de/~MarioVoigt/%E2%98%85cleanup-styles", + "main_authors": [ + "github.com/attoparsec", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/color_harmony/.gitignore b/extensions/fablabchemnitz/color_harmony/.gitignore new file mode 100644 index 0000000..cd4c22c --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/.gitignore @@ -0,0 +1 @@ +*__pycache__* diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony.inx b/extensions/fablabchemnitz/color_harmony/color_harmony.inx new file mode 100644 index 0000000..1a96659 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony.inx @@ -0,0 +1,87 @@ + + + Color Harmony + fablabchemnitz.de.color_harmony + + + + + + + + + + + + + + + + 50 + + + + + + + + + + false + false + false + + + false + false + false + + + false + false + false + + + false + + + 0.1 + + 10 + + + + + + + + + true + + + + + + + + + + My Palette + + + + + + + all + + + + + + Generate color harmonies and save as palette file + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony.py b/extensions/fablabchemnitz/color_harmony/color_harmony.py new file mode 100644 index 0000000..14bfcad --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony.py @@ -0,0 +1,318 @@ +#!/usr/bin/env python3 + +# Color Harmony - Inkscape extension to generate +# palettes of colors that go well together +# +# Version 0.2 "golem" +# +# Copyright (C) 2009-2018 Ilya Portnov +# (original 'palette-editor' tool, version 0.0.7) +# 2020 Maren Hachmann (extension-ification) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +""" +This extension allows you to automatically add guides to your Inkscape documents. +""" + +#from math import sqrt +#import types +import inkex +from inkex import Group, Rectangle +from inkex.colors import is_color +from color_harmony.colorplus import ColorPlus +from color_harmony.harmonies import * +from color_harmony.shades import * + + +class ColorHarmony(inkex.EffectExtension): + """Generate palettes of colors that go well together""" + + color = '' + + def add_arguments(self, pars): + # General options + pars.add_argument('--tab', default='render', help='Extension functionality to use') # options: render, save, colorize + + # Render tab options + pars.add_argument('--harmony', default="five", help='Color harmony to generate, options: from_raster, just_opposite, split_complementary, three, four, rectangle, five, similar_3, similar_5, similar_and_opposite') + pars.add_argument('--sort', default="by_hue", help="Method to sort the palette by, options: by_hue, by_saturation, by_value, hue_contiguous") + pars.add_argument('--factor', default=50, type=int, help="Factor to affect the result, between 1 and 100. Default is 50. This modifies the angle between the resulting colors on the color wheel.") + pars.add_argument('--size', default=10, help="Size of the generated palette squares") + pars.add_argument('--unit', default='mm', help='Units') # options: mm, cm, in, px, pt, pc + pars.add_argument('--delete_existing', type=inkex.Boolean, help='Delete existing palettes before generating a new one') + + # Shading: cooler, warmer, saturation, value, chroma, luma, hue, hue_luma, luma_plus_chroma, luma_minus_chroma + pars.add_argument( '--cooler', type=inkex.Boolean, help='Add shades with cooler color temperature') + pars.add_argument( '--warmer', type=inkex.Boolean, help='Add shades with warmer color temperature') + pars.add_argument( '--saturation', type=inkex.Boolean, help='Add shades with saturation steps') + pars.add_argument( '--value', type=inkex.Boolean, help='Add shades with value steps') + pars.add_argument( '--chroma', type=inkex.Boolean, help='Add shades with chroma steps') + pars.add_argument( '--luma', type=inkex.Boolean, help='Add shades with luma steps') + pars.add_argument( '--hue', type=inkex.Boolean, help='Add shades with hue steps') + pars.add_argument( '--hue_luma', type=inkex.Boolean, help='Add shades with hue and luma steps') + pars.add_argument( '--luma_plus_chroma', type=inkex.Boolean, help='Add shades with luma plus chroma steps') + pars.add_argument( '--luma_minus_chroma', type=inkex.Boolean, help='Add shades with luma minus chroma steps') + pars.add_argument('--step_width', type=float, default=0.1, help='Shader step width') # TODO: find out what range this can take on, and adjust min, max, default in inx + + # Save tab options + pars.add_argument('--palette_format', default='gimp', help='Palette file format') + # options: gimp, krita, scribus + pars.add_argument('--palette_folder', help="Folder to save the palette file in") + pars.add_argument('--palette_name', help="Name of the palette") + + # Colorize tab options + # no options currently + + + def effect(self): + + if self.options.tab == "render": + + if len(self.svg.selected) == 1: + for obj_id, obj in self.svg.selected.items(): + fill = obj.style.get("fill") + if is_color(fill): + if self.options.delete_existing: + self.delete_existing_palettes() + self.color = ColorPlus(fill) + self.options.factor = self.options.factor/100 + colors = self.create_harmony() + shades = self.create_shades(colors) + palettes = [colors] + shades + + for i in range(len(palettes)): + self.render_palette(palettes[i], i) + else: + raise inkex.AbortExtension( + "Please select an object with a plain fill color.") + else: + raise inkex.AbortExtension( + "Please select one object.") + elif self.options.tab == "save": + palettes = self.get_palettes_in_doc() + if len(palettes) >= 1: + self.save_palette(palettes[0]) + else: + raise inkex.AbortExtension( + "There is no rendered palette in the document. Please render a palette using the first tab of the dialog before you try to save it.") + elif self.options.tab == "colorize": + if len(self.svg.selected) > 0: + self.colorize() + else: + raise inkex.AbortExtension( + "Please select an object to colorize!") + + + # METHODS FOR EACH TAB + # -------------------- + + # Render tab + # ========== + def create_harmony(self): + + harmony_functions = { + "from_raster": self.palette_from_raster, # not implemented yet + "just_opposite": self.opposite, + "split_complementary": self.splitcomplementary, + "three": self.nhues3, + "four": self.nhues4, + "rectangle": self.rectangle, + "five": self.fivecolors, + "similar_3": self.similar_3, + "similar_5": self.similar_5, + "similar_and_opposite": self.similaropposite, + } + + # use appropriate function for the selected tab + colors = harmony_functions[self.options.harmony](self.color) + colors = self.sort_colors(colors) + + return colors + + def render_palette(self, colors, shift): + size = self.svg.unittouu(str(self.options.size)+self.options.unit) + top = 0 + shift * size + left = 0 + + layer = self.svg.get_current_layer() if self.svg.get_current_layer() is not None else self.document.getroot() + + group_attribs = {inkex.addNS('label', 'inkscape'): "Palette ({harmony}, {color}) ".format(color=self.color, harmony=self.options.harmony)} + palette_group = Group(**group_attribs) + + for color in colors: + palette_field = Rectangle(x=str(left), + y=str(top), + width=str(size), + height=str(size)) + palette_field.style = {'fill': color} + palette_group.add(palette_field) + left += size + + palette_group.transform.add_translate(0, self.svg.viewport_height + size) + + layer.add(palette_group) + + def palette_from_raster(self, color): + # TODO: implement + return [] + + def opposite(self, color): + colors = opposite(color) + return colors + + def splitcomplementary(self, color): + colors = splitcomplementary(color, self.options.factor) + return colors + + def nhues3(self, color): + colors = nHues(color, 3) + return colors + + def nhues4(self, color): + colors = nHues(color, 4) + return colors + + def rectangle(self, color): + colors = rectangle(color, self.options.factor) + return colors + + def fivecolors(self, color): + colors = fiveColors(color, self.options.factor) + return colors + + def similar_3(self, color): + colors = similar(color, 3, self.options.factor) + return colors + + def similar_5(self, color): + colors = similar(color, 5, self.options.factor) + return colors + + def similaropposite(self, color): + colors = similarAndOpposite(color, self.options.factor) + return colors + + def create_shades(self, colors): + shades = [] + shading_options = { + "cooler": cooler, + "warmer": warmer, + "saturation": saturation, + "value": value, + "chroma": chroma, + "luma": luma, + "hue": hue, + "hue_luma": hue_luma, + "luma_plus_chroma": luma_plus_chroma, + "luma_minus_chroma": luma_minus_chroma, + } + + for option, function in shading_options.items(): + if vars(self.options)[option] == True: + # shades are created per color, + # but we want to get one palette per shading step + shaded_colors = [] + for i in range(len(colors)): + shaded_colors.append(function(colors[i], self.options.step_width)) + + pals = [list(a) for a in zip(*shaded_colors)] + + shades += pals + return shades + + def delete_existing_palettes(self): + """Delete all palettes in the document""" + + for palette in self.get_palettes_in_doc(): + palette.delete() + + # Save tab + # ======== + def save_palette(self, palette): + # TODO: implement + # if not hasattr(self.palette, 'name'): + # if type(file_w) in [str, unicode]: + # self.palette.name = basename(file_w) + # else: + # self.palette.name='Colors' + pass + + + # Colorize tab + # ============ + + def colorize(self): + # TODO: implement + pass + + # HELPER FUNCTIONS + # ---------------- + + def get_palettes_in_doc(self): + palettes = [] + for group in self.svg.findall('.//svg:g'): + if group.get('inkscape:label').startswith('Palette ('): + palettes.append(group) + return palettes + + def sort_colors(self, colors): + if self.options.sort == "by_hue": + colors.sort(key=lambda color: color.to_hsv()[0]) + elif self.options.sort == "by_saturation": + colors.sort(key=lambda color: color.to_hsv()[1]) + elif self.options.sort == "by_value": + colors.sort(key=lambda color: color.to_hsv()[2]) + # this option looks nicer when the palette colors are similar red tones + # some of which have a hue close to 0 + # and some of which have a hue close to 1 + elif self.options.sort == "hue_contiguous": + # sort by hue first + colors.sort(key=lambda color: color.to_hsv()[0]) + # now find out if the hues are maybe clustered around the 0 - 1 boundary + hues = [color.to_hsv()[0] for color in colors] + start_hue = 0 + end_hue = 0 + max_dist = 0 + for i in range(len(colors)-1): + h1 = hues[i] + h2 = hues[i+1] + cur_dist = h2-h1 + if cur_dist > max_dist and self.no_colors_in_between(h1, h2, hues): + max_dist = cur_dist + start_hue = h2 + for i in range(len(colors)): + sorting_hue = hues[i] - start_hue + if sorting_hue > 1: + sorting_hue -=1 + elif sorting_hue < 0: + sorting_hue += 1 + hues[i] = sorting_hue + sorted_colors = [color for hue, color in sorted(zip(hues,colors))] + colors = sorted_colors + else: + raise inkex.AbortExtension( + "Please select one of the following sorting options: by_hue, by_saturation, by_value.") + return colors + + def no_colors_in_between(self, hue1, hue2, hues): + for hue in hues: + if hue > hue1 and hue < hue2: + return False + return True + +if __name__ == '__main__': + ColorHarmony().run() diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/__init__.py b/extensions/fablabchemnitz/color_harmony/color_harmony/__init__.py new file mode 100644 index 0000000..1bb8bf6 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/__init__.py @@ -0,0 +1 @@ +# empty diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/colorplus.py b/extensions/fablabchemnitz/color_harmony/color_harmony/colorplus.py new file mode 100644 index 0000000..d9579c7 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/colorplus.py @@ -0,0 +1,260 @@ +#!/usr/bin/env python +# coding=utf-8 +# +# Copyright (C) 2009-2018 Ilya Portnov +# (original 'palette-editor' tool, version 0.0.7) +# 2020 Maren Hachmann (extension-ification) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +from math import cos, acos, sqrt, pi +import colorsys +from inkex.colors import Color + +_HCY_RED_LUMA = 0.299 +_HCY_GREEN_LUMA = 0.587 +_HCY_BLUE_LUMA = 0.114 + +class ColorPlus(Color): + + #HCYwts = 0.299, 0.587, 0.114 + + ## HCY colour space. + # + # Copy&Paste from https://raw.githubusercontent.com/mypaint/mypaint/master/gui/colors/uicolor.py + # Copyright (C) 2012-2013 by Andrew Chadwick + # + + # Frequently referred to as HSY, Hue/Chroma/Luma, HsY, HSI etc. It can be + # thought of as a cylindrical remapping of the YCbCr solid: the "C" term is the + # proportion of the maximum permissible chroma within the RGB gamut at a given + # hue and luma. Planes of constant Y are equiluminant. + # + # ref https://code.google.com/p/colour-space-viewer/ + # ref git://anongit.kde.org/kdelibs in kdeui/colors/kcolorspaces.cpp + # ref http://blog.publicfields.net/2011/12/rgb-hue-saturation-luma.html + # ref Joblove G.H., Greenberg D., Color spaces for computer graphics. + # ref http://www.cs.rit.edu/~ncs/color/t_convert.html + # ref http://en.literateprograms.org/RGB_to_HSV_color_space_conversion_(C) + # ref http://lodev.org/cgtutor/color.html + # ref Levkowitz H., Herman G.T., "GLHS: a generalized lightness, hue, and + # saturation color model" + + # For consistency, use the same weights that the Color and Luminosity layer + # blend modes use, as also used by brushlib's Colorize brush blend mode. We + # follow http://www.w3.org/TR/compositing/ here. BT.601 YCbCr has a nearly + # identical definition of luma. + + def __init__(self, color=None, space='rgb'): + super().__init__(color) + + def to_hcy(self): + """RGB → HCY: R,G,B,H,C,Y ∈ [0, 1] + + :param rgb: Color expressed as an additive RGB triple. + :type rgb: tuple (r, g, b) where 0≤r≤1, 0≤g≤1, 0≤b≤1. + :rtype: tuple (h, c, y) where 0≤h<1, but 0≤c≤2 and 0≤y≤1. + + """ + r, g, b = self.to_floats() + + # Luma is just a weighted sum of the three components. + y = _HCY_RED_LUMA*r + _HCY_GREEN_LUMA*g + _HCY_BLUE_LUMA*b + + # Hue. First pick a sector based on the greatest RGB component, then add + # the scaled difference of the other two RGB components. + p = max(r, g, b) + n = min(r, g, b) + d = p - n # An absolute measure of chroma: only used for scaling. + if n == p: + h = 0.0 + elif p == r: + h = (g - b)/d + if h < 0: + h += 6.0 + elif p == g: + h = ((b - r)/d) + 2.0 + else: # p==b + h = ((r - g)/d) + 4.0 + h /= 6.0 + + # Chroma, relative to the RGB gamut envelope. + if r == g == b: + # Avoid a division by zero for the achromatic case. + c = 0.0 + else: + # For the derivation, see the GLHS paper. + c = max((y-n)/y, (p-y)/(1-y)) + return h, c, y + + @staticmethod + def from_hcy(h, c, y): + """HCY → RGB: R,G,B,H,C,Y ∈ [0, 1] + + :param hcy: Color expressed as a Hue/relative-Chroma/Luma triple. + :type hcy: tuple (h, c, y) where 0≤h<1, but 0≤c≤2 and 0≤y≤1. + :rtype: ColorPlus object. + + >>> n = 32 + >>> diffs = [sum( [abs(c1-c2) for c1, c2 in + ... zip( HCY_to_RGB(RGB_to_HCY([r/n, g/n, b/n])), + ... [r/n, g/n, b/n] ) ] ) + ... for r in range(int(n+1)) + ... for g in range(int(n+1)) + ... for b in range(int(n+1))] + >>> sum(diffs) < n*1e-6 + True + + """ + + if c == 0: + return y, y, y + + h %= 1.0 + h *= 6.0 + if h < 1: + #implies (p==r and h==(g-b)/d and g>=b) + th = h + tm = _HCY_RED_LUMA + _HCY_GREEN_LUMA * th + elif h < 2: + #implies (p==g and h==((b-r)/d)+2.0 and b=g) + th = h - 2.0 + tm = _HCY_GREEN_LUMA + _HCY_BLUE_LUMA * th + elif h < 4: + #implies (p==b and h==((r-g)/d)+4.0 and r=g) + th = h - 4.0 + tm = _HCY_BLUE_LUMA + _HCY_RED_LUMA * th + else: + #implies (p==r and h==(g-b)/d and g= y: + p = y + y*c*(1-tm)/tm + o = y + y*c*(th-tm)/tm + n = y - (y*c) + else: + p = y + (1-y)*c + o = y + (1-y)*c*(th-tm)/(1-tm) + n = y - (1-y)*c*tm/(1-tm) + + # Back to RGB order + if h < 1: r, g, b = p, o, n + elif h < 2: r, g, b = o, p, n + elif h < 3: r, g, b = n, p, o + elif h < 4: r, g, b = n, o, p + elif h < 5: r, g, b = o, n, p + else: r, g, b = p, n, o + + return ColorPlus([255*r, 255*g, 255*b]) + + def to_hsv(self): + r, g, b = self.to_floats() + eps = 0.001 + if abs(max(r,g,b)) < eps: + return (0,0,0) + return colorsys.rgb_to_hsv(r, g, b) + + @staticmethod + def from_hsv(h, s, v): + r, g, b = colorsys.hsv_to_rgb(h, s, v) + return ColorPlus([255*r, 255*g, 255*b]) + + # TODO: everything below is not updated yet, maybe not really needed + def hex(self): + r,g,b = self.getRGB() + return "#{:02x}{:02x}{:02x}".format(r,g,b) + + def getRgbString(self): + r,g,b = self.getRGB() + return "rgb({}, {}, {})".format(r,g,b) + + def getHsvString(self): + h,s,v = self.getHSV() + return "hsv({}, {}, {})".format(h,s,v) + + def invert(self): + r, g, b = self._rgb + return Color(255-r, 255-g, 255-b) + + def darker(clr, q): + h,s,v = clr.getHSV() + v = clip(v-q) + return hsv(h,s,v) + + def lighter(clr, q): + h,s,v = clr.getHSV() + v = clip(v+q) + return hsv(h,s,v) + + def saturate(clr, q): + h,s,v = clr.getHSV() + s = clip(s+q) + return hsv(h,s,v) + + def desaturate(clr, q): + h,s,v = clr.getHSV() + s = clip(s-q) + return hsv(h,s,v) + + def increment_hue(clr, q): + h,s,v = clr.getHSV() + h += q + if h > 1.0: + h -= 1.0 + if h < 1.0: + h += 1.0 + return hsv(h,s,v) + + def contrast(clr, q): + h,s,v = clr.getHSV() + v = (v - 0.5)*(1.0 + q) + 0.5 + v = clip(v) + return hsv(h,s,v) + + def linear(x, y, q): + return (1.-q)*x + q*y + + def linear3(v1, v2, q): + x1, y1, z1 = v1 + x2, y2, z2 = v2 + return (linear(x1, x2, q), linear(y1, y2, q), linear(z1, z2, q)) + + def circular(h1, h2, q, circle=1.0): + #print("Src hues: "+ str((h1, h2))) + d = h2 - h1 + if h1 > h2: + h1, h2 = h2, h1 + d = -d + q = 1.0 - q + if d > circle/2.0: + h1 = h1 + circle + h = linear(h1, h2, q) + else: + h = h1 + q*d + if h >= circle: + h -= circle + #print("Hue: "+str(h)) + return h diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/export.py b/extensions/fablabchemnitz/color_harmony/color_harmony/export.py new file mode 100644 index 0000000..a391d5f --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/export.py @@ -0,0 +1,139 @@ +#!/usr/bin/env python +# coding=utf-8 +# +# Copyright (C) 2009-2018 Ilya Portnov +# (original 'palette-editor' tool, version 0.0.7) +# 2020 Maren Hachmann (extension-ification) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +from os.path import join, basename +from lxml import etree as ET +from zipfile import ZipFile, ZIP_DEFLATED + + +class PaletteFile(object) + + def __init__(self, name, colors, filename, folder): + self.colors = colors + if name != "": + self.name = name + else: + self.name = "Palette" + self.folder = folder + + def save(self, format): + FORMATS = {'gimp': [build_gpl, 'gpl'], + 'scribus': [build_scribus_xml, 'xml'], + 'krita': [build_kpl, 'kpl'], + 'css': [build_css, 'css'], + 'android_xml': [build_android_xml, 'xml'], + } + + if os.path.exists(self.folder): + # save with given file name + pass + + def build_gpl(self): + # TODO: fix + palette_string = (u"Name: {}\n".format(self.palette.name).encode('utf-8')) + if hasattr(self.palette, 'ncols') and self.palette.ncols: + palette_string += 'Columns: %s\n' % self.palette.ncols + for key,value in self.palette.meta.items(): + if key != "Name": + palette_string += u"# {}: {}\n".format(key, value).encode('utf-8') + palette_string += '#\n' + for row in self.palette.slots: + for slot in row: + n = slot.name + r, g, b = slot.color.getRGB() + s = '%d %d %d %s\n' % (r, g, b, n) + palette_string += s + for key,value in slot.color.meta.items(): + if key != "Name": + palette_string += u"# {}: {}\n".format(key, value).encode('utf-8') + return palette_string + + def build_kpl(self): + # TODO: fix (and don't save it here, only build) + with ZipFile(file_w, 'w', ZIP_DEFLATED) as zf: + zf.writestr("mimetype", MIMETYPE) + + xml = ET.Element("Colorset") + xml.attrib['version'] = '1.0' + xml.attrib['columns'] = str(self.palette.ncols) + xml.attrib['name'] = self.palette.name + xml.attrib['comment'] = self.palette.meta.get("Comment", "Generated by Palette Editor") + + for i,row in enumerate(self.palette.slots): + for j,slot in enumerate(row): + color = slot.color + name = color.name + default_name = "Swatch-{}-{}".format(i,j) + if not name: + name = default_name + + elem = ET.SubElement(xml, "ColorSetEntry") + elem.attrib['spot'] = color.meta.get("Spot", "false") + elem.attrib['id'] = default_name + elem.attrib['name'] = name + elem.attrib['bitdepth'] = 'U8' + + r,g,b = color.getRGB1() + srgb = ET.SubElement(elem, "sRGB") + srgb.attrib['r'] = str(r) + srgb.attrib['g'] = str(g) + srgb.attrib['b'] = str(b) + + tree = ET.ElementTree(xml) + tree_str = ET.tostring(tree, encoding='utf-8', pretty_print=True, xml_declaration=False) + + zf.writestr("colorset.xml", tree_str) + + def build_scribus_xml(self): + # TODO: fix, and don't save here + xml = ET.Element("SCRIBUSCOLORS", NAME=name) + + for i,row in enumerate(self.palette.getColors()): + for j,color in enumerate(row): + name = color.name + if not name: + name = "Swatch-{}-{}".format(i,j) + elem = ET.SubElement(xml, "COLOR", NAME=name, RGB=color.hex()) + if "Spot" in color.meta: + elem.attrib["Spot"] = color.meta["Spot"] + if "Register" in color.meta: + elem.attrib["Register"] = color.meta["Register"] + + ET.ElementTree(xml).write(file_w, encoding="utf-8", pretty_print=True, xml_declaration=True) + + def build_android_xml(self): + # https://stackoverflow.com/questions/3769762/web-colors-in-an-android-color-xml-resource-file + palette_string = '' + # TODO: implement + return palette_string + + def build_css(self): + palette_string = '' + + # TODO: fix + for i, row in enumerate(self.palette.slots): + for j, slot in enumerate(row): + hex = slot.color.hex() + s = ".color-{}-{}{} {{ color: {} }};\n".format(i,j, user, hex) + palette_string += s + + return palette_string diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/harmonies.py b/extensions/fablabchemnitz/color_harmony/color_harmony/harmonies.py new file mode 100644 index 0000000..0f89680 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/harmonies.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python +# coding=utf-8 +# +# Copyright (C) 2009-2018 Ilya Portnov +# (original 'palette-editor' tool, version 0.0.7) +# 2020 Maren Hachmann (extension-ification) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +from math import sqrt, sin, cos +from color_harmony.colorplus import ColorPlus +from color_harmony.utils import seq, circle_hue + + +# Each of these functions takes one ColorPlus object +# and returns a list of ColorPlus objects: +__all__ = ['opposite', 'splitcomplementary', 'similar', 'similarAndOpposite', 'rectangle', 'nHues', 'fiveColors'] + +# Harmony functions +# 180° rotation +def opposite(color): + h, s, v = color.to_hsv() + h = h + 0.5 + if h > 1.0: + h -= 1.0 + return [color, ColorPlus.from_hsv(h, s, v)] + +# default value 0.5 corresponds to +-36° deviation from opposite, max. useful value: 89°, min. useful value: 1° +def splitcomplementary(color, parameter=0.5): + h, s, v = color.to_hsv() + h += (1.0 - 0.4*parameter)/2.0 + if h > 1.0: + h -= 1.0 + c1 = ColorPlus.from_hsv(h,s,v) + h += 0.4*parameter + if h > 1.0: + h -= 1.0 + c2 = ColorPlus.from_hsv(h,s,v) + return [color, c1, c2] + +# default value 0.5 corresponds to 36° per step, max. useful value: 360°/n , min. useful value: 1° +def similar(color, n, parameter=0.5): + h, s, v = color.to_hsv() + step = 0.2 * parameter + hmin = h - (n // 2) * step + hmax = h + (n // 2) * step + return [ColorPlus.from_hsv(dh % 1.0, s, v) for dh in seq(hmin, hmax, step)] + +# default value 0.5 corresponds to 36° deviation from original, max. useful value: 178°, min. useful value: 1° +def similarAndOpposite(color, parameter=0.5): + h, c, y = color.to_hcy() + h1 = h + 0.2 * parameter + if h1 > 1.0: + h1 -= 1.0 + h2 = h - 0.2 * parameter + if h2 < 0.0: + h2 += 1.0 + h3 = h + 0.5 + if h3 > 1.0: + h3 -= 1.0 + return [ColorPlus.from_hcy(h1,c,y), + color, + ColorPlus.from_hcy(h2,c,y), + ColorPlus.from_hcy(h3,c,y)] + +# default value 0.5 corresponds to 36° deviation from original, max. useful angle 180°, min. useful angle 1° +def rectangle(color, parameter=0.5): + h, c, y = color.to_hcy() + h1 = (h + 0.2 * parameter) % 1.0 + h2 = (h1 + 0.5) % 1.0 + h3 = (h + 0.5) % 1.0 + return [color, + ColorPlus.from_hcy(h1,c,y), + ColorPlus.from_hcy(h2,c,y), + ColorPlus.from_hcy(h3,c,y)] + +# returns n colors that are placed on the hue circle in steps of 360°/n +def nHues(color, n): + h, s, v = color.to_hsv() + return [color] + [ColorPlus.from_hsv(circle_hue(i, n, h), s, v) for i in range(1, n)] + +# parameter determines +/- deviation from a the hues +/-120° away, default value 0.5 corresponds to 2.16°, max. possible angle 4.32° +def fiveColors(color, parameter=0.5): + h0, s, v = color.to_hsv() + h1s = (h0 + 1.0/3.0) % 1.0 + h2s = (h1s + 1.0/3.0) % 1.0 + delta = 0.06 * parameter + h1 = (h1s - delta) % 1.0 + h2 = (h1s + delta) % 1.0 + h3 = (h2s - delta) % 1.0 + h4 = (h2s + delta) % 1.0 + return [color] + [ColorPlus.from_hsv(h,s,v) for h in [h1,h2,h3,h4]] diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/matching/__init__.py b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/__init__.py new file mode 100644 index 0000000..1bb8bf6 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/__init__.py @@ -0,0 +1 @@ +# empty diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/matching/matching.py b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/matching.py new file mode 100644 index 0000000..44745f0 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/matching.py @@ -0,0 +1,117 @@ + +from color.colors import * +from color.spaces import * + +def find_min(idx, occupied, d): + best_i = None + best_y = None + best_clr = None + for i, clr in d.iteritems(): + if i in occupied: + continue + y = clr[idx] + if best_y is None or y < best_y: + best_i = i + best_y = y + best_clr = clr + if best_y is not None: + return best_i + for i, clr in d.iteritems(): + y = clr[idx] + if best_y is None or y < best_y: + best_i = i + best_y = y + best_clr = clr + assert best_i is not None + return best_i + +def find_max(idx, occupied, d): + best_i = None + best_y = None + best_clr = None + for i, clr in d.iteritems(): + if i in occupied: + continue + y = clr[idx] + if best_y is None or y > best_y: + best_i = i + best_y = y + best_clr = clr + if best_y is not None: + return best_i + for i, clr in d.iteritems(): + y = clr[idx] + if best_y is None or y > best_y: + best_i = i + best_y = y + best_clr = clr + assert best_i is not None + return best_i + +def match_colors(colors1, colors2): + hsvs1 = dict(enumerate([c.getHCY() for c in colors1 if c is not None])) + hsvs2 = dict(enumerate([c.getHCY() for c in colors2 if c is not None])) + occupied = [] + result = {} + while len(hsvs1.keys()) > 0: + # Darkest of SVG colors + darkest1_i = find_min(2, [], hsvs1) + # Darkest of palette colors + darkest2_i = find_min(2, occupied, hsvs2) + hsvs1.pop(darkest1_i) + occupied.append(darkest2_i) + result[darkest1_i] = darkest2_i + if not hsvs1: + break + + # Lightest of SVG colors + lightest1_i = find_max(2, [], hsvs1) + # Lightest of palette colors + lightest2_i = find_max(2, occupied, hsvs2) + hsvs1.pop(lightest1_i) + occupied.append(lightest2_i) + result[lightest1_i] = lightest2_i + if not hsvs1: + break + + # Less saturated of SVG colors + grayest1_i = find_min(1, [], hsvs1) + # Less saturated of palette colors + grayest2_i = find_min(1, occupied, hsvs2) + hsvs1.pop(grayest1_i) + occupied.append(grayest2_i) + result[grayest1_i] = grayest2_i + if not hsvs1: + break + + # Most saturated of SVG colors + saturated1_i = find_max(1, [], hsvs1) + # Most saturated of palette colors + saturated2_i = find_max(1, occupied, hsvs2) + hsvs1.pop(saturated1_i) + occupied.append(saturated2_i) + result[saturated1_i] = saturated2_i + if not hsvs1: + break + + redest1_i = find_min(0, [], hsvs1) + redest2_i = find_min(0, occupied, hsvs2) + hsvs1.pop(redest1_i) + occupied.append(redest2_i) + result[redest1_i] = redest2_i + if not hsvs1: + break + + bluest1_i = find_max(0, [], hsvs1) + bluest2_i = find_max(0, occupied, hsvs2) + hsvs1.pop(bluest1_i) + occupied.append(bluest2_i) + result[bluest1_i] = bluest2_i + + clrs = [] + for i in range(len(result.keys())): + j = result[i] + clrs.append(colors2[j]) + return clrs + + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/matching/svg.py b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/svg.py new file mode 100644 index 0000000..b57d604 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/svg.py @@ -0,0 +1,96 @@ + +import re +from lxml import etree + +from color import colors + +SVG_NS="http://www.w3.org/2000/svg" + +color_re = re.compile("#[0-9a-fA-F]+") + +def walk(processor, element): + for child in element.iter(): + processor(child) + +class Collector(object): + def __init__(self): + self.colors = {} + self.n = 0 + + def _parse(self, string): + xs = string.split(";") + single = len(xs) == 1 + + result = {} + for x in xs: + ts = x.split(":") + if len(ts) < 2: + if single: + return None + else: + continue + key, value = ts[0], ts[1] + result[key] = value + return result + + def _merge(self, attr): + if type(attr) == str: + return attr + result = "" + for key in attr: + value = attr[key] + result += key + ":" + value + ";" + return result + + def _is_color(self, val): + return color_re.match(val) is not None + + def _remember_color(self, color): + if color not in self.colors: + self.colors[color] = self.n + self.n += 1 + n = self.colors[color] + return "${color%s}" % n + + def _process_attr(self, value): + d = self._parse(value) + if d is None: + if self._is_color(value): + return self._remember_color(value) + else: + return value + elif type(d) == dict: + for attr in ['fill', 'stroke', 'stop-color']: + if (attr in d) and self._is_color(d[attr]): + color = d[attr] + d[attr] = self._remember_color(color) + return self._merge(d) + else: + if self._is_color(value): + return self._remember_color(value) + else: + return value + + def process(self, element): + for attr in ['fill', 'stroke', 'style', 'pagecolor', 'bordercolor']: + if attr in element.attrib: + value = element.get(attr) + element.set(attr, self._process_attr(value)) + + def result(self): + return self.colors + +def read_template(filename): + xml = etree.parse(filename) + collector = Collector() + walk(collector.process, xml.getroot()) + svg = etree.tostring(xml, encoding='utf-8', xml_declaration=True, pretty_print=True) + #open("last_template.svg",'w').write(svg) + color_dict = collector.result() + colors_inv = dict((v,k) for k, v in color_dict.iteritems()) + svg_colors = [] + for key in range(len(colors_inv.keys())): + clr = colors_inv[key] + svg_colors.append( colors.fromHex(clr) ) + return svg_colors, svg + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/matching/svg_widget.py b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/svg_widget.py new file mode 100644 index 0000000..321aa28 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/svg_widget.py @@ -0,0 +1,135 @@ + +from string import Template +from PyQt4 import QtGui, QtSvg, QtCore + +from color.colors import * +from color.spaces import * +import svg, transform, matching + +class SvgTemplateWidget(QtSvg.QSvgWidget): + template_loaded = QtCore.pyqtSignal() + colors_matched = QtCore.pyqtSignal() + file_dropped = QtCore.pyqtSignal(unicode) + + def __init__(self, *args): + QtSvg.QSvgWidget.__init__(self, *args) + self.setAcceptDrops(True) + self._colors = [Color(i*10,i*10,i*10) for i in range(20)] + self._template = None + self._template_filename = None + self._svg = None + self._need_render = True + self._svg_colors = None + self._dst_colors = None + self._last_size = None + + def sizeHint(self): + if self.renderer().isValid(): + return self.renderer().defaultSize() + elif self._last_size: + return self._last_size + else: + return QtCore.QSize(300,300) + + + def dragEnterEvent(self, event): + if event.mimeData().hasUrls(): + event.acceptProposedAction() + + def dropEvent(self, event): + if event.mimeData().hasUrls(): + urls = event.mimeData().urls() + path = unicode( urls[0].path() ) + self.file_dropped.emit(path) + + def _get_color(self, i): + if i < len(self._colors): + return self._colors[i] + else: + return Color(i*10, i*10, i*10) + + def _update(self): + arr = QtCore.QByteArray.fromRawData(self.get_svg()) + print("Data loaded: {} bytes".format(arr.length())) + self.load(arr) + if self.renderer().isValid(): + self._last_size = self.renderer().defaultSize() + self.update() + + def _get_image(self): + w,h = self.size().width(), self.size().height() + image = QtGui.QImage(w, h, QtGui.QImage.Format_ARGB32_Premultiplied) + image.fill(0) + qp = QtGui.QPainter() + qp.begin(image) + self.renderer().render(qp, QtCore.QRectF(0.0, 0.0, w, h)) + qp.end() + return image + + def loadTemplate(self, filename): + self._template_filename = filename + self._svg_colors, self._template = svg.read_template(filename) + print("Source SVG colors:") + for c in self._svg_colors: + print str(c) + print("Template loaded: {}: {} bytes".format(filename, len(self._template))) + self._need_render = True + self._update() + self.template_loaded.emit() + + def set_color(self, idx, color): + self._colors[idx] = color + self._need_render = True + self._update() + + def setColors(self, dst_colors, space=HCY): + if not dst_colors: + return + print("Matching colors in space: {}".format(space)) + self._dst_colors = dst_colors + self._colors = transform.match_colors(space, self._svg_colors, dst_colors) + #self._colors = matching.match_colors(self._svg_colors, dst_colors) + self._need_render = True + self._update() + self.colors_matched.emit() + + def resetColors(self): + self.load(self._template_filename) + self.repaint() + + def get_svg_colors(self): + return self._svg_colors + + def get_dst_colors(self): + return self._colors + + def get_svg(self): + if self._svg is not None and not self._need_render: + return self._svg + else: + self._svg = self._render() + self._need_render = False + return self._svg + + def _render(self): + #d = dict([("color"+str(i), color.hex() if color is not None else Color(255,255,255)) for i, color in enumerate(self._colors)]) + d = ColorDict(self._colors) + #self._image = self._get_image() + return Template(self._template).substitute(d) + +class ColorDict(object): + def __init__(self, colors): + self._colors = colors + + def __getitem__(self, key): + if key.startswith("color"): + n = int( key[5:] ) + if n < len(self._colors): + return self._colors[n].hex() + else: + return "#ffffff" + else: + raise KeyError(key) + + + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/matching/transform.py b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/transform.py new file mode 100644 index 0000000..55a55e9 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/matching/transform.py @@ -0,0 +1,241 @@ +#!/usr/bin/python3 + +# -y11+a13*x13+a12*x12+a11*x11+b1 +# -y12+a23*x13+a22*x12+a21*x11+b2 +# -y13+a33*x13+a32*x12+a31*x11+b3 +# -y21+a13*x23+a12*x22+a11*x21+b1 +# -y22+a23*x23+a22*x22+a21*x21+b2 +# -y23+a33*x23+a32*x22+a31*x21+b3 +# -y31+a13*x33+a12*x32+a11*x31+b1 +# -y32+a23*x33+a22*x32+a21*x31+b2 +# -y33+a33*x33+a32*x32+a31*x31+b3 +# -y41+a13*x43+a12*x42+a11*x41+b1 +# -y42+a23*x43+a22*x42+a21*x41+b2 +# -y43+a33*x43+a32*x42+a31*x41+b3 + +from math import sqrt +import itertools +import numpy as np +from numpy.linalg import solve, det +from numpy.linalg.linalg import LinAlgError +from copy import deepcopy as copy +from PyQt4 import QtGui + +from color.colors import * +from color.spaces import * + +def get_A(x): + return np.array([[x[0][0], x[0][1], x[0][2], 0, 0, 0, 0, 0, 0, 1, 0, 0], + [0, 0, 0, x[0][0], x[0][1], x[0][2], 0, 0, 0, 0, 1, 0], + [0, 0, 0, 0, 0, 0, x[0][0], x[0][1], x[0][2], 0, 0, 1], + [x[1][0], x[1][1], x[1][2], 0, 0, 0, 0, 0, 0, 1, 0, 0], + [0, 0, 0, x[1][0], x[1][1], x[1][2], 0, 0, 0, 0, 1, 0], + [0, 0, 0, 0, 0, 0, x[1][0], x[1][1], x[1][2], 0, 0, 1], + [x[2][0], x[2][1], x[2][2], 0, 0, 0, 0, 0, 0, 1, 0, 0], + [0, 0, 0, x[2][0], x[2][1], x[2][2], 0, 0, 0, 0, 1, 0], + [0, 0, 0, 0, 0, 0, x[2][0], x[2][1], x[2][2], 0, 0, 1], + [x[3][0], x[3][1], x[3][2], 0, 0, 0, 0, 0, 0, 1, 0, 0], + [0, 0, 0, x[3][0], x[3][1], x[3][2], 0, 0, 0, 0, 1, 0], + [0, 0, 0, 0, 0, 0, x[3][0], x[3][1], x[3][2], 0, 0, 1] ]) + +def get_B(y): + return np.array([[y[0][0]], [y[0][1]], [y[0][2]], + [y[1][0]], [y[1][1]], [y[1][2]], + [y[2][0]], [y[2][1]], [y[2][2]], + [y[3][0]], [y[3][1]], [y[3][2]] ]) + +def color_row(space, color): + x1,x2,x3 = space.getCoords(color) + return np.array([x1,x2,x3]) + +def color_column(space, color): + x1,x2,x3 = space.getCoords(color) + return np.array([[x1],[x2],[x3]]) + +def colors_array(space, *colors): + return np.array([color_row(space, c) for c in colors]) + +def find_transform_colors(space, cx1, cx2, cx3, cx4, cy1, cy2, cy3, cy4): + x = colors_array(space, cx1, cx2, cx3, cx4) + y = colors_array(space, cy1, cy2, cy3, cy4) + return find_transform(x,y) + +def find_transform(x, y): + #print("X:\n"+str(x)) + #print("Y:\n"+str(y)) + m = solve(get_A(x), get_B(y)) + a = np.array([[m[0][0], m[1][0], m[2][0]], + [m[3][0], m[4][0], m[5][0]], + [m[6][0], m[7][0], m[8][0]]]) + b = np.array([[m[9][0]], [m[10][0]], [m[11][0]]]) + return (a, b) + +def transform_colors(space, a, b, cx): + x = color_column(space, cx) + y = a.dot(x) + b + #print("X: " + str(x)) + #print("Y: " + str(y)) + return space.fromCoords(y[0][0], y[1][0], y[2][0]) + +def transform(a, b, x): + #print(type(x)) + return a.dot(x[:,None]) + b + +def rhoC(space, color1, color2): + x1,y1,z1 = space.getCoords(color1) + x2,y2,z2 = space.getCoords(color2) + return sqrt((x1-x2)**2 + (y1-y2)**2 + (z1-z2)**2) + +def rho(c1, c2): + x1,y1,z1 = c1[0], c1[1], c1[2] + x2,y2,z2 = c2[0], c2[1], c2[2] + return sqrt((x1-x2)**2 + (y1-y2)**2 + (z1-z2)**2) + +def get_center(points): + zero = np.array([0,0,0]) + return sum(points, zero) / float(len(points)) + +def get_center_color(space, colors): + zero = np.array([0,0,0]) + points = [space.getCoords(c) for c in colors] + center = sum(points, zero) / float(len(points)) + c1,c2,c3 = center[0], center[1], center[2] + return space.fromCoords((c1,c2,c3)) + +def get_nearest(x, occupied, points): + min_rho = None + min_p = None + for p in points: + if any([(p == o).all() for o in occupied]): + continue + r = rho(x,p) + if min_rho is None or r < min_rho: + min_rho = r + min_p = p + if min_p is not None: + occupied.append(min_p) + #print("Now occupied : " + str(x)) + return min_p + #print("Was occupied : " + str(x)) + for p in points: + r = rho(x,p) + if min_rho is None or r < min_rho: + min_rho = r + min_p = p + return min_p + +def get_nearest_color(space, occupied, cx, colors): + points = [space.getCoords(c) for c in colors] + cy = get_nearest(space.getCoords(cx), occupied, points) + return space.fromCoords((cy[0], cy[1], cy[2])) + +def exclude(lst, x): + return [p for p in lst if not (p == x).all()] + +def get_farest(points): + #center = get_center(points) + #print(str(center)) + points_ = copy(points) + darkest = min(points_, key = lambda p: p[2]) + points_ = exclude(points_, darkest) + lightest = max(points_, key = lambda p: p[2]) + points_ = exclude(points_, lightest) + grayest = min(points_, key = lambda p: p[1]) + points_ = exclude(points_, grayest) + most_saturated = max(points_, key = lambda p: p[1]) + return [darkest, lightest, grayest, most_saturated] + #srt = sorted(points, key = lambda c: -rho(center, c)) + #return srt[:4] + +def get_farest_colors(space, colors): + points = [space.getCoords(c) for c in colors] + farest = get_farest(points) + return [space.fromCoords(c) for c in farest] + +def match_colors_(space, colors1, colors2): + try: + points1 = [color_row(space, c) for c in colors1 if c is not None] + points2 = [color_row(space, c) for c in colors2 if c is not None] + farest1 = get_farest(points1) + farest2 = get_farest(points2) + a, b = find_transform(farest1, farest2) + #print("A:\n" + str(a)) + #print("B:\n" + str(b)) + print("Matching colors:") + for p1, p2 in zip(farest1, farest2): + print(" {} -> {}".format(p1,p2)) + transformed = [transform(a, b, x) for x in points1] + occupied = [] + matched = [] + for x in transformed: + y = get_nearest(x, occupied, points2) + matched.append(y) + return [space.fromCoords(x) for x in matched] + except LinAlgError as e: + print e + return colors1 + +def match_colors(space, colors1, colors2): + points1 = [color_row(space, c) for c in colors1 if c is not None] + points2 = [color_row(space, c) for c in colors2 if c is not None] + c1 = get_center(points1) + c2 = get_center(points2) + #print c1, c2 + print("Centers difference: {}".format(c2-c1)) + szs1 = np.vstack([abs(c1-p) for p in points1]).max(axis=0) + szs2 = np.vstack([abs(c2-p) for p in points2]).max(axis=0) + if (szs1 == 0).any(): + zoom = np.array([1,1,1]) + else: + zoom = szs2 / szs1 + print("Scale by axes: {}".format(zoom)) + transformed = [(p-c1)*zoom + c2 for p in points1] + occupied = [] + matched = [] + deltas = [] + for x in transformed: + y = get_nearest(x, occupied, points2) + matched.append(y) + deltas.append(abs(y-x)) + delta = np.vstack(deltas).max(axis=0) + print("Maximum deltas from affine transformed to source colors: {}".format(delta)) + return [space.fromCoords(x) for x in matched] + +def find_simple_transform(space, colors1, colors2): + points1 = [color_row(space, c) for c in colors1 if c is not None] + points2 = [color_row(space, c) for c in colors2 if c is not None] + c1 = get_center(points1) + c2 = get_center(points2) + #transfer = c2 - c1 + szs1 = max([abs(c1-p) for p in points1]) + szs2 = max([abs(c2-p) for p in points2]) + if (szs1 == 0).any(): + zoom = np.array([1,1,1]) + else: + zoom = szs2 / szs1 + return (c1, c2, zoom) + +if __name__ == "__main__": + + x1 = Color(0,0,0) + x2 = Color(0,10,0) + x3 = Color(0,0,20) + x4 = Color(20,0,10) + x5 = Color(10,10,10) + x6 = Color(0,20,0) + x7 = Color(0,0,40) + x8 = Color(40,0,20) + + y1 = Color(0,0,0) + y2 = Color(0,10,0) + y3 = Color(0,0,20) + y4 = Color(20,0,10) + y5 = Color(10,10,10) + y6 = Color(0,20,0) + y7 = Color(0,0,40) + y8 = Color(40,0,20) + + res = match_colors(RGB, [x1,x2,x3,x4,x5,x6,x7,x8], [y1,y2,y3,y4,y5,y6,y7,y8]) + print([c.getRGB() for c in res]) + + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/open_palette.py b/extensions/fablabchemnitz/color_harmony/color_harmony/open_palette.py new file mode 100644 index 0000000..dd795fd --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/open_palette.py @@ -0,0 +1,17 @@ +def load_palette(filename, mixer=None, options=None): + if mixer is None: + mixer = mixers.MixerRGB + loader = detect_storage(filename) + if loader is None: + return None + palette = loader().load(mixer, filename, options) + return palette + +def save_palette(palette, path, formatname=None): + if formatname is not None: + loader = get_storage_by_name(formatname) + else: + loader = detect_storage(path, save=True) + if loader is None: + raise RuntimeError("Unknown file type!") + loader(palette).save(path) diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/palette/palette.py b/extensions/fablabchemnitz/color_harmony/color_harmony/palette/palette.py new file mode 100644 index 0000000..698773c --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/palette/palette.py @@ -0,0 +1,352 @@ + +from os.path import join, basename + +from color.colors import * +from color import mixers +from models.meta import Meta + +NONE = 0 +USER_DEFINED = 1 +VERTICALLY_GENERATED = 2 +HORIZONTALLY_GENERATED = 3 +DEFAULT_GROUP_SIZE = 7 +MAX_COLS = 10 + +class Slot(object): + def __init__(self, color=None, name=None, user_defined=False): + self._color = color + self._mode = NONE + self._user_defined = user_defined + self._src_slot1 = None + self._src_row1 = None + self._src_col1 = None + self._src_slot2 = None + self._src_row2 = None + self._src_col2 = None + if name: + self.name = name + + def get_name(self): + if self._color: + return self._color.name + else: + return None + + def set_name(self, name): + if self._color: + self._color.name = name + + name = property(get_name, set_name) + + def __repr__(self): + return "".format(self._mode) + + def getColor(self): + if self._color is None: + return Color(1,1,1) + else: + return self._color + + def setColor(self, color): + self._color = color + + color = property(getColor, setColor) + + def getMode(self): + if self._user_defined: + return USER_DEFINED + else: + return self._mode + + def setMode(self, mode): + self._mode = mode + if mode == USER_DEFINED: + self._user_defined = True + self._mode = NONE + + mode = property(getMode, setMode) + + def mark(self, user_defined=None): + if user_defined is None: + user_defined = not self._user_defined + #print("Mark: " + str(user_defined)) + self._user_defined = user_defined + + def setSources(self, slot1, row1, col1, slot2, row2, col2): + self._src_slot1 = slot1 + self._src_row1 = row1 + self._src_col1 = col1 + self._src_slot2 = slot2 + self._src_row2 = row2 + self._src_col2 = col2 + #print("Sources: ({},{}) and ({},{})".format(row1,col1, row2,col2)) + + def getSource1(self): + return self._src_slot1, self._src_row1, self._src_col1 + + def getSource2(self): + return self._src_slot2, self._src_row2, self._src_col2 + +class Palette(object): + def __init__(self, mixer, nrows=1, ncols=7): + self.mixer = mixer + self.nrows = nrows + self.ncols = ncols + self.slots = [[Slot() for i in range(ncols)] for j in range(nrows)] + self.need_recalc_colors = True + self.meta = Meta() + + def get_name(self): + return self.meta.get("Name", "Untited") + + def set_name(self, name): + self.meta["Name"] = name + + name = property(get_name, set_name) + + def mark_color(self, row, column, mark=None): + print("Marking color at ({}, {})".format(row,column)) + slot = self.slots[row][column] + slot.mark(mark) + self.need_recalc_colors = True + self.recalc() + + def setMixer(self, mixer): + self.mixer = mixer + self.recalc() + + def del_column(self, col): + if self.ncols < 2: + return + new = [] + for row in self.slots: + new_row = [] + for c, slot in enumerate(row): + if c != col: + new_row.append(slot) + new.append(new_row) + self.slots = new + self.ncols -= 1 + self.recalc() + + def add_column(self, col): + new = [] + for row in self.slots: + new_row = [] + for c, slot in enumerate(row): + if c == col: + new_row.append(Slot()) + new_row.append(slot) + new.append(new_row) + self.slots = new + self.ncols += 1 + self.recalc() + + def del_row(self, row): + if self.nrows < 2: + return + new = [] + for r,row_ in enumerate(self.slots): + if r != row: + new.append(row_) + self.slots = new + self.nrows -= 1 + self.recalc() + + def add_row(self, row): + new = [] + for r,row_ in enumerate(self.slots): + if r == row: + new_row = [Slot() for k in range(self.ncols)] + new.append(new_row) + new.append(row_) + self.slots = new + self.nrows += 1 + self.recalc() + + def paint(self, row, column, color): + self.slots[row][column].color = color + self.slots[row][column].mark(True) + #self.recalc() + + def erase(self, row, column): + self.paint(row, column, Color(0,0,0)) + + def getUserDefinedSlots(self): + """Returns list of tuples: (row, column, slot).""" + result = [] + for i,row in enumerate(self.slots): + for j,slot in enumerate(row): + if slot.mode == USER_DEFINED: + result.append((i,j,slot)) + return result + + def getColor(self, row, column): + if self.need_recalc_colors: + self.recalc() + try: + return self.slots[row][column].color + except IndexError: + #print("Cannot get color ({},{}): size is ({},{})".format(row,column, self.nrows, self.ncols)) + return Color(255,255,255) + + def getColors(self): + if self.need_recalc_colors: + self.recalc() + return [[slot.color for slot in row] for row in self.slots] + + def setSlots(self, all_slots): + m = len(all_slots) % self.ncols + if m != 0: + for i in range(self.ncols - m): + all_slots.append(Slot(Color(255,255,255))) + self.slots = [] + row = [] + for i, slot in enumerate(all_slots): + if i % self.ncols == 0: + if len(row) != 0: + self.slots.append(row) + row = [] + row.append(slot) + self.slots.append(row) + self.nrows = len(self.slots) + self.need_recalc_colors = True + self.recalc() +# print(self.slots) + + def user_chosen_slot_down(self, i,j): + """Returns tuple: + * Is slot found + * Row of found slot + * Column of found slot""" + + #print("Searching down ({},{})".format(i,j)) + for i1 in range(i, self.nrows): + try: + slot = self.slots[i1][j] + #print("Down: check ({},{}): {}".format(i1,j,slot)) + if slot.mode == USER_DEFINED: + #print("Found down ({},{}): ({},{})".format(i,j, i1,j)) + return True,i1,j + except IndexError: + print("Cannot get slot at ({}, {})".format(i,j)) + return False, self.nrows-1,j + return False, self.nrows-1,j + + def user_chosen_slot_up(self, i,j): + """Returns tuple: + * Is slot found + * Row of found slot + * Column of found slot""" + + for i1 in range(i-1, -1, -1): + if self.slots[i1][j].mode == USER_DEFINED: + #print("Found up ({},{}): ({},{})".format(i,j, i1,j)) + return True,i1,j + return False, 0, j + + def fixed_slot_right(self, i,j): + """Returns tuple: + * Mode of found slot + * Row of found slot + * Column of found slot""" + + for j1 in range(j, self.ncols): + if self.slots[i][j1].mode in [USER_DEFINED, VERTICALLY_GENERATED]: + return self.slots[i][j1].mode, i,j1 + return NONE, i,self.ncols-1 + + def fixed_slot_left(self, i,j): + """Returns tuple: + * Mode of found slot + * Row of found slot + * Column of found slot""" + + for j1 in range(j-1, -1, -1): + if self.slots[i][j1].mode in [USER_DEFINED, VERTICALLY_GENERATED]: + return self.slots[i][j1].mode, i,j1 + return NONE, i,0 + + def recalc(self): + self._calc_modes() + self._calc_modes() + self._calc_modes() + self._calc_colors() + self.need_recalc_colors = False + + def _calc_modes(self): + for i,row in enumerate(self.slots): + for j,slot in enumerate(row): + if slot.mode == USER_DEFINED: + continue + # Should slot be vertically generated? + v1,iv1,jv1 = self.user_chosen_slot_down(i,j) + v2,iv2,jv2 = self.user_chosen_slot_up(i,j) + h1,ih1,jh1 = self.fixed_slot_left(i,j) + h2,ih2,jh2 = self.fixed_slot_right(i,j) + if v1 and v2: # if there are user chosen slots above and below current + slot.mode = VERTICALLY_GENERATED + s1 = self.slots[iv1][jv1] + s2 = self.slots[iv2][jv2] + slot.setSources(s1, iv1, jv1, s2, iv2, jv2) + elif ((v1 and j-jv1 > 1) or (v2 and jv2-j > 1)) and ((h1!=USER_DEFINED) or (h2!=USER_DEFINED)): + slot.mode = VERTICALLY_GENERATED + s1 = self.slots[iv1][jv1] + s2 = self.slots[iv2][jv2] + slot.setSources(s1, iv1, jv1, s2, iv2, jv2) + elif h1 and h2: + # if there are fixed slots at left and at right of current + slot.mode = HORIZONTALLY_GENERATED + s1 = self.slots[ih1][jh1] + s2 = self.slots[ih2][jh2] + slot.setSources(s1, ih1, jh1, s2, ih2, jh2) + elif (h1 or h2) and not (v1 or v2): + slot.mode = HORIZONTALLY_GENERATED + s1 = self.slots[ih1][jh1] + s2 = self.slots[ih2][jh2] + slot.setSources(s1, ih1, jh1, s2, ih2, jh2) + else: + slot.mode = HORIZONTALLY_GENERATED + s1 = self.slots[ih1][jh1] + s2 = self.slots[ih2][jh2] + slot.setSources(s1, ih1, jh1, s2, ih2, jh2) + + def color_transition(self, from_color, to_color, steps, idx): + if self.mixer is None: + return Color(1,1,1) + q = float(idx+1) / float(steps+1) + return self.mixer.mix(from_color, to_color, q) + + def _calc_colors(self): + for i,row in enumerate(self.slots): + for j,slot in enumerate(row): + if slot.mode == VERTICALLY_GENERATED: + slot_down, iv1, jv1 = slot.getSource1() + slot_up, iv2, jv2 = slot.getSource2() + clr_down = slot_down.color + clr_up = slot_up.color + length = iv1-iv2 - 1 + idx = i-iv2 - 1 + try: + #print("Mixing ({},{}) with ({},{}) to get ({},{})".format(iv1,jv1, iv2,jv2, i,j)) + clr = self.color_transition(clr_up,clr_down,length, idx) + except IndexError: + clr = Color(1,1,1) + slot.color = clr + + for i,row in enumerate(self.slots): + for j,slot in enumerate(row): + if slot.mode == HORIZONTALLY_GENERATED: + slot_left, ih1, jh1 = slot.getSource1() + slot_right, ih2, jh2 = slot.getSource2() + clr_left = slot_left.color + clr_right = slot_right.color + length = jh2-jh1 - 1 + idx = j-jh1 - 1 + try: + #print("Mixing ({},{}) with ({},{}) to get ({},{})".format(ih1,jh1, ih2,jh2, i,j)) + clr = self.color_transition(clr_left,clr_right,length, idx) + except IndexError: + clr = Color(1,1,1) + slot.color = clr + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/shades.py b/extensions/fablabchemnitz/color_harmony/color_harmony/shades.py new file mode 100644 index 0000000..7f2a9f1 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/shades.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python +# coding=utf-8 +# +# Copyright (C) 2009-2018 Ilya Portnov +# (original 'palette-editor' tool, version 0.0.7) +# 2020 Maren Hachmann (extension-ification) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +from color_harmony.colorplus import ColorPlus +from color_harmony.utils import clip, seq, variate + +# Shading functions + +# 4 cooler colors +def cooler(color, parameter): + h,s,v = color.to_hsv() + if h < 1.0/6.0: + sign = -1.0 + elif h > 2.0/3.0: + sign = -1.0 + else: + sign = 1.0 + step = 0.1 * parameter + result = [] + for i in range(4): + h += sign * step + if h > 1.0: + h -= 1.0 + elif h < 0.0: + h += 1.0 + result.append(ColorPlus.from_hsv(h, s, v)) + return result + +# 4 warmer colors +def warmer(color, parameter): + h,s,v = color.to_hsv() + if h < 1.0/6.0: + sign = +1.0 + elif h > 2.0/3.0: + sign = +1.0 + else: + sign = -1.0 + step = 0.1 * parameter + result = [] + for i in range(4): + h += sign * step + if h > 1.0: + h -= 1.0 + elif h < 0.0: + h += 1.0 + result.append(ColorPlus.from_hsv(h, s, v)) + return result + +# returns 2 less saturated and 2 more saturated colors +def saturation(color, parameter): + h, s, v = color.to_hsv() + ss = [clip(x) for x in variate(s, 0.6*parameter, 1.2*parameter)] + # we don't want another copy of the original color + del ss[2] + return [ColorPlus.from_hsv(h, s, v) for s in ss] + +# 2 colors with higher value, and 2 with lower +def value(color, parameter): + h, s, v = color.to_hsv() + vs = [clip(x) for x in variate(v, 0.4*parameter, 0.8*parameter)] + del vs[2] + return [ColorPlus.from_hsv(h, s, v) for v in vs] + +# 2 colors with higher chroma, and 2 with lower +def chroma(color, parameter): + h, c, y = color.to_hcy() + cs = [clip(x) for x in variate(c, 0.4*parameter, 0.8*parameter)] + del cs[2] + return [ColorPlus.from_hcy(h, c, y) for c in cs] + +# 2 colors with higher luma, and 2 with lower +def luma(color, parameter): + h, c, y = color.to_hcy() + ys = [clip(x) for x in variate(y, 0.3*parameter, 0.6*parameter)] + del ys[2] + return [ColorPlus.from_hcy(h, c, y) for y in ys] + +# 2 colors with hue rotated to the left, and 2 rotated to the right +def hue(color, parameter): + h, c, y = color.to_hcy() + hs = [clip(x) for x in variate(h, 0.15*parameter, 0.3*parameter)] + del hs[2] + return [ColorPlus.from_hcy(h, c, y) for h in hs] + +def hue_luma(color, parameter): + h, c, y = color.to_hcy() + hs = [clip(x) for x in variate(h, 0.15*parameter, 0.3*parameter)] + ys = [clip(x) for x in variate(y, 0.3*parameter, 0.6*parameter)] + del ys[2] + del hs[2] + return [ColorPlus.from_hcy(h, c, y) for h,y in zip(hs, ys)] + +def luma_plus_chroma(color, parameter): + h, c, y = color.to_hcy() + cs = [clip(x) for x in variate(c, 0.4*parameter, 0.8*parameter)] + ys = [clip(x) for x in variate(y, 0.3*parameter, 0.6*parameter)] + del cs[2] + del ys[2] + return [ColorPlus.from_hcy(h, c, y) for c,y in zip(cs, ys)] + +def luma_minus_chroma(color, parameter): + h, c, y = color.to_hcy() + cs = [clip(x) for x in variate(c, 0.4*parameter, 0.8*parameter)] + ys = list(reversed([clip(x) for x in variate(y, 0.3*parameter, 0.6*parameter)])) + del cs[2] + del ys[2] + return [ColorPlus.from_hcy(h, c, y) for c,y in zip(cs, ys)] diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/__init__.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/__init__.py new file mode 100644 index 0000000..1bb8bf6 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/__init__.py @@ -0,0 +1 @@ +# empty diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/cluster.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/cluster.py new file mode 100644 index 0000000..8ff0c81 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/cluster.py @@ -0,0 +1,180 @@ + +from math import sqrt, isnan +import numpy as np + +try: + from sklearn.cluster import MeanShift, estimate_bandwidth + from sklearn.utils import shuffle + + cluster_analysis_available = True + print("Cluster analysis is available") +except ImportError: + cluster_analysis_available = False + print("Cluster analysis is not available") + +try: + import Image + pil_available = True + print("PIL is available") +except ImportError: + print("PIL is not available") + try: + from PIL import Image + print("Pillow is available") + pil_available = True + except ImportError: + print("Neither PIL or Pillow are available") + pil_available = False + +from color.colors import * + +if pil_available: + + def imread(filename): + img = Image.open(filename) + +class Box(object): + def __init__(self, arr): + self._array = arr + + def population(self): + return self._array.size + + def axis_size(self, idx): + slice_ = self._array[:, idx] + M = slice_.max() + m = slice_.min() + return M - m + + def biggest_axis(self): + sizes = [self.axis_size(i) for i in range(3)] + return max(range(3), key = lambda i: sizes[i]) + + def mean(self): + return self._array.mean(axis=0) + + def mean_color(self): + size = self._array.size + if not size: + return None + xs = self._array.mean(axis=0) + x,y,z = xs[0], xs[1], xs[2] + if isnan(x) or isnan(y) or isnan(z): + return None + return Color(int(x), int(y), int(z)) + + def div_pos(self, idx): + slice_ = self._array[:, idx] + M = slice_.max() + m = slice_.min() + return (m+M)/2.0 + + def divide(self): + axis = self.biggest_axis() + q = self.div_pos(axis) + idxs = self._array[:, axis] > q + smaller = self._array[~idxs] + bigger = self._array[idxs] + self._array = smaller + return Box(bigger) + +if pil_available and cluster_analysis_available: + + # Use Means Shift algorithm for cluster analysis + + def cluster_analyze(filename, N=1000): + image = imread(filename) + w,h,d = tuple(image.shape) + image_array = np.array( np.reshape(image, (w * h, d)), dtype=np.float64 ) + #if image.dtype == 'uint8': + # image_array = image_array / 255.0 + image_array_sample = shuffle(image_array, random_state=0)[:N] + bandwidth = estimate_bandwidth(image_array_sample, quantile=0.01, n_samples=500) + ms = MeanShift(bandwidth=bandwidth, bin_seeding=True) + ms.fit(image_array_sample) + cluster_centers = ms.cluster_centers_ + n_clusters = len(cluster_centers) + colors = [] + print("Number of clusters: {}".format(n_clusters)) + for x in cluster_centers: + #print x + clr = Color() + clr.setRGB1((x[0], x[1], x[2])) + colors.append(clr) + return colors + + +if pil_available: + +# Use very fast algorithm for image analysis, translated from Krita's kis_common_colors_recalculation_runner.cpp +# Do not know exactly why does this algorithm work, but it does. +# Initial (C) Adam Celarek + + def bin_divide_colors(filename, N=1<<16, n_clusters=49): + img = Image.open(filename) + if img.mode == 'P': + img = img.convert('RGB') + w,h = img.size + n_pixels = w*h + if n_pixels > N: + ratio = sqrt( float(N) / float(n_pixels) ) + w,h = int(w*ratio), int(h*ratio) + img = img.resize((w,h)) + + image = np.array(img) + w,h,d = tuple(image.shape) + colors = np.array( np.reshape(image, (w * h, d)), dtype=np.float64 ) + #if image.dtype == 'uint8': + # colors = colors / 255.0 + colors = colors[:,0:3] + + boxes = [Box(colors)] + + while (len(boxes) < n_clusters * 3/5) and (len(colors) > n_clusters * 3/5): + biggest_box = None + biggest_box_population = None + + for box in boxes: + population = box.population() + if population <= 3: + continue + if biggest_box_population is None or (population > biggest_box_population and box.axis_size(box.biggest_axis()) >= 3): + biggest_box = box + biggest_box_population = population + + if biggest_box is None or biggest_box.population() <= 3: + break + + new_box = biggest_box.divide() + boxes.append(new_box) + + while (len(boxes) < n_clusters) and (len(colors) > n_clusters): + biggest_box = None + biggest_box_axis_size = None + + for box in boxes: + if box.population() <= 3: + continue + size = box.axis_size(box.biggest_axis()) + if biggest_box_axis_size is None or (size > biggest_box_axis_size and size >= 3): + biggest_box = box + biggest_box_axis_size = size + + if biggest_box is None or biggest_box.population() <= 3: + break + + new_box = biggest_box.divide() + boxes.append(new_box) + + result = [box.mean_color() for box in boxes if box.mean_color() is not None] + return result + +image_loading_supported = pil_available or cluster_analysis_available + +if pil_available: + get_common_colors = bin_divide_colors + use_sklearn = False +elif cluster_analysis_available : + get_common_colors = cluster_analyze + use_sklearn = True + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/css.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/css.py new file mode 100644 index 0000000..9936f45 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/css.py @@ -0,0 +1,83 @@ + +from os.path import join, basename +from math import sqrt, floor + +from color.colors import * +from color import mixers +from palette.storage.storage import * + +try: + from tinycss import make_parser, color3 + css_support = True +except ImportError: + print("TinyCSS is not available") + css_support = False + +class CSS(Storage): + name = 'css' + title = _("CSS cascading stylesheet") + filters = ["*.css"] + can_load = css_support + can_save = True + + @staticmethod + def check(filename): + return True + + def save(self, file_w): + pf = open(file_w, 'w') + + for i, row in enumerate(self.palette.slots): + for j, slot in enumerate(row): + user = "-user" if slot.mode == USER_DEFINED else "" + hex = slot.color.hex() + s = ".color-{}-{}{} {{ color: {} }};\n".format(i,j, user, hex) + pf.write(s) + + pf.close() + + def load(self, mixer, file_r, options=None): + self.palette = Palette(mixer) + self.palette.ncols = None + + all_slots = [] + colors = [] + + def add_color(clr): + for c in colors: + if c.getRGB() == clr.getRGB(): + return None + colors.append(clr) + return clr + + parser = make_parser('page3') + css = parser.parse_stylesheet_file(file_r) + for ruleset in css.rules: + #print ruleset + if ruleset.at_keyword: + continue + for declaration in ruleset.declarations: + #print declaration + for token in declaration.value: + #print token + css_color = color3.parse_color(token) + if not isinstance(css_color, color3.RGBA): + continue + r,g,b = css_color.red, css_color.green, css_color.blue + color = Color() + color.setRGB1((clip(r), clip(g), clip(b))) + color = add_color(color) + if not color: + continue + slot = Slot(color, user_defined=True) + all_slots.append(slot) + n_colors = len(all_slots) + if n_colors > MAX_COLS: + self.palette.ncols = max( int( floor(sqrt(n_colors)) ), 1) + else: + self.palette.ncols = n_colors + self.palette.setSlots(all_slots) + self.palette.meta["SourceFormat"] = "CSS" + print("Loaded palette: {}x{}".format( self.palette.nrows, self.palette.ncols )) + return self.palette + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/gimp.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/gimp.py new file mode 100644 index 0000000..f82b330 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/gimp.py @@ -0,0 +1,188 @@ + +from os.path import join, basename +from PyQt4 import QtGui +import re + +from color.colors import * +from color import mixers +from palette.storage.storage import * + +marker = '# Colors not marked with #USER are auto-generated' + +metare = re.compile("^# (\\w+): (.+)") + +def save_gpl(name, ncols, clrs, file_w): + if type(file_w) in [str,unicode]: + pf = open(file_w, 'w') + do_close = True + elif hasattr(file_w,'write'): + pf = file_w + do_close = False + else: + raise ValueError("Invalid argument type in save_gpl: {}".format(type(file_w))) + pf.write('GIMP Palette\n') + pf.write(u"Name: {}\n".format(name).encode('utf-8')) + if ncols is not None: + pf.write('Columns: %s\n' % ncols) + for color in clrs: + r, g, b = color.getRGB() + n = 'Untitled' + s = '%d %d %d %s\n' % (r, g, b, n) + pf.write(s) + if do_close: + pf.close() + +class GimpPalette(Storage): + + name = 'gpl' + title = _("Gimp palette") + filters = ["*.gpl"] + can_save = True + can_load = True + + @staticmethod + def get_options_widget(dialog, filename): + + def on_columns_changed(n): + dialog.options = n + dialog.on_current_changed(filename) + + ncols = None + pf = open(filename,'r') + l = pf.readline().strip() + if l != 'GIMP Palette': + pf.close() + return None + for line in pf: + line = line.strip() + lst = line.split() + if lst[0]=='Columns:': + ncols = int( lst[1] ) + break + pf.close() + + widget = QtGui.QWidget() + box = QtGui.QHBoxLayout() + label = QtGui.QLabel(_("Columns: ")) + spinbox = QtGui.QSpinBox() + spinbox.setMinimum(2) + spinbox.setMaximum(100) + if ncols is None: + ncols = MAX_COLS + spinbox.setValue(ncols) + box.addWidget(label) + box.addWidget(spinbox) + spinbox.valueChanged.connect(on_columns_changed) + widget.setLayout(box) + return widget + + def save(self, file_w=None): + if type(file_w) in [str,unicode]: + pf = open(file_w, 'w') + do_close = True + elif hasattr(file_w,'write'): + pf = file_w + do_close = False + else: + raise ValueError("Invalid argument type in GimpPalette.save: {}".format(type(file_w))) + pf.write('GIMP Palette\n') + if not hasattr(self.palette, 'name'): + if type(file_w) in [str, unicode]: + self.palette.name = basename(file_w) + else: + self.palette.name='Colors' + pf.write(u"Name: {}\n".format(self.palette.name).encode('utf-8')) + if hasattr(self.palette, 'ncols') and self.palette.ncols: + pf.write('Columns: %s\n' % self.palette.ncols) + pf.write(marker+'\n') + for key,value in self.palette.meta.items(): + if key != "Name": + pf.write(u"# {}: {}\n".format(key, value).encode('utf-8')) + pf.write('#\n') + for row in self.palette.slots: + for slot in row: + if slot.mode == USER_DEFINED: + n = slot.name + ' #USER' + else: + n = slot.name + r, g, b = slot.color.getRGB() + s = '%d %d %d %s\n' % (r, g, b, n) + pf.write(s) + for key,value in slot.color.meta.items(): + if key != "Name": + pf.write(u"# {}: {}\n".format(key, value).encode('utf-8')) + if do_close: + pf.close() + + def load(self, mixer, file_r, force_ncols=None): + self.palette = Palette(mixer) + self.palette.ncols = None + if not file_r: + palette.filename = None + palette.name = 'Gimp' + return + elif hasattr(file_r,'read'): + pf = file_r + self.palette.filename = None + do_close = False + elif type(file_r) in [str,unicode]: + pf = open(file_r) + self.palette.filename = file_r + do_close = True + l = pf.readline().strip() + if l != 'GIMP Palette': + raise SyntaxError, "Invalid palette file!" + self.palette.name = " ".join(pf.readline().strip().split()[1:]) + all_user = True + n_colors = 0 + all_slots = [] + reading_header = True + for line in pf: + line = line.strip() + if line==marker: + all_user = False + meta_match = metare.match(line) + if meta_match is not None: + key = meta_match.group(1) + value = meta_match.group(2) + if reading_header: + self.palette.meta[key] = value + else: + clr.meta[key] = value + continue + if line.startswith('#'): + continue + lst = line.split() + if lst[0]=='Columns:': + self.palette.ncols = int( lst[1] ) + if len(lst) < 3: + continue + rs,gs,bs = lst[:3] + clr = Color(float(rs), float(gs), float(bs)) + reading_header = False + #print(str(clr)) + slot = Slot(clr) + n_colors += 1 + if all_user or lst[-1]=='#USER': + slot.mode = USER_DEFINED + name = ' '.join(lst[3:-1]) + else: + name = ' '.join(lst[3:]) + slot.name = name + all_slots.append(slot) + if do_close: + pf.close() + if n_colors < DEFAULT_GROUP_SIZE: + self.palette.ncols = n_colors + if not self.palette.ncols: + if n_colors > MAX_COLS: + self.palette.ncols = MAX_COLS + else: + self.palette.ncols = n_colors + if force_ncols is not None: + self.palette.ncols = force_ncols + self.palette.setSlots(all_slots) + self.palette.meta["SourceFormat"] = "Gimp gpl" if all_user else "palette_editor gpl" + print("Loaded palette: {}x{}".format( self.palette.nrows, self.palette.ncols )) + return self.palette + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/image.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/image.py new file mode 100644 index 0000000..5178e93 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/image.py @@ -0,0 +1,201 @@ + +from os.path import join, basename, splitext +from math import sqrt, floor +from PyQt4 import QtGui + +from color.colors import * +from color import spaces +from color import mixers +from palette.image import PaletteImage +from palette.palette import * +from palette.storage.storage import * +from palette.storage.cluster import * +from palette.storage.table import parse_color_table +from matching.transform import rho, get_center + +LOAD_MORE = 1 +LOAD_LESS_COMMON = 2 +LOAD_LESS_FAREST = 3 +LOAD_TABLE = 4 + +print("Ok") + +class DialogOptions(object): + def __init__(self, method): + self.method = method + self.border_x = 10 + self.border_y = 10 + self.gap_x = 10 + self.gap_y = 10 + self.size_x = 5 + self.size_y = 5 + +class Image(Storage): + name = 'image' + title = _("Raster image") + filters = ["*.jpg", "*.png", "*.gif"] + can_load = image_loading_supported + can_save = True + + @staticmethod + def check(filename): + return True + + @staticmethod + def get_options_widget(dialog, filename): + if use_sklearn: + return None + + def dependencies(): + if dialog.options is None or dialog.options.method != LOAD_TABLE: + table_w.setVisible(False) + else: + table_w.setVisible(True) + + def on_method_changed(checked): + method = None + if dialog._more_button.isChecked(): + method = LOAD_MORE + elif dialog._less_button.isChecked(): + method = LOAD_LESS_COMMON + elif dialog._less_farest.isChecked(): + method = LOAD_LESS_FAREST + elif dialog._table.isChecked(): + method = LOAD_TABLE + dialog.options = DialogOptions(method) + if method == LOAD_TABLE: + dialog.options.border_x = dialog._border_x.value() + dialog.options.border_y = dialog._border_y.value() + dialog.options.gap_x = dialog._gap_x.value() + dialog.options.gap_y = dialog._gap_y.value() + dialog.options.size_x = dialog._size_x.value() + dialog.options.size_y = dialog._size_y.value() + dependencies() + dialog.on_current_changed(filename) + + group_box = QtGui.QGroupBox(_("Loading method")) + dialog._more_button = more = QtGui.QRadioButton(_("Use 49 most used colors")) + dialog._less_button = less = QtGui.QRadioButton(_("Use 9 most used colors and mix them")) + dialog._less_farest = less_farest = QtGui.QRadioButton(_("Use 9 most different colors and mix them")) + dialog._table = table = QtGui.QRadioButton(_("Load table of colors")) + + table_w = QtGui.QWidget(dialog) + table_form = QtGui.QFormLayout(table_w) + dialog._border_x = QtGui.QSpinBox(table_w) + dialog._border_x.valueChanged.connect(on_method_changed) + table_form.addRow(_("Border from right/left side, px"), dialog._border_x) + dialog._border_y = QtGui.QSpinBox(table_w) + dialog._border_y.valueChanged.connect(on_method_changed) + table_form.addRow(_("Border from top/bottom side, px"), dialog._border_y) + dialog._gap_x = QtGui.QSpinBox(table_w) + dialog._gap_x.valueChanged.connect(on_method_changed) + table_form.addRow(_("Width of gap between cells, px"), dialog._gap_x) + dialog._gap_y = QtGui.QSpinBox(table_w) + dialog._gap_y.valueChanged.connect(on_method_changed) + table_form.addRow(_("Height of gap between cells, px"), dialog._gap_y) + dialog._size_x = QtGui.QSpinBox(table_w) + dialog._size_x.setValue(5) + dialog._size_x.valueChanged.connect(on_method_changed) + table_form.addRow(_("Number of columns in the table"), dialog._size_x) + dialog._size_y = QtGui.QSpinBox(table_w) + dialog._size_y.setValue(5) + dialog._size_y.valueChanged.connect(on_method_changed) + table_form.addRow(_("Number of rows in the table"), dialog._size_y) + table_w.setLayout(table_form) + + dependencies() + + more.toggled.connect(on_method_changed) + less.toggled.connect(on_method_changed) + less_farest.toggled.connect(on_method_changed) + table.toggled.connect(on_method_changed) + + if dialog.options is None or dialog.options.method == LOAD_MORE: + more.setChecked(True) + elif dialog.options.method == LOAD_LESS_COMMON: + less.setChecked(True) + elif dialog.options.method == LOAD_TABLE: + table.setChecked(True) + else: + less_farest.setChecked(True) + + vbox = QtGui.QVBoxLayout() + vbox.addWidget(more) + vbox.addWidget(less) + vbox.addWidget(less_farest) + vbox.addWidget(table) + vbox.addWidget(table_w) + group_box.setLayout(vbox) + return group_box + + def save(self, file_w): + w,h = self.palette.ncols * 48, self.palette.nrows * 48 + image = PaletteImage( self.palette ).get(w,h) + print("Writing image: " + file_w) + res = image.save(file_w) + if not res: + image.save(file_w, format='PNG') + + def load(self, mixer, file_r, options=None): + def _cmp(clr1,clr2): + h1,s1,v1 = clr1.getHSV() + h2,s2,v2 = clr2.getHSV() + x = cmp(h1,h2) + if x != 0: + return x + x = cmp(v1,v2) + if x != 0: + return x + return cmp(s1,s2) + + def get_farest(space, colors, n=9): + points = [space.getCoords(c) for c in colors] + center = get_center(points) + srt = sorted(points, key = lambda c: -rho(center, c)) + farest = srt[:n] + return [space.fromCoords(c) for c in farest] + + if use_sklearn or options is None or options.method is None or options.method == LOAD_MORE: + colors = get_common_colors(file_r) + colors.sort(cmp=_cmp) + self.palette = create_palette(colors, mixer) + return self.palette + + elif options.method == LOAD_TABLE: + self.palette = palette = Palette(mixer, nrows=options.size_y, ncols=options.size_x) + colors = parse_color_table(file_r, options) + + for i in range(0, options.size_y): + for j in range(0, options.size_x): + palette.paint(i, j, colors[i][j]) + + return palette + + else: + if options.method == LOAD_LESS_FAREST: + colors = get_common_colors(file_r) + colors = get_farest(spaces.RGB, colors) + else: + colors = get_common_colors(file_r, n_clusters=9) + + self.palette = palette = Palette(mixer, nrows=7, ncols=7) + + palette.paint(0, 0, colors[0]) + palette.paint(0, 3, colors[1]) + palette.paint(0, 6, colors[2]) + palette.paint(3, 0, colors[3]) + palette.paint(3, 3, colors[4]) + palette.paint(3, 6, colors[5]) + palette.paint(6, 0, colors[6]) + palette.paint(6, 3, colors[7]) + palette.paint(6, 6, colors[8]) + + palette.need_recalc_colors = True + palette.recalc() + + name,ext = splitext(basename(file_r)) + self.palette.meta["SourceFormat"] = ext + + return palette + + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/kpl.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/kpl.py new file mode 100644 index 0000000..275b2be --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/kpl.py @@ -0,0 +1,178 @@ + +from os.path import join, basename +from PyQt4 import QtGui +from lxml import etree as ET +from zipfile import ZipFile, ZIP_DEFLATED + +from color.colors import * +from color import mixers +from palette.storage.storage import * + +MIMETYPE = "application/x-krita-palette" +DEFAULT_GROUP_NAME = "Default (root)" + +class KplPalette(Storage): + name = 'kpl' + title = _("Krita 4.0+ palette format") + filters = ["*.kpl"] + can_load = True + can_save = True + + @staticmethod + def check(filename): + try: + with ZipFile(filename, 'r') as zf: + mimetype = zf.read("mimetype") + return (mimetype == MIMETYPE) + except Exception as e: + print(e) + return False + + @staticmethod + def get_group_names(filename): + result = [DEFAULT_GROUP_NAME] + + with ZipFile(filename, 'r') as zf: + colorset_str = zf.read("colorset.xml") + colorset = ET.fromstring(colorset_str) + + for xmlgrp in colorset.xpath("//Group"): + name = xmlgrp.attrib['name'] + if name is not None: + result.append(name) + + return result + + @staticmethod + def get_options_widget(dialog, filename): + + dialog.options = DEFAULT_GROUP_NAME + + def on_group_changed(selector): + def handler(): + dialog.options = selector.currentText() + dialog.on_current_changed(filename) + return handler + + widget = QtGui.QWidget() + box = QtGui.QHBoxLayout() + label = QtGui.QLabel(_("Group: ")) + selector = QtGui.QComboBox() + + for group_name in KplPalette.get_group_names(filename): + selector.addItem(group_name) + + selector.currentIndexChanged.connect(on_group_changed(selector)) + selector.setCurrentIndex(0) + + box.addWidget(label) + box.addWidget(selector) + widget.setLayout(box) + return widget + + def load(self, mixer, file_r, group_name): + + if group_name is None: + group_name = DEFAULT_GROUP_NAME + + def find_group(xml): + if group_name == DEFAULT_GROUP_NAME: + return xml + for xmlgrp in xml.xpath("//Group"): + if xmlgrp.attrib['name'] == group_name: + return xmlgrp + return None + + self.palette = Palette(mixer) + + with ZipFile(file_r, 'r') as zf: + mimetype = zf.read("mimetype") + if mimetype != MIMETYPE: + raise Exception("This is not a valid Krita palette file") + + colorset_str = zf.read("colorset.xml") + colorset = ET.fromstring(colorset_str) + self.palette.ncols = int( colorset.attrib['columns'] ) + self.palette.name = colorset.attrib.get('name', "Untitled") + + group = find_group(colorset) + if group is None: + print(u"Cannot find group by name {}".format(group_name).encode('utf-8')) + return None + else: + self.palette.name = self.palette.name + " - " + group.attrib.get('name', 'Untitled') + + all_slots = [] + n_colors = 0 + for xmlclr in group.findall('ColorSetEntry'): + name = xmlclr.attrib['name'] + if xmlclr.attrib['bitdepth'] != 'U8': + print("Skip color {}: unsupported bitdepth".format(name)) + continue + rgb = xmlclr.find('RGB') + if rgb is None: + rgb = xmlclr.find('sRGB') + if rgb is None: + print("Skip color {}: no RGB representation".format(name)) + continue + + r = float(rgb.attrib['r'].replace(',', '.')) + g = float(rgb.attrib['g'].replace(',', '.')) + b = float(rgb.attrib['b'].replace(',', '.')) + clr = Color() + clr.setRGB1((r,g,b)) + clr.name = name + slot = Slot(clr) + slot.mode = USER_DEFINED + + all_slots.append(slot) + n_colors += 1 + + if n_colors < DEFAULT_GROUP_SIZE: + self.palette.ncols = n_colors + if not self.palette.ncols: + if n_colors > MAX_COLS: + self.palette.ncols = MAX_COLS + else: + self.palette.ncols = n_colors + #print("Loaded colors: {}".format(len(all_slots))) + self.palette.setSlots(all_slots) + self.palette.meta["SourceFormat"] = "KRITA KPL" + print("Loaded palette: {}x{}".format( self.palette.nrows, self.palette.ncols )) + return self.palette + + def save(self, file_w=None): + with ZipFile(file_w, 'w', ZIP_DEFLATED) as zf: + zf.writestr("mimetype", MIMETYPE) + + xml = ET.Element("Colorset") + xml.attrib['version'] = '1.0' + xml.attrib['columns'] = str(self.palette.ncols) + xml.attrib['name'] = self.palette.name + xml.attrib['comment'] = self.palette.meta.get("Comment", "Generated by Palette Editor") + + for i,row in enumerate(self.palette.slots): + for j,slot in enumerate(row): + color = slot.color + name = color.name + default_name = "Swatch-{}-{}".format(i,j) + if not name: + name = default_name + + elem = ET.SubElement(xml, "ColorSetEntry") + elem.attrib['spot'] = color.meta.get("Spot", "false") + elem.attrib['id'] = default_name + elem.attrib['name'] = name + elem.attrib['bitdepth'] = 'U8' + + r,g,b = color.getRGB1() + srgb = ET.SubElement(elem, "sRGB") + srgb.attrib['r'] = str(r) + srgb.attrib['g'] = str(g) + srgb.attrib['b'] = str(b) + + tree = ET.ElementTree(xml) + tree_str = ET.tostring(tree, encoding='utf-8', pretty_print=True, xml_declaration=False) + + zf.writestr("colorset.xml", tree_str) + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/scribus.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/scribus.py new file mode 100644 index 0000000..6672b28 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/scribus.py @@ -0,0 +1,76 @@ + +from math import floor +from os.path import join, basename +from lxml import etree as ET + +from color.colors import * +from color import mixers +from palette.storage.storage import * + +cmyk_factor = float(1.0/255.0) + +def fromHex_CMYK(s): + t = s[1:] + cs,ms,ys,ks = t[0:2], t[2:4], t[4:6], t[6:8] + c,m,y,k = int(cs,16), int(ms,16), int(ys,16), int(ks,16) + c,m,y,k = [float(x)*cmyk_factor for x in [c,m,y,k]] + result = Color() + result.setCMYK((c,m,y,k)) + return result + +class Scribus(Storage): + name = 'scribus' + title = _("Scribus color swatches") + filters = ["*.xml"] + can_load = True + can_save = True + + @staticmethod + def check(filename): + return ET.parse(filename).getroot().tag == 'SCRIBUSCOLORS' + + def load(self, mixer, file_r, options=None): + xml = ET.parse(file_r).getroot() + + colors = [] + name = xml.attrib.get("Name", "Untitled") + + for elem in xml.findall("COLOR"): + if "RGB" in elem.attrib: + color = fromHex(elem.attrib["RGB"]) + colors.append(color) + elif "CMYK" in elem.attrib: + color = fromHex_CMYK(elem.attrib["CMYK"]) + colors.append(color) + else: + continue + if "NAME" in elem.attrib: + color.meta["Name"] = elem.attrib["NAME"] + if "Spot" in elem.attrib: + color.meta["Spot"] = elem.attrib["Spot"] + if "Register" in elem.attrib: + color.meta["Register"] = elem.attrib["Register"] + + self.palette = create_palette(colors) + self.palette.name = name + return self.palette + + def save(self, file_w): + name = self.palette.name + if not name: + name = "Palette" + xml = ET.Element("SCRIBUSCOLORS", NAME=name) + + for i,row in enumerate(self.palette.getColors()): + for j,color in enumerate(row): + name = color.name + if not name: + name = "Swatch-{}-{}".format(i,j) + elem = ET.SubElement(xml, "COLOR", NAME=name, RGB=color.hex()) + if "Spot" in color.meta: + elem.attrib["Spot"] = color.meta["Spot"] + if "Register" in color.meta: + elem.attrib["Register"] = color.meta["Register"] + + + ET.ElementTree(xml).write(file_w, encoding="utf-8", pretty_print=True, xml_declaration=True) diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/storage.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/storage.py new file mode 100644 index 0000000..26f849b --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/storage.py @@ -0,0 +1,62 @@ + +from os.path import join, basename +from math import sqrt, floor + +from color.colors import * +from color import mixers +from palette.palette import * + +class Storage(object): + + name = None + title = None + filters = [] + + can_load = False + can_save = False + + def __init__(self, palette=None): + self.palette = palette + + @classmethod + def get_filter(cls): + return u"{} ({})".format(cls.title, u" ".join(cls.filters)) + + @staticmethod + def check(filename): + return True + + @staticmethod + def get_options_widget(dialog, filename): + return None + + def load(self, mixer, file_r, *args, **kwargs): + raise NotImplemented + + def save(self, file_w): + raise NotImplemented + +def create_palette(colors, mixer=None, ncols=None): + """Create Palette from list of Colors.""" + if mixer is None: + mixer = mixers.MixerRGB + palette = Palette(mixer) + palette.ncols = ncols + + all_slots = [] + + for clr in colors: + slot = Slot(clr, user_defined=True) + all_slots.append(slot) + + n_colors = len(all_slots) + + if palette.ncols is None: + if n_colors > MAX_COLS: + palette.ncols = max( int( floor(sqrt(n_colors)) ), 1) + else: + palette.ncols = n_colors + + palette.setSlots(all_slots) + return palette + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/storage/xml.py b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/xml.py new file mode 100644 index 0000000..47129dc --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/storage/xml.py @@ -0,0 +1,179 @@ + +from os.path import join, basename +from PyQt4 import QtGui +from lxml import etree as ET + +from color.colors import * +from color import mixers +from palette.storage.storage import * + +class XmlPalette(Storage): + name = 'xml' + title = _("CREATE palette format") + filters = ["*.xml"] + can_load = True + can_save = True + + @staticmethod + def check(filename): + return ET.parse(filename).getroot().tag == 'colors' + + @staticmethod + def get_options_widget(dialog, filename): + + def on_group_changed(selector): + def handler(): + dialog.options = selector.currentText() + dialog.on_current_changed(filename) + return handler + + widget = QtGui.QWidget() + box = QtGui.QHBoxLayout() + label = QtGui.QLabel(_("Group: ")) + selector = QtGui.QComboBox() + + xml = ET.parse(filename) + for xmlgrp in xml.xpath("//group"): + xml_label = xmlgrp.find('label') + if xml_label is not None: + selector.addItem(xml_label.text) + + selector.currentIndexChanged.connect(on_group_changed(selector)) + selector.setCurrentIndex(0) + + box.addWidget(label) + box.addWidget(selector) + widget.setLayout(box) + return widget + + @staticmethod + def get_group_names(filename): + result = [] + xml = ET.parse(filename) + for xmlgrp in xml.xpath("//group"): + xml_label = xmlgrp.find('label') + if xml_label is not None: + result.append(xml_label.text) + return result + + def save(self, file_w=None): + xml = ET.Element("colors") + root_group = ET.SubElement(xml, "group") + group = ET.SubElement(root_group, "group") + label = ET.SubElement(group, "label") + label.text = self.palette.name + layout = ET.SubElement(group, "layout", columns=str(self.palette.ncols), expanded="True") + + for key,value in self.palette.meta.items(): + if key != "Name": + meta = ET.SubElement(group, "meta", name=key) + meta.text = value + + for i,row in enumerate(self.palette.slots): + for j,slot in enumerate(row): + color = slot.color + name = color.name + if not name: + name = "Swatch-{}-{}".format(i,j) + elem = ET.SubElement(group, "color") + label = ET.SubElement(elem, "label") + label.text = name + if slot.mode == USER_DEFINED: + meta = ET.SubElement(elem, "meta", name="user_chosen") + meta.text = "True" + for key,value in color.meta.items(): + if key != "Name": + meta = ET.SubElement(elem, "meta", name=key) + meta.text = value + rgb = ET.SubElement(elem, "sRGB") + r,g,b = color.getRGB1() + rgb.attrib["r"] = str(r) + rgb.attrib["g"] = str(g) + rgb.attrib["b"] = str(b) + + ET.ElementTree(xml).write(file_w, encoding="utf-8", pretty_print=True, xml_declaration=True) + + def load(self, mixer, file_r, group_name): + + def get_label(grp): + xml_label = grp.find('label') + if xml_label is None: + return None + return xml_label.text + + + def find_group(xml): + #print("Searching {}".format(group_name)) + grp = None + for xmlgrp in xml.xpath("//group"): + label = get_label(xmlgrp) + if label is None: + continue + #print("Found: {}".format(label)) + if group_name is None or label == group_name: + grp = xmlgrp + break + return grp + + self.palette = Palette(mixer) + self.palette.ncols = None + xml = ET.parse(file_r) + grp = find_group(xml) + if grp is None: + print(u"Cannot find group by name {}".format(group_name).encode('utf-8')) + return None + self.palette.name = get_label(grp) + + layout = grp.find('layout') + if layout is not None: + self.palette.ncols = int( layout.attrib['columns'] ) + + metas = grp.findall('meta') + if metas is not None: + for meta in metas: + key = meta.attrib['name'] + value = meta.text + if key != 'Name': + self.palette.meta[key] = value + + all_slots = [] + n_colors = 0 + for xmlclr in grp.findall('color'): + sRGB = xmlclr.find('sRGB') + if sRGB is None: + continue + attrs = sRGB.attrib + r = float(attrs['r'].replace(',','.')) + g = float(attrs['g'].replace(',','.')) + b = float(attrs['b'].replace(',','.')) + clr = Color() + clr.setRGB1((r,g,b)) + slot = Slot(clr) + metas = xmlclr.findall('meta') + if metas is not None: + for meta in metas: + key = meta.attrib['name'] + value = meta.text + if key == 'user_chosen' and value == 'True': + slot.mode = USER_DEFINED + else: + clr.meta[key] = value + label = xmlclr.find('label') + if label is not None: + clr.name = label.text + all_slots.append(slot) + n_colors += 1 + + if n_colors < DEFAULT_GROUP_SIZE: + self.palette.ncols = n_colors + if not self.palette.ncols: + if n_colors > MAX_COLS: + self.palette.ncols = MAX_COLS + else: + self.palette.ncols = n_colors + #print("Loaded colors: {}".format(len(all_slots))) + self.palette.setSlots(all_slots) + self.palette.meta["SourceFormat"] = "CREATE XML" + print("Loaded palette: {}x{}".format( self.palette.nrows, self.palette.ncols )) + return self.palette + diff --git a/extensions/fablabchemnitz/color_harmony/color_harmony/utils.py b/extensions/fablabchemnitz/color_harmony/color_harmony/utils.py new file mode 100644 index 0000000..da96e12 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/color_harmony/utils.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +# coding=utf-8 +# +# Copyright (C) 2009-2018 Ilya Portnov +# (original 'palette-editor' tool, version 0.0.7) +# 2020 Maren Hachmann (extension-ification) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +# Helper functions +def circle_hue(i, n, h, max=1.0): + h += i * max / n + if h > max: + h -= max + return h + +def seq(start, stop, step=1): + n = int(round((stop - start)/step)) + if n > 1: + return([start + step*i for i in range(n+1)]) + else: + return([]) + +def variate(x, step=1.0, dmin=1.0, dmax=None): + if dmax is None: + dmax = dmin + return seq(x-dmin, x+dmax, step) + +def clip(x, min=0.0, max=1.0): + if x < min: + #print("{:.2f} clipped up to {:.2f}".format(x, min)) + return min + if x > max: + #print("{:.2f} clipped down to {:.2f}".format(x, max)) + return max + return x diff --git a/extensions/fablabchemnitz/color_harmony/meta.json b/extensions/fablabchemnitz/color_harmony/meta.json new file mode 100644 index 0000000..186dd63 --- /dev/null +++ b/extensions/fablabchemnitz/color_harmony/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Color Harmony", + "id": "fablabchemnitz.de.color_harmony", + "path": "color_harmony", + "dependent_extensions": null, + "original_name": "Color harmony", + "original_id": "de.vektorrascheln.color_harmony", + "license": "GNU GPL v2", + "license_url": "https://gitlab.com/moini_ink/color-harmony/-/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/color_harmony", + "fork_url": "https://gitlab.com/moini_ink/color-harmony", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Color+Harmony", + "inkscape_gallery_url": null, + "main_authors": [ + "gitlab.com/moini_ink", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/destructive_clip/destructive_clip.inx b/extensions/fablabchemnitz/destructive_clip/destructive_clip.inx new file mode 100644 index 0000000..a893183 --- /dev/null +++ b/extensions/fablabchemnitz/destructive_clip/destructive_clip.inx @@ -0,0 +1,17 @@ + + + Destructive Clip + fablabchemnitz.de.destructive_clip + + path + + + + + + "Destructively" clip selected paths using the topmost as clipping path + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/destructive_clip/destructive_clip.py b/extensions/fablabchemnitz/destructive_clip/destructive_clip.py new file mode 100644 index 0000000..554e996 --- /dev/null +++ b/extensions/fablabchemnitz/destructive_clip/destructive_clip.py @@ -0,0 +1,220 @@ +#!/usr/bin/env python3 +''' + ---DESTRUCTIVE Clip--- + An Inkscape Extension which works like Object|Clip|Set except that the paths clipped are actually *modified* + Thus the clipping is included when exported, for example as a DXF file. + Select two or more *paths* then choose Extensions|Modify path|Destructive clip. The topmost path will be used to clip the others. + Notes:- + * Curves in paths are not supported (use Flatten Beziers). + * Non-path objects in the selection will be ignored. Use Object|Ungroup. + * Paths entirely outside the clipping path will remain untouched (rather than modifying them to an empty path) + * Complex paths may take a while (there seems to be no way too show progress) + * Yes, using MBR's to do gross clipping might make it faster + * No, Python is not my first language (C/C++ is) + + Mark Wilson Feb 2016 + + ---- + + Edits by Windell H. Oskay, www.evilmadscientit.com, August 2020 + Update calls to Inkscape 1.0 extension API to avoid deprecation warnings + Minimal standardization of python whitespace + Handle some errors more gracefully + +''' + +import inkex +import sys +from inkex.paths import Path + + +class DestructiveClip(inkex.EffectExtension): + + def __init__(self): + self.tolerance = 0.0001 # arbitrary fudge factor + inkex.Effect.__init__(self) + self.error_messages = [] + + self.curve_error = 'Unable to parse path.\nConsider removing curves with Extensions > Modify Path > Flatten Beziers...' + + def approxEqual(self, a, b): + # compare with tiny tolerance + return abs(a-b) <= self.tolerance + + def midPoint(self, line): + # midPoint of line + return [(line[0][0] + line[1][0])/2, (line[0][1] + line[1][1])/2] + + def maxX(self, lineSegments): + # return max X coord of lineSegments + maxx = 0.0 + for line in lineSegments: + maxx = max(maxx, line[0][0]) + maxx = max(maxx, line[1][0]) + return maxx + + def simplepathToLineSegments(self, path): + # takes a simplepath and converts to line *segments*, for simplicity. + # Thus [MoveTo P0, LineTo P1, LineTo P2] becomes [[P0-P1],[P1,P2]] + # only handles, Move, Line and Close. + # The simplepath library has already simplified things, normalized relative commands, etc + lineSegments = first = prev = this = [] + errors = set([]) # Similar errors will be stored only once + for cmd in path: + this = cmd[1] + if cmd[0] == 'M': # moveto + if first == []: + first = this + elif cmd[0] == 'L': # lineto + lineSegments.append([prev, this]) + elif cmd[0] == 'Z': # close + lineSegments.append([prev, first]) + first = [] + elif cmd[0] == 'C': + # https://developer.mozilla.org/en/docs/Web/SVG/Tutorial/Paths + lineSegments.append([prev, [this[4], this[5]]]) + errors.add("Curve node detected (svg type C), this node will be handled as a regular node") + else: + errors.add("Invalid node type detected: {}. This script only handle type M, L, Z".format(cmd[0])) + prev = this + return (lineSegments, errors) + + def linesgmentsToSimplePath(self, lineSegments): + # reverses simplepathToLines - converts line segments to Move/Line-to's + path = [] + end = None + for line in lineSegments: + start = line[0] + if end is None: + path.append(['M', start]) # start with a move + elif not (self.approxEqual(end[0], start[0]) and self.approxEqual(end[1], start[1])): + path.append(['M', start]) # only move if previous end not within tolerance of this start + end = line[1] + path.append(['L', end]) + return path + + def lineIntersection(self, L1From, L1To, L2From, L2To): + # returns as [x, y] the intersection of the line L1From-L1To and L2From-L2To, or None + # http://stackoverflow.com/questions/563198/how-do-you-detect-where-two-line-segments-intersect + + try: + dL1 = [L1To[0] - L1From[0], L1To[1] - L1From[1]] + dL2 = [L2To[0] - L2From[0], L2To[1] - L2From[1]] + except IndexError: + inkex.errormsg(self.curve_error) + sys.exit() + + denominator = -dL2[0]*dL1[1] + dL1[0]*dL2[1] + if not self.approxEqual(denominator, 0.0): + s = (-dL1[1]*(L1From[0] - L2From[0]) + dL1[0]*(L1From[1] - L2From[1]))/denominator + t = (+dL2[0]*(L1From[1] - L2From[1]) - dL2[1]*(L1From[0] - L2From[0]))/denominator + if s >= 0.0 and s <= 1.0 and t >= 0.0 and t <= 1.0: + return [L1From[0] + (t * dL1[0]), L1From[1] + (t * dL1[1])] + else: + return None + + def insideRegion(self, point, lineSegments, lineSegmentsMaxX): + # returns true if point is inside the region defined by lineSegments. lineSegmentsMaxX is the maximum X extent + ray = [point, [lineSegmentsMaxX*2.0, point[1]]] # hz line to right of point, extending well outside MBR + crossings = 0 + for line in lineSegments: + if not self.lineIntersection(line[0], line[1], ray[0], ray[1]) is None: + crossings += 1 + return (crossings % 2) == 1 # odd number of crossings means inside + + def cullSegmentedLine(self, segmentedLine, lineSegments, lineSegmentsMaxX): + # returns just the segments in segmentedLine which are inside lineSegments + culled = [] + for segment in segmentedLine: + if self.insideRegion(self.midPoint(segment), lineSegments, lineSegmentsMaxX): + culled.append(segment) + return culled + + def clipLine(self, line, lineSegments): + # returns line split where-ever lines in lineSegments cross it + linesWrite = [line] + for segment in lineSegments: + linesRead = linesWrite + linesWrite = [] + for line in linesRead: + intersect = self.lineIntersection(line[0], line[1], segment[0], segment[1]) + if intersect is None: + linesWrite.append(line) + else: # split + linesWrite.append([line[0], intersect]) + linesWrite.append([intersect, line[1]]) + return linesWrite + + def clipLineSegments(self, lineSegmentsToClip, clippingLineSegments): + # return the lines in lineSegmentsToClip clipped by the lines in clippingLineSegments + clippedLines = [] + for lineToClip in lineSegmentsToClip: + clippedLines.extend(self.cullSegmentedLine(self.clipLine(lineToClip, clippingLineSegments), clippingLineSegments, self.maxX(clippingLineSegments))) + return clippedLines + + #you can also run the extension Modify Path > To Absolute Coordinates to convert VH to L + def fixVHbehaviour(self, elem): + raw = Path(elem.get("d")).to_arrays() + subpaths, prev = [], 0 + for i in range(len(raw)): # Breaks compound paths into simple paths + if raw[i][0] == 'M' and i != 0: + subpaths.append(raw[prev:i]) + prev = i + subpaths.append(raw[prev:]) + seg = [] + for simpath in subpaths: + if simpath[-1][0] == 'Z': + simpath[-1][0] = 'L' + if simpath[-2][0] == 'L': simpath[-1][1] = simpath[0][1] + else: simpath.pop() + for i in range(len(simpath)): + if simpath[i][0] == 'V': # vertical and horizontal lines only have one point in args, but 2 are required + #inkex.utils.debug(simpath[i][0]) + simpath[i][0]='L' #overwrite V with regular L command + add=simpath[i-1][1][0] #read the X value from previous segment + simpath[i][1].append(simpath[i][1][0]) #add the second (missing) argument by taking argument from previous segment + simpath[i][1][0]=add #replace with recent X after Y was appended + if simpath[i][0] == 'H': # vertical and horizontal lines only have one point in args, but 2 are required + #inkex.utils.debug(simpath[i][0]) + simpath[i][0]='L' #overwrite H with regular L command + simpath[i][1].append(simpath[i-1][1][1]) #add the second (missing) argument by taking argument from previous segment + #inkex.utils.debug(simpath[i]) + seg.append(simpath[i]) + elem.set("d", Path(seg)) + return seg + + def effect(self): + clippingLineSegments = None + pathTag = inkex.addNS('path', 'svg') + groupTag = inkex.addNS('g', 'svg') + self.error_messages = [] + for id in self.options.ids: # the selection, top-down + node = self.svg.selected[id] + if node.tag == pathTag: + path = self.fixVHbehaviour(node) + if clippingLineSegments is None: # first path is the clipper + #(clippingLineSegments, errors) = self.simplepathToLineSegments(node.path.to_arrays()) + (clippingLineSegments, errors) = self.simplepathToLineSegments(path) + self.error_messages.extend(['{}: {}'.format(id, err) for err in errors]) + else: + # do all the work! + #segmentsToClip, errors = self.simplepathToLineSegments(node.path.to_arrays()) + segmentsToClip, errors = self.simplepathToLineSegments(path) + self.error_messages.extend(['{}: {}'.format(id, err) for err in errors]) + clippedSegments = self.clipLineSegments(segmentsToClip, clippingLineSegments) + if len(clippedSegments) != 0: + path = str(inkex.Path(self.linesgmentsToSimplePath(clippedSegments))) + node.set('d', path) + else: + # don't put back an empty path(?) could perhaps put move, move? + inkex.errormsg('Object {} clipped to nothing, will not be updated.'.format(node.get('id'))) + elif node.tag == groupTag: # we don't look inside groups for paths + inkex.errormsg('Group object {} will be ignored. Please ungroup before running the script.'.format(id)) + else: # something else + inkex.errormsg('Object {} is not of type path ({}), and will be ignored. Current type "{}".'.format(id, pathTag, node.tag)) + + for error in self.error_messages: + inkex.errormsg(error) + +if __name__ == '__main__': + DestructiveClip().run() diff --git a/extensions/fablabchemnitz/destructive_clip/meta.json b/extensions/fablabchemnitz/destructive_clip/meta.json new file mode 100644 index 0000000..0bd24d6 --- /dev/null +++ b/extensions/fablabchemnitz/destructive_clip/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Destructive Clip", + "id": "fablabchemnitz.de.destructive_clip", + "path": "destructive_clip", + "dependent_extensions": null, + "original_name": "Destructive Clip", + "original_id": "com.funnypolynomial.inkscape.extension.destructiveclip", + "license": "MIT License", + "license_url": "https://github.com/funnypolynomial/DestructiveClip/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/destructive_clip", + "fork_url": "https://github.com/funnypolynomial/DestructiveClip", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Destructive+Clip", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/funnypolynomial", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/dimensioning/dimensioning.inx b/extensions/fablabchemnitz/dimensioning/dimensioning.inx new file mode 100644 index 0000000..d454db1 --- /dev/null +++ b/extensions/fablabchemnitz/dimensioning/dimensioning.inx @@ -0,0 +1,58 @@ + + + Dimensioning (Replaced by LPE) + fablabchemnitz.de.dimensioning + + + + + + + + + + + + + 1 + 5 + 0 + 100 + false + + + 1 + + + + + + + 0 + + true + + + + + + + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/dimensioning/dimensioning.py b/extensions/fablabchemnitz/dimensioning/dimensioning.py new file mode 100644 index 0000000..4e39429 --- /dev/null +++ b/extensions/fablabchemnitz/dimensioning/dimensioning.py @@ -0,0 +1,283 @@ +#!/usr/bin/env python3 +''' +Tool for drawing beautiful DIN-conform dimensioning arrows +(c) 2012 by Johannes B. Rutzmoser, johannes.rutzmoser (at) googlemail (dot) com + +Please contact me, if you know a way how the extension module accepts mouse input; this would help to improve the tool + +Add this file and the dimensioning.inx file into the following folder to get the feature run: +UNIX: +$HOME/.config/inkscape/extensions/ + +Mac OS X (when using the binary): +/Applications/Inkscape.app/Contents/Resources/extensions/ +or +/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions + +WINDOWS (Filepath may differ, depending where the program was installed): +C:\Program Files\Inkscape\share\extensions + +License: +GNU GENERAL PUBLIC LICENSE + +''' + +import inkex +import numpy as np +import gettext +_ = gettext.gettext +from lxml import etree +from inkex import paths + +def norm(a): + return a/np.sqrt(np.dot(a, a)) + +def rotate(tangentvec, point): + if tangentvec[0] == 0: + angle = - np.pi/2 + else: + angle = np.arctan(tangentvec[1]/tangentvec[0]) + return 'rotate(' + str(angle/np.pi*180) + ',' + str(point[0]) + ',' + str(point[1]) + ')' + + +class Dimensioning(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument("--orientation", default='horizontal', help="The type of orientation of the dimensioning (horizontal, vertical or parallel)") + pars.add_argument("--arrow_orientation", default='auto', help="The type of orientation of the arrows") + pars.add_argument("--line_scale", type=float, default=1.0, help="Scale factor for the line thickness") + pars.add_argument("--overlap", type=float, default=1.0, help="Overlap of the helpline over the dimensioning line") + pars.add_argument("--distance", type=float, default=1.0, help="Distance of the helpline to the object") + pars.add_argument("--position", type=float, default=1.0, help="position of the dimensioning line") + pars.add_argument("--flip", type=inkex.Boolean, default=False, help="flip side") + pars.add_argument("--scale_factor", type=float, default=1.0, help="scale factor for the dimensioning text") + pars.add_argument("--unit", default='px', help="The unit that should be used for the dimensioning") + pars.add_argument("--rotate", type=inkex.Boolean, default=True, help="Rotate the annotation?") + pars.add_argument("--digit", type=int, default=0, help="number of digits after the point") + pars.add_argument("--tab", default="sampling", help="The selected UI-tab when OK was pressed") + + def create_linestyles(self): + ''' + Create the line styles for the drawings. + ''' + + self.helpline_style = { + 'stroke' : '#000000', + 'stroke-width' : '{}px'.format(0.5*self.options.line_scale), + 'fill' : 'none' + } + self.dimline_style = { + 'stroke' : '#000000', + 'stroke-width' : '{}px'.format(0.75*self.options.line_scale), + 'fill' : 'none', + 'marker-start' : 'url(#ArrowDIN-start)', + 'marker-end' : 'url(#ArrowDIN-end)' + } + self.text_style = { + 'font-size' : '{}px'.format(12*self.options.line_scale), + 'font-family' : 'Sans', + 'font-style' : 'normal', + 'text-anchor' : 'middle' + } + self.helpline_attribs = {'style' : str(inkex.Style(self.helpline_style)), + inkex.addNS('label', 'inkscape') : 'helpline', + 'd' : 'm 0,0 100,0' + } + self.text_attribs = {'style' : str(inkex.Style(self.text_style)), + 'x' : '100', + 'y' : '100' + } + self.dimline_attribs = {'style' : str(inkex.Style(self.dimline_style)), + inkex.addNS('label','inkscape') : 'dimline', + 'd' : 'm 0,0 200,0' + } + + def effect(self): + # will be executed when feature is activated + self.create_linestyles() + self.makeGroup() + self.getPoints() + self.calcab() + self.drawHelpline() + self.drawDimension() + self.drawText() + + def makeMarkerstyle(self, name, rotate): + defs = self.svg.getElement('/svg:svg//svg:defs') + if defs == None: + defs = etree.SubElement(self.document.getroot(),inkex.addNS('defs','svg')) + marker = etree.SubElement(defs ,inkex.addNS('marker','svg')) + marker.set('id', name) + marker.set('orient', 'auto') + marker.set('refX', '0.0') + marker.set('refY', '0.0') + marker.set('style', 'overflow:visible') + marker.set(inkex.addNS('stockid','inkscape'), name) + + arrow = etree.Element("path") + # messy but works; definition of arrows in beautiful DIN-shapes: + if name.startswith('ArrowDIN-'): + if rotate: + arrow.set('d', 'M 8,0 -8,2.11 -8,-2.11 z') + else: + arrow.set('d', 'M -8,0 8,-2.11 8,2.11 z') + if name.startswith('ArrowDINout-'): + if rotate: + arrow.set('d', 'M 0,0 16,2.11 16,0.5 26,0.5 26,-0.5 16,-0.5 16,-2.11 z') + else: + arrow.set('d', 'M 0,0 -16,2.11 -16,0.5 -26,0.5 -26,-0.5 -16,-0.5 -16,-2.11 z') + + arrow.set('style', 'fill:#000000;stroke:none') + marker.append(arrow) + + + def makeGroup(self): + '''puts everything of the dimensioning in a group''' + layer = self.svg.get_current_layer() + # Group in which the object should be put into + grp_name = 'dimensioning' + grp_attributes = {inkex.addNS('label', 'inkscape') : grp_name} + self.grp = etree.SubElement(layer, 'g', grp_attributes) + + def getPoints(self): + self.p1 = np.array([0.,100.]) + self.p1 = np.array([100.,100.]) + # Get variables of a selected object + for id, node in self.svg.selected.items(): + # if it is a path: + if node.tag == inkex.addNS('path', 'svg'): + d = node.get('d') + p = paths.CubicSuperPath(d) + # p has all nodes with the anchor points in a list; + # the rule is [anchorpoint, node, anchorpoint] + # the points are lists with x and y coordinate + self.p1 = np.array(p[0][0][1]) + self.p2 = np.array(p[0][-1][1]) + + + def calcab(self): + # get p1,p2 ordered for correct dimension direction + # determine quadrant + if self.p1[0] <= self.p2[0]: + if self.p1[1] <= self.p2[1]: + quad = 1 # p1 is left,up of p2 + else: quad = 2 # p1 is left,down of p2 + elif self.p1[1] <= self.p2[1]: + quad = 3 # p1 is right,up of p2 + else: quad = 4 # p1 is right,down of p2 + swap = False if quad ==1 else True + minp = self.p2 if swap else self.p1 + maxp = self.p1 if swap else self.p2 + # distance between points + delta = maxp - minp + # rotation matrix + rotateMat = np.array([[0,-1],[1,0]]) + # compute the unit vectors e1 and e2 along the cartesian coordinates of the dimension + if self.options.orientation == 'horizontal': + if quad == 3: self.e1 = np.array([1.0, 0.0]) + else: self.e1 = np.array([-1.0, 0.0]) + if self.options.orientation == 'vertical': + if quad == 2: + self.e1 = np.array([0.0, -1.0]) + else: self.e1 = np.array([0.0, 1.0]) + if self.options.orientation == 'parallel': + self.e1 = norm(delta) + #if quad==2 or quad==3: self.e1 *= -1 + self.e2 = np.dot(rotateMat, self.e1) + if self.options.flip: + self.e2 *= -1. + # compute the points a and b, where the dimension line arrow spikes start and end + dist = self.options.position*self.e2 + if self.options.flip: + outpt = maxp + delta *= -1 + if swap: + self.a = outpt + dist + self.b = self.a + self.e1*np.dot(self.e1,delta) + else: + self.b = outpt + dist + self.a = self.b + self.e1*np.dot(self.e1,delta) + else: + outpt = minp + if swap: + self.b = outpt + dist + self.a = self.b + self.e1*np.dot(self.e1,delta) + else: + self.a = outpt + dist + self.b = self.a + self.e1*np.dot(self.e1,delta) + + + def drawHelpline(self): + # manipulate the start- and endpoints with distance and overlap + h1_start = self.p1 + norm(self.a - self.p1)*self.options.distance + h1_end = self.a + norm(self.a - self.p1)*self.options.overlap + h2_start = self.p2 + norm(self.b - self.p2)*self.options.distance + h2_end = self.b + norm(self.b - self.p2)*self.options.overlap + + # print the lines + hline1 = etree.SubElement(self.grp, inkex.addNS('path', 'svg'), self.helpline_attribs) + hline1.set('d', 'M %f,%f %f,%f' % (h1_start[0], h1_start[1],h1_end[0],h1_end[1],)) + + hline2 = etree.SubElement(self.grp, inkex.addNS('path', 'svg'), self.helpline_attribs) + hline2.set('d', 'M %f,%f %f,%f' % (h2_start[0], h2_start[1],h2_end[0],h2_end[1],)) + + def setMarker(self, option): + if option=='inside': + # inside + self.arrowlen = 6.0 * self.options.line_scale + self.dimline_style['marker-start'] = 'url(#ArrowDIN-start)' + self.dimline_style['marker-end'] = 'url(#ArrowDIN-end)' + self.makeMarkerstyle('ArrowDIN-start', False) + self.makeMarkerstyle('ArrowDIN-end', True) + else: + # outside + self.arrowlen = 0 + self.dimline_style['marker-start'] = 'url(#ArrowDINout-start)' + self.dimline_style['marker-end'] = 'url(#ArrowDINout-end)' + self.makeMarkerstyle('ArrowDINout-start', False) + self.makeMarkerstyle('ArrowDINout-end', True) + self.dimline_attribs['style'] = str(inkex.Style(self.dimline_style)) + + def drawDimension(self): + # critical length, when inside snaps to outside + critical_length = 35 * self.options.line_scale + if self.options.arrow_orientation == 'auto': + if np.abs(np.dot(self.e1, self.b - self.a)) > critical_length: + self.setMarker('inside') + else: + self.setMarker('outside') + else: + self.setMarker(self.options.arrow_orientation) + # start- and endpoint of the dimension line + dim_start = self.a + self.arrowlen*norm(self.b - self.a) + dim_end = self.b - self.arrowlen*norm(self.b - self.a) + # print + dimline = etree.SubElement(self.grp, inkex.addNS('path', 'svg'), self.dimline_attribs) + dimline.set('d', 'M %f,%f %f,%f' % (dim_start[0], dim_start[1], dim_end[0], dim_end[1])) + + def drawText(self): + # distance of text to the dimension line + self.textdistance = 5.0 * self.options.line_scale + if self.e2[1] > 0: + textpoint = (self.a + self.b)/2 - self.e2*self.textdistance + elif self.e2[1] == 0: + textpoint = (self.a + self.b)/2 - np.array([1,0])*self.textdistance + else: + textpoint = (self.a + self.b)/2 + self.e2*self.textdistance + + value = np.abs(np.dot(self.e1, self.b - self.a)) / (self.svg.unittouu(str(self.options.scale_factor)+self.options.unit)) + string_value = str(round(value, self.options.digit)) + # chop off last characters if digit is zero or negative + if self.options.digit <=0: + string_value = string_value[:-2] + text = etree.SubElement(self.grp, inkex.addNS('text', 'svg'), self.text_attribs) + # The alternative for framing with dollars, when LATEX Math export is seeked + # text.text = '$' + string_value + '$' + text.text = string_value + text.set('x', str(textpoint[0])) + text.set('y', str(textpoint[1])) + if self.options.rotate: + text.set('transform', rotate(self.e1, textpoint)) + +if __name__ == '__main__': + Dimensioning().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/dimensioning/meta.json b/extensions/fablabchemnitz/dimensioning/meta.json new file mode 100644 index 0000000..8f5dca6 --- /dev/null +++ b/extensions/fablabchemnitz/dimensioning/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Dimensioning (Replaced by LPE)", + "id": "fablabchemnitz.de.dimensioning", + "path": "dimensioning", + "dependent_extensions": null, + "original_name": "Dimensioning", + "original_id": "dimensioning", + "license": "GNU GPL v3", + "license_url": "https://github.com/Rutzmoser/inkscape_dimensioning/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/dimensioning", + "fork_url": "https://github.com/Rutzmoser/inkscape_dimensioning", + "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=55018389", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/Rutzmoser", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/duplicate_reverse_join/duplicate_reverse_join.inx b/extensions/fablabchemnitz/duplicate_reverse_join/duplicate_reverse_join.inx new file mode 100644 index 0000000..7712923 --- /dev/null +++ b/extensions/fablabchemnitz/duplicate_reverse_join/duplicate_reverse_join.inx @@ -0,0 +1,16 @@ + + + Duplicate + Reverse + Join + fablabchemnitz.de.duplicate_reverse_join + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/duplicate_reverse_join/duplicate_reverse_join.py b/extensions/fablabchemnitz/duplicate_reverse_join/duplicate_reverse_join.py new file mode 100644 index 0000000..56fbc77 --- /dev/null +++ b/extensions/fablabchemnitz/duplicate_reverse_join/duplicate_reverse_join.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2020 Ellen Wasboe, ellen@wasbo.net +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +""" +Duplicate subpaths of all selected paths, reverse and join end nodes. +""" + +import inkex + +class DuplicateReverseJoin(inkex.EffectExtension): + + def effect(self): + for elem in self.svg.selection: + + pp=elem.path.to_absolute() + dList=str(pp).split(' M') + dFinal='' + l=0 + for sub in dList: + if l>0: + origSub='M'+dList[l] + else: + origSub=dList[l] + + elem.path=origSub + reSub=elem.path.reverse() + + if l>0: + origSub=' '+origSub + + if origSub.find('Z') > -1: + dRev=str(reSub).split(' ') + strRev='' + if dRev[3]=='L' and dRev[1]==dRev[4] and dRev[2]==dRev[5]: + strRev=' '.join(dRev[0:3])+' '+' '.join(dRev[6:]) #avoid that reverse path duplicate first node + else: + strRev=' '.join(dRev) + dFinal=dFinal+origSub+' '+strRev #keep original and reverse as separate closed paths + if dRev[-1]!='Z': + dFinal=dFinal+' Z'#avoid that reverse of closed path is open + else: + dRev=str(reSub).split(' ') + dFinal=dFinal+origSub+' '+' '.join(dRev[3:])+' Z' #pop off M element of reverse path and add Z to close + l+=1 + elem.path=dFinal + + +if __name__ == '__main__': + DuplicateReverseJoin().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/duplicate_reverse_join/meta.json b/extensions/fablabchemnitz/duplicate_reverse_join/meta.json new file mode 100644 index 0000000..496aa83 --- /dev/null +++ b/extensions/fablabchemnitz/duplicate_reverse_join/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Duplicate + Reverse + Join", + "id": "fablabchemnitz.de.duplicate_reverse_join", + "path": "duplicate_reverse_join", + "dependent_extensions": null, + "original_name": "Duplicate, reverse, join", + "original_id": "EllenWasbo.cutlings.duplicateReverseJoin", + "license": "GNU GPL v2", + "license_url": "https://gitlab.com/EllenWasbo/inkscape-extension-duplicatereversejoin/-/blob/master/duplicateReverseJoin.py", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/duplicate_reverse_joi", + "fork_url": "https://gitlab.com/EllenWasbo/inkscape-extension-duplicatereversejoin", + "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=120525059", + "inkscape_gallery_url": null, + "main_authors": [ + "gitlab.com/EllenWasbo", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.inx b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.inx new file mode 100644 index 0000000..35f09b5 --- /dev/null +++ b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.inx @@ -0,0 +1,64 @@ + + + Epilog Dashboard BBox Adjust + fablabchemnitz.de.epilog_dashboard_bbox_adjust + + + false + 1.0 + + + + + + false + + + + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + ../000_about_fablabchemnitz.svg + + + + all + + + + + + Widen the document to send all lines properly to Epilog Dashboard + + + diff --git a/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.py b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.py new file mode 100644 index 0000000..7b14afd --- /dev/null +++ b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/epilog_dashboard_bbox_adjust.py @@ -0,0 +1,159 @@ +#!/usr/bin/env python3 + +''' +Extension for InkScape 1.0 +Features +- This tool is a helper to adjust the document border including an offset value, which is added. +Sending vector data to Epilog Dashboard often results in trimmed paths. This leads to wrong geometry where the laser misses to cut them. +So we add a default (small) amount of 1.0 doc units to expand the document's canvas + +Author: Mario Voigt / FabLab Chemnitz +Mail: mario.voigt@stadtfabrikanten.org +Date: 21.04.2021 +Last patch: 12.10.2022 +License: GNU GPL v3 + +#known bugs: +- viewbox/width/height do not correctly apply if documents only contain an object (not a path). After converting it to path it works. Seems to be a bbox problem +- note from 07.05.2021: seems if the following order is viewBox/width/height, or width/height/viewBox, the units are not respected. So me mess around a little bit + +#Todo +- add some way to handle translations properly + +''' + +import math +import sys +import inkex +from inkex import Transform +sys.path.append("../apply_transformations") + +class EpilogDashboardBboxAdjust(inkex.EffectExtension): + + def getElementChildren(self, element, elements = None): + if elements == None: + elements = [] + if element.tag != inkex.addNS('g','svg'): + elements.append(element) + for child in element.getchildren(): + self.getElementChildren(child, elements) + return elements + + def add_arguments(self, pars): + pars.add_argument("--tab") + pars.add_argument("--apply_transformations", type=inkex.Boolean, default=False, help="Run 'Apply Transformations' extension before running vpype. Helps avoiding geometry shifting") + pars.add_argument("--offset", type=float, default="1.0", help="XY Offset (mm) from top left corner") + pars.add_argument("--removal", default="none", help="Remove all elements outside the bounding box or selection") + pars.add_argument("--use_machine_size", type=inkex.Boolean, default=False, help="Use machine size") + pars.add_argument("--machine_size", default="812x508", help="Machine/Size (mm)") + pars.add_argument("--debug", type=inkex.Boolean, default=False, help="Debug output") + pars.add_argument("--skip_errors", type=inkex.Boolean, default=False, help="Skip on errors") + + def effect(self): + + applyTransformationsAvailable = False # at first we apply external extension + try: + import apply_transformations + applyTransformationsAvailable = True + except Exception as e: + # self.msg(e) + self.msg("Calling 'Apply Transformations' extension failed. Maybe the extension is not installed. You can download it from official InkScape Gallery. Skipping ...") + + if self.options.apply_transformations is True and applyTransformationsAvailable is True: + apply_transformations.ApplyTransformations().recursiveFuseTransform(self.document.getroot()) + + offset = self.options.offset + units = self.svg.unit + #https://wiki.inkscape.org/wiki/Units_In_Inkscape + + # create a new bounding box and get the bbox size of all elements of the document (we cannot use the page's bbox) + bbox = inkex.BoundingBox() + if len(self.svg.selected) > 0: + #bbox = self.svg.selection.bounding_box() #it could be so easy! But ... + for element in self.svg.selected.values(): + + if isinstance (element, inkex.TextElement) or \ + isinstance (element, inkex.Tspan): + if self.options.skip_errors is False: + self.msg("Text elements are not supported!") + return + else: + continue + else: + bbox += element.bounding_box() + else: + #for element in self.svg.root.getchildren(): + for element in self.document.getroot().iter("*"): + if isinstance (element, inkex.ShapeElement) and element.tag != inkex.addNS('use','svg') and element.get('inkscape:groupmode') != 'layer': #bbox fails for svg:use elements and layers: + if isinstance (element, inkex.TextElement) or \ + isinstance (element, inkex.Tspan): + if self.options.skip_errors is False: + self.msg("Text elements are not supported!") + return + else: + continue + else: + bbox += element.bounding_box() + + if abs(bbox.width) == math.inf or abs(bbox.height) == math.inf: + inkex.utils.debug("Error while calculating overall bounding box! Check your element types. Things like svg:text or svg:use are not supported. Impossible to continue!") + return + + # adjust the viewBox to the bbox size and add the desired offset + if self.options.use_machine_size is True: + machineWidth = self.svg.unittouu(self.options.machine_size.split('x')[0] + "mm") + machineHeight = self.svg.unittouu(self.options.machine_size.split('x')[1] + "mm") + width = f'{machineWidth}' + units + height = f'{machineHeight}' + units + viewBoxXmin = -offset + viewBoxYmin = -offset + viewBoxXmax = machineWidth + viewBoxYmax = machineHeight + else: + width = f'{bbox.width + offset * 2}' + units + height = f'{bbox.height + offset * 2}' + units + viewBoxXmin = -offset + viewBoxYmin = -offset + viewBoxXmax = bbox.width + offset * 2 + viewBoxYmax = bbox.height + offset * 2 + self.document.getroot().attrib['width'] = width + self.document.getroot().attrib['viewBox'] = f'{viewBoxXmin} {viewBoxYmin} {viewBoxXmax} {viewBoxYmax}' + self.document.getroot().attrib['height'] = height + + # translate all elements to fit the adjusted viewBox + mat = Transform("translate(%f, %f)" % (-bbox.left,-bbox.top)) + for element in self.document.getroot().iter("*"): + if isinstance (element, inkex.ShapeElement) and element.tag != inkex.addNS('g', 'svg'): + element.transform = Transform(mat) @ element.composed_transform() + + if self.options.removal == "outside_canvas": + for element in self.document.getroot().iter("*"): + if isinstance (element, inkex.ShapeElement) and element.tag != inkex.addNS('g', 'svg'): + ebbox = element.bounding_box() + #self.msg("{} | bbox: left = {:0.3f} right = {:0.3f} top = {:0.3f} bottom = {:0.3f}".format(element.get('id'), ebbox.left, ebbox.right, ebbox.top, ebbox.bottom)) + #check if the element's bbox is inside the view canvas. If not: delete it! + if ebbox.right < viewBoxXmin or \ + ebbox.left > viewBoxXmax or \ + ebbox.top < viewBoxYmin or \ + ebbox.bottom > viewBoxYmax: + if self.options.debug is True: + self.msg("Removing {} {}".format(element.get('id'), ebbox)) + element.delete() + + elif self.options.removal == "outside_selection": + if len(self.svg.selected) == 0: + inkex.utils.debug("Your selection is empty but you have chosen the option to remove all elements outside selection!") + return + + allElements = [] + for selected in self.svg.selection: + allElements = self.getElementChildren(selected, allElements) + + for element in self.document.getroot().iter("*"): + if element not in allElements and isinstance (element, inkex.ShapeElement) and element.tag != inkex.addNS('g', 'svg'): + if self.options.debug is True: + self.msg("Removing {}".format(element.get('id'))) + element.delete() + +if __name__ == '__main__': + EpilogDashboardBboxAdjust().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/meta.json b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/meta.json new file mode 100644 index 0000000..fbc6ea9 --- /dev/null +++ b/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust/meta.json @@ -0,0 +1,22 @@ +[ + { + "name": "Epilog Dashboard BBox Adjust", + "id": "fablabchemnitz.de.epilog_dashboard_bbox_adjust", + "path": "epilog_dashboard_bbox_adjust", + "dependent_extensions": [ + "apply_transformations" + ], + "original_name": "Epilog Dashboard BBox Adjust", + "original_id": "fablabchemnitz.de.epilog_dashboard_bbox_adjust", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/LICENSE", + "comment": "Written by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/epilog_dashboard_bbox_adjust", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Epilog+Dashboard+BBox+Adjust", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/frame_animation_sequence/frame_animation_sequence.inx b/extensions/fablabchemnitz/frame_animation_sequence/frame_animation_sequence.inx new file mode 100644 index 0000000..ce30f32 --- /dev/null +++ b/extensions/fablabchemnitz/frame_animation_sequence/frame_animation_sequence.inx @@ -0,0 +1,20 @@ + + + Frame Animation Sequence + fablabchemnitz.de.frame_animation_sequence + 0 + indefinite + 9.1 + true + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/frame_animation_sequence/frame_animation_sequence.py b/extensions/fablabchemnitz/frame_animation_sequence/frame_animation_sequence.py new file mode 100644 index 0000000..696486a --- /dev/null +++ b/extensions/fablabchemnitz/frame_animation_sequence/frame_animation_sequence.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2021 roberta bennett repeatingshadow@protonmail.com +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +""" +Create svg path animation as SMIL from frames. + +Place each frame of the animation in a layer named 'frame'. +Each of these layers should have the same number of paths, +and each path should have the same number of points as the corresponding +path in other layers. +Note if there are more than one path in the frames, the Z order of the paths +must match. It helps to use the XML editor option to observe the z order. + +The animation is applied to the paths in the first layer in the sequence, so the +properties of that layer are used. In particular, the first layer ought to be set +visible. + +Animations with different numbers of frames can be put into different sequences, +named 'sequence', using sub-groups: + +Layers: + not_animated_layer1 + sequence + frame + path1a + path2a + frame + path1b + path2b + frame + path1c + path2c + frame + path1d + path2d + sequence + frame + frame + frame + +Layer names must contain 'frame' and groups names contain 'sequence', +eg, frame1 frame 2 frame 30, sequence 1, rythm sequence, rocket sequence + + +""" + +import inkex + +class AnimateElement(inkex.BaseElement): + """animation Elements do not have a visible representation on the canvas""" + tag_name = 'animate' + @classmethod + def new(cls, **attrs): + return super().new( **attrs) + + +class AnimationExtension(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument("--delete", type=inkex.Boolean, help="Remove frames") + pars.add_argument("--begin_str", default="0", help="begin string: eg 0;an2.end;an3.begin") + pars.add_argument("--repeat_str", default="indefinite", help="indefinite or an integer") + pars.add_argument("--dur_str", default="7.9", help="duration in seconds. Do not decorate with units") + + + def crunchFrames(self,frames): + if frames is None: + raise inkex.AbortExtension("layer named frame does not exist.") + frame0paths = frames[0].findall('svg:path') + Dlists = ["{}".format(p.get_path()) for p in frame0paths] + for frame in frames[1:]: + paths = frame.findall("svg:path") + for i, p in enumerate(paths): + Dlists[i] += ";\n{}".format(p.get_path()) + for i, dl in enumerate(Dlists): + animel = AnimateElement( + attributeName="d", + attributeType="XML", + begin=self.options.begin_str, + dur=self.options.dur_str, + repeatCount=self.options.repeat_str, + values=dl) + frame0paths[i].append(animel) + for frame in frames[1:]: + if self.options.delete: + frame.delete() + return + + + def effect(self): + sequences = [ elem for elem in self.svg.findall("svg:g[@inkscape:label]") + if "sequence" in (elem.get('inkscape:label')) + ] + if len(sequences)==0: + frames = [ elem for elem in self.svg.findall("svg:g[@inkscape:label]") + if "frame" in (elem.get('inkscape:label')) + ] + self.crunchFrames(frames) + return + for sequence in sequences: + frames = [ elem for elem in sequence.findall("svg:g[@inkscape:label]") + if "frame" in (elem.get('inkscape:label')) + ] + self.crunchFrames(frames) + + +if __name__ == '__main__': + AnimationExtension().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/frame_animation_sequence/meta.json b/extensions/fablabchemnitz/frame_animation_sequence/meta.json new file mode 100644 index 0000000..4b6d85d --- /dev/null +++ b/extensions/fablabchemnitz/frame_animation_sequence/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Frame Animation Sequence", + "id": "fablabchemnitz.de.frame_animation_sequence", + "path": "frame_animation_sequence", + "dependent_extensions": null, + "original_name": "Animate Extension", + "original_id": "org.inkscape.katkitty.animate", + "license": "GNU GPL v2", + "license_url": "https://github.com/yttiktak/inkscape_extension_animate/blob/main/AnimationExtension.py", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/frame_animation_sequence", + "fork_url": "https://github.com/yttiktak/inkscape_extension_animate", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Frame+Animation+Sequence", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/yttiktak", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/guillotine_plus/guillotine_plus.inx b/extensions/fablabchemnitz/guillotine_plus/guillotine_plus.inx new file mode 100644 index 0000000..31750db --- /dev/null +++ b/extensions/fablabchemnitz/guillotine_plus/guillotine_plus.inx @@ -0,0 +1,20 @@ + + + Guillotine Plus + fablabchemnitz.de.guillotine_plus + ~/ + guillotined + 300 + false + + all + + + + + + + + diff --git a/extensions/fablabchemnitz/guillotine_plus/guillotine_plus.py b/extensions/fablabchemnitz/guillotine_plus/guillotine_plus.py new file mode 100644 index 0000000..b7680b5 --- /dev/null +++ b/extensions/fablabchemnitz/guillotine_plus/guillotine_plus.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2010 Craig Marshall, craig9 [at] gmail.com +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +""" +This script slices an inkscape drawing along the guides, similarly to +the GIMP plugin called "guillotine". It can optionally export to the +same directory as the SVG file with the same name, but with a number +suffix. e.g. + +/home/foo/drawing.svg + +will export to: + +/home/foo/drawing0.png +/home/foo/drawing1.png +/home/foo/drawing2.png +/home/foo/drawing3.png + +etc. + +""" + +import os +import locale +import inkex +from inkex.command import inkscape + +class GuillotinePlus(inkex.EffectExtension): + + """Exports slices made using guides""" + def add_arguments(self, pars): + pars.add_argument("--directory") + pars.add_argument("--image") + pars.add_argument("--ignore", type=inkex.Boolean) + pars.add_argument("--dpi", type=int) + + def get_all_horizontal_guides(self): + """ + Returns all horizontal guides as a list of floats stored as + strings. Each value is the position from 0 in pixels. + """ + for guide in self.svg.namedview.get_guides(): + if guide.is_horizontal: + yield guide.point.y + + def get_all_vertical_guides(self): + """ + Returns all vertical guides as a list of floats stored as + strings. Each value is the position from 0 in pixels. + """ + for guide in self.svg.namedview.get_guides(): + if guide.is_vertical: + yield guide.point.x + + def get_horizontal_slice_positions(self): + """ + Make a sorted list of all horizontal guide positions, + including 0 and the document height, but not including + those outside of the canvas + """ + horizontals = [0.0] + height = float(self.svg.viewport_height) + for y in self.get_all_horizontal_guides(): + if 0.0 < y <= height: + horizontals.append(y) + horizontals.append(height) + return sorted(horizontals) + + def get_vertical_slice_positions(self): + """ + Make a sorted list of all vertical guide positions, + including 0 and the document width, but not including + those outside of the canvas. + """ + verticals = [0.0] + width = float(self.svg.viewport_width) + for x in self.get_all_vertical_guides(): + if 0.0 < x <= width: + verticals.append(x) + verticals.append(width) + return sorted(verticals) + + def get_slices(self): + """ + Returns a list of all "slices" as denoted by the guides + on the page. Each slice is really just a 4 element list of + floats (stored as strings), consisting of the X and Y start + position and the X and Y end position. + """ + hs = self.get_horizontal_slice_positions() + vs = self.get_vertical_slice_positions() + slices = [] + for i in range(len(hs) - 1): + for j in range(len(vs) - 1): + slices.append([vs[j], hs[i], vs[j + 1], hs[i + 1]]) + return slices + + def get_filename_parts(self): + """ + Attempts to get directory and image as passed in by the inkscape + dialog. If the boolean ignore flag is set, then it will ignore + these settings and try to use the settings from the export + filename. + """ + + if not self.options.ignore: + if self.options.image == "" or self.options.image is None: + raise inkex.AbortExtension("Please enter an image name") + return self.options.directory, self.options.image + else: + ''' + First get the export-filename from the document, if the + document has been exported before (TODO: Will not work if it + hasn't been exported yet), then uses this to return a tuple + consisting of the directory to export to, and the filename + without extension. + ''' + + warning = \ + "To use the export hints option, you " + \ + "need to have previously exported the document. " + \ + "Otherwise no export hints exist!" + + try: + export_file = self.svg.get('inkscape:export-filename') + except KeyError: + raise inkex.AbortExtension(warning) + if export_file is None: + raise inkex.AbortExtension(warning) + dirname, filename = os.path.split(export_file) + filename = filename.rsplit(".", 1)[0] # Without extension + return dirname, filename + + def get_localised_string(self, name): + return locale.format_string("%.f", float(name), 0) + + def export_slice(self, sli, filename): + """ + Runs inkscape's command line interface and exports the image + slice from the 4 coordinates in s, and saves as the filename + given. + """ + coords = ":".join([self.get_localised_string(dim) for dim in sli]) + inkscape(self.options.input_file, export_dpi=self.options.dpi, export_area=coords, export_filename=filename) + + def export_slices(self, slices): + """ + Takes the slices list and passes each one with a calculated + filename/directory into export_slice. + """ + dirname, filename = self.get_filename_parts() + # Remove some crusty extensions from name template + if filename.endswith('.svg') or filename.endswith('.png'): + filename = filename.rsplit('.', 1)[0] + if '{' not in filename: + filename += '_{}' + + dirname = os.path.abspath(os.path.expanduser(os.path.expandvars(dirname or './'))) + if not os.path.isdir(dirname): + try: + os.makedirs(dirname) + except IOError: + raise inkex.AbortExtension("Target directory could not be created. Change and try again!") + + output_files = [] + for i, slico in enumerate(slices): + fname = os.path.join(dirname, filename.format(i) + '.png') + output_files.append(fname) + self.export_slice(slico, fname) + + #self.debug("The sliced bitmaps have been saved as:" + "\n\n" + "\n".join(output_files)) + + def effect(self): + self.export_slices(self.get_slices()) + +if __name__ == '__main__': + GuillotinePlus().run() diff --git a/extensions/fablabchemnitz/guillotine_plus/meta.json b/extensions/fablabchemnitz/guillotine_plus/meta.json new file mode 100644 index 0000000..fbbd087 --- /dev/null +++ b/extensions/fablabchemnitz/guillotine_plus/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Guillotine Plus", + "id": "fablabchemnitz.de.guillotine_plus", + "path": "guillotine_plus", + "dependent_extensions": null, + "original_name": "Guillotine Plus", + "original_id": "org.inkscape.guillotineplus", + "license": "GNU GPL v2", + "license_url": "https://inkscape.org/de/~Bootta/%E2%98%85guillotine-plus", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/guillotine_plus", + "fork_url": "https://inkscape.org/de/~Bootta/%E2%98%85guillotine-plus", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Guillotine+Plus", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/Bootta", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/import_attributes/import_attributes.inx b/extensions/fablabchemnitz/import_attributes/import_attributes.inx new file mode 100644 index 0000000..efd07a4 --- /dev/null +++ b/extensions/fablabchemnitz/import_attributes/import_attributes.inx @@ -0,0 +1,20 @@ + + + Import Attributes + fablabchemnitz.de.import_attributes + + + + + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/import_attributes/import_attributes.py b/extensions/fablabchemnitz/import_attributes/import_attributes.py new file mode 100644 index 0000000..5ae16d8 --- /dev/null +++ b/extensions/fablabchemnitz/import_attributes/import_attributes.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 + +import inkex +import os +import lxml + +class ImportAttributes(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument("--data", default="", help="data file") + + def effect(self): + + if not os.path.exists(self.options.data): + self.msg("The input file does not exist. Please select a proper file and try again.") + exit(1) + + if os.path.isdir(self.options.data): + self.msg("You must specify a file, not a directory!") + exit(1) + + with open(self.options.data, 'r') as f: + lines = f.read().splitlines() + for line in lines: + #split on , max 2+1 = 3 items + parts = line.split(",", 2) + if len(parts) >= 3: + id = parts[0] + attribute = parts[1] + value = parts[2] + try: + node = self.svg.getElementById(id) + if node is not None: + try: + node.set(attribute, value) + except AttributeError: + inkex.utils.debug("Unknown Attribute") + except AttributeError: + inkex.utils.debug("element with id '" + id + "' not found in current selection.") + except lxml.etree.XPathEvalError: + inkex.utils.debug("invalid input file") + exit(1) + +if __name__ == '__main__': + ImportAttributes().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/import_attributes/meta.json b/extensions/fablabchemnitz/import_attributes/meta.json new file mode 100644 index 0000000..79c77a2 --- /dev/null +++ b/extensions/fablabchemnitz/import_attributes/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Import Attributes", + "id": "fablabchemnitz.de.import_attributes", + "path": "import_attributes", + "dependent_extensions": null, + "original_name": "Import Attributes", + "original_id": "com.mathem.attrib_import.py", + "license": "GNU LGPL v2", + "license_url": "https://inkscape.org/~MatheM/%E2%98%85simple-attribute-editor+1", + "comment": "ported to Inkscape v1 manually by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/import_attributes", + "fork_url": "https://inkscape.org/~MatheM/%E2%98%85simple-attribute-editor+1", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Import+Attributes", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/MatheM", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/isometric_projection/dimetric_projection.inx b/extensions/fablabchemnitz/isometric_projection/dimetric_projection.inx new file mode 100644 index 0000000..4c3497b --- /dev/null +++ b/extensions/fablabchemnitz/isometric_projection/dimetric_projection.inx @@ -0,0 +1,23 @@ + + + Dimetric Projection + fablabchemnitz.de.dimetric_projection + + + + + + false + 15.000 + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/isometric_projection/isometric_projection.inx b/extensions/fablabchemnitz/isometric_projection/isometric_projection.inx new file mode 100644 index 0000000..e18b5f0 --- /dev/null +++ b/extensions/fablabchemnitz/isometric_projection/isometric_projection.inx @@ -0,0 +1,23 @@ + + + Isometric Projection + fablabchemnitz.de.isometric_projection + + + + + + false + 30.000 + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/isometric_projection/isometric_projection.py b/extensions/fablabchemnitz/isometric_projection/isometric_projection.py new file mode 100644 index 0000000..f23a262 --- /dev/null +++ b/extensions/fablabchemnitz/isometric_projection/isometric_projection.py @@ -0,0 +1,218 @@ +#!/usr/bin/env python3 + +import math +import inkex +from inkex.transforms import Transform + +class IsometricProjection(inkex.EffectExtension): + """ + Convert a flat 2D projection to one of the three visible sides in an + isometric projection, and vice versa. + """ + + attrTransformCenterX = inkex.addNS('transform-center-x', 'inkscape') + attrTransformCenterY = inkex.addNS('transform-center-y', 'inkscape') + + # Precomputed values for sine, cosine, and tangent of 30°. + rad_30 = math.radians(30) + cos_30 = math.cos(rad_30) + sin_30 = 0.5 # No point in using math.sin for 30°. + tan_30 = math.tan(rad_30) + + # Combined affine transformation matrices. The bottom row of these 3×3 + # matrices is omitted; it is always [0, 0, 1]. + transformations = { + # From 2D to isometric top down view: + # * scale vertically by cos(30°) + # * shear horizontally by -30° + # * rotate clock-wise 30° + 'to_top': [[cos_30, -cos_30, 0], + [sin_30, sin_30, 0]], + + # From 2D to isometric left-hand side view: + # * scale horizontally by cos(30°) + # * shear vertically by -30° + 'to_left': [[cos_30, 0, 0], + [sin_30, 1, 0]], + + # From 2D to isometric right-hand side view: + # * scale horizontally by cos(30°) + # * shear vertically by 30° + 'to_right': [[cos_30, 0, 0], + [-sin_30, 1, 0]], + + # From isometric top down view to 2D: + # * rotate counter-clock-wise 30° + # * shear horizontally by 30° + # * scale vertically by 1 / cos(30°) + 'from_top': [[tan_30, 1, 0], + [-tan_30, 1, 0]], + + # From isometric left-hand side view to 2D: + # * shear vertically by 30° + # * scale horizontally by 1 / cos(30°) + 'from_left': [[1 / cos_30, 0, 0], + [-tan_30, 1, 0]], + + # From isometric right-hand side view to 2D: + # * shear vertically by -30° + # * scale horizontally by 1 / cos(30°) + 'from_right': [[1 / cos_30, 0, 0], + [tan_30, 1, 0]] + } + + def add_arguments(self, pars): + pars.add_argument('--conversion', default='top', help='Conversion to perform: (top|left|right)') + pars.add_argument('--reverse', type=inkex.Boolean, default=False, help='Reverse the transformation from isometric projection to flat 2D') + self.arg_parser.add_argument('--orthoangle', type=float, default=15.0, help='Isometric angle in degrees') + + def __initConstants(self, angle): + # Precomputed values for sine, cosine, and tangent of orthoangle. + self.rad = math.radians(angle) + self.cos = math.cos(self.rad) + self.sin = math.sin(self.rad) + self.tan = math.tan(self.rad) + + # Combined affine transformation matrices. The bottom row of these 3×3 + # matrices is omitted; it is always [0, 0, 1]. + self.transformations = { + # From 2D to isometric top down view: + # * scale vertically by cos(∠) + # * shear horizontally by -∠ + # * rotate clock-wise ∠ + 'to_top': Transform(((self.cos, -self.cos, 0), + (self.sin, self.sin, 0))), + + # From 2D to isometric left-hand side view: + # * scale horizontally by cos(∠) + # * shear vertically by -∠ + 'to_left': Transform(((self.cos, 0, 0), + (self.sin, 1, 0))), + + # From 2D to isometric right-hand side view: + # * scale horizontally by cos(∠) + # * shear vertically by ∠ + 'to_right': Transform(((self.cos , 0, 0), + (-self.sin, 1, 0))), + + # From isometric top down view to 2D: + # * rotate counter-clock-wise orthoangle + # * shear horizontally by orthoangle + # * scale vertically by 1 / cos(orthoangle) + 'from_top': [[self.tan , 1, 0], + [-self.tan, 1, 0]], + + # From isometric left-hand side view to 2D: + # * shear vertically by orthoangle + # * scale horizontally by 1 / cos(orthoangle) + 'from_left': [[1 / self.cos, 0, 0], + [-self.tan, 1, 0]], + + # From isometric right-hand side view to 2D: + # * shear vertically by -orthoangle + # * scale horizontally by 1 / cos(orthoangle) + 'from_right': [[1 / self.cos, 0, 0], + [self.tan, 1, 0]] + } + + # The inverse matrices of the above perform the reverse transformations. + self.transformations['from_top'] = -self.transformations['to_top'] + self.transformations['from_left'] = -self.transformations['to_left'] + self.transformations['from_right'] = -self.transformations['to_right'] + + def getTransformCenter(self, midpoint, node): + """ + Find the transformation center of an object. If the user set it + manually by dragging it in Inkscape, those coordinates are used. + Otherwise, an attempt is made to find the center of the object's + bounding box. + """ + + c_x = node.get(self.attrTransformCenterX) + c_y = node.get(self.attrTransformCenterY) + + # Default to dead-center. + if c_x is None: + c_x = 0.0 + else: + c_x = float(c_x) + if c_y is None: + c_y = 0.0 + else: + c_y = float(c_y) + + x = midpoint[0] + c_x + y = midpoint[1] - c_y + + return [x, y] + + def translateBetweenPoints(self, tr, here, there): + """ + Add a translation to a matrix that moves between two points. + """ + + x = there[0] - here[0] + y = there[1] - here[1] + tr.add_translate(x, y) + + def moveTransformationCenter(self, node, midpoint, center_new): + """ + If a transformation center is manually set on the node, move it to + match the transformation performed on the node. + """ + + c_x = node.get(self.attrTransformCenterX) + c_y = node.get(self.attrTransformCenterY) + + if c_x is not None: + x = str(center_new[0] - midpoint[0]) + node.set(self.attrTransformCenterX, x) + if c_y is not None: + y = str(midpoint[1] - center_new[1]) + node.set(self.attrTransformCenterY, y) + + def effect(self): + + self.__initConstants(self.options.orthoangle) + + if self.options.reverse is True: + conversion = "from_" + self.options.conversion + else: + conversion = "to_" + self.options.conversion + + if len(self.svg.selected) == 0: + inkex.errormsg("Please select an object to perform the " + + "isometric projection transformation on.") + return + + # Default to the flat 2D to isometric top down view conversion if an + # invalid identifier is passed. + effect_matrix = self.transformations.get( + conversion, self.transformations.get('to_top')) + + for id, node in self.svg.selected.items(): + bbox = node.bounding_box() + midpoint = [bbox.center_x, bbox.center_y] + center_old = self.getTransformCenter(midpoint, node) + transform = Transform(node.get("transform")) + # Combine our transformation matrix with any pre-existing transform. + tr = transform @ effect_matrix + + # Compute the location of the transformation center after applying + # the transformation matrix. + center_new = center_old[:] + #Transform(matrix).apply_to_point(center_new) + tr.apply_to_point(center_new) + tr.apply_to_point(midpoint) + + # Add a translation transformation that will move the object to + # keep its transformation center in the same place. + self.translateBetweenPoints(tr, center_new, center_old) + + node.set('transform', str(tr)) + + # Adjust the transformation center. + self.moveTransformationCenter(node, midpoint, center_new) + +if __name__ == '__main__': + IsometricProjection().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/isometric_projection/meta.json b/extensions/fablabchemnitz/isometric_projection/meta.json new file mode 100644 index 0000000..2739b97 --- /dev/null +++ b/extensions/fablabchemnitz/isometric_projection/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Isometric Projection", + "id": "fablabchemnitz.de.isometric_projection", + "path": "isometric_projection", + "dependent_extensions": null, + "original_name": "Isometric Projection", + "original_id": "nl.jeroenhoek.inkscape.filter.isometric_projection_tool", + "license": "GNU GPL v3", + "license_url": "https://github.com/jdhoek/inkscape-isometric-projection/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/isometric_projection", + "fork_url": "https://github.com/jdhoek/inkscape-isometric-projection", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Isometric+Projection", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/jdhoek", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/low_poly_2/low_poly_2.inx b/extensions/fablabchemnitz/low_poly_2/low_poly_2.inx new file mode 100644 index 0000000..570f644 --- /dev/null +++ b/extensions/fablabchemnitz/low_poly_2/low_poly_2.inx @@ -0,0 +1,16 @@ + + + Low Poly 2 + fablabchemnitz.de.low_poly_2 + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/low_poly_2/low_poly_2.py b/extensions/fablabchemnitz/low_poly_2/low_poly_2.py new file mode 100644 index 0000000..f61d7c2 --- /dev/null +++ b/extensions/fablabchemnitz/low_poly_2/low_poly_2.py @@ -0,0 +1,301 @@ +#!/usr/bin/env python3 + +import os +import inkex +import voronoi +from inkex.transforms import Transform +from inkex.paths import CubicSuperPath, Path +from PIL import Image +from lxml import etree +import base64 +from io import BytesIO +import urllib.request as urllib + +# A tool for making polygonal art. Can be created with one click with a pass. + +class Point: + def __init__(self, x, y): + self.x = x + self.y = y + def __lt__(self,other): + return (self.x*self.yother.x*other.y) + + def __ge__(self,other): + return (self.x*self.y>=other.x*other.y) + + def __eq__(self,other): + return (self.x==other.x) and (self.y==other.y) + + def __ne__(self,other): + return (self.x!=other.x) or (self.y!=other.y) + + def __str__(self): + return "("+str(self.x)+","+str(self.y)+")" + + +class LowPoly2(inkex.Effect): + def __init__(self): + inkex.Effect.__init__(self) + + # Clipping a line by a bounding box + def dot(self, x, y): + return x[0] * y[0] + x[1] * y[1] + + def intersectLineSegment(self, line, v1, v2): + s1 = self.dot(line, v1) - line[2] + s2 = self.dot(line, v2) - line[2] + if s1 * s2 > 0: + return (0, 0, False) + else: + tmp = self.dot(line, v1) - self.dot(line, v2) + if tmp == 0: + return (0, 0, False) + u = (line[2] - self.dot(line, v2)) / tmp + v = 1 - u + return (u * v1[0] + v * v2[0], u * v1[1] + v * v2[1], True) + + def clipEdge(self, vertices, lines, edge, bbox): + # bounding box corners + bbc = [] + bbc.append((bbox[0], bbox[2])) + bbc.append((bbox[1], bbox[2])) + bbc.append((bbox[1], bbox[3])) + bbc.append((bbox[0], bbox[3])) + + # record intersections of the line with bounding box edges + line = (lines[edge[0]]) + interpoints = [] + for i in range(4): + p = self.intersectLineSegment(line, bbc[i], bbc[(i + 1) % 4]) + if (p[2]): + interpoints.append(p) + + # if the edge has no intersection, return empty intersection + if (len(interpoints) < 2): + return [] + + if (len(interpoints) > 2): #h appens when the edge crosses the corner of the box + interpoints = list(set(interpoints)) # remove doubles + + # points of the edge + v1 = vertices[edge[1]] + interpoints.append((v1[0], v1[1], False)) + v2 = vertices[edge[2]] + interpoints.append((v2[0], v2[1], False)) + + # sorting the points in the widest range to get them in order on the line + minx = interpoints[0][0] + maxx = interpoints[0][0] + miny = interpoints[0][1] + maxy = interpoints[0][1] + for point in interpoints: + minx = min(point[0], minx) + maxx = max(point[0], maxx) + miny = min(point[1], miny) + maxy = max(point[1], maxy) + + if (maxx - minx) > (maxy - miny): + interpoints.sort() + else: + interpoints.sort(key=lambda pt: pt[1]) + + start = [] + inside = False #true when the part of the line studied is in the clip box + startWrite = False #true when the part of the line is in the edge segment + for point in interpoints: + if point[2]: #The point is a bounding box intersection + if inside: + if startWrite: + return [[start[0], start[1]], [point[0], point[1]]] + else: + return [] + else: + if startWrite: + start = point + inside = not inside + else: # The point is a segment endpoint + if startWrite: + if inside: + # a vertex ends the line inside the bounding box + return [[start[0], start[1]], [point[0], point[1]]] + else: + return [] + else: + if inside: + start = point + startWrite = not startWrite + + # Transformation helpers + def invertTransform(self, mat): + det = mat[0][0] * mat[1][1] - mat[0][1] * mat[1][0] + if det != 0: #det is 0 only in case of 0 scaling + # invert the rotation/scaling part + a11 = mat[1][1] / det + a12 = -mat[0][1] / det + a21 = -mat[1][0] / det + a22 = mat[0][0] / det + + # invert the translational part + a13 = -(a11 * mat[0][2] + a12 * mat[1][2]) + a23 = -(a21 * mat[0][2] + a22 * mat[1][2]) + + return [[a11, a12, a13], [a21, a22, a23]] + else: + return [[0, 0, -mat[0][2]], [0, 0, -mat[1][2]]] + + def getGlobalTransform(self, node): + parent = node.getparent() + myTrans = Transform(node.get('transform')).matrix + if myTrans: + if parent is not None: + parentTrans = self.getGlobalTransform(parent) + if parentTrans: + return Transform(parentTrans) * Transform(myTrans) + else: + return myTrans + else: + if parent is not None: + return self.getGlobalTransform(parent) + else: + return None + + def checkImagePath(self, node): + """Embed the data of the selected Image Tag element""" + xlink = node.get('xlink:href') + if xlink and xlink[:5] == 'data:': + # No need, data alread embedded + return + + url = urllib.urlparse(xlink) + href = urllib.url2pathname(url.path) + + # Primary location always the filename itself. + path = self.absolute_href(href or '') + + # Backup directory where we can find the image + if not os.path.isfile(path): + path = node.get('sodipodi:absref', path) + + if not os.path.isfile(path): + inkex.errormsg('File not found "{}". Unable to embed image.').format(path) + return + + if (os.path.isfile(path)): + return path + + def effect(self): + # Check that elements have been selected + if len(self.options.ids) == 0: + inkex.errormsg("Please select objects!") + return + + # Drawing styles + linestyle = { + 'stroke': '#000000', + 'stroke-width': str(self.svg.unittouu('1px')), + 'fill': 'none' + } + + facestyle = { + 'stroke': '#000000', + 'stroke-width':'0px',# str(self.svg.unittouu('1px')), + 'fill': 'none' + } + + # Handle the transformation of the current group + parentGroup = (self.svg.selected[self.options.ids[0]]).getparent() + + svg = self.document.getroot() + image_element = svg.find('.//{http://www.w3.org/2000/svg}image') + if image_element is None: + inkex.utils.debug("No image found") + exit(1) + self.path = self.checkImagePath(image_element) # This also ensures the file exists + if self.path is None: # check if image is embedded or linked + image_string = image_element.get('{http://www.w3.org/1999/xlink}href') + # find comma position + i = 0 + while i < 40: + if image_string[i] == ',': + break + i = i + 1 + img = Image.open(BytesIO(base64.b64decode(image_string[i + 1:len(image_string)]))) + else: + img = Image.open(self.path) + + extrinsic_image_width=float(image_element.get('width')) + extrinsic_image_height=float(image_element.get('height')) + (width, height) = img.size + trans = self.getGlobalTransform(parentGroup) + invtrans = None + if trans: + invtrans = self.invertTransform(trans) + + # Recovery of the selected objects + pts = [] + nodes = [] + seeds = [] + + for id in self.options.ids: + node = self.svg.selected[id] + nodes.append(node) + if(node.tag=="{http://www.w3.org/2000/svg}path"):#If it is path + # Get vertex coordinates of path + points = CubicSuperPath(node.get('d')) + for p in points[0]: + pt=[p[1][0],p[1][1]] + if trans: + Transform(trans).apply_to_point(pt) + pts.append(Point(pt[0], pt[1])) + seeds.append(Point(p[1][0], p[1][1])) + else: # For other shapes + bbox = node.bounding_box() + if bbox: + cx = 0.5 * (bbox.left + bbox.top) + cy = 0.5 * (bbox.top + bbox.bottom) + pt = [cx, cy] + if trans: + Transform(trans).apply_to_point(pt) + pts.append(Point(pt[0], pt[1])) + seeds.append(Point(cx, cy)) + pts.sort() + seeds.sort() + + # In Creation of groups to store the result + # Delaunay + groupDelaunay = etree.SubElement(parentGroup, inkex.addNS('g', 'svg')) + groupDelaunay.set(inkex.addNS('label', 'inkscape'), 'Delaunay') + + scale_x=float(extrinsic_image_width)/float(width) + scale_y=float(extrinsic_image_height)/float(height) + # Voronoi diagram generation + + triangles = voronoi.computeDelaunayTriangulation(seeds) + for triangle in triangles: + p1 = seeds[triangle[0]] + p2 = seeds[triangle[1]] + p3 = seeds[triangle[2]] + cmds = [['M', [p1.x, p1.y]], + ['L', [p2.x, p2.y]], + ['L', [p3.x, p3.y]], + ['Z', []]] + path = etree.Element(inkex.addNS('path', 'svg')) + path.set('d', str(Path(cmds))) + middleX=(p1.x+p2.x+p3.x)/3.0 + middleY=(p1.y+p2.y+p3.y)/3.0 + if width>middleX and height>middleY and middleX>=0 and middleY>=0: + pixelColor = img.getpixel((middleX,middleY)) + facestyle["fill"]=str(inkex.Color((pixelColor[0], pixelColor[1], pixelColor[2]))) + else: + facestyle["fill"]="black" + path.set('style', str(inkex.Style(facestyle))) + groupDelaunay.append(path) + +if __name__ == '__main__': + LowPoly2().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/low_poly_2/meta.json b/extensions/fablabchemnitz/low_poly_2/meta.json new file mode 100644 index 0000000..b32267e --- /dev/null +++ b/extensions/fablabchemnitz/low_poly_2/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Low Poly 2", + "id": "fablabchemnitz.de.low_poly_2", + "path": "low_poly_2", + "dependent_extensions": null, + "original_name": "★Delauney From Path", + "original_id": "miffy.sora.polygonalart", + "license": "MIT License", + "license_url": "https://github.com/miffysora/Inkscape/blob/master/LICENSE", + "comment": "ported to Inkscape v1 manually by Mario Voigt; delauney_from_path", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/low_poly_2", + "fork_url": "https://github.com/miffysora/Inkscape", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Low+Poly+2", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/miffysora", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/open_in_roland_cutstudio/meta.json b/extensions/fablabchemnitz/open_in_roland_cutstudio/meta.json new file mode 100644 index 0000000..60d96a0 --- /dev/null +++ b/extensions/fablabchemnitz/open_in_roland_cutstudio/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Open In Roland CutStudio", + "id": "fablabchemnitz.de.open_in_roland_cutstudio", + "path": "open_in_roland_cutstudio", + "dependent_extensions": null, + "original_name": "Open in CutStudio", + "original_id": "roland_custudio.export", + "license": "GNU GPL v2", + "license_url": "https://github.com/mgmax/inkscape-roland-cutstudio/blob/master/roland_cutstudio.py", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/open_in_roland_cutstudio", + "fork_url": "https://github.com/mgmax/inkscape-roland-cutstudio", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Open+in+Roland+CutStudio", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/mgmax", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/open_in_roland_cutstudio/open_in_roland_cutstudio.inx b/extensions/fablabchemnitz/open_in_roland_cutstudio/open_in_roland_cutstudio.inx new file mode 100644 index 0000000..15d3bfd --- /dev/null +++ b/extensions/fablabchemnitz/open_in_roland_cutstudio/open_in_roland_cutstudio.inx @@ -0,0 +1,16 @@ + + + Open In Roland CutStudio + fablabchemnitz.de.open_in_roland_cutstudio + + path + + + + + + + + diff --git a/extensions/fablabchemnitz/open_in_roland_cutstudio/open_in_roland_cutstudio.py b/extensions/fablabchemnitz/open_in_roland_cutstudio/open_in_roland_cutstudio.py new file mode 100644 index 0000000..3cbbecd --- /dev/null +++ b/extensions/fablabchemnitz/open_in_roland_cutstudio/open_in_roland_cutstudio.py @@ -0,0 +1,435 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-2.0-or-later +''' +Roland CutStudio export script +Copyright (C) 2014 - 2020 Max Gaukler + +skeleton based on Visicut Inkscape Plugin : +Copyright (C) 2012 Thomas Oster, thomas.oster@rwth-aachen.de + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +''' + +# The source code is a horrible mess. I apologize for your inconvenience, but hope that it still helps. Feel free to improve :-) +# Keep everything python2 compatible as long as people out there are using Inkscape <= 0.92.4! + +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals +from __future__ import absolute_import + +from builtins import open +from builtins import map +from builtins import str +from builtins import range +import sys +import os +from subprocess import Popen +import subprocess +import shutil +import numpy +from functools import reduce +import atexit +import filecmp +try: + from pathlib import Path +except ImportError: + # Workaround for Python < 3.5 + class fakepath: + def home(self): + return os.path.expanduser("~") + Path = fakepath() +import tempfile +import random +import string + +DEVNULL = open(os.devnull, 'w') +atexit.register(DEVNULL.close) + +def message(s): + sys.stderr.write(s+"\n") +def debug(s): + message(s) + +# copied from https://github.com/t-oster/VisiCut/blob/0abe785a30d5d5085dd3b5953b38239b1ff83358/tools/inkscape_extension/visicut_export.py +def which(program, raiseError, extraPaths=[], subdir=None): + """ + find program in the $PATH environment variable and in $extraPaths. + If $subdir is given, also look in the given subdirectory of each $PATH entry. + """ + pathlist=os.environ["PATH"].split(os.pathsep) + if "nt" in os.name: + pathlist.append(os.environ.get("ProgramFiles","C:\Program Files\\")) + pathlist.append(os.environ.get("ProgramFiles(x86)","C:\Program Files (x86)\\")) + pathlist.append("C:\Program Files\\") # needed for 64bit inkscape on 64bit Win7 machines + pathlist.append(os.path.dirname(os.path.dirname(os.getcwd()))) # portable application in the current directory + pathlist += extraPaths + if subdir: + pathlist = [os.path.join(p, subdir) for p in pathlist] + pathlist + def is_exe(fpath): + return os.path.isfile(fpath) and (os.access(fpath, os.X_OK) or fpath.endswith(".exe")) + for path in pathlist: + exe_file = os.path.join(path, program) + if is_exe(exe_file): + return exe_file + if raiseError: + raise Exception("Cannot find " + str(program) + " in any of these paths: " + str(pathlist) + ". Either the program is not installed, PATH is not set correctly, or this is a bug.") + else: + return None + +# copied from https://github.com/t-oster/VisiCut/blob/0abe785a30d5d5085dd3b5953b38239b1ff83358/tools/inkscape_extension/visicut_export.py +# Strip SVG to only contain selected elements, convert objects to paths, unlink clones +# Inkscape version: takes care of special cases where the selected objects depend on non-selected ones. +# Examples are linked clones, flowtext limited to a shape and linked flowtext boxes (overflow into the next box). +# +# Inkscape is called with certain "actions" to do the required cleanup +# The idea is similar to http://bazaar.launchpad.net/~nikitakit/inkscape/svg2sif/view/head:/share/extensions/synfig_prepare.py#L181 , but more primitive - there is no need for more complicated preprocessing here +def stripSVG_inkscape(src, dest, elements): + # create temporary file for opening with inkscape. + # delete this file later so that it will disappear from the "recently opened" list. + tmpfile = tempfile.NamedTemporaryFile(delete=False, prefix='temp-visicut-', suffix='.svg') + tmpfile.close() + tmpfile = tmpfile.name + import shutil + shutil.copyfile(src, tmpfile) + + + # Updated for Inkscape 1.2, released 16 May 2022 + # inkscape --export-overwrite --actions=action1;action2... + # (see inkscape --help, inkscape --action-list) + # (for debugging, you can look at the intermediate state by running inkscape --with-gui --actions=... my_filename.svg) + # Note that it is (almost?) impossible to find a sequence that works in all cases. + # Cases to consider: + # - selecting whole groups + # - selecting objects within a group + # - selecting across groups/layers (e.g., enter group, select something, then Shift-click to select things from other layers) + # Difficulties with Inkscape: + # - "invert selection" does not behave as expected in all these cases, + # for example if a group is selected then inverting can select the elements within. + # - Inkscape has a wonderful --export-id commandline switch, but it only works correctly with one ID + + # Solution: + actions = [] + # - select objects + actions += ["select-by-id:" + ",".join(elements)] + # - convert to path + actions += ["clone-unlink", "object-to-path"] + # - create group of selection + actions += ["selection-group"] + # - set group ID to a known value. Use a pseudo-random value to avoid collisions + target_group_id = "TARGET-GROUP-" + "".join(random.sample(string.ascii_lowercase, 20)) + actions += ["object-set-attribute:id," + target_group_id] + # - set export options: use only the target group ID, nothing else + actions += ["export-id-only:true", "export-id:" + target_group_id] + # - export + actions += ["export-do"] + + + command = [INKSCAPEBIN, tmpfile, "--export-overwrite", "--actions=" + ";".join(actions)] + # to print the resulting commandline: + # print(" ".join(["'" + c + "'" for c in command]), file=sys.stderr) + + + DEBUG = False + if DEBUG: + # Inkscape sometimes silently ignores wrong verbs, so we need to double-check that everything's right + for action in actions: + aciton_list = [line.split(":")[0] for line in subprocess.check_output([INKSCAPEBIN, "--action-list"], stderr=DEVNULL).split("\n")] + if action not in action_list: + sys.stderr.write("Inkscape does not have the action '{}'. Please report this as a VisiCut bug.".format(action)) + + inkscape_output = "(not yet run)" + try: + #sys.stderr.write(" ".join(command)) + # run inkscape, buffer output + inkscape = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + inkscape_output = inkscape.communicate()[0] + if inkscape.returncode != 0: + sys.stderr.write("Error: cleaning the document with inkscape failed. Something might still be shown in visicut, but it could be incorrect.\nInkscape's output was:\n" + str(inkscape_output)) + except: + sys.stderr.write("Error: cleaning the document with inkscape failed. Something might still be shown in visicut, but it could be incorrect. Exception information: \n" + str(sys.exc_info()[0]) + "Inkscape's output was:\n" + str(inkscape_output)) + + # move output to the intended destination filename + os.rename(tmpfile, dest) + + + + +# header +# for debugging purposes you can open the resulting EPS file in Inkscape, +# select all, ungroup multiple times +# --> now you can view the exported lines in inkscape +prefix=""" +%!PS-Adobe-3.0 EPSF-3.0 +%%LanguageLevel: 2 +%%BoundingBox -10000 -10000 10000 10000 +%%EndComments +%%BeginSetup +%%EndSetup +%%BeginProlog +% This code (until EndProlog) is from an inkscape-exported EPS, copyright unknown, see cairo-library +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: -10000 -10000 10000 10000 +%%EndPageSetup +% This is a severely crippled fucked-up pseudo-postscript for importing in Roland CutStudio +% Do not even try to open it with something else +% FIXME opening with inkscape currently does not show any objects, although it worked some time in the past + +% Inkscape header, not used by cutstudio +% Start +q -10000 -10000 10000 10000 rectclip q + +0 g +0.286645 w +0 J +0 j +[] 0.0 d +4 M q +% Cutstudio Start +""" +postfix=""" +% Cutstudio End + +%this is necessary for CutStudio so that the last line isnt skipped: +0 0 m + +% Inkscape footer +S Q +Q Q +showpage +%%Trailer +end restore +%%EOF +""" + +def EPS2CutstudioEPS(src, dest, mirror=False): + def outputFromStack(stack, n, transformCoordinates=True): + arr=stack[-(n+1):-1] + if transformCoordinates: + arrTransformed=[] + for i in range(n//2): + arrTransformed+=transform(arr[2*i], arr[2*i+1]) + return output(arrTransformed+[stack[-1]]) + else: + return output(arr+[stack[-1]]) + def transform(x, y): + #debug("trafo from: {} {}".format(x, y)) + p=numpy.array([[float(x),float(y),1]]).transpose() + multiply = lambda a, b: numpy.matmul(a, b) + # concatenate transformations by multiplying: new = transformation x previousTransformtaion + m=reduce(multiply, scalingStack[::-1]) + m=m.transpose() + #debug("with {}".format(m)) + pnew = numpy.matmul(m, p) + x=float(pnew[0]) + y=float(pnew[1]) + #debug("to: {} {}".format(x, y)) + return [x, y] + def outputMoveto(x, y): + [xx, yy]=transform(x, y) + return output([str(xx), str(yy), "m"]) + def outputLineto(x, y): + [xx, yy]=transform(x, y) + return output([str(xx), str(yy), "l"]) + def output(array): + array=list(map(str, array)) + output=" ".join(array) + #debug("OUTPUT: "+output) + return output + "\n" + stack=[] + scalingStack=[numpy.identity(3)] + if mirror: + scalingStack.append(numpy.diag([-1, 1, 1])) + lastMoveCoordinates=None + outputStr=prefix + inputFile=open(src) + outputFile=open(dest, "w") + for line in inputFile.readlines(): + line=line.strip() + if line.startswith("%"): + # comment line + continue + if line.endswith("re W n"): + continue # ignore clipping rectangle + #debug(line) + for item in line.split(" "): + item=item.strip() + if item=="": + continue + #debug("INPUT: " + item.__repr__()) + stack.append(item) + if item=="h": # close path + assert lastMoveCoordinates, "closed path before first moveto" + outputStr += outputLineto(float(lastMoveCoordinates[0]), float(lastMoveCoordinates[1])) + elif item == "c": # bezier curveto + outputStr += outputFromStack(stack, 6) + stack=[] + elif item=="re": # rectangle + x=float(stack[-5]) + y=float(stack[-4]) + dx=float(stack[-3]) + dy=float(stack[-2]) + outputStr += outputMoveto(x, y) + outputStr += outputLineto(x+dx, y) + outputStr += outputLineto(x+dx, y+dy) + outputStr += outputLineto(x, y+dy) + outputStr += outputLineto(x, y) + elif item=="cm": # matrix transformation + newTrafo=numpy.array([[float(stack[-7]), float(stack[-6]), 0], [float(stack[-5]), float(stack[-4]), 0], [float(stack[-3]), float(stack[-2]), 1]]) + #debug("applying trafo "+str(newTrafo)) + scalingStack[-1] = numpy.matmul(scalingStack[-1], newTrafo) + elif item=="q": # save graphics state to stack + scalingStack.append(numpy.identity(3)) + elif item=="Q": # pop graphics state from stack + scalingStack.pop() + elif item in ["m", "l"]: + if item=="m": # moveto + lastMoveCoordinates=stack[-3:-1] + elif item=="l": # lineto + pass + outputStr += outputFromStack(stack, 2) + stack=[] + else: + pass # do nothing + outputStr += postfix + outputFile.write(outputStr) + outputFile.close() + inputFile.close() + +if os.name=="nt": # windows + INKSCAPEBIN = which("inkscape.exe", True, subdir="Inkscape") +else: + INKSCAPEBIN=which("inkscape", True) + +assert os.path.isfile(INKSCAPEBIN), "cannot find inkscape binary " + INKSCAPEBIN + +selectedElements=[] +for arg in sys.argv[1:]: + if arg[0] == "-": + if len(arg) >= 5 and arg[0:5] == "--id=": + selectedElements +=[arg[5:]] + else: + filename = arg +if "--selftest" in sys.argv: + filename = "./test-input.svg" + +if len(selectedElements)==0: + shutil.copyfile(filename, filename+".filtered.svg") +else: + # only take selected elements + stripSVG_inkscape(src=filename, dest=filename+".filtered.svg", elements=selectedElements) + +cmd = [INKSCAPEBIN, "-T", "--export-ignore-filters", "--export-area-drawing", "--export-filename="+filename+".inkscape.eps", filename+".filtered.svg"] +inkscape_eps_file = filename + ".inkscape.eps" + +#debug(" ".join(cmd)) +assert 0 == subprocess.call(cmd, stderr=DEVNULL), 'EPS conversion failed: command returned error: ' + '"' + '" "'.join(cmd) + '"' +assert os.path.exists(inkscape_eps_file), 'EPS conversion failed: command did not create result file: ' + '"' + '" "'.join(cmd) + '"' + + +if "--selftest" in sys.argv: + # used for unit-testing: fixed location of output file + destination = "./test-output-actual.cutstudio.eps" +else: + # normally + destination = filename + ".cutstudio.eps" + +EPS2CutstudioEPS(inkscape_eps_file, destination, mirror=("--mirror=true" in sys.argv)) + +if "--selftest" in sys.argv: + # unittest: compare with known reference output + TEST_REFERENCE_FILE = "./test-output-reference.cutstudio.eps" + assert filecmp.cmp(destination, TEST_REFERENCE_FILE), "Test output changed. Please compare " + destination + " and " + TEST_REFERENCE_FILE + print("Selftest successful :-)") + sys.exit(0) + +if os.name=="nt": + DETACHED_PROCESS = 8 # start as "daemon" + Popen([which("CutStudio\CutStudio.exe", True), "/import", destination], creationflags=DETACHED_PROCESS, close_fds=True) +else: #check if we have access to "wine" + CUTSTUDIO_C_DRIVE = str(Path.home()) + "/.wine/drive_c/" + CUTSTUDIO_PATH_LINUX_WINE = CUTSTUDIO_C_DRIVE + "Program Files (x86)/CutStudio/CutStudio.exe" + CUTSTUDIO_COMMANDLINE = ["wine", CUTSTUDIO_PATH_LINUX_WINE, "/import", r'C:\cutstudio.eps'] + try: + if not which("wine", False): + raise Exception("Cannot find 'wine'") + if not os.path.exists(CUTSTUDIO_PATH_LINUX_WINE): + raise Exception("Cannot find CutStudio in " + CUTSTUDIO_PATH_LINUX_WINE) + shutil.copyfile(destination, CUTSTUDIO_C_DRIVE + "cutstudio.eps") + subprocess.check_call(CUTSTUDIO_COMMANDLINE, stderr=subprocess.DEVNULL, stdout=subprocess.DEVNULL) + except Exception as exc: + message("Could not open CutStudio.\nInstead, your file was saved to:\n" + destination + "\n" + \ + "Please open that with CutStudio manually. \n\n" + \ + "Tip: On Linux, you can use 'wine' to install CutStudio 3.10. Then, the file will be directly opened with CutStudio. \n" + \ + " Diagnostic information: \n" + str(exc)) + #os.popen("/usr/bin/xdg-open " + filename) + #Popen(["inkscape", filename+".filtered.svg"], stderr=DEVNULL) + #Popen(["inkscape", filename+".cutstudio.eps"]) +#os.unlink(filename+".filtered.svg") +#os.unlink(filename) +#os.unlink(filename+".cutstudio.eps") diff --git a/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/meta.json b/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/meta.json new file mode 100644 index 0000000..90dafcc --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Optimize Sequence: Small Holes First", + "id": "fablabchemnitz.de.optimize_sequence_lasercut_sequence", + "path": "optimize_sequence_lasercut_sequence", + "dependent_extensions": null, + "original_name": "Fix cutting sequence", + "original_id": "L0laapk3.filter.lasercut_sequence", + "license": "GNU AGPL v3", + "license_url": "https://github.com/L0laapk3/inkscape-laser-sequence-extension/blob/master/LICENSE", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence", + "fork_url": "https://github.com/L0laapk3/inkscape-laser-sequence-extension", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Optimize+Sequence%3A+Small+Holes+First", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/L0laapk3", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/optimize_sequence_lasercut_sequence.inx b/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/optimize_sequence_lasercut_sequence.inx new file mode 100644 index 0000000..9f53e2b --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/optimize_sequence_lasercut_sequence.inx @@ -0,0 +1,16 @@ + + + Optimize Sequence: Small Holes First + fablabchemnitz.de.optimize_sequence_lasercut_sequence + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/optimize_sequence_lasercut_sequence.py b/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/optimize_sequence_lasercut_sequence.py new file mode 100644 index 0000000..1edf248 --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/optimize_sequence_lasercut_sequence.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 + +import inkex +import measure +from inkex.paths import Path +from inkex import paths + +def getArea(path): + return abs(measure.csparea(paths.CubicSuperPath(path + "z"))) + +class OptimizeSequenceLasercutSequence(inkex.EffectExtension): + + def effect(self): + elements = self.document.xpath('//svg:path',namespaces=inkex.NSS) + for el in elements: + oldpathstring = el.attrib['d'] + nodes = Path(oldpathstring).to_arrays() + currentSection = [] + sections = [currentSection] + for node in nodes: + command = node.pop(0) + currentSection.append(command + ' ' + ' '.join(list(map(lambda c: ','.join(map(str, c)), node)))) + if command.lower() == 'z': + currentSection = [] + sections.append(currentSection) + + sections = list(map(lambda n: ' '.join(n), filter(lambda n: len(n) > 0, sections))) + + if (sections[-1][-2].lower() != 'z'): + nonClosedSection = ' ' + sections.pop() + else: + nonClosedSection = '' + + sections = filter(lambda s: s[0].lower() != 'z', sections) + sections = sorted(sections, key=getArea) + newpathstring = "z ".join(sections) + nonClosedSection + el.set('d', newpathstring) + +if __name__ == '__main__': + OptimizeSequenceLasercutSequence().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/optimize_sequence_travel_distance/meta.json b/extensions/fablabchemnitz/optimize_sequence_travel_distance/meta.json new file mode 100644 index 0000000..8074a05 --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_travel_distance/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Optimize Sequence: Travel Distances", + "id": "fablabchemnitz.de.optimize_sequence_travel_distance", + "path": "optimize_sequence_travel_distance", + "dependent_extensions": null, + "original_name": "Reorder Paths for Speed", + "original_id": "command.evilmadscientist.eggbot.reorder", + "license": "GNU GPL v3", + "license_url": "https://github.com/evil-mad/EggBot/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/optimize_sequence_travel_distance", + "fork_url": "https://github.com/evil-mad/EggBot", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Optimize+Sequence%3A+Travel+Distances", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/evil-mad", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/optimize_sequence_travel_distance/optimize_sequence_travel_distance.inx b/extensions/fablabchemnitz/optimize_sequence_travel_distance/optimize_sequence_travel_distance.inx new file mode 100755 index 0000000..6ac06af --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_travel_distance/optimize_sequence_travel_distance.inx @@ -0,0 +1,25 @@ + + + Optimize Sequence: Travel Distances + fablabchemnitz.de.optimize_sequence_travel_distance + + + + + + + + false + + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/optimize_sequence_travel_distance/optimize_sequence_travel_distance.py b/extensions/fablabchemnitz/optimize_sequence_travel_distance/optimize_sequence_travel_distance.py new file mode 100644 index 0000000..422417d --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_travel_distance/optimize_sequence_travel_distance.py @@ -0,0 +1,1239 @@ +#!/usr/bin/env python3 +# +# SVG Path Ordering Extension +# This extension uses a simple TSP algorithm to order the paths so as +# to reduce plotting time by plotting nearby paths consecutively. +# +# +# While written from scratch, this is a derivative in spirit of the work by +# Matthew Beckler and Daniel C. Newman for the EggBot project. +# +# The MIT License (MIT) +# +# Copyright (c) 2020 Windell H. Oskay, Evil Mad Science LLC +# www.evilmadscientist.com +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import math +import sys +from lxml import etree +import inkex +import simpletransform +import simplestyle +import plot_utils + +""" +TODOs: + +* Apparent difference in execution time for portrait vs landscape document orientation. + Seems to be related to the _change_ + +* Implement path functions + + +<_option value=0>Leave as is +<_option value=1>Reorder subpaths +<_option value=2>Break apart + + +self.OptionParser.add_option( "--path_handling",\ +action="store", type="int", dest="path_handling",\ +default=1,help="How compound paths are handled") + + +* Consider re-introducing GUI method for rendering: + +false + + +""" + +class OptimizeSequenceTravelDistance(inkex.EffectExtension): + """ + Inkscape effect extension. + Re-order the objects in the SVG document for faster plotting. + Respect layers: Initialize a new dictionary of objects for each layer, and sort + objects within that layer only + Objects in root of document are treated as being on a _single_ layer, and will all + be sorted. + + """ + + def add_arguments(self, pars): + pars.add_argument( "--reordering",type=int, default=1, help="How groups are handled") + pars.add_argument( "--preview_rendering",type=inkex.Boolean, default=False, help="Preview rendering") # Rendering is available for debug purposes. It only previews pen-up movements that are reordered and typically does not include all possible movement. + self.auto_rotate = True + + def effect(self): + # Main entry point of the program + + self.svg_width = 0 + self.svg_height = 0 + self.air_total_default = 0 + self.air_total_sorted = 0 + self.printPortrait = False + + self.layer_index = 0 # index for coloring layers + self.svg = self.document.getroot() + self.DocUnits = "in" # Default + self.DocUnits = self.svg.unit + self.unit_scaling = 1 + self.getDocProps() + + """ + Set up the document-wide transforms to handle SVG viewbox + """ + + matCurrent = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]] + + viewbox = self.svg.get( 'viewBox' ) + + vb = self.svg.get('viewBox') + if vb: + p_a_r = self.svg.get('preserveAspectRatio') + sx,sy,ox,oy = plot_utils.vb_scale(vb, p_a_r, self.svg_width, self.svg_height) + else: + sx = 1.0 / float(plot_utils.PX_PER_INCH) # Handle case of no viewbox + sy = sx + ox = 0.0 + oy = 0.0 + + # Initial transform of document is based on viewbox, if present: + matCurrent = simpletransform.parseTransform('scale({0:.6E},{1:.6E}) translate({2:.6E},{3:.6E})'.format(sx, sy, ox, oy)) + # Set up x_last, y_last, which keep track of last known pen position + # The initial position is given by the expected initial pen position + + self.y_last = 0 + + if (self.printPortrait): + self.x_last = self.svg_width + else: + self.x_last = 0 + + parent_vis='visible' + + self.root_nodes = [] + + if self.options.preview_rendering == True: + # Remove old preview layers, if rendering is enabled + for node in self.svg: + if node.tag == inkex.addNS( 'g', 'svg' ) or node.tag == 'g': + if ( node.get( inkex.addNS( 'groupmode', 'inkscape' ) ) == 'layer' ): + LayerName = node.get( inkex.addNS( 'label', 'inkscape' ) ) + if LayerName == '% Preview': + self.svg.remove( node ) + + preview_transform = simpletransform.parseTransform( + 'translate({2:.6E},{3:.6E}) scale({0:.6E},{1:.6E})'.format( + 1.0/sx, 1.0/sy, -ox, -oy)) + path_attrs = { 'transform': simpletransform.formatTransform(preview_transform)} + self.preview_layer = etree.Element(inkex.addNS('g', 'svg'), + path_attrs, nsmap=inkex.NSS) + + + self.preview_layer.set( inkex.addNS('groupmode', 'inkscape' ), 'layer' ) + self.preview_layer.set( inkex.addNS( 'label', 'inkscape' ), '% Preview' ) + self.svg.append( self.preview_layer ) + + + # Preview stroke width: 1/1000 of page width or height, whichever is smaller + if self.svg_width < self.svg_height: + width_du = self.svg_width / 1000.0 + else: + width_du = self.svg_height / 1000.0 + + """ + Stroke-width is a css style element, and cannot accept scientific notation. + + Thus, in cases with large scaling (i.e., high values of 1/sx, 1/sy) + resulting from the viewbox attribute of the SVG document, it may be necessary to use + a _very small_ stroke width, so that the stroke width displayed on the screen + has a reasonable width after being displayed greatly magnified thanks to the viewbox. + + Use log10(the number) to determine the scale, and thus the precision needed. + """ + + log_ten = math.log10(width_du) + if log_ten > 0: # For width_du > 1 + width_string = "{0:.3f}".format(width_du) + else: + prec = int(math.ceil(-log_ten) + 3) + width_string = "{0:.{1}f}".format(width_du, prec) + + self.p_style = {'stroke-width': width_string, 'fill': 'none', + 'stroke-linejoin': 'round', 'stroke-linecap': 'round'} + + self.svg = self.parse_svg(self.svg, matCurrent) + + + def parse_svg(self, input_node, mat_current=None, parent_vis='visible'): + """ + Input: An SVG node (usually) containing other nodes: + The SVG root, a layer, sublayer, or other group. + Output: The re-ordered node. The contents are reordered with the greedy + algorithm, except: + - Layers and sublayers are preserved. The contents of each are + re-ordered for faster plotting. + - Groups are either preserved, broken apart, or re-ordered within + the group, depending on the value of group_mode. + """ + + coord_dict = {} + # coord_dict maps a node ID to the following data: + # Is the node plottable, first coordinate pair, last coordinate pair. + # i.e., Node_id -> (Boolean: plottable, Xi, Yi, Xf, Yf) + + group_dict = {} + # group_dict maps a node ID for a group to the contents of that group. + # The contents may be a preserved nested group or a flat list, depending + # on the selected group handling mode. Example: + # group_dict = {'id_1': , + # 'id_2': + + nodes_to_delete = [] + + counter = 0 # TODO: Replace this with better unique ID system + + # Account for input_node's transform and any transforms above it: + if mat_current is None: + mat_current = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]] + try: + matNew = simpletransform.composeTransform( mat_current, + simpletransform.parseTransform( input_node.get( "transform" ))) + except AttributeError: + matNew = mat_current + + for node in input_node: + # Step through each object within the top-level input node + + + if node.tag is etree.Comment: + continue + + try: + id = node.get( 'id' ) + except AttributeError: + id = self.svg.get_unique_id("1",True) + node.set( 'id', id) + if id == None: + id = self.svg.get_unique_id("1",True) + node.set( 'id', id) + + + # First check for object visibility: + skip_object = False + + # Check for "display:none" in the node's style attribute: + style = dict(inkex.Style.parse_str(node.get('style'))) + if 'display' in style.keys() and style['display'] == 'none': + skip_object = True # Plot neither this object nor its children + + # The node may have a display="none" attribute as well: + if node.get( 'display' ) == 'none': + skip_object = True # Plot neither this object nor its children + + # Visibility attributes control whether a given object will plot. + # Children of hidden (not visible) parents may be plotted if + # they assert visibility. + visibility = node.get( 'visibility', parent_vis ) + + if 'visibility' in style.keys(): + visibility = style['visibility'] # Style may override attribute. + + if visibility == 'inherit': + visibility = parent_vis + + if visibility != 'visible': + skip_object = True # Skip this object and its children + + # Next, check to see if this inner node is itself a group or layer: + if node.tag == inkex.addNS( 'g', 'svg' ) or node.tag == 'g': + + # Use the user-given option to decide what to do with subgroups: + subgroup_mode = self.options.reordering + +# Values of the parameter: +# subgroup_mode=="1": Preserve groups +# subgroup_mode=="2": Reorder within groups +# subgroup_mode=="3": Break apart groups + + if node.get(inkex.addNS('groupmode', 'inkscape')) == 'layer': + # The node is a layer or sub-layer, not a regular group. + # Parse it separately, and re-order its contents. + + subgroup_mode = 2 # Always sort within each layer. + self.layer_index += 1 + + layer_name = node.get( inkex.addNS( 'label', 'inkscape' ) ) + + if sys.version_info < (3,): # Yes this is ugly. More elegant suggestions welcome. :) + layer_name = layer_name.encode( 'ascii', 'ignore' ) #Drop non-ascii characters + else: + layer_name = str(layer_name) + layer_name.lstrip # Remove leading whitespace + + if layer_name: + if layer_name[0] == '%': # First character is '%'; This + skip_object = True # is a documentation layer; skip plotting. + self.layer_index -= 1 # Set this back to previous value. + + if skip_object: + # Do not re-order hidden groups or layers. + subgroup_mode = 1 # Preserve this group + + if subgroup_mode == 3: + # Break apart this non-layer subgroup and add it to + # the set of things to be re-ordered. + + nodes_to_delete.append(node) + nodes_inside_group = self.group2NodeDict(node) + + for a_node in nodes_inside_group: + try: + id = a_node.get( 'id' ) + except AttributeError: + id = self.uniqueId("1",True) + a_node.set( 'id', id) + if id == None: + id = self.uniqueId("1",True) + a_node.set( 'id', id) + + # Use getFirstPoint and getLastPoint on each object: + start_plottable, first_point = self.getFirstPoint(a_node, matNew) + end_plottable, last_point = self.getLastPoint(a_node, matNew) + + coord_dict[id] = (start_plottable and end_plottable, + first_point[0], first_point[1], last_point[0], last_point[1] ) + # Entry in group_dict is this node + group_dict[id] = a_node + + elif subgroup_mode == 2: + # Reorder a layer or subgroup with a recursive call. + + node = self.parse_svg(node, matNew, visibility) + + # Capture the first and last x,y coordinates of the optimized node + start_plottable, first_point = self.group_first_pt(node, matNew) + end_plottable, last_point = self.group_last_pt(node, matNew) + + # Then add this optimized node to the coord_dict + coord_dict[id] = (start_plottable and end_plottable, + first_point[0], first_point[1], last_point[0], last_point[1] ) + # Entry in group_dict is this node + group_dict[id] = node + + else: # (subgroup_mode == 1) + # Preserve the group, but find its first and last point so + # that it can be re-ordered with respect to other items + + if skip_object: + start_plottable = False + end_plottable = False + first_point = [(-1.), (-1.)] + last_point = [(-1.), (-1.)] + else: + start_plottable, first_point = self.group_first_pt(node, matNew) + end_plottable, last_point = self.group_last_pt(node, matNew) + + coord_dict[id] = (start_plottable and end_plottable, + first_point[0], first_point[1], last_point[0], last_point[1] ) + # Entry in group_dict is this node + group_dict[id] = node + + else: # Handle objects that are not groups + if skip_object: + start_plottable = False + end_plottable = False + first_point = [(-1.), (-1.)] + last_point = [(-1.), (-1.)] + else: + start_plottable, first_point = self.getFirstPoint(node, matNew) + end_plottable, last_point = self.getLastPoint(node, matNew) + + coord_dict[id] = (start_plottable and end_plottable, + first_point[0], first_point[1], last_point[0], last_point[1] ) + group_dict[id] = node # Entry in group_dict is this node + + # Perform the re-ordering: + ordered_element_list = self.ReorderNodeList(coord_dict, group_dict) + + # Once a better order for the svg elements has been determined, + # All there is do to is to reintroduce the nodes to the parent in the correct order + for elt in ordered_element_list: + # Creates identical node at the correct location according to ordered_element_list + input_node.append(elt) + # Once program is finished parsing through + for element_to_remove in nodes_to_delete: + try: + input_node.remove(element_to_remove) + except ValueError: + inkex.errormsg(str(element_to_remove.get('id'))+" is not a member of " + str(input_node.get('id'))) + + return input_node + + + def break_apart_path(self, path): + """ + An SVG path may contain multiple distinct portions, that are normally separated + by pen-up movements. + + This function takes the path data string from an SVG path, parses it, and returns + a dictionary of independent path data strings, each of which represents a single + pen-down movement. It is equivalent to the Inkscape function Path > Break Apart + + Input: path data string, representing a single SVG path + Output: Dictionary of (separated) path data strings + + """ + MaxLength = len(path) + ix = 0 + move_to_location = [] + path_dictionary = {} + path_list = [] + path_number = 1 + + # Search for M or m location + while ix < MaxLength: + if(path[ix] == 'm' or path[ix] == 'M'): + move_to_location.append(ix) + ix = ix + 1 + # Iterate through every M or m location in our list of move to instructions + # Slice the path string according to path beginning and ends as indicated by the + # location of these instructions + + for counter, m in enumerate(move_to_location): + if (m == move_to_location[-1]): + # last entry + path_list.append(path[m:MaxLength].rstrip()) + else: + path_list.append(path[m:move_to_location[counter + 1]].rstrip()) + + for counter, current_path in enumerate(path_list): + + # Enumerate over every entry in the path looking for relative m commands + if current_path[0] == 'm' and counter > 0: + # If path contains relative m command, the best case is when the last command + # was a Z or z. In this case, all relative operations are performed relative to + # initial x, y coordinates of the previous path + + if path_list[counter -1][-1].upper() == 'Z': + current_path_x, current_path_y,index = self.getFirstPoint(current_path, matNew) + prev_path_x, prev_path_y,ignore = self.getFirstPoint(path_list[counter-1]) + adapted_x = current_path_x + prev_path_x + adapted_y = current_path_y + prev_path_y + # Now we can replace the path data with an Absolute Move to instruction + # HOWEVER, we need to adapt all the data until we reach a different command in the case of a repeating + path_list[counter] = "m "+str(adapted_x)+","+str(adapted_y) + ' ' +current_path[index:] + + # If there is no z or absolute commands, we need to parse the entire path + else: + + # scan path for absolute coordinates. If present, begin parsing from their index + # instead of the beginning + prev_path = path_list[counter-1] + prev_path_length = len(prev_path) + jx = 0 + x_val, y_val = 0,0 + # Check one char at a time + # until we have the moveTo Command + last_command = '' + is_absolute_command = False + repeated_command = False + # name of command + # how many parameters we need to skip + accepted_commands = { + 'M':0, + 'L':0, + 'H':0, + 'V':0, + 'C':4, + 'S':2, + 'Q':2, + 'T':0, + 'A':5 + } + + # If there is an absolute command which specifies a new initial point + # then we can save time by setting our index directly to its location in the path data + # See if an accepted_command is present in the path data. If it is present further in the + # string than any command found before, then set the pointer to that location + # if a command is not found, find() will return a -1. jx is initialized to 0, so if no matches + # are found, the program will parse from the beginning to the end of the path + + for keys in 'MLCSQTA': # TODO: Compare to last_point; see if we can clean up this part + if(prev_path.find(keys) > jx): + jx = prev_path.find(keys) + + while jx < prev_path_length: + + temp_x_val = '' + temp_y_val = '' + num_of_params_to_skip = 0 + + # SVG Path commands can be repeated + if (prev_path[jx].isdigit() and last_command): + repeated_command = True + else: + repeated_command = False + + if (prev_path[jx].isalpha() and prev_path[jx].upper() in accepted_commands) or repeated_command: + + if repeated_command: + #is_relative_command is saved from last iteration of the loop + current_command = last_command + else: + # If the character is accepted, we must parse until reach the x y coordinates + is_absolute_command = prev_path[jx].isupper() + current_command = prev_path[jx].upper() + + # Each command has a certain number of parameters we must pass before we reach the + # information we care about. We will parse until we know that we have reached them + + # Get to start of next number + # We will know we have reached a number if the current character is a +/- sign + # or current character is a digit + while jx < prev_path_length: + if(prev_path[jx] in '+-' or prev_path[jx].isdigit()): + break + jx = jx + 1 + + # We need to parse past the unused parameters in our command + # The number of parameters to parse past is dependent on the command and stored + # as the value of accepted_command + # Spaces and commas are used to deliniate paramters + while jx < prev_path_length and num_of_params_to_skip < accepted_commands[current_command]: + if(prev_path[jx].isspace() or prev_path[jx] == ','): + num_of_params_to_skip = num_of_params_to_skip + 1 + jx = jx + 1 + + # Now, we are in front of the x character + + if current_command.upper() == 'V': + temp_x_val = 0 + + if current_command.upper() == 'H': + temp_y_val = 0 + + # Parse until next character is a digit or +/- character + while jx < prev_path_length and current_command.upper() != 'V': + if(prev_path[jx] in '+-' or prev_path[jx].isdigit()): + break + jx = jx + 1 + + # Save each next character until we reach a space + while jx < prev_path_length and current_command.upper() != 'V' and not (prev_path[jx].isspace() or prev_path[jx] == ','): + temp_x_val = temp_x_val + prev_path[jx] + jx = jx + 1 + + # Then we know we have completely parsed the x character + + # Now we are in front of the y character + + # Parse until next character is a digit or +/- character + while jx < prev_path_length and current_command.upper() != 'H': + if(prev_path[jx] in '+-' or prev_path[jx].isdigit()): + break + jx = jx + 1 + + ## Save each next character until we reach a space + while jx < prev_path_length and current_command.upper() != 'H' and not (prev_path[jx].isspace() or prev_path[jx] == ','): + temp_y_val = temp_y_val + prev_path[jx] + jx = jx + 1 + + # Then we know we have completely parsed the y character + + if is_absolute_command: + + if current_command == 'H': + # Absolute commands create new x,y position + try: + x_val = float(temp_x_val) + except ValueError: + pass + elif current_command == 'V': + # Absolute commands create new x,y position + try: + y_val = float(temp_y_val) + except ValueError: + pass + else: + # Absolute commands create new x,y position + try: + x_val = float(temp_x_val) + y_val = float(temp_y_val) + except ValueError: + pass + else: + + if current_command == 'h': + # Absolute commands create new x,y position + try: + x_val = x_val + float(temp_x_val) + except ValueError: + pass + elif current_command == 'V': + # Absolute commands create new x,y position + try: + y_val = y_val + float(temp_y_val) + except ValueError: + pass + else: + # Absolute commands create new x,y position + try: + x_val = x_val + float(temp_x_val) + y_val = y_val + float(temp_y_val) + except ValueError: + pass + last_command = current_command + jx = jx + 1 + x,y,index = self.getFirstPoint(current_path,None) + path_list[counter] = "m "+str(x_val+x)+","+str(y_val+y) + ' ' + current_path[index:] + + for counter, path in enumerate(path_list): + path_dictionary['ad_path'+ str(counter)] = path + + return path_dictionary + + + def getFirstPoint(self, node, matCurrent): + """ + Input: (non-group) node and parent transformation matrix + Output: Boolean value to indicate if the svg element is plottable and + two floats stored in a list representing the x and y coordinates we plot first + """ + + # first apply the current matrix transform to this node's transform + matNew = simpletransform.composeTransform( matCurrent, simpletransform.parseTransform( node.get( "transform" ) ) ) + + point = [float(-1), float(-1)] + try: + if node.tag == inkex.addNS( 'path', 'svg' ): + + pathdata = node.get('d') + + point = plot_utils.pathdata_first_point(pathdata) + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS( 'rect', 'svg' ) or node.tag == 'rect': + + """ + The x,y coordinates for a rect are included in their specific attributes + If there is a transform, we need translate the x & y coordinates to their + correct location via applyTransformToPoint. + """ + + point[0] = float( node.get( 'x' ) ) + point[1] = float( node.get( 'y' ) ) + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS( 'line', 'svg' ) or node.tag == 'line': + """ + The x1 and y1 attributes are where we will start to draw + So, get them, apply the transform matrix, and return the point + """ + + point[0] = float( node.get( 'x1' ) ) + point[1] = float( node.get( 'y1' ) ) + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + + if node.tag == inkex.addNS( 'polyline', 'svg' ) or node.tag == 'polyline': + pl = node.get( 'points', '' ).strip() + + if pl == '': + return False, point + + pa = pl.replace(',',' ').split() # replace comma with space before splitting + + if not pa: + return False, point + pathLength = len( pa ) + if (pathLength < 4): # Minimum of x1,y1 x2,y2 required. + return False, point + + d = "M " + pa[0] + " " + pa[1] + i = 2 + while (i < (pathLength - 1 )): + d += " L " + pa[i] + " " + pa[i + 1] + i += 2 + + point = plot_utils.pathdata_first_point(d) + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if (node.tag == inkex.addNS( 'polygon', 'svg' ) or + node.tag == 'polygon'): + """ + We need to extract x1 and y1 from these: + + We accomplish this with Python string strip + and split methods. Then apply transforms + """ + # Strip() removes all whitespace from the start and end of p1 + pl = node.get( 'points', '' ).strip() + if (pl == ''): + # If pl is blank there has been an error, return False and -1,-1 to indicate a problem has occured + return False, point + # Split string by whitespace + pa = pl.split() + if not len( pa ): + # If pa is blank there has been an error, return False and -1,-1 to indicate a problem has occured + return False, point + # pa[0] = "x1,y1 + # split string via comma to get x1 and y1 individually + # then point = [x1,x2] + point = pa[0].split(",") + + point = [float(point[0]),float(point[1])] + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS( 'ellipse', 'svg' ) or \ + node.tag == 'ellipse': + + cx = float( node.get( 'cx', '0' ) ) + cy = float( node.get( 'cy', '0' ) ) + rx = float( node.get( 'rx', '0' ) ) + + point[0] = cx - rx + point[1] = cy + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS( 'circle', 'svg' ) or \ + node.tag == 'circle': + cx = float( node.get( 'cx', '0' ) ) + cy = float( node.get( 'cy', '0' ) ) + r = float( node.get( 'r', '0' ) ) + point[0] = cx - r + point[1] = cy + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS('symbol', 'svg') or node.tag == 'symbol': + # A symbol is much like a group, except that + # it's an invisible object. + return False, point # Skip this element. + + if node.tag == inkex.addNS('use', 'svg') or node.tag == 'use': + + """ + A element refers to another SVG element via an xlink:href="#blah" + attribute. We will handle the element by doing an XPath search through + the document, looking for the element with the matching id="blah" + attribute. We then recursively process that element after applying + any necessary (x,y) translation. + + Notes: + 1. We ignore the height and g attributes as they do not apply to + path-like elements, and + 2. Even if the use element has visibility="hidden", SVG still calls + for processing the referenced element. The referenced element is + hidden only if its visibility is "inherit" or "hidden". + 3. We may be able to unlink clones using the code in pathmodifier.py + """ + + refid = node.get(inkex.addNS('href', 'xlink')) + + if refid is not None: + # [1:] to ignore leading '#' in reference + path = '//*[@id="{0}"]'.format(refid[1:]) + refnode = node.xpath(path) + if refnode is not None: + + x = float(node.get('x', '0')) + y = float(node.get('y', '0')) + + # Note: the transform has already been applied + if x != 0 or y != 0: + mat_new2 = simpletransform.composeTransform(matNew, simpletransform.parseTransform('translate({0:f},{1:f})'.format(x, y))) + else: + mat_new2 = matNew + # Note that the referenced object may be a 'symbol`, + # which acts like a group, or it may be a simple + # object. + + if len(refnode) > 0: + plottable, the_point = self.group_first_pt(refnode[0], mat_new2) + else: + plottable, the_point = self.group_first_pt(refnode, mat_new2) + + return plottable, the_point + except: + pass + + # Svg Object is not a plottable element + # In this case, return False to indicate a non-plottable element + # and a default point + + return False, point + + def getLastPoint(self, node, matCurrent): + """ + Input: XML tree node and transformation matrix + Output: Boolean value to indicate if the svg element is plottable or not and + two floats stored in a list representing the x and y coordinates we plot last + """ + + # first apply the current matrix transform to this node's transform + matNew = simpletransform.composeTransform( matCurrent, simpletransform.parseTransform( node.get( "transform" ) ) ) + + # If we return a negative value, we know that this function did not work + point = [float(-1), float(-1)] + try: + if node.tag == inkex.addNS( 'path', 'svg' ): + + path = node.get('d') + + point = plot_utils.pathdata_last_point(path) + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS( 'rect', 'svg' ) or node.tag == 'rect': + + """ + The x,y coordinates for a rect are included in their specific attributes + If there is a transform, we need translate the x & y coordinates to their + correct location via applyTransformToPoint. + """ + + point[0] = float( node.get( 'x' ) ) + point[1] = float( node.get( 'y' ) ) + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point # Same start and end points + + if node.tag == inkex.addNS( 'line', 'svg' ) or node.tag == 'line': + + """ + The x2 and y2 attributes are where we will end our drawing + So, get them, apply the transform matrix, and return the point + """ + + point[0] = float( node.get( 'x2' ) ) + point[1] = float( node.get( 'y2' ) ) + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS( 'polyline', 'svg' ) or node.tag == 'polyline': + + pl = node.get( 'points', '' ).strip() + + if pl == '': + return False, point + + pa = pl.replace(',',' ').split() + if not pa: + return False, point + pathLength = len( pa ) + if (pathLength < 4): # Minimum of x1,y1 x2,y2 required. + return False, point + + d = "M " + pa[0] + " " + pa[1] + i = 2 + while (i < (pathLength - 1 )): + d += " L " + pa[i] + " " + pa[i + 1] + i += 2 + + endpoint = plot_utils.pathdata_last_point(d) + simpletransform.applyTransformToPoint(matNew, endpoint) + + return True, endpoint + + if node.tag == inkex.addNS( 'polygon', 'svg' ) or node.tag == 'polygon': + """ + We need to extract x1 and y1 from these: + + We accomplish this with Python string strip + and split methods. Then apply transforms + """ + # Strip() removes all whitespace from the start and end of p1 + pl = node.get( 'points', '' ).strip() + if (pl == ''): + # If pl is blank there has been an error, return -1,-1 to indicate a problem has occured + return False, point + # Split string by whitespace + pa = pl.split() + if not len( pa ): + # If pl is blank there has been an error, return -1,-1 to indicate a problem has occured + return False, point + # pa[0] = "x1,y1 + # split string via comma to get x1 and y1 individually + # then point = [x1,x2] + point = pa[0].split(",") + + point = [float(point[0]),float(point[1])] + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS( 'ellipse', 'svg' ) or node.tag == 'ellipse': + + cx = float( node.get( 'cx', '0' ) ) + cy = float( node.get( 'cy', '0' ) ) + rx = float( node.get( 'rx', '0' ) ) + + point[0] = cx - rx + point[1] = cy + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS( 'circle', 'svg' ) or node.tag == 'circle': + cx = float( node.get( 'cx', '0' ) ) + cy = float( node.get( 'cy', '0' ) ) + r = float( node.get( 'r', '0' ) ) + point[0] = cx - r + point[1] = cy + + simpletransform.applyTransformToPoint(matNew, point) + + return True, point + + if node.tag == inkex.addNS('symbol', 'svg') or node.tag == 'symbol': + # A symbol is much like a group, except that it should only be + # rendered when called within a "use" tag. + return False, point # Skip this element. + + if node.tag == inkex.addNS('use', 'svg') or node.tag == 'use': + + """ + A element refers to another SVG element via an xlink:href="#blah" + attribute. We will handle the element by doing an XPath search through + the document, looking for the element with the matching id="blah" + attribute. We then recursively process that element after applying + any necessary (x,y) translation. + + Notes: + 1. We ignore the height and g attributes as they do not apply to + path-like elements, and + 2. Even if the use element has visibility="hidden", SVG still calls + for processing the referenced element. The referenced element is + hidden only if its visibility is "inherit" or "hidden". + 3. We may be able to unlink clones using the code in pathmodifier.py + """ + + refid = node.get(inkex.addNS('href', 'xlink')) + if refid is not None: + # [1:] to ignore leading '#' in reference + path = '//*[@id="{0}"]'.format(refid[1:]) + refnode = node.xpath(path) + if refnode is not None: + x = float(node.get('x', '0')) + y = float(node.get('y', '0')) + # Note: the transform has already been applied + if x != 0 or y != 0: + mat_new2 = simpletransform.composeTransform(matNew, simpletransform.parseTransform('translate({0:f},{1:f})'.format(x, y))) + else: + mat_new2 = matNew + if len(refnode) > 0: + plottable, the_point = self.group_last_pt(refnode[0], mat_new2) + else: + plottable, the_point = self.group_last_pt(refnode, mat_new2) + return plottable, the_point + except: + pass + + # Svg Object is not a plottable element; + # Return False and a default point + return False, point + + + def group_first_pt(self, group, matCurrent = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]): + """ + Input: A Node which we have found to be a group + Output: Boolean value to indicate if a point is plottable + float values for first x,y coordinates of svg element + """ + + if len(group) == 0: # Empty group -- The object may not be a group. + return self.getFirstPoint(group, matCurrent) + + success = False + point = [float(-1), float(-1)] + + # first apply the current matrix transform to this node's transform + matNew = simpletransform.composeTransform( matCurrent, simpletransform.parseTransform( group.get( "transform" ) ) ) + + # Step through the group, we examine each element until we find a plottable object + for subnode in group: + # Check to see if the subnode we are looking at in this iteration of our for loop is a group + # If it is a group, we must recursively call this function to search for a plottable object + if subnode.tag == inkex.addNS( 'g', 'svg' ) or subnode.tag == 'g': + # Verify that the nested group has objects within it + # otherwise we will not parse it + if subnode is not None: + # Check if group contains plottable elements by recursively calling group_first_pt + # If group contains plottable subnode, then it will return that value and escape the loop + # Else function continues search for first plottable object + success, point = self.group_first_pt(subnode, matNew) + if success: + # Subnode inside nested group is plottable! + # Break from our loop so we can return the first point of this plottable subnode + break + else: + continue + else: + # Node is not a group + # Get its first (x,y) coordinates + # Also get a Boolean value to indicate if the subnode is plottable or not + # If subnode is not plottable, continue to next subnode in the group + success, point = self.getFirstPoint(subnode, matNew) + + if success: + # Subnode inside group is plottable! + # Break from our loop so we can return the first point of this plottable subnode + break + else: + continue + return success, point + + + def group_last_pt(self, group, matCurrent=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]): + """ + Input: A Node which we have found to be a group + Output: The last node within the group which can be plotted + """ + + if len(group) == 0: # Empty group -- Did someone send an object that isn't a group? + return self.getLastPoint(group, matCurrent) + + success = False + point = [float(-1),float(-1)] + + # first apply the current matrix transform to this node's transform + matNew = simpletransform.composeTransform( matCurrent, simpletransform.parseTransform( group.get( "transform" ) ) ) + + # Step through the group, we examine each element until we find a plottable object + for subnode in reversed(group): + # Check to see if the subnode we are looking at in this iteration of our for loop is a group + # If it is a group, we must recursively call this function to search for a plottable object + if subnode.tag == inkex.addNS( 'g', 'svg' ) or subnode.tag == 'g': + # Verify that the nested group has objects within it + # otherwise we will not parse it + if subnode is not None: + # Check if group contains plottable elements by recursively calling group_last_pt + # If group contains plottable subnode, then it will return that value and escape the loop + # Else function continues search for last plottable object + success, point = self.group_last_pt(subnode, matNew) + if success: + # Subnode inside nested group is plottable! + # Break from our loop so we can return the first point of this plottable subnode + break + else: + continue + else: + # Node is not a group + # Get its first (x,y) coordinates + # Also get a Boolean value to indicate if the subnode is plottable or not + # If subnode is not plottable, continue to next subnode in the group + success, point = self.getLastPoint(subnode, matNew) + if success: + + # Subode inside nested group is plottable! + # Break from our loop so we can return the first point of this plottable subnode + break + else: + continue + return success, point + + + def group2NodeDict(self, group, mat_current=None): + + if mat_current is None: + mat_current = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]] + + # first apply the current matrix transform to this node's transform + matNew = simpletransform.composeTransform( mat_current, simpletransform.parseTransform( group.get( "transform" ) ) ) + + nodes_in_group = [] + + # Step through the group, we examine each element until we find a plottable object + for subnode in group: + # Check to see if the subnode we are looking at in this iteration of our for loop is a group + # If it is a group, we must recursively call this function to search for a plottable object + if subnode.tag == inkex.addNS( 'g', 'svg' ) or subnode.tag == 'g': + # Verify that the nested group has objects within it + # otherwise we will not parse it + if subnode is not None: + # Check if group contains plottable elements by recursively calling group_first_pt + # If group contains plottable subnode, then it will return that value and escape the loop + # Else function continues search for first plottable object + nodes_in_group.extend(self.group2NodeDict(subnode, matNew)) + else: + simpletransform.applyTransformToNode(matNew, subnode) + nodes_in_group.append(subnode) + return nodes_in_group + + + def ReorderNodeList(self, coord_dict, group_dict): + # Re-order the given set of SVG elements, using a simple "greedy" algorithm. + # The first object will be the element closest to the origin + # After this choice, the algorithm loops through all remaining elements looking for the element whose first x,y + # coordinates are closest to the the previous choice's last x,y coordinates + # This process continues until all elements have been sorted into ordered_element_list and removed from group_dict + + ordered_layer_element_list = [] + + # Continue until all elements have been re-ordered + while group_dict: + + nearest_dist = float('inf') + for key,node in group_dict.items(): + # Is this node non-plottable? + # If so, exit loop and append element to ordered_layer_element_list + if not coord_dict[key][0]: + # Object is not Plottable + nearest = node + nearest_id = key + continue + + # If we reach this point, node is plottable and needs to be considered in our algo + entry_x = coord_dict[key][1] # x-coordinate of first point of the path + entry_y = coord_dict[key][2] # y-coordinate of first point of the path + + exit_x = coord_dict[key][3] # x-coordinate of last point of the path + exit_y = coord_dict[key][4] # y-coordinate of last point of the path + + object_dist = (entry_x-self.x_last)*(entry_x-self.x_last) + (entry_y-self.y_last) * (entry_y-self.y_last) + # This is actually the distance squared; calculating it rather than the pythagorean distance + # saves a square root calculation. Right now, we only care about _which distance is less_ + # not the exact value of it, so this is a harmless shortcut. + # If this distance is smaller than the previous element's distance, then replace the previous + # element's entry with our current element's distance + if nearest_dist >= object_dist: + # We have found an element closer than the previous closest element + nearest = node + nearest_id = key + nearest_dist = object_dist + nearest_start_x = entry_x + nearest_start_y = entry_y + + # Now that the closest object has been determined, it is time to add it to the + # optimized list of closest objects + ordered_layer_element_list.append(nearest) + + # To determine the closest object in the next iteration of the loop, + # we must save the last x,y coor of this element + # If this element is plottable, then save the x,y coordinates + # If this element is non-plottable, then do not save the x,y coordinates + if coord_dict[nearest_id][0]: + + # Also, draw line indicating that we've found a new point. + if self.options.preview_rendering == True: + preview_path = [] # pen-up path data for preview + + preview_path.append("M{0:.3f} {1:.3f}".format( + self.x_last, self.y_last)) + preview_path.append("{0:.3f} {1:.3f}".format( + nearest_start_x, nearest_start_y)) + self.p_style.update({'stroke': self.color_index(self.layer_index)}) + path_attrs = { + 'style': str(inkex.Style(self.p_style)), + 'd': " ".join(preview_path)} + + etree.SubElement( self.preview_layer, + inkex.addNS( 'path', 'svg'), path_attrs, nsmap=inkex.NSS ) + + self.x_last = coord_dict[nearest_id][3] + self.y_last = coord_dict[nearest_id][4] + + # Remove this element from group_dict to indicate it has been optimized + del group_dict[nearest_id] + + # Once all elements have been removed from the group_dictionary + # Return the optimized list of svg elements in the layer + return ordered_layer_element_list + + + def color_index(self, index): + index = index % 9 + + if index == 0: + return "rgb(255, 0, 0))" + elif index == 1: + return "rgb(170, 85, 0))" + elif index == 2: + return "rgb(85, 170, 0))" + elif index == 3: + return "rgb(0, 255, 0))" + elif index == 4: + return "rgb(0, 170, 85))" + elif index == 5: + return "rgb(0, 85, 170))" + elif index == 6: + return "rgb(0, 0, 255))" + elif index == 7: + return "rgb(85, 0, 170))" + else: + return "rgb(170, 0, 85))" + + + def getDocProps(self): + """ + Get the document's height and width attributes from the tag. + Use a default value in case the property is not present or is + expressed in units of percentages. + """ + + self.svg_height = plot_utils.getLengthInches(self, 'height') + self.svg_width = plot_utils.getLengthInches(self, 'width') + + width_string = self.svg.get('width') + if width_string: + value, units = plot_utils.parseLengthWithUnits(width_string) + self.doc_units = units + + if self.auto_rotate and (self.svg_height > self.svg_width): + self.printPortrait = True + if self.svg_height is None or self.svg_width is None: + return False + else: + return True + + + def get_output(self): + # Return serialized copy of svg document output + result = etree.tostring(self.document) + return result.decode("utf-8") + +if __name__ == '__main__': + OptimizeSequenceTravelDistance().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/optimize_sequence_travel_distance/plot_utils.py b/extensions/fablabchemnitz/optimize_sequence_travel_distance/plot_utils.py new file mode 100644 index 0000000..db1dc5f --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_travel_distance/plot_utils.py @@ -0,0 +1,744 @@ +# plot_utils.py +# Common plotting utilities for EiBotBoard +# https://github.com/evil-mad/plotink +# +# Intended to provide some common interfaces that can be used by +# EggBot, WaterColorBot, AxiDraw, and similar machines. +# +# See below for version information +# +# +# The MIT License (MIT) +# +# Copyright (c) 2019 Windell H. Oskay, Evil Mad Scientist Laboratories +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +from math import sqrt + +import cspsubdiv +import simplepath +import bezmisc +import ffgeom + +def version(): # Version number for this document + return "0.16" # Dated 2019-06-18 + +__version__ = version() + +PX_PER_INCH = 96.0 +# This value has changed to 96 px per inch, as of version 0.12 of this library. +# Prior versions used 90 PPI, corresponding the value used in Inkscape < 0.92. +# For use with Inkscape 0.91 (or older), use PX_PER_INCH = 90.0 + +trivial_svg = """ + + + """ + +def checkLimits(value, lower_bound, upper_bound): + # Limit a value to within a range. + # Return constrained value with error boolean. + if value > upper_bound: + return upper_bound, True + if value < lower_bound: + return lower_bound, True + return value, False + + +def checkLimitsTol(value, lower_bound, upper_bound, tolerance): + # Limit a value to within a range. + # Return constrained value with error boolean. + # Allow a range of tolerance where we constrain the value without an error message. + + if value > upper_bound: + if value > (upper_bound + tolerance): + return upper_bound, True # Truncate & throw error + else: + return upper_bound, False # Truncate with no error + if value < lower_bound: + if value < (lower_bound - tolerance): + return lower_bound, True # Truncate & throw error + else: + return lower_bound, False # Truncate with no error + return value, False # Return original value without error + + +def clip_code(x, y, x_min, x_max, y_min, y_max): + # Encode point position with respect to boundary box + code = 0 + if x < x_min: + code = 1 # Left + if x > x_max: + code |= 2 # Right + if y < y_min: + code |= 4 # Top + if y > y_max: + code |= 8 # Bottom + return code + + +def clip_segment(segment, bounds): + """ + Given an input line segment [[x1,y1],[x2,y2]], as well as a + rectangular bounding region [[x_min,y_min],[x_max,y_max]], clip and + keep the part of the segment within the bounding region, using the + Cohen–Sutherland algorithm. + Return a boolean value, "accept", indicating that the output + segment is non-empty, as well as truncated segment, + [[x1',y1'],[x2',y2']], giving the portion of the input line segment + that fits within the bounds. + """ + + x1 = segment[0][0] + y1 = segment[0][1] + x2 = segment[1][0] + y2 = segment[1][1] + + x_min = bounds[0][0] + y_min = bounds[0][1] + x_max = bounds[1][0] + y_max = bounds[1][1] + + while True: # Repeat until return + code_1 = clip_code(x1, y1, x_min, x_max, y_min, y_max) + code_2 = clip_code(x2, y2, x_min, x_max, y_min, y_max) + + # Trivial accept: + if code_1 == 0 and code_2 == 0: + return True, segment # Both endpoints are within bounds. + # Trivial reject, if both endpoints are outside, and on the same side: + if code_1 & code_2: + return False, segment # Verify with bitwise AND. + + # Otherwise, at least one point is out of bounds; not trivial. + if code_1 != 0: + code = code_1 + else: + code = code_2 + + # Clip at a single boundary; may need to do this up to twice per vertex + + if code & 1: # Vertex on LEFT side of bounds: + x = x_min # Find intersection of our segment with x_min + slope = (y2 - y1) / (x2 - x1) + y = slope * (x_min - x1) + y1 + + elif code & 2: # Vertex on RIGHT side of bounds: + x = x_max # Find intersection of our segment with x_max + slope = (y2 - y1) / (x2 - x1) + y = slope * (x_max - x1) + y1 + + elif code & 4: # Vertex on TOP side of bounds: + y = y_min # Find intersection of our segment with y_min + slope = (x2 - x1) / (y2 - y1) + x = slope * (y_min - y1) + x1 + + elif code & 8: # Vertex on BOTTOM side of bounds: + y = y_max # Find intersection of our segment with y_max + slope = (x2 - x1) / (y2 - y1) + x = slope * (y_max - y1) + x1 + + if code == code_1: + x1 = x + y1 = y + else: + x2 = x + y2 = y + segment = [[x1,y1],[x2,y2]] # Now checking this clipped segment + + +def constrainLimits(value, lower_bound, upper_bound): + # Limit a value to within a range. + return max(lower_bound, min(upper_bound, value)) + + +def distance(x, y): + """ + Pythagorean theorem + """ + return sqrt(x * x + y * y) + + +def dotProductXY(input_vector_first, input_vector_second): + temp = input_vector_first[0] * input_vector_second[0] + input_vector_first[1] * input_vector_second[1] + if temp > 1: + return 1 + elif temp < -1: + return -1 + else: + return temp + + +def getLength(altself, name, default): + """ + Get the attribute with name "name" and default value "default" + Parse the attribute into a value and associated units. Then, accept + no units (''), units of pixels ('px'), and units of percentage ('%'). + Return value in px. + """ + string_to_parse = altself.document.getroot().get(name) + + if string_to_parse: + v, u = parseLengthWithUnits(string_to_parse) + if v is None: + return None + elif u == '' or u == 'px': + return float(v) + elif u == 'in': + return float(v) * PX_PER_INCH + elif u == 'mm': + return float(v) * PX_PER_INCH / 25.4 + elif u == 'cm': + return float(v) * PX_PER_INCH / 2.54 + elif u == 'Q' or u == 'q': + return float(v) * PX_PER_INCH / (40.0 * 2.54) + elif u == 'pc': + return float(v) * PX_PER_INCH / 6.0 + elif u == 'pt': + return float(v) * PX_PER_INCH / 72.0 + elif u == '%': + return float(default) * v / 100.0 + else: + # Unsupported units + return None + else: + # No width specified; assume the default value + return float(default) + + +def getLengthInches(altself, name): + """ + Get the attribute with name "name", and parse it as a length, + into a value and associated units. Return value in inches. + + As of version 0.11, units of 'px' or no units ('') are interpreted + as imported px, at a resolution of 96 px per inch, as per the SVG + specification. (Prior versions returned None in this case.) + + This allows certain imported SVG files, (imported with units of px) + to plot while they would not previously. However, it may also cause + new scaling issues in some circumstances. Note, for example, that + Adobe Illustrator uses 72 px per inch, and Inkscape used 90 px per + inch prior to version 0.92. + """ + string_to_parse = altself.document.getroot().get(name) + if string_to_parse: + v, u = parseLengthWithUnits(string_to_parse) + if v is None: + return None + elif u == 'in': + return float(v) + elif u == 'mm': + return float(v) / 25.4 + elif u == 'cm': + return float(v) / 2.54 + elif u == 'Q' or u == 'q': + return float(v) / (40.0 * 2.54) + elif u == 'pc': + return float(v) / 6.0 + elif u == 'pt': + return float(v) / 72.0 + elif u == '' or u == 'px': + return float(v) / 96.0 + else: + # Unsupported units, including '%' + return None + + +def parseLengthWithUnits(string_to_parse): + """ + Parse an SVG value which may or may not have units attached. + There is a more general routine to consider in scour.py if more + generality is ever needed. + """ + u = 'px' + s = string_to_parse.strip() + if s[-2:] == 'px': # pixels, at a size of PX_PER_INCH per inch + s = s[:-2] + elif s[-2:] == 'in': # inches + s = s[:-2] + u = 'in' + elif s[-2:] == 'mm': # millimeters + s = s[:-2] + u = 'mm' + elif s[-2:] == 'cm': # centimeters + s = s[:-2] + u = 'cm' + elif s[-2:] == 'pt': # points; 1pt = 1/72th of 1in + s = s[:-2] + u = 'pt' + elif s[-2:] == 'pc': # picas; 1pc = 1/6th of 1in + s = s[:-2] + u = 'pc' + elif s[-1:] == 'Q' or s[-1:] == 'q': # quarter-millimeters. 1q = 1/40th of 1cm + s = s[:-1] + u = 'Q' + elif s[-1:] == '%': + u = '%' + s = s[:-1] + + try: + v = float(s) + except: + return None, None + + return v, u + + +def unitsToUserUnits(input_string): + """ + Custom replacement for the unittouu routine in inkex.py + + Parse the attribute into a value and associated units. + Return value in user units (typically "px"). + """ + + v, u = parseLengthWithUnits(input_string) + if v is None: + return None + elif u == '' or u == 'px': + return float(v) + elif u == 'in': + return float(v) * PX_PER_INCH + elif u == 'mm': + return float(v) * PX_PER_INCH / 25.4 + elif u == 'cm': + return float(v) * PX_PER_INCH / 2.54 + elif u == 'Q' or u == 'q': + return float(v) * PX_PER_INCH / (40.0 * 2.54) + elif u == 'pc': + return float(v) * PX_PER_INCH / 6.0 + elif u == 'pt': + return float(v) * PX_PER_INCH / 72.0 + elif u == '%': + return float(v) / 100.0 + else: + # Unsupported units + return None + + +def subdivideCubicPath(sp, flat, i=1): + """ + Break up a bezier curve into smaller curves, each of which + is approximately a straight line within a given tolerance + (the "smoothness" defined by [flat]). + + This is a modified version of cspsubdiv.cspsubdiv(). I rewrote the recursive + call because it caused recursion-depth errors on complicated line segments. + """ + + while True: + while True: + if i >= len(sp): + return + p0 = sp[i - 1][1] + p1 = sp[i - 1][2] + p2 = sp[i][0] + p3 = sp[i][1] + + b = (p0, p1, p2, p3) + + if cspsubdiv.maxdist(b) > flat: + break + i += 1 + + one, two = bezmisc.beziersplitatt(b, 0.5) + sp[i - 1][2] = one[1] + sp[i][0] = two[2] + p = [one[2], one[3], two[1]] + sp[i:1] = [p] + +def max_dist_from_n_points(input): + """ + Like cspsubdiv.maxdist, but it can check for distances of any number of points >= 0. + + `input` is an ordered collection of points, each point specified as an x- and y-coordinate. + The first point and the last point define the segment we are finding distances from. + + does not mutate `input` + """ + assert len(input) >= 3, "There must be points (other than begin/end) to check." + + points = [ffgeom.Point(point[0], point[1]) for point in input] + segment = ffgeom.Segment(points.pop(0), points.pop()) + + distances = [segment.distanceToPoint(point) for point in points] + return max(distances) + +def supersample(vertices, tolerance): + """ + Given a list of vertices, remove some according to the following algorithm. + + Suppose that the vertex list consists of points A, B, C, D, E, and so forth, which define segments AB, BC, CD, DE, EF, and so on. + + We first test to see if vertex B can be removed, by using perpDistanceToPoint to check whether the distance between B and segment AC is less than tolerance. + If B can be removed, then check to see if the next vertex, C, can be removed. Both B and C can be removed if the both the distance between B and AD is less than Tolerance and the distance between C and AD is less than Tolerance. Continue removing additional vertices, so long as the perpendicular distance between every point removed and the resulting segment is less than tolerance (and the end of the vertex list is not reached). +If B cannot be removed, then move onto vertex C, and perform the same checks, until the end of the vertex list is reached. + """ + if len(vertices) <= 2: # there is nothing to delete + return vertices + + start_index = 0 # can't remove first vertex + while start_index < len(vertices) - 2: + end_index = start_index + 2 + # test the removal of (start_index, end_index), exclusive until we can't advance end_index + while (max_dist_from_n_points(vertices[start_index:end_index + 1]) < tolerance + and end_index < len(vertices)): + end_index += 1 # try removing the next vertex too + + vertices[start_index + 1:end_index - 1] = [] # delete (start_index, end_index), exclusive + start_index += 1 + +def userUnitToUnits(distance_uu, unit_string): + """ + Custom replacement for the uutounit routine in inkex.py + + Parse the attribute into a value and associated units. + Return value in user units (typically "px"). + """ + + if distance_uu is None: # Couldn't parse the value + return None + elif unit_string == '' or unit_string == 'px': + return float(distance_uu) + elif unit_string == 'in': + return float(distance_uu) / PX_PER_INCH + elif unit_string == 'mm': + return float(distance_uu) / (PX_PER_INCH / 25.4) + elif unit_string == 'cm': + return float(distance_uu) / (PX_PER_INCH / 2.54) + elif unit_string == 'Q' or unit_string == 'q': + return float(distance_uu) / (PX_PER_INCH / (40.0 * 2.54)) + elif unit_string == 'pc': + return float(distance_uu) / (PX_PER_INCH / 6.0) + elif unit_string == 'pt': + return float(distance_uu) / (PX_PER_INCH / 72.0) + elif unit_string == '%': + return float(distance_uu) * 100.0 + else: + # Unsupported units + return None + + +def vb_scale(vb, p_a_r, doc_width, doc_height): + """" + Parse SVG viewbox and generate scaling parameters. + Reference documentation: https://www.w3.org/TR/SVG11/coords.html + + Inputs: + vb: Contents of SVG viewbox attribute + p_a_r: Contents of SVG preserveAspectRatio attribute + doc_width: Width of SVG document + doc_height: Height of SVG document + + Output: sx, sy, ox, oy + Scale parameters (sx,sy) and offset parameters (ox,oy) + + """ + if vb is None: + return 1,1,0,0 # No viewbox; return default transform + else: + vb_array = vb.strip().replace(',', ' ').split() + + if len(vb_array) < 4: + return 1,1,0,0 # invalid viewbox; return default transform + + min_x = float(vb_array[0]) # Viewbox offset: x + min_y = float(vb_array[1]) # Viewbox offset: y + width = float(vb_array[2]) # Viewbox width + height = float(vb_array[3]) # Viewbox height + + if width <= 0 or height <= 0: + return 1,1,0,0 # invalid viewbox; return default transform + + d_width = float(doc_width) + d_height = float(doc_height) + + if d_width <= 0 or d_height <= 0: + return 1,1,0,0 # invalid document size; return default transform + + ar_doc = d_height / d_width # Document aspect ratio + ar_vb = height / width # Viewbox aspect ratio + + # Default values of the two preserveAspectRatio parameters: + par_align = "xmidymid" # "align" parameter (lowercased) + par_mos = "meet" # "meetOrSlice" parameter + + if p_a_r is not None: + par_array = p_a_r.strip().replace(',', ' ').lower().split() + if len(par_array) > 0: + par0 = par_array[0] + if par0 == "defer": + if len(par_array) > 1: + par_align = par_array[1] + if len(par_array) > 2: + par_mos = par_array[2] + else: + par_align = par0 + if len(par_array) > 1: + par_mos = par_array[1] + + if par_align == "none": + # Scale document to fill page. Do not preserve aspect ratio. + # This is not default behavior, nor what happens if par_align + # is not given; the "none" value must be _explicitly_ specified. + + sx = d_width/ width + sy = d_height / height + ox = -min_x + oy = -min_y + return sx,sy,ox,oy + + """ + Other than "none", all situations fall into two classes: + + 1) (ar_doc >= ar_vb AND par_mos == "meet") + or (ar_doc < ar_vb AND par_mos == "slice") + -> In these cases, scale document up until VB fills doc in X. + + 2) All other cases, i.e., + (ar_doc < ar_vb AND par_mos == "meet") + or (ar_doc >= ar_vb AND par_mos == "slice") + -> In these cases, scale document up until VB fills doc in Y. + + Note in cases where the scaled viewbox exceeds the document + (page) boundaries (all "slice" cases and many "meet" cases where + an offset value is given) that this routine does not perform + any clipping, but subsequent clipping to the page boundary + is appropriate. + + Besides "none", there are 9 possible values of par_align: + xminymin xmidymin xmaxymin + xminymid xmidymid xmaxymid + xminymax xmidymax xmaxymax + """ + + if (((ar_doc >= ar_vb) and (par_mos == "meet")) + or ((ar_doc < ar_vb) and (par_mos == "slice"))): + # Case 1: Scale document up until VB fills doc in X. + + sx = d_width / width + sy = sx # Uniform aspect ratio + ox = -min_x + + scaled_vb_height = ar_doc * width + excess_height = scaled_vb_height - height + + if par_align in {"xminymin", "xmidymin", "xmaxymin"}: + # Case: Y-Min: Align viewbox to minimum Y of the viewport. + oy = -min_y + # OK: tested with Tall-Meet, Wide-Slice + + elif par_align in {"xminymax", "xmidymax", "xmaxymax"}: + # Case: Y-Max: Align viewbox to maximum Y of the viewport. + oy = -min_y + excess_height + # OK: tested with Tall-Meet, Wide-Slice + + else: # par_align in {"xminymid", "xmidymid", "xmaxymid"}: + # Default case: Y-Mid: Center viewbox on page in Y + oy = -min_y + excess_height / 2 + # OK: Tested with Tall-Meet, Wide-Slice + + return sx,sy,ox,oy + else: + # Case 2: Scale document up until VB fills doc in Y. + + sy = d_height / height + sx = sy # Uniform aspect ratio + oy = -min_y + + scaled_vb_width = height / ar_doc + excess_width = scaled_vb_width - width + + if par_align in {"xminymin", "xminymid", "xminymax"}: + # Case: X-Min: Align viewbox to minimum X of the viewport. + ox = -min_x + # OK: Tested with Tall-Slice, Wide-Meet + + elif par_align in {"xmaxymin", "xmaxymid", "xmaxymax"}: + # Case: X-Max: Align viewbox to maximum X of the viewport. + ox = -min_x + excess_width + # Need test: Tall-Slice, Wide-Meet + + else: # par_align in {"xmidymin", "xmidymid", "xmidymax"}: + # Default case: X-Mid: Center viewbox on page in X + ox = -min_x + excess_width / 2 + # OK: Tested with Tall-Slice, Wide-Meet + + return sx,sy,ox,oy + return 1,1,0,0 # Catch-all: return default transform + + +def vInitial_VF_A_Dx(v_final, acceleration, delta_x): + """ + Kinematic calculation: Maximum allowed initial velocity to arrive at distance X + with specified final velocity, and given maximum linear acceleration. + + Calculate and return the (real) initial velocity, given an final velocity, + acceleration rate, and distance interval. + + Uses the kinematic equation Vi^2 = Vf^2 - 2 a D_x , where + Vf is the final velocity, + a is the acceleration rate, + D_x (delta x) is the distance interval, and + Vi is the initial velocity. + + We are looking at the positive root only-- if the argument of the sqrt + is less than zero, return -1, to indicate a failure. + """ + initial_v_squared = (v_final * v_final) - (2 * acceleration * delta_x) + if initial_v_squared > 0: + return sqrt(initial_v_squared) + else: + return -1 + + +def vFinal_Vi_A_Dx(v_initial, acceleration, delta_x): + """ + Kinematic calculation: Final velocity with constant linear acceleration. + + Calculate and return the (real) final velocity, given an initial velocity, + acceleration rate, and distance interval. + + Uses the kinematic equation Vf^2 = 2 a D_x + Vi^2, where + Vf is the final velocity, + a is the acceleration rate, + D_x (delta x) is the distance interval, and + Vi is the initial velocity. + + We are looking at the positive root only-- if the argument of the sqrt + is less than zero, return -1, to indicate a failure. + """ + final_v_squared = (2 * acceleration * delta_x) + (v_initial * v_initial) + if final_v_squared > 0: + return sqrt(final_v_squared) + else: + return -1 + + +def pathdata_first_point(path): + """ + Return the first (X,Y) point from an SVG path data string + + Input: A path data string; the text of the 'd' attribute of an SVG path + Output: Two floats in a list representing the x and y coordinates of the first point + """ + + # Path origin's default values are used to see if we have + # Written anything to the path_origin variable yet + MaxLength = len(path) + ix = 0 + tempString = '' + x_val = '' + y_val = '' + # Check one char at a time + # until we have the moveTo Command + while ix < MaxLength: + if path[ix].upper() == 'M': + break + # Increment until we have M + ix = ix + 1 + + # Parse path until we reach a digit, decimal point or negative sign + while ix < MaxLength: + if(path[ix].isdigit()) or path[ix] == '.' or path[ix] == '-': + break + ix = ix + 1 + + # Add digits and decimal points to x_val + # Stop parsing when next character is neither a digit nor a decimal point + while ix < MaxLength: + if (path[ix].isdigit()): + tempString = tempString + path[ix] + x_val = float(tempString ) + ix = ix + 1 + # If next character is a decimal place, save the decimal and continue parsing + # This allows for paths without leading zeros to be parsed correctly + elif (path[ix] == '.' or path[ix] == '-'): + tempString = tempString + path[ix] + ix = ix + 1 + else: + ix = ix + 1 + break + + # Reset tempString for y coordinate + tempString = '' + + # Parse path until we reach a digit or decimal point + while ix < MaxLength: + if(path[ix].isdigit()) or path[ix] == '.' or path[ix] == '-': + break + ix = ix + 1 + + # Add digits and decimal points to y_val + # Stop parsin when next character is neither a digit nor a decimal point + while ix < MaxLength: + if (path[ix].isdigit() ): + tempString = tempString + path[ix] + y_val = float(tempString) + ix = ix + 1 + # If next character is a decimal place, save the decimal and continue parsing + # This allows for paths without leading zeros to be parsed correctly + elif (path[ix] == '.' or path[ix] == '-'): + tempString = tempString + path[ix] + ix = ix + 1 + else: + ix = ix + 1 + break + return [x_val,y_val] + + +def pathdata_last_point(path): + """ + Return the last (X,Y) point from an SVG path data string + + Input: A path data string; the text of the 'd' attribute of an SVG path + Output: Two floats in a list representing the x and y coordinates of the last point + """ + + command, params = simplepath.parsePath(path)[-1] # parsePath splits path into segments + + if command.upper() == 'Z': + return pathdata_first_point(path) # Trivial case + + """ + Otherwise: The last command should be in the set 'MLCQA' + - All commands converted to absolute by parsePath. + - Can ignore Z (case handled) + - Can ignore H,V, since those are converted to L by parsePath. + - Can ignore S, converted to C by parsePath. + - Can ignore T, converted to Q by parsePath. + + MLCQA: Commands all ending in (X,Y) pair. + """ + + x_val = params[-2] # Second to last parameter given + y_val = params[-1] # Last parameter given + + return [x_val,y_val] diff --git a/extensions/fablabchemnitz/optimize_sequence_travel_distance/simplepath.py b/extensions/fablabchemnitz/optimize_sequence_travel_distance/simplepath.py new file mode 100644 index 0000000..81e3cd9 --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_travel_distance/simplepath.py @@ -0,0 +1,211 @@ +""" +simplepath.py +functions for digesting paths into a simple list structure + +Copyright (C) 2005 Aaron Spike, aaron@ekips.org + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +""" +import re, math + +def lexPath(d): + """ + returns and iterator that breaks path data + identifies command and parameter tokens + """ + offset = 0 + length = len(d) + delim = re.compile(r'[ \t\r\n,]+') + command = re.compile(r'[MLHVCSQTAZmlhvcsqtaz]') + parameter = re.compile(r'(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)') + while 1: + m = delim.match(d, offset) + if m: + offset = m.end() + if offset >= length: + break + m = command.match(d, offset) + if m: + yield [d[offset:m.end()], True] + offset = m.end() + continue + m = parameter.match(d, offset) + if m: + yield [d[offset:m.end()], False] + offset = m.end() + continue + #TODO: create new exception + raise Exception('Invalid path data!') +''' +pathdefs = {commandfamily: + [ + implicitnext, + #params, + [casts,cast,cast], + [coord type,x,y,0] + ]} +''' +pathdefs = { + 'M':['L', 2, [float, float], ['x','y']], + 'L':['L', 2, [float, float], ['x','y']], + 'H':['H', 1, [float], ['x']], + 'V':['V', 1, [float], ['y']], + 'C':['C', 6, [float, float, float, float, float, float], ['x','y','x','y','x','y']], + 'S':['S', 4, [float, float, float, float], ['x','y','x','y']], + 'Q':['Q', 4, [float, float, float, float], ['x','y','x','y']], + 'T':['T', 2, [float, float], ['x','y']], + 'A':['A', 7, [float, float, float, int, int, float, float], ['r','r','a',0,'s','x','y']], + 'Z':['L', 0, [], []] + } +def parsePath(d): + """ + Parse SVG path and return an array of segments. + Removes all shorthand notation. + Converts coordinates to absolute. + """ + retval = [] + lexer = lexPath(d) + + pen = (0.0,0.0) + subPathStart = pen + lastControl = pen + lastCommand = '' + + while 1: + try: + token, isCommand = next(lexer) + except StopIteration: + break + params = [] + needParam = True + if isCommand: + if not lastCommand and token.upper() != 'M': + raise Exception('Invalid path, must begin with moveto.') + else: + command = token + else: + #command was omited + #use last command's implicit next command + needParam = False + if lastCommand: + if lastCommand.isupper(): + command = pathdefs[lastCommand][0] + else: + command = pathdefs[lastCommand.upper()][0].lower() + else: + raise Exception('Invalid path, no initial command.') + numParams = pathdefs[command.upper()][1] + while numParams > 0: + if needParam: + try: + token, isCommand = next(lexer) + if isCommand: + raise Exception('Invalid number of parameters') + except StopIteration: + raise Exception('Unexpected end of path') + cast = pathdefs[command.upper()][2][-numParams] + param = cast(token) + if command.islower(): + if pathdefs[command.upper()][3][-numParams]=='x': + param += pen[0] + elif pathdefs[command.upper()][3][-numParams]=='y': + param += pen[1] + params.append(param) + needParam = True + numParams -= 1 + #segment is now absolute so + outputCommand = command.upper() + + #Flesh out shortcut notation + if outputCommand in ('H','V'): + if outputCommand == 'H': + params.append(pen[1]) + if outputCommand == 'V': + params.insert(0,pen[0]) + outputCommand = 'L' + if outputCommand in ('S','T'): + params.insert(0,pen[1]+(pen[1]-lastControl[1])) + params.insert(0,pen[0]+(pen[0]-lastControl[0])) + if outputCommand == 'S': + outputCommand = 'C' + if outputCommand == 'T': + outputCommand = 'Q' + + #current values become "last" values + if outputCommand == 'M': + subPathStart = tuple(params[0:2]) + pen = subPathStart + if outputCommand == 'Z': + pen = subPathStart + else: + pen = tuple(params[-2:]) + + if outputCommand in ('Q','C'): + lastControl = tuple(params[-4:-2]) + else: + lastControl = pen + lastCommand = command + + retval.append([outputCommand,params]) + return retval + +def formatPath(a): + """Format SVG path data from an array""" + return "".join([cmd + " ".join([str(p) for p in params]) for cmd, params in a]) + +def translatePath(p, x, y): + for cmd,params in p: + defs = pathdefs[cmd] + for i in range(defs[1]): + if defs[3][i] == 'x': + params[i] += x + elif defs[3][i] == 'y': + params[i] += y + +def scalePath(p, x, y): + for cmd,params in p: + defs = pathdefs[cmd] + for i in range(defs[1]): + if defs[3][i] == 'x': + params[i] *= x + elif defs[3][i] == 'y': + params[i] *= y + elif defs[3][i] == 'r': # radius parameter + params[i] *= x + elif defs[3][i] == 's': # sweep-flag parameter + if x*y < 0: + params[i] = 1 - params[i] + elif defs[3][i] == 'a': # x-axis-rotation angle + if y < 0: + params[i] = - params[i] + +def rotatePath(p, a, cx = 0, cy = 0): + if a == 0: + return p + for cmd,params in p: + defs = pathdefs[cmd] + for i in range(defs[1]): + if defs[3][i] == 'x': + x = params[i] - cx + y = params[i + 1] - cy + r = math.sqrt((x**2) + (y**2)) + if r != 0: + theta = math.atan2(y, x) + a + params[i] = (r * math.cos(theta)) + cx + params[i + 1] = (r * math.sin(theta)) + cy + + +# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99 diff --git a/extensions/fablabchemnitz/optimize_sequence_travel_distance/simpletransform.py b/extensions/fablabchemnitz/optimize_sequence_travel_distance/simpletransform.py new file mode 100644 index 0000000..e615fc1 --- /dev/null +++ b/extensions/fablabchemnitz/optimize_sequence_travel_distance/simpletransform.py @@ -0,0 +1,261 @@ +''' +Copyright (C) 2006 Jean-Francois Barraud, barraud@math.univ-lille1.fr +Copyright (C) 2010 Alvin Penner, penner@vaxxine.com + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +barraud@math.univ-lille1.fr + +This code defines several functions to make handling of transform +attribute easier. +''' +import inkex, cubicsuperpath, bezmisc, simplestyle +import copy, math, re + +def parseTransform(transf,mat=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]): + if transf=="" or transf==None: + return(mat) + stransf = transf.strip() + result=re.match(r"(translate|scale|rotate|skewX|skewY|matrix)\s*\(([^)]*)\)\s*,?",stransf) +#-- translate -- + if result.group(1)=="translate": + args=result.group(2).replace(',',' ').split() + dx=float(args[0]) + if len(args)==1: + dy=0.0 + else: + dy=float(args[1]) + matrix=[[1,0,dx],[0,1,dy]] +#-- scale -- + if result.group(1)=="scale": + args=result.group(2).replace(',',' ').split() + sx=float(args[0]) + if len(args)==1: + sy=sx + else: + sy=float(args[1]) + matrix=[[sx,0,0],[0,sy,0]] +#-- rotate -- + if result.group(1)=="rotate": + args=result.group(2).replace(',',' ').split() + a=float(args[0])*math.pi/180 + if len(args)==1: + cx,cy=(0.0,0.0) + else: + cx,cy=map(float,args[1:]) + matrix=[[math.cos(a),-math.sin(a),cx],[math.sin(a),math.cos(a),cy]] + matrix=composeTransform(matrix,[[1,0,-cx],[0,1,-cy]]) +#-- skewX -- + if result.group(1)=="skewX": + a=float(result.group(2))*math.pi/180 + matrix=[[1,math.tan(a),0],[0,1,0]] +#-- skewY -- + if result.group(1)=="skewY": + a=float(result.group(2))*math.pi/180 + matrix=[[1,0,0],[math.tan(a),1,0]] +#-- matrix -- + if result.group(1)=="matrix": + a11,a21,a12,a22,v1,v2=result.group(2).replace(',',' ').split() + matrix=[[float(a11),float(a12),float(v1)], [float(a21),float(a22),float(v2)]] + + matrix=composeTransform(mat,matrix) + if result.end() < len(stransf): + return(parseTransform(stransf[result.end():], matrix)) + else: + return matrix + +def formatTransform(mat): + return ("matrix(%f,%f,%f,%f,%f,%f)" % (mat[0][0], mat[1][0], mat[0][1], mat[1][1], mat[0][2], mat[1][2])) + +def invertTransform(mat): + det = mat[0][0]*mat[1][1] - mat[0][1]*mat[1][0] + if det !=0: # det is 0 only in case of 0 scaling + # invert the rotation/scaling part + a11 = mat[1][1]/det + a12 = -mat[0][1]/det + a21 = -mat[1][0]/det + a22 = mat[0][0]/det + # invert the translational part + a13 = -(a11*mat[0][2] + a12*mat[1][2]) + a23 = -(a21*mat[0][2] + a22*mat[1][2]) + return [[a11,a12,a13],[a21,a22,a23]] + else: + return[[0,0,-mat[0][2]],[0,0,-mat[1][2]]] + +def composeTransform(M1,M2): + a11 = M1[0][0]*M2[0][0] + M1[0][1]*M2[1][0] + a12 = M1[0][0]*M2[0][1] + M1[0][1]*M2[1][1] + a21 = M1[1][0]*M2[0][0] + M1[1][1]*M2[1][0] + a22 = M1[1][0]*M2[0][1] + M1[1][1]*M2[1][1] + + v1 = M1[0][0]*M2[0][2] + M1[0][1]*M2[1][2] + M1[0][2] + v2 = M1[1][0]*M2[0][2] + M1[1][1]*M2[1][2] + M1[1][2] + return [[a11,a12,v1],[a21,a22,v2]] + +def composeParents(node, mat): + trans = node.get('transform') + if trans: + mat = composeTransform(parseTransform(trans), mat) + if node.getparent().tag == inkex.addNS('g','svg'): + mat = composeParents(node.getparent(), mat) + return mat + +def applyTransformToNode(mat,node): + m=parseTransform(node.get("transform")) + newtransf=formatTransform(composeTransform(mat,m)) + node.set("transform", newtransf) + +def applyTransformToPoint(mat,pt): + x = mat[0][0]*pt[0] + mat[0][1]*pt[1] + mat[0][2] + y = mat[1][0]*pt[0] + mat[1][1]*pt[1] + mat[1][2] + pt[0]=x + pt[1]=y + +def applyTransformToPath(mat,path): + for comp in path: + for ctl in comp: + for pt in ctl: + applyTransformToPoint(mat,pt) + +def fuseTransform(node): + if node.get('d')==None: + #FIXME: how do you raise errors? + raise AssertionError('can not fuse "transform" of elements that have no "d" attribute') + t = node.get("transform") + if t == None: + return + m = parseTransform(t) + d = node.get('d') + p = cubicsuperpath.parsePath(d) + applyTransformToPath(m,p) + node.set('d', cubicsuperpath.formatPath(p)) + del node.attrib["transform"] + +#################################################################### +##-- Some functions to compute a rough bbox of a given list of objects. +##-- this should be shipped out in an separate file... + +def boxunion(b1,b2): + if b1 is None: + return b2 + elif b2 is None: + return b1 + else: + return((min(b1[0],b2[0]), max(b1[1],b2[1]), min(b1[2],b2[2]), max(b1[3],b2[3]))) + +def roughBBox(path): + xmin,xMax,ymin,yMax = path[0][0][0][0],path[0][0][0][0],path[0][0][0][1],path[0][0][0][1] + for pathcomp in path: + for ctl in pathcomp: + for pt in ctl: + xmin = min(xmin,pt[0]) + xMax = max(xMax,pt[0]) + ymin = min(ymin,pt[1]) + yMax = max(yMax,pt[1]) + return xmin,xMax,ymin,yMax + +def refinedBBox(path): + xmin,xMax,ymin,yMax = path[0][0][1][0],path[0][0][1][0],path[0][0][1][1],path[0][0][1][1] + for pathcomp in path: + for i in range(1, len(pathcomp)): + cmin, cmax = cubicExtrema(pathcomp[i-1][1][0], pathcomp[i-1][2][0], pathcomp[i][0][0], pathcomp[i][1][0]) + xmin = min(xmin, cmin) + xMax = max(xMax, cmax) + cmin, cmax = cubicExtrema(pathcomp[i-1][1][1], pathcomp[i-1][2][1], pathcomp[i][0][1], pathcomp[i][1][1]) + ymin = min(ymin, cmin) + yMax = max(yMax, cmax) + return xmin,xMax,ymin,yMax + +def cubicExtrema(y0, y1, y2, y3): + cmin = min(y0, y3) + cmax = max(y0, y3) + d1 = y1 - y0 + d2 = y2 - y1 + d3 = y3 - y2 + if (d1 - 2*d2 + d3): + if (d2*d2 > d1*d3): + t = (d1 - d2 + math.sqrt(d2*d2 - d1*d3))/(d1 - 2*d2 + d3) + if (t > 0) and (t < 1): + y = y0*(1-t)*(1-t)*(1-t) + 3*y1*t*(1-t)*(1-t) + 3*y2*t*t*(1-t) + y3*t*t*t + cmin = min(cmin, y) + cmax = max(cmax, y) + t = (d1 - d2 - math.sqrt(d2*d2 - d1*d3))/(d1 - 2*d2 + d3) + if (t > 0) and (t < 1): + y = y0*(1-t)*(1-t)*(1-t) + 3*y1*t*(1-t)*(1-t) + 3*y2*t*t*(1-t) + y3*t*t*t + cmin = min(cmin, y) + cmax = max(cmax, y) + elif (d3 - d1): + t = -d1/(d3 - d1) + if (t > 0) and (t < 1): + y = y0*(1-t)*(1-t)*(1-t) + 3*y1*t*(1-t)*(1-t) + 3*y2*t*t*(1-t) + y3*t*t*t + cmin = min(cmin, y) + cmax = max(cmax, y) + return cmin, cmax + +def computeBBox(aList,mat=[[1,0,0],[0,1,0]]): + bbox=None + for node in aList: + m = parseTransform(node.get('transform')) + m = composeTransform(mat,m) + #TODO: text not supported! + d = None + if node.get("d"): + d = node.get('d') + elif node.get('points'): + d = 'M' + node.get('points') + elif node.tag in [ inkex.addNS('rect','svg'), 'rect', inkex.addNS('image','svg'), 'image' ]: + d = 'M' + node.get('x', '0') + ',' + node.get('y', '0') + \ + 'h' + node.get('width') + 'v' + node.get('height') + \ + 'h-' + node.get('width') + elif node.tag in [ inkex.addNS('line','svg'), 'line' ]: + d = 'M' + node.get('x1') + ',' + node.get('y1') + \ + ' ' + node.get('x2') + ',' + node.get('y2') + elif node.tag in [ inkex.addNS('circle','svg'), 'circle', \ + inkex.addNS('ellipse','svg'), 'ellipse' ]: + rx = node.get('r') + if rx is not None: + ry = rx + else: + rx = node.get('rx') + ry = node.get('ry') + cx = float(node.get('cx', '0')) + cy = float(node.get('cy', '0')) + x1 = cx - float(rx) + x2 = cx + float(rx) + d = 'M %f %f ' % (x1, cy) + \ + 'A' + rx + ',' + ry + ' 0 1 0 %f,%f' % (x2, cy) + \ + 'A' + rx + ',' + ry + ' 0 1 0 %f,%f' % (x1, cy) + + if d is not None: + p = cubicsuperpath.parsePath(d) + applyTransformToPath(m,p) + bbox=boxunion(refinedBBox(p),bbox) + + elif node.tag == inkex.addNS('use','svg') or node.tag=='use': + refid=node.get(inkex.addNS('href','xlink')) + path = '//*[@id="%s"]' % refid[1:] + refnode = node.xpath(path) + bbox=boxunion(computeBBox(refnode,m),bbox) + + bbox=boxunion(computeBBox(node,m),bbox) + return bbox + + +def computePointInNode(pt, node, mat=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]): + if node.getparent() is not None: + applyTransformToPoint(invertTransform(composeParents(node, mat)), pt) + return pt + + +# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99 diff --git a/extensions/fablabchemnitz/purge_duplicate_path_nodes/meta.json b/extensions/fablabchemnitz/purge_duplicate_path_nodes/meta.json new file mode 100644 index 0000000..2d9c48c --- /dev/null +++ b/extensions/fablabchemnitz/purge_duplicate_path_nodes/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Purge Duplicate Path Nodes", + "id": "fablabchemnitz.de.purge_duplicate_path_nodes", + "path": "purge_duplicate_path_nodes", + "dependent_extensions": null, + "original_name": "Remove duplicate nodes", + "original_id": "EllenWasbo.cutlings.RemoveDuplicateNodes", + "license": "GNU GPL v2", + "license_url": "https://gitlab.com/EllenWasbo/inkscape-extension-removeduplicatenodes/-/blob/master/removeDuplicateNodes.py", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/purge_duplicate_path_nodes", + "fork_url": "https://gitlab.com/EllenWasbo/inkscape-extension-removeduplicatenodes", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Purge+Duplicate+Path+Nodes", + "inkscape_gallery_url": null, + "main_authors": [ + "gitlab.com/EllenWasbo", + "github.com/eridur-de" + ] + } +] diff --git a/extensions/fablabchemnitz/purge_duplicate_path_nodes/purge_duplicate_path_nodes.inx b/extensions/fablabchemnitz/purge_duplicate_path_nodes/purge_duplicate_path_nodes.inx new file mode 100644 index 0000000..4fdb3b7 --- /dev/null +++ b/extensions/fablabchemnitz/purge_duplicate_path_nodes/purge_duplicate_path_nodes.inx @@ -0,0 +1,43 @@ + + + Purge Duplicate Path Nodes + fablabchemnitz.de.purge_duplicate_path_nodes + + + + false + 0.01 + false + 0.01 + false + 0.01 + true + + + + + + + + + + + + + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/purge_duplicate_path_nodes/purge_duplicate_path_nodes.py b/extensions/fablabchemnitz/purge_duplicate_path_nodes/purge_duplicate_path_nodes.py new file mode 100644 index 0000000..20d8364 --- /dev/null +++ b/extensions/fablabchemnitz/purge_duplicate_path_nodes/purge_duplicate_path_nodes.py @@ -0,0 +1,524 @@ +#!/usr/bin/env python3 +# coding=utf-8 +# +# Copyright (C) 2020 Ellen Wasboe, ellen@wasbo.net +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +""" +Remove duplicate nodes or interpolate nodes with distance less than specified. +Optionally: + join start and end node of each subpath if distance < threshold + join separate subpaths if end nodes closer than threshold +Joining subpaths can be done either by interpolating or straight line segment. +""" +import inkex +from inkex import bezier, CubicSuperPath +import numpy as np +from tkinter import messagebox + + +def join_search(xdiff, ydiff, limDist, idsIncluded): + """Search for loose ends to join if within limDist.""" + joinFlag = False + idJoin = -1 + dist = np.sqrt(np.add(np.power(xdiff, 2), np.power(ydiff, 2))) + minDist = np.amin(dist) + if minDist < limDist: + joinFlag = True + idMins = np.where(dist == minDist) + idMin = idMins[0] + idJoin = idsIncluded[idMin[0]] + + return [joinFlag, idJoin] + + +def reverse_sub(subPath): + """Reverse sub path.""" + subPath = subPath[::-1] + for i, s in enumerate(subPath): + subPath[i] = s[::-1] + + return subPath + + +def join_sub(sub1, sub2, interpolate_or_line): + """Join line segments by interpolation or straight line segment.""" + if interpolate_or_line == "1": + # interpolate end nodes + p1 = sub1[-1][-1] + p2 = sub2[0][0] + joinNode = [0.5 * (p1[0] + p2[0]), 0.5 * (p1[1] + p2[1])] + # remove end/start + input join + sub1[-1][1] = joinNode + sub1[-1][2] = sub2[0][2] + sub2.pop(0) + + newsub = sub1 + sub2 + + return newsub + + +def remove_duplicate_nodes( + elem, minlength, maxdist, maxdist2, allowReverse, optionJoin +): + + pp = elem.path.to_absolute() + + # register which subpaths are closed - to reset closing after + # info are lost in to_superpath + dList = str(pp).upper().split(" M") + closed = [] + li = 0 + for sub in dList: + if dList[li].find("Z") > -1: + closed.append(" Z ") + else: + closed.append("") + li += 1 + + new = [] + nSub = len(closed) + + xStart = np.zeros(nSub) # x start - prepare for joining subpaths + yStart = np.copy(xStart) + xEnd = np.copy(xStart) + yEnd = np.copy(xStart) + + s = 0 + for sub in pp.to_superpath(): + new.append([sub[0]]) + if maxdist2 > -1: + xStart[s] = sub[0][0][0] + yStart[s] = sub[0][0][1] + xEnd[s] = sub[-1][-1][0] + yEnd[s] = sub[-1][-1][1] + # remove segment if segment length is less than minimum set, + # keep position + i = 1 + lastCombined = False + while i <= len(sub) - 1: + length = bezier.cspseglength(new[-1][-1], sub[i]) # curve length + if length >= minlength: + new[-1].append(sub[i]) # add as is + lastCombined = False + else: + # keep including segments until total length > minlength + summedlength = length + proceed = True + e = 0 # extra segments + finishedAdding = False + while proceed and i + e + 1 <= len(sub) - 1: + nextlength = bezier.cspseglength(sub[i + e], sub[i + e + 1]) + if nextlength >= minlength: # not include the next segment + proceed = False + if lastCombined == False and i > 1: + # i.e.small group between long segments, + # average over the group, first node already added + + # change position to average + new[-1][-1][1][0] = 0.5 * ( + new[-1][-1][1][0] + sub[i + e][1][0] + ) + new[-1][-1][1][1] = 0.5 * ( + new[-1][-1][1][1] + sub[i + e][1][1] + ) + + # change last cp to that of the last node in group + new[-1][-1][2] = sub[i + e][2] + finishedAdding = True + else: + new[-1].append(sub[i]) # add as is + if e > 0: + # end of group with many segments - average over + # all but last node (which is added separately) + + # change position to average first/last + new[-1][-1][1][0] = 0.5 * ( + new[-1][-1][1][0] + sub[i + e - 1][1][0] + ) + new[-1][-1][1][1] = 0.5 * ( + new[-1][-1][1][1] + sub[i + e - 1][1][1] + ) + + # change last cp to that of the last node in group + new[-1][-1][2] = sub[i + e - 1][2] + new[-1].append(sub[i + e]) # add as is + finishedAdding = True + lastCombined = True + else: + summedlength = summedlength + nextlength + if summedlength >= minlength: + proceed = False + e = e + 1 + + if finishedAdding == False: + + if i == 1: + # if first segment keep position of first node, + # direction of last in group + new[-1][-1][2][0] = sub[i + e][2][0] + new[-1][-1][2][1] = sub[i + e][2][1] + elif i + e == len(sub) - 1: + # if last segment included keep position of last node, + # direction of previous + new[-1].append(sub[i]) # add first node in group + if e > 0: + new[-1].append(sub[i + e]) # add last node + # get first cp from i+1 + new[-1][-1][0] = sub[i + 1][0] + + else: + # average position over first/last in group and keep direction (controlpoint) of first/last node + # group within sequence of many close nodes - add new without averaging on previous + new[-1].append(sub[i]) # add first node in group + + # change position to average + new[-1][-1][1][0] = 0.5 * (new[-1][-1][1][0] + sub[i + e][1][0]) + new[-1][-1][1][1] = 0.5 * (new[-1][-1][1][1] + sub[i + e][1][1]) + + # change last cp to that of the last node in group + new[-1][-1][2] = sub[i + e][2] + + i = i + e + + i += 1 + + if closed[s] == " Z ": + # if new[-1][-1][1]==new[-1][-2][1]:#not always precise + new[-1].pop(-1) + # for some reason tosuperpath adds an extra node for closed paths + + # close each subpath where start/end node is closer than maxdist set + # (if not already closed) + if maxdist > -1: + if closed[s] == "": # ignore already closed paths + # calculate distance between first and last node, + # if <= maxdist set closed[i] to " Z " + # last=new[-1][-1] + length = bezier.cspseglength(new[-1][-1], sub[0]) + if length < maxdist: + newStartEnd = [ + 0.5 * (new[-1][-1][-1][0] + new[-1][0][0][0]), + 0.5 * (new[-1][-1][-1][1] + new[-1][0][0][1]), + ] + new[-1][0][0] = newStartEnd + new[-1][0][1] = newStartEnd + new[-1][-1][1] = newStartEnd + new[-1][-1][2] = newStartEnd + closed[s] = " Z " + + s += 1 + + # join different subpaths? + closed = np.array(closed) + openPaths = np.where(closed == "") + closedPaths = np.where(closed == " Z ") + if maxdist2 > -1 and openPaths[0].size > 1: + # calculate distance between end nodes of the subpaths. + # If distance < maxdist2 found - join + joinStartToEnd = np.ones(nSub, dtype=bool) + joinEndToStart = np.copy(joinStartToEnd) + joinEndTo = np.full(nSub, -1) + # set higher than maxdist2 to avoid join to closedPaths + joinEndTo[closedPaths] = 2 * maxdist2 + joinStartTo = np.copy(joinEndTo) + + # join end node of current subpath to startnode of any other + # or start node of current to end node of other (no reverse) + s = 0 + while s < nSub: + # end of current to start of other + if joinEndTo[s] == -1: + # find available start nodes + idsTest = np.where(joinStartTo == -1) + # avoid join to self + id2Test = np.delete(idsTest[0], np.where(idsTest[0] == s)) + if id2Test.size > 0: + # calculate distances in x/y direction + diff_x = np.subtract(xStart[id2Test], xEnd[s]) + diff_y = np.subtract(yStart[id2Test], yEnd[s]) + # find shortest distance if less than minimum + res = join_search(diff_x, diff_y, maxdist2, id2Test) + if res[0] == True: + # if match found flag end of this with id of other and flag start of match to end of this + joinEndTo[s] = res[1] + joinStartTo[res[1]] = s + + # start of current to end of other + if joinStartTo[s] == -1: + idsTest = np.where(joinEndTo == -1) + id2Test = np.delete(idsTest[0], np.where(idsTest[0] == s)) + if id2Test.size > 0: + diff_x = np.subtract(xEnd[id2Test], xStart[s]) + diff_y = np.subtract(yEnd[id2Test], yStart[s]) + res = join_search(diff_x, diff_y, maxdist2, id2Test) + if res[0] == True: + joinStartTo[s] = res[1] + joinEndTo[res[1]] = s + + if allowReverse == True: + # start to start - if match reverse (reverseSub[s]=True) + if joinStartTo[s] == -1: + idsTest = np.where(joinStartTo == -1) + id2Test = np.delete(idsTest[0], np.where(idsTest[0] == s)) + if id2Test.size > 0: + diff_x = np.subtract(xStart[id2Test], xStart[s]) + diff_y = np.subtract(yStart[id2Test], yStart[s]) + res = join_search(diff_x, diff_y, maxdist2, id2Test) + if res[0] == True: + jID = res[1] + joinStartTo[s] = jID + joinStartTo[jID] = s + joinStartToEnd[s] = False # false means reverse + joinStartToEnd[jID] = False + + # end to end + if joinEndTo[s] == -1: + idsTest = np.where(joinEndTo == -1) + id2Test = np.delete(idsTest[0], np.where(idsTest[0] == s)) + if id2Test.size > 0: + diff_x = np.subtract(xEnd[id2Test], xEnd[s]) + diff_y = np.subtract(yEnd[id2Test], yEnd[s]) + res = join_search(diff_x, diff_y, maxdist2, id2Test) + if res[0] == True: + jID = res[1] + joinEndTo[s] = jID + joinEndTo[jID] = s + joinEndToStart[s] = False + joinEndToStart[jID] = False + + s += 1 + + old = new + new = [] + s = 0 + movedTo = np.arange(nSub) + newClosed = [] + # avoid joining to other paths if already closed + joinEndTo[closedPaths] = -1 + joinStartTo[closedPaths] = -1 + + for s in range(0, nSub): + if movedTo[s] == s: # not joined yet + if joinEndTo[s] > -1 or joinStartTo[s] > -1: + # any join scheduled + thisSub = [] + closedThis = "" + if joinEndTo[s] > -1: + # join one by one until -1 or back to s (closed) + jID = joinEndTo[s] + sub1 = old[s] + sub2 = old[jID] + rev = True if joinEndToStart[s] == False else False + sub2 = reverse_sub(sub2) if rev == True else sub2 + thisSub = join_sub(sub1, sub2, optionJoin) + movedTo[jID] = s + prev = s + # continue if sub2 joined to more + if joinEndTo[jID] > -1 and joinStartTo[jID] > -1: + # already joined so both joined if continue + proceed = 1 + + while proceed == 1: + nID = ( + joinEndTo[jID] + if joinEndTo[jID] != prev + else joinStartTo[jID] + ) + if movedTo[nID] == s: + closedThis = " Z " + proceed = 0 + else: + sub2 = old[nID] + if ( + nID == joinEndTo[jID] + and joinStartTo[nID] == jID + ) or ( + nID == joinStartTo[jID] + and joinEndTo[nID] == jID + ): + pass + else: + rev = not rev + sub2 = reverse_sub(sub2) if rev == True else sub2 + thisSub = join_sub(thisSub, sub2, optionJoin) + movedTo[nID] = s + if joinEndTo[nID] > -1 and joinStartTo[nID] > -1: + prev = jID + jID = nID + else: + proceed = 0 + + if joinStartTo[s] > -1 and closedThis == "": + jID = joinStartTo[s] + sub1 = old[jID] + rev = True if joinStartToEnd[s] == False else False + sub1 = reverse_sub(sub1) if rev == True else sub1 + sub2 = thisSub if len(thisSub) > 0 else old[s] + thisSub = join_sub(sub1, sub2, optionJoin) + movedTo[jID] = s + prev = s + # continue if sub1 joined to more + if joinEndTo[jID] > -1 and joinStartTo[jID] > -1: + proceed = 1 + + while proceed == 1: + nID = ( + joinStartTo[jID] + if joinStartTo[jID] != prev + else joinEndTo[jID] + ) + if movedTo[nID] == s: + closedThis = " Z " + proceed = 0 + else: + sub1 = old[nID] + if ( + nID == joinEndTo[jID] + and joinStartTo[nID] == jID + ) or ( + nID == joinStartTo[jID] + and joinEndTo[nID] == jID + ): + pass + else: + rev = not rev + sub1 = reverse_sub(sub1) if rev == True else sub1 + thisSub = join_sub(sub1, thisSub, optionJoin) + movedTo[nID] = s + if joinEndTo[nID] > -1 and joinStartTo[nID] > -1: + prev = jID + jID = nID + else: + proceed = 0 + + # close the new subpath if start/end node is closer than maxdist + # (should be handled above, but is not so this was a quick fix) + if closedThis == " Z " and optionJoin == "1": + newStartEnd = [ + 0.5 * (thisSub[-1][-1][0] + thisSub[0][0][0]), + 0.5 * (thisSub[-1][-1][1] + thisSub[0][0][1]), + ] + thisSub[0][0] = newStartEnd + thisSub[0][1] = newStartEnd + thisSub[-1][1] = newStartEnd + thisSub[-1][2] = newStartEnd + + new.append(thisSub) + newClosed.append(closedThis) + + else: + new.append(old[s]) + newClosed.append(closed[s]) + + closed = newClosed + + nEmpty = new.count([]) + if nEmpty > 0: + for i in range(nEmpty): + idx_empty = new.index([]) + new.pop(idx_empty) + closed = np.delete(closed, idx_empty) + + return (new, closed) + + +class RemoveDuplicateNodes(inkex.EffectExtension): + def add_arguments(self, pars): + pars.add_argument("--tab", default="options") + pars.add_argument("--minlength", default="0") + pars.add_argument("--minUse", type=inkex.Boolean, default=False) + pars.add_argument("--maxdist", default="0") + pars.add_argument("--joinEnd", type=inkex.Boolean, default=False) + pars.add_argument("--maxdist2", default="0") + pars.add_argument("--joinEndSub", type=inkex.Boolean, default=False) + pars.add_argument("--allowReverse", type=inkex.Boolean, default=True) + pars.add_argument("--optionJoin", default="1") + + """Remove duplicate nodes""" + + def effect(self): + if not self.svg.selected: + raise inkex.AbortExtension("Please select an object.") + + minlength = float(self.options.minlength) + maxdist = float(self.options.maxdist) + maxdist2 = float(self.options.maxdist2) + if self.options.minUse is False: + minlength = 0 + if self.options.joinEnd is False: + maxdist = -1 + if self.options.joinEndSub is False: + maxdist2 = -1 + + nFailed = 0 + nInkEffect = 0 + + for id, elem in self.svg.selection.id_dict().items(): + + thisIsPath = True + if elem.get("d") is None: + thisIsPath = False + nFailed += 1 + if elem.get("inkscape:path-effect") is not None: + thisIsPath = False + nInkEffect += 1 + + if thisIsPath: + + new, closed = remove_duplicate_nodes( + elem, + minlength, + maxdist, + maxdist2, + self.options.allowReverse, + self.options.optionJoin, + ) + + elem.path = CubicSuperPath(new).to_path(curves_only=True) + + # reset z to the originally closed paths + # (z lost in cubicsuperpath) + temppath = str(elem.path.to_absolute()).split("M ") + temppath.pop(0) + newPath = "" + li = 0 + for sub in temppath: + newPath = newPath + "M " + temppath[li] + closed[li] + li += 1 + elem.path = newPath + + if nFailed > 0: + messagebox.showwarning( + "Warning", + f"""{nFailed} selected elements have no path specified. + Groups have to be ungrouped first and paths have to be + combined with Ctrl + K to be considered for joining. + Shape-elements and text will be ignored.""", + ) + + if nInkEffect > 0: + messagebox.showwarning( + "Warning", + f"""{nInkEffect} selected elements have an + inkscape:path-effect applied. These elements will be + ignored to avoid confusing results. Apply Paths->Object + to path (Shift+Ctrl+C) and retry .""", + ) + + +if __name__ == "__main__": + RemoveDuplicateNodes().run() diff --git a/extensions/fablabchemnitz/purge_duplicate_path_segments/meta.json b/extensions/fablabchemnitz/purge_duplicate_path_segments/meta.json new file mode 100644 index 0000000..bdc6e53 --- /dev/null +++ b/extensions/fablabchemnitz/purge_duplicate_path_segments/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Purge Duplicate Path Segments", + "id": "fablabchemnitz.de.purge_duplicate_path_segments", + "path": "purge_duplicate_path_segments", + "dependent_extensions": null, + "original_name": "Remove redundant edges", + "original_id": "org.novalis.filter.removeredundant", + "license": "GNU GPL v2", + "license_url": "https://bugs.launchpad.net/inkscape/+bug/521988/+attachment/1150930/+files/removeredundant.py", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/purge_duplicate_path_segments", + "fork_url": "https://bugs.launchpad.net/inkscape/+bug/521988", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Purge+Duplicate+Path+Segments", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/purge_duplicate_path_segments/purge_duplicate_path_segments.inx b/extensions/fablabchemnitz/purge_duplicate_path_segments/purge_duplicate_path_segments.inx new file mode 100644 index 0000000..4f6d167 --- /dev/null +++ b/extensions/fablabchemnitz/purge_duplicate_path_segments/purge_duplicate_path_segments.inx @@ -0,0 +1,16 @@ + + + Purge Duplicate Path Segments + fablabchemnitz.de.purge_duplicate_path_segments + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/purge_duplicate_path_segments/purge_duplicate_path_segments.py b/extensions/fablabchemnitz/purge_duplicate_path_segments/purge_duplicate_path_segments.py new file mode 100644 index 0000000..76efcfc --- /dev/null +++ b/extensions/fablabchemnitz/purge_duplicate_path_segments/purge_duplicate_path_segments.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +''' +Copyright (C) 2010 David Turner + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St Fifth Floor, Boston, MA 02139 +''' +import inkex +from inkex import paths +from collections import defaultdict + +class FixedRadiusSearch(): + def __init__(self, r=0.1): + self.r = r + self.seen = defaultdict(list) + + def round(self, f): + return int(round(f/self.r)) + + def bin(self, p): + return (self.round(p[0]), self.round(p[1])) + + def test(self, p, q): + return abs(self.round(p[0] - q[0])) <= 1 and abs(self.round(p[1] - q[1])) <= 1 + + def search(self, p): + b = self.bin(p) + for i in range(b[0]-1, b[0]+2): + for j in range(b[1]-1, b[1]+2): + for q in self.seen[(i, j)]: + if self.test(p, q): + return q + return None + + def add(self, p): + self.seen[self.bin(p)].append(p) + + def get_or_add(self, p): + result = self.search(p) + if result == None: + self.add(p) + return p + return result + +class PurgeDuplicatePathSegments(inkex.EffectExtension): + + def effect(self): + seenSegments = set() + coordsCache = FixedRadiusSearch() + + for element in self.svg.selected.values(): + if element.tag == inkex.addNS('path','svg'): + d = element.get('d') + path = paths.CubicSuperPath(d).to_path().to_arrays() + newPath = [] + start = prev = None + pathclosed = True + + for i in range(0, len(path)): + command = path[i][0] + coords = path[i][1] + + newCoords = [] + for x, y in zip(*[iter(coords)]*2): + newCoords.extend(list(coordsCache.get_or_add((x, y)))) + coords = newCoords + tcoords = tuple(coords) + + if command == 'M': + #remove this M command and it's point, if the next dataset conaints an M command too. + # Like "M 49.8584,109.276 M ..." which creates just a single point but not a valid path + if i+1 != len(path) and path[i][0] == path[i+1][0]: + continue + newPath.append([command, coords]) + start = prev = tcoords + pathclosed = True + elif command == 'L': + if ('L', prev, tcoords) in seenSegments or \ + ('L', tcoords, prev) in seenSegments: + newPath.append(['M', coords]) + pathclosed = False + else: + newPath.append([command, coords]) + seenSegments.add(('L', prev, tcoords)) + prev = tcoords + elif command == 'Z': + if ('L', prev, start) in seenSegments or \ + ('L', start, prev) in seenSegments: + newPath.append(['M', start]) + else: + if pathclosed: + newPath.append([command, coords]) + else: + newPath.append(['L', start]) + seenSegments.add(('L', prev, start)) + prev = start + elif command == 'C': + if ('C', prev, tcoords) in seenSegments or \ + ('C', tcoords[4:], (tcoords[2:4], tcoords[0:2], prev)) in seenSegments: + newPath.append(['M', coords[4:]]) + else: + newPath.append(['C', coords]) + seenSegments.add(('C', prev, tcoords)) + prev = tcoords[4:] + else: + newPath.append([command, coords]) + while len(newPath) and newPath[-1][0] == 'M': + newPath = newPath[:-1] + element.set('d',str(paths.Path(newPath))) + +if __name__ == '__main__': + PurgeDuplicatePathSegments().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/quick_joint/meta.json b/extensions/fablabchemnitz/quick_joint/meta.json new file mode 100644 index 0000000..8f78477 --- /dev/null +++ b/extensions/fablabchemnitz/quick_joint/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Quick Joint", + "id": "fablabchemnitz.de.quick_joint", + "path": "quick_joint", + "dependent_extensions": null, + "original_name": "QuickJoint", + "original_id": "org.inkscape.filter.quickjoint", + "license": "GNU GPL v3", + "license_url": "https://github.com/JarrettR/QuickJoint/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/quick_joint", + "fork_url": "https://github.com/JarrettR/QuickJoint", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Quick+Joint", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/JarrettR", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/quick_joint/quick_joint.inx b/extensions/fablabchemnitz/quick_joint/quick_joint.inx new file mode 100644 index 0000000..4ddde8a --- /dev/null +++ b/extensions/fablabchemnitz/quick_joint/quick_joint.inx @@ -0,0 +1,38 @@ + + + Quick Joint + fablabchemnitz.de.quick_joint + + + + + 0 + 1 + + + 1 + + + 3.0 + 0.14 + + + + + + + + false + false + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/quick_joint/quick_joint.py b/extensions/fablabchemnitz/quick_joint/quick_joint.py new file mode 100644 index 0000000..9c02aa6 --- /dev/null +++ b/extensions/fablabchemnitz/quick_joint/quick_joint.py @@ -0,0 +1,310 @@ + +#!/usr/bin/env python +''' +Copyright (C) 2017 Jarrett Rainier jrainier@gmail.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +''' +import inkex, cmath +from inkex.paths import Path, ZoneClose, Move +from lxml import etree + +debugEn = False +def debugMsg(input): + if debugEn: + inkex.utils.debug(input) + +def linesNumber(path): + retval = -1 + for elem in path: + debugMsg('linesNumber') + debugMsg(elem) + retval = retval + 1 + debugMsg('Number of lines : ' + str(retval)) + return retval + +def to_complex(point): + c = None + try: + c = complex(point.x, point.y) + except Exception as e: + pass + if c is not None: + return c + else: + inkex.utils.debug("The selection seems not be be a usable polypath. QuickJoint does not operate on curves. Try to flatten bezier curves or splitting up the path.") + exit(1) + + +class QuickJoint(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument('-s', '--side', type=int, default=0, help='Object face to tabify') + pars.add_argument('-n', '--numtabs', type=int, default=1, help='Number of tabs to add') + pars.add_argument('-l', '--numslots', type=int, default=1, help='Number of slots to add') + pars.add_argument('-t', '--thickness', type=float, default=3.0, help='Material thickness') + pars.add_argument('-k', '--kerf', type=float, default=0.14, help='Measured kerf of cutter') + pars.add_argument('-u', '--units', default='mm', help='Measurement units') + pars.add_argument('-e', '--edgefeatures', type=inkex.Boolean, default=False, help='Allow tabs to go right to edges') + pars.add_argument('-f', '--flipside', type=inkex.Boolean, default=False, help='Flip side of lines that tabs are drawn onto') + pars.add_argument('-a', '--activetab', default='', help='Tab or slot menus') + + def to_complex(self, command, line): + debugMsg('To complex: ' + command + ' ' + str(line)) + + return complex(line[0], line[1]) + + def get_length(self, line): + polR, polPhi = cmath.polar(line) + return polR + + def draw_parallel(self, start, guideLine, stepDistance): + polR, polPhi = cmath.polar(guideLine) + polR = stepDistance + return (cmath.rect(polR, polPhi) + start) + + def draw_perpendicular(self, start, guideLine, stepDistance, invert = False): + polR, polPhi = cmath.polar(guideLine) + polR = stepDistance + debugMsg(polPhi) + if invert: + polPhi += (cmath.pi / 2) + else: + polPhi -= (cmath.pi / 2) + debugMsg(polPhi) + debugMsg(cmath.rect(polR, polPhi)) + return (cmath.rect(polR, polPhi) + start) + + def draw_box(self, start, guideLine, xDistance, yDistance, kerf): + polR, polPhi = cmath.polar(guideLine) + + #Kerf expansion + if self.flipside: + start -= cmath.rect(kerf / 2, polPhi) + start -= cmath.rect(kerf / 2, polPhi + (cmath.pi / 2)) + else: + start -= cmath.rect(kerf / 2, polPhi) + start -= cmath.rect(kerf / 2, polPhi - (cmath.pi / 2)) + + lines = [] + lines.append(['M', [start.real, start.imag]]) + + #Horizontal + polR = xDistance + move = cmath.rect(polR + kerf, polPhi) + start + lines.append(['L', [move.real, move.imag]]) + start = move + + #Vertical + polR = yDistance + if self.flipside: + polPhi += (cmath.pi / 2) + else: + polPhi -= (cmath.pi / 2) + move = cmath.rect(polR + kerf, polPhi) + start + lines.append(['L', [move.real, move.imag]]) + start = move + + #Horizontal + polR = xDistance + if self.flipside: + polPhi += (cmath.pi / 2) + else: + polPhi -= (cmath.pi / 2) + move = cmath.rect(polR + kerf, polPhi) + start + lines.append(['L', [move.real, move.imag]]) + start = move + + lines.append(['Z', []]) + + return lines + + def draw_tabs(self, path, line): + #Male tab creation + start = to_complex(path[line]) + + closePath = False + #Line is between last and first (closed) nodes + end = None + if isinstance(path[line+1], ZoneClose): + end = to_complex(path[0]) + closePath = True + else: + end = to_complex(path[line+1]) + + debugMsg('start') + debugMsg(start) + debugMsg('end') + debugMsg(end) + + debugMsg('5-') + + if self.edgefeatures: + segCount = (self.numtabs * 2) - 1 + drawValley = False + else: + segCount = (self.numtabs * 2) + drawValley = False + + distance = end - start + debugMsg('distance ' + str(distance)) + debugMsg('segCount ' + str(segCount)) + + try: + if self.edgefeatures: + segLength = self.get_length(distance) / segCount + else: + segLength = self.get_length(distance) / (segCount + 1) + except: + debugMsg('in except') + segLength = self.get_length(distance) + + debugMsg('segLength - ' + str(segLength)) + newLines = [] + + # when handling firlt line need to set M back + if isinstance(path[line], Move): + newLines.append(['M', [start.real, start.imag]]) + + if self.edgefeatures == False: + newLines.append(['L', [start.real, start.imag]]) + start = self.draw_parallel(start, distance, segLength) + newLines.append(['L', [start.real, start.imag]]) + debugMsg('Initial - ' + str(start)) + + + for i in range(segCount): + if drawValley == True: + #Vertical + start = self.draw_perpendicular(start, distance, self.thickness, self.flipside) + newLines.append(['L', [start.real, start.imag]]) + debugMsg('ValleyV - ' + str(start)) + drawValley = False + #Horizontal + start = self.draw_parallel(start, distance, segLength) + newLines.append(['L', [start.real, start.imag]]) + debugMsg('ValleyH - ' + str(start)) + else: + #Vertical + start = self.draw_perpendicular(start, distance, self.thickness, not self.flipside) + newLines.append(['L', [start.real, start.imag]]) + debugMsg('HillV - ' + str(start)) + drawValley = True + #Horizontal + start = self.draw_parallel(start, distance, segLength) + newLines.append(['L', [start.real, start.imag]]) + debugMsg('HillH - ' + str(start)) + + if self.edgefeatures == True: + start = self.draw_perpendicular(start, distance, self.thickness, self.flipside) + newLines.append(['L', [start.real, start.imag]]) + debugMsg('Final - ' + str(start)) + + if closePath: + newLines.append(['Z', []]) + return newLines + + + def draw_slots(self, path): + #Female slot creation + + start = to_complex(path[0]) + end = to_complex(path[1]) + + if self.edgefeatures: + segCount = (self.numslots * 2) - 1 + else: + segCount = (self.numslots * 2) + + distance = end - start + debugMsg('distance ' + str(distance)) + debugMsg('segCount ' + str(segCount)) + + try: + if self.edgefeatures: + segLength = self.get_length(distance) / segCount + else: + segLength = self.get_length(distance) / (segCount + 1) + except: + segLength = self.get_length(distance) + + debugMsg('segLength - ' + str(segLength)) + newLines = [] + + line_style = str(inkex.Style({ 'stroke': '#000000', 'fill': 'none', 'stroke-width': str(self.svg.unittouu('0.1mm')) })) + + for i in range(segCount): + if (self.edgefeatures and (i % 2) == 0) or (not self.edgefeatures and (i % 2)): + newLines = self.draw_box(start, distance, segLength, self.thickness, self.kerf) + debugMsg(newLines) + + slot_id = self.svg.get_unique_id('slot') + g = etree.SubElement(self.svg.get_current_layer(), 'g', {'id':slot_id}) + + line_atts = { 'style':line_style, 'id':slot_id+'-inner-close-tab', 'd':str(Path(newLines)) } + etree.SubElement(g, inkex.addNS('path','svg'), line_atts ) + + #Find next point + polR, polPhi = cmath.polar(distance) + polR = segLength + start = cmath.rect(polR, polPhi) + start + + def effect(self): + self.side = self.options.side + self.numtabs = self.options.numtabs + self.numslots = self.options.numslots + self.thickness = self.svg.unittouu(str(self.options.thickness) + self.options.units) + self.kerf = self.svg.unittouu(str(self.options.kerf) + self.options.units) + self.units = self.options.units + self.edgefeatures = self.options.edgefeatures + self.flipside = self.options.flipside + self.activetab = self.options.activetab + + for id, node in self.svg.selected.items(): + debugMsg(node) + debugMsg('1') + if node.tag == inkex.addNS('path','svg'): + p = list(node.path.to_superpath().to_segments()) + debugMsg('2') + debugMsg(p) + + lines = linesNumber(p) + lineNum = self.side % lines + debugMsg(lineNum) + + newPath = [] + if self.activetab == 'tabpage': + newPath = self.draw_tabs(p, lineNum) + debugMsg('2') + debugMsg(p[:lineNum]) + debugMsg('3') + debugMsg(newPath) + debugMsg('4') + debugMsg( p[lineNum + 1:]) + finalPath = p[:lineNum] + newPath + p[lineNum + 1:] + + debugMsg(finalPath) + + node.set('d',str(Path(finalPath))) + elif self.activetab == 'slotpage': + newPath = self.draw_slots(p) + +if __name__ == '__main__': + QuickJoint().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/raytracing/desc_parser.py b/extensions/fablabchemnitz/raytracing/desc_parser.py new file mode 100644 index 0000000..2d3e6da --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/desc_parser.py @@ -0,0 +1,20 @@ +import re + +rgx_float = r"[-+]?(\d+([.,]\d*)?|[.,]\d+)([eE][-+]?\d+)?" +rgx_name = "[a-z,_]*" +optics_pattern = re.compile( + f"optics *: *(?P{rgx_name})(: *(?P{rgx_float}))?", + re.IGNORECASE | re.MULTILINE, +) + + +def get_optics_fields(string_: str): + fields = re.finditer(optics_pattern, string_) + return fields + + +def clear_description(desc: str) -> str: + """Removes text corresponding to an optical property""" + + new_desc = re.sub(optics_pattern, "", desc) + return new_desc diff --git a/extensions/fablabchemnitz/raytracing/lens.inx b/extensions/fablabchemnitz/raytracing/lens.inx new file mode 100644 index 0000000..c7a1af5 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/lens.inx @@ -0,0 +1,39 @@ + + + Insert Lens Optics + fablabchemnitz.de.raytracing_insert_lens_optics + 100. + + + + + + 1 + + + + + + 2 + + + + + + 1.5168 + + + + + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/raytracing/lens.py b/extensions/fablabchemnitz/raytracing/lens.py new file mode 100644 index 0000000..2b81d65 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/lens.py @@ -0,0 +1,231 @@ +""" +Module to add a lens object in the document +""" + +from math import cos, pi, sin, sqrt, acos, tan + +import inkex + + +class Lens(inkex.GenerateExtension): + """ + Produces a PathElement corresponding to the shape of the lens calculated + from user parameters. + """ + + @property + def style(self): + return { + "stroke": "#000000", + "fill": "#b7c2dd", + "stroke-linejoin": "round", + "stroke-width": str(self.svg.unittouu("1px")), + } + + @staticmethod + def add_arguments(pars): + pars.add_argument("--focal_length", type=float, default=100.0) + pars.add_argument("--focal_length_unit", type=str, default="mm") + + pars.add_argument("--diameter", type=float, default=1.0) + pars.add_argument("--diameter_unit", default="in") + + pars.add_argument("--edge_thickness", type=float, default=2.0) + pars.add_argument("--edge_thickness_unit", default="mm") + + pars.add_argument("--optical_index", type=float, default=1.5168) + + pars.add_argument("--lens_type", default="plano_con") + + def to_document_units(self, value: float, unit: str) -> float: + c1x, c1y, c2x, c2y = self.svg.get_viewbox() + document_width = self.svg.unittouu(self.document.getroot().get("width")) + scale_factor = (c2x - c1x) / document_width + return self.svg.unittouu(str(value) + unit) * scale_factor + + def generate(self): + opts = self.options + d = self.svg.viewport_to_unit(f"{opts.diameter}{opts.diameter_unit}") + f = self.svg.viewport_to_unit(f"{opts.focal_length}{opts.focal_length_unit}") + e = self.svg.viewport_to_unit( + f"{opts.edge_thickness}{opts.edge_thickness_unit}") + optical_index = opts.optical_index + + lens_path = [] + if opts.lens_type == "plano_con": + # Radius of curvature from Lensmaker's equation + roc = (optical_index - 1) * abs(f) + if 2 * roc < d: + inkex.utils.errormsg( + "Focal length is too short or diameter is too large." + ) + return None + elif (roc ** 2 - (d / 2) ** 2) ** 0.5 - roc < -e and f < 0: + inkex.utils.errormsg("Edge thickness is too small.") + return None + else: + sweep = 1 if f < 0 else 0 + lens_path = arc_to_path( + [-d / 2, 0], [roc, roc, 0.0, 0, sweep, +d / 2, 0] + ) + lens_path += [ + [[+d / 2, 0], [+d / 2, 0], [+d / 2, -e]], + [[+d / 2, -e], [+d / 2, -e], [-d / 2, -e]], + [[+d / 2, -e], [-d / 2, -e], [-d / 2, +e]], + ] + # no need to close the path correctly as it's done after + elif opts.lens_type == "bi_con": + roc = ( + (optical_index - 1) * abs(f) * (1 + (1 - e / f / optical_index) ** 0.5) + ) + if 2 * roc < d: + inkex.utils.errormsg( + "Focal length is too short or diameter is too large." + ) + return None + elif (roc ** 2 - (d / 2) ** 2) ** 0.5 - roc < -e / 2 and f < 0: + inkex.utils.errormsg("Edge thickness is too small.") + return None + else: + sweep = 1 if f < 0 else 0 + lens_path = arc_to_path( + [-d / 2, 0], [roc, roc, 0.0, 0, sweep, +d / 2, 0] + ) + lens_path += [ + [[+d / 2, 0], [+d / 2, 0], [+d / 2, -e]], + [[+d / 2, -e], [+d / 2, -e], [+d / 2, -e]], + ] + lens_path += arc_to_path( + [+d / 2, -e], [roc, roc, 0.0, 0, sweep, -d / 2, -e] + ) + lens_path += [ + [[-d / 2, -e], [-d / 2, -e], [-d / 2, 0]], + [[-d / 2, -e], [-d / 2, 0], [-d / 2, 0]], + ] + + lens = inkex.PathElement() + lens.style = self.style + closed_path = inkex.Path(inkex.CubicSuperPath([lens_path])) + closed_path.close() + lens.path = closed_path.transform(inkex.Transform("rotate(90)")) + lens.desc = ( + f"L{opts.focal_length}{opts.focal_length_unit}\n" + f"optics:glass:{optical_index:.4f}" + ) + yield lens + + +def arc_to_path(point, params): + """Approximates an arc with cubic bezier segments. + + Arguments: + point: Starting point (absolute coords) + params: Arcs parameters as per + https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands + + Returns a list of triplets of points : [control_point_before, node, control_point_after] + (first and last returned triplets are [p1, p1, *] and [*, p2, p2]) + """ + A = point[:] + rx, ry, theta, long_flag, sweep_flag, x2, y2 = params[:] + theta = theta * pi / 180.0 + B = [x2, y2] + # Degenerate ellipse + if rx == 0 or ry == 0 or A == B: + return [[A[:], A[:], A[:]], [B[:], B[:], B[:]]] + + # turn coordinates so that the ellipse morph into a *unit circle* (not 0-centered) + mat = mat_prod( + (rot_mat(theta), [[1.0 / rx, 0.0], [0.0, 1.0 / ry]], rot_mat(-theta)) + ) + apply_mat(mat, A) + apply_mat(mat, B) + + k = [-(B[1] - A[1]), B[0] - A[0]] + d = k[0] * k[0] + k[1] * k[1] + k[0] /= sqrt(d) + k[1] /= sqrt(d) + d = sqrt(max(0, 1 - d / 4.0)) + # k is the unit normal to AB vector, pointing to center O + # d is distance from center to AB segment (distance from O to the midpoint of AB) + # for the last line, remember this is a unit circle, and kd vector is orthogonal to AB (Pythagorean thm) + + if ( + long_flag == sweep_flag + ): # top-right ellipse in SVG example https://www.w3.org/TR/SVG/images/paths/arcs02.svg + d *= -1 + + O = [(B[0] + A[0]) / 2.0 + d * k[0], (B[1] + A[1]) / 2.0 + d * k[1]] + OA = [A[0] - O[0], A[1] - O[1]] + OB = [B[0] - O[0], B[1] - O[1]] + start = acos(OA[0] / norm(OA)) + if OA[1] < 0: + start *= -1 + end = acos(OB[0] / norm(OB)) + if OB[1] < 0: + end *= -1 + # start and end are the angles from center of the circle to A and to B respectively + + if sweep_flag and start > end: + end += 2 * pi + if (not sweep_flag) and start < end: + end -= 2 * pi + + nb_sectors = int(abs(start - end) * 2 / pi) + 1 + d_theta = (end - start) / nb_sectors + v = 4 * tan(d_theta / 4.0) / 3.0 + # I would use v = tan(d_theta/2)*4*(sqrt(2)-1)/3 ? + p = [] + for i in range(0, nb_sectors + 1, 1): + angle = start + i * d_theta + v1 = [ + O[0] + cos(angle) - (-v) * sin(angle), + O[1] + sin(angle) + (-v) * cos(angle), + ] + pt = [O[0] + cos(angle), O[1] + sin(angle)] + v2 = [O[0] + cos(angle) - v * sin(angle), O[1] + sin(angle) + v * cos(angle)] + p.append([v1, pt, v2]) + p[0][0] = p[0][1][:] + p[-1][2] = p[-1][1][:] + + # go back to the original coordinate system + mat = mat_prod((rot_mat(theta), [[rx, 0], [0, ry]], rot_mat(-theta))) + for pts in p: + apply_mat(mat, pts[0]) + apply_mat(mat, pts[1]) + apply_mat(mat, pts[2]) + return p + + +def mat_prod(m_list): + """Get the product of the mat""" + prod = m_list[0] + for mat in m_list[1:]: + a00 = prod[0][0] * mat[0][0] + prod[0][1] * mat[1][0] + a01 = prod[0][0] * mat[0][1] + prod[0][1] * mat[1][1] + a10 = prod[1][0] * mat[0][0] + prod[1][1] * mat[1][0] + a11 = prod[1][0] * mat[0][1] + prod[1][1] * mat[1][1] + prod = [[a00, a01], [a10, a11]] + return prod + + +def rot_mat(theta): + """Rotate the mat""" + return [[cos(theta), -sin(theta)], [sin(theta), cos(theta)]] + + +def apply_mat(mat, point): + """Apply the given mat""" + x = mat[0][0] * point[0] + mat[0][1] * point[1] + y = mat[1][0] * point[0] + mat[1][1] * point[1] + point[0] = x + point[1] = y + + +def norm(point): + """Normalise""" + return sqrt(point[0] * point[0] + point[1] * point[1]) + + +if __name__ == "__main__": + Lens().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/raytracing/meta.json b/extensions/fablabchemnitz/raytracing/meta.json new file mode 100644 index 0000000..bfbf5bb --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "", + "id": "fablabchemnitz.de.raytracing.", + "path": "raytracing", + "dependent_extensions": null, + "original_name": "", + "original_id": "damienBloch/inkscape-raytracing/", + "license": "GNU GPL v3", + "license_url": "https://github.com/damienBloch/inkscape-raytracing/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/raytracing", + "fork_url": "https://github.com/damienBloch/inkscape-raytracing", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Ray+Tracing", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/damienBloch", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/raytracing/raytracing/__init__.py b/extensions/fablabchemnitz/raytracing/raytracing/__init__.py new file mode 100644 index 0000000..a62c518 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/__init__.py @@ -0,0 +1,4 @@ +from .optical_object import * +from .ray import * +from .vector import * +from .world import * diff --git a/extensions/fablabchemnitz/raytracing/raytracing/geometry/__init__.py b/extensions/fablabchemnitz/raytracing/raytracing/geometry/__init__.py new file mode 100644 index 0000000..a731a33 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/geometry/__init__.py @@ -0,0 +1,2 @@ +from .cubic_bezier import CubicBezier +from .geometric_object import GeometricObject, CompoundGeometricObject, AABBox diff --git a/extensions/fablabchemnitz/raytracing/raytracing/geometry/cubic_bezier.py b/extensions/fablabchemnitz/raytracing/raytracing/geometry/cubic_bezier.py new file mode 100644 index 0000000..cbbe9f7 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/geometry/cubic_bezier.py @@ -0,0 +1,210 @@ +""" +Module for handling objects composed of cubic bezier curves +""" + +from __future__ import annotations + +import math +from dataclasses import dataclass +from functools import cached_property + +import numpy + +from .geometric_object import AABBox, GeometricObject, GeometryError +from ..ray import Ray +from ..shade import ShadeRec +from ..vector import Vector, UnitVector + + +@dataclass(frozen=True) +class CubicBezier: + r""" + Cubic bezier segment defined as + + .. math:: + \vec{X}(s) = (1-s)^3 \vec{p_0} + 3 s (1-s)^2 \vec{p_1} + + 3 s^2 (1-s) \vec{p_2} + s^3 \vec{p_3} + + for :math:`0 \le s \le 1` + """ + + p0: Vector + p1: Vector + p2: Vector + p3: Vector + + def eval(self, s) -> Vector: + return ( + (1 - s) ** 3 * self.p0 + + 3 * s * (1 - s) ** 2 * self.p1 + + 3 * s ** 2 * (1 - s) * self.p2 + + s ** 3 * self.p3 + ) + + @cached_property + def aabbox(self) -> AABBox: + # The box is slightly larger than the minimal box. + # It prevents the box to have a zero dimension if the object is a line + # aligned with vertical or horizontal. + lower_left = Vector( + min(self.p0.x, self.p1.x, self.p2.x, self.p3.x) - 1e-6, + min(self.p0.y, self.p1.y, self.p2.y, self.p3.y) - 1e-6, + ) + upper_right = Vector( + max(self.p0.x, self.p1.x, self.p2.x, self.p3.x) + 1e-6, + max(self.p0.y, self.p1.y, self.p2.y, self.p3.y) + 1e-6, + ) + return AABBox(lower_left, upper_right) + + def tangent(self, s: float) -> UnitVector: + """Returns the tangent at the curve at curvilinear coordinate s""" + + diff_1 = ( + -3 * (self.p0 - 3 * self.p1 + 3 * self.p2 - self.p3) * s ** 2 + + 6 * (self.p0 - 2 * self.p1 + self.p2) * s + - 3 * (self.p0 - self.p1) + ) + # If the first derivative is not zero, it is parallel to the tangent + if diff_1.norm() > 1e-8: + return diff_1.normalize() + # but is the first derivative is zero, we need to get the second order + else: + diff_2 = -6 * (self.p0 - 3 * self.p1 + 3 * self.p2 - self.p3) * s + 6 * ( + self.p0 - 2 * self.p1 + self.p2 + ) + if diff_2.norm() > 1e-8: + return diff_2.normalize() + else: # and even to the 3rd derivative if necessary + diff_3 = -6 * (self.p0 - 3 * self.p1 + 3 * self.p2 - self.p3) + return diff_3.normalize() + + def normal(self, s: float) -> UnitVector: + """Returns a vector normal at the curve at curvilinear coordinate s""" + + return self.tangent(s).orthogonal() + + def intersection_beam(self, ray: Ray) -> list[tuple[float, float]]: + r""" + Returns all couples :math:`(s, t)` such that there exist + :math:`\vec{X}` satisfying + + .. math:: + \vec{X} = (1-s)^3 \vec{p_0} + 3 s (1-s)^2 \vec{p_1} + + 3 s^2 (1-s) \vec{p_2} + s^3 \vec{p_3} + and + .. math:: + \vec{X} = \vec{o} + t \vec{d} + with :math:`0 \lq s \lq 1` and :math:`t >= 0` + """ + + a = ray.direction.orthogonal() + a0 = a * (self.p0 - ray.origin) + a1 = -3 * a * (self.p0 - self.p1) + a2 = 3 * a * (self.p0 - 2 * self.p1 + self.p2) + a3 = a * (-self.p0 + 3 * self.p1 - 3 * self.p2 + self.p3) + roots = cubic_real_roots(a0, a1, a2, a3) + intersection_points = [self.eval(s) for s in roots] + travel = [(X - ray.origin) * ray.direction for X in intersection_points] + + def valid_domain(s, t): + return 0 <= s <= 1 and t > Ray.min_travel + + return [(s, t) for (s, t) in zip(roots, travel) if valid_domain(s, t)] + + def num_hits(self, ray: Ray) -> int: + if self.aabbox.hit(ray): + return len(self.intersection_beam(ray)) + else: + return 0 + + def hit(self, ray: Ray) -> ShadeRec: + """ + Returns a shade with the information for the first intersection + of a beam with the bezier segment + """ + + shade = ShadeRec() # default no hit + if self.aabbox.hit(ray): + intersect_params = self.intersection_beam(ray) + travel_dist = [t for (__, t) in intersect_params] + if len(travel_dist) > 0: # otherwise error with np.argmin + shade.normal = True + first_hit = numpy.argmin(travel_dist) + shade.travel_dist = travel_dist[first_hit] + shade.local_hit_point = ray.origin + shade.travel_dist * ray.direction + shade.normal = self.normal(intersect_params[first_hit][0]) + shade.set_normal_same_side(ray.origin) + return shade + + def is_inside(self, ray: Ray) -> bool: + raise GeometryError(f"Can't define an inside for {self}.") + + +def cubic_real_roots(d: float, c: float, b: float, a: float) -> list[float]: + """ + Returns the real roots X of a cubic polynomial defined as + + .. math:: + a X^3 + b X^2 + c X + d = 0 + """ + + # For more information see: + # https://en.wikipedia.org/wiki/Cubic_equation#General_cubic_formula + + if not is_almost_zero(a): # true cubic equation + p = (3 * a * c - b ** 2) / 3 / a ** 2 + q = (2 * b ** 3 - 9 * a * b * c + 27 * a ** 2 * d) / 27 / a ** 3 + if is_almost_zero(p): + t = [numpy.cbrt(-q)] + else: + discr = -(4 * p ** 3 + 27 * q ** 2) + if is_almost_zero(discr): + if is_almost_zero(q): + t = [0] + else: + t = [3 * q / p, -3 * q / 2 / p] + elif discr < 0: + t = [ + numpy.cbrt(-q / 2 + numpy.sqrt(-discr / 108)) + + numpy.cbrt(-q / 2 - numpy.sqrt(-discr / 108)) + ] + else: + t = [ + 2 + * numpy.sqrt(-p / 3) + * numpy.cos( + 1 / 3 * numpy.arccos(3 * q / 2 / p * numpy.sqrt(-3 / p)) + - 2 * numpy.pi * k / 3 + ) + for k in range(3) + ] + return [x - b / 3 / a for x in t] + else: + return quadratic_roots(b, c, d) + + +def quadratic_roots(a: float, b: float, c: float) -> list[float]: + if not is_almost_zero(a): + discr = b ** 2 - 4 * a * c + if discr > 0: + return [ + (-b + numpy.sqrt(discr)) / 2 / a, + (-b - numpy.sqrt(discr)) / 2 / a, + ] + elif is_almost_zero(discr): + return [-b / 2 / a] + else: + return [] + else: + return linear_root(b, c) + + +def linear_root(a: float, b: float) -> list[float]: + if is_almost_zero(a): # No solutions for 0*X+b=0 + return [] # Ignore infinite solutions for a=b=0 + else: + return [-b / a] + + +def is_almost_zero(x: float) -> bool: + return math.isclose(x, 0, abs_tol=1e-8) diff --git a/extensions/fablabchemnitz/raytracing/raytracing/geometry/geometric_object.py b/extensions/fablabchemnitz/raytracing/raytracing/geometry/geometric_object.py new file mode 100644 index 0000000..86b6dc7 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/geometry/geometric_object.py @@ -0,0 +1,151 @@ +from __future__ import annotations + +import functools +from dataclasses import dataclass +from typing import Protocol, Iterable, TypeVar, Generic + +import numpy + +from ..ray import Ray +from ..shade import ShadeRec +from ..vector import Vector + +class GeometricObject(Protocol): + """Protocol for a geometric object (line, rectangle, circle, ...)""" + + def hit(self, ray: Ray) -> ShadeRec: + """Tests if a collision between a beam and the object occurred + + Returns a shade that contains the information about the collision in + case it happened. + """ + raise NotImplementedError + + def num_hits(self, ray: Ray) -> int: + """Returns the number of times a beam intersect the object boundary""" + raise NotImplementedError + + @property + def aabbox(self) -> AABBox: + """Computes an axis aligned bounding box for the object""" + raise NotImplementedError + + def is_inside(self, ray: Ray) -> bool: + """Indicates if a ray is inside or outside the object + + It is not possible to define an inside for every object, for example if it is + not closed. In this case it should raise a GeometryError. + """ + raise NotImplementedError + + +class GeometryError(RuntimeError): + pass + + +T = TypeVar("T", bound=GeometricObject) + + +@dataclass(frozen=True) +class CompoundGeometricObject(GeometricObject, Generic[T]): + sub_objects: tuple[T, ...] + + def __init__(self, sub_objects: Iterable[T]): + object.__setattr__(self, "sub_objects", tuple(sub_objects)) + + def __iter__(self) -> Iterable[T]: + return iter(self.sub_objects) + + def __getitem__(self, item) -> T: + return self.sub_objects[item] + + @functools.cached_property + def aabbox(self): + sub_boxes = (sub.aabbox for sub in self.sub_objects) + return AABBox.englobing(sub_boxes) + + def hit(self, ray: Ray) -> ShadeRec: + """ + Returns a shade with the information for the first intersection + of a beam with one of the object composing the composite object + """ + + result = ShadeRec() + if self.aabbox.hit(ray): + result = find_first_hit(ray, self.sub_objects) + result.hit_geometry = self + return result + + def is_inside(self, ray: Ray) -> bool: + # A ray is inside an object if it intersect its boundary an odd + # number of times + return (self.num_hits(ray) % 2) == 1 + + def num_hits(self, ray: Ray) -> int: + if self.aabbox.hit(ray): + return sum([obj.num_hits(ray) for obj in self.sub_objects]) + else: + return 0 + + +def find_first_hit(ray: Ray, objects: Iterable[GeometricObject]) -> ShadeRec: + result = ShadeRec() + for obj in objects: + shade = obj.hit(ray) + if Ray.min_travel < shade.travel_dist < result.travel_dist: + result = shade + return result + + +@dataclass(frozen=True) +class AABBox: + """ + Implements an axis-aligned bounding box + + This is used to accelerate the intersection between a beam and an object. + If the beam doesn't hit the bounding box, it is not necessary to do + expensive intersection calculations with the object. + """ + + lower_left: Vector + upper_right: Vector + + @classmethod + def englobing(cls, aabboxes: Iterable[AABBox]) -> AABBox: + return functools.reduce(cls.englobing_two, aabboxes) + + @classmethod + def englobing_two(cls, b1: AABBox, b2: AABBox) -> AABBox: + union_lower_left = Vector( + min(b1.lower_left.x, b2.lower_left.x), + min(b1.lower_left.y, b2.lower_left.y), + ) + union_upper_right = Vector( + max(b1.upper_right.x, b2.upper_right.x), + max(b1.upper_right.y, b2.upper_right.y), + ) + return AABBox(union_lower_left, union_upper_right) + + def hit(self, ray: Ray) -> bool: + """Tests if a beam intersects the bounding box""" + + # This algorithm uses the properties of IEEE floating-point + # arithmetic to correctly handle cases where the ray travels + # parallel to a coordinate axis. + # See Williams et al. "An efficient and robust ray-box intersection + # algorithm" for more details. + + p0 = numpy.array([self.lower_left.x, self.lower_left.y]) + p1 = numpy.array([self.upper_right.x, self.upper_right.y]) + direction = numpy.array([ray.direction.x, ray.direction.y]) + origin = numpy.array([ray.origin.x, ray.origin.y]) + # The implementation safely handles the case where an element + # of ray.direction is zero. Warning for floating point error + # can be ignored for this step. + with numpy.errstate(invalid="ignore", divide="ignore"): + a = 1 / direction + t_min = (numpy.where(a >= 0, p0, p1) - origin) * a + t_max = (numpy.where(a >= 0, p1, p0) - origin) * a + t0 = numpy.max(t_min) + t1 = numpy.min(t_max) + return (t0 < t1) and (t1 > Ray.min_travel) diff --git a/extensions/fablabchemnitz/raytracing/raytracing/material/__init__.py b/extensions/fablabchemnitz/raytracing/raytracing/material/__init__.py new file mode 100644 index 0000000..2c00ae0 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/material/__init__.py @@ -0,0 +1,5 @@ +from .optic_material import * +from .beamdump import * +from .mirror import * +from .beamsplitter import * +from .glass import * diff --git a/extensions/fablabchemnitz/raytracing/raytracing/material/beamdump.py b/extensions/fablabchemnitz/raytracing/raytracing/material/beamdump.py new file mode 100644 index 0000000..9c0a0a1 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/material/beamdump.py @@ -0,0 +1,15 @@ +from __future__ import annotations + +from .optic_material import OpticMaterial +from ..ray import Ray +from ..shade import ShadeRec + + +class BeamDump(OpticMaterial): + """Material absorbing all beams that hit it""" + + def __repr__(self): + return "BeamDump()" + + def generated_beams(self, ray: Ray, shade: ShadeRec) -> list[Ray]: + return list() diff --git a/extensions/fablabchemnitz/raytracing/raytracing/material/beamsplitter.py b/extensions/fablabchemnitz/raytracing/raytracing/material/beamsplitter.py new file mode 100644 index 0000000..0e48075 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/material/beamsplitter.py @@ -0,0 +1,27 @@ +from typing import List + +import numpy as np + +from ..ray import Ray +from ..shade import ShadeRec +from .optic_material import OpticMaterial + + +class BeamSplitter(OpticMaterial): + """ + Material producing two beams after collision. One is reflected and + the other is transmitted. + """ + + def __init__(self): + super().__init__() + + def __repr__(self): + return "Mirror()" + + def generated_beams(self, ray: Ray, shade: ShadeRec) -> List[Ray]: + o, d = shade.local_hit_point, ray.direction + n = shade.normal + reflected_ray = Ray(o, d - 2 * np.dot(d, n) * n) + transmitted_ray = Ray(o, d) + return [reflected_ray, transmitted_ray] diff --git a/extensions/fablabchemnitz/raytracing/raytracing/material/glass.py b/extensions/fablabchemnitz/raytracing/raytracing/material/glass.py new file mode 100644 index 0000000..d871bad --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/material/glass.py @@ -0,0 +1,39 @@ +from typing import List + +import numpy as np + +from ..ray import Ray +from ..shade import ShadeRec +from .optic_material import OpticMaterial + + +class Glass(OpticMaterial): + """Material that transmits and bends beams hitting it""" + + def __init__(self, optical_index): + self._optical_index = optical_index + + @property + def optical_index(self): + return self._optical_index + + def __repr__(self): + return f"Glass({self._optical_index})" + + def generated_beams(self, ray: Ray, shade: ShadeRec) -> List[Ray]: + o, d = shade.local_hit_point, ray.direction + n = shade.normal + if shade.hit_geometry.is_inside(ray): + n_1, n_2 = self.optical_index, 1 + else: + n_1, n_2 = 1, self.optical_index + r = n_1 / n_2 + c1 = -np.dot(d, n) + u = 1 - r ** 2 * (1 - c1 ** 2) + if u < 0: # total internal reflection + reflected_ray = Ray(o, d - 2 * np.dot(d, n) * n) + return [reflected_ray] + else: # refraction + c2 = np.sqrt(u) + transmitted_ray = Ray(o, r * d + (r * c1 - c2) * n) + return [transmitted_ray] diff --git a/extensions/fablabchemnitz/raytracing/raytracing/material/mirror.py b/extensions/fablabchemnitz/raytracing/raytracing/material/mirror.py new file mode 100644 index 0000000..b433523 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/material/mirror.py @@ -0,0 +1,20 @@ +from typing import List + +import numpy + +from ..ray import Ray +from ..shade import ShadeRec +from .optic_material import OpticMaterial + + +class Mirror(OpticMaterial): + """Material reflecting beams that hit it""" + + def __repr__(self): + return "Mirror()" + + def generated_beams(self, ray: Ray, shade: ShadeRec) -> List[Ray]: + o, d = shade.local_hit_point, ray.direction + n = shade.normal + reflected_ray = Ray(o, d - 2 * numpy.dot(d, n) * n) + return [reflected_ray] diff --git a/extensions/fablabchemnitz/raytracing/raytracing/material/optic_material.py b/extensions/fablabchemnitz/raytracing/raytracing/material/optic_material.py new file mode 100644 index 0000000..eb899fa --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/material/optic_material.py @@ -0,0 +1,19 @@ +from abc import abstractmethod +from typing import Protocol, List + +from ..ray import Ray +from ..shade import ShadeRec + + +class OpticMaterial(Protocol): + """Protocol for an optical material""" + + @abstractmethod + def generated_beams(self, ray: Ray, shade: ShadeRec) -> List[Ray]: + """Compute the beams generated after intersection of a beam with this + material + + Returns list of new beam seeds to start from after the intersection + of a beam and an object. + """ + raise NotImplementedError diff --git a/extensions/fablabchemnitz/raytracing/raytracing/optical_object.py b/extensions/fablabchemnitz/raytracing/raytracing/optical_object.py new file mode 100644 index 0000000..a678a5c --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/optical_object.py @@ -0,0 +1,10 @@ +from dataclasses import dataclass + +from .geometry import GeometricObject +from .material import OpticMaterial + + +@dataclass(frozen=True) +class OpticalObject: + geometry: GeometricObject + material: OpticMaterial diff --git a/extensions/fablabchemnitz/raytracing/raytracing/ray.py b/extensions/fablabchemnitz/raytracing/raytracing/ray.py new file mode 100644 index 0000000..b8e02af --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/ray.py @@ -0,0 +1,18 @@ +from dataclasses import dataclass +from typing import ClassVar + +from .vector import UnitVector, Vector + + +@dataclass(frozen=True) +class Ray: + """This class implements a 2D line with an origin point and a direction.""" + + origin: Vector + direction: UnitVector + travel: float = 0 + + # If a beam hits an object before having traveled a minimum distance + # from its origin, the collision is ignored. This prevents infinite + # collision in case the origin of a beam is on the surface of an object + min_travel: ClassVar[float] = 1e-7 diff --git a/extensions/fablabchemnitz/raytracing/raytracing/shade.py b/extensions/fablabchemnitz/raytracing/raytracing/shade.py new file mode 100644 index 0000000..958df74 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/shade.py @@ -0,0 +1,35 @@ +import numpy as np +from typing import Optional + + +class ShadeRec(object): + """ + This object contains the information needed to process the collision + between a ray and an object. + """ + + def __init__(self): + self.hit_an_object: bool = False + self.local_hit_point: Optional[np.ndarray] = None + self.normal: Optional[np.ndarray] = None + self.travel_dist: float = np.inf + + from .geometry import GeometricObject + + self.hit_geometry: Optional[GeometricObject] = None + + def __repr__(self): + return ( + f"ShadeRec({self.hit_an_object}, {self.local_hit_point}, " + f"{self.normal}, {self.travel_dist})" + ) + + def set_normal_same_side(self, point: np.ndarray): + if self.normal is None: + raise RuntimeError("Can't find normal orientation if not already defined.") + elif self.local_hit_point is None: + raise RuntimeError( + "Can't find normal orientation if hit point not defined." + ) + elif np.dot(self.normal, self.local_hit_point - point) > 0: + self.normal = -self.normal diff --git a/extensions/fablabchemnitz/raytracing/raytracing/vector.py b/extensions/fablabchemnitz/raytracing/raytracing/vector.py new file mode 100644 index 0000000..9aabe82 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/vector.py @@ -0,0 +1,75 @@ +from __future__ import annotations + +from dataclasses import dataclass, field +from functools import singledispatchmethod +from math import sqrt +from numbers import Real + + +@dataclass(frozen=True) +class Vector: + x: float = field() + y: float = field() + + def orthogonal(self) -> Vector: + """Return a vector obtained by a pi/2 rotation""" + return UnitVector(-self.y, self.x) + + @singledispatchmethod + def __mul__(self, other): + raise NotImplementedError + + @__mul__.register + def _(self, other: Real): + return Vector(self.x * other, self.y * other) + + @singledispatchmethod + def __rmul__(self, other): + raise NotImplementedError(type(other)) + + @__rmul__.register + def _(self, other: Real): + return Vector(self.x * other, self.y * other) + + @singledispatchmethod + def __add__(self, other) -> Vector: + raise NotImplementedError + + @singledispatchmethod + def __sub__(self, other) -> Vector: + raise NotImplementedError + + def __neg__(self) -> Vector: + return Vector(-self.x, -self.y) + + def norm(self): + return sqrt(self * self) + + def normalize(self) -> UnitVector: + return UnitVector(self.x, self.y) + + +@dataclass(frozen=True) +class UnitVector(Vector): + def __init__(self, x, y): + norm = sqrt(x ** 2 + y ** 2) + super().__init__(x / norm, y / norm) + + +@Vector.__add__.register +def _(self, other: Vector): + return Vector(self.x + other.x, self.y + other.y) + + +@Vector.__sub__.register +def _(self, other: Vector): + return Vector(self.x - other.x, self.y - other.y) + + +@Vector.__mul__.register +def _(self, other: Vector) -> float: + return self.x * other.x + self.y * other.y + +@Vector.__rmul__.register +def _(self, other: Vector) -> float: + return self.x * other.x + self.y * other.y diff --git a/extensions/fablabchemnitz/raytracing/raytracing/world.py b/extensions/fablabchemnitz/raytracing/raytracing/world.py new file mode 100644 index 0000000..a168f45 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/raytracing/world.py @@ -0,0 +1,93 @@ +""" +Module to describe and interact with a scene composed of various optical +objects +""" +from __future__ import annotations + +import warnings +from dataclasses import dataclass, field +from typing import Optional, List, NamedTuple, Iterable, Tuple + +from .geometry import GeometricObject +from .material import OpticMaterial, BeamDump +from .ray import Ray +from .shade import ShadeRec + + +class OpticalObject(NamedTuple): + geometry: GeometricObject + material: OpticMaterial + + +@dataclass +class World: + """Stores a scene and computes the interaction with a ray""" + + objects: Optional[list[OpticalObject]] = field(default_factory=list) + # default recursion depth can be changed, but should not exceed + # system recursion limit. + max_recursion_depth: Optional[int] = 500 + + def add(self, obj: OpticalObject): + self.objects.append(obj) + + def __iter__(self) -> Iterable[OpticalObject]: + return iter(self.objects) + + @property + def num_objects(self) -> int: + return len(self.objects) + + def first_hit(self, ray: Ray) -> Tuple[ShadeRec, OpticMaterial]: + """ + Returns the information about the first collision of the beam + with an object. + + :return: A shade for the collision geometric information and the + material of the object hit. + """ + result = ShadeRec() + material = BeamDump() + for obj in self: + shade = obj.geometry.hit(ray) + if Ray.min_travel < shade.travel_dist < result.travel_dist: + result = shade + material = obj.material + return result, material + + def propagate_beams(self, seed): + return self._propagate_beams([[seed]], 0) + + def _propagate_beams(self, beams: List[List[Ray]], depth) -> List[List[Ray]]: + """Computes the propagation of beams in the system + + :return: List of all the beam paths generated by these seeds. + It is stored as + [path0[Ray0, Ray1, ...], path1[...], ...]. + Each path is a list of successive rays having each traveled a + given distance. + :raise: warning if recursion depth hits a limit. + """ + + if depth >= self.max_recursion_depth: + err_msg = ( + f"Maximal recursion depth exceeded ({self.max_recursion_depth})." + "It is likely that not all beams have been rendered." + ) + warnings.warn(err_msg) + return beams + else: + new_beams = list() + for index, beam in enumerate(beams): + ray = beam[-1] + if ray.travel <= 0: + shade, material = self.first_hit(ray) + new_seeds = material.generated_beams(ray, shade) + beams[index][-1] = Ray(ray.origin, ray.direction, shade.travel_dist) + if len(new_seeds) == 0: + new_beams.append(beams[index]) + for seed in new_seeds: + generated_beams = self._propagate_beams([[seed]], depth + 1) + for new_beam in generated_beams: + new_beams.append(beams[index] + new_beam) + return new_beams diff --git a/extensions/fablabchemnitz/raytracing/render.inx b/extensions/fablabchemnitz/raytracing/render.inx new file mode 100644 index 0000000..63aa929 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/render.inx @@ -0,0 +1,17 @@ + + + Render + fablabchemnitz.de.raytracing.render + + all + + + + + + + + + diff --git a/extensions/fablabchemnitz/raytracing/render.py b/extensions/fablabchemnitz/raytracing/render.py new file mode 100644 index 0000000..2c68d11 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/render.py @@ -0,0 +1,289 @@ +""" +Extension for rendering beams in 2D optics with Inkscape +""" +from __future__ import annotations +from dataclasses import dataclass +from functools import singledispatchmethod +from typing import Iterable, Optional, Final +import inkex +from inkex.paths import Line, Move +import raytracing.material +from desc_parser import get_optics_fields +from raytracing import Vector, World, OpticalObject, Ray +from raytracing.geometry import CubicBezier, CompoundGeometricObject, GeometricObject +from utils import pairwise + + +@dataclass +class BeamSeed: + ray: Optional[Ray] = None + parent: Optional[inkex.ShapeElement] = None + + +def get_unlinked_copy(clone: inkex.Use) -> Optional[inkex.ShapeElement]: + """Creates a copy of the original with all transformations applied""" + copy = clone.href.copy() + copy.transform = clone.composed_transform() * copy.transform + copy.style = clone.specified_style() + copy.getparent = clone.getparent + return copy + + +def get_or_create_beam_layer(parent_layer: inkex.Layer) -> inkex.Layer: + for child in parent_layer: + if isinstance(child, inkex.Layer): + if child.get("inkscape:label") == "generated_beams": + return child + new_layer = parent_layer.add(inkex.Layer()) + new_layer.label = "generated_beams" + return new_layer + + +def plot_beam(beam: list[Ray], node: inkex.ShapeElement, layer: inkex.Layer): + path = inkex.Path() + if beam: + path += [Move(beam[0].origin.x, beam[0].origin.y)] + for ray in beam: + p1 = ray.origin + ray.travel * ray.direction + path += [Line(p1.x, p1.y)] + element = layer.add(inkex.PathElement()) + # Need to convert to path to get the correct style for inkex.Use + element.style = node.specified_style() + element.path = path + + +class Raytracing(inkex.EffectExtension): + """Extension to renders the beams present in the document""" + + # Ray tracing is only implemented for the following inkex primitives + filter_primitives: Final = ( + inkex.PathElement, + inkex.Line, + inkex.Polyline, + inkex.Polygon, + inkex.Rectangle, + inkex.Ellipse, + inkex.Circle, + ) + + def __init__(self): + super().__init__() + self.world = World() + self.beam_seeds: list[BeamSeed] = list() + + def effect(self) -> None: + """ + Loads the objects and outputs a svg with the beams after propagation + """ + + # Can't set the border earlier because self.svg is not yet defined + self.document_border = self.get_document_borders_as_beamdump() + self.world.add(self.document_border) + + filter_ = self.filter_primitives + (inkex.Group, inkex.Use) + for obj in self.svg.selection.filter(filter_): + self.add(obj) + + if self.beam_seeds: + for seed in self.beam_seeds: + if self.is_inside_document(seed.ray): + generated = self.world.propagate_beams(seed.ray) + for beam in generated: + try: + new_layer = get_or_create_beam_layer( + get_containing_layer(seed.parent) + ) + plot_beam(beam, seed.parent, new_layer) + except LayerError as e: + inkex.utils.errormsg(f"{e} It will be ignored.") + + @singledispatchmethod + def add(self, obj): + pass + + @add.register + def _(self, group: inkex.Group): + for child in group: + self.add(child) + + @add.register + def _(self, clone: inkex.Use): + copy = get_unlinked_copy(clone) + self.add(copy) + + for type in filter_primitives: + + @add.register(type) + def _(self, obj): + """ + Extracts properties and adds the object to the ray tracing data + structure + """ + material = get_material(obj) + if material: + if isinstance(material, BeamSeed): + for ray in get_beams(obj): + self.beam_seeds.append(BeamSeed(ray, parent=obj)) + else: + geometry = get_geometry(obj) + opt_obj = OpticalObject(geometry, material) + self.world.add(opt_obj) + + def get_document_borders_as_beamdump(self) -> OpticalObject: + """ + Adds a beam blocking contour on the borders of the document to + prevent the beams from going to infinity + """ + + c1x, c1y, c2x, c2y = self.svg.get_viewbox() + contour_geometry = CompoundGeometricObject( + ( + CubicBezier( + Vector(c1x, c1y), + Vector(c1x, c1y), + Vector(c2x, c1y), + Vector(c2x, c1y), + ), + CubicBezier( + Vector(c2x, c1y), + Vector(c2x, c1y), + Vector(c2x, c2y), + Vector(c2x, c2y), + ), + CubicBezier( + Vector(c2x, c2y), + Vector(c2x, c2y), + Vector(c1x, c2y), + Vector(c1x, c2y), + ), + CubicBezier( + Vector(c1x, c2y), + Vector(c1x, c2y), + Vector(c1x, c1y), + Vector(c1x, c1y), + ), + ) + ) + return OpticalObject(contour_geometry, raytracing.material.BeamDump()) + + def is_inside_document(self, ray: Ray) -> bool: + return self.document_border.geometry.is_inside(ray) + + +def get_material( + obj: inkex.ShapeElement, +) -> Optional[raytracing.material.OpticMaterial | BeamSeed]: + """Extracts the optical material of an object from its description""" + + desc = obj.desc + if desc is None: + desc = "" + materials = get_materials_from_description(desc) + if len(materials) == 0: + return None + if len(materials) > 1: + raise_err_num_materials(obj) + elif len(materials) == 1: + return materials[0] + + +def get_materials_from_description( + desc: str, +) -> list[raytracing.material.OpticMaterial | BeamSeed]: + """Run through the description to extract the material properties""" + + materials = list() + class_alias = dict( + beam_dump=raytracing.material.BeamDump, + mirror=raytracing.material.Mirror, + beam_splitter=raytracing.material.BeamSplitter, + glass=raytracing.material.Glass, + beam=BeamSeed, + ) + for match in get_optics_fields(desc): + material_type = match.group("material") + prop_str = match.group("num") + if material_type in class_alias: + if material_type == "glass" and prop_str is not None: + optical_index = float(prop_str) + materials.append(class_alias[material_type](optical_index)) + else: + materials.append(class_alias[material_type]()) + return materials + + +def raise_err_num_materials(obj): + inkex.utils.errormsg( + f"The element {obj.get_id()} has more than one optical material and will be" + f" ignored:\n{obj.desc}\n" + ) + + +def get_geometry(obj: inkex.ShapeElement) -> GeometricObject: + """ + Converts the geometry of inkscape elements to a form suitable for the + ray tracing module + """ + + # Treats all objects as cubic Bezier curves. This treatment is exact + # for most primitives except circles and ellipses that are only + # approximated by Bezier curves. + # TODO: implement exact representation for ellipses + path = get_absolute_path(obj) + composite_bezier = convert_to_composite_bezier(path) + return composite_bezier + + +def get_absolute_path(obj: inkex.ShapeElement) -> inkex.CubicSuperPath: + path = obj.to_path_element().path.to_absolute() + transformed_path = path.transform(obj.composed_transform()) + return transformed_path.to_superpath() + + +def get_beams(element: inkex.ShapeElement) -> Iterable[Ray]: + """ + Returns a beam with origin at the endpoint of the path and tangent to + the path + """ + bezier_path = convert_to_composite_bezier(get_absolute_path(element)) + for sub_path in bezier_path: + last_segment = sub_path[-1] + endpoint = last_segment.eval(1) + tangent = -last_segment.tangent(1) + yield Ray(endpoint, tangent) + + +def convert_to_composite_bezier( + superpath: inkex.CubicSuperPath, +) -> CompoundGeometricObject: + """ + Converts a superpath with a representation + [Subpath0[handle0_0, point0, handle0_1], ...], ...] + to a representation of consecutive bezier segments of the form + CompositeCubicBezier([CubicBezierPath[CubicBezier[point0, handle0_1, + handle1_0, point1], ...], ...]). + """ + + composite_bezier = list() + for subpath in superpath: + bezier_path = list() + for (__, p0, p1), (p2, p3, __) in pairwise(subpath): + bezier = CubicBezier(Vector(*p0), Vector(*p1), Vector(*p2), Vector(*p3)) + bezier_path.append(bezier) + composite_bezier.append(CompoundGeometricObject(bezier_path)) + return CompoundGeometricObject(composite_bezier) + + +def get_containing_layer(obj: inkex.BaseElement) -> inkex.Layer: + try: + return obj.ancestors().filter(inkex.Layer)[0] + except IndexError: + raise LayerError(f"Object '{obj.get_id()}' is not inside a layer.") + + +class LayerError(RuntimeError): + pass + + +if __name__ == "__main__": + Raytracing().run() diff --git a/extensions/fablabchemnitz/raytracing/set_material.inx b/extensions/fablabchemnitz/raytracing/set_material.inx new file mode 100644 index 0000000..7614633 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/set_material.inx @@ -0,0 +1,25 @@ + + + Set Lens Material + fablabchemnitz.de.raytracing.set_lens_material + + + + + + + + + 1.5168 + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/raytracing/set_material.py b/extensions/fablabchemnitz/raytracing/set_material.py new file mode 100644 index 0000000..cdb16c2 --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/set_material.py @@ -0,0 +1,67 @@ +from __future__ import annotations +from functools import singledispatchmethod +from typing import Final +import inkex +from desc_parser import clear_description + +class SetMaterial(inkex.EffectExtension): + """Writes the chosen optical property in the element description""" + + # only change the description for these objects + filter_primitives: Final = ( + inkex.PathElement, + inkex.Line, + inkex.Polyline, + inkex.Polygon, + inkex.Rectangle, + inkex.Ellipse, + inkex.Circle, + ) + + def __init__(self): + super().__init__() + + def add_arguments(self, pars): + pars.add_argument("--optical_material", default="none", help="Name of the optical material to convert the selection to.") + pars.add_argument("--optical_index", type=float, default=1.5168) + + def effect(self) -> None: + filter_ = self.filter_primitives + (inkex.Group,) + for obj in self.svg.selection.filter(filter_): + self.update_description(obj) + + @singledispatchmethod + def update_description(self, arg): + pass + + @update_description.register + def _(self, group: inkex.Group): + for obj in group: + self.update_description(obj) + + for type in filter_primitives: + + @update_description.register(type) + def _(self, obj): + """ + In the description of the element, replaces the optical properties + with the new one. + """ + + desc = obj.desc + if desc is None: + desc = "" + new_desc = clear_description(desc) + if desc != "" and desc[-1] != "\n": + desc += "\n" + + material_name = self.options.optical_material + if material_name is not None: + new_desc += f"optics:{material_name}" + if material_name == "glass": + new_desc += f":{self.options.optical_index:.4f}" + obj.desc = new_desc + + +if __name__ == "__main__": + SetMaterial().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/raytracing/test.py b/extensions/fablabchemnitz/raytracing/test.py new file mode 100644 index 0000000..878976c --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/test.py @@ -0,0 +1,4 @@ +from raytracing.geometry import CubicBezier + +p = CubicBezier((1,1),(1,1),(1,1),(1,1)) +print(p) \ No newline at end of file diff --git a/extensions/fablabchemnitz/raytracing/utils.py b/extensions/fablabchemnitz/raytracing/utils.py new file mode 100644 index 0000000..fc233cc --- /dev/null +++ b/extensions/fablabchemnitz/raytracing/utils.py @@ -0,0 +1,11 @@ +import itertools +from typing import TypeVar, Iterator, Tuple + +T = TypeVar("T") + + +def pairwise(iterable: Iterator[T]) -> Iterator[Tuple[T, T]]: + """s -> (s0,s1), (s1,s2), (s2, s3), ...""" + a, b = itertools.tee(iterable) + next(b, None) + return zip(a, b) diff --git a/extensions/fablabchemnitz/remove_duplicate_line_segments/meta.json b/extensions/fablabchemnitz/remove_duplicate_line_segments/meta.json new file mode 100644 index 0000000..866b8ff --- /dev/null +++ b/extensions/fablabchemnitz/remove_duplicate_line_segments/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Remove Duplicate Lines", + "id": "fablabchemnitz.de.remove_duplicate_lines", + "path": "remove_duplicate_lines", + "dependent_extensions": null, + "original_name": "Remove duplicate lines", + "original_id": "EllenWasbo.cutlings.RemoveDuplicateLines", + "license": "GNU GPL v2", + "license_url": "https://gitlab.com/EllenWasbo/inkscape-extension-removeduplicatelines/-/blob/main/removeDuplicateLines.py", + "comment": "Might supersede 'Purge Duplicate Path Segments' extension", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/remove_duplicate_lines", + "fork_url": "https://gitlab.com/EllenWasbo/inkscape-extension-removeduplicatelines", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Remove+Duplicate+Lines", + "inkscape_gallery_url": null, + "main_authors": [ + "gitlab.com/EllenWasbo", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/remove_duplicate_line_segments/remove_duplicate_line_segments.inx b/extensions/fablabchemnitz/remove_duplicate_line_segments/remove_duplicate_line_segments.inx new file mode 100644 index 0000000..206d1fb --- /dev/null +++ b/extensions/fablabchemnitz/remove_duplicate_line_segments/remove_duplicate_line_segments.inx @@ -0,0 +1,32 @@ + + + Remove Duplicate Line Segments + fablabchemnitz.de.remove_duplicate_line_segments + + + + false + + false + 0.01 + + false + + + + + + + + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/remove_duplicate_line_segments/remove_duplicate_line_segments.py b/extensions/fablabchemnitz/remove_duplicate_line_segments/remove_duplicate_line_segments.py new file mode 100644 index 0000000..77c5a66 --- /dev/null +++ b/extensions/fablabchemnitz/remove_duplicate_line_segments/remove_duplicate_line_segments.py @@ -0,0 +1,361 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2021 Ellen Wasboe, ellen@wasbo.net +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +"""s +Remove duplicate lines by comparing cubic bezier control points after converting to cubic super path. +Optionally include searching for overlaps within the same path (which might cause trouble if the tolerance is too high and small neighbour segments are regarded as a match. +Optionally add a tolerance for the comparison. +Optionally interpolate the four control points of the remaining and the removed segment. +""" + +import inkex +from inkex import bezier, PathElement, CubicSuperPath, Transform +import numpy as np +from tkinter import messagebox + +class removeDuplicateLineSegments(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument("--tab", default="options") + pars.add_argument("--tolerance", default="0") + pars.add_argument("--minUse", type=inkex.Boolean, default=False) + pars.add_argument("--selfPath", type=inkex.Boolean, default=False) + pars.add_argument("--interp", type=inkex.Boolean, default=False) + + """Remove duplicate lines""" + def effect(self): + tolerance=float(self.options.tolerance) + if self.options.minUse == False: + tolerance=0 + + coords=[]#one segmentx8 subarray for each path and subpath (paths and subpaths treated equally) + pathNo=[] + subPathNo=[] + cPathNo=[]#counting alle paths and subpaths equally + removeSegmentPath=[] + removeSegmentSubPath=[] + removeSegment_cPath=[] + removeSegment=[] + matchSegmentPath=[] + matchSegmentSubPath=[] + matchSegment_cPath=[] + matchSegment=[] + matchSegmentRev=[] + + if not self.svg.selected: + raise inkex.AbortExtension("Please select an object.") + nFailed=0 + nInkEffect=0 + p=0 + c=0 + idsNotPath=[] + for id, elem in self.svg.selection.id_dict().items(): + thisIsPath=True + if elem.get('d')==None: + thisIsPath=False + nFailed+=1 + idsNotPath.append(id) + if elem.get('inkscape:path-effect') != None: + thisIsPath=False + nInkEffect+=1 + idsNotPath.append(id) + + if thisIsPath: + #apply transformation matrix if present + csp = CubicSuperPath(elem.get('d')) + elem.path=elem.path.to_absolute() + transformMat = Transform(elem.get('transform')) + cpsTransf=csp.transform(transformMat) + elem.path = cpsTransf.to_path(curves_only=True) + pp=elem.path + + s=0 + #create matrix with segment coordinates p1x p1y c1x c1y c2x c2y p2x p2y + for sub in pp.to_superpath(): + coordsThis=np.zeros((len(sub)-1,8)) + + i=0 + while i <= len(sub) - 2: + coordsThis[i][0]=sub[i][1][0] + coordsThis[i][1]=sub[i][1][1] + coordsThis[i][2]=sub[i][2][0] + coordsThis[i][3]=sub[i][2][1] + coordsThis[i][4]=sub[i+1][0][0] + coordsThis[i][5]=sub[i+1][0][1] + coordsThis[i][6]=sub[i+1][1][0] + coordsThis[i][7]=sub[i+1][1][1] + + i+=1 + + coords.append(coordsThis) + pathNo.append(p) + subPathNo.append(s) + cPathNo.append(c) + c+=1 + s+=1 + p+=1 + if nFailed > 0: + messagebox.showwarning('Warning',str(nFailed)+' selected elements did not have a path. Groups, shapeelements and text will be ignored.') + + if nInkEffect > 0: + messagebox.showwarning('Warning',str(nInkEffect)+' selected elements have an inkscape:path-effect applied. These elements will be ignored to avoid confusing results. Apply Paths->Object to path (Shift+Ctrl+C) and retry .') + + origCoords=[] + for item in coords: origCoords.append(np.copy(item))#make a real copy (not a reference that changes with the original + #search for overlapping or close segments + #for each segment find if difference of any x or y is less than tolerance - if so - calculate 2d-distance and find if all 4 less than tolerance + #repeat with reversed segment + #if match found set match coordinates to -1000 to mark this to be removed and being ignored later on + i=0 + while i <= len(coords)-1:#each path or subpath + j=0 + while j<=len(coords[i][:,0])-1:#each segment j of path i + k=0 + while k<=len(coords)-1:#search all other subpaths + evalPath=True + if k == i and self.options.selfPath == False:#do not test path against itself + evalPath=False + if evalPath: + segmentCoords=np.array(coords[i][j,:]) + if segmentCoords[0] != -1000 and segmentCoords[1] != -1000: + searchCoords=np.array(coords[k]) + if k==i: + searchCoords[j,:]=-2000#avoid comparing segment with itself + subtr=np.abs(searchCoords-segmentCoords) + maxval=subtr.max(1) + lessTol=np.argwhere(maxval 0:#proceed to calculate 2d distance where both x and y distance is less than tolerance + c=0 + while c < len(lessTol): + dists=np.zeros(4) + dists[0]=np.sqrt(np.add(np.power(subtr[lessTol[c,0]][0],2),np.power(subtr[lessTol[c,0]][1],2))) + dists[1]=np.sqrt(np.add(np.power(subtr[lessTol[c,0]][2],2),np.power(subtr[lessTol[c,0]][3],2))) + dists[2]=np.sqrt(np.add(np.power(subtr[lessTol[c,0]][4],2),np.power(subtr[lessTol[c,0]][5],2))) + dists[3]=np.sqrt(np.add(np.power(subtr[lessTol[c,0]][6],2),np.power(subtr[lessTol[c,0]][7],2))) + if dists.max() < tolerance: + matchThis=True + finalK=k + lesstolc=lessTol[c] + c+=1 + if matchThis == False:#try reversed + segmentCoordsRev=[segmentCoords[6], segmentCoords[7],segmentCoords[4],segmentCoords[5],segmentCoords[2],segmentCoords[3],segmentCoords[0],segmentCoords[1]] + subtr=np.abs(searchCoords-segmentCoordsRev) + maxval=subtr.max(1) + lessTol=np.argwhere(maxval 0:#proceed to calculate 2d distance where both x and y distance is less than tolerance + c=0 + while c < len(lessTol): + dists=np.zeros(4) + dists[0]=np.sqrt(np.add(np.power(subtr[lessTol[c,0]][0],2),np.power(subtr[lessTol[c,0]][1],2))) + dists[1]=np.sqrt(np.add(np.power(subtr[lessTol[c,0]][2],2),np.power(subtr[lessTol[c,0]][3],2))) + dists[2]=np.sqrt(np.add(np.power(subtr[lessTol[c,0]][4],2),np.power(subtr[lessTol[c,0]][5],2))) + dists[3]=np.sqrt(np.add(np.power(subtr[lessTol[c,0]][6],2),np.power(subtr[lessTol[c,0]][7],2))) + if dists.max() < tolerance: + matchThis=True + matchThisRev=True + finalK=k + lesstolc=lessTol[c] + c+=1 + + if matchThis: + coords[finalK][lesstolc,:]=-1000 + removeSegmentPath.append(pathNo[finalK]) + removeSegmentSubPath.append(subPathNo[finalK]) + removeSegment_cPath.append(cPathNo[finalK]) + removeSegment.append(lesstolc) + matchSegmentPath.append(pathNo[i]) + matchSegmentSubPath.append(subPathNo[i]) + matchSegment_cPath.append(cPathNo[i]) + matchSegment.append(j) + matchSegmentRev.append(matchThisRev) + + k+=1 + j+=1 + i+=1 + + #(interpolate remaining and) remove segments with a match + if len(removeSegmentPath) > 0: + removeSegmentPath=np.array(removeSegmentPath) + removeSegmentSubPath=np.array(removeSegmentSubPath) + removeSegment_cPath=np.array(removeSegment_cPath) + removeSegment=np.array(removeSegment) + matchSegmentPath=np.array(matchSegmentPath) + matchSegment_cPath=np.array(matchSegment_cPath) + matchSegmentSubPath=np.array(matchSegmentSubPath) + matchSegment=np.array(matchSegment) + matchSegmentRev=np.array(matchSegmentRev) + + #first interpolate remaining segment + if self.options.interp: + idx=np.argsort(matchSegmentPath) + matchSegmentPath=matchSegmentPath[idx] + matchSegment_cPath=matchSegment_cPath[idx] + matchSegmentSubPath=matchSegmentSubPath[idx] + matchSegment=matchSegment[idx] + matchSegmentRev=matchSegmentRev[idx] + remSegmentPath=removeSegmentPath[idx] + remSegment_cPath=removeSegment_cPath[idx] + remSegment=removeSegment[idx] + + i=0 + for id, elem in self.svg.selection.id_dict().items():#each path + if not id in idsNotPath: + if i in matchSegmentPath: + idxi=np.argwhere(matchSegmentPath==i) + idxi=idxi.reshape(-1) + icMatch=matchSegment_cPath[idxi] + iSegMatch=matchSegment[idxi] + iSegMatchRev=matchSegmentRev[idxi] + iSubMatch=matchSegmentSubPath[idxi] + iSegRem=remSegment[idxi] + icRem=remSegment_cPath[idxi] + iPathRem=remSegmentPath[idxi] + new=[] + j=0 + for sub in elem.path.to_superpath():#each subpath + idxj=np.argwhere(iSubMatch==j) + idxj=idxj.reshape(-1) + this_cMatch=icMatch[idxj] + thisSegMatch=iSegMatch[idxj] + thisSegMatchRev=iSegMatchRev[idxj] + thisSegRem=iSegRem[idxj].reshape(-1) + this_cRem=icRem[idxj] + thisPathRem=iPathRem[idxj] + k=0 + while k 0: + idx=idx.reshape(1,-1) + idx=idx[0] + new=[] + j=0 + for sub in elem.path.to_superpath():#each subpath + thisSegRem=removeSegment[idx] + keepLast=False if len(sub)-2 in thisSegRem else True + keepNext2Last=False if len(sub)-3 in thisSegRem else True + thisSubPath=removeSegmentSubPath[idx] + idx2=np.argwhere(removeSegmentSubPath[idx]==j) + if len(idx2) > 0: + idx2=idx2.reshape(1,-1) + idx2=idx2[0] + thisSegRem=thisSegRem[idx2] + if len(thisSegRem) < len(sub)-1:#if any segment to be kept + #find first segment + k=0 + if 0 in thisSegRem:#remove first segment + proceed=True + while proceed: + if k+1 in thisSegRem: + k+=1 + else: + proceed=False + k+=1 + new.append([sub[k]]) + if sub[k+1]!=new[-1][-1]:#avoid duplicated nodes + new[-1].append(sub[k+1]) + new[-1][-1][0]=new[-1][-1][1] + else: + new.append([sub[0]]) + if sub[1]!=new[-1][-1]:#avoid duplicated nodes + new[-1].append(sub[1]) + k+=1 + + #rest of segments + while k 0: + if len(new[-1])==1: new.pop() + else: + new.append(sub)#add as is + + j+=1 + + elem.path = CubicSuperPath(new).to_path(curves_only=True) + i+=1 + +if __name__ == '__main__': + removeDuplicateLineSegments().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/remove_obsolete_attributes/meta.json b/extensions/fablabchemnitz/remove_obsolete_attributes/meta.json new file mode 100644 index 0000000..7ee630a --- /dev/null +++ b/extensions/fablabchemnitz/remove_obsolete_attributes/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Remove Obsolete Attributes", + "id": "fablabchemnitz.de.remove_obsolete_attributes", + "path": "remove_obsolete_attributes", + "dependent_extensions": null, + "original_name": "Remove Obsolete", + "original_id": "com.mathem.absref_remover", + "license": "GNU LGPL v2", + "license_url": "https://inkscape.org/~MatheM/%E2%98%85simple-attribute-editor+1", + "comment": "ported to Inkscape v1 manually by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/remove_obsolete_attributes", + "fork_url": "https://inkscape.org/~MatheM/%E2%98%85simple-attribute-editor+1", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Remove+Obsolete+Attributes", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/MatheM", + "github.com/eridur-de" + ] + } +] diff --git a/extensions/fablabchemnitz/remove_obsolete_attributes/remove_obsolete_attributes.inx b/extensions/fablabchemnitz/remove_obsolete_attributes/remove_obsolete_attributes.inx new file mode 100644 index 0000000..6035006 --- /dev/null +++ b/extensions/fablabchemnitz/remove_obsolete_attributes/remove_obsolete_attributes.inx @@ -0,0 +1,20 @@ + + + Remove Obsolete Attributes + fablabchemnitz.de.remove_obsolete_attributes + + true + true + true + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/remove_obsolete_attributes/remove_obsolete_attributes.py b/extensions/fablabchemnitz/remove_obsolete_attributes/remove_obsolete_attributes.py new file mode 100644 index 0000000..9010bff --- /dev/null +++ b/extensions/fablabchemnitz/remove_obsolete_attributes/remove_obsolete_attributes.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 + +""" +Removes attributes sodipodi:absref, sodipodi:docbase and sodipodi:docname from all elements that contain them. + +full names of attributes +sodipodi:absref +{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}absref +sodipodi:docbase +{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}docbase +sodipodi:docname +{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}docname + +element.attrib.pop("{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}absref", None) +""" + +import inkex +import sys + +class RemoveObsoleteAttributes(inkex.EffectExtension): + def __init__(self): + inkex.Effect.__init__(self) + self.arg_parser.add_argument("-a", "--removeAbsref", type=inkex.Boolean, default=True, help="Remove sodipodi:absref") + self.arg_parser.add_argument("-b", "--removeDocbase", type=inkex.Boolean, default=True, help="Remove sodipodi:docbase") + self.arg_parser.add_argument("-n", "--removeDocname", type=inkex.Boolean, default=True, help="Remove sodipodi:docname") + + def effect(self): + if self.options.removeAbsref: + elements = self.document.xpath("//*[@sodipodi:absref]", namespaces=inkex.NSS) + for element in elements: + element.attrib.pop("{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}absref", None) + + if self.options.removeDocbase: + elements = self.document.xpath("//*[@sodipodi:docbase]", namespaces=inkex.NSS) + for element in elements: + element.attrib.pop("{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}docbase", None) + + if self.options.removeDocname: + elements = self.document.xpath("//*[@sodipodi:docname]", namespaces=inkex.NSS) + for element in elements: + element.attrib.pop("{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}docname", None) + +if __name__ == "__main__": + RemoveObsoleteAttributes().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/replace_color_and_alpha/meta.json b/extensions/fablabchemnitz/replace_color_and_alpha/meta.json new file mode 100644 index 0000000..6f3ba3e --- /dev/null +++ b/extensions/fablabchemnitz/replace_color_and_alpha/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Replace Color And Alpha", + "id": "fablabchemnitz.de.replace_color_and_alpha", + "path": "replace_color_and_alpha", + "dependent_extensions": null, + "original_name": "Replace color and alpha", + "original_id": "com.www.marker.es.ReplaceColorAlpha", + "license": "GNU GPL v2", + "license_url": "https://inkscape.org/de/~jabiertxof/%E2%98%85color-and-alpha-replace", + "comment": "ported to Inkscape v1 manually by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/replace_color_and_alpha", + "fork_url": "https://inkscape.org/de/~jabiertxof/%E2%98%85color-and-alpha-replace", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Replace+Color+And+Alpha", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/jabiertxof", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/replace_color_and_alpha/replace_color_and_alpha.inx b/extensions/fablabchemnitz/replace_color_and_alpha/replace_color_and_alpha.inx new file mode 100644 index 0000000..c3deedd --- /dev/null +++ b/extensions/fablabchemnitz/replace_color_and_alpha/replace_color_and_alpha.inx @@ -0,0 +1,18 @@ + + + Replace Color And Alpha + fablabchemnitz.de.replace_color_and_alpha + 000000 + 000000 + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/replace_color_and_alpha/replace_color_and_alpha.py b/extensions/fablabchemnitz/replace_color_and_alpha/replace_color_and_alpha.py new file mode 100644 index 0000000..99ed8fd --- /dev/null +++ b/extensions/fablabchemnitz/replace_color_and_alpha/replace_color_and_alpha.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python3 +''' +This extension replace color and alpha from full inkscape document. + +Copyright (C) 2012 Jabiertxo Arraiza, jabier.arraiza@marker.es + +Version 0.2 + +TODO: +Comment Better!!! + +CHANGE LOG +0.1 Start 16/08/2012 + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +''' + +import inkex +import sys +import re +from lxml import etree + +class ReplaceColorAndAlpha(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument("--from_color", default="000000", help="Replace color") + pars.add_argument("--to_color", default="000000", help="By color + Alpha") + + def effect(self): + saveout = sys.stdout + sys.stdout = sys.stderr + fr = self.options.from_color.strip('"').strip('#').lower() + try: + alphaFr = str(float(int(self.options.from_color.strip('"').strip('#').lower()[-2:], 16))/255.0) + except:zz + pass + to = self.options.to_color.strip('"').strip('#').lower() + try: + alphaTo = str(float(int(self.options.to_color.strip('"').strip('#').lower()[-2:], 16))/255.0) + except: + pass + svg = self.document.getroot() + for element in svg.iter("*"): + style = element.get('style') + if style: + if (style.lower().find('fill:#'+fr[:6]) != -1 and len(fr) == 6) or (style.lower().find('fill-opacity:'+alphaFr[:4]) != -1 and len(fr)==8 and style.lower().find('fill:#'+fr[:6]) != -1): + style = re.sub('fill-opacity:.*?(;|$)', + '\\1', + style) + style = re.sub('fill:#.*?(;|$)', + 'fill:#' + to[:6] + '\\1', + style) + + style = style + ";fill-opacity:" + alphaTo + element.set('style',style) + + if (style.lower().find('stroke:#'+fr[:6]) != -1 and len(fr) == 6) or (style.lower().find('stroke:#'+fr[:6]) != -1 and style.lower().find('stroke-opacity:'+alphaFr[:4]) != -1 and len(fr)==8): + style = re.sub('stroke-opacity:.*?(;|$)', + '\\1', + style) + style = re.sub(r'stroke:#.*?(;|$)', + 'stroke:#' + to[:6] + '\\1', + style) + style = style + ";stroke-opacity:" + alphaTo + element.set('style',style) + sys.stdout = saveout + +if __name__ == '__main__': + ReplaceColorAndAlpha().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/reverse_order_of_subpaths/meta.json b/extensions/fablabchemnitz/reverse_order_of_subpaths/meta.json new file mode 100644 index 0000000..a39393a --- /dev/null +++ b/extensions/fablabchemnitz/reverse_order_of_subpaths/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Reverse Order Of Subpaths", + "id": "fablabchemnitz.de.reverse_order_of_subpaths", + "path": "reverse_order_of_subpaths", + "dependent_extensions": null, + "original_name": "Reverse order of subpaths", + "original_id": "EllenWasbo.cutlings.reverse_order_subpaths", + "license": "GNU GPL v2", + "license_url": "https://gitlab.com/EllenWasbo/inkscape-extension-reverse-order-of-subpaths/-/blob/master/reverse_order_subpaths.py", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/reverse_order_of_subpaths", + "fork_url": "https://gitlab.com/EllenWasbo/inkscape-extension-reverse-order-of-subpaths/", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Reverse+Order+Of+Subpaths", + "inkscape_gallery_url": null, + "main_authors": [ + "gitlab.com/EllenWasbo", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/reverse_order_of_subpaths/reverse_order_of_subpaths.inx b/extensions/fablabchemnitz/reverse_order_of_subpaths/reverse_order_of_subpaths.inx new file mode 100644 index 0000000..d30ecb8 --- /dev/null +++ b/extensions/fablabchemnitz/reverse_order_of_subpaths/reverse_order_of_subpaths.inx @@ -0,0 +1,17 @@ + + + Reverse Order Of Subpaths + fablabchemnitz.de.reverse_order_of_subpaths + + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/reverse_order_of_subpaths/reverse_order_of_subpaths.py b/extensions/fablabchemnitz/reverse_order_of_subpaths/reverse_order_of_subpaths.py new file mode 100644 index 0000000..6fe2817 --- /dev/null +++ b/extensions/fablabchemnitz/reverse_order_of_subpaths/reverse_order_of_subpaths.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +# +# Copyright (C) Ellen Wasbo, cutlings.wasbo.net 2021 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +import inkex +from inkex import PathElement, CubicSuperPath + +class ReverseOrderOfSubpaths(inkex.EffectExtension): + + def reverse(self, element): + if element.tag == inkex.addNS('path','svg'): + new = [] + sub = element.path.to_superpath() + i = 0 + while i < len(sub): + new.append(sub[-1-i]) + i += 1 + element.path = CubicSuperPath(new).to_path(curves_only=True) + elif element.tag == inkex.addNS('g','svg'): + for child in element.getchildren(): + self.reverse(child) + + def effect(self): + """Reverse order of subpaths (combined paths) without reversing node-order or order of paths""" + if not self.svg.selected: + raise inkex.AbortExtension("Please select an object.") + for element in self.svg.selection.values(): + self.reverse(element) + +if __name__ == '__main__': + ReverseOrderOfSubpaths().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/scale_to_path_length/meta.json b/extensions/fablabchemnitz/scale_to_path_length/meta.json new file mode 100644 index 0000000..2851c0b --- /dev/null +++ b/extensions/fablabchemnitz/scale_to_path_length/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Scale To Path Length", + "id": "fablabchemnitz.de.scale_to_path_length", + "path": "scale_to_path_length", + "dependent_extensions": null, + "original_name": "Paste Length", + "original_id": "paste.svg.paste.length", + "license": "GNU GPL v2", + "license_url": "ported to Inkscape v1 by Mario Voigt", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/scale_to_path_length", + "fork_url": "https://github.com/Shriinivas/inkscapepastelength", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Scale+To+Path+Length", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/Shriinivas", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/scale_to_path_length/scale_to_path_length.inx b/extensions/fablabchemnitz/scale_to_path_length/scale_to_path_length.inx new file mode 100644 index 0000000..07c245c --- /dev/null +++ b/extensions/fablabchemnitz/scale_to_path_length/scale_to_path_length.inx @@ -0,0 +1,37 @@ + + + Scale To Path Length + fablabchemnitz.de.scale_to_path_length + + + + + + + + 1.000 + 5 + false + 100.000 + + + + + + + + + + + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/scale_to_path_length/scale_to_path_length.py b/extensions/fablabchemnitz/scale_to_path_length/scale_to_path_length.py new file mode 100644 index 0000000..4300491 --- /dev/null +++ b/extensions/fablabchemnitz/scale_to_path_length/scale_to_path_length.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 + +''' +Inkscape extension to copy length of the source path to the selected +destination path(s) + +Copyright (C) 2018 Shrinivas Kulkarni + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +''' + +import inkex + +from inkex import bezier, Path, CubicSuperPath, PathElement + +class ScaleToPathLength(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument('--scale', type = float, default = '1', help = 'Additionally scale the length by') + pars.add_argument('--scaleFrom', default = 'center', help = 'Scale Path From') + pars.add_argument('--precision', type = int, default = '5', help = 'Number of significant digits') + pars.add_argument("--override_selection", type = inkex.Boolean, default = False, help = "Use a custom length instead using the length of the first object in selection") + pars.add_argument("--custom_length", type = float, default = 100.000, help = "Custom length") + pars.add_argument("--unit", default = "mm", help = "Units") + + def scaleCubicSuper(self, cspath, scaleFactor, scaleFrom): + bbox = Path(cspath).bounding_box() + + if(scaleFrom == 'topLeft'): + oldOrigin= [bbox.left, bbox.bottom] + elif(scaleFrom == 'topRight'): + oldOrigin= [bbox.right, bbox.bottom] + elif(scaleFrom == 'bottomLeft'): + oldOrigin= [bbox.left, bbox.top] + elif(scaleFrom == 'bottomRight'): + oldOrigin= [bbox.right, bbox.top] + else: #if(scaleFrom == 'center'): + oldOrigin= [bbox.left + (bbox.right - bbox.left) / 2., bbox.bottom + (bbox.top - bbox.bottom) / 2.] + + newOrigin = [oldOrigin[0] * scaleFactor , oldOrigin[1] * scaleFactor ] + + for subpath in cspath: + for bezierPt in subpath: + for i in range(0, len(bezierPt)): + + bezierPt[i] = [bezierPt[i][0] * scaleFactor, + bezierPt[i][1] * scaleFactor] + + bezierPt[i][0] += (oldOrigin[0] - newOrigin[0]) + bezierPt[i][1] += (oldOrigin[1] - newOrigin[1]) + + def getPartsFromCubicSuper(self, cspath): + parts = [] + for subpath in cspath: + part = [] + prevBezPt = None + for i, bezierPt in enumerate(subpath): + if(prevBezPt != None): + seg = [prevBezPt[1], prevBezPt[2], bezierPt[0], bezierPt[1]] + part.append(seg) + prevBezPt = bezierPt + parts.append(part) + return parts + + def getLength(self, cspath, tolerance): + parts = self.getPartsFromCubicSuper(cspath) + curveLen = 0 + for i, part in enumerate(parts): + for j, seg in enumerate(part): + curveLen += bezier.bezierlength((seg[0], seg[1], seg[2], seg[3]), tolerance = tolerance) + return curveLen + + def effect(self): + scale = self.options.scale + scaleFrom = self.options.scaleFrom + tolerance = 10 ** (-1 * self.options.precision) + selections = self.svg.selected + pathNodes = self.svg.selection.filter(PathElement).values() + + paths = [(pathNode.get('id'), CubicSuperPath(pathNode.get('d'))) for pathNode in pathNodes] + + if self.options.override_selection is False: + if(len(paths) > 1): + srcPath = paths[-1][1] + srclen = self.getLength(srcPath, tolerance) + paths = paths[:len(paths)-1] + for key, cspath in paths: + curveLen = self.getLength(cspath, tolerance) + + self.scaleCubicSuper(cspath, scaleFactor = scale * (srclen / curveLen), scaleFrom = scaleFrom) + try: #we wrap this in try-except because if the elements are within groups it will cause errors + selections[key].set('d', CubicSuperPath(cspath)) + except: + pass + else: + inkex.errormsg("Please select at least two paths, with the path whose length is to be copied at the top. You may have to convert the shape to path with path->Object to Path.") + else: + if(len(paths) > 0): + srclen = self.svg.unittouu(str(self.options.custom_length) + self.options.unit) + for key, cspath in paths: + curveLen = self.getLength(cspath, tolerance) + + self.scaleCubicSuper(cspath, scaleFactor = scale * (srclen / curveLen), scaleFrom = scaleFrom) + try: #we wrap this in try-except because if the elements are within groups it will cause errors + selections[key].set('d', CubicSuperPath(cspath)) + except: + pass + else: + inkex.errormsg("Please select at least one path. You may have to convert the shape to path with path->Object to Path.") +if __name__ == '__main__': + ScaleToPathLength().run() diff --git a/extensions/fablabchemnitz/scale_to_real/meta.json b/extensions/fablabchemnitz/scale_to_real/meta.json new file mode 100644 index 0000000..a987e6b --- /dev/null +++ b/extensions/fablabchemnitz/scale_to_real/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Scale To Real", + "id": "fablabchemnitz.de.scale_to_real", + "path": "scale_to_real", + "dependent_extensions": null, + "original_name": "RealScale", + "original_id": "org.inkscape.effect.realscale", + "license": "GNU GPL v3", + "license_url": "https://gitlab.com/Moini/inkscape-realscale-extension/-/blob/master/realscale_LICENSE", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/scale_to_real", + "fork_url": "https://gitlab.com/Moini/inkscape-realscale-extension", + "documentation_url": "", + "inkscape_gallery_url": null, + "main_authors": [ + "gitlab.com/Moini", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/scale_to_real/scale_to_real.inx b/extensions/fablabchemnitz/scale_to_real/scale_to_real.inx new file mode 100644 index 0000000..390f66e --- /dev/null +++ b/extensions/fablabchemnitz/scale_to_real/scale_to_real.inx @@ -0,0 +1,89 @@ + + + Scale To Real + fablabchemnitz.de.scale_to_real + + + + 100.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 45 + + true + + + + + + + + + + + + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/scale_to_real/scale_to_real.py b/extensions/fablabchemnitz/scale_to_real/scale_to_real.py new file mode 100644 index 0000000..63369a5 --- /dev/null +++ b/extensions/fablabchemnitz/scale_to_real/scale_to_real.py @@ -0,0 +1,249 @@ +""" +Copyright (C) 2015 Maren Hachmann, marenhachmann@yahoo.com +Copyright (C) 2010 Blair Bonnett, blair.bonnett@gmail.com (parts from multiscale extension) +Copyright (C) 2005 Aaron Spike, aaron@ekips.org (parts from perspective extension) +Copyright (C) 2015 Giacomo Mirabassi, giacomo@mirabassi.it (parts from jpeg export extension) +Copyright (C) 2016 Neon22 @github (scale ruler) +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +""" + +import math +import inkex +from inkex import Transform +from inkex.paths import CubicSuperPath +from lxml import etree + +### Scale Ruler +# inches = [1, 2, 4, 8, 16, 24, 32, 48, 64, 96, 128] +# metric = [1,2,5,10,20,50,100,200,250,500,1000,1250,2500] + +# TODO: +# - maybe turn dropdown for choosing scale type (metric/imperial/custom) into radio buttons? +# - scale font size +# - scale box-height better for small boxes +# - add ruler into current layer +# - add magnification e.g. 2:1 for small drawings + +class ScaleToReal(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument('--tab') + pars.add_argument('--length', type=float, default=100.0, help='Length of scaling path in real-world units') + pars.add_argument('--unit', default='cm', help='Real-world unit') + pars.add_argument('--showscale', default='false', help='Show Scale Ruler') + pars.add_argument('--choosescale', default='all', help='Choose Scale') + pars.add_argument('--metric', default='1', help='Common metric scales') + pars.add_argument('--imperial',default='1', help='Common imperial scales') + pars.add_argument('--custom_scale', type=float, default=45, help='Custom scale') + pars.add_argument('--unitlength', type=int, default='1', help='Length of scale ruler') + + def calc_scale_center(self, p1x, p1y, p2x, p2y): + """ Use straight line as scaling center. + - determine which point is center on basis of quadrant the line is in. + - approx this by using center of line + 0,0 corresponds to UL corner of page + """ + scale_center = (0,0) # resulting scaling point + # calc page center + pagecenter_x = self.svg.unittouu(self.document.getroot().get('width'))/2 + pagecenter_y = self.svg.unittouu(self.document.getroot().get('height'))/2 + # calc minmax of straightline ref points + minx = min(p1x, p2x) + maxx = max(p1x, p2x) + miny = min(p1y, p2y) + maxy = max(p1y, p2y) + # simplifiy calc by using center of line to determine quadrant + line_x = p1x + (p2x - p1x)/2 + line_y = p1y + (p2y - p1y)/2 + # determine quadrant + if line_x < pagecenter_x: + # Left hand side + if line_y < pagecenter_y: + scale_center = (minx,miny) # UL + else: + scale_center = (minx,maxy) # LL + else: # Right hand side + if line_y < pagecenter_y: + scale_center = (maxx,miny) # UR + else: + scale_center = (maxx,maxy) # LR + #inkex.debug("%s %s,%s" % (scale_center, pagecenter_x*2, pagecenter_y*2)) + return scale_center + + def create_ruler(self, parent, width, pos, value, drawing_scale): + """ Draw Scale ruler + - Position above user's straightline. + - Ruler shows two units together. First one cut into 5 + - pos is a tuple e.g. (0,0) + + TODO: + - Fix font size for large and small rulers + - Fix line width for large and small rulers + """ + " Ruler is always 2 units long with 5 divs in the left half " + # Draw two boxes next to each other. Top half of right half of ruler is filled black + line_width = self.svg.unittouu('0.25 mm') + box_height = max(width/15, self.svg.unittouu('2 mm')) + font_height = 8 + White = '#ffffff' + Black = '#000000' + t = 'translate' + str(pos) + + # create clip in order to get an exact ruler width (without the outer half of the stroke) + path = '//svg:defs' + defslist = self.document.getroot().xpath(path, namespaces=inkex.NSS) + if len(defslist) > 0: + defs = defslist[0] + + clipPathData = {inkex.addNS('label', 'inkscape'):'rulerClipPath', 'clipPathUnits':'userSpaceOnUse', 'id':'rulerClipPath'} + clipPath = etree.SubElement(defs, 'clipPath', clipPathData) + clipBox = {'x':str(-width), 'y':'0.0', + 'width':str(width*2), 'height':str(box_height), + 'style':'fill:%s; stroke:none; fill-opacity:1;' % (Black)} + + etree.SubElement(clipPath, 'rect', clipBox) + + # create groups for scale rule and ruler + scale_group = etree.SubElement(parent, 'g', {inkex.addNS('label','inkscape'):'scale_group', 'transform':t}) + ruler_group = etree.SubElement(scale_group, 'g', {inkex.addNS('label','inkscape'):'ruler', 'clip-path':"url(#rulerClipPath)"}) + + # box for right half of ruler + boxR = {'x':'0.0', 'y':'0.0', + 'width':str(width), 'height':str(box_height), + 'style':'fill:%s; stroke:%s; stroke-width:%s; stroke-opacity:1; fill-opacity:1;' % (White, Black, line_width)} + etree.SubElement(ruler_group, 'rect', boxR) + # top half black + boxRf = {'x':'0.0', 'y':'0.0', + 'width':str(width), 'height':str(box_height/2), + 'style':'fill:%s; stroke:none; fill-opacity:1;' % (Black)} + etree.SubElement(ruler_group, 'rect', boxRf) + # Left half of ruler + boxL = {'x':str(-width), 'y':'0.0', + 'width':str(width), 'height':str(box_height), + 'style':'fill:%s; stroke:%s; stroke-width:%s; stroke-opacity:1; fill-opacity:1;' % (White, Black, line_width)} + etree.SubElement(ruler_group, 'rect', boxL) + # staggered black fills on left half + start = -width + for i in range(5): + boxRf = {'x':str(start), 'y':str((i+1)%2 * box_height/2), + 'width':str(width/5), 'height':str(box_height/2), + 'style':'fill:%s; stroke:none; fill-opacity:1;' % (Black)} + etree.SubElement(ruler_group, 'rect', boxRf) + start += width/5 + # text + textstyle = {'font-size': str(font_height)+ " px", + 'font-family': 'sans-serif', + 'text-anchor': 'middle', + 'text-align': 'center', + 'fill': Black } + text_atts = {'style': str(inkex.Style(textstyle)), + 'x': '0', 'y': str(-font_height/2) } + text = etree.SubElement(scale_group, 'text', text_atts) + text.text = "0" + text_atts = {'style': str(inkex.Style(textstyle)), + 'x': str(width), 'y': str(-font_height/2) } + text = etree.SubElement(scale_group, 'text', text_atts) + text.text = str(value) + + text_atts = {'style':str(inkex.Style(textstyle)), + 'x': str(-width), 'y': str(-font_height/2) } + text = etree.SubElement(scale_group, 'text', text_atts) + text.text = str(value) + # Scale note + text_atts = {'style':str(inkex.Style(textstyle)), + 'x': '0', 'y': str(-font_height*2.5) } + text = etree.SubElement(scale_group, 'text', text_atts) + text.text = "Scale 1:" + str(drawing_scale) + " (" + self.options.unit + ")" + + + def effect(self): + if len(self.options.ids) != 2: + inkex.errormsg("This extension requires two selected objects. The first selected object must be the straight line with two nodes.") + exit() + + # drawing that will be scaled is selected second, must be a single object + scalepath = self.svg.selected[self.options.ids[0]] + drawing = self.svg.selected[self.options.ids[1]] + + if scalepath.tag != inkex.addNS('path','svg'): + inkex.errormsg("The first selected object is not a path.\nPlease select a straight line with two nodes instead.") + exit() + + # apply its transforms to the scaling path, so we get the correct coordinates to calculate path length + scalepath.apply_transform() + + path = CubicSuperPath(scalepath.get('d')) + if len(path) < 1 or len(path[0]) < 2: + inkex.errormsg("This extension requires that the first selected path be two nodes long.") + exit() + + # We imagine the path is in the root layer, with no transforms: + # get its parent transforms (its own ones are already applied): + ct = scalepath.composed_transform() + # now we apply that matrix inversely to make it + # as large (or small) as it really is + path = path.transform(ct) + + # calculate path length + p1_x = path[0][0][1][0] + p1_y = path[0][0][1][1] + p2_x = path[0][1][1][0] + p2_y = path[0][1][1][1] + + p_length = self.svg.unittouu(str(distance((p1_x, p1_y),(p2_x, p2_y))) + self.svg.unit) + + # Find Drawing Scale + if self.options.choosescale == 'metric': + drawing_scale = int(self.options.metric) + elif self.options.choosescale == 'imperial': + drawing_scale = int(self.options.imperial) + elif self.options.choosescale == 'custom': + drawing_scale = self.options.custom_scale + + # calculate scaling center + center = self.calc_scale_center(p1_x, p1_y, p2_x, p2_y) + + # calculate scaling factor + target_length = self.svg.unittouu(str(self.options.length) + self.options.unit) + factor = (target_length / p_length) / drawing_scale + # inkex.debug("%s, %s %s" % (target_length, p_length, factor)) + + # Add scale ruler + if self.options.showscale == "true": + dist = int(self.options.unitlength) + + ruler_length = self.svg.unittouu(str(dist) + self.options.unit) / drawing_scale + ruler_pos = (p1_x + (p2_x - p1_x)/2, (p1_y + (p2_y - p1_y)/2) - self.svg.unittouu('4 mm')) + + # TODO: add into current layer instead + self.create_ruler(self.document.getroot(), ruler_length, ruler_pos, dist, drawing_scale) + + # Get drawing and current transformations + for obj in (scalepath, drawing): + # Scale both objects about the center, first translate back to origin + scale_matrix = [[1, 0.0, -center[0]], [0.0, 1, -center[1]]] + obj.transform = Transform(scale_matrix) @ obj.transform + # Then scale + scale_matrix = [[factor, 0.0, 0.0], [0.0, factor, 0.0]] + obj.transform = Transform(scale_matrix) @ obj.transform + # Then translate back to original scale center location + scale_matrix = [[1, 0.0, center[0]], [0.0, 1, center[1]]] + obj.transform = Transform(scale_matrix) @ obj.transform + +# Helper function +def distance(xy0, xy1): + x0, y0 = xy0 + x1, y1 = xy1 + return math.sqrt((x0-x1)*(x0-x1) + (y0-y1)*(y0-y1)) + +if __name__ == '__main__': + ScaleToReal().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/shape_recognition/meta.json b/extensions/fablabchemnitz/shape_recognition/meta.json new file mode 100644 index 0000000..4f01e77 --- /dev/null +++ b/extensions/fablabchemnitz/shape_recognition/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Shape Recognition (Unstable)", + "id": "fablabchemnitz.de.shape_recognition", + "path": "shape_recognition", + "dependent_extensions": null, + "original_name": "Shape recognition", + "original_id": "qpad", + "license": "GNU GPL v3", + "license_url": "https://gitlab.com/qpad/InkShapeReco/-/blob/master/shapereco.py", + "comment": "I am not sure where i got the latest code from. I searched across the web.", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/shape_recognition", + "fork_url": "https://gitlab.com/qpad/InkShapeReco", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Shape+Recognition", + "inkscape_gallery_url": null, + "main_authors": [ + "gitlab.com/qpad", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/shape_recognition/shape_recognition.inx b/extensions/fablabchemnitz/shape_recognition/shape_recognition.inx new file mode 100644 index 0000000..f88603f --- /dev/null +++ b/extensions/fablabchemnitz/shape_recognition/shape_recognition.inx @@ -0,0 +1,52 @@ + + + Shape Recognition (Unstable) + fablabchemnitz.de.shape_recognition + + + + false + true + + + + true + 10.0 + 0.2 + + true + + + + true + 0.500 + 0.48 + 0.50 + + + true + 0.3 + 0.025 + + + true + true + true + true + + + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/shape_recognition/shape_recognition.py b/extensions/fablabchemnitz/shape_recognition/shape_recognition.py new file mode 100644 index 0000000..c548133 --- /dev/null +++ b/extensions/fablabchemnitz/shape_recognition/shape_recognition.py @@ -0,0 +1,836 @@ +#!/usr/bin/env python +''' +Copyright (C) 2017 , Pierre-Antoine Delsart + +This file is part of InkscapeShapeReco. + +InkscapeShapeReco is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with InkscapeShapeReco; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + +Quick description: +This extension uses all selected path, ignoring all other selected objects. +It tries to regularize hand drawn paths BY : + - evaluating if the path is a full circle or ellipse + - else finding sequences of aligned points and replacing them by a simple segment. + - changing the segments angles to the closest remarkable angle (pi/2, pi/3, pi/6, etc...) + - eqalizing all segments lengths which are close to each other + - replacing 4 segments paths by a rectangle object if this makes sens (giving the correct rotation to the rectangle). + +Requires numpy. + +''' + +import sys +sys.path.append('/usr/share/inkscape/extensions') +import inkex +import gettext +_ = gettext.gettext + +# ************************************************************* +# debugging +def void(*l): + pass +def debug_on(*l): + sys.stderr.write(' '.join(str(i) for i in l) +'\n') +debug = void +#debug = debug_on + +from shaperrec import geometric +from shaperrec import internal +from shaperrec import groups +from shaperrec import manipulation +from shaperrec import extenders +from shaperrec import miscellaneous + +import numpy +numpy.set_printoptions(precision=3) + +class PreProcess(): + + def removeSmallEdge(paths, wTot, hTot): + """Remove small Path objects which stand between 2 Segments (or at the ends of the sequence). + Small means the bbox of the path is less then 5% of the mean of the 2 segments.""" + if len(paths)<2: + return + def getdiag(points): + xmin, ymin, w, h = geometric.computeBox(points) + return numpy.sqrt(w**2+h**2), w, h + removeSeg=[] + def remove(p): + removeSeg.append(p) + if hasattr(p, "__next__") : p.next.prev = p.prev + if p.prev: p.prev.next = p.__next__ if hasattr(p, "__next__") else None + p.effectiveNPoints =0 + debug(' --> remove !', p, p.length, len(p.points)) + for p in paths: + if len(p.points)==0 : + remove(p) + continue + # select only path between 2 segments + next, prev = p.__next__ if hasattr(p, "__next__") else None, p.prev + if next is None: next = prev + if prev is None: prev = next + if not (False if next == None else next.isSegment()) or not (False if prev == None else prev.isSegment()) : continue + #diag = getdiag(p.points) + diag, w, h = getdiag(p.points) + + debug(p, p.pointN, ' removing edge diag = ', diag, p.length, ' l=', next.length+prev.length, 'totDim ', (wTot, hTot)) + debug( ' ---> ', prev, next) + + #t TODO: his needs to be parameterized + # remove last or first very small in anycase + doRemove = prev==next and (diag < 0.05*(wTot+hTot)*0.5 ) + if not doRemove: + # check if this small + isLarge = diag > (next.length+prev.length)*0.1 # check size relative to neighbour + isLarge = isLarge or w > 0.2*wTot or h > 0.2*hTot # check size w.r.t total size + + # is it the small side of a long rectangle ? + dd = prev.distanceTo(next.pointN) + rect = abs(prev.unitv.dot(next.unitv))>0.98 and diag > dd*0.5 + doRemove = not( isLarge or rect ) + + if doRemove: + remove(p) + + if next != prev: + prev.setIntersectWithNext(next) + debug('removed Segments ', removeSeg) + for p in removeSeg: + paths.remove(p) + + def prepareParrallelize( segs): + """Group Segment by their angles (segments are grouped together if their deltAangle is within 0.15 rad) + The 'newAngle' member of segments in a group are then set to the mean angle of the group (where angles are all + considered in [-pi, pi]) + + segs : list of segments + """ + + angles = numpy.array([s.angle for s in segs ]) + angles[numpy.where(angles<0)] += geometric._pi # we care about direction, not angle orientation + clList = miscellaneous.clusterValues(angles, 0.30, refScaleAbs='abs')#was 15 + + pi = numpy.pi + for cl in clList: + anglecount = {} + for angle in angles[list(cl)]: + # #angleDeg = int(angle * 360.0 / (2.0*pi)) + if not angle in anglecount: + anglecount[angle] = 1 + else: + anglecount[angle] += 1 + + anglecount = {k: v for k, v in sorted(list(anglecount.items()), key=lambda item: item[1], reverse=True)} + meanA = anglecount.popitem()[0]#.items()[1]#sorted(anglecount.items(), key = lambda kv:(kv[1], kv[0]), reverse=True)[1][1] + #meanA = float(meanA) * (2.0*pi) / 360.0 + #meanA = angles[list(cl)].mean() + for i in cl: + seg = segs[i] + seg.newAngle = meanA if seg.angle>=0. else meanA-geometric._pi + + + def prepareDistanceEqualization(segs, relDelta=0.1): + """ Input segments are grouped according to their length : + - for each length L, find all other lengths within L*relDelta. of L. + - Find the larger of such subgroup. + - repeat the procedure on remaining lengths until none is left. + Each length in a group is set to the mean length of the group + + segs : a list of segments + relDelta : float, minimum relative distance. + """ + + lengths = numpy.array( [x.tempLength() for x in segs] ) + clusters = miscellaneous.clusterValues(lengths, relDelta) + + if len(clusters)==1: + # deal with special case with low num of segments + # --> don't let a single segment alone + if len(clusters[0])+1==len(segs): + clusters[0]=list(range(len(segs))) # all + + allDist = [] + for cl in clusters: + dmean = sum( lengths[i] for i in cl ) / len(cl) + allDist.append(dmean) + for i in cl: + segs[i].setNewLength(dmean) + debug( i, ' set newLength ', dmean, segs[i].length, segs[i].dumpShort()) + + return allDist + + + def prepareRadiusEqualization(circles, otherDists, relSize=0.2): + """group circles radius and distances into cluster. + Then set circles radius according to the mean of the clusters they belong to.""" + ncircles = len(circles) + lengths = numpy.array( [c.radius for c in circles]+otherDists ) + indices = numpy.array( list(range(ncircles+len(otherDists))) ) + clusters = miscellaneous.clusterValues(numpy.stack([ lengths, indices ], 1 ), relSize, refScaleAbs='local' ) + + debug('prepareRadiusEqualization radius ', repr(lengths)) + debug('prepareRadiusEqualization clusters ', clusters) + allDist = [] + for cl in clusters: + dmean = sum( lengths[i] for i in cl ) / len(cl) + #print cl , dmean , + allDist.append(dmean) + if len(cl)==1: + continue + for i in cl: + if i< ncircles: + circles[i].radius = dmean + debug(' post radius ', [c.radius for c in circles] ) + return allDist + + + def centerCircOnSeg(circles, segments, relSize=0.18): + """ move centers of circles onto the segments if close enough""" + for circ in circles: + circ.moved = False + for seg in segments: + for circ in circles: + d = seg.distanceTo(circ.center) + #debug( ' ', seg.projectPoint(circ.center)) + if d < circ.radius*relSize and not circ.moved : + circ.center = seg.projectPoint(circ.center) + circ.moved = True + + + def adjustToKnownAngle( paths): + """ Check current angle against remarkable angles. If close enough, change it + paths : a list of segments""" + for seg in paths: + a = seg.tempAngle() + i = (abs(geometric.vec_in_mPi_pPi(geometric.knownAngle - a) )).argmin() + seg.newAngle = geometric.knownAngle[i] + debug( ' Known angle ', seg, seg.tempAngle(), ' -> ', geometric.knownAngle[i]) + ## if abs(geometric.knownAngle[i] - a) < 0.08: + +class PostProcess(): + def mergeConsecutiveParralels(segments, options): + ignoreNext=False + newList=[] + for s in segments: + if ignoreNext: + ignoreNext=False + continue + if not s.isSegment(): + newList.append(s) + continue + if not hasattr(s, "__next__"): + newList.append(s) + continue + if not s.next.isSegment(): + newList.append(s) + continue + d = geometric.closeAngleAbs(s.angle, s.next.angle) + if d < options.segAngleMergePara: + debug("merging ", s.angle, s.next.angle ) + snew = s.mergedWithNext(doRefit=False) + ignoreNext=True + newList.append(snew) + else: + debug("notmerging ", s.angle, s.next.angle ) + newList.append(s) + if len(segments)>len(newList): + debug("merged parallel ", segments, '-->', newList) + return newList + + def uniformizeShapes(pathGroupList, options): + allSegs = [ p for g in pathGroupList for p in g.listOfPaths if p.isSegment() ] + + if options.doParrallelize: + PreProcess.prepareParrallelize(allSegs) + if options.doKnownAngle: + PreProcess.adjustToKnownAngle(allSegs) + + adjustAng = options.doKnownAngle or options.doParrallelize + + allShapeDist = [] + for g in [ group for group in pathGroupList if not isinstance(group, groups.Circle)]: + # first pass : independently per path + if adjustAng: + manipulation.adjustAllAngles(g.listOfPaths) + g.listOfPaths[:] = PostProcess.mergeConsecutiveParralels(g.listOfPaths, options) + if options.doEqualizeDist: + allShapeDist=allShapeDist + PreProcess.prepareDistanceEqualization([p for p in g.listOfPaths if p.isSegment()], options.shapeDistLocal ) ##0.30 + manipulation.adjustAllDistances([p for p in g.listOfPaths if p.isSegment()]) #findme was group.li.. + + ## # then 2nd global pass, with tighter criteria + if options.doEqualizeDist: + allShapeDist=PreProcess.prepareDistanceEqualization(allSegs, options.shapeDistGlobal) ##0.08 + for g in [ group for group in pathGroupList if not isinstance(group, groups.Circle)]: + manipulation.adjustAllDistances([p for p in g.listOfPaths if p.isSegment()]) + + #TODO: I think this is supposed to close thje paths and it is failing + for g in pathGroupList: + if g.isClosing and not isinstance(g, groups.Circle): + debug('Closing intersec ', g.listOfPaths[0].point1, g.listOfPaths[0].pointN ) + g.listOfPaths[-1].setIntersectWithNext(g.listOfPaths[0]) + + + circles=[ group for group in pathGroupList if isinstance(group, groups.Circle)] + if options.doEqualizeRadius: + PreProcess.prepareRadiusEqualization(circles, allShapeDist) + if options.doCenterCircOnSeg: + PreProcess.centerCircOnSeg(circles, allSegs) + + pathGroupList = [manipulation.toRemarkableShape(g) for g in pathGroupList] + return pathGroupList + +class FitShapes(): + def checkForCircle(points, tangents): + """Determine if the points and their tangents represent a circle + + The difficulty is to be able to recognize ellipse while avoiding paths small fluctuations a + nd false positive due to badly drawn rectangle or non-convex closed curves. + + Method : we consider angle of tangent as function of lenght on path. + For circles these are : angle = c1 x lenght + c0. (c1 ~1) + + We calculate dadl = d(angle)/d(length) and compare to c1. + We use 3 criteria : + * num(dadl > 6) : number of sharp angles + * length(dadl<0.3)/totalLength : lengths of straight lines within the path. + * totalLength/(2pi x radius) : fraction of lenght vs a plain circle + + Still failing to recognize elongated ellipses... + + """ + if len(points)<10: + return False, 0 + + if all(points[0]==points[-1]): # last exactly equals the first. + # Ignore last point for this check + points = points[:-1] + tangents = tangents[:-1] + #print 'Removed last ', points + xmin, ymin, w, h = geometric.computeBox( points) + diag2=(w*w+h*h) + + diag = numpy.sqrt(diag2)*0.5 + norms = numpy.sqrt(numpy.sum( tangents**2, 1 )) + + angles = numpy.arctan2( tangents[:, 1], tangents[:, 0] ) + #debug( 'angle = ', repr(angles)) + N = len(angles) + + deltas = points[1:] - points[:-1] + deltasD = numpy.concatenate([ [geometric.D(points[0], points[-1])/diag], numpy.sqrt(numpy.sum( deltas**2, 1 )) / diag] ) + + # locate and avoid the point when swicthing + # from -pi to +pi. The point is around the minimum + imin = numpy.argmin(angles) + debug(' imin ', imin) + angles = numpy.roll(angles, -imin) + deltasD = numpy.roll(deltasD, -imin) + n=int(N*0.1) + # avoid fluctuations by removing points around the min + angles=angles[n:-n] + deltasD=deltasD[n:-n] + deltasD = deltasD.cumsum() + N = len(angles) + + # smooth angles to avoid artificial bumps + angles = manipulation.smoothArray(angles, n=max(int(N*0.03), 2) ) + + deltaA = angles[1:] - angles[:-1] + deltasDD = (deltasD[1:] -deltasD[:-1]) + deltasDD[numpy.where(deltasDD==0.)] = 1e-5*deltasD[0] + dAdD = abs(deltaA/deltasDD) + belowT, count = True, 0 + for v in dAdD: + if v>6 and belowT: + count+=1 + belowT = False + belowT= (v<6) + + temp = (deltasD, angles, tangents, dAdD ) + fracStraight = numpy.sum(deltasDD[numpy.where(dAdD<0.3)])/(deltasD[-1]-deltasD[0]) + curveLength = deltasD[-1]/3.14 + #print "SSS ",count , fracStraight + if curveLength> 1.4 or fracStraight>0.4 or count > 6: + isCircle =False + else: + isCircle= (count < 4 and fracStraight<=0.3) or \ + (fracStraight<=0.1 and count<5) + + if not isCircle: + return False, 0 + + # It's a circle ! + radius = points - numpy.array([xmin+w*0.5, ymin+h*0.5]) + radius_n = numpy.sqrt(numpy.sum( radius**2, 1 )) # normalize + + mini = numpy.argmin(radius_n) + rmin = radius_n[mini] + maxi = numpy.argmax(radius_n) + rmax = radius_n[maxi] + # void points around maxi and mini to make sure the 2nd max is found + # on the "other" side + n = len(radius_n) + radius_n[maxi]=0 + radius_n[mini]=0 + for i in range(1, int(n/8+1)): + radius_n[(maxi+i)%n]=0 + radius_n[(maxi-i)%n]=0 + radius_n[(mini+i)%n]=0 + radius_n[(mini-i)%n]=0 + radius_n_2 = [ r for r in radius_n if r>0] + rmax_2 = max(radius_n_2) + rmin_2 = min(radius_n_2) # not good !! + anglemax = numpy.arccos( radius[maxi][0]/rmax)*numpy.sign(radius[maxi][1]) + return True, (xmin+w*0.5, ymin+h*0.5, 0.5*(rmin+rmin_2), 0.5*(rmax+rmax_2), anglemax) + + + def checkForArcs(points, tangents): + """Determine if the points and their tangents represent a circle + + The difficulty is to be able to recognize ellipse while avoiding paths small fluctuations a + nd false positive due to badly drawn rectangle or non-convex closed curves. + + Method : we consider angle of tangent as function of lenght on path. + For circles these are : angle = c1 x lenght + c0. (c1 ~1) + + We calculate dadl = d(angle)/d(length) and compare to c1. + We use 3 criteria : + * num(dadl > 6) : number of sharp angles + * length(dadl<0.3)/totalLength : lengths of straight lines within the path. + * totalLength/(2pi x radius) : fraction of lenght vs a plain circle + + Still failing to recognize elongated ellipses... + + """ + if len(points)<10: + return False, 0 + + if all(points[0]==points[-1]): # last exactly equals the first. + # Ignore last point for this check + points = points[:-1] + tangents = tangents[:-1] + print(('Removed last ', points)) + xmin, ymin, w, h = geometric.computeBox( points) + diag2=(w*w+h*h) + + diag = numpy.sqrt(diag2)*0.5 + norms = numpy.sqrt(numpy.sum( tangents**2, 1 )) + + angles = numpy.arctan2( tangents[:, 1], tangents[:, 0] ) + #debug( 'angle = ', repr(angles)) + N = len(angles) + + deltas = points[1:] - points[:-1] + deltasD = numpy.concatenate([ [geometric.D(points[0], points[-1])/diag], numpy.sqrt(numpy.sum( deltas**2, 1 )) / diag] ) + + # locate and avoid the point when swicthing + # from -pi to +pi. The point is around the minimum + imin = numpy.argmin(angles) + debug(' imin ', imin) + angles = numpy.roll(angles, -imin) + deltasD = numpy.roll(deltasD, -imin) + n=int(N*0.1) + # avoid fluctuations by removing points around the min + angles=angles[n:-n] + deltasD=deltasD[n:-n] + deltasD = deltasD.cumsum() + N = len(angles) + + # smooth angles to avoid artificial bumps + angles = manipulation.smoothArray(angles, n=max(int(N*0.03), 2) ) + + deltaA = angles[1:] - angles[:-1] + deltasDD = (deltasD[1:] -deltasD[:-1]) + deltasDD[numpy.where(deltasDD==0.)] = 1e-5*deltasD[0] + dAdD = abs(deltaA/deltasDD) + belowT, count = True, 0 + + + self.temp = (deltasD, angles, tangents, dAdD ) + #TODO: Loop over deltasDD searching for curved segments, no sharp bumps and a curve of at least 1/4 pi + curveStart = 0 + curveToTest= numpy.array([deltasDD[curveStart]]); + dAdDd = numpy.array([dAdD[curveStart]]) + v = dAdD[curveStart] + belowT= (v<6) + for i in range(1, deltasDD.size): + curveToTest = numpy.append(curveToTest, deltasDD[i]) + dAdDd = numpy.append(dAdDd, dAdD[i]) + fracStraight = numpy.sum(curveToTest[numpy.where(dAdDd<0.3)])/(deltasD[i]-deltasD[curveStart]) + curveLength = (deltasD[i]-deltasD[curveStart])/3.14 + + v = dAdD[i] + if v>6 and belowT: + count+=1 + belowT = False + belowT= (v<6) + inkex.debug("SSS "+str(count) +":"+ str(fracStraight)) + if curveLength> 1.4 or fracStraight>0.4 or count > 8: + inkex.debug("curveLengtha:" + str(curveLength) +"fracStraight:"+str(fracStraight)+"count:"+str(count)) + isArc=False + curveStart=int(i) + curveToTest= numpy.array([deltasDD[curveStart]]); + v = dAdD[curveStart] + dAdDd = numpy.array([dAdD[curveStart]]) + belowT= (v<6) + count = 0 + continue + else: + inkex.debug("curveLengthb:" + str(curveLength) +"fracStraight:"+str(fracStraight)+"count:"+str(count)) + isArc= (count < 4 and fracStraight<=0.3) or \ + (fracStraight<=0.1 and count<5) + + if not isArc: + return False, 0 + + # It's a circle ! + radius = points - numpy.array([xmin+w*0.5, ymin+h*0.5]) + radius_n = numpy.sqrt(numpy.sum( radius**2, 1 )) # normalize + + mini = numpy.argmin(radius_n) + rmin = radius_n[mini] + maxi = numpy.argmax(radius_n) + rmax = radius_n[maxi] + # void points around maxi and mini to make sure the 2nd max is found + # on the "other" side + n = len(radius_n) + radius_n[maxi]=0 + radius_n[mini]=0 + for i in range(1, int(n/8+1)): + radius_n[(maxi+i)%n]=0 + radius_n[(maxi-i)%n]=0 + radius_n[(mini+i)%n]=0 + radius_n[(mini-i)%n]=0 + radius_n_2 = [ r for r in radius_n if r>0] + rmax_2 = max(radius_n_2) + rmin_2 = min(radius_n_2) # not good !! + anglemax = numpy.arccos( radius[maxi][0]/rmax)*numpy.sign(radius[maxi][1]) + return True, (xmin+w*0.5, ymin+h*0.5, 0.5*(rmin+rmin_2), 0.5*(rmax+rmax_2), anglemax) + + + + + def tangentEnvelop(svgCommandsList, refNode, options): + a, svgCommandsList = geometric.toArray(svgCommandsList) + tangents = manipulation.buildTangents(a) + + newSegs = [ internal.Segment.fromCenterAndDir( p, t ) for (p, t) in zip(a, tangents) ] + debug("build envelop ", newSegs[0].point1, newSegs[0].pointN) + clustersInd = manipulation.clusterAngles( [s.angle for s in newSegs] ) + debug("build envelop cluster: ", clustersInd) + + return TangentEnvelop( newSegs, svgCommandsList, refNode) + + def isClosing(wTot, hTot, d): + aR = min(wTot/hTot, hTot/wTot) + maxDim = max(wTot, hTot) + # was 0.2 + return aR*0.5 > d/maxDim + + + def curvedFromTangents(svgCommandsList, refNode, x, y, wTot, hTot, d, isClosing, sourcepoints, tangents, options): + +# debug('isClosing ', isClosing, maxDim, d) + + # global quantities : + hasArcs = False + res = () + # Check if circle ----------------------- + if isClosing: + if len(sourcepoints)<9: + return groups.PathGroup.toSegments(sourcepoints, svgCommandsList, refNode, isClosing=True) + isCircle, res = FitShapes.checkForCircle( sourcepoints, tangents) + debug("Is Circle = ", isCircle ) + if isCircle: + x, y, rmin, rmax, angle = res + debug("Circle -> ", rmin, rmax, angle ) + if rmin/rmax>0.7: + circ = groups.Circle((x, y), 0.5*(rmin+rmax), refNode ) + else: + circ = groups.Circle((x, y), rmin, refNode, rmax=rmax, angle=angle) + circ.points = sourcepoints + return circ + #else: + # hasArcs, res = FitShapes.checkForArcs( sourcepoints, tangents) + #else: + #hasArcs, res = FitShapes.checkForArcs( sourcepoints, tangents) + # ----------------------- + if hasArcs: + x, y, rmin, rmax, angle = res + debug("Circle -> ", rmin, rmax, angle ) + if rmin/rmax>0.7: + circ = groups.Circle((x, y), 0.5*(rmin+rmax), refNode ) + else: + circ = groups.Circle((x, y), rmin, refNode, rmax=rmax, angle=angle) + circ.points = sourcepoints + return circ + return None + + def segsFromTangents(svgCommandsList, refNode, options): + """Finds segments part in a list of points represented by svgCommandsList. + + The method is to build the (averaged) tangent vectors to the curve. + Aligned points will have tangent with similar angle, so we cluster consecutive angles together + to define segments. + Then we extend segments to connected points not already part of other segments. + Then we merge consecutive segments with similar angles. + + """ + sourcepoints, svgCommandsList = geometric.toArray(svgCommandsList) + + d = geometric.D(sourcepoints[0], sourcepoints[-1]) + x, y, wTot, hTot = geometric.computeBox(sourcepoints) + if wTot == 0: wTot = 0.001 + if hTot == 0: hTot = 0.001 + if d==0: + # then we remove the last point to avoid null distance + # in other calculations + sourcepoints = sourcepoints[:-1] + svgCommandsList = svgCommandsList[:-1] + + isClosing = FitShapes.isClosing(wTot, hTot, d) + + if len(sourcepoints) < 4: + return groups.PathGroup.toSegments(sourcepoints, svgCommandsList, refNode, isClosing=isClosing) + + tangents = manipulation.buildTangents(sourcepoints, isClosing=isClosing) + + aCurvedSegment = FitShapes.curvedFromTangents(svgCommandsList, refNode, x, y, wTot, hTot, d, isClosing, sourcepoints, tangents, options) + + if not aCurvedSegment == None: + return aCurvedSegment + + # cluster points by angle of their tangents ------------- + tgSegs = [ internal.Segment.fromCenterAndDir( p, t ) for (p, t) in zip(sourcepoints, tangents) ] + clustersInd = sorted(manipulation.clusterAngles( [s.angle for s in tgSegs] )) + debug("build envelop cluster: ", clustersInd) + + # build Segments from clusters + newSegs = [] + for imin, imax in clustersInd: + if imin+1< imax: # consider clusters with more than 3 points + seg = manipulation.fitSingleSegment(sourcepoints[imin:imax+1]) + elif imin+1==imax: # 2 point path : we build a segment + seg = internal.Segment.from2Points(sourcepoints[imin], sourcepoints[imax], sourcepoints[imin:imax+1]) + else: + seg = internal.Path( sourcepoints[imin:imax+1] ) + seg.sourcepoints = sourcepoints + newSegs.append( seg ) + manipulation.resetPrevNextSegment( newSegs ) + debug(newSegs) + # ----------------------- + + + # ----------------------- + # Merge consecutive Path objects + updatedSegs=[] + def toMerge(p): + l=[p] + setattr(p, 'merged', True) + if hasattr(p, "__next__") and not p.next.isSegment(): + l += toMerge(p.next) + return l + + for i, seg in enumerate(newSegs[:-1]): + if seg.isSegment(): + updatedSegs.append( seg) + continue + if hasattr(seg, 'merged'): continue + mergeList = toMerge(seg) + debug('merging ', mergeList) + p = internal.Path(numpy.concatenate([ p.points for p in mergeList]) ) + debug('merged == ', p.points) + updatedSegs.append(p) + + if not hasattr(newSegs[-1], 'merged'): updatedSegs.append( newSegs[-1]) + debug("merged path", updatedSegs) + newSegs = manipulation.resetPrevNextSegment( updatedSegs ) + + + # Extend segments ----------------------------------- + if options.segExtensionEnable: + newSegs = extenders.SegmentExtender.extendSegments( newSegs, options.segExtensionDtoSeg, options.segExtensionQual ) + debug("extended segs", newSegs) + newSegs = manipulation.resetPrevNextSegment( newSegs ) + debug("extended segs", newSegs) + + # ---------------------------------------- + + + # --------------------------------------- + # merge consecutive segments with close angle + updatedSegs=[] + + if options.segAngleMergeEnable: + newSegs = miscellaneous.mergeConsecutiveCloseAngles( newSegs, mangle=options.segAngleMergeTol1 ) + newSegs=manipulation.resetPrevNextSegment(newSegs) + debug(' __ 2nd angle merge') + newSegs = miscellaneous.mergeConsecutiveCloseAngles( newSegs, mangle=options.segAngleMergeTol2 ) # 2nd pass + newSegs=manipulation.resetPrevNextSegment(newSegs) + debug('after merge ', len(newSegs), newSegs) + # Check if first and last also have close angles. + if isClosing and len(newSegs)>2 : + first, last = newSegs[0], newSegs[-1] + if first.isSegment() and last.isSegment(): + if geometric.closeAngleAbs( first.angle, last.angle) < 0.1: + # force merge + points= numpy.concatenate( [ last.points, first.points] ) + newseg = manipulation.fitSingleSegment(points) + newseg.next = first.__next__ if hasattr(first, "__next__") else None + last.prev.next = None + newSegs[0]=newseg + newSegs.pop() + + # ----------------------------------------------------- + # remove negligible Path/Segments between 2 large Segments + if options.segRemoveSmallEdge: + PreProcess.removeSmallEdge(newSegs, wTot, hTot) + newSegs=manipulation.resetPrevNextSegment(newSegs) + + debug('after remove small ', len(newSegs), newSegs) + # ----------------------------------------------------- + + # ----------------------------------------------------- + # Extend segments to their intersections + for p in newSegs: + if p.isSegment() and hasattr(p, "__next__"): + p.setIntersectWithNext() + # ----------------------------------------------------- + + return groups.PathGroup(newSegs, svgCommandsList, refNode, isClosing) + + + + +# ************************************************************* +# The inkscape extension +# ************************************************************* +class ShapeRecognition(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument("--title") + pars.add_argument("--keepOrigin", dest="keepOrigin", default=False, type=inkex.Boolean, help="Do not replace path") + pars.add_argument("--MainTabs") + pars.add_argument("--segExtensionDtoSeg", dest="segExtensionDtoSeg", default=0.03, type=float, help="max distance from point to segment") + pars.add_argument("--segExtensionQual", dest="segExtensionQual", default=0.5, type=float, help="segment extension fit quality") + pars.add_argument("--segExtensionEnable", dest="segExtensionEnable", default=True, type=inkex.Boolean, help="Enable segment extension") + pars.add_argument("--segAngleMergeEnable", dest="segAngleMergeEnable", default=True, type=inkex.Boolean, help="Enable merging of almost aligned consecutive segments") + pars.add_argument("--segAngleMergeTol1", dest="segAngleMergeTol1", default=0.2, type=float, help="merging with tollarance 1") + pars.add_argument("--segAngleMergeTol2", dest="segAngleMergeTol2", default=0.35, type=float, help="merging with tollarance 2") + pars.add_argument("--segAngleMergePara", dest="segAngleMergePara", default=0.001, type=float, help="merge lines as parralels if they fit") + pars.add_argument("--segRemoveSmallEdge", dest="segRemoveSmallEdge", default=True, type=inkex.Boolean, help="Enable removing very small segments") + pars.add_argument("--doUniformization", dest="doUniformization", default=True, type=inkex.Boolean, help="Preform angles and distances uniformization") + for opt in ["doParrallelize", "doKnownAngle", "doEqualizeDist", "doEqualizeRadius", "doCenterCircOnSeg"]: + pars.add_argument( "--"+opt, dest=opt, default=True, type=inkex.Boolean, help=opt) + pars.add_argument("--shapeDistLocal", dest="shapeDistLocal", default=0.3, type=float, help="Pthe percentage of difference at which we make lengths equal, locally") + pars.add_argument("--shapeDistGlobal", dest="shapeDistGlobal", default=0.025, type=float, help="Pthe percentage of difference at which we make lengths equal, globally") + + + + def effect(self): + + rej='{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}type' + paths = [] + for id, node in list(self.svg.selected.items()): + if node.tag == '{http://www.w3.org/2000/svg}path' and rej not in list(node.keys()): + paths.append(node) + + shapes = self.extractShapes(paths) + # add new shapes in SVG document + self.addShapesToDoc( shapes ) + + def extractShapesFromID( self, *nids, **options ): + """for debugging purpose """ + eList = [] + for nid in nids: + el = self.getElementById(nid) + if el is None: + print(("Cant find ", nid)) + return + eList.append(el) + class tmp: + pass + + self.options = self.OptionParser.parse_args()[0] + self.options._update_careful(options) + nodes=self.extractShapes(eList) + self.shape = nodes[0] + + + def buildShape(self, node): + def rotationAngle(tr): + if tr and tr.startswith('rotate'): + # retrieve the angle : + return float(tr[7:-1].split(',')) + else: + return 0. + + if node.tag.endswith('path'): + g = FitShapes.segsFromTangents(node.path.to_arrays(), node, self.options) + elif node.tag.endswith('rect'): + tr = node.get('transform', None) + if tr and tr.startswith('matrix'): + return None # can't deal with scaling + recSize = numpy.array([node.get('width'), node.get('height')]) + recCenter = numpy.array([node.get('x'), node.get('y')]) + recSize/2 + angle=rotationAngle(tr) + g = groups.Rectangle( recSize, recCenter, 0, [], node) + elif node.tag.endswith('circle'): + g = groups.Circle(node.get('cx'), node.get('cy'), node.get('r'), [], node ) + elif node.tag.endswith('ellipse'): + if tr and tr.startswith('matrix'): + return None # can't deal with scaling + angle=rotationAngle(tr) + rx = node.get('rx') + ry = node.get('ry') + g = groups.Circle(node.get('cx'), node.get('cy'), ry, rmax=rx, angle=angle, refNode=node) + + return g + + def extractShapes( self, nodes ): + """The main function. + nodes : a list of nodes""" + analyzedNodes = [] + + # convert nodes to list of segments (groups.PathGroup) or Circle + for n in nodes : + g = self.buildShape(n) + if g : + analyzedNodes.append( g ) + + # uniformize shapes + if self.options.doUniformization: + analyzedNodes = PostProcess.uniformizeShapes(analyzedNodes, self.options) + + return analyzedNodes + + def addShapesToDoc(self, pathGroupList): + for group in pathGroupList: + + debug("final ", group.listOfPaths, group.refNode ) + debug("final-style ", group.refNode.get('style')) + # change to Rectangle if possible : + finalshape = manipulation.toRemarkableShape( group ) + ele = group.addToNode( group.refNode) + group.setNodeStyle(ele, group.refNode) + if not self.options.keepOrigin: + group.refNode.xpath('..')[0].remove(group.refNode) + + + +if __name__ == '__main__': + ShapeRecognition().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/shape_recognition/shaperrec/extenders.py b/extensions/fablabchemnitz/shape_recognition/shaperrec/extenders.py new file mode 100644 index 0000000..29c7712 --- /dev/null +++ b/extensions/fablabchemnitz/shape_recognition/shaperrec/extenders.py @@ -0,0 +1,130 @@ +import numpy +import sys +from shaperrec import manipulation + +# ************************************************************* +# debugging +def void(*l): + pass +def debug_on(*l): + sys.stderr.write(' '.join(str(i) for i in l) +'\n') +debug = void +#debug = debug_on + +##************************************** +## +class SegmentExtender: + """Extend Segments part of a list of Path by aggregating points from neighbouring Path objects. + + There are 2 concrete subclasses for extending forward and backward (due to technical reasons). + """ + + def __init__(self, relD, fitQ): + self.relD = relD + self.fitQ = fitQ + + def nextPaths(self, seg): + pL = [] + p = self.getNext(seg) # prev or next + while p : + if p.isSegment(): break + if p.mergedObj is None: break + pL.append(p) + p = self.getNext(p) + if pL==[]: + return [] + return pL + + def extend(self, seg): + nextPathL = self.nextPaths(seg) + debug('extend ', self.extDir, seg, nextPathL, seg.length, len(nextPathL)) + if nextPathL==[]: return seg + pointsToTest = numpy.concatenate( [p.points for p in nextPathL] ) + mergeD = seg.length*self.relD + #print seg.point1 , seg.pointN, pointsToTest + pointsToFit, addedPoints = self.pointsToFit(seg, pointsToTest, mergeD) + if len(pointsToFit)==0: + return seg + newseg = manipulation.fitSingleSegment(pointsToFit) + if newseg.quality()>self.fitQ: # fit failed + return seg + debug( ' EXTENDING ! ', len(seg.points), len(addedPoints) ) + self.removePath(seg, newseg, nextPathL, addedPoints ) + newseg.points = pointsToFit + seg.mergedObj= newseg + newseg.sourcepoints = seg.sourcepoints + + return newseg + + @staticmethod + def extendSegments(segmentList, relD=0.03, qual=0.5): + """Perform Segment extension from list of Path segmentList + returns the updated list of Path objects""" + fwdExt = FwdExtender(relD, qual) + bwdExt = BwdExtender(relD, qual) + # tag all objects with an attribute pointing to the extended object + for seg in segmentList: + seg.mergedObj = seg # by default the extended object is self + # extend each segments, starting by the longest + for seg in sorted(segmentList, key = lambda s : s.length, reverse=True): + if seg.isSegment(): + newseg=fwdExt.extend(seg) + seg.mergedObj = bwdExt.extend(newseg) + # the extension procedure has marked as None the mergedObj + # which have been swallowed by an extension. + # filter them out : + updatedSegs=[seg.mergedObj for seg in segmentList if seg.mergedObj] + return updatedSegs + + +class FwdExtender(SegmentExtender): + extDir='Fwd' + def getNext(self, seg): + return seg.__next__ if hasattr(seg, "__next__") else None + def pointsToFit(self, seg, pointsToTest, mergeD): + distancesToLine =abs(seg.a*pointsToTest[:, 0]+seg.b*pointsToTest[:, 1]+seg.c) + goodInd=len(pointsToTest) + for i, d in reversed(list(enumerate(distancesToLine))): + if dnexp: + np = int(deltaD[ind]/medDelta) + pL = [a[ind]] + #print i,'=',ind,'adding ', np,' _ ', deltaD[ind], a[ind], a[ind+1] + for j in range(np-1): + f = float(j+1)/np + #print '------> ', (1-f)*a[ind]+f*a[ind+1] + pL.append( (1-f)*a[ind]+f*a[ind+1] ) + newpoints[ind] = pL + else: + newpoints[ind]=[a[ind]] + if(D(a[0], a[-1])/sizeC > 0.005 ) : + newpoints[-1]=[a[-1]] + + points = numpy.concatenate([p for p in newpoints if p!=None] ) +# ## print ' medDelta ', medDelta, deltaD[sortedDind[-1]] +# ## print len(a) ,' ------> ', len(points) + + rel_norms = numpy.sqrt(numpy.sum( deltas**2, 1 )) / sizeC + keep = numpy.concatenate([numpy.where( rel_norms >0.005 )[0], numpy.array([len(a)-1])]) + + #return a[keep] , [ parsedList[i] for i in keep] + #print len(a),' ',len(points) + return points, [] + +rotMat = numpy.array( [[1, -1], [1, 1]] )/numpy.sqrt(2) +unrotMat = numpy.array( [[1, 1], [-1, 1]] )/numpy.sqrt(2) + +def setupKnownAngles(): + pi = numpy.pi + #l = [ i*pi/8 for i in range(0, 9)] +[ i*pi/6 for i in [1,2,4,5,] ] + l = [ i*pi/8 for i in range(0, 9)] +[ i*pi/6 for i in [1, 2, 4, 5,] ] + [i*pi/12 for i in (1, 5, 7, 11)] + knownAngle = numpy.array( l ) + return numpy.concatenate( [-knownAngle[:0:-1], knownAngle ]) +knownAngle = setupKnownAngles() + +_twopi = 2*numpy.pi +_pi = numpy.pi + +def deltaAngle(a1, a2): + d = a1 - a2 + return d if d > -_pi else d+_twopi + +def closeAngleAbs(a1, a2): + d = abs(a1 - a2 ) + return min( abs(d-_pi), abs( _twopi - d), d) + +def deltaAngleAbs(a1, a2): + return abs(in_mPi_pPi(a1 - a2 )) + +def in_mPi_pPi(a): + if(a>_pi): return a-_twopi + if(a<-_pi): return a+_twopi + return a +vec_in_mPi_pPi = numpy.vectorize(in_mPi_pPi) + +def D2(p1, p2): + return ((p1-p2)**2).sum() + +def D(p1, p2): + return numpy.sqrt(D2(p1, p2) ) + +def norm(p): + return numpy.sqrt( (p**2).sum() ) + +def computeBox(a): + """returns the bounding box enclosing the array of points a + in the form (x,y, width, height) """ + + xmin, ymin = a[:, 0].min(), a[:, 1].min() + xmax, ymax = a[:, 0].max(), a[:, 1].max() + return xmin, ymin, xmax-xmin, ymax-ymin + +def dirAndLength(p1, p2): + #l = max(D(p1, p2) ,1e-4) + l = D(p1, p2) + uv = (p1-p2)/l + return l, uv + +def length(p1, p2): + return numpy.sqrt( D2(p1, p2) ) + +def barycenter(points): + """ + """ + return points.sum(axis=0)/len(points) \ No newline at end of file diff --git a/extensions/fablabchemnitz/shape_recognition/shaperrec/groups.py b/extensions/fablabchemnitz/shape_recognition/shaperrec/groups.py new file mode 100644 index 0000000..4016f23 --- /dev/null +++ b/extensions/fablabchemnitz/shape_recognition/shaperrec/groups.py @@ -0,0 +1,278 @@ +import numpy +import sys +import inkex +from lxml import etree +from shaperrec import geometric +from shaperrec import miscellaneous +from shaperrec import internal +from shaperrec import manipulation + +# ************************************************************* +# debugging +def void(*l): + pass +def debug_on(*l): + sys.stderr.write(' '.join(str(i) for i in l) +'\n') +debug = void +#debug = debug_on + +# ************************************************************* +# ************************************************************* +# Groups of Path +# +class PathGroup(object): + """A group of Path representing one SVG node. + - a list of Path + - a list of SVG commands describe the full node (=SVG path element) + - a reference to the inkscape node object + + """ + listOfPaths = [] + refSVGPathList = [] + isClosing = False + refNode = None + + def __init__(self, listOfPaths, refSVGPathList, refNode=None, isClosing=False): + self.refNode = refNode + self.listOfPaths = listOfPaths + self.refSVGPathList = refSVGPathList + self.isClosing=isClosing + + def addToNode(self, node): + newList = miscellaneous.reformatList( self.listOfPaths) + ele = miscellaneous.addPath( newList, node) + debug("PathGroup ", newList) + return ele + + def setNodeStyle(self, ele, node): + style = node.get('style') + cssClass = node.get('class') + debug("style ", style) + debug("class ", cssClass) + if style == None and cssClass == None : + style = 'fill:none; stroke:red; stroke-width:1' + + if not cssClass == None: + ele.set('class', cssClass) + if not style == None: + ele.set('style', style) + + @staticmethod + def toSegments(points, refSVGPathList, refNode, isClosing=False): + """ + """ + segs = [ internal.Segment.from2Points(p, points[i+1], points[i:i+2] ) for (i, p) in enumerate(points[:-1]) ] + manipulation.resetPrevNextSegment(segs) + return PathGroup( segs, refSVGPathList, refNode, isClosing) + +class TangentEnvelop(PathGroup): + """Specialization where the Path objects are all Segments and represent tangents to a curve """ + def addToNode(self, node): + newList = [ ] + for s in self.listOfPaths: + newList += s.asSVGCommand(firstP=True) + debug("TangentEnvelop ", newList) + ele = miscellaneous.addPath( newList, node) + return ele + + def setNodeStyle(self, ele, node): + style = node.get('style')+';marker-end:url(#Arrow1Lend)' + ele.set('style', style) + + +class Circle(PathGroup): + """Specialization where the list of Path objects + is to be replaced by a Circle specified by a center and a radius. + + If an other radius 'rmax' is given than the object represents an ellipse. + """ + isClosing= True + def __init__(self, center, rad, refNode=None, rmax=None, angle=0.): + self.listOfPaths = [] + self.refNode = refNode + self.center = numpy.array(center) + self.radius = rad + if rmax: + self.type ='ellipse' + else: + self.type = 'circle' + self.rmax = rmax + self.angle = angle + + def addToNode(self, refnode): + """Add a node in the xml structure corresponding to this rect + refnode : xml node used as a reference, new point will be inserted a same level""" + ele = etree.Element('{http://www.w3.org/2000/svg}'+self.type) + + ele.set('cx', str(self.center[0])) + ele.set('cy', str(self.center[1])) + if self.rmax: + ele.set('ry', str(self.radius)) + ele.set('rx', str(self.rmax)) + ele.set('transform', 'rotate(%3.2f,%f,%f)'%(numpy.degrees(self.angle), self.center[0], self.center[1])) + else: + ele.set('r', str(self.radius)) + refnode.xpath('..')[0].append(ele) + return ele + + +class Rectangle(PathGroup): + """Specialization where the list of Path objects + is to be replaced by a Rectangle specified by a center and size (w,h) and a rotation angle. + + """ + def __init__(self, center, size, angle, listOfPaths, refNode=None): + self.listOfPaths = listOfPaths + self.refNode = refNode + self.center = center + self.size = size + self.bbox = size + self.angle = angle + pos = self.center - numpy.array( size )/2 + if angle != 0. : + cosa = numpy.cos(angle) + sina = numpy.sin(angle) + self.rotMat = numpy.matrix( [ [ cosa, sina], [-sina, cosa] ] ) + self.rotMatstr = 'matrix(%1.7f,%1.7f,%1.7f,%1.7f,0,0)'%(cosa, sina, -sina, cosa) + + + #debug(' !!!!! Rotated rectangle !!', self.size, self.bbox, ' angles ', a, self.angle ,' center',self.center) + else : + self.rotMatstr = None + self.pos = pos + debug(' !!!!! Rectangle !!', self.size, self.bbox, ' angles ', self.angle, ' center', self.center) + + def addToNode(self, refnode): + """Add a node in the xml structure corresponding to this rect + refnode : xml node used as a reference, new point will be inserted a same level""" + ele = etree.Element('{http://www.w3.org/2000/svg}rect') + self.fill(ele) + refnode.xpath('..')[0].append(ele) + return ele + + def fill(self, ele): + w, h = self.size + ele.set('width', str(w)) + ele.set('height', str(h)) + w, h = self.bbox + ele.set('x', str(self.pos[0])) + ele.set('y', str(self.pos[1])) + if self.rotMatstr: + ele.set('transform', 'rotate(%3.2f,%f,%f)'%(numpy.degrees(self.angle), self.center[0], self.center[1])) + #ele.set('transform', self.rotMatstr) + + @staticmethod + def isRectangle( pathGroup): + """Check if the segments in pathGroups can form a rectangle. + Returns a Rectangle or None""" + #print 'xxxxxxxx isRectangle',pathGroups + if isinstance(pathGroup, Circle ): return None + segmentList = [p for p in pathGroup.listOfPaths if p.isSegment() ]#or p.effectiveNPoints >0] + if len(segmentList) != 4: + debug( 'rectangle Failed at length ', len(segmentList)) + return None + a, b, c, d = segmentList + + if geometric.length(a.point1, d.pointN)> 0.2*(a.length+d.length)*0.5: + debug('rectangle test failed closing ', geometric.length(a.point1, d.pointN), a.length, d.length) + return None + + Aac, Abd = geometric.closeAngleAbs(a.angle, c.angle), geometric.closeAngleAbs(b.angle, d.angle) + if min(Aac, Abd) > 0.07 or max(Aac, Abd) >0.27 : + debug( 'rectangle Failed at angles', Aac, Abd) + return None + notsimilarL = lambda d1, d2: abs(d1-d2)>0.20*min(d1, d2) + + pi, twopi = numpy.pi, 2*numpy.pi + angles = numpy.array( [p.angle for p in segmentList] ) + minAngleInd = numpy.argmin( numpy.minimum( abs(angles), abs( abs(angles)-pi), abs( abs(angles)-twopi) ) ) + rotAngle = angles[minAngleInd] + width = (segmentList[minAngleInd].length + segmentList[(minAngleInd+2)%4].length)*0.5 + height = (segmentList[(minAngleInd+1)%4].length + segmentList[(minAngleInd+3)%4].length)*0.5 + # set rectangle center as the bbox center + x, y, w, h = geometric.computeBox( numpy.concatenate( [ p.points for p in segmentList]) ) + r = Rectangle( numpy.array( [x+w/2, y+h/2]), (width, height), rotAngle, pathGroup.listOfPaths, pathGroup.refNode) + + debug( ' found a rectangle !! ', a.length, b.length, c.length, d.length ) + return r + + +class CurveGroup(PathGroup): + """Specialization where the list of Path objects + is to be replaced by a Rectangle specified by a center and size (w,h) and a rotation angle. + + """ + def __init__(self, center, size, angle, listOfPaths, refNode=None): + self.listOfPaths = listOfPaths + self.refNode = refNode + self.center = center + self.size = size + self.bbox = size + self.angle = angle + pos = self.center - numpy.array( size )/2 + if angle != 0. : + cosa = numpy.cos(angle) + sina = numpy.sin(angle) + self.rotMat = numpy.matrix( [ [ cosa, sina], [-sina, cosa] ] ) + self.rotMatstr = 'matrix(%1.7f,%1.7f,%1.7f,%1.7f,0,0)'%(cosa, sina, -sina, cosa) + + + #debug(' !!!!! Rotated rectangle !!', self.size, self.bbox, ' angles ', a, self.angle ,' center',self.center) + else : + self.rotMatstr = None + self.pos = pos + debug(' !!!!! Rectangle !!', self.size, self.bbox, ' angles ', self.angle, ' center', self.center) + + def addToNode(self, refnode): + """Add a node in the xml structure corresponding to this rect + refnode : xml node used as a reference, new point will be inserted a same level""" + ele = etree.Element('{http://www.w3.org/2000/svg}rect') + self.fill(ele) + refnode.xpath('..')[0].append(ele) + return ele + +# def fill(self, ele): +# w, h = self.size +# ele.set('width', str(w)) +# ele.set('height', str(h)) +# w, h = self.bbox +# ele.set('x', str(self.pos[0])) +# ele.set('y', str(self.pos[1])) +# if self.rotMatstr: +# ele.set('transform', 'rotate(%3.2f,%f,%f)'%(numpy.degrees(self.angle), self.center[0], self.center[1])) +# #ele.set('transform', self.rotMatstr) + + @staticmethod + def isCurvedSegment( pathGroup): + """Check if the segments in pathGroups can form a rectangle. + Returns a Rectangle or None""" + #print 'xxxxxxxx isRectangle',pathGroups + if isinstance(pathGroup, Circle ): return None + segmentList = [p for p in pathGroup.listOfPaths if p.isSegment() ]#or p.effectiveNPoints >0] + if len(segmentList) != 4: + debug( 'rectangle Failed at length ', len(segmentList)) + return None + a, b, c, d = segmentList + + if geometric.length(a.point1, d.pointN)> 0.2*(a.length+d.length)*0.5: + debug('rectangle test failed closing ', geometric.length(a.point1, d.pointN), a.length, d.length) + return None + + Aac, Abd = geometric.closeAngleAbs(a.angle, c.angle), geometric.closeAngleAbs(b.angle, d.angle) + if min(Aac, Abd) > 0.07 or max(Aac, Abd) >0.27 : + debug( 'rectangle Failed at angles', Aac, Abd) + return None + notsimilarL = lambda d1, d2: abs(d1-d2)>0.20*min(d1, d2) + + pi, twopi = numpy.pi, 2*numpy.pi + angles = numpy.array( [p.angle for p in segmentList] ) + minAngleInd = numpy.argmin( numpy.minimum( abs(angles), abs( abs(angles)-pi), abs( abs(angles)-twopi) ) ) + rotAngle = angles[minAngleInd] + width = (segmentList[minAngleInd].length + segmentList[(minAngleInd+2)%4].length)*0.5 + height = (segmentList[(minAngleInd+1)%4].length + segmentList[(minAngleInd+3)%4].length)*0.5 + # set rectangle center as the bbox center + x, y, w, h = geometric.computeBox( numpy.concatenate( [ p.points for p in segmentList]) ) + r = Rectangle( numpy.array( [x+w/2, y+h/2]), (width, height), rotAngle, pathGroup.listOfPaths, pathGroup.refNode) + + debug( ' found a rectangle !! ', a.length, b.length, c.length, d.length ) + return r diff --git a/extensions/fablabchemnitz/shape_recognition/shaperrec/internal.py b/extensions/fablabchemnitz/shape_recognition/shaperrec/internal.py new file mode 100644 index 0000000..edd9940 --- /dev/null +++ b/extensions/fablabchemnitz/shape_recognition/shaperrec/internal.py @@ -0,0 +1,351 @@ +import numpy +import sys +from shaperrec import geometric +from shaperrec import miscellaneous + +# ************************************************************* +# debugging +def void(*l): + pass +def debug_on(*l): + sys.stderr.write(' '.join(str(i) for i in l) +'\n') +debug = void +#debug = debug_on + +# ************************************************************* +# Internal Objects +class Path(object): + """Private representation of a sequence of points. + A SVG node of type 'path' is splitted in several of these Path objects. + """ + next = None # next Path in the sequence of path corresponding to a SVG node + prev = None # previous Path in the sequence of path corresponding to a SVG node + sourcepoints = None # the full list of points from which this path is a subset + + normalv = None # normal vector to this Path + + def __init__(self, points): + """points an array of points """ + self.points = points + self.init() + + def init(self): + self.effectiveNPoints = len(self.points) + if self.effectiveNPoints>1: + self.length, self.univ = geometric.dirAndLength(self.points[0], self.points[-1]) + else: + self.length, self.univ = 0, numpy.array([0, 0]) + if self.effectiveNPoints>0: + self.pointN=self.points[-1] + self.point1=self.points[0] + + def isSegment(self): + return False + + def quality(self): + return 1000 + + def dump(self): + n = len(self.points) + if n>0: + return 'path at '+str(self.points[0])+ ' to '+ str(self.points[-1])+' npoints=%d / %d (eff)'%(n, self.effectiveNPoints) + else: + return 'path Void !' + + def setNewLength(self, l): + self.newLength = l + + def removeLastPoints(self, n): + self.points = self.points[:-n] + self.init() + def removeFirstPoints(self, n): + self.points = self.points[n:] + self.init() + + def costheta(self, seg): + return self.unitv.dot(seg.unitv) + + def translate(self, tr): + """Translate this path by tr""" + self.points = self.points + tr + + def asSVGCommand(self, firstP=False): + svgCommands = [] + com = 'M' if firstP else 'L' + for p in self.points: + svgCommands.append( [com, [p[0], p[1]] ] ) + com='L' + return svgCommands + + + def setIntersectWithNext(self, next=None): + pass + + def mergedWithNext(self, newPath=None): + """ Returns the combination of self and self.next. + sourcepoints has to be set + """ + if newPath is None: newPath = Path( numpy.concatenate([self.points, self.next.points]) ) + + newPath.sourcepoints = self.sourcepoints + newPath.prev = self.prev + if self.prev : newPath.prev.next = newPath + newPath.next = self.next.__next__ + if newPath.__next__: + newPath.next.prev = newPath + return newPath + +# ************************************************************* +# +class Segment(Path): + """ A segment. Defined by its line equation ax+by+c=0 and the points from orignal paths + it is ensured that a**2+b**2 = 1 + """ + QUALITYCUT = 0.9 + + newAngle = None # temporary angle set during the "parralelization" step + newLength = None # temporary lenght set during the "parralelization" step + + # Segment Builders + @staticmethod + def from2Points( p1, p2, refPoints = None): + dirV = p2-p1 + center = 0.5*(p2+p1) + return Segment.fromCenterAndDir(center, dirV, refPoints) + + @staticmethod + def fromCenterAndDir( center, dirV, refPoints=None): + b = dirV[0] + a = -dirV[1] + c = - (a*center[0]+b*center[1]) + + if refPoints is None: + refPoints = numpy.array([ center-0.5*dirV, center+0.5*dirV] ) + s = Segment( a, b, c, refPoints) + return s + + + def __init__(self, a,b,c, points, doinit=True): + """a,b,c: the line parameters. + points : the array of 2D points represented by this Segment + doinit : if true will compute additionnal parameters to this Segment (first/last points, unit vector,...) + """ + self.a = a + self.b = b + self.c = c + + self.points = points + d = numpy.sqrt(a**2+b**2) + if d != 1. : + self.a /= d + self.b /= d + self.c /= d + + if doinit : + self.init() + + + def init(self): + a, b, c = self.a, self.b, self.c + x, y = self.points[0] + self.point1 = numpy.array( [ b*(x*b-y*a) - c*a, a*(y*a-x*b) - c*b ] ) + x, y = self.points[-1] + self.pointN = numpy.array( [ b*(x*b-y*a) - c*a, a*(y*a-x*b) - c*b ] ) + uv = self.computeDirLength() + self.distancesToLine = self.computeDistancesToLine(self.points) + self.normalv = numpy.array( [ a, b ]) + + self.angle = numpy.arccos( uv[0] )*numpy.sign(uv[1] ) + + + def computeDirLength(self): + """re-compute and set unit vector and length """ + self.length, uv = geometric.dirAndLength(self.pointN, self.point1) + self.unitv = uv + return uv + + def isSegment(self): + return True + + def recomputeEndPoints(self): + a, b, c = self.a, self.b, self.c + x, y = self.points[0] + self.point1 = numpy.array( [ b*(x*b-y*a) - c*a, a*(y*a-x*b) - c*b ] ) + x, y = self.points[-1] + + self.pointN = numpy.array( [ b*(x*b-y*a) - c*a, a*(y*a-x*b) - c*b ] ) + + self.length = numpy.sqrt( geometric.D2(self.pointN, self.point1) ) + + def projectPoint(self, p): + """ return the point projection of p onto this segment""" + a, b, c = self.a, self.b, self.c + x, y = p + return numpy.array( [ b*(x*b-y*a) - c*a, a*(y*a-x*b) - c*b ] ) + + + def intersect(self, seg): + """Returns the intersection of this line with the line seg""" + nu, nv = self.normalv, seg.normalv + u = numpy.array([[-self.c], [-seg.c]]) + doRotation = min(nu.min(), nv.min()) <1e-4 + if doRotation: + # rotate to avoid numerical issues + nu = numpy.array(geometric.rotMat.dot(nu))[0] + nv = numpy.array(geometric.rotMat.dot(nv))[0] + m = numpy.matrix( (nu, nv) ) + + i = (m**-1).dot(u) + i=numpy.array( i).swapaxes(0, 1)[0] + debug(' intersection ', nu, nv, self.angle, seg.angle, ' --> ', i) + if doRotation: + i = geometric.unrotMat.dot(i).A1 + debug(' ', i) + + + return i + + def setIntersectWithNext(self, next=None): + """Modify self such as self.pointN is the intersection with next segment """ + if next is None: + next = self.__next__ + if next and next.isSegment(): + if abs(self.normalv.dot(next.unitv)) < 1e-3: + return + debug(' Intersect', self, next, ' from ', self.point1, self.pointN, ' to ', next.point1, next.pointN,) + inter = self.intersect(next) + debug(' --> ', inter, ' d=', geometric.D(self.pointN, inter) ) + next.point1 = inter + self.pointN = inter + self.computeDirLength() + next.computeDirLength() + + def computeDistancesToLine(self, points): + """points: array of points. + returns the array of distances to this segment""" + return abs(self.a*points[:, 0]+self.b*points[:, 1]+self.c) + + + def distanceTo(self, point): + return abs(self.a*point[0]+self.b*point[1]+self.c) + + def inverse(self): + """swap all x and y values. """ + def inv(v): + v[0], v[1] = v[1], v[0] + for v in [self.point1, self.pointN, self.unitv, self.normalv]: + inv(v) + + self.points = numpy.roll(self.points, 1, axis=1) + self.a, self.b = self.b, self.a + self.angle = numpy.arccos( self.unitv[0] )*numpy.sign(self.unitv[1] ) + return + + def dumpShort(self): + return 'seg '+' '+str(self.point1 )+'to '+str(self.pointN)+ ' npoints=%d | angle,offset=(%.2f,%.2f )'%(len(self.points), self.angle, self.c)+' ', self.normalv + + def dump(self): + v = self.variance() + n = len(self.points) + return 'seg '+str(self.point1 )+' , '+str(self.pointN)+ ' v/l=%.2f / %.2f = %.2f r*numpy.sqrt(n)=%.2f npoints=%d | angle,offset=(%.2f,%.2f )'%(v, self.length, v/self.length, v/self.length*numpy.sqrt(n), n, self.angle, self.c) + + def variance(self): + d = self.distancesToLine + return numpy.sqrt( (d**2).sum()/len(d) ) + + def quality(self): + n = len(self.points) + return min(self.variance()/self.length*numpy.sqrt(n), 1000) + + def formatedSegment(self, firstP=False): + return self.asSVGCommand(firstP) + + def asSVGCommand(self, firstP=False): + + if firstP: + segment = [ ['M', [self.point1[0], self.point1[1] ] ], + ['L', [self.pointN[0], self.pointN[1] ] ] + ] + else: + segment = [ ['L', [self.pointN[0], self.pointN[1] ] ] ] + #debug("Segment, format : ", segment) + return segment + + def replaceInList(self, startPos, fullList): + code0 = fullList[startPos][0] + segment = [ [code0, [self.point1[0], self.point1[1] ] ], + ['L', [self.pointN[0], self.pointN[1] ] ] + ] + l = fullList[:startPos]+segment+fullList[startPos+len(self.points):] + return l + + + + + def mergedWithNext(self, doRefit=True): + """ Returns the combination of self and self.next. + sourcepoints has to be set + """ + spoints = numpy.concatenate([self.points, self.next.points]) + + if doRefit: + newSeg = fitSingleSegment(spoints) + else: + newSeg = Segment.fromCenterAndDir(geometric.barycenter(spoints), self.unitv, spoints) + + newSeg = Path.mergedWithNext(self, newSeg) + return newSeg + + + + def center(self): + return 0.5*(self.point1+self.pointN) + + def box(self): + return geometric.computeBox(self.points) + + + def translate(self, tr): + """Translate this segment by tr """ + c = self.c -self.a*tr[0] -self.b*tr[1] + self.c =c + self.pointN = self.pointN+tr + self.point1 = self.point1+tr + self.points +=tr + + def adjustToNewAngle(self): + """reset all parameters so that self.angle is change to self.newAngle """ + + self.a, self.b, self.c = miscellaneous.parametersFromPointAngle( 0.5*(self.point1+self.pointN), self.newAngle) + + #print 'adjustToNewAngle ', self, self.angle, self.newAngle + self.angle = self.newAngle + self.normalv = numpy.array( [ self.a, self.b ]) + self.unitv = numpy.array( [ self.b, -self.a ]) + if abs(self.angle) > numpy.pi/2 : + if self.b > 0: self.unitv *= -1 + elif self.b<0 : self.unitv *= -1 + + self.point1 = self.projectPoint(self.point1) # reset point1 + if not hasattr(self, "__next__") or not self.next.isSegment(): + # move the last point (no intersect with next) + + pN = self.projectPoint(self.pointN) + dirN = pN - self.point1 + lN = geometric.length(pN, self.point1) + self.pointN = dirN/lN*self.length + self.point1 + #print ' ... adjusting last seg angle ',p.dump() , ' normalv=', p.normalv, 'unitv ', p.unitv + else: + self.setIntersectWithNext() + + def adjustToNewDistance(self): + self.pointN = self.newLength* self.unitv + self.point1 + self.length = self.newLength + + def tempLength(self): + if self.newLength : return self.newLength + else : return self.length + + def tempAngle(self): + if self.newAngle: return self.newAngle + return self.angle \ No newline at end of file diff --git a/extensions/fablabchemnitz/shape_recognition/shaperrec/manipulation.py b/extensions/fablabchemnitz/shape_recognition/shaperrec/manipulation.py new file mode 100644 index 0000000..e2c6b9d --- /dev/null +++ b/extensions/fablabchemnitz/shape_recognition/shaperrec/manipulation.py @@ -0,0 +1,187 @@ +import numpy +import sys +from shaperrec import groups +from shaperrec import geometric +from shaperrec import internal + +# ************************************************************* +# debugging +def void(*l): + pass +def debug_on(*l): + sys.stderr.write(' '.join(str(i) for i in l) +'\n') +debug = void +#debug = debug_on + +# ************************************************************* +# Object manipulation functions + +def toRemarkableShape( group ): + """Test if PathGroup instance 'group' looks like a remarkable shape (ex: Rectangle). + if so returns a new shape instance else returns group unchanged""" + r = groups.Rectangle.isRectangle( group ) + if r : return r + return group + + +def resetPrevNextSegment(segs): + for i, seg in enumerate(segs[:-1]): + s = segs[i+1] + seg.next = s + s.prev = seg + return segs + + +def fitSingleSegment(a): + xmin, ymin, w, h = geometric.computeBox(a) + inverse = w ', tangents ) + + if averaged: + # average over neighbours + avTan = numpy.array(tangents) + avTan[:-1] += tangents[1:] + avTan[1:] += tangents[:-1] + if isClosing: + tangents[0]+=tangents[-1] + tangents[1]+=tangents[0] + avTan *= 1./3 + if not isClosing: + avTan[0] *=1.5 + avTan[-1] *=1.5 + + return avTan + + +def clusterAngles(array, dAng=0.15): + """Cluster together consecutive angles with similar values (within 'dAng'). + array : flat array of angles + returns [ ..., (indi_0, indi_1),...] where each tuple are indices of cluster i + """ + N = len(array) + + closebyAng = numpy.zeros( (N, 4), dtype=int) + + for i, a in enumerate(array): + cb = closebyAng[i] + cb[0] =i + cb[2]=i + cb[3]=i + c=i-1 + # find number of angles within dAng in nearby positions + while c>-1: # indices below i + d=geometric.closeAngleAbs(a, array[c]) + if d>dAng: + break + cb[1]+=1 + cb[2]=c + c-=1 + c=i+1 + while cdAng: + break + cb[1]+=1 + cb[3]=c + c+=1 + closebyAng= closebyAng[numpy.argsort(closebyAng[:, 1]) ] + + clusteredPos = numpy.zeros(N, dtype=int) + clusters = [] + for cb in reversed(closebyAng): + if clusteredPos[cb[0]]==1: + continue + # try to build a cluster + minI = cb[2] + while clusteredPos[minI]==1: + minI+=1 + maxI = cb[3] + while clusteredPos[maxI]==1: + maxI-=1 + for i in range(minI, maxI+1): + clusteredPos[i] = 1 + clusters.append( (minI, maxI) ) + + return clusters + + + + +def adjustAllAngles(paths): + for p in paths: + if p.isSegment() and p.newAngle is not None: + p.adjustToNewAngle() + # next translate to fit end points + tr = numpy.zeros(2) + for p in paths[1:]: + if p.isSegment() and p.prev.isSegment(): + tr = p.prev.pointN - p.point1 + debug(' translating ', p, ' prev is', p.prev, ' ', tr, ) + p.translate(tr) + +def adjustAllDistances(paths): + for p in paths: + if p.isSegment() and p.newLength is not None: + p.adjustToNewDistance() + # next translate to fit end points + tr = numpy.zeros(2) + for p in paths[1:]: + if p.isSegment() and p.prev.isSegment(): + tr = p.prev.pointN - p.point1 + p.translate(tr) diff --git a/extensions/fablabchemnitz/shape_recognition/shaperrec/miscellaneous.py b/extensions/fablabchemnitz/shape_recognition/shaperrec/miscellaneous.py new file mode 100644 index 0000000..3949c41 --- /dev/null +++ b/extensions/fablabchemnitz/shape_recognition/shaperrec/miscellaneous.py @@ -0,0 +1,209 @@ +import sys +import inkex +from inkex import Path +import numpy +from shaperrec import manipulation +from lxml import etree + + + +# ************************************************************* +# debugging +def void(*l): + pass +def debug_on(*l): + sys.stderr.write(' '.join(str(i) for i in l) +'\n') +debug = void +#debug = debug_on + +errwrite = void + + +# miscellaneous helper functions to sort + +# merge consecutive segments with close angle + +def mergeConsecutiveCloseAngles( segList , mangle =0.25 , q=0.5): + + def toMerge(seg): + l=[seg] + setattr(seg, 'merged', True) + if hasattr(seg, "__next__") and seg.next.isSegment() : + debug('merging segs ', seg.angle, ' with : ', seg.next.point1, seg.next.pointN, ' ang=', seg.next.angle) + if geometric.deltaAngleAbs( seg.angle, seg.next.angle) < mangle: + l += toMerge(seg.next) + return l + + updatedSegs = [] + for i, seg in enumerate(segList[:-1]): + if not seg.isSegment() : + updatedSegs.append(seg) + continue + if hasattr(seg, 'merged'): + continue + debug(i, ' inspect merge : ', seg.point1, '-', seg.pointN, seg.angle, ' q=', seg.quality()) + mList = toMerge(seg) + debug(' --> tomerge ', len(mList)) + if len(mList)<2: + delattr(seg, 'merged') + updatedSegs.append(seg) + continue + points= numpy.concatenate( [p.points for p in mList] ) + newseg = fitSingleSegment(points) + if newseg.quality()>q: + delattr(seg, 'merged') + updatedSegs.append(seg) + continue + for p in mList: + setattr(seg, 'merged', True) + newseg.sourcepoints = seg.sourcepoints + debug(' --> post merge qual = ', newseg.quality(), seg.pointN, ' --> ', newseg.pointN, newseg.angle) + newseg.prev = mList[0].prev + newseg.next = mList[-1].__next__ + updatedSegs.append(newseg) + if not hasattr(segList[-1], 'merged') : updatedSegs.append( segList[-1]) + return updatedSegs + + + + +def parametersFromPointAngle(point, angle): + unitv = numpy.array([ numpy.cos(angle), numpy.sin(angle) ]) + ortangle = angle+numpy.pi/2 + normal = numpy.array([ numpy.cos(ortangle), numpy.sin(ortangle) ]) + genOffset = -normal.dot(point) + a, b = normal + return a, b, genOffset + + + +def addPath(newList, refnode): + """Add a node in the xml structure corresponding to the content of newList + newList : list of Segment or Path + refnode : xml node used as a reference, new point will be inserted a same level""" + ele = etree.Element('{http://www.w3.org/2000/svg}path') + errwrite("newList = " + str(newList) + "\n") + ele.set('d', str(Path(newList))) + refnode.xpath('..')[0].append(ele) + return ele + +def reformatList( listOfPaths): + """ Returns a SVG paths list (same format as simplepath.parsePath) from a list of Path objects + - Segments in paths are added in the new list + - simple Path are retrieved from the original refSVGPathList and put in the new list (thus preserving original bezier curves) + """ + newList = [] + first = True + for seg in listOfPaths: + newList += seg.asSVGCommand(first) + first = False + return newList + + +def clusterValues( values, relS=0.1 , refScaleAbs='range' ): + """form clusters of similar quantities from input 'values'. + Clustered values are not necessarily contiguous in the input array. + Clusters size (that is max-min) is < relS*cluster_average """ + if len(values)==0: + return [] + if len(values.shape)==1: + sortedV = numpy.stack([ values, numpy.arange(len(values))], 1) + else: + # Assume value.shape = (N,2) and index are ok + sortedV = values + sortedV = sortedV[ numpy.argsort(sortedV[:, 0]) ] + + sortedVV = sortedV[:, 0] + refScale = sortedVV[-1]-sortedVV[0] + #sortedVV += 2*min(sortedVV)) # shift to avoid numerical issues around 0 + + #print sortedVV + class Cluster: + def __init__(self, delta, sum, indices): + self.delta = delta + self.sum = sum + self.N=len(indices) + self.indices = indices + def size(self): + return self.delta/refScale + + def combine(self, c): + #print ' combine ', self.indices[0], c.indices[-1], ' -> ', sortedVV[c.indices[-1]] - sortedVV[self.indices[0]] + newC = Cluster(sortedVV[c.indices[-1]] - sortedVV[self.indices[0]], + self.sum+c.sum, + self.indices+c.indices) + return newC + + def originIndices(self): + return tuple(int(sortedV[i][1]) for i in self.indices) + + def size_local(self): + return self.delta / sum( sortedVV[i] for i in self.indices) *len(self.indices) + def size_range(self): + return self.delta/refScale + def size_abs(self): + return self.delta + + if refScaleAbs=='range': + Cluster.size = size_range + elif refScaleAbs=='local': + Cluster.size = size_local + elif refScaleAbs=='abs': + Cluster.size = size_abs + + class ClusterPair: + next=None + prev=None + def __init__(self, c1, c2 ): + self.c1=c1 + self.c2=c2 + self.refresh() + def refresh(self): + self.potentialC =self.c1.combine(self.c2) + self.size = self.potentialC.size() + def setC1(self, c1): + self.c1=c1 + self.refresh() + def setC2(self, c2): + self.c2=c2 + self.refresh() + + #ave = 0.5*(sortedVV[1:,0]+sortedV[:-1,0]) + #deltaR = (sortedV[1:,0]-sortedV[:-1,0])/ave + + cList = [Cluster(0, v, (i,)) for (i, v) in enumerate(sortedVV) ] + cpList = [ ClusterPair( c, cList[i+1] ) for (i, c) in enumerate(cList[:-1]) ] + manipulation.resetPrevNextSegment( cpList ) + + #print cpList + def reduceCL( cList ): + if len(cList)<=1: + return cList + cp = min(cList, key=lambda cp:cp.size) + #print '==', cp.size , relS, cp.c1.indices , cp.c2.indices, cp.potentialC.indices + + while cp.size < relS: + if hasattr(cp, "__next__"): + cp.next.setC1(cp.potentialC) + cp.next.prev = cp.prev + if cp.prev: + cp.prev.setC2(cp.potentialC) + cp.prev.next = cp.__next__ if hasattr(cp, "__next__") else None + cList.remove(cp) + if len(cList)<2: + break + cp = min(cList, key=lambda cp:cp.size) + #print ' -----> ', [ (cp.c1.indices , cp.c2.indices) for cp in cList] + return cList + + cpList = reduceCL(cpList) + if len(cpList)==1: + cp = cpList[0] + if cp.potentialC.size() Snap Object Points fablabchemnitz.de.snap_object_points - 25 + 25 + + + + + + + + true true false diff --git a/extensions/fablabchemnitz/snap_object_points/snap_object_points.py b/extensions/fablabchemnitz/snap_object_points/snap_object_points.py index bde40dc..d2ac54d 100644 --- a/extensions/fablabchemnitz/snap_object_points/snap_object_points.py +++ b/extensions/fablabchemnitz/snap_object_points/snap_object_points.py @@ -30,6 +30,7 @@ class SnapObjectPoints(inkex.EffectExtension): def add_arguments(self, pars): pars.add_argument('--max_dist', type=float, default=25.0, help='Maximum distance to be considered a "nearby" point') + pars.add_argument('--unit', default="mm", help='Distance unit') pars.add_argument('--controls', type=inkex.Boolean, default=True, help='Snap control points') pars.add_argument('--ends', type=inkex.Boolean, default=True, help='Snap endpoints') pars.add_argument('--first_only', type=inkex.Boolean, default=True, help='Modify only the first selected path') @@ -48,7 +49,7 @@ class SnapObjectPoints(inkex.EffectExtension): def _find_nearest(self, pid, x0, y0, other_points): '''Find the nearest neighbor to a given point, and return the midpoint of the given point and its neighbor.''' - max_dist2 = self.options.max_dist**2 # Work with squares instead of wasting time on square roots. + max_dist2 = self.svg.unittouu(str(self.options.max_dist**2) + self.options.unit) # Work with squares instead of wasting time on square roots. bx, by = x0, y0 # Best new point best_dist2 = max_dist2 # Minimal distance observed from (x0, y0) for k, pts in other_points.items(): diff --git a/extensions/fablabchemnitz/strip_line/.gitignore b/extensions/fablabchemnitz/strip_line/.gitignore new file mode 100644 index 0000000..32247bd --- /dev/null +++ b/extensions/fablabchemnitz/strip_line/.gitignore @@ -0,0 +1 @@ +/log.txt diff --git a/extensions/fablabchemnitz/strip_line/geometry/Circle.py b/extensions/fablabchemnitz/strip_line/geometry/Circle.py new file mode 100644 index 0000000..b351455 --- /dev/null +++ b/extensions/fablabchemnitz/strip_line/geometry/Circle.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +import math +import inkex +from lxml import etree + +class Circle(): + def __init__(self,_c,_r): + self.radius=_r + self.center=_c + + def __str__(self): + return "Circle: center:"+str(self.center)+" radius:"+str(self.radius)+"\n" + + def __repr__(self): + return "Circle: center"+str(self.center)+" radius:"+str(self.radius)+"\n" + + def isHit(p): + distance=(center-p).length() + if(distance0): + return True + return False#Counterclockwise + + def circumcircle(self): + #Find the length of each side + ab=(self.a-self.b).length() + bc=(self.b-self.c).length() + ca=(self.c-self.a).length() + s=(ab+bc+ca)/2.0; + area=math.sqrt(s*(s-ab)*(s-bc)*(s-ca)); + maxlength=0 + if(maxlength + + Strip Line + fablabchemnitz.de.strip_line + 10 + + + + + + + + ~/ + stripline.log + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/strip_line/strip_line.py b/extensions/fablabchemnitz/strip_line/strip_line.py new file mode 100644 index 0000000..5e6a1a3 --- /dev/null +++ b/extensions/fablabchemnitz/strip_line/strip_line.py @@ -0,0 +1,239 @@ +#!/usr/bin/env python3 + +import math +import os +import inkex +from inkex.paths import Path +from geometry.Circle import Circle +from geometry.Vertex import Vertex +from geometry.Triangle import Triangle +from geometry.Plus import Plus +from geometry.Minus import Minus +from lxml import etree + +ALL=".//" + +def fixTo360(radian): + if radian < 0: + return math.pi * 2.0 + radian + return radian + +def widenDir(start, end): + d21x = end.x - start.x; + d21y = end.y - start.y; + return fixTo360(-math.atan2(d21x, d21y)); + +def lineDir(start, end): + d21x = end.x - start.x; + d21y = end.y - start.y; + #inkex.errormsg("d21y "+str(d21y)+" d21x "+str(d21x)+" d21y/d21x"+str(d21y/d21x)) + rad=math.atan2(d21y, d21x); + #inkex.errormsg(u"Line direction"+str(math.degrees(rad))) + return fixTo360(rad) + +#radian math.pi / 2.0: #I want you to be +-90 (forward direction) + return invert(radian) + return radian + +def fixOver90(radian): + if math.fabs(radian) < math.pi / 2.0: + return invert(radian) + return radian + +def fixWithinAb180(radian): + if math.fabs(radian) < math.pi: + return radian + + if radian < 0: + return math.pi * 2.0 + radian + return radian - math.pi * 2.0 + +def printRadian(fp, message, radian): + fp.write(message+":"+str(math.degrees(radian))+"\n") + +def stripline(bone, line_width, log_directory, log_filename): + try: + with open(os.path.join(log_directory, log_filename),'w', encoding = 'utf-8') as fp: + i = 0; + segmentNum = len(bone) - 1; + elementNum = (segmentNum * 2 + 2) * 5 + outVertexArray = [] + #4 vertices per line segment+Extra amount added to the end point + vertexIdx = 0 + #First apex + start = bone[0] + end = bone[1] + lastRad = 0 + lastUsedRad = 0 + radY = widenDir(start, end) + lineRad=lineDir(start, end) + fp.write(u"0th vertex") + printRadian(fp, u"lineRad", lineRad) + + originalRad = radY + + #Indicates the direction of bending + cornerDir = radY - lastRad + printRadian(fp, u"radY", radY) + diffRad = 0 + printRadian(fp, u"diffRad:", diffRad) + printRadian(fp, u"radY-lineRad:", radY - lineRad) + printRadian(fp, u"sin(radY-lineRad:)", math.sin(radY - lineRad)) + + adjustedRad = radY + printRadian(fp, u"The first drawing angle", adjustedRad) + fp.write("\n") + direction=True + lastRad=radY + + lastUsedRad = adjustedRad + LEFT = Vertex(line_width, 0) + RIGHT = Vertex(-line_width, 0) + #variable + v = Vertex(0,0) + v.set(LEFT) + v.rotate(adjustedRad) + flag = False #if radY < 0 else False + outVertexArray.append([start + v, flag]) + + v.set(RIGHT) + v.rotate(adjustedRad) + flag = True# if radY< 0 else False + outVertexArray.append([start + v, flag]) + + for i in range(1, segmentNum, 1): + start = bone[i] + end = bone[i + 1] + originalRad = widenDir(start,end) + radY = (originalRad + lastRad) * 0.5 #Values ​​from 0 to 360 degrees + fp.write(str(i) + u"Th vertex") + diffRad = (originalRad - lastRad) + if math.fabs(math.fabs(diffRad) - math.pi) <= (45.0 * math.pi / 180.0):#To erase the pointed triangle when making a U-turn + printRadian(fp, u"Correction of U-turn point:diffRad", diffRad) + fp.write(u"Difference" + str(math.fabs(math.fabs(diffRad) - math.pi))) + radY = originalRad + + printRadian(fp, u"radY:", radY) + printRadian(fp, u"diffRad:", diffRad) + printRadian(fp, u"radY - lineRad:", radY - lineRad) + printRadian(fp, u"sin(radY - lineRad:)", math.sin(radY - lineRad)) + #Twist prevention + if math.sin(radY - lineRad) > 0: + radY = invert(radY) + + lineRad = lineDir(start, end) + + printRadian(fp, u"lineRad:", lineRad) + adjustedRad = radY + printRadian(fp, u"diffRad:", diffRad) + squareRad = lineDir(start, end) + #printRadian(u"squareRad",squareRad) + printRadian(fp, u"Drawing angle after conversion:", radY) + v.set(LEFT) + #1〜√2 I want you to be in the range + coef = (1 + 0.41421356237 * math.fabs(math.sin(diffRad * 0.5))) + fp.write("coef=" + str(coef)) + v.x *= coef + v.rotate(adjustedRad) + flag = False + outVertexArray.append([start + v, flag]) + v.set(RIGHT) + v.x *= coef + v.rotate(adjustedRad) + flag = True + outVertexArray.append([start + v , flag]) + lastRad = originalRad + lastUsedRad = adjustedRad + fp.write("\n") + #The last round + fp.write(str(i) + u"Th vertex") + adjustedRad = originalRad + printRadian(fp, u"Last drawing angle:",originalRad) + v.set(LEFT) + v.rotate(adjustedRad) + flag = False # if originalRad< 0 else False + outVertexArray.append([end + v, flag]) + v.set(RIGHT) + v.rotate(adjustedRad) + flag = True # if originalRad< 0 else False + outVertexArray.append([end + v, flag]) + fp.close() + return outVertexArray + except IOError as error: # parent of IOError, OSError *and* WindowsError where available + inkex.utils.debug(str("Directory error. Please select another one and try again!")) + exit() + +class StripLine(inkex.EffectExtension): + + def add_arguments(self, pars): + pars.add_argument("--line_width", type = int, default = "10", help = "Line thickness") + pars.add_argument("--unit", default = "mm", help = "Width unit") + pars.add_argument("--log_directory", default = "~/", help = "Log directory") + pars.add_argument("--log_filename", default = "stripline.log", help = "Log file name") + + def effect(self): + line_width = self.svg.unittouu(str(self.options.line_width) + self.options.unit) + # Get the main root element SVG + svg = self.document.getroot() + pathlist = svg.findall(ALL + "{" + inkex.NSS['svg'] + "}path") + + for path in pathlist: + if path == None: + inkex.errormsg("Please write the path! !") + #Get vertex coordinates of path + vals = path.path.to_arrays() + bone = [] + for cmd, vert in vals: + #Sometimes there is an empty, so countermeasures against it + #inkex.utils.debug("{},{}".format(cmd, vert)) + if len(vert) != 0: + bone.append(Vertex(vert[0], vert[1])) + + if len(bone) != 0: + outVertexArray = stripline(bone, line_width, self.options.log_directory, self.options.log_filename) + pointer = 0 + for t in range(len(outVertexArray) - 2): + tri = Triangle(outVertexArray[pointer][0], outVertexArray[pointer+1][0], outVertexArray[pointer+2][0]) + + stripstr = tri.toSVG() + color2 = "blue" + if outVertexArray[pointer][1]: + color = "blue" + else: + color = "red" + pointer += 1 + attributes = {"points": stripstr, + "style":"fill:" + color2 + ";stroke:" + color2 + ";stroke-width:" + str(line_width / 3), "fill-opacity": "0.5"} + pth = etree.Element("polygon", attributes) + svg.append(pth) + pointer = 0 + #Draw a point indicating +- + for t in range(len(outVertexArray)): + + if outVertexArray[pointer][1]: + point = Plus(outVertexArray[pointer][0].x, outVertexArray[pointer][0].y, line_width / 3) + color = "blue" + else: + point = Minus(outVertexArray[pointer][0].x, outVertexArray[pointer][0].y, line_width / 3) + color = "red" + if pointer == 0: + color = "#6f0018"#Dark red + point.appendToSVG(color, svg) + #svg.append(Circle.toSVG(outVertexArray[pointer][0].x,outVertexArray[pointer][0].y,line_width/3,color,0)) + pointer += 1 + pointer = 0 + pathstr = "M " + for t in range(len(outVertexArray)): + pathstr += str(outVertexArray[pointer][0].x) + " "+str(outVertexArray[pointer][0].y) + " " + pointer += 1 + + att3 = {"d":pathstr,"r":"1","fill":"none","stroke-width":"1","stroke":"white"} + pt = etree.Element("path", att3) + +if __name__ == '__main__': + StripLine().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/meta.json b/extensions/fablabchemnitz/svg_embed_and_crop/meta.json new file mode 100644 index 0000000..0204e64 --- /dev/null +++ b/extensions/fablabchemnitz/svg_embed_and_crop/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "SVG Embed And Crop Images", + "id": "fablabchemnitz.de.svg_embed_and_crop", + "path": "svg_embed_and_crop", + "dependent_extensions": null, + "original_name": "Embed and crop images", + "original_id": "edu.emory.cellbio.svg.embedandcrop", + "license": "MIT License", + "license_url": "https://github.com/bnanes/svg-embed-and-crop/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/svg_embed_and_crop", + "fork_url": "https://github.com/bnanes/svg-embed-and-crop", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/SVG+Embed+And+Crop", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/bnanes", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop.inx b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop.inx new file mode 100644 index 0000000..a36e01e --- /dev/null +++ b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop.inx @@ -0,0 +1,16 @@ + + + SVG Embed And Crop Linked Images + fablabchemnitz.de.svg_embed_and_crop + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop.py b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop.py new file mode 100644 index 0000000..133fe84 --- /dev/null +++ b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop.py @@ -0,0 +1,42 @@ +import inkex +import subprocess +import os +from lxml import etree +from inkex import command + +class EmbedAndCrop(inkex.EffectExtension): + + ''' + This extension does not work for embedded images, but only for linked ones + ''' + + def effect(self): + cp = os.path.dirname(os.path.abspath(__file__)) + "/svg_embed_and_crop/*" + output_file = self.options.input_file + ".cropped" + cli_output = command.call('java', '-cp', cp, 'edu.emory.cellbio.svg.EmbedAndCropInkscapeEntry', self.options.input_file, "-o", output_file) + if len(cli_output) > 0: + self.debug(_("Inkscape extension returned the following output:")) + self.debug(cli_output) + + if not os.path.exists(output_file): + raise inkex.AbortExtension("Plugin canceled") + stream = open(output_file, 'r') + p = etree.XMLParser(huge_tree=True) + doc = etree.parse(stream, parser=etree.XMLParser(huge_tree=True)) + stream.close() + root = self.document.getroot() + kept = [] #required. if we delete them directly without adding new defs or namedview, inkscape will crash + for node in self.document.xpath('//*', namespaces=inkex.NSS): + if node.TAG not in ('svg', 'defs', 'namedview'): + node.delete() + elif node.TAG in ('defs', 'namedview'): #except 'svg' + kept.append(node) + + children = doc.getroot().getchildren() + for child in children: + root.append(child) + for k in kept: + k.delete() + +if __name__ == '__main__': + EmbedAndCrop().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/LICENSE b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/LICENSE new file mode 100644 index 0000000..a7920f8 --- /dev/null +++ b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-2021 Benjamin Nanes + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/LICENSE-apache.txt b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/LICENSE-apache.txt new file mode 100644 index 0000000..75b5248 --- /dev/null +++ b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/LICENSE-apache.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/NOTICE-apache.txt b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/NOTICE-apache.txt new file mode 100644 index 0000000..ef23138 --- /dev/null +++ b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/NOTICE-apache.txt @@ -0,0 +1,14 @@ +Apache Commons Codec +Copyright 2002-2012 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + +-------------------------------------------------------------------------------- +src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java contains +test data from http://aspell.sourceforge.net/test/batch0.tab. + +Copyright (C) 2002 Kevin Atkinson (kevina@gnu.org). Verbatim copying +and distribution of this entire article is permitted in any medium, +provided this notice is preserved. +-------------------------------------------------------------------------------- diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/README.md b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/README.md new file mode 100644 index 0000000..e1e4ee1 --- /dev/null +++ b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/README.md @@ -0,0 +1,33 @@ +[Inkscape](http://inkscape.org/) is a powerful open-source +vector graphics editor which supports the inclusion of +raster images either through file references (links) +or through direct embedding of the image data in the +Inkscape SVG file. Referencing images as links keeps SVG files +small and ensures that changes to image placement and +transformations specified in the SVG file remain separate +from the underlying image data. However, embedding images +may be required as a final step in some production work-flows. + +This java-based extension for Inkscape facilitates +image embedding by: + +- Automatically identifying all linked images. +- Cropping image data that lies outside the images' + clipping frame. +- Optionally applying jpeg compression. +- Optionally resampling images above a maximum resolution +- Writing the cropped and possibly compressed image + data directly in the SVG file. + +By cropping image data that lies outside the clipping frame, +applying jpeg compression, or resampling images above a maximum resolution, +the resulting file size can be reduced significantly. +Alternatively, if preserving image quality is a priority +jpeg compression and resampling can be explicitly avoided. + +The plugin uses [ImageJ](http://rsbweb.nih.gov/ij/) +to load and manipulate the image data and +the Apache Commons Codec library to encode +the data for embedding. + +**[Installation instructions and documentation](http://b.nanes.org/svg-embed-and-crop/)** diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/commons-codec-1.7.jar b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/commons-codec-1.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..efa7f7291afc616ddb7419b825afc3ec78897b6d GIT binary patch literal 259600 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

#gZTkKzf1ZW9i*#eMNa`y`u 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 z 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 AGXMYp literal 0 HcmV?d00001 diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/ij-1.47i.jar b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/ij-1.47i.jar new file mode 100644 index 0000000000000000000000000000000000000000..a91084148b435cca152462ec1d862d808d0434c7 GIT binary patch literal 1781912 zcmaI7V~{P)+O6HTZQHhO+qP}nwr$(CZ5wN~xw`wT=iRT)`QqCdF>7W;UQu)0qw+^q zj#&!Qz#vcn|FjHHE}{SE{O1Ak@3*X|iXg3|oEW{re_{{->3^~JlFT-Xzr%iiKPdkj zlNFSc6cbfep_3JRl%1KDk*1|vgq5bHnwyz#R$^FTJ~(xvk(!&Jk){=b06!^FOF^R^ zAo1wTiB>|ER#JA!rK&~2fksMZRzmebo>qGNJ0ivGEH!YXS?Rf%={br}h@xAcVw3Q0 z<^^^yX4a$AqXY0?$^iaD*`XrQN^b5dJUD%*oK! z^xx2k|2J)E<6`RcZ*chk3wN=%xA|Xi+W&J;ApQlrn0mPUFY2FL@^|3B8}#4aKXp0T z8=E>i{~HkOU!bM^zhVBF27fPRYiR8B@38+==IUbkzxDtBD6=&+bar+6cP4`W>sQTP zE&rFal>evBf1v-+^*=R20Q>{lFEJNhqX7W4%L4$w{DmZ?^c9@!9h~W0JX~^hKApGQ zn!b7cLB}$^uVtt=y|(zAcQN^oMruzxl9F2%CoKq&+Ax$sro(NY>-)Q-!3CpIT;^oT z5gYg0M~oXaXat(uZ$8>Lb%~B!a(m5cMt`9TP95~y5Nf~{&e zC=jMgXq&ea# z8wWgGYLZAEd_O*wlwM^4_4>LL%3_a|^GjB3VShS^-$} zcl0-e%r`+0W}8~=iSfZ+%1PWs~kg5ErZ1>Afg^`U=US%0%Mgxg9UTq+gc9#SZW2hIlF%v zGV{dAv?pEqVAuxo)4}41yd6Kw8AtRItrg4Q7pL(ORpjoPD2jQ;EZjLEy&uYi&wUp`$$G9AL z5oDy4g`ATiH8VHlI4vcedw6*jpmeJ$b)~&k6EpH!8;KUsB6_K4X38uGydJvzB=agN zAcbY9P!}8{Lud^6<)v2@LT6iGfi8FyD$61dsk^1HxEJ2AQ!dL>SW0&<0gl%QGnjxC z5g6<+$?${%(AyNx`Q*dvnWzp1diD~*FIW>-sBCNsOzWD#F-wmG*h&Fb8u$fJZ4i7|A}1%#^$exp|uv3YQ_P zhxMvRsNcy*#Gn-kBULrvH|K+o8tVZPV3Nhk#k9YVRGvKj2ZgvN!l=Yc%w2N#iS@2o zw6zHem^#6#>d-*Am;=1j6YPhj5$MvPKvbPcOIr~SX{RG`MCg;n(<0jkeJaK>^qD$c zY=|i{YQ}RP;2b^!)@2x@_oFw((A6IBRHNou`w9V;Ad%h`2WchIfNDqb&d;?38gmMS zi$p9ySv&(le-P@5LPPHr3npGt`<5CeM(CX*%$7xe-y1b3%IU$UMOxPSV;im-JfR2? z;~{25iH!QC|Hcmxd0ampOTh+mioLJSAkGAH=87sOM9fUnw`QAZtWeLoi)wFwS)<&^ z05p9aJ--St$2J<@;;OZJX*0_O?w&FAqmV+bHowODOhHiT(GmN|82d@%C| z*qOtu%*ksc(o60#Q=;S&Fb3H}W(!M>zOR0sf>^z4pxlaChjJ`lXOz{0RFa{NI`^eEytb&Yyps^ zez3AgAZY>>8oIo;LbA$nE-=C00%d}nBCVmSXket!ch3#b)tb6?4>!^TdNf!&^mS!6 zzVl$D%qWtur4T7#zu??>PFl+P*X2|OC??>_1Yq5j5T7E(0v3lzV0xT7f{autk;yH< zHik$;5HRrUN!~%IJPhF5GfWB4vcI*g7BoQyVHSyU4HZbV=0}|g9#;^4>H{&Xbp*$H zN*CyB=uFbec&g0|s5F0AD#KHRm}s2erCjJ$kz|zPaEFxx#^xqX3IJYK&H9;uUfc7+ z7E2=}Sb%Fmaw4u$f`6|TU`*4Zh`lQ((Vi5Ktk7qfa(!uBjSKM*HyRFE_!~FWd?V;)Su97VX*j_wDeTprYz75Q)jb3(4hWQ)0l&9AQ)iW2gbeF!St z5kf1`Jg9}AsY$ryNrzkDMP;TMF5e^+6`JPcxNh}@^29?T1=}s{fRx8BdWO{|OiUBt z1m@RowpgkoL5s!~Z0!3|m7r>00318L)4^o}qLu_4QxL~2$;EMHF|Exq*0~|cU&nRJ zI6?v^TL~9AV|4LPMzrcQj?VH9veln5zb(Vi6!zSqrhE-KU?5Hf<04(+=QiP%981|B zxLJJK|FLrrp(KK4&A^>9(NW0OV4{=g@YqscwKsyYLhQC{-#KcjWY`f^3|osP*ZP?) zOsOur?il)!K?h{+l%U4){w1kdD_^JD9^gkRC91nGL+pkrKz>jcy1Zzij5@orwKw{T zFjwMnqwN8v9JK3=3dZF{Ah6t^)ulC!F7xftedR%Sd0~mW z&(;A3-G)i(<}^V!YD{FHi*p=jv>k1^t>|@MAh#atu~9`O5>st?angCU^hJ_l$IY-A z1Ao|6@4AnnW^oWc7i`4^CRLX_p?!(>l<}Lqd11wxd&1PJ&Nyph*JZ2U zLKn=4IRshDr6C3#R(t0~902+ikh~5dALP06q(z6a@PN4HmNx*!ynRyG1Mwuy77QuY z^^%SUoL;T@X~1I(*3VkIRzQPey~ot6jt$uZ;fQ6angJDzy)jUz!LjnV0B~#(5RTR%_L9nSh0xuZjUG!fI8( zclI5FaYjTxvZKz6ni)M*MDv8YlkCkfjAB2-G|j?yp4DrgF&^(``X`zN6$6cqUfv;! z4aX%#Wg?bUD@xpB+WxO1!lOkrbrUe_rh`5o$0oU}%r;D>Ni^55Qi6?j2oG~k-C0DQ z+Gx~i9w1a5jLKJS3sf+=zy)RP{WL9wL0pSpYI(z$R&&uChrS?G9Si~b?F&>f#=Gg; zduW;pgQFbkKVtl5VQ)w>7Rgljr`?*cA!|I8MU|YqMY9#bW?nA(r)8I{9oBQjOs+^; ze6j8jFFbn4j`vIagCKk4OZD05Rd5C@B<&_Svx3i2!l6gtA7Q~~0|UpdO|URM^U?QI z-3N>En0oYP-spuO;v;86$8R_Xw0jV4o_IIt7en;B{KP4qhoQfWs}RKix4`s=Lw@Wu=EBq>9x%{oW!iZRzBI*B8hVAL0aO;c+S)psbifUD z6T{UQjBJa({+bJh9sJ>#WU2#5_Z_WuLn6_sD@@=X7}0f(ih5tVbJ3t0STTRl zGbJ2`WJ}Cx+fs^)BF8P*vE|yKuQy5ESd{HY2Hj>xg6lLcT3f$yQ5=azX=+CXPUQK* zYj3pL>~g{CnOI`P4EnJJDmqi!W`u>Wj}`cbzfGwp;qzc2#cpn1oV<&PwkdMTj%z`- zMv(E$w)43W^q|KW@d(&;W}UO;vYm_;G6%2Sz;2Ba1s%!5bw}0ah>KvVjbE0u$CBDs zM*xsJ663QE3w>A|bn^7C%_@P>>l*`)xBj@#C3CGGtex90w{r-i2FI4xXx~qfs*a3k*F18)9&erTusSpW(wMPyh4ewq}%5DmU5)xA?o(kBkhNGRre}?u;o?ghyhAN{8|G z>xt8lBE;;TgpS|D=X^re({Qb1pp10KWkxMTJ1WnIf4IfL^|W+ zoAM*I&%`#{O!7*#`>IrR<7VWkD;Iivy z;RG~0II@<2FfO%s4U8N8RA|Xp8%^}70eP~_baOdJ_$dD6@Ub_;AlhHT_q86GsHDK& z^yy3$$30zF+1H)+dst9jmY)tG^g#G5%dC6DX1dq)Rn7M@!L#+7XQ+bEa4O*Ft_J+Eb97_* zWX+48+w;xQ^2LZYTIBqMu?1bV3cjDGZa2!p`e<*hu4HMH!?N%;bD=+BML#OJfQX3k z#Nwpu>T1>)Z=SbX2M8`;r;30#mE3W$?KSt*u3Ie#UG?^>CyiEfAEPebV-*IVsXA5Q zaixA_Nfi}nTC;Rt_OY9j>eoomjleEVqburYj4f1Kp7(Q#OSF8nOQx%+@5M8DBT(|r zs-)6SdAOXqr&734fz%wn$vgFXHjMO5;Dw;(4aWYPns%Sm?4(}PiKIwZP}ZcITjx`+ zcO+z$!XvAIJt<$(z!EUmd?n&2EUgAdjxh(3>brKTzokk*g3!=c_;xLZr7>>4nl*mb zLZB>dikGOtLFIj`6s+T=N&?}qZ<{>0sQC2rJUoclz7)P4!l4W~v*)EW zM#GV^$K2EBNn;?@zkP;fa+wU$Mmz%_*HL7^LK}2rOTDkMA!v0fVWIoy!{kB=A&+VT zpMe1?fh^E)F^}Q_#p)ug3aXHVv9Vg_^jH#9%CVOe1%*Csj}rbavuRC*^(&H;%yTZx z3NJbR=ZctyQu)pAnQg>XUlJ-TJUzAzfgwk=X^x5^j)R*!XL9Gw?;?>7RAl^t%!*93 zWfC&(gh~sm|6HEm!zRPez$0~4b`23{$ACYzYc+sTij&Ih!if7=sX6gd9zH|Xv`3sb zG>FHHU&*Hm@Vr5PAEGZL^&H%DKpEumMBONPar(LV&M7zk{5tOi_PxhR6+Ad<->(Q_ z8RekXwsFH>LRKx-7g*s+(-uiX@~v}3AY$G8Zb;JmwozkipV?`N|RR@8pu zfFKU)=Saip_U&&kuserzv=I6-pYa=+<2+}3hB!vH#0Z!-v91DK*bc(Ut+zy zgV=lNE!{TISpyN_dP|jV3EFbUq7LlH9O^Xo76Q+sM{FtR1jHl4N&9#s^BNH0%O2o> zxOs4MciF2DEY_wh%w=0pPkd!~*cHAApKAd9`vgYaB*lKf zgZvG6L;vw4Q1kP^4POr&1=0M|;Ab``qJ3$`-n{MTrQ2CbGhmffyGPcBqkgo0UL3)& z3{dOF!Q~qoTZc(%p0zS_q+u(pdM&(~yL|SI^~1uaw#olMv3s^wgG^9b_tyO)!xqP7 z103&R9knZ-*!s(|xJYnZb#Z(i;X$ORw_V$wJ}XD!8@`ZVN{06ymDz zz#Xr|xMo7HZdtr=2WC`9Ih7gXm*;q5&JC7^#=TZ-*!V+cAj^N)f8hTs8u?dfllOXD zx`qw_U_=7|@ON+gpG|#rOFI*LcUeO_LvvFnI%69{XXjW=Pal=lXMS?#WX%VmHAoX- z2yG_9$N(@|2n-+z0!VHO15*jI$pI6x85w}~D%M(U+tyYqhd?5%>K3pDN0icyw1qD1 z*R8I$FW1KD-|OF7`L(oPd7pbdnUY7pm-!#|d|>e{Igc%H@5nCzD55!1f zFg5cm>A28p=Xhx7+8n!}>(08pyG#sU7FBPYp1`c>up}~{G7gSv=G-3P%(*(@op*1{ zg2LrdSSRabP^QR=4pnT-kq-5%@R4o5(}2r6Dk93G?wPvfk)2ev zc!e03=9+g~kR{8gZ+2?&S)Cjvjc+!Y#_^m@rFlMZi1W>-iq}S;KYB88>7UdlA77n1 z2l8N<*cHa0K|Vs8tWd;{IyocI*GVza zTQo$69?p4mMDfZ=cxH$G`>>a(OGYd`Iz*l0O$uC}G>4x)zWNl9Y(0X=t5Vv&Dd7Bd1`}<~MY>@8AWQe*viG z$wMWS=^?448<4=P!Hb11XT#C;aZRc*-A z@eC<}{|6+{bB?!CS||q8W74aFjbIP3{XEp%9rkZMI`r7&ryzXpKoF z*cPj9xf4X6D+{+V;JoRPAxT}hP0>A0V}>UY+fzE~JY%YFsT{M@1vEnTbatC;6?H*b zV`Yo@kLqbQXRnJ4{Tr(NV1%_-@K+yAU}(`^FT`BExVdIl=<$!qBhz{w7P}^HKx|~1 z@JFDlX67Hn#Z*aOJ%);uHcf&H&%+A*)$;}UopnyfmIX0pg5mml74;d8;0Kw~0^sGn z2e2dQAO-ouu?o8cj_`iV=|2c+ZLA|pjaX*+gJ0!Xj-ql9ikC|)E+anOG9qy@>q*6K zxQqFiahSJ)3nA(o6Bvx4FX^@XTA?ms?n9@Z+v~e9(r1S-ysf);+TBb&;5lx-O-?d| zOR0MHg5XeTs&p>@`RSgu!i8UZt3>WeT5+)QDe}P)gXF92Gtg(I>WfNk!8@_pT>Pfb5k7HFT^Lb3rek7u!W1kjPx32@X^~?zkUWUu7tde za0!oLXcrf*+Aweu^d7jNuX8QzbLh6u)HjusYOg@kWbI0|Tkgo`TY8Irl8xmnKxg@Y z@?D+NUwZTE6FkO#CyTW!z-Ij*GW=z>Wq(d@?F0R6{RegPk80QKT)UM|c29rV{rahI z_t<`cANPLYeeM$?5aSVaLBj=-g%3J>K)|b|5Bq-ceXkF)L{hSLaX10o{`hBR6q1}q zG{MvBTiP$%*Jm+RHVdypdkcscP#}eHcncTgT^QT(HmcbEN$^{r{;}|ocil@{E}iUcqF(P?D8i|7hYdT#w08;EdG)Gr8h%Akz)KM%2>Eya{MxLmTxv2De-}1 zxg}<|@3^t}pcK85ZWg?vb5_0~4R1K&t~fYL9~k&9!;wV40G8 zcTtwQHIEGZb&fIlgKDW`^7oG1{G~TbzCbg6E~U=13sKkzB^xh6V~)r zHJQePRZ%{g5eX;2iM>AZPR43UiIzxC(N}?@)tex3REk)~CZLE5INpChMLixYa_L2n zxsnGXslb3I)gb>$YZ|_LlOiQL#fxTxXTDYJ0pEc*E!t36lFR zvd2JK1CDy4ty->Rs*GiU_BbJiIXnl?nMh~=pRru&h-;5x*|+Fd4366&18&D#2`*#|~kncZCL^(%yRnp}wG} z({ran+Wz-T7H)$%){#eK|8)IC)=0zU-kx4QK}FRM1V2_Q{&{N3 z-)BdoO+?sH+AKmmI3Q;b&}0)b-E|O}GxFidkX8|B3?^lLR@l7MhusQ0Ri!47Z4c4f z7`X!^3Y?oHrZX1#Ad&8mKZ_Mf5)OvO_Vxl!)dM{Om62G!dUj~I-xBpkw>NjTzps~w z$BMK9-kfw%N<~0+Yk2s;$}V4ZJ6A%3WDE1~>NPl#fhv!B_)wAvrZ1kui2Fzj`BclG z$LQnN5c(b~yGXx^8$W!(tE44A?1D7*u1T>2JZ9R;F{8Qp%QE zpFoM4l9dlY#OMO;uY7y&!OE2F3rL^AAe8J2_7d|;#sW4**E#+hX-KPN)dPgykMJ&a6vrP?q` z;gfxn&nY`&j$B@-N!DL#U z4+)B(E0EEa;ZU5Hm6mlg9gYMe=!byaFl*EkM;qxv*=<7Z!z_V(0gut{xR|T})_SxZ z2COc4$|~`skm241I0`_3N3=CN2%I@mb#b)6Ia0mrom#pEiSx@O8=77ziZXyMg5k6# zk}Z(o_#(n>z>M26>H@Vr5x`Oz&nbmZ&sV``hIOwl*o8vTrsHV|i&wgYK;8L-k-;mF zfstD_^$`?$;G!^Kav11xoon;4Dn3_nE}Ic=CU4MxNsaU^5N?yBjx z#4{PGunDnQGi?J+2%>;hLzu)7(S9T>bSKA6u*bi#`I_4pq{qSCPz$_Mz{Zy5uw^}9 zm0;RQa*>)3)w|7nz%&}O^p-w|2rEvu`I;OP_T)RYYFgFWSx*X1RXS-?@2*{`eyQQ{ zJc`StuWaqKB^B9%TY_P9)M_l?s;29mwxO0)CoveS_QO8etCQxmB{bdrL5l0kV^Y8% zAE11vhykUDC8daAR=}#h%L_l!h<@0JK+p<4@_-z>Js=3vf*#Kg)g3pWpjKl&-E!f= zXB9cKIr!%ElF4KQ2K>~;3R^-NiZ`Z%J!esdaYoBg5SFK)Lv?y)is693g5HacTb_x= zFW01|g+ADE(zqm$9V@`dYMb*5qXL__%;c5Hll_8W-4~5e#06Jj^xC2@CBN{_ zs7`>cKa|I=AZ>F)+ZBf!F;MkI9EnzJ{WXWNDk0jg3g=jDYFPQ}DOe>=u=0?@x={7X z53wZQF#spEHu&VGU7&FtVS=_r`ec!gpZ zLjO(4Z|Z%t!B>6-(sCHQ)VTz(345@+~Q zhGOd42GFF>ny?5Dj3M(z=|k+KHg>`Dp))e_;Nw`2MSGn;ct*c_*XOvckGSd|)cFY) zdy`Z`&aq)Z$6j*@IZDXSigE6aah~UrdIn}e3_oo>XaNOIIUMXZ%s|tMQ~bJ^`=reK z5vlot?&B5~oq4d=e_Vh;SxP^^SA3yyr8rzjzeGJ=_>A>(sKeWZMi3bF>Px>k+*KA#D&iwL*P*m_PixvMUa_9pHo9B%7E^0L%Vv6b;*PRco{E;0yO-qqR~ss)LTWO>&^;;#5#!$iqFAQ$;}j- zTz!H*lWb+V`)nsgYk`TvkluBmmq4txcGO*2%`s-{sZ%u@gFQ*)pjvElHKGk`>X0*{ zty5*{(Sj;pnz;iF(Vg!`-8@YtvV&ZOBvq&^zp&&olvP4(X06;y>Ow&{G@EZ!T=7ya<>TEVEc8o zDw&U=cgJRf5uSZeDSk+R&ZFxHLl)ar@-W(9HJUP*o%pGpM3a5qWgfiD`|4Oir%~3B zO>kx|J!q3n!@wJfxcsmT>H|Smw4SI}?AnLMFBPG}coCOD=K4i4dHz?#;>RHK?{SM@ z0dDw@tIfQl&e~@23YZ4FV*u27K1u9w%jEAai-DcefW2u56F~6J3K(>Fh`D_qttfJ- zn!BpUlmbD1VQqkyyRD9RrfRvRG{Y?}iDU-H$$+d5lMKFa4*}FZ71dot>!K?+qNYgh z$w}RbKszcke%a$(mT2HRH~1>M1T?3JG@*Uf9_T`pvRIAnDc_b@_hq_0VZ=RY^*hrF z+Vo{wAJE-N^(9{)RNj&G1;ZNL)9VykbfW%qz_@RqHk3as^8h*Oz~R$5pz0}L#bNV9 zuk?Vtkm_~MRQn}iKU071kMP5uUvWxpflnr$$1J)NA@^0-ZtkdLip-2)jnWa?Yp0;_He!Adg}e&yD$I>)nPb_!FWd!Y{obZcmosJk7d}C zRT*L@R_&8H^?~+$tEM1nSHj%~1NMtuyI-H2ZdWGv4|aRNMLFWOWZyR}o0J)tAx9CT zE>{J!djx3XtC49!9;`4XC;v+K{GDs~XCNW-Pw-#`H0FLVZ9mx4Vmpt)hMnb-t+C&g zEiv-F2BS=F@X1hxbw<}Vk7|`G_uVbN(xN9+s)cxw2Q|Vlxa9FCWj?&%Blv}mAHo)X z3G^GG^0d!IG(JSoKy0LT z7dEgZt&%m>Q8 zN5cH@DA3SowBGt##`|HV3^)(YR%0T)AR{szlmC%r(1yc$IS4BHoZ~Zo~~a= z`Q_FfvtNMuCEK00D`4%HdB2ytMC=!azncdb@RyIj>2eMJUWDkEr@sS#Li3lve-M9y z95a7QpQ?8s)PC>ikfP8!VBgJFlfYntIt#!1$iL_Z+}9iY_%WCx)f*`l>Y*#{H%PUl z-wl8cyXgQt?ym~yOZ9TxL^yCG-)bI-gH?~J?eLk1$0b)dE}_~4EWJj_aVyB41D5jy zNz@edXODg$B$l2RKB!k|XDz-|^@t)pEB!5-1*?-C9u1+#U0Ncgzg4XCG#fI@EA_EY zaONMq_QWmF5^st0gSYw&&yxEC;qgg6(7Zng@6V>(3gmQ|9wcdD#jlY51e0Z3Qia+{ z=xzjv_rpM%mTyMF-B!islvvtF@$EetDtRkdz)X=xfuNc3FXV~P9FwY`$RpbPnr7zRuWW=>knk{?5-92JN6Hy?V*2WKr;&38n*!E zpUR(;0{{VTvp;69m5~-}BmPWlzsHANI-dbJc_2=y?;K5!Jf4#cuo}FzuuRJU>&rDO z31-tmoXM*AXvjXwEsI3Of;q1_bU}fAzA-pw72h4Zu!^nY5^p0mols(gZXE%0PmdMG zdX+>t9_{}p3HaxY0yJ1Pg}1*6fG;2b0LH(P07)rPH&Z(o8B1puQ@j7l0&Ej@<$?te z#QG^)ENol-$v(imi0=`p6h@HN6m01skH!Qh*a{cIABVv23S)%5n;G@;I6r4+=3eK| z(F447v@*0Z5bMy0UjAtGh}j)QD2zlta>V=0lPU;caA~(zE34KoHzk6Z4`zmUHvget z_9BvrA3Yz?^tushg zZ?&zGp?gq5G8;@@?}K{OrA@8*73GqTMCNJu!x*A?eZ!=R-{wJWqW1chd~w%6S7$h2 za@FQtG;U+*Gvrg{nEx(w4EU&U?2Pc+KXCC-?^xLO0s4R3`se+Hv~O$B?Y}PZ{dJ4< zUv9~}SeQCV+Bv%z+8LXYNZS65Po)0q^j|TGZo;4xupms>&&rnN_10R@LN+@5^U={} za>P)Y&|uK3BkVOzw`OK$)co1tU-zOE8%B9UPJV=j@_lUi`2ckctsG1km@tr&1|EEl zqh)82Aj=<3E%$A-G%1%{pX8#hqs52re(|2KUtmFkA+KJW9Xt2Aqav48zYXyvBh;Sw zyf+UVggBf{J?UTbRND?l^Gjm13MNH1^w-)z;6NnzX09qvc5>nT5b1Y61zwX~&D4mx zsk!#u7JwsgVS#@@ULkdHsFZ3@2QBL9U&DcMtnsLnjT2oy_XGZqJO9k303Mb+IV=Ex zGZp{<*k!3;ln4iKJ4-&fOmQ{WQX4=cYucUOj#Pk=-&HBEYw zbxRJPPc?}mQ6|kiJG(ZDnUpTkr1GLk=H4S9h2G`S8Li&oQMwY=eLdINp znn&_}oMUxzlJlaOPBqmbP1327q{?Xoh}ion91xv z=%TuqVH15mmrxWdsjubeHyQ*@Wdj6BCa)>FnbdUoNMB2%&8Qs)lDQL0+Xz~X9*$)- zEQ9&D9zq8nTP1F*Vp_wwq`(bH9$9NIl)tB-iC+mP-iQsS+?!T8KUH!FU9}ccZH)1& z0$w%r+WSc>nzJrqW#lR&$MsOcRu`t+)-HzOnRP6zE+SSd#+0FyFJ@8enXBwZMBhZW zf{n+@%-Gl1+0$6I15eoIng|wQnT9e{tI^>(NkNr&uDUiSc>qx zc+q1cht)7+bPNv=J_Aciiwtw1WlY#{G-x(vXm8;1CI4E^68*!wJ-{0q%c{VX*i`ha zDyRdVUQ24yER5y)yC=jeG)oPMNHZ^IXNz7MwjOon6~;QH!X;`_Xr{&GGL5#(HQNKr z^OiBw2@Yu4GXr-Ot(mAjguWs?Hn7gM@WT2Qi`Uf8=OS-c?)V7GI_E$#xjWU4<~ZsC;S_TRl=MN<@pMiDw$p6?!#IoIq(#qgb)g0W(nE zsMz{;1a_Ln)lE90cn7rNs~;H)Rc%gT1#%-5R;d-Wb@nilvv`&aSb$1k(~KCyQN4CP#m%f!8J%}#R;hoZHvEJ@EvHUdNH2jFT01;FR0XDI3=hGNFj z!mv>>-G6t5QYuNGuDTS2gKu(>WN(tQHpFjSF<=5ak`3{D(QA;`br(r zCQG!et8r|4abRAZ*}|=eXq_I{tSr+_fRWT?Nm}5>VnQ+aU(`-PZ?0o)f)iV*!UM!o zZ51-tV8B+jvDNFx3Kg~NQ`ttOD-pJ1Bw$b~aa3KMH8dRrc8%XI=L*I!E~=tNW{SF- z8cRF5c*u$LM$$2Ol@tyOvn{*B>q@-fbx9}Hx&*h}JT0PC>IoxO_LqxzU07{z*6a?Z zgtIN0!|RH#Gr>r?rmwDtTMIufXIp8nhhQ5wYgaimOAwVL@y$G94Brzi{Dh@_zXWXN zT=5jHv2xeFI`Z_)r>@wl7}M~rCg33tFM8&H!R($E?6!y}1#`1`o+xDW>q^@alrMW~&~01=PTJfpuysuek6(Dg>rbkC zzFF;E9LjR=*q_mI=^r0jV@5wIve@i!(2+xsMn;+qn9&j?!PXf=kv&uU-LM^e`~pUq zcEN6F{S4qV`q%~A3D~B!)!1I}5Ebr&8hjvSdR#Eq8y& zq&3WS_jqIb4hwgGxW(fFxx2>=8ekV$Y#TBi);y9d*K#ZkkBdTkH-i64*n4i!M)`#F zy(&z8Y7FNqr+3*qJ>2aPKkvosOMVT+?8*$$n7Vu_H^M*M`%pkR+bPEutrE*fsuxGD zVM1d4(qVd77e9O)Xw$p9cf^Z@U zifmI6mE~WNA6nVtNko?GTq9`jQh0pIVDu(?kx~Ni5?YNiEDX_1+={?rQ{Fispy_cM zTldgnt$45on`Bi_(;PncnY|OB*HSYSR-v@@5{_L;Ep|wA3h^!Kjhs`o;2<}DW8%2G zz*HM$?TuV}NPt4R#y&Mwy;H-M}t!IBd;jIJzbwV@hHO;oWL_2so~xB`6(d{jEEp26vpJiQa8+Ba&`H$F2kOC6T2#G#WvWzXW&zs7s2c=GoyXOSlx9D~|4&5!aZ5JkZ8nn1!1zMG<+*W0UTcxSsR$U3RcAz7<6=fwHSwRu;f;(ZtL&^ob%a#Zxs1u$r zq|J%iLd_Obst7JyK+2X!D^wR}GW^+OSmsPv(UGvgYta>R2flb+eqVU>`5;Rj?o?lB zw*>5!iB5Sc7YJi6XzXP$;8vR|;5HmGQmEI!@(g{Ud`w@`)leLke9_kE0>@fJNt;qY zS6+;cDh&PRrM(ieY2}$La_~3%rt@P&>ldNj zo5x6NdGmDvh@LP4pB;tEBBveZbS~gr_j@SHh&Gz)C3AX^IobGCazo?-hX5>)NADKs zV*n1TgpRv&TNgY4C9=vP2Kx&$EVB;m&bn}pYsV0FrHM@v%yf-$ng%na64?4`;5FL- zA3k-W%iHM{FvqFtlTtp;GbN0MUq+Z2ipx^NjvUo($-&i*Q^O6Y+8A|W`3P0~7jMaV zTk@{n70Z^?a{!*hp7^k-oB+ELj4FouGfVManR}~yZo>CYf$sAe7;b9hXSx#B5*fp9 z(++Ru8D6M?F@Q-lEtq|zAp1@jK2zu^ZO3EnLut3+_y`%a<2Y)DV?Y7v^lh!BO=C&( zcuHJK-Uwp5Kc6wAy0y4T81iX zf%x?xylsPP9T0v@@p;XHIdGYv9UDoj=A@{BuY^-ca|#y3 z_fv}31D7OsCB-8gJ<@b-!e`uq+wCNu^8JTgkE6`%Sfy)ZNZu|u&1eqQ<6FsO+_jT& z@7$av=Z8E!a(+SitmJZomYsD?l^wxRUdaQxnNIFVkeoD?94es1*nA+^v14fCc^;gS zH&ZB_(xg+idssToO+&2v5Eq_BVX;rtLJ&d1$mBCka^J0^YF9FSSX#eGFm%-H9z~q< zSUIds!D140JxQIC{s&8VzzTTdd+`eTl?>oT_&^Y3bZjeKn~G68+!ae(TlM0xKhO;F zvtf>}J=g4k)8&EFaV53m8rt!V32qs28QS`$S{oZUn_TBG+UG9&T;hMsg+MT=2som8 z^GEmQ4fBm9V>s8g{A(UiYoy?_95>o8GW877vN|#fAJDx+Hy8C7t*#>%*S&K8(8yWI zSOB{{<}8Rlxf|k-Aw;f`Y{RTgva%D=hWMr6JJ^ z_U;Rc_SxRC%zoIlQhhO{$x$8=Gss}3W=?T{XOAU}pLm;RB>L;>ALfhKXWk9?HXHY< zi+|hux5bwW$d4^uh6Z3S6+Rt<_7^4#^N{1Mmc5dFOTpUkP~P5rYs$({*(}35X+|B_ zltbizN9u5Lvz&yNR53bz&T&d8N*x(5u#DxATv{TELn?8ek8~%uc!j<76jPCYgnd~F zrE)a9G_fTAY^c!iRp&zY0r6STi2Gaycx)jmS0I}iXT2=-5861Fxd@_G%6>e-?`8(5 zIx6EL`HC4d5u+a0v;i265!rIR41>%3bk<+bHR(|H6wj&-2`@8QK{= zyw`oHo600sI2X(i!l<%Ck;-|ys)&B3< zz0o5AVv`R{?^?8mhZjB0nakv=o>)PwL^>A1K!gC?Qy)sPzY@QMTvtCN6LRh&Q!*LN zsn{=q;!$N~!C;GaxPOPW;+odMEgSLFGL-(>mY~-Zcwf+LR87+VURm1Gm zv63?g=RXr${vY*6-tIk zD3L1LL;9^1RX7=W==Q?PNqTk2$)C;fc}B56lmzrduR{oTf+=v%^YG@a27o;K_b^sk zTX)C$ft|=gSvI7ePLA&@(+qB7xwDeib6Nd-soDPW@cu^XEAtGT^I+T5REhN2WPex4 zbPnSdr+fPX@?ckpr);!S#3Job}rU00kx~lSL(Ju!v)axmI&XK&_=8jZcqPs-eHSzrt^*V>W>GfzRXla}yrgV*2-4@%EiP{>6k32zn z%B*@y?Y38CmpCmZQ=Lgft=E@jgE}p$O3;(cdrt-g8CU-i0|^p*Lp-xUaY8AOY=``) zC;_d>pJbP^?#gI!z}fCc=m=e%3+zh4J@)VjSe;21rN-5Qv> zOqQYhd-g0^7imTVvf(XczFOX65$58YHUM6%ooY5x;7n7am?V{5V05M=!8d3qO&B42 zrYP9iLRppJ--AS7G`|k;N!flYfC&i#HwD37l;IHfAux*34p6FO4JIC%cip0(D(4%% z5cpB=$Fo-k#eR81qTBUWfzVyN^ImRWR%D#&0i?rm2!M&b1Vmv?fh`5)mJ|Z0GpJOnyL18q)w3&OtI>#} z(6wIN<2ReeL(aR2m3yt25;e{%^^=$FqLGLq-G@G3r*tl?a%IH?7a_f%$IRbitef98%~dI{x^}@Vj#1Y z{wkCaYDGdU*Z`6E_$-xK8fEcekh%zj?3OQOr5KPRj-txGFn7JMdT=ZqzZvn$;VGC| zTt>WzzFMJLaA?XSs4+@;fY+pl41Nh))hRHc=it9<&wpGCyuwF|pDdHGE1s~PF+?Rw z>uO=&0}v2C0}~1K@2e;#c6@BtGFef1e4^<5B(=_GJ5oQ8jZcpvmVvVbx)W(V4tD8> zl4@CmTnFIK<8R=fkHBk^v=>^4kt|_~u8R5Rki;Uf(EB!GTn+o6mLN`S{Ds@4T5=6G z>fGY76Mm@)C}G|hX?Mj8WJYEn4~$ArrWlq+~V9 zDC*=C_3}&l{!04?X8=O6fS_7HQZFH=mBlZZnmNjI*ipZU=ZkPw-5ri>bjl-fESc;YjMbn|R85eHo&Uc)H2=%=-NN3ArZ_`zGU#<2z`4ALS00eL()fNPQ&h%Hjj5|INyj zw>j1g*z=vPlj_yHM0j;k^42<_D9ooGyBKGVhCTzIS4a=q_-lJg%NT;y2jx zXNDOkdasFLADz_gYpV_F0Uf_4`_2jD2IC%d$C#DSq&XP)8*0;Gyd^gN-X^6AA$C3g z`b7JL`Vn!}5#mIU(=V**J=}!BUQBOLOQ%`#h*GurQrWs$p-HKAMxcwijEBhLx$v|w zSu^rS;)zLW%0#*b=Bb$uZuz@=!pYuwM)s)%W~${sZ<*lS9uqh#bn87K?wK!Q(ttI$ zHD?@+9aRX>x>#)ntPx8b@~BpDa62TFBMRyXCH0iDT3Tfty{f)`&42?wiapqX6=$5q z(=g6h?l~Rl2PD00jv-m-bMdm}G1cF4$2DLcSIZQgN*(cH3INZ716X#%>_3!)K^G9`0Id_BzzWK^;6+I%pbkJefl63*sV5*0faYN4 z>iEr0{CfO-o^d8%b|Ft25b6G1)#~0BWWYc`EhZoqWJadOCdM_>kR~9jDyGJ!#zfE8 z?V5LSku0El>*Q|ef1tS+Q$nBeTeONi5#7>=R!WTJD^Q7RS8_+p*Of|+=l;^9(k?xe ziBFbNHTyetvxeC$f-VYfzri(qG9-eSX~!~KdEvTF`n~sZ~TV* zo4W$S58I>$1llAD9JoAbH&RHz2XYZh6v`p{oF?2ovh&-t{)#6!!AMB ziQ9!#iA^1k%no|N(jPrXg)YXZ9uV)yn9+Fx?mJ-3#4~^vikM9Q&{A#vI%w!~xi&2^ zuC;Jwucipr#ux?8WqB&MH_!_~>7^kGa*(iN*UKqcKIxOt%C|`ApQIx$e_$V< zRf68%IKF=$)w^Q)2YPXI5y1vIW=V7jp*3_gKRdUEDC5=V)vxY<RbSL zkCU93ePdybo#Uy?jns%Ez%jLm*jb zZj`weD_?E=jP*L#E2kNk)rH2M(>BX*z+|A9%eO$l`nU7TA@0D?hf0M!+QT-7j=Fa0 zZVpclGUbl1i0sT(9?@*Ltc>0pD<~nx84*q@)uPK;D{)niiiF-9anI(gQLVj0>oKaf zCVOQCb}!Pjsr%!SzIMbNpVQLPBF(hCL;ylMxylLl_orXX4N`yzEA^niOzk&ql@Hy1 z9GP@(R1Qn>K}4hKFJ<&l(PoWverf#Q;w6A9_kV(M8t9`~b+Atj^ns;8MQEb*xB7yD z#km{f`jh<4p_trk_JV_{O=za}i-X;}2yc-pk`dC>cjBmckGUL-p=vZ2c8O_Qt2bVl?C&@7{&t{rAfJ2eEZ4v>gckw<<0F&VSK=L0fBUeH)|ypZ;?_+phA0f`STy%D8~K zxPZcnfchVOZEX#8A+JU(9W5kGbvcQEvcTk44K)aTXAN~ZeeWd@=H)e$mcSDMsoMFN z%R5wPn#fQR1%@#V;pa{rBrJ6;5%R==ih$-%QF}9E;q2NPpC{^{RnBi0=lFk!o~Y3s72yZ!t#j5G{H z1sFoEa!sI9z1*VHUDdL&VL{j2(z3jJI_>K6D6RJOJ~}gH+QVeK)Af4N?Jnr{(>R)g zU%>Ie1lLWOb9}(j>b66q1JCy`M|CjjPOjq=nd>$rd0^c7Msb+yJ~TT_MSEWn3Y}vZ zwz_rTT(dh?sBsU~`c^FYH9_NZjoN!Zhkjoo`L#l`;}G7;qeSjAO6+r+Z+w6g>!$kE zPx5nydfPsn+jeRE^Jc2^?oG>U7unl3q|0+)dvI%W4+kfWgy(P{BI$LMZ#q1x^_3VY z>vqt)b+F5Qt=Reo=lZis^h3sbc;J{y+={#>FJVWALwo)-=XFmCnI6c&xJsgpt3kaj zb%th>KAMe-%QZj(1NRbK-|RrlJ1I}gkJ12HKP^FtuymDhSbI$ADP(3o*t>#mKF<`MZ0G}fTT9$h}L;jj(d?Tsnsw+ zQ^}JQ$0Aj;BL7$CJdXqz0L0A=2TihFZA3UO@>r{CjOW=@QODzSsv^=+*86iEsI=;( zW}4@@Gg-Kmr~aHHwkj2dTdW@YpddVQvCZtHU|1j^OtTs`L8Wq9K&G;JLBOW6c|t&^ zvUx**M5Qu2k_EP-FQAl*U%a{JAg;qXWUyRQ*SXEPa&UjSnyFs062*mjzPj0FecTxh zjTG&&?d-&$JFpJjN=!t{AyD%lHXA&UZjEXn_gsrI&>DI?qgbD;Zroz*#~*i8umbU} zT9bxm>pVh*>#;U=x1CHhopfwtPlY+{LU{0U2S7vXI9k+Rj+i*>g05-?7ZlSlJtEtQ||RKZRdZl19ZG zoVmrh33wHF>w!|BX2p2gzd~c`u?oD&m7cGEIY6XI-%XKxZ4L8}H$o7j7&v1Ere>h> zbALsO-l4)xB6*ToC)S|}}7K*8vDfoQmQoxnlif*NaVP-RI!g;Zo zCd}qLW`(%b8uItKD-8{=t839?tc7I`!J^Dh+; zPFKI4ButO$@(QKWzbqd8ifQX;9Gd(L6o4vBD{~lThuYTs>K>M|baU|KhH{orjr^LJ z7nVA|jt@P>(F+zU4tP0HNtBhbJ9?WsTX3o=O&B%ZerReCrk{%Bd_8MX$G(lZJb7Tj zX#8$Mc(V(?4nYkG{C!B4d(o7s5^$N}1~KYj$3Y8obFfF4x{K+?Zqxh%q7q;*FKd zTLH_Xl?>hYX6(i-P9cRRs&!;r)};0OZnYShOr9=@>1WL8^YfO4`!mtYZ_Z=~-u1Lk zddbKCBp2$9ytuL%YDPyUObgw-#xBc4gfZ4|5U24HLxogR)hinPYotu^0jA}*Kzur%CI|QAk5irDDz?(; z`9f%qhEBtuDO8+0Op0A$HJ= zAnLBRZB%o`Lz%f}k%|UGG7&_kPxLl(|2KSg&_J)>O(jGzs zT4*e-O2ZxLR{xfZdtup%R2{TGDqZM+A#T?!qnnyVvO#?E0CSLs6kS>}wNs!DK zSyBiCr6UAAif+BNg`#0N$^d6!gfF^gF$-^F?1ho6P+4=nAHEWzf-3sJfjtYB1Vnj3vj9 zZ(OieSaGh&3d(rz>{%oO8?1S0CH0bRV7I$_17VxNDSenv+Cb;Hu6N?+AtdWo%F z3za-H*a|6tDIkD!^P@UY9!>TsNYSOa4&EX;az>`i1=Pkaz*k!kW+`Jx1Qe2UZHlWx zZ6H%I*+Nc(JP;=kYf-67GzK2Q$q+fh75@;czSPO}fgH6d1P+@wMrHsD zE}hR}45H;Lqu}t&z%!w|U67{B*_*J3!wObv17^%os=*y9brmLEIh;f(%OVm z>)vUyS~HI~zz;R?0HmqXErFI@pG=ISKimLrpTaKZ+ZD%K=@N}SEn zfd2H#p&H#`3k@?cqJD+7;C_ZcqLo+u)FW=IUX(BYMVteHDuKO~ykVxg0XzBvAfXR9@bNgneb0q0}ra zJ@`YxrS@8FQjpX*L=9o*3X^pzkz-^du&D%yYJgCt7YqS|HM-Jt;UOaZc1EGt7C=2} z|A%OR{&SMZ6KYvN6>XrzZYm1)MtLr%iHq;SWKU-eWBGn#5%G3VyG2GjgImG}g?kcy zx?ng?b<%PVk1BAIODU{E%v!wts5zudM#mPvtApkzdoVLdh z-2kNfCV>sZp>qoW1y=R1vo3MOWg3BPN^2i7lsdq;}w=CS1t0>$YM4q6u)5 zfG9or1N@b>9^?hRw0TbwLZRQ=zGy!&j08S5kwUx_ctg@z5VasmHP(%w0IU)t>4Ia{EE&pQ|LgSf@2QomW_y5M0Mkq2If_1W5Gai`3(< z9LDi59!9BSL_B8UM%1o5>#?T}9Al*S?MDc^42PNK32wGEh>vuECMRYvHb z-zD#fyMiHSQ8>LY4G`(n28NAjOY9huBM*ldXy2&>e>8qZ;1}CWInkKf$PWv$BGa{| zP7Gkt9NXD*BHgvJ`i8}|vZjUsX;B^O!y<>ZvL=L4(3Y*b3PbAHR{Mk@a{;xM>=_~> zA(0=X-!%mkL4%Q_MEHTcEzSirZ0g@$C1T3O(s0nB5{qG#N)RFC$lwmlEuJIdn7U z)L@r62kc3(qGafcQ7>+LedAFDIGJ_3Jk!c_beGZYMv+NZ9y9t>hRSh<>2q-5Al(;d zq)Gkp=8Oupam8xh7Hy+qH;z%K&}Qm9lUi8(l;TH~6_vODmm@0~Aw{BgEhJk8WKzTx zCEBM#YD1UUf`h;KFz(UhK@bf;5y3MmO3VlWxF}t3U$)m0T4W(Zvb*Y?pNXq(Q3FTJ z)`V&X2@O^_0;R)wYj@U6`{g@sT2DA${36V9m@Hl1jN=DDf^_k)$NJ*>4mnR0n))Of zINquIeUN##{e}D%$J<>wm#C(Jyf}dt0n%XIahPvuKPsVD#7MFU8=6Ut>h?2Lr9qo^ znNvb8`32%WZX?H(0-mZyrt^(kj^%bW)pDX9%ZkMP!#j9IJZ+=LC8m&awJy6y27Mc* z7fJ}@EXA`$>L6fwGpw)Nw+B^>>s~Wd#d2Tcw@1i3S9IAxh#$}1~|M#9^y4@S4UlHl>JpH))r`V zwjiW!7?qJcI>h5hlaZtZ=5(EW)o?Q$lm*KtP6&^{U-|eEfZu_TNF)*iqomNk{fG(SN#(nOrULbX&A+>Tq0Nj#bY(a6Y2RHq@S-qI-dSGsWU)Jxe`wXq#VE5`-z0mI1v3juD`a)b4^U-Y= ze^K`!SiKNO&|sUvzdp%hb%ow$$=SyhoWpC#EllzFOi(Q3uH z)OyS=00@M7=HCStrdh>oe1%78ndKG}hWQ-hYs`(f&uq)wdd%)I>}%guU64(DT}%SV z;N%~T=&n0s*N#@?$$_2M_lO}i7pTq$OlnO4BXdCBmN9%MUdUz!A*)MrnU~7yYIlNT znd@#sC?%A64V(dTLgEo?opUwAF~YJ`RU5DBKaOXA~hk<;`eFeUtS8oqkr1ii*JfCk}}+HiQdIxt9NzH*@u45$5b_ zX^Jx0qI7dt>=PM(Z$-p2DB1&s@??_6DgCVvCvZ1WXKGVAZwyPWm(p07OR3_wyd|LG zEivm0I(aK-f!9~_V_>*WH?u%Z#u%k!CZcziyjfq~-LnqFY#LWAFY){P#}Y3A>z+L} zSL}JK{X#Z=kB+)At;;oy>20Z{Mf2&rInf|7rx)Nc{R4Q)H^gD0*t zY5KbK@YM*FPA@iC?ndP8h0rKgIE@y*&>Bj1ike$K3nq0ODt3z6D~4T_t_vv*#c2Qm z3a^BM3Cv7~FT1Xk;o3(g;4pnzmTd4HdXD0U2cIkDi#{8P#W2y%1Dt^y&3-dl?ONCi zHxgYds?D>DTm?Eszdu~>)yY1`;5i7ok}RxInfYbG9z$go4b4miPLFx=ODJ;r9L`(? zYuM|wYEa1`?4)&;Qw-{aYaQ$)uXPSWROjrfG#F0W7u;#|kkrd6WR-D^IDCB18PY8q zQYW^U;eZ{Ju4LYbA=@NOp#q-CE?|=B)F*@U^|aj2-XP=_iQoVVWp@#I7Zy`cad>q| zc+EWLt>Z0ZryuohmaB$*@^y=kKN1zCuqPYl5}w9}?!}|^c=7ZU#dBL_dRTzddG2IM z9kH?h8XJ@5M1i;9CvSp^@k=SpHp12)kL~T9m3YFTi+xi-m+>kuGEv|&K}yRzc?qv> z!F{k`9T8SZSp{B0o|S(Y>YMBA37}$KMlmF)Nna4`uppvHv=GGCAL`o#42AxH@DDWAzyy$5}UVjl2Nwa~PP5U;`UeCd>wlVh&h0lD@ zpbMt-z%+3+3a^tYJ|Z}ZB?l*cazfN^$Qbxf&n;FWusBSxV;0$_R ztwmidXIAH!<_#AT4Ug)!n^w#>^2o3mjZZev63BjN z&l^0+0vfe0;_gJ%u<1!;?8EtbV3G!lz2Aq6;*8hnAU!~M<)_m{@cEE%fJbw}Z9azF zghd`pn^%rZphWi6(Xs25Y%LJ*r@BCg&o_H zPwpDOr#&!S7n0xzw>Q&QL>oG={^l;a!E%2%ZrA%C$@%^ERuy}A^<<`9Dc)>{Yo z`QW-3&WwPD9c|6ZssAL@kcd5j+c&0(mo|nL6YN*1(cXnUiqtGo#L#k^5!9U)evQ6s z1ikoyhCL3)Ftr9{jjFc*c0Se~F}9uS^MQyL%9*r@)KgOwS6UU0Xbe(?8~Y*0k}pRk3+fJC9yHA^ze$B6*Y*x3*UDr&QotxKf{Xo|bZ`bub+TL3mtgg}9P3yo{ z%IppYbeg+u)uMrP?ZQ{I)3rIEVVCV2jHmO~15oJ$Mz?vYJ>l9Q*WEElFqk z5!N(wG-zfDo1y%Ua9Y&ObB}tU&!^p+fSyCJ_xK(?M4&^02N?CLU6e23t;0U|Iqdkn2(e?> z^K_$Ofq^+%ob`;S1&71Gb-Xte2Rzu>naW2iTya3R|a;eps)08nt`4eS1Nk?>9&!&U=7|*zj-RS zb>_yhB2PuvK7Fhl-o{HOCC?M%ga0 z)~f5|CgWc&JeRK+ZH4)+op;2E;N}Ofd%VHSe-qnWiwal#`^%Jhlh7_n-ypNTD%*5> zMUoGmr=r1}nArN)4_uO+?=D==mMhuU>MiLE1|KBuvCg-u6kcB!`>&RE!Jgq_ zB)-vwzi*^E(3)c?rN?QXs={+gKH%(u-oRD6W9`#Fhg=|X6Vz=X6EIM{5sKVPWlU~n zh?%}Q)72f8l6$>0m@rfqBBV5!f`5I}-=M#|WsnF0#uen+lbpJo=EfJqBaLlHv(v35 zO;e26bqoH5HArzX&8N(4Ws7UfE-YmJ3@>modMgtq5tWO@6o@-8Cy#k$f|r`2r`IU1 z5^fbN5_XARtxVR=moSi6V;+N<<>lf&^NgVN137_TSBVhDgH1rN64g^(>)7WqCVUP9 zefZZQ9_+8?UyE*=c)v4!$;i)8@%5Cc?bO5-w&hZSo^?)|LeC*_nGu&FHfCwBj2fJ# ze?JlTRPym2=ZGdVTwu(Jw6S*c``t3o zLU9(-fwlbz8~C7oZTFs8d8Tmv0eI~>9OICp0C2eX8Mriy!DJ>N`c_qf2Ok$e_{0*a z{5O8wwr#dK6|d+N3w9prEA69jq(Qw0?{zU!OwfmM>U~m?Ty};mSBpQ`fk0-pU@8!l z{QSAiIpx^NJnIY%tUnq~Uyq+VV(|rC{g=iDv5kWmcU3{7G`AYxF9ydc>sAV^M)8y5 z)uTLDN2l+74d+NexhYah_|5O6ZWUi$xV<4mWD=7yu33rll2KM0WK6B6vgTh&8N_{& zj$^QnqZYz}Y>cBoe5(=Kv4?h+@>}#T~#ZU0{yDdSL zH_4k$pwKVnlXmo?1CR)|%BR=K@BgClc28F^%Kz#CJN`8u{&Rr;-^#)Ns#25@)m3#c z|5tqYUu0et!VB3HLb6qNg7#L6+AHF6b2)kG*2Bw&qxNn7cE(j5*$+>}R9oojF zwXqSnuEm1KqS>O`zoMx*T2y|%A-tGS2Y>b2vtjRly!wIiX#@xn*mD}3-|1ZPL`>W%i!;jKRf7sJOyvke|M-qb_hpzC>vWL z+&kl3!8x$|5Ku%}sQbGycfwsE9=HF-n76^bMs5K$c*Vwn1;55c=)*j_)yBO-xcA1v zfxD}X*~8!sg(`We4Jxw}5aP|>$#WMR6oojCL1G{yvV~~*+~o=Qu5XuGzI*% zq%Y2E+TK`2#$`4*iE$&{uF5kDOs>m{-l{F%F79jPz+gd1YSx5kWMWz~-QbGuVdp@( z9uGstXFcFjK| z#i7DTz^U-hgvF1QFxiGnrKZ9(|6Tqu=uq!4%8GcNq@M{vmKBx(W=0{U?Ed`ZzSFjY zJBhKDo*IU&w1?MFV9;gO*JJ<$tKA&-?S)3lg~70RzD3d{tWZZ822EM^Vq*l&A)SJ4 z<}ht5Gm_{6284vxyRbswzr$MCCDNaRni0NULXrCLI?PmJ7YaUKFy28-jo3;{bRArZ zzri+LuQJG>!T9}Mvh6U(;7&bfdR+&bW-q^GN}dCDXLs&iy6N&Q1$`qB7iV|G)yWHO zck$lae~;qJk3|p-`3#Ma0=K#HEk6ctf0WaQ5Rh+pR_RM?l+GxgUtyF^__{Xe3$s`M zi!Qs6(}zmbH+1)(5G{@m(tJ4A=?lYG{$3TwcW@U)Nt^N3=?mz0>7MRObJ*AE3+-32 zZco9Tj5G)JA!;T|exxoZO{PO35BVZO_MR$@M|;sgB`Va+bC;LtUqUCNOM)Q#e!WMP z5HrV;KCxMLfHA}3dRF~*$$oR@L&nDV^$OkPC30E#(OUjE$B+lB?KrxE4H9RmYv#$u zcGP~bhI(F8*P=ravdQ8Rv$W$kGtFDOT@kBfnYKgm;`KPEYIVwVCb6|k2O&{1Bhu9& z%p%J>MU|Gfn4*1x;SK27H0Z&z>Thh(fOqVTuKop%gLySs_(ZY6xoHY~S=`V_ozP9pj z`$2oDaXfi9{f~y%*x;Lk=w^i%IJe9yy;PhX+S_R2+5k&SQp+;~yAc+xsn_}*N>}Ro zh0Mgja-)r9^8J}!g(~&g^+;ZW{zw~%g%ZtaA0i~z4W^jXCY~K8b!xL?oe2yD;dh+_ z^{k`Cpwqc&NTTIy-Uv!G?VHZC+Vw?3dE{kH$J#MZ(`LFkk&4R+v%b zUYOAXB#!&?Bvoqc9EVtn+w-FsR`tj?)}7;$XKSy{bw^QjFCPnw<9syRk(`6@4(CCwL0rVJ>ql&+!bj>wtaIoTIy}Zg>%5OT#)GP9iNf<1L@7EC%?{9R277J z=vbDN`W5Q#8kY+&{zkNBtzacBH{#!Vgy!h{E&pYf#Mi-n3SFhYt*^z>na$%-qXs@P zwt$hLzHzZ23Vf$uA^6(^%1EN?kE_xA9R1<|EeWXYQ;b$b%iTcWhnz8xIk7IXYU`3U zxm}?bBJy^K!OpRHci2nvZ!%R?cc$`A==q9ro>YJhiNf~5tN{rzAJk7XA&%U`>rrvH z$P%8Sa;Q(n@;iOK)Fv&f;X@PhN=6Kp=rn|i>+5!?9)dFWTUklelkHrg3fU;`H^zq@ zA_!G?u?9O3I~`DL{d=-_vy(DYgxSNlCF@@#O5u=G!(Lh;BEa>Sk98@P&T4+qWd%nD z6E%5Hh)?QnCo9c%y>KqVmctNVD9298`^Iy148i7|v9el?`h2 zQJG^EoRK8hsJQ)Ju#pXAHELdvk{*|$bxz2W9wGHJDAar*lrkxJ_9)sp!x4jXSwyiK;aZQ#V5*0)*A8xC1}pFqIn3)R5B3_v-n} z*07ju$ssEG52!IY%+#6f$;S^O6w7XDQXl&d@=&SEG5aa!70xS-D77&b0zFVGXZI@R zqV}SwbI>SJG%XqNM~2jzA@j7H3h?tR~nXUyGbO%CyFJTukq zb;_0c{`mR{_oq>fCB9D^Y1Mvq$a@NXEF+8nO>{>HKo|&4YDhj}Fy=5{93d8(oAqv} z4_olJ;E+=wogicSntn*fgJnFfioM2b(c(tDndSwvNL;n6!t4tC_{>!l1L_4Qmq5`T z_G(b1@}}*jv)*L2%il(-> z!eM&en7Fe@a$|7-UjcO_p7CyJfN2V8dJ@5TR`Jno*^)I_^H9RaibLW<>&_;G@Ktl!Tk(y1E!C^zV7c_&e)NEXR%=IQ zPCn(0OE;sVq(Me`h2N{2;vxYIca>(DK&EUi&4?C*TvKfXa?q}pK;g0D(7n?YzjDZ{ z?y_CnVB5NKBa1Ca^6j7JXHrkv-KG@PLZ8*u86MSLdrIk6qUN+rQ8lTlqoY9imk;VC z=R{WEvQ}K8nA?DPajMh(F8|9 z@_?-rvJZhvK>UF0(9B$`ywq!M{~FIQG6s`TR4%^w$eYML^s0=0$@EhnM-^=(_x&IJ z(X(RrD1{$!1G%D2>STIR>XYzMMw?LT$0H7jPCkFlAbQDK@dmRKDx4Dr4NsZwC7evy z$F2AOHS81FL^82$u{L0#$l%RkwN8F{j zP@)20=}tj2tcSOzQWqArc|_VxB7HCo1LE9svSls>Eviz zI@P_k*}b*(c|6n3W}YAY`6haE`!#c$^~iPmILY+ueI@<}#vl^xo1Od+7tZBh68d1* z&ZPi4-qRlM7TqDh2zLBk9vCk6)1IJPSbpKxdtFc{Pg=~rf)_Ae@;w6v-YdLYRDAB; zUgDb)1#k3W7ms{IqMOh_A?}oL3KF{_OZ0cdc&R zJ#ww=<7p(K%=lXZm;m(T8)L0*{Jj(f#Sgn}&hf13`yC}%SMsM7mB-{qW zRIaZ0TXT>qcN=u?y&jbh)xIn4Q{8CG!7JlWU#2S08_^H(J`0Ag$?tdY@VD~7F85k+ zAmYzV!f$`3FXIy(#P19K1Y^NlY}BuWn>Hdm`8Xy7fbFJVhibKK*|?i`tNGdZ8z#W3 z22XkBWjLu^qjcYTR)huM;^tG)N<7ZhViayOT|R>&WdUhRdC1Hs_k#J$C5C?mt9Kr6 z_Snd?(f6^ob+$Q8IRbXtY}%UNKTErEzPJ&oLq!C;_; z)@H_-iC7L%36v7OitKXh1q4l2R57@&#ECN|4rL?PfxN%E6w>U)bEY~H&q6_EII^Z@ zij?(+sl|9yjt9}SOI%k_21DohA{{=%RsthP67u?T;Wg8{Nk<|0BWz3M)(9C(Vs^j9 zrB`Y+$?)K~(+V-DG|tf=ub|${+y00ZbqR(>lcZu{3S2fs1hBg>m!!~Xi8lg`bpnde z!9t?Eb?!B&CW3;dY=SHjvaoJstDpc^PN*^gNRV0H8ozWNtind zF+KU8fAP@pY4g+alO>zWVeu0|Q{E+n5_X9Jns+YZ>?r$)HW9{(-ra=61W;2s6@EGR zOeFFZ;IZV2L4+j~1zJh*t+P=)x>gbf9fXv2t$k7waKD_sZjxbw2J#@N^U{$PE93^C zVlcI3NkdY?O5y4WY1LsIZJG$Y462Ba$nw$MMcm`IGB72I7~4zK2u|T?wPB7z#e}GO zaPP@TPB`xU8blxl4o$&fSQkDZKx>8Ie2>(~k;wIG)bc|Lb{#{ApP$hGY}rygC1J)^ zO6luztFrOU@{{RQ_!et}>X#b7_?^4Cj9-Ep zxqQod9#FWA5+YO}f&e(PEyQMSS|(Z$vKB6;~uN%H-nne5gu zIPx&3;PVqE$PWNj8j=pfFcxvQqK7i1>BRv ziv@Y5Xd#GzR$mzus`zLiZlxr|n964yFHy9yzlN-&A{0r;60Y*M3nH;f0b;Xwd_q~O zCuMoPYLAAXag&x{m^950%(?AdT7Fw9{*x}UW_)x`BG_L};TCRK(etuhkbzVYPrN83 zA-@fm^Ri~92asA|rX~$u#uybY5ys~FqAFud$|8m(a2eZ}8e`gOb^5!pc{i7y*xGtm%EuUGIj$tyX#Qdm5) zx_EUSCPp=PRcYP#F)e|Nc9=2xaWRii(l?ITtmBKQgkjSBQX*XTcqwI`tf|{BBS*NZ zQ|uxvKhl||V^wrrOISJJE+2{R5GS4flf^ybrd0RSny9NFcx{mY8`c{kLDNvmY}{nD z2*F*Dk-@$C_k2S}kc@j-NdIYGiF8y7BlOtRaBK_Rzh!1eTq8&w=EX(Su{T4?0{dS> zSxPv%2T%Dn1U1H~S*kIUqkxIA-or3ec@%MT@se5Ugtvozo^itTaKYKsQ)!5p_)DeD z!U`nqGldpe!_~Pd+M>wB6@H&OqYno6r7Au)ttC3NO__9EiP<~>cjg|7 zZHtl=TZ;+-CMz*%*aBKR># zdwdZ+Hc;$1=I?)50Bb_{EBU}mrmvt8R7g`w19e1UNkWBH=PsxEo&QWk-~-<1*XtuM z_}k4vD9@uFc%9{R3v+fFtoC!ad#-prmQ+nXG^$0c)Fk!Y4zh^?~ecWgI`Fh$vR z59E*|+($FD$fQx9aoQcnLb9??X!=`%Az!u56Q!DFL>-SkVgRLv}Q$?zDF480uhL&nHSq1jjA@I*Z8Y?lqBC5>UWN^PRCy}I*li3aYk1~xmxoo z!6|GDdbEThgCnTEN>766xwlI5F=2VrVh&bQBIJsoMr!|Iz&z&!FTU%S^u0OF$Ml&J zWt`y$N1gl8;awgUxEdwYiXCplkhH@}Il!eFq)Rze2f4$xxI}cQ?ds$9Oevnv=XL7ZlzgcZ995hG+}jrO;p9RAc#P2;wDc6kc~O&-^9( zXX%p6Xr_E8NZc`TzLhOlWDPBUuo!?8Rexwy4%~gzh~utnL!=8JzcF04IVvwMXh;DQ z&GDc{1QUsiiPn8Inthb7Jyajc^(zg3QON)WH^bcGXLm|!I6yxhMoK~|C8yLWI&;J} zU~)rlN_@2~4pS;Xx$WZ|AC;_6Xt)3nwntf>?G!5!Y5;D-xh3r|bb7@>#){cLzemp* z$yR~J=zwxf?1Am_d)@0s7R0#4!m~J4V`3WavcGT|tuAM#UpAS0{jCr2-t+zctm1#R zS~JIIt;1j7Pn{D00QbKpd;xtYLo+!CTSH?<$N&4AA=?AuKi!2t?5@9Ex8suohA@%P z@^nUIKnD1Kf`;`F3HkB&ScnA~=+eU(6G4=;`m1f)n)hnVwB+OoiVDiAhbxvhDzvvY zG%gn`s;!q-THb$tiwmVl;XmI#e0h$xzqUMIjNSGxM_-ZVkyqttzd~6tyllX{hfguQ zvQl}DAG^H(b;%jg+|4O$S==Jg0wcM-!c!THKZ+X;88EbL?p}+!1x#v~-u?pGHG9?2 zyH!f*P@2{vnXP)BJM{GLVHux%;C}n3j@+~Svr3(n2HU0Dw4r}f3A9aYZ1wyH+p{?7 zdJl`SLk)f#FB=Pe%lyVeyE_Yq-nF;~etaeP;J!B5`G!EtJHa~EGJ4c!19wZ`wko-J zJW}gcdv(tE7V5BPk8#EL27$pvVftcvr})_<#Y@!bYjhWDd{^b=b8rm&nHB1LQH=EF zp6<@iLpyP5`rs~J_R^4wdzuSXrCRg~1^1&+qRafooWFVr_9KD+v$3~}{;8?%F}TMH z<0Bc+x6-C9UA&`UW{&=FnfyoEwDk`y)^vuaMug-Ez$Bby7z0CYB-##r{IX!O12*;-hC7*t5;vBi4=x#yhmw{&p8>{rB8N)QSTfVF zOv^kJeImi7Och3PkYAK}K#mB8`PYRMf@xhwAA)IFW*@>aAa@9J%(w(1cpON4Ats1p zToxXZVN_NKqpVjp9`ct-DLy{}M%kcDK`Wbh*nei*88q zT5S*g*a-BBK{->*zZPX_`3E5vOiHQw9Wc%Pa#-9KRIwbJg){f$be~$W9I+IoHa5=- zB&D=f<=S>0Ut1lZQYzORzNx)bM{unv%p-;Uc9&8mRTpAxsIQ@ilVABW0Ewp7#2YuU zqiG>ExK_R$-7`lvF->~D8lAoDnEDf8;0E^@F20l}ZD5c6cA{i0F!la#orlJc9EbN} zYI;H(haU4d=YN9chd#C0PEg^cLU`DD(Ty=zeBIRb1ikd>;4S+9L4S1Z6liFsi7bJw zCO5l)O`?Jh_?y+a`^@1*oUM**76AHA@@=J_vsYzk_nUPs;#ov}WUewALm@{C2$nI1 zJWGAxf>%DN_uJ9&WR5G-xwGqNR^QK-!-N1oXJ1v{lY_W zjNfLIe+ts)_F`M}YsXDryIFu<_^PY>$l74tND#E4;dj(Di#AKrMyyffqM1d32hx$j zrr=t@2kP@o@=DvO5r;Yxovx$61&t?xr|-k?6KrVV^n99g1`g(6v5t>{&1wU1qzsvy zuZ%+xUibu^K{x9|1LLaGyvfPJLqh_%u~!mS5!d{_a0cG?L75Z56AgdQkLTkKHk#-V z%^-9<9`FZnGqA3qq!paVOAJse%j*$#M|${Re^TVumT`fbF_E>AVV1~;#yRSoZZvyj*H@{i!nGNV2f$4G$Fx;5-qiJKTNyek zP&1`n#PO20kdE$BVPOHu)7J?U-G{=P*X%6FmelXI@Heq7U|7RKGxP?`G^L*lcHRWtgrBKDVO6krfbsu z)9cKL&TbiD_iQi#tUqxaq<&_JUlAxaVGhL(ytG~l3mXqqgKo+!en3wYeMBc^SRb^i zcw7d>b=_%m__&ht&3zM4B8L<)Jw@Yaz@ zNUJ4!mBfcWaG7aFI#nmrD{44_7Wed_13T=q0)Sdr$E!%r)j z;xmo0F01s(uR1^|=A#QSaP zgBAdKj+avGC&mH5Jr8dJ@gUIV;&B*NTrNH1ItP~9DDA$M;iXw*ZrD_0xEJxJkN)OZ zSLBwNN;~tFaR}+2TL!^`4ov$mEGUFu=s8!a94;v8(|cvphaG|FUpqP=q-JVW`&d+* zx`&tRzz-W>JEXpM29$WnYg2r+Pg+VnGd?GbyK_wx>aZ-&E>qS~1+w!gehGXbp6J2f znpda>d(?&#M&Ib_ZeYX^g^6Pt)2*H8HR7=a0a2HDXn#T8{vF(?y(lervcZ1_k3f2F1EW&==)_z2BFbsCDrwFZJ^Gj0JBfe?7^J*`PuQKEGE z$wjrFx(c2z*u$lyR@y{n4j`N2b`Q;!tj3!2NZ~EcZ%w7iK$PR*9>a-e7>r4L zy*pgQaue}h`S%T^I}7^tn+r1#%jfIwXa8cmp}0x8JbZt*^(6ycL}ODuTBRZyB`KFb z1btRZT?Vly!UY?&&eiicW%hrSBd^v6A^?M~bDjC#2erS`Za2lY5W+#3ohyL_tajD? z&4v)-FsTjXfM6zZ*Co{>KeOxA;A5&65u!k0Wr|6khSwLdTTX`$HpFcT#c)1WIVCBAv>Pov&4?I#MwyKT`nL};$ z8c|_IKFJ+0(xKZ|G)C!E^P<*9{)zy=fT=+p6pVn1>Rp3?_E+3A4SIkT5NQ9Pjyp#1 z?Hc#Hk?X~RByA@SvT$E~VtI{cMV!~W{Df3QJd`sksI&Mf&P=bh8d>wZ)@xyCT~fx4 zucu{Qac*8dnls-k`$J<*7#WkEbU;-iLMET-zx-5*Yj}Ip(aERz=Ob5U8BU<7HkTJ*yT`g+?C@H~2(kS=_PhDETVphF^Yq z4$QzoA97#d!HaX&Gytn9ekpRjpIUI@ra+@z-O;`7B>-Oq#xPp}^JsYMKiJ{wSI{n_ z#=fVPe^>V~Ec-6`NN${ve16c7M}U z47%!Q1EZp@P+11yAc>wiEoU{5~*2K`>#Y}G5J@3I)x*|Bf%zEz0_&|8${M=pNor19i?`;^AU`ScM?C#BK^~b zZV&F`49hsPFt=H{SyrZNAIZterIYu&y!ERMg--S=<=Pcjzy}cFO3)jq3*d(WDiN}A zGz{0)VXHIaY9S;Cjp3h^S0D&;t_dfB>l>2@*@bB0E*Rx#mRdarE@23)M;2lLwbgb^ z+G3(4;ZCwp5^>Nw4c9ZLY-n2J8b1(S%OuH>O&_JWoKw#Oy|pei>`*wRQ6mv|BwYc% z2dxXl5pZ|+I6!t&lv5l0y#LBse1=fzK2TKNvzLSUKX4L=}WhM=t13 zA{FB~>|D+UGt?20N@Ty6;K z&xoBETo$`*yN5qgDg2q(`NCf{U@3iOE#+s*#-UtX9Z`WJl&c<%Mm^Zb14GNbE*rh>`{^;`0nj9(NYZOsc^z&AAq;M z43d*7Mc$~kIDfWp{Q@YwkI-o*% z?AfZs8UvnHD60@hs#n!##{D%I`)ysM!2t)S0RI+t-C^<)2|*oi#Xpi3CVumo+#rm6NW9)>A?S3p;G0}acYdjmGMAxZkFAHVYM?OK9#~Y_*2+}&V(KWR7 zNj@k$bRs))Y73Hvm#_0}B?;Y5LdBeLvADg_48_mZrS!q!qB4CjBrnwOTQ(EmT@tSO zSJ;~8sPOJK{_!cNE2&nc2VG3y8W|xhED+aXdF%Qcqr>-Cu+m64c`rhlH$@f~#s8fAQ0F$A;&$>e-~CV*OPvUr%1{xtMu(MV zNtXIX=f%CasE^s3qR{5Xx5Osh*{k;y%}HvDmA7On*(FNvL^zUL=ghm3WlpV~z+U5W z@d}wgB`sDCI+LKc)cZsq$7_`VSQZ~UwP2kBwqK3KV6rkY=OFZ7M^KG*(+>TaBVE!EL!H^g_G4x=Dctr z?-|vw&R!5Lec@~6UNKJ*;GGTZo(UFq2=2On3VO&UDE-P@Y&*?-C;(Qm7%x^#Sw>=fKq|F2BfamZ+cyeKUvWKG1k36?J zyJ~mB==trxeB!>yr#z##yNBoq*(tI-e`WjO(U$$m!*XNWPFt#S*ce`P<8Ug-u-P}< zx8#aTQFRCFQqQ=fD7PkR;vu*QB;$;s?BA!F*-KwLEzoisR6h&%QMtDomCO$1-s6#$ z%!A=L>PyI_iUIbrWxgqz4{vVqnU!08oc0{fR0yLjX1C34dodPD1fc~z*xbvQ+Ar(E|X3&rU_;9I zO@KLOHd`tMDr3W8lB46zZS7-27lO|L@JAgI=3G?=iv#?2}*U3 zm@V#fW8_Xu`Z{z2oDIw?0zSZsxzfazp7>5Fy0V?u33jgKi%c2EYR5##i*#t4jQ1wt zCFX4S;TXANR0@0}?}#ueDM!6Jrs4`Hz>+;=wzCs& zD}BOI=VzHW8t==*=VF8T2w^xQ-4Sy0o-0YqMVUE@jJJ^r0MsiEFmH4FE!<5-gJ19p7tM2%c_TxL>E^4+9bRfijXn;I5j+kiANj*ztz7vnh zL<;;%yV)H(1N?rvigH^Bm9Z6KNvpjkiMBqk%iQGdnAmJgtKAh!)4xSxcb_UDkM?U{3R!;n16z{>0b)m zoXZl~k5jB@8vj2-X+)kx2 z@W&BlKozZdfY`|n(|Lg4#c(TmsEsn*eyu<4pHa|o%aT{%HeyyxP|H?Wnrzn5>m^3Y zz`K98t=i^agspBB18dh2*73J>#7h%XugECZRJB%)!%d^E!l90Bj9r4mOUWwEXSU9{ zj>=S*v8{h3E88{p2G4AVp2l7x;m)~?J-Q<>BrCu(ZlzJDNosH$hoMGVItJWV zQLf`_ss`K#QFzJrHsQ}{xSmzp2@^PZMA=&4EATIJ3w7MxOPive`6CP$m!{**VY(0z zW_78=y)(v%4{VWMS<;E@;D6JhE_s4Z>Ofzhg;^M)GWO7B_-t^F;*mquH;3Gt(nS}O z>Bv?CKU)DFVCk;;apC%(`c0+sOc7dphC~-E$MAMe!k=(u3uNES-lL$-pmL;k@pH$H z2!}*S#2?>bqK{Cz6g=bN#o-tbLt4Z|W!X9YrkssWRyx%rKm}&jIHDx{0PX)7{2SHH z)`2l@tbGsoAb{?(CaC^#W^Xpg1Kngq3=}|?6{kQ}E(-~hD>%_;iFa)~A-O3jt6Xwh zSX%#>E-?#_#~rU?epGx);P_8|@hM7^#B7XFYcT%e$4z*a6)&RFN2Tqk93+bCm8Q!T z+hIW3j#=3$#l~7@DrA+EhK$wVdtQtG(Cx4Eskz-RPY=R_%DxAE?u7c# zFC7LyD`@lk$yrvq^t;cMdHjcb6k_fKBz0--#X;_l=;jXgv7fA}z*D<#QZ|i=Sv=SU z9Zti)h?>v%mL^v>jXh^GAbonNCEK4@d)T}M$q^gq;lY%hzR7kr*SFtZ`Z}7oJENZSn|n0 zG5@)-`)L8!10(UhHq|F*1!(j~g7#|w_opE=X71z?_hCS-dn3?H{c4%}sQ<3nXITvt zOZboAf*XO56#`7KFWxY-T=XzgxGadHg?{se8Nw=&zHY!#7vT7tIR1iyTD3?=SnB-i zKcfy{m2(~)|0g{XfpSt0pn<(4s8nu_@R-+<%$Ex7}?Ec7d z=}0*3 z%9!nc#;v+`z}1EV!ckQ9l1rbcsl&;W3Y)UM^c>^+2qCJ2;CwLg#SJ;r8;rtU_qFfesz$qb5n5=yfH2i@BSUYxycXNw$Yn<>7Rt;U1aC`+lg>&cfu<2I6)Z z_o0Wvt{lj%=DIih7(c(YH}uGb0yUkft^^EvkSPS9pL)VW9I@qw=3Eb!Su|5Q7q~ZQ z?7DO#&(>~y<|Of67DOrPZChf>YJq1~1x0Pe_FvA9G^xC6$IM)R<>VYVWOJycZfcr; zTw<%Gjam>{qIOGgM*IX$f|StqQFiBYAyV7^4nbXNq1f|}`@F(3NNk}fP)UQ`h5t1( z*2uqmnRPcGQ~8)L_iI8L)MQ+c>VXjI!AS6hnm*7pXW5mB{0FNs;Hm(%D~#n1?$x&~ zUJGHAKyK^MP#v#VrSydiG@mZh(hLGdm1q4Xa-{d@gemyIYmNQj%0a;|pMd^#ex|G7 z7{~LDu9*8YuM4Mg@IfAU8>+>{7u>~25cs+l`U7-n0`TAi+%5vxt^(XH0pQI8v|9Sb?q`~B zN7b5dN7$x3)Ag*c1h$>IAzS>=R1Dm{dYW|bh!Pa5E1}D4DtV| zjP3r1K>S~$@&7dgtGfRN15mzg81}oNW8rb(|A1h?(~t9kAy9@06Cgkn`vnQhRSq7- zchR}qX1NRYt!$`hXr@|JYr?N;h-y|2U(jW&R47+jvTj=o3-n-*1h#1l;Xx9`0%Jltyy?Tl z2GPTPFhPgV>yFe0)dPG8JyZ(dRu@&&n!8Dj9_nWWkU4p2k0xT~KpK{7J>^BoLj4Pg zF*Wj18Fl2yS-lUyc9S1t4fc}k+E5L*J>)z%cOA^?F8WOi`{<6r1$9w*)}H-`EE|9N z4_bC8>)chb-%QtX071aJc<;FXBQQqG{3$V5%ls*#zhtmk-(3uO{0x(cEI@6OT1?ln z?NY_O-eaxeA?Wqn$lJIrJ(QSvV6M3$Y%+FP&j^XMalNDVH~qRLTP<>P70tDSA+n4< z+Zma3rS)~hb;NMIZ4u}4X`yAYTZ}4sy&JOd*ho{iYg2;+9MN0bz&wa+TS}9&x=9qH zleSn+nWL2^9Yr%=%Bz$u$+<%-I6`P)+D?7Pb}`W2f55F5ZPUuJH}|1~ww@|oNsh(W z+Nmsa#8SxKbtR^{37gWIOyk;Z0R?>GgJBy|vNn)9e_3QFlzL{1GY(Y=-humRSnMCbtl}kREVg2f!z-Plbq!qE0?kWnVQcNQLc5 zW$_9|%PR|vAolLLjmRxqWa$p9*aU}&@iMX}I2Xlq5QgIyXA)X(5_N7S)GB64Qw?%<~N82US?O z%xNppAKex-t*>pIKX7^r9V-*G-Nc>;3ZD)NolfIf*67UjwKq0o$VN;USN`^w7mpg> zrCCI{K;s2JtB>AmvlQ_<871aqCxkF{Y(8vYr_?0Iy(sP4sU6l*QK#kRbOuPbgh|V> z;@F2~GAX4`cuZE~GMs}cw-_y&Pu@pxm%qa|54-lWIY}SKXeKecZP+?zzXYemqGY-# zhv>L)+H7d>+q)ddeW{!;V>Vko>7vqiQ0=dCMn((hdwCDa@1Rjw;l-(C4zgrOXy&}} zZp=`{dWPq~{v=l;%V}(Wi4rO8;?IWAROO2nS`Rrl4b5p1&H9tjO>u90a0Dn{K`P0U zS?qdizHa4LWy#+||smg>1-ME@7UP zZiJfgkyV>8w7ND}LJxtY%ywB!>#rSTLvFcGY)v5A)l`VAL>C>dFSrL-@{yUS%XUhd z#g4R5AcE(EvxS`@8QO7+7PSfEt15h>zR#)jOn`ZA~_+vc@c$U?J z&P?f@9|8`K%O?$3_*&or5B55GB%eIkT|B&oZ4;fb+~d|pA8XI9g~B|&;Nb;}COQpK z{5*ucRi>_}Av>|(RmR@lR5Pt_y_9uOI}KFgGR6MKS_apdJqw$;^xx+MP|SEfkA(~# z0qS@@hsDg@Kg{K6Y%mM5lK2cEXRiGWKZ>$``?MfZDG^4CdPK!~Kxej82W>Vm@3fiO z@IN#LQZIU>HAD4nsEu}vvfJV7pCvrFAOFIC=rHe)G4HVp+#nq97)}nDExfZ4JQH`{ z5Yt40$R~SImNZ1d^D%%Gpi`!>+k5~Ni_>gR$Q2Hu*jl(f;P=gN8y(P<`|JnND)oo_ zk<1MMQF4bSv!^U+o?uo%Mk7T8wmJdKcg0GKjx0<<#HeX7+2ch_LT`k$nUY5D1Iu<1 zx&1=8Fj++>$H(*!^1Fz-)203Vg`1kwcBuH7f6}Ff%0cd#fSR*>njK!B1iLh~9&Gf- zIctx$O9(+s<~hN5J)A&h@*$|V~W24%$+X5J#aD}+LXT=E;VLSqld~(T5<)=h}0vht;k{#!Lh=zJ+ z&;A8nnNMUqzw{v0A*)~S6WSQ-mj3K*!JuY~Y+Vz$SuZ+$dkq7@O}VKrcY~X+NBa7v zc7@p%;}$xXKkAa}`v7S!olH%l%|`Wpf}IMJvHZJtbRuVchF@VJ2xqVlAaYHi=sBT$ zldXDb!@pAN>Iz?KMV|?$H;=iDtuT$^oWHq7i^}>-I!~jpPoWPfwD>7bFFvTLq>ef? z1}Ac9P}q4m4sRW}P&=BXw+9rp2$)a;=X1@ZWr||?R)WEA{Lu6y^9BVM=sE9g(uH+b z>FjY0*zo{{5l#7+H>k=G07Pfa7Ai67Tasu|LahDGQJXYb8}Hbh;CNIs@BFi;lhRME zwJrSTmMF~K0lXe7_D}$u_|{$PAh0(ZwS+Di^Z_22Es_BZ@jzwc9e`(SUBbf=p*h6t z65A`R5z+#S!`}5=2wis1V1`(WHYwmAG*49QoA|gd)Ns+K5dHnBaBc|c`3#rF7r+KM zJVl-%Z3%K+NV<6qwI0sml+i#=IiwnIlmbyTAYSRWWWIcE%;ed}@s+FUZxCo)p*w>6 z(&DAu5|$#_y*P%cR_U*&M6m5VZV0$WBTe!D1o}fD;=V-N>|EA=1 zQ+)NiVNiP%;-UMv zi$W&MM4_6>?-Bt|RsI0zMLwBB0wgemx5&8oDE+!RIyI}i>kH5p(kkDi*T+W*2BXy< z=TBTCa=zCQg9SE#9<^7JVM}4J8O{lYvm1SY8{!;Q=Dx%S{aSc7n8ttL9}~(kf-&$N zp?%RkF_%)WnkZbVRkwXqKsJTJ@&!18N zqs4JV*}ms#WKdwmnS#$kUEZGG3ygbn;ucUUF=fv+$TbRt>dbYjHUKp-i~GfH-pMm6 z*(G}DfS6RUb&Lq;m;3Kt3*%Cu&7siWkHVwHYlQiBQZ|P@o;K0uu}Q zfDlKuUv!F_X$p=mH^XiUjUd;fD^XeLVR+Y56$Zg-(5-b|CQqWuyQ&&jO-7OmnORd| z;Eo|#watQ#dDOQ*b=|jh)*GUpOguCamyJU}+oeG;BEj2M>!cR6Mp#Z3C<|F?Rq8|3 zmo;}+x3sv(Z~iAUe(6xT+_9wDbm2Yo;msISyyN-P#@f5vb?H9qnR1%-=;MCTc*_N* zmq7JQ6wvv3*1zpe-p}o`75VYmh6i`{w8_I&MhSN=QH$p3wRSnmbG7Q8%L49ow)(A4 z@)HvSdvS(9i@O{c`|nPh_cZpyF7RddaWMAw@@&`Z&HsgW=>!5VXX#tCpZi_U*0)&i8(wJG=XK5PZY8Y+ASZpIGM4(xa~;0j&9By~B@C zX0PRA`OaekT<*WSc3HL_-J#G+hs+6_^C1#;9edAVqA|GP!b`z(GeRE?avTIPDA}rT zQpI!k@i`A|GnAuYfpvEoC-2m}Jn9Y`fy;L}QzP{%PG-S98S97H)A?*2ENS*s=iv^{!g~nED9mtT+DUO2#RNU&&5pT|xga(29dYx7 zdAC#OZVIxbE2WlED~C%llqe5iCAsLRu$U7O;hUqH^sDk5jGZw2Ar*j#$`X(S-S!6f^RaGp3fa2qCe!QiImbnq=5-nxk0kFH2Te;e?oeFC0t3dpBZ{nt$5k zVEV$M$! zdXf=EYYB+QPMIJSY9bht67dc2q5}y83`+v3I!aDdEYujJgBTzXo4}|wtB$D+@eCBL zceG;W_z2RdEtf0R9lvwey+mL;{I_b{yb_XJ(aB#F(+k~%22_3yW=h)25I>WqnPVA zqYehoQj+P4e_G5!P%fGd6)`9C0}Q&NP)qRD92#ZQgcM{un?&al;B~+(< zV9}85>H#|DjYjoU1oQe>G}_%X3;k>4Tv1RZGczk~-A04f_T)1|2}MoN!R_1Q#EgF9 z%)}L#u1+)0XI}Xx%Rz!hFhzC16MpU79{D(OQYSfL4C#9)?psrST}viDRx6ZTm>^RO z(AjY!j|dnmDz+nS$)aO7YZKbb73Hl(os?5!B|_&nOBZqu!sIK}>i9$?1oV94QXbDF zMA`F78r2F6cO&gm*%XNjUq*T#%PI*BZ;HSvTgsHu(d)<&3xMt0_i6&PSY?|gI(0d( zu4@jK7h2fS!%Y)$`vXK_skPD~0#iQ!Fbqs}1omS~3O)fN8mKU&i3`uCrEV><2G2F= zwp9MTm3KeAakflIp0K;`N-+d8qf0jnDQefxort;lm*|f+^+-980I`S?)z_ioi9~vP z)npgqn6BwC29PPpe~fHZtf(9gZ^@~u63-kSKV8rpFNq^2b>FywzCoRNp9_H*h-xrs z=6;nohfA|~G>x1Or7-O(^{ue+H^@gC`$?2R$;MU=f(H-ihm@D(xVIb##t>;l%G2;| zv|AG4oYu-{<>}i~W&0<@6DN)WWeWU`4sN2vCCv1?+5HLnWMG^79JVsV2J!GP>Qaps z84Fa*WVkHs6K?|DMF^cnHZ6LnPQ(Z2MuaWo4eccL;*v%ck)R#yNlm5Sa#Y#dj|fzg z3GvJnoGqG&+b8u-TqGJJ&3eeWLkNFX`X*TkD37eovSUHZAQY^P$mJ)R_R8c7UG!CR%2ADQI!PtgAe=H=&li4i&Ei zr{ZoO`#04q_IO+$@ssj3rmPPUZTpwatBi|2bDL2aXT3W z`Rl(Vt(hHO$gN-MVnarOL*wbqv{M}?{JOgFt$yS6kXlRe(+oVa9(e>E zGzxkQJ-Hyv1bup=I=cTq^zh^|A#m=D0f;w9nW5pLje*D21LBAB0UD)4+#C;p<~Nov zCjcaS_{6(EC3_H3!-{5ojclN^_nODTQ$v(yLzQL&nrVTq^HIHfO4tKjUK5)6@hb z9l;?d*&&iHk7VAq8J*|SoU=UgrvO*fw4D_Pe4;Gxo(eM#F96^C6p1&MW7X zle>Xk1=o7s!97Y&zaCtxZS4%fuXmT2Jym@&3GU=PE4AyyIb(%?N1pXn>!SW)yswzu z2sMys+ZEEH51y(mNt&1$lb7PB#Nmgkq@Zw(D)YZ+pqdBJkHoRWu^nA2OCDJ2t?HyWfw8x#% zui!~Ff8z?-{u`qHN7aD2mwcct+x$zX< z$V!U>r%mGEEyJpB`2j_XNL9a5E7sDOvnDaqK5)w)>zHSY*z?Z$e3Zoh~& z^;q~SLDjyqD`fkD^d|1rzSJwocAQ}A*r9MVIkZz7v~83b{k8qVuGbP0*KT?wu*QVz zNFzdLRpQFNdPGMR`9q8TseOTM@15aYJ9S@wRhjKlAz`w z1MRf^WKZ{=+2dYfRZeTVnM>;yGsu$dLGk}^b&fHj1YDYK+qTWycK2=Dwr$(CZriqP z+qP|6+q*N9%{NI^C6)SDDW3D5=b0I)O(F+cd?rXd;5<}3@%dsl3<&jsU4NT+!fEpe zkMN$2i0L|d zMvTtLx^4H|owkQtq^owm*YK&zTK4!8QK0B-Zf1>tj5@_eI)PPK0m*e^z144mt$q}z zd|er+W~U;50Z5a1jdx6^G1wKs+sMIqErf}Vu2@5x*=*k#L}ffIIp%DEpKSjsYg~LY zV7}gX^EWu%2t6PM)P*ok@aVPTTsh)sfqRWQz(k+Ag(%)^;aCG~7F z59@QoCOCGBc}6a_s#K#-ccRZ{G3n~h-6h6cCt$sE1-!GB@2HzkKmobBf$yN&H-q6D zB~8CF8^XWuh$ z^4ZKS_}GvnQtw36f~pa-PLjrF{M~!HRNqC^3Y!t{_CMp-#Gu<`p}S_1JJYo&*F%F& z>XludHo%(+883pC13`BL-=wbB(ZO(&{53B*Eo(Wx9NAb)nDcOPa~|{54i3a+g@pLx;|E-O~ZWpz}vaXv$n(L-sfdZuBS9pu4%x%v}iaF zQ{(dAR*8-3DP5V}j(=xv#(*B*^m_QPPvvHKh>w>!IT^=Oz|t)8;~&D4TYr#+uiR}_%mZMOxz(tV=SG7(TiY7(^S`=?qxo zgabKvC<9Y{?XJZ-rMQ6T_x#-;x!ee$b(=nX{ZTNd$CZZDm1Js^X7Pzn!{ZcuF>h>n^s!H0MHN!&KeJ3 zr1a=AX`)l7FE>aU>f+Kf>82VDBj>sj5?JmAtW&b2-vSz*9v`Mk-V$=Iy?U-(m?_zq zj{{8}1CKp9K6s|o?)PFUr;($F|BB0(f>eAUnv{*B4PT1)?46kEK-eA06!f)xL;vT0 z{?k6BZOAY0OceqEfapJ}WQvCRR>lJQ4kW*;kh#89)cvh^CASUQR zHRQ~#=RzO`H7saztAHdl{#w$=2^%%MiJ>KHOR;`h?YwWMbw5?{KH}TSaV~_)>~Jpd zl`lM415wDC_Gf)$d0uaM&bYe1o$T;^gWNLsl!~I;klCT>n%zu**zCFB6hI0wBoi=Z z_u_6=jesz&dlgNsK&FdNAQI8jWIYSf4b1(8h_~ zccTdd6)xFy6rN>0qbXV0l<2#gSKn}0vaVpBd<{F`=#%ERy(j5EtZ%X@(w?9$Y~UZe zgBs{!0y12jq2_-mJSaOGw~$G~)8I%MJrmDKV^SHLJHawLMFV-NWII-?)LTozfe2ptfin^&5wtCa(~(Bo?c1J_0=pJ&dxX z$N8&Paq&YLFc^{uAK{8~bll_wE;R)y??CcnB53Fn{J=OXrzDeyu~?6t;zd8oxl!)I zI{uiJrGFxmtJ2_)+FA7g!x5T=fARi@CTz8v+Ki_#3e9_DnHIC{4~o5a#(?pc#Fz=6 z#{95%AGlL;xFfr5KK27ywjNS!Npd}xH>m=NF)I}Y-M8pEE!>|i-7 zo)@yE+HO0J`NSYomaf3Okb1`7jELgqZV}~YiRm5Yx)@mGj8(?Es;L;(9YaaGYwL-D z4Z~JB`*~MX)#ICLs+yDp zTUu9{NaTs7OwQ^YRQ7Jsm1=D(=gV7C2ua>~?>C$7@_(m>b7K|fb={NHTI~bbt*tKN z3}@TzRBg*>+b8IEG<<5In!KV_DGA&gX_Xy^Oc$W}KJ@^5=P>F)KXV?`X@751n z6#AEE>4tC@8HRFyT>Lq6jDpX)uz+JeiwyG;CeLsinq}RslfpKSRE5z<+N2khF`?h2wd=1NaA1A1JGr zj4sHy#((EW1Pzs&$-avzv>xa*m@RN}7rqGB%jZr3IgQLK6@cW?K=7Yb& z|L0SzD0|=1>DOlc{adXh_>ZTUl9{u$fsMYom7}1(jf?(&hgpJEp}mxjl74dBx5f^^ zLP(Gyq<#szm`KDRL?A+hP$1$!kU;+BZIhcM=*L4@m_X~*OBNeV8(Yb&uQ~>JtJKawK6m=fK)(i5dNcUZ?@c&7|A2H7VCy2@DyR8Ki*@7mvfbwE?Ns)+ z++G262i`!9y?}V>_QC_XLGq#860d#PqxuA-fPR$uQcQb16)zO-dSS$ z67RME`H*k)pof3&j!^r2${+hCK!4-(>fWjX`YPVO0I-gp{k$9~6Z%Za?#73$j1|Rk z`Ptl$4pOJa>Iz8seJYU>5MVET;wTswko{#cE4BhL=9I)(f+|H$@KA?_G?O!P0r)VB z5r~GGQZ~yL&<{?3J(s6Ny&2C~YZOmyy7F^Tvs@TLJ0+Hpx}R&B z7DjD)ENcttnDSV766I)bbVlxMCB-mJO4U zrW<6KG!1xkj;NHfTMO)DPaiVzcu>u-Wk0BV{mCe)BF~yRUxBdb8cbp)b1T8Qm_GZ} zclH7+`udOIm))2|?%Pb?k;{7IuvmMN58R@v&7xMop|Jc@F%=&*q+nJUC1 zr%5Gx2a7DE@qG0H$|-j6lG^039n&oijTiS>y?ByD-hE{ z*(Mb14@^ayKSZT1B&pP%N+)k0sOD z$+ew7??9-=e??VQs7&PqL%o79cE zXR5ie`SIc|d8)X&M1z&=-eV#+TdZ(I!$Ym9EOU9@SxJ&%j%;92v)#~R;;%^T(WF;> zQCCx!^HBfy6m~Fw#*iOzurg*!ZoW!Vh`CUae5Of-H00mA2rgyDFlpB~qySP>iL!si z!BoaV522$my`f4JxkOjN#jRRE6`AGq$3tOKwXjU`@5PW4|aV zPJ;ZIy{jt&4?)hnO*77%j_I;9UZ2n}?v8OTgUEo9-#04ugm-uSI{OvbPVZ9R{GC9z z#m(Cr$lE$(k+uwrZt1J)khJwAp>3=btAy*z;lr}W&Ud8^9-8l_XZ2cp;c9)L&Bb=7 z@kw;X2OErxnM{@S8H0KOoVm8qeRJsoJ>!$3fZ;({1TF3g40gDXFK14~2AA@3OxMX) ztF_=t(>&fpA7ixagwZ1k`slI*?b1I|@}`EcJu%P{dfN}jGlj}UQ7RG9za*4%lht+| z$c!o#%WPWL@Z_^%R@C;y6J??;9fJwv^&3(fc=n5R)R%SOtp02n;$lB_jR{Cp&%(Ud z!c9Uh3e@W@zh1Vb`nGX%tK7vGN3?xPLZq_UITqE+dy_l=F>%*B=BkyTLpCmjvbhGY zzw^B+ZvkV^W_8_w?mwwyH_t|*MYJ}VyOx>Lit}}AE~Q8*PQ0S$Ger%2ok2#|kJdT3 zp3gvzG8X#|HcT@r3Q}9qax3}5EYoy!@yF|pY+_}(VXz_CoD0gtuLDWxHIey?4 zydRXW0S$ZzjWF|wV>#^SQ(sS?xwWp$Vk7d?WI%7xhujXLuo*FK1;%xQUf!=-_4DmR zv$5^Cvt9Lf)kFWr{jfvdc;{O+aBV2w86)2wQo1?DbXEN9z`q$9aKpzN`nY4h9)M;K zx!DhVWr;})KyD4Tjahfu+ptAFU~s|Sk(oSsnxyYj*q%!631nca=}s%EqltLxJlLN@ zH;$a7?;+Q#`X=vWH@>s2EtB}f^rZeEZApDK-Q-9@zp!GgfoH0Tl^T%rl5^{dK5BAz zzVmE76Dhc<>&;cmueO!5LOsVu0iL}6IA!KTZPylLqP+roEy*l zg20P)?1WbxVU`&0(CYqhMyH{p)~Yq5q1(#?N@8d_V4F0hmsj$ne4@{p(2osfU?}WAZ_CvZ;#D5y(4SK8GiLPN z+k>4H=@2rT&hff|QCq5_&LQp(O+>2UmP1wJP-V&O3s=UUmIH4Q<8sZ&VxJ zwsHQuE1?h+#NFQbaynm1v3X(Wlw4G9FBdFLUaW?F7qIGKL55e?yvU?YLm@0Ps7v)t zBd~E*YGl6#(zgf18(JH8(Yjf!yPPhWGvJ5EGf1J!1l??a?0K<^>RS{h>)EpdI!SeU$gM=3f2{derD{IsMFVSdh^;m5q;Cj{hCc3cGDs7 z>R$m#-$pk8ubpxrs$yj%H}&#`_cJb@8__e1<^Uzp8|x~^G?BFX+M1|h&)FWSIC#~V zj6A>fIqZ6O&E>ulslz!~PtLy09wE^;k(vczp*6v7Y@e^c2FFRxtpd~_DT+Pw>9vbC z&7`W+w_E;XTIZjoXIN6wT=9HPRDE_xvFm5?$m@fX6}=s2D|}T<#JUq`5uQR@QoBpj z4qg?_w7Oo#?18mrT)nkbT1(gx?%DaQq$K8v$A80f3l1EcTQi3Y%Z6IVmwSoKQ#e#dpW_k?{5wQ|hofclM`@kpOp z_dV|QZBo{plhcgK#4futVWH(m&7r9ovA?B|+!5UH;#~{WCluKT zxve&gyEV1bj8M1DFV|UXQw8niAE^z<&rqy$9wdJSWIWJ)o_)vlQ5$z7g-cQpYD*Ng zK9(+iH#&MSDZj?qB?wmfwXk(!l8HzaJ5RWVs73`FdoVwtD=D`iE?(p{$+|$o%My`G zR_(qbtULD|f+ol2Syh$I;psN*V#%)K1LkkM3CdPIJcQe&2B8(6#cKtx`vQetYFVBh z8&D}2090%B$X&Za>uQCn|@U!Ir?dcL?BvarkJ|VkqJmH@( zO{5hnuZD+=bdi1YVJ)eNrh$EzVh*;o^`fLSv{=Rv7&giXWrK~Ld)q*uz{H@HFiPD z9-AEo3jmP)3tj(D@sp^ziLi~Ktw>a_4y%C|AnxM zvJTe^4_$&FBnAb7Yff28YOGyPQl$>uS{{nNC=S00Vz+@}E|bojXLZqP5hEF{VZSSo znK#vuUMQX!w8tZh&RP}6I^lbnu2!kvt>E2aVlp+Ew)}Q9c`nlB`9|?mQOD(npH9*T z&z8F{Oep!sU3G{_nxlAMnJ`2B7LaiAkGtj&l$4(84V#pn@-08%cT=Cx6TN$L`y%m8 z*uTd|^+ryrE5EJU^uj`_t9lPh`crwBLHHSI^OIctz5?+LyQ6Y{Bk@ff^u_s-L-?r* zBK>NM`x$%v9`oE?(V3FuB|Anf(OrYg7q%Pv8lRw=l&QKMoAguj4kL7nrSsz2 z2|;mFBH@EJj7{}9h2VqNPfxTOr7Lm^_nE`!dlb0&b#})f10t#@n)#U8+ukiG7q1{Z{kKM6Bw@{owPgrXS#sbym(SkMV`0oo_nZ|9 z2DWfmq`~kqiG0C|Cwh}3bv*j0GVH=w@g%r9qzR>SjZT~ux`a4jzV}Z9PXDWuF76yXon|24(Z%Yfy033xZ(H;; z+*j>CQ_`hqq)ie(Vw=k@PU-;tp1uT#t~i%5&dk1x2aaj4I9_%#O$>j$7NRRM9C$nl zRW!tM8g^pl;r%z>XeA44Gets4GO`+i3=B*Lv?RR%+>;=R%^NqKF$l>KDN$D+>h^2UvYN-l-WcV{+WKmMD17PJY&c*;v&546>d=TzLRg>D&HcL(HnKB098{sEk$N`q> zUreW3hI1@hKxNuLu+un`CF@X?ArjDDy!IfvRaehkyi6lT&L~KmDP}Z~!t^a5N5Nu&F_eO-#S~S14k9UG* z8daRq5p~^7Yr`81P0YV|_00ZOXJoKwPr5-@!4~gwk7Y83(u_XObLh636?1m&?OFT> z*PiVW)|5rZUlZxfzJy@t;T4E~UhLxR#dyR~+%yBbTEb)kZ!1l+0NZLaDl^(OZ)Mnq z)N|I9IIjy>B7qY}Zl3~EX&d2r17lfVVvPR?S0O=#F`uLWS)H`t6k2>R*`dz5jGzyH zuQgg!>7qouP{F~C?Us`!I}-(ZidoxrJXCMhM}l^|>}*ipwu0^6(=&|$4!`AjGOOy_Kk zU)^$tcL_gM)J&6P%<59!dof!P++eveOpUoMo{74M-g%0FkK?4KE*Vd!CYQQQOqDgi zz#&OAVf_h-S8EUE`f%vk{QTmqv(VwZmEP1Sg$3$pDi~vIS!*@J0q4k7$Zz++G&w%GUT|?Tt+M;blJ7q164z%u3UqBejgmFrL!4I!b69_n z23RBFs$FQnxFaaN;_Al2KB+O;?GmUHp61dY+>a>5l}4zHBn3zAuyV*#!daI(Q;yfI zgnma{ndiHbmVD~E;lt#Uvhm*J*LuKXl0A0NEQQiyT-|yFTii8Q*)tY}Y~t11C{AqJ z+ZbaGKJ^*5#%A?Oxq!#~5Gs|ydKG5QWTL&?SYX4IgC9ucfehjp!%moRi=QXtWZ@bGKNFyh+jYk z?atQhD84gdwmo5b3oaiFAOFh(H`?k18L5LIuSFuS3kkO5;SGs?WnWjv;k*TCKHzsc zK$$s1=8g=-c#>so_KmQYXymcAgNAEB#p$aWURc=^{3~1V=AP~Y_Kghjiuc^ofXy4j zo>7m?+~tnc^m#08;Nyh^J=!cY{~*3t2CgqdyIB}%V6^n0IauSrLt27(dDpbUC*`ah zG|Ve7;n)N$Ki?w)I-!9IeZ-wfy2&f~GOf>&oogvO-&E3et=|6Z-ifSBfRb~d&m+r0 ze|xLzq}>s9?3#<#a_8plwBB#K-?FOc=YDM=%U_E2xZgtAM--b9gAR0N*g9~S86`S^ z{2Rfd+o~Jq3oqhQkv345&2)NWGCTYMQK|F+lU9AZVDEAe^wSSp0mEAq%ob`8A)2EYMv3i-HmG&oDKfpDGs!nOmAVdUoDH-)~|qc0?+47n|Y)aO8a>u{s5N({Ij;XjRoJLzEyn02ZMBwvJ9N-8^=-={^ zI3}7T2z4Qj<>0WfLNGOHgtS7mOxa$|7{@B1W1XZ$o#^o%4xR*`O7*fb>fNd~3pP_uUlPq9MR43Xaq}QrYOTG8 z&Y>aTvR)pT#)!@q3J2_!({iy(5^9AgPzwp2B0T@be)@~k&v&G>`20zTyuGncgc!^; zp5e*#qN5jlQ__kyi?a=@C!-c(iVQj03`wIE6yufMf!3L%ulW35W$SiC>JJJK2&i<- zBuWP|;h8Z;b;n9o1rGty8wQuE0qM1ennWMlhKn8F#G zT0zLDXj2xZ{m<>eompqA7drA@Jy^hOm?eQ0bH4>+CltW8g26RCd5bvJFmUN^hUiMq z(zO{E_Xp@>Ry)OVb>!+|Z={UQa=e8t2ctbS; ze38J-lXS$AfcFH0u1>RAhiyYoN~Xz+Ug~9wbxOl^QM20g=46qq0j}rlf#a?zQ~N1( zr&4E~vs0@TyHFDibA3vzNENz5lFP~_odTb+5{U3n%renh zEj(I|+Tr|Xk?k`m;GS=z{mgT(K+dJ%KpSCg11bxaZRW1H6&)WSMBR*Q&wE1>FU81?|Ct+g6%M6|PzFBFpWR9b1u^&Mi`845HISWI01c z_w31I9K-kG%oB=gv@^BkJ~6XCXcSw7N#9Uq}k~NBhFvQ9C(p+br`re6IY} z^qeyeEhV=~U+))lgNB(MEb_}8cWOm09X_o>$V-jZ!)+Eg#>niP zQw;FKx_O4W!bM)u)81Lr-hl*fWXoeMl6Wc?(f&ol+*-_JhEeKV9mfx#Q^B*{JcD>j zJrhPAY3R$;twK6S#?E-O_XkMS%hLu!#KP1eQ;Dp+8K`q}KcU}jr9aZ=KcMGsRFX7( z5))K&_&LHqC6Vtp4DVc~e;;WVB9kpkOt32=;Q~Xh*#0y|6)nJ89#UhffEcTA9ILUO zS3zl6C==Nz>t~@3DXXw>R;D8nbD1*S&*jJ89Em-YE)n=7$&M)|uIfyg#<+l|@;=om zdJSM3UN^os_ikChL@><#%!9g?na83^ zZ^*W_`;2jDb*RS5#m4SH`AAOZS9GjZc=s?IR5v8+`#0f4Rt+au)DKc<_r89i;_oda zW$V*E{OjIWtoKO5J<#8>i6KRU-7yJada4SsuFAWhC4E1ST&loBwsmw!ko^G?>*8GQ zC3wL7o>ojPSx>(ppYyInxJ)r!l(GaST1HKsafxrL!!U{@qy=fqEA0WyvA2Br=d%|J zm-O;l1Ni?tj>*4N{n>9+L)2eaoZs(+5%Pa@92N9k|0^hAt)Oj-#E-%Q4BgSI!CR=j zXu-EAps6OGW3hmqK}M2TaPjhj50LJb791{(8w<-lM&w^YWmP7(BtIdbO3vBLG^#H;QXSJC6Y@9DRChEU z9k)GiD>~pd^6yzIJ)ihQVz*(INZtik4aodQ^^FKP(3r)Q)L&2BM=Sr&x{Hmgxm?50 z8{?4%W&7Er?KBwerdar<)4&h=fNM=b+r!rGCmA1;6(jb0(Buj>OjL1&keI(jr)AAF z&cGK&W*?!|k3dC~3mK8DbXqeu6M$kjwCSJYd0<8KS9l$g{suZ= zNd$%iMP!cuSOIY~sVlaM2Bgm5D&|9BkZJTp8c+MWp^~W&; zw;jywX*8jS>)qsv4S&4-k1VX`P>;hn)1@hqXJsu3aIr7EkjW?#byX;jBPAG5C@>^9 z)wMuZ7N1cEQ^kQ=Fc%UBV8)}4QT&W6?ND0-JM8aN&4hrWElH*&$Fiu+Y+dN%Etm>l z8Y7;O*I%*T-GwW3`&K2D6;ehg)mioa(8(KRCqP~54tl%z^!6w_tc;bR;7F+(fKpY| z26Wejdsd3oJ`+~lGq(shS4=Xyh&?Kk8=x_$WoRA`DjeS^ly7{os+z3hPG5KYLSQ7P9TeG;Ht;-w@Ui15q{>3-uZraK*bZ?m^ySPP=HLvR>@-x!N)j&NxW2tZDcv; z1xOr=+~yS^lP|YG=Ca83(8g;-fRVxbNPv>YKa73J6N6CdEeaTwNVV%DB@dW7ek}FZ zQhn1%G$aj6Ko%g2={V1GRyx$VGJm^ZL_sQ<+`D4S-AetyFwGxe4b+7lRxxI=)Ymhiqq0OFdW#Dy* zp{r4`R^DDcwn_C`#@Jp@wYuedr5Rg9d#8YG5NFADRRCKcTek*WA=0>bJ|)k7Bsg8& zUw^$5Pq)1K%{wFDzsD%kI4N=kdwGDalM3+eZ@uxlcLw0Yvhe=hg@SNj9_T*U3Q5Pl zzP5ap#^N802v?JXaGxENyxPO_S>H2}@mb#ANcl`3o}_8T50e#Fy2m>kQeg`^?=4`Z zBPXUt!G;@UQvR{kKFyp>4UucKncO$xMyg6|i}sjaEyR{(-mK?V$fz{kmms5WckGXE ze=p=wMzl#N+nnXtV;`ljffuDVpq&#kLJrfPpz@r!7i(l)?qB3Xk`6hLt_zW4M2b`i zPJF7@1DLL3aB)}XKQ-H6G4#EyfbbLHED%78>x07Z>11D~1w^1+6!@PK38O#qiqCm>Z zHtWA6idRjYOt_K)zTC=7K1?OugB9oD6o2J>xR!?7w?y3H!1e7~*77JL*Aq5>7stiCAJL_t3EBf8wMWqLQu5TV@FHbRfYJmkGXuhDzy+JF3&jr0~=s z!OGs*RKty-hg6QF19~u!o35ARCh|6&6!MtSbWZ{!w_+tgaxqV;d5=9L{1)Qq$9g z9Vx?!9=)y;FB@g}TOU+AA$SH-^vaV>@lO?DxG=TR zsEDddUWL^^!oywS1%#x*^aB=sE}behD@~Exq^(F=%~`Uh&XE%6@aH|5Bm-kP+}_95Hb4746$di77%pSgVc zGwR57^WR;F)7(I`E%@G>+YYoI@V_s50Xrw~H1D)LW_LNSGiX1;5MC4wH*+6o-uyoy z^|3gRyCm=IXg^5=13N*3qH%Bv-d6WJw5&m*A%4EM*T2HJrMB~XjU3btFd#8Piq8U0j45v2>sR}RnoP~DGpg?3B!F)g1<#wyqy zfL{o#m4sx})8!Y~{Bmx6ityS4mb-S?a8IAC)|vq7=#j# ztD8u^E?DD?J3<#4WX7mlbQ3EhyY0|+bn&|EUWd!7Z&%7PnzKDcRLrs}3$JgI5^r;G zv(_scvxq1vE?1=Sh{9_*g#?s^a+By?0Ln(Z#mTdnD8H;0u}d#5J`f>9VLoihMHsEQ zrU|;YB$3f{%3&XcQHHCKZn3QUL_;xrYuYNW1B`J!B)%5f-}53rf2Lk>XZigmSS*rj zPy+SUFHcKOFESx!ri*vWN97YW0O>4K_;jJGj^|XK3cMRONW#tU9aizB$+j)=`xGPc ztt={EgiKDS*U;#-O+ROrq*aQfX;PzQSW=LrJ#dw7+Ek!kl#r}K8m~BWR?Ld|%jWV3 zvRdQHACR~0EElUx0eMa(UjuVSd^!_JlCW=Bs`ef+slCugd@N7VPM2B9-I*;d7Ou2v zN|-_DZ$*cr;sV72p(VH4!QRsTlBY_eLxQT9+|^iNa_{_9OOuca$8}yVTYkN6C&-Su ztcXV8l<1i%eG=xJEOzqmGnZ7D4{To8S0{f)kk}PnNunHDue(CZwcNZQSK#>5uGP&! zyine=K&+{?BH(tUy&itDTZtd)OF7 z$zpFSuei9Dn@-}r+#Vj=;T{G8W@xX+cs(&{O|TUQG?ZQ{#TJ2_(v(Z0)H@@X@rWHM zq6EXSb;kG!p&cP?2EI!Me|uct?|2BhfsDNadn&wLdn@%#73{ zj*Fo9y5eWNkg17imj9OWdlKsD6Ukg84@+Hf^h0_g3)@YX_>?&+RBG_(*#QRZ5@{9~2rle4O?dkSabqzSuHHk@z+A3 zK|%I#@Q;c^79hpt@Pte@aT#0Fga#qY0c^BNo_+JWReB(4H*LudG^KeJJeZ!jX`%N=3PK6AW6ps=hAE8 zto!YGozk9tU0*McNkwX3{K{@nW|jc zb3sf#zHG_n)o#OV?XhI6ov7PRS=+O&bM*@kyQGA8-P=x|ZMLY~T`qXD^V@lHHA!tv zw??oPT5x4NW0_*n+pl*{qIPODN#Vt}cn=%lxvpw(ecX&spIfG13#NIw$(%ld7I@DZ zWjU@EWIm!6_P2^OxtW|k0+J^pU;gj=ZTDtQGsd1f%}i~Me?Q;Pf?QP|9P{d*Jc?aQ zqB_W8gQ~4B=AT$b09r;0aPaX0ALdjr0r#3ydFe2nBEC58ew~69YcefhmWl2zf-7rs z-8sPfqETJtPl_jMnfN9qo`2?S>JO0;3jewiqq;Cg+p_Nq`)YRR?y)~8{d9dRG4w9; zv>MyYm?WR&bt1r;<4XpEn?WYPizv(#aXMpxs{Yx!hKx3QFZLwWM;d{kgcxMp;w+1F zGZNc5fghQ=&fa#h_mZ{8+Y}ezfL8X|hsO{nipa4>58lOwlB3EIehCfB+s<>%(@VHvXztezB+!LJ>G4F7;X>U_RRF$Sormc? z7~hn84`XC9!^@3lY|E$z<d9#B5#ugRVC41-d=F39(0J|{p;dCNVVpZqm! z3U6=17_zl#7o~}qtJo~pW|$oiQmMPgiGU9mnpxSX{7%}-0IZgMRTd36q0DuA22OyYkj4K;I#IL0X)XLOy7hBG!Rj7)EgEv5kIRy+fKHDoO;&FAZb{@UeA{f3#$_gI(m_2*XK4>gAeBa=^N zA@ixA2&~D2ubUS3=??gYn#}dtePh$ZWR9aRj;$S#9&n3{F(Z>c)_BKYm=k1jgZ;ui zxt|x%`I`gqFvplJnPXr}HtoUXE%H-HlW7P170DY~NP%}y$I9?!~7zt7*7gO)8*gO_cWKpvfbknrlvg(=**;i1QeD| zb~)OD4)a{(7=+7VFbe>Lpz;W=(&c42w{pWk1>id?SP>ccJO|Xr@mLtUgoI^|XjdxE27uAj-J%HqI#pPkt zkXHc`fsOJ!Sy?+CqehOz<#7bVoib%4GF>+I*0wh{4aYAtkt|sJ9mhMHrx9Ldn(LAk z$enE|o=)E55bhnm|xMi}P}HJw+o zu60T~Oxio7U3t!~UEEY=uF#)1t5P>J{B(z_cVtu8uY}f;iLqp69%r5+ zzWv#O0X5UJ5PMl5|W8PZSD!{Sqjm$dzZJW0oAD-arLL>{e*%$;DN0xjb|YXsFj zc$VhrA_yo&5%Z8K5ZH($a$@`Su(yDqti?K8h|IS`Ooy-BBsTrUJjs!6=+Aym=}g)) zwi;tU=6vu3z}-Na91)A$fN&2f7yGDB@nmMZI{o49Oxj~x=Dx({;BS{632yR2UsXI( zU*>IFv+(u=A2E6)WN*11Nqhxle>Edj4yWQtqBG@)k6bL-*^0<#?ku4?aua95P02b6 z*r&!#SvvBn^Z1KTkLl}@H5DIcuum9WW!WVyi=vOs?*ZRoR4=$GvD?D_AK8}dT{l?L z_^mR9d~IZNIogV+^wnvPc@+`g=NkOJj!Uzm)gJGw&a7WsO=-OL)_JnpDf6b)S&yhGIRSl)Xcq2E^?vELW(ncd8rk4X%1-=;7{HPJ-x!*RYaspD3Y2F8=7DRlv` z2Q<@v`Y&0DtguWQMpg%P4#+Q=s*NXF(;A|<*f&};9HUTPnDF-e?nqwPboK#mK>^d`_R8v=!Xnyt%Ooz3#DG58CcnyaTx-HdChKdM{zj zF=_~kTmL1|6)t0()IqDvwSZLqh<(Z$uN2D~{Pwx{<`o7D=I#6f!+;puWxUiSSPsZMDIL40^YaVcKI zE%Mpj@VI<%y|z5a5Gto_nZ=Az`im~UAYC4g8OUhW1~w)>PN-HlJdfiQYJcl|@JE~7 zYUs*=9Uy78r-=*PG49OnkFcu4qtn*juM>3W%;;Q}ToKybiETe2*ywzsNy6LO==fdI zJ8)7<_x*Gu*2$?|8A8VmS{S#_4{8OPFcmI3L07YkYGuQ8?%p~StwF*G-6&F|{@6r% z(yRco-{FH+X}=c4BZ`?vUBbC@X`6M9hUy;#Cxu}DF#+;eQH6>(EGp%l9yeUbt`E$R zHKvHWTP@1{oDRBalRKyG zRMT6$%Jvk~`vdOCoV~SAz!~|$r11$yWj|SEV7F|n(FbKndbz|`W|nC5atWQn<2!|> zxRkP^POU6|F{+mz!o_|rx!8#k629{5q4$FXc-QV=+O{9J$<+p4kIZon#gU)}3SChc zKGEC1|HAa`Q7z8lol)8_xYnPn5Uu-xWnH`gBGRGwVn*_BZ_CBq^u{@BHcykSdCN=#zooj$N#M zN3K5Kfsv4OR!ARF+C01zv7%Ci+?+gKoz7=WXA!v1Mefs>p-#MoeI4f;xpu&Y;+zQB znc&a==>-&nF=`uay(g(}MT58|=!FJ_24?B@n_QfL&BgW7Di{DS=7FW2dfAL8dg#@V z%~LXEH)Fafyz5QSVEKJ!LW>0c^{R#F6a3$NXR3b!bz2Ak0PMH`0KW@>xdr`ygS^D8 z^-YZ(m24HA^bIZlt7R3f2JNP`WdEBr?0~PTE_~9Uwq&SZfwvMLMMEIIefOswgU1y2 z5o7fMFd@|zN3U@?+DanDhR}lvGVSFy24+3hN5U%uoUnmGNgpnRETk>;FAQofjQ!Ur zEwG+Y2>O!aS!1*|+W78uGMSdfWI8>W$N+xvE&Mo>K>3-oG^*B#LViR6Va zICHBH;EO%Dvv>3LD#p%-zRw4O*vkiYEBk-AI>+Wrpr+kUY}*st=ESyb+jertwr$(C zZBB9r6Wf?~>YVe|spt6zyQ)9zuI|3p0{Lua3Lwr2NMt91dzJzDOY?gl{L=@yf2dyU zniItLaNHq;YBb>WE?+2zocB9DCLi`y??*q)6}><((AE1AVghLrq>KbHCb3Zuxj>9SfDq_#5#Wn8(xBGDf~k#IUE8G&9xwkda?KN(Kt(Ypi(G{9$2918<+8-Yc9_AZT= z>>6cGgC{T^eYRbKWpJZYGT?McXT~7^nj^mT2SE}IMnf2|@-$eJ%)n#ND)1TDD#%u0 zd>1Q0c1TqfL3XGW>3;2Fjp{G!*kH=#)iOb9^p#STO0dxoyU1M<(#9o?m9=ffRfoUQ)HU7%Qw`vRD43+I^&XZ&-jW7 zLI$2IV=qrqzd&)zQcrK!grdn0r@4zEv1N-TGAC8uX_?Qv!B6JmSzp?xHcu35yhx5@ z|7Wt=WFKAWqiRt&{Jt-(*)b*y^fAVTWUY)xglBOoOZJEN){Lx85xv#a-O`Sy9*N21 z4*7YfeY8MC)b*aJL3*ll+eBNL&PbRS>ULj>aLH%%Ug8yBq-?sdlMhep?97q8mQ2|y zDdDeON3+D$MLpugrlnPx+LBGd zE=}{NB<967{$zX3W-Sjqi=?@TxFA;x%J8e_0CA zqd_>{T2+bURBK$R@cXbR$jDFv`_=h)sS*pjvTzD%#1bCas^@I5t4RTvn~Vd)B%iBG zbDlW|g)S=;Td5bbEx9|qsc_S*iRx0p(K~V5Lf#si7ql&fG^bT4sJm!=} z9BC67jjr{XSyvht@NPJH#hl_$>jOY8!-^;CkU`q^NO{NS=;I}3PD=AO_w1FW<@DLn ztr<-cESY=6Bje8RmfEddYmU|GX@nidlg}RxIG)J72$v|g34y&EXBryV=hCg4iW-%n z!ZimaiIuJlX_6Eso%XD0$Lx{Z*K~xm%OfCs6QRol+S?Z7ykze@a&b6Sa;^jVUW9qr?n z&`S!D8M%UueROt?hzmAtI=N|^C@wU3ekN0uylVes-=ppU$+Ho79dI6auRQIC$3HUk-+x>4&_YQ;JrpOse%;rWLiuj^brnqZg$#7*$!z z)MYB=e&XweyODM?{~kGdh{>$F!;~uXijm`7ip{lZQDIlLUk?f2np;`qUSacjt}UWh z-e+BL0kKoS!5XT}0`FE_^dV9XmDLpj`5e7$uiOpq*4#Cw*bd#HCi^#w%=xT>M5UYG zqiL+cGtRixwVbt+^)`)SIg<76d}-3vJk+9Md*v#uOJvuoqI)FXqq-jNoUrkae(Sd4 ziKs zat1VJ7PuZJna||jTIZTl=CNwy{esT4D6P5lr`)W(2{K6KuKH>6k|>hVDtikHKiiDuN=(oa1NFI^vNW%2pTvQpb4xJ9Ejjmr-Lb zamZ_Q)o!-9_JByl_8|cQ?lN0s+P|nz^5D{!M+8rV?49(zY%>b>?d%o?qHMR5oU$`!i%MN_*3bjJKJ;;LpWd zgNueHwovqD%onb4r!Ow9x<&6Rh`?+ersp4d2i?H~dNO98Z+-+!Q8zAiXLTmyaQA&a zwzLLNNJ?DjCaJXXPD?E{2Bc3A=NgbF*|w_J?OmoarN{Ih%EX@fJ#5=uP0g{kG$UjT z5q+;WOLT&uy)OS1za;Zd{$v#irr1vs zZr*JG?LB(t3E8cLuI_|%WD(W^ajajGHhw7oI-UWg83D)H!vrWKqS^D?gU<+LKZ6Z>+cA~$mU{YAeB&`dLx}s{1VD! z8{{hQ#Ct-lfy^oP(0CHau^)hK7kCRhuHeXn=5WO^ehL63S|UGqJhx}#ZxwvsbE8FecLTc;^h9r|@Y5QNUOIeK2v3j4%e4m+%;}xf2Vou3fRQILPT~ zZ^T2mBS>R?PXsrj`$2R?V6f)ST+=I@_#B;)P*cc_0mbF7ZgO%`XhIXi&yhEjY6%0nXc z^s#tKKrYzgv1!d`3SSy~Pit5b2s5Y_?ZilQMN6+9CT+ImR; zdDXk!GsYY2Rk;|V!x4?YnQMr|wtu$Vn{04JwMkiyjyt|lZDHIcl$+<2Q^?}I7&b9o zs0XIj>5tg(~rI=Z#!rL??ID3K0FDwb=robA3GX0c3MmWf+e zzhm=8C>-13+Pu52ZMi6h;=~9+3{{v;3Z$pd%#6|LifT^3Ip>5^#n~W5 zFn)Y)r(3u;ntIM}tDavZ_XTow?&4~xpP>!H)2i%hmAqIx8(OMHS~)8e&w)j42eGuJ z{b)_mW=(C{LNH;?o49-}k^jurW>sHc-~$G>#k*1G7i`m_;8Z&va=};nT4h0Ee@izM znFWT#R0@r_+|gZ7qiXhv6_&y++z0kssmnM7>d~0Tl29 zAzVlY3iYBOozXH^IE)eYg84kr5iYhLFn?)ZE;|hQf64RJ-Hd^JDe(=ym{ouC<(b10 zuJlJ+Jigo_e4W0QeKY5+21K7e?jLx4f$QI%9O&#JBYKf~F8cHS5~42FjBz-Ke-)ND z4n?~2TgQpVCMWz&@Q>ZiB+NKG-#q4+(Sod?9Yu^!+=g`nr257t?nTeOwW}i-Z>||< zHa4;g=YXqE(5dJx@{iQ$Y?HiLOWW{4pRl>?+stamu5bLuu$H~}2CrxRJETwGpctor zY;#wBblxEpfV@w9GCKR-`^tL$VCB*hf2)UI?&s2)e;{Y=Lu2~XvJ*DT8kwEv`m!m3?4#(1X+MQX7 z0LOp{lE>Q9^E9;VOMlb}Lf&m$8iMz0RvNQKDsgvinjY-c zOIyNfcSIp{@_U}$;K$$p0-x=CRf2W?b6#cs{BJ$L|CxtqI9s{?Zvrz{6UI|@_33Y} zmxH-J1>?31g(>v!30!383Q=ruGZbhF5V;>N+~xU7zz_4ivVH#~-I3Cp#|l{4YDryDsz7aQ_%+WPy#3 zAxNCR!H5J#Bn0RN^VxiB4$z1MMlD$W>JI1ob>Ih}+yWH8vj7)&rG^GDui3JH88+7S zKZnCXKUJvqp;K30(pPkgSs3!S!OhpVCeCO8b!? zXbaL6h!4^Ude29R81{8q>`QZ-bTDk`TcAW7uSzyhuhb~+2Tng(^yA5lw?ehppXK>w z@duA^aY2lPHJf6w5H7-+WrVnhA6v{6IQ+{JG*KB)2hug=60dTR3P%Et>SYldm-e@% z5tq2-I4lQ4v=Bfxe!A$6Eyz!r_+M!kWyU|4;wfM<=zfE1@h0X^l(w0MWsR`D`pIhb`KA5=$iI-ccGClx6 zG2bkia~U>pntDWwS=nKu=MYF5m5M21WreZ+ND4Ev2#yL3O%lQ>2s8xcozV01- zsBvv6>l8rs7Bdn`sb&o33-z{4@Zxqihn7j}#-yJ7RS9*Up&D4u43td9Bd=x*1+t48 z^}TC3vf;a<6tcnglw)T89ZyUlt0rxjI4qpMGTuhroKQA@)l^QDt zJ0_spL0CksWDPTZCQ+OYivrr}k#e-cm5LcXtwVH6yQY$Ql7c33dy;t$yV~KEQgHvJ zBJB}VJcd~thj1gbB?9M|$#E(NwLQ;=pPc%Rt?bw#ZM-=!3#K!Uj8>N0TixoQAFKyg!3;kur%B5 zuWMJ2I21vTcT%U-#BgNNW}sSO?ZRPR1!%AK@JvGLOS_nfmD3|g6uVdG(aTwlx3=gU zv(8rFwB!27K8arazDrxXh1EfDQgWf&!#y#bV9_9(wH%6aa@>)krEXlY`#WzX!;a#ie_>iuKctd|$nHW(0I)2`bJNm5#dMPuYZaK~=z7%;`9ossNCpU>C z{O$k7r9E=K5jv~iC0Gu3Mv}`=wrbloi|*P14R+2|9TMBPw&vJEjm??f-b{-+=(xb) z*OJb#c&6MXTRv@tkT0NJPHR~!ud$@YqbGOaYCB@bqbE}B)|FPb>_mCJbmpx+eqdHE z8{OJAit3wm#g}VefakU|$GZ@T5L&bcIt36$<+gNyS!)tEZ&^fFxwZ(HYbeHDaze9T zbAnsDa7Ejlxvo8+gFADDtF<6nmnMgnN9p5j5Gt2HTz1B9hngOX!~MlKQZ_G>F&G+3 zX*nKND-T|Z3qfvz#$%7MY)=l^Zqh98(a_nFxc0}jJh0m`Sw7n;H~o6;jBsnH^x(Im zyj?qq+@YC)8=XC5a?ZR^uD|pPY)3qkz@HtUVTQ(Xp93s~$sneaB$pMW-<47{K|{W_ z(A>q(Q^AEMv|KRfU$u8jU_AViNN0~s{6kio#_Sg@scl|X-SY8Ei1Hie0utpZv6OGp z4azKB#-ZlyE|W?U50*%@N%~urD(M;T*!**m%>m3yjcPrO(QD4i@T+GqTeDI@oIQ^v z@(PQ~Jp3ZRmd~_|yycUCUWv=}2U{ZDy^k)r{=|EJLdt*KdIl$b91(yK%ZzT`N*v!) zAar-@k9fKMv~Q&hHms$ftztT^-jVv|2ru=*JiWmmZr-W-4@>&F{*=-^3?EHATuenR>32Ft%(-^)!;vL9p9ze|_< zM@#>rOtnAe%I`0C=TMm}1?UQHJBDp!3_;Y1$(7rR4j*%GXT@r@-$y*<;t z{VTZ9)h>IHMNRq_F79MGj(L^bv%l^SW$KeG9VAN#bad4>eJa;$N9e57t(Rw|H*W!P zLhK*<{rDe~mTrX1dDUjarP-5hsQgcW_Pj70BE=78+1vdvm-;+5#JUN(!~ zZpw5B?q!@boCA-}%LYCjYM%#BMh|V}%jN8k$0o0?*=##nTaLU{WF2Bez7&VThBs6h z6N1ci(r(h649t^L5@QZ-|LOy>*^Jywiza^7dZ~7#%g-}ggDf6)%;*dw`RN@$D2?sf zq$Nz?r$@S6KEr38qfR!?F;M&|4Jtfg$pKWN#K58cZ=V@G&NNk4f4y5XuS(k}dwpBE z(Vl})5-U!1lv~D~)dBbe0zGd^`MT)i?E_jI8KShsX`6gX$&3qZi)sM%(j_CkJLa!( z*5g5{e?(2?sW3Vpudv-S%N}idek`b%ukB^8Nxf{MxR&O!W+d8J#PQK353S7Yv*vzS zR5-dw-FgkT!sQ73rKDzBt?nr*xCrU@6t2|r_O;%DIzbYKhsB2ZhrcQsedEh7Px*Nf zICdy{|8QS;X;YM?BerlZB0mALKvS7)QvF;!&g{*^&QBw473;qa=-<>;bjn zqO_FC2XUsIyFIBlI;|pQl!y(+vJQ)Xoy^)9|~jLfRr0}#99GD#81owoi}Cwr-hXc|{(5m_aD>=0_>B0AeH(Xp7D zd?@)Ye4Xo2AAovRbebMoZI0AjPp*|Cao*64%Al0@T#-Csz3HmdV`}hs1^;wf%fD(9 zJ9^sy?~+Yuvr_P_8f@JR#GDY-GWA|wjy$Fa4hb_bJGCJd1L zj+Ut;2cf;%3LW`l?5OVTMcXWRqf)M@b|3r|K zUt+eD_n9n#i=+%H%Fy>ml4+*EId8;dNc-UebV#TsWo#0|Ki(BO5IAiFer9wgqXgF| zECl{fi1@@T4gd~eqaETVYebE@8426*0{YvgrjQg^BBH82i25nMm=l}q!ebjg>LH~f z1uStry~N%9{9YV1%}jZGpd{|UX*N^WKSqBnGj)vF8hRW@oKZ{v&vBNdA+9_A?EZhd zaeS;Lur6i+0L(=qe-m7xe4`jA#j|3Zf(peZdOb6DiN)OSgjj?>aSMuw4>^VpuQ6yM z+&YQ_p_6BFD#G02PE_r1Dk5I!Q%FZ{z(GO%pXpspvE^^O9e!A4>rnR|hb4+afu!8U zL(oUlFsyobDED}|*y9gc)T&L|LB8yO&B9NH9DEvhbaxj`Sg<#0Rl6YR!XiN>&YmC= z%$eXSUX+w8vA7PpgX+aBj$z7bm!n6!jO-!m+&|eIvYKOCqT4Jd8zExbj_2Mhu7z!A z&El_q)GGj3cO!kjpPbDy7#`@*6He}s&hEzk6VTYybjbWK5tLre+Ef8>MDy1b9--CF zSeWjl>EU9z_#SN{mB>&G=1|h==VNCaW9tQhnRC!M-3_4%{3=IN1k%JaB4Bv)P;Bb2 z)GOhqa&RkAr~#4t{gL+5qO+#QpX5nMv%zmT&B;Y#uU!pnh7(m7u&;1y!@ra%rZrcz zs6~Z?=&>9**kjnwDJVq0i|Pjdkc^H=S0t*lx9DE zabD1Q#3z`?GxO6&W}ZvFhXj#HGwJ3=5`k~3Jd_D`m?3@kb|e5B02vcDy2>|~b814zFt*qMkI{iRe#gs{7yS%wD+aA# zOrk$<=LwU1>mxhnLw9GA6QRHaVPH(tH^}xGc$NZ4o`}a``@w1jZN7*-Q)c4CLJ&@q z6=j_jf~y_FjXtc~g;TynUr{WVArWsZa5VsWK4#Sd1$RbHSG3-cAuxRQ$Uax#&^U5D zn8`qdtJ`VmicvJF2EVKpWxkHw(jjhGX@gIw@kmgudw^ld8ZAx3Wm@m+#Q_-NDFX$rG!ZD-? zij$`PH^s5YPK_@>C*@|Lva3;OcC_~V$4*(?0KvJYttusu;fc&v`P8_XhsdK^#xcGN zUuOl*sotCVTIFUG?A*mu(GLWvvi`v6$&Rn+JJ8M^VtW^t(CuR5U~bUlTA1&eVT|Dg zMe~#}c=!6ibIA`r&pCd4`JQRn3wx@MdKAnP8E{!h$2USCgz|BN%NHY|IH0dPtkjPH z`9T?K*P}h4Pc!7s2OHv-8bTmTYg+4)FeIN+^&%*QwH&3@eAkxZKZUjuF@DPhYR!OQ zh*ke=w(V~+O=~7IG>2%$z8gu|aY~h#_H&m3x-DCyv(PynclA4BByP^>1$Oe#>ORN2M~UH5l}D;6v`fJ&5D)h zt4xSo!{4D&OI-i(P-fqOVY`dYth2P2_#Om(FNg4C8IchSr2Ne-8aS>L10lO(5NIGL zb8B9a9trL+;1dxFA5IsWiZ&LN*Yr5?jaq6$!@r!U&F_39z#RX`R>G<{aH};3I5l)s zhd=Snn8{?yb}5W|7&wI2oJQ$SH1Q*ncoT~|*N;0r^~`j>qe(Sllso8<66wxxh!Pt0 zOa`6}87g<8N^{7Mm3u}rr(XP)@XR*3JaO3{=Z*1tE%CTzFwsv-HaYE+In14O8QTN) z?z94t_;=m#rjz=seE02j_3N>1tS{7nQCr^ajcsjvCc0WWH|%v)wd*m}HWv^4V?1H{ zK-{n_C;DMJVAs|aH1@jl^x5%P0`KThtvecn0JH5GpvD75!|qoik|B#%ZVyu?O!LAhM7pM!63XaOlUfxf zdLpJA35KGg(vFh>imI;T@b1ln%3l|Yq?WU!x4q7PzW3|S)6dhL2mQRS8xw^enlS-7 zn$dokdtvQ59S}Fj_wvN;S)S>U9@A4kbYza%(EE5~9^DBqFkbz1JH&8AOpOMrH*Agr z!r)MHJLJG!ifd-4`i2)6ZnC40CZIoYID+rQ5WbTkgn;bL9$#t?28miz|=qk zpcEVBu0m3P9+MEwSr^`aYyimOr5Vxm80x41`?5J;o$?pncWyuhGH(reL+^G8ObS6e zIGI0H%J2red1%^uG!@skG0YD4u}!zW+DN)Q-HkI9(tGD~%~T;QNz#HLb;efagg;Xw z)Vpz>)-q%B?1>Y}T-u6pyN5xG2EE6$ja_AmQHrj7*O$6_Fw*Ur(m|TT;vYoJMT7aq zYa&wwQ#6If2?Jc)9>`vZeN|CNEf3u*NdcCSh8g-Vm z-ZMAb<;AF`egN4UUT2ws!n>(Vl86jd#Ye~@1CcOax+7dzq?~tj&t^!WQmHJExg`S6 zFF@dI93SRI8QQx%jlTOSwKzSeYQU21#yUb(aJwfk<{HoJx^F;5p~6YEK#S-e8Tj#a z$irSXPC-w-9vkJ>MOJrpxI7-NiR}Z`yL-M-WwRyaE+5y(pDcr^5aSe;)8ap0kgWlA zJ2PS0b0k?iK}p_c!FO%O5w#cC&3$SXos+R?*C}fycr@6eL#MztlW$sCTzrrs$-WlR zrU4&qc!%x699t)8Mni7xb}aptvVAReCHD{Ck0}MQ*#VjhDc}Hvdo2pGu=R!6<>-sC zu=9nOx6bGyQ{rr^uTxtceY5Kf8q^)6?Q*NsrAV)T7^xT5gg}wC5llp;)w?F2=byGJp zd5vwb#c=AYA^%C(=KzFa`6Bi&F`Cnwo*Rq5Lj(KOddJG=06azgfb(1&V;otL+b{z{ zn%aIUUw%oe8=&6X1dVSgQM&!aS{QR!Fax%~<|d@ueG&#NAoH6bNLdE7+);jRj?unG z$M#39_QQDb?-daHDvya}bNr19*m$MxOqy_Zf}j(-*`z+U{>hdIlV1I(4Rejs>%LTer8dA z<4BC@+}E*+S75l4gW7Qpf2XCbt>rja(%p2RT1;Tg=JxfP7@gs1bdgmZK5YP`#5>HY(p+g*xQ9#Xb|8TK|Bv zZSfcry)<(+b7ETflmDO2ez){Xy*|ScD%#ef4gE+{D&{GPHAl_rtW6{1k12cy+eS8B zmrYY|q_49EcTaV%J~M-!b?-&#ho(xHXsvV29@CC)3TmU-5b2Uv9FlhL-oAV)ggq|v%2 zT$+@RK;^r=C!GhuroIQ~c7<&U4~G_$b-3vz9X5yUu&=*)4Is?@)ljM&2n8UYm5;?+ zv2@PuO>-r+n8n|G|LuSuOTW^p`l4Bq)Lz_JK+c3Q72vbmOWke4$B0JTYI?IfZnYXj#-dRheAQo}|UG zE`iZXLDs&C3KQ0{Bgn5ih7s4g`GHbLZ0p$jhPq3!QIUhTL$yaG3EH*;Ywg-3tbvYo z|GA(!V1%m#C~3xC=TDXp|FdC7Oi}AU`kB1p`ZV^~t-eK2zhC%8%}?nM@urX%~f=D3z0symhL~ei+i0JtGIRI_{x>oBs|rb6<%GJIAxWGFm~>+DiP( zuXmB2e4@lLuwm7`%H9`x} zCs~;wU@#LBl0GJk+MXoHI$S#Pjk+K`J-yyOD9lf_o!o8>en!zoZpp9v-4%Jj9xJrU z21AqE1i1TgR@5Q1h0ocVR5qp zKk~_@j*>F+>wMtr#~}#6J=a*yuqN=&J26*mXaM@Om)VRr<}FH2`MBJ;tEX6zu8XV| zym&|xmnrIedKml?CFKvj$v$w%ON(}x#;vl(y*Z=uN|XA|1oll?s`PtAgE5_*srM^W z2nXW++wHbA%)a8y%AJe3&+<*9ThPVC_3}9b;M#+J&+$i?DE^}v)K+wMur@RKXLu%4Hu4g8vo~?Ia#eiMMHP_AB_i1`);e&qkq0fbt`r zo}_Su*~yo{zR#tve}69+*MK{uRE?QYfwl4Q2!#kwPr8s_e&JFosn4ajNaba=%sw6r z<>M!57FU{d7$yAb*k|IdK*-|rHMmG0Z7NqhA>>g130OMKXx*t}`@CP}Lx-iMQrHeg zz`5uYOldiG4QpxWzPlGPwDt82M)iD60;dh1-J|XqvO|@VPt`8+v+BF`H)Ujc`XWct-x3IwY2Nbi~%~t-v zz+qCS0r(6PK@V;5iK9A%!Ij8JOTA9NrA13gMl)tO7Q67kA8Y@e~y|*UdCu*YVJP)Zg@83!*v( zbQ_ziRkBy{9_l^NNd_yow?13YPD*1PNf?M<)D&ep8*WAbcnNs)pJ*C8Q|{ zcv!%4)$aH;xsea}h!zS+Rr|}pXaM_$MEsZfs6W(~{K$rQANnmj{5!jE^(-bFR8|<9 z(h2uuqfl;BlB_<9!w-lv^PQO6G;(Z|i$H9TKSPM~0LyHq(-mU|onGmZHrLCiDq0Tz zd@$K-))VjOfAH?jmHp8v1Sv`Defk<_$CP!tQ68daIjWH=O$+B9XZ_#YfzKIj&k*{jC$ zH>&OU=Fk0z0w)sZo&?m)Ueyle0|vA@*$$W?J%%G#C7YtTvtFv7ezzimf#Ds3{DUPnmt#1excF)3ZF&=|j zm)g1L%*T6x%4w=X{?tgSY+Y3)M(XjZY+RMJ*mON)t(GDHFk9%U(n378;xk#3I=DKh zlxQdetjO}z=_qvqJy{>i8mI$pXBe$jaAvUKOkTv-?PkKZLOK|*!tUqWL5))wA$}vp zWU*2yLdclR!LWx>Yv)`CY@I+|kYL}pXTi_^vi(_Poi?!X%`MAx<`Qh1&zwmS1Cy2w`$%mw*-% zda)IJ=hz~4XrTou2|ss3azQtoG?ZI?gpqkzYKk`oH$MMX0qHR3{@iE1-! zX6j-GHKRB(7`U2j$mOI-*K>RUymZk6Pv!Dw*#6>k(}d;9Ffu(6NR+I4jH;!7L5uhP zrm01Q`^fKgyzhGDF5-(V^n5#4#FICi>TXyT|LH-{=svI{wLSRVTu;@*g9-W5yP zWgWSrvk%u2vUN!P2>^HNLIlB!Vt>*j)0cDKY{`q@tC9c6kpwd&fY1as2dl>TBFqI#Hd-{~ZVuv;bkF`C*dsFY37F*d zN}v37LMgjP@BbN@KneIv$ww8-H=nxdAyCCo*3U(?16cwROZtZ8V`zNOlx#y^Zw>p% zd1uOJJmP*$m1L7&J3xCxJ5mBJkgxd<{K1AkJb%$#yrE7Xf%z^Rf$z_(lv8SwkkJr& zvD4^)`|D&h)y*|GQ96h<2oT!Qvc4e`jd|LoJHgXmbC`n8d#RmI(TjY>-MUZ^9iJ-w zH~~)0RL660Lh0b%8(-DdF1C5nIS9#s3BG~ap=dgAyk&?!pQ3gHd*CTuAtE0UCZ!Lg z&HF{n8bruzM9gf|*Q4L?m6|Wq!_I-HHJ}uDw59OSk`|yL6F$fIHB&e4G8xJkWLfN0 z5d{E2xMGvU3{njfs=YWK;B@_^GUWn@r&DLk=xKO%Dtj9lyP;IlaOs*R*l@RMR^~2m zxOAd58GF*<%GVm3aix{Px{P|8h2e)*JIjz6%-P%6T!fnz|Ifd^(W&;%9XpYKAn#SS z7@DqCD-T&OZC3U6F=59)_bwz1~t& zu{3{nogGSHs55pmPM@F`!Av&k3}Z-hoB??fFy4y8byKpkuUV=_fSZC8 z2&qd~*MQp`qvoH3QG;gk<*berTY_S1+3>~R70&SpdQKfO)Hr7i!Fxfvh$(rV9Pq5A z4k=ZSWow7f`ul|Ty7J(P!*u->rj1!n3B;doNzT8V{?3x+EvKIIadHlUL@J~7~0i!cEEkZ8p|rbnm}UTH?8OiQ-GgA?M?sg$04S{%bljJ^gz6$VYiQmquTaVsdut5jn49JHilx(INVTXd zNU_&1d8(~%Ak=tgnsYXuO?oSDE+K1Y^R+7bZMdE-*76Br?e`f2-i^=KOrxFO&Oc>o zhv$br3qEhoL&O+$%*teHleSzaxetTo%rEJf!5FE;t6aG_$hUTIV*%s>nG;mL7*ng< z^!QOfL^k;Y8-=yb$F`{Dlv4f8_-oD&@Y+rl#5mFGY(XN)cjJYSN;HJz+*rNV!A(?x z>7R%pY+$t9EbVsQeZ}xEJ!Eh&ByeT%{y-XUN$NYx*ht;OP0c<(V18^G{c=!Kh;O0v zER(XR%JbNmmwSGY|A^c}o|m1FAcga0+^b@Wi%Wq-$0uQMBrIVgjsv~=X$A2C-D6X~ zScbiJi5~Ov=b<&$3tEKnEO*vXnZL}_8gpkr_Xk4Q zEIFTsebT(=Rc^$CuoUFh-g|Ue=kib@B8cZyJ#>Il(ktL}=Zh0)>*?jn?qG z5|fMom<6xsvV#8l0u{E@%(6zIW$tKmM?^Jef!U)w)mbzvj`>3Fo`@4?+Epq?0*NkF z5X*RCv|~Iwy03^fusmLnrSU;CMc&ym0+wh$5cX{10_h=?oWKMOO0T>!u1VMML$Y=D zQK>fG$#Egcei-VFd>bn)uG}!;dZJ}C(*@`}sqQn%3gS|}pgi!?LMgsD|0p+o&2}x2 z-B7>kKh)m1S!I*yMF?+`3FKQa3=H|u&SH`3R6pI{bAx?AJnIa?C}4-&YDaGI{MY5D z5dQ%D!Jy?9O2G9tjefY~8*6!~_g|IRbW6EREY+@DP|4Lj@k02kxT}mQRWS(J-GIB;(2E6CB~8N z-`ocG=_5OyZakTbXRa3}O}2)JYb*bBFcb{WaP7yrHHICcxshLxB|j8NWpr@!6a<3w zqD9gM@fL|i46NRo(nlQ|PnD6oGEYrl8``7hsaR3d3m#ZWBz6V`SM0mp+JNy93ahFw z2;7DBf=4}AOp5P)_2EY2$)%l$U*z?Fd# z9|IdkUH4FWey(cd3>@%-jjlIRNB&dV8u9KQ<3-j)z2k*0uj!PHew}lvI^k?Mj{~4X zDEBXI0EX5El!C!}U@c3)YVp|eM+Ct9S&zFAYPbp;5ouT)S~k4A01OKx4^exbSKqp- zMWVT;RTZmMMVY69hzn+Hi*FEDF+5n(e9q;zY*vN8%WrwE`F5!%9n2#?#?p>-!BcxR z%dminpJu1b)ChVH+*(L;&m=i#1P$~>O=XfoEF=*F>;~kggbrk1EGDF%u#Tsnb6S(~M1CwQz1kNR!!nfq7<+(~h1NK) z`=ry#8QAR_&oECHjhD4%3SVw#)E6n7dOF z-V2ty0ZNc6WnSMLUVDLJFn`Z-y?VJb(b}#8sClDbPAhF`tHS17RI>~XS9eKpw~AFR z#jk8F$_M{HR)*KEbHhion-XwwS0n^-OBe$u!e_=L!Fys$)1p6&eliJZq;ta=luYUr z+8;P&;X4NZP;K?WCueX4p<<2am3Hlqi*o-Z%G0jWAGloqq1OQOh)gfOxg}Sdp|fOn zjmyqStIz2nTDo?Lvb`?u3Yh&q{vX=mvGR1eqDy~~aH3BnIq&=a~~ z6ZY0#B-aa@^O6*Lt+)e+sMxy04F$g&-HjYlu~wpWBZj9D!ed_L$C*IrTRQal1@sk^ z<_FBPZyc|szSkX)c@enA+Cg-{`DV8v=KJLG&vSDaf{Nj+)@ zRMZVb-Am!!M!YS*Bj(|hN>%#sZNElU`tq+p8I_$}X*V$XG1>_&p&gq?TAhP+Vxe)D zxOQ|8(rb;uHAEVv-zXzj1xB0NMsW>t{_FR;nGW~7D8Hw=l;y;3cM&Q7FgCZE=I^@d zOgB@1LD9U07Y?GRhMqd6;)@Y|;b#?)PJCdc5U@6g*Jb+AU^C2Isd>ToD!0u_0nFlH z4YCfOskZSg{q-dvP`CFax5n}XlOok9mAz9f{ja<S_Ms^1NqF@f?8ga6 zuvo;mEZ^yGKVoA)grZ*1M#N!KlvfLOUl+9ANbN^Vn&*q#&tIgo`eNQa2vq$cN8FL` zUkt|gh$VgHB+Xz}RC3n>ZeJE)UOsB)qRj7QRm(;#eGY>!_Bl$SU9?!AEH%7E?w3P) zw`EnW5h65cl*)~KiBZQeylMKsf%%u-{>ZrBxLkii9`@BYIv_p9c%?(e6Jwm~f_5oY zJiiH^r66*z;9v^qkx9prlkUW0qLT+#lLy_T9A$F@sRze10zFAit|{nVdYf3h>F>HXr=32Ocdt1CEqXH4v>Na_j*MhF<= zoH0P&Uv4~vJAW{nT9Z+3e^qYpnrm+3F|%=-TDwfGTdgwflZH^Y{g9hlQ*kfSe*I!p z&BQqlyXsXN#RZ?EpI5HyzA_NXX)t=@Z2WNesk28sXHa767jt?7Pagz|#b6+#g2^bS z)x%~6TuL34Q9k+85m~L)mo5_gZtB>h=)bsb7SJzA+h|N{CiO*w1_;8}z%LuqHdrQs z)xdgFkA|}MAh%R&VkDJU^qo_mqI+bYzQ(=O6OgI>9Qx^qPp;9_0MYPlKsiSFQ`_<* zHd)Pl9H{;Mk};L)d4q!|YakvWAio2iCG%ZKM=x$GzL2(DS- z@Vp5Y!k~sYN*}1qh8)KEmqla7X^Ye}R~|0*UTv-v-p$9>V6P?GQ@IZSiGRS~JMnGF zeXg9UlZby9RN66sXAEraHS5H4>U#WYjalRY0>)A~G;6PjHIWuLymGDTvMNvvjQ==Z zd0a+4^Y2<~D@eb1qaODRT3g}qwXv~g-|NcOu5j>^tDE-FldJpJ-DfUHpJ))NnRVXO z&G+&Vt%NvopYRFw->cjIte#&lgQ9`}0r7_Y-;Ew(?q>F`vQ{pxX8&(N7^k-5f~JQ4 zWw+(pkyA#rm9A`QwfQ4l7!Lxy6{4vu%+N9^oiuXayv4TN*8RwQSzQSoLkakXmj_J4 zDYzd@Uc@mV@N&8zgd*}){6rjg@!*t7X%|W9^tt~0$9?AU?*-uV)K3%ud4t@C2?U9c ziaY{DQY9ff{Yd#yj_s^GqQXUCjLS+YZ<0QagF+e)A)lm~4FbBY zgdv^%uFGh2?2LU{4x3w}h0P*!hQ}*L#D|T!VuqGkrRjdX^$&Ksz|6TdhJ;1ChOP5@ zA+wB1b+!jSy_oJI*YduqwzhQmx|af}f9L>LL}QYYs~wF@5BUzNnZPKH>(b1bFAG`9 z$%1C5k}5vy6~0PpPsj2`>S6P5^VK<1bXxYl$||o6zN1Eyww7A=9|8*}#PVBS604N( zjL8@zxW>__?k0)jaH#qt7=(;co;Vs_J){R}x+UjomZHw}hlwtz`ojW*4Kki!zrA{> z4RzTaxg@PWQckuR>`Z%Niyvv7x8%= z$|$QGc2tL(C@@4vuPj-m#rpcxcQ7r>e7%MM>+Dcymu2nHTXvJJ@=ygJ4wNJGV!WNR zCBdC)OZfNBqs$v7@rJuz^7)4bh417Xq1?K+>0qPsqcAZGeidRw-Ym_4An2rPU^J?&X6ip*-n1t7;iVtxQc;-&#f>!u&KC@&ESc021x@y+Es@mMqNDkgtD7b!dO1(0VduemB>Z?)b_o zohe|vPJKD6#ZbMUtj@hnb|e4Q%?%pj(^G0{$=tHG?zT@$IB;Bc^UQbcdLR znRx{f{ey&KJyQ^!K+5hcMWRI~Yj}?SkvX5l?13eYkA6*cpgWOX()O<|8arbKJ4V^= z=;dAR|6W zg-NVJhaJMk^xYW0pj*0GcD89Sh?RxPG9{`A*h)s7P08$EWStA(ptGiRVV}(wUL_3# zn&veTz{s-&fBYM6F08gvxb3amI;uOQccS4}E8RjMZQP#KHcg;Gu;Q=br~=~r-jGH* zdZXcg3#hnO`obzO4(5P_r0x!M6DAs2|!?-$CY9=85p_zRP-p;tzGP@QR|98p^SttJEl^f0;1UsQ7@tPI6)kX=p)Iv2Zti)@w~hg^>#VhGWpDry zMzNkaT#+I|>GO%-;uQs8EWc}}o=oHd`BOTgy1V}U$WvmBPexg1h3HbqxYIhBm$6-P zpIg#js${Sy5*)pp(f~bjGEwIn0df;A)Wlpw$*vgkE#G8>+eg&l`s?bSh$e6lC9;cp z#pmUGFZ|307x*9l>+U6>0Yl6N3k2ku8U*Cq&hYy?npHK*6)w zNAp|CEcmPeVwqp*OfWIfphNkMVraimLmO2ov!t-G%@4^@9ILw5wW%2}z`nn8nFd2j zvaonHdSAFkU8k;XZLNN7P5Y{Nt-b%c^Lmy%XkF0%CDG;jn+)`s=YR7%2>arD^n@HaX%8YDQ>%;LORm{|(AbHjggpkoLk}=#lrvK&Zl2-Y)3%sID=fHEs`Q+`uAf zxWvuWqdQgwsuAkXw(&G9de!0WxC!^_oA(j#vz%@3aS-_Ku)aB;_24QC&UtxV$k%P4 z3?cj&Y6i>=Kj0^Ai9!4(E>s#2?^Kx?&2jzy89MPjfS5>WPDyhxRw+E3Qa+s#D%-U# zF>`f11|%{auq-KkU&RQyN`bnA~F&uM&6b zSb!9u2AGaHOph2ydvm;QpVbk?J=3Eek~-w99s+=RWLn z-v6Q~`AeKhh?YczeMs#1hVp{D!gA3R%KYjGH2Dz^_go)19y*BjgU|zr#uK1$M&;%& zeRloly>;&UBz~sCQ?T};l~=I*;+1Ex@De*GxbPCe(_eWf!_)uwkf`$+1FL`Pm;tT= zb7Tl;N|vIOBq^$L0(5k7X~j_in)(4K(q#(;4ed_KZ!iv`fR4pZ#%?k+>6W>Zscp_L zw_&slI!aBRQV3`oOkUGMyQuQ5y14Nj;&#T0#5KC@G;)+b&2KX+r@~^;#lgn5Y2&`V zxG(G(YK*nIn))hDwpIIoW#?W^`Lce9)OWcucKe&O`n%{k>zDx;aG``7;40KdN$K$h zmwr$hkZ&T}$93!%%M>?_#nH=lx?T8-8GG60bkg|gPzD5exK-W_2<5FV{z(Q(%DLh_ z99B379myB~&Nv=bS=u*kt(_ooZF=!`TCulh z7gcM80GAY_mza(51g&iVRrkBGWA$x87Yqk-jNRRWaq(LvFyz3H-wZ16=u0Q(KZNdOQyMK%E zbap*vsAVt4wn>=;c+z8vOM6f$ve!VxA$d=m*Wc zSjavqJV!@mG3w;NvzDRERuP)m~gspH(8VT zD4>QqyE-8{ylo6x#oxPsR0-f+yW4~6&L;Y;EMCPcp{Jd#N#J{H|L}rx7-jTaY?m85 z&>{9Y(BFzrszB6bFHf$EinLVqk{nYUF_H}eB=f7MqL_37vTgej`nTx&t2TDY+ZU1R zHR4$Ia`V}Z=Zm?^yl#*~6!I$Qets*2*>p6Rp{zYD?$lM1>+L4P!%u%cy4Wc^*}9P? zNQHfwM0_GFAfTv=qs28l6*>xi8K*q2ZlVWGtCYsynBQE3KMh$8X$Zo3OWP#;6Hi4h6^*!eIR>@W%4VA z89pl-flZp$wE|_PpRT_#Lj)i(0!XnumCg&0Z&K;JmE-*)1l@rB@SpHc2LX3XA^I6M z0<`<7x(;-`vuwxPn(WmY@w3n!zj9%QPQI8B__o-lv`v7L=seD}M2wLXu<)M^;kwmn znAo^?;|y}FY&qen=bXcx3zd}%y4ryNDt*O;SWRNGjApRf(s5BkDiWsIBJP6+Gn~ED z4K$WFcz*hq4HgORxv~pL{&?=$I3c74%H5u_bRfUTt$@j(&aOc?|`y#XHdr!2c+iO@SFU7G_YvnP3h!;K|~w^l2V zj0gU!GW{5WwjPnHw!T9FKG2qZebrC^scVcL(&h|j6WOj(sA0leL4gZX+L2!uY!%wh z6bVe-HTmTZ!7gsp z5zdj-0)Hh8`c0B!D3Tgx2VVRzhyDo>*xv&;Ug$ycuO&|8vYs;ZAsEB_n>mrSzryjF zQ8H^4f}||sW;*RaSCu$YqK)KIw~K8X*dZ`;N_*!^n~KG(Acx$V9qT2|-Lx&Tr7ecu zj~}hFM6bCrtGwR-)wbx#7q#zTkS!~TNF$=8YM3tckD@ZNwojs}a-f!7H!FBBpuXk4 z^QO5=&Je4TkOv@VA~qzN_0mX_`-^LA2p=YQ_`U9S?4wnIUz82*xsj_|VjzbbZFn@T4N z?U8*I{zkaAgu4NDWU-lDtT-1PW59wKc8&B1G>y=lc|EJcdHt;NMROszLr?8LJ?hh=S zIVOBv*c#wR+TdAXZ4YUOrBr!|lzspONe?xCRG}!=O0gzeJS*g*%UCe1+MmF7UlSHe z3@s}`)sG%R!3xV@Ck=9tLS_piv9QgZ3U|%|s+gqO?2#TCn%522E8L>_OEE@sXNEkf zcJ^)fKa~=asRQZJ)!y?q=~8!SNf4EhWw+ND#E|Iu1VpA}jC97-L%A=77dRCZ$#!wm z$&;RJ@YBvlDQQfWRXZj0&O`x5qn!$99;I#63~RVo29M>gy6Z!+HJ?K*)rMJf>P}MU z^d(nMgQ1D1s7^Hm2pi0p2|BAsfkQ2{vUh$MK`YL%J`vc134EL{^Q``2#oL&;j26H`Xc_Y3{6qBqrdKN7R7){H5d-x73 zeT+BVs9NR_x!1bf9S!gW-MlOg0-ag5%Xqk=G=4m_5{X3qy5lTmjx|e)c^+0TdyUEO zzI~!cWGFNPX#K|9MfYTd->S_s8pQnQpCx6xQlNN`+@mS$33sjvYuvD zksdOS{Q5Ksk97Pp8#}ojCwKRRncD*guGQoABb1dPl-K4!RMez3)tM8E_cOLQ!vHW4 z%`qwpy;O=Vjo}-CBuQIFA64n|svk|c_eVN`F7R~G+9n{!<6e-zB6h&rNI-W}aaV(8 zvZ(4EA#B9*NVz6H35y1Mw4Wl_ll#p1yZyQ65yQk>7?GE>K)%S<$VyP03Cf%nJetLZ zcqN(*5pGVKUcTQ5g77UAkRhF@!Z|Icf%~O8nEiCFu>M=&Z24RL>AO6fvuL{h3Citc z)O->$-cx`KA~Lx&J2DE(5*)Cy*FwglO2+1PsKwwQ>Bdzrm0HM~i^E;PJSnG@cj zgxSTBHQ){*11g@nDI)Y{HHCOMMAm)r?%sUny7=?lNOkTXlqAw*Wr+Coc_A||cuvog zz^xf1FRvBb2wVFKit97nDh|UJKpE;8de#xq+5CD}WG)wHE>~#o7+#NDuhk^c#RUt) zr1KGkOF%lrFCVJN+tsu>WvoL*4k~VbcSqd6)r$?(Wi)4S_Ag&HII0`V`K!En#oI;J zLr+wzX}mc>{X=PpY(u9%+fvt5Eu*TUcL;uqhQ9Tt3or>ql{ zIs=3_>EVZVv0kx2U6+j=ktZ(8DTEsOh2`6_K4L^c)xQoAtN#{O+iOP;HX~~93T0%5 zU??)Q#({daZ17mR$GQF`V3Tnh!TP>~Mmse?yMN{DBX+Mt^d^W$RA$|2W!VoBJca6Q zzc2k#=Ca_dgZ1vVY75-tz%}0WM#yf{?5K~sC;eCc&@Li;0|BkuMq1!%(dx?ZrkEsvESpc~gsIH3*tMRKqFNERIilLAvr$#46#KyA}S!>!#xcTGi|(%NaZr;$|w0 zEgX}?maZIC`-djzR7_PkjTM5LQgZqdhhcruNoxv2QEzMTqsgO@HcUY;I=3l?^N{s% zkoL$kd*rl@(=N~RnYa5A7FPnp(VZ38H}9xW!ILk6qA#jcUj~V&LMCBJ#;FqPP$Ab7 z!Exsw?ZRt!fR=hpRTVYAaPlrt_N-#Pmb+4nP^exPSidl~tZv6(x2(S4ZbzV3WmjC& zO4+5oCI8!!bE$2!&NZ(+rvA74GQy^QmlE$UPOB@|mPfnIB7!2Fw()bBO{v#r_i+1V z{jvs2ho!5{2CIrkLO-=PysIUF5?))}9jm(qy>`AX9kH4mTL`+B00a8>~ zy>8I(BWGE#zWRBw#ra4ew}mL{2IPdKdjbdI^l}Er>fi#oK2n0qlfh4Hi_Z~%;N@u` zMi+Iz1$m!L?JCtRxELB0K@H$@q#PIry(&SiPHNv%1!l_7I(2t` zJ}P^K*;K|`0b>}6GfDmFrUOb9`n)731;Zr=k`7OClj<#6S*A5uTiBh$ATeR7g0ch# z?kiYUY~(T!$#qDfFIo;C6hwA2kFnQSM6Sa!sV1zMj5fglgmC^b2I>p}4^KeR2`Vwr zO_Jyn$X5*|8qdh6e~9!<07d@!3f2i40B%{q2G+QFy$%4i@iQOy2-db1B4h0{S<%kM znn`JO6LVr}$Z4$@mEo z{cNB^eEmhe;qM2%I^9J$?Hwr`h|CzR%o)9;8yZPGwPf@YTcU^#VKA1es4+LLxfRyz z!aKF(cM*Os1j(^`YSEjbzd-Em9ZqWAe92#57>ctRX!`zNRWFG6$7G?I3K!Jvi%%OO z3N8$J$AkCq!PC_F!WCYW{L^p-I)ONWjoA=UA0c3<_{1GgTtxhgrBAR(qKtUXne!n7R`KBQ zh}pZP{6Q)2`z{|}<5tnH-U!=;&}(jLUwtaJFLAs_F#kxM@>HWFyrL!eC~7(?;92-b zc~&bzU{2V>J>^<%aT#?fcmsW@^p6G?Nb=DpHjyWodnskM2Wj=c(I?pk6vjKTKzHes zm{kEMOb6nvzouAG3A%dVELk)E%5C;94Mwip#Ew=)6Xx%;Rd!iGG+5?6AY&1BT=Td_ zANb{+sALUxi4l7Qn{OT`M*o-)?-G{W{L2jH94F137-a&=dAjH#KwJ$}i!hauc{1S- zryPJw-!C(*Vj&~$iKe|HS{qe`3yK!LhwerIKOrC=KxK~`_)-OqQSLnm5n7-Z1-&5s zW?C-LxJD~_GCxOa&RO*%@JYuKdICQCMkb&*_f z$#bS{hPZ#t?zm19I&+=I62Ph|6e~-iXiSPnPe;hkg|LnNLQHXTNK%KUiVNyS0*y#s zDz{Mn?fQT?#!JMO+?2F_?0`-g(S!9q+42|RZc$y4nn5{qNU*a-=G!|X)-vlpj&GnJ zc%Su6XagJp7nj;kQ3b1@rT*6PzheZyN&MgWoi7_q$A*{~vo|3695dt(qnaN^8 z6y6poK3Z0K;gf2?r1F7Lc45=#&w;5bd2*-v(tnHKzqRI0mja@dV3B8f$hT-rCsZUO zDt!1(zTk(ClHLSP`l?MM=#^z41SjR_TCyS+PA@7%0311q&R%Bg58%5Hp1LLF0Epp4Kmr=G}uRn2+-n3Lk+Z>N9hJCNq#9NYaGlPjeS zd52A`kuA*^+C?+*#sTUwJ)+MX%dn;@%^GodfMVHPcI^afkDK6L2^p6Ot; zgQK*wtD}mBtPoi-G%sVxq)-y&nMU`kw)R9h6@>MIGGELGnUiQV=7N0wilSa69RRsJ z%r}Pmdwr&(*g<#OSeCmB;;U!1e-{bnM9)X;0Piv(}9$AiEAjdMiH0(@h7t~ASPgxJS>zCZL2-J8 z9wenP5T3K8=I3MjC-{z<&E1}!p3PH0UDw({e?`~Y#rNx<+dZ8fDG@*WltMY^N9aL) z5`Y5qzlQqN4P2bKAQgtXmx1RZSC3Q{XH1- z&tt-J0Salo7t(!((|uBwTkGbr)rFM1Nk0T~ty81aDfexuQj?8tZNxt{Gj^wp;VbR! zu~bV~)Bd8-i39gULiqJPdVJ1Ez~W0%p$yLzn)_kU_!FRrg-}ffu)r1dk$Pe;>#lSl zq5SU!y#9xi6ivPR$BisgS%5^)+ZzUZqsUkdIiS#)4S z$j6kl5mJ)Pa41dWKP9-}ZG)Tf8K7O8ahlO6d8hx#9VX z>(=c50x{C9*nb7FABY3(0ppwmaDzZ}{PaA-?t$x=^7IHC>X-!RLGO@+^O|jA41nvF z?AtT%mFyR0BEg*Y8ec#C1SpL8fMte1O`gN-`|}Z>Ut<{~!8S#p`~Dgn2K7Zw`1zdZ zcsvX%fI1+tNE@C2apUAG3}286q=qO!EW}NKWJ2tic#aL8r#V+~)Eq>CNT7bs4fcls zgM|#cJ%Y_wbW~mUQXXsqQRSmK0t8q5&Iib(f>vvAnoovr0nrD#YVOe(Wlb!AB2sHxi}?K`w?!NZ)1&Xg`DU)Zwe z%6Zp_MPoJ{b+w6k$O7}oUUx#JG|DAr;vJ`^T5~3Eq{nv)IC3NNrN+?0MQjA9Qc{_! zoHHeqelw?BAq*9c*ij;w)cuRbqyF8Rf*|6$jL2z+EzjtL7VaT!cb|WJS(R!AK%Hvd z{%heG#u-I?vGFT%m2$@lt9Y1mb76DPQmJvG)M3ylx4d+E!c4h-kz<>{phv|v-T5zo zgoV{9bIMGMw5*hidkcRH7c*J4iJdN3#;{VJNPa*Wc@_UBh!5tM$ z#2(sfdToo39Q%-#K^-L--rW0Eve6WWt)4DUhZ`Kc*nKPt?}sJ)Zlq}V2qX=MNlf%l z4k_a1{^&DuSt)>hwE#W`?}f6&Pb*5{tH-{^4U!`pn!b34iRbcYhl8#AT^G_xQzjqd z27;NjdUfwMi7^jVU#vZoSXe`$(Gy{JV^FTjXMubTAQ<1gN<93(saPwoGa?ID9N-kJ z5+MfrAS{O9NJ8d*G!2H}7#xj%FqWF_fSIU2PZ6*9mipF4iu{F>5*(Ru#bL#BRw$4R zh3x2z#y=<{v;{9L%%J)?&C!Msu5h-Qp%RWIf~4MBG%^bQcl_2`8BbO?8v1GuB1M)h zPQN-3uV*6Ajy=UrR;1B>Fc^ZyKPH1BSFlxw$0%}RiyP3Q2;xL2bLb2 z>^#FLEvt)p|895&RbM82-^)bD}^ou0Vp@&)%??>~ov6(G^O2K<)_kjA}o9g1V4%HnE%W)o-EEH^u|8r8%> zykm(h+r6Gq9k}$fTz;9SJYm*FtbQwBM@tQ`XI)a&%2T>wiDsimK1&A>il6l>&rh37 zEkk?!RCDKBwu+SJp*r(mSV0JDARLwD`~yT-r0tn@$dN#HG5~P-L}5#{KWqv=t^NG| z$s_$QH@$8$)Z#JGQRxgf-E7xxbvAQ((6H;(Ae%I~P+F)6?8MFkRS~CrpSj<^fYzrq`wPcXQXp%J;MOrOVLi6yZ!tSZUYp zOrHP?i>dvJ&LOH=Y5i#RiSl52`h~8W;0!p)3x=w_FY;@9?0o|nIirg6ZgH?P)3;BE z%l6KZjvu$E0P?V*2rGsQV#fn$mIQR}(dU}}Ox+XFC_qy`_r1C5(|^TW4HDVA8cSk~b{skWr4?c^(?AD14#UQ6Q8UV2 zh>g-FrkGi*n+X@spqT#jrwx`^P8sH&@fUf(EKovG!w0qKu=aJUQlE9w0IQC%oK_{~ zttm8r8%YdV$NpBPw}D>**reUN#uQoBOX`cEwWD1;7_>JDrj1)S1AIz}&&3 zbVn|~kE1GcqTJz%(BE>-9odOrlDakWZa>By>KBP^MU1$H3d75PMf7%VDV48~wY5bJ}(PP+3bK}WxyN004iicr@b!2;4&w$`ug$CbASIUK2U2K4CmyQzH`%dU+k5Lw_OurJ?w z5({KL%J|OxU4b=V%RPoc5m$sfukfZ{FHk5KciKBy>YDRFng)LTkAVM_R zc=>nOf|(8k1m}OuaW%-b)IsIv>j!Z5g!{=Q|Ianw8NI~U$Gs6L?yN*lYm@-n1t0_e-iUBwFVvU( z*n}kDX+f~(Ug0$(qrO;yuT^5|>v5q(Isaw>P1*ml2u#`kwCF48c8~BCNtzO=C4zv^ z-Fy9}aeCPPf+Nhck@rk$_RooLyX?QCgCC3tXMMuHEPpe!f1TdnIR-F7c?D)b-4Zj+ zk{}_a=L=hX$Dt-?xRo!_ z^eRdPRj~CxKj> z7Ryw*N%W5?wVu3Li~O%52heu_O)U zm2E|m7J&>agpG*}&DP;nU6ZJpoliLjj#X57V+ZSM{($9V)!CHNoMd&{WD^afxmk#2 zv$H)NVVzX1v~gWlW?C$j%6gs+6YT~m-MQ9--Qvh!P4ay7&)NISV{iPamHy-7@0Mid zZFqqklRul8ualu#lWumCu5@U1T3A+b#!wnO&R(vVbC&w!sNz= znpsG*Bg}g!!|Gwu$EwZT+436Ic?>IYrO^3QvQ_%I{ouvbM{uTb`FIWr)2*6^x0W;| z01q}1q&a}9U#HJ+{T^i2I5j3R%v8EO>aR3mir5!%n#~^w-05?nB;Tn4%OCU_Dn0x( z-ZGPsGojg?Fkp366XNiicGMH;o0X-;x9Kac*O%67d2^bqb9bd%`+QZ8ZbPYc*lqH< zRI8h8?tigm!SK!|FJxbuL@BeaWyZ*|DsAgL>QO|vj7!2M-qorkT`1E>eDmoc11*f& zvqFv1SYGptr<5&~w!40{BoX{T!^imgb6Hze&{D*`N$C?~W^xgOXFX`imu)#)8{W6n zM9Z{?Ay+0kA>h0}qxqvtaU4?Np^%~&J;L4jEm2g*2QnT%u2$tA$Zs~I@mAD{v^i1b z^=TZr!o4;c%mfkJ{ERvg?~YWZMJJl(d}`BcUf$%W`|T|o88FD(u&uB~gskN%Nv>JL zJy7n0pLcl08=kIp32l+M+chOkYpd&_ocmCw6AoiR8Y1q(d{I$=|nb0qX;K>MB{~slJQHOY>;MJD6L@aTOG~q^K47)U!ak zpWayHTPm|ki%rk^SnYACM|55B^%4#WteUL}gw5wU!i10q>Rkj9=aQUWZD9aClSTQi z-D3XxLa_u`FX4%Aryz+yyRq$P=3)4qx%LVPfjoGISi<5FO`uvL4(dU$H6EE|7O4{{ z+8{Mv2@sGe|3i7U?Y!{swv>WaPkMdZIbzrHF<|shsN3G8C#*uEIP))y8m=An z9JyGr@rj|8?Yl_V#v$#qjO?ch@%O>2WK;u48Pkw17vbOM6gF!^*QbuDM-@|lHj5d6 z1A9vE8#2kM?TdB<&@mm-cveqwXgRm*T0Yzog9!;^Zgc7aP-xM`c2txU|B!rE+qJ$W zz}%bEq3?^iZht218$9%R5lHFK>dEUj2mUtObAa9$#FOjWJIw2uKHPDoFXX_g%Y@9w zr()eQae7V}MY(NLBC-RDl*S?qWMnlIB3FR9O2iE{epW+ z3SGPFIW(;X)Svq9paxCFkd2~MQ(|(GfJFEHBHD?vLaD+SM;*o47XwzCTI-RsHphI3 zvZ=t}w>^`5nrFbbk8h#musWkAMgP*OaVF>EjQ5^wgSd}p&9?kqHA&b+SWIrhRm-1iB*#VNP^rxWj5`Rel9D9%M z-j%>`Q}*}PK|tr)S)h%wLHv~voIY{a2%RHs})@ItY?4w#aaeG1BVVRO< zF=SzlqtZ`4+>yap{?NXNQES;$p$3tAOutD>&Ci|B%xrZu(NU#HVNZrHy;@NBley1* zp&4ge)?+UbrGVDwHeql4?j6}o&aQ7Ir#07emkq>~Nosmf*n;ai2)vkK>_cok0jUGJ zpwS~NwnHyr(lc)t=OAo(WJXI%3v!;o<+&q!h2LZi?=Pre^F?u@V2xSo*X+zJuY&8I zTI#tSoD1;tkh{s7+pSdSpr^5cd&3sFOb6%lbCKmBRMOIJ7OOu>J#9->5Ow0Y0rO}* zY!o_Uq~$wTeRR(u_*G=DYR(ulv+N*bPUrG;Hf0E-wGb9D>ndysY3w;vc9J`pyO{H$ zepKF)QkxFVPI82bXfYaTFUw@yDq8r!8Ux7e>}a}cxcm-XXvRX66eu?!(4fP;HjmCk zw5BxmC(CW=u9R1)Urq~`k7W$!MeE8alakm3@@1z(guF3p<*Q>`OI?Gc5lHFVqz(oX zY1B!iB0M8CzAiOoT;q?&w91jK(|V_#y^@I4HEYpk`I-zke!C8b;3hM3H&;P}_5cf07zBuQ>*aD=N zfsPq5sRT&OeU|Z-l@H{T64w}ARdbR#kz&bP9s*T>I$Zi5LM}E8jag0xc~kPbDB_&hs4^!2v!OM?lg-4ex~H zKL3L}PBG1e2`MJLS90vg?1VtIISzJeYB)$4KYBE1NuK7t$!mrz9Vq94g z9<AIpEzh6?=N&U|I-oG?U10W5aM|`V^Yo_Qs(x7NjJltw!jJdQlX5o%D7gWi zU`fM5U1ED~fKFqqiQp3JPa}))4Rj6c#*Q!&sCNA;dvXHs>wMngBgspz@EC^w^k;tFneH+Tkw{5GE zC8T_&+B*<3JhpH{2<>}}3@-p|9Q%EFRggydQ68jT`n95u9$O!^c6YL|`h|rcr^{_i z=-Y;GqQ}azKPHAbXS>S&<~>adJ8)<1qAv&xi#ip8!}|44`*zWHy&v(hCPG11Qq2`b zt_)Js543GTSX%~51@-~qd_yz?BptVD9`)RdnqP9-Qcy3NY7drgRedQ2y{JGDt*0o< zUr6bdy-rzO8^TcMM?x2zJCl<%*pA#&U`Q2P#6PhDIG>0MflWx+?l9|pJ%i!%5D5-8Tzgu-JuL(cSA1`X$Y&^4>f(w>TJ?(Av{5 zQ@P3E&E_OVW>D|WGDI9&crE7yaKnL}EROn`f7(G#*jnc!+?DG7sbA`XqbR{c)dwm6 z{tY8aSt8sE9h3-_6iTM z7sKpVN%q%p_Lm0RSO3y`f5Xey@!gAu+ud~zET}InNl-z32)w^Hvhwpq=#*{xwKBzWtbGCfh(-c&b|0#lvF5hjE`In z;ErpX38>zYru=Un^<}qsbiHc;>eU}6mEyu6zIZV}^drqgAmbKtznFk`)Og9G+zNj6 zBa^lKEB8`~186e*-!D#YaCR(toR}JG!NRcPHx0~h74gOoIB83FNdO1F)dU(TjvZG3B(uc>uaFkDx*pyq>8pPYL>IUh8a+ z%hZfN8wk9C7H@XB5h=3lr4r4ANh!q~R;7 zqp(T;p>ZI`&HY%cXN=S`5DXI*JG|&)K0NPJIy|GHyYsWd4QjUp-z-8ow~G74Xa(-A zLbkw*8ziuV;wvn114A%K8|`=#?f9oQ{QhNUU&RLd=m2Zpyao4H)vb%r_GK8miU3RA z-kPiX`u1gq*1ULYUV;U8?_XON926@VsfyGTE4UOZ&J-)cDAG}UE1a4mw-}%OhAW8P zY5&fAEGx)_y7BR>I*z=(2b^fHoVH^gIg#=8u-&u}#jl!~tux}3x@}`O)8g(lUMjR= zyCUvdu+t_6E5SI#2_}jMV(rnfv0Uw7R>QVVu>O96;o+jy=bL0Jmg5*%h(UrvmTTcD>%hbK!gfqv2ACHz5% zCjM}jskZ*gw{P%Uw!HDIr=@*cMhb1*$#_$32HLds;N&~eb6=&O`NOYj zM9jG#MoCm$EKa1EP;_LYs_IN3r=jjx%?NIMr$zuZX=~jbpg1 z9vm*`eZ}iBc|uDyv1Xy@E+HMjDAD4|PHngFx29Ga(F_vqL~Tg;VsJPvoVSBzo@rPJ zgddbv9kjr;<}q@Py(aI3Fqz<%WuKgCO$ETE0^lQCH6hRJQjy7DZp#ojq$4jsWf1hK zFNXSIqPr?sL~@TS{O;BxAtP=-T*;T5@=l1)|tsi)Gw)8o!0!Wu|?G`GF-3 z*$WKx8QFLKM?ym3DP)HPN-h$~chdSpFqV~X$|K&?&dZFW74gWX5|Rl1~&47imdY7H3fis{}i|I0TcRbo4gCAx55A7Ju|x{j#Of(J6*^yM{{$yZV~A9`?Qo@rwm0eV&VFsKeA_QQtBPqX<3`B1wLE45a8>KvDdm(GO*R)NobQNdxu9VbCA$jS&_a z_6>ZklJUekk-1nWV_n?Ch*h&^@2RMio)Ri8P>Z5z~UE5Xuc$8wq8&;x>7++w-q`zA$0Fv~VEXxiL@NDb5ZNw^c0tB=*+i*ur&c zO4v<-FOAC&hPTD*3#5IPgimN}HT%$!p{i4zU|h4n2>Hz$?1yKOAM=x-)NuQ>0TJiv z8ty)f-CHhNUX19GgZ7Ks4^W{m(QDMv+pXJG_!d`(j$wLmIPMtGhBY-k!hzPloDwu} zXK+6gY^oUND~Nx8qcasKz9eynG5a_OYs){?G~92}U4Re_}%s(4}Zo;7-?H2;Qn zjzvgAv_H%_bKd}$1kE|G5#abD^+SlS$+$1XrmoW*ked{J;EKN`DH)3ddQu_pSTsMB zX%0?qK4lI*Xf1IYN^w&k@GrdWhz+hQ__pNGtO{?XI&e|8V))#qVsKb=3wzc<3$sIF zR7{Ct**96k588khULJkW zq3t)TKKdQjAow54eH9aDGc$V$XCq_d|61_7scWgAYoLGPnwMK-W4el(#WDj#BW6+l z4_EKNoe8vc=~gPXZC1=TR>ihm@f+Kyif!ArZQHhO`{s|lwt+%(wKWH|ts1Z!0U22f(8sD~q=4TWAZEF5!%XCya`WP2OW_&(%k@h-Nls_&bd?`l_64BJYL9P+>bW z&0V!5>YSswECgzyor{F^H;N89Qx>D2XDZ|YGwBnCO7v722it2cAR^Id<=E-gQJgZ` z_w1;;St;7bv1e?ln1B(fkIe_uwcge*!{v!uXiWwu;TqRi>Lc++}|qC^d0?inq&e2Lu?f5EBBse6-+XR9~f3CWtP=W+^CqC_vW zv(3!?&#jL|)@7Jei?Y=gWQ{U z(A0FfNz1FSx$G58ZZCVN*sunlgPm(z2(!j#&uIz1qX=*l_LYxmfI|~*yRLS zsZe4BMx%f(W<2!BnL{(mE<42liqYgM>Fg9mM7C`33Ow|BeJ!A;Ut1X`8%;~1(E?iO zU*FBxa9evw)(NHH!%NahrbG)bum&fX)AXPRd9QP7S|MJ-R44UGMm5HMvL*J{OkB|W z>AG>|W!Wv2`^`vvJoFZuUf`#JIa8!Z{AN%vqBLntn$O}B5-X_H+;m;cBASp^VnktX zl>8G?1L#PrvSaGgftRp7T^ye+_l~MRvGx8Lj6L}!z}y`BH>jVP5ywS-j-Rl2@=!{s zs3>=Jnuo>61HrlRF}(N=rxCU)DHC^16q&Q_mp9%v9|R7Cs>p>vA!z~!AT829X=L8^ zVH0kvEpaG#>Q4c)L}8Kq*3u)Ef^n@COqnX>*Z3b+Q;S;UQ3weem=a4`bZpmu4JFH< zJWeMrvilAho_rHiPQ8-UB)B9w?j6CVg)_-2La((q$~*-y#v#hP$T-JteQ<0htUL4t z1t|NG=#lpgvdlqTCU3BJ+F@BAOxxEas!Eq+kZr>zkSwbczE=mAv}2ni8*j@nZz~y) z!v_M1Pe^WV1REUT4#&P>q@L)Jx71gIGI)D3Ug^)ju4!an*Y*6?H@WB<>mVMQMcU}? zx5kG~pe{(}*XnsiFQ2XnGxqLrNzKdjuoITk-dhJw^ego8z-s((BYLWvBcOZU-!K!3#(R{@*D@@}NdQF)fk39sK znWTBP;;EeFN%Hk=vlQ@4rE)P~O~%Y-btv)Em zyGH7r@f}7S!}U!-`+}I7?eex2MAPt11z+T~Ghvfm+lWFOLoBK@79Of%P(sSpbh-YCOO!u1&gA7;WC_RyNLM1^0pm<^v*U3wSMKA3&0_ex5hh#tX)r&TXr)?P;dvon7Z&L$8N_S4}zZpOO ziz3|DHR}XkCrN+SB6X3(@{mpR&GPK-iM=psILLPrpfC}zzd)aKncHXG2gzJM-Ne1e z1H`1gHS=8u_w#!1Eg<+UZXIeb&t^UQ_K!pm8N?mN$A(_gDE^LZW5Rzn_H5}hqh#zP z0^KoD*%@CnN!R*xYVK2o<3}`+JAm$5YK~kc4#_+Yc{f0J0wvj(dMD}1S78hPl0PB< z0<+W8WekZ*c$+YvUA-6}^w45JoI(n>uv#l`ssRq2*f$S&HTUL(h9QK^a7X7MBr?*r zofRB`bEJ|(Dcke=HZ9dVXSn0Kc7N!|jAN5V3g^%}!p8ZL9~BK)UtPru5z(BT0h5)t zs*onfK1mYZjWMb>Rsi5h4I3n!Eq2FMn15)T%$d_X5L;wkc9h$K*wp_VSr|ixyYlQPA?VZ2yWrj$$ISuY?H4ihMVJ|O%?X12v zS`3g^&U7`B&Ws80?%Nj<;`A`qa6>%|A*9+RkHYL&~(Tfx)|lr6@57r zl7y3EV4}D8zjDeHbgr_y?jIG{N$N;ptmdG$MV4kTwY|U_+j6zPW|6v~DlcnsA(0>| zzq#;&Xb!CSW`@fh4X&x17IU^~V3P&}Q}W=KK=Nn`G?E>(3?c(wQ&DwB5{Gw-dE{=8 zgvw&_Xx$StQPa$=8lKzUdBZyC99)#?|IFatQ|vFrnM0Y+K;EZ|T#4Uh0{$iq(6_`5 z5MY-%_8Kto)rd@Czk7x0?Iyu{59|_NBhq~$e=YB-z5K%H8su;I4wyTH{q3m|YTgM) zGY3lg*Fw4zzSt-h=oaKii2+?So8#z00;a!5 z3_lsq6N&>4ihWx3<2UQ7qA>}xhB@4R5x;=xy{W>w`b;l}HzDp>gIGN{RD}kWwS3eW zExO{Ke$FE%5Uf!#=*p!l`!x*Yz?emODGma;eB;bO6UFLJd5(j$KP4rlc!BIWgNk$e ziRgVcPLG2~yrdF%$dO~4Fe+5vT-_4$<)TuM>IFyEK1G%T;ybx;lf+aJ8_iPyt5!Nr zx*la_uo$gVYiYwgwtX23IDu&hDdpl;UyXV(cd9kynpKSYsG`$*ZNXu2OCZ;p;@vjr zJg0f5$X71nj@JI#&xUEm2a-V&?+y7QO>?FW^Ad9VYel!>_JPJbM9$5>2fopdRXISO zdXtgf=||yO()3E0fIV!Xq3VSuxKxCR@)G!fxEQ!}Kxc+J2?qVp?=X1tl$=B@^MLhY zLDtpli9t*W0}}j<+(rti3bgs7kx>=%hMYz9(v-h8B@L%MQWZ*PbPWRaDloqT@N5Wt z|Hcd<-D{fX32Mso?6XA539Y4_{0B1WtqK&%uqmO-je^}jUKjA#A)gO$Z4@9|jujai zu!-by5)SMOvJ;t2TrKT2=wCw;Wk#gLw5n02@l5VDv{Abr1INy(O_9Hjhu(k|ZLwby zxy~hmrwx)_!$B(IZPw#R#EE@g!9A3Y+n4xG^^jSFZ!%g(JE5rggOlikq z)WZw<3c|T^wC2#G3@aTpZJ8ZS>g?aBV&x^Gb1Ez)8FM{>tG}p%A=ex3#+m}~pe{8l z$4$PvmwfVPAls~jHFFtGz^ei|aMpX3Hm9eFijE9Kygc%ahZ?~Yt7G;1=U=krbeT|P z9NPM*@>S@9jl{$6h((l)Ox^WKK$56WRKPYhs;5!>G!Pe(?~oX~f#wR#>+l#BHK@Bg zc-7M9-H9L7BwuwC6&RXbu<}C8&ihR$M+VwGvWe2@^-_veg|EUSD>xCPl!ai?HTSo} zl_DY5;ym71_3)z2P-er(uLK3Z+yc?LuzpB5qsOua_}=CexoY_=)Mp4`Jv-~Rvl5p$ zlWi!9QoA(~NM18-opS4BP6I7S)M=pLfwl!v>dA zR>WeXEhr$40e=%u4Pt?2e6xKxkDJqxn8mVkXt&`n( zVqamb1sXazQjk`O(ws=*yL;)4t-i1J{SR5vPU%TH`m56u3)NE`4qwrw zYPglfm+h|iyOqHe)l^?aE(wq_#>g34Z2nck^C~05&LR6$Z+_0=G*gjE z71seX_qpOl&1fupR0Dy98OrEK8NaLX122?@xG-EK;U+i&zFruTZyTMR1P`m55AbYJ zOy?NMXd&g?{6E6Wa=9DUVqMd*li=dYfHVN5l{G|ns<+#ee{*>xO%#R?M7OrfzHLtPKZP5{0Ac>%=*N4TDw1{afwb zx~`_mNmK1zyKbu9$<)*&th-55FsKb0FanC$Dt`iyc%A$2K;%E9TJ}};fO6$SY`&ZA+B`d zOkLDwhI7$(dGt`Ci5Zz`bWi85aCW(d?R3NgGNFl7SehlNdaq<=xWEMSI5*q@$d$Cl zQhpoO8u0?0{xK$u_|A98jxkbli#~_}$3?%E`v8@b=#DQ!UI4yhYFbL#puk`M7?D5n ziR!sEQmH&foa7;to?^|ig7VrwZ@p8Ut6QU}GYdv3IGZN}G*l4jM1#=X7J`ZkqY9s9 z;E+rR@{m6OV@~`DK<2|q-xM!L9E|bF%j6BQqB8+HM+B&5d-DyDCtXbh3e)X>?)RpT z(TE!w9wj(B_{9MWoLCb+#|{VZZ^xEMVyZ__PMH*kqq7dLK)(IrhkpmYT%_A8sDRAu zfZ6${xm?}>N9)~54`xr9H)?W_C|jsxUJkIfsswIcF{#Jcu2&7sRWbPIbIY5@xmp71 zX+$QBDf@6yf}8`~51LX$CBqB`C`-17-+3Hv1=3Lp3e!h=#-!tXB<#mrq9#O`ua`v& zx1#FpgR0hQ;;5~c^GXyX$PNeH%I6UP_(Hc zxgSSuC7IUUr)$UBtzj5*AeujiYS7wo{;eC|3uy{;6^goJ7I{h2tYoWbOP95TFJ1#Q z$5_npmuB5FrEs4;SBLFZ`;(?IJ^?zzPqV7t$-Vz{Vfke$-eE+ZkLokFa@oAoR$my< z4*t%HjOOE0XBn6?I~7ZYT1d49+}cIWop9gl*zce*ctv$0LPE6Jm5&vSo{+m^s~VR| zd^3nt04gmfkhXT5j-Z79&iQ>ay(gqjhVH3bh>!U9oA_^kueuzwzEWXFzmUITccw-^ z!`?fDw?{X`dHdXXM!TYRAZXG*cL><5Vw_9%p&kmwp8e^G_^9tJdBt)oi)uxbul(!x z*O1?eOWo@pdsW+1>-WP9D4>9AyYi&y?u8 z(Y$-|Cn?Oz2dLqw)~7xQhx?vQ^Q22w#U}6$ zAi^|MO8s#D!4Eg>28wkOta^hfZ(c(9@>f!lfk3XR=A>-3^)SSHgKiHGBqD_5y4T{0 zq(a|mzTe%nIJQ?Hz6`y#khHVdg9r*iEEsD0W6dORyW7i#QVGrAYBe5F8~n2P3m{5* zBx-tAjSj41EtG| z-^nb|IWe7Et{!bXkk`gHv%qjIM(dWp*Mm}lTTl(##2&>w+b208_P*SOhz>)V78~}V zyf!f{M^LObaLu3uIgW&d8Mo!kn+sw|f?@#`Z`m+=8s-=Q=yS#)e64tR<S~4P&yzzmGLQ_I!fg1gepK~_(z0uKM~aPb#QKWDiLo<(pD$pR;NCx^L)uw za6&t(bB|x=FR1m2^pL&$5>}4j=a-W5m4nAPuW0YR6Tqu%ixY)ap`c?f^@WGuUlG;4 zX@5A``{=E6x@Ifxkv9e@HYQ1r>v$shg2K0DD|6eLQy*_FPj^@jvdT{Gs(U?LSuc)c z92sm1K-XoT?0#)bu}_0~vhWT!%_Kd`zA_UQR@w6Njx)@Vz9aCCUd;-8CL@&mbk~l^ zt13;IFFKsoUy%MV=jAPFoJDTP$W%3R7u69JTTr=YZGfCnZ66L(4u8X#)4E0_=)Z({ zo-+N@VYhr$Webb?lnnRv$oxKrAN0-${?U#pI5= z3F4HnTHzJr%g`F@E!GtTiBq+DjCe2BK49(?`0kC+X|Z7Wf{b5lsmQvjgzXq`JFEAb z<>c+14Dd=~^g_j-%bOL&ZU_IqJhlqj5ht^<+D!%NC2t=r=^s`0dSWg?=Be^&@d|u; z_4%jpvk}a=nW!Gq;E31_H{@Ps9<>&6ghQE3v{7iHk9Dh{>%{1=gLWpRwAY3tbKPW*J4}3UUAz~+Al-%mMnw1yhwMz9v{{ zF`0#-Xi>!}y)g9ibX|a*fHfHK={!@g#d?M0Rro9JyxD(VE-Rp`_mmq(>{96dE&WT@ zE{`dztJ*Y{^KY7^HBK!7E&6;VR!rDI2}jMwiBGkZX2BI zD2n%-B!nIpLVabe?5^RLdl<}V3vF>5d*lyvk1esq2OETJMH+p~q}n7gdp<}e+zOCu zBqD7%Anc!w=te;g%&^M<<*&iIqaM#Av#X>qp28m}p>ikwOAJe)I`U7JmPesi{ab{+l$u1siw9L zH{N7lw-;Db-b1eG?#G{l)Fp}p(bVA0uGJ;4K*YlicZ5G)3bngFE-B;$DMKV;ctLpd zU|GDGp{_q)kb@-Mm=kW$aHf>Ze%3COXbU80r?6sOkEcqoB?-q@XUI~4FL$4Hr|;_> zWw^Uww$uyp9w)n}&|M}8^K6TiHn{8X?mx^W?LfSq&}N2@ zTY;Nr6YQ{eo2GAXj`w{w$7JL&cWfD>}7%m-S^ z6<2ttp*-dU2s)bf%%6~Ywj}$wJLcj0hUEx`I`ERaAz$n|oWSTxv)`ipGhq_^Q1pL< z@V_;_$6{Eb&I$^uDi}H6)26&J7bmujH|0q73Jl6Hy`IIy7f<*(eoJ%Ct?crjh1@jVLaE2H`9fTYs!prs16-x5-LoB<|Hu3<9$AI9-k!^WTp>qw zj1^Xn_nb<-H>Z!#U1FuK+@JW}z3{=q{W9IXlJO#Ce+0|)1ugyvPAKK5 zt|#(GqRVs^=ODr5AO4}1a8&Kd44ycK!#U0prdoV!Q-bMaQ&LcI$7qo6QRw z@n-EGemZ4qrToQzpHLEBSdH$wbAv_ys0JqPROBeqzw7;vjPW0}xi*i~TLJdFFA?p( zqhu1+4vzYkmj7F6{sscLDledaGSsyvjYuU+V_-GP`icuOhh&Sw2`3^EB?~jsLe#%9 z-^IdZjQ4B&Xjn8aan7l4aPd{{fe`aj_Wd$?&WFpIy*7(^#U@$IqF=FP(7w zNTY}%yHQ3DhVc9|)hdbn4?CvMEs;h3PiENOIeST5-UWM0T;6$m*!WYYuChZmtnadY zSLi%Ksw8Qulv|4}8|(UP0~7tfmE|z1cS(}MufQxDVWnHTo)Cm zNk(#rS&&tx=ln*LDPkwC73WXc>u$zhU7d*%x5?e2NYL7)3`5ip@xaxrHcY@>w3sD{ zmADO|%ecAcO$*pkz3ikmWktuIO<2(5yfTj`;RcJHj7=>)=BnvhON8P>hAPlh913bZ z%W5AV%*T}ISy+Eh7$EdDn?&MCW-$N8Efv21&9+!SD5+keZlp3E{%gSU$~IG=D4BL5 zC&9W#QlLShIU(1sRH$c|zdDzJO1wB&aD^;jb=QPT#?4$@e~`?5^fXEf~rF`*6l@&|-t|Q(2*R?)>ca2T#ec~CfVRTuq8Q#-K221K$zJQd*I;jP?xe%Xzdl0gW z?g@%YXoVSYZ=;s9lgCW)QY|Ue4Xk+Pr*H>7W2v_&!UarCYzUe;o}5rOqSX}pVFf}a zJjN+AV}f27-~qK}G^@qav@Sz1qCm>D$!i{?z}a@xqIdxoV^L;R>Uik@b5(|NXa{xW zIm&^Ma5P;VmLA<_s8$SfE-U>W5Pz2aL$wszQfgikrx&d))J&x3U^KOg{SK=*!506;vv$W)rD!O; zwW<;`c%&4W@OUZOIJ8#_>(XN^w3a)jHdBxPRbpH5-BUIAP0b1a=W14Q(RLkeq0D@3 z6^8nXH7JPgd`6RbAu=^Qz8;~9O>Ae@AoRKxS5BN)gO{@VTTN^f~Nldc;AmK ztc1fgf;_v9jgHWKja4E{g#Ol_R&C*esv6@;suMMXZSP-TMw?MzWh)jn!t<+61ZyR2 zjY8*ClBRF7Zq23U+*~lPy+ePjqqHW6#CxWrCzB&}WP?s)_OFfcL!=e=t!O+|Qqy%} z(lOoD3CJin%-Uqz6Ri}HZtngpsI!Q%^2;|>E9-R2S!4mYyyvI7*|f!1MYQF5@Mc%e znja-x>W-vt>&&Kbu4-8w!tIy9sJ#A}_7E2%Yxxh%SfIk+ujP4xfMV^JBlSJ0N6gB}$CuT8G95pNJ>^ht69ky< zL$!B+SfRZVqdBpHc|JhOr~AzyQF8v91x+@u`hb)_d^$n`Ld6sQ4p`Dvfhc_sEVoY{ z{5tX2A=tq?Puw9Yv`@7|GM-c>RtjswV-aJb@kAPk$0{Dxf7C^TJOtZh4xNS~Ka#)b zMD(oe-MZ4t5Q69Y$T2}g&*7>RVe^~fUp`-nD#Oe52fzd)E_5ezZGU!4&!_Vat9fztJC4RkoPvu`bhir0sL2!BM{QJ81-py@yi&7$YD+wK4R{MYv^;oT+%2s=Ik3p=fJH~cI16kp;el8bRfBav}8PuNmvX^8% zg5~=AxM?*Qg8>!)wPr$~gECcOiH3URp+SIVaDqA0>O4-l z;!&=SRj+x%AWj3W#R9K-5kXJOse)sP;jwCzVTU^g?!3dX!jxg2JBZdiP4jPj(^E-< zawkE)EG&Wt>Odf5SLgiPJii1P#Jm-jNp179iUT?Q!DvKZDLz%c+h6v|-+`*`BOQi3 zGmFcc2lciEVq29 zHV}y%lecMcAyW7T*`p!xbfliO{@F{YfFUc`5dBOYfuojz=$ldGnx5!f!(GXCKL_ZHzv!D1|A_cm z@Sx_|Zcp;pW%jtwqL532BC{KsK9MF*3}PA15RS~o%vM7&n#xv`PM`@pFgwNrMCdlN z*{fp}R?5LUKEoVLIz7E3wod8@B zKKQZ-^u)8WME)`q4SAegVF^f~R_cJAn`i2YiCdFVdO#0n_~&mWmc^OkZ;C9p?`!*P zwCBvoVD4nHFjfg{SmBRqbIusP=MaU9}@#HR1Q#9P&(u-Tl5Y zgK|V+q^e?@h7X!1?@1JT;+r+9k>0&X_Ub_>hJY@=YhB5vO6$SS8n?~Q`aWDs7MXg z^8920G|k=pW3&4((~mNPGKU#$ts)5Ds{e8(al?6_t)Se;I6ULWnKtK{Cb*nUEpqEi z*Z<7n|FIMC4y;C5e;3Phg8jFh=>PW-iJDn|V;#tt{+FG|N$ElsRRE254kM9XNNY4n zy{keqG0I8-jm|evJeSHJ47AYPaT$L!+BxaGvAgUU>yr`ic@5%8xtC#u41F)Q=5dwo zF`3fR)b;iL4xa75BmuYU105MeL6DQ3M}@Ben#^WL$UdGP^)W7^|>`aD6tCc zFTIisbQE#3&s$hd_)d^(6-hSka_4r^{Vce%X3Cjh{O8m4z=K`BD1s$fy6--6C}qUp ztT^wV1jm@1V`*I`@3ai7Vl~3SMN>^}TnU5t5nbylkd> z=}8DhJ!!&gi}gBr4;q6bFnU+qu%}xo(o}uFITCNkftER(3%_)w10ks}8jnGqt-AjP zWektTb-)g`$qb9PN~*9v0+pMG0`jq~;WuFTL^ukfRdxCnYY;|l>X(ogxBq?AQot|s zR$?mcCM5%`lg5y}LVPL_8J=kPFY!zt=^YMcxVr)aCU+6{1(4hgxP5{MdRfvxSY3kr zse>AKo-v6tr`hznl{`)=$S%Mg&I`UVqx(K3v?4hi?A1*DP*tQbYQM#ML`I84w3@5< z!RUf3?_;{Rf5@RjC8CVs20w#yEt2zb=H|{~t>h~eO4ix2RB`QSTtfRf^)R4!%Sd|o z4E}lbBE7v6x||Zaz_8oKaikD9BzdsRlF;5f8o#YEuJ+G}+7EFBxK%Pm^36UA;^_6H zbTh6EU^$TBZ|WbP_Mg}}F6pf2ZGn9p-8n)e`{RUrZvS5f<^McY5462UVTd0;*uK}s z|1u~$>Kj^o?~TUxj{j$ERME1k;yqi?&d7X6SdBi?) z!c9X{yHqm2xVg5`WV3b2x4}#Jb=HCVL-bk<*UPnc5MV;7Hi0@Rv{>+hv*Y~pSA%z2+u07Qv(gg{2i-8F} zOf8bvhXTqY)^}~M9>gGN g#I|co#9FxjJ4+WMbZB30WM6bhrE$(@D(}K+&K$Eaz*7_uif`*O8tv*8u?m0>b!%Bv%Q2Ba_J~k=KHBOjY}Y1~F^VMKpAq z%>EbfEMkODLKo_ul{)V}#55rUguP%ty`3cr@4ao6n|;>z#r~`P{U?Oae@po7KJ56~ zy~Y8V+zt>H#+0 zdb9P%NT(U3qS*Mko$jidI*--lwCN3?)V19V6RMOh;4;9t>rm~!n0taCcT4Hhp5?Ke z%t3*W$tR;C&-JJIiN7zEPp#x`G^=-P_UD>=vqJ_^C&vW6$*K4T9wbbg)=I}-v+dP4 zAZP3=s_aHMc9nyG_O0Pq)p8dH)iRegq2gtYwH}|Q72C$9jaoD7-zVyF-;^>T+AZUs zG3jm7xx||6CqWCsc@JNAJRNO*F6f(%ofL6&|zb!4If&eyAVj)qQZQb=DogMG+ zfh6wCY=DfyCl^;FI-g)6_l%Xc*sb|a;7#D6BGVIQvQh{WsRf#~w%}i43pkx173tOy z#2MCP*7bdu**UdniVZ6{J-~dz->(ZCWrrK&>{?w?@oOpEgO$C6h1-tLkLx z=sCW$d^{PA$`)Vz%7FtX{4?2*1y-Fixzr8v^MBV%+q!*^=;yj)SLA}=mL%F6)z#QK z%f1oI-~MuEeOzZlZuc6$-xvKyRGhy@6!sZKR^T3Y&DH~OSQBm8=~3P>p}#EZ-BPx@ zM3T2Cp4Fh=v!Gw~%nl5Hen2z5#aDf06o2{wKT)4b5Z0?^-vyUle_QqPHNcA;?EX9L z6Nvcu$?Vw`^aUC0L|Ac==On~vv*0H$a&9VuRhr~YVC3I1+U@uJQ_3ntm&aeI{f5fx zZ?d~Y=U=eBe8u}+A`0M2KEu;4vLeQXZU4|i!9IDATzZEocor1}Y;9q_y1ijxTI>Y# zAoGg!Vr#gcb*#S|wkn$g_y}#!ijs6&iKQsiTEoVDC2h~fS)sNExJyX;lR;p@qkuq2 zP218m_Cgh(Fd|}%d-8KQYLr;=RbTiQ6uB5v2#T!YBN~C9oNTR=&+1$7utH`*NdszB zY;DLEaYj>ke{CweB1+qAeE((+mD!?yA%s(*QvWN{s@&|O86IguF8|#4;g7qFTMBwGF~U|phpe;`thSh{>Kl3|0f?~Vy|yy%%Es&Xk-6>2v{B5|LGfBI9lh9 zYe{L3zWxSkClXtZ7#Sk>R|BE6h@gorMTN0qp|QnHzWFr+I@)KQG-08kg^TFX(UKNc zWk9V9bIc_A)dh1*E2|34kIC<?uM)5EUv_Xxk^)yV-@c6YxRKC!=gC-hz(ysY`Q4{ZqE+aUSxeSN;J1tC7?{0OPu zlQ3(q@x8y6{jyw%A^DBB|2o`ZcX`W3{2-sE@sEDrRqVY$HUlH((ZwQ1dz$T-cTE_+ zh7t;qW(X(k1p<*CgcDI#-kH^*<96(M41!TwbSaUA+&q)T;M7Q_VB-d$2*#g6V+@pA zvFHY`%j808+RM9X219Pv)3%XOu}xyd(A@PAyd@(j6?>{v3=u*qocTGhtUOl_5Rkn7s3!|f_D>RM8SsthVoOmFXKql))?+)nEM zCZOCUsCVbnDjOh2F{tKhhLB6rs^p4>Xp*1Cs}~A)po}E||D38()+mOkNS2$}FHzbx zqD1K0MXIMc9|mLFbaB^~#xrG>^>YonW}=)WEN2V<4vA>*ln5~)_m!-ttdR&&B^Q*m zR5gIDGFQsY@adHlo)rmNE)|Z?Vj|y_bfm743AvCwmpAx@m^HDsUdHDI|;L2A14=MC(hE82KSlt)0%h zBHHyWqSq811-V}kT^ z5;8K7q><&7LUpW?2bq-S~mFG5!=eFmeTnoP6ckg8a1O7&A%tcx7FH zQLC7H2ZyYQt)XpP$vzQzUHmx3zI}CUq1d5ojWB}#v$l1hJyKkB&xfqIy zeSBC8zAjjil`La0mhC2q`RY?J(&Fl-bN5C9>7%%??#AD4T14$7o+3OrFgB?H+q)Y6J&W3ZJlfk!Sy9YkW|iGN z{z%Ek%~*Krn(`1p-_0)m(Sr0fhi(8r`+4DSERJGsY%AuePr1A({ckf--t%BGlE^Cb z&!bpCD5|S50E>v(V{cmk0?KSK4H$>anlo{LZ`)J1m|93*ZJ*ub-dc5ED|FsmXzd;Q&>plcvABQMsj8rBEZ0Lccf<^+J;6;KQp z>r$QiH8Y72Aav6LRa*^Y4at`DGhOiS?P;BSjOaNY?H+6-a=a& z2rqLAY4Zg)_S+G4Z!OYxkc#eby56=Rsf_Hm6ZGOoymdqsG4m;JPIoY$6ljj@hk6&94}IN8HATWbk>Cy@xWf^G>@vGH*`F4M%$ctx8!Enq zLPq(-=6tj7nx^R|qlF=wd&kYaDk!rbm7EDI_9_X42}tv+7ZRndraMlz3a{A^_H#^x z)`=fsTo$lAg-bwHkp7P2|3;7Wr!kbtnf{?0v>Rgyiz1VfgT=jP4ELRLgf~`eikMSim%TD}&I|99Gy(h}}k(?7P(` zI<1x)y1!R$ED#W6K+E@7r8+!Yn2HWG2t4(hNffWosELqZ8ryFC!=bBNB7kA5_l8d< zD3%EqOd>@|V5x`v3!+R@qA1*D9@@1Gnj*xhzkANoKmg`AM4Z35+NFQz0Gmsao|Jog zqP(fJQ9OK0xtz7ut7Z~&U4};#Ly%gh#3@mr!~9ogRQ|AIEL4>Vd&3ITavRAkwiOJs zicv0fGV_^oNq?Kq#PVg#Kp<_8F+^og9lUnfk-Jd|@t9Ey@h>GI5X(*<5NnL;HT-#Q zS|!b0I9kgv%PQ#eaK}ODy7bP8Nd^zdp zzN01kKAaoZ4T{Wl?@Ef;Bw!yq_IkY6Ib!+9kWM+8fs1L2*_PK~Ib02=8Ac8FnF2Q~ zpS6TcT>=lkk=hFa&axXlFrDrw+A70rTT)vfv@}e3uR@x4#Qhpt1N-MS+Y;{baEOJ8 z;_nznss$}vXfXqPwDwf&b913gs;S#yNukL;Q=Zz<=(~fTLiF)r$uPA{v+>&D{ZGfEJA z#?H+dd<#w+y!Ma*cT^g@B?NAZS+7W-HtE#ku&7Wb=@QPZc1z^0=+{aF@swfogFWb# z?9X0@7NHk;=PhtcR+&Ic6D_60MjCN}-Xj*H=myJvU#p(NXB_*$n2SKmm^6-b5y1u@ zM*K3$pw!1&py{%6XaIP>1;~x$Q7FRcsJOqhe0);eVOdhVf*R=cNy(|& z@Co-J%%|d-O?$SjZK5S@rF=!ham8dQ#xlYd;hfbUwd82t7|L7!EBW}q#YqXp{5FU1cdYKM_FHY(7tLaEmO6WOXx7A zW$Ff(bX>OE9l9p&zOF`OZnnSru0A&iqftD(aY{Hg^JE}vvTCKyQQcmrP2|;2lxdOi zP~JKgCkj&Nro`<s7BJ;#F7x8OwEjo&L_(%B^e3CkibyOZ+ zx{r#DcB;?y)4^rZ1UlxRF_FyAI(jBAGPBJ7v!jP5dPL`>Z!n^U`7_xJ1UCa(etf55 zel?Ne$)H755g)WYN&da=jhtw}FiQjV#c%?1Xc0p@LL1R#K`m}S|>daSn?ZAmd)e&g%2w1a{k z_gTX1)a;L=tj@y4-|@FZiqGpU`AUYyG-j==vy0^t@_350wSkji_N!P3g9ZmG037)K zU3Zco`wZZ^8g^m3pUYzfZxYW#^I`BFu^bqOOU40n-SYmht>w{ZZVDlM^je3ou4K-J zYzF7`3^LQcv3(LTLy}r_2CxO^R&vpq3pcDvwg@2VrA2mG7A30bXdf#iNm7?ZxFWml z)5u{pwrJyquBYSAn`VHho!z&ff@h>{EK_6kzC0s3QfX>jTri+Go*TVzLwf>cJ=-Bo zF_FYb{*$w)Ro8_X=jWQ&9q7$JR-URw9NDreEh86<1c180Wn89zyJVU#>Y+P+5yB6^MP_Y2xUm6pZDmfFzs)-7Pb>YlsoqvYY_9xsM zyVk%I1V8sNS|S)UE;LtVJt;0CLmE-lMsjN7X`AHJHvHwosu)-KOl6zvDk_GHc2@9z zEveh~z5Rb|ol|gSVVg!{qhs4Tv2EM7Z6_Vu?AYkoIbp}PZFg)>&-_<2HC4Oz?XK@) zSH1Oq>v>kF4-al%yE)K-f%n3#jH^u8KkUq1#l47r1%)eR5N%lihlb2-I)0-_fESn7 zu`LIw^nRJNZMqHd1L<8|yY<&~i+SPHB^2RFQWq$rN)CpB*{CkJc}Lt5&HMuQxrF#x_w2XU z?1*LoFlYId)>IDvVhSsI;cE(4qRMToBvY}oVo+Mj2_>4!sU~)nDl)UaP{z(|c{;t_ z6t|tCKZ@hJ5cXhWYct#kp4Y+9o@o<@t~lp{A-TOPgP|{%S`;|t+@`dAO>IkQJB@{!sNyN!I5ogY zxDPF-K(}OqFHcM2wQi>()W%-I%F9XJXra_Kj0Q#;Gmu!oUz(@~z*V@XHQ%ne&scOY zzpEOZ9;z-E*PVSLqGB|M0{3i!mt^mbE}ob3Ggo+N_p1bO?e<)dxIsdHm1~q-*5T(^ z=<87%{h;tqQ(+P^FUDeTg5LaCH0uk4t3hE^CqwBR-LvS_D!SNr^E};5@^N2z#sMg| zgtt$p>o53*Ct9N3c?Xp-EPs}_%`;%@3zXPiV>Y_+I%_rm&N`egxo+3E&Tc&b?!=Y@UK(>-BYBZ(7Qpx4FMxb<3P#nG-{0UY=VpjQZyAgjc z5q`C9BaALacsvq1Uq8)ng-Q+80)5%Lr%*KW(~qyS#-Tr1Ei8QnmnM82LY>v-KZ~5% zN9L#Fm^T)~lNT;B4iPwBbjA-DT&0g;-xhE*O*CtqeqYj{b+HjvM%f`tRDtCrlJ}^U z_CH)_aX{7-eGpG@q&zx>SWs)1r?L$r8Kvq6H%r)M%gb%-@?>e}e~-f}f^9KU7<7QI zK7-zo%o+Kb>DDLQHYv7}l@(oT=;ni`f7B86zZH|Fw9bkgWRqeo@`BB2IR%ucuDraf zU-?~BtKYkQ+sK#e5u+4;zcZN-VHJgaO#icVOOdg85An#yH3d1x`dp(T8YXjJxI zCKjLqUn2v?N5|?wvU6lzHOjxnt3IoaR@Lq#_)T_EJ6p2VgRcHXtN?Bd3WhKgk4E&9 z{lMLR)?51OL2o9AdEgC#&4QPaoq_DNd%N88g)=aK zV;AmI&stD(&*oDv#ByO_Vo2xn-|TvR!sGkF_wVlsaF~7Y0#erI<6T;!T_Q83Sy>Ge zw=jhIaeE1Y8BIFwEC2WsB|cgt+vS0{I@m33g`P)x^Zj!mh~ThdtaQgzvJiO9JZi-U zB~hGuM{PzJCd@uGLR>XBDF7GJ*{63P2*n*IX*`NDn&v7&7+g3b00R6fC&}m_EB6?v zr-ShD|3XT5=``jNoZ`z$QS~(v<2=N=haqd6jh8DTSn`6Au(TuyW0w3QX*K?3Yx13bx0-P<>tQ7O zP4JPIxCmCwGLqMpcA+YUEGh;xw8HI`5|p(R{E2cb0?@=T@S7=tegFjw&#V}RrltW!-DXW`=xnHlKeumBs)WG0Oy``R+ZmD4yx zc$Dy#v~ttIwL@Jom~Rscd1N*B0Y6t^PWl{qUV@0pk1e~wZT@Cx1w`K`8%7 z%p0LuSN~$eAh&N$#N_BhwW8n;i;Uus^k^a`;&q~%h{ukxu|P=njzyxG0L15V=#sGy z{IPVNQ++!TmJ`h)yaX8<3dD0k-ZL*$#}6?l-+062_Cz1^d<9oh`b)Hgh#2SEVLX(T zw03d@?brZp#M7t&ip<~o-eXrg&QW!E#CljfjgU%VA{;uza%g=k8u7Rnyr zUPRZWoCCN0JO*ynJH%@o=IW^CCHe09Bo8}pZIq74d>(s4wBij@*-z*>lCf}dK`lcf z2Cx>8P*MEhn6H*7nk)l2WtVc0G@Dox$=VB`n9c(zMR-~=5()HVEFW03U^+*=7^$N4 zrHeKDLY&yUKvsA-gi!0JGJUaB6IAs6$uANSVHg_zt>?|xQGMqH1cxjVwN}A_Ll!Yt z*a5C77BXoMLbf%>77`-lrJqscV)D|4YxFDd{;*~Ps8v}C!la+Xf9bODMk^db!P;Rd zlR~mU+h+TKh@?)uuxChKU{^9IQz`LQd4m(pR_$#uKIv9~wzw~!jZ@3#YaIo0M^^Sy z@HuX&>+XotO<75|eADC5okGi2(HXmJ!Yh4Y{z{t8`LgP;ZSUzFL37=TvFmV-CVwHG zD>9y^6j`9*0`p@3@$BA66<5lvuYvtFaDgM$`rCMh$z3AP?;gDQRTSNxP(gW|&GO#* z>3FkKVg!Wp0Go8$)4^N_sziuu~c{o=AkvXZd0M2no zIqRhRWg?(PiC5_8Cn`a=pIj!<15H_t? zf3(IGm=!e5db3>mvTu_eo^`6S8SX17i>PTG8zvXMX8-L*UhS`H3(Gh+{Z4^C`(P}2 zG*4b;O(jsS2&pTPs@g7WB6Ms$t6p(I>+p;ttI@UF@!{?6Jmcn3-x7Sv-k|nhMPz)R zx?IPamUe11H9B&kT1gY}LjL8F1pvcqOTWYIw_}D)qJwo?ci_p4bp0Fo%?7p<5dD^D`Rr zPQjz22;~RgQ4tHwbt@xnCxM+|3tEUm?svT6=;Qq2N5;G^6?p44YsT42O64^(A=Zvk z^~RLhWy7fo&=xs%W(T}SKnA#pLb>IONfAX@xb}&0Wa2nidSl;F@|gud?=39(_M~~0 zpt_nvQ0upzJ~CsxYPx{pm5%l6LN4Q(aSIGU)^lbO)ZKzUdtKZ9ylL<@ukkj|mB-kC z*s82cHm|;@Vz{%p98MswR7TUP#;3=|R=g+>?ev+kkvN?8F&}i`^^IdDqaOvTS$JZ{Cte{*yHyS`^v5X%KpU zM9*wX3DYd}R~tU6>Q&$-{f@R{5_rn;?36s49NJm<$ccO?IUQoW*dvPhE!nu`Ndmo1 zmj6X16aR&9zsu;>`$?w>170yA!5PCZ znE54DWjAoo{RT%MY&T~H%!}xH&N7MVpqocO0IzJ(#r+T4H5^JwhINwxQtFC0h zw=fn--~AG5o>G4ifw)Ph`4qLJ0Yz)q%iTM! z^w}|wuW^{{w9`pPO^diUfWfWJ!2X|bC6+Ivdt3g(&|J11*k2=S{KD+@BtN>wMDm$@M&qDKLk<`9dS5XUP5acQ~07smX(3z1ltV7Pi z&H7hH$#?qoUhpGSaGCMpnUF0HVBlpZm4} zB2gxgj}xWxz%qP9=JQj&UcRTR_-z@coHt#!9f}?x;|C8h2G?De=o4`x#B>(S=8;R~ z1u&sV`V3G&>KDw6LpU9X-RzT(_KRdjil@%J(rw`eK6_u2lychOARo5020JEJ;wM8W>lh`L3A^23Db1Ng%2eonzV~`b zU_^BaPFK7KFOud(|C;$?IRSFw$)?8Sp7|D`f&(Vj{c6DKsU@gtYtm7Mp0Jy;$@8oV z8d?|sUo&b8EKWnY65jyJ(d74g6(cW{JheNd5Zbg%v3U3fsE}VZ~{sZ$0N!zMZ|}G+tnOy_u8? zdCk;MCkIN*mcuglIrEoITRdKGVJzXc*xwjpgnV{S9i&)&ZIY2%xRNX{&KNzPYj>ra zp!3$I#1~8}-((lwnlu(yef`6p-)!vj?fR5WD&7azE4|ho1*%{bu7m2_qar?zUEdyK z$uaTXSJ1-L?(w><D~ju>-N)tSc}30Ed2RQso5DjzmR=*&?9b~z2_ zV=!k+UKu7f6*qS(!LxS=tpfkvW$(;Y%y&4|?f7xe^^W-sCExCf)`uqfXC(R8)gdu* z)0Fy5T&Fk|svjdi1eCu|{o9Wk_P!Q}%6I#S%xxqI*%&{g^}d=Sj&Wk&Q~CUT4!AGp zn7Rqy`S^9k`Qym9pbXl^CUSh`C1mt8xo+U1(-^yk-W$oFe2=qZPd?7XZoEhE+Hq&X zcNeSEICba4Jb2eo8;~;QC3`O&O!|~@I@WfHc1J}1bdgH%1rBQ!cr|C}!t$7rvvZS? zTLS%-=`bxswJPoyt)?eo`zjWyaTGat1+%rT%XOd^@$xp zRgY#cV1J`~Cwsk*^ul{3CMce0?FCAKhGl}zSY-EXBJ;0M)AL5<1B7t^*%>P!JOh4^ zE)2d7b>P;f0i+Ja{ROfCw+V({S*3-;U%#PoG9J5L3TUA zFcmq8Q}*!qp1Opu^z$Mhchl(_HW?%Vb}txeyuM)oW2<%?F<+eI3QGIzPc*kEnR( z90_Opy1A{H<&hlpjSSD@`R&RoaCKi0xgO>DbPDt-<$yD=?(#$9>Py&@dpqm;^eSxg zv-ry4=&G}0qkrq!&6C0NyQK4R^Rwv+uzO|b))w3uxU}VR)l=7b0DKR+I(B|`jB@H3 z{qP+}41JY(^^$s^`$~cAJVYZmc4;|Bd}n(66A`r-3eO*KPjoEkyIYLg`^tE4dcOEJ zrN~wHT2Z?=O?0PvFdFi76zaGZaIbp51F;64zr{6h#3`uQ1N`KcQpQ5Nw)W?9_CbmU zNKFX;ii8AD&48+qq*n)5vB2E zf;y$-1=?GbCJ5CNY`BDJ2;;}S%X^9bf+|o|2Z1*#>nFdG(LWnMb9ON}<;KoP+EI9*vunK(Q$;x3(-cQ{>U>&)}9h>Wd z4}WX&_aQKMR!B~fb0|xm0_%|&o4QC0a!kzJDdAn3G3NUUM$I-we5%A=K<}gMKNgaKUU@ysvg^KS@veYz z`1Jj@%iuoGoE^@;#W)>d{R<;bdZrEDugds_n(J|B7EaDI%2s!yIJBBa9fUujva+?3 z(lb2pY47K`bOk|J@ANAP@3Tc-F{4RD8pq$ zv9v3v4j3@w5dKizb!Nsuim}#NKS{Br4YTq4Rgx)zWZ4qGrx)h4z6|ng&}{pnXlo6h zd`9*H=WPocvM2nJ_tYRt4gD@)J%m`i3;5JUL)L>@xPfjK=`-kf{!aAs=HUY=TQ1J% z8m)re0Wq~_+)vkQa@vgiY9>{H&d8MB1*MuV=gNH$m{Xf9Y9l&O%yIlq*Q6)D$m{QA z_sw)A%2|gj<5ziL^0G41$w$WDmqUHgHj0)(ed5EW`>mp95=52*_CfO%`y}oc*VWl_ zg70HV&H0U8JL5^(keI2R8a#ek;DYv>vw6pFA!!2T-GZRG+en`IRd_{>;J7LJJ)Hwt z)TiNVERS%)Lh)Bfx%F0o%^)$zLZMZeJqWam+2DuyM3=j>7XSfb@xp{_K8Aq8hAD3o%5@W{G4X zNj^R85_Q~=E3!O9op*?wb^;7nRjD8Zi~zm&V}^P;4;}J`NMMaxp{;4nE#8RLH%*N` zEMHQ^PH{|c!QO2&aMqN}+C^o**bAysSy{x;VJCCbBCqCyuv&_Ar57HJz)W7(I)oaV z6l#rBVY?8`&qTLQjk{rQLt!y*B)Gt`^-C|+B3-~7^2kiV$l9E$B#CF=Qhk}h;!;=T>0FNwM^jm|M6c^5-+wElY@Z3N`ruq{67ews<(rw=D)neKdUB)wJ+c4Tz*ax2q+eEW62ch{xT@o7!fd3DG=D0zBp+Xa_}*^Ou3)L?L}5K z(G}DMU>bePrR_|@%AhSqTNle)H30RhC7q0AjouUf=jmK&?CS6D=l6ge%j_n`Yww*C zz7zfvB*nn@8&fehi3z7D20|ZkyT{oolPbJQd;HDGJ_h{FbMy`VLsVX_rUfzwG{L>a zOZ?3}l+Hnis{ks?!12m_XD2LZPv1fQeS@o8*V?TC^Jix#L1<*B9cX@&x=7d7m=J%3 z+r$W{=m_qn9ntbA$((&j^2YC`-+=;1hoMxap9beN|grBZRU(@D>PB#?LhCt)AZ0`23kbmEbko-{f z8)*67U+m?6WPsiwNjyvf3zmUhD;W-&qPd(+aq~KrIXnC_G~@udcS-~WEuA+1l{3Cy zkRfT&1Zj}e4U|S&c@qBh7rtAzPVz~#W|i*UHAS!d!TS{K%xN5yup`p4L+aRBT0j%4 z{ZMEcVSmyn10T$FyikEV)*NU07Yg5^a}Ix=CEcMK3Uoj@y~h|TvOZNSk9lPTM-w;4 z{ciS=6ro$HYP`o7GyRg*;n0lU9YhA-9EGCG7z=>GWy~4i-58OD^F1|xoqWLGsHd=N zM2gHDWtoL=Gp4E)QtrYOHc{sCJ2*t9Er+sPbnA`{$-+q+1DdtL{*XSS`e_uGJ3E9M zz@2fhz@2%L+|t$h>Hri192%iOTRJI?d}6sem8s?p4Ua%^kqm%(G6qRPQ*K1!3pedJPZ=RB?<{FGKDvgaYpy)*$v2VTr$ zQkbp`AA;B*Ifei!Vuh; z!tM%$P@fKuj<@n9r>#(IY%Jnlt?v?O#C?npUr$#ORZ6TXEaLv5F~EgeCJA06yu^(f z#nI|&Z!cOvf$kvE*wf0o$y5r7=t~umvyKuY-j6-2+Dp8dXSJ&{hPn)~u0*J#f#Hw< z+0Umf;cm57@q1ZF)rr#6`ZQ7^#JG9jrbtC8U0VsyJ`=hd<~%zm5*}=?ES;Fg=H3Pi ze!M!eBFGdToPj_XaWRWQY8h~x3O`<1lc~ZV$BGL9r_F+1k6_P0AYXV>QQEbw+*K=H z=wxc9&I{$)B8CgrphUi@UzenmseYA-4HsdOLLzEBCzAP_bROGm;U7A;Mo{zEclsgZ zFPmr|tE__wRYWqK9oDMl3M2D~iF?p$#9wS`Ewq8(S+WE^?`9~ddr<$|LF zIn}4-fZcBF?Q4Zdj?#CPm805=aI*(F$g>gLg@(gIKm8jD2@luDrk3=F0glleUrkc{ zlaag`MGSjAQxr@oP?=pXJ2kuwfLS3sk?nW$KoVhuGTYIv|&pi)9B3 zrMBIQyDGU@S!56dwGHJOGFO^pMYn>?WAm!2mU8&^UP9dsH_s0FYXc&cM1v))nWAj^ zyCQY+b6MJ!f;tr7f>4`rFQj zZQh1Hiy0~8Y4`FgD*RrwA>E;-I}G;TQ*it*vjgm*i{kQ2PN~gLHeZ+@%@MIYzLD8Q zh(1dYCWuqm^m|2ea&_Ho=3760am}*h|Ev51`qNqc^IqbsgC>*<{PqJmqH!0aYmbYV z)7kie2<5!)#iPp7y7Y%2Tj-y0t$=}Jic9OF=Xy{|*itbYZy&?|+j?$x3Zp5W{@=~I z2U_z2RT^?^KkSx|w)qoO8Lb^uaoZUKA}#$J@>g=X29R(;)Nc82YDW?uH2H4Pu@yPO z7ml6AnFyLg?w3&D;u(XFXn7m=3$H)uUjjtm=5*uSo|3v8mZBIuvuuUH;u-fhBytkX zQx;lgla`9PGkqV$4Cb}MiM0N*33ZniRgZI*I6lP;+an%*7!r5yo-UybtnnDP7g#Iz z20PDjSvR18!S9I)B~q6##o5{Kzd`k8cy39IaBkkfF0g2Rn~94%$vYW`XH$Ixin`?^ zc9&v6o%pZK!9MppIDG>~$Jrx`#rcQ_OZ{zX$N3??D~~)a__R!|T65@;*#bbD(@71! zT?*&L1L$*SSW}yeU~c(FJi7lN2JfK)fo2ptPj>=+_w;%IT2NP)0t){rSpi?LuKe>`89-C_fnls;W1g)NYzx;a

M_m&c`$=HA4xO#mHIdC}u@--7>(isM8_^zgEgrevdE>im zImFn_V7a{(X;n=aj%Cau;wkk^iuRBiE*;t4tyC7N;TZ&bdYIMkakn7Hi$k?lvAU8! zx#2PjW%Tx0Wgh<;x6e6*neix)sFxOgOa$Jp_aiSiWnQ3Vi8%fI#cqJ*(~00O?JL;OglM}nAG zFm--UFdk`ACmIe|=>1F%91Y|-;_Udq@-LhSbiMiSxoOr(e~G;kR=CGBxwqCjOMc~V zv^HA=pcW%rh1ou_qn5jYiVX|e0g3Mc%7J)C^u*f68Iw~zY$_rsxLJYs06u_8;j{3J zyf(_sF*UzdxzT6vdETK>-vHNBP&+&Kh9X&9VSq+|^a_I35{x%Ye2b90J*6-zO9fdqs#;==QV`Ls-2CmJ+erLyA ztARfDAIr0H2nyC)s%3l8oR!I5g#C%4yk8;%z3?x*Rrs@Q6L!mC?o-95GQYqm^L@S# zQ+o=-lys|9wt|?1l?{0ej-Pz|WP&$2gt$~6R9sJ6iR}Kg@|zCd(vnJgexQ-Uz*CF< zAXGqyenPOha1KX84O$-)x5;S*7*uhmVG*6_Mu;Uj*wXQ@KLoDP{T^dchbS1MVu)i-Zq-^2TMqy7H zo}E`>T6g%#ce~v8gIcD$N=K3SNxg6w+aV$T*r=kCJKaZvf|vKTuZCi=EKf@`Tw*?U z*v9p4A~1W;CX%iR9KVda1iGx2(Cp*t6mIz!9I% zKX5gjzq#QwGSh@ggsbW;Iw9xs;HAA^L0GXv9uGAh3|0rPyB&^E?)OORm>$!DCgcp% zQOl{O*h&(GEY(Y$tJ*LyZ{Hz)R#7jc6~L2m@3b3v>})T8Hf4}}HJ2>=GP}C-@Kg!<2RWGNc(GTml{hG=2(UP-8tmg2f!@Oo%Hr`x{ zYl}51ehl4%3qxC6LQXE@4^L1GWWC&;^tzBjNczi1?tkL2r5D!+F)ly*fIXO@vaZ@u zjc(O^6B1lT$kSBSnW4z^)3)_Yb+u_dkqlRB2>Ic(b{jdXzaVx{8d{*1O=|J&d^YY= z#jy4btBmg2*$%Jl@TAkIJ!y)})GBX`slM3ce%1 z@{O(TTthzNTWOtgf+O+#k6!cUFb!y3Oq{OMzjEl775g}p@*V4l`?ZIknqxoMWY1~i zL|v6#XO*aUHO9?h+37jY9E{d$4A@f$Si-y+F!#!@(|1)UN8Vs+%|80*$6XhG_=Fiy zKzB>@mhH?so_Rj_j#Jz!HJ6?H8&IOO?T``F5&ewC#TGq82{O%m>&fxpbtptMCCU2^iEXrm+R3W)GyvJMwN*C?TYOBbMYD`YpC)Ye9@5;N<=uvMR|81 z6Z|G4!Y#mso zm`w=}T#*G$Kc$Ys)S~c&6@v}MQQ)ON72k`Pi7*;^u%@taP6jw2i^TQ}1V*#zzbFLGmb z82tq`5gB43yowo)%@~WCm%KJqR^ws$==^oW_&!f7Jy!7!MWQ*s84$hL5K5Z^Uo`z| zBvt$_C5L8$r+Ig#V`%6nrI8h{h{xsCJ{Mvojj}XgLs9fXW}mG(CVa$taEm|m4aIym zEfv=8a8_MtcN%*CJl(QaU z@BtMWHGR`%aS_++M6Li;D2;`GAw_bju9dQIt0{DDZ5pr(a79?2)HbKqyMj@!eB_b; z$rN|D25cHQVd6o)<3^f0Wmw!f;gTxu=BOnc=v(E=t>32b2y8%>pDM8>Pbl1A#|ZE z>tR4TMT1uHoztPR+!gcnfAmo zmqKg7xLtew8Rhp^8!{;0gC131goOQQr&B-KO5?Mg+_B^t+TPK)Kjiy&4!P7*dFMLr zh~?=#UqRx|pwF6J+BA-DeduSqLQ)CKadf>D>Y!hY&%NOaZf5}Ie5TmuW`E<NU!zv1Bk zY114SSQXouixV1Q5Sit_VMYR(=namzg_Zb{;erI^{e%b{9z{3(`3r8=5hKzQ#h+nX zVv2ST?cyhQIggIp8wLi9;IMO~Ulwt+IBZEr5)!SSjT<~ay-W}l-f=+R;UveK7D*cL z&JVuw1iX?gXi-KPAYshM%YZpBWaXu-VDrP9l2(@lkt}WN7c-^+8KnT;7uM}-dGib3 zonWNmH!}KXFZ@gxT;8W|uoEI;=s2`86m?Ysbtsi;DEPc06$n^b5&AJ6;y_%`m_kvD z3BEq1!mzfXf@TbCv$Pxp3>9c-IY?+ZSg0yUf91bwS^Qn=e)!R&s9z?{nG|KwxXj=X zElN2M=UG(e;`X>VN2Ncne?s;|(BJSo23<2^zTnc|uxst&nFY<*2PL5H7Be#3#L53u zv=g%Bgz{!Xe0iEH`Wt(>h;_|?~{Sc7kYyyxoV!9(u`T!unD_RMo_1_=3+Sx8-%FpCWynpCoqLVK zgr8y8_PRr!^QKk*CG(rwlbn9f3`mu#HF5G0dz8&wIDAfd@B|9>nN4+;Air0 z-ad|6PjJN7fPB?L;dx0?Q6|*4pD^za#GAf9<9&nTyM>@J=?R0&UznC6C4WYaSXFX? zh~XF2d*u}E!)pDN)}cZ=2=EPUjVZ53%P%vGv=oY%ndjXXpL|HJkIG=)u_e|0z-8^B zgd21mV!GwcsY{4--gjq~?kY@NgmU?W;o_4{4HD4YGvj1xi6>-Z#t5gfGqM46*D)Pg z@M*E}atF~gvoNX0ul=$hP!ryvcH^!L7f?MlA#%%UDQ?T=eFJ`LXX&SVRLv-WVowgY zMmT@>wgxEKf5!2*eQ_@m#rR@TRjsMY&i;b zeuG_p;WfWA=uH3=!|Wpr_?pD+=DTN{M=Wcn@U8T>9?z zROq%4F`pukO1Gx>s+4z#=}B9~sGkp7m4EpR?9}F$d6ha=3jZtWUy>1RE=Zf?&8Bg@ zFxL39Y%EBPE@EEW1)Cv_tU{Df5o=ULYf}-=j9H&X*62}1%OAa3AnPj4^pr+hVrIhm zfy$f3pJZf#vr(^|!j7B@zK&0v#F)SOzUz$ntT~BCUd}H36H(5tU_xFl)GDK23~FOx zef(2SE*3H_RJ{#5?%K^2v!HPJ;5l7AB-cejDy+Tdf+-;5t z@7=v@D4IRAHMOHafPhxRHt1(Bg08!=8|UM`@P=p7!j5>u)*zFll^g+z)Nh0Pcw4gTriE#d4qvA%n=59d|zNAsDtDN!Sr-^f-?W z<4noK(VEOFYyB*c=?|XM&sQ}921>e?S8Kk_JwcJzZs*4Q=uZ4z0exfp0lI=a8YN)v za<->8=t+CO8gX`X{%k9bZDlB-Chi2z4DSI`+#)5GmaiE|IUEAP(u-_|)shb)oX><+ zeHO-_>_etFrjg3^(l<8~@B*_qf9Turi^YAnJmnm#Rcp3t7QFS?aCPj*t`Zq4RYvk` zYDo^!w23pWHL%IHd9D(wJswRO%~=GT;-SV65f_S@#9X&1J<;q#?`HMdCIf^Ku(WCk zX>T^Q!c_IvDU~&jifU9^w02cFPD6x?*({>K?jMddfmn|w2rtibJb^jWiqWeHnWM`o zvIcNfh7xNo;E!pVC0&HRHP&63$879V2+HOPtgzk=<|iXpgp7}Ow2fm`s^N{gqH9aF z2Za`2^@SY96&GIvN=?;;3j5n#fhhxAFS|;XjUlaC`}uat|II$6Ty_x`A@+ zhb_IIkq%<5q#DiWt00u=86pTXP5}{iSO1JnxYpJ?yCkrm2yI{7VNyS9P*CvpQJ?gq28a7Vd%8&x+0gvmFzen~l zy27~H5^AFtmYh3=SLH-Mj++{nTm~`cF(8BN`!6n6<(_fn%QLeb;Nw)$w0-LnEf4TL ztp{LqgTz@oox4AI*+*shDBZkja2)r&W&%2D0Vi*O4p7TqyF^UhBRvs7Rf4mlzu>N(IYSD-@))x z<`{ao$1tsP;%*k7t~zzQQSFYM$lavA-#Nt&_G1ltg)-8#f^24H3KZ z*p)L|*nsexF8^a^+b3o$*HP!2o8o#f;0Hxkw}*R8*=l?V-k5QFRu!`^a-2#WssZ8Y z4*N#%2leeSt;>H(HqKof!h;;wWYJ_1b`F-sC2l>6U&H_c%-UT8)PTMHWV2g^VlO_d z1Vzjp3v^B9;y!Fa8fLyIvB%4--&bb1a%!GgOH=OLo^Ers-RS%G2rZpJj@0UI)uq<^ zzSIi)ll9~h;f!SDv6V5houAA*5JcVLkaq;_h}ZK`cQagJ0tMQ4XuneeOMPBBZBp`8 z%Rf+S`!(I-KC&E=cV+>vjP0=BWdQm4lq`uE8x9|J*ZGaC7=gvj2Vi?kwplehfiI^8t;Ch~ga8{y(0Th;3)CK6kE>*s@|C_Mx;i6R zxUE+Myb;2>jSIWQr@5KkLGLaAS>;Ce^l_tH=gN{^`VbL$H;%zp_Sw`qsiz7N*&5B< zTe9SRvgU>2s}2Bh0V>fj1ilnwmfW6rY8Gn2&K_oJCA`vo%WTwIS+Dp_gkCMW7ezMB zXNyk;cgfT2tF}oir*ikAlzX4v-QZ*a!I?uv0arqGkbB(z=|IA@w&OV#(w#vWSw7{| z3q=WO5n&wbQR=My>=_MF%6#5$95YVJTsU9&Le>$)wUHchvSjI}2*>CHAU+1s;E1t? zABnCe^REu9xlL(mRa_{GM5&Wc5YUMCD7v&LN)i3bx{-S;M2mhz6-^<1Ph(5pKKanD zX7acNBZPD}L6oEArM@UN-L^c_hw-D>VHoAF#k_wYaP!7k3I_1S|vpczp|$8cXkd^77d zdaN%_MBa4f6x!QmqitHu*OMmV!0~6{d(@%s;vZY!StkpoS~P(vDp=hvR&U#4`zIFn z7}428Qh?UjI^K2q@%i6lw37QODaH){4yJOtB%&h-!0&;f- zf?PPkit3*GeDp+Okm%`x>qW6roP zQEBG@kUVwuN^2V*i)El`-p5-oMOqTrmVgoQ;>q{q!@xgA^ZU8jL1z|{!mYN_zX*)U zR%eHCs3haeYr)==Sv-TfQN*l7S-_1=adx6-XlEYG)A^(<53cb)a&=9*=rP_|UX5w) z1AK@Tkl$FG**$`|obk3|5WLVrvyw*J6Pa!CD{eE{kBimPWnLSRZi-cL^u;-amhny{ zFz|S?CH)JVY)1?2L#Jy?1=cBX3-l#JnlG%|J-{nGSmTx*LZ@5j>Fx1yYq#Xw*K0st zJZx4xX2aGMI%GOSIIKHQp$0eD547)Weh@yGoH<9#*C^5SFtb=*DlJx5E^b64<2S2U zE8z*3Ux=&CIT3ZpG}GY{3S~rP7VQbUC7mj<@#QQ>r$vWQB588+im^aJu zTbi4+iOflhVeNE?j{XU6p;U^V9fc+t$#p=>6Ia z>@}VKAu4FFB4wKWG_@hIb}TT}!~jIBeJ7kg#>r*}edp&t?j}nAc~LZ^iu5;Wxr=N{ zUOiYKiioZn?IatuD}kLQnUOmjB0eW#J_>{=b4Q8L<7#kPHENjaa>konA;FnZ? zeJh^NrE$&cfKkwjDMRtAkap)+G;Nl%$@&v{)7DJq#Q7>!|zVHnf-=TSi ze#xE#!PrOiS|biPsAwB|1G262+*#;cWYGXLRv2Lw4^W5FIKDX5D1nP$A4bOOu+sdy zQHYRui7pbj!y9qQt{h(WQKaR2(diB(PZIg~uET)abW=vynE@uUmf)H!i#`(L;4yLblr$ha#%FDlrk8D!L(($_ zZ_vVZ(vM}?t}~xSn!^O-{Plnx=;_A{52i_&y0t~w?i+}RQX6o)ru^(oWGTI*w|-r;#tb7?KcYX*ONSTYk`F?3gy zp;Eb03aAUtBiS5o_8foZtupb&pz5}rX9E8cgs_OJJd=2)xByQt2T?8%HY4(N+t6_t zp~!{^PE^ZGW7J95<$EkPQ7POclFX!%3y`$lxAVupbzAvZD?b)L z0!Nz{mrLj!$ESV5>{TKM5_u-JR4zRMMh;P-7hByTKTX?%CashH`&Im z2+A>Vu1cgVK|y-^KOZyaKmV(paE<4TWo1?rTi)&MyMI1pRd{K`?`Ef z!io}iN;FM$i{r&Lvqyw0?k$k>WJ_YO?nH(965Jawjo2g1#gi_%0QVytoM~*2l+YAr z>S6PbC?gXp264259}F2dhc3-}a5CR50SvS`-i3A~z@fDLu+Ue|ZVdC~rf?EKh{ooTg>J zCRM1r_G@93!-%Hdm{5eDn^F!>)a)azLq<4t|1+J`72dTFs~$r>vn*m7A;Yz)l&Zm2nXSx^k~T^)(y#w2I+>)m-Dqx3I`XDI^lKLV9)Z zEIOe366O)-7{m^kw5pi<657zcq;1Kcm){`&Ir(r?(8IZqK|l)e|2y7M)XLbw!QAeD zgPs0baDHmQloQ8Kx3(2ApIy9BBQ~QG1$lyBtigCa%c%Z<_x`o&@s8}j9

~b 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 z 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

UZ&ga~moRmqBVLcUz+keg7c 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ɴGr_7oZgR32DbUIkfhyyv6cLD|87d4Nq^tv!z!U=
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

5^lwJfn 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 z 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

HfD||EC{l6t|F+gI;mYb)zK1 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

}6)q98bKs&S+N#*T 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

+}2850J282zDfz676tMqt; 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®>OI-?Vvf$xH%NDU$D9KH~u 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%0A?7%+9a+lVfuiM0)}t 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%0DTPVmTx)xQU=R`%eS_Gp<{8c_{jew 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�OpV>Qx={D9u+&0ilC0E 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

tXIV!5;31qGmnb5d>odZx!9expi@7+WrhI23J61 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

FIpyY{!v{wYO5%s;sG^k5X;^(((8K2oO%V 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

}iIG)*{;*z~>@J(#%^p~XR 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

=n7j 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


D()-_3C-Y=q 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�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

U&4P21mO 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 ZH(t}^Ae6x=5}ExnI~Tx)F)XK0{s%ksC#nDd literal 0 HcmV?d00001 diff --git a/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/svg-embed-and-crop-1.6.jar b/extensions/fablabchemnitz/svg_embed_and_crop/svg_embed_and_crop/svg-embed-and-crop-1.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..06f4c109bf67a4f9388590addc97b1e059d1c7cb GIT binary patch literal 17753 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 literal 0 HcmV?d00001 diff --git a/extensions/fablabchemnitz/travel/meta.json b/extensions/fablabchemnitz/travel/meta.json new file mode 100644 index 0000000..e86933e --- /dev/null +++ b/extensions/fablabchemnitz/travel/meta.json @@ -0,0 +1,21 @@ +[ + { + "name": "Travel", + "id": "fablabchemnitz.de.travel", + "path": "travel", + "dependent_extensions": null, + "original_name": "Travel", + "original_id": "travel.rkp8000.inkscape", + "license": "MIT License", + "license_url": "https://github.com/rkp8000/inkscape-travel/blob/master/LICENSE", + "comment": "ported to Inkscape v1 manually by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/travel", + "fork_url": "https://github.com/rkp8000/inkscape-travel", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Travel", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/rkp8000", + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/travel/travel.inx b/extensions/fablabchemnitz/travel/travel.inx new file mode 100644 index 0000000..332e60f --- /dev/null +++ b/extensions/fablabchemnitz/travel/travel.inx @@ -0,0 +1,39 @@ + + + Travel + fablabchemnitz.de.travel + + + 1 + 1 + 0 + 1 + + 11 + 0 + 0 + + t + 0 + 1 + 1 + 0 + + + + + + + + + all + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/travel/travel.py b/extensions/fablabchemnitz/travel/travel.py new file mode 100644 index 0000000..6cc25e1 --- /dev/null +++ b/extensions/fablabchemnitz/travel/travel.py @@ -0,0 +1,269 @@ +#!/usr/bin/env python3 + +""" +Copyright (C) 2018 Rich Pang, rpang.contact@gmail.com. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +""" + +from __future__ import division +from copy import deepcopy +import inkex +from inkex.paths import Path, CubicSuperPath +from inkex.transforms import Transform +import numpy as np +from lxml import etree + +# rename common numpy operations +abs = np.abs +sin = np.sin +cos = np.cos +tan = np.tan +exp = np.exp +log = np.log +log10 = np.log10 + +pi = np.pi + +__version__ = '0.1' + +def split(l, sizes): + """Split a list into sublists of specific sizes.""" + if not sum(sizes) == len(l): + raise ValueError('sum(sizes) must equal len(l)') + + sub_lists = [] + ctr = 0 + for size in sizes: + sub_lists.append(l[ctr:ctr+size]) + ctr += size + + return sub_lists + + +class Travel(inkex.Effect): + + def __init__(self): + + # initialize parent class + inkex.Effect.__init__(self) + + # get params entered by user + self.arg_parser.add_argument('--x_scale', type=float, default=0, help='x scale') + self.arg_parser.add_argument('--y_scale', type=float, default=0, help='y scale') + self.arg_parser.add_argument('--t_start', type=float, default=0, help='t start') + self.arg_parser.add_argument('--t_end', type=float, default=1, help='t_end') + self.arg_parser.add_argument('--n_steps', type=int, default=10, help='num steps') + self.arg_parser.add_argument('--fps', type=float, default=0, help='fps') + self.arg_parser.add_argument('--dt', type=float, default=0, help='dt') + self.arg_parser.add_argument('--x_eqn', default='', help='x') + self.arg_parser.add_argument('--y_eqn', default='', help='y') + self.arg_parser.add_argument('--x_size_eqn', default='', help='x size') + self.arg_parser.add_argument('--y_size_eqn', default='', help='y size') + self.arg_parser.add_argument('--theta_eqn', default='', help='theta') + self.arg_parser.add_argument('--active-tab', default='options', help='active tab') + + def effect(self): + x_scale = self.options.x_scale + y_scale = self.options.y_scale + + t_start = self.options.t_start + t_end = self.options.t_end + n_steps = self.options.n_steps + fps = self.options.fps + dt = self.options.dt + + x_eqn = self.options.x_eqn + y_eqn = self.options.y_eqn + + x_size_eqn = self.options.x_size_eqn + y_size_eqn = self.options.y_size_eqn + + theta_eqn = self.options.theta_eqn + + # get doc root + svg = self.document.getroot() + doc_w = self.svg.unittouu(svg.get('width')) + doc_h = self.svg.unittouu(svg.get('height')) + + # get selected items and validate + selected = svg.selection.rendering_order() + + if not selected: + inkex.errormsg('Exactly two objects must be selected: a rect and a template. See "help" for details.') + return + elif len(selected) != 2: + inkex.errormsg('Exactly two objects must be selected: a rect and a template. See "help" for details.') + return + + # rect + rect = self.svg.selected[self.options.ids[0]] + + if not rect.tag.endswith('rect'): + inkex.errormsg('Bottom object must be rect. See "help" for usage.') + return + + # object + obj = self.svg.selected[self.options.ids[1]] + + if not (obj.tag.endswith('path') or obj.tag.endswith('g')): + inkex.errormsg('Template object must be path or group of paths. See "help" for usage.') + return + if obj.tag.endswith('g'): + children = obj.getchildren() + if not all([ch.tag.endswith('path') for ch in children]): + msg = 'All elements of group must be paths, but they are: ' + msg += ', '.join(['{}'.format(ch) for ch in children]) + inkex.errormsg(msg) + return + objs = children + is_group = True + else: + objs = [obj] + is_group = False + + # get rect params + w = float(rect.get('width')) + h = float(rect.get('height')) + + x_rect = float(rect.get('x')) + y_rect = float(rect.get('y')) + + # lower left corner + x_0 = x_rect + y_0 = y_rect + h + + # get object path(s) + obj_ps = [Path(obj_.get('d')) for obj_ in objs] + n_segs = [len(obj_p_) for obj_p_ in obj_ps] + obj_p = sum(obj_ps, []) + + # compute travel parameters + if not n_steps: + # compute dt + if dt == 0: + dt = 1./fps + ts = np.arange(t_start, t_end, dt) + else: + ts = np.linspace(t_start, t_end, n_steps) + + # compute xs, ys, stretches, and rotations in arbitrary coordinates + xs = np.nan * np.zeros(len(ts)) + ys = np.nan * np.zeros(len(ts)) + x_sizes = np.nan * np.zeros(len(ts)) + y_sizes = np.nan * np.zeros(len(ts)) + thetas = np.nan * np.zeros(len(ts)) + + for ctr, t in enumerate(ts): + xs[ctr] = eval(x_eqn) + ys[ctr] = eval(y_eqn) + x_sizes[ctr] = eval(x_size_eqn) + y_sizes[ctr] = eval(y_size_eqn) + thetas[ctr] = eval(theta_eqn) * pi / 180 + + # ensure no Infs + if np.any(np.isinf(xs)): + raise Exception('Inf detected in x(t), please remove.') + return + if np.any(np.isinf(ys)): + raise Exception('Inf detected in y(t), please remove.') + return + if np.any(np.isinf(x_sizes)): + raise Exception('Inf detected in x_size(t), please remove.') + return + if np.any(np.isinf(y_sizes)): + raise Exception('Inf detected in y_size(t), please remove.') + return + if np.any(np.isinf(thetas)): + raise Exception('Inf detected in theta(t), please remove.') + return + + # convert to screen coordinates + xs *= (w/x_scale) + xs += x_0 + + ys *= (-h/y_scale) # neg sign to invert y for inkscape screen + ys += y_0 + + # get obj center + b_box = Path(obj_p).bounding_box() + c_x = 0.5 * (b_box.left + b_box.right) + c_y = 0.5 * (b_box.top + b_box.bottom) + + # get rotation anchor + if any([k.endswith('transform-center-x') for k in obj.keys()]): + k_r_x = [k for k in obj.keys() if k.endswith('transform-center-x')][0] + k_r_y = [k for k in obj.keys() if k.endswith('transform-center-y')][0] + r_x = c_x + float(obj.get(k_r_x)) + r_y = c_y - float(obj.get(k_r_y)) + else: + r_x, r_y = c_x, c_y + + paths = [] + + # compute new paths + for x, y, x_size, y_size, theta in zip(xs, ys, x_sizes, y_sizes, thetas): + path = deepcopy(obj_p) + + # move to origin + path = Path(path).translate(-x_0, -y_0) + + # move rotation anchor accordingly + r_x_1 = r_x - x_0 + r_y_1 = r_y - y_0 + + # scale + path = Path(path).scale(x_size, y_size) + + # scale rotation anchor accordingly + r_x_2 = r_x_1 * x_size + r_y_2 = r_y_1 * y_size + + # move to final location + path = Path(path).translate(x, y) + + # move rotation anchor accordingly + r_x_3 = r_x_2 + x + r_y_3 = r_y_2 + y + + # rotate + path = Path(path).rotate(-theta, (r_x_3, r_y_3)) + paths.append(path) + + parent = self.svg.get_current_layer() + group = etree.SubElement(parent, inkex.addNS('g', 'svg'), {}) + + for path in paths: + + if is_group: + group_ = etree.SubElement(group, inkex.addNS('g', 'svg'), {}) + path_components = split(path, n_segs) + + for path_component, child in zip(path_components, children): + attribs = { + k: child.get(k) for k in child.keys() + } + attribs['d'] = str(Path(path_component)) + child_copy = etree.SubElement(group_, child.tag, attribs) + + else: + attribs = { + k: obj.get(k) for k in obj.keys() + } + attribs['d'] = str(Path(path)) + obj_copy = etree.SubElement(group, obj.tag, attribs) + +if __name__ == '__main__': + Travel().run() \ No newline at end of file diff --git a/extensions/fablabchemnitz/triangular_grid/triangular_grid.inx b/extensions/fablabchemnitz/triangular_grid/triangular_grid.inx index c3f56b7..1aa0c04 100644 --- a/extensions/fablabchemnitz/triangular_grid/triangular_grid.inx +++ b/extensions/fablabchemnitz/triangular_grid/triangular_grid.inx @@ -27,7 +27,7 @@ 2 - #ffff00ff + #ff00ffff 2 diff --git a/extensions/fablabchemnitz/triangular_grid/triangular_grid.py b/extensions/fablabchemnitz/triangular_grid/triangular_grid.py index fc2c21e..62c8ed0 100644 --- a/extensions/fablabchemnitz/triangular_grid/triangular_grid.py +++ b/extensions/fablabchemnitz/triangular_grid/triangular_grid.py @@ -29,25 +29,6 @@ import inkex from lxml import etree from math import * -def draw_SVG_line(x1, y1, x2, y2, width, stroke, name, parent): - style = { 'stroke': stroke, 'stroke-width':str(width), 'fill': 'none' } - line_attribs = {'style':str(inkex.Style(style)), - inkex.addNS('label','inkscape'):name, - 'd':'M '+str(x1)+','+ str(y1) +' L '+ str(x2) + ',' + str(y2)} - etree.SubElement(parent, inkex.addNS('path','svg'), line_attribs ) - -def draw_SVG_rect(x,y,w,h, width, stroke, fill, name, parent): - style = { 'stroke': stroke, 'stroke-width':str(width), 'fill':fill} - rect_attribs = {'style':str(inkex.Style(style)), - inkex.addNS('label','inkscape'):name, - 'x':str(x), 'y':str(y), 'width':str(w), 'height':str(h)} - etree.SubElement(parent, inkex.addNS('rect','svg'), rect_attribs ) - -def colorString(pickerColor): - longcolor = int(pickerColor) & 0xFFFFFF00 - return '#' + format(longcolor >> 8, '06X') - - class TriangularGrid(inkex.EffectExtension): def add_arguments(self, pars): @@ -120,8 +101,7 @@ class TriangularGrid(inkex.EffectExtension): end_y = border_points[right][y] return [[start_x,start_y],[end_x, end_y]] - def drawAngledGridLine (self, x1, y1, theta, thickness, color, - label, groupName): + def drawAngledGridLine (self, x1, y1, theta, width, color, label, groupName): end_points = self.trimmed_coords(x1, y1, theta) x_start = end_points[0][0] y_start = end_points[0][1] @@ -131,9 +111,25 @@ class TriangularGrid(inkex.EffectExtension): if (x_end >= 0 and x_end <= self.xmax and y_end >= 0 and y_end <= self.ymax and (y_start != y_end and x_start != x_end)): - draw_SVG_line(x_start, y_start, - x_end, y_end, - thickness, colorString(color), label, groupName) + self.draw_SVG_line(x_start, y_start, x_end, y_end, width, self.colorString(color), label, groupName) + + def draw_SVG_line(self, x1, y1, x2, y2, width, stroke, name, parent): + style = { 'stroke': stroke, 'stroke-width':self.svg.unittouu(str(width) + "px"), 'fill': 'none' } + line_attribs = {'style': str(inkex.Style(style)), + inkex.addNS('label','inkscape'):name, + 'd':'M '+ str(x1)+','+ str(y1) +' L '+ str(x2) + ',' + str(y2)} + etree.SubElement(parent, inkex.addNS('path','svg'), line_attribs ) + + def draw_SVG_rect(self, x,y,w,h, width, stroke, fill, name, parent): + style = { 'stroke': stroke, 'stroke-width':self.svg.unittouu(str(width) + "px"), 'fill': fill} + rect_attribs = {'style': str(inkex.Style(style)), + inkex.addNS('label','inkscape'): name, + 'x': str(x), 'y': str(y), 'width': str(w), 'height': str(h)} + etree.SubElement(parent, inkex.addNS('rect','svg'), rect_attribs ) + + def colorString(self, pickerColor): + longcolor = int(pickerColor) & 0xFFFFFF00 + return '#' + format(longcolor >> 8, '06X') def effect(self): @@ -149,9 +145,9 @@ class TriangularGrid(inkex.EffectExtension): t = 'translate(' + str( self.svg.namedview.center[0]- self.xmax/2.0) + ',' + \ str( self.svg.namedview.center[1]- self.ymax/2.0) + ')' g_attribs = {inkex.addNS('label','inkscape'):'Grid_Triangular:Size' + \ - str( self.options.x_divs)+'x'+str(self.options.y_divs) + - ':Angle'+str( self.options.grid_angle ), - 'transform':t } + str( self.options.x_divs) + 'x' + str(self.options.y_divs) + + ':Angle' + str( self.options.grid_angle ), + 'transform': t } grid = etree.SubElement(self.svg.get_current_layer(), 'g', g_attribs) #Group for major x gridlines @@ -184,9 +180,9 @@ class TriangularGrid(inkex.EffectExtension): g_attribs = {inkex.addNS('label','inkscape'):'SubMinorNegGridlines'} mmingln = etree.SubElement(grid, 'g', g_attribs) - draw_SVG_rect(0, 0, self.xmax, self.ymax, + self.draw_SVG_rect(0, 0, self.xmax, self.ymax, self.options.border_th, - colorString(self.options.border_color), 'none', + self.colorString(self.options.border_color), 'none', 'Border', grid) #border rectangle sd = self.options.subdivs #sub divs per div @@ -198,25 +194,25 @@ class TriangularGrid(inkex.EffectExtension): for i in range(0, self.options.x_divs): #Major x divisons if i>0: #dont draw first line (we made a proper border) # Draw the vertical line - draw_SVG_line(dx*i, 0, + self.draw_SVG_line(dx*i, 0, dx*i,self.ymax, self.options.major_th, - colorString(self.options.major_color), + self.colorString(self.options.major_color), 'MajorDiv'+str(i), majglx) for j in range (0, sd): if j>0: #not for the first loop (this loop is for the subsubdivs before the first subdiv) - draw_SVG_line(dx*(i+j/float(sd)), 0, + self.draw_SVG_line(dx*(i+j/float(sd)), 0, dx*(i+j/float(sd)), self.ymax, self.options.subdiv_th, - colorString(self.options.subdiv_color), + self.colorString(self.options.subdiv_color), 'MinorDiv'+str(i)+':'+str(j), minglx) for k in range (1, ssd): #subsub divs - draw_SVG_line(dx*(i+(j*ssd+k)/((float(sd)*ssd))) , 0, + self.draw_SVG_line(dx*(i+(j*ssd+k)/((float(sd)*ssd))) , 0, dx*(i+(j*ssd+k)/((float(sd)*ssd))) , self.ymax, self.options.subsubdiv_th, - colorString(self.options.subsubdiv_color), + self.colorString(self.options.subsubdiv_color), 'SubminorDiv'+str(i)+':'+str(j)+':'+str(k), mminglx) #DO THE VERTICAL DIVISONS======================================== diff --git a/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/meta.json b/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/meta.json new file mode 100644 index 0000000..d93e932 --- /dev/null +++ b/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/meta.json @@ -0,0 +1,23 @@ +[ + { + "name": "Ungrouper And Element Migrator/Filter", + "id": "fablabchemnitz.de.ungrouper_and_element_migrator_filter", + "path": "ungrouper_and_element_migrator_filter", + "dependent_extensions": [ + "apply_transformations", + "remove_empty_groups" + ], + "original_name": "Ungrouper And Element Migrator/Filter", + "original_id": "fablabchemnitz.de.ungrouper_and_element_migrator_filter", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/LICENSE", + "comment": "Created by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.2/src/branch/master/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=77267295", + "inkscape_gallery_url": "https://inkscape.org/de/~MarioVoigt/%E2%98%85ungrouper-and-element-migratorfilter", + "main_authors": [ + "github.com/eridur-de" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/ungrouper_and_element_migrator_filter.inx b/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/ungrouper_and_element_migrator_filter.inx new file mode 100644 index 0000000..77aca3f --- /dev/null +++ b/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/ungrouper_and_element_migrator_filter.inx @@ -0,0 +1,123 @@ + + + Ungrouper And Element Migrator/Filter + fablabchemnitz.de.ungrouper_and_element_migrator_filter + + + + + + + true + true + true + true + true + true + true + + + + + true + true + true + true + true + + + + + true + true + true + true + true + true + + + + + + + + + true + true + true + true + true + true + true + true + + + + true + true + true + true + true + true + true + true + + + + + + + + + + + true + false + false + false + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ../000_about_fablabchemnitz.svg + + + + path + + + + + + + + diff --git a/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/ungrouper_and_element_migrator_filter.py b/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/ungrouper_and_element_migrator_filter.py new file mode 100644 index 0000000..c6ba811 --- /dev/null +++ b/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/ungrouper_and_element_migrator_filter.py @@ -0,0 +1,265 @@ +#!/usr/bin/env python3 + +""" +Extension for InkScape 1.0 + +This extension parses the selection and will put all elements into one single group. If you have a cluster with lots of groups and elements you will clean up this way (one top level group, all elements below it). If you select a single element or a set of elements you just wrap it like using CTRL + G (like making a usual group). You can also use this extension to filter out unwanted SVG elements at all. + +Author: Mario Voigt / FabLab Chemnitz +Mail: mario.voigt@stadtfabrikanten.org +Date: 13.08.2020 +Last Patch: 13.09.2020 +License: GNU GPL v3 +""" + +import inkex +import os +import sys +from lxml import etree + +sys.path.append("../remove_empty_groups") +sys.path.append("../apply_transformations") + +class UngrouperAndElementMigratorFilter(inkex.EffectExtension): + + allElements = [] #list of all (sub)elements to process within selection + allGroups = [] #list of all groups (svg:g and svg:svg items) to delete for cleanup (for ungrouping) + allDrops = [] #list of all other elements except svg:g and svg:svg to drop while migrating (for filtering) + + def add_arguments(self, pars): + pars.add_argument("--tab") + + pars.add_argument("--operationmode", default=False, help="Operation mode") + pars.add_argument("--parsechildren", type=inkex.Boolean, default=True, help="Perform operations on children of selection") + pars.add_argument("--showdroplist", type=inkex.Boolean, default=False, help="Show list of dropped items") + pars.add_argument("--shownewgroupname", type=inkex.Boolean, default=False, help="This helps to better identify the generated output.") + pars.add_argument("--apply_transformations", type=inkex.Boolean, default=False, help="Run 'Apply Transformations' extension before running vpype. Helps avoiding geometry shifting") + pars.add_argument("--cleanup", type=inkex.Boolean, default = True, help = "This will call the extension 'Remove Empty Groups' if available") + pars.add_argument("--migrate_to", default = "group", help = "Migrate to") + + #pars.add_argument("--sodipodi", type=inkex.Boolean, default=True) + #pars.add_argument("--svg", type=inkex.Boolean, default=True) + pars.add_argument("--circle", type=inkex.Boolean, default=True) + pars.add_argument("--clipPath", type=inkex.Boolean, default=True) + pars.add_argument("--defs", type=inkex.Boolean, default=True) + pars.add_argument("--desc", type=inkex.Boolean, default=True) + pars.add_argument("--ellipse", type=inkex.Boolean, default=True) + pars.add_argument("--image", type=inkex.Boolean, default=True) + pars.add_argument("--guide", type=inkex.Boolean, default=True) + pars.add_argument("--line", type=inkex.Boolean, default=True) + pars.add_argument("--path", type=inkex.Boolean, default=True) + pars.add_argument("--polyline", type=inkex.Boolean, default=True) + pars.add_argument("--polygon", type=inkex.Boolean, default=True) + pars.add_argument("--rect", type=inkex.Boolean, default=True) + pars.add_argument("--text", type=inkex.Boolean, default=True) + pars.add_argument("--tspan", type=inkex.Boolean, default=True) + pars.add_argument("--linearGradient", type=inkex.Boolean, default=True) + pars.add_argument("--radialGradient", type=inkex.Boolean, default=True) + pars.add_argument("--mask", type=inkex.Boolean, default=True) + pars.add_argument("--meshGradient", type=inkex.Boolean, default=True) + pars.add_argument("--meshRow", type=inkex.Boolean, default=True) + pars.add_argument("--meshPatch", type=inkex.Boolean, default=True) + pars.add_argument("--metadata", type=inkex.Boolean, default=True) + pars.add_argument("--script", type=inkex.Boolean, default=True) + pars.add_argument("--symbol", type=inkex.Boolean, default=True) + pars.add_argument("--stop", type=inkex.Boolean, default=True) + pars.add_argument("--style", type=inkex.Boolean, default=True) + pars.add_argument("--switch", type=inkex.Boolean, default=True) + pars.add_argument("--use", type=inkex.Boolean, default=True) + pars.add_argument("--flowRoot", type=inkex.Boolean, default=True) + pars.add_argument("--flowRegion", type=inkex.Boolean, default=True) + pars.add_argument("--flowPara", type=inkex.Boolean, default=True) + pars.add_argument("--marker", type=inkex.Boolean, default=True) + pars.add_argument("--pattern", type=inkex.Boolean, default=True) + pars.add_argument("--rdfRDF", type=inkex.Boolean, default=True) + pars.add_argument("--ccWork", type=inkex.Boolean, default=True) + + + def effect(self): + namespace = [] #a list of selected types we are going to process for filtering (dropping items) + #namespace.append("{http://www.w3.org/2000/svg}sodipodi") if self.options.sodipodi else "" #do not do this. it will crash InkScape + #namespace.append("{http://www.w3.org/2000/svg}svg") if self.options.svg else "" #we handle svg:svg the same type like svg:g + namespace.append("{http://www.w3.org/2000/svg}circle") if self.options.circle else "" + namespace.append("{http://www.w3.org/2000/svg}clipPath") if self.options.clipPath else "" + namespace.append("{http://www.w3.org/2000/svg}defs") if self.options.defs else "" + namespace.append("{http://www.w3.org/2000/svg}desc") if self.options.desc else "" + namespace.append("{http://www.w3.org/2000/svg}ellipse") if self.options.ellipse else "" + namespace.append("{http://www.w3.org/2000/svg}image") if self.options.image else "" + namespace.append("{http://www.w3.org/2000/svg}line") if self.options.line else "" + namespace.append("{http://www.w3.org/2000/svg}polygon") if self.options.polygon else "" + namespace.append("{http://www.w3.org/2000/svg}path") if self.options.path else "" + namespace.append("{http://www.w3.org/2000/svg}polyline") if self.options.polyline else "" + namespace.append("{http://www.w3.org/2000/svg}rect") if self.options.rect else "" + namespace.append("{http://www.w3.org/2000/svg}text") if self.options.text else "" + namespace.append("{http://www.w3.org/2000/svg}tspan") if self.options.tspan else "" + namespace.append("{http://www.w3.org/2000/svg}linearGradient") if self.options.linearGradient else "" + namespace.append("{http://www.w3.org/2000/svg}radialGradient") if self.options.radialGradient else "" + namespace.append("{http://www.w3.org/2000/svg}meshGradient") if self.options.meshGradient else "" + namespace.append("{http://www.w3.org/2000/svg}meshRow") if self.options.meshRow else "" + namespace.append("{http://www.w3.org/2000/svg}meshPatch") if self.options.meshPatch else "" + namespace.append("{http://www.w3.org/2000/svg}script") if self.options.script else "" + namespace.append("{http://www.w3.org/2000/svg}symbol") if self.options.symbol else "" + namespace.append("{http://www.w3.org/2000/svg}mask") if self.options.mask else "" + namespace.append("{http://www.w3.org/2000/svg}metadata") if self.options.metadata else "" + namespace.append("{http://www.w3.org/2000/svg}stop") if self.options.stop else "" + namespace.append("{http://www.w3.org/2000/svg}style") if self.options.style else "" + namespace.append("{http://www.w3.org/2000/svg}switch") if self.options.switch else "" + namespace.append("{http://www.w3.org/2000/svg}use") if self.options.use else "" + namespace.append("{http://www.w3.org/2000/svg}flowRoot") if self.options.flowRoot else "" + namespace.append("{http://www.w3.org/2000/svg}flowRegion") if self.options.flowRegion else "" + namespace.append("{http://www.w3.org/2000/svg}flowPara") if self.options.flowPara else "" + namespace.append("{http://www.w3.org/2000/svg}marker") if self.options.marker else "" + namespace.append("{http://www.w3.org/2000/svg}pattern") if self.options.pattern else "" + namespace.append("{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}guide") if self.options.guide else "" + namespace.append("{http://www.w3.org/1999/02/22-rdf-syntax-ns#}RDF") if self.options.rdfRDF else "" + namespace.append("{http://creativecommons.org/ns#}Work") if self.options.ccWork else "" + + #self.msg(namespace) + + #in case the user made a manual selection instead of whole document parsing, we need to collect all required elements first + def parseChildren(element): + if element not in selected: + selected.append(element) + if self.options.parsechildren == True: + children = element.getchildren() + if children is not None: + for child in children: + if child not in selected: + selected.append(child) + parseChildren(child) #go deeper and deeper + + #check the element for it's type and put it into the according list (either re-group or delete or just nothing) + def parseElement(self, element): + #if we only want to ungroup (flatten) the elements we just collect all elements in a list and put them in a new single group later + if self.options.operationmode == "ungroup_only": + if element not in self.allElements: + if element.tag != inkex.addNS('g','svg') and element.tag != inkex.addNS('svg','svg') and element.tag != inkex.addNS('namedview','sodipodi'): + self.allElements.append(element) + #if we dont want to ungroup but filter out elements, or ungroup and filter, we need to divide the elements with respect to the namespace (user selection) + elif self.options.operationmode == "filter_only" or self.options.operationmode == "ungroup_and_filter": + #self.msg(element.tag) + #inkex.utils.debug(element.tag) - uncomment to find out the namespace of new elements + if element.tag in namespace: #if the element is in namespace and no group type we will regroup the item. so we will not remove it + if element not in self.allElements: + self.allElements.append(element) + else: #we add all remaining items (except svg:g and svg:svg) into the list for deletion + #self.msg(element.tag) + if element.tag != inkex.addNS('g','svg') and element.tag != inkex.addNS('svg','svg') and element.tag != inkex.addNS('namedview','sodipodi'): + if element not in self.allDrops: + self.allDrops.append(element) + #finally the groups we want to get rid off are put into a another list. They will be deleted (depending on the mode) after parsing the element tree + if self.options.operationmode == "ungroup_only" or self.options.operationmode == "ungroup_and_filter": + if element.tag == inkex.addNS('g','svg') or element.tag == inkex.addNS('svg','svg'): + if element not in self.allGroups: + self.allGroups.append(element) + + applyTransformationsAvailable = False # at first we apply external extension + try: + import apply_transformations + applyTransformationsAvailable = True + except Exception as e: + # self.msg(e) + self.msg("Calling 'Apply Transformations' extension failed. Maybe the extension is not installed. You can download it from official InkScape Gallery. Skipping ...") + + if self.options.apply_transformations is True and applyTransformationsAvailable is True: + apply_transformations.ApplyTransformations().recursiveFuseTransform(self.document.getroot()) + + #check if we have selected elements or if we should parse the whole document instead + selected = [] #total list of elements to parse + if len(self.svg.selected) == 0: + for element in self.document.getroot().iter(tag=etree.Element): + if element != self.document.getroot(): + + selected.append(element) + else: + for element in self.svg.selected.values(): + parseChildren(element) + + #get all elements from the selection. + for element in selected: + parseElement(self, element) + + #some debugging block + #check output + #self.msg("--- Selected items (with or without children) ---") + #self.msg(selected) + #self.msg("--- All elements (except groups)---") + #self.msg(len(self.allElements)) + #self.msg(self.allElements) + #self.msg("--- All groups ---") + #self.msg(len(self.allGroups)) + #self.msg(self.allGroups) + #self.msg("--- All dropouts ---") + #self.msg(len(self.allDrops)) + #self.msg(self.allDrops) + + + migrate_log = "migrategroups.log" + + # Clean up possibly previously generated log file + if os.path.exists(migrate_log): + try: + os.remove(migrate_log) + except OSError as e: + self.msg("Error while deleting previously generated log file " + migrate_log) + + # show a list with items to delete. For ungroup mode it does not apply because we are not going to remove anything + if self.options.operationmode == "filter_only" or self.options.operationmode == "ungroup_and_filter": + if self.options.showdroplist: + self.msg(str(len(self.allDrops)) + " elements were removed during nodes while migration.") + if len(self.allDrops) > 100: #if we print too much to the output stream we will freeze InkScape forever wihtout any visual error message. So we write to file instead + migrate_log_file = open('migrategroups.log', 'w') + else: + migrate_log_file = None + for i in self.allDrops: + if i.get('id') is not None: + migrateString = i.tag.replace("{http://www.w3.org/2000/svg}","svg:") + " id:" + i.get('id') + else: + migrateString = i.tag #there are also some special elements without an id in the document, like rdf:RDF or cc:Work + if migrate_log_file is None: + self.msg(migrateString) + else: + migrate_log_file.write(migrateString + "\n") + if migrate_log_file is not None: + migrate_log_file.close() + self.msg("Detailed output was dumped into file " + os.path.join(os.getcwd(), migrate_log)) + + # remove all groups from the selection and form a new single group of it by copying with old IDs. + if self.options.operationmode == "ungroup_only" or self.options.operationmode == "ungroup_and_filter": + if len(self.allElements) > 0: + newGroup = self.document.getroot().add(inkex.Group()) #make a new group at root level + newGroup.set('id', self.svg.get_unique_id('migrate-')) #generate some known ID with the prefix 'migrate-' + if self.options.migrate_to == "layer": + newGroup.set(inkex.addNS('groupmode', 'inkscape'), 'layer') + + if self.options.shownewgroupname == True: + self.msg("The migrated elements are now in group with ID " + str(newGroup.get('id'))) + index = 0 + for element in self.allElements: #we have a list of elements which does not cotain any other elements like svg:g or svg:svg + newGroup.insert(index, element) #we do not copy any elements. we just rearrange them by moving to another place (group index) + index += 1 #we must count up the index or we would overwrite each previous element + + # remove the stuff from drop list list. this has to be done before we drop the groups where they are located in + if self.options.operationmode == "filter_only" or self.options.operationmode == "ungroup_and_filter": + if len(self.allDrops) > 0: + for dropElement in self.allDrops: + if dropElement.getparent() is not None: + dropElement.getparent().remove(dropElement) + + # remove all the obsolete groups which are left over from ungrouping (flattening) + if self.options.operationmode == "ungroup_only" or self.options.operationmode == "ungroup_and_filter": + if len(self.allGroups) > 0: + for group in self.allGroups: + if group.getparent() is not None: + group.getparent().remove(group) + + # finally removed dangling empty groups using external extension (if installed) + if self.options.cleanup == True: + try: + import remove_empty_groups + remove_empty_groups.RemoveEmptyGroups.effect(self) + except: + self.msg("Calling 'Remove Empty Groups' extension failed. Maybe the extension is not installed. You can download it from official InkScape Gallery.") + +if __name__ == '__main__': + UngrouperAndElementMigratorFilter().run() \ No newline at end of file

IM(N1F8%SH`9=uMY({ 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

$n})a-N~PjJAJIS`?x4j`4!DPQp?a{2RIHTU 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