From 3a3f695967b5564dd1a358305e00ea2ba8eb4a7c Mon Sep 17 00:00:00 2001 From: FusRock Date: Tue, 15 Apr 2025 16:25:26 +0800 Subject: [PATCH 01/24] =?UTF-8?q?add=20filament=5Fvendors=EF=BC=9AFusRock?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add FusRock and keep the alphabetical order --- scripts/generate_presets_vendors.py | 9 +++++---- src/slic3r/GUI/CreatePresetsDialog.cpp | 26 +++++++++++++------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/scripts/generate_presets_vendors.py b/scripts/generate_presets_vendors.py index ac358ae803..0105ea236e 100644 --- a/scripts/generate_presets_vendors.py +++ b/scripts/generate_presets_vendors.py @@ -70,11 +70,11 @@ filament_vendors = [ 'California Filament', 'Capricorn', 'CC3D', + 'CERPRiSE', 'colorFabb', 'Comgrow', 'Cookiecad', 'Creality', - 'CERPRiSE', 'Das Filament', 'DO3D', 'DOW', @@ -89,12 +89,13 @@ filament_vendors = [ 'Fiberlogy', 'FilaCube', 'Filamentive', + 'FilamentOne', 'Fillamentum', + 'Fil X', 'FLASHFORGE', 'Formfutura', 'Francofil', - 'FilamentOne', - 'Fil X', + 'FusRock', 'GEEETECH', 'Giantarm', 'Gizmo Dorks', @@ -147,7 +148,7 @@ filament_vendors = [ 'Yousu', 'Ziro', 'Zyltech', - ] +] filament_vendors_formatted = [f'"{vendor_name}",' for vendor_name in filament_vendors] fil_col_width = len(max(filament_vendors_formatted, key=len)) diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index 6b8e711e06..4a6d8e3a18 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -38,7 +38,7 @@ namespace Slic3r { namespace GUI { -static const std::vector filament_vendors = + static const std::vector filament_vendors = {"3Dgenius", "3DJake", "3DXTECH", "3D BEST-Q", "3D Hero", "3D-Fuel", "Aceaddity", "AddNorth", "Amazon Basics", "AMOLEN", "Ankermake", "Anycubic", "Atomic", "AzureFilm", "BASF", @@ -47,18 +47,18 @@ static const std::vector filament_vendors = "CERPRiSE", "Das Filament", "DO3D", "DOW", "DSM", "Duramic", "ELEGOO", "Eryone", "Essentium", "eSUN", "Extrudr", "Fiberforce", "Fiberlogy", "FilaCube", "Filamentive", - "Fillamentum", "FLASHFORGE", "Formfutura", "Francofil", "FilamentOne", - "Fil X", "GEEETECH", "Giantarm", "Gizmo Dorks", "GreenGate3D", - "HATCHBOX", "Hello3D", "IC3D", "IEMAI", "IIID Max", - "INLAND", "iProspect", "iSANMATE", "Justmaker", "Keene Village Plastics", - "Kexcelled", "LDO", "MakerBot", "MatterHackers", "MIKA3D", - "NinjaTek", "Nobufil", "Novamaker", "OVERTURE", "OVVNYXE", - "Polymaker", "Priline", "Printed Solid", "Protopasta", "Prusament", - "Push Plastic", "R3D", "Re-pet3D", "Recreus", "Regen", - "RatRig", "Sain SMART", "SliceWorx", "Snapmaker", "SnoLabs", - "Spectrum", "SUNLU", "TTYT3D", "Tianse", "UltiMaker", - "Valment", "Verbatim", "VO3D", "Voxelab", "VOXELPLA", - "YOOPAI", "Yousu", "Ziro", "Zyltech"}; + "Fillamentum", "FLASHFORGE", "Formfutura", "Francofil", "FusRock", + "FilamentOne", "Fil X", "GEEETECH", "Giantarm", "Gizmo Dorks", + "GreenGate3D", "HATCHBOX", "Hello3D", "IC3D", "IEMAI", + "IIID Max", "INLAND", "iProspect", "iSANMATE", "Justmaker", + "Keene Village Plastics", "Kexcelled", "LDO", "MakerBot", "MatterHackers", + "MIKA3D", "NinjaTek", "Nobufil", "Novamaker", "OVERTURE", + "OVVNYXE", "Polymaker", "Priline", "Printed Solid", "Protopasta", + "Prusament", "Push Plastic", "R3D", "Re-pet3D", "Recreus", + "Regen", "RatRig", "Sain SMART", "SliceWorx", "Snapmaker", + "SnoLabs", "Spectrum", "SUNLU", "TTYT3D", "Tianse", + "UltiMaker", "Valment", "Verbatim", "VO3D", "Voxelab", + "VOXELPLA", "YOOPAI", "Yousu", "Ziro", "Zyltech"}; static const std::vector filament_types = {"PLA", "rPLA", "PLA+", "PLA Tough", "PETG", "ABS", "ASA", "FLEX", "HIPS", "PA", "PACF", "NYLON", "PVA", "PVB", "PC", "PCABS", "PCTG", "PCCF", "PHA", "PP", "PEI", "PET", From 8cdc9c02df541c414310385437d1c2da8a8d5380 Mon Sep 17 00:00:00 2001 From: Rodrigo <162915171+RF47@users.noreply.github.com> Date: Tue, 15 Apr 2025 10:49:17 -0300 Subject: [PATCH 02/24] Junction Deviation Machine Limit (#9234) * Junction Deviation Machine Limit jd 3 JD menu 2 JD operativo limpieza final * default JD print menu without warnings * to fix multiple instances * Only at first layer * Calibs upgrade * Shown on Marlin2 Shown on Marlin2 CodeCleaning * Update Calibration.md * set on writer --------- Co-authored-by: Ian Bassi --- doc/Calibration.md | 16 ++++++++-------- src/libslic3r/GCode.cpp | 12 ++++++------ src/libslic3r/GCode/GCodeProcessor.cpp | 4 ++++ src/libslic3r/GCodeWriter.cpp | 17 +++++++++++++---- src/libslic3r/GCodeWriter.hpp | 1 + src/libslic3r/Preset.cpp | 3 ++- src/libslic3r/Print.cpp | 11 +++++++++++ src/libslic3r/PrintConfig.cpp | 17 +++++++++++++++++ src/libslic3r/PrintConfig.hpp | 3 +++ src/slic3r/GUI/ConfigManipulation.cpp | 2 ++ src/slic3r/GUI/Plater.cpp | 9 +++++++++ src/slic3r/GUI/Tab.cpp | 6 ++++++ src/slic3r/GUI/calib_dlg.cpp | 1 - 13 files changed, 82 insertions(+), 20 deletions(-) diff --git a/doc/Calibration.md b/doc/Calibration.md index cede6ab376..efbfd2e386 100644 --- a/doc/Calibration.md +++ b/doc/Calibration.md @@ -315,8 +315,8 @@ The default value in Marlin is typically set to 0.08mm, which may be too high fo M205 J0.012 M500 ``` - 3. Recompile four MarlinFW - 1. In Configuration.h set: + 3. Recompile your MarlinFW + 1. In Configuration.h uncomment and set: ```cpp #define JUNCTION_DEVIATION_MM 0.012 // (mm) Distance from real junction edge ``` @@ -333,10 +333,10 @@ Because of the nature of these artifacts the methods to reduce them can be mecha *** *Credits:* -- *The Flowrate test and retraction test is inspired by [SuperSlicer](https://github.com/supermerill/SuperSlicer)* -- *The PA Line method is inspired by [K-factor Calibration Pattern](https://marlinfw.org/tools/lin_advance/k-factor.html)* -- *The PA Tower method is inspired by [Klipper](https://www.klipper3d.org/Pressure_Advance.html)* -- *The temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076) -- *The max flowrate test was inspired by Stefan(CNC Kitchen), and the model used in the test is a remix of his [Extrusion Test Structure](https://www.printables.com/model/342075-extrusion-test-structure). -- *ZV Input Shaping is inspired by [Marlin Input Shaping](https://marlinfw.org/docs/features/input_shaping.html) and [Ringing Tower 3D STL](https://marlinfw.org/assets/stl/ringing_tower.stl) +- *The Flowrate test and retraction test is inspired by [SuperSlicer](https://github.com/supermerill/SuperSlicer).* +- *The PA Line method is inspired by [K-factor Calibration Pattern](https://marlinfw.org/tools/lin_advance/k-factor.html).* +- *The PA Tower method is inspired by [Klipper](https://www.klipper3d.org/Pressure_Advance.html).* +- *The temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076).* +- *The max flowrate test was inspired by Stefan (CNC Kitchen), and the model used in the test is a remix of his [Extrusion Test Structure](https://www.printables.com/model/342075-extrusion-test-structure).* +- *ZV Input Shaping is inspired by [Marlin Input Shaping](https://marlinfw.org/docs/features/input_shaping.html) and [Ringing Tower 3D STL](https://marlinfw.org/assets/stl/ringing_tower.stl).* - *ChatGPT* ;) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 5764a21da6..020471033c 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -3139,6 +3139,9 @@ void GCode::print_machine_envelope(GCodeOutputStream &file, Print &print) print.config().machine_max_jerk_y.values.front() * factor, print.config().machine_max_jerk_z.values.front() * factor, print.config().machine_max_jerk_e.values.front() * factor); + + // New Marlin uses M205 J[mm] for junction deviation (only apply if it is > 0) + file.write_format(writer().set_junction_deviation(config().machine_max_junction_deviation.values.front()).c_str()); } } @@ -3783,9 +3786,6 @@ LayerResult GCode::process_layer( } case CalibMode::Calib_Input_shaping_freq: { if (m_layer_index == 1){ - if (print.config().gcode_flavor.value == gcfMarlinFirmware) { - gcode += writer().set_junction_deviation(0.25);//Set junction deviation at high value to maximize ringing. - } gcode += writer().set_input_shaping('A', print.calib_params().start, 0.f); } else { if (print.calib_params().freqStartX == print.calib_params().freqStartY && print.calib_params().freqEndX == print.calib_params().freqEndY) { @@ -3799,9 +3799,6 @@ LayerResult GCode::process_layer( } case CalibMode::Calib_Input_shaping_damp: { if (m_layer_index == 1){ - if (print.config().gcode_flavor.value == gcfMarlinFirmware) { - gcode += writer().set_junction_deviation(0.25); // Set junction deviation at high value to maximize ringing. - } gcode += writer().set_input_shaping('X', 0.f, print.calib_params().freqStartX); gcode += writer().set_input_shaping('Y', 0.f, print.calib_params().freqStartY); } else { @@ -3826,6 +3823,9 @@ LayerResult GCode::process_layer( gcode += m_writer.set_jerk_xy(m_config.initial_layer_jerk.value); } + if (m_writer.get_gcode_flavor() == gcfMarlinFirmware && m_config.default_junction_deviation.value > 0) { + gcode += m_writer.set_junction_deviation(m_config.default_junction_deviation.value); + } } if (! first_layer && ! m_second_layer_things_done) { diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index 063785ce90..d93f609e11 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -1038,6 +1038,10 @@ void GCodeProcessor::apply_config(const DynamicPrintConfig& config) if (machine_max_jerk_e != nullptr) m_time_processor.machine_limits.machine_max_jerk_e.values = machine_max_jerk_e->values; + const ConfigOptionFloats* machine_max_junction_deviation = config.option("machine_max_junction_deviation"); + if (machine_max_junction_deviation != nullptr) + m_time_processor.machine_limits.machine_max_junction_deviation.values = machine_max_junction_deviation->values; + const ConfigOptionFloats* machine_max_acceleration_extruding = config.option("machine_max_acceleration_extruding"); if (machine_max_acceleration_extruding != nullptr) m_time_processor.machine_limits.machine_max_acceleration_extruding.values = machine_max_acceleration_extruding->values; diff --git a/src/libslic3r/GCodeWriter.cpp b/src/libslic3r/GCodeWriter.cpp index 0826721036..8d79fe1f40 100644 --- a/src/libslic3r/GCodeWriter.cpp +++ b/src/libslic3r/GCodeWriter.cpp @@ -37,6 +37,7 @@ void GCodeWriter::apply_print_config(const PrintConfig &print_config) if (use_mach_limits) { m_max_jerk_x = std::lrint(print_config.machine_max_jerk_x.values.front()); m_max_jerk_y = std::lrint(print_config.machine_max_jerk_y.values.front()); + m_max_junction_deviation = (print_config.machine_max_junction_deviation.values.front()); }; m_max_jerk_z = print_config.machine_max_jerk_z.values.front(); m_max_jerk_e = print_config.machine_max_jerk_e.values.front(); @@ -315,14 +316,22 @@ std::string GCodeWriter::set_accel_and_jerk(unsigned int acceleration, double je std::string GCodeWriter::set_junction_deviation(double junction_deviation){ std::ostringstream gcode; - if (FLAVOR_IS_NOT(gcfMarlinFirmware)) { - throw std::runtime_error("Junction deviation is only supported by Marlin firmware"); + if (FLAVOR_IS(gcfMarlinFirmware) && junction_deviation > 0 && m_max_junction_deviation > 0) { + // Clamp the junction deviation to the allowed maximum. + gcode << "M205 J"; + if (junction_deviation <= m_max_junction_deviation) { + gcode << std::fixed << std::setprecision(3) << junction_deviation; + } else { + gcode << std::fixed << std::setprecision(3) << m_max_junction_deviation; + } + if (GCodeWriter::full_gcode_comment) { + gcode << " ; Junction Deviation"; + } + gcode << "\n"; } - gcode << "M205 J" << std::fixed << std::setprecision(3) << junction_deviation << " ; Junction Deviation\n"; return gcode.str(); } - std::string GCodeWriter::set_pressure_advance(double pa) const { std::ostringstream gcode; diff --git a/src/libslic3r/GCodeWriter.hpp b/src/libslic3r/GCodeWriter.hpp index 3b2133c456..e4eacd22d6 100644 --- a/src/libslic3r/GCodeWriter.hpp +++ b/src/libslic3r/GCodeWriter.hpp @@ -138,6 +138,7 @@ public: double m_last_jerk; double m_max_jerk_z; double m_max_jerk_e; + double m_max_junction_deviation; unsigned int m_travel_acceleration; unsigned int m_travel_jerk; diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index d4caac27a7..6eac93c0a9 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -822,7 +822,7 @@ static std::vector s_Preset_print_options { "wall_generator", "wall_transition_length", "wall_transition_filter_deviation", "wall_transition_angle", "wall_distribution_count", "min_feature_size", "min_bead_width", "post_process", "min_length_factor", "small_perimeter_speed", "small_perimeter_threshold","bridge_angle","internal_bridge_angle", "filter_out_gap_fill", "travel_acceleration","inner_wall_acceleration", "min_width_top_surface", - "default_jerk", "outer_wall_jerk", "inner_wall_jerk", "infill_jerk", "top_surface_jerk", "initial_layer_jerk","travel_jerk", + "default_jerk", "outer_wall_jerk", "inner_wall_jerk", "infill_jerk", "top_surface_jerk", "initial_layer_jerk","travel_jerk","default_junction_deviation", "top_solid_infill_flow_ratio","bottom_solid_infill_flow_ratio","only_one_wall_first_layer", "print_flow_ratio", "seam_gap", "role_based_wipe_speed", "wipe_speed", "accel_to_decel_enable", "accel_to_decel_factor", "wipe_on_loops", "wipe_before_external_loop", "bridge_density","internal_bridge_density", "precise_outer_wall", "overhang_speed_classic", "bridge_acceleration", @@ -875,6 +875,7 @@ static std::vector s_Preset_machine_limits_options { "machine_max_speed_x", "machine_max_speed_y", "machine_max_speed_z", "machine_max_speed_e", "machine_min_extruding_rate", "machine_min_travel_rate", "machine_max_jerk_x", "machine_max_jerk_y", "machine_max_jerk_z", "machine_max_jerk_e", + "machine_max_junction_deviation", }; static std::vector s_Preset_printer_options { diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 6a035b1660..5138ebee9c 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1516,6 +1516,17 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons* } } + // check junction deviation + const auto max_junction_deviation = m_config.machine_max_junction_deviation.values[0]; + if (warning_key.empty() && m_default_object_config.default_junction_deviation.value > max_junction_deviation) { + warning->string = L( "Junction deviation setting exceeds the printer's maximum value " + "(machine_max_junction_deviation).\nOrca will " + "automatically cap the junction deviation to ensure it doesn't surpass the printer's " + "capabilities.\nYou can adjust the " + "machine_max_junction_deviation value in your printer's configuration to get higher limits."); + warning->opt_key = warning_key; + } + // check acceleration const auto max_accel = m_config.machine_max_acceleration_extruding.values[0]; if (warning_key.empty() && m_default_object_config.default_acceleration > 0 && max_accel > 0) { diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 3e07459566..a29a030b69 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -2553,6 +2553,14 @@ void PrintConfigDef::init_fff_params() def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(0)); + def = this->add("default_junction_deviation", coFloat); + def->label = L("Junction Deviation"); + def->tooltip = L("Marlin Firmware Junction Deviation (replaces the traditional XY Jerk setting)"); + def->sidetext = L("mm"); + def->min = 0; + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionFloat(0)); + def = this->add("outer_wall_jerk", coFloat); def->label = L("Outer wall"); def->tooltip = L("Jerk of outer walls"); @@ -3437,6 +3445,15 @@ void PrintConfigDef::init_fff_params() def->set_default_value(new ConfigOptionFloats(axis.max_jerk)); } } + // M205 J... [mm] machine junction deviation limits + def = this->add("machine_max_junction_deviation", coFloats); + def->full_label = L("Maximum Junction Deviation"); + def->category = L("Machine limits"); + def->tooltip = L("Maximum junction deviation (M205 J, only apply if JD > 0 for Marlin Firmware)"); + def->sidetext = L("mm"); + def->min = 0; + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionFloats{0. ,0. }); // M205 S... [mm/sec] def = this->add("machine_min_extruding_rate", coFloats); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index e874939c98..f99b560592 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -899,6 +899,7 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloat, initial_layer_jerk)) ((ConfigOptionFloat, travel_jerk)) ((ConfigOptionBool, precise_z_height)) + ((ConfigOptionFloat, default_junction_deviation)) ((ConfigOptionBool, interlocking_beam)) ((ConfigOptionFloat,interlocking_beam_width)) @@ -1070,6 +1071,8 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloats, machine_max_jerk_y)) ((ConfigOptionFloats, machine_max_jerk_z)) ((ConfigOptionFloats, machine_max_jerk_e)) + // M205 J... [mm] + ((ConfigOptionFloats, machine_max_junction_deviation)) // M205 T... [mm/sec] ((ConfigOptionFloats, machine_min_travel_rate)) // M205 S... [mm/sec] diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 359ad92766..6b05dfb909 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -563,6 +563,8 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co for (auto el : { "outer_wall_jerk", "inner_wall_jerk", "initial_layer_jerk", "top_surface_jerk", "travel_jerk", "infill_jerk"}) toggle_field(el, have_default_jerk); + toggle_line("default_junction_deviation", gcflavor == gcfMarlinFirmware); + bool have_skirt = config->opt_int("skirt_loops") > 0; toggle_field("skirt_height", have_skirt && config->opt_enum("draft_shield") != dsEnabled); toggle_line("single_loop_draft_shield", have_skirt); // ORCA: Display one wall if skirt enabled diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 9c006fc5d1..e1cf0723a6 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -10208,6 +10208,8 @@ void Plater::calib_input_shaping_freq(const Calib_Params& params) add_model(false, Slic3r::resources_dir() + (params.test_model < 1 ? "/calib/input_shaping/ringing_tower.stl" : "/calib/input_shaping/fast_tower_test.stl")); auto print_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config; auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; + auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; + printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats {0.3}); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_for_layer_cooling", new ConfigOptionBools{false}); @@ -10228,6 +10230,7 @@ void Plater::calib_input_shaping_freq(const Calib_Params& params) print_config->set_key_value("outer_wall_speed", new ConfigOptionFloat(200)); print_config->set_key_value("default_acceleration", new ConfigOptionFloat(2000)); print_config->set_key_value("outer_wall_acceleration", new ConfigOptionFloat(2000)); + print_config->set_key_value("default_junction_deviation", new ConfigOptionFloat(0.25)); model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum(btOuterOnly)); model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0)); model().objects[0]->config.set_key_value("brim_object_gap", new ConfigOptionFloat(0.0)); @@ -10252,6 +10255,8 @@ void Plater::calib_input_shaping_damp(const Calib_Params& params) add_model(false, Slic3r::resources_dir() + (params.test_model < 1 ? "/calib/input_shaping/ringing_tower.stl" : "/calib/input_shaping/fast_tower_test.stl")); auto print_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config; auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; + auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; + printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats{0.3}); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_for_layer_cooling", new ConfigOptionBools{false}); @@ -10272,6 +10277,7 @@ void Plater::calib_input_shaping_damp(const Calib_Params& params) print_config->set_key_value("outer_wall_speed", new ConfigOptionFloat(200)); print_config->set_key_value("default_acceleration", new ConfigOptionFloat(2000)); print_config->set_key_value("outer_wall_acceleration", new ConfigOptionFloat(2000)); + print_config->set_key_value("default_junction_deviation", new ConfigOptionFloat(0.25)); model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum(btOuterOnly)); model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0)); model().objects[0]->config.set_key_value("brim_object_gap", new ConfigOptionFloat(0.0)); @@ -10296,6 +10302,8 @@ void Plater::calib_junction_deviation(const Calib_Params& params) add_model(false, Slic3r::resources_dir() + (params.test_model < 1 ? "/calib/input_shaping/ringing_tower.stl" : "/calib/input_shaping/fast_tower_test.stl")); auto print_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config; auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; + auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; + printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats{1.0}); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_for_layer_cooling", new ConfigOptionBools{false}); @@ -10316,6 +10324,7 @@ void Plater::calib_junction_deviation(const Calib_Params& params) print_config->set_key_value("outer_wall_speed", new ConfigOptionFloat(200)); print_config->set_key_value("default_acceleration", new ConfigOptionFloat(2000)); print_config->set_key_value("outer_wall_acceleration", new ConfigOptionFloat(2000)); + print_config->set_key_value("default_junction_deviation", new ConfigOptionFloat(0.0)); model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum(btOuterOnly)); model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0)); model().objects[0]->config.set_key_value("brim_object_gap", new ConfigOptionFloat(0.0)); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index d58d7122aa..bcf8ccd3a8 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2198,6 +2198,7 @@ void TabPrint::build() optgroup->append_single_option_line("top_surface_jerk"); optgroup->append_single_option_line("initial_layer_jerk"); optgroup->append_single_option_line("travel_jerk"); + optgroup->append_single_option_line("default_junction_deviation"); optgroup = page->new_optgroup(L("Advanced"), L"param_advanced", 15); optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope", "extrusion-rate-smoothing"); @@ -4122,6 +4123,8 @@ PageShp TabPrinter::build_kinematics_page() append_option_line(optgroup, "machine_max_jerk_" + axis); } + // machine max junction deviation + append_option_line(optgroup, "machine_max_junction_deviation"); //optgroup = page->new_optgroup(L("Minimum feedrates")); // append_option_line(optgroup, "machine_min_extruding_rate"); // append_option_line(optgroup, "machine_min_travel_rate"); @@ -4634,6 +4637,9 @@ void TabPrinter::toggle_options() for (int i = 0; i < max_field; ++i) toggle_option("machine_max_acceleration_travel", gcf != gcfMarlinLegacy && gcf != gcfKlipper, i); toggle_line("machine_max_acceleration_travel", gcf != gcfMarlinLegacy && gcf != gcfKlipper); + for (int i = 0; i < max_field; ++i) + toggle_option("machine_max_junction_deviation", gcf == gcfMarlinFirmware, i); + toggle_line("machine_max_junction_deviation", gcf == gcfMarlinFirmware); } } diff --git a/src/slic3r/GUI/calib_dlg.cpp b/src/slic3r/GUI/calib_dlg.cpp index 3d30c97c42..6f7a1c0ddd 100644 --- a/src/slic3r/GUI/calib_dlg.cpp +++ b/src/slic3r/GUI/calib_dlg.cpp @@ -1159,7 +1159,6 @@ void Junction_Deviation_Test_Dlg::on_start(wxCommandEvent& event) { } else if (m_params.end > 0.3) { MessageDialog msg_dlg(nullptr, _L("NOTE: High values may cause Layer shift"), wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); - return; } m_params.mode = CalibMode::Calib_Junction_Deviation; From 1bce6a24d2cb2c2c05cb2d56ab113bf27a0f6500 Mon Sep 17 00:00:00 2001 From: Vovodroid Date: Tue, 15 Apr 2025 18:06:39 +0300 Subject: [PATCH 03/24] Small area semicolon description. (#8995) --- src/libslic3r/PrintConfig.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index a29a030b69..4a0126e22d 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3360,8 +3360,8 @@ void PrintConfigDef::init_fff_params() def->tooltip = L( "Flow Compensation Model, used to adjust the flow for small infill " "areas. The model is expressed as a comma separated pair of values for " - "extrusion length and flow correction factors, one per line, in the " - "following format: \"1.234,5.678\""); + "extrusion length and flow correction factor. Each pair is on a " + "separate line, followed by a semicolon, in the following format: \"1.234, 5.678;\""); def->mode = comAdvanced; def->gui_flags = "serialized"; def->multiline = true; From 69c21438041505548e30e506d347bae0c2b2278f Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner <36260775+koppensb@users.noreply.github.com> Date: Wed, 16 Apr 2025 04:34:27 +0200 Subject: [PATCH 04/24] High Flow Profiles for Prusa MK3.5 (#9312) * bugfix for TPU filament overrides * higher voluemetric flow * bugfix for to high speed at internal solid infill * Update Prusa.json * updated firmware check and nozzle settings * bugfix speed and standard for 0,15mm profiles of the 0.4mm nozzle * variables not defined in orcaslicer * bug fix volumetric speed, wrong value * added high flow base process * added highflow base process * added first full draft of high flow profiles, further tests are necessary * changed 0.35mm to 0.32mm for 0.6mm nozzle * minor changes to initial layer speeds * changed 0.35mm to 0.32mm for 0.6mm nozzle * furcer changes on accelartion and speed * added 0.35mm Standard @MK3.5 again for not breaking anythin for current users * Update 0.35mm Standard @MK3.5.json forgot to set the layer_height after creation of the 0.35mm profile --- resources/profiles/Prusa.json | 108 ++++++++++++++++++ .../Prusa Generic ABS HF @MK3.5 0.6.json | 52 +++++++++ .../Prusa Generic ABS HF @MK3.5 0.8.json | 52 +++++++++ .../filament/Prusa Generic ABS HF @MK3.5.json | 52 +++++++++ .../Prusa Generic ASA @MK3.5 0.25.json | 2 +- .../Prusa Generic ASA @MK3.5 0.6.json | 2 +- .../Prusa Generic ASA @MK3.5 0.8.json | 2 +- .../Prusa Generic ASA HF @MK3.5 0.6.json | 52 +++++++++ .../Prusa Generic ASA HF @MK3.5 0.8.json | 52 +++++++++ .../filament/Prusa Generic ASA HF @MK3.5.json | 52 +++++++++ .../Prusa Generic PC HF @MK3.5 0.6.json | 25 ++++ .../Prusa Generic PC HF @MK3.5 0.8.json | 25 ++++ .../filament/Prusa Generic PC HF @MK3.5.json | 25 ++++ .../Prusa Generic PETG HF @MK3.5 0.6.json | 64 +++++++++++ .../Prusa Generic PETG HF @MK3.5 0.8.json | 64 +++++++++++ .../Prusa Generic PETG HF @MK3.5.json | 64 +++++++++++ .../Prusa Generic PLA HF @MK3.5 0.6.json | 28 +++++ .../Prusa Generic PLA HF @MK3.5 0.8.json | 28 +++++ .../filament/Prusa Generic PLA HF @MK3.5.json | 28 +++++ .../Prusa Generic PVA HF @MK3.5 0.6.json | 31 +++++ .../Prusa Generic PVA HF @MK3.5 0.8.json | 31 +++++ .../filament/Prusa Generic PVA HF @MK3.5.json | 30 +++++ .../filament/Prusa Generic TPU HF @MK3.5.json | 87 ++++++++++++++ .../process/0.15mm High Flow @MK3.5.json | 35 ++++++ .../process/0.20mm High Flow @MK3.5 0.6.json | 40 +++++++ .../process/0.20mm High Flow @MK3.5.json | 39 +++++++ .../process/0.25mm High Flow @MK3.5.json | 46 ++++++++ .../process/0.32mm High Flow @MK3.5.json | 45 ++++++++ .../Prusa/process/0.32mm Standard @MK3.5.json | 36 ++++++ .../Prusa/process/0.35mm Standard @MK3.5.json | 2 +- .../process/0.40mm High Flow @MK3.5.json | 47 ++++++++ .../Prusa/process/0.40mm Standard @MK3.5.json | 1 + .../Prusa/process/process_detail_MK3.5.json | 1 + .../Prusa/process/process_highflow_MK3.5.json | 24 ++++ .../Prusa/process/process_speed_MK3.5.json | 1 + 35 files changed, 1269 insertions(+), 4 deletions(-) create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic TPU HF @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.15mm High Flow @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.20mm High Flow @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/process/0.20mm High Flow @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.25mm High Flow @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.32mm High Flow @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.32mm Standard @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.40mm High Flow @MK3.5.json create mode 100644 resources/profiles/Prusa/process/process_highflow_MK3.5.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index e019ada90b..efdb9c7028 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -270,6 +270,10 @@ "name": "process_common_MK3.5", "sub_path": "process/process_common_MK3.5.json" }, + { + "name": "process_highflow_MK3.5", + "sub_path": "process/process_highflow_MK3.5.json" + }, { "name": "process_speed_MK3.5", "sub_path": "process/process_speed_MK3.5.json" @@ -318,6 +322,22 @@ "name": "0.15mm Speed @MK3.5 0.25", "sub_path": "process/0.15mm Speed @MK3.5 0.25.json" }, + { + "name": "0.15mm High Flow @MK3.5", + "sub_path": "process/0.15mm High Flow @MK3.5.json" + }, + { + "name": "0.20mm High Flow @MK3.5 0.6", + "sub_path": "process/0.20mm High Flow @MK3.5 0.6.json" + }, + { + "name": "0.20mm High Flow @MK3.5", + "sub_path": "process/0.20mm High Flow @MK3.5.json" + }, + { + "name": "0.25mm High Flow @MK3.5", + "sub_path": "process/0.25mm High Flow @MK3.5.json" + }, { "name": "0.20mm Standard @MK3.5", "sub_path": "process/0.20mm Standard @MK3.5.json" @@ -334,6 +354,14 @@ "name": "0.20mm Speed @MK3.5 0.6", "sub_path": "process/0.20mm Speed @MK3.5 0.6.json" }, + { + "name": "0.32mm High Flow @MK3.5", + "sub_path": "process/0.32mm High Flow @MK3.5.json" + }, + { + "name": "0.40mm High Flow @MK3.5", + "sub_path": "process/0.40mm High Flow @MK3.5.json" + }, { "name": "0.25mm Standard @MK3.5", "sub_path": "process/0.25mm Standard @MK3.5.json" @@ -346,6 +374,10 @@ "name": "0.30mm Detail @MK3.5", "sub_path": "process/0.30mm Detail @MK3.5.json" }, + { + "name": "0.32mm Standard @MK3.5", + "sub_path": "process/0.32mm Standard @MK3.5.json" + }, { "name": "0.35mm Standard @MK3.5", "sub_path": "process/0.35mm Standard @MK3.5.json" @@ -1349,6 +1381,82 @@ "name": "Prusa Generic PA-CF @MK3.5 0.8", "sub_path": "filament/Prusa Generic PA-CF @MK3.5 0.8.json" }, + { + "name": "Prusa Generic PLA HF @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PLA HF @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PLA HF @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PLA HF @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PLA HF @MK3.5", + "sub_path": "filament/Prusa Generic PLA HF @MK3.5.json" + }, + { + "name": "Prusa Generic PETG HF @MK3.5", + "sub_path": "filament/Prusa Generic PETG HF @MK3.5.json" + }, + { + "name": "Prusa Generic PETG HF @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PETG HF @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PETG HF @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PETG HF @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic ABS HF @MK3.5", + "sub_path": "filament/Prusa Generic ABS HF @MK3.5.json" + }, + { + "name": "Prusa Generic ABS HF @MK3.5 0.6", + "sub_path": "filament/Prusa Generic ABS HF @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic ABS HF @MK3.5 0.8", + "sub_path": "filament/Prusa Generic ABS HF @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic TPU HF @MK3.5", + "sub_path": "filament/Prusa Generic TPU HF @MK3.5.json" + }, + { + "name": "Prusa Generic ASA HF @MK3.5", + "sub_path": "filament/Prusa Generic ASA HF @MK3.5.json" + }, + { + "name": "Prusa Generic ASA HF @MK3.5 0.6", + "sub_path": "filament/Prusa Generic ASA HF @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic ASA HF @MK3.5 0.8", + "sub_path": "filament/Prusa Generic ASA HF @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PC HF @MK3.5", + "sub_path": "filament/Prusa Generic PC HF @MK3.5.json" + }, + { + "name": "Prusa Generic PC HF @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PC HF @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PC HF @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PC HF @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PVA HF @MK3.5", + "sub_path": "filament/Prusa Generic PVA HF @MK3.5.json" + }, + { + "name": "Prusa Generic PVA HF @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PVA HF @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PVA HF @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PVA HF @MK3.5 0.8.json" + }, { "name": "Prusa Generic ABS @MK4S", "sub_path": "filament/Prusa Generic ABS @MK4S.json" diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5 0.6.json new file mode 100644 index 0000000000..b7b688ca88 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5 0.6.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB99_6", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS HF @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "34" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.012" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5 0.8.json new file mode 100644 index 0000000000..a2238c22d1 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5 0.8.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB99_7", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS HF @MK3.5 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "36" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.01" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5.json b/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5.json new file mode 100644 index 0000000000..a6fff49bca --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS HF @MK3.5.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS HF @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.02" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.25.json index c731f9ffa2..5b3b62b43d 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.25.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.25.json @@ -28,7 +28,7 @@ "100" ], "filament_max_volumetric_speed": [ - "1^" + "11" ], "fan_max_speed": [ "15" diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.6.json index 7007f13239..ee8b67532c 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.6.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.6.json @@ -28,7 +28,7 @@ "100" ], "filament_max_volumetric_speed": [ - "1^" + "11" ], "fan_max_speed": [ "15" diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.8.json index a4d7807711..bc524d2d74 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.8.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.8.json @@ -28,7 +28,7 @@ "100" ], "filament_max_volumetric_speed": [ - "1^" + "11" ], "fan_max_speed": [ "15" diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5 0.6.json new file mode 100644 index 0000000000..45343bfce7 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5 0.6.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB98_6", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA HF @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "34" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.012" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5 0.8.json new file mode 100644 index 0000000000..111a381488 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5 0.8.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB98_7", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA HF @MK3.5 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "36" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.01" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5.json b/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5.json new file mode 100644 index 0000000000..3ed53bb320 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA HF @MK3.5.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB98_5", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA HF @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "26" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.02" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5 0.6.json new file mode 100644 index 0000000000..0eb69ff2d2 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5 0.6.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PC HF @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "30" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.022" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5 0.8.json new file mode 100644 index 0000000000..c637a2c04c --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5 0.8.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_6", + "setting_id": "GFSA04", + "name": "Prusa Generic PC HF @MK3.5 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "36" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.016" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5.json b/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5.json new file mode 100644 index 0000000000..2f65c55619 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC HF @MK3.5.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PC HF @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "24" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.05" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5 0.6.json new file mode 100644 index 0000000000..5dda00269d --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5 0.6.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "filament_id": "GFG99_6", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG HF @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "17" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "30" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.025" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5 0.8.json new file mode 100644 index 0000000000..8586b39f4f --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5 0.8.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "filament_id": "GFG99_7", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG HF @MK3.5 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "20" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "37" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.018" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5.json b/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5.json new file mode 100644 index 0000000000..b120a45d33 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG HF @MK3.5.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "filament_id": "GFG99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG HF @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "24" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.052" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5 0.6.json new file mode 100644 index 0000000000..c9be9da971 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5 0.6.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "filament_id": "GFL99_6", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA HF @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "30" + ], + "slow_down_layer_time": [ + "12" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.02" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5 0.8.json new file mode 100644 index 0000000000..52bf04bd36 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5 0.8.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "filament_id": "GFL99_7", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA HF @MK3.5 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "37" + ], + "slow_down_layer_time": [ + "15" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.014" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5.json b/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5.json new file mode 100644 index 0000000000..2f854648e0 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA HF @MK3.5.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "filament_id": "GFL99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA HF @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "24" + ], + "slow_down_layer_time": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.035" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5 0.6.json new file mode 100644 index 0000000000..c7758719a5 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5 0.6.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFS99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA HF @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "5" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.012" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5 0.8.json new file mode 100644 index 0000000000..48fa920b19 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5 0.8.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFS99_6", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA HF @MK3.5 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.01" + ], + + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5.json b/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5.json new file mode 100644 index 0000000000..2bc8209614 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA HF @MK3.5.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "filament_id": "GFS99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA HF @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.02" + ], + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU HF @MK3.5.json b/resources/profiles/Prusa/filament/Prusa Generic TPU HF @MK3.5.json new file mode 100644 index 0000000000..5a558e1b2d --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU HF @MK3.5.json @@ -0,0 +1,87 @@ +{ + "type": "filament", + "filament_id": "GFU99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic TPU HF @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_tpu", + "filament_max_volumetric_speed": [ + "8" + ], + "filament_flow_ratio": [ + "1.15" + ], + "hot_plate_temp" : [ + "50" + ], + "hot_plate_temp_initial_layer" : [ + "50" + ], + "filament_type": [ + "FLEX" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature": [ + "210" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_speed": [ + "45" + ], + "filament_deretraction_speed": [ + "20" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "full_fan_speed_layer": [ + "3" + ], + "fan_min_speed": [ + "30" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "80" + ], + "slow_down_layer_time": [ + "4" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "50" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "pressure_advance": [ + "0" + ], + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle", + "Prusa MK3.5 0.25 nozzle", + "Prusa MK3.5 0.6 nozzle", + "Prusa MK3.5 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.15mm High Flow @MK3.5.json b/resources/profiles/Prusa/process/0.15mm High Flow @MK3.5.json new file mode 100644 index 0000000000..32c7accd49 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm High Flow @MK3.5.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm High Flow @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_highflow_MK3.5", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "bridge_speed": "45", + "default_acceleration": "3000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "3000", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3500", + "inner_wall_acceleration": "3500", + "outer_wall_acceleration": "2500", + "bridge_acceleration": "1500", + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.20mm High Flow @MK3.5 0.6.json b/resources/profiles/Prusa/process/0.20mm High Flow @MK3.5 0.6.json new file mode 100644 index 0000000000..3adc88d1cb --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm High Flow @MK3.5 0.6.json @@ -0,0 +1,40 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm High Flow @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_highflow_MK3.5", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ], + "layer_height": "0.20", + "initial_layer_print_height": "0.25", + "line_width": "0.68", + "inner_wall_line_width": "0.62", + "outer_wall_line_width": "0.62", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.62", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.5", + "wall_loops": "2", + "outer_wall_speed": "200", + "inner_wall_speed": "220", + "small_perimeter_speed": "170", + "sparse_infill_speed": "200", + "internal_solid_infill_speed": "200", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "support_speed": "110", + "bridge_speed": "40", + "travel_speed": "300", + "default_acceleration": "2500", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "inner_wall_acceleration": "4000", + "outer_wall_acceleration": "4000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "overhang_1_4_speed": "45" +} diff --git a/resources/profiles/Prusa/process/0.20mm High Flow @MK3.5.json b/resources/profiles/Prusa/process/0.20mm High Flow @MK3.5.json new file mode 100644 index 0000000000..1e1c85214e --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm High Flow @MK3.5.json @@ -0,0 +1,39 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm High Flow @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_highflow_MK3.5", + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ], + "layer_height": "0.20", + "initial_layer_print_height": "0.20", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", + "wall_loops": "3", + "outer_wall_speed": "200", + "inner_wall_speed": "250", + "small_perimeter_speed": "170", + "sparse_infill_speed": "250", + "internal_solid_infill_speed": "250", + "top_surface_speed": "100", + "gap_infill_speed": "120", + "support_speed": "120", + "bridge_speed": "50", + "travel_speed": "300", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "2000", + "inner_wall_acceleration": "4000", + "outer_wall_acceleration": "4000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "4000", + "overhang_1_4_speed": "45" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm High Flow @MK3.5.json b/resources/profiles/Prusa/process/0.25mm High Flow @MK3.5.json new file mode 100644 index 0000000000..5d8fb04ef3 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm High Flow @MK3.5.json @@ -0,0 +1,46 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm High Flow @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_highflow_MK3.5", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.55", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.5", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "wall_loops": "2", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "bottom_shell_layers": "3", + "initial_layer_speed": "40", + "initial_layer_infill_speed": "70", + "outer_wall_speed": "180", + "inner_wall_speed": "180", + "small_perimeter_speed": "170", + "sparse_infill_speed": "190", + "internal_solid_infill_speed": "190", + "top_surface_speed": "60", + "gap_infill_speed": "70", + "support_speed": "110", + "bridge_speed": "40", + "travel_speed": "300", + "default_acceleration": "2500", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "2000", + "inner_wall_acceleration": "4000", + "outer_wall_acceleration": "4000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "overhang_1_4_speed": "45", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.32mm High Flow @MK3.5.json b/resources/profiles/Prusa/process/0.32mm High Flow @MK3.5.json new file mode 100644 index 0000000000..80473edccd --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm High Flow @MK3.5.json @@ -0,0 +1,45 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.32mm High Flow @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_highflow_MK3.5", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.55", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.5", + "initial_layer_print_height": "0.25", + "layer_height": "0.32", + "wall_loops": "2", + "initial_layer_speed": "40", + "initial_layer_infill_speed": "70", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "bottom_shell_layers": "3", + "outer_wall_speed": "145", + "inner_wall_speed": "145", + "bridge_speed": "40", + "support_speed": "110", + "small_perimeter_speed": "145", + "sparse_infill_speed": "145", + "internal_solid_infill_speed": "140", + "top_surface_speed": "60", + "gap_infill_speed": "60", + "travel_speed": "300", + "default_acceleration": "2500", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "2000", + "inner_wall_acceleration": "4000", + "outer_wall_acceleration": "4000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.32mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.32mm Standard @MK3.5.json new file mode 100644 index 0000000000..6ef599b7e8 --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm Standard @MK3.5.json @@ -0,0 +1,36 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.32mm Standard @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_common_MK3.5", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.55", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.5", + "initial_layer_print_height": "0.25", + "layer_height": "0.32", + "wall_loops": "2", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "bottom_shell_layers": "3", + "outer_wall_speed": "45", + "inner_wall_speed": "60", + "bridge_speed": "30", + "support_speed": "60", + "small_perimeter_speed": "45", + "sparse_infill_speed": "70", + "internal_solid_infill_speed": "60", + "top_surface_speed": "55", + "gap_infill_speed": "45", + "travel_speed": "300", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.35mm Standard @MK3.5.json index f7690532a8..5f4f75853d 100644 --- a/resources/profiles/Prusa/process/0.35mm Standard @MK3.5.json +++ b/resources/profiles/Prusa/process/0.35mm Standard @MK3.5.json @@ -33,4 +33,4 @@ "compatible_printers": [ "Prusa MK3.5 0.6 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Prusa/process/0.40mm High Flow @MK3.5.json b/resources/profiles/Prusa/process/0.40mm High Flow @MK3.5.json new file mode 100644 index 0000000000..2f7f204a59 --- /dev/null +++ b/resources/profiles/Prusa/process/0.40mm High Flow @MK3.5.json @@ -0,0 +1,47 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.40mm High Flow @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_highflow_MK3.5", + "line_width": "0.9", + "inner_wall_line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.75", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "1", + "internal_solid_infill_line_width": "0.9", + "support_line_width": "0.65", + "layer_height": "0.4", + "initial_layer_print_height": "0.3", + "wall_loops": "2", + "top_shell_thickness": "1.2", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bottom_shell_layers": "3", + "initial_layer_speed": "40", + "initial_layer_infill_speed": "55", + "outer_wall_speed": "90", + "inner_wall_speed": "100", + "bridge_speed": "22", + "support_speed": "90", + "small_perimeter_speed": "90", + "sparse_infill_speed": "105", + "internal_solid_infill_speed": "100", + "top_surface_speed": "75", + "gap_infill_speed": "65", + "travel_speed": "300", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", + "inner_wall_acceleration": "3000", + "outer_wall_acceleration": "2500", + "bridge_acceleration": "1000", + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.40mm Standard @MK3.5.json index 3919357a9b..cbe605f5cd 100644 --- a/resources/profiles/Prusa/process/0.40mm Standard @MK3.5.json +++ b/resources/profiles/Prusa/process/0.40mm Standard @MK3.5.json @@ -21,6 +21,7 @@ "bottom_shell_thickness": "0.8", "bottom_shell_layers": "3", "initial_layer_speed": "30", + "initial_layer_infill_speed": "55", "outer_wall_speed": "40", "inner_wall_speed": "40", "bridge_speed": "22", diff --git a/resources/profiles/Prusa/process/process_detail_MK3.5.json b/resources/profiles/Prusa/process/process_detail_MK3.5.json index 3e9e82439c..33a9267cdb 100644 --- a/resources/profiles/Prusa/process/process_detail_MK3.5.json +++ b/resources/profiles/Prusa/process/process_detail_MK3.5.json @@ -6,6 +6,7 @@ "inherits": "process_common_MK3.5", "travel_speed": "300", "initial_layer_speed": "20", + "initial_layer_infill_speed": "35", "outer_wall_speed": "40", "inner_wall_speed": "60", "bridge_speed": "30", diff --git a/resources/profiles/Prusa/process/process_highflow_MK3.5.json b/resources/profiles/Prusa/process/process_highflow_MK3.5.json new file mode 100644 index 0000000000..31eb657703 --- /dev/null +++ b/resources/profiles/Prusa/process/process_highflow_MK3.5.json @@ -0,0 +1,24 @@ +{ + "type": "process", + "name": "process_highflow_MK3.5", + "from": "system", + "instantiation": "false", + "inherits": "process_common_MK3.5", + "initial_layer_speed": "40", + "initial_layer_infill_speed": "100", + "outer_wall_speed": "200", + "inner_wall_speed": "250", + "small_perimeter_speed": "170", + "sparse_infill_speed": "250", + "internal_solid_infill_speed": "250", + "top_surface_speed": "100", + "gap_infill_speed": "120", + "default_acceleration": "4000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "2000", + "inner_wall_acceleration": "4000", + "outer_wall_acceleration": "4000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "overhang_1_4_speed": "60" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_speed_MK3.5.json b/resources/profiles/Prusa/process/process_speed_MK3.5.json index bad53ee00a..46f8e50341 100644 --- a/resources/profiles/Prusa/process/process_speed_MK3.5.json +++ b/resources/profiles/Prusa/process/process_speed_MK3.5.json @@ -4,6 +4,7 @@ "from": "system", "instantiation": "false", "inherits": "process_common_MK3.5", + "initial_layer_infill_speed": "100", "outer_wall_speed": "150", "inner_wall_speed": "150", "small_perimeter_speed": "150", From 5a39e6beda7e2e031db5a8435d809e7982465233 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 15 Apr 2025 21:16:42 +0800 Subject: [PATCH 05/24] Add `renamed_from` so existing user won't break (cherry picked from commit f8f3b5c2c9b0b15c209d8307a6eaba24e393ddda) --- .../Flashforge/filament/Generic ASA @Flashforge AD4.json | 1 + .../filament/SUNLU/SUNLU PETG @FF AD5M 0.25 nozzle.json | 1 + .../filament/SUNLU/SUNLU PETG @FF AD5M 0.8 nozzle.json | 1 + .../Flashforge/filament/SUNLU/SUNLU PLA Marble @base.json | 1 + .../filament/SUNLU/SUNLU PLA Matte @FF AD5M 0.25 nozzle.json | 1 + .../filament/SUNLU/SUNLU PLA+ 2.0 @FF AD5M 0.25 nozzle.json | 1 + .../filament/SUNLU/SUNLU PLA+ @FF AD5M 0.25 nozzle.json | 1 + .../filament/SUNLU/SUNLU Silk PLA+ @FF AD5M 0.25 nozzle.json | 1 + 8 files changed, 8 insertions(+) diff --git a/resources/profiles/Flashforge/filament/Generic ASA @Flashforge AD4.json b/resources/profiles/Flashforge/filament/Generic ASA @Flashforge AD4.json index aa1849bb7b..a51765bd55 100644 --- a/resources/profiles/Flashforge/filament/Generic ASA @Flashforge AD4.json +++ b/resources/profiles/Flashforge/filament/Generic ASA @Flashforge AD4.json @@ -3,6 +3,7 @@ "filament_id": "GFL99", "setting_id": "GFSA04", "name": "Generic ASA @Flashforge AD4", + "renamed_from": "Generic ASA @AD4", "from": "system", "instantiation": "true", "inherits": "Flashforge Generic ASA", diff --git a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PETG @FF AD5M 0.25 nozzle.json b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PETG @FF AD5M 0.25 nozzle.json index ebedc49518..242a846b19 100644 --- a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PETG @FF AD5M 0.25 nozzle.json +++ b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PETG @FF AD5M 0.25 nozzle.json @@ -1,6 +1,7 @@ { "type": "filament", "name": "SUNLU PETG @FF AD5M 0.25 Nozzle", + "renamed_from": "SUNLU PETG @FF AD5M 0.25 nozzle", "inherits": "SUNLU PETG @base", "from": "system", "setting_id": "GFSNLS08_00", diff --git a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PETG @FF AD5M 0.8 nozzle.json b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PETG @FF AD5M 0.8 nozzle.json index dc16fed525..d97075dafd 100644 --- a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PETG @FF AD5M 0.8 nozzle.json +++ b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PETG @FF AD5M 0.8 nozzle.json @@ -1,6 +1,7 @@ { "type": "filament", "name": "SUNLU PETG @FF AD5M 0.8 Nozzle", + "renamed_from": "SUNLU PETG @FF AD5M 0.8 nozzle", "inherits": "SUNLU PETG @base", "from": "system", "setting_id": "GFSNLS08_01", diff --git a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA Marble @base.json b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA Marble @base.json index 3416ae82d3..04bd581291 100644 --- a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA Marble @base.json +++ b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA Marble @base.json @@ -1,6 +1,7 @@ { "type": "filament", "name": "SUNLU PLA Marble @base", + "renamed_from": "SUNLU Marble PLA @base", "inherits": "fdm_filament_pla", "from": "system", "filament_id": "GFSNL06", diff --git a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA Matte @FF AD5M 0.25 nozzle.json b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA Matte @FF AD5M 0.25 nozzle.json index 6e06b8f693..088e032a5b 100644 --- a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA Matte @FF AD5M 0.25 nozzle.json +++ b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA Matte @FF AD5M 0.25 nozzle.json @@ -1,6 +1,7 @@ { "type": "filament", "name": "SUNLU PLA Matte @FF AD5M 0.25 Nozzle", + "renamed_from": "SUNLU PLA Matte @FF AD5M 0.25 nozzle", "inherits": "SUNLU PLA Matte @base", "from": "system", "setting_id": "GFSNLS02_00", diff --git a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA+ 2.0 @FF AD5M 0.25 nozzle.json b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA+ 2.0 @FF AD5M 0.25 nozzle.json index 7a8bf15d34..97d816cf37 100644 --- a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA+ 2.0 @FF AD5M 0.25 nozzle.json +++ b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA+ 2.0 @FF AD5M 0.25 nozzle.json @@ -1,6 +1,7 @@ { "type": "filament", "name": "SUNLU PLA+ 2.0 @FF AD5M 0.25 Nozzle", + "renamed_from": "SUNLU PLA+ 2.0 @FF AD5M 0.25 nozzle", "inherits": "SUNLU PLA+ 2.0 @base", "from": "system", "setting_id": "GFSNLS04_01", diff --git a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA+ @FF AD5M 0.25 nozzle.json b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA+ @FF AD5M 0.25 nozzle.json index 7d607ba94b..4bf0c5ae14 100644 --- a/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA+ @FF AD5M 0.25 nozzle.json +++ b/resources/profiles/Flashforge/filament/SUNLU/SUNLU PLA+ @FF AD5M 0.25 nozzle.json @@ -1,6 +1,7 @@ { "type": "filament", "name": "SUNLU PLA+ @FF AD5M 0.25 Nozzle", + "renamed_from": "SUNLU PLA+ @FF AD5M 0.25 nozzle", "inherits": "SUNLU PLA+ @base", "from": "system", "setting_id": "GFSNLS03_01", diff --git a/resources/profiles/Flashforge/filament/SUNLU/SUNLU Silk PLA+ @FF AD5M 0.25 nozzle.json b/resources/profiles/Flashforge/filament/SUNLU/SUNLU Silk PLA+ @FF AD5M 0.25 nozzle.json index d2ebf074da..0d75d8abfd 100644 --- a/resources/profiles/Flashforge/filament/SUNLU/SUNLU Silk PLA+ @FF AD5M 0.25 nozzle.json +++ b/resources/profiles/Flashforge/filament/SUNLU/SUNLU Silk PLA+ @FF AD5M 0.25 nozzle.json @@ -1,6 +1,7 @@ { "type": "filament", "name": "SUNLU Silk PLA+ @FF AD5M 0.25 Nozzle", + "renamed_from": "SUNLU Silk PLA+ @FF AD5M 0.25 nozzle", "inherits": "SUNLU Silk PLA+ @base", "from": "system", "setting_id": "GFSNLS05_01", From eb38474bb209a11e4df47b8828431e175b0dc557 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 15 Apr 2025 17:09:03 +0800 Subject: [PATCH 06/24] Add check for profile name consistency (cherry picked from commit 7343aa5b55cab9a9f7cbdcdddd4e7650f1577598) --- scripts/orca_extra_profile_check.py | 68 ++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/scripts/orca_extra_profile_check.py b/scripts/orca_extra_profile_check.py index 33d8c0acc4..73da993966 100644 --- a/scripts/orca_extra_profile_check.py +++ b/scripts/orca_extra_profile_check.py @@ -139,8 +139,61 @@ def check_machine_default_materials(profiles_dir, vendor_name): return error_count +def check_name_consistency(profiles_dir, vendor_name): + """ + Make sure profile names match in both vendor json and subpath files + """ + error_count = 0 + vendor_dir = profiles_dir / vendor_name + vendor_file = profiles_dir / (vendor_name + ".json") + + if not vendor_file.exists(): + print(f"No profiles found for vendor: {vendor_name} at {vendor_file}") + return 0 + + try: + with open(vendor_file, 'r', encoding='UTF-8') as fp: + data = json.load(fp) + except Exception as e: + print(f"Error loading vendor profile {vendor_file}: {e}") + return 1 + + for sect in [ + 'machine_model_list', + 'process_list', + 'filament_list', + 'machine_list', + ]: + if sect not in data: + continue + for child in data[sect]: + name_in_vendor = child['name'] + sub_path = child['sub_path'] + sub_file = vendor_dir / sub_path + + if not sub_file.exists(): + print(f"Missing sub profile: '{sub_path}' declared in {vendor_file.relative_to(profiles_dir)}") + error_count += 1 + continue + + try: + with open(sub_file, 'r', encoding='UTF-8') as fp: + sub_data = json.load(fp) + except Exception as e: + print(f"Error loading profile {sub_file}: {e}") + error_count += 1 + continue + + name_in_sub = sub_data['name'] + + if not name_in_vendor == name_in_sub: + print(f"Profile name mismatch: '{name_in_vendor}' in {vendor_file.relative_to(profiles_dir)} but '{name_in_sub}' in {sub_file.relative_to(profiles_dir)}") + error_count += 1 + + return error_count + def main(): - print("Checking compatible_printers ...") + print("Checking profiles ...") parser = argparse.ArgumentParser(description="Check profiles for issues") parser.add_argument("--vendor", type=str, required=False, help="Vendor name") parser.add_argument("--check-filaments", default=True, action="store_true", help="Check compatible_printers in filament profiles") @@ -157,17 +210,20 @@ def main(): errors_found += check_filament_compatible_printers(profiles_dir / args.vendor / "filament") if args.check_materials: errors_found += check_machine_default_materials(profiles_dir, args.vendor) + errors_found += check_name_consistency(profiles_dir, args.vendor) checked_vendor_count += 1 else: for vendor_dir in profiles_dir.iterdir(): + if not vendor_dir.is_dir(): + continue + errors_found += check_name_consistency(profiles_dir, vendor_dir.name) # skip "OrcaFilamentLibrary" folder if vendor_dir.name == "OrcaFilamentLibrary": continue - if vendor_dir.is_dir(): - if args.check_filaments or not (args.check_materials and not args.check_filaments): - errors_found += check_filament_compatible_printers(vendor_dir / "filament") - if args.check_materials: - errors_found += check_machine_default_materials(profiles_dir, vendor_dir.name) + if args.check_filaments or not (args.check_materials and not args.check_filaments): + errors_found += check_filament_compatible_printers(vendor_dir / "filament") + if args.check_materials: + errors_found += check_machine_default_materials(profiles_dir, vendor_dir.name) checked_vendor_count += 1 if errors_found > 0: From eb57036dab43856df3a87d7c884c1169a727eb09 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 15 Apr 2025 21:42:21 +0800 Subject: [PATCH 07/24] Update filament name checking script (cherry picked from commit 7c4c1bf191de1fd6b86a07bf62c1ab634faa9f55) --- scripts/orca_extra_profile_check.py | 66 +++++++++++++++-------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/scripts/orca_extra_profile_check.py b/scripts/orca_extra_profile_check.py index 73da993966..74d537e129 100644 --- a/scripts/orca_extra_profile_check.py +++ b/scripts/orca_extra_profile_check.py @@ -139,9 +139,11 @@ def check_machine_default_materials(profiles_dir, vendor_name): return error_count -def check_name_consistency(profiles_dir, vendor_name): +def check_filament_name_consistency(profiles_dir, vendor_name): """ - Make sure profile names match in both vendor json and subpath files + Make sure filament profile names match in both vendor json and subpath files. + Filament profiles work only if the name in .json matches the name in sub_path file, + or if it's one of the sub_path file's `renamed_from`. """ error_count = 0 vendor_dir = profiles_dir / vendor_name @@ -158,37 +160,39 @@ def check_name_consistency(profiles_dir, vendor_name): print(f"Error loading vendor profile {vendor_file}: {e}") return 1 - for sect in [ - 'machine_model_list', - 'process_list', - 'filament_list', - 'machine_list', - ]: - if sect not in data: + if 'filament_list' not in data: + return 0 + + for child in data['filament_list']: + name_in_vendor = child['name'] + sub_path = child['sub_path'] + sub_file = vendor_dir / sub_path + + if not sub_file.exists(): + print(f"Missing sub profile: '{sub_path}' declared in {vendor_file.relative_to(profiles_dir)}") + error_count += 1 continue - for child in data[sect]: - name_in_vendor = child['name'] - sub_path = child['sub_path'] - sub_file = vendor_dir / sub_path - if not sub_file.exists(): - print(f"Missing sub profile: '{sub_path}' declared in {vendor_file.relative_to(profiles_dir)}") - error_count += 1 + try: + with open(sub_file, 'r', encoding='UTF-8') as fp: + sub_data = json.load(fp) + except Exception as e: + print(f"Error loading profile {sub_file}: {e}") + error_count += 1 + continue + + name_in_sub = sub_data['name'] + + if name_in_sub == name_in_vendor: + continue + + if 'renamed_from' in sub_data: + renamed_from = [n.strip() for n in sub_data['renamed_from'].split(';')] + if name_in_vendor in renamed_from: continue - try: - with open(sub_file, 'r', encoding='UTF-8') as fp: - sub_data = json.load(fp) - except Exception as e: - print(f"Error loading profile {sub_file}: {e}") - error_count += 1 - continue - - name_in_sub = sub_data['name'] - - if not name_in_vendor == name_in_sub: - print(f"Profile name mismatch: '{name_in_vendor}' in {vendor_file.relative_to(profiles_dir)} but '{name_in_sub}' in {sub_file.relative_to(profiles_dir)}") - error_count += 1 + print(f"Filament name mismatch: required '{name_in_vendor}' in {vendor_file.relative_to(profiles_dir)} but found '{name_in_sub}' in {sub_file.relative_to(profiles_dir)}, and none of its `renamed_from` matches the required name either") + error_count += 1 return error_count @@ -210,13 +214,13 @@ def main(): errors_found += check_filament_compatible_printers(profiles_dir / args.vendor / "filament") if args.check_materials: errors_found += check_machine_default_materials(profiles_dir, args.vendor) - errors_found += check_name_consistency(profiles_dir, args.vendor) + errors_found += check_filament_name_consistency(profiles_dir, args.vendor) checked_vendor_count += 1 else: for vendor_dir in profiles_dir.iterdir(): if not vendor_dir.is_dir(): continue - errors_found += check_name_consistency(profiles_dir, vendor_dir.name) + errors_found += check_filament_name_consistency(profiles_dir, vendor_dir.name) # skip "OrcaFilamentLibrary" folder if vendor_dir.name == "OrcaFilamentLibrary": continue From 2b5fd7ad2e2f3c42a3ff7113e4fa2fcde7085fac Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 15 Apr 2025 20:02:22 +0800 Subject: [PATCH 08/24] Fix filament name inconsistency (cherry picked from commit 36225fc3dbd88babbc5a227fcc6247528d0de6a4) --- .../Flashforge/filament/Generic PLA Silk @Flashforge AD4.json | 3 ++- .../profiles/Z-Bolt/filament/Z-Bolt ABS HT @0.4 nozzle.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/profiles/Flashforge/filament/Generic PLA Silk @Flashforge AD4.json b/resources/profiles/Flashforge/filament/Generic PLA Silk @Flashforge AD4.json index 571d943ff4..6c2db8a46b 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA Silk @Flashforge AD4.json +++ b/resources/profiles/Flashforge/filament/Generic PLA Silk @Flashforge AD4.json @@ -2,7 +2,8 @@ "type": "filament", "filament_id": "GFL99", "setting_id": "GFSA04", - "name": "PLA Silk @Flashforge AD4", + "name": "Generic PLA Silk @Flashforge AD4", + "renamed_from": "PLA Silk @Flashforge AD4", "from": "system", "instantiation": "true", "inherits": "Flashforge Generic PLA-Silk", diff --git a/resources/profiles/Z-Bolt/filament/Z-Bolt ABS HT @0.4 nozzle.json b/resources/profiles/Z-Bolt/filament/Z-Bolt ABS HT @0.4 nozzle.json index 5ce57d965c..91b1a0e4d5 100644 --- a/resources/profiles/Z-Bolt/filament/Z-Bolt ABS HT @0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/filament/Z-Bolt ABS HT @0.4 nozzle.json @@ -1,6 +1,7 @@ { "type": "filament", - "name": "Z-Bolt ABS HT@0.4 nozzle", + "name": "Z-Bolt ABS HT @0.4 nozzle", + "renamed_from": "Z-Bolt ABS HT@0.4 nozzle", "inherits": "Z-Bolt ABS HT @base", "from": "system", "instantiation": "true", From 2e9cb000f5418839cbe749a73a73a535bce468e5 Mon Sep 17 00:00:00 2001 From: staff1010 <132726146+staff1010@users.noreply.github.com> Date: Wed, 16 Apr 2025 13:05:35 +0800 Subject: [PATCH 09/24] Add CoLiDo Series Profiles (#9247) # Description This PR adds CoLiDo series 3D printers, processes for them and filaments to the slicer. Includes: Machine, Process, Filament and Model(as available from CoLiDo) Machine: CoLiDo DIY 4.0, X16, 160 V2, SR1, DIY 4.0 V2 # Screenshots/Recordings/Graphs ![image](https://github.com/user-attachments/assets/6d38e55e-5499-46be-b948-132294f108de) ## Tests Had no issue Printing with CoLiDo profiles. --- resources/profiles/CoLiDo.json | 284 ++++++++++++++++ .../profiles/CoLiDo/CoLiDo 160 V2_cover.png | Bin 0 -> 19158 bytes .../CoLiDo/CoLiDo DIY 4.0 V2_cover.png | Bin 0 -> 22954 bytes .../profiles/CoLiDo/CoLiDo DIY 4.0_cover.png | Bin 0 -> 24064 bytes .../profiles/CoLiDo/CoLiDo SR1_cover.png | Bin 0 -> 29399 bytes .../profiles/CoLiDo/CoLiDo X16_cover.png | Bin 0 -> 19158 bytes .../filament/CoLiDo ABS @CoLiDo SR1.json | 47 +++ .../CoLiDo Generic ABS @CoLiDo DIY 4.0.json | 42 +++ .../CoLiDo Generic ABS @CoLiDo X16.json | 43 +++ .../CoLiDo Generic PETG @CoLiDo DIY 4.0.json | 84 +++++ .../CoLiDo Generic PETG @CoLiDo X16.json | 85 +++++ .../CoLiDo Generic PLA @CoLiDo DIY 4.0.json | 54 ++++ .../CoLiDo Generic PLA @CoLiDo X16.json | 52 +++ .../CoLiDo Generic TPU @CoLiDo DIY 4.0.json | 42 +++ .../CoLiDo Generic TPU @CoLiDo X16.json | 43 +++ .../filament/CoLiDo PETG @CoLiDo SR1.json | 74 +++++ .../filament/CoLiDo PLA @CoLiDo SR1.json | 38 +++ .../filament/CoLiDo PLA Silk @CoLiDo SR1.json | 44 +++ .../CoLiDo PLA+ @CoLiDo DIY 4.0 V2.json | 50 +++ .../CoLiDo/filament/fdm_filament_abs.json | 82 +++++ .../CoLiDo/filament/fdm_filament_common.json | 147 +++++++++ .../CoLiDo/filament/fdm_filament_pet.json | 64 ++++ .../CoLiDo/filament/fdm_filament_pla.json | 244 ++++++++++++++ .../CoLiDo/filament/fdm_filament_tpu.json | 79 +++++ .../machine/CoLiDo 160 V2 0.4 nozzle.json | 223 +++++++++++++ .../CoLiDo/machine/CoLiDo 160 V2.json | 12 + .../machine/CoLiDo DIY 4.0 0.4 nozzle.json | 234 ++++++++++++++ .../machine/CoLiDo DIY 4.0 V2 0.4 nozzle.json | 38 +++ .../CoLiDo/machine/CoLiDo DIY 4.0 V2.json | 12 + .../CoLiDo/machine/CoLiDo DIY 4.0.json | 12 + .../CoLiDo/machine/CoLiDo SR1 0.4 nozzle.json | 38 +++ .../profiles/CoLiDo/machine/CoLiDo SR1.json | 12 + .../CoLiDo/machine/CoLiDo X16 0.4 nozzle.json | 223 +++++++++++++ .../profiles/CoLiDo/machine/CoLiDo X16.json | 12 + .../CoLiDo/machine/fdm_klipper_common.json | 60 ++++ .../CoLiDo/machine/fdm_machine_common.json | 119 +++++++ .../0.08mm Extra Fine @CoLiDo 160 V2.json | 11 + .../0.08mm Extra Fine @CoLiDo DIY 4.0.json | 11 + .../0.08mm Extra Fine @CoLiDo SR1.json | 21 ++ .../0.08mm Extra Fine @CoLiDo X16.json | 11 + .../process/0.12mm Fine @CoLiDo 160 V2.json | 11 + .../process/0.12mm Fine @CoLiDo DIY 4.0.json | 11 + .../process/0.12mm Fine @CoLiDo SR1.json | 21 ++ .../process/0.12mm Fine @CoLiDo X16.json | 11 + .../0.15mm Optimal @CoLiDo 160 V2.json | 11 + .../0.15mm Optimal @CoLiDo DIY 4.0.json | 11 + .../process/0.15mm Optimal @CoLiDo SR1.json | 21 ++ .../process/0.15mm Optimal @CoLiDo X16.json | 11 + .../process/0.16mm Optimal @CoLiDo SR1.json | 21 ++ .../0.20mm Standard @CoLiDo 160 V2.json | 11 + .../0.20mm Standard @CoLiDo DIY 4.0 V2.json | 10 + .../0.20mm Standard @CoLiDo DIY 4.0.json | 11 + .../process/0.20mm Standard @CoLiDo SR1.json | 10 + .../process/0.20mm Standard @CoLiDo X16.json | 11 + .../process/0.24mm Draft @CoLiDo 160 V2.json | 12 + .../process/0.24mm Draft @CoLiDo DIY 4.0.json | 12 + .../process/0.24mm Draft @CoLiDo SR1.json | 19 ++ .../process/0.24mm Draft @CoLiDo X16.json | 12 + .../0.28mm Extra Draft @CoLiDo 160 V2.json | 12 + .../0.28mm Extra Draft @CoLiDo DIY 4.0.json | 12 + .../0.28mm Extra Draft @CoLiDo SR1.json | 17 + .../0.28mm Extra Draft @CoLiDo X16.json | 12 + .../process/0.32mm Standard @CoLiDo SR1.json | 19 ++ .../fdm_process_colido160v2_common.json | 10 + .../process/fdm_process_colido_common.json | 74 +++++ .../fdm_process_colidodiy40_common.json | 291 +++++++++++++++++ .../fdm_process_colidodiy40v2_common.json | 118 +++++++ .../process/fdm_process_colidosr1_common.json | 117 +++++++ .../process/fdm_process_colidox16_common.json | 303 ++++++++++++++++++ .../CoLiDo/process/fdm_process_common.json | 75 +++++ 70 files changed, 3944 insertions(+) create mode 100644 resources/profiles/CoLiDo.json create mode 100644 resources/profiles/CoLiDo/CoLiDo 160 V2_cover.png create mode 100644 resources/profiles/CoLiDo/CoLiDo DIY 4.0 V2_cover.png create mode 100644 resources/profiles/CoLiDo/CoLiDo DIY 4.0_cover.png create mode 100644 resources/profiles/CoLiDo/CoLiDo SR1_cover.png create mode 100644 resources/profiles/CoLiDo/CoLiDo X16_cover.png create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo ABS @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo Generic ABS @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo Generic ABS @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo Generic PETG @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo Generic PETG @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo Generic PLA @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo Generic PLA @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo Generic TPU @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo Generic TPU @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo PETG @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo PLA @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo PLA Silk @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/filament/CoLiDo PLA+ @CoLiDo DIY 4.0 V2.json create mode 100644 resources/profiles/CoLiDo/filament/fdm_filament_abs.json create mode 100644 resources/profiles/CoLiDo/filament/fdm_filament_common.json create mode 100644 resources/profiles/CoLiDo/filament/fdm_filament_pet.json create mode 100644 resources/profiles/CoLiDo/filament/fdm_filament_pla.json create mode 100644 resources/profiles/CoLiDo/filament/fdm_filament_tpu.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo 160 V2 0.4 nozzle.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo 160 V2.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 0.4 nozzle.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 V2 0.4 nozzle.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 V2.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo SR1 0.4 nozzle.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo X16 0.4 nozzle.json create mode 100644 resources/profiles/CoLiDo/machine/CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/machine/fdm_klipper_common.json create mode 100644 resources/profiles/CoLiDo/machine/fdm_machine_common.json create mode 100644 resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo 160 V2.json create mode 100644 resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo 160 V2.json create mode 100644 resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo 160 V2.json create mode 100644 resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/process/0.16mm Optimal @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo 160 V2.json create mode 100644 resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo DIY 4.0 V2.json create mode 100644 resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo 160 V2.json create mode 100644 resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo 160 V2.json create mode 100644 resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo DIY 4.0.json create mode 100644 resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo X16.json create mode 100644 resources/profiles/CoLiDo/process/0.32mm Standard @CoLiDo SR1.json create mode 100644 resources/profiles/CoLiDo/process/fdm_process_colido160v2_common.json create mode 100644 resources/profiles/CoLiDo/process/fdm_process_colido_common.json create mode 100644 resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json create mode 100644 resources/profiles/CoLiDo/process/fdm_process_colidodiy40v2_common.json create mode 100644 resources/profiles/CoLiDo/process/fdm_process_colidosr1_common.json create mode 100644 resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json create mode 100644 resources/profiles/CoLiDo/process/fdm_process_common.json diff --git a/resources/profiles/CoLiDo.json b/resources/profiles/CoLiDo.json new file mode 100644 index 0000000000..de2e1e312a --- /dev/null +++ b/resources/profiles/CoLiDo.json @@ -0,0 +1,284 @@ +{ + "name": "CoLiDo", + "version": "02.01.01.00", + "force_update": "0", + "description": "CoLiDo configurations", + "machine_model_list": [ + { + "name": "CoLiDo DIY 4.0", + "sub_path": "machine/CoLiDo DIY 4.0.json" + }, + { + "name": "CoLiDo X16", + "sub_path": "machine/CoLiDo X16.json" + }, + { + "name": "CoLiDo 160 V2", + "sub_path": "machine/CoLiDo 160 V2.json" + }, + { + "name": "CoLiDo SR1", + "sub_path": "machine/CoLiDo SR1.json" + }, + { + "name": "CoLiDo DIY 4.0 V2", + "sub_path": "machine/CoLiDo DIY 4.0 V2.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_colido_common", + "sub_path": "process/fdm_process_colido_common.json" + }, + { + "name": "fdm_process_colidodiy40_common", + "sub_path": "process/fdm_process_colidodiy40_common.json" + }, + { + "name": "0.08mm Extra Fine @CoLiDo DIY 4.0", + "sub_path": "process/0.08mm Extra Fine @CoLiDo DIY 4.0.json" + }, + { + "name": "0.12mm Fine @CoLiDo DIY 4.0", + "sub_path": "process/0.12mm Fine @CoLiDo DIY 4.0.json" + }, + { + "name": "0.15mm Optimal @CoLiDo DIY 4.0", + "sub_path": "process/0.15mm Optimal @CoLiDo DIY 4.0.json" + }, + { + "name": "0.20mm Standard @CoLiDo DIY 4.0", + "sub_path": "process/0.20mm Standard @CoLiDo DIY 4.0.json" + }, + { + "name": "0.24mm Draft @CoLiDo DIY 4.0", + "sub_path": "process/0.24mm Draft @CoLiDo DIY 4.0.json" + }, + { + "name": "0.28mm Extra Draft @CoLiDo DIY 4.0", + "sub_path": "process/0.28mm Extra Draft @CoLiDo DIY 4.0.json" + } + + , + { + "name": "fdm_process_colidox16_common", + "sub_path": "process/fdm_process_colidox16_common.json" + }, + { + "name": "0.08mm Extra Fine @CoLiDo X16", + "sub_path": "process/0.08mm Extra Fine @CoLiDo X16.json" + }, + { + "name": "0.12mm Fine @CoLiDo X16", + "sub_path": "process/0.12mm Fine @CoLiDo X16.json" + }, + { + "name": "0.15mm Optimal @CoLiDo X16", + "sub_path": "process/0.15mm Optimal @CoLiDo X16.json" + }, + { + "name": "0.20mm Standard @CoLiDo X16", + "sub_path": "process/0.20mm Standard @CoLiDo X16.json" + }, + { + "name": "0.24mm Draft @CoLiDo X16", + "sub_path": "process/0.24mm Draft @CoLiDo X16.json" + }, + { + "name": "0.28mm Extra Draft @CoLiDo X16", + "sub_path": "process/0.28mm Extra Draft @CoLiDo X16.json" + } + + , + { + "name": "fdm_process_colido160v2_common", + "sub_path": "process/fdm_process_colido160v2_common.json" + }, + { + "name": "0.08mm Extra Fine @CoLiDo 160 V2", + "sub_path": "process/0.08mm Extra Fine @CoLiDo 160 V2.json" + }, + { + "name": "0.12mm Fine @CoLiDo 160 V2", + "sub_path": "process/0.12mm Fine @CoLiDo 160 V2.json" + }, + { + "name": "0.15mm Optimal @CoLiDo 160 V2", + "sub_path": "process/0.15mm Optimal @CoLiDo 160 V2.json" + }, + { + "name": "0.20mm Standard @CoLiDo 160 V2", + "sub_path": "process/0.20mm Standard @CoLiDo 160 V2.json" + }, + { + "name": "0.24mm Draft @CoLiDo 160 V2", + "sub_path": "process/0.24mm Draft @CoLiDo 160 V2.json" + }, + { + "name": "0.28mm Extra Draft @CoLiDo 160 V2", + "sub_path": "process/0.28mm Extra Draft @CoLiDo 160 V2.json" + } + + , + { + "name": "fdm_process_colidosr1_common", + "sub_path": "process/fdm_process_colidosr1_common.json" + }, + { + "name": "0.08mm Extra Fine @CoLiDo SR1", + "sub_path": "process/0.08mm Extra Fine @CoLiDo SR1.json" + }, + { + "name": "0.12mm Fine @CoLiDo SR1", + "sub_path": "process/0.12mm Fine @CoLiDo SR1.json" + }, + { + "name": "0.15mm Optimal @CoLiDo SR1", + "sub_path": "process/0.15mm Optimal @CoLiDo SR1.json" + }, + { + "name": "0.16mm Optimal @CoLiDo SR1", + "sub_path": "process/0.16mm Optimal @CoLiDo SR1.json" + }, + { + "name": "0.20mm Standard @CoLiDo SR1", + "sub_path": "process/0.20mm Standard @CoLiDo SR1.json" + }, + { + "name": "0.24mm Draft @CoLiDo SR1", + "sub_path": "process/0.24mm Draft @CoLiDo SR1.json" + }, + { + "name": "0.28mm Extra Draft @CoLiDo SR1", + "sub_path": "process/0.28mm Extra Draft @CoLiDo SR1.json" + }, + { + "name": "0.32mm Standard @CoLiDo SR1", + "sub_path": "process/0.32mm Standard @CoLiDo SR1.json" + } + + , + { + "name": "fdm_process_colidodiy40v2_common", + "sub_path": "process/fdm_process_colidodiy40v2_common.json" + }, + { + "name": "0.20mm Standard @CoLiDo DIY 4.0 V2", + "sub_path": "process/0.20mm Standard @CoLiDo DIY 4.0 V2.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" + }, + { + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" + }, + { + "name": "CoLiDo Generic PETG @CoLiDo DIY 4.0", + "sub_path": "filament/CoLiDo Generic PETG @CoLiDo DIY 4.0.json" + }, + { + "name": "CoLiDo Generic PLA @CoLiDo DIY 4.0", + "sub_path": "filament/CoLiDo Generic PLA @CoLiDo DIY 4.0.json" + }, + { + "name": "CoLiDo Generic TPU @CoLiDo DIY 4.0", + "sub_path": "filament/CoLiDo Generic TPU @CoLiDo DIY 4.0.json" + }, + { + "name": "CoLiDo Generic ABS @CoLiDo DIY 4.0", + "sub_path": "filament/CoLiDo Generic ABS @CoLiDo DIY 4.0.json" + } + + , + { + "name": "CoLiDo Generic PETG @CoLiDo X16", + "sub_path": "filament/CoLiDo Generic PETG @CoLiDo X16.json" + }, + { + "name": "CoLiDo Generic PLA @CoLiDo X16", + "sub_path": "filament/CoLiDo Generic PLA @CoLiDo X16.json" + }, + { + "name": "CoLiDo Generic TPU @CoLiDo X16", + "sub_path": "filament/CoLiDo Generic TPU @CoLiDo X16.json" + }, + { + "name": "CoLiDo Generic ABS @CoLiDo X16", + "sub_path": "filament/CoLiDo Generic ABS @CoLiDo X16.json" + } + + , + { + "name": "CoLiDo PETG @CoLiDo SR1", + "sub_path": "filament/CoLiDo PETG @CoLiDo SR1.json" + }, + { + "name": "CoLiDo PLA @CoLiDo SR1", + "sub_path": "filament/CoLiDo PLA @CoLiDo SR1.json" + }, + { + "name": "CoLiDo PLA Silk @CoLiDo SR1", + "sub_path": "filament/CoLiDo PLA Silk @CoLiDo SR1.json" + }, + { + "name": "CoLiDo ABS @CoLiDo SR1", + "sub_path": "filament/CoLiDo ABS @CoLiDo SR1.json" + } + + , + { + "name": "CoLiDo PLA+ @CoLiDo DIY 4.0 V2", + "sub_path": "filament/CoLiDo PLA+ @CoLiDo DIY 4.0 V2.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_klipper_common", + "sub_path": "machine/fdm_klipper_common.json" + }, + { + "name": "CoLiDo DIY 4.0 0.4 nozzle", + "sub_path": "machine/CoLiDo DIY 4.0 0.4 nozzle.json" + }, + { + "name": "CoLiDo X16 0.4 nozzle", + "sub_path": "machine/CoLiDo X16 0.4 nozzle.json" + }, + { + "name": "CoLiDo 160 V2 0.4 nozzle", + "sub_path": "machine/CoLiDo 160 V2 0.4 nozzle.json" + }, + { + "name": "CoLiDo SR1 0.4 nozzle", + "sub_path": "machine/CoLiDo SR1 0.4 nozzle.json" + }, + { + "name": "CoLiDo DIY 4.0 V2 0.4 nozzle", + "sub_path": "machine/CoLiDo DIY 4.0 V2 0.4 nozzle.json" + } + ] +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/CoLiDo 160 V2_cover.png b/resources/profiles/CoLiDo/CoLiDo 160 V2_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..fab6d2e503841d48bfb5718a5a69a14c889b91b1 GIT binary patch literal 19158 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

N;qjpocNuW&)! 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

AO#L4Q+Wao1xS9~ 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 NYD(IQHS%vm{tv%k5YPYs literal 0 HcmV?d00001 diff --git a/resources/profiles/CoLiDo/CoLiDo X16_cover.png b/resources/profiles/CoLiDo/CoLiDo X16_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..fab6d2e503841d48bfb5718a5a69a14c889b91b1 GIT binary patch literal 19158 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

N;qjpocNuW&)! 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 zf8u5245)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/filament/fdm_filament_pla.json b/resources/profiles/CoLiDo/filament/fdm_filament_pla.json new file mode 100644 index 0000000000..c2fb97ed10 --- /dev/null +++ b/resources/profiles/CoLiDo/filament/fdm_filament_pla.json @@ -0,0 +1,244 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "chamber_temperatures": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "70" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "dont_slow_down_outer_wall": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "70" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cooling_final_speed": [ + "3.4" + ], + "filament_cooling_initial_speed": [ + "2.2" + ], + "filament_cooling_moves": [ + "4" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_load_time": [ + "0" + ], + "filament_loading_speed": [ + "28" + ], + "filament_loading_speed_start": [ + "3" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "10" + ], + "filament_multitool_ramming_volume": [ + "10" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_unload_time": [ + "0" + ], + "filament_unloading_speed": [ + "90" + ], + "filament_unloading_speed_start": [ + "100" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "160" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "3" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ] +} diff --git a/resources/profiles/CoLiDo/filament/fdm_filament_tpu.json b/resources/profiles/CoLiDo/filament/fdm_filament_tpu.json new file mode 100644 index 0000000000..8ec0a4fec3 --- /dev/null +++ b/resources/profiles/CoLiDo/filament/fdm_filament_tpu.json @@ -0,0 +1,79 @@ +{ + "type": "filament", + "name": "fdm_filament_tpu", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "30" + ], + "cool_plate_temp_initial_layer": [ + "30" + ], + "eng_plate_temp": [ + "30" + ], + "eng_plate_temp_initial_layer": [ + "30" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_type": [ + "TPU" + ], + "hot_plate_temp": [ + "35" + ], + "hot_plate_temp_initial_layer": [ + "35" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "30" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/machine/CoLiDo 160 V2 0.4 nozzle.json b/resources/profiles/CoLiDo/machine/CoLiDo 160 V2 0.4 nozzle.json new file mode 100644 index 0000000000..ec52174eb5 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo 160 V2 0.4 nozzle.json @@ -0,0 +1,223 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "CoLiDo 160 V2 0.4 nozzle", + "from": "system", + "instantiation": "true", + "printer_model": "CoLiDo 160 V2", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_filament_profile": [ + "CoLiDo Generic PLA @CoLiDo X16" + ], + "default_print_profile": "0.20mm Standard @CoLiDo X16", + "deretraction_speed": [ + "30" + ], + "disable_m73": "1", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "88", + "extruder_clearance_height_to_rod": "27", + "extruder_clearance_radius": "65", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "-5x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin2", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "mks", + "is_custom_defined": "0", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "G1 E-1.0 F2100 ; retract\nG92 E0.0\nG1{if max_layer_z < max_print_height} Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} E-3.0 F720 ; move print head up & retract filament\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y0 F3000 ; park print head\nM84 ; disable motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "1000" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_travel": [ + "0", + "0" + ], + "machine_max_acceleration_x": [ + "1000" + ], + "machine_max_acceleration_y": [ + "1000" + ], + "machine_max_acceleration_z": [ + "500" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "300" + ], + "machine_max_speed_y": [ + "300" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "machine_pause_gcode": "", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting]\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all\nG1 X3.0 Y3.0 Z0.3 F1000 ; move print head up\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG92 E0.0\n; initial load\nG1 E2 F300\nG1 Y153.0 E10.2 F1000\nG1 X4 E0.05 F1000\nG0 Y152.5\nG1 E0.2\nG1 X3.5 E0.05\nG1 Y3 E10.2 F1000\nG92 E0.0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "print_host": "", + "print_host_webui": "", + "printable_area": [ + "0x0", + "160x0", + "160x160", + "0x160" + ], + "printable_height": "180", + "printer_notes": "", + "printer_settings_id": "CoLiDo X16 0.4 nozzle", + "printer_structure": "undefine", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_apikey": "", + "printhost_authorization_type": "key", + "printhost_cafile": "", + "printhost_password": "", + "printhost_port": "", + "printhost_ssl_ignore_revoke": "0", + "printhost_user": "", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "1" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "0" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "1.2" + ], + "retraction_minimum_travel": [ + "0.4" + ], + "retraction_speed": [ + "30" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "template_custom_gcode": "", + "thumbnails": "", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "version": "2.1.1.0", + "wipe": [ + "0" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo 160 V2.json b/resources/profiles/CoLiDo/machine/CoLiDo 160 V2.json new file mode 100644 index 0000000000..8b4614ff23 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo 160 V2.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "CoLiDo 160 V2", + "model_id": "CoLiDo_160_V2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "CoLiDo", + "bed_model": "", + "bed_texture": "", + "hotend_model": "", + "default_materials": "CoLiDo Generic PLA @CoLiDo X16;CoLiDo Generic ABS @CoLiDo X16;CoLiDo Generic PETG @CoLiDo X16;CoLiDo Generic TPU @CoLiDo X16" +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 0.4 nozzle.json b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 0.4 nozzle.json new file mode 100644 index 0000000000..bb4604d196 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 0.4 nozzle.json @@ -0,0 +1,234 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "CoLiDo DIY 4.0 0.4 nozzle", + "from": "system", + "instantiation": "true", + "printer_model": "CoLiDo DIY 4.0", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "235,220", + "bed_mesh_min": "46,20", + "bed_mesh_probe_distance": "37.8,40", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_filament_profile": [ + "CoLiDo Generic PLA @CoLiDo DIY 4.0" + ], + "default_print_profile": "0.20mm Standard @CoLiDo DIY 4.0", + "deretraction_speed": [ + "20" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "135", + "extruder_clearance_height_to_rod": "35", + "extruder_clearance_radius": "40", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "-32x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "is_custom_defined": "0", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\n", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "PRINT_END\n", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "200" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "12", + "12" + ], + "machine_max_jerk_y": [ + "12", + "12" + ], + "machine_max_jerk_z": [ + "0.2", + "0.4" + ], + "machine_max_speed_e": [ + "25", + "25" + ], + "machine_max_speed_x": [ + "800", + "200" + ], + "machine_max_speed_y": [ + "800", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "PAUSE", + "machine_start_gcode": "PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] SPEED_WALL=[initial_layer_speed]\n; You can use following code instead if your PRINT_START macro support Chamber and print area bedmesh\n", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "preferred_orientation": "0", + "print_host": "", + "print_host_webui": "", + "printable_area": [ + "0x0", + "225x0", + "225x220", + "0x220" + ], + "printable_height": "230", + "printer_notes": "", + "printer_settings_id": "CoLiDo DIY 4.0 0.4 nozzle", + "printer_structure": "undefine", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_apikey": "", + "printhost_authorization_type": "key", + "printhost_cafile": "", + "printhost_password": "", + "printhost_port": "", + "printhost_ssl_ignore_revoke": "0", + "printhost_user": "", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "2" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "0.8" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "20" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "version": "2.1.1.0", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 V2 0.4 nozzle.json b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 V2 0.4 nozzle.json new file mode 100644 index 0000000000..8a58226995 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 V2 0.4 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "machine", + "setting_id": "GM003", + "name": "CoLiDo DIY 4.0 V2 0.4 nozzle", + "from": "system", + "instantiation": "true", + "printer_model": "CoLiDo DIY 4.0 V2", + "default_filament_profile": [ + "CoLiDo PLA+ @CoLiDo DIY 4.0 V2" + ], + "default_print_profile": "0.20mm Standard @CoLiDo DIY 4.0 V2", + "printer_settings_id": "CoLiDo DIY 4.0 V2 0.4 nozzle", + "nozzle_diameter": [ + "0.4" + ], + "auxiliary_fan": "1", + "deretraction_speed": [ + "50" + ], + "inherits": "fdm_klipper_common", + "is_custom_defined": "0", + "print_host": "192.168.0.30", + "printer_variant": "0.4", + "printable_area": [ + "0x0", + "230x0", + "230x230", + "0x230" + ], + "printable_height": "255", + "retraction_length": [ + "0.4" + ], + "version": "2.1.1.0", + "z_hop_types": [ + "Auto Lift" + ] +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 V2.json b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 V2.json new file mode 100644 index 0000000000..f794c8015d --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 V2.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "CoLiDo DIY 4.0 V2", + "model_id": "CoLiDo_DIY_4_0_V2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "CoLiDo", + "bed_model": "", + "bed_texture": "", + "hotend_model": "", + "default_materials": "CoLiDo PLA+ @CoLiDo DIY 4.0 V2" +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0.json b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0.json new file mode 100644 index 0000000000..a7ae257b59 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "CoLiDo DIY 4.0", + "model_id": "CoLiDo_DIY_4_0", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "CoLiDo", + "bed_model": "", + "bed_texture": "", + "hotend_model": "", + "default_materials": "CoLiDo Generic PLA @CoLiDo DIY 4.0;CoLiDo Generic ABS @CoLiDo DIY 4.0;CoLiDo Generic PETG @CoLiDo DIY 4.0;CoLiDo Generic TPU @CoLiDo DIY 4.0" +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo SR1 0.4 nozzle.json b/resources/profiles/CoLiDo/machine/CoLiDo SR1 0.4 nozzle.json new file mode 100644 index 0000000000..80897b1c79 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo SR1 0.4 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "machine", + "setting_id": "GM002", + "name": "CoLiDo SR1 0.4 nozzle", + "from": "system", + "instantiation": "true", + "printer_model": "CoLiDo SR1", + "default_filament_profile": [ + "CoLiDo PLA @CoLiDo SR1" + ], + "default_print_profile": "0.20mm Standard @CoLiDo SR1", + "printer_settings_id": "CoLiDo SR1 0.4 nozzle", + "nozzle_diameter": [ + "0.4" + ], + "auxiliary_fan": "1", + "deretraction_speed": [ + "50" + ], + "inherits": "fdm_klipper_common", + "is_custom_defined": "0", + "print_host": "192.168.1.224", + "printer_variant": "0.4", + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "251", + "retraction_length": [ + "0.4" + ], + "version": "2.1.1.0", + "z_hop_types": [ + "Auto Lift" + ] +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo SR1.json b/resources/profiles/CoLiDo/machine/CoLiDo SR1.json new file mode 100644 index 0000000000..563a875975 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo SR1.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "CoLiDo SR1", + "model_id": "CoLiDo_SR1", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "CoLiDo", + "bed_model": "", + "bed_texture": "", + "hotend_model": "", + "default_materials": "CoLiDo PLA @CoLiDo SR1;CoLiDo ABS @CoLiDo SR1;CoLiDo PETG @CoLiDo SR1;CoLiDo PLA Silk @CoLiDo SR1" +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo X16 0.4 nozzle.json b/resources/profiles/CoLiDo/machine/CoLiDo X16 0.4 nozzle.json new file mode 100644 index 0000000000..4e570cdc39 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo X16 0.4 nozzle.json @@ -0,0 +1,223 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "CoLiDo X16 0.4 nozzle", + "from": "system", + "instantiation": "true", + "printer_model": "CoLiDo X16", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_filament_profile": [ + "CoLiDo Generic PLA @CoLiDo X16" + ], + "default_print_profile": "0.20mm Standard @CoLiDo X16", + "deretraction_speed": [ + "30" + ], + "disable_m73": "1", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "88", + "extruder_clearance_height_to_rod": "27", + "extruder_clearance_radius": "65", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "-5x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin2", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "mks", + "is_custom_defined": "0", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "G1 E-1.0 F2100 ; retract\nG92 E0.0\nG1{if max_layer_z < max_print_height} Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} E-3.0 F720 ; move print head up & retract filament\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y0 F3000 ; park print head\nM84 ; disable motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "1000" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_travel": [ + "0", + "0" + ], + "machine_max_acceleration_x": [ + "1000" + ], + "machine_max_acceleration_y": [ + "1000" + ], + "machine_max_acceleration_z": [ + "500" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "300" + ], + "machine_max_speed_y": [ + "300" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "machine_pause_gcode": "", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting]\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all\nG1 X3.0 Y3.0 Z0.3 F1000 ; move print head up\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG92 E0.0\n; initial load\nG1 E2 F300\nG1 Y153.0 E10.2 F1000\nG1 X4 E0.05 F1000\nG0 Y152.5\nG1 E0.2\nG1 X3.5 E0.05\nG1 Y3 E10.2 F1000\nG92 E0.0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "print_host": "", + "print_host_webui": "", + "printable_area": [ + "0x0", + "160x0", + "160x160", + "0x160" + ], + "printable_height": "180", + "printer_notes": "", + "printer_settings_id": "CoLiDo X16 0.4 nozzle", + "printer_structure": "undefine", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_apikey": "", + "printhost_authorization_type": "key", + "printhost_cafile": "", + "printhost_password": "", + "printhost_port": "", + "printhost_ssl_ignore_revoke": "0", + "printhost_user": "", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "1" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "0" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "1.2" + ], + "retraction_minimum_travel": [ + "0.4" + ], + "retraction_speed": [ + "30" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "template_custom_gcode": "", + "thumbnails": "", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "version": "2.1.1.0", + "wipe": [ + "0" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/CoLiDo/machine/CoLiDo X16.json b/resources/profiles/CoLiDo/machine/CoLiDo X16.json new file mode 100644 index 0000000000..866c50f0c9 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/CoLiDo X16.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "CoLiDo X16", + "model_id": "CoLiDo_X16", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "CoLiDo", + "bed_model": "", + "bed_texture": "", + "hotend_model": "", + "default_materials": "CoLiDo Generic PLA @CoLiDo X16;CoLiDo Generic ABS @CoLiDo X16;CoLiDo Generic PETG @CoLiDo X16;CoLiDo Generic TPU @CoLiDo X16" +} diff --git a/resources/profiles/CoLiDo/machine/fdm_klipper_common.json b/resources/profiles/CoLiDo/machine/fdm_klipper_common.json new file mode 100644 index 0000000000..af307008b9 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/fdm_klipper_common.json @@ -0,0 +1,60 @@ +{ + "type": "machine", + "name": "fdm_klipper_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "klipper", + "machine_max_acceleration_e": ["5000", "5000"], + "machine_max_acceleration_extruding": ["20000", "20000"], + "machine_max_acceleration_retracting": ["5000", "5000"], + "machine_max_acceleration_travel": ["20000", "20000"], + "machine_max_acceleration_x": ["20000", "20000"], + "machine_max_acceleration_y": ["20000", "20000"], + "machine_max_acceleration_z": ["500", "200"], + "machine_max_speed_e": ["25", "25"], + "machine_max_speed_x": ["500", "200"], + "machine_max_speed_y": ["500", "200"], + "machine_max_speed_z": ["12", "12"], + "machine_max_jerk_e": ["2.5", "2.5"], + "machine_max_jerk_x": ["9", "9"], + "machine_max_jerk_y": ["9", "9"], + "machine_max_jerk_z": ["0.2", "0.4"], + "machine_min_extruding_rate": ["0", "0"], + "machine_min_travel_rate": ["0", "0"], + "max_layer_height": ["0.32"], + "min_layer_height": ["0.08"], + "printable_height": "250", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "printer_settings_id": "", + "printer_technology": "FFF", + "printer_variant": "0.4", + "retraction_minimum_travel": ["1"], + "retract_before_wipe": ["70%"], + "retract_when_changing_layer": ["1"], + "retraction_length": ["0.8"], + "retract_length_toolchange": ["2"], + "z_hop": ["0.4"], + "retract_restart_extra": ["0"], + "retract_restart_extra_toolchange": ["0"], + "retraction_speed": ["30"], + "deretraction_speed": ["30"], + "z_hop_types": "Normal Lift", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "wipe": ["1"], + "default_filament_profile": ["My Generic ABS"], + "default_print_profile": "0.20mm Standard @MyKlipper", + "bed_exclude_area": ["0x0"], + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n", + "machine_end_gcode": "PRINT_END", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "machine_pause_gcode": "PAUSE", + "scan_first_layer": "0", + "nozzle_type": "undefine", + "auxiliary_fan": "0" +} diff --git a/resources/profiles/CoLiDo/machine/fdm_machine_common.json b/resources/profiles/CoLiDo/machine/fdm_machine_common.json new file mode 100644 index 0000000000..5785f57b19 --- /dev/null +++ b/resources/profiles/CoLiDo/machine/fdm_machine_common.json @@ -0,0 +1,119 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "silent_mode": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "10000" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_x": [ + "10000" + ], + "machine_max_acceleration_y": [ + "10000" + ], + "machine_max_acceleration_z": [ + "500" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "500" + ], + "machine_max_speed_y": [ + "500" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "1" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "default_print_profile": "", + "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", + "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "machine_pause_gcode": "M601" +} diff --git a/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo 160 V2.json b/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo 160 V2.json new file mode 100644 index 0000000000..6ef9227c24 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo 160 V2.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.08mm Extra Fine @CoLiDo 160 V2", + "from": "system", + "inherits": "fdm_process_colido160v2_common", + "instantiation": "true", + "bottom_shell_layers": "7", + "layer_height": "0.08", + "top_shell_layers": "9" +} diff --git a/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo DIY 4.0.json b/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo DIY 4.0.json new file mode 100644 index 0000000000..8d8823cd3f --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo DIY 4.0.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Extra Fine @CoLiDo DIY 4.0", + "from": "system", + "inherits": "fdm_process_colidodiy40_common", + "instantiation": "true", + "bottom_shell_layers": "7", + "layer_height": "0.08", + "top_shell_layers": "9" +} diff --git a/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo SR1.json b/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo SR1.json new file mode 100644 index 0000000000..6a241af5b7 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo SR1.json @@ -0,0 +1,21 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.08mm Extra Fine @CoLiDo SR1", + "from": "system", + "inherits": "fdm_process_colidosr1_common", + "instantiation": "true", + "layer_height": "0.08", + "bottom_shell_layers": "7", + "top_shell_layers": "9", + "support_top_z_distance": "0.08", + "support_bottom_z_distance": "0.08", + "initial_layer_print_height": "0.2", + "default_acceleration": "10000", + "enable_support": "1", + "is_custom_defined": "0", + "print_settings_id": "0.08mm Extra Fine @CoLiDo SR1", + "support_style": "tree_hybrid", + "support_type": "tree(auto)", + "travel_speed": "300" +} diff --git a/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo X16.json b/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo X16.json new file mode 100644 index 0000000000..8fb49d404e --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.08mm Extra Fine @CoLiDo X16.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.08mm Extra Fine @CoLiDo X16", + "from": "system", + "inherits": "fdm_process_colidox16_common", + "instantiation": "true", + "bottom_shell_layers": "7", + "layer_height": "0.08", + "top_shell_layers": "9" +} diff --git a/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo 160 V2.json b/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo 160 V2.json new file mode 100644 index 0000000000..bbbcf787fa --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo 160 V2.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.12mm Fine @CoLiDo 160 V2", + "from": "system", + "inherits": "fdm_process_colido160v2_common", + "instantiation": "true", + "bottom_shell_layers": "5", + "layer_height": "0.12", + "top_shell_layers": "6" +} diff --git a/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo DIY 4.0.json b/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo DIY 4.0.json new file mode 100644 index 0000000000..465b7bd045 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo DIY 4.0.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @CoLiDo DIY 4.0", + "from": "system", + "inherits": "fdm_process_colidodiy40_common", + "instantiation": "true", + "bottom_shell_layers": "5", + "layer_height": "0.12", + "top_shell_layers": "6" +} diff --git a/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo SR1.json b/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo SR1.json new file mode 100644 index 0000000000..283b8e9f1f --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo SR1.json @@ -0,0 +1,21 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.12mm Fine @CoLiDo SR1", + "from": "system", + "inherits": "fdm_process_colidosr1_common", + "instantiation": "true", + "layer_height": "0.12", + "bottom_shell_layers": "5", + "top_shell_layers": "6", + "support_top_z_distance": "0.08", + "support_bottom_z_distance": "0.08", + "initial_layer_print_height": "0.2", + "default_acceleration": "10000", + "enable_support": "1", + "is_custom_defined": "0", + "print_settings_id": "0.12mm Fine @CoLiDo SR1", + "support_style": "tree_hybrid", + "support_type": "tree(auto)", + "travel_speed": "300" +} diff --git a/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo X16.json b/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo X16.json new file mode 100644 index 0000000000..ab2326334c --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.12mm Fine @CoLiDo X16.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.12mm Fine @CoLiDo X16", + "from": "system", + "inherits": "fdm_process_colidox16_common", + "instantiation": "true", + "bottom_shell_layers": "5", + "layer_height": "0.12", + "top_shell_layers": "6" +} diff --git a/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo 160 V2.json b/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo 160 V2.json new file mode 100644 index 0000000000..10ddd8f740 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo 160 V2.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.15mm Optimal @CoLiDo 160 V2", + "from": "system", + "inherits": "fdm_process_colido160v2_common", + "instantiation": "true", + "bottom_shell_layers": "4", + "layer_height": "0.15", + "top_shell_layers": "5" +} diff --git a/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo DIY 4.0.json b/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo DIY 4.0.json new file mode 100644 index 0000000000..e328cc9ae3 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo DIY 4.0.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Optimal @CoLiDo DIY 4.0", + "from": "system", + "inherits": "fdm_process_colidodiy40_common", + "instantiation": "true", + "bottom_shell_layers": "4", + "layer_height": "0.15", + "top_shell_layers": "5" +} diff --git a/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo SR1.json b/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo SR1.json new file mode 100644 index 0000000000..5c358cc135 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo SR1.json @@ -0,0 +1,21 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.15mm Optimal @CoLiDo SR1", + "from": "system", + "inherits": "fdm_process_colidosr1_common", + "instantiation": "true", + "layer_height": "0.15", + "bottom_shell_layers": "4", + "top_shell_layers": "5", + "support_top_z_distance": "0.15", + "support_bottom_z_distance": "0.15", + "initial_layer_print_height": "0.2", + "default_acceleration": "10000", + "enable_support": "1", + "is_custom_defined": "0", + "print_settings_id": "0.15mm Optimal @CoLiDo SR1", + "support_style": "tree_hybrid", + "support_type": "tree(auto)", + "travel_speed": "300" +} diff --git a/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo X16.json b/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo X16.json new file mode 100644 index 0000000000..a360f16c55 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.15mm Optimal @CoLiDo X16.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.15mm Optimal @CoLiDo X16", + "from": "system", + "inherits": "fdm_process_colidox16_common", + "instantiation": "true", + "bottom_shell_layers": "4", + "layer_height": "0.15", + "top_shell_layers": "5" +} diff --git a/resources/profiles/CoLiDo/process/0.16mm Optimal @CoLiDo SR1.json b/resources/profiles/CoLiDo/process/0.16mm Optimal @CoLiDo SR1.json new file mode 100644 index 0000000000..57e9dc1505 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.16mm Optimal @CoLiDo SR1.json @@ -0,0 +1,21 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.16mm Optimal @CoLiDo SR1", + "from": "system", + "inherits": "fdm_process_colidosr1_common", + "instantiation": "true", + "layer_height": "0.16", + "bottom_shell_layers": "4", + "top_shell_layers": "5", + "support_top_z_distance": "0.16", + "support_bottom_z_distance": "0.16", + "initial_layer_print_height": "0.2", + "default_acceleration": "10000", + "enable_support": "1", + "is_custom_defined": "0", + "print_settings_id": "0.16mm Optimal @CoLiDo SR1", + "support_style": "tree_hybrid", + "support_type": "tree(auto)", + "travel_speed": "300" +} diff --git a/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo 160 V2.json b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo 160 V2.json new file mode 100644 index 0000000000..3dd1ea40b1 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo 160 V2.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.20mm Standard @CoLiDo 160 V2", + "from": "system", + "inherits": "fdm_process_colido160v2_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.2", + "top_shell_layers": "4" +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo DIY 4.0 V2.json b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo DIY 4.0 V2.json new file mode 100644 index 0000000000..9dfd74c0b0 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo DIY 4.0 V2.json @@ -0,0 +1,10 @@ +{ + "type": "process", + "setting_id": "GP007", + "name": "0.20mm Standard @CoLiDo DIY 4.0 V2", + "from": "system", + "inherits": "fdm_process_colidodiy40v2_common", + "instantiation": "true", + "layer_height": "0.2", + "print_settings_id": "0.20mm Standard @CoLiDo DIY 4.0 V2" +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo DIY 4.0.json b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo DIY 4.0.json new file mode 100644 index 0000000000..ddfad22433 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo DIY 4.0.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @CoLiDo DIY 4.0", + "from": "system", + "inherits": "fdm_process_colidodiy40_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.2", + "top_shell_layers": "4" +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo SR1.json b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo SR1.json new file mode 100644 index 0000000000..e5164dfa36 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo SR1.json @@ -0,0 +1,10 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.20mm Standard @CoLiDo SR1", + "from": "system", + "inherits": "fdm_process_colidosr1_common", + "instantiation": "true", + "layer_height": "0.2", + "print_settings_id": "0.20mm Standard @CoLiDo SR1" +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo X16.json b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo X16.json new file mode 100644 index 0000000000..69da0f5920 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.20mm Standard @CoLiDo X16.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.20mm Standard @CoLiDo X16", + "from": "system", + "inherits": "fdm_process_colidox16_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.2", + "top_shell_layers": "4" +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo 160 V2.json b/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo 160 V2.json new file mode 100644 index 0000000000..5d33b79d42 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo 160 V2.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.24mm Draft @CoLiDo 160 V2", + "from": "system", + "inherits": "fdm_process_colido160v2_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.24", + "top_shell_layers": "4", + "top_surface_line_width": "0.45" +} diff --git a/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo DIY 4.0.json b/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo DIY 4.0.json new file mode 100644 index 0000000000..01a7a9661b --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo DIY 4.0.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @CoLiDo DIY 4.0", + "from": "system", + "inherits": "fdm_process_colidodiy40_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.24", + "top_shell_layers": "4", + "top_surface_line_width": "0.45" +} diff --git a/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo SR1.json b/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo SR1.json new file mode 100644 index 0000000000..affd7b5da7 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo SR1.json @@ -0,0 +1,19 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.24mm Draft @CoLiDo SR1", + "from": "system", + "inherits": "fdm_process_colidosr1_common", + "instantiation": "true", + "layer_height": "0.24", + "support_top_z_distance": "0.2", + "support_bottom_z_distance": "0.2", + "initial_layer_print_height": "0.2", + "default_acceleration": "10000", + "enable_support": "1", + "is_custom_defined": "0", + "print_settings_id": "0.24mm Draft @CoLiDo SR1", + "support_style": "tree_hybrid", + "support_type": "tree(auto)", + "travel_speed": "300" +} diff --git a/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo X16.json b/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo X16.json new file mode 100644 index 0000000000..b7782cbf82 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.24mm Draft @CoLiDo X16.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.24mm Draft @CoLiDo X16", + "from": "system", + "inherits": "fdm_process_colidox16_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.24", + "top_shell_layers": "4", + "top_surface_line_width": "0.45" +} diff --git a/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo 160 V2.json b/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo 160 V2.json new file mode 100644 index 0000000000..392cfac88f --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo 160 V2.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.28mm Extra Draft @CoLiDo 160 V2", + "from": "system", + "inherits": "fdm_process_colido160v2_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.28", + "top_shell_layers": "4", + "top_surface_line_width": "0.45" +} diff --git a/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo DIY 4.0.json b/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo DIY 4.0.json new file mode 100644 index 0000000000..f6cf092073 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo DIY 4.0.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.28mm Extra Draft @CoLiDo DIY 4.0", + "from": "system", + "inherits": "fdm_process_colidodiy40_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.28", + "top_shell_layers": "4", + "top_surface_line_width": "0.45" +} diff --git a/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo SR1.json b/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo SR1.json new file mode 100644 index 0000000000..7256ad541b --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo SR1.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.28mm Extra Draft @CoLiDo SR1", + "from": "system", + "inherits": "fdm_process_colidosr1_common", + "instantiation": "true", + "layer_height": "0.28", + "initial_layer_print_height": "0.2", + "default_acceleration": "10000", + "enable_support": "1", + "is_custom_defined": "0", + "print_settings_id": "0.28mm Extra Draft @CoLiDo SR1", + "support_style": "tree_hybrid", + "support_type": "tree(auto)", + "travel_speed": "300" +} diff --git a/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo X16.json b/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo X16.json new file mode 100644 index 0000000000..5f068610f8 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.28mm Extra Draft @CoLiDo X16.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "setting_id": "GP005", + "name": "0.28mm Extra Draft @CoLiDo X16", + "from": "system", + "inherits": "fdm_process_colidox16_common", + "instantiation": "true", + "bottom_shell_layers": "3", + "layer_height": "0.28", + "top_shell_layers": "4", + "top_surface_line_width": "0.45" +} diff --git a/resources/profiles/CoLiDo/process/0.32mm Standard @CoLiDo SR1.json b/resources/profiles/CoLiDo/process/0.32mm Standard @CoLiDo SR1.json new file mode 100644 index 0000000000..1ef273cc81 --- /dev/null +++ b/resources/profiles/CoLiDo/process/0.32mm Standard @CoLiDo SR1.json @@ -0,0 +1,19 @@ +{ + "type": "process", + "setting_id": "GP006", + "name": "0.32mm Standard @CoLiDo SR1", + "from": "system", + "inherits": "fdm_process_colidosr1_common", + "instantiation": "true", + "layer_height": "0.32", + "support_top_z_distance": "0.24", + "support_bottom_z_distance": "0.24", + "initial_layer_print_height": "0.2", + "default_acceleration": "10000", + "enable_support": "1", + "is_custom_defined": "0", + "print_settings_id": "0.32mm Standard @CoLiDo SR1", + "support_style": "tree_hybrid", + "support_type": "tree(auto)", + "travel_speed": "300" +} diff --git a/resources/profiles/CoLiDo/process/fdm_process_colido160v2_common.json b/resources/profiles/CoLiDo/process/fdm_process_colido160v2_common.json new file mode 100644 index 0000000000..47925c8887 --- /dev/null +++ b/resources/profiles/CoLiDo/process/fdm_process_colido160v2_common.json @@ -0,0 +1,10 @@ +{ + "type": "process", + "name": "fdm_process_colido160v2_common", + "inherits": "fdm_process_colidox16_common", + "from": "system", + "instantiation": "false", + "compatible_printers": [ + "CoLiDo 160 V2 0.4 nozzle" + ] +} diff --git a/resources/profiles/CoLiDo/process/fdm_process_colido_common.json b/resources/profiles/CoLiDo/process/fdm_process_colido_common.json new file mode 100644 index 0000000000..d364836edf --- /dev/null +++ b/resources/profiles/CoLiDo/process/fdm_process_colido_common.json @@ -0,0 +1,74 @@ +{ + "type": "process", + "name": "fdm_process_colido_common", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_speed": "50", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "1", + "outer_wall_acceleration": "5000", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_speed": "30", + "gap_infill_speed": "50", + "sparse_infill_speed": "250", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "layer_height": "0.2", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "inner_wall_speed": "150", + "seam_position": "aligned", + "skirt_height": "1", + "skirt_loops": "0", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "150", + "initial_layer_infill_speed": "60", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_top_z_distance": "0.2", + "support_bottom_z_distance": "0.2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_expansion": "0", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_diameter": "2", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "max_bridge_length": "0", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_surface_speed": "200", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "travel_speed": "500", + "enable_prime_tower": "1", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "35", + "wall_generator": "classic", + "compatible_printers": [] +} \ No newline at end of file diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json new file mode 100644 index 0000000000..fbf7a8e1b5 --- /dev/null +++ b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json @@ -0,0 +1,291 @@ +{ + "type": "process", + "name": "fdm_process_colidodiy40_common", + "inherits": "fdm_process_colido_common", + "from": "system", + "instantiation": "false", + "accel_to_decel_enable": "0", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "CoLiDo DIY 4.0 0.4 nozzle" + ], + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "nowhere", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "105", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.45", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "4000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "300", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "250", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_custom_defined": "0", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.4", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "overhang_speed_classic": "0", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "print_settings_id": "", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.4", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "270", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "35", + "support_top_z_distance": "0.2", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "5", + "top_shell_thickness": "0.6", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.4", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "4000", + "travel_jerk": "12", + "travel_speed": "400", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "version": "1.7.0.2", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidodiy40v2_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40v2_common.json new file mode 100644 index 0000000000..52300208e0 --- /dev/null +++ b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40v2_common.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "name": "fdm_process_colidodiy40v2_common", + "inherits": "fdm_process_colido_common", + "from": "system", + "instantiation": "false", + "compatible_printers": [ + "CoLiDo DIY 4.0 V2 0.4 nozzle" + ], + "brim_type": "no_brim", + "default_acceleration": "10000", + "enable_support": "1", + "initial_layer_print_height": "0.25", + "internal_solid_infill_pattern": "zig-zag", + "is_custom_defined": "0", + "print_settings_id": "", + "seam_gap": "2%", + "sparse_infill_pattern": "grid", + "support_interface_bottom_layers": "4", + "support_interface_top_layers": "4", + "support_on_build_plate_only": "1", + "support_type": "tree(auto)", + "top_shell_layers": "3", + "travel_speed": "500", + "version": "2.1.1.0", + "wall_sequence": "outer wall/inner wall", + "xy_hole_compensation": "0.2", + "layer_height": "0.2", + "top_surface_acceleration": "3000", + "travel_acceleration": "7000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "3000", + "initial_layer_acceleration": "500", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "120", + "inner_wall_speed": "200", + "internal_solid_infill_speed": "200", + "top_surface_speed": "100", + "gap_infill_speed": "100", + "sparse_infill_speed": "200", + "exclude_object": "1", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_thickness": "0", + "bridge_speed": "50", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "wall_infill_order": "inner wall/outer wall/infill", + "infill_direction": "45", + "sparse_infill_density": "15%", + "infill_combination": "0", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "slowdown_for_curled_perimeters": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "line_width": "110%", + "inner_wall_line_width": "110%", + "outer_wall_line_width": "100%", + "top_surface_line_width": "93.75%", + "sparse_infill_line_width": "110%", + "initial_layer_line_width": "120%", + "internal_solid_infill_line_width": "120%", + "support_line_width": "96%", + "wall_loops": "3", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "min_skirt_length": "4", + "skirt_loops": "0", + "minimum_sparse_infill_area": "15", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "resolution": "0.012", + "support_top_z_distance": "0.2", + "support_bottom_z_distance": "0.2", + "support_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "30", + "tree_support_wall_count": "0", + "tree_support_with_infill": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonicline", + "top_shell_thickness": "0.8", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_contour_compensation": "0", + "bottom_shell_layers": "3", + "bridge_flow": "1" +} diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidosr1_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidosr1_common.json new file mode 100644 index 0000000000..741891d9a1 --- /dev/null +++ b/resources/profiles/CoLiDo/process/fdm_process_colidosr1_common.json @@ -0,0 +1,117 @@ +{ + "type": "process", + "name": "fdm_process_colidosr1_common", + "inherits": "fdm_process_colido_common", + "from": "system", + "instantiation": "false", + "compatible_printers": [ + "CoLiDo SR1 0.4 nozzle" + ], + "brim_type": "no_brim", + "default_acceleration": "10000", + "enable_support": "1", + "initial_layer_print_height": "0.25", + "internal_solid_infill_pattern": "zig-zag", + "is_custom_defined": "0", + "print_settings_id": "", + "sparse_infill_pattern": "grid", + "support_interface_bottom_layers": "4", + "support_interface_top_layers": "4", + "support_on_build_plate_only": "1", + "support_type": "tree(auto)", + "top_shell_layers": "3", + "travel_speed": "300", + "version": "2.1.1.0", + "wall_sequence": "outer wall/inner wall", + "xy_hole_compensation": "0.25", + "layer_height": "0.2", + "top_surface_acceleration": "3000", + "travel_acceleration": "7000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "3000", + "initial_layer_acceleration": "500", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "120", + "inner_wall_speed": "200", + "internal_solid_infill_speed": "200", + "top_surface_speed": "100", + "gap_infill_speed": "100", + "sparse_infill_speed": "200", + "exclude_object": "1", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_thickness": "0", + "bridge_speed": "50", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "wall_infill_order": "inner wall/outer wall/infill", + "infill_direction": "45", + "sparse_infill_density": "15%", + "infill_combination": "0", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "slowdown_for_curled_perimeters": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "line_width": "110%", + "inner_wall_line_width": "110%", + "outer_wall_line_width": "100%", + "top_surface_line_width": "93.75%", + "sparse_infill_line_width": "110%", + "initial_layer_line_width": "120%", + "internal_solid_infill_line_width": "120%", + "support_line_width": "96%", + "wall_loops": "3", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "min_skirt_length": "4", + "skirt_loops": "0", + "minimum_sparse_infill_area": "15", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "resolution": "0.012", + "support_top_z_distance": "0.2", + "support_bottom_z_distance": "0.2", + "support_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "30", + "tree_support_wall_count": "0", + "tree_support_with_infill": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonicline", + "top_shell_thickness": "0.8", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_contour_compensation": "0", + "bottom_shell_layers": "3", + "bridge_flow": "1" +} diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json new file mode 100644 index 0000000000..2f764cb7df --- /dev/null +++ b/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json @@ -0,0 +1,303 @@ +{ + "type": "process", + "name": "fdm_process_colidox16_common", + "inherits": "fdm_process_colido_common", + "from": "system", + "instantiation": "false", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "CoLiDo X16 0.4 nozzle" + ], + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "1000", + "default_jerk": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "nowhere", + "gap_infill_speed": "90", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "70", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.4", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "1000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "50", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "90", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_custom_defined": "0", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.4", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "1000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "15", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "overhang_speed_classic": "0", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "30", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "print_settings_id": "", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.4", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "90", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "45", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "45", + "support_style": "default", + "support_threshold_angle": "43", + "support_top_z_distance": "0.2", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "5", + "top_shell_thickness": "0.6", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "1000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.4", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "70", + "travel_acceleration": "2000", + "travel_jerk": "12", + "travel_speed": "150", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "35", + "tree_support_branch_angle_organic": "35", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "2", + "version": "1.7.0.2", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/CoLiDo/process/fdm_process_common.json b/resources/profiles/CoLiDo/process/fdm_process_common.json new file mode 100644 index 0000000000..1723f8835e --- /dev/null +++ b/resources/profiles/CoLiDo/process/fdm_process_common.json @@ -0,0 +1,75 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "print_sequence": "by layer", + "default_acceleration": "10000", + "bridge_no_support": "0", + "elefant_foot_compensation": "0.1", + "outer_wall_line_width": "0.42", + "ironing_inset": "0.21", + "outer_wall_speed": "120", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "gap_infill_speed": "30", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "sparse_infill_speed": "50", + "interface_shells": "0", + "detect_overhang_wall": "0", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "2", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "2", + "skirt_height": "2", + "minimum_sparse_infill_area": "0", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_speed": "40", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0", + "support_interface_speed": "80", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "top_surface_line_width": "0.42", + "top_surface_speed": "30", + "travel_speed": "400", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [], + "smooth_coefficient": "80", + "overhang_totally_speed": "19", + "scarf_angle_threshold": "155" +} \ No newline at end of file From 9c5c7c4c9217d2e28f943a46b90fa13a2abd6849 Mon Sep 17 00:00:00 2001 From: Tido Klaassen Date: Wed, 16 Apr 2025 08:58:49 +0200 Subject: [PATCH 10/24] Add Sovol Zero Profiles (#9233) Add Profiles from Sovol's repo (https://github.com/Sovol3d/Sovol-OrcaSlicer) for the Sovol Zero printer. Co-authored-by: Noisyfox --- resources/profiles/Sovol.json | 51 ++++++- resources/profiles/Sovol/Sovol Zero_cover.png | Bin 0 -> 1178014 bytes .../Sovol/filament/Sovol Zero ABS.json | 73 +++++++++ .../Sovol/filament/Sovol Zero PC.json | 64 ++++++++ .../filament/Sovol Zero PETG HS Nozzle.json | 76 ++++++++++ .../Sovol/filament/Sovol Zero PETG.json | 76 ++++++++++ .../Sovol Zero PLA Basic HS Nozzle.json | 66 ++++++++ .../Sovol/filament/Sovol Zero PLA Basic.json | 66 ++++++++ .../Sovol Zero PLA Silk HS Nozzle.json | 66 ++++++++ .../Sovol/filament/Sovol Zero PLA Silk.json | 66 ++++++++ .../Sovol/filament/Sovol Zero TPU.json | 69 +++++++++ .../Sovol/machine/Sovol Zero 0.4 nozzle.json | 112 ++++++++++++++ .../profiles/Sovol/machine/Sovol Zero.json | 12 ++ ....20mm Standard @Sovol Zero 0.4 nozzle.json | 142 ++++++++++++++++++ .../Sovol/sovol_zero_buildplate_model.stl | Bin 0 -> 453484 bytes .../Sovol/sovol_zero_buildplate_texture.png | Bin 0 -> 10735 bytes 16 files changed, 938 insertions(+), 1 deletion(-) create mode 100755 resources/profiles/Sovol/Sovol Zero_cover.png create mode 100644 resources/profiles/Sovol/filament/Sovol Zero ABS.json create mode 100644 resources/profiles/Sovol/filament/Sovol Zero PC.json create mode 100644 resources/profiles/Sovol/filament/Sovol Zero PETG HS Nozzle.json create mode 100644 resources/profiles/Sovol/filament/Sovol Zero PETG.json create mode 100644 resources/profiles/Sovol/filament/Sovol Zero PLA Basic HS Nozzle.json create mode 100644 resources/profiles/Sovol/filament/Sovol Zero PLA Basic.json create mode 100644 resources/profiles/Sovol/filament/Sovol Zero PLA Silk HS Nozzle.json create mode 100644 resources/profiles/Sovol/filament/Sovol Zero PLA Silk.json create mode 100644 resources/profiles/Sovol/filament/Sovol Zero TPU.json create mode 100644 resources/profiles/Sovol/machine/Sovol Zero 0.4 nozzle.json create mode 100644 resources/profiles/Sovol/machine/Sovol Zero.json create mode 100644 resources/profiles/Sovol/process/0.20mm Standard @Sovol Zero 0.4 nozzle.json create mode 100755 resources/profiles/Sovol/sovol_zero_buildplate_model.stl create mode 100755 resources/profiles/Sovol/sovol_zero_buildplate_texture.png diff --git a/resources/profiles/Sovol.json b/resources/profiles/Sovol.json index e0b4b3b3a3..fe2f3f5446 100644 --- a/resources/profiles/Sovol.json +++ b/resources/profiles/Sovol.json @@ -44,6 +44,10 @@ { "name": "Sovol SV08", "sub_path": "machine/Sovol SV08.json" + }, + { + "name": "Sovol Zero", + "sub_path": "machine/Sovol Zero.json" } ], "process_list": [ @@ -158,7 +162,12 @@ { "name": "0.20mm High-Speed @Sovol SV06", "sub_path": "process/0.20mm High-Speed @Sovol SV06.json" + }, + { + "name": "0.20mm Standard @Sovol Zero 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Sovol Zero 0.4 nozzle.json" } + ], "filament_list": [ { @@ -216,6 +225,42 @@ { "name": "Sovol SV08 TPU", "sub_path": "filament/Sovol SV08 TPU.json" + }, + { + "name": "Sovol Zero ABS", + "sub_path": "filament/Sovol Zero ABS.json" + }, + { + "name": "Sovol Zero PC", + "sub_path": "filament/Sovol Zero PC.json" + }, + { + "name": "Sovol Zero PETG", + "sub_path": "filament/Sovol Zero PETG.json" + }, + { + "name": "Sovol Zero PETG HS Nozzle", + "sub_path": "filament/Sovol Zero PETG HS Nozzle.json" + }, + { + "name": "Sovol Zero PLA Basic", + "sub_path": "filament/Sovol Zero PLA Basic.json" + }, + { + "name": "Sovol Zero PLA Basic HS Nozzle", + "sub_path": "filament/Sovol Zero PLA Basic HS Nozzle.json" + }, + { + "name": "Sovol Zero PLA Silk", + "sub_path": "filament/Sovol Zero PLA Silk.json" + }, + { + "name": "Sovol Zero PLA Silk HS Nozzle", + "sub_path": "filament/Sovol Zero PLA Silk HS Nozzle.json" + }, + { + "name": "Sovol Zero TPU", + "sub_path": "filament/Sovol Zero TPU.json" } ], "machine_list": [ @@ -290,6 +335,10 @@ { "name": "Sovol SV08 0.8 nozzle", "sub_path": "machine/Sovol SV08 0.8 nozzle.json" + }, + { + "name": "Sovol Zero 0.4 nozzle", + "sub_path": "machine/Sovol Zero 0.4 nozzle.json" } ] -} \ No newline at end of file +} diff --git a/resources/profiles/Sovol/Sovol Zero_cover.png b/resources/profiles/Sovol/Sovol Zero_cover.png new file mode 100755 index 0000000000000000000000000000000000000000..dbffd91ed278defbbc650ba589504b7f9cfb4498 GIT binary patch literal 1178014 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%0AP2C~?oGa-G%M}8OVe8;i5 zG1ROnBWc;?G7$fKV)QLl`XUn_$OkV$H4xxr^Of1vLoIyiB~sZPU|GRE>3Sx^>l8`M*?UgQm9%F_Vn;1H3_1hHLvMM{`C6s z4ooJ8eK*&>e_X+p03`%YK)U0`V5siqyzap!DC4S+wVA~xg^ohorDm{Cxt_Ua((i?_ zABfUbSkOKLs#7@cXSxBcbbpr1TYH~vs_4I zI&4wHje|#(OH#yp0{g&jLZrk^h>TO7LZu8ET(oQ4-96-|<#*|+wRZKKe6`LB1)Y!& zH$+k1tbMP9vwh_=!ahj^pUIC@%9z)<;#U4tF1uBlPG|XsKO`V0?81@t`Q+11=Q8CShBSf`Vts zFC-u~U-pdsq3w(WWt|A%s+IQE5)d`Akt%)srieZXvC_fqEK>=sfSl>rAHR5);ml9a zxa*_>cew8|ay|+)V;a?*m$&Qw_A7Ct!saKLbKdbQx2_w5(F1 z2(F3XAc7nmbso%#GA)A?DGd^{fvr`j2c@Md`1a#7RX+_`C_rk7 zPBp+V+*K%x!(l4i)*)+B|GtPh?6k%pHoA6ufi@XJ(@ql9(7?Mf9TKIcHrd$dAZ(-TqICN#Z!R*V7cQ+)Ld3&?m@!r&3x_f9iFt=p^L zww5IXmm59RABOu&j^b3e5^FcR@u>pI0pr4m;z}r&hY@q5aC#AbY|8ljA!^63#&~BQ zb^QQlUWgYcZa}hdP$O7E#qpONRc7e-g5Qg*(OmOrHQHowGJIE&RK8_uQDG|m4>Z^G zT{)3_DijzVIeS_iAyYzQP3SUn?1O!16fjxOuRU;J-WTDy!MhHPjn)STJh2wDG5<0G z@x5r=v0toz+j!0WEP^P_Y~)RZVLB8{`MhivC&3}OW%Pv`E6Ha9WCb4&!;A&iGyrtT z`kHU?BmKsR0LQr!P+FF@n7wg&QCkBo z<&mwyc?`-k17NNegpl)UsN;J*#p16Z)&|^WCR^P>iV{WfuMYq2;6`3)JPE{wz!C5%=fe%+2R&I#A1#kR%!H@LgwksyP^S>5JB(+MJj z?GLOr@|*6?^mL`2HeoSS-B=S4*9{9-tk9x(@H_@WFq_cK zE-wi!O=v5utLPjZvRO!;;6cV1m>cZ3hr7FA;QEQ4E}(#2Z`41w?~T!bVmrziiJ5!H zoNqNT!>@$aHx42}#Tt$<6--z~6`7k$1-s0W9}jd(<&L3S*3#K*jajWSHEbH0)KBPi z^}SrK=)*-@`cbN8T#y%3SH8i{jOkxu-rfthOB%h*vh z3X5ahc%T~(Ppz#};ryd+Q~%sSG@?_W%y?exNf01*Nf!Q0u2rbvZKV<$4X1Uj3o$ko z61ak;9?bl_y#o&oHPovQNjlkQ9lE1q=?qO8R^1VnO89PgAw7t;cwi}Mr!mQFxLFM+ zqXnL(Wx*C%dr4~y4kI~NRCS>%R!zY>D!kZm|q zS7(m`geNaQq)17tjJ1hs+uGXDMmM+TatG~ z8S~#<3bBA0>9X-cH!h0Cxy*7@g9~y`Oc3iDGEfvq@6;#r0(4(e_W-Qs4;!?}Fb^_RpE5)i4-%cUqHWX#SpFg9`O zSt^matACoTamKi_^9xJ5HaIYoNw?Nrs7)u3g!rE=;zePsz$L(_k87`ZQc|%Gj@*|x zgU>1tI!TK8!oMYg=b10I^BF0+iKUAVh}e z-C>740d9G6A~QPlH>Wyg-&n-9`&1C1Nfz?cvZ!Uj<){zrru>8~d6EQ5(6J>T7M7Sk zPnSH;*|`?LNjnadw!a8-n49G9zh23@-7Y3a{ARh5t*WWs(Q5f+ahyizd-K?UCPQb% z=96L4+^N6QhhqSc=5bcGupXx&QyO4VFkGR z+lUCXdqZYuF6I>2Dm-PT<&9-oMN+MlX5~x>g!&RYAtN9B0;Ah*f19~Va1<)K0%zep zP7B0Ae&v0z_}xgTCM!LRw0QW!BH)jIcxRRyPgYl8R3y(vghaLz)c4X6=cFQE+7GPv z)U^LaDGV|eyQ?bZv3FhGOfC$9B=rmBEVlx`i1)rX|G^Ajcha7KR{-XowAKs+h6fU) zVWr)fa-4RTUpX#3Nrsf}W4(#EP@s@1DF~06EnYc-oshtCXm}_`SVCi>M(x-}qe4M2 zYfg?5Xdxy)uzgiqTv$Mxdx^GZF5;GLnW@=SMYz*`zC;ZPkmBTg%LMlB7@?1;Ln6U7 zsK+R2{SK3fhK-T5Yu1Ob;m?uK;+Kr2i6FoPRk$A(whVrVwVlAOVK1>T0ufd?ZyVu# zJ}6CRCppu%Jyh~tajKw`S)H(9t<;l|k}hRoi;klcqcra_9IvvjiL{5p$V6L)DKuH&xx<C*FK7Z_KS0{@F6_8?(o1w$lmC_lVnyGEwoIOA;bP3 z+dH5c;|93H#d;;bx2q_s9$_=K$e|Xx(iCTW1FxuLdfYR8MK{E@Ol#OtJvas?INXwi zUQ+2=M#k=xH|Wo4el0A3s34C)GZ3UDWjLMhP4K9nX@!_Y?7*rGE81fnCl9R#6f;x9 zuD;l9eL#K=Zn>j2)3}HU@V%})!HfS=183g`5G1hSo-DbIxjv=c)zQuba&Up!iq-b| zyNhKzf6oUzuXZo)xMj3DV5`ohw>IdsAIhqLM43*H^%Cdj4N>P_FFW^?Y9$XGw&ah9 z-nkF4=Z|o7GI!Mhk?bk*vmbPqFIv~nxsg=>4l7)~I8^E%F%Td*<*0|$EHLADKV5ij zI+BFpV`k$X(Ck&|W}jx$GMKzt%O^u;Bdl_4Y(DDi2K6mt6QBu{fC65s=Adj+B>#Lo zq2=ZVLm4-+Wu}zkrk)$_%{x+n5O8E?x@Lc5tO9t@j-HZ+qx7umUlSmL_MJamlZq!a zD2aPe^BM4NsgN-#xn*Fwm&3=7!p^QR_Wh#D6nvKedbfcyK1k9%?`#(WEB;M~^jKGq z5g2NSz7b$BQqHIN|CIJTi=;qVtq(T_E7h=kPt^ZtzdJ@I&6{#yP-_$Wur}FqH!lZu zMSCIkPxoBwZGRyDNF2(ZQ)ct}xIk5uTwKFcxkx>V@9MLHs)vY_Io2W~MxrYyh%X42 zP`^vTz5Lz9s6jn&f*{GJ`dgv`6Nwchr_~gmXr`IZ=u^3OibeD;j-qR)#vT%zKlV3@ zGrP}^Qw|9&7Jd+|f4<4GJJ`&(EI%=$@ODIy8C#`TeJ?>|4)?OqU|u*QZWCQgqO=Nn znRTLuF2?SM@JXfaEIZZ6h9Ed33?_ocsIcNsSi<#J9A+9bW5(@e)`bHd&*Vg@kf}O= zp7Y|t;ZLh8HU<#6d8g!A=okZ=2MeAVjpvr{iT2`jbX1784}7owlk($H%vK-79PLHY zKg>T1@0zBc+O$8FR-V;DyB%1tU7{={BYx&i2rB9F3hhV<>1zMAJ*u7N5 zTmlZBBSL#hx;m9jPtgF`rbNh#K<$PVvo>?^2Tpkj(SWc$9wPDD7a@n}i^PSzQtqq* z`WTja^pww@03ci&8&aPuJ0gk5lD6aiOHyL+Vt_OhgzhlH*u?#LPd0A`4vHluPcfJ6P`4D8%jTQ;`;5ehLi&)B=yA!jrZWC1v;$O4CvoQ4 z)6P#Bk?rHnLSOI@*Dk^Q8}}69GF1i zNAuv!?Fx!;27Q}XGE1C0XkO^ zIu?i-w33@Kb^WDFv(othL5GA*Ye6RfYd+Bl@b;GQcCH(aJ?FD~C6r`mY~W!*z()}K&wO39+cBjD;!Km-tX-sgd2b;~ z5M*^GH+gKUV?Q1f>3?HZlHFbMi(b=CWA2fkE1 zvpjZu_-FMtl*pVnxjhgBt((J~L5{mW`8{fapHjvYPaN9~!L=O6_z z3fs3arf68cDqj)GCU00K+0m-GX@&Wf&HD&x6|`-kWn(5PzKp2A%$jY(PgQl}KFUn3 ziv}OrGb#RaJx#f!Nw65~&i;yJR1s1F?lI~wG@KSK&VE7Rfn zQq{w>8G>Xy2Qjk-tEj5Mnn14kHvsLk3p^{GW$WffzadW4k@Z;Cj6#EM&r`5N_{Nx_ z)6ai|w=}^cFSjwcLKw$+Rb4eARz|qf{I6H~t0H0PZkhR%4hFl-92h8a*8I!QT!qMb zu)fhI*{unPi>`|kqwKU8RX8*;2HY4TQG0$yjn${UIFKBJdf52)8BFnJU2>Q`YRyJi znkUnVOkSDy!Y`qA$+FvmRyx|-v2ESV;GzESJyUA3@}d*BE#O&11jo_RjliL#;uhdT z@tj6yB(T}4>DhEl5&aQt2vZUH5Jb`;18^JMfaliRIW^FChzw!zjSKcID)W{jQ~8`Z z(0$j9zU%HdPuaDLJH9nuV}yh@O&qT_?q41p)lLY3@m&Ar0cW%k*<@}TBg^ic?TcWM zBIMc>BQS?IV9ggxvP_D%!t*|&F>(A^qH!yA$2p(Jq02j~z15a^i-CQ!-=?c3a{>RBlYCH2tPAkcJA>Z!>ySnhr*g7= zc~xcoUDCl{5HAHxYVEtuaNu)m(2Y`jG%`)zHr$O<0GenvM%o(iSy+j5?=A=rJnZ zTEJqsLweiq<|YinNTzT1I6QoVKN-tWccYaHUwcyvb?_AvE5X#4-8(FHO0M~44S z@2^(|!$IW_e-;56g6_aR02yb?SDpEn6Egd%u&!QX)U_SKKXP(6VLMz^Hd|v;mS8e9 z-8YY#$c(%J zljNr0Xm>&%_dhwP_AxUrJCK*oflc#=B@j0dB#4m|&w_m3gy}db;fbA;(@gw!11b=G)?X$l%n5U$ znU*@|BxOs8t)>^$MQTOcO%X8`mIz97x<^YqAP|dj!Jy1=$RL*df?Egq?b6xO5?xBv zog^v|HJaVHgv{3T6{;YNXTH*(l{@r=umLn(`O#g1QKq4!BzF1HwD7nFNk`(v?KvHNg$~KyMDQ|bpUsH-YFvX8dn)O7IB8>HMHL_v`v+>eeR_E zgE6~vTkS_vo>JA2Bd6wH%HFnv!!^Bs9dLc81@0P)N1xz;rP7GZA z3_2`HO<+XIR|5nbpD_c{7GkJ?Of{Kx31)5gJ!3Du5ExM5!`+8a)rcUjY2flc2&^Mjg z{d=y&DspI<9=i!}*!pBzmHN^#9v=fa<$K!nb}N!9tqyv+l&Dj1YG~Q;g{)pfasIyZ9<@44gx1i0YvkV;FaR)E1ygN`TJO_ zr}#J9lAui3tQjrk;YS&_oyYu`x5!ghG(-x&1ip-CIdPJN zEBFX}6EvvMjT*-OXvxoIvu~nIi{SNO^FkWu<*bXxWyXzO#cjKJRiZl+(lz){ttLQs3Nda{T zd>JhMpJjd#XqgYRABBt!f7ik}v>DmIL;7+T#%tS~4$j9t^W!mrXoVH&08?(`lKf&T zYW)o+o<)MKUn?^>njmckrLjMgiWjq-`6vilJOpn>rQnQA+r6!!F6^>T!bw?qZvxuH zF_zpffoaV1RCA3diiFwmC7f8DxCaMeyn=w{6j3!a=u2ER+3F{d73?USi>guo=5=F- zgWdc|;<~Z6TVbuS-wd}wF@?Km2g?2^mzrqu90aq1`eOlPojWEN_)&wS(t+Tq$HC;& zB3j^CU0EsP3D8q41IUvpea2kMG*C{G=d;M!gcBL=fUwq)S8l0qU0l)qi=G z8-FzNXIT>ZO$8Rj`VI0coV~|&ZA@@eQGwAY7Xp4nxvA$9zLQNeQb3Pw#HLV3WVtKaiB!IGw-zq3GMv{B}8f!y9ay?b`z=P*(6A{hV4y?s)3`GYIvI z*L1jViJB$Uwg%^ys9(m7N{$I4E^s3qATdZB!Od61Q7=Dwdgp82VQdKsh6J~Iy7Sr> zB2cJ!a4>n+0AE}iVo22k##2P9q=`RE4aKNJp>2o+LIkW1nr` zv>#toG0fFTVwa2S&7HF_6Q`1;t1*~2cSCs+{*?3a2;VobwmmyAtOo3$Z>|q;=`T1g zdQZ~)$Os+YuUOBARPX8S90c00@7RZe8~TVJZ>4t(WF_;Pwc%!(^+p=6SLa*vuJTN3 z(|v~6iAH7byhqp*xCuu&vQ&XlvfIly_)CuT1JCZ^xtDyAY|I9-TE1(lU=ZUJ${-$_ zP^?MHIN^v#N;&p&TrO<@f)mR?E(WSI=o%3=BS96 z*&aikolYVSkrCEgn*l@NTgJn*5f^porB>y+GN5+*3u|^PE(Z{vE*5Um1P&b}sHwaO zFPx%8N4zK&Uq{Tm9T57q?}syE7-Q!^@$`hP^iD0-ZP1df@TQC8NLUd>4ReM!P6z5_Ok+ura+wW2)x3X3r~l?Iz0EUA#C_Wjbe)*ofQe~b#vEJ{DkhE%Hu=nYl9 zxQOzH{%JO=Ta2_reWB49wE{bVX@z)MBia#lG@9n^r0TGjTY*W) zW6#^3k1~%5SIQgbW%{E{wf7gZCPGS#dM0a;!5}3%C2qFGFMSsI+Sa$Zf5^H`AZ zVK85#au+_DDBv=6om7%^`6(M52zyJyhvI-sUkyu{4=H0-xrmusg#NE>Eua*QZ{O|* zBfU=c)H^dxzLLANAC|B){Ba|IeOnGlEypR4$)4x!tq*fScBx zF%Y!`C6Z&3h3!JBWad`jCX|dFM~{z?l27pB7TDRRRRG$-q2>|^rW~&@4`EbZ+mBJ@ z=E!HBp82$Df;Tj_0(JMZDjffslyUTPal9QuN!oPh*ekbmaP@SZ`$Hz!@(-OHKdqR; z$kn(jFu*gMyz0;y^^pl)udb@g+Ew@UtB6)oet_UxqRo2E7}>d#;)kj39{g)TjDs>v z8eR^ghq$dRhM9g{`+EQOjfCRPUZ#F|W*kTk9^p9zQDK=BfHV%->!RZCSO=dNE1l_v ztDq5(YawrWGKrv3l`?BQi?F$TDVU!#BtAK=+AJyQ85Ofdp->hg@z9ge&Zyd?#OOic z+MxezHm?mc$stV90kwtK(cjO3_#ya(1F;{0CY1Dr0=X2@1^Q(fF?}uYxM_vsIXmz4 za`u5}FZ$=pw9>lnP{9iu+RPlf3GY3ud*B8DrSlTzJngxzI#LysecaC6eBF=a z3`JdK?m^T#&@~~!%6HiSPYyKs+6)a369QY8@L9wDvFZP?jMprRWWpRV_m|!!PEE7 z3(En%K1$ss`APkC?X6!7x2s*PYZVRc+b8931eT}-FL@j!)5k{OfFN(o5? zxJk#=Y$!Nl6n@rI4bc%sLD#%|u`Zf>O;ZmkD07MI+*GDeZOrKLZaC0d)5Zz5>xm%b~3d-EEv7lO#r z(brPiLC=C*J9p_L5O9g0Xe70D@jw`z(sN*{0`&8S<;fd~r)4v2W4ObC%GG??I>fRy z1f09H4HS0rz{T%ZVfyc1ebtj|V}ta`8?Yybf99t4JB?@9#ug*b-Gz54?A!32ubBb9 zP*KU_`g2dNUDPv9z({5x7uicNNKQk6@51`evfaT4 zqc074U{b{&Em*Nefg#5ORQO;_!XV-%@CJ*k{=dCUkYZfY+fZMYVS&xi9)w+v1CuY$ z-go{~{3R*oOyRKY1-(Q2Cm#d;VD~>6S?b=2R<-;}72gk|Ll7sUDc3e!d3=P*TWl2| znnL5_;fnEvo2``=lglKyiYhPU<)R<(Ob|gp-*}i*K6F2bHu_3OvRR=a0v-4Z&$VBh z)(WywP^+Dy(-?&8G!!tG9hZ^=Ti931!8`EAdq7>&`Ft<&$jlkXbU1C1O0a8%5C_7p zL^!3u3L%Gv|ft}-+?*NA+ZY33LS8gSPp ziY!l`F0W4aM2zkWv0sQ5aupLY$N4~nFTBno1UNV89=kJu2M>$AmvjJR;{a|= z)Epk5+|qF%$hyW9mT0&m%gQ5Lnx;)+`Hmr+7BLsXR;Mp;kYDi2{LVEiKzlt}~PD5kyWp ziGh{WKlx=CK*{sJXbM?;dC73% zxsn@SNW|*014+

&~?oa9$2}6s>EO;02qJt7*jeL)2BR)xuQZ@pc=IEHqSJ5I`Ko z4&W%{msq8)`u}J;2lhC-He64VCTY;vwr!(nY}>Z&Hg;n>jXA-@HXGY&Y-7*+?Y)m9 zKOyUxweI`6&ePW`<Kuy_dpgolHR*moT zYNpPbVrSeS5z6x4mzhDwA5t9zLq0563nw{Oe~#GZbDN}mH>GV$G#Y!RAp7Q-86tG4)hXA z;lMqgIs3nlE{QAdHuYaCuKkrTabfCW@k!-&Xh}4%t+!h3_qaoYH+HRa*+tmd_Cq?H zvq&Upn;Zheo5f6S=eITn`$7eOn!iF98sT3Kuejdp{|><1-k-^(OsV9A)uf!Lxo%CI z#`8of3(}qME;7#;2#;C}(os#fOC_D_p>0u#76&a@1ga znU!c<$aRXK#XR~>v*S=}YJE!Cr{N#^w=q{O$&;mxOjEO9|I$TPyr}Y5LfN?~=%;mC zgEk?XMPLo|W}1;``Xg7~M1zZHI30;?pjI+=CVNDKJHxtZ5Ysc|w3if0WrmqP8TQEO z9OK9~N$4cKdrndEmrTu;o&woz1yjNjQGFl;H#BJtNkuOS18#vJyXmOOy&jcaGgM8U zFuFJew%i_^DsS){%_8BjWVVANtKbL5*c0o`Kb$|>Il2ou6=D#i_S~T77vbJV;pZ>? zbDeP{U99t5My43uuIt!|i-XI;753B~aS7$tBpL6ZeuJLwL7{)fGUbQ*3tUfTIghY(}Q1Chm2vK zyrL_geU~pDa6Fi29P{AvceA=7(<%8s>sai^n{=%WnY}<_J}(CNIE#YQJltK#MV?8cacl&!KvPDf1<8I^Z<)wUd`x zC5N?c8sA-(D5Js7N-kws;TtFR4W93$`4zO}&Hs@k$h$@Jj=1fwC=1YlVR!Xrm4(J*cqV1FzkJCOg=X$lCDmK#On zlbq6y7*MU_1sIta=KvhaXCp5Qx?GanHv zSUWQS+9v+Q?v8$a)qQ)Z{S^1R`#VfR2Em|O%9`+tfarjUP3RjmpRZk5b-RJCoTSA= zdV&jJnKSY_o65t>Ng_=Kc-vXOk?VEPT6!W-Y1<0Nuc)TIxMnG*_JscLh$ch*L+?>7 z;i6jxJ!!4Y_}9NDT7}x~$m{ob7I}1!wQn*O>%wtf0ZsN^D(7E#DFl07Yr-o3KC_+_H+Qtk3HyE5DlBT94Ei`sP@{5iyowAtf!cPB z!vj|S+J*)Wp5l~V7ewI{bSY&%Tu8d38kBmph^V?WtNDaTE}zl`8umt?743u-VfKm; z8O(O67qS3{ftVv&@#6gkm92Tc@)bjyno~J0621l>v85j>-JOikX)Bu*cfoYHO(s)V^OSXN1duOU zr9`9qql|Hc`EiR9{Am_~!iQgmmZWQ@I(QY3_W(XBQoF0~O}-B`sshdAIg24eAC%L+ zgtLCfbiPjoWtYs#W0~`R{;u0F+yNua3ihiOiO9i8x|iz^2Oh|I@PGAt9aITK@*zuY z6(MS>ia7-o9C~wB%p_G2Ml3I<;>cbETcrA^7vGMTYv@1c9zQ->WR{fVgpGqt0F{!A zmlUBwEx(;lg|r9FK%?BKsfzUS*H~-oddA54oUHYYE?yLEzzi2PnWIy{Ock6i!cA=~ zozk;e;}I_`O`-m}iTp1@oMWn1jz7eR~dbgZrJXvF+sVMcMRoI9yczzhIj42RiIfD9f_c0bI2 zls^a*TE2z>(`)$*qPlqFgBEq!X6)C70Gt18{@xq7vS>FwA@729{5p~tnfwzx z(!GB+(}?m;g;Hk#3?2+<(H^y2y*TO#H+rJP4U=CGUu>MXwxi}Z%Cb!tZ?KEtS}zKf zAl-71ro~`08|)5%fhRqsc>%=WSJQJe_HnyH6+i7x%g3zao@T(a<~29Ca`|oR?U4KG zW>8j7&{yL*DXvq7HpL@y{hKfFzof^EFB`#*Ij?2VcZR`aJgD$#ph{!+Inv^0xRWAE zv<7Xr--q4T6BT%7Qo|&V8dCweMahk+WZ;RZ3(5PwUSw77_%%rG z7O`Y$lwkzD3JBqNW!Sc__ATIoX4p6%$E!8`TU&&~hjxQo9bU zOG&!3kJQjK&@D4x@YLAXm^S)V*|tY_!TWSse@#I+&V+FZOJjYTeq>dRiW?o7`s@_Z z=SmCjypW_*rU+Z-tlB34|%Ds_Gaq-)Z=@Hkx_xdO2>eVaJIyU&v@|A5VQd zZC?sPdXeo-U=nQ@ul>j8wo#hpG0myvaz1Fws%vsIpjUegp{O$Ni{c~W5>F_hV5)_3 z6jyze(>o1&ICAM0%2m35k}eikDBm*Jjt({KYp;%pOt}(bLn<-+Mj(MBXq`1jg^j?a z0e%_pZVL#`rUskyhEy;HlOguKhw4^9wyF1XVLD$9r8G6ZQ=a8@iey;a_2{{AYw{?Sl3kbR>b1Bi~1%o1&h#DZ5LI-gd^XqX{&{dJHq+;stV&jTU$)pamZhxG4`#Vjd`s z>~sA=(nq%Qf#5jQbNajj$GrJFeBSZ?BRU*jU=1hfApZRQg7jGC8%8P{B0WqiMtc8eHINhex;A*0-@!ttIVi zBN6vk8DeD^n=%uKrwN! zmAkGcDaI|5fvIig%8ieV(uIE3czOHd11a!H@)JY&v&pbW@qJ#=bjl>?KYh+OV*fkV zu8;fLJ>ie|PcZ=j0kATG*WJ{JY`dWfYK&Z5Phvkt{9`+<07k^ z>L;<_B&bqbQ|qx6>Are2a(^{o**(lXdHZhn?BptfwrV0UZ$nk+6p{amQh)a8AOC!T z@73|lby4H#^^qIX%OlJ6uX1B(xB$YuB$5|(=vD&kpVfnR`j5fAf&Bt5fsbT;#*FD? z>1`f*1yi!{0-8qM8{|SxJ zkuKBfL8I!@4?ShMCkOvw4zdVVOEa`J`b%Us#KRB^wzbWpbyNNg_Kf(U zFJ$(+k_E#I{%++|*_~0cS8On~s9t(ChmTv*J_=qJWx5;VVH#9Yy|36c>T9GejBQ{b zcijC$_hy`H1FSqP__wS6Y(gC}Sn%^{cv(FjDv||BeT93*pgYKQ$S#!v!f%SQ;^EywO|__(cLBWG_1PIm^?R)i}=XrQspucT3y3TT8uzXz<|~Ju?9twDnhA+^pr_^P7u>fQ@n?$+rlT|A@%!?q!)=nfE@&x43`Nl zpq)B>0>AVdT$+JDY-=i6$eABYjM41zmLMb1vDf^TkYkDU>ToMy6&y<^DN{5SwRTUu zxRs#+%hN5IzE)Qchv|%y_eZ8>w}ozka}tKOizlY?k(Xof0l`sZ+fq-nYmzi1J?w8o z$o=c=4KS?vtDi$ToaW?$H*u)#Z!RMA*pp3L*Opm|tG3iD32j^Hbc8b7;eSj&3@yT{ ziz_>(jv|`Sdu{S;H{2(-UF#zk;6!=`iQ1Vz=sbu&IB?J-fNd{}ebLi9oCax2daIUr z)}d3iD@Q+iuyY@ul%#J?NESEsA^G@&c5P(0l=$qZEHGCS{%S{$3Sb?4?>ZtQBFb11 zZl_e;fNv!16Lw`vpE&T$Wt9hBnZ*;AvEKSf-*7tjf#s|G$XkPzSxZlM3$|dF?atLx zgmY#xwde7?pk|ole!f5~n(W{8Ty-I~+_eerB+Zb&Rs=)!IaTWjZ^)m1Z;>DrI_p&?Qa=IqrHl#M-zH<5U(aXy(872XbnnL=C&5mo?p*g^4 zicedfOTp%E`aHVG%O79J+m-Ko2S!?Z`b%Z?fbv@8dS16RXf9F$kveHh5S;$Jl|GVx{*yifDuSpun#%qcL>kuYoKO@ zVdZK*8?uv6u}UR@pZ zC7b1xcynKI2>iEAtAc(iL{cGLebWfQxTo=!`PYimOi(5)UJ(C&^((OL z%Iuo}GKTsWKnqBjc4S>&|5F`BG&u}!ZHVorZJ{JMb>^%OYfUBP_^Xc0ED@A=g_mW0 z%(l@t$SX{k^{}DcuxIEZPmFCHB`$%OVhxpr3XMQh7enXqDqK4sV?Y^1Uh_q!mMfRL zQuPx}WB3Xpw)S;1$&kd%TCe``x(zB^p2ngFSqoNGls~4^im$3PD-?>YA+VvW1CR=h zC!##A>e|8;N)kuPenQaj{0pE)og-VG^wF-af3wwY+%t|W)YsDe?Cy7a8VJ7T!}id) zf(vM#X}N#khQodRo{s{Egx{MC2Q1n}H3t6<*lSKi_9Q#s=3MR^0xwO0?R~e8LJ5yl z1)AJ;PCkC~O0XfxK7J49j=OHJ@Wg&^lpRmo2wlxVES0-B&;iH4FGoZYJ<{{1Aw^2v zT@^7s#+`k`X5RxssLCdDY=0eozB(Ca3mEj_SYK?xlwaV8xD{Fo7g++exlY`S= zdJPU4>^vD^i>5A~s$$}d!^Q>d*t*^a}A|nn0%nV_rOXrycQd87_ z$fO!YqJrUZrE?M2Ji)gybNzxJ`$=2<{guK49MdDM5#}DuaAJ0fU$FPRe`HviH7PN` zb8sOjnt#(p_Mib9CR>jFh5Vz)-{Q#O$dDG5A>_(pG%yfO(~4@RxAW8$c4J-DcEN&$ zg=48r0f$}wpq9>|g7b3V%8cE42&b}_Ir~iG6TxSfar4#7L8$}sc>cxDW|9AS+{$G~ zw0rLQplPT3iZJ!g`0E3Jzo=MPrqMmx1!ZWx9?syq?_|3}y00p`!@6I#-j}YsU$;IT zodW~oAGcmnhy!;_-!?Dbv7Zj9w+1u=FKj_R4~TnSXejLNUZ0(h;Fzr2M*eI0KyoV2 zNCPpVzhS3$2fu7U)9hzSdW*;B*lov?xAdU}zLuXsl+on!D$p{8%cDiU1S9X(()zE| zM!T^uTv1}_MRYP6A6>dZAmQF{_s{-42+ipSu;(XNB6|o|vmL_wuM|R{vB;sS-z6AF zN8S4WL-HZTTBggw@aTbQ_#%xrDONM3bm4|pS}x?K^cT0G424R+q&j^DQUfA25a%-B~`71#MGl8v;5oL zHUkt&BM7;d84#vcEcVb#3`EThJAJzNhX86jW;VhD%6KTeRLVkgCc=xr^bJ##J+e$I z9M2!3)mOEZv!CrP3F&|erfkM#rC@1WcFK%!IOzr*7+HBTFTiyWF6`=y@Vyx?U5U(E z*)RSp>rWpT=!hor3Ec5Rcg!n+c`GZ)$>OmF*@dN7;iJjJ1S!ci3}zg(udZTIy?f%$ z6>}YJ>!V+_8&V$p89pXP^k&NMbY*^5l{cr7$V8bJVpJj{u@dj;g|!zA?p_T1kn)eO zxpemQjc#A!1~}+>@2TAB7aqr!lDAC;O*(`N#Cn0+e(4FnnRl?e;?c5n_$_mlYHz9K*eO7NPIjNn+hG z;qhI=s1GpYlj7!}{ifR8&ydXNjRaw0uLGK-c}t$fnELl1(H7UT)j%hOVqZOv zwOM>+8Q;6Qv6@Wx^C#C5S#-}4kC%u=xltnViMBx2B)L2{`PE_Xi z1#9Tnync#6QX9R~#|lzwq62J|!JAA+`f3uH8`b?-E)EiIOf8-v$BpZ&4Ssx?78`5= z+IaxNEEMcok-oKl9CfxZyI_+glBRV;;nZC|CeRnl{otO&_&XnDTm~Ap>v6x3S-qh(Kk*QpxW!l@7MNPi027 z(p*X4gdvrmQYe^CJ)O1Z?E)1Yom^c91c>Ul5WPOZCvp4N5syK4PvvC{*fIUGX@(pb zIDUJk5vA8KJdxT;DKK! zp7R4PV=#(U*biZE(@tHmF0V554U zj`SBF7P-$`Ad1SOSfYQD1_jgnRx)Rl8rU&dn!6+7_%3#v`-il!gJRMF*VJ5Gl>8^^ zrds+>Gz@W^d<}hoNw!D}B18q+(KpA)hKuh#vb-0g4R%0ndd9%Cr3H{#wR@E9{UorS zk VPn1zdcZknqi@`!AmS3})I|mCTSbeChL{#kublndt#ikq7@%ghMXGvCpMy!+uoUpo>Q?Wcrk8s`!#`T+gxpi26(7!#$s_^YJIgnyw!imX0{1; z+oeQ5DDVRlpOW{b-4lnZ)W)S%=w)IJtu@l&EDAE_?U9?9;Ne>!`}7;0lR9E0&KLB# z^w_Sj06fr{CqRv)`11QTkyeo6zqk5UR7;)M&+yq@*H*k;+4;F^t9r3@R;%8=tIX}vmMrh*4x73 z^7i?vbK!_v-*@g(BBKi%h1hO z-WndS^$R&#(mnG4BS@y51=dNFztiH9Q>?e z(@Mhtm}M9mzCDo>AjNyVzp(o~g)(o`8-CEfZ3f;On&9|=3x8nxv=BHe?DyEdHE01G z-0_-U?qmp0v7p3d7s`6`kpR`R zR;JE00k=M4=12qZvU%$N?V301CO?lc19M4Um`=Q80IA=Upp@V|ILPBlbLCKB69yYz9d2hv__Cwv0B)D_ zkzLnvQ}4UKY>*2aN=<8kYk5x)0;5_et|w>F>XJm0eVbN_&@0iJ(#A|Be~Q1uYH1G= zDlH0yqwC|DxS?EzbS#-=_al-DkNmv9;(CUP6F(U=9%X9ofH-(Rg_jAvA)r`OiJ@Ne zqqUsr=Am^8_2yE-Pz8JQs|Z_A*Qq)(o9*}s5>lgv_92;Wbt@p+_c>X_Rwkja zqMYs&!&+m*emC7kmCzQEvGb${1)#1)*{ci-G~-Yl zMoscZ#n%%GWV#@d+OWo}_M}7lv_;`~0P6Y>tv@$y>?ict7Z7R^f~DDHED0s2pb3!h z&`^cEJ`o^U(#1;xxZb{z$US;K6>YuhC+KJ=Xiq*{zAAQS$!0(*v&GYqNWXM0WYIb8 zp7!F40wzVvXYk2E#eT6^Q80rDFbwDgI0^p*bDbk$?9TgQ0S4@n@iHH=!I-Jfmeg8Rk94(6E5c++QRY0-%&TNm)*JyfqOBphvWS^MQ zv#zDibcQQ^Ox>;dGFEhNR1DcKQ>)^w+g=Ly*B+nkB(Y0uvF1$+y?6e)4mC2e}&$U-nDBcnl;@>|nTqU(kf<11faY_LjDYeq-?T4CWqA9a=#T)bDV*#%H|nmGR)I zO%svw?<;*oeo9g#zD6+gi+uOR529S8r<~mv8e79jcmL)@JJRM!!!JR*4jFTjnHha` zq|y*F@E0n&Mt0c|R%vO6W9sSS(QxPCkVr4+b*UCSbeQ|(=2{}&E$w=^eVTeCzH;q; zx_vs|dd6$cF-uI<@&QErE=5;(^duwK0bw18dw^7qiZ5D&%zSgHC;p2u4R{I2B&Iqi zw}K~J0X+-eofx?v)ds)C#B*}!11Sf@jzMFa3 z76RV({5O`}`ur$;xYA%e^M&yh^n zLDwn)X9u@Gezq_Q$MNk3ybc{juvo?l7D1-KJob#VuNos4t}H$PO&Fba@c#W?DAqj^tL=Cg z{QwqkMnlDhk;fGM`x`A3LX-aC%lS(eRJV^|88c)I>l7Y&_Mv1aM^nx3LKHe0+)ZQG z!>XryD{F0?Q&i}R!f|&Qsy^1j102^Dr3m`>3VP5Yp~6U~u-YZCS&Ma?2V!C0aY}oO zKI-@2OCwK)QKX_)@BJd0N=RUnluD&65WJ2DB8<8t&R1X1QrMJddX zK$8AjZX0Lh9G`-nwZe@ajErU4cCfE>Pq+1SZ{?m_Juf<%JK{BkEE&Pm|cu>-Fh&>)cV9+Sh)y(9i z%vdmo*GRqhP2-y+%f&cu+~*%c=;O>YT##8>T^leDN&14dv{(&DS$g^n=?v`*wPhUy zUjl0<=Ldm5>E?$)!A(!lesmo7$=iIKM2 zTYR$*jD8Fu)T=^70Ze`Gd@Ys0)BxuctDXp2(lbC;L3;8qNxx5q^}5V&&eF$JETf3@EP55rC8olm`_;ciR{Ykv5EpB;hC|10*y zcXk+mKCv^~zOJZH7^K#a6O_g%UJ|n&RHZ8TILdelWIH`}Iu>R-1fP#r*yTqp9@44E z)KK@=kb-D-6kET;e*ZF;8l>NpAC2!^BnWb8r3ld#V&Mc7YC|-a{@uTCOl2rIE&UczwQ5e4OVewN zuLvqTTD@PG{)A{&@)_C|FySAXXpm{IW;2pg(FuYu3UY!~5n+XG3(279Fa}(>oxOdR z+>z)&<7L_?AlWB2V`M#JQfT^@sdXWG(6;L2ktX3E9xSBqsm+0dCcaouUQrg9smk2r z5)vh8+Pni_WG!M%dKC7iq|GF8r%VyUDaa@^wUQ0~ob|aGcn|e#CDReJV4FX*I@GEe z9F8@>J;Kn|LCygZg6zhUt2LpWt-yJ^*c+(d+hdmR^)>`Kx0H^l&gyf{+iSI>u1(W? zNI!%=5diV8pzZeti}JRIaCZm!@(ScP|3wc+?flm2E_nF5_Sh84ODdOWWL@S&T7ejZ z;pRp^T{6)DcXNsUrq8dw@pB`=Zt$-^)KE_S9h9ZnwtiEJIqm03w1*N|e_Qlc)$e&n z={qd{mBdL90u|4yVZKywI+4j%AQo#Wt>zu7ZN$ej7gDIywSzlQB<2O}O2}{(mwyw> zLSkls+$FVlKJM>R;FDzE?);u-KiHK@`8y@n{+bJTleYglvAVWx+k-UTp~|H;In|U5 zS~L%y8B5`FCuk!Iyixo>sqOxd1U)z94Fl;RoL*{ff6*%J3;bxNy1Bw=9T7^jgp>RY zo?FPL58>{C&4YaZ{at|(IL-stJSILJVnp%BT>N_WzHfKaej&{M&!%7mwPjw{cV5El z8(G8t`*6bnj~3BxTtMOvvQ7xFWF*-GQ)|Ap;@2QA`84>Qp|Nx{CoO;q00%vn?VR6t zp&$51pE_19W;}B)Fjr1l;a59gi@{R~)9m8BqAp8~9+e*Z4ea1st>$rKy@&uueL8xB zhVhNcl80gjEIji8a&Doi^iQL_W_7F zb5eV5xe&8t15rZF@-hohfGPaj^vvBqEj2ZX44rc=JG`EWz!M8e@ZDtX91CoZyFJAY zsulkIxXVSbd^qQ(JyI@Da9RpucFjJlyLX?mR09!L*^Qg0+gkfi7t^8BSqNtG-~}>i z@w5hyC;r0UJR^d#D_osO8mesFwCj~B4p}%l{1vw2v)5Nj?aC{gMFBUf%N19)@~EKy zKWwjn^8XFevwe7TZ-+D5zM9K~=mk0Y`9!Y`lcQ`+h`F%G|N*7+(6Z(b@N$NP7<>J8wx0Co54;N8Pf1Xy8m>3%p7u zJ7;&EJVy>f4Zvm6$xg&bw7f-Q>@}V9VgSNVmW962Rp&<#AgJx{qEOvnB*Hs4H~Xs{ zNr}E=Lxd+h8ZW4<&yYQh6blmXDZ2F=d5}{#RMVoTA;p>K<;DpbM7B|W^2%w3_KPn03|c2Fu%i5gn%rU+N5Z+iYTyrsHereb=@z_@h_O zrE@YB!5DGDY<^(@J$?nfsvYj+2c}ml0Y4nB<(UZKm(IYbX`%MP!xh{5)V?8cB+`4nff`;( z7?=Im(eovH0&Z&w)sp$dGx6HeBH6i5THli~ZdX7a@&#fUEbZe7YXt7H6R3XGnviV-TK zDr(?mWLp0Z#VtTY<&No2v>nuC?)5M?dFLm|7Z$4@BUSDdOZpza{uE1=Ss#U8otXq zbi*VzOR8Rb(O=jprXIAXHX6ps`z3EWwFg}NN|G27z`09P2 z;}^Dil;;s0pcBbrzE5jA)a0A@a$)~ zPl~2TM%c-=N#~f>pMFLyyVu4ITrPQ8cPouJ$D^^Qc=q6r;Z>-`P6iA6tiJod0cUw_yXbyP*Xzkz@=x(L!a zz+pM@S8wB8#(o5JYD8&Ijsbt{FA7VelO}LY1>2l6lQ^Fb*yuj8iRiQDye>YLAoa;c zEy0mZCNtf(Aoxe`;U4|*&|bA_ToU5J8N`Dpqf{aaR6X=(1gZ`6Ys*Zg!);lPEeeLkVyaRCA!| zj>V`9@%;Mi`+O4jKG1pIzL;w)rIPg6()0Ngc&90rqP&9p1T|Yqz5t6_YacJJYhLcjeRLq~0ejr8UE(23acCTzk9}wn9fSbN|#J z2KOL}+9ILuXPC>mLqn)(N9JO}!+r1GeMcnNr3eNJcW_Rm2{>abNK86S8lswhXZ-af zY;Gsy>JI|T-!*FuO}jTpk8qLWk--y?4?+PUqN_)+mP2&Qb2oR=Wri9ydxsK%Ehj0b zzov=e4qcIvnXx-?$}3#I%OH9myz2SNDD9ufMA!UI+SnbXHZLG0`mp`K@dS%X%DMvf=X6<&+#9c7S?tKs`N?Ieyf1n0TN8va{b zJVT6SeGz4LM57ESzNw*eXeqn*jBrW58m;v8I|bt7;8^|i+VaGa4gb6$ek*+%5`My8 zo(nm@D51HnV38KrDN9UIbN-F-PY-D^Wg)Bl)nw=cyng2V>4Y|b9BYKoI z7!Ax@!5gM}E11>Z5=?iGO|8Vzn0nn{MRJ1J}3 zCx96}R#K+XLc{i~|Hd@qQ49FPDM6{E|EJnke5sv~f+uv8A!iEckH5WLk05^y`F!M) zN9RoH%cD#ziT3w~9{y7nurW*>BgVfSZ1C+JQWz2vP|6WB6|Hc&0C0W?0NR!J_loY2 z#F|pw(OXQyz&P7zixw5DMKhD}7{U0;KjrZ9fAaDZe2q$)MvjKg>Ypa1D6W>tIzPK5 z=d0IIcdn)f9qp5sih@QVxSn$e3Vas40q0( zV~U)~!H=WQlCa6Re~j82()o^lH96XJmiu$qT4m9PMnhgV*}EtuEkL)q&is9~*e*1X z#4***Tj*OsW}=IpMS(qoOQ+kmflVGfiv5)fqp(T}ss89xz-+zCh${n&UrseqpPrf% z++(AjQHE|Svj-($>eW2>DrY4Kp)crIQ_&VE^x+<2q-Ubeq|Nv?V0j9hZ^lP!s|jL( z^WC%)X{qxr}am!x^VQc{XOB+c;lXPBP>8PXIz1GhcL%>06D z+9^-m-ze_W!Jz=K*{FCs7Vf>jUyg(}nBCoBhisQroq?zP% zm2~Ir)ADlqr-N+6Ez6m1>m%>c=cSgZClm=j2>`8Fj$JB=gAjvqjRR9OtiOTy3_Fwn zN!PfWgcms=NUB$);sjnY*q0Zefx0VM7knUFxBe9MOoB5C`pzp$XMufLab zDV*)Uw#*^{JuBZM0)1zVVsu?{ZY--sT)~omeMuv|zc|=q^Pqf_7`_arz{Y`*H$37mL9&6bdo7xu3ta~7p2Kc(-RHBYMgo80`2=M< zpQL8p@6xl`zK9@fWp&tebi8lVcHL|W234LpRFHDkNT^j^(+j^MJT-NL6Yn5Dd~Snx zB*aS0Fy|Q4AdMtnUN?tNn~=3m^F=i72#hPMJEU$iq2$`5MM(VD2L7&SmavWG@jYo9DyK%A?~>M$Ey2f4H~}A_*s};sXRYp@*)Ek~1_yu>4BOYX3Pd zA@M@$3Mvj}4+ZJt9a5W!p>~_qPOE`NQY7Q4X(I^q2NB7K5LX`d1!hw6^CSqq{m!TlW z<{3HI=7XdDhJ;h%zWU;@AT*AmKqU4dmo#!` zXDkbb2hWLVdzql``jQJrreR>!+Mf!VfiUuF$*-BRXxjXDEi}Z%a`-6VyDhoJAjKM6 ztU2D7$FKzfh_T)y16;BbZc4z0h^8U3Y~$LY2)S-kKrR(CwO2@o0t^eHiz1^g3o&Ju z{Q#(?9kK{m#2)9xASDXNOe*t|4{-rx z71CW{zCs%4{w7Fw3o3^FnJsP7n=$w3Z2uPX^y+Pe6q-6$-D3XzKK8wfy9C9|px)w4M;T#8Kg6vWJkP%L@g{m}Gyb)mV{*IC;UhTNscn%fnU)_v=_bGP`-PCS>IqpKg#lmr<b^+#E&}xg?aOTbA9QInB`Sm%qEeNKE3}6h3_aezv*eLVCyQ% z)wprGI7H;C`~~Qk#o;no!pqQ>r8qt8qk8N?u|So2UhWQ!My%Nmf%}szIqz}U;lxi} z@p*5p_ag2(g@0KI=U5?lAY+E_2>#)Eq#mp!@nra^)^>L)=(?QT{h=SnmFevq#(o;} zMP`x56l?3Y#DSe}=&kiXaeZ3ozJ=-;)O0!>bnLfj>a)RNP2DwNg;lsZ&U~35AkdD5 z;(kaf7!6i0UTj9IhMm9?%~Ny8+f6rCOuGU&_jj=VJT}U30O&*6Wp~@aZvrVF8(;^F zon{4Ik#jHv2-^qx&QyO^LoCu< ztCv+@`<^@^TFJR9y)5OLGjlnL*#tuUv2;&od3-W67%Ae|UN=;Lr@<1UK$aXYyVQto zs~WQaKr4p?WB*E3k4c*);7D1tO6{bKWg@|HG-W4vJd`m%FY2%19w2NAE08f4=`MTHA^J`UuYyis#Lj+Ux8b z|1!m9Q4;fg2QQyQMzmh)?+4C?arPIGhNSaS2+i(pjWpXj>_P*MFGR8wsDs28^7qh=YsB#$F3Xbb&xaE zX;$s-VdYjh@U`V?bIHNvv2Hu3WpnsE&9L|J{X%hsPl-A^H+$RjE$(t4cFmIok=$;t zT0xyVKZcoUzfpnK^Rmbt!NO>z8vD&8UUBje#)s`TK-5%l-sC%kk1&Zs$Iezo|M zwqln8jUk8j!Gi$~Jy%cTUe60@ ztY=ibSVai%1acBA!UW8NEQKgiN-0`%SX&A~hTdi*VmurEJ+j_Y z_3q!$E1RJ0sco#EtrogeSkW2a8+jlClZS}G+}8fTvP*MEv2gUhICZqf)#6{{Wir2Ido!%%ZMXk1Q9qp#_Y{3LOl`|#smzIaI!p; zjKS6~^X}4mPf%h|A9Tv0jO{5V0;~afU96Ybm|)-^o>J%P(e}TWhiXdbh<$)z7RlHX zgonK%3lJ_zuMBo!;igJw3a)$fu$224t1LcZ`ntT!XcwVr{Bv>~Q%M2cW|)>GVWV=- zuzc(IcXxLP z?(P(KcOBk)GxL|;od*#tM8P|(J;;gv$c8m`sd#o9@&g=QCpOaJW=%Kq+zbyxpo4K#l5GySLn9T`d6y^j4$y1$h1l2b3}D{ocZqLx$oiy z4Ea>R;|F-DIDfH;7d}(WV6OoR&quN=U4wj?z8``nwpsKVz`fM7Cx4u`8`3N;;zS)LgA*bF+bmwQH0*Eams{c);KEUT zYFGE_fn(c^fydqNDk9Wo+X_OxNCNN8Oq*@A{!4Mxam?^MZUD zLOC%V42R=4kDCmYBUhP-$bYfuKDo<^6OQrYH~|qR3>qcH&t*0#46li^(y(Gd)2rf_ z2|C5t;HY8)&h(Wm{2Qz8?&T>|)v9W4w@lLMwQzN-z}n zZ+QsyluX5ZdxWQypKK*dYv+qfRkGwf2!2iMyQQoV%mMWF$ynt_nmU!d!>GHaaiG~< z1E6AwJt<%^j?|?rc0PZi50V`T8}hXeUFpQS)AI@A!`!*+hgN7AV7U&zl|S5%1Vs?U z)uUgAZ-NygaF8Sqy{-7_mxP7^|GWU{F2rNyN#oLS^Qv}ZGY*;!Y;4jr?Up^dWUqkaf>m?~$S z3P>jI3*5pBAq>BxzB@uav6Q5-cb{CZ{>qc#pX4tlyk=7@XD%GcDDcb>FA!SrMSpR% zn`^z_`x(oau)6sgWM$JHuJmahc)pc?{y-sT3+~~cAiFj#!7TcUTk_rE2Xx#?gQnFz z@8!YD8O0CB6Pe=#GKrUs%jMdq6sNwjKR0eq_E#QZHW=xW=naC&%k}^60jf00FE;*m9LOVBX!VJXD-)k{{)rk zRZHmKA<|@4dKIUO3I4mO{1WH)-OEuODkI9NHGC{J^lT0Ds8ta6;XUniVa~AO9JGM!Wqx8qVWys>ml3=1!NCNB#Jo``Cc}TKmYuXruY4eGs(-Rv$hA84jl>lnOC2gh6Zy-5{IHhHHpnqkEuoV*&U_42Ca^v4tW1qVmOTu1?xfdX+}+5ZBX1!zI7F0B3FCFaL-pV zr_xP`+pI_>AId!2;b#YYpUhk{T51=vWg*R@cJ_M3cM*yJmH7pf&v!x^B7~>X=laLi zhB`$oNqVp{+vXMyj+4)WB`Lh(EH6X|tf#=b*U$Na5&DhCr?(a)eM0KfH*wIm6I=(T z=+ACg?#}otJBO*r2|x>_9&-OClJCK;z;V9gvey)nX;RS)Mb$}~wXnr&8TV}eSGgW8 zfwAP1#qxk4C@CocXL;~!&fXHU-3anmM+qn?lk4S_q?ou>A4!4AF8DmLR!dA+s4er} z;&;7Ef0=-7u+AEOy6}insE5W^)EY(hE_exYcqXW{5EgO*ag2aL@!@$_+k)v-49A5D zqD=G4Rhk9dBz>Y!rE$?`0iAxGI>nEjoV3J;eonU0khN8A7<0#=sI*O9u# zv__lHJZFkl&SdRJTb>5SVF88VxgH81ZKM1MQA~PhKa4sKJu(oO(CfU;DGhlSRrz>t zJZUzZd@_^n%cj4n)=m#FIrT7q_TDFXT)3>>xJMN6@?U$zl(~gBbAmZ0Xau=Gqs>zl zZVBrw8A2_smZ4m*>kFP%t>{RJo}8jRn@5%S#zXbN)8?3e@i<@BOg;;#$75t-s#-fUBKoa8DF@XYe(Q{<%>~EuiJN9aoxB`V z3=VT)8$SR#i1fCgvcCDNA7pA*Y4_;nmJa?`b2NAF#pF%k)|s{vwjF(->9NenA8FZ9y67RXt{aOOFZH^ZJqLoWc@Guv_nyA+k+nak6-Rsf?$GkC zFL#!%b(G#*t*>Q$E1*ZAi^xOrYRaWJ8ktqc>3-v45e$^YvOyJs&?_5Q7sW7at6&J}$c9oxgz``Q(&Gg#Q_I_sW%lqg$xE5qyUkue z<$)=FW+C{25IdJ5T#u)XLAvN+o1!!gh*Q0A&=gyQTr#F2p!MYy4XA+b7)NzH(N>Ky z{if>Emfs3k%O;A2%eQ6&^vvnC)Y+oNI8+2J(*3N*g$|%kO`P%5(1-+iTx~*)x||ay zpqRw!$mW2#(iXa$qHVIm(|Bv)OdCeTsUi7Hp~~ z5=}(p3rXMcU9r*gHQ@f#Z^x)4Sqm6fs%Gb-a2D^E;5zL_VT%7b|`(DM3~E4@wSG;qATeH z_Nw7`m3kNFUmA=oS5DA=<+ZVjoos(aMtMBf39gW~j}so`DvYwV+bv{$f@iKl2_3Ed z(CNUqJ``ZklhWvUh(M;1hPcSS;5VxeUiWFMS$ErCtFSWuwS{wH-|&*~ao_xK?YKbX z+?#xtK``?UQ%-LF0mkPhYIDaiptX@x4ITUahDtE7vhx;-6KJdNuuTb>lLBJq46b?i z#0^As!JfEyoZNe$&KqBmLEG#SkGkd9QaN$A4oEZYn>%Hk(Pg5xoXu*0+(6knp*T%V zd;`0?KUXiM-QO7{GC1Ohd&?HcswT)ZE8D1A{&6Hi^)e5Oy}L);T10>d6{Rk72UH5< zMY32aQ(2DsI?Af%1wYc)R%p!vU`p4YEv<7#{Kf7tJtnnKYLRslW)OxUf{gK}19m8U z(Wzsz;4r1XcT%BW9Qrr2iEMkaKP`)%4tVcD)QI#d_r8B}+d3XmvW!F9JI2|P)0_*q zN+paK+Mt(s92CBocW-avK?V@qYj@A@kpZ! zq$RSFII8H?Dt-?GX>LC)DIh-oy@a%)UvzI%on8WIae-71(>NWWx)0f%A+oLlfWHl8pYK3Ngh3INR~qDelW1Fte9%9G-vOn&J>o0bg>!X*`2PS(2k zB%?0ah+H}IxhNxR4PM=)^@9t-> z!P|#Ry-sD8_!J%<6X^KRYPW@4UR?ERUQM%!rchC){49v^ zshR{?In*z)VD)lVsWsO7*r8vzuOS>oX&H2iVqucSPLjd~$E``>a6XjSD16mIMoFzM~llVyh!*hGo=v#;haU$%B8nWB=n=38)*ylRz@tsiC zN2|8UOJ|st!fKY!8bZ~?D0O^_9Rcxgr9=_?pF`bb34cIR3R^DQ*V9kN8aKj-lH>>+ z;C}O)m&r>-U}+T}r&q+W(j{~gik>RR$h>XEF%G*ZERx2q>Pq5KD(g z35r9?9aqFxCvF3=lPhR>=-@j!2^m)sV8F_?UU0O1nqq%d$S$FiH^1PtYNUe*kAqV>|6vzQ*n_kOVl9k<7iPfC|3s)2o z!M~@D{JMx05=^Q#!f^9YY$w|2T6er~KJf*_L3V>`uOb4Z#RPdNlRcLF_!T?!QHYo{ zNob~0FqxLLdEPLAJ`s^72fW&80(#eyk!5?NVeQ8!B~7G6?2 zx;%{Mr)-tebt*T;z*o5&OB6hk>($CW^pwgn!H|fMtn5qW!luFvw% za&sFsuUXL7@9%&Bk;(SPa|5&zE5Dx*NEV?3G9a#mZRLyNe zyg()>)WwW~8~kOP%b;Gzuy#q0P{l8f)v&}vC>>3)NRPh)incq!ihx6%cyGJ`eD%DB zCO-krk^9{)i|{>=hP`^6r8HfF)utn|j^cJ|^1DmHKIe#ps>IW>s_@v%(oxfDR)^El zX-sQpb53b!E@S5FzsGAgvT7CJTpkTzha-I2W&0UcO*4tBXtGiZ;}6?Tgw?~N$xer@ zF3m*F_J72c|I)1ITB&rp*QN!8ZI5r5ZMWSbq;CE3KX4Za+8!Yu504~I6PKG|?*JDa z*Dr;@b3KmG9JV}dML{vYJk4la_#l-KyYj49XTjQ<`Yg&tTN^7fJXf|&YsL#cc~I6-dOIw<<^o$|oa>EmU zhWB86O|H!p-QDeG-OW^fzvhX-P8=0xm5C}gl~+p@vj6ROR~!V)uMh~)9 z>Q!H>&w>-4mb3~YlTN*KRVSwg`KA*W06&IT7$V%X&GzD7ExV*yMTMa8?;Mtmf~yNZ z&W2u0#xOnoDtho_cW3CK<4HmZue;pc8G;lMGXwO{V-44>6|cR7~6v%4IEX%dod&&ri6vaEE3)45Ss#Hrg%|}g*2@v zPQTpUvN!ZNhix?C}{m!Je+oE12nrWUQ41$usz*Uh~UVNQ!t;K;4%Tcr3^N0|4 z2)J{a_F%28!Ni#KRce-q`^@Vp*HfT2HP#mwi*yu|v_R-AJfV%ptWDL(QK{SDjZZY? zV9bkf4R6d>AetVpWh;@8N6Ep~XqunrFp3q|@wVro0rXm%`xNUr5;(FfS^QpcP^UUq zBV}q?`mPrHf-CAg7GC%P>kM1uc>X6<@*JPozG-+C!AU0cC?MLd`Gf*DI?-8S6ogYj z?GR1dwO*!|L0w2Y(~I_M$43!NVPiG1Dy}LyM88i6M(EJMqARe|gDeXU;Z@u+_>i9V zQ{~OP=0gOTAABAnZ%0Ce_|TkXt}_K~(h^CEReaA&#uRn>Qd~9EFg1<7S;X5*8(w^W zHZP$e{4Or4;n<`xO#D!FD3F@07wh}j{t%r=edL?u%DL1secwYx2@9u{RY7 zDgrEFwF{BjCHX!}9m6??5+V=t^1Nu_XmI+&p9GTlU?U4mloJX>GmTduz&IL|hw=Ow zLI6UVZ7@cy&m0lpS>)XaX{konJ+URo7tT%&;Z@< z;#74wAv3kRVgfl~b-1ZeTst$&Dt zBh{vu+oSl@Kj*u$^S0;35Z1Z|c^dMY&8i!A3Du({uUE~n{zN)44o#NXny00D5e_q$ zi;pDD{krE<_q(n(vLIoy{Kn#NiZkEP09XIpy%jLZ=%i()MAh>QKUOFuIF|qvQI%CM zn#;Au4u$L-#jZ~}{z>0x#zWZcH*qL8zzvfAFFJE5B=2&SA#qy%fkyX|C_$O5)$v82 zw8tZg@e;y|&OC>dOYB1(SjEHLy|Cf#>vKo$gMI#XP11kL3j}TNA*)sHj`y<`NVxoD zoCm@wID4GpI)W+#m_Nlqp)?Ih9$+F{l;K5XOzUsZsTR*THhBlvChcJjd%}-skx~g~ zMj)svdzChG7{Qd8dDI{x76^>_=Blsv3f>L@M%G6rmW^-6(q`OK8QfX!LRIcZj%KF=LrpW?ouRKFs+nrILMSHArixfa z&a>n(A>ffYb!7lEYx;Kb$Z?NXe8z4{eapZSPB(_P>9ow;b~ajy+GVOjR9|;-$6d*I zVaJJ8N2r<9hJL8l+}Qsl(cNiuOXYr(hOM&RcD7m;$elR=vpUXZvjM`4MtfhcEapFT zGJCnUDl5(x-m7neH?_T|mu?GZXS&`~X`K(#SC?v)qwr^#9_{K!K?$bH!MnGoXda7# z=VR{?jaO&)a@KexL?Mp7GD6*=y&B|i{F0SdOEZvRDGL2ZCBK_p7T*(Ly&$NQLoJFh zYNttr+b?Qf0me9#5pCABXXpH1eFBthklQbfrRlp9x5LxvZ8v9Xa0&~x@1Pzo1w9qD z1b=gUm|bIDUdG5Voq_g4YKyMcF0Wi>HMe}T5SLz8tupHau2 zYB$a=ZcdaU`7<;0Th|OqJlY#o9z5$cz5`|*KcyY_Si(NcA?g(YYi6}206ieWYMt^A z+P_~Jgr(gkHwR<*rWic0Ys< z^kh0AD%ZBnltTX}DHAK6aW`geDgO2)lEr~vl7M-P;tQP@RbAU0+gx_BnXI_9<@@U- z>|tTGpy~c&nKx%zncVUuCRc>2r<6{*m3Y?g)RiC}hpQ(Uf}fINARpnY|Ll9(bpI39 zm3cCqULE<3Pam)E9wAD0??Z4MFLwxw@*d$ozlA8#-~uh%-q)31dZOMq+Mb(9y2~|z zAop!Jt9b%$j8kFFo~%JBF`wBvVIh90ug(_ms4MGD`WY@Fx4S5;M!l5c^+u5!{jGjl zIO;div-UC!Z29bM6gB%fpG?d}4PW5Ne&7KY{fgUu|_#0X8RL$wK@SeyypW5notf*Ui4e^T~P5xTG`kt6Aa2##%ha z#5co>ssoZuPp_-96|jEC?L>Bn&Jw%a7ylSf!^5(-tv^$%-8V;pSE}r623l-iF3jMW z?e(%6_F`Yd*Bu`uxa?nhl$(mzy)!c}#d2xXPd3!uv1c`#WR8i*P3TJra@5)QI`z4V zYNB*mK6B=(7L?N$b$^71?gYdiQQI*>QjgCCC-x*#)7I&SUoBQ9W1aj|xm;OYW+U|` z+6GWz#Yf1Uoy4VQlEqOoxMj~#Y%t*l6ZhI+f!~?x?kCUuw16!qHvM&=ukYVb#@Pkt zN#c~@@l!`FgobZMMYZ4f1*B2!b@N^+J8{0<@1ZCt)BKpCh2|biY|lcuDXo{vQ=2FK ztYK3A!)l&1}Y2yhJ%7e29#lK?JnCqMiNSFP`z9OfP}R@cUI55Mu>EUnfa(7}SQQJKJJikv0h;X|s)bw$~uB8&KRYd90-9+R% z8jll<<=SBXV_rLD1c5+)*Vk-XI$E3dt-sIpnqj8+u>G2*yTr2~1u*PBlqfNEPShBS zCiNQn?aO-YAFv5tHxm~l{imz$jb(A8_C1@#B8nW4xFc~;)Y^v}V?yy;7No7AGcDV9 zfjsDTScr1*X|2qn1!+=YIsUZ|SFTjeru7^p8Z2i23XLR=(i{(LdC{j$!Z|`J;%2Xs z_=6|xmVGJNXx_1MERC7-zRF39Dv`u}tTjcQ+<|zElwVdszw>f&yZ%$&Cj6`E+SNPv z%vZIAiYSbPE-TemJ}|2$jgJPbr7bu+Clx)Jst zOa<=(T%T)wkQ;5R`y4>E5chU??4GQtoDt^1FR0gD3dRzr2A>lGpMFnGh!s()e&V&o zWP{%Ud2}j!7v6@*WJ!LC6&`9bgEgi4**g>dImUm+wq#L5I|3>t;x_%=H?|s<9s;UZ zFA{EZMHLvm*eA0kx3oN7nt`%uu8<>RRp=E?+anesb3|X)p3AtHOuY~MQe_0+>8@ux zv~CX<#try3!5&;%13kPMKnfB})G^{aSr#k=`a06D4qFY-nO|RP+m~B>?dP_&d~Vt$ zI`8E(+Fta?f%00>6hS{&m*hLEQ_bfRA}3IOJkb*wFul?^ZeOf2VLM-GSj1JzTo^v# zH}Qy8G&gYJ+}mV$%_v;g0os}Q_3l}pEqtLeXBA5XRN*y=Gl;L8!Cx1fiTeULFtu4_-9|g!8?q{(=8{O)0-|5)Y)+g-MeOOj!Tq&uPQrPTR zZbwD}E^9*3=S4b}L{!W--~4Bjhy-Z%BvZ__%lQ6OH?o@&Rmr^Qy<6T>~{n1I})-$yw71( z9v*W4Tb&4pMkW+hd$g>Z7x)Xl%0_G%a_GIRU-BC&UgyXJZ(6XGR$Ja%P&Z{_IO&*A z!G}q_vaA^HEU_wHAf?cNG2bW6vY-9;hgDRjK2&^TlBiX%2b0d@|E8^tY@G)jN_eyihRg_KU3OoDluPVo~ zgCbJI+07`LBA@y4XdT%X6DQjaH(BjdT(tTeJZ-Kh5;-(J+}kt`*XDi*ubQd~g4R#w z@+0bL3s0>0%VuO^_+ysGrcFY5Ia((4sz(NMJ96`0x8EOo-|%B#sT>s2@bcrgzZ`xb zCiIy9snSEYpL_KGEfpT`Jc>;V!O1h-yPjtJN16T$V%CSKl`k~;ykiL7llx%mK0bE( z6BNRgjxi`q@kTTm^lgUb-xmKk8>VsomD-mE$ln-?KmI3c!3ga?O9MdT6eGdkWc28C z?A*WC=H|$)r>g`;Z{amc#nf{Xw3u}l;zWu(^M!_rCA}+2d3;V zKqn`U^_G1ZgD#^6c`$L^w{10qK+z9Bi=*6)x4?5k>vJAt4u^>~!Sv;EvvYBzRR?9j#+9_Wj z{-VsxUGAwDxYUmQotx?Ay_bcb4JYTnt@%w@8lO*^>}KxkvV~^-&*fqRZ%2k5yBdzu zueAqSFLQycoFzZrL|InDm(o@HI+-8{$^Y2?RupSwB8Xyvf6<)RoS5Mi=xQ>!MoeHI zSab=&R{iyax8ZR`0?Vf@Fc#$!au`%+0upQEB`X|Q@q1ACYzHkNLSG4|Vm4J!-Xd`~uZH41L0(pHq4H`kV*7Pto zN~CsjCVR&aTJDgK*qiiFBDyMLO$eG*3%+A@?!wf|@{A{+z-Nx{4%y>k@vl&Ep2c_L zJEvcE0tB0_bNKqVur^Im)dp*`ffdkI{{(CJnyVzt&H9ZLkDf@1tH(8P(#r4iewlgm znH1e{A@!dWGv1vyG)JluKGF>*m}t8zL${75+WwO7wzYlYCvj)#VXk1gqLex_6gRbB zR>2fOe8Q2(UG}IM$n(U4U>g9YAVPj}S1vX;W!op5r0NnZffCXYs?F9jzDpzF2Q1#_ z!kymoTiR+!hl`y!uwN!j^N}=y8NRHJmjjy6@@$AKIPsMDuMzLAYCPn5CTi!`_vPW^ z7Saw<<}owcJ_~ViaBPsI4sQki@W^6{Qk<;i;AGobhB>Zg$zi{5-e_3a8J%8kMRcE@ zCWSniY+SWCNHFd+uY2^258umnknM&YP9~qUfTKrvwpi7t+T6YwtR zIpgM_8}MmWk@$cpN~(Wb+|-0gH7#7F*5jPATawi3Oh10^7KHhHHQr7RZJOeHp3Y_} zMCsNDBb~JSZEg9c3y-Jj^>yqI7q`Ywh-;P!2N!#fs-apx6>bhryqUNV4o$R5QMzv> zy2tvSZ?Cop_i;Yx@1`zikH4?p=PeY9-R||ykKa6rj>})q#na6vKU&{VbU$($;cj)g z6UV5K+u?JLN~chX8!VxMp z{BHsslA~YMP;^zcZlMQOm3AGUuMe~b%fo8@K|G#w4;+xE^M0f9#?^fpddDg(MJjC6 zx%K_X&h#*cUhNFz1?3DhBL2do-f@}xkk1nw$_6^4B+cdcbbYC(Xo8`zG`A6ch#};c z=Sq+Akg%B(DRPai>T{ks@Fm>Slc_xkfO_tOrlWzokpMv^``=Ba}craXd{0 z-_dN)0AOansoA^Vgd$K20@&HV*ONrJB+)vfl8Rn*5u9E2jeu=AA>{+c&^AiL)*}#m zcw1A$VY3y>?;lph0m!oXxlwfEKO~s<)3LxTre>mX^yMT#%VyoEah!8vGXVjaUAVbY zWD;c9JE|d=C1%A8V7_}0t9 zjSs34!b`LPW#-EXv$pFof{Z7strgak*2uGX3K7y!ePUe{x^=#^+zDo1TuI!|i7Nh$ zqFJ_l=>i7j@|I)HP8Z!b>Ab8aY+D9I+(VP{>MFAmF>lv$Kg>qDbu2g`6=`ThJ@Fxk- zN&>953__2&5SC{HD8$x!kQyp(kpG-Tz?ccSPH2A7eyM+&2e*wiA3KWk3HO|ng3m}i zT1u)p#LM}$>yaU?=+A|ms-A!?c)>*551bd$yp>i?YQ*HSpqcC^ybt{DJ91=`c0eG{ z*sI-G_(BkiS1ehl|!GJ{_ zn`@<)#rce|33uphYk5SXtT;dD#Q_L2klk;?+|nuDKKws}=SKg(QM}{A4;Mjs8;`6yb2Xvy7p)9N0L{Vwm11VS~-aHYRfZA^B;FD zw|G9*$;eRgKEp)moe}E$?eLZnCe*>t{xrrvQHd4bip^&C%N_#s7ufyiXkoOd>~;|` zW^lbtU@hZ6j_yoTSu;4tc*2O{bD6*6s8R^Si+x=)KNFJqZG?`F*3H|c?=G4(<_zTP zB+--g_5>JdxZai39bgBPMx?#n3+Qf7{Z&Zxh>8>mx-obzs~CScg$mkpf+4MeUl~j6 zD2Jp5KMCAN{<@`iGr#MSRhD1SLDO!@j|t!-#0Sl9OieQ^Ox02CHeThTU*84Ejf5eK zqqE*wn?KF_I?o60tQEr>5`UHY>KpL^{pTYmmo*jG!l___+`E_&3|VqH9M5KxBhkxF z!z?S7aM}yOb8Eg6w1{6J97ziSVcc%~CU&lzjbp9#|2VFkxB|j!?+Na9(ix_x zj>fNdKTj?NxJnO&XAvXXnw@%Ly78+GjLt0ST2zpzX^2$T=P=$#Yk(4{G(9t6rew(w z_TMlLTonWsUpT??w>tInx^tPw1woZ{s4BI5kxp56ev+6a)SJ@JX=BufX~gv^+5w(0 zN}Ae;@c@;*PcRZCEe>Cr{_3T7i|4AZomXj8c1Iho_CkF>VJ>eG&hYB2kb3-Q?{hu! zcyMGCgh0n?+wj*Nb}IAar?)@v?c#OC>@Cs7&=U&hmQy z`m!Hzr65rn5%Q0kl1Af;vV2`-|6^(fU7{N7R17O}LVEF9s$H+RsU^*-)_`SAlg;(YqV*gslQ6~%rWMgve{(?g=<$4O9|g`+4st5RZ`IA7d?RXF@8w6N4QTp z)#4RyWK;|VK>AI~?L@d}e7lGNBOI&=Fs=##IS*(KCn&7a9;Z!_G|^+1Ht#ag9!}8d z;rmclQo1*-#CV#G4%^{i<}yhnmRe6gSJlOLzMp_SQ~|lDgZ{8$TzZpg z>);KnDZIQfC`VjGB3~(2M9y{f^|NF{E9*l(T-H;2y|nL9oWPQ)`8adK>wKCnUsed2Vud19A~@Q;p@@4!I&=1X+@q zb7DO){y?@h4c#d3mr*OOyH-%?CdcOz)`wtD|?GgZXWp|jzR2Ew?vE4=BH z?Wm=A&$dxu+~JH5go0lNjcw+n+4(KqH!?fveLzV*jS zr*+@gvRpP5Q~QCFb2=i?i-E42@Z?faa!nwyz{onYRZ{mSi*VR<8`B+I74l*G3Hw-p zw&dRr1p_voJ$x#Of$-iB;%@|eZu=|+<~`o6KYxSi0z@s~e+-10)Q)iC*&vT&@T8Pm z|3cih2)wmm$jU)Tk7;uf)bHFt@+nO+kn}_6o^vT`osi>uHn|dr#4>&T_Ii5!y#`q( zW4=b^OLVt)5J0uSr>RM$U2tZml#~AtzE@r*Ye!3U$J7!M**j~D26}7T{5Verc-J!G zv@rktn%mkEH-C$#{riO1@I(<2DOCchT1AORVp=pVMPrd^x|~;P!arPl@v^$Q0vk+) z(nSwW@sP2&XP&s%|8Qn4|8?}_%3)IMTqYc*H5;tRoi32@b!(mr!Y+OzuQ_>=gYkZ( z^1;u1tbYI82gta%Nkb#Lw^Dk4XVqh4NTp<4L5dauVaGp3u+RAa-9q__q0~8_ zy6uxv{e=rOPt_V4_JSAYr@$o4+Kw|F#@^&%S1hf8gLQN|mqLd>l` z536Saq<4@k0nX0{Yk_PTZ12Xl!?TCREu79;&@uM=*T$O}_iCepqPj|Js1Heya*mhn z4CZ-0Q<#?Adyn(;sQGao0?SPv znHtN$SNYxkHV~?hSW=K!`bM>%y!H_vWjhLiZ6@UiCY@DC;(2=+JEiR7o5xB)sV{>s z!Q0S!!&2Mj8EH|I^P7|<(jb`R7^YP=t)m_%n zwC%(;kSmi4fz!^F?7Ta*LbG*m+yO5HRXj~sR29RiAvk7%^2kSZT}dMiD&5$Bf*TtU zo=n0>LfU=!!VkZbC(?F2r$V$qCwWbe_oV-Cx%B7(BKh}V#m^pNYb z6ZJ12N4JOfye(|bBJlj}?7X|QvMm(2?urVuS?y5>O&^!sR2A4Vukp=F>xCO65G;s8 z?Iji3`gjlSr(ZIl%>En?ElIawEr5KQhB9n2l830wvG6Ag_3wzaLeHgt)>|q)SqR0< ziO>FugYxtkGC_^CVTh18ovNYr-D;`8ssUPb4+-)rDCatl3#8Ca|)-F3Dg`~-6OybA%w8^WC zA<2_YrqwA2(d5ETSO@Y4f*-g!`Tr(2%5~@miCmi$(&lk|`RG=YbvM@_;CeGtQYOw9 z>TNDPP4Sm$`8Rg&%iwpIbp99GAW+xYIzoxWUp>4~fI$PfC5{bp)%S_M5s)2I8;H;t zXTkX`SokW>R3$P&^4Cj^rSiqg2PV{}Z0b4|7KMRfV@66Omt~-)@ilQZjp;g^J@h`k;00se3;$eQ{Mu?Z!>u+WCaVvvVLBAW?S z_E1_HBl7tNGTrrfMLN)EF|>9TB`6op^rNO@^Pp)q5Vu~!`!m-0+**;>+PsR-JS3+- z?rRl3L&i)!Be-y=XMlyWFwMO_n#%=~$i_q=FivWP?7PRKdBG46hFV^>Xw~N$AQ9PT zkKY^lH6j?le*17D+~-9*5O2+0%5k{P?id1zp8|Bh@**X3^mjs;V|4OF|D7d~o0VR- zU=zt<5vzo9=ayZ3UX6M*P&e1P*j1~cSFW?=NK7(7nA%x@Wi9ARqx@);t4v`yYYGfhD@L~4F(32jg%%Se&td;~)he!H)?eGgB(b_57axAz_|03Xois)UGO#;K{a<6u_jfRc1 zG7UnNZtqzi6qPPWl(CFujM7a8+OfOn;dKf;^P}U7+o&AP=A=}exG&@QfiIMT*E)#u z*b!9A7pZjf`hR#y*ZeS=>Gzk$8%FegjN6KzvoSBilu2*;MvTx$5xZ$CDda!GpN*m0MIhi)k+p*+5_RoR?-ieHZvCdT=2Lo5A+@F90pLL=0`1NkItHy z^|lwGY*z2u$1;U{S5<%*7~#?3!kxn)6B0^y`(#Q~CVC|J-EDY!sjh;0rYAjPCLxG9 zv8Zy5-@;gV1q12@+9<>aN$Un%vR&@FNsMFpXtv|KvIUZwW~#ijP6|Z;Kg_y&H1koz zZNoMF_;D9X5s+z-xy+bmw@yX8qhnN{f4UYWl^D7Z&8=LZwg+tc<@!o5C8fN41EH%Q zu)O2iGPp45=;&;n7=#5!k?6N;NcZjO z!@{^8?y7zS?X=T%)1h#?idYv#Nt3l4sm}dO>dYgR5#36aX=LE_@VW}>6 zg^<$VqxAD*Nix0>{aVpST0^9@XK#}G05%$$*`!(rY#BXYe09n_WS-kc1eDJJu3!j2 zvG>ofMSOtdpV|3~X!gyRP|;U9V+Hw>_V%c4p%0{&d6A}y@M`{io8%N3oO874Yx^BD8k{EQj3l8`1wk!y%G7E#gC6S@) z*)-iwd2QyM1J1FahQaiLI`ffwdi!W5J`$%gKs!7BIyfhbwHQkLlLd~y#~^gd-fUYY zKOJ{O;N?P&eq4vjS~DEQqVMykMX%5`78fSrxWNoWv8)2 z-+(GfH=S_*bhFHWj2*-cX<}V8C93JYvG}qV-X`-KV~Eu#4uF9vPC2DmE{R}%qaxzR zCxV#=AWQ=*v5MS+0J-+o>8Kk^j`o$l*>iHY!84dhI>Zo#Ri905rZ*RFR@b8Uh1ca= z1CC)giJ#7TO{&f^%z7pER4FZY^pNe4C{Iy@y>)l0V1xa=Jii;7zd}Os4f~vd8bcL2 zk;Z2`Vr<;xj$$7D9EVpi3DAo-nT)#AK`6TgwZtlVUM}^G+H+<+9Q3UZn;|0I2mrbb zv;8#w)I@6dH52b=#oMd;`M#1joASYT{_7&NO~-mq)%*h{c@HfCuRkA`Ro6d0*)V}X z-hSCAOPL!fMX&qRt48e8_+M`+we=+##(wU4hBLAWeI4S7_+96u zLtj`k3NuG{AOty}3m(rtCI;x{2J5$JEy8?QLO;TOdH=JpZ3XCd_(5mZcc6=OFYW$W zSnmkF9$^rJ!x;bx<$vkC3;RDrodb8Af4H@0f{AV0X>6lu%tme8*tRB((-@82SdDEp zww;M>$L(jp)P=req$wmv07?|Cy8SO==fwY_$_l?b$m7(cxEZAklq$$ zj#Y?R(W-{rv{u34&2+l!wF|>Ix;bVi40btau8aGbCATN8I!jB=WknVsw*7|1)ni8J z(x~nquVY}NBM35louB*p?LAim>30V&`~w9`7T0;@x}?Pg^~>nl9s$i%;A*>g?_m<@ zBu8)WAh3fs-aBjK5ZEV@swEqvxchG`R82G(cZ4@f=8NWqax$yuVbE6n0i@q9^0_lZNn`uKa zn_?k%sP3N^)Hwa|%+_M@F7JrA_)#}tNp|%b`Ni$}iB6dG;Cx8}v@z*GaMbqG4!!9) zU33Dbx97gVW$t-GPT1?R?cBJdLB#wPuNA>?z)V=TmN?VewCiyRHp}Ot5W1yx4fW$I zK(|}v>mM3I5V>!j*tCCNjM+4J@_om&TWt$iX*}B;Uu)&__ri5DxNZ0tv*xU##y(7Y z^}iGN08N^+mQEt{rd`@!79LGb@b>RfSZ4 z^51M8Z|}8dWEPN|)|6e~?;wq+pLe}vMA<(8O~JHiEs~7pJAFur1D2+=J+Gnnmphjq z3>OhUmNXfWH)2J*#>KX>!edGe3aE2A0jjCi^h-rM`+q0={jrp$#-rJ+1vJ9baQ@?> zwBO=`?m9cF(~oU-3g@ItMwJBAP!$joB?jrIKZYtY%Krn%z=~`O;%C!jhXgoOS3FFw z++XaRKuKZ%bwhyoydQS=PVmIrN7X%dn>%_Pv)o|?79rr^9N&Vf+Ac78=!!n%>HqF= z=LLZ3v-wdk`jS6^LE9)Gvl9(;rI|l*{}>sy5=(+6A+kVH0M1c>xpYY>v}6t&<0*Wl z>`?&7B&8QBHzm|CcY83c-=ZWe)`fy<*j-h6#R%$?Ioh=5Q z5*S~^u#9-(b21i~&`tU})5e-hw=?7h(O9Z)WjxLFxmm$BzOKV|SZrg0T@AWQg_c<^ ziBJ440hB{CtqdPO?YmMQ*+#>-Pj$D4kJ^&eMJ@IA zpUY5ROK|pgS|g=m?0uFXE%u8{yTj@cZD7IU+p*&BI|`Ml0os{T+aIMmmXn~8Zx=in1mPCTYtz2` zV-MHM;mgg~DB7B&)7SheW3>lIz62IMG|%T7ZyhNU<&(YJqKZnST5p0^w9s2`my!hUBJ zjakWhPT%^U-oNnTDI9L}@!xgtY6ymOpcXnQYI;_*cq$ZHmoym(+s=C3Xz}CZdomq{ z0LaZn)yd-F*azL8Ke>6C?{X=2Co%t=JsC0Eb!j z<`!6|P1Kr_4=gC%{UZWSn<7jeiIw;y2x_KOCL#SYwo2Qz4)G9q{r$VE@I*69_1dWw zgueT-epxA_=Pp>Sr4b!}csj+O2+yxOt$m{(GcL?PP)oA=P9>2BDLN@yy(UgR zqDyKKbRSlY(pP*=M!sV=x~@DZ3FIXkDl6Zb7aa!r$>L?%Tx!}|8@6C3K&>v>Vc4>& zdECOXUnNU_(f4{$HO;lN`k0dm!!{$+vT-$X#Eh-H!r0VCV+y1;&Za!G09R%}%*I## z=rbwH;mp-m2J&5%2r~IQuwX%7wS&y86tp4EHFW;d{_yG4-LPAomS@PR^A++`&xbcb z&YE8XNW@A0%`?+lt&TYMCQ@L#w9p(nMO#eGKEI)igI1lS_0RRA$9G`_j9_3`F800j z!5UHnI^fxQst2+zhYr&hw5Jtgz$g`XjQ?vKC?fwwP%9?&HCk>WVXy1T(R{2IxXRs? z>$T9_)0SAi2qRN)h#~FAAkunIJn?KAh_UVqe9o>=Ec{v<;JmO4cY)^>MQP;2%DOrLNJq6y*hcj=LqjbN(YF(Lf zcm0?@#)68jYq`RZYb7H@F_072wZ2|Gwfn<9+c|}{3sZXbt+U-DY|Spz)pAJ~tER|x z(%%w!nLTU2Sj*>6{TmrKIURaV3I* zp`z(=%=>}&N$}G&#$C-c>CmCyaB#$Y}1ES&9$p87qaIF8w|xlbHa!?HuH2% zuKPTi5W*Nz(VI)%6I0eJ+`=U9W#03ePUw`ElM#E|=!f;8XIgd%gHieJ+QNny`%X{F zbQ$@!rC&_s6=_i^JYT})I8zw)H*#B#e;@<)>t+W(O4hiAw>K3~hMkh>LJDF?oQelv z6nZ*31NQ^%jPz^)^1EB!X2Z13)ScoaAEe~aghee9=r&0qQBS9ZWz%TJ?yC7A43Lc5 zuwMIxr;~J5_?`Xq{*1dZoA!1fLEzZWssGDS^4$scCYNN65~YHCk=5e(C!F|9jjSD+ zdfDqAIheV8U{Lu>vAv*v;U-3+(r0$q2q^17j`Jrd6yFN(t-7aN7}O#NruOeevDhi`JwpTa@+5*pk?qUlh- zaWw3`p?;vOg0`FLq2v7emH`T!%Yk=2ggE#?lUNJ1e3Bw*$s0iI9hN~}nW7juTx5k{Fo?{11na39tT=v6 z0_M0ra5mq75t@ZLt4|E~LS`NUYKhtM6Yqi^Kut>%@Kv=Y3fx(tFb{FEnbMwm+jgVv zBv}ku?wO8+pYdvdv0X{(MZ)fMcuaI67PMddX1x?y0AZg|w9Bw)QomTP3aETd!?#ue zxka)15_3#i4Gkc&Yt9!T6W)>9_-^cz=CQlCGg_@I6cNPEgNuc{i{96Xi+Iv#mAlsE zRr6d!Uw#QdJV9cd4of$5GpC4v!lFypnd`j?hG&)L)xYPA$GxpdJ@`_s`X+1S6LH!G zi~GtVd(6i{Nkq=f(Ry^(8@uV3UpWpc%1xX`XfY%OdLhbjYq#_i}G5f!Wr^Pi6_=3DJ$F;!iOr4b-5|89jk9ys|2r~_GT147k>Zo`@Z*i&D^?;)x83*J!zr@ zm}oH9R;`+F{7*oRa3TcLfe1XLyzO(18~ah(@2LOdxtfTptR3f|u*LFCNor2kk`Gr` z^}BwRet3dIgViRNAb>ZmAFwv?z{-A#BkP*seP^&+^Mx%cYJ`bpQ!bO(lm!d%8f&*t zG&LC-1Bx|ZqSo|!GZLW&*s$S{!X=DYgH>Xau$ol2B_^ZV*i8DK#Ui1Y3Fze11=mLq z^*J^LH?}MZ){}63J<}KqTiiEGm9XxP+W8gtj2NUHtuuG@Ms)Ipu-)txzRs`KI>wXe zuT+r8b*q81Rj;bIB&{Obtz3p^uaDrO3ClSQln<`_|@FMRPJ)8O?OBdQXpz$wq5 zRfvUrVDCpTx-ag2<^*;@r!-k{gq&blx>L#mG68hEDG!@K_p9@QzRV;ju-v+u zObjmpbzz&0TR~v_iQwOD$cs#;PJM;N>kSNI$X=nrhOK$VCN0lzQ=#)BH&Ztq4+)l7*K zfQSHp6d<`cooGaD6$u7?cAaJP$YVE+KeZxD>*6Oc+0kY)`VcwwX`phqxOV+voo+y- z2K*bTHD68bXj4cC_RWQ^1tLQ+(I$kE z2^1HG=0{PZFjy#ShWqy%n=#S$DPJ$(EB$5@QhkhnxmGM#Mj6!)B;0pIRQX>nT!h=dCp7Vi4q}1q zvinH7$V7y#bq@(WD;X2;vVb-W7Z5;`52lqz`n2|j_DV3zamQH$VtaS+FrB? z=jlAom;x*f;sat%i)%%%N6(hdwb(}q{zk50K5m1m5GA!cRxA++BxA`R` zH&ai0>dST0bv}Dvl5E@xdt7usKMdo&2Ol-5V#nDE0My|>8u%H%D}F9y=ntjKd>MD) z>-t7GQw+?%($Dl7!!6FwEFGsSog}>W>!1LK=Ju{$X|(S8AI>%1UbWqJjX1vOJonD` z_)C%#p>VSoYeq`3?DBqxveGh;CFM^?*{P8M!_UEvr$kf9bKz4>6S?-u*n5OPDXcab z8u`M(j3os$3YECqX{E!9+SS-I06!QI#-iJX1Sd{u(NZ*x6oSoe7chG_?o z^!#1kjACsMG&j<+rCM#frsSdH{kxQLkQsqsl2Z!gnpQP{#uCaV0PgfmcS$uH zD~rdg5lU@zg_J9#NmzNQL4+lT$T`siPuDw@aK0MX#|9+#k2nn3eNo{^(M?j*>(1wG zWv5IYSjqHz^oM2{D~rc*$)E)?G7*t~a~;$R7?K4mdfQ2VMy5|IY+nzizf~UHv{W-~ z`+48;Ji>ieRF3O zu|;($h6CQN1<_?|OQ~&v0&hI}*Towk3zR=V=YQuF%mokZj{H6OQ)-ej0o)@w z0fwWs6i3LL%w~E|2SU5F{)z)1Uc2Wc<;WQYR!;j_dTD>6AE>j#_#x{*ha?HHk-BJ+ zt$^8q_OPpFqG|_1<#Ire%y!L`;F=%)*D_P1S z|C{?O%4SP_5+%QMHwyVrjmn(Zw7y3*pS=d+Z12@b;kMZv`^r`zSZy7-Vz2YfEP5bo zfHBZFqk@4(%;3yMH_~otb6AXAnzWi9i^NQV`(O?p4%*1q&lRk}@)HY1plX8V3A30f z7jA#gy317!$=)-o=n~2Ec^E+IV_cLgGVq8T=?2FQ=cFqs2 za}DFxo9EoibC+DS%w>U!fqjO04x=c9M$Nn!*X5>| zS&S?IhX%o6dWzgj;N((0P3+@PgAxo`c#TQ(C!;x^5)Mvn&vvaaOH z<6t|;Ox;(W0HBkKdj4!&e?j~>&<~2f*=kqKFP1MX+OkT{W90twz{^zk9eaS5y@4~R z8}cZidXwM~IV@hOGHSTwGVqJ{Gu~yMOMfctOm!C1QF)#p#UeZKpwTdO#R_mGMvzJ` zBrHi~pS}eQApK?MAZKX9LHUO~nMb=DCw%1YiYDS|j_uk7vJ_Z@ z4h%N=y}T^t*hrHjJrbv;cD59b&E*0}SaGG%U)X5Qs^#VI`9Pxn(X3uPNDJ+8rBSfzL%!l*XzcuK#YM+-V&~u9qNWFY} zCfmHa!c32fge1@@U)-(O8@Cgh`i^!fX(4d?Q}wnro_<_=P~%-JuXMR{_kusQlNjI! z41}zwIdh*>J|>%ieR;{V68=_mYx$5#(QTZweDLZ*(m$|8x)n5loij`YSfMd!#89fA z!@-y}?entGM=C8Vtzj=p4gD&hk7Vc%Z_v+>pJ?meaA;(rePTgGyms4jTB5Wq8E^qG z#Wa9bMP)*qSphy~c3K;2#Qpu*z1x!^9>cm@uL|sQ=GQ(M$jWcBbc<9nQy&x|WIb=o z3iESieF?qW{MlGtn0~@DH_AgavLC*Dg~m^(|A%FjrIAn1${jIC9qh*m-|V=5z%=l? zC%v1|KTiV=dj&SGx5X&G9vF1LPQ2@_wz(pi>IR1WT`FgfraG#VHuf%Mw_Ddijo@39 z0ZU1NtS>NNKg|aIqq-n;$nn%WG{kX}qWLCZX|x&Wjfi1sqH$agM6ZZTj>6(R7<%e$ z)`cGafj0w`<2ay;B)X=qwc{FKij$s+7EJ#hSc)9T*At0V=iAZHoEkiJ@jrQqTI9?e&|%dpbvU4Xs-01kV8NDQm9a5o5atoXoX^xRl;Cl##m?X;-Nt3^xSn4@Y}C>M+W}G*FPs6VU?$8fEN8bv>;4*H(W?(-FEkyZskb)CFgs$DVXXBh(giTQ2Aox+d*)fDV z-W84(fJS7@kYqe}?v%OZN>_P6gH+?2=2o;2*&T{gedgOC3oh{cnZB_JXTP9;Ns zK1DyvTX~w`q>V>~C)UWBJo51$ku&0`V@2@Nsm9Tep`Vmp=ji3FR~MfDp8fXCnfwEl z|IvhD-&diI)%;1sBI}=P-yJoqc+yaJn#K?AIZYlj_kAnFtKK{rp0)Amj(@KC#Z0_E z?O#^MbVi&%o^1qcASh5)ai;EvI0kzg_(R8RykZVFS(TC&gKzZr-Piq)>^on1{Lb%v z$;4po+b&I4JN?nD#fga!T$(}~4%qipv(q)dke(5){&{<>y<(Y7Ft=i!dQ$#jmMrL* zdDOyg{i~f+z=nlltfuXxw{4!ZPx`kG)*>_ zN~V$* zvf>eaCM*kcE7F#-!dZ>piPZ-C5@go*$#7(9(r~$bT`9)SKxLcugiEPNGWfCY_B7Ob z6E=UDeqaB$6cdR3-%Ylq>L~FnY-QYF7Fxk(_sl1K?|o<+cfm-nS!eBv%XuBNi(jH| z3y$YV{&>9h8-0gkttoecm!s3q$2rnCNbp~mg%bskN3noZq=tLke=6uCnjPYl{ z?dpPZIzQ)v$4pA@Z1E$(nPd2-R@MP)b9-rlKy~Twu1O-DvS`@~B^{JQ6*KQci;3JH z2FLdCgc!!}`ap8Jm}Oo5t}kfufk*CIXU8zJVWb^ZUVS<-%1H2xU3-4ZbU86pHBE3U zsyT5qN91vgRou6s-~A}O?eJpow)BkbeZK?&twbqjWxW?PM!!qSx{FaCxv|AVgy$ib ztpW_2mKasgvzy;(A~;Lv%%LVZ#m>6&zNG(dr8&JOAM9qJ1j~QEc$_+)1}C1rOA?4N z{e+{O_B?$CA{aXMX6T45J@g02Kyz3ZH*FO zLT2Y1X>wUs!I!bfp^O@Z=um+V+)jFmp#z*yV>)&ymZ#u%{@>k0W>~$Z?BH44sv^my zs9jqOc3}w_z6tPbjqc5cmNVc;#`H4}UB>YFX^U>YnR-z&HZo z#VxBJZn84j=FUx@DKAEDB=pA=>jt4A74ZsF_TNjs7*h756M5K#_IaA=#IA`1UYnif z_Zhq@vc0;1b0|nu@HXMbx$jlHR(J)+i{PJfxsI= zCt}dG-d}p3iFCKG+4}qy?sn@OCv>*pTQ^s zegA&{sF!oHoxG z`~UmY^#t|IqiCA_9aR$qbH<4kva(@xeLfNltj|{mm--99zhM7|n$peh_jvw7zW%xz zv$+?AqGZ3?Z$%Ta&W0@v^?lYlG+qK71#wrbn;(RnP|nSO%h;wsV4{wlkgY%{l=pyP z#D6D48ij}Kz>ve}{(#bpuCIhGLaL5fS}Js>BM!_*6ob0N?13TVKn`W9ZrrBgq6Jb z>RHpvgcv|98}p3fZH%ZA%Bay*=B*ckk#asy1cI6pKxY0_G+*k|1zbEz`PK~NIgE3- zoy9zth26mRFahY&ofI*w88r8*FHy0c7a@56deS49@!QY(J@avab3ugX=11o^oU+ed z`r}h%Y&C3G(cNn$go%TE^!i&I8~~cz`jVoC0!w6TM_>IX!=)1)U~Ak|-xQiVU8s~m z1Ryn$j*& zKhJ~q3t#uL{KB|lMD8Q$ur|BgK97j#n7DuO&|03dMv47%jspFh;aoLh(w=r@-TAG3 z&$121W0ARR7>;yzWp9@Yp`XBOqVQ^EeE63qyP~U^7VdS8Le{z|I@pyS<~o)cA?(I@ zQ^_3au<$4TZ2!4Vz3~IbMt!!(U?6SHdI%8r-R!KF9rLE1HIor+k=XBfjQS=B);C}uYQ{1aKq{C zPI?8DQAV}mNyGmJ$~8rZ42Ybejl4ygr@h&S_MpeEzrgx=xWYAC>->|N*P~^XxrMea zt1OfC;}CHFj8g{L12x2)L6ZFrLGll6FEmh!L2_=>xtlzhTf0P&TFL}vbg-_a z7~yG4gKmx*+W0Ip=@NE1LtN0P$%wOxv~$~=3TD=!G0?E#YO(x#FT}Ezho!eX`?yn3 zf_Fj|{MXLju7`=?l~teLl=u?FPGMGJP5tHxef~4qU;mF-a``aLYLWC1bs%F;{v~gi zV?A)S${I=Gk-i_>+i4=}pS>;W-w3fIMKh=|p~P+a{L@98*v~PXxiYdDm^ntH z)O;{7Z8aR*9kl?IHES6Je&mLPLDI{n0w;KlB5t4xO;IfAkn02j?1TC^-5^yLOS=-H zT|I}k*!OFC7l$rORMAp|kQn92?#=Hz!^k^MlKs0D+rDxZ)a=6Y zK99a1UGBMxCAUs>gt>lLS-a z{sn~rYjB(k?m_|4j581=qfrnoK`R^RK6*r>LdV9=!osrS+0lssUf)9j{zwov{Maj) zaN>esu}3Dq0C^{CVm+3hF74r%=e)nSv%Q|lU;kl&4$-&*Fjo&ej8a38Q1wmSs+QMB zIIeB)d`A6Gi`^=^*zo`H@u2|kxM#%PaxyR79tNLOouVH{2oaLR5$Uagqbamsc72g0 z3CTtVC+hpx-9sh^kE)lHY}781wkSjTmJJO$&31d#-HDc|QD5!d z;cED_!(k-&8GJ6o-pFLCZ~NZXG^uq2PwpM)M?o~)6Pueqgdpl#=igF~e=j5l)WyPv zigy<`R^#IxpB?KJUl5j5n7<)XwbpO}?61^q!TiyfL;@~~wuhe)<;I2as5;x7i$5fS zI-b|}1qxqL)%;-fbm=U+b`N5!&I@w>+JvBEDA{*{Yo*V(vR`h`2loa#W6s}%Hv(&= z(Jn8XdVUqT@w$o@%BSfaP#`#_+~4ZNdu+|rUSk1^Bf}|F{dkGm9(s^IA`$w6Y*$Y( zAA#q0fBE~pJ1-|3-;b+|>iLr#WxNz}e|{{&#)x<`-wnK9fAR72cbhrK?-X7k|MZuf z+fhH%&{H1HM3c00$S!`iF-}2>PNM1RcbmV@7l8n@E^FSFt!is4wMo7=Enxg)NSdkQ zc7!TS{OQ;ZDu!>;f-i>2i?~n;8i|TssZiLO^(HFsO~lcA4`Owwp8)~8H`?!0iMd>!RiWv8t}7pZOB% zN&ncq6cE#S)O7tX94S;Cc4ozHEm|Je1?jaJ>oCQ%(@GJM6Y^lYVNNScBxj)KV_&{8ewcgki>UZLfB+uq7uJjW49qU9fE# zDg=bO=I3$Ur^2nr@pISl8k}`C?ygW)#9Q^`(tu_P^!)KNjKj@_C@4-jf?&`eQrjo* z!hpbGW*gomKKxjltU@+42@8Xs>-cYN%Bci`>w&7iHmCn8x%eZ6Dji}c#oStp;sadD zTl@OYabI=Lvm*gQ7#Kp)VQBQ&-EMNuLK!>jEb-n%Jr`_ywfsLI`Puj)THD_)`c6^_ zE$`MI$1C7hZppS;rW{?;2vJt@b3TrST6}*es(suGfvEEQGm7hKXq_pLz#7Mrm*&M=L$HoL0!OM0Li}L-1`{~kUEjva-YyPnyv>( z152e@f-uu;ti_BWA1%?^`CW6#29piL5>ynD?{JM{wFqDPtG8lydwSxYmQE;G54z7i z+rjHuN~q&q;B9E*CC2f}{&nS{!QLNsKPG#d{nT;ar3uPJ*P;^$H5|U6Ebp28czAKW zuiTteethI-P`!3q{ZWxftes(w#Jfu->0~KUMif0k4fxqp#Ej42K^(BY}ckT;n|z!u@O?PVL9)tR+Mj&ZugL8b>pIj2O%q^ z$8nB3YxRXJ{L}+X*3M*8<+J=lDca%`hP*GF+shQzwUt26HLV2lr}5ID0|b~AW=;Y~ z#Si`O!%QsamhpJa^J?*w=AWgM`Y&x=IDf6&2acOyzx{FZ^VG zU-T#7YpbJg75wBy1;*mrhT$0tT#0DUTS46JtXPw}Oz0fL552eE*laU2x2K~2smII< z|I=45C@p+5&Zd#hGS4JMG)e=rc3uO{MSYm{ZO9{!an3e6`-d#rSgbSq|6f&`!kFhE_{K5OinrmcWdfri|76tO2f@qZ;;tHSj-p^?w`A1 zMO`Rt)>kC`VzUyu^Ve902F9Hn5js3yhvI1_+Jr{0kDh0{^Q6H~2f28(BXc?%|tlA*=z zgsTg$0NOKzuY&|-I@g$N|A)BH>c}s(tejTkP8%EJJ;djxh0@=pYa@Ho-Jinb`u)wnZ3`A?oP=v;PGbYQW;w$&!b!}(#@ky( zOanmaKc<*smA@mpuMZyzj9dnRXws~iM z{=BHzWoJ;mj&7H+-o*z%%hJ@X@pKt?UFRsj*y)Dzc>b0B`(P?dbpWx?&z&!-1vN78 zhYYcPRKvT~*>Zm9 zF%IB_Lx3n8cWcXLOf|0g6pn-V1A$u?Mo z=dE2MAJ*qK*`4((q$GJf=%zZB^i!H5I{Z=j+K2y~;r|;Es3$mOgfX?_Ij@#sy3p-} zJ^6G57jtp<8hV7H{*g{Bqu{*%LgDNO5b>3e41%H#?HM!p@cTFYOCmiHtTwyAO}@n(o3{`P&k`ec z4PwN~Tg8amX#eLI&|WW@SZ@^-K(aC40t;06OW`d6%LYIV9{Sm*-T+w^i2oj4j8Wc| zn}p|M?-jejVhOHdXklkobt9Dw*>}y12p0VpB^1HV3?vQu{rPAqCxS9=W&=EANPd+g zI=%r4XQ*!W7{YkP@0=ihNw(W`m zE6-5hfA`ACWYkX@JqxfTr>XVDvupGweO+vdmcQF^*^_>fVQzz52l|lETiq;WW}CF- zOZO=9x^A|Iga%FKhCrR>{AugOI(`b+(UZM^T+JvAjx?Z@Uf~xw?wYkT_{{+h+rtPw z3AafEka5YS0}qiIQlfvxpMCoV62=ud$ZUdgiAK~OWDjM&K@kA&hViA$G&y=OI(x(~k(8?qpbH&d+bFoY=>IGKbHrRmGg(YR1(Yq|PuRa^ z!ox0}uvW;r)~8+~N#b~S5+nHquRlvqdpmkVwI#MnWEJwaQbTIt@MKoGWqf&#LICk! zx>FP#-?BTWZ5G^t&fQ1a&VH(?UXm!$kXG9QbYR0-18JjCyyT%oGjn~px$kk8{5@vg zKUPM#dU+MC&LmUoU}iep$r4yuAjEvee6hk7h~4W(i=9KyZB-a}wF*#pMkEA%NF<;{ z9$u6oMSd3=FB5NLqQBBVSZl(aT{1yL=@f^b^w3)-C_)v` zjG#4a_2---RplYc^5Zt6+ZE6g=lt?0p8O04=Sj~5zx?&FYKS;M7{_DpmueBMYlKW%#WDx7~wfp># zvfHphbDYkbm^YyQ^Wi(%{0%;@fd@|d9O3aCBE%|aZP0W|Db(e#hN#r)b1>b9&p-D2 z&;>pLEiH))2V_PFq}JN&%y7FzDaLstW2c6KLhZ~Z767Gb&(vDZ%u6$i5Br;0Th391 zifn6BsqfgV48PkdM;_;>#M~}5688p~h{UWpB{zwgKpQE_G!KO^T&Mm9z@3m+*pdNs z*v5g;o>kHU&3f2HyF8@e!_RudsOXkiJLgl zx;7qo_`q&onbIQ2SoA>#iEq+~O5Wu%QmfJfQBNXpdMwLR74ccES+pYyyU~ae`kRm@ zL1v&mij8vq_~0sZM-hF}YCCgj4~qkF@nM`Gf}pOdjji|nI(yx;;!s%lQSIHGLXwkL za6Y51BIV$aFBWIvp=uvZT{sf2J*)jZ&<1CUx3PX=Q+~3^@^wru0By(~hfExsfFG(g z^3evT?9u8HsI2Kotq!rWetQa`^x3x0MVe2I-b%%i?c|ue=&Ew_NqcxYL5*zr4rh&j znESv~I^N6<(N%&pW6qw+XN2|7;-{!;NKG^A8fliNMbIvaQT1cIBu)Ptw&o7TD$!uK)nS z^H|}REQ0qGA&Cp@098d}hw5Ij0={OpO2^}VyvsS|S9m|K`kw5kjkj;*%3$f_WO68_ zg}}fBF)h}o{f%K4smu!cJ89wl*l9oV%{)|({cakO%V`EBP3VS|PwQR^hJ>3d0;M zAH7%!uo1Bm6#ARlz#!B+rM7FxOOA3a=_7 zW&22$khR$LQla#{@E4s3AU`_K=;j>5ZwD8yauqh`m1D7TOstBk^6cX9se7rStM23L z79J6|TJXI67bSZ5{Scmwbf$hL@N(R>wnJNh#E{{WFt71mCY-s)^(&m=Z$r8=$G#<+ zi>2%*hPFFSe;lTc7$W!oI_{6~4mH;P?EoCzuH~~TZPAgWqU_Nb=uO&(FT~#P6gHiY zSp{-x&@-d>69d!&6la@=z{>WzwDv|OZ^;0P=s4tFI1QfA_*t-TjfVBOd@~Kw)e15V zpP}hC0XZC5zcbVQ($yc1+(G1%Mi)!JBb%=sU>-MQ{z!J-JfLukLA@4HI25L@@jzZ{-IezO!mUcm64jt1)x@|V=Xd}83n zv7>{V{cs6lv8Dd+ldfHn;c}3h;#mMZs-dNQXBnM&VW*-8;f@s)^utRf=vPWPsjWhg zs`!pVOy3ZyQqH4rbi>oWOCufAYw1r9p`k?tF+room7{YtG;7f@&c^v8i0LMGiV7(6 zIyQ<@@JR39SqU*FJOSx%KZ9LzeX>7z4aqP+_S~r-lvZ=$Q!vnq0;XmjrUQgc(AAzB z0ZRI?>S@wcaRf0nDGBS)Coi&Fz>S{@r@Gu!O$6zLhP45EniGDV_dK3|H0o8K6#@4? zreM%(*@BG+m;{b0Df+N-_{IOTF<#m;hGVROa7`E-;p_9DT{lY+)2W0G+Ej$t{dfly z@t7^*Myd z3#>v73vRq1(!d;u*M6<*SoFT};=0O*=&kR4+dt4KU{0(tr2|as#qZ~p=eY?(|bb=3Y`)2I#Yrpq(|N>P&yP|IHmH>H}`I3elSvVNUPL5 z@$4G%>Utf)Fc1~(ANr?V#p~pY>CBmRO_2|qSIEsU#XDc_K~a61k)1`w{Y+T$uW(J? zrY5mQWEC6p_`Ge?BW}`}h`Z)fMc&(j5?m0mll<2I^x0JZNyb{-7@yZTuVd-E{7rcy z{VTBr*IlD_znQYAcDJHUTs{fjs}x1#q7Tf4U4Obb%zm=;c_VuRSlsj2bvz(^!~k6C z5)U^08ckwHBu8Ch8hIVAYcHg4s@1c;fco3|)gqS)CW5L#r9C@gS{mD(%L(LFzA}_Q z-jO^{#Vmd43W+CI&5KJUuK1-P$+0=pZddniBwnPCt!f49gGgQ<-eZ$PGR>0B#fFWm z(QvX(%j#daXwt8}jJ-~FCLMmkl0+qQHG9^42@Gm(^wfrxjwC2FLx;;0%ByA|Hd#dn zR5L|uR-MV8Y@y#&>8_>V32~Fm$hVnMkYfn^VG>eOh*}x(v_#o=7(dh%uaJg8pvYK;1Eh(S>E&U4Ac}c6oL^iXYVTE3s@{ zWBKw2NF{2Q?+H)eP0ji<4sVQ}U@763MiN%Kn*4SNUfzg0vUxY6+SEq$+WVPMoUKph zriwGvOsb~*+ZABbF^q1yfj+FeXN2;5jbU#UG`Z##Ohmi0G7k&QTbBe&iuGS^v#U=w z^EiU`{i@#6!J|Cn+XuqG=wNe5!#*_RUnlVd@WbR2qgMqMj016Ez`=dIg}9rSBxVf+8 zLM+C(q$&gsaPqC3hE@>j`)@UkYk?XCrh@}~BSJd&C#iw)j1&C_zs|RO5#YF=-z&&I zlH^Qk@1jskF+BX81PQv+?*0nc@9&89V>TsE#}B3kCOt8m0MuTmqP5e@D^4$M6UHpT zMoweTQhzpa$ld$C@Xu%D)r2DCAi^mrm|?4z^YA(h<8(f`zhMrHF}yuwKQ5?FkZx@~ zlCow+vyBQzwBQuH3GaY zR~((pjR~dOiXj~3N|$F<{vfoCk3oA>#dEOb43y2CPFg_z>-Nt#gPNVK*IhuBc_MDG>`3|kUVt5_3yZ%^Zf4;duhB59LNJNA{-bcL9 z&m3tOnT7A_6#@Akc%Be$;Mv5Y)TWGmm^xfxV5ItKVoQT=o> zNF-Un5r5r0Bv^mh#BgiP4E)t<*|qO?XMXwUf0N91ve6qQNY-oS{PVU6(;hosCe%$C z0l*6&lGT;^MUKs;d=*GwJnB?ZQ%B~=lQw(QknIG#QFSqv=#k>peN;BYuK9!MJu7Ieb0m}2JxXWlV%z?%z>46>TPjw?7sgD6}4MIl^ zN;1&U7(4lM1Jo-pX=9eX-v9-g)C)~OCBTBK#1U?b>TO5G1*DwpH}%N0=-={8j(pd; zk9#mJ;0{Q@qbhTVjTTb{P;Gi5N8q%+dypaRv;BqgLP>mLp66`Gj*;vfb1g|8%T>Jr zv&~VbJ#20mP-l6WS-@J}sfVk0V#x_OnU7&?#wwmS2r{5GXfPa)0l>yogL%e6+ zGd20&?Y$as937`Aa?o|eXUL_po|8<3hwyy-ag$z>a|=cKK3>W$)j z7f1MIp4#^~{yhv4WxTof61G+(@6s-@izD{$nGQgb-OYQwS88k$1)a%%^UVviV&n|>zV(;5jDny*i8p-vC*xgY;eap$E^;1B$<{~<1( zJjBC`Jzlu6!a(HLImW4 zmv7#{YUqzsDnFKj{RF)I+OK1}e1O%R7n}LaI%Xm>ZQ~~E3?^?w$8&Mni#BR%Pd_aD zXp0`2#-%P1^I z(xp6^M}-QuyIqvkx7$g;{?ImoS(F;sW{zLM+YGw=K9Ovyt!a;c@#JOPf4su&8w1L4 zg45F*n09;YcDqghq%qA%-E8c;yiLzDT__Xez)&vCkp7XqYR?z4TfW&6spGuRfi}5L zfEZuznlDrU!ltqc+U91u#4q7x$^dZjjD4eHI;LYPXEdtgqtU$06hlixzQqGU^h*8a(;}>&6OaUMV)t5z#zAYbzsIg)qqbT+`+Nf>xA2+tFORgVf459nt6w z2N#_a$oj#~6J|(&NS%pdt_dhCZ89E~;xj-Jy?_}jZrtbj725UOh$nywGGqym-kq5} zLN(bPs|UeL8zFZ7&VWwPk{qyWTa(tK6t%epEds=8lxl`Xylw;C)GC0Yc}dFWy&eOf z?Bd4r%Gzq}GI=pg6Q~x{=@M~_n$+XeSdAk%7G#5CP!BvP zP-$!9s6lfG5)8ucsw_hjU`Ot_9Gk#9IXF)a%wv4hMyvMA#C%<~^(1&w`N4on&Y-nE zS6a&PYrukvIR<6Gr;n*c=Om0{fMquK zn?uF(6G6Q|ZS9pdnCB}w=-A#(8A0U8Jz)Tmo91y(qM*dgHF>3FX3x=B`&t^cXBLw}IGq&f3RKlC%A!-M23%~TtgL+>7({$2AT4|VO= z@094`d1$dX*9nbV%|=aY^@mw2j_H_wJEtSScue1v#31ZZKL7Hj{>fLy{rA7|X!^77 zJs4>`ImKo(qKri^>t~Q2rz+Egn`HnKVWJh@f9D=P`;UJNzwy(51Lg893FxxkU|fw@ zjRUAaj4cqv$s?41hA8$!F~gDkqGe0&B?R-03+Wc}D}ijJo`?E|8Bb;;IDiQ)#&_64 zB@&P>f+o!5mPQ!O#ziPb0UWfThZ+r%!HoicN83A->L!F;bJJS&YYsRgKX>IN8XErP zs%J4^F4tic4Zt-tE~s(NNnd6_g9h|~2@&F6Nv)5xspb)u0bu{0%5jp173)BTDE4Z& zW=+X@zM!dF51ldv8eudmWvZN(WH6E`sWv2`n9J2?)Y6uyb5u=jQo0yzb6>@d(K;&} zFfAzXqvXkuwDy%mce5;s0ItFC9zD4M=ak>AT8epPc|6Lsx0U>kNHGrJN<5K`i}s21 zj<8bnB6ij}PHr?H(bA6Fi-BEb&Cu3Z;2276bORj@*D8%<{-TiIpJlw0JvD`9dfdj$ zDeJG2a_$W*Odz0IGUPgbYvzN_nE-ZpG4C)8hyhN=*%2V7fuyb1*}ObU1dYO-K+LLl zw+R>}!AS)8jJqc%50sPcv8;B7r2(E21$>(J3g%S@_v&PKSE@&6sRB>}8jYOYFp~8k z8DCC<$&G7oJRt5W|&88@DQA)`7>CKYTKqlo?E>fYj`(Jr3jW}zsY#odvc5) zO&ggR)86Ht9NF6x_G|GlL6(s>*!$QWT$k-VC7qq-%4LzJqac>qR`d_f`DtfA#&i z{nGypzw?vdf%B)2FkBLDZ-$7!;pr-)z0+@+1&|l=^yOal`&I8;Gcg)xzG)wz>#Ss@ zT^Uz+?`vPhllQ-jVYP{Bo6S6v2f>?du{OU#{vT?4=IgANd?aac=$6N`uWl_jYsKA{U%_g9g16rI5~lqGSg^23Hq**r!LYHp#05dHIOu z&M_U+Zq|ci*W0XWakt*^mC0Klp!r``!cGx^o*hZ@+-ejoaAV zd>N;=U&86_7jb&$4$3&->7yrj>kFU8>!1E9Jp9_{aJmL=yzna4>ovyJh+!Nw(y9j8 z7zlPzKCu9Og##231w#xm*8;QAk2vxvKQV}ldqPs9IR?NN3L%md&ce+8n3PoSJ~K`& zH`%e%5Re&!qh9#4s!pc#n@*FwATto@AQJ(E@a}Z=ONDOsTrt|2z!d`}jGYWJ!f5B< zrd1c3LeA@vOgI^(<{_B6T3iW4I)TF4Z=<)qRJlF9LuigU=5jN58#}@j2C+vdl4tFB zQP8f@Tg+Qdt77r!2^zyefS|pVr=P67rhrO8jS^`_s{p?gJH#O^60^_9@a2=MST zgop;N^FV#Vq7NjrwEzfGt%2(X>bk#Y^fSUJ2H4*72@pVlD%|;=QUjIkB|pZ@P8umS z9lwP~8JBhx6mZc#DW5f{tb>a-#)-=6u0w9%*BAp5Bi!5J2197Xq4OGO39mrWM?C5MNI)RQdR%IB}W0>VW zTwj|)na|#7fC1UzxspK~83Oipnm42Xa^XSe(ZAJ`(xQ7?a2@xatQFIK7r-Vn>ZC`( zq2*OLs9E=NZz0?9@j59uM1UTxX5I&g3B9|C2H4db1|n4joNaS!Q~(<_?!F`lSY~(L z0lM}X4H(Wl64)r+6Q;l|gVY06fVrwizZrY*=0In3Qvh`#f#sDPs z2)Kb=!#H9{N5d@;tq1?BNOEY%>72;uU59N~s~-l&iuZE$&K`~vi#Wy>2b&n)N- z>?k;#*P{%bfh2Q{!6+<2q%63m5n|wE(v>+qQ6+GCQP*Fy?>Y}h7XXgs4 zz^xZw!IKZZfS>%U{{jBgzxC(vZQuSeJbC;Or2seA02u>0GXREmajo=(D!X1k?LmI3``hE)1|!4)WaeaX6nh`S?LHc z9@Dkc`trPm+&qFr#Eh)jBC)a29*_P zTw}F4mCKYb&vE(W9>%i8tFOF>aeb;D6$4f)ixwS`CxGKZF4%Kd5>|kstCHp+J$@@rF@~@so}>Ta@NT zu`mxg>ifwmd$V^^NN`ugTvn6UqnZ(b01Ptd0Wu>MUY3(AEE(ia4peIS98F0|JSVzo z{i>Z9h-g5d3^}U;DM|rbKM1MM@biU5iUo+H@;cWI(A3=wArB|suErM~9YCP$O+V)Ih|YP@2_=OO$X+W-!~hF-Meen}>GyvaoIhaEW8x5#4(% zqj*UsZ_3gCj(X}LfJ!?GPN|$S3|Q-x3?lnU=XS#=5n)@wSUbvY??Sm?DE#tCev-*zQ2=HVeeTHG4kQIO1L5fHX+Ft?D$*+T!z3XX`ZW z0SAvmzMDQ3L4r(f<~1d);o1)a!&&9tjoUBc{_Fn?KlRuDJpRo8>EFhkn>X>~;tT^7 zoUCF)tz7}~=WlijDf(gSZLq<3+CJwfeO!%r^6)V}_{zUPp}6wF<@Bul&_w`~CG9hp z?XH*QmdL+(6FsfeFu4%V8YQhSDCT(6hC}qr^p)>fS784Re@=+fy+m55!HbMK@`FUKPJq8bJ+`4u9&fS;44KIG|+kpz4+&IOk0a~hipFBdT z1?v^z)~hdJ7}p>okNj!I1EIJP6OkrWNl*p8P|-jt5W`#`0bf z?;kskWk#LkDQ+)kppY9uhEQN2nc0AX3{trL&91~(JBq2YF?+?tacr$XA{B^C<)m<# z{s~jQ5T1Pu_4w3dyFj9c8jKcjLEF!Id7cLzvHlt0M&Zptg}^nyom{k)12s&t5##m? z+Gj*rnKbXP($FpuT*eOtOcBx7kI1s!+oigO9esDg>0x-bF@YOY);6*_vr>xiq9u@m zo$ztA@km4Ne48({l;*SZo83$oY%29tAF5%lJ{zA=GY+PRd9S>`CG{`$Eh(we z+~U7ky>{F9DdBk46X@Zur#4$KPjfPs0~VZ#m5_fQcQsXQfvmyLU5y zDQP=<+XE|(u?I-QRmfZ@iGIV7yc`|aU<_%>7rWPr^Vr3x**e&4sDS;RR%=gqdcpb3 zB5uk!Wlo@&7Y?G^u~_A=l6Z%$KZLR>O1soduU3fS8%jRDHizVMzK777R6DRqJO|Zt z((kK`;5+VdIZb*uAiMV^bH%iu#H(_uem5m2k4&J*k#TUMV*wN}1wlP~S;5WVQKua= zu$o58X7$h=h7mNz#*=US=-OUGRP%B}#-NtI}bPayU z8$ke2Xh7A-@^&|6Q7_Ok3~^tj1>I3E%W*Id$rKHI7~H#ZG@x@BFleA2lP$wwn~nyO zCVHl}Ik3bwzu19G=||jgYGZ1=FCM7EXVn2)q3JNh{E~IG=-rh74~&sz?J6eIvd1Ni z7a+i~(%3c>@_h9*1EgNP;)z=|@RN;4Wu66XsXm8gzSmk&Rx5nvmwy6(|F7J}pZ?$f zUvTsE1P{+ILA1hVEC+(V^eG9;Z%WEa8W1BFwI6)1@hDHfaN-3khk$W?18@K8r|{sN z*Rk51E|={(ORBqJGW(kS5w$H%59}QSqWT37h+T%H1oeFk#UM(aR}^_e(@Rf#YG!b( z{jCKGy>;`foIWV6bF*Bo))>!_nP~2R&YBHVZ2*2E+346^UVx_wR7RXXeS(X#r?@zO ziYE{5pzBZVXgRLL&KM=Yhe0~yg%R@fq&4=ujnH4&U;c&8rt{VK% z&VTts3xrQ8j{!+_%!ze!kv0dYeLwUM+Xzf$=HFeucX@K61E0}V>_B3ku-1vTZ?++3 zYhNiqDWpfF7ie-!$8<~w(-B}irfa8nzVzv9=Vbuv%?+I1enEHZM~veN%Zzl67Xg&Xu0Zv)i2N>BX8w`n z-WLUv8>P&RS_7XGc&Ow7DBZic1cGvRTpVbk<@6wF*fe>sy(4~7aE-UK%I@Ss$%2Kga=2QK*eCtg{eJm=jp$M?pcT?hKrc3?lk1g~&Z=PFsq(laI;@>8R!94p0n0 zPWuK6gcHg&5d^#?1u9wQcu}pM06(HGYgSr6Q9vaY00H`Kp0lqV4D$QlGN6{dmK+2$ zel#{TLx|%Yn>Rv#QhG;!;CECS0FDOObXujlYXVA}_9SiJy~&ejF>~~n8R_0b<4NVG zl*B7c`7W&^X7CM}2AM}vdotMSz$Faak^V-o9cgF)aqK{29RFtd&I(x77POo!D!Au2 z0MqU=ocy^TCD!{&4HT@C%@d$b>Q%|nCX++X#RUJB$3^&aWdn=Rc_PuLqZyT=$G&yV z>1bmkB*)pY2>4Dsf%OQyj5{mcbo?MPf;1X7GyAb@UoS|GxZ9nQ7BEM=C$<#H8}orMY^sVUq{_OLfO0s zhTnn<54N|YkAJ28eJKd`xoypyv2)UEJPP0rfYU=IYYn37Y zv^0`U72N$|vJfV#ZS&mLv^2+5hT7bK&nNk@-8_^x%P?TS+v5GV-b7`_(?|Dld3J`& z%S!Khj^wm^Vm`M30*X0|n1&0TVr7(DlW3SIKL0<2{ZW!Jh%L6KU;qK-UeX7;H1BskD8|dN^_N z$kIGE77^Sb_@LoYe+Q6Wt0IH&))7y%x%SkQ#hH(yE&0N12UWm+f0k=7 zBgAJrQfc%yUKRi=EAfpQ-zfB!0xa)5fAn|py`j{Eq)cbPMqko!96=*Mqb_Exm;5~f zyMo(;M1{!bFl^1xJ3*};G7T9FGxi9qc$Ab^4B#?FRp*@XmC>4g%>rl!-Xvg(tgp#f zY39DvXKR!9tETbPv8Ta!RMtUai;^sPODZ?5tPM!xWflPHnLHGT|C<^C!e7!Z15hFk zeA|AZOa2uN=x6{2v~2SRGaB_KD-^ggz@;donL+1KbdmYM=5>rCJ6!;~n^ik9PY#lg!xL9hB-Bxz_+X zb+S7ur{q~F$E2%84`=mGbl^+wu$<~1762j71HeGd#8}o}^~xl@lZ-0-9<0i8rzaSw zrD9Cpcu3=AOd9Jm`%!dbVh`A&Yi=AJ7g|-e2#kk9>Ef0gDDi zmZ7MZNXuuN>2tD6`%srfIOtK%RU1D6~-{0;N)bBU;BsuIZkfBfPeLW`M(CX zPx1I-hr6dMyHz4lkQY85N;yxbR4wMYMw!p5a-ryUNl?wvSVNx=;|dS&y@z*R`z%(Q z6VgZS5iX zvxs#Xk!=pUf@ON}ys!R*+wU=kDyLyr>xj&lm~sETw`FZr0DZMu$%cwu(V%o>lS{0U zfb4n|iaw^bgL226rrM~?T$CwiosLPK0cP|cDJYsGlTs~vl%}!FARTu z6U=9OuwJj* z4ccS+EuD@4<1t-3+5Jx+^4)#WJCj&1E-$KRS46bN!Hm@eEal6{-7^bNWg?7t2SXCx zWJeR_vk8y_P<7?TcB_0R*%WC~k0_`|Kr-6h7}Y!N93*go8pfs@R7s(Vyn1xP%1DM% z$hA;JGnm*&TaJA8e%$8;uXm;-Xg@=Vh<)+^N68f-B8q@CR*VYzUJ5%+?0tQ~!8%vE z0)WgQ5^)DUx;~{ebPx|scg|}tU@jk1iJ_2unIh3% zJ?t7>kQ7T-?~=mV0L<1`uYu%zl(A5*;@G?ci)nm&;I^qJ zGQ}7f?GrE=vmt<hsunh&D0Sz5|5`a-y)&!Z)ogtFvQwfhvn-Lk~ zwsx1MAAlUKuTgPJuoz0%I>g}xYh$c^iJKo&(mO3<+~xNGp^!WWp%+$0^|4my5%IK^ z5ofw_V!L9*&dq=Ut-hT?h>eVr`y1mg9&y@kW+^)vQvQ*EGQ_46$YL)M4DrkXh};e% z0js>7=O2F*v>?7JCJ*5N$DjW?t|bI{P_ zRr<|>d)PbUXeu2mcAM6iye4(5- zYW6-i*OG+v$)1xwPKj<7kcS9uAfjo9z0zIsPYK{lBv(EYy+^h+?4D^GXZw9rK$41j zOVWTcS`_f2U}XRx?un_oMgW-l%&wWyqv9dotgnE1w0hsbdf%hnHCg=*(pp(TXT~tT zgfc$D=YISz;?~_4@JIjTzlQD82Y7P1$L*6*=X)MSbe|8U(2ZP?d9M5)L868wkSA2e zpUbeqyI=V-9>4dxp5W1(rYk00$mbuKRP?2!X?`OWQl>nud9klqxTePTa;8t#hz6LU zj-1r}wN|uJvjrTp%wFiyp(>hoC%FgXhD5N8_&PAjAwTU|t(kcKr|9(xHm6DNIc6jJ@u3Sz?|1I$iO)^~1~P z^+L4cF`I8WLuxByHjdeLTW)j|5*vMzXBY;aIhY*Nw#x_o5_TomjMJH62REK9`mzglH{kRg{of1) zH}JW@cIE2?6vavjj$(xID(7VJ$y*V@bpf| zOoOZ}go0)xoPbc6QXXT{cz$VF8I1J1B(2Y&_OsGWUe!KjUX()Ms8}}Ql@4LN!xh>l zxQHu>H569_pv4@05701-zySEv+bYq}fvCMtO_$VaF$63x)JxM#j&U)sK`li3YjXmL#!83MDvusS$H?XeN-(1Z zQIQs#N0gWjGDp0KnH~&~2i!IzCgv`CyST*I`yiDtO;WrVU;Eq}mVBg@v=V7tPFa&* zf#ATR-sR`~2;)V7&C3h~(tGd%w1eJho5#XHT!W<*qE3O08m|NgA&o}}b{M{ak-Ukm z*=jr!-h{>@>9u#}7cR^GXP-L(~ zY%ZnoqL~|KX1pYoL_K3jBQIvRqUQ!*J@B9U6p zA4FYD9i2$k7niCDxZ?2s3h+wHK|WS0lC?knlnuESz|pfuB*v2+TXs;;rFk^7DB$CU zR=O+C04)dQIxV6-E*#%|9IegfeU^W>(v0-sE;!dp%%CMxNQ3_F-ID;%X8cV@v9==0 zbD$`B`#Bvrj!Fn^lfp{|EK&1LLmzv`A9+X74yN*YzLSm(^hf}%mL+e``N!sujd!S$ z9l)@_3&B?DKvO#Y9lV*}q1-DN@YB#Py_*`C_|_(vjZ+MegC-3xB$|L7=qiY4#g4D# ze;q|p+EPT`c72m5Q7PIjb4V3Vr#FY^Z3>>#(idSPC^%>>GQgiw8_gIhpw#UE$&h2k z0Kx02UZb?>dCCZSiDgZ_XO=DO&y(fSl zH#G5MN;b!d5eLNy8h5LE-vD`AII8oK(bCs^3^24Y2X!)jGZwXxlDgQ84JkGonShT^ zp5``}-A*Kn&OI*;9A*eV*u9_t`8+dz zBhr9C4bK+$;tH?G;yNCIaB==F{?1?g_fS^YuMqG`1d18 zAF?b?Y9~4Qqr@aG$JGjt?mfi2Z~PjD!f=mmAm&Rao113&GL!TqN3bHlt@X?OYgUxy z4q3ifpqJaz2y*H&bsN>D>$bDFDW#EbkiNw?<$KfJ`Yr*;8-Ct}R$WPL$$ARsn`M$r zW0hOx$;=*g+ISxt5!z*#fs4NO=|+_SRk}gJ2-;GrwpstZdF@!W-$KV}m5zoIO|XANIcH0%+ENj1&C48;jOp6jyrd58iTjf3_BQ@Xh)7njRx}=Q~S~kT1)1+fL?Y{ z2wgP*%$N+o#XKXDLXkYn8gI=MC?voe(PI7Ck^r@jD((B-y^znHvXX!_H;7C*((jFY zHp8`;pjQpMq)evl5Sm~qbEP8{ZexR>T?PiNt>(GO#BNz-AQX%+=D~@E2!L#+$Y+gGFpYL-fo*H5l}`;M@APu8nc*8t(yjuc3J1t?kR2lNe67IX(~*=f z;k7%iXP_Td1v%jY&(<1`79Uop)6A0sl+j4QJZ_~Q7L6zXd;@~=U5EiZ0)|{u;f5~0 z`C{`dwWZnE(lM>-UEsk#Y{Msk4Y3yF_St$u2=T3>?|mHPzDoVxU)T}=YpjX6egj+G z8-*h%o83ETIzc`LZg({Dq#$Iin5Mk~mf>}2pk+;;<(RYplLmeoXgf`DBA_zB)1<$J zw@e0VZJn)kQt&R%Az3HPOOcsDLz0u=&}V%8Xl0t~BnsF%u&FdaqHi3b*Wc@;v<#lI z_0m9Z=8Choe;$A9Km2pJ@$dh?@x9;kNt``;h@lWpR& z%lfOOaeaz+-uN7zy!Ta%n-g!N-OUHU=eKVnS_M{@WJ+^A3nwU_r*9>RX0WI$M7k4@ zrd^!W=;MU|b($)r0G0Lr@FCVGm0d395c)x)SW4!hZbH}^WE+BPOSqS3!kV*8$(_f1 ztbBP+|3=S)((Ug`$Sis((U%e%bg3Dq%u-#=&4(agTW+eKb6XZ`ZJXarf;sWq-_mOZ zA#ZH`8irxABl5@e%}H5CGc#U&^%Z>ijW_V<(IdR{(u=>@%{!(KnT`PCF@0;29!VR@ zAl?NGy)TG>s>(6|@C1O;5g$EPR>Bh}dt^|Opyqwy!nIHFejU9tM8Z+g-x{|{w@^s=2^F(#B zhG&oin0_gI)Hm~Z^s!ED(qIbKclSQE_h2AKue8Se0-_89hw>OAl^M@8pN*|4b2fJ^ zcP6J9x6Q-Ex5&mt{FdiN)g5V%hN@th@t4y-fyx;$^W)WN{2Fgl?|&%k;xUK>#8YI} zx#MdGQP9B0oSd%3?=6+r_0W~_QLHaEog8S$e9$j1d0|Af#|`C%zv5-{Tx4B8n)|5I zSjo?&U2}{FlHqFfCxWa8Ks3VVBsKj|uCbL+p9vGpfPSsoj%TyVli1C2C`+$XOnd+U z4z8so(~i(rYVZ6_iwL_s@E-vN3LEc|1ECohjrCmUSoH1==PRwJb#jq%iapc~vy!}P zJZMf3-up(r)|%IR+|en#tjnd-g_Qo>(AI!3=5|9e-Ye=kX)-F!3Ij9so@T4BIhxjg zw{}n)o!exO9T(2OWxZh_I|k0Px(G3T0hYyBnWv$FY&O1jSET{26EmQ}aQv=G4X86& zaGeBHGFR;PdvKLtJRs;@mXc?$_gn&SK+}Lr)^*2@Tr*EGnL&WwljwBtUkvD%wXqPz z_zkuurFq`TLysOXPiMD2D_Tz*$U(YfCT3OcDvs6%@ zQs0{f^=vn1L#LCi_r7V(|3CKrC05%dI}gL2Ro~wK{hYp%-IU1|DKMrkR7<8Vlmy5K zf@qLIE`uPKfjuxX^uW^~K>%kEz(6i`ARvPnfgl976DI=X02wHTk;sY_JBl1CqGVZQ zlTCKJyV>2R&-K6Ty}x&5Q0rOiS@pjA^nZBB(-(f#{h$4P@Ap>Ks=_qQBCIWPoO;rXGSNPiqd^%HkcsiR+|198=a~M68ZR)=@NCNMM z&7$a->69>7wNb`E;j52V+lw%x&HuRer){`gQWJx-#G8P~Rp=!cH5XT7Y45Ji zE=KZ81qCG#;$@U*0JmMLlg6erZdGsX+GL!{Bc=v1syzeZ+&y^@9+^tD-BSr0s_vhnCnj)mNDLtYpqL_%Jc6yAH0C~%u_ zRY0KnD*!Dkd*YPiXE3vmM}m(z_oH9$0a{8>{ib-Sz@pXIv@AI6KXtjMS$9M+1G(!v z%+}_XW)B=pG+XE~ozBI}NL;4K>vlt=tA#W>Ri)~RzDf>Wf_6BCQAc7x;-~-ovuD6U{e)n4N*nBG;g*uOs zw|g_N$-p9j3|4X*I4{<@+s=Souya0d*v@zJd+gv~kP}`Pv&?|$7MHhpW-4xH!p0!* z3^3a`O{o+jd7MU`JxLMD?a~17#%Di|Z~deH8~!i<+kXxJy?^C@il>hs;k{Qc@u_i* zt6|tQMY@&yo_|#R-}qHrJ$MMFNhdcf zI)L-RbIz2F5~@ubCEXyHsVlpciSZuI@YwV20-%j+|@$Ja`b6i&T(YILE>@2+ksBA zp#S8(MHf=!OEuz_cq(jkuDE|%EP7!jBK9nxq}r(!d`MSEWg)GhSRe*QI1!M23bkZEGr3uWpGD=J-G;M%|woNEb!)g8bP*o<#?@Z zs>}>4UYd{TvbZs!C7pu;8p@t+(1+YaQ$8e-<%`E ztQ*VPpZwOg^ag$Oa+el-NJ4szw;BJITlZ!LU+{r2zpN<~_VSX~;$^~8BoO|VGw=Y< zz*WA#)M?wp35`jADNjiDM8?j#&DL3b5#4(u?L`^Csm;{$8n^_$w0X0+{-&$lrID?%x<4D#A^<@ zqmI%L=}ug@ff;8gh($NdvnIzFa6{;_A$^3T_qzCFVZK5aQ9G~Qj%P#0n+%-%(|2l@ zexJ`oj-zfEC+*E#APGD*{8|0Upi7^p>ZG5@ABw}=h2S#_7$b0DZCuPCvdBc5@+)wj ztfpMTb1F4MOSN+Zh-6_WvnW?vM|gR}S#6ZvV<3XI$Y3Oono&JhHUf2X$&QrsC|kl& zXI9SOVg)TXkK4X8yK;-)D|?c`$bP=1<9v6p<`0xKK{}ViTXn60%OT78`8eOlpu^+dg z!9r`5RPwBWLH(^+xJ%~ToTu%x0<`R~fP5`IUacE#2cN-m0^T?y%hJZsJnK^rl}*1Z;KFNbmCN&{ft;+>chGz5J#Yc&l6hYnS@3-7>X zkVPE2x?PvFq`g`}MunYpZ2@regb_R}T!WNrW#SxfOWMzj7Z)uQI%8B6n~&WpoY=*{a#LdJB4z zW^swY23|-(T-rJvcNQ+kp?uT=*1N62mWTCGmeeTAkF`eO!)Y=2E-h4h0AP8&(LK+&wzFYre>@-@^;V)QpMOrAykIG$Xy1VVk_``U*B`_omcr^ zM4dWv6dox9tZ-bJ%@v4)*U=8u5q0OpO$K>9sLDl-T?SFyrcB-#1Ga4u932tkoHEkJ zNwOHpEyaf^k1TM@AfF-ROkJo|++{_FJYzB7jewp3(94+;4;)u6F!n9o^LFD2z!-(6 ziNmrr^n6Od%097~ZK^>={@sG^yi^J9GaJ-&kwEDe^~#`Wg&CEFT+2Gzx9a)KluQ05 zdxf-$fTc$;k)+b>$=aShgWb2ccXkCt9&kd=)mA7UR1T-TLp@use*aO~_kH90{!TcPaS8(_pVyYG zJ?RjAUn-`EjDDNxB1C9U3#Qc3gr5~SrF<@QBV>ZgM+c8unDvGvFaVSRlrJ5QRL?1! z7dYkf%!;R?^U^0r_}L@1JvaHXr{uyZir4!}si#A>SgWR5TdS<~WgKl?Uw(5P>rwr+ zjy{t*vLS5;%S1t4!WaKun%O1d_4`!L=M7JuJjPG_#ODE<`sA`L`p2hS0*sgP5z0q1 z!j9_BfFjQ;0dhm8)nyse5069ZV@o6*gKTXv!qQN)QV*HI$G*a8<=JTSdl(UPZrn@P zn(84c;W+)Q8SHUxV;C(ns4&D(DAe_gE?~o!=c%!728zUxOt>L|5ZYO?`fMP6X78;S^ z(;0F1y4=RpgqHwe(6{YSRs$Ht8?))4*Rb3cr@^uoq%qd7Kv~O{EdoqJ)mcrkLP5A4>f~d(op773Q%KbXxXsp{(?EWh7A=GRAE3Rq~-HJZolWjv>BQ0Jvs_ zp*vl3KJb^?J_aieF8L6AzizQd(3Qz|oA+@MQ^Cg^!)&UYzK(>>w+3VY#SC)nL&+=# zvfI37$qeGEQvpJg%Q%XvbZEgqnq=pklBzG zsG?(=qm+59>{c`r{>_V*Vm`ZZr(yEV%qkX_Uul)VF?dNn=l3Ct9wX^fH?#+cW29rh z&T)8=Z3JDJ5a#Z2p&4)Ro-H~Uuq+&~zcCD3U0fbPOM}_SThcAJRnK!ZbMDRqapw+8 zuer`_#0^M3Je}&y$oNomIcQh`)G`uU2CCMF%Z>5G?UuM=AcndfnD*OgoOU9MaDV#K zpN`KP+zs0nH+u&j-hcl&e)DTz$IXKWfII&0|NH+L9z1-E|N6i9FX8U_dwB2F9o~3! z>N2!API|=h`S-h6`{dHS#%A1s2iMp5-do?pcfR_oGYggT)N(&eRfNcz){CeIh(7SL zX{rBK7^;UAUo2}+oj>-U58m;k_iTBuw7bHw_I@7}Q%rg+i0DgfA>@?U1-%DPd09_q zoffROvK!I{*t)EnVnG(rI7f^Co1kW%>7Ez}dAHi81_yk|iyOG`-WE3%NjgSZ=xAsO z7?QX4mG|H8n@TI2tZMY0Dmz*V$=Z7g!hK9}#9}Ic7M;}mjHSM#Kd(iupwsD8KBHYS z7=ORYwrzO$@EV``)Th8>KTc!4y6sYal*=W+cqy-4K3)bRx5yb_)9}w#J$MuLx@xa0 z^SXUfZ%|Z2kA3YDEkKLRTad=Xh#hpqZ03YmhW#YCKt;c^!6XX`E@z7w^?MnTsmp3i znW@6}4L#^(+!nED=4QOn>9lH>-}Bvuki7-Kz#wYd^88t{BU+K5A0bJbXtXiX$kV{A zDO^jtvmOIVUXB2iKx@CO7zDLG9kntr;xgPBtkR%Z%Z6KwjHBQZJIR>PV)!}gyvRyG zu!djWX3Zd(&L!Sh-OewhQLKF>Y+_vz^X%9r9_p56rHPoCW_$WCB+%gNWZ@1^p5unT z^-*4dvm0})+ojbo_b7?8TFlcb}XcZyVTEd3$K?<5ExvZ57vcDLeT{|cgd%*O*8|oAzi)r%7U)h&kodO zTqR@|+M#()%z9^FkMb*Tnm28id@+MD1sA)tHilFm8B`=vIF~GO$fvq^WoB`1Ug2;$ z(jwg4+YSNVJkIQ3J6SFupd+Qr`@ZeEaPcbTTwDb&l zC>2o3AvRvTkycXv-hwIuboFb?&q^VkpC3BHWhDAs5YX!AA|eu!;>3NePGwsHPdZTQ zl9H8X$fG|Byt1>)ZUG>3bCcI=ksT@1cs5SiI|W}m0;4oi(^m`BJI!fA0ILUW*tsj7 zznh?7d6$dhJ-B*=!+UVM2e$w9{#QA|f!xL4cqYLB4c?3io1=K443lpi@W3M>KadcrEZH^46_~x=wjBJw`B>?gq51vCb4UI^T@$L{&IagpLK}hA50a0vX zh{W&GZ_BJfIFu5Y$gBmPw?uQ$0@lnj2(!fbPJ%iE8=2XFR-dpoC7(E=F845mG%zVI zfWcVHtT1(A==N?N7ZK2LqyZxPB{Ik>hMIQesCv`T=IQ8O#+`+M67A;da$4%$$Vg|t ztjl1Az^klgC%)2i6a^^oGAo0Ijv9%?Ju?^5a9NBr&1OsE74lrqArv0bcgnu1Ks5uG zbUfNta#UYyHf{!7R z`7D3ScQq_6b-ei0QJ17RJOU8b=%vBbI)l>_$BB0k@8wo)kr|X(TrtLEAom%7Sa7`Z z0W(@lR-ghUoDZA=Zh1kLkCF`dfppxot8YScwn?|WhuHM0^YTC)Zuw~SIMTp z8^@@besZoTx1A>lq%qI#C47Nv^BL%xfnM^#gr^_VXo)j*@=Mm%yh>R{{?q_=E`mjc z#O};Yt9e%E0nX|?hCpt(Zp18_lNOXA*;WR-M3&}z%-SwlM){QPy*n(n@e(ExpN*e2 z^Vsuf2!ShQ0Fu_6@kDNB<`EdxM~dqp>X5}c@)6~6_6v)qIFYR6PRb6*_IQ#?19lEZ z9H-1Qz_%H!U0^IogQv|h3((}}onWO#0PmLnTEjlCc z$BZuIxcJ+EFBj&Sjoe-yS~=dEV|w)D2~OA7@HiVwZ4ByL-{ux?jyLVAIEQg&$x}xU zTt9e(2M=BW=W9H8@+MB(d-#w3o&Px=K6!>;{G~sQ7w^A~(=a@KF!IELeewH#_&&dV zly{_*5=05@Xi4VG>FR`6uQq(+*Zu*v+jlV@eKuw4oG28Xe1! zc5_N$J%V5L%|QcNZ$|I#X@@ht15_=#yd$_1ICIfB#?2wFBdTtf8IdBm=0i<;r`b{b znPaN)QO0_&471!wl3S#wI4nDu^L3w#iYB{z$%a7Ctq5H-SNW1MwPUz+MPa)`aUXpT ze)}+1IC#F!re(c+Uw3Uo$Z+)AR0#|Bu)Spt)DD<~_Jp@|%^W~Gn|IQ|U%6klNdMlJ zNwn+hYf!IW%8zHc1Q;*n^~-&F>9y+GD;UyotLP#xn1MsL5ZVIyN`v^G@?HX?lzlD037Z**wYY9>N>J-8lu~xdD2{W6H_cO1^CjG+Lf5I>t!6s!q@hEmz_#vZ{8Kh|u!V&%=Q0 zM~+W_?k91&zQ*%+4e!1CHXc5B0=)Pp{?5Pkzrcg1|0;g|7k&=!zyB_V86IAZ46ydn z<>2>!{xQpzW2><;M>3TkMZE)V<2Ui@^}U1k@TFeP}C~xLUaYETvA7D z0b3rG98h`S@*CutQOdPv+4vlId{!J+V6dc5mEMx?o>%FMwaZUCP;{gT71fyr4Wo`` z{uS<0qsVvKK90?Ru}zF*a53g}9rY1yHX(GpFrh*GZrO<37CBCRb|}?Lkc7VKxaqvm z>AKHmCC>IROC!DE`@Vlz5wRg`t4ZxO7uK%%;)n5u!lSIZG?rDwmdXWTnX6`YXEyG` z%B6gS!pmDuC!TkMOK|bWyj)Jxyp)en>|^|!YGVd;W?S&S<%qoaB zG@B1V-sqO~(@`0z)Mu6k|HXT@D*e6srP7~9xc96h0=H`BMF}=zLk(5LxYDrHEEPHw z*eiHCm208X#oJg@X+~8Z471pX8i?5sC6#Ty%S@8|%}Enq>X(DltmqgM6^sU!B`>An z%Ue}1yWLS+!xNE(>mn1weam>#Q)DJCeRyP0TD6%@FQk5C?PS0u`m8OYbbf;- z&3H#nAcp-i5Y=F*fj5X3ylG KJ0IUXv%oz$q2L1?MN$H^-)?){?(%aFg;+7rJcMA&|Ub{ zcn)(Lv*jWa>kXrgFrVZu3bPC}TK+AXCC?Nx3KL=jI50CWF`_U1eSKfxkN&xf0+^ak z`P+DgWWY7W!AO)Q?~xx>CJ`^A_&Mzqo7;^!rjfADF^w_tHf*F`p7zzL&cB9XoUUM} z5p_n|8pEu1m#o1J+81y*c)?3u^kVVLv_twNC|o*DSJ(63=@fVvc=D;wPx zvrj@f&V`Q@Ai*D@4=E805rmxorrB4!BBD`|fAy$K>3Z5ntD{8E|)ZiziQ>;LSJRz>60zo7}vVAK!AB zJeTs?CG_m?@?V&#+?wF>Z>PPgKPvnAec94ETWqT!89)i6nztRYc{PN4Ff7^}G#-F- z+Sngqm4ijr45tKb7cda5c2H=$k+ONs}gR>S!kBQFl{?0yUz6$+1au1lnMqJ*@{1fkBgPe_%n`y!82G~PBjr0DJB6&+ijx}Bl)7Xy5rc|A_o#p5;un@>OeIlTRq{}=xK zzxJ=;t+(F8>CscX`|1{Vo6Gr()wMW9Ti1R?`wUljeUVv`D(BG&}3_U zUwc02QS8zchU!n|eb6x5b~*ON>m8BsJ7`M>%>Oof+55<|C0}W&H2VIWeMFs=FZPfg zeO?;)F!I~JW!yUI~*!KK?`S&{iW^nNi zS65f~BY))Q@Z`x8+}+*o32`YumgN#)yp-22_Hq6vMkEc{?tq2TOru&^v$8Ij)lxxA zlV?+do5QjbCA zSltFT8}Kpzoy~AI!)7OJ@!mF0IGe@qCv0QPe-WhI#)x(dTU=e^W;kPJb9&TGgC`wt z5@sG6-vbNsR|6RBGY1uG(!`IPLq(pL=qiJW&pflvs$GNSDroYRZs8r_i1E1uTP%2> zStv2g33?FJrR~H+(MRhV_t**j)x;!Q&$d{p_&hUAGSkgkKk1N4pYwhNZ+I?P>+>#K z5{RHQO-yeFS4~0Qeki#0nXyz3a*ZkbF~pgPUhNgJlJ1S+y|%@#S%e&mYc{7$F^=IV z3yoPiiA(ErVRo=|RIAzIc<1Fi@j{bV0*eOU_}PVzfXaAW@l{z{*63rfcBX3agdDE` zucH$ZMIDaBkBl{)m*BhH_S;`W1{j9$H|Hm0Go8qEey?C=@la-s$)4h21DnlY6|=5- zk)tEnn()M`UmAU;Ksk7Z)DJa|!aJwN%9Ghg3@rmZK?jwMy3m#NGc_RLWb^8t8ve+s!s^*1iA@U(%O5Qe<-Xg4&w{)(VrI_O#DQ+p9y1Wv3 z!gCqPC&ZT*pKv@GAW+^8c{Aaw%uPecgB%a%zZZX7@OZ*rb2Mogdsh2G#Dqm93@TJr#%b}2MVplUqv3;a zkVj=~i;StMH*yL>+M4a1^U^<$pHEj;7^f>d`SfS-JOB9qfq(z6|F7}x`!C_w5Afd0 zTWonwD2wC6i@nA>uiu)!M4l$>gzM`18t;7PEqv#<{}E0nlYqsf9};)Pw>74c$Jt$~ zX^%LGmpnTHT$f$BaWP|8gf5*?0_%qP1DM+ULZ3oMzuAZNeO&CG&lK&X|N3I0as9V8=KX8?>}bab zXLZfOSUH1~ zrwCvUY^PHODbIGo*#Ng0tUP06yJt(}!iNO#(s5W$|52+l#>tFU+A+EHIWlDEHZ!Bm z>)@<>cg=pB?)}!lbRh+yvriO(jD3ScQ zoPus_%cLFFB@EGqDgMmz{MR+puy9;7ARdNza%_|TOSH$BJ5^2oTky9`F~Tf3p!+$< zWAHrRHK(x55go^{k>U_b+gfL(`;ZrP6m5&U;>!?0r%`;N{ptK5_K9;ugGd?><(!4pZNTKMyyyl3cZs_;E>0V&H|4W@pL2Ot%hY`}*%z!^ z&Arg2x}BI+lCRB$2Ra|5%5=_`#Dw5;83X5U;?eT9^7*q;h%#xxb>e>?kS7GEamuZI z8C)_!H+78_+L&TPWU@ue=9ygh8l1x14EY>>RGuoGpA zj3MwLzYfH2$u$7OHq50?Oj&9b%)YvMfM=ij6u$PK{$KGQ{*Awm+wBTxyTbb~Z*xv6 zevUtX#BvDm{jVqw7WoY0`VqeIm4Ac}zV{7WT|EH#sK@23wNdTMq-^snW=7hPorErfipOdY0z6?wSB9Zq)n2a-xrLyvN zxe1F8(fyR5&F%)ij>mF2;@I=#FQn10eW{brc`{ILiyHgGM(^J&`ElZUj*aID=2@k} z6IB;E@3T#QccG8qEQ1NMO}%cBuhxSNWR6wvm#A6$WV?sk`32?}X)~nT1snOQWj2;x z7EmzCT%Xq}cSnks`I7Fk=+Vd8fpvL0WvDk?r*$tLh^HrRAi*?~VD^uaBNAX|CP?BY z+e0~jF=2u4JIT3-tHu+_S<7$C_Kbtv)ONWSe@y4ae59Wch>OWux8_ z+~nL5eb-<|wyScW$$Qy;pL#^)CH18V*)3;L;9XWWJRNEB^S7R+&LCpBQ`bRGvcApk4!`kmUlV5L>={DqUSlhOf&)P?vlay zQH$YxzQgHs!cYJ7AHt(Y4{>{YhpVgWA2eW>@(Gtqfbmj3LU~<{a9r0#^3!<%O2N|* z(5ytw9w;NbzO&R8#Bv6vO+4Gm`vOdrN;oBSMp79$Ol}UC*$Cx;P*+oFJL;CvqX0`b zEcVlME*Gqt0SxwK5K*0i)tF{hPo?&Ab#@w|vih9PkF|hm8c`XTosRVwS3m@U6X|l8 zb!{O>wnqbPwl|-oBfB#$Oo9^?q|9M?wjPF~!A_F~)b>d>u0kh0=XhsOGSHW}?-s|r zag;z6zp;*+n7ujVGDtP>m_ghOOh$W2XFD*wD%jbLO}0^4Q8I{d)atDkAkg;JfQo>< zj=v1=&bJw~NP;1QCz&;8LwZzL2;&lv(C5v=B@bD)onD)yy>i}9TiCNs%_Y}fVjv0 zh700=iz=Ms+H~=n(xiU%1+USr39qYcAaYFT1mt^36pzLvgRJ1#CSFGoAvs!fNi9tE z#i}-M4rq{g#-b~<&OuRr;Z54>5fO@~m9I1)nf*ib0_z2Qj)I#Gl;V>z`CfRj&e=Xs z*UuH8EPamUwRPdG(Ufm-IL7ZHb3oQES)&2)UEnumLMQ*bdCyhBDWWEiHIY6MsK<>nd=C_sjrXQ_v!3u}G za3GKF;i(5}Q#`g8_|?DlZ{pFjPvOu1mH!%EzI+#_8^eMBXd9pMcy8c

1IvjRDnR{0pK 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

RE6q0j4#jdBBIBJO(@-Cp+*d4Wuum1lXBe8B z$q>l6@>xsG4p6n5quf%+bu@<1>~O~2*%U`y9E}~5(0^eNh_U0&@>RiF?e0H#y%jQ@ za%HGbEoKwbBPfLMf2sOFLD9>EJQvr0P*{lX7mVl~TQ}yV)&-93Y$0lVzuxZ z{1u&5jhyS5Cgp@gd{hw7?-4;&FB=1$;8r_Tv7FJ_IhsO}T($Mp#$R>3kinS4-*2m= zdEnUMh|0IvG=m5}&OtAZ9z8D@{;hWgRlkjFbQAnLVA+b948ZX4fw5{@=7qK5&8ebw z95eCg;Wga4JHv4L`mEpb$2&GFjm7!-2+`5WXv@zx>b~RE-S2tvpLyH;-)i$e{y`N< zJKZ}xF1MR51{ehCpt_o*on%C@Bb)?Fdf%x}P02Ij{1HBZvc|f5wSXUw8=1*^rMm=o zG0^IYXioNd?78;8zAFcUjR)wO-W^Q_SKI{qFjLHBIdX-6!V)0q=>P09aUDUj%%RIy zf5^wdtjntq+{~0Fqtnkn8%SaTYl#Cm_m1ly#Jux;@VvB_{diS&(ontWE&C#wh=?FE#P#tME3gXr<~eN;NclJBHK;HnZW!>kC3bCT4Yv8G?@MaA7q} zAqmLfB9a=j!n1=!w$P1A5)h=EHoQ>U7r-Dq{DeEihbeVAv=Zxd!D}1nr}9ElCA$d; zocI(nMy&7@>;yq`lQ;v(EU^!b#I9P{wwQG-nf%EL(;K7z7+*|-ro|cnCIOGrVEy1~ z(&YU-+fpkPOVupmYGAXcw?M1JM6x-rVhorwHyMuJ7G_Lsl@)JuXwNTu${7s9Tqz^O zT0^LenW=)UhQwj0%Xaw)z{r1ey&r?qqAm816w&vP1&sziuzzInhY@w0{pc>H5i3(q zz(v0M2ndn)Mu1BcY|If6!(H?+{osxEIymAeuOrE=cMQun$j0cDnCI}JGP$1V*~mNQ z0ZIiM@ycZ=`-AAxZpnU>oV*^%-RsoqXv*I`RII?Pr`?_KSxkQ(gCn8jvz-s_X?^VX zHcGJtIj+b+gK?@Pm+(G@_52A10az2~qFp?kW@>1{Z#4(tqKu#oR7Th4vCUCTneP*< z05juHm2Cd?RRdf&sWi(tmn{YYI6^^5D!Uz{kvu&=!<HT|*3&Yc5_ z%t>{x{FXd;tbBaG4Vl-OS7s)sw`}W8aHY><5{jH?CHv`)UH8+S zft}6L|7fHNEs=$bE;Go>3`J6UI)e}M;V&xHcll{pF2_q7oamW82CDQq#rECXpRpsU zJbd8tG$>RvkA+BUccY5ab#yyiaG~q4rvzzSheqEz>a+BR4?iCamA+`Kgt=fogkPLq z3&Q7mu@C6r3!a$tZw@xILN14sTA7}f>%m@cFW&WG?;4R&^M72>mA#!G(pk%=ocWT& z(^bXWShV0%Pfw#%;XLEt*AA&l61n%*DUDxN|4eu#dGw~|-1!EYhsg8er!~*JJ3D3=4Tvz(;Mvlt8|C5yIdm-@-p}(HRZ6G)WVf zpkrY>InX|ZyYL4s7vr&%b6Xc`1ujF@Z2@fmK53^lQ%`7mHq8tfJLZM`L2zP(CUrw$ zII+ya{*46_am(%;G*<-Q$jo`@)(-`JNj@FWq&dARL4*uk!iqzkFHT+DBR;Nkc+{!ZN7mF)WCSFGYr{651Ky0ozKLiRm!=1Rc0?x@W{gt-z3+h0RV3s%F0 zx?+pShb$Gdo7{Z(Tl{6r!S+Q=(uH`twC>augPLx_Mie2nnIJUgFg+0U$XOWqjhrxV z!-~6L!u{`zeV}laJ%U5O^6wv(VI^3SK)gff%ae|=Yf45b&Qss zkgWTl>u@{4zNFGgR;9R$vqOBI=4*o?Q}`XXp1*%d9i5z5m9*1q$FY;d_d;Upcha6V z=&pYqlO^mccI;Q50teyYe)!G5xvSYW7Fq!2h%7OQjOAqSiVAP#rA}_Nu-Gw7*CLEoOno7n=DT!845Aw7?P$hIg*>_)^1nJ*)0_ zI>B{d076Hg>pn{16}_nuG!r8iLke&of~l3HtE+0MiOBEnA@j>x!~a~*fwsVge6h87 zk5NKoJ6@T}m-B(VQ2CY(G)7)mqrf2QJ7gDVlkafVG=+n@fiH$PQiwyL z4oE(k1Tv8maEj9Q|5#_=cW09@-^GAe>I0EVO)}y+P~GaH0p;@zu%}68wmD`peB|p# zcqd(%88ClOV05!Q(p+!`-vJZ5{j7R=#lWdI<0hv)yG_{2pUb}&J!MMsBFI^B*B@cK ztY~!5k(GerXYz+THRCMeqamCjQCbRC)IVK;k05LkmW&Be$6Lh=QxwmHM(b1`5#%)X z_Dho&eEvx8uoM`&Tx39%q&y!~<3dxgr$3snquX3GQKX5)6W|e2`WbBw(xJx8M%QHJ zhtER7v_xo&b?r3U-h%<`;+Mlzd~qV}9D+Chf(Y1f)F%mIbw>T$;s9P-|J!52YiMY? z%5A^O$3fM+<|DGTdO}1?+!FAB757mj*mQIL6flV9+-;q1Dv%cjW`ZkVi);{3(Z9~< z&x)i2`Q1C(6zF9mTY=609MY4_@8+i7`ipoKjuP>S)!(g9K8n_ZTvWh8snhw%-ONRw z9pI7U)IEpX!et4*^afYmNGb*d30gvs!}c-bKPI-szo1Nc@Ls8p6*FAIUg<=TmN2>) zPo{nP{-SC7S(aC#L$y#B)dk~F)>NghAWd^&sJ^eBRCVn*r#J&1FUg%hR*t|G*3oj3 z#!S!mIiI8Prz_v{oRzCfFa7bWCJ~~@fTb0)@L&?H^2KQ93-t261mfL`SNLp^=1Nai z``_vJw6`-vq#8;5`2jYWs%NpJu7Q(zK0h7R3iBILsk6nD!?nYDF!3+-@3X=C|FkR} z9zAS0H1$qj+;q7;8mDYTzipZJ*25ml=WffSEN>Zs31^n_U@M%bS`_J+?ud}S*cmGA9Th}K9x!)fAvtL@32Kk|YBNg#4xLUK!!yN5 z&X;}tzUplHt4HDpUl|sR^_bOhdff;ehQ#H_-%R18bzRpu zY!YS?7b~nX5x}p`?1tZ!n9Fd}>cIYYk~<9)&m^rHp9eFP8)`R+kq*9bNi`~0= z^4>oDW5h6rWFkW@Do+eP4J4gc*VzD$k{Q8ultXj=GXIBMN7zOBP4kX6Ky7W5mZqAi zhG|pw%fFmelL#OMf9+?1b46T{ zso>t#3!HP??eLkX2mhY_A;OhlYt64g;k0 zqlZNo(_f&#oGK zC6Ow2Ur~KQuS~+av6(`Gp4AbR{Og*^?@dY7CmUP9@)E7nrTn$|lRUbA5|)>w8I*rW zSD&ShC^#l?B+@qGXa6n@S21<#pJuIhi`Y1mH`JZNU!>CJvZpjjkr`wdEok`8=a?^* za#;&7ka?Y3X&y7w+}D2p`!CacuYcm|h?@kG&m&a$QZ-}b4c7h&iVUqG_(pQER4e5l zpYr&EHAEJ|ZuvTzR()|Ztp3t!{08~&-S^TTbp?+{i z>>v@J$2q)sPBewMfl!YNf$H_nMB}X_7(eQF2tDA^d?=J(v7)TI@bDZ0|x zfA@o>x@gh;h=6M7=}On}Om>HnlH_F$q;ivRDSYhYvDbZ3Z184f6_%`|=sBHS^6J^A-=$zw+!wdV+WunPEOFA#hDSm|l4}Fb2d&uH?BwcYhYXwf;L-n z+g&t51H4oRoeyk6c7i?)WAqx;Y{B1_ICf%SZ&gzF%SJw`JB1vwBj>pdwd$3AS zcW>J^k5__{@FQ2{707L?>Hg4UPgh%3c}tZmJZ*E7mu)Ap6)n@7DCk3d%TQMm^nfmg zt;PX5hLhW}ot@LNGU1Y%H|CpnNJE4vyJCGeTXON+!k#I$&Y^ZrG@!Pyz*QNYnK1Cc z1t~oHF=KA_2mqL%$Kl>!Ek({j9iiGTTKkMgB|G`cha$i-lG`iCSv_|p`KyGPRY(nU zprAJHC*4g$;6<`~nYVT>9J}@0dWffw>sh~mgS=gAIlfvM+GnpEDk;mpkzko4oY;vY zhjFh^UYtx6}0x#QkNXx+n`@TVe|nXf&dM*9vYbxu?;-MeAm-tXeIeuE7dS z`w!W^&%EZhWiv!gBU2>FH?Rq-UolX$bUZ zLma~_pX4o#xUbwL+5UO8%ReSalQN3^>Ii|Mb|rO>rLxVnA@f^av*@FVN})Ml4Ajh1 z!0{UCddV(pO3X28D`wC2Q|FD3uGB)soE@q2ks{6F651=L*L0t@T10}~NX)ar)MLcT zqQH-0=+Z6pZt~))y2v?y!|1q5F&=!skqZB7&Fh-uK@rFRkswp{ug3Fjh$T!p00Q%mqm093NUTr+lcL%c%?@u+4m!nWL>#TJsGrJvyxN71R^eJ(Pg z>&F4Pr2Z)66Do2)`W3@T*f*Sj#khpIEm{7N_dmH*xhhnwe^e+tb}3VlGL|PrSOsA4 zIg8VJ{(E|!R2Ab&8{ZVHk=gs$%@F9_GTG398&vE*oYx!}^7*&MoZ$8M3*4qhhK+d!537{i|MvWKVevsti7wU4q)rF63vKVN>Ij6=oO-Mz>6yfe!9 zx$z&#dB-#J`+ph@Wy#$U*m%Q#n<9GxWe=c$5hfi1^I#rq0IZ~~e=L_8~nSY8^@V9ph;uNz2vei@0t zzuYjn8DI>J4CQrKI{rNe9&y+kD3mlzpG!!+wvMO`%M+XN8nK^%bg;QHPjT0Zf2eL= zJf0LP(r*U^iES#6CEZ>r7?2M04-_Y;mAw*1G>#a(xD%e0hu=N(BiZ^zxC2M^+ba(Y zIf$VGXc*VuSDb{V(siPW@L5g0xvqFi$g0h(-qS63xx(Jj#!vNMX__U|%w67xjF4Ce6j#$#&l`L_t*pKUcs4Dctc;8dlRwDU9Y}mG&(YE0;3s!I$!iBM2;qB z0y+Hv-$)7IL+ zWB9ISx+DO6VR>Qr*XLt5n74)$!I+&_RV=8_Wg=&Joe;7ok|UP4OnUt#u+YI0(b<=a zNrCMHN4&)_1Krp}-Qml(Xe|Z7NuO&DK~dLSCQvkcgS-pCb=Ch8m@(?^$U~)V+*^9W%6&@zU$I3_Bb6EjR>IVWaY0agwk7?|5{2`>}dm+}A~>h8QKfWeu?CaM`=G z@V$q(R;_g~3Z4SeK~m^nesbb`5lVCN^FbCq?AUp9Q@JT>3>q*q z%|i{9nrvglC)2yYwu#hFf6E7dO-HZ`b%2{HC}!_@9cSq3l8B5iB?~M8OA?sW0)W9i zL01rX46RQU<2U(-&#*rQ!0~bxRFX~;%bANroA;aJ-p{|3Shss{zcxDP@B5EDBxdLe z?ZKEfOXcnIqpQuDpJ(%9C*c=5X&K=#IUxY#g{L_+p_Dv^>sg3$! z-Ur0!`s0^aW+g1hW1a)ykD$|tL?9K<@pjUJo=8QBF}%6G=Z2PgWiiJUy@SgZ*@#Sf zpy4mqg-edr%1SjPNvT8B`OI6tiTUlgwUgu>wyx$@c?qoQma+sr#ujJQ(dQQ~QVtcI zzMtbtEkC?>*yy;71neH8%YD!ZkKPq-yscuZU^INjAO_{RrHLB`m_`W znv&6uKp30s<$Tkobr0!nhljLp=_zR}#@k!H(hswpHgasXijX9)wk$|LTV%_G~4wx|Z3FNHQ*?6w;WL z%cb2j!V^nmoz@xH>2P==GYO{*C7mhu8sGb-Fvc<^sTsO>}WoM6S*2U%Zr$^i-rx3gH;hLS4@s^LwrRogLr5q zgFhS#pY+HL&9zr-{UK8`VLE5Z<0Yd@b#;*lDQ2!i6A+|1&93qFFx)on0b`eE`%%XK z2IOfrv?yqAOFly(c# zEdSl+xGfugrh+KMw?(&L_K7cmRk)8)__+(PQ-XWYKW$h+h)eq$cB-nXoguy8g!D5}%4ISW$Bun)y! zlyPaE*FnW&=`$;7Qr}jKGutE-HC)94`Lemj^_Kis7O#uP4I%W$0tPWbpB?j}aHIBA(k5B~(n~gSOFQbo zEj9CS=RaDk$vID|esc*okEzcq&xA%63IRL1SfV4Vn(e*iy&G1lo?e{Ne#z0=O~y&J zR7KD?5q;V+Zppjc(MxZA_}>JvT;#U&^5#(eeb1r9*M5IU2Au!jgVFe`mdfalBjF({ zfvMI20^Up2+OPekpRfU``I^?V)Z81zb!)5G9s@ zZe~Myx=>=4s^CM!>WvJckEYRw$>?7s$nd#9Bm96!kX4T9bz%hS=J;F0rCB6<5Ku9pBK?>?y=DI43gP(>InQ zu55VlDqeTZVTTRk7<_tflX%J` z@f88&N85*0fVIewbuYE&WIV}+q6$4?Ra>QmW?kOWV28PLhM;t5MXmsY;3eh`eMEMg zV7$Q>!`&?P)M+t|4W!WF&tB9I3VvWPsgsaO6>}lG|03d_JkkUKyZA|>uB zvl3DgRY;9{doqq!`1bcVIh13*G?IW1KGU|?JQ41n=+}}|rgb`*N?{tc;n6Rl?pXZz z(qPX+9%x1EAK9A}+O)8)y;03ZOI!EuK&wx(Q17LSn=kS1{wMY&218KCKs-j?sSWhxh=8fAhHVB zbmYB>37g$nlr4s8yH{PhwoL;IOsuwQ^MXLqkmcfG>QEKU_NJ*!YvJD;tdi&2A(?6 z9`%5Bvdx?oM+5ABMQ?oO%@eB(O`QjrLD@LUEI<5jkc`1`DEABtsn~;wAUOp#;2Bq;o6C{Cc**l5m9@DXTp|WVdx5f;YLpe z1FZofNmL{sSHHpb2^j;TqJ(UV*1B4%PFx64^S+>cd}L+mqs;R`p!h?w-oz9#tiL1% z)S7^S?%q1=gz?8VeIxX;P^rh4Hd`+{x#;l{_!%hp$uB{-a2K&Y6+Lf24q#jl(J%os z(NGrdI`>#7ecd;wqUfql7f6*4$AiGIW;b)>3i*e>({(X-o}P#{p4assCiFM@-?bd* z#mS}k+TV5j!59#Eb`%5EJ|{uN{xq#slGEJEX0Y9s^AX#9tKnDVcQn}+kWV-*Z4A|p z$rmV-t%iTb{vvsD-<62)ZfDcizu(K67?kYdD))xzja?amrEyr?c=h!&YkWpDT%fTK z5L-7L&G=QPbmMd`?^dE8JDB=!!7Kub4Y0-KJSm|t9)*-MxOeOx|8^dyeDYBQaiTDn z{9U{)8~zF{^*w0Wt_7Y=pnj<W8RmM>;K3TR_9K_*Q)+nkO(G$$Oa5`N(!t4;nWerB4xVN_;9N=VaaX$c8x;rJ-3 z_{#j#HiACAOsvg{u##~j(eaG+ZTU0_1RmK`PN^8+tPGmjmYY^z-pSy*?U4Mn0ble{ z57?p7NSY5uvzI&S-qRs~+2&YLt3rwM1WOd3xaq?P*U#ZD0%v{LqoP}z zwEiE)%gTbSUZeNKetiEl32rVGR&=hUMh2f@iWKbicj6~L-YSyAv5%q-kGwf;S@oj8~^)PiSB zCfr@|AB)&0*hR5xI8(YiLPhw&_eP>;VcUkIC_327fJFOu(6S?a7GJycG>RDQzzINVLVJUd zJcc8V2R+}XuGrKlImwkD;Pw2%=a~DIJk7!7HzNfjUq@I=rbEQSJ&HIWBt#0&Yja~p zliyq2k7W4ot}#WSwh%h62DcBCjTufplzrq_|E7JLBe!-cj2t$ zQX3{l0H6ghO2TORE>S+`-eq4OclYs zCt@e#N$w_XHOb;2+_ice#Hy0Z<%A*J9(E5#>A&2C*}_hRF1DN z3Cz&zwX4_v$ol;(0odS5=Krlp*pTRzzbCzsG=w zs1yB!+Tci7tVUxfozx0?$>^W$?BYvo5eMSlh)ZG-?)ML4`0EAii^r5yRSD!}7%a*F z8pRrS>z2UeP!N3wj=^z=n>e;Zx?2IM-mMCa;~f#`_8mb=c-*1tWU%@YR#DRcs)Z5Q z)yNN!EYeHT3G2JTC~C&Ku>*s6u%2^7(B2UX{jpyUjIRnMI>Ume1-ZrqaE*{R#-yqj zBEMcagIPyIw(D(b4zsGepJYj9d9F-2#^feur8Pr^v8mojmUdg3^ZpO&pk+S zu!|IQ79{%>Q;%WNZa^cq(W0b%mvDR}fuhn@Rog^pAEh)B<#iSZ^Fn(3oXBnrELHX$ z53Sspe6UVf74&i(sz2rqzu)Rj_gI<-8zfuCCTnIbi%*Xu=*>c)mYK9AS^bIlvRItH zwWmweN*-keg*ab~dM1QaUDsNYUlnNoy`uJkMW{^Iwb`k9ee^d<0HP3-GwvjncYz{= z{gd&w(8?#4Z)c;7%p=Ck9m9lNfkWifK)e<^{nBPs8TRz$>~caR?h73h;HYFiiTBQ6 zkENym;CUU4T8-SDa@TR$ZyygTZw2@%A-b9+00pjmY4uIk`8ZndKBdlhgbu>xHHnCq z&QKrNGB_L^3o5G?*R>OEh_l$d*1btgIZDOppjZ-**Rl6kki8GsYHK-@dsWt;&w zw~h0&fnTMg$l4SiLgZde+cSW%IqQwRss1)pb}jJu{yt*{Y!g~`K?OC7%c()q zIrQ@XPK5%{tS#k|t7}|s5NG7CTe_AGE8;J6Obrm&?dyxQAF!FN!vFjcc*hNFE58kk ze9!y$C=%Sf5r9PI$4X%KzbB^1D7BwIeV)eh%n%yMm4P(Wi)C9ne;pJ}d?iQ3 zt-ht<`i7EPYg551gF4iGMI^H)A(N^3!GJt|Z1#>Yu1j*nV|;LnU+jFxR^^Wot(u6opEY`Tg3O zUyDf8XhI6GV2xbV+@LPEx&4%l8<~)*Z6aY@S&smU*mKYyf%pT z6ha{>AP@D^yHLbGgHaEBk{I5Amd;bHsFnz`$)lxg6)V}_Nn}vLrV3{L3c|gPzn&Ee z)@9RM7+3Je?eFB+;kmkd5s>>0lynP zXwW8c>0!odkBt2xKe>?Pr?;J)!W{REk+O>>wSHObvs}nQpdaUB#pPuWd;u6p#cXvL zbT`hkmUHf$+F!fU%Fa%nPBaUo71&F)=Di~AN$8y%DjVtPk+tC*kNLS{^)!JvPWR#U z=tKbod#ad}`59J&K?d2uTRw_&O|QOq0Gp$F@^|zRe{XRG-ge^Qu@{W^U+1c+1iI0d zhM;~Wz)KX z%7lSUHlOUzy0pM%Hu;gOK_*)_zzB$45^uOA)o+85LK=f#U)g*MF^SN`&))R(wCA-1CEHT%35bSZ1wk`Remo5J%ESKRZ>V|#BJZ{)2JAYhk`}jvW-wyt4vf{-=8&F^ri90=7VDb8}BsXExcC8 zXqIk5>{MkZpaunVFt78Xk{8e^7LWjiNe5M2C~`UuOLJCY9W+|!!On4_CPAsn&Sbo} zsOW5R^#{$_0#~ovFRc6)Ig>Q9!RN6}6Q;!Y84a)kHs3OlydSh`(Y+)@L046Q;3l|3 zBZxfU+pDMPmOaCytcujmo|F;nO*RxrNcU)7OxgUGFj1T4pIfWdG#Jpi^5aKeZT8N5 z8IH<;g(fYF`_=;;m2LQ^m}pLWG#JXTp~6Scb6y(}7?TNk-VxOy?2`#lefDC%!$GHA zC;!=kBW}Ws^pGBlA8J8Z1fR^XFGVL3oHm#y>&rMM-6RpX3XeqJzjVF44b{RpOgUwg zjmCvNqaB#J8@tL)^Qpl!BLC8+=*D-#iNhv2Vp;W&Jnr~h zPlgMn$oh;X;9TQS;}R^}?mfIZW)!OY$69BcqKl#CFhz)eTEXA6IE1_f;2O;}n2f}< zZ}Y9vkJ+#7itN_3Yhl-9GY^tiSI;8neHK6mUy?Q_J4a3Nb={*)Xz(=CQ_T(|a4B|GABnPlllW zhGsrK!mz+fsqL4D`Nu4QZ&`Epd9WgD9hFflh1rP?*T;pJ?Dfl-E1CgD0ogZbk6qK( zBEvu73*SA&_-JcTMbE zjNk0>zN&O9l=((l)6|e}I@VEhGRo>UF>mtJmd;r}+aMsRwH~!awr|GWEV=Rb@7AdC zThhZ!T1P0RuvY*I1VBSVBfR;G3)wca~IQT_b)nEmH~p_=PPT0)BP1V1kg1?;|v}Lov8Vu#Fnq+PvlQb zzWMf?{LB?Tn7Ca)rs6@nV;M{HWLy}cT^qk?u^T}ZG9xePg(MT;znQJR)VS-Dc;_0c zc;17)%TLsW9TwhW`q|A_NNWtE*pl#8<#Y+8ANAWmt@btp-wwO)In%FDnm1;b@Hl5P zhN*U_=(28bKGK<(8HmFp*e+m)?V=2a<8oA9Vm&eip?$k4%;*BGnzL5!>ufPP5i7po z{@!o8a@_{srDgt9v*@r;iSxSYX;BDgL`fLI^t4d%1Sci!b6W->QYX>M7D(WbSx>Lxx9>DoYCVOqf34$TK4aIP;&R1;Q9~?R4a;FHE9fQFkuUq zN~GcGabEDa$affDszX>UYlm)6oO5j`xY~KB%zr`mtasQ-}+Cue8kfV!Fz62{I|uucI4M zyY63f>b#;5h4`=0_RL!FpP0Zl3j~)bjhPmgdVwV7KTbS8dKYx}&n*{+WPD#DQG>4K zzM=!zhmna*xW9lu{8GDT&6g9*Y3>T4nyKf2K$@W5yMu1F$^~D{R&Sdun`k&Lkuv55 zNMpbvj=7ZOmyz^JOqc26JOxdFni$uhI^wXTlM<7snna;Yu9>47h7MfPGliRMd*|#P<>1ry+Z>dnQAi~E#3KzVhK3mEItGG+pgEiUmG5hu zRCWvYn6z_ktZL-h_oKh3q;E@P z&*uNFpZBTW*}?zD?azk)EufV>b1T*oiqs5bQ${-)Iep7}z1wl{1!h=L9te?@H6DO; z&=q!sX>OILX&+Y3(kAbj%^lgVtImryGjkB+^_o+hFO_BLS&!L<0CM|u z+5izOGdbg~^nTEJj43-kvL}ZD+ZotO2EiR0r>pQt@*%UqjTgYo!VA5MhnVpwFnY*P z)`|IA!K~uTxga%V);ubc`f7vwS>`G6O58GNsO_O-7i}2yvu8P6OL`!6HFaf}3E3gD zJ5^F-OAFywQ8^#h0Pdf`OCvEB(mr{N@-c8d#=y3D+7FGVq^!1|1|Zj+F$g-E z!jZV)*qm}P;Mojy9}37~5xq@hN-->PYc@cv-W*nvg$i z%kF(g!*JHBiRG{A0jd+(9^vUTfij48LydL`Sy30LeXzow_7d^vH4Ovq2MsI2A^^$8@~ZIj17$$Y@{%?!~dG4#epZgDx|7qTjTG**y%1^OAV6$ILD$i-)iG zAR>c}t6?EjbjTKX#go@FlygCvOcQY{6FJGL#u4k#LgZF((r#@yu3K3L{@}Z57zf=Mh{25-IhU5UM9rP1mE1oi5|^%1>oi(n_>*Y@HGxJ9%dH zp@S>(kTZ^ROy_S-HP7HsKkh*J%p=QbnZNAIh|{3QlA(Q^kv;L8+wr?cl5ORDXfUnq zl>jI?63;fR!^NTs@HD;&8Rtq@ky`Uu041K)UzGty%7)-%$5Sh zZOAm$A;Q<~yerbVa&==ip*q8kw=!r2ou_MIOQg9+5S0?H7Ud>?9AttpAQ))pIf#=C zT&xqFWxQdUbxIy>%+?PXpgSSKuMXlx5+l~Da<_zdo=9&fuC>F>**|fr6 zBrbFs7f~mSgZ%E1&EC*eTE_I8KQH_O9+zfOReA-0H%wWs`bGL!kHBDON*_~t!aJTZ z1M)l3tMG@esIgmncPIUtELvb|J-n5@5WP zPqc6`FISZ57^jtfTw0dnf%3_qVs2?wr>NVseIGGH8(D(l#dy3^3Cn%K+)Np#q}OhSD~+1X?)RJz!Gvoiv1doHJTZe{d4g?XYzW zMK8(_chB=y%ceBJFm*|u}bsGC`(6^z)nxy9Puv7M(59cDEin|Lj<+nhVDa3bNJ^Sfkk zE+$yX(N>InoL_rcE9g{CxwO?egdG_aXEsM^WQ zFY>v{&Im4>an42$hB|s>$a$Ti=hK8;^~-`1%co`AQFi?9O4qFVyc1}BqY0c3d8gpb zXDu+?2rhcysC_N=A-{WjtG^lJ)#0feNSV%erF{yKhHB3aO8i>U#ClbvY^o)``ok>i zki04Xj%nN12=rpW#Yv`Nr~;p1zMPstpFUP1{IWeYa z;m{$3h9=lnN>31nG7}^!ayON`>hXmk9+%bSIq8r^@M5dEHp!b5 zoitW*H2zJw2*zzxl#S#xM%=0|CZsZvMp~Q zvR+@IU&mFx-U`PeXc$m&F|fU70ddQ-218nNGBxipq37h33vqu=a&X*vG8?BPPDA?21E3bd>a2a z6?Uw!W$-?jfKYWBr?i!Bo7@00i!EhKv=@sSTgdjj{W$c~-1cAWy_;tmWS3wM`{spO zuv*9~5H;9T?K;mtv9r3*w5Wx32V(j$KN%}aJCPA1G5NN7O-i}^Wqk^{Mw8;C4A z1M*BiNB|R|*Fq1NY}Ir4oIj~MYjKYJGlp&-Bq0q0w!3*g7j4K(`CMru%)U-tTOLzU zCkO8f7j8ZA7%-MtE3*QSfbCo~rk&VqL9^9t+}ny!whA4n{N>SCVIb>`Sj0S%NgCv2 zU^sEI*nWjy;>dE^^7Br#tYRFbsO9(dw*?bPiJIxv|8AjmS86~q!w%jvfogqkr_>s5 zTws%2^88jDwRER{Il^3JsTT5^OP$H&1&$Ry4La6+UsHwcbx6sQ_~yEZ)r%c`-u1iI zSi$iXvo(gwAYAZ%_<4DB)cwJ$%1wO)E1&V#j!18Hj$jhnwH{nX*7kKqZ_&p<+Vzg}2sY`!JV9M?bn&~vjIfWZ>Jl|6TD}!nQ>+FO0WCs!W5v4W* z7CcjL0|R>&a8HMLq*G+!7_iTD8Z)NEL+uHQ7owBQ3^JC%Y=apjv!5Z`qcu}6Gyf8= za#;Z1LD`JlcGp-h9q$N)3SBd>8APCysK?PMjq($3o%G2IwpD$EBQ!lOYi%j4^oa5X z!V!qh`7mqEojrvMvp&}tJlLF>Kb!~M708iz+-wf7V2T%gS+>}U>W(}=ElC@^YU%WP zwr_Hl>7;mNMde@8;&9cLIG!z}k(-XOO@_B~(eX5Jb@d>!t~87eBmoF~;>;7E%*Z+j zMy8V+oXLzO3kGN-@TIbT%Ro(h&WvlRE_1QQU!S!fi#B%w-Rx%Tbpo%6@^(m}Op1-L z_7P+@5$l-N)z56V+USm)HNMkJg7yQM-&5|8JjxF71LsLK!9ZchOXmmTINAt451{j} z>?$o5A?`(v=weHU!}c^yU9^n6p~Fi?N|{<3k`x zz>@#0@qxjxQCBAq2JW++(v#IP^jCRUlfsmtA-`)o!PgtlnvSx{?zGohz*}^W3mpO% z#Ea+q69Ua!ExCABhO{hW}c4tvdXr zVOO5%LV|w!Fc_sBFHX|m$;#4SwExQ1HFo&?zG)0V#v8(3}uh5vS?BDD3leapYJ4(hc*6Q@})Ej#!S|~aDCY6qOzl|!IaV!6jK4ZuaKU%c-VJq9_IG;DX z`Q|e`e*Cx}D{(28@&hWD48}`&?eei!SVoz{v(ycoF6|%ngAn?wh(B7H(p4-&7~?jk zp)Zc4+To-n1o!CE#MNKMVy&%ZW`8EIaX~y$QB?kdD(cmQR9CTk&{ZT{z3Gd$C#`FNel#)o}m1u{)xF~mfsC!b8I;; zEza*N85ICF+WO|paVjb^tKWptJ$5x04dw*{F)oy@033ckQ#lmP9Pn)mJO?DPyMwx5 zBW{}96CD>Ia}kbnNc&J;+7)ejmGw%`rBbQi5zal&R-Ow`i9W$s1qa18OmZmCV#iO4 zQ9y64CN8XPQ-`a|=@SYwDe>`|^{>KKwZU0N~N1hq$^PcU zO9tbmd?Lkw8#Vq?NwatvlRE{M*-NUpt=B_0LiwCcjnlMPbFI*(s`Ci6%)4Jt@k1Hu zWvpA+_ucT&0VZg!-)RKZ_w@TETR_)E`Eq7qBGk1hq3vtA8Nv8Mmt&mcDh6 z33hu7k-sIQi)-B^D8b84g6Z@~0@BvOxr@w5D||~|!gt2ZHU^(i86RY|lzkfj)VYPa z*inJum^U$hiImFTvKf>b27_c1HlZ7f7I}tk$QANa=o}CDZIqk}qQtu;Q&RRLSl;Aj zUq{}co&k3W{wL>|1nQ#XCuMTS*OjW}rnY0H(82<}$6EGPW6znhxk}xZ*2>nM3k=KP}}E#ytQG)ER-Oz+D8E z5YEEp}=vzyOj%b3O6;P zoanuM6;X`|m@!-dqI7zRzvgt*oL{@0@+>Xn{K1-MBI8--H^F57LmzS<6ylb#Hg6`Hc7y{eKBO)@JxGz=+^VfIwk%B`5;w9gc zA5=<@x|D=%GgwI+&(_(72KBwkHvkx8o_Fe-EM}MluJdv$%FLqq9COfWL!SRQB5=8# z&r`Ps09zbby9Nt6M~S-(VhS7{XT;{Q71^%L!I&sx%;O_G6zt$-A+QQe!t?h+PtY#k zkGey$af82^$)37m;Vm~$_??Qz3%|v$9D{(e=mow}b7j#RxpE=$*!huM74I4s_Pk_y z*b(deR9R9BauuK*QHOjn->&&mI+A=-V*wC$7wx1aY?8ZD`us~=9|+gOEWM_?q?&cq z>qlziMV(f~<=wT{*2z+D_uIZQnp|v@*U!~X$H%_G4zYHsQc5<>uH7ZLmd~t#FBppk z5{gyiH+g9J4qH%IIj4;o?5YxrO#nT%LDbHKqswa@7=xNA&r~6(tiuSvddaDdjI|RaCf(L z`}K#mOq=)7qeppk$Pa5E^iuv{mP-cXrM!0eIKs=!tQ!HqvC2G<>Y*DnbD(7e>|U?z zr)?{TK7OftTEzaHZEY}|(r8Zu(k&J~!$@z|pcvKS$kEiIf@?-m4t7IsV<|rm-rBLc z@s~lUlgTQuO>ZjBhj9nYw>-Sv0UjcVzP?F(&fmtUU|sqLj>rO#YV5%66Vnzo= zGX$*JZ8=8So|JTPN1eYH4&g+8*biZ34dsFPcwoTC?0W|LlrFK7s*XnsYyomJLDXSC zNr4>y#z2!~#grd*u<9&4V`dSk>zS~weN+TGgOvm1^ZDj{Hs8-X2#kY~G01$`4UoUH z%Qz{`VTo%9e}HJ(VxFX9$b;}1X!NMJW&1og%!9eecV&cdC#Kn=i*uJl=OdZKoJ%t5lFvyCVd&tE z%wlx3i#Cd7w$xK8YbY1IoUROQCx6MpiiMn|_=s7YdMZ)O>_DVkL1cgp)1w*;HX`{k z-$h<_Vr<7MTe)@+2oX#(%z~9>ljiQ6r8na<~uCCj!t&TErk(B`nyfMEpfy>!3a zh)o?naZhjwm!+fTfoBHfYVnSAq7I{;3F1y`WJRV~n zaX~~PVJuSj9Rz)6h|I;sM(lE{<{){wMzs&v!x8bx(BH(rv^eq@k_?9xPvpB*!)(Ew zB3GU>gH(UA<+ICw1KS|9x~Ql%`Us?R#eJJ=NLmz$kD%gDYEf#bP5GFG(nP0Rg=jmZ*50z^Z-2A5?kHYiD@wQhEa>=<&r47l zW_bIZw{d%WJN05*M#?pbAFg5;M#4uj!1WqmV%%q;+64RJ{}>>0p@7WC32rf8xPa zNz1UriPutr6v>!~wmq#fj<^1sK@@SY(($Gvf7u3> z!I)wr_!87ee}+jd43=(N1;W&bVNjFJm~q!!#=Zb#0HQ_S24Gw9hT2CAAg>00Ir2Vl zZ%+OVT+vx=Gl27oZNzp!aXu=b<$2baULIn>Cj>A9gdlzRJw7)+v*L4*P8=udnK*!a zcXQ`Gvub%G9fMuzfzauA^nhp9k4)fPAc*lNPwHGX%dOhQ--*6vp}OlB%ec9+K0 zzCcn;Xq>P)4xkoZM4Tg>&zz8Y2IlN^28Jqw&Z=@;urw#GaW2FA#Y-e#;+9_+{1ZIY z;E;1pFLzR$P>9Q%-AW+No-&YGE?ow*H&k#@kgJz{07}bfDHg2ebmavuoqyOL19Xj! zaPa2jQcXcOueogS$fB2^v5q}uyGtFL^2$7pklPjmqw4pK+3uUF^vkE^dKUo?Jl^; zpmrNGYb?5E>4`c$gJT)&Ux8o0+XCNF9sc6^hGNo}T3!5=j+ie`B&Bq-{g842*n8EI zr@jo|Qw~$d66+>oJLa}hbtQ{socW(U*Kh%u<6Tcb(ZA-sjUB!fe1WG=pYlxcS7V%x zP01f%xw<;x<;$0N`0(K((=O#wet61di}a;@Vr44+S}AUV(dsvDbs5(G_P}I!h^C=g zjhXBBa$H8#E%UgNCxiH-@)9%Xweq=yZBjPBRc3J2I!Zjok!U0mla3 z3cbJ){S^p>E5!zJqrpwrpX8k$&%DRjlpwpV@%MKi@UHHF3+}zp;RVBd$hjQv#+G8w z;|x^JC|bxVbiyNmOCIA{vR<&2EYUf`jMQ)e$xx_1^h{p{zSYCpVymjzQhy0Nx%#UYSJ(z|Whsv%*<{Ug|()aRy)2aW4eS_lJ$lFv~5t8qi8PZZL3B zg>7$0p0t@Q5+Cb=kmNOr&yZT%mU6N1CfH3r;rp>bmU6YWr2EE9%NnO)B<>Z}87y4q zwRMV978LNP%V2UY3bJ$h6rP)u(Y91>NN{nH$nxCkH!GRmb&d=}$7`LZvR#oe>!MWA zyTGi=owPH~L$%+mw!&iam$z}6)U_I2Mq|6oCaOd&fXaby>Ti?9$oCze4r#DqEckrU zZe2fO`OSAf*u77%^jZ4l{t%oWe46j=f};yW-7Y~>H8nqEd<&wQe$9D70jGGe)YEFi zQ!=Kml3wSZ`X&~^GJxvSRy^{SY8@AKhcEaNySa@^$B_1rAi$Q-^4%727Sir$qa#|Y z9fUiDHrAfA=04b1zx1)y+co;mO`TZ?*#W@ud5ja@fB${F^Ugasodz@T&oh(phv(np z$B*#sZ+{10{pxSwbUGbShof9F7%$}$D?OmZ?_~g<#%XS6$_xVm23<|X`tQ?8xF`vJ9@dDrc);I9#)hi4Go;`ab&w)B!T}?w$f{ydw6;7vttLtlA zUtQxgMqI7p;JJxY{h6G57-LT3D4dEsca7#~1blKkYB{=e;AmL07BxS+(XCizl{2s< zK{rgRMGfz?GNK<|W?%v%K-g>h8bed;yRbiNxyx8q>sZVTwZn65(`Tl~y!_&fx;!T6 z7=f!a|HR>N*{0|8q{Q&b0FEItMG&+b&6${}s#WD_q*&YmQ&}$-mlQaRUfXO7%Wa?F zcE!AM6mT)1l8-C1K!^$kai$|BK}Rq1Elua7rVZm1nUf4!x7&la%m5b6 z7-cG8Gmo2_4cNAs<)`NZ23w3_?P8L=G-P8IJ#~Zx19;pA<-P;kb}pPT$O>c|`CYQi zd%$xv8LvT@%w9F>*8Cwe4LP7WoUQDUV##FBWYadOyyUbfbMixbJ!IJ?x(Xas^82m> zl|C&XqI_D@)*2rLq9(PCBE}kTasu>)KLZ?n!~8{Kh9jlJk@xM$`l5D)T8a5qWMK15IXz z_uqdHH@7#qySu~H)iqwdy1~`e)$HRm`#M>=TCg#2b(-0W!)CzobD#ShKJ}?j?ZuHU~VNp}2Wi9Msv=0I+3HlD~~%k(42BNqn4VWzqMtbWRxT%hh9x`ej{W zZ^k*yM{PF-3SSJiK{LK$yz0a{f{&^nHQ@6MNS{_-ZE;(&C=%otuh=LR96`{doZF0t z7{DurGYC<+^#G5_0ld+AA`y90JY|ZHR#6?(M1?EN(RZ>R`NF|W zZ)oQ40{dj2?w(Q3t23K)w91l686>!>;AF{UUPdzVs`%ou5*xCBK=61=e9EGM%EVcS zPWh=f+WVGU0Vgch`Z4$B-xd61}?%1_cobX1C3%42z^@7U6#=?BM( z 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