From c219e83dec6199b2d841a2f4f0712b6853ccaef8 Mon Sep 17 00:00:00 2001 From: William Ha <60044853+williamckha@users.noreply.github.com> Date: Tue, 24 Sep 2024 18:17:50 -0700 Subject: [PATCH 01/14] Remove Qt dependency from ER Force Simulator (#3311) * Update to python 3.10.0 and bazel 5.4.0 * No need to import `typing` for collections as of python 3.9 * Update black formatter to 24.4.2 * Run fix_formatting.sh * Remove PyOpenGL-accelerate dependency * Install latest pip in setup_software.sh * Install latest pip in setup_software.sh * Testing * Testing * Remove testing * Bump pyqtgraph to 0.13.3 * Update setup_software.sh * Try fixing precommit * Try fixing precommit * Try fixing precommit * Replace black/autoflake with ruff * Remove black binary * Remove git attribute * Remove unused check_formatting_ci.sh * Run fix_formatting.sh * Add simulated/field test fixtures to conftest.py * Address #3251 * Python code cleanup and fix Thunderscope * Enable pydocstyle rules in ruff * Add compile pip requirements to pre-commit * Formatting and fix pre-commit * Fix pre-commit * Fix pre-commit * Fix pre-commit and fsm_diagram_generator.py * Update docstrings * Formatting * Fix type errors * Nuke jetson_nano/display :( * Switch to pyqtdarktheme * Bump pytqtgraph to 0.13.7 * If build fails, download autoref from Google Drive mirror * Fix setup_software.sh * If build fails, download autoref from releases in github fork * Remove Qt deps from ER Force Simulator and improve code quality * Remove Qt from bazel and setup_software.sh * Misc code quality changes * Rename formatting_scripts to scripts * Fix docstring * FIx docstring * [pre-commit.ci lite] apply automatic fixes * Add ASCII diagram to robotmesh.cpp * Fix pyqtdarktheme dep missing * Misc changes * Nits * Use python dataclasses, remove unused stuff, nits * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- environment_setup/setup_software.sh | 3 - src/WORKSPACE | 16 - src/extlibs/er_force_sim/README.md | 7 +- .../er_force_sim/src/amun/simulator/BUILD | 14 +- .../src/amun/simulator/erroraggregator.cpp | 40 -- .../src/amun/simulator/erroraggregator.h | 50 -- .../er_force_sim/src/amun/simulator/mesh.cpp | 96 ---- .../er_force_sim/src/amun/simulator/mesh.h | 60 --- .../src/amun/simulator/robotmesh.cpp | 135 +++++ .../sslsim.h => amun/simulator/robotmesh.h} | 23 +- .../src/amun/simulator/simball.cpp | 175 +++--- .../er_force_sim/src/amun/simulator/simball.h | 76 +-- .../src/amun/simulator/simfield.cpp | 106 ++-- .../src/amun/simulator/simfield.h | 19 +- .../src/amun/simulator/simrobot.cpp | 250 ++++----- .../src/amun/simulator/simrobot.h | 91 ++-- .../src/amun/simulator/simulator.cpp | 503 +++++------------- .../src/amun/simulator/simulator.h | 155 +++--- src/extlibs/er_force_sim/src/core/BUILD | 11 +- .../er_force_sim/src/core/configuration.h | 54 -- .../src/core/protobuffilereader.cpp | 62 --- .../src/core/protobuffilereader.h | 44 -- .../src/core/protobuffilesaver.cpp | 68 --- .../er_force_sim/src/core/protobuffilesaver.h | 53 -- src/extlibs/er_force_sim/src/core/rng.h | 6 +- src/extlibs/er_force_sim/src/protobuf/BUILD | 9 +- .../er_force_sim/src/protobuf/command.cpp | 54 -- .../er_force_sim/src/protobuf/command.h | 40 -- .../er_force_sim/src/protobuf/ssl_referee.cpp | 37 -- .../er_force_sim/src/protobuf/ssl_referee.h | 28 - .../er_force_sim/src/protobuf/world.proto | 9 - src/software/simulation/BUILD | 2 +- .../simulation/er_force_simulator.cpp | 20 +- src/software/simulation/er_force_simulator.h | 4 +- 34 files changed, 712 insertions(+), 1608 deletions(-) delete mode 100644 src/extlibs/er_force_sim/src/amun/simulator/erroraggregator.cpp delete mode 100644 src/extlibs/er_force_sim/src/amun/simulator/erroraggregator.h delete mode 100644 src/extlibs/er_force_sim/src/amun/simulator/mesh.cpp delete mode 100644 src/extlibs/er_force_sim/src/amun/simulator/mesh.h create mode 100644 src/extlibs/er_force_sim/src/amun/simulator/robotmesh.cpp rename src/extlibs/er_force_sim/src/{protobuf/sslsim.h => amun/simulator/robotmesh.h} (76%) delete mode 100644 src/extlibs/er_force_sim/src/core/configuration.h delete mode 100644 src/extlibs/er_force_sim/src/core/protobuffilereader.cpp delete mode 100644 src/extlibs/er_force_sim/src/core/protobuffilereader.h delete mode 100644 src/extlibs/er_force_sim/src/core/protobuffilesaver.cpp delete mode 100644 src/extlibs/er_force_sim/src/core/protobuffilesaver.h delete mode 100644 src/extlibs/er_force_sim/src/protobuf/command.cpp delete mode 100644 src/extlibs/er_force_sim/src/protobuf/command.h delete mode 100644 src/extlibs/er_force_sim/src/protobuf/ssl_referee.cpp delete mode 100644 src/extlibs/er_force_sim/src/protobuf/ssl_referee.h diff --git a/environment_setup/setup_software.sh b/environment_setup/setup_software.sh index d9531f5173..e38c51d1ea 100755 --- a/environment_setup/setup_software.sh +++ b/environment_setup/setup_software.sh @@ -90,15 +90,12 @@ if [[ $(lsb_release -rs) == "20.04" ]]; then host_software_packages+=(llvm-6.0) host_software_packages+=(libclang-6.0-dev) host_software_packages+=(libncurses5) - host_software_packages+=(qt5-default) # This fixes missing headers by notifying the linker ldconfig fi if [[ $(lsb_release -rs) == "22.04" ]]; then - host_software_packages+=(qtbase5-dev) - wget -nc https://github.com/UBC-Thunderbots/Software-External-Dependencies/blob/main/85-brltty.rules -O /tmp/85-brltty.rules sudo mv /tmp/85-brltty.rules /usr/lib/udev/rules.d/85-brltty.rules fi diff --git a/src/WORKSPACE b/src/WORKSPACE index 790a388d2c..1c7fc50d7e 100644 --- a/src/WORKSPACE +++ b/src/WORKSPACE @@ -214,22 +214,6 @@ git_repository( shallow_since = "1571237073 -0500", ) -# Qt bazel rules from https://github.com/justbuchanan/bazel_rules_qt -git_repository( - name = "bazel_rules_qt", - commit = "7665177f47bf514176d5f8575a7334f030203e3d", - remote = "https://github.com/justbuchanan/bazel_rules_qt.git", - shallow_since = "1614109311 -0800", -) - -# Right now qt5 is installed on the system using the setup_software.sh script -# We assume we can find the headers in the "standard" path used in this rule -new_local_repository( - name = "qt", - build_file = "@bazel_rules_qt//:qt.BUILD", - path = "/usr/include/x86_64-linux-gnu/qt5/", -) - new_local_repository( name = "linux_gcc", build_file = "@//extlibs:linux_gcc.BUILD", diff --git a/src/extlibs/er_force_sim/README.md b/src/extlibs/er_force_sim/README.md index c6a65ed338..257a2e5dbe 100644 --- a/src/extlibs/er_force_sim/README.md +++ b/src/extlibs/er_force_sim/README.md @@ -1,7 +1,11 @@ # The Simulator from Roboterfußballmannschaft der Friedrich-Alexander-Universität Erlangen-Nürnberg Robotics Erlangen's SSL-Team ER-Force's Framework -The simulator was adapted from [robotics-erlangen/framework](https://github.com/robotics-erlangen/framework). It was modified so that time steps could be controlled by a stepSimulation function. + +The simulator is adapted from [robotics-erlangen/framework](https://github.com/robotics-erlangen/framework). It contains several bug fixes and general code quality improvements, and it is modified so that time steps can be controlled by a `stepSimulation` function. + ## Copyright + +``` /*************************************************************************** * Copyright 2020 Michael Eischer, Philipp Nordhus, Andreas Wendler * * Robotics Erlangen e.V. * @@ -21,3 +25,4 @@ The simulator was adapted from [robotics-erlangen/framework](https://github.com/ * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * ***************************************************************************/ +``` diff --git a/src/extlibs/er_force_sim/src/amun/simulator/BUILD b/src/extlibs/er_force_sim/src/amun/simulator/BUILD index 76473358a4..69a9a7b732 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/BUILD +++ b/src/extlibs/er_force_sim/src/amun/simulator/BUILD @@ -1,21 +1,15 @@ -load("@bazel_rules_qt//:qt.bzl", "qt_cc_library") - package(default_visibility = ["//visibility:public"]) -qt_cc_library( - name = "simulator_qt", +cc_library( + name = "simulator", srcs = glob(["*.cpp"]), hdrs = glob(["*.h"]), deps = [ - "//extlibs/er_force_sim/src/core:core_qt", - "//extlibs/er_force_sim/src/protobuf:protobuf_qt", + "//extlibs/er_force_sim/src/core", + "//extlibs/er_force_sim/src/protobuf", "//proto:ssl_simulation_cc_proto", "//shared:constants", "@bullet", - "@qt//:qt_core", - "@qt//:qt_gui", - "@qt//:qt_widgets", ], - #linkstatic = True, alwayslink = True, ) diff --git a/src/extlibs/er_force_sim/src/amun/simulator/erroraggregator.cpp b/src/extlibs/er_force_sim/src/amun/simulator/erroraggregator.cpp deleted file mode 100644 index 850e63c24d..0000000000 --- a/src/extlibs/er_force_sim/src/amun/simulator/erroraggregator.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** - * Copyright 2021 Tobias Heineken * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#include "erroraggregator.h" - -#include - -#include "simulator.h" - -using namespace camun::simulator; - -void ErrorAggregator::aggregate(SSLSimError error, ErrorSource source) -{ - m_data[source].push_back(std::move(error)); -} - -QList ErrorAggregator::getAggregates(ErrorSource source) -{ - QList &ref = m_data[source]; - QList out = ref; - ref.clear(); - return out; -} diff --git a/src/extlibs/er_force_sim/src/amun/simulator/erroraggregator.h b/src/extlibs/er_force_sim/src/amun/simulator/erroraggregator.h deleted file mode 100644 index 7f10d3e39d..0000000000 --- a/src/extlibs/er_force_sim/src/amun/simulator/erroraggregator.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** - * Copyright 2021 Tobias Heineken * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#ifndef SIM_AGGREGATOR_H -#define SIM_AGGREGATOR_H -#include -#include - -#include "extlibs/er_force_sim/src/protobuf/sslsim.h" - -namespace camun -{ - namespace simulator - { - enum class ErrorSource; - class ErrorAggregator : public QObject - { - Q_OBJECT - public: - ErrorAggregator(QObject* parent) : QObject(parent) {} - - public slots: - void aggregate(SSLSimError eror, ErrorSource e); - - public: - QList getAggregates(ErrorSource e); - - private: - QMap> m_data; - }; - } // namespace simulator -} // namespace camun -#endif diff --git a/src/extlibs/er_force_sim/src/amun/simulator/mesh.cpp b/src/extlibs/er_force_sim/src/amun/simulator/mesh.cpp deleted file mode 100644 index 599090fe94..0000000000 --- a/src/extlibs/er_force_sim/src/amun/simulator/mesh.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/*************************************************************************** - * Copyright 2015 Michael Eischer, Philipp Nordhus * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#include "mesh.h" - -#include - -using namespace camun::simulator; - -/*! - * \class Mesh - * \ingroup simulator - * \brief A 3D mesh - */ - -Mesh::Mesh(float radius, float height, float angle, float holeSize, float boxHeight) - : m_radius(radius), m_height(height), m_angle(angle), m_holeSize(holeSize) -{ - const float frontPlateLength = std::sin(angle / 2.0f) * radius; - const float frontPlatePos = radius * std::cos(angle / 2.0f); - const float holePlatePos = frontPlatePos - holeSize; - const float outerAngle = std::acos(holePlatePos / radius) * 2; - const float angleDiff = (outerAngle - angle) / 2.0f; - const float halfOuterAngle = outerAngle / 2.0f; - const float outerAngleStart = halfOuterAngle + M_PI_2; - const float outerAngleStop = 2.0f * M_PI - halfOuterAngle + M_PI_2; - addRobotCover(20, outerAngleStart, outerAngleStop); - - // right pillar - addRobotCover(5, outerAngleStart - angleDiff, outerAngleStart); - m_hull.back().append(QVector3D(-frontPlateLength, holePlatePos, m_height / 2.0f)); - m_hull.back().append(QVector3D(-frontPlateLength, holePlatePos, -m_height / 2.0f)); - - // left pillar - addRobotCover(5, outerAngleStop, outerAngleStop + angleDiff); - m_hull.back().append(QVector3D(frontPlateLength, holePlatePos, m_height / 2.0f)); - m_hull.back().append(QVector3D(frontPlateLength, holePlatePos, -m_height / 2.0f)); - - // the remaining box - QList boxPart; - boxPart.append(QVector3D(frontPlateLength, holePlatePos, m_height / 2.0f)); - boxPart.append(QVector3D(-frontPlateLength, holePlatePos, m_height / 2.0f)); - boxPart.append( - QVector3D(frontPlateLength, holePlatePos, -m_height / 2.0f + boxHeight)); - boxPart.append( - QVector3D(-frontPlateLength, holePlatePos, -m_height / 2.0f + boxHeight)); - boxPart.append(QVector3D(frontPlateLength, frontPlatePos, m_height / 2.0f)); - boxPart.append(QVector3D(-frontPlateLength, frontPlatePos, m_height / 2.0f)); - boxPart.append( - QVector3D(frontPlateLength, frontPlatePos, -m_height / 2.0f + boxHeight)); - boxPart.append( - QVector3D(-frontPlateLength, frontPlatePos, -m_height / 2.0f + boxHeight)); - m_hull.append(boxPart); -} - -/*! - * \brief Adds triangles for the outer hull - * \param radius Radius of the robot - * \param height Height of the robot - * \param num Number of segments - * \param angle Angle of the hull start - * \param angleStep Step size in rad - */ -void Mesh::addRobotCover(uint num, float startAngle, float endAngle) -{ - QList covers; - float angle = startAngle; - float angleStep = (endAngle - startAngle) / num; - for (uint i = 0; i <= num; i++) - { - covers.append( - QVector3D(m_radius * cos(angle), m_radius * sin(angle), m_height / 2.0f)); - covers.append( - QVector3D(m_radius * cos(angle), m_radius * sin(angle), -m_height / 2.0f)); - - angle += angleStep; - } - m_hull.append(covers); -} diff --git a/src/extlibs/er_force_sim/src/amun/simulator/mesh.h b/src/extlibs/er_force_sim/src/amun/simulator/mesh.h deleted file mode 100644 index e25ad2c019..0000000000 --- a/src/extlibs/er_force_sim/src/amun/simulator/mesh.h +++ /dev/null @@ -1,60 +0,0 @@ -/*************************************************************************** - * Copyright 2015 Michael Eischer, Philipp Nordhus * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#ifndef MESH_H -#define MESH_H - -#include -#include -#include -#include - -namespace camun -{ - namespace simulator - { - class Mesh; - } -} // namespace camun - -class camun::simulator::Mesh -{ - public: - Mesh(float radius, float height, float angle, float holeSize, float boxHeight); - void createRobotMeshes(float radius, float height, float angle); - const QList> &hull() const - { - return m_hull; - } - - private: - void addRobotCover(uint num, float startAngle, float endAngle); - void addSidePart(uint num, float angleStart, float angleStop, bool right); - - private: - QList> m_hull; - - const float m_radius; - const float m_height; - const float m_angle; - const float m_holeSize; -}; - -#endif // MESH_H diff --git a/src/extlibs/er_force_sim/src/amun/simulator/robotmesh.cpp b/src/extlibs/er_force_sim/src/amun/simulator/robotmesh.cpp new file mode 100644 index 0000000000..d06d66390c --- /dev/null +++ b/src/extlibs/er_force_sim/src/amun/simulator/robotmesh.cpp @@ -0,0 +1,135 @@ +/*************************************************************************** + * Copyright 2015 Michael Eischer, Philipp Nordhus * + * Robotics Erlangen e.V. * + * http://www.robotics-erlangen.de/ * + * info@robotics-erlangen.de * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + ***************************************************************************/ + +#include "robotmesh.h" + +#include + +using namespace camun::simulator; + +static std::vector> generateRobotShellPoints( + unsigned int numSegments, float startAngle, float endAngle, float radius, + float height) +{ + std::vector> points; + + float angle = startAngle; + const float angleStep = (endAngle - startAngle) / numSegments; + + for (unsigned int i = 0; i <= numSegments; ++i) + { + const float x = radius * std::cos(angle); + const float y = radius * std::sin(angle); + + points.emplace_back(x, y, height / 2.0); + points.emplace_back(x, y, -height / 2.0); + + angle += angleStep; + } + + return points; +} + +std::vector>> +camun::simulator::createRobotMesh(float radius, float height, float angle, + float holeDepth, float holeHeight) +{ + static constexpr unsigned int NUM_SEGMENTS_HULL = 20; + static constexpr unsigned int NUM_SEGMENTS_PILLAR = 5; + + // Diagram of robot (top view) + // + // ┌────────┬────frontPlatePos + // ┌───┬─────────holePlatePos + // ┌────┬────holeDepth + // , - ~ - , + // , ' . ' , + // , . .| ─┐ + // , . . | │ + // , .\. | │ + // , + )─┐ | ├─frontPlateLength + // , `/` │ | │ + // , │ │' | │ + // , │` │ .| │ + // , │ `│ , ' ─┘ + // ' - , _│, │' + // │ └─angle + // └────angleDiff + // outerAngle = angle + angleDiff + angleDiff + // + const float frontPlateLength = std::sin(angle / 2.0) * radius; + const float frontPlatePos = radius * std::cos(angle / 2.0); + const float holePlatePos = frontPlatePos - holeDepth; + const float outerAngle = std::acos(holePlatePos / radius) * 2; + const float angleDiff = (outerAngle - angle) / 2.0; + const float halfOuterAngle = outerAngle / 2.0; + const float outerAngleStart = halfOuterAngle + M_PI_2; + const float outerAngleStop = 2.0 * M_PI - halfOuterAngle + M_PI_2; + + std::vector>> meshParts; + + // Parts of robot (top view) + // + // , - ~ - , Right pillar + // , ' | ' , + // , ├────┐ + // , | | + // , | | + // , Main hull | Front plate and dribbler hole + // , | | + // , | | + // , ├────┘ + // , | .' + // ' - , _ , ' Left pillar + // + + // Main hull + meshParts.push_back(generateRobotShellPoints(NUM_SEGMENTS_HULL, outerAngleStart, + outerAngleStop, radius, height)); + + // Left pillar + auto leftPillar = generateRobotShellPoints( + NUM_SEGMENTS_PILLAR, outerAngleStop, outerAngleStop + angleDiff, radius, height); + leftPillar.emplace_back(frontPlateLength, holePlatePos, height / 2.0); + leftPillar.emplace_back(frontPlateLength, holePlatePos, -height / 2.0); + meshParts.push_back(leftPillar); + + // Right pillar + auto rightPillar = + generateRobotShellPoints(NUM_SEGMENTS_PILLAR, outerAngleStart - angleDiff, + outerAngleStart, radius, height); + rightPillar.emplace_back(-frontPlateLength, holePlatePos, height / 2.0); + rightPillar.emplace_back(-frontPlateLength, holePlatePos, -height / 2.0); + meshParts.push_back(rightPillar); + + // The remaining front plate and dribbler "hole" + meshParts.push_back({ + {frontPlateLength, holePlatePos, height / 2.0}, + {-frontPlateLength, holePlatePos, height / 2.0}, + {frontPlateLength, holePlatePos, -height / 2.0 + holeHeight}, + {-frontPlateLength, holePlatePos, -height / 2.0 + holeHeight}, + {frontPlateLength, frontPlatePos, height / 2.0}, + {-frontPlateLength, frontPlatePos, height / 2.0}, + {frontPlateLength, frontPlatePos, -height / 2.0 + holeHeight}, + {-frontPlateLength, frontPlatePos, -height / 2.0 + holeHeight}, + }); + + return meshParts; +} diff --git a/src/extlibs/er_force_sim/src/protobuf/sslsim.h b/src/extlibs/er_force_sim/src/amun/simulator/robotmesh.h similarity index 76% rename from src/extlibs/er_force_sim/src/protobuf/sslsim.h rename to src/extlibs/er_force_sim/src/amun/simulator/robotmesh.h index 8bdc8aac12..3670e3f81e 100644 --- a/src/extlibs/er_force_sim/src/protobuf/sslsim.h +++ b/src/extlibs/er_force_sim/src/amun/simulator/robotmesh.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright 2021 Tobias Heineken * + * Copyright 2015 Michael Eischer, Philipp Nordhus * * Robotics Erlangen e.V. * * http://www.robotics-erlangen.de/ * * info@robotics-erlangen.de * @@ -18,14 +18,19 @@ * along with this program. If not, see . * ***************************************************************************/ -#ifndef PB_SSLSIM_H -#define PB_SSLSIM_H +#ifndef ROBOTMESH_H +#define ROBOTMESH_H -#include +#include +#include -#include "extlibs/er_force_sim/src/protobuf/ssl_simulation_error.pb.h" -#include "extlibs/er_force_sim/src/protobuf/ssl_simulation_robot_control.pb.h" +namespace camun +{ + namespace simulator + { + std::vector>> createRobotMesh( + float radius, float height, float angle, float holeDepth, float holeHeight); + } // namespace simulator +} // namespace camun -typedef QSharedPointer SSLSimRobotControl; -typedef QSharedPointer SSLSimError; -#endif +#endif // ROBOTMESH_H diff --git a/src/extlibs/er_force_sim/src/amun/simulator/simball.cpp b/src/extlibs/er_force_sim/src/amun/simulator/simball.cpp index 054a1d8b24..81c40e84c3 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/simball.cpp +++ b/src/extlibs/er_force_sim/src/amun/simulator/simball.cpp @@ -20,30 +20,26 @@ #include "simball.h" -#include #include #include "extlibs/er_force_sim/src/core/coordinates.h" -#include "extlibs/er_force_sim/src/core/rng.h" #include "extlibs/er_force_sim/src/core/vector.h" -#include "proto/ssl_vision_detection.pb.h" #include "simulator.h" using namespace camun::simulator; -SimBall::SimBall(RNG *rng, btDiscreteDynamicsWorld *world) - : m_rng(rng), - m_world(world), - current_ball_state(STATIONARY), - set_transition_speed(true), - rolling_speed(-1.0f) +SimBall::SimBall(std::shared_ptr world) + : m_world(world), + m_rolling_speed(-1.0f), + m_set_transition_speed(true), + m_current_ball_state(STATIONARY) { // see http://robocup.mi.fu-berlin.de/buch/rolling.pdf for correct modelling - m_sphere = - new btSphereShape(static_cast(BALL_MAX_RADIUS_METERS) * SIMULATOR_SCALE); + m_sphere = std::make_unique( + static_cast(BALL_MAX_RADIUS_METERS) * SIMULATOR_SCALE); - btVector3 localInertia(0, 0, 0); // FIXME measure inertia coefficient + btVector3 localInertia(0, 0, 0); m_sphere->calculateLocalInertia(BALL_MASS_KG, localInertia); btTransform startWorldTransform; @@ -51,30 +47,28 @@ SimBall::SimBall(RNG *rng, btDiscreteDynamicsWorld *world) startWorldTransform.setOrigin( btVector3(0.0f, 0.0f, static_cast(BALL_MAX_RADIUS_METERS)) * SIMULATOR_SCALE); - m_motionState = new btDefaultMotionState(startWorldTransform); + m_motionState = std::make_unique(startWorldTransform); - btRigidBody::btRigidBodyConstructionInfo rbInfo(BALL_MASS_KG, m_motionState, m_sphere, - localInertia); + btRigidBody::btRigidBodyConstructionInfo rbInfo(BALL_MASS_KG, m_motionState.get(), + m_sphere.get(), localInertia); // parameters seem to be ignored... - m_body = new btRigidBody(rbInfo); - // see simulator.cpp - // TODO (#2512): Check these values with real life + m_body = std::make_unique(rbInfo); + + // See simulator.h m_body->setRestitution(BALL_RESTITUTION); m_body->setFriction(BALL_SLIDING_FRICTION_NEWTONS); // \mu_r = -a / g = 0.0357 (while rolling) // rollingFriction in bullet is too unstable to be useful // use custom implementation in begin() - m_world->addRigidBody(m_body); + + m_world->addRigidBody(m_body.get()); } SimBall::~SimBall() { - m_world->removeRigidBody(m_body); - delete m_body; - delete m_sphere; - delete m_motionState; + m_world->removeRigidBody(m_body.get()); } void SimBall::begin(bool robot_collision) @@ -86,48 +80,47 @@ void SimBall::begin(bool robot_collision) { // ball is on the ground bool is_stationary = velocity.length() < STATIONARY_BALL_SPEED_METERS_PER_SECOND * SIMULATOR_SCALE; - bool should_roll = velocity.length() < rolling_speed * SIMULATOR_SCALE; + bool should_roll = velocity.length() < m_rolling_speed * SIMULATOR_SCALE; if (robot_collision) { - current_ball_state = ROBOT_COLLISION; + m_current_ball_state = ROBOT_COLLISION; } else if (is_stationary) { - current_ball_state = STATIONARY; + m_current_ball_state = STATIONARY; } - else if ((current_ball_state == SLIDING && should_roll) || - current_ball_state == ROLLING) + else if ((m_current_ball_state == SLIDING && should_roll) || + m_current_ball_state == ROLLING) { - current_ball_state = ROLLING; + m_current_ball_state = ROLLING; } else { - current_ball_state = SLIDING; + m_current_ball_state = SLIDING; } - switch (current_ball_state) + switch (m_current_ball_state) { case STATIONARY: m_body->setLinearVelocity(btVector3(0, 0, 0)); m_body->setFriction(BALL_SLIDING_FRICTION_NEWTONS); - set_transition_speed = true; + m_set_transition_speed = true; break; case ROBOT_COLLISION: m_body->setFriction(BALL_SLIDING_FRICTION_NEWTONS); - set_transition_speed = true; + m_set_transition_speed = true; break; case SLIDING: m_body->setFriction(BALL_SLIDING_FRICTION_NEWTONS); - if (set_transition_speed) + if (m_set_transition_speed) { - rolling_speed = + m_rolling_speed = FRICTION_TRANSITION_FACTOR * velocity.length() / SIMULATOR_SCALE; } - set_transition_speed = false; + m_set_transition_speed = false; break; case ROLLING: - // just apply rolling friction, normal friction is somehow handled by // bullet const btScalar rollingDeceleration = @@ -139,54 +132,32 @@ void SimBall::begin(bool robot_collision) SUB_TIMESTEP); m_body->setFriction(0.0f); - set_transition_speed = false; + m_set_transition_speed = false; break; } } - bool moveCommand = false; - auto sendPartialCoordError = [this](const char *msg) { - SSLSimError error{new sslsim::SimulatorError}; - error->set_code("PARTIAL_COORD"); - std::string message = "Partial coordinates are not implemented yet"; - error->set_message(message + msg); - emit this->sendSSLSimError(error, ErrorSource::CONFIG); - }; - if (m_move.has_x()) + if (m_move.has_x() != m_move.has_y()) { - if (!m_move.has_y()) - { - sendPartialCoordError(": position ball"); - return; - } - moveCommand = true; + std::cerr << "Partial coordinates are not implemented yet: ball position" + << std::endl; + return; } - else if (m_move.has_y() || m_move.has_z()) + + if (m_move.has_vx() != m_move.has_vy()) { - sendPartialCoordError(": position ball (not x)"); + std::cerr << "Partial coordinates are not implemented yet: ball velocity" + << std::endl; return; } - if (m_move.has_vx()) + if (m_move.by_force() && (m_move.vx() != 0 || m_move.vy() != 0 || m_move.vz() != 0)) { - if (!m_move.has_vy()) - { - sendPartialCoordError(": velocity ball"); - return; - } - if (m_move.by_force() && (m_move.vx() != 0 || m_move.vy() != 0 || - (m_move.has_vz() && m_move.vz() != 0))) - { - SSLSimError error{new sslsim::SimulatorError}; - error->set_code("VELOCITY_FORCE"); - error->set_message("Velocities != 0 and by_force are incompatible"); - emit sendSSLSimError(error, ErrorSource::CONFIG); - return; - } - moveCommand = true; + std::cerr << "Velocities != 0 and by_force are incompatible" << std::endl; + return; } - if (moveCommand) + if (m_move.has_x() || m_move.has_vx()) { if (m_move.by_force()) { @@ -232,9 +203,9 @@ void SimBall::begin(bool robot_collision) m_body->setLinearVelocity(linVel * SIMULATOR_SCALE); // override ballState - current_ball_state = SLIDING; - rolling_speed = linVel.length() * FRICTION_TRANSITION_FACTOR; - set_transition_speed = false; + m_current_ball_state = SLIDING; + m_rolling_speed = linVel.length() * FRICTION_TRANSITION_FACTOR; + m_set_transition_speed = false; m_body->setAngularVelocity(btVector3(0, 0, 0)); } @@ -328,7 +299,7 @@ static float positionOfVisiblePixels(btVector3 &p, const btVector3 &simulatorBal return static_cast(cameraHitCounter) / static_cast(maxHits); } -bool SimBall::update(SSLProto::SSL_DetectionBall *ball, float stddev, float stddevArea, +bool SimBall::update(SSLProto::SSL_DetectionBall &ball, float stddev, float stddevArea, const btVector3 &cameraPosition, bool enableInvisibleBall, float visibilityThreshold, btVector3 positionOffset) { @@ -340,15 +311,15 @@ bool SimBall::update(SSLProto::SSL_DetectionBall *ball, float stddev, float stdd enableInvisibleBall, visibilityThreshold, positionOffset); } -bool SimBall::addDetection(SSLProto::SSL_DetectionBall *ball, btVector3 pos, float stddev, +bool SimBall::addDetection(SSLProto::SSL_DetectionBall &ball, btVector3 pos, float stddev, float stddevArea, const btVector3 &cameraPosition, bool enableInvisibleBall, float visibilityThreshold, btVector3 positionOffset) { // setup ssl-vision ball detection - ball->set_confidence(1.0f); - ball->set_pixel_x(0.0f); - ball->set_pixel_y(0.0f); + ball.set_confidence(1.0f); + ball.set_pixel_x(0.0f); + ball.set_pixel_y(0.0f); btTransform transform; m_motionState->getWorldTransform(transform); @@ -365,7 +336,7 @@ bool SimBall::addDetection(SSLProto::SSL_DetectionBall *ball, btVector3 pos, flo { // if the visibility is lower than the threshold the ball disappears visibility = positionOfVisiblePixels(pos, transform.getOrigin(), - simulatorCameraPosition, m_world); + simulatorCameraPosition, m_world.get()); if (visibility < visibilityThreshold) { return false; @@ -398,21 +369,15 @@ bool SimBall::addDetection(SSLProto::SSL_DetectionBall *ball, btVector3 pos, flo float area = visibility * std::max(0.0f, (basePixelArea + - static_cast(m_rng->normal(stddevArea)) / PIXEL_PER_AREA)); - ball->set_area(area * PIXEL_PER_AREA); - - // if (height > 0.1f) { - // qDebug() << "simball" << p.x() << p.y() << height << "ttt" << ball_x << - // ball_y; - // } + static_cast(m_rng.normal(stddevArea)) / PIXEL_PER_AREA)); + ball.set_area(area * PIXEL_PER_AREA); // add noise to coordinates - // to convert from bullet coordinate system to ssl-vision rotate by 90 degree - // ccw - const ErForceVector noise = m_rng->normalVector(stddev); - coordinates::toVision(ErForceVector(modX, modY) + noise, *ball); + // to convert from bullet coordinate system to ssl-vision rotate by 90 degree ccw + const ErForceVector noise = m_rng.normalVector(stddev); + coordinates::toVision(ErForceVector(modX, modY) + noise, ball); - ball->set_z(modZ * 1000); // modZ is in kilometres, need to convert to metres + ball.set_z(modZ * 1000); // modZ is in kilometres, need to convert to metres return true; } @@ -433,21 +398,21 @@ btVector3 SimBall::speed() const return m_body->getLinearVelocity(); } -void SimBall::writeBallState(world::SimBall *ball) const +void SimBall::writeBallState(world::SimBall &ball) const { const btVector3 ballPosition = m_body->getWorldTransform().getOrigin() / SIMULATOR_SCALE; - ball->set_p_x(ballPosition.getX()); - ball->set_p_y(ballPosition.getY()); - ball->set_p_z(ballPosition.getZ()); + ball.set_p_x(ballPosition.getX()); + ball.set_p_y(ballPosition.getY()); + ball.set_p_z(ballPosition.getZ()); const btVector3 ballSpeed = speed() / SIMULATOR_SCALE; - ball->set_v_x(ballSpeed.getX()); - ball->set_v_y(ballSpeed.getY()); - ball->set_v_z(ballSpeed.getZ()); + ball.set_v_x(ballSpeed.getX()); + ball.set_v_y(ballSpeed.getY()); + ball.set_v_z(ballSpeed.getZ()); const btVector3 angularVelocity = m_body->getAngularVelocity(); - ball->set_angular_x(angularVelocity.x()); - ball->set_angular_y(angularVelocity.y()); - ball->set_angular_z(angularVelocity.z()); + ball.set_angular_x(angularVelocity.x()); + ball.set_angular_y(angularVelocity.y()); + ball.set_angular_z(angularVelocity.z()); } void SimBall::restoreState(const world::SimBall &ball) @@ -479,8 +444,4 @@ void SimBall::kick(const btVector3 &power) { m_body->activate(); m_body->applyCentralForce(power); - // btTransform transform; - // m_motionState->getWorldTransform(transform); - // const btVector3 p = transform.getOrigin() / SIMULATOR_SCALE; - // qDebug() << "kick at" << p.x() << p.y(); } diff --git a/src/extlibs/er_force_sim/src/amun/simulator/simball.h b/src/extlibs/er_force_sim/src/amun/simulator/simball.h index a7000400a6..1d9022c837 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/simball.h +++ b/src/extlibs/er_force_sim/src/amun/simulator/simball.h @@ -23,78 +23,83 @@ #include -#include - +#include "extlibs/er_force_sim/src/core/rng.h" #include "extlibs/er_force_sim/src/protobuf/command.pb.h" -#include "extlibs/er_force_sim/src/protobuf/sslsim.h" +#include "extlibs/er_force_sim/src/protobuf/world.pb.h" +#include "proto/ssl_vision_detection.pb.h" #include "shared/constants.h" -#include "simfield.h" - -class RNG; -namespace SSLProto -{ - class SSL_DetectionBall; -} namespace camun { namespace simulator { class SimBall; - enum class ErrorSource; } // namespace simulator } // namespace camun -class camun::simulator::SimBall : public QObject +class camun::simulator::SimBall { - Q_OBJECT public: - SimBall(RNG *rng, btDiscreteDynamicsWorld *world); + SimBall(std::shared_ptr world); ~SimBall(); - SimBall(const SimBall &) = delete; - SimBall &operator=(const SimBall &) = delete; - - signals: - void sendSSLSimError(const SSLSimError &error, ErrorSource s); public: /** - * processes velocity and forces to be applied on the ball - * @param robot_collision whether the ball collides with a robot in this simulation - * tick + * Processes velocity and forces to be applied on the ball + * + * @param robot_collision whether the ball collides with a robot in + * this simulation tick */ void begin(bool robot_collision); - bool update(SSLProto::SSL_DetectionBall *ball, float stddev, float stddevArea, + + bool update(SSLProto::SSL_DetectionBall &ball, float stddev, float stddevArea, const btVector3 &cameraPosition, bool enableInvisibleBall, float visibilityThreshold, btVector3 positionOffset); + void move(const sslsim::TeleportBall &ball); + void kick(const btVector3 &power); - // returns the ball position projected onto the floor (z component is not included) + + /** + * Returns the ball's position projected onto the floor (z component is not included) + * + * @return the ball position + */ btVector3 position() const; + + /** + * Returns the ball's linear velocity + * + * @return the ball velocity + */ btVector3 speed() const; - void writeBallState(world::SimBall *ball) const; + + void writeBallState(world::SimBall &ball) const; + void restoreState(const world::SimBall &ball); + btRigidBody *body() const { - return m_body; + return m_body.get(); } + bool isInvalid() const; // can be used to add ball mis-detections - bool addDetection(SSLProto::SSL_DetectionBall *ball, btVector3 pos, float stddev, + bool addDetection(SSLProto::SSL_DetectionBall &ball, btVector3 pos, float stddev, float stddevArea, const btVector3 &cameraPosition, bool enableInvisibleBall, float visibilityThreshold, btVector3 positionOffset); private: - RNG *m_rng; - btDiscreteDynamicsWorld *m_world; - btCollisionShape *m_sphere; - btRigidBody *m_body; - btMotionState *m_motionState; + RNG m_rng; + std::shared_ptr m_world; + std::unique_ptr m_sphere; + std::unique_ptr m_body; + std::unique_ptr m_motionState; sslsim::TeleportBall m_move; - double rolling_speed; - bool set_transition_speed; + double m_rolling_speed; + bool m_set_transition_speed; enum BallState { @@ -103,7 +108,8 @@ class camun::simulator::SimBall : public QObject SLIDING, ROLLING }; - BallState current_ball_state; + + BallState m_current_ball_state; }; #endif // SIMBALL_H diff --git a/src/extlibs/er_force_sim/src/amun/simulator/simfield.cpp b/src/extlibs/er_force_sim/src/amun/simulator/simfield.cpp index 78b4e9e510..38acbaff55 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/simfield.cpp +++ b/src/extlibs/er_force_sim/src/amun/simulator/simfield.cpp @@ -24,109 +24,99 @@ using namespace camun::simulator; -SimField::SimField(btDiscreteDynamicsWorld *world, const world::Geometry &geometry) +SimField::SimField(std::shared_ptr world, + const world::Geometry &geometry) : m_world(world) { const float totalWidth = geometry.field_width() / 2.0f + geometry.boundary_width(); const float totalHeight = geometry.field_height() / 2.0f + geometry.boundary_width(); - // upper boundary - const float roomHeight = 8.0f; - const float height = geometry.field_height() / 2.0f - geometry.line_width(); + const float roomHeight = 8.0f; // Upper boundary of "room" that the field lives in + const float height = geometry.field_height() / 2.0f - geometry.line_width(); const float goalWidthHalf = geometry.goal_width() / 2.0f + geometry.goal_wall_width(); const float goalHeightHalf = geometry.goal_height() / 2.0f; const float goalDepth = geometry.goal_depth() + geometry.goal_wall_width(); const float goalDepthHalf = goalDepth / 2.0f; const float goalWallHalf = geometry.goal_wall_width() / 2.0f; - // obstacle prototypes - m_plane = new btStaticPlaneShape(btVector3(0, 0, 1), 0); - m_goalSide = new btBoxShape(btVector3(goalWallHalf, goalDepthHalf, goalHeightHalf) * - SIMULATOR_SCALE); - m_goalBack = new btBoxShape(btVector3(goalWidthHalf, goalWallHalf, goalHeightHalf) * - SIMULATOR_SCALE); + // Collision shapes + m_plane = std::make_unique(btVector3(0, 0, 1), 0); + m_goalSide = std::make_unique( + btVector3(goalWallHalf, goalDepthHalf, goalHeightHalf) * SIMULATOR_SCALE); + m_goalBack = std::make_unique( + btVector3(goalWidthHalf, goalWallHalf, goalHeightHalf) * SIMULATOR_SCALE); - // build field cube - // floor - addObject(m_plane, + // Create the "room" that the field lives in + // Floor + addObject(m_plane.get(), btTransform(btQuaternion(btVector3(1, 0, 0), 0), btVector3(0, 0, 0) * SIMULATOR_SCALE), 0.56, 0.35); - // others - addObject(m_plane, + // Roof + addObject(m_plane.get(), btTransform(btQuaternion(btVector3(1, 0, 0), M_PI), btVector3(0, 0, roomHeight) * SIMULATOR_SCALE), 0.3, 0.35); - - addObject(m_plane, + // Walls + addObject(m_plane.get(), btTransform(btQuaternion(btVector3(1, 0, 0), M_PI_2), btVector3(0, totalHeight, 0) * SIMULATOR_SCALE), 0.3, 0.35); - addObject(m_plane, + addObject(m_plane.get(), btTransform(btQuaternion(btVector3(1, 0, 0), -M_PI_2), btVector3(0, -totalHeight, 0) * SIMULATOR_SCALE), 0.3, 0.35); - - addObject(m_plane, + addObject(m_plane.get(), btTransform(btQuaternion(btVector3(0, 1, 0), M_PI_2), btVector3(-totalWidth, 0, 0) * SIMULATOR_SCALE), 0.3, 0.35); - addObject(m_plane, + addObject(m_plane.get(), btTransform(btQuaternion(btVector3(0, 1, 0), -M_PI_2), btVector3(totalWidth, 0, 0) * SIMULATOR_SCALE), 0.3, 0.35); - // create goals - for (int goal = 0; goal < 2; goal++) + // Create goals + for (const float side : {-1.0f, 1.0f}) { - const float side = (goal == 0) ? -1.0f : 1.0f; - const btQuaternion rot = btQuaternion::getIdentity(); - - addObject( - m_goalSide, - btTransform(rot, btVector3((goalWidthHalf - goalWallHalf), - side * (height + goalDepthHalf), goalHeightHalf) * - SIMULATOR_SCALE), - 0.3, 0.5); - addObject( - m_goalSide, - btTransform(rot, btVector3(-(goalWidthHalf - goalWallHalf), - side * (height + goalDepthHalf), goalHeightHalf) * - SIMULATOR_SCALE), - 0.3, 0.5); - addObject( - m_goalBack, - btTransform(rot, btVector3(0.0f, side * (height + goalDepth - goalWallHalf), - goalHeightHalf) * - SIMULATOR_SCALE), - 0.1, 0.5); + addObject(m_goalSide.get(), + btTransform(btQuaternion::getIdentity(), + btVector3((goalWidthHalf - goalWallHalf), + side * (height + goalDepthHalf), goalHeightHalf) * + SIMULATOR_SCALE), + 0.3, 0.5); + addObject(m_goalSide.get(), + btTransform(btQuaternion::getIdentity(), + btVector3(-(goalWidthHalf - goalWallHalf), + side * (height + goalDepthHalf), goalHeightHalf) * + SIMULATOR_SCALE), + 0.3, 0.5); + addObject(m_goalBack.get(), + btTransform(btQuaternion::getIdentity(), + btVector3(0.0f, side * (height + goalDepth - goalWallHalf), + goalHeightHalf) * + SIMULATOR_SCALE), + 0.1, 0.5); } } SimField::~SimField() { - foreach (btCollisionObject *object, m_objects) + for (const auto &object : m_objects) { - m_world->removeCollisionObject(object); - delete object; + m_world->removeCollisionObject(object.get()); } - - delete m_goalSide; - delete m_goalBack; - delete m_plane; } void SimField::addObject(btCollisionShape *shape, const btTransform &transform, float restitution, float friction) { - // create new obstacle - btCollisionObject *object = new btCollisionObject; + std::unique_ptr object = std::make_unique(); + object->setCollisionShape(shape); - // damp ball a bit if it hits an obstacle + object->setWorldTransform(transform); object->setRestitution(restitution); - // the friction is multiplied with the colliding obstacle ones object->setFriction(friction); object->setRollingFriction(friction); - object->setWorldTransform(transform); - m_world->addCollisionObject(object); - m_objects.append(object); + + m_world->addCollisionObject(object.get()); + m_objects.push_back(std::move(object)); } diff --git a/src/extlibs/er_force_sim/src/amun/simulator/simfield.h b/src/extlibs/er_force_sim/src/amun/simulator/simfield.h index 8582be8a21..b7743d2f43 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/simfield.h +++ b/src/extlibs/er_force_sim/src/amun/simulator/simfield.h @@ -23,8 +23,6 @@ #include -#include - #include "extlibs/er_force_sim/src/protobuf/world.pb.h" namespace camun @@ -32,27 +30,26 @@ namespace camun namespace simulator { class SimField; - } + } // namespace simulator } // namespace camun class camun::simulator::SimField { public: - SimField(btDiscreteDynamicsWorld *world, const world::Geometry &geometry); + SimField(std::shared_ptr world, + const world::Geometry &geometry); ~SimField(); - SimField(const SimField &) = delete; - SimField &operator=(const SimField &) = delete; private: void addObject(btCollisionShape *shape, const btTransform &transform, float restitution, float friction); private: - btDiscreteDynamicsWorld *m_world; - btCollisionShape *m_plane; - btCollisionShape *m_goalSide; - btCollisionShape *m_goalBack; - QList m_objects; + std::shared_ptr m_world; + std::unique_ptr m_plane; + std::unique_ptr m_goalSide; + std::unique_ptr m_goalBack; + std::vector> m_objects; }; #endif // SIMFIELD_H diff --git a/src/extlibs/er_force_sim/src/amun/simulator/simrobot.cpp b/src/extlibs/er_force_sim/src/amun/simulator/simrobot.cpp index ddd3767992..571dfd38e9 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/simrobot.cpp +++ b/src/extlibs/er_force_sim/src/amun/simulator/simrobot.cpp @@ -20,57 +20,51 @@ #include "simrobot.h" +#include #include #include "extlibs/er_force_sim/src/core/coordinates.h" -#include "extlibs/er_force_sim/src/core/rng.h" -#include "mesh.h" -#include "proto/ssl_vision_detection.pb.h" -#include "simball.h" +#include "robotmesh.h" #include "simulator.h" using namespace camun::simulator; const float MAX_SPEED = 1000; -float boundSpeed(float speed) -{ - return qBound(-MAX_SPEED, speed, MAX_SPEED); -} - -SimRobot::SimRobot(RNG *rng, const robot::Specs &specs, btDiscreteDynamicsWorld *world, - const btVector3 &pos, float dir) - : m_rng(rng), - m_specs(specs), +SimRobot::SimRobot(const robot::Specs &specs, + std::shared_ptr world, const btVector3 &pos, + float dir) + : m_specs(specs), m_world(world), m_charge(false), m_isCharged(false), m_inStandby(false), m_shootTime(0.0), m_commandTime(0.0), - error_sum_v_s(0), - error_sum_v_f(0), - error_sum_omega(0) + m_error_sum_v_s(0), + m_error_sum_v_f(0), + m_error_sum_omega(0) { - btCompoundShape *wholeShape = new btCompoundShape; + std::unique_ptr wholeShape = std::make_unique(); btTransform robotShapeTransform; robotShapeTransform.setIdentity(); // subtract collision margin from dimensions - Mesh mesh(m_specs.radius() - COLLISION_MARGIN / SIMULATOR_SCALE, - m_specs.height() - 2 * COLLISION_MARGIN / SIMULATOR_SCALE, m_specs.angle(), - 0.04f, m_specs.dribbler_height() + 0.02f); - for (const QList &hullPart : mesh.hull()) + auto mesh = + createRobotMesh(m_specs.radius() - COLLISION_MARGIN / SIMULATOR_SCALE, + m_specs.height() - 2 * COLLISION_MARGIN / SIMULATOR_SCALE, + m_specs.angle(), 0.04f, m_specs.dribbler_height() + 0.02f); + for (const auto &hullPart : mesh) { - btConvexHullShape *hullPartShape = new btConvexHullShape; - m_shapes.append(hullPartShape); - for (const QVector3D &v : hullPart) + std::unique_ptr hullPartShape = + std::make_unique(); + for (const auto &[x, y, z] : hullPart) { - hullPartShape->addPoint(btVector3(v.x(), v.y(), v.z()) * SIMULATOR_SCALE); + hullPartShape->addPoint(btVector3(x, y, z) * SIMULATOR_SCALE); } - wholeShape->addChildShape(robotShapeTransform, hullPartShape); + wholeShape->addChildShape(robotShapeTransform, hullPartShape.get()); + m_shapes.push_back(std::move(hullPartShape)); } - m_shapes.append(wholeShape); btTransform startWorldTransform; startWorldTransform.setIdentity(); @@ -78,24 +72,25 @@ SimRobot::SimRobot(RNG *rng, const robot::Specs &specs, btDiscreteDynamicsWorld SIMULATOR_SCALE); startWorldTransform.setOrigin(robotBasePos); startWorldTransform.setRotation(btQuaternion(btVector3(0, 0, 1), dir - M_PI_2)); - m_motionState = new btDefaultMotionState(startWorldTransform); + m_motionState = std::make_unique(startWorldTransform); // set robot dynamics and move to start position btVector3 localInertia(0, 0, 0); const float robotMassProportion = 49.0f / 50.0f; wholeShape->calculateLocalInertia(robotMassProportion * m_specs.mass(), localInertia); - btRigidBody::btRigidBodyConstructionInfo rbInfo( - robotMassProportion * m_specs.mass(), m_motionState, wholeShape, localInertia); + btRigidBody::btRigidBodyConstructionInfo rbInfo(robotMassProportion * m_specs.mass(), + m_motionState.get(), wholeShape.get(), + localInertia); - m_body = new btRigidBody(rbInfo); + m_body = std::make_unique(rbInfo); // see simulator.cpp m_body->setRestitution(0.6f); m_body->setFriction(0.22f); - m_world->addRigidBody(m_body); + m_world->addRigidBody(m_body.get()); - btCylinderShape *dribblerShape = new btCylinderShapeX( + std::unique_ptr dribblerShape = std::make_unique( btVector3(m_specs.dribbler_width() / 2.0f, 0.007f, 0.007f) * SIMULATOR_SCALE); - m_shapes.append(dribblerShape); + // WARNING: hack, instead of 0.02 should be the dribbler height // the ball seems to get instable if the dribbler is at correct height // possibly the ball gets 'sucked' onto the robot @@ -111,15 +106,14 @@ SimRobot::SimRobot(RNG *rng, const robot::Specs &specs, btDiscreteDynamicsWorld dribblerShape->calculateLocalInertia((1 - robotMassProportion) * m_specs.mass(), dribblerInertia); btRigidBody::btRigidBodyConstructionInfo rbDribInfo( - (1 - robotMassProportion) * m_specs.mass(), nullptr, dribblerShape, + (1 - robotMassProportion) * m_specs.mass(), nullptr, dribblerShape.get(), dribblerInertia); rbDribInfo.m_startWorldTransform = dribblerStartTransform; - btRigidBody *dribblerBody = new btRigidBody(rbDribInfo); - dribblerBody->setRestitution(0.2f); - dribblerBody->setFriction(1.5f); - m_dribblerBody = dribblerBody; - m_world->addRigidBody(dribblerBody); + m_dribblerBody = std::make_unique(rbDribInfo); + m_dribblerBody->setRestitution(0.2f); + m_dribblerBody->setFriction(1.5f); + m_world->addRigidBody(m_dribblerBody.get()); btTransform localA, localB; localA.setIdentity(); @@ -127,9 +121,13 @@ SimRobot::SimRobot(RNG *rng, const robot::Specs &specs, btDiscreteDynamicsWorld localA.setOrigin(m_dribblerCenter); localA.setRotation(btQuaternion(btVector3(0, 1, 0), M_PI_2)); localB.setRotation(btQuaternion(btVector3(0, 1, 0), M_PI_2)); - m_dribblerConstraint = new btHingeConstraint(*m_body, *dribblerBody, localA, localB); + m_dribblerConstraint = + std::make_unique(*m_body, *m_dribblerBody, localA, localB); m_dribblerConstraint->enableAngularMotor(false, 0, 0); - m_world->addConstraint(m_dribblerConstraint, true); + m_world->addConstraint(m_dribblerConstraint.get(), true); + + m_shapes.push_back(std::move(wholeShape)); + m_shapes.push_back(std::move(dribblerShape)); } SimRobot::~SimRobot() @@ -138,14 +136,9 @@ SimRobot::~SimRobot() { m_world->removeConstraint(m_holdBallConstraint.get()); } - m_world->removeConstraint(m_dribblerConstraint); - m_world->removeRigidBody(m_dribblerBody); - m_world->removeRigidBody(m_body); - delete m_dribblerConstraint; - delete m_body; - delete m_dribblerBody; - delete m_motionState; - qDeleteAll(m_shapes); + m_world->removeConstraint(m_dribblerConstraint.get()); + m_world->removeRigidBody(m_dribblerBody.get()); + m_world->removeRigidBody(m_body.get()); } void SimRobot::calculateDribblerMove(const btVector3 pos, const btQuaternion rot, @@ -165,7 +158,7 @@ void SimRobot::calculateDribblerMove(const btVector3 pos, const btQuaternion rot m_dribblerBody->setAngularVelocity(btVector3(0, 0, 0)); } -void SimRobot::dribble(SimBall *ball, float speed) +void SimRobot::dribble(const SimBall &ball, float speed) { if (m_perfectDribbler) { @@ -176,12 +169,12 @@ void SimRobot::dribble(SimBall *ball, float speed) localB.setIdentity(); auto worldToRobot = m_body->getWorldTransform().inverse(); - localA.setOrigin(worldToRobot * ball->position()); + localA.setOrigin(worldToRobot * ball.position()); localA.setRotation(btQuaternion(worldToRobot * btVector3(0, 1, 0), M_PI_2)); localB.setRotation(btQuaternion(worldToRobot * btVector3(0, 1, 0), M_PI_2)); - m_holdBallConstraint.reset( - new btHingeConstraint(*m_body, *ball->body(), localA, localB)); + m_holdBallConstraint = std::make_unique( + *m_body, *ball.body(), localA, localB); m_world->addConstraint(m_holdBallConstraint.get(), true); } } @@ -191,7 +184,7 @@ void SimRobot::dribble(SimBall *ball, float speed) const float max_rotation_speed = 150.f / 2 / M_PI * 60; float dribbler = speed / max_rotation_speed; // rad/s is limited to 150 - float boundedDribbler = qBound(0.0f, dribbler, 1.0f); + float boundedDribbler = std::clamp(dribbler, 0.0f, 1.0f); m_dribblerConstraint->enableAngularMotor(true, 150 * boundedDribbler, 20 * boundedDribbler); } @@ -217,7 +210,7 @@ void SimRobot::setDribbleMode(bool perfectDribbler) m_perfectDribbler = perfectDribbler; } -void SimRobot::begin(SimBall *ball, double time) +void SimRobot::begin(SimBall &ball, double time) { m_commandTime += time; m_inStandby = false; @@ -243,20 +236,14 @@ void SimRobot::begin(SimBall *ball, double time) } auto sendPartialCoordError = [this](const std::string &msg) { - SSLSimError error{new sslsim::SimulatorError}; - error->set_code("PARTIAL_COORD"); - std::string message = "Partial coordinates are not implemented yet"; - error->set_message(message + msg); - emit this->sendSSLSimError(error, ErrorSource::CONFIG); + std::cerr << "Partial coordinates are not implemented yet" << msg << std::endl; if (!m_move.has_by_force() || !m_move.by_force()) { m_move.Clear(); } }; bool moveCommand = false; - std::string message = " for robot ("; - message += std::to_string(m_specs.id()); - message += ')'; + std::string message = " for robot (" + std::to_string(m_specs.id()) + ")"; if (m_move.has_x()) { @@ -309,10 +296,7 @@ void SimRobot::begin(SimBall *ball, double time) } if (sendError) { - SSLSimError error{new sslsim::SimulatorError}; - error->set_code("VELOCITY_FORCE"); - error->set_message("Velocities != 0 and by_force are incompatible"); - emit sendSSLSimError(error, ErrorSource::CONFIG); + std::cerr << "Velocities != 0 and by_force are incompatible" << std::endl; return; } } // TODO: check for force and orientation @@ -425,23 +409,23 @@ void SimRobot::begin(SimBall *ball, double time) // we subtract the current speed of the ball from the intended kick speed // this ensures the ball leaves the robot at exactly the speed we want float kickSpeed = 0.0f; - if (ball->speed().length() < kickSpeedBoundThreshold) + if (ball.speed().length() < kickSpeedBoundThreshold) { - kickSpeed = m_sslCommand.kick_speed() - - (ball->speed().length() / SIMULATOR_SCALE); + kickSpeed = + m_sslCommand.kick_speed() - (ball.speed().length() / SIMULATOR_SCALE); } else { kickSpeed = m_sslCommand.kick_speed(); } - power = qBound(0.05f, kickSpeed, m_specs.shot_linear_max()); + power = std::clamp(kickSpeed, 0.05f, m_specs.shot_linear_max()); } else { // FIXME: for now we just recalc the max distance based on the given angle const float maxShootSpeed = coordinates::chipVelFromChipDistance(m_specs.shot_chip_max()); - power = qBound(0.05f, m_sslCommand.kick_speed(), maxShootSpeed); + power = std::clamp(m_sslCommand.kick_speed(), 0.05f, maxShootSpeed); } const auto getSpeedCompensation = [&]() -> float { @@ -453,15 +437,16 @@ void SimRobot::begin(SimBall *ball, double time) { // if the ball hits the robot the chip distance actually decreases const btVector3 relBallSpeed = relativeBallSpeed(ball) / SIMULATOR_SCALE; - return std::max((btScalar)0, relBallSpeed.y()) - - qBound((btScalar)0, (btScalar)0.5 * relBallSpeed.y(), - (btScalar)0.5 * dirFloor); + return std::max(static_cast(0), relBallSpeed.y()) - + std::clamp(static_cast(0.5) * relBallSpeed.y(), + static_cast(0), + static_cast(0.5) * dirFloor); } }; const float speedCompensation = getSpeedCompensation(); - ball->kick(t * btVector3(0, dirFloor * power + speedCompensation, dirUp * power) * - (1.0f / static_cast(time)) * SIMULATOR_SCALE * - static_cast(BALL_MASS_KG)); + ball.kick(t * btVector3(0, dirFloor * power + speedCompensation, dirUp * power) * + (1.0f / static_cast(time)) * SIMULATOR_SCALE * + static_cast(BALL_MASS_KG)); // discharge m_isCharged = false; m_shootTime = 0.0; @@ -478,7 +463,8 @@ void SimRobot::begin(SimBall *ball, double time) float output_omega = m_sslCommand.move_command().local_velocity().angular(); btVector3 v_local(t.inverse() * m_body->getLinearVelocity()); - btVector3 v_d_local(boundSpeed(output_v_s), boundSpeed(output_v_f), 0); + btVector3 v_d_local(std::clamp(output_v_s, -MAX_SPEED, MAX_SPEED), + std::clamp(output_v_f, -MAX_SPEED, MAX_SPEED), 0); float v_f = v_local.y() / SIMULATOR_SCALE; float v_s = v_local.x() / SIMULATOR_SCALE; @@ -486,15 +472,15 @@ void SimRobot::begin(SimBall *ball, double time) const float error_v_s = v_d_local.x() - v_s; const float error_v_f = v_d_local.y() - v_f; - const float error_omega = boundSpeed(output_omega) - omega; + const float error_omega = std::clamp(output_omega, -MAX_SPEED, MAX_SPEED) - omega; - error_sum_v_s += error_v_s; - error_sum_v_f += error_v_f; - error_sum_omega += error_omega; + m_error_sum_v_s += error_v_s; + m_error_sum_v_f += error_v_f; + m_error_sum_omega += error_omega; - const float error_sum_limit = 20.0f; - error_sum_v_s = qBound(-error_sum_limit, error_sum_v_s, error_sum_limit); - error_sum_v_f = qBound(-error_sum_limit, error_sum_v_f, error_sum_limit); + const float m_error_sum_limit = 20.0f; + m_error_sum_v_s = std::clamp(m_error_sum_v_s, -m_error_sum_limit, m_error_sum_limit); + m_error_sum_v_f = std::clamp(m_error_sum_v_f, -m_error_sum_limit, m_error_sum_limit); // (1-(1-linear_damping)^timestep)/timestep - compensates damping const float V = 1.200f; // keep current speed @@ -504,8 +490,8 @@ void SimRobot::begin(SimBall *ball, double time) // as a certain part of the acceleration is required to compensate damping, // the robot will run into a speed limit! bound acceleration the speed limit // is acceleration * accelScale / V - float a_f = V * v_f + K * error_v_f + K_I * error_sum_v_f; - float a_s = V * v_s + K * error_v_s + K_I * error_sum_v_s; + float a_f = V * v_f + K * error_v_f + K_I * m_error_sum_v_f; + float a_s = V * v_s + K * error_v_s + K_I * m_error_sum_v_s; const float accelScale = 2.f; // let robot accelerate / brake faster than the accelerator does @@ -524,7 +510,7 @@ void SimRobot::begin(SimBall *ball, double time) 1.f / time * 0.5f; // correct half the error during each subtimestep const float K_I_phi = /*0*0.2/1000; //*/ 0.f; - const float a_phi = V_phi * omega + K_phi * error_omega + K_I_phi * error_sum_omega; + const float a_phi = V_phi * omega + K_phi * error_omega + K_I_phi * m_error_sum_omega; const float a_phi_bound = bound(a_phi, omega, accelScale * m_specs.strategy().a_speedup_phi_max(), accelScale * m_specs.strategy().a_brake_phi_max()); @@ -546,19 +532,19 @@ float SimRobot::bound(float acceleration, float oldSpeed, float speedupLimit, if ((std::signbit(acceleration) == std::signbit(oldSpeed)) || (oldSpeed == 0)) { // the acceleration needs to be bounded with values for speeding up. - return qBound(-speedupLimit, acceleration, speedupLimit); + return std::clamp(acceleration, -speedupLimit, speedupLimit); } else { // bound braking acceleration, in order to avoid fallover - return qBound(-brakeLimit, acceleration, brakeLimit); + return std::clamp(acceleration, -brakeLimit, brakeLimit); } } -btVector3 SimRobot::relativeBallSpeed(SimBall *ball) const +btVector3 SimRobot::relativeBallSpeed(const SimBall &ball) const { btTransform t = m_body->getWorldTransform(); - const btVector3 ballSpeed = ball->speed(); + const btVector3 ballSpeed = ball.speed(); const btQuaternion robotDir = t.getRotation(); const btVector3 diff = (ballSpeed).rotate(robotDir.getAxis(), -robotDir.getAngle()); @@ -566,9 +552,9 @@ btVector3 SimRobot::relativeBallSpeed(SimBall *ball) const return diff; } -bool SimRobot::canKickBall(SimBall *ball) const +bool SimRobot::canKickBall(const SimBall &ball) const { - const btVector3 ballPos = ball->position(); + const btVector3 ballPos = ball.position(); // can't kick jumping ball if (ballPos.z() > 0.05f * SIMULATOR_SCALE) { @@ -588,8 +574,8 @@ bool SimRobot::canKickBall(SimBall *ball) const m_world->getDispatcher()->getManifoldByIndexInternal(i); btCollisionObject *objectA = (btCollisionObject *)(contactManifold->getBody0()); btCollisionObject *objectB = (btCollisionObject *)(contactManifold->getBody1()); - if ((objectA == m_dribblerBody && objectB == ball->body()) || - (objectA == ball->body() && objectB == m_dribblerBody)) + if ((objectA == m_dribblerBody.get() && objectB == ball.body()) || + (objectA == ball.body() && objectB == m_dribblerBody.get())) { int numContacts = contactManifold->getNumContacts(); for (int j = 0; j < numContacts; ++j) @@ -606,7 +592,7 @@ bool SimRobot::canKickBall(SimBall *ball) const } robot::RadioResponse SimRobot::setCommand(const SSLSimulationProto::RobotCommand &command, - SimBall *ball, bool charge, float rxLoss, + const SimBall &ball, bool charge, float rxLoss, float txLoss) { m_sslCommand = command; @@ -639,31 +625,31 @@ robot::RadioResponse SimRobot::setCommand(const SSLSimulationProto::RobotCommand return response; } -void SimRobot::update(SSLProto::SSL_DetectionRobot *robot, float stddev_p, - float stddev_phi, qint64 time, btVector3 positionOffset) +void SimRobot::update(SSLProto::SSL_DetectionRobot &robot, float stddev_p, + float stddev_phi, int64_t time, btVector3 positionOffset) { // setup vision packet - robot->set_robot_id(m_specs.id()); - robot->set_confidence(1.0); - robot->set_pixel_x(0); - robot->set_pixel_y(0); + robot.set_robot_id(m_specs.id()); + robot.set_confidence(1.0); + robot.set_pixel_x(0); + robot.set_pixel_y(0); // add noise btTransform transform; m_motionState->getWorldTransform(transform); const btVector3 p = transform.getOrigin() / SIMULATOR_SCALE + positionOffset; - const ErForceVector p_noise = m_rng->normalVector(stddev_p); - robot->set_x((p.y() + p_noise.x) * 1000.0f); - robot->set_y(-(p.x() + p_noise.y) * 1000.0f); + const ErForceVector p_noise = m_rng.normalVector(stddev_p); + robot.set_x((p.y() + p_noise.x) * 1000.0f); + robot.set_y(-(p.x() + p_noise.y) * 1000.0f); const btQuaternion q = transform.getRotation(); const btVector3 dir = btMatrix3x3(q).getColumn(0); - robot->set_orientation(atan2(dir.y(), dir.x()) + m_rng->normal(stddev_phi)); + robot.set_orientation(atan2(dir.y(), dir.x()) + m_rng.normal(stddev_phi)); m_lastSendTime = time; } -bool SimRobot::touchesBall(SimBall *ball) const +bool SimRobot::touchesBall(const SimBall &ball) const { // for some reason btHingeConstraints, which is used when dribbling, are not always // detected as contact by bullet. so if the ball is being dribbled then we assume it @@ -684,10 +670,10 @@ bool SimRobot::touchesBall(SimBall *ball) const // determine if the two objects are the ball and robot body/dribbler btCollisionObject *objectA = (btCollisionObject *)(contact_manifold->getBody0()); btCollisionObject *objectB = (btCollisionObject *)(contact_manifold->getBody1()); - if ((objectA == m_dribblerBody && objectB == ball->body()) || - (objectA == ball->body() && objectB == m_dribblerBody) || - (objectA == m_body && objectB == ball->body()) || - (objectA == ball->body() && objectB == m_body)) + if ((objectA == m_dribblerBody.get() && objectB == ball.body()) || + (objectA == ball.body() && objectB == m_dribblerBody.get()) || + (objectA == m_body.get() && objectB == ball.body()) || + (objectA == ball.body() && objectB == m_body.get())) { // check if the points are in contact now int num_contacts = contact_manifold->getNumContacts(); @@ -705,18 +691,18 @@ bool SimRobot::touchesBall(SimBall *ball) const return false; } -void SimRobot::update(world::SimRobot *robot, SimBall *ball) const +void SimRobot::update(world::SimRobot &robot, const SimBall &ball) const { btTransform transform; m_motionState->getWorldTransform(transform); const btVector3 position = transform.getOrigin() / SIMULATOR_SCALE; - robot->set_p_x(position.x()); - robot->set_p_y(position.y()); - robot->set_p_z(position.z()); - robot->set_id(m_specs.id()); + robot.set_p_x(position.x()); + robot.set_p_y(position.y()); + robot.set_p_z(position.z()); + robot.set_id(m_specs.id()); const btQuaternion q = transform.getRotation(); - auto *rotation = robot->mutable_rotation(); + auto *rotation = robot.mutable_rotation(); rotation->set_real(q.getX()); rotation->set_i(q.getY()); rotation->set_j(q.getZ()); @@ -727,17 +713,17 @@ void SimRobot::update(world::SimRobot *robot, SimBall *ball) const float y = 0; float z = 0; q.getEulerZYX(z, y, x); - robot->set_angle(z); + robot.set_angle(z); const btVector3 velocity = m_body->getLinearVelocity() / SIMULATOR_SCALE; - robot->set_v_x(velocity.x()); - robot->set_v_y(velocity.y()); - robot->set_v_z(velocity.z()); + robot.set_v_x(velocity.x()); + robot.set_v_y(velocity.y()); + robot.set_v_z(velocity.z()); const btVector3 angular = m_body->getAngularVelocity(); - robot->set_r_x(angular.x()); - robot->set_r_y(angular.y()); - robot->set_r_z(angular.z()); + robot.set_r_x(angular.x()); + robot.set_r_y(angular.y()); + robot.set_r_z(angular.z()); bool ballTouchesRobot = false; int numManifolds = m_world->getDispatcher()->getNumManifolds(); @@ -747,15 +733,15 @@ void SimRobot::update(world::SimRobot *robot, SimBall *ball) const m_world->getDispatcher()->getManifoldByIndexInternal(i); btCollisionObject *objectA = (btCollisionObject *)(contactManifold->getBody0()); btCollisionObject *objectB = (btCollisionObject *)(contactManifold->getBody1()); - if ((objectA == m_dribblerBody && objectB == ball->body()) || - (objectA == ball->body() && objectB == m_dribblerBody) || - (objectA == m_body && objectB == ball->body()) || - (objectA == ball->body() && objectB == m_body)) + if ((objectA == m_dribblerBody.get() && objectB == ball.body()) || + (objectA == ball.body() && objectB == m_dribblerBody.get()) || + (objectA == m_body.get() && objectB == ball.body()) || + (objectA == ball.body() && objectB == m_body.get())) { ballTouchesRobot = true; } } - robot->set_touches_ball(ballTouchesRobot); + robot.set_touches_ball(ballTouchesRobot); } void SimRobot::restoreState(const world::SimRobot &robot) diff --git a/src/extlibs/er_force_sim/src/amun/simulator/simrobot.h b/src/extlibs/er_force_sim/src/amun/simulator/simrobot.h index 89c60002cb..c156f80ee5 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/simrobot.h +++ b/src/extlibs/er_force_sim/src/amun/simulator/simrobot.h @@ -23,62 +23,62 @@ #include -#include - +#include "extlibs/er_force_sim/src/core/rng.h" #include "extlibs/er_force_sim/src/protobuf/command.pb.h" #include "extlibs/er_force_sim/src/protobuf/robot.pb.h" -#include "extlibs/er_force_sim/src/protobuf/sslsim.h" +#include "extlibs/er_force_sim/src/protobuf/world.pb.h" #include "proto/ssl_simulation_robot_control.pb.h" - -class RNG; -namespace SSLProto -{ - class SSL_DetectionRobot; -} +#include "proto/ssl_vision_detection.pb.h" +#include "simball.h" namespace camun { namespace simulator { - class SimBall; class SimRobot; - enum class ErrorSource; } // namespace simulator } // namespace camun -class camun::simulator::SimRobot : public QObject +class camun::simulator::SimRobot { - Q_OBJECT public: - SimRobot(RNG *rng, const robot::Specs &specs, btDiscreteDynamicsWorld *world, + SimRobot(const robot::Specs &specs, std::shared_ptr world, const btVector3 &pos, float dir); ~SimRobot(); - SimRobot(const SimRobot &) = delete; - SimRobot &operator=(const SimRobot &) = delete; - - signals: - void sendSSLSimError(const SSLSimError &error, ErrorSource s); public: - void begin(SimBall *ball, double time); - bool canKickBall(SimBall *ball) const; - void tryKick(SimBall *ball, float power, double time); + void begin(SimBall &ball, double time); + + bool canKickBall(const SimBall &ball) const; + + void tryKick(const SimBall &ball, float power, double time); + robot::RadioResponse setCommand(const SSLSimulationProto::RobotCommand &command, - SimBall *ball, bool charge, float rxLoss, + const SimBall &ball, bool charge, float rxLoss, float txLoss); - void update(SSLProto::SSL_DetectionRobot *robot, float stddev_p, float stddev_phi, - qint64 time, btVector3 positionOffset); - void update(world::SimRobot *robot, SimBall *ball) const; + + void update(SSLProto::SSL_DetectionRobot &robot, float stddev_p, float stddev_phi, + int64_t time, btVector3 positionOffset); + + void update(world::SimRobot &robot, const SimBall &ball) const; + void restoreState(const world::SimRobot &robot); + void move(const sslsim::TeleportRobot &robot); + bool isFlipped(); + btVector3 position() const; + btVector3 dribblerCorner(bool left) const; - qint64 getLastSendTime() const + + int64_t getLastSendTime() const { return m_lastSendTime; } + void setDribbleMode(bool perfectDribbler); + void stopDribbling(); const robot::Specs &specs() const @@ -92,34 +92,27 @@ class camun::simulator::SimRobot : public QObject * @param ball the ball in play * @return true if the ball is in contact with the robot, false otherwise */ - bool touchesBall(SimBall *ball) const; + bool touchesBall(const SimBall &ball) const; private: - btVector3 relativeBallSpeed(SimBall *ball) const; + btVector3 relativeBallSpeed(const SimBall &ball) const; float bound(float acceleration, float oldSpeed, float speedupLimit, float brakeLimit) const; void calculateDribblerMove(const btVector3 pos, const btQuaternion rot, const btVector3 linVel, float omega); - void dribble(SimBall *ball, float speed); + void dribble(const SimBall &ball, float speed); - RNG *m_rng; + RNG m_rng; robot::Specs m_specs; - btDiscreteDynamicsWorld *m_world; - btRigidBody *m_body; - btRigidBody *m_dribblerBody; - btHingeConstraint *m_dribblerConstraint; - QList m_shapes; - btMotionState *m_motionState; - btVector3 m_dribblerCenter; + std::shared_ptr m_world; + std::unique_ptr m_body; + std::unique_ptr m_dribblerBody; + std::unique_ptr m_dribblerConstraint; + std::vector> m_shapes; + std::unique_ptr m_motionState; std::unique_ptr m_holdBallConstraint; - - struct Wheel - { - float angle; - btVector3 pos; - btVector3 dir; - }; + btVector3 m_dribblerCenter; sslsim::TeleportRobot m_move; SSLSimulationProto::RobotCommand m_sslCommand; @@ -129,13 +122,13 @@ class camun::simulator::SimRobot : public QObject double m_shootTime; double m_commandTime; - float error_sum_v_s; - float error_sum_v_f; - float error_sum_omega; + float m_error_sum_v_s; + float m_error_sum_v_f; + float m_error_sum_omega; bool m_perfectDribbler = false; - qint64 m_lastSendTime = 0; + int64_t m_lastSendTime = 0; }; #endif // SIMROBOT_H diff --git a/src/extlibs/er_force_sim/src/amun/simulator/simulator.cpp b/src/extlibs/er_force_sim/src/amun/simulator/simulator.cpp index 2058c8a3ae..a37333174e 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/simulator.cpp +++ b/src/extlibs/er_force_sim/src/amun/simulator/simulator.cpp @@ -20,135 +20,52 @@ #include "simulator.h" -#include -#include -#include -#include #include #include -#include "erroraggregator.h" #include "extlibs/er_force_sim/src/core/coordinates.h" -#include "extlibs/er_force_sim/src/core/rng.h" #include "extlibs/er_force_sim/src/protobuf/geometry.h" -#include "simball.h" -#include "simfield.h" -#include "simrobot.h" - using namespace camun::simulator; -/* Friction and restitution between robots, ball and field: (empirical - * measurments) Ball vs. Robot: Restitution: about 0.60 Friction: trial and - * error in simulator 0.18 (similar results as in reality) - * - * Ball vs. Floor: - * Restitution: sqrt(h'/h) = sqrt(0.314) = 0.56 - * Friction: \mu_k = -a / g (while slipping) = 0.35 - * - * Robot vs. Floor: - * Restitution and Friction should be as low as possible - * - * Calculations: - * Variables: r: restitution, f: friction - * Indices: b: ball; f: floor; r: robot - * - * r_b * r_f = 0.56 - * r_b * r_r = 0.60 - * r_f * r_r = small - * => r_b = 1; r_f = 0.56; r_r = 0.60 - * - * f_b * f_f = 0.35 - * f_b * f_r = 0.22 - * f_f * f_r = very small - * => f_b = 1; f_f = 0.35; f_r = 0.22 - */ - -struct camun::simulator::SimulatorData -{ - RNG rng; - btDefaultCollisionConfiguration *collision; - btCollisionDispatcher *dispatcher; - btBroadphaseInterface *overlappingPairCache; - btSequentialImpulseConstraintSolver *solver; - btDiscreteDynamicsWorld *dynamicsWorld; - world::Geometry geometry; - QVector reportedCameraSetup; - QVector cameraPositions; - SimField *field; - SimBall *ball; - Simulator::RobotMap robotsBlue; - Simulator::RobotMap robotsYellow; - QMap specsBlue; - QMap specsYellow; - bool flip; - float stddevBall; - float stddevBallArea; - float stddevRobot; - float stddevRobotPhi; - float ballDetectionsAtDribbler; // per robot per second - bool enableInvisibleBall; - float ballVisibilityThreshold; - float cameraOverlap; - float cameraPositionError; - float objectPositionOffset; - float robotCommandPacketLoss; - float robotReplyPacketLoss; - float missingBallDetections; - bool dribblePerfect; -}; - -static void simulatorTickCallback(btDynamicsWorld *world, btScalar timeStep) -{ - Simulator *sim = reinterpret_cast(world->getWorldUserInfo()); - sim->handleSimulatorTick(timeStep); -} - -/*! - * \class Simulator - * \ingroup simulator - * \brief %Simulator interface - */ - Simulator::Simulator(const amun::SimulatorSetup &setup) - : m_time(0), - m_lastSentStatusTime(0), + : m_data(std::make_unique()), m_enabled(false), m_charge(true), + m_time(0), m_visionDelay(35 * 1000 * 1000), - m_visionProcessingTime(5 * 1000 * 1000), - m_aggregator(new ErrorAggregator(this)) + m_visionProcessingTime(5 * 1000 * 1000) { - // setup bullet - m_data = new SimulatorData; - m_data->collision = new btDefaultCollisionConfiguration(); - m_data->dispatcher = new btCollisionDispatcher(m_data->collision); - m_data->overlappingPairCache = new btDbvtBroadphase(); - m_data->solver = new btSequentialImpulseConstraintSolver; - m_data->dynamicsWorld = - new btDiscreteDynamicsWorld(m_data->dispatcher, m_data->overlappingPairCache, - m_data->solver, m_data->collision); + m_data->collision = std::make_unique(); + m_data->dispatcher = std::make_unique(m_data->collision.get()); + m_data->overlappingPairCache = std::make_unique(); + m_data->solver = std::make_unique(); + m_data->dynamicsWorld = std::make_shared( + m_data->dispatcher.get(), m_data->overlappingPairCache.get(), + m_data->solver.get(), m_data->collision.get()); m_data->dynamicsWorld->setGravity(btVector3(0.0f, 0.0f, -9.81f * SIMULATOR_SCALE)); - m_data->dynamicsWorld->setInternalTickCallback(simulatorTickCallback, this, true); + m_data->dynamicsWorld->setInternalTickCallback( + [](btDynamicsWorld *world, btScalar timeStep) { + Simulator *sim = reinterpret_cast(world->getWorldUserInfo()); + sim->handleSimulatorTick(timeStep); + }, + this, true); m_data->geometry.CopyFrom(setup.geometry()); for (const auto &camera : setup.camera_setup()) { - m_data->reportedCameraSetup.append(camera); + m_data->reportedCameraSetup.push_back(camera); ErForceVector visionPosition(camera.derived_camera_world_tx(), camera.derived_camera_world_ty()); btVector3 truePosition; coordinates::fromVision(visionPosition, truePosition); truePosition.setZ(camera.derived_camera_world_tz() / 1000.0f); - m_data->cameraPositions.append(truePosition); + m_data->cameraPositions.push_back(truePosition); } - // add field and ball - m_data->field = new SimField(m_data->dynamicsWorld, m_data->geometry); - m_data->ball = new SimBall(&m_data->rng, m_data->dynamicsWorld); - connect(m_data->ball, &SimBall::sendSSLSimError, m_aggregator, - &ErrorAggregator::aggregate); - m_data->flip = false; + m_data->field = std::make_unique(m_data->dynamicsWorld, m_data->geometry); + m_data->ball = std::make_shared(m_data->dynamicsWorld); + m_data->flip = false; m_data->stddevBall = 0.0f; m_data->stddevBallArea = 0.0f; m_data->stddevRobot = 0.0f; @@ -167,32 +84,6 @@ Simulator::Simulator(const amun::SimulatorSetup &setup) // no robots after initialisation } -// does delete all Simrobots in the RobotMap, does not clear map -// (just like qDeleteAll would) -static void deleteAll(const Simulator::RobotMap &map) -{ - for (const auto &e : map) - { - delete e.first; - } -} - -Simulator::~Simulator() -{ - resetVisionPackets(); - - deleteAll(m_data->robotsBlue); - deleteAll(m_data->robotsYellow); - delete m_data->ball; - delete m_data->field; - delete m_data->dynamicsWorld; - delete m_data->solver; - delete m_data->overlappingPairCache; - delete m_data->dispatcher; - delete m_data->collision; - delete m_data; -} - std::vector Simulator::acceptBlueRobotControlCommand( const SSLSimulationProto::RobotControl &control) { @@ -211,65 +102,35 @@ std::vector Simulator::acceptRobotControlCommand( // collect responses from robots std::vector responses; + Simulator::RobotMap &robotMap = isBlue ? m_data->robotsBlue : m_data->robotsYellow; + for (const SSLSimulationProto::RobotCommand &command : control.robot_commands()) { - // pass radio command to robot that matches the id - const auto id = command.id(); - SimulatorData *data = m_data; - auto time = m_time; - auto charge = m_charge; - auto fabricateResponse = [data, &responses, time, charge, &id, &command]( - const Simulator::RobotMap &map, const bool *isBlue) { - if (!map.contains(id)) - return; - robot::RadioResponse response = map[id].first->setCommand( - command, data->ball, charge, data->robotCommandPacketLoss, - data->robotReplyPacketLoss); - response.set_time(time); - - if (isBlue != nullptr) - { - response.set_is_blue(*isBlue); - } - // only collect valid responses - if (response.IsInitialized()) - { - if (data->robotReplyPacketLoss == 0 || - data->rng.uniformFloat(0, 1) > data->robotReplyPacketLoss) - { - responses.emplace_back(response); - } - } - }; - if (isBlue) + if (!robotMap.contains(command.id())) { - fabricateResponse(m_data->robotsBlue, &isBlue); + return responses; } - else + + // pass radio command to robot that matches the id + robot::RadioResponse response = robotMap.at(command.id()) + ->setCommand(command, *m_data->ball, m_charge, + m_data->robotCommandPacketLoss, + m_data->robotReplyPacketLoss); + response.set_time(m_time); + response.set_is_blue(isBlue); + + // only collect valid responses + if (response.IsInitialized()) { - fabricateResponse(m_data->robotsYellow, &isBlue); + if (m_data->robotReplyPacketLoss == 0 || + m_data->rng.uniformFloat(0, 1) > m_data->robotReplyPacketLoss) + { + responses.emplace_back(response); + } } } - return responses; -} -void Simulator::sendSSLSimErrorInternal(ErrorSource source) -{ - QList errors = m_aggregator->getAggregates(source); - if (errors.size() == 0) - return; - emit sendSSLSimError(errors, source); -} - -static void createRobot(Simulator::RobotMap &list, float x, float y, uint32_t id, - const ErrorAggregator *agg, SimulatorData *data, - const QMap &teamSpecs) -{ - SimRobot *robot = new SimRobot(&data->rng, teamSpecs[id], data->dynamicsWorld, - btVector3(x, y, 0), 0.f); - robot->setDribbleMode(data->dribblePerfect); - robot->connect(robot, &SimRobot::sendSSLSimError, agg, &ErrorAggregator::aggregate); - list[id] = {robot, teamSpecs[id].generation()}; + return responses; } void Simulator::resetFlipped(Simulator::RobotMap &robots, float side) @@ -278,22 +139,13 @@ void Simulator::resetFlipped(Simulator::RobotMap &robots, float side) const float x = m_data->geometry.field_width() / 2 - 0.2; float y = m_data->geometry.field_height() / 2 - 0.2; - for (RobotMap::iterator it = robots.begin(); it != robots.end(); ++it) + for (auto &[robotId, robot] : robots) { - SimRobot *robot = it.value().first; if (robot->isFlipped()) { - SimRobot *new_robot = - new SimRobot(&m_data->rng, robot->specs(), m_data->dynamicsWorld, - btVector3(x, side * y, 0), 0.0f); - delete robot; - connect(new_robot, &SimRobot::sendSSLSimError, m_aggregator, - &ErrorAggregator::aggregate); // TODO? use createRobot instead of - // this. However, doing so naively - // will break the iteration, so I - // left it for now. - new_robot->setDribbleMode(m_data->dribblePerfect); - it.value().first = new_robot; + robot = std::make_unique(robot->specs(), m_data->dynamicsWorld, + btVector3(x, side * y, 0), 0.0f); + robot->setDribbleMode(m_data->dribblePerfect); } y -= 0.3; } @@ -314,17 +166,14 @@ void Simulator::handleSimulatorTick(double time_s) resetFlipped(m_data->robotsYellow, -1.0f); if (m_data->ball->isInvalid()) { - delete m_data->ball; - m_data->ball = new SimBall(&m_data->rng, m_data->dynamicsWorld); - connect(m_data->ball, &SimBall::sendSSLSimError, m_aggregator, - &ErrorAggregator::aggregate); + m_data->ball = std::make_shared(m_data->dynamicsWorld); } // find out if ball and any robot collide - auto robot_ball_collision = [this](QPair elem) { - return elem.first->touchesBall(this->m_data->ball); + auto robot_ball_collision = [&](const auto &kv_pair) { + auto &[robotId, robot] = kv_pair; + return robot->touchesBall(*m_data->ball); }; - bool ball_collision = std::any_of(m_data->robotsBlue.begin(), m_data->robotsBlue.end(), robot_ball_collision) || std::any_of(m_data->robotsYellow.begin(), @@ -332,13 +181,13 @@ void Simulator::handleSimulatorTick(double time_s) // apply commands and forces to ball and robots m_data->ball->begin(ball_collision); - for (const auto &pair : m_data->robotsBlue) + for (auto &[robotId, robot] : m_data->robotsBlue) { - pair.first->begin(m_data->ball, time_s); + robot->begin(*m_data->ball, time_s); } - for (const auto &pair : m_data->robotsYellow) + for (auto &[robotId, robot] : m_data->robotsYellow) { - pair.first->begin(m_data->ball, time_s); + robot->begin(*m_data->ball, time_s); } // add gravity to all ACTIVE objects @@ -347,7 +196,8 @@ void Simulator::handleSimulatorTick(double time_s) } static bool checkCameraID(const int cameraId, const btVector3 &p, - const QVector &cameraPositions, const float overlap) + const std::vector &cameraPositions, + const float overlap) { float minDistance = std::numeric_limits::max(); float ownDistance = 0; @@ -366,13 +216,13 @@ static bool checkCameraID(const int cameraId, const btVector3 &p, return ownDistance <= minDistance + 2 * overlap; } -void Simulator::initializeDetection(SSLProto::SSL_DetectionFrame *detection, - std::size_t cameraId) +void Simulator::initializeDetection(SSLProto::SSL_DetectionFrame &detection, + size_t cameraId) { - detection->set_frame_number(m_lastFrameNumber[cameraId]++); - detection->set_camera_id(cameraId); - detection->set_t_capture((m_time + m_visionDelay - m_visionProcessingTime) * 1E-9); - detection->set_t_sent((m_time + m_visionDelay) * 1E-9); + detection.set_frame_number(m_lastFrameNumber[cameraId]++); + detection.set_camera_id(cameraId); + detection.set_t_capture((m_time + m_visionDelay - m_visionProcessingTime) * 1E-9); + detection.set_t_sent((m_time + m_visionDelay) * 1E-9); } static btVector3 positionOffsetForCamera(float offsetStrength, btVector3 cameraPos) @@ -398,7 +248,7 @@ std::vector Simulator::getWrapperPackets() std::vector detections(numCameras); for (std::size_t i = 0; i < numCameras; i++) { - initializeDetection(&detections[i], i); + initializeDetection(detections[i], i); } bool missingBall = m_data->missingBallDetections > 0 && @@ -421,7 +271,7 @@ std::vector Simulator::getWrapperPackets() const btVector3 positionOffset = positionOffsetForCamera( m_data->objectPositionOffset, m_data->cameraPositions[cameraId]); bool visible = m_data->ball->update( - detections[cameraId].add_balls(), m_data->stddevBall, + *detections[cameraId].add_balls(), m_data->stddevBall, m_data->stddevBallArea, m_data->cameraPositions[cameraId], m_data->enableInvisibleBall, m_data->ballVisibilityThreshold, positionOffset); @@ -433,14 +283,12 @@ std::vector Simulator::getWrapperPackets() } // get robot positions - for (bool teamIsBlue : {true, false}) + for (auto &[teamIsBlue, team] : + {std::make_tuple(true, std::ref(m_data->robotsBlue)), + std::make_tuple(false, std::ref(m_data->robotsYellow))}) { - auto &team = teamIsBlue ? m_data->robotsBlue : m_data->robotsYellow; - - for (const auto &it : team) + for (auto &[robotId, robot] : team) { - SimRobot *robot = it.first; - if (m_time - robot->getLastSendTime() >= m_minRobotDetectionTime) { const float timeDiff = (m_time - robot->getLastSendTime()) * 1E-9; @@ -458,13 +306,13 @@ std::vector Simulator::getWrapperPackets() m_data->objectPositionOffset, m_data->cameraPositions[cameraId]); if (teamIsBlue) { - robot->update(detections[cameraId].add_robots_blue(), + robot->update(*detections[cameraId].add_robots_blue(), m_data->stddevRobot, m_data->stddevRobotPhi, m_time, positionOffset); } else { - robot->update(detections[cameraId].add_robots_yellow(), + robot->update(*detections[cameraId].add_robots_yellow(), m_data->stddevRobot, m_data->stddevRobotPhi, m_time, positionOffset); } @@ -478,7 +326,7 @@ std::vector Simulator::getWrapperPackets() { // always on the right side of the dribbler for now if (!m_data->ball->addDetection( - detections[cameraId].add_balls(), + *detections[cameraId].add_balls(), robot->dribblerCorner(false) / SIMULATOR_SCALE, m_data->stddevRobot, 0, m_data->cameraPositions[cameraId], false, 0, positionOffset)) @@ -555,70 +403,46 @@ world::SimulatorState Simulator::getSimulatorState() const std::size_t numCameras = m_data->reportedCameraSetup.size(); world::SimulatorState simState; - auto *ball = simState.mutable_ball(); - m_data->ball->writeBallState(ball); + m_data->ball->writeBallState(*simState.mutable_ball()); // get robot positions for (bool teamIsBlue : {true, false}) { auto &team = teamIsBlue ? m_data->robotsBlue : m_data->robotsYellow; - for (const auto &it : team) + for (auto &[robotId, robot] : team) { - SimRobot *robot = it.first; - // convert coordinates from ER Force btVector3 robotPos = robot->position() / SIMULATOR_SCALE; btVector3 newRobotPos; coordinates::toVision(robotPos, newRobotPos); - auto *robotProto = - teamIsBlue ? simState.add_blue_robots() : simState.add_yellow_robots(); + auto &robotProto = + teamIsBlue ? *simState.add_blue_robots() : *simState.add_yellow_robots(); - robot->update(robotProto, m_data->ball); + robot->update(robotProto, *m_data->ball); // Convert mm to m - robotProto->set_p_x(newRobotPos.x() / 1000); - robotProto->set_p_y(newRobotPos.y() / 1000); + robotProto.set_p_x(newRobotPos.x() / 1000); + robotProto.set_p_y(newRobotPos.y() / 1000); // Convert velocity - coordinates::toVisionVelocity(*robotProto, *robotProto); - robotProto->set_v_x(robotProto->v_x() / 1000); - robotProto->set_v_y(robotProto->v_y() / 1000); + coordinates::toVisionVelocity(robotProto, robotProto); + robotProto.set_v_x(robotProto.v_x() / 1000); + robotProto.set_v_y(robotProto.v_y() / 1000); } } return simState; } -void Simulator::resetVisionPackets() -{ - qDeleteAll(m_visionTimers); - m_visionTimers.clear(); - m_visionPackets.clear(); -} - -void Simulator::handleRadioCommands(const SSLSimRobotControl &commands, bool isBlue, - qint64 processingStart) -{ - m_radioCommands.enqueue(std::make_tuple(commands, processingStart, isBlue)); -} - -void Simulator::setTeam(Simulator::RobotMap &list, float side, const robot::Team &team, - QMap &teamSpecs) +void Simulator::setTeam(Simulator::RobotMap &robotMap, float side, + const robot::Team &team, + std::map &teamSpecs) { // remove old team - deleteAll(list); - list.clear(); - - // changing a team is also triggering a tracking reset - // thus the old robots will disappear immediatelly - // however if the delayed vision packets arrive the old robots will be tracked - // again thus after removing a robot from a team it can take 1 simulated - // second for the robot to disappear to prevent this remove outdated vision - // packets - resetVisionPackets(); + robotMap.clear(); // align robots on a line const float x = m_data->geometry.field_width() / 2 - 0.2; @@ -630,14 +454,17 @@ void Simulator::setTeam(Simulator::RobotMap &list, float side, const robot::Team const auto id = specs.id(); // (color, robot id) must be unique - if (list.contains(id)) + if (robotMap.contains(id)) { std::cerr << "Error: Two ids for the same color, aborting!" << std::endl; continue; } teamSpecs[id].CopyFrom(specs); - createRobot(list, x, side * y, id, m_aggregator, m_data, teamSpecs); + robotMap[id] = std::make_unique(teamSpecs[id], m_data->dynamicsWorld, + btVector3(x, side * y, 0), 0.f); + robotMap[id]->setDribbleMode(m_data->dribblePerfect); + y -= 0.3; } } @@ -656,12 +483,13 @@ void Simulator::moveBall(const sslsim::TeleportBall &ball) // remove the dribbling constraint if (!ball.has_by_force() || !ball.by_force()) { - for (const auto &robotList : {m_data->robotsBlue, m_data->robotsYellow}) + for (auto &[robotId, robot] : m_data->robotsBlue) { - for (const auto &it : robotList) - { - it.first->stopDribbling(); - } + robot->stopDribbling(); + } + for (auto &[robotId, robot] : m_data->robotsYellow) + { + robot->stopDribbling(); } } @@ -690,12 +518,11 @@ void Simulator::moveRobot(const sslsim::TeleportRobot &robot) if (!robot.id().has_id()) return; - bool is_blue = robot.id().team() == gameController::Team::BLUE; - - RobotMap &list = is_blue ? m_data->robotsBlue : m_data->robotsYellow; - bool isPresent = list.contains(robot.id().id()); - QMap &teamSpecs = - is_blue ? m_data->specsBlue : m_data->specsYellow; + bool isBlue = robot.id().team() == gameController::Team::BLUE; + RobotMap &robotMap = isBlue ? m_data->robotsBlue : m_data->robotsYellow; + bool isPresent = robotMap.contains(robot.id().id()); + std::map &teamSpecs = + isBlue ? m_data->specsBlue : m_data->specsYellow; if (robot.has_present()) { @@ -704,39 +531,31 @@ void Simulator::moveRobot(const sslsim::TeleportRobot &robot) // add the requested robot if (!teamSpecs.contains(robot.id().id())) { - SSLSimError error{new sslsim::SimulatorError}; - error->set_code("CREATE_UNSPEC_ROBOT"); - std::string message = - "trying to create robot " + std::to_string(robot.id().id()); - message += ", but no spec for this robot was found"; - error->set_message(std::move(message)); - m_aggregator->aggregate(error, ErrorSource::CONFIG); + std::cerr << "Trying to create robot " << std::to_string(robot.id().id()) + << ", but no spec for this robot was found" << std::endl; } else if (!robot.has_x() || !robot.has_y()) { - SSLSimError error{new sslsim::SimulatorError}; - error->set_code("CREATE_NOPOS_ROBOT"); - std::string message = - "trying to create robot " + std::to_string(robot.id().id()); - message += " without giving a position"; - error->set_message(std::move(message)); - m_aggregator->aggregate(error, ErrorSource::CONFIG); + std::cerr << "Trying to create robot " << std::to_string(robot.id().id()) + << ", without giving a position" << std::endl; } else { ErForceVector targetPos; coordinates::fromVision(robot, targetPos); // TODO: check if the given position is fine - createRobot(list, targetPos.x, targetPos.y, robot.id().id(), m_aggregator, - m_data, teamSpecs); + + robotMap[robot.id().id()] = std::make_unique( + teamSpecs[robot.id().id()], m_data->dynamicsWorld, + btVector3(targetPos.x, targetPos.y, 0), 0.f); + robotMap[robot.id().id()]->setDribbleMode(m_data->dribblePerfect); } } else if (!robot.present() && isPresent) { // remove the robot - auto val = list.take(robot.id().id()); - val.first->stopDribbling(); - delete val.first; + robotMap.at(robot.id().id())->stopDribbling(); + robotMap.erase(robot.id().id()); return; } else if (!robot.present() && !isPresent) @@ -752,8 +571,8 @@ void Simulator::moveRobot(const sslsim::TeleportRobot &robot) return; } - if (!list.contains(robot.id().id())) - return; // Recheck the list in case the has_present paragraph did change it. + if (!robotMap.contains(robot.id().id())) + return; // Recheck the robotMap in case the has_present paragraph did change it. sslsim::TeleportRobot r = robot; @@ -765,17 +584,11 @@ void Simulator::moveRobot(const sslsim::TeleportRobot &robot) FLIP(r, v_y); } - SimRobot *sim_robot = list[robot.id().id()].first; if (!r.has_by_force() || !r.by_force()) { - sim_robot->stopDribbling(); + robotMap[robot.id().id()]->stopDribbling(); } - sim_robot->move(r); -} - -void Simulator::setFlipped(bool flipped) -{ - m_data->flip = flipped; + robotMap[robot.id().id()]->move(r); } void Simulator::handleSimulatorSetupCommand(const std::unique_ptr &command) @@ -785,6 +598,7 @@ void Simulator::handleSimulatorSetupCommand(const std::unique_ptr if (command->has_simulator()) { const amun::CommandSimulator &sim = command->simulator(); + if (sim.has_enable()) { m_enabled = sim.enable(); @@ -793,6 +607,7 @@ void Simulator::handleSimulatorSetupCommand(const std::unique_ptr if (sim.has_realism_config()) { auto realism = sim.realism_config(); + if (realism.has_stddev_ball_p()) { m_data->stddevBall = realism.stddev_ball_p(); @@ -860,13 +675,12 @@ void Simulator::handleSimulatorSetupCommand(const std::unique_ptr if (realism.has_vision_delay()) { - m_visionDelay = std::max((qint64)0, (qint64)realism.vision_delay()); + m_visionDelay = std::max(0l, realism.vision_delay()); } if (realism.has_vision_processing_time()) { - m_visionProcessingTime = - std::max((qint64)0, (qint64)realism.vision_processing_time()); + m_visionProcessingTime = std::max(0l, realism.vision_processing_time()); } if (realism.has_simulate_dribbling()) @@ -914,7 +728,7 @@ void Simulator::handleSimulatorSetupCommand(const std::unique_ptr { if (map.contains(robot.id())) { - map[robot.id()].first->restoreState(robot); + map[robot.id()]->restoreState(robot); } } }; @@ -926,10 +740,9 @@ void Simulator::handleSimulatorSetupCommand(const std::unique_ptr if (command->has_transceiver()) { - const amun::CommandTransceiver &t = command->transceiver(); - if (t.has_charge()) + if (command->transceiver().has_charge()) { - m_charge = t.charge(); + m_charge = command->transceiver().charge(); } } @@ -948,73 +761,13 @@ void Simulator::handleSimulatorSetupCommand(const std::unique_ptr if (teamOrPerfectDribbleChanged) { - for (const auto &robotList : {m_data->robotsBlue, m_data->robotsYellow}) + for (auto &[robotId, robot] : m_data->robotsBlue) { - for (const auto &it : robotList) - { - SimRobot *robot = it.first; - robot->setDribbleMode(m_data->dribblePerfect); - } + robot->setDribbleMode(m_data->dribblePerfect); } - } -} - -void Simulator::seedPRGN(uint32_t seed) -{ - m_data->rng.seed(seed); -} - -static bool overlapCheck(const btVector3 &p0, const float &r0, const btVector3 &p1, - const float &r1) -{ - const float distance = (p1 - p0).length(); - return distance <= r0 + r1; -} - -// uses the real world scale -void Simulator::teleportRobotToFreePosition(SimRobot *robot) -{ - btVector3 robotPos = robot->position() / SIMULATOR_SCALE; - btVector3 direction = - (robotPos - m_data->ball->position() / SIMULATOR_SCALE).normalize(); - float distance = - 2.0f * (static_cast(BALL_MAX_RADIUS_METERS) + robot->specs().radius()); - bool valid = true; - do - { - valid = true; - robotPos = robotPos + 2 * direction * distance; - - for (const auto &robotList : {m_data->robotsBlue, m_data->robotsYellow}) + for (auto &[robotId, robot] : m_data->robotsYellow) { - for (const auto &it : robotList) - { - SimRobot *robot2 = it.first; - if (robot == robot2) - { - continue; - } - - btVector3 tmp = robot2->position() / SIMULATOR_SCALE; - if (overlapCheck(robotPos, robot->specs().radius(), tmp, - robot2->specs().radius())) - { - valid = false; - break; - } - } - if (!valid) - { - break; - } + robot->setDribbleMode(m_data->dribblePerfect); } - } while (!valid); - - sslsim::TeleportRobot robotCommand; - robotCommand.mutable_id()->set_id(robot->specs().id()); - coordinates::toVision(robotPos, robotCommand); - - robotCommand.set_v_x(0); - robotCommand.set_v_y(0); - robot->move(robotCommand); + } } diff --git a/src/extlibs/er_force_sim/src/amun/simulator/simulator.h b/src/extlibs/er_force_sim/src/amun/simulator/simulator.h index f9cbb77432..48d3560c15 100644 --- a/src/extlibs/er_force_sim/src/amun/simulator/simulator.h +++ b/src/extlibs/er_force_sim/src/amun/simulator/simulator.h @@ -21,19 +21,16 @@ #ifndef SIMULATOR_H #define SIMULATOR_H -#include -#include -#include -#include -#include +#include #include -#include +#include -#include "extlibs/er_force_sim/src/protobuf/command.h" -#include "extlibs/er_force_sim/src/protobuf/sslsim.h" +#include "extlibs/er_force_sim/src/core/rng.h" #include "proto/ssl_simulation_robot_control.pb.h" #include "proto/ssl_vision_wrapper.pb.h" - +#include "simball.h" +#include "simfield.h" +#include "simrobot.h" // higher values break the rolling friction of the ball const float SIMULATOR_SCALE = 10.0f; @@ -41,37 +38,19 @@ const float SUB_TIMESTEP = 1 / 200.f; const float COLLISION_MARGIN = 0.04f; const float FOCAL_LENGTH = 390.f; - -class QByteArray; -class QTimer; -class Timer; -class SSL_GeometryFieldSize; - namespace camun { namespace simulator { - class SimRobot; class Simulator; - class ErrorAggregator; struct SimulatorData; - - enum class ErrorSource - { - BLUE, - YELLOW, - CONFIG - }; } // namespace simulator } // namespace camun -class camun::simulator::Simulator : public QObject +class camun::simulator::Simulator { - Q_OBJECT - public: - typedef QMap> - RobotMap; /*First int: ID, Second int: Generation*/ + typedef std::map> RobotMap; /** * Creates a simulator with the given set up @@ -79,22 +58,6 @@ class camun::simulator::Simulator : public QObject * @param setup the simulator set up */ explicit Simulator(const amun::SimulatorSetup &setup); - ~Simulator() override; - Simulator(const Simulator &) = delete; - Simulator &operator=(const Simulator &) = delete; - - /** - * Seeds the pseudorandom generator - * - * @param seed - */ - void seedPRGN(uint32_t seed); - - signals: - void gotPacket(const QByteArray &data, qint64 time, QString sender); - void sendRadioResponses(const QList &responses); - void sendRealData(const QByteArray &data); // sends amun::SimulatorState - void sendSSLSimError(const QList &errors, ErrorSource source); public: /** @@ -145,11 +108,6 @@ class camun::simulator::Simulator : public QObject */ void handleSimulatorSetupCommand(const std::unique_ptr &command); - public slots: - void handleRadioCommands(const SSLSimRobotControl &control, bool isBlue, - qint64 processingStart); - void setFlipped(bool flipped); - private: /** * Accepts and executes a blue or yellow robot control command @@ -161,42 +119,91 @@ class camun::simulator::Simulator : public QObject */ std::vector acceptRobotControlCommand( const SSLSimulationProto::RobotControl &control, bool isBlue); - void sendSSLSimErrorInternal(ErrorSource source); + void resetFlipped(RobotMap &robots, float side); - std::tuple, QByteArray, qint64> createVisionPacket(); - void resetVisionPackets(); void setTeam(RobotMap &list, float side, const robot::Team &team, - QMap &specs); + std::map &specs); void moveBall(const sslsim::TeleportBall &ball); void moveRobot(const sslsim::TeleportRobot &robot); - void teleportRobotToFreePosition(SimRobot *robot); - void initializeDetection(SSLProto::SSL_DetectionFrame *detection, - std::size_t cameraId); + void initializeDetection(SSLProto::SSL_DetectionFrame &detection, size_t cameraId); private: - typedef std::tuple RadioCommand; - SimulatorData *m_data; - QQueue m_radioCommands; - QQueue, QByteArray, qint64>> m_visionPackets; - QQueue m_visionTimers; - QTimer *m_trigger; - qint64 m_time; - qint64 m_lastSentStatusTime; + std::unique_ptr m_data; + bool m_enabled; bool m_charge; - // systemDelay + visionProcessingTime = visionDelay - qint64 m_visionDelay; - qint64 m_visionProcessingTime; - - qint64 m_minRobotDetectionTime = 0; - qint64 m_minBallDetectionTime = 0; - qint64 m_lastBallSendTime = 0; - std::map m_lastFrameNumber; - ErrorAggregator *m_aggregator; + int64_t m_time; + int64_t m_visionDelay; // systemDelay + visionProcessingTime = visionDelay + int64_t m_visionProcessingTime; + int64_t m_minRobotDetectionTime = 0; + int64_t m_minBallDetectionTime = 0; + int64_t m_lastBallSendTime = 0; + std::map m_lastFrameNumber; std::mt19937 rand_shuffle_src = std::mt19937(std::random_device()()); }; + +/* Friction and restitution between robots, ball and field: (empirical + * measurments) Ball vs. Robot: Restitution: about 0.60 Friction: trial and + * error in simulator 0.18 (similar results as in reality) + * + * Ball vs. Floor: + * Restitution: sqrt(h'/h) = sqrt(0.314) = 0.56 + * Friction: \mu_k = -a / g (while slipping) = 0.35 + * + * Robot vs. Floor: + * Restitution and Friction should be as low as possible + * + * Calculations: + * Variables: r: restitution, f: friction + * Indices: b: ball; f: floor; r: robot + * + * r_b * r_f = 0.56 + * r_b * r_r = 0.60 + * r_f * r_r = small + * => r_b = 1; r_f = 0.56; r_r = 0.60 + * + * f_b * f_f = 0.35 + * f_b * f_r = 0.22 + * f_f * f_r = very small + * => f_b = 1; f_f = 0.35; f_r = 0.22 + */ + +struct camun::simulator::SimulatorData +{ + RNG rng; + std::unique_ptr collision; + std::unique_ptr dispatcher; + std::unique_ptr overlappingPairCache; + std::unique_ptr solver; + std::shared_ptr dynamicsWorld; + world::Geometry geometry; + std::vector reportedCameraSetup; + std::vector cameraPositions; + std::unique_ptr field; + std::shared_ptr ball; + Simulator::RobotMap robotsBlue; + Simulator::RobotMap robotsYellow; + std::map specsBlue; + std::map specsYellow; + bool flip; + float stddevBall; + float stddevBallArea; + float stddevRobot; + float stddevRobotPhi; + float ballDetectionsAtDribbler; // per robot per second + bool enableInvisibleBall; + float ballVisibilityThreshold; + float cameraOverlap; + float cameraPositionError; + float objectPositionOffset; + float robotCommandPacketLoss; + float robotReplyPacketLoss; + float missingBallDetections; + bool dribblePerfect; +}; + #endif // SIMULATOR_H diff --git a/src/extlibs/er_force_sim/src/core/BUILD b/src/extlibs/er_force_sim/src/core/BUILD index 517319b07a..475d773201 100644 --- a/src/extlibs/er_force_sim/src/core/BUILD +++ b/src/extlibs/er_force_sim/src/core/BUILD @@ -1,16 +1,9 @@ -load("@bazel_rules_qt//:qt.bzl", "qt_cc_library") - package(default_visibility = ["//visibility:public"]) -qt_cc_library( - name = "core_qt", +cc_library( + name = "core", srcs = glob( ["*.cpp"], ), hdrs = glob(["*.h"]), - deps = [ - "@qt//:qt_core", - "@qt//:qt_gui", - "@qt//:qt_widgets", - ], ) diff --git a/src/extlibs/er_force_sim/src/core/configuration.h b/src/extlibs/er_force_sim/src/core/configuration.h deleted file mode 100644 index 0cfb4fe8a7..0000000000 --- a/src/extlibs/er_force_sim/src/core/configuration.h +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** - * Copyright 2021 Andreas Wendler * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#ifndef CONFIGURATION_H -#define CONFIGURATION_H - -#include -#include - -#include -#include -#include - -#include "src/config/config.h" - -inline bool loadConfiguration(const QString &configFile, - google::protobuf::Message *message, bool allowPartial) -{ - QString fullFilename = QString(ERFORCE_CONFDIR) + configFile + ".txt"; - QFile file(fullFilename); - if (!file.open(QFile::ReadOnly)) - { - std::cout << "Could not open configuration file " << fullFilename.toStdString() - << std::endl; - return false; - } - QString str = file.readAll(); - file.close(); - std::string s = qPrintable(str); - - google::protobuf::TextFormat::Parser parser; - parser.AllowPartialMessage(allowPartial); - parser.ParseFromString(s, message); - return true; -} - -#endif // CONFIGURATION_H diff --git a/src/extlibs/er_force_sim/src/core/protobuffilereader.cpp b/src/extlibs/er_force_sim/src/core/protobuffilereader.cpp deleted file mode 100644 index 80e9f00f62..0000000000 --- a/src/extlibs/er_force_sim/src/core/protobuffilereader.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/*************************************************************************** - * Copyright 2020 Andreas Wendler * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#include "protobuffilereader.h" - -ProtobufFileReader::ProtobufFileReader() : m_stream(&m_file) {} - -bool ProtobufFileReader::open(QString filename, QString filePrefix) -{ - m_file.setFileName(filename); - if (!m_file.open(QIODevice::ReadOnly)) - { - return false; - } - - // ensure compatibility across qt versions - m_stream.setVersion(QDataStream::Qt_4_6); - - QString fileType; - int version; - m_stream >> fileType >> version; - - if (fileType != filePrefix || version != 0) - { - return false; - } - - return true; -} - -bool ProtobufFileReader::readNext(google::protobuf::Message &message) -{ - if (m_stream.atEnd()) - { - return false; - } - QByteArray data; - m_stream >> data; - - if (!message.ParseFromArray(data.data(), data.size())) - { - return false; - } - return true; -} diff --git a/src/extlibs/er_force_sim/src/core/protobuffilereader.h b/src/extlibs/er_force_sim/src/core/protobuffilereader.h deleted file mode 100644 index 957c2e4a20..0000000000 --- a/src/extlibs/er_force_sim/src/core/protobuffilereader.h +++ /dev/null @@ -1,44 +0,0 @@ -/*************************************************************************** - * Copyright 2020 Andreas Wendler * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#ifndef PROTOBUFFILEREADER_H -#define PROTOBUFFILEREADER_H - -#include - -#include -#include - -class ProtobufFileReader : public QObject -{ - public: - ProtobufFileReader(); - - bool open(QString filename, QString filePrefix); - - // returns true if the message has be sucessfully parsed - bool readNext(google::protobuf::Message &message); - - private: - QFile m_file; - QDataStream m_stream; -}; - -#endif // PROTOBUFFILEREADER_H diff --git a/src/extlibs/er_force_sim/src/core/protobuffilesaver.cpp b/src/extlibs/er_force_sim/src/core/protobuffilesaver.cpp deleted file mode 100644 index 87a3a8c5db..0000000000 --- a/src/extlibs/er_force_sim/src/core/protobuffilesaver.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/*************************************************************************** - * Copyright 2020 Andreas Wendler * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#include "protobuffilesaver.h" - -#include - -ProtobufFileSaver::ProtobufFileSaver(QString filename, QString filePrefix, - QObject *parent) - : QObject(parent), - m_filename(filename), - m_filePrefix(filePrefix), - m_stream(&m_file), - m_mutex(QMutex::Recursive) -{ -} - -void ProtobufFileSaver::open() -{ - if (m_file.isOpen()) - { - return; - } - m_file.setFileName(m_filename); - if (!m_file.open(QIODevice::WriteOnly | QIODevice::Truncate)) - { - qDebug() << "Could not open path input file for saving"; - return; - } - - // ensure compatibility across qt versions - m_stream.setVersion(QDataStream::Qt_4_6); - - m_stream << QString(m_filePrefix); - m_stream << (int)0; // file version -} - -void ProtobufFileSaver::saveMessage(const google::protobuf::Message &message) -{ - QByteArray data; - data.resize(message.ByteSize()); - if (!message.IsInitialized() || !message.SerializeToArray(data.data(), data.size())) - { - return; - } - - QMutexLocker locker(&m_mutex); - open(); - - m_stream << data; -} diff --git a/src/extlibs/er_force_sim/src/core/protobuffilesaver.h b/src/extlibs/er_force_sim/src/core/protobuffilesaver.h deleted file mode 100644 index 75d16c10ff..0000000000 --- a/src/extlibs/er_force_sim/src/core/protobuffilesaver.h +++ /dev/null @@ -1,53 +0,0 @@ -/*************************************************************************** - * Copyright 2020 Andreas Wendler * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#ifndef PROTOBUFFILESAVER_H -#define PROTOBUFFILESAVER_H - -#include - -#include -#include -#include -#include -#include - -class ProtobufFileSaver : QObject -{ - Q_OBJECT - public: - // The file is created once saveMessage is called for the first time - ProtobufFileSaver(QString filename, QString filePrefix, QObject *parent = nullptr); - - // may be called from any thread - void saveMessage(const google::protobuf::Message &message); - - private: - void open(); - - private: - QString m_filename; - QString m_filePrefix; - QFile m_file; - QDataStream m_stream; - QMutex m_mutex; -}; - -#endif // PROTOBUFFILESAVER_H diff --git a/src/extlibs/er_force_sim/src/core/rng.h b/src/extlibs/er_force_sim/src/core/rng.h index b3f858f93d..319cb4566a 100644 --- a/src/extlibs/er_force_sim/src/core/rng.h +++ b/src/extlibs/er_force_sim/src/core/rng.h @@ -52,12 +52,12 @@ class RNG */ inline double RNG::uniform() { - return uniformInt() / 4294967296.0; + return static_cast(uniformInt()) / 4294967296.0; } inline float RNG::uniformFloat(float min, float max) { - return min + (uniformInt() / 4294967296.0f) * (max - min); + return min + (static_cast(uniformInt()) / 4294967296.0f) * (max - min); } /*! @@ -68,7 +68,7 @@ inline float RNG::uniformFloat(float min, float max) */ inline ErForceVector RNG::uniformVector() { - return ErForceVector(uniform(), uniform()); + return ErForceVector(static_cast(uniform()), static_cast(uniform())); } /*! diff --git a/src/extlibs/er_force_sim/src/protobuf/BUILD b/src/extlibs/er_force_sim/src/protobuf/BUILD index 1d28897496..e8f3dc17f0 100644 --- a/src/extlibs/er_force_sim/src/protobuf/BUILD +++ b/src/extlibs/er_force_sim/src/protobuf/BUILD @@ -1,5 +1,3 @@ -load("@bazel_rules_qt//:qt.bzl", "qt_cc_library") - package(default_visibility = ["//visibility:public"]) load("@rules_proto//proto:defs.bzl", "proto_library") @@ -35,16 +33,13 @@ py_proto_library( ], ) -qt_cc_library( - name = "protobuf_qt", +cc_library( + name = "protobuf", srcs = glob(["*.cpp"]), hdrs = glob(["*.h"]), linkstatic = True, deps = [ ":protobuf_cc_lib", "//proto:ssl_simulation_cc_proto", - "@qt//:qt_core", - "@qt//:qt_gui", - "@qt//:qt_widgets", ], ) diff --git a/src/extlibs/er_force_sim/src/protobuf/command.cpp b/src/extlibs/er_force_sim/src/protobuf/command.cpp deleted file mode 100644 index ae8cbaaece..0000000000 --- a/src/extlibs/er_force_sim/src/protobuf/command.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/*************************************************************************** - * Copyright 2021 Andreas Wendler * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#include "command.h" - -#include "geometry.h" - -SSL_GeometryCameraCalibration createDefaultCamera(int cameraId, float x, float y, float z) -{ - SSL_GeometryCameraCalibration calibration; - - calibration.set_camera_id(cameraId); - // DUMMY VALUES - calibration.set_distortion(0.2); - calibration.set_focal_length(390); - calibration.set_principal_point_x(300); - calibration.set_principal_point_y(300); - calibration.set_q0(0.7); - calibration.set_q1(0.7); - calibration.set_q2(0.7); - calibration.set_q3(0.7); - calibration.set_tx(0); - calibration.set_ty(0); - calibration.set_tz(3500); - - calibration.set_derived_camera_world_tx(y * 1000); - calibration.set_derived_camera_world_ty(-x * 1000); - calibration.set_derived_camera_world_tz(z * 1000); - - return calibration; -} - -void simulatorSetupSetDefault(amun::SimulatorSetup &setup) -{ - geometrySetDefault(setup.mutable_geometry(), true); - setup.add_camera_setup()->CopyFrom(createDefaultCamera(0, 0.0f, 0.0f, 4.0f)); -} diff --git a/src/extlibs/er_force_sim/src/protobuf/command.h b/src/extlibs/er_force_sim/src/protobuf/command.h deleted file mode 100644 index 0a72807e68..0000000000 --- a/src/extlibs/er_force_sim/src/protobuf/command.h +++ /dev/null @@ -1,40 +0,0 @@ -/*************************************************************************** - * Copyright 2015 Philipp Nordhus * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#ifndef COMMAND_H -#define COMMAND_H - -#include - -#include "extlibs/er_force_sim/src/protobuf/command.pb.h" - -//! @file command.h -//! @addtogroup protobuf -//! @{ - -void simulatorSetupSetDefault(amun::SimulatorSetup &setup); - -// position is in meters in our coordinate system -SSL_GeometryCameraCalibration createDefaultCamera(int cameraId, float x, float y, - float z); - -//! @} - -#endif // COMMAND_H diff --git a/src/extlibs/er_force_sim/src/protobuf/ssl_referee.cpp b/src/extlibs/er_force_sim/src/protobuf/ssl_referee.cpp deleted file mode 100644 index 25bf123c5b..0000000000 --- a/src/extlibs/er_force_sim/src/protobuf/ssl_referee.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/*************************************************************************** - * Copyright 2015 Michael Eischer * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#include "ssl_referee.h" - -/*! - * \brief Initializes team info with default values - * \param teamInfo The team info to initialize - */ -void teamInfoSetDefault(SSLProto::Referee::TeamInfo *teamInfo) -{ - teamInfo->set_name(""); - teamInfo->set_score(0); - teamInfo->set_red_cards(0); - teamInfo->set_yellow_cards(0); - teamInfo->set_timeouts(4); - teamInfo->set_timeout_time(5 * 60 * 1000 * 1000); - teamInfo->set_goalkeeper(0); - assert(teamInfo->IsInitialized()); -} diff --git a/src/extlibs/er_force_sim/src/protobuf/ssl_referee.h b/src/extlibs/er_force_sim/src/protobuf/ssl_referee.h deleted file mode 100644 index c2b498636d..0000000000 --- a/src/extlibs/er_force_sim/src/protobuf/ssl_referee.h +++ /dev/null @@ -1,28 +0,0 @@ -/*************************************************************************** - * Copyright 2015 Michael Eischer * - * Robotics Erlangen e.V. * - * http://www.robotics-erlangen.de/ * - * info@robotics-erlangen.de * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - ***************************************************************************/ - -#ifndef SSL_REFEREE_H -#define SSL_REFEREE_H - -#include "proto/ssl_gc_referee_message.pb.h" - -void teamInfoSetDefault(SSLProto::Referee::TeamInfo *teamInfo); - -#endif // SSL_REFEREE_H diff --git a/src/extlibs/er_force_sim/src/protobuf/world.proto b/src/extlibs/er_force_sim/src/protobuf/world.proto index 65610f5810..1f0402f60d 100644 --- a/src/extlibs/er_force_sim/src/protobuf/world.proto +++ b/src/extlibs/er_force_sim/src/protobuf/world.proto @@ -39,15 +39,6 @@ message Geometry optional Division division = 19 [default = A]; } -message DivisionDimensions -{ - required float field_width_a = 1; - required float field_height_a = 2; - - required float field_width_b = 3; - required float field_height_b = 4; -} - message BallPosition { required int64 time = 1; diff --git a/src/software/simulation/BUILD b/src/software/simulation/BUILD index e10251bfdd..a84c1d64fd 100644 --- a/src/software/simulation/BUILD +++ b/src/software/simulation/BUILD @@ -9,7 +9,7 @@ cc_library( "//extlibs/er_force_sim/config/simulator:2020B.txt", ], deps = [ - "//extlibs/er_force_sim/src/amun/simulator:simulator_qt", + "//extlibs/er_force_sim/src/amun/simulator", "//proto/message_translation:ssl_detection", "//proto/message_translation:ssl_geometry", "//proto/message_translation:ssl_simulation_robot_control", diff --git a/src/software/simulation/er_force_simulator.cpp b/src/software/simulation/er_force_simulator.cpp index fff9b082a2..eb06a08bff 100644 --- a/src/software/simulation/er_force_simulator.cpp +++ b/src/software/simulation/er_force_simulator.cpp @@ -3,8 +3,6 @@ #include #include -#include -#include #include #include "extlibs/er_force_sim/src/protobuf/robot.h" @@ -34,7 +32,7 @@ ErForceSimulator::ErForceSimulator(const TbotsProto::FieldType& field_type, yellow_robot_with_ball(std::nullopt), ramping(ramping) { - QString full_filename = CONFIG_DIRECTORY; + std::string full_filename = CONFIG_DIRECTORY; if (field_type == TbotsProto::FieldType::DIV_A) { @@ -46,19 +44,19 @@ ErForceSimulator::ErForceSimulator(const TbotsProto::FieldType& field_type, full_filename = full_filename + CONFIG_FILE + "B.txt"; } - QFile file(full_filename); - if (!file.open(QFile::ReadOnly)) + std::ifstream config_file(full_filename); + if (!config_file) { - LOG(FATAL) << "Could not open configuration file " << full_filename.toStdString() - << std::endl; + LOG(FATAL) << "Could not open configuration file " << full_filename; } - QString str = file.readAll(); - file.close(); + // Read in the config file + std::stringstream config_ss; + config_ss << config_file.rdbuf(); + std::string config_str = config_ss.str(); - std::string s = qPrintable(str); google::protobuf::TextFormat::Parser parser; - parser.ParseFromString(s, &er_force_sim_setup); + parser.ParseFromString(config_str, &er_force_sim_setup); er_force_sim = std::make_unique(er_force_sim_setup); auto simulator_setup_command = std::make_unique(); simulator_setup_command->mutable_simulator()->set_enable(true); diff --git a/src/software/simulation/er_force_simulator.h b/src/software/simulation/er_force_simulator.h index 632fc97560..1fdfb3cf3e 100644 --- a/src/software/simulation/er_force_simulator.h +++ b/src/software/simulation/er_force_simulator.h @@ -230,6 +230,6 @@ class ErForceSimulator bool ramping; - const QString CONFIG_FILE = "simulator/2020"; - const QString CONFIG_DIRECTORY = "extlibs/er_force_sim/config/"; + const std::string CONFIG_FILE = "simulator/2020"; + const std::string CONFIG_DIRECTORY = "extlibs/er_force_sim/config/"; }; From 3a385a688ad6f10378f2194f1c577bf706308178 Mon Sep 17 00:00:00 2001 From: potatoisagender <63363206+potatoisagender@users.noreply.github.com> Date: Sun, 29 Sep 2024 18:47:39 -0700 Subject: [PATCH 02/14] Remove unused `ROBOT_STATUS` log filter (#3325) * Removed unused ROBOT-STATUS log filter * Removed additional ROBOT_STATUS log filter references from coloured_cout_sink_test.cpp and csv_sink_test.cpp * Changed the id of the remaining custom log levels in custom_logging_levels.h to match the removal of ROBOT_STATUS log filter. (all id levels reduced by 1) * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- src/software/logger/coloured_cout_sink_test.cpp | 9 ++++----- src/software/logger/csv_sink_test.cpp | 1 - src/software/logger/custom_logging_levels.h | 7 +++---- src/software/logger/logger.h | 7 +++---- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/software/logger/coloured_cout_sink_test.cpp b/src/software/logger/coloured_cout_sink_test.cpp index 4d50442277..87d7a14f56 100644 --- a/src/software/logger/coloured_cout_sink_test.cpp +++ b/src/software/logger/coloured_cout_sink_test.cpp @@ -73,8 +73,7 @@ TEST_P(ColouredCoutSinkTest, testLogInfoNoDetails) // LOG(FATAL) isn't tested because it causes a SIGABRT INSTANTIATE_TEST_CASE_P( All, ColouredCoutSinkTest, - ::testing::Values( - std::make_tuple(LEVELS(INFO), FG_Colour::WHITE), - std::make_tuple(LEVELS(DEBUG), FG_Colour::GREEN), - std::make_tuple(LEVELS(ROBOT_STATUS), FG_Colour::WHITE), - std::make_tuple(LEVELS(WARNING), FG_Colour::YELLOW))); + ::testing::Values(std::make_tuple(LEVELS(INFO), FG_Colour::WHITE), + std::make_tuple(LEVELS(DEBUG), FG_Colour::GREEN), + std::make_tuple(LEVELS(WARNING), + FG_Colour::YELLOW))); diff --git a/src/software/logger/csv_sink_test.cpp b/src/software/logger/csv_sink_test.cpp index 98187dbe66..ad9e45693a 100644 --- a/src/software/logger/csv_sink_test.cpp +++ b/src/software/logger/csv_sink_test.cpp @@ -54,5 +54,4 @@ TEST_P(CSVSinkTest, test_csv_log_levels_not_logging) INSTANTIATE_TEST_CASE_P(All, CSVSinkTest, ::testing::Values(std::make_tuple(LEVELS(INFO)), std::make_tuple(LEVELS(DEBUG)), - std::make_tuple(LEVELS(ROBOT_STATUS)), std::make_tuple(LEVELS(WARNING)))); diff --git a/src/software/logger/custom_logging_levels.h b/src/software/logger/custom_logging_levels.h index 0d62273c3c..06fad07935 100644 --- a/src/software/logger/custom_logging_levels.h +++ b/src/software/logger/custom_logging_levels.h @@ -8,7 +8,6 @@ // diagnostic information like battery voltage and wheel encoder errors. These messages // are separate because they are shown separately in the FullSystemGUI. // over radio -const LEVELS ROBOT_STATUS{INFO.value + 1, {"ROBOT_STATUS"}}; -const LEVELS CSV{INFO.value + 2, {"CSV"}}; -const LEVELS VISUALIZE{INFO.value + 3, {"VISUALIZE"}}; -const LEVELS PLOTJUGGLER{INFO.value + 4, {"PLOTJUGGLER"}}; +const LEVELS CSV{INFO.value + 1, {"CSV"}}; +const LEVELS VISUALIZE{INFO.value + 2, {"VISUALIZE"}}; +const LEVELS PLOTJUGGLER{INFO.value + 3, {"PLOTJUGGLER"}}; diff --git a/src/software/logger/logger.h b/src/software/logger/logger.h index 0d121383e3..87a35103b9 100644 --- a/src/software/logger/logger.h +++ b/src/software/logger/logger.h @@ -122,10 +122,9 @@ class LoggerSingleton } // levels is this vector are filtered out of the filtered log rotate sink - std::vector filtered_level_filter = {DEBUG, VISUALIZE, CSV, - INFO, ROBOT_STATUS, PLOTJUGGLER}; - std::vector default_level_filter = {VISUALIZE, CSV, ROBOT_STATUS, - PLOTJUGGLER}; + std::vector filtered_level_filter = {DEBUG, VISUALIZE, CSV, INFO, + PLOTJUGGLER}; + std::vector default_level_filter = {VISUALIZE, CSV, PLOTJUGGLER}; const std::string filter_suffix = "_filtered"; const std::string log_name = "thunderbots"; std::unique_ptr logWorker; From bc475ca6932cd3335ec82477d17f10b8eaa710d9 Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Mon, 30 Sep 2024 10:20:23 -0700 Subject: [PATCH 03/14] Remove GenevaController message (#3326) --- src/proto/primitive.proto | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/proto/primitive.proto b/src/proto/primitive.proto index b679a65127..c2408c8955 100644 --- a/src/proto/primitive.proto +++ b/src/proto/primitive.proto @@ -92,12 +92,6 @@ message PowerControl }; } - message GenevaControl - { - float angle_deg = 1; - float rotation_speed_rpm = 2; - } - ChickerControl chicker = 1; Geneva.Slot geneva_slot = 2; } From 7b086f43fac2cbb2c5b0aa3eed09a15bd0389d5e Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Thu, 3 Oct 2024 09:35:02 -0700 Subject: [PATCH 04/14] Optimize replay mode seek bar stuttering (#3327) * Add basic functions for chunk index * Fix index building failure * Update documentations * Revise logging statements * Add documentations * Add tests * Optimize import statements * Remove end timestamp in index * Fix index building function * Add prompt message for user to enable cache function * Revise documentation and log messages * Fix broken test code * Fix broken test code * Build index when saving the clip * Build index when saving the clip * [pre-commit.ci lite] apply automatic fixes * Fix type hints * Fix PathLike * [pre-commit.ci lite] apply automatic fixes * Add error handling in index building * [pre-commit.ci lite] apply automatic fixes * Add version number * Fix typo * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .../thunderscope/replay/proto_player.py | 133 ++++++++++++++++-- src/software/thunderscope/replay/test/BUILD | 19 +++ .../replay/test/replay_corruption_test.py | 4 +- .../replay/test/replay_indexing_test.py | 126 +++++++++++++++++ 4 files changed, 269 insertions(+), 13 deletions(-) create mode 100644 src/software/thunderscope/replay/test/replay_indexing_test.py diff --git a/src/software/thunderscope/replay/proto_player.py b/src/software/thunderscope/replay/proto_player.py index 1a11354372..5f6c246630 100644 --- a/src/software/thunderscope/replay/proto_player.py +++ b/src/software/thunderscope/replay/proto_player.py @@ -43,8 +43,12 @@ class ProtoPlayer: """ PLAY_PAUSE_POLL_INTERVAL_SECONDS = 0.1 + CHUNK_INDEX_FILENAME = "chunks.index" + CHUNK_INDEX_FILE_VERSION = 1 - def __init__(self, log_folder_path: str, proto_unix_io: ProtoUnixIO) -> None: + def __init__( + self, log_folder_path: os.PathLike, proto_unix_io: ProtoUnixIO + ) -> None: """Creates a proto player that plays back all protos :param log_folder_path: The path to the log file. @@ -76,6 +80,9 @@ def __init__(self, log_folder_path: str, proto_unix_io: ProtoUnixIO) -> None: self.sorted_chunks[0] ) + # build or load index for chunks + self.chunks_indices = self.get_chunk_index() + # We can get the total runtime of the log from the last entry in the last chunk self.end_time = self.find_actual_endtime() @@ -93,14 +100,14 @@ def __init__(self, log_folder_path: str, proto_unix_io: ProtoUnixIO) -> None: self.error_bit_flag = ProtoPlayerFlags.NO_ERROR_FLAG @staticmethod - def sort_and_get_replay_files(log_folder_path): + def sort_and_get_replay_files(log_folder_path: os.PathLike): """Sorting the replay files :param log_folder_path: the path to the folder that we are going to be sorting! :return: the sorted replay files """ # Load up all replay files in the log folder - replay_files = glob.glob(log_folder_path + f"/*.{REPLAY_FILE_EXTENSION}") + replay_files = glob.glob(f"{log_folder_path}/*.{REPLAY_FILE_EXTENSION}") if len(replay_files) == 0: raise ValueError( @@ -109,7 +116,7 @@ def sort_and_get_replay_files(log_folder_path): ) # Sort the files by their chunk index - def __sort_replay_chunks(file_path: str): + def __sort_replay_chunks(file_path: os.PathLike): head, tail = os.path.split(file_path) replay_index, _ = tail.split(".") return int(replay_index) @@ -130,6 +137,99 @@ def is_log_entry_corrupt(log_entry: bytes, version: int) -> bool: except Exception: return True + def build_chunk_index(self, folder_path: os.PathLike) -> dict[str, float]: + """Build the chunk index and store the index into the index file + + Note: + ---- + A chunk index entry is a key value pair [filename: start timestamp] + - Start timestamp: timestamp of the first log entry in the chunk + - Filename: replay chunk file name (%d.replay) + + :param folder_path: folder containing all the replay files + + :return: a dictionary for mapping replay filename to the start + timestamp of the first entry in the chunk. + + """ + chunk_indices: dict[str, float] = dict() + for chunk_name in self.sorted_chunks: + chunk_data = ProtoPlayer.load_replay_chunk(chunk_name, self.version) + if chunk_data: + start_timestamp, _, _ = ProtoPlayer.unpack_log_entry( + chunk_data[0], self.version + ) + chunk_indices[os.path.basename(chunk_name)] = start_timestamp + if chunk_indices: + try: + with open( + os.path.join(folder_path, ProtoPlayer.CHUNK_INDEX_FILENAME), "w" + ) as index_file: + index_file.write( + f"Version: {ProtoPlayer.CHUNK_INDEX_FILE_VERSION}, " + f"Generated on {time.time():.0f}\n" + ) + for filename, start_timestamp in chunk_indices.items(): + index_file.write(f"{start_timestamp}, {filename}\n") + logging.info("Created chunk index file successfully.") + except Exception as e: + logging.warning(f"Failed to build chunk index for {folder_path}: {e}") + else: + logging.warning( + f"Failed to build chunk index for {folder_path} : No chunk data." + ) + return chunk_indices + + def is_chunk_indexed(self) -> bool: + """Returns true if the chunk index is already built. + + :return: if the chunk index file exists + """ + return os.path.exists( + os.path.join(self.log_folder_path, ProtoPlayer.CHUNK_INDEX_FILENAME) + ) + + def load_chunk_index(self) -> dict[str, float]: + """Loads the chunk index file. + + :return: the chunk indices. + """ + chunk_indices: dict[str, float] = dict() + try: + with open( + os.path.join(self.log_folder_path, ProtoPlayer.CHUNK_INDEX_FILENAME), + "r", + ) as index_file: + # skip the first timestamp line + index_file.readline() + + for line in index_file: + start_timestamp, chunk_name = line.split(",") + start_timestamp = float(start_timestamp) + chunk_name = chunk_name.strip() + chunk_indices[chunk_name] = start_timestamp + logging.info("Pre-existing chunk index file found and loaded.") + except Exception as e: + logging.warning(f"An Exception occurred when loading chunk index file {e}") + return chunk_indices + + def get_chunk_index(self) -> dict[str, float]: + """Returns the chunk indices. + NOTE: if the chunk index was not built, this function will automatically build one. + + :return: chunk indices. + """ + if not self.is_chunk_indexed(): + return self.build_chunk_index(self.log_folder_path) + + try: + return self.load_chunk_index() + except Exception as e: + logging.warning( + f"Exception occurred when loading chunk index, trying to rebuild. Message: {e}" + ) + return self.build_chunk_index(self.log_folder_path) + def is_proto_player_playing(self) -> bool: """Return whether or not the proto player is being played. @@ -163,7 +263,7 @@ def find_actual_endtime(self) -> float: return 0.0 @staticmethod - def load_replay_chunk(replay_chunk_path: str, version: int) -> list: + def load_replay_chunk(replay_chunk_path: os.PathLike, version: int) -> list: """Reads a replay chunk. :param replay_chunk_path: The path to the replay chunk. @@ -202,7 +302,7 @@ def load_replay_chunk(replay_chunk_path: str, version: int) -> list: return cached_data @staticmethod - def get_replay_chunk_format_version(replay_chunk_path: str) -> int: + def get_replay_chunk_format_version(replay_chunk_path: os.PathLike) -> int: """Reads a replay chunk. :param replay_chunk_path: The path to the replay chunk. @@ -329,6 +429,7 @@ def save_clip(self, filename: str, start_time: float, end_time: float) -> None: self.current_entry_index += 1 if self.current_packet_time >= end_time: logging.info("Clip saved!") + self.build_chunk_index(directory) return # Load the next chunk self.current_chunk_index += 1 @@ -418,14 +519,24 @@ def seek(self, seek_time: float) -> None: # Let's binary search through the chunks to find the chunk that starts # with a timestamp less than (but closest to) the seek_time we want # to seek to. - def __bisect_chunks_by_timestamp(chunk: str) -> None: - chunk = ProtoPlayer.load_replay_chunk(chunk, self.version) - start_timestamp, _, _ = ProtoPlayer.unpack_log_entry(chunk[0], self.version) - return start_timestamp + def __get_timestamp_for_chunk(chunk: str) -> float: + if self.chunks_indices and os.path.basename(chunk) in self.chunks_indices: + return self.chunks_indices[os.path.basename(chunk)] + else: + logging.warning( + "Use old algorithm to jump, which might result in lagging " + + f"Please try deleting {ProtoPlayer.CHUNK_INDEX_FILENAME} in the replay file folder" + + " and re-run Thunderscope to enable the indexing for faster speed!" + ) + chunk = ProtoPlayer.load_replay_chunk(chunk, self.version) + start_timestamp, _, _ = ProtoPlayer.unpack_log_entry( + chunk[0], self.version + ) + return start_timestamp with self.replay_controls_mutex: self.current_chunk_index = ProtoPlayer.binary_search( - self.sorted_chunks, seek_time, key=__bisect_chunks_by_timestamp + self.sorted_chunks, seek_time, key=__get_timestamp_for_chunk ) # Let's binary search through the entries in the chunk to find the closest diff --git a/src/software/thunderscope/replay/test/BUILD b/src/software/thunderscope/replay/test/BUILD index 3a9408c3ad..159879cd73 100644 --- a/src/software/thunderscope/replay/test/BUILD +++ b/src/software/thunderscope/replay/test/BUILD @@ -19,3 +19,22 @@ py_test( requirement("pytest"), ], ) + +py_test( + name = "replay_indexing_test", + srcs = [ + "replay_indexing_test.py", + ], + data = [ + "//software:py_constants.so", + ], + deps = [ + "//extlibs/er_force_sim/src/protobuf:erforce_py_proto", + "//proto:import_all_protos", + "//software:conftest", + "//software/thunderscope:proto_unix_io", + "//software/thunderscope/replay:proto_player", + "//software/thunderscope/replay/test:replay_corruption_test", + requirement("pytest"), + ], +) diff --git a/src/software/thunderscope/replay/test/replay_corruption_test.py b/src/software/thunderscope/replay/test/replay_corruption_test.py index b54565cf06..da16eb8b2d 100644 --- a/src/software/thunderscope/replay/test/replay_corruption_test.py +++ b/src/software/thunderscope/replay/test/replay_corruption_test.py @@ -9,7 +9,7 @@ 2. we create invalid entries of two type: the data is actually corrupted, and we are missing a delimiter. We mixed those replay entries with valid replay entries to check if proto player could actually player those entries - 4. we check to see if there are uncaught exception. If there are, we know fore sure proto player wouldn't work! + 3. we check to see if there are uncaught exception. If there are, we know for sure proto player wouldn't work! """ import time @@ -94,7 +94,7 @@ def make_part_replay_chunks( save_path: str, duration: float, start_time: float, - gen_log_entry_func: Callable[[Message, float], None], + gen_log_entry_func: Callable[[Message, float], str], frequency=0.1, ): """Making a part of the replay chunks and appending it to the 0.replay file. diff --git a/src/software/thunderscope/replay/test/replay_indexing_test.py b/src/software/thunderscope/replay/test/replay_indexing_test.py new file mode 100644 index 0000000000..04513235c0 --- /dev/null +++ b/src/software/thunderscope/replay/test/replay_indexing_test.py @@ -0,0 +1,126 @@ +"""This test is for testing the chunk indexing function of the proto player. +We are going to examine the index-building and index-loading functions. +Those functions are first introduced to optimize the response time of the progress bar in the replay mode. +""" + +from typing import Callable +import math +import shutil +import gzip +import os +from google.protobuf.message import Message +from software.py_constants import * + +from software.thunderscope.replay.proto_player import ProtoPlayer +from software.thunderscope.proto_unix_io import ProtoUnixIO +from software.simulated_tests.simulated_test_fixture import pytest_main +from software.thunderscope.replay.test.replay_corruption_test import ( + create_valid_log_entry, + create_random_proto, +) + +# location to store the generated files +TMP_REPLAY_SAVE_PATH = "/tmp/test_indexing" + +# number of chunk files being generated +CHUNK_FILES_NUM = 100 + +# number of entries per replay file +ENTRY_NUM_PER_FILE = 100 + +# length of time that every chunk represents +DURATION_PER_CHUNK = 5 + + +def create_test_player() -> ProtoPlayer: + """Create a dummy protoplayer for testing + :return: a protoplayer for testing + """ + return ProtoPlayer(TMP_REPLAY_SAVE_PATH, ProtoUnixIO()) + + +def cleanup(): + """Clean up this test by deleting the replay files generated""" + shutil.rmtree(TMP_REPLAY_SAVE_PATH) + + +def generate_chunk( + list_of_protos: [Message], + save_path: os.PathLike, + filename: str, + duration: float, + start_time: float, + gen_log_entry_func: Callable[[Message, float], str], +): + """Generate one replay chunk for testing. + + :param list_of_protos: the list of proto being referenced when generating log entries + :param save_path: directory for saving the chunk file + :param filename: the name of the chunk file + :param duration: the length of the chunk (in seconds) + :param start_time: the start time (in seconds) + :param gen_log_entry_func: function used to generate log entries + """ + os.makedirs(save_path, exist_ok=True) + path_to_replay_file = os.path.join(save_path, filename) + + with gzip.open(path_to_replay_file, "wb") as log_file: + for i, proto in enumerate(list_of_protos): + proto_time = start_time + duration / len(list_of_protos) * i + log_entry = gen_log_entry_func(proto, proto_time) + log_file.write(bytes(log_entry, encoding="utf-8")) + + +def test_for_building_index_on_valid_chunks(): + """Test building index file on correctly formatted replay files + + Test steps: + 1. generate correctly formatted replay files (chunks) + 2. Build index files + 3. Load index into memory and validate + 3. Test ProtoPlayer.seek() to check if the player can jump correctly to the correct chunk + """ + # generate correctly formatted replay files + replay_proto = [] + for _ in range(ENTRY_NUM_PER_FILE): + replay_proto.append(create_random_proto()) + for i in range(CHUNK_FILES_NUM): + generate_chunk( + replay_proto, + TMP_REPLAY_SAVE_PATH, + f"{i}.replay", + DURATION_PER_CHUNK, + DURATION_PER_CHUNK * i, + create_valid_log_entry, + ) + + player = create_test_player() + + # generate chunk index file + player.build_chunk_index(player.log_folder_path) + + # validate index with load index function + chunk_indices = player.load_chunk_index() + assert len(chunk_indices) == CHUNK_FILES_NUM + assert player.chunks_indices + for filename, start_timestamp in chunk_indices.items(): + index_of_file = int(filename.replace(".replay", "")) + assert math.isclose(start_timestamp, DURATION_PER_CHUNK * index_of_file) + + # test seeking a timestamp + # jump to the middle chunk + player.seek(DURATION_PER_CHUNK * CHUNK_FILES_NUM / 2) + assert player.current_chunk_index == int(CHUNK_FILES_NUM / 2) + + # jump to the start chunk + player.seek(0.0) + assert player.current_chunk_index == 0 + + # jump to the end chunk + player.seek(DURATION_PER_CHUNK * CHUNK_FILES_NUM - 1) + assert player.current_chunk_index == CHUNK_FILES_NUM - 1 + cleanup() + + +if __name__ == "__main__": + pytest_main(__file__) From 67e3c23572eb6e77da9e005c2e70dc4f771a9b19 Mon Sep 17 00:00:00 2001 From: Michael Ben-Zvi Date: Fri, 4 Oct 2024 15:36:10 -0700 Subject: [PATCH 05/14] Raspberry Pi 5 Support (#3253) * update gpio pin #s * update GPIO to use new kernel interface * wip * wip * new linux configs * spi config * partial refactor * wip * cleaning up ansible script * cleaning up ansible script * fixup pi setup ansible script * wip * basic stuff * wip * update to use new config.txt in ansible setup * transfer with gusto! * fixed up perms * fix build errors and add power_service back * fix logger build issue and run formatting * Split new GPIO into new class * Refactored motor for variable platform * Added flag to tbots py * Fixed bazel sync * Restructured constants * [pre-commit.ci lite] apply automatic fixes * tracy on pi fix * update const-ness of constants -- wip not yet complete * Move raspberry pi build and config selection to //software/embedded * [pre-commit.ci lite] apply automatic fixes * add some documentation and fixup failing tests * [pre-commit.ci lite] apply automatic fixes * fix c++ test * cleanup docs and tests * remove underflow in gpio char dev implementation * update use of Jetson word in docs * [pre-commit.ci lite] apply automatic fixes * fix tbots.py for flashing pi * fix tbots.py for flashing pi * [pre-commit.ci lite] apply automatic fixes * Address PR comments, clean up docs and update temperature handling * address PR comments and cleanup comments * fixup docs * fix mermaid diagram * fix mermaid v2 * update mermaid to use tbots network for Pis * fix mermaid broken * Update useful-robot-commands.md * Update useful-robot-commands.md * remove unintentional changes * fix ansible requirements build failure * Merge in rpi IP changes from robocup * Update useful-robot-commands.md * Fix wrong cpu temp path in jetson_constants.h * Add network connection test from robocup * [pre-commit.ci lite] apply automatic fixes * Fix failing build * update thunderloop build issue * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: arun Co-authored-by: arun Co-authored-by: Nima Zareian Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: itsarune <42703774+itsarune@users.noreply.github.com> Co-authored-by: williamckha --- .github/workflows/main.yml | 20 +- docs/getting-started.md | 33 ++- docs/robot-software-architecture.md | 16 +- docs/useful-robot-commands.md | 85 +++--- scripts/compile_pip_requirements.sh | 2 +- src/MODULE.bazel | 1 + src/WORKSPACE | 2 +- src/extlibs/tracy.BUILD | 1 + src/shared/BUILD | 16 +- src/shared/constants.h | 7 +- src/software/{jetson_nano => embedded}/BUILD | 56 +++- .../{jetson_nano => embedded}/ansible/BUILD | 22 +- .../ansible/playbooks/deploy_powerboard.yml | 0 .../playbooks/deploy_robot_software.yml} | 26 -- .../ansible/playbooks/example_playbook.yml | 0 .../ansible/playbooks/misc.yml | 0 .../playbooks/robot_auto_test_playbook.yml | 0 .../embedded/ansible/playbooks/setup_nano.yml | 137 ++++++++++ .../embedded/ansible/playbooks/setup_pi.yml | 128 +++++++++ .../ansible/playbooks/shared_setup.yml | 6 + .../ansible/requirements.in | 0 .../ansible/requirements_lock.txt | 4 +- .../ansible/run_ansible.py | 0 .../ansible/tasks/add_user_to_dialout.yml | 8 + .../embedded/ansible/tasks/check_internet.yml | 8 + .../enable_password_less_sudo_for_rsync.yml | 10 + .../embedded/ansible/tasks/reboot.yml | 14 + .../ansible/tasks/set_user_hostname.yml | 18 ++ .../tasks/setup_robot_software_deps.yml | 30 +++ .../embedded/ansible/tasks/setup_systemd.yml | 41 +++ .../ansible/tasks/setup_wifi_interface.yml | 20 ++ .../battery_test.cpp | 2 +- src/software/embedded/constants/BUILD | 17 ++ src/software/embedded/constants/constants.h | 7 + .../embedded/constants/jetson_constants.h | 13 + .../embedded/constants/pi_constants.h | 13 + src/software/embedded/gpio.h | 25 ++ src/software/embedded/gpio_char_dev.cpp | 111 ++++++++ src/software/embedded/gpio_char_dev.h | 54 ++++ .../gpio.cpp => embedded/gpio_sysfs.cpp} | 11 +- .../gpio.h => embedded/gpio_sysfs.h} | 21 +- src/software/embedded/linux_configs/BUILD | 1 + .../embedded/linux_configs/jetson_nano/BUILD | 9 + .../jetson_nano}/device_tree.zip | Bin .../linux_configs/jetson_nano}/extlinux.conf | 0 src/software/embedded/linux_configs/pi/BUILD | 9 + .../embedded/linux_configs/pi/config.txt | 50 ++++ .../embedded/linux_configs/pi/setup.zip | Bin 0 -> 639512 bytes .../systemd/10-persistent-wifi5-net.link | 5 + .../systemd/10-persistent-wifi6-net.link | 5 + .../linux_configs/systemd/BUILD | 1 + .../linux_configs/systemd/thunderloop.service | 0 src/software/embedded/platform.h | 5 + .../primitive_executor.cpp | 2 +- .../primitive_executor.h | 0 .../{jetson_nano => embedded}/redis/BUILD | 0 .../redis/redis_client.cpp | 2 +- .../redis/redis_client.h | 0 .../redis/redis_client_test.cpp | 2 +- .../{jetson_nano => embedded}/services/BUILD | 10 +- .../services/motor.cpp | 54 ++-- .../services/motor.h | 53 +++- .../services/network/BUILD | 0 .../services/network/network.cpp | 2 +- .../services/network/network.h | 2 +- .../services/network/proto_tracker.cpp | 2 +- .../services/network/proto_tracker.h | 0 .../services/network/proto_tracker_test.cpp | 2 +- .../services/power.cpp | 2 +- .../services/power.h | 0 .../services/robot_auto_test.cpp | 29 ++- .../setup_robot_software_deps.sh} | 7 +- .../{jetson_nano => embedded}/thunderloop.cpp | 35 ++- .../{jetson_nano => embedded}/thunderloop.h | 20 +- .../thunderloop_main.cpp | 2 +- .../ansible/playbooks/setup_nano.yml | 242 ------------------ src/software/jetson_nano/linux_configs/BUILD | 11 - .../linux_configs/systemd/thunderbots.service | 16 -- src/software/logger/coloured_cout_sink.cpp | 17 +- src/software/logger/coloured_cout_sink.h | 4 +- src/software/logger/logger.h | 17 +- src/software/simulation/BUILD | 2 +- src/software/simulation/er_force_simulator.h | 2 +- src/tbots.py | 22 +- 84 files changed, 1134 insertions(+), 495 deletions(-) create mode 100644 src/MODULE.bazel rename src/software/{jetson_nano => embedded}/BUILD (61%) rename src/software/{jetson_nano => embedded}/ansible/BUILD (62%) rename src/software/{jetson_nano => embedded}/ansible/playbooks/deploy_powerboard.yml (100%) rename src/software/{jetson_nano/ansible/playbooks/deploy_nano.yml => embedded/ansible/playbooks/deploy_robot_software.yml} (73%) rename src/software/{jetson_nano => embedded}/ansible/playbooks/example_playbook.yml (100%) rename src/software/{jetson_nano => embedded}/ansible/playbooks/misc.yml (100%) rename src/software/{jetson_nano => embedded}/ansible/playbooks/robot_auto_test_playbook.yml (100%) create mode 100644 src/software/embedded/ansible/playbooks/setup_nano.yml create mode 100644 src/software/embedded/ansible/playbooks/setup_pi.yml create mode 100644 src/software/embedded/ansible/playbooks/shared_setup.yml rename src/software/{jetson_nano => embedded}/ansible/requirements.in (100%) rename src/software/{jetson_nano => embedded}/ansible/requirements_lock.txt (99%) rename src/software/{jetson_nano => embedded}/ansible/run_ansible.py (100%) create mode 100644 src/software/embedded/ansible/tasks/add_user_to_dialout.yml create mode 100644 src/software/embedded/ansible/tasks/check_internet.yml create mode 100644 src/software/embedded/ansible/tasks/enable_password_less_sudo_for_rsync.yml create mode 100644 src/software/embedded/ansible/tasks/reboot.yml create mode 100644 src/software/embedded/ansible/tasks/set_user_hostname.yml create mode 100644 src/software/embedded/ansible/tasks/setup_robot_software_deps.yml create mode 100644 src/software/embedded/ansible/tasks/setup_systemd.yml create mode 100644 src/software/embedded/ansible/tasks/setup_wifi_interface.yml rename src/software/{jetson_nano => embedded}/battery_test.cpp (94%) create mode 100644 src/software/embedded/constants/BUILD create mode 100644 src/software/embedded/constants/constants.h create mode 100644 src/software/embedded/constants/jetson_constants.h create mode 100644 src/software/embedded/constants/pi_constants.h create mode 100644 src/software/embedded/gpio.h create mode 100644 src/software/embedded/gpio_char_dev.cpp create mode 100644 src/software/embedded/gpio_char_dev.h rename src/software/{jetson_nano/gpio.cpp => embedded/gpio_sysfs.cpp} (83%) rename src/software/{jetson_nano/gpio.h => embedded/gpio_sysfs.h} (61%) create mode 100644 src/software/embedded/linux_configs/BUILD create mode 100644 src/software/embedded/linux_configs/jetson_nano/BUILD rename src/software/{jetson_nano/linux_configs => embedded/linux_configs/jetson_nano}/device_tree.zip (100%) rename src/software/{jetson_nano/linux_configs => embedded/linux_configs/jetson_nano}/extlinux.conf (100%) create mode 100644 src/software/embedded/linux_configs/pi/BUILD create mode 100755 src/software/embedded/linux_configs/pi/config.txt create mode 100644 src/software/embedded/linux_configs/pi/setup.zip create mode 100644 src/software/embedded/linux_configs/systemd/10-persistent-wifi5-net.link create mode 100644 src/software/embedded/linux_configs/systemd/10-persistent-wifi6-net.link rename src/software/{jetson_nano => embedded}/linux_configs/systemd/BUILD (88%) rename src/software/{jetson_nano => embedded}/linux_configs/systemd/thunderloop.service (100%) create mode 100644 src/software/embedded/platform.h rename src/software/{jetson_nano => embedded}/primitive_executor.cpp (99%) rename src/software/{jetson_nano => embedded}/primitive_executor.h (100%) rename src/software/{jetson_nano => embedded}/redis/BUILD (100%) rename src/software/{jetson_nano => embedded}/redis/redis_client.cpp (98%) rename src/software/{jetson_nano => embedded}/redis/redis_client.h (100%) rename src/software/{jetson_nano => embedded}/redis/redis_client_test.cpp (98%) rename src/software/{jetson_nano => embedded}/services/BUILD (80%) rename src/software/{jetson_nano => embedded}/services/motor.cpp (96%) rename src/software/{jetson_nano => embedded}/services/motor.h (89%) rename src/software/{jetson_nano => embedded}/services/network/BUILD (100%) rename src/software/{jetson_nano => embedded}/services/network/network.cpp (98%) rename src/software/{jetson_nano => embedded}/services/network/network.h (98%) rename src/software/{jetson_nano => embedded}/services/network/proto_tracker.cpp (96%) rename src/software/{jetson_nano => embedded}/services/network/proto_tracker.h (100%) rename src/software/{jetson_nano => embedded}/services/network/proto_tracker_test.cpp (96%) rename src/software/{jetson_nano => embedded}/services/power.cpp (97%) rename src/software/{jetson_nano => embedded}/services/power.h (100%) rename src/software/{jetson_nano => embedded}/services/robot_auto_test.cpp (79%) rename src/software/{jetson_nano/setup_nano.sh => embedded/setup_robot_software_deps.sh} (81%) rename src/software/{jetson_nano => embedded}/thunderloop.cpp (95%) rename src/software/{jetson_nano => embedded}/thunderloop.h (91%) rename src/software/{jetson_nano => embedded}/thunderloop_main.cpp (98%) delete mode 100644 src/software/jetson_nano/ansible/playbooks/setup_nano.yml delete mode 100644 src/software/jetson_nano/linux_configs/BUILD delete mode 100644 src/software/jetson_nano/linux_configs/systemd/thunderbots.service diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 815c00e5b4..3e0758ddcb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,12 +30,17 @@ jobs: -//software/simulated_tests/... \ -//software/ai/hl/... \ -//software/field_tests/... \ - -//software/jetson_nano/... \ + -//software/embedded/... \ - name: Jetson Nano Build Test run: | cd src - bazel build --cpu=jetson_nano //software/jetson_nano:thunderloop_main --copt=-O3 + bazel build --cpu=jetson_nano //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=NANO + + - name: Raspberry Pi Build Test + run: | + cd src + bazel build --cpu=jetson_nano //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=PI software-tests: name: Software Tests @@ -58,8 +63,8 @@ jobs: -//software/field_tests/... \ -//software/ai/navigator/... - jetson-nano-tests: - name: Jetson Nano Software Tests + robot-tests: + name: Robot Software Tests runs-on: ubuntu-20.04 steps: # checks-out the repository under $GITHUB_WORKSPACE @@ -85,7 +90,12 @@ jobs: - name: Jetson Nano Build run: | cd src - bazel build --cpu=jetson_nano //software/jetson_nano:thunderloop_main --copt=-O3 + bazel build --cpu=jetson_nano //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=NANO + + - name: Raspberry Pi Build + run: | + cd src + bazel build --cpu=jetson_nano //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=PI simulated-gameplay-tests: name: Simulated Gameplay Tests diff --git a/docs/getting-started.md b/docs/getting-started.md index c9aea63a5a..59dd069ed1 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -1,10 +1,5 @@ -Table of Contents -================= - +Table of Contents +================= * [Software Setup](#software-setup) * [Introduction](#introduction) @@ -30,8 +25,8 @@ Table of Contents * [Profiling](#profiling) * [Callgrind](#callgrind) * [Tracy](#tracy) - * [Building for Jetson Nano](#building-for-jetson-nano) - * [Deploying to Jetson Nano](#deploying-to-jetson-nano) + * [Building for the robot](#building-for-the-robot) + * [Deploying Robot Software to the robot](#deploying-robot-software-to-the-robot) * [Setting up Virtual Robocup 2021](#setting-up-virtual-robocup-2021) * [Setting up the SSL Simulation Environment](#setting-up-the-ssl-simulation-environment) * [Pushing a Dockerfile to dockerhub](#pushing-a-dockerfile-to-dockerhub) @@ -49,6 +44,14 @@ Table of Contents * [Example Workflow](#example-workflow) * [Testing](#testing) + + # Software Setup ## Introduction @@ -339,17 +342,19 @@ Tracy also samples call stacks. If the profiled binary is run with root permissi ./tbots.py run thunderscope_main --tracy --sudo -## Building for Jetson Nano +## Building for the robot -To build for the Jetson Nano, build the target with the `--cpu=jetson_nano` flag and the toolchain will automatically build using the ARM toolchain for Jetson Nano. For example, `bazel build --cpu=jetson_nano //software/geom/...`. +To build for the robot computer, build the target with the `--cpu=jetson_nano` flag and the toolchain will automatically build using the ARM toolchain. For example, `bazel build --cpu=jetson_nano //software/geom/...`. -## Deploying to Jetson Nano +## Deploying Robot Software to the robot -We use ansible to automatically update software running on the Jetson Nano. [More info here.](useful-robot-commands.md#flashing-the-nano) +We use Ansible to automatically update software running on the robot. [More info here.](useful-robot-commands.md#flashing-the-robots-compute-module) To update binaries on a working robot, you can run: -`bazel run //software/jetson_nano/ansible:run_ansible --cpu=jetson_nano -- --playbook deploy_nano.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` + +Where `` is the robot platform you are deploying to (`PI` or `NANO`), and `` is the IP address of the robot you are deploying to. The `robot_password` is the password used to login to the `robot` user on the robot. ## Setting up Virtual Robocup 2021 diff --git a/docs/robot-software-architecture.md b/docs/robot-software-architecture.md index 8bd11d84d7..f806e76e1c 100644 --- a/docs/robot-software-architecture.md +++ b/docs/robot-software-architecture.md @@ -16,11 +16,11 @@ ## Ansible -[Ansible](https://www.ansible.com/overview/how-ansible-works) allows us to run actions on multiple robots at once. Actions are communicated through YAML files called playbooks. Playbooks contain a series of tasks (ex move a file, run this script, output this command) and logic dictating dependencies between tasks. When playbooks are run, Ansible establishes an SSH connection between the user's computer and target Jetson Nanos, allowing it to run the tasks in the playbook. Output from each task, and any other requested output, is displayed on the console +[Ansible](https://www.ansible.com/overview/how-ansible-works) allows us to run actions on multiple robots at once. Actions are communicated through YAML files called playbooks. Playbooks contain a series of tasks (eg. move a file, run this script, output this command) and logic dictating dependencies between tasks. When playbooks are run, Ansible establishes an SSH connection between the user's computer and robot, allowing it to run the tasks in the playbook. Output from each task, and any other requested output, is displayed on the console For a more detailed look at how Ansible works, [see the RFC](https://docs.google.com/document/d/1hN3Us2Vjr8z6ihqUVp_3L7rrjKc-EZ-l2hZJc31gNOc/edit) -Example command: `bazel run //software/jetson_nano/ansible:run_ansible --cpu=jetson_nano -- --playbook deploy_nano.yml --hosts --ssh_pass ` +Example command: `bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` More commands available [here](useful-robot-commands.md#off-robot-commands) @@ -36,14 +36,6 @@ To learn more about how it works, [see the RFC](https://docs.google.com/document # Thunderloop -Thunderloop is software that runs in a loop. It continuously polls services (unrelated from Systemd) sending relevant control proto (`PowerControl`, `MotorControl`) and receiving back status proto. Currently we have a [Network](https://github.com/UBC-Thunderbots/Software/blob/master/src/software/jetson_nano/services/network/network.cpp), [Power](https://github.com/UBC-Thunderbots/Software/blob/master/src/software/jetson_nano/services/power.cpp) and [Motor service](https://github.com/UBC-Thunderbots/Software/blob/master/src/software/jetson_nano/services/motor.cpp). Thunderloop also receives `World` and `PrimitiveSet` Proto from AI and sends back Robot Status. +Thunderloop is software that runs in a loop. It continuously polls services (unrelated from Systemd), sending relevant control protos (`PowerControl`, `MotorControl`) and receiving back status protos from the power and motor boards. Currently we have a [Network](https://github.com/UBC-Thunderbots/Software/blob/master/src/software/embedded/services/network/network.cpp), [Power](https://github.com/UBC-Thunderbots/Software/blob/master/src/software/embedded/services/power.cpp) and [Motor](https://github.com/UBC-Thunderbots/Software/blob/master/src/software/embedded/services/motor.cpp) services. Thunderloop also receives `World` and `PrimitiveSet` protos from AI and sends back `Robot Status` protos. -Motor and Power service both interface with their respective electrical boards over different communication interfaces, namely SPI and UART respectively. - -# Announcements - -Broadcasts packets for what robot IDs are connected to wifi and what IPs they have. Combined with `robot_broadcast_receiver.py` allows us to see all robots on the network. - -# Display - -Displays information about the robot for us. Uses redis to receive info from other processes. Can also change values with physical buttons. +Motor and Power services both interface with their respective electrical boards over different communication interfaces, namely SPI and UART respectively. diff --git a/docs/useful-robot-commands.md b/docs/useful-robot-commands.md index e5399fa8d6..5dd76fdc69 100644 --- a/docs/useful-robot-commands.md +++ b/docs/useful-robot-commands.md @@ -1,32 +1,40 @@ -# Common Robot Commands +Table of Contents +================= -# Table of Contents +* [Table of Contents](#table-of-contents) * [Common Debugging Steps](#common-debugging-steps) * [Off Robot Commands](#off-robot-commands) * [Wifi Disclaimer](#wifi-disclaimer) - * [Miscellaneous Ansible Tasks & Options](#miscellaneous-ansible-tasks--options) - * [Flashing the nano](#flashing-the-nano) + * [Miscellaneous Ansible Tasks & Options](#miscellaneous-ansible-tasks--options) + * [Flashing the robot's compute module](#flashing-the-robots-compute-module) * [Flashing the powerboard](#flashing-the-powerboard) - * [Setting up nano](#setting-up-nano) + * [Setting up the embedded host](#setting-up-the-embedded-host) + * [Jetson Nano](#jetson-nano) + * [Raspberry Pi](#raspberry-pi) * [Robot Diagnostics](#robot-diagnostics) + * [For Just Diagnostics](#for-just-diagnostics) + * [For AI + Diagnostics](#for-ai--diagnostics) * [Robot Auto Test](#robot-auto-test) * [On Robot Commands](#on-robot-commands) * [Systemd Services](#systemd-services) * [Debugging Uart](#debugging-uart) * [Redis](#redis) + + + # Common Debugging Steps ```mermaid --- title: Robot Debugging Steps --- flowchart TD - ssh(Can you SSH into the robot? - `ssh robot@192.168.0.20RobotID` OR `ssh robot@robot_name.local` - E.g. `ssh robot@192.168.0.203` or `ssh robot@robert.local` - for a robot called robert with robot id 3) + ssh("Can you SSH into the robot? + `ssh robot@192.168.0.20RobotID` (for Nanos) OR `ssh robot@192.168.5.20RobotID` (for Pis) OR `ssh robot@robot_name.local` + e.g. `ssh robot@192.168.0.203` (for Nanos) or `ssh robot@192.168.5.203` (for Pis) or `ssh robot@robert.local` + for a robot called robert with robot id 3") ssh ---> |Yes| tloop_status - ssh --> |No - Second Try| monitor("`Connect Jetson to an external monitor and check wifi connection _or_ SSH using an ethernet cable`") + ssh --> |No - Second Try| monitor("Connect Jetson or Pi to an external monitor and check wifi connection or SSH using an ethernet cable") ssh --> |No - First Try| restart(Restart robot) restart --> ssh @@ -53,12 +61,12 @@ flowchart TD `service thunderloop restart`) tloop_status --> |Running| tloop_logs(Check Thunderloop logs for errors `journalctl -fu thunderloop -n 300`) - tloop_logs --> |No Errors| check_redis(Does `redis-cli get /network_interface` return 'wlan0', + tloop_logs --> |No Errors| check_redis(Does `redis-cli get /network_interface` return 'wlan0' or 'tbots', and does `redis-cli get /channel_id` return '0'?) - tloop_logs --> |Contains Errors| rip2("`Fix errors or check errors with a lead`") - check_redis --> |No| update_redis(Update Redis constants by running: - `redis-cli set /network_interface 'wlan0'` - `redis-cli set /channel_id '0'`) + tloop_logs --> |Contains Errors| rip2("Fix errors or check errors with a lead") + check_redis --> |No| update_redis("Update Redis constants by running: + `redis-cli set /network_interface 'wlan0'` (for Nanos) OR `redis-cli set /network_interface 'tbots'` (for Pis) + `redis-cli set /channel_id '0'`") check_redis --> |Yes| rip3(Check with a lead) update_redis --> tloop_restart tloop_restart --> tloop_status @@ -79,13 +87,13 @@ The IP address of the robots on the tbots network is `192.168.0.20` so Individual miscellaneous tasks (ex reboot, shutdown, rtt test) can be run through the `misc.yml` playbook by specifying the corresponding tag. To view a list of supported arguments, run -`bazel run //software/jetson_nano/ansible:run_ansible --cpu=jetson_nano -- -h` +`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano -- -h` If desired, the `-ho`, `--hosts` argument can be replaced with `-p`, `--port`, defining a port to listen to for Announcements from hosts. The `--tags` argument can be used to specify which actions to perform and on which services. -## Flashing the nano +## Flashing the robot's compute module This will stop the current Systemd services, replace and restart them. Binaries that are used for Systemd services are located in a folder in `home/robot` (the default directory) called `thunderbots_binaries`. @@ -93,15 +101,21 @@ This will stop the current Systemd services, replace and restart them. Binaries This will trigger motor calibration meaning the wheels may spin. Please elevate the robot so the wheels are not touching the ground for proper calibration. -`bazel run //software/jetson_nano/ansible:run_ansible --cpu=jetson_nano -- --playbook deploy_nano.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` +* \ is the host platform on the robot (either `PI` or `NANO`) +* is the IP address of the robot +* is the password of the `robot` user account -You could also use the `tbots.py` script to flash +You could also use the `tbots.py` script to flash robot software -`./tbots.py run run_ansible -f -pwd ` (Note that this uses robot IDs rather than full robot IP addresses) +`./tbots.py run run_ansible -pl -f -pwd ` (Note that this uses robot IDs rather than full robot IP addresses) +* \ is the host platform on the robot (either `PI` or `NANO` +* is a list of robot IDs to flash +* is the password of the `robot` user account -Example: Flashing robots 1, 4, and 7 +Example: Flashing robots 1, 4, and 7 that have a Raspberry Pi -`./tbots.py run run_ansible -f 1 4 7 -pwd ` +`./tbots.py run run_ansible -pl PI -f 1 4 7 -pwd ` ## Flashing the powerboard @@ -109,15 +123,21 @@ This will flash powerloop, the current firmware in `software/power/`, onto the p Looking from the back of the robot the reset and boot buttons are on right side of the battery holder on the lowest board with the reset being on the left and the boot on the right. Warning it may kick/chip when pressed. -`bazel run //software/jetson_nano/ansible:run_ansible --cpu=jetson_nano -- --playbook deploy_powerboard.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano -- --playbook deploy_powerboard.yml --hosts --ssh_pass ` + +## Setting up the embedded host + +This section refers to setting up the computer on the robot for the first time. We need to setup dependencies, drivers and necessary configurations. + +Setting up the robot for the first time requires internet access -## Setting up nano +### Jetson Nano -This refers to setting up the Jetson Nano for the first time. This will enable Systemd services, modify device tree files and perform other setup necessary for the communication protocols used. +`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform=NANO -- --playbook setup_nano.yml --hosts --ssh_pass ` -Setting up the nano for the first time requires internet access +### Raspberry Pi -`bazel run //software/jetson_nano/ansible:run_ansible --cpu=jetson_nano -- --playbook setup_nano.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform=PI -- --playbook setup_raspberry_pi.yml --hosts --ssh_pass ` ## Robot Diagnostics @@ -125,13 +145,13 @@ Robot Diagnostics allow users to input various commands to the robots. It can be If multiple people are using robot diagnostics at the same time on the same network please make sure each person only connects to the robots they are testing via the checkboxes -###For Just Diagnostics +### For Just Diagnostics From Software/src `./tbots.py run thunderscope --run_diagnostics --interface ` -###For AI + Diagnostics +### For AI + Diagnostics From Software/src @@ -144,9 +164,10 @@ Runs the robot auto test fixture on a robot through Ansible, which tests the mot From Software/src: -`bazel run //software/jetson_nano/ansible:run_ansible --cpu=jetson_nano -- --playbook robot_auto_test_playbook.yml --hosts --ssh_pass ` -* replace the with the actual ip address of the jetson nano for the ssh connection. -* replace the with the actual password for the jetson nano for the ssh connection. +`bazel run //software/embedded/ansible:run_ansible --//software/embedded:host_platform= --cpu=jetson_nano -- --playbook robot_auto_test_playbook.yml --hosts --ssh_pass ` +* replace the \ with the target platform for the robot (either `PI` or `NANO`) +* replace the \ with the actual ip address of the jetson nano for the ssh connection. +* replace the with the actual password for the jetson nano for the ssh connection. # On Robot Commands diff --git a/scripts/compile_pip_requirements.sh b/scripts/compile_pip_requirements.sh index dd2bce5e88..becf00a925 100755 --- a/scripts/compile_pip_requirements.sh +++ b/scripts/compile_pip_requirements.sh @@ -17,5 +17,5 @@ BAZEL_ROOT_DIR="$CURR_DIR/../src" cd $BAZEL_ROOT_DIR bazel run //extlibs:nanopb_requirements.update bazel run //software/thunderscope:requirements.update -bazel run //software/jetson_nano/ansible:requirements.update +bazel run //software/embedded/ansible:requirements.update bazel run //software/simulated_tests:requirements.update diff --git a/src/MODULE.bazel b/src/MODULE.bazel new file mode 100644 index 0000000000..bfd76eecbf --- /dev/null +++ b/src/MODULE.bazel @@ -0,0 +1 @@ +bazel_dep(name = "bazel_skylib", version = "1.5.0") diff --git a/src/WORKSPACE b/src/WORKSPACE index 1c7fc50d7e..5cd0c12743 100644 --- a/src/WORKSPACE +++ b/src/WORKSPACE @@ -46,7 +46,7 @@ pip_parse( pip_parse( name = "ansible_deps", python_interpreter = "/opt/tbotspython/bin/python", - requirements_lock = "//software/jetson_nano/ansible:requirements_lock.txt", + requirements_lock = "//software/embedded/ansible:requirements_lock.txt", ) pip_parse( diff --git a/src/extlibs/tracy.BUILD b/src/extlibs/tracy.BUILD index 8ed4c5fa2a..de660aba65 100644 --- a/src/extlibs/tracy.BUILD +++ b/src/extlibs/tracy.BUILD @@ -12,5 +12,6 @@ cc_library( ], ), includes = ["public/tracy"], + linkopts = ["-ldl"], visibility = ["//visibility:public"], ) diff --git a/src/shared/BUILD b/src/shared/BUILD index 60261e870b..5178e4d7a1 100644 --- a/src/shared/BUILD +++ b/src/shared/BUILD @@ -5,20 +5,20 @@ load( "@platformio_rules//platformio:platformio.bzl", "platformio_library", ) +load("@bazel_skylib//rules:common_settings.bzl", "string_flag") + +platformio_library( + name = "constants_platformio", + hdr = "constants.h", +) cc_library( name = "constants", srcs = [], hdrs = ["constants.h"], - deps = [], alwayslink = True, ) -platformio_library( - name = "constants_platformio", - hdr = "constants.h", -) - cc_library( name = "robot_constants", srcs = [ @@ -28,7 +28,5 @@ cc_library( "2021_robot_constants.h", "robot_constants.h", ], - deps = [ - ":constants", - ], + deps = [":constants"], ) diff --git a/src/shared/constants.h b/src/shared/constants.h index a235bdfb3d..8ebff1acac 100644 --- a/src/shared/constants.h +++ b/src/shared/constants.h @@ -43,9 +43,10 @@ static const short unsigned int REDIS_DEFAULT_PORT = 6379; static const short unsigned int PRIMITIVE_PORT = 42070; // the port the AI receives msgs from the robot -static const short unsigned int ROBOT_STATUS_PORT = 42071; -static const short unsigned int ROBOT_LOGS_PORT = 42072; -static const short unsigned int ROBOT_CRASH_PORT = 42074; +static const short unsigned int ROBOT_STATUS_PORT = 42071; +static const short unsigned int ROBOT_LOGS_PORT = 42072; +static const short unsigned int ROBOT_CRASH_PORT = 42074; +static const short unsigned int NETWORK_COMM_TEST_PORT = 42075; // maximum transfer unit of the network interface // this is an int to avoid Wconversion with lwip diff --git a/src/software/jetson_nano/BUILD b/src/software/embedded/BUILD similarity index 61% rename from src/software/jetson_nano/BUILD rename to src/software/embedded/BUILD index 2714cd3435..cd35497c38 100644 --- a/src/software/jetson_nano/BUILD +++ b/src/software/embedded/BUILD @@ -1,5 +1,36 @@ package(default_visibility = ["//visibility:public"]) +load("@bazel_skylib//rules:common_settings.bzl", "string_flag") + +config_setting( + name = "build_nano", + flag_values = { + ":host_platform": "NANO", + }, +) + +config_setting( + name = "build_pi", + flag_values = { + ":host_platform": "PI", + }, +) + +string_flag( + name = "host_platform", + build_setting_default = "PI", + values = [ + "PI", + "NANO", + ], +) + +cc_library( + name = "platform", + hdrs = ["platform.h"], + deps = ["//software/util/make_enum"], +) + cc_library( name = "primitive_executor", srcs = ["primitive_executor.cpp"], @@ -7,7 +38,6 @@ cc_library( deps = [ "//proto:tbots_cc_proto", "//proto/primitive:primitive_msg_factory", - "//shared:constants", "//software/ai/navigator/trajectory:bang_bang_trajectory_1d_angular", "//software/ai/navigator/trajectory:trajectory_path", "//software/math:math_functions", @@ -23,10 +53,10 @@ cc_library( deps = [ ":primitive_executor", "//proto:tbots_cc_proto", - "//software/jetson_nano/redis", - "//software/jetson_nano/services:motor", - "//software/jetson_nano/services:power", - "//software/jetson_nano/services/network", + "//software/embedded/redis", + "//software/embedded/services:motor", + "//software/embedded/services:power", + "//software/embedded/services/network", "//software/logger:network_logger", "//software/tracy:tracy_constants", "//software/util/scoped_timespec_timer", @@ -37,8 +67,15 @@ cc_library( cc_library( name = "gpio", - srcs = ["gpio.cpp"], - hdrs = ["gpio.h"], + srcs = [ + "gpio_char_dev.cpp", + "gpio_sysfs.cpp", + ], + hdrs = [ + "gpio.h", + "gpio_char_dev.h", + "gpio_sysfs.h", + ], deps = [ "//software/logger", "//software/logger:network_logger", @@ -55,14 +92,13 @@ cc_binary( ], deps = [ ":thunderloop", - "//shared:constants", "@boost//:program_options", ], ) sh_binary( - name = "setup_nano", - srcs = ["setup_nano.sh"], + name = "setup_robot_software_deps", + srcs = ["setup_robot_software_deps.sh"], ) cc_test( diff --git a/src/software/jetson_nano/ansible/BUILD b/src/software/embedded/ansible/BUILD similarity index 62% rename from src/software/jetson_nano/ansible/BUILD rename to src/software/embedded/ansible/BUILD index c8ce2df770..625c8eb0d1 100644 --- a/src/software/jetson_nano/ansible/BUILD +++ b/src/software/embedded/ansible/BUILD @@ -19,13 +19,14 @@ py_binary( data = [ ":playbooks", ":scripts", - "//software/jetson_nano:setup_nano", - "//software/jetson_nano:thunderloop_main", - "//software/jetson_nano/linux_configs:device_tree", - "//software/jetson_nano/linux_configs:extlinux", - "//software/jetson_nano/linux_configs/systemd:systemd_files", - "//software/jetson_nano/redis", - "//software/jetson_nano/services:robot_auto_test", + ":tasks", + "//software/embedded:setup_robot_software_deps", + "//software/embedded:thunderloop_main", + "//software/embedded/linux_configs/jetson_nano:jetson_nano_files", + "//software/embedded/linux_configs/pi:pi_files", + "//software/embedded/linux_configs/systemd:systemd_files", + "//software/embedded/redis", + "//software/embedded/services:robot_auto_test", "//software/power:powerloop_tar", ], deps = [ @@ -46,3 +47,10 @@ filegroup( "scripts/**/*.py", ]), ) + +filegroup( + name = "tasks", + data = glob([ + "tasks/**/*.yml", + ]), +) diff --git a/src/software/jetson_nano/ansible/playbooks/deploy_powerboard.yml b/src/software/embedded/ansible/playbooks/deploy_powerboard.yml similarity index 100% rename from src/software/jetson_nano/ansible/playbooks/deploy_powerboard.yml rename to src/software/embedded/ansible/playbooks/deploy_powerboard.yml diff --git a/src/software/jetson_nano/ansible/playbooks/deploy_nano.yml b/src/software/embedded/ansible/playbooks/deploy_robot_software.yml similarity index 73% rename from src/software/jetson_nano/ansible/playbooks/deploy_nano.yml rename to src/software/embedded/ansible/playbooks/deploy_robot_software.yml index 4e33513faa..a41c667f2c 100644 --- a/src/software/jetson_nano/ansible/playbooks/deploy_nano.yml +++ b/src/software/embedded/ansible/playbooks/deploy_robot_software.yml @@ -65,13 +65,6 @@ when: "'sync' in actions" tags: always - - name: Unzipping python binaries - command: 'unzip ~/thunderbots_binaries/*.zip' - register: result - args: - chdir: ~/thunderbots_binaries - when: "'sync' in actions" - - name: Start Services become: true become_method: sudo @@ -85,22 +78,3 @@ loop_var: service_name when: "'start' in actions" tags: always - - - name: Enable WiFi waiter service - become: true - become_method: sudo - service: name=NetworkManager-wait-online enabled=yes - - - name: Disable Announcements - become: true - become_method: sudo - ansible.builtin.systemd: - name: "{{ service_name }}" - enabled: no - masked: no - state: stopped - with_items: ["wifi_announcement", "ethernet_announcement"] - loop_control: - loop_var: service_name - tags: always - failed_when: false diff --git a/src/software/jetson_nano/ansible/playbooks/example_playbook.yml b/src/software/embedded/ansible/playbooks/example_playbook.yml similarity index 100% rename from src/software/jetson_nano/ansible/playbooks/example_playbook.yml rename to src/software/embedded/ansible/playbooks/example_playbook.yml diff --git a/src/software/jetson_nano/ansible/playbooks/misc.yml b/src/software/embedded/ansible/playbooks/misc.yml similarity index 100% rename from src/software/jetson_nano/ansible/playbooks/misc.yml rename to src/software/embedded/ansible/playbooks/misc.yml diff --git a/src/software/jetson_nano/ansible/playbooks/robot_auto_test_playbook.yml b/src/software/embedded/ansible/playbooks/robot_auto_test_playbook.yml similarity index 100% rename from src/software/jetson_nano/ansible/playbooks/robot_auto_test_playbook.yml rename to src/software/embedded/ansible/playbooks/robot_auto_test_playbook.yml diff --git a/src/software/embedded/ansible/playbooks/setup_nano.yml b/src/software/embedded/ansible/playbooks/setup_nano.yml new file mode 100644 index 0000000000..fb8c0365cf --- /dev/null +++ b/src/software/embedded/ansible/playbooks/setup_nano.yml @@ -0,0 +1,137 @@ +--- + +- name: Setting up the jetson Nano + hosts: THUNDERBOTS_HOSTS + + tasks: + + - name: Check internet connection + tags: dependencies + import_tasks: ../tasks/check_internet.yml + + - name: Enable passwordless sudo for rsync + tags: + - dependencies + - configure_nano + import_tasks: ../tasks/enable_password_less_sudo_for_rsync.yml + + - name: Setup Robot Software dependencies + tags: + - dependencies + import_tasks: ../tasks/setup_robot_software_deps.yml + + - name: Setup systemd + tags: + - dependencies + - configure_nano + import_tasks: ../tasks/setup_systemd.yml + + - name: Add user robot to dialout + tags: + - configure_nano + - dependencies + import_tasks: ../tasks/add_user_to_dialout.yml + + - name: Run Jetson Clocks + become: true + become_method: sudo + shell: /usr/bin/jetson_clocks + tags: configure_nano + + # UART setup + - name: Stop nvgetty + become: true + become_method: sudo + command: 'systemctl stop nvgetty' + tags: configure_nano + + - name: Disable nvgetty + become: true + become_method: sudo + command: 'systemctl disable nvgetty' + tags: configure_nano + + - name: Setup udevadm trigger + become: true + become_method: sudo + command: 'udevadm trigger' + tags: configure_nano + + - name: Add user robot to dialout + ansible.builtin.import_tasks: ../tasks/add_user_to_dialout.yml + tags: configure_nano + + # Device tree setup + - name: Sync Device Tree + become: true + become_method: sudo + tags: + - sync + - device_tree + ansible.posix.synchronize: + src: ../../../linux_configs/jetson_nano/device_tree.zip + dest: ~/ + recursive: yes + copy_links: yes + + - name: Sync extlinux conf + become: true + become_method: sudo + tags: + - sync + - device_tree + ansible.posix.synchronize: + src: ../../../linux_configs/jetson_nano/extlinux.conf + dest: ~/ + recursive: yes + copy_links: yes + + - name: Unzip device tree + tags: + - sync + - device_tree + command: 'unzip -o ~/device_tree.zip' + register: result + args: + chdir: ~/ + + - name: Compile device tree + tags: + - sync + - device_tree + shell: 'dtc -q -I dts -O dtb ~/device_tree.dts > device_tree.dtb' + register: result + args: + chdir: ~/ + + - name: Move compiled device tree binary to boot path + become_method: sudo + become: true + tags: + - sync + - device_tree + shell: 'mv /home/robot/device_tree.dtb /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb' + register: result + args: + chdir: ~/ + + - name: Move extlinux file + become_method: sudo + become: true + tags: + - sync + - device_tree + shell: 'mv /home/robot/extlinux.conf /boot/extlinux/extlinux.conf' + register: result + args: + chdir: ~/ + + - name: Reboot + tags: always + ansible.builtin.import_tasks: + file: ../tasks/reboot.yml + + - name: Setup success + tags: always + debug: + msg: "Setup complete for {{ inventory_hostname }}!" diff --git a/src/software/embedded/ansible/playbooks/setup_pi.yml b/src/software/embedded/ansible/playbooks/setup_pi.yml new file mode 100644 index 0000000000..857e076117 --- /dev/null +++ b/src/software/embedded/ansible/playbooks/setup_pi.yml @@ -0,0 +1,128 @@ +--- + +- name: Setting up the Raspberry Pi + hosts: THUNDERBOTS_HOSTS + + tasks: + + - name: Check internet connection + tags: dependencies + ansible.builtin.import_tasks: + file: ../tasks/check_internet.yml + + - name: Enable passwordless sudo for rsync + tags: + - dependencies + - configure_pi + ansible.builtin.import_tasks: + file: ../tasks/enable_password_less_sudo_for_rsync.yml + + - name: Setup Robot Software dependencies + tags: + - dependencies + ansible.builtin.import_tasks: + file: ../tasks/setup_robot_software_deps.yml + + - name: Setup systemd + tags: + - dependencies + - configure_pi + ansible.builtin.import_tasks: + file: ../tasks/setup_systemd.yml + + - name: Add user robot to dialout + tags: + - configure_pi + - dependencies + ansible.builtin.import_tasks: + file: ../tasks/add_user_to_dialout.yml + + - name: Disable pcie_aspm + tags: + - configure_pi + block: + - name: Backup cmdline.txt + become: true + become_method: sudo + ansible.builtin.copy: + src: /boot/firmware/cmdline.txt + dest: /boot/firmware/cmdline.txt.bak + remote_src: true + + - name: Check if pcie_aspm is disabled + ansible.builtin.shell: 'grep -q "pcie_aspm=off" /boot/firmware/cmdline.txt' + ignore_errors: true + register: pcie_aspm_disabled + + - name: Disable pcie_aspm + when: pcie_aspm_disabled.rc != 0 + become: true + become_method: sudo + ansible.builtin.lineinfile: + path: /boot/firmware/cmdline.txt + regexp: ^(\s*console.*)$ + backrefs: yes + line: '\1 pcie_aspm=off' + state: present + + - name: Set up SPI and Wifi drivers + tags: configure_pi + block: + - name: Sync setup files + ansible.posix.synchronize: + src: ../../linux_configs/pi/setup.zip + dest: ~/ + copy_links: yes + + - name: Unzip setup files + ansible.builtin.unarchive: + src: ~/setup.zip + dest: ~/ + remote_src: true + + - name: Set up Wifi drivers + become: true + become_method: sudo + shell: 'mv /home/{{ ansible_user }}/iwlwifi* /lib/firmware/' + + - name: Set up systemd Wifi interface name rule + ansible.builtin.import_tasks: + file: ../tasks/setup_wifi_interface.yml + + - name: Set up SPI overlay + become: true + become_method: sudo + shell: 'mv /home/{{ ansible_user }}/spi0-5cs.dtbo /boot/firmware/overlays/' + + - name: Update config.txt to select custom SPI overlay + become: true + become_method: sudo + ansible.posix.synchronize: + src: ../../linux_configs/pi/config.txt + dest: /boot/firmware/ + copy_links: yes + rsync_opts: + - "--no-perms" + - "--no-o" + - "--no-g" + + - name: Change hostname + tags: update_hostname + ansible.builtin.import_tasks: + file: ../tasks/set_user_hostname.yml + + - name: Reboot + tags: + - dependencies + - configure_pi + - update_hostname + ansible.builtin.import_tasks: + file: ../tasks/reboot.yml + + - name: Success + tags: + - dependencies + - configure_pi + - update_hostname + ansible.builtin.debug: + msg: "Raspberry Pi setup complete for {{ inventory_hostname }}" diff --git a/src/software/embedded/ansible/playbooks/shared_setup.yml b/src/software/embedded/ansible/playbooks/shared_setup.yml new file mode 100644 index 0000000000..2ec71245f6 --- /dev/null +++ b/src/software/embedded/ansible/playbooks/shared_setup.yml @@ -0,0 +1,6 @@ +--- + +- name: Success msg + debug: + msg: + - "[Robot ID = {{ inventory_hostname }}]" diff --git a/src/software/jetson_nano/ansible/requirements.in b/src/software/embedded/ansible/requirements.in similarity index 100% rename from src/software/jetson_nano/ansible/requirements.in rename to src/software/embedded/ansible/requirements.in diff --git a/src/software/jetson_nano/ansible/requirements_lock.txt b/src/software/embedded/ansible/requirements_lock.txt similarity index 99% rename from src/software/jetson_nano/ansible/requirements_lock.txt rename to src/software/embedded/ansible/requirements_lock.txt index 8c1ce01c19..c846b976dd 100644 --- a/src/software/jetson_nano/ansible/requirements_lock.txt +++ b/src/software/embedded/ansible/requirements_lock.txt @@ -2,11 +2,11 @@ # This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# bazel run //software/jetson_nano/ansible:requirements.update +# bazel run //software/embedded/ansible:requirements.update # ansible==5.3.0 \ --hash=sha256:50020dab43f6c59debdeb57f45c90ec6db78d4fa574edc6d75bc52e05cbd3639 - # via -r software/jetson_nano/ansible/requirements.in + # via -r software/embedded/ansible/requirements.in ansible-core==2.12.10 \ --hash=sha256:feb1df61738cfc1f5e893b42a2ec1a7de32977d67e86707b45eb63d0c5c3c236 # via ansible diff --git a/src/software/jetson_nano/ansible/run_ansible.py b/src/software/embedded/ansible/run_ansible.py similarity index 100% rename from src/software/jetson_nano/ansible/run_ansible.py rename to src/software/embedded/ansible/run_ansible.py diff --git a/src/software/embedded/ansible/tasks/add_user_to_dialout.yml b/src/software/embedded/ansible/tasks/add_user_to_dialout.yml new file mode 100644 index 0000000000..bfb93ed250 --- /dev/null +++ b/src/software/embedded/ansible/tasks/add_user_to_dialout.yml @@ -0,0 +1,8 @@ +--- + +- name: Add user robot to dialout + become: true + become_method: sudo + tags: + - add_user_robot_to_dialout + command: 'adduser robot dialout' diff --git a/src/software/embedded/ansible/tasks/check_internet.yml b/src/software/embedded/ansible/tasks/check_internet.yml new file mode 100644 index 0000000000..b45d16d3a9 --- /dev/null +++ b/src/software/embedded/ansible/tasks/check_internet.yml @@ -0,0 +1,8 @@ +--- + +- name: check internet connection + tags: check_internet + uri: + url: "https://google.com" + timeout: 30 + status_code: 200 diff --git a/src/software/embedded/ansible/tasks/enable_password_less_sudo_for_rsync.yml b/src/software/embedded/ansible/tasks/enable_password_less_sudo_for_rsync.yml new file mode 100644 index 0000000000..e9f37c86af --- /dev/null +++ b/src/software/embedded/ansible/tasks/enable_password_less_sudo_for_rsync.yml @@ -0,0 +1,10 @@ +--- + +- name: enable passwordless sudo for rsync + become: true + become_method: sudo + lineinfile: + path: /etc/sudoers + state: present + insertafter: EOF + line: '{{ ansible_user }} ALL=NOPASSWD:/usr/bin/rsync' diff --git a/src/software/embedded/ansible/tasks/reboot.yml b/src/software/embedded/ansible/tasks/reboot.yml new file mode 100644 index 0000000000..56b3500a60 --- /dev/null +++ b/src/software/embedded/ansible/tasks/reboot.yml @@ -0,0 +1,14 @@ +--- + +- name: Reboot + become: true + become_method: sudo + register: res + reboot: + msg: "Reboot initiated by Ansible" + connect_timeout: 20 + reboot_timeout: 1200 + pre_reboot_delay: 0 + post_reboot_delay: 10 + test_command: whoami + diff --git a/src/software/embedded/ansible/tasks/set_user_hostname.yml b/src/software/embedded/ansible/tasks/set_user_hostname.yml new file mode 100644 index 0000000000..1eb65fd60c --- /dev/null +++ b/src/software/embedded/ansible/tasks/set_user_hostname.yml @@ -0,0 +1,18 @@ +--- + +- name: Set user hostname + become: true + become_method: sudo + tags: + - set_hostname + when: new_hostname is defined + block: + - name: Set hostname + ansible.builtin.hostname: + name: "{{ new_hostname }}" + - name: Update /etc/hosts + ansible.builtin.lineinfile: + path: /etc/hosts + regexp: ^(127\.0\.1\.1\s*) + backrefs: yes + line: '\1{{ new_hostname }}' diff --git a/src/software/embedded/ansible/tasks/setup_robot_software_deps.yml b/src/software/embedded/ansible/tasks/setup_robot_software_deps.yml new file mode 100644 index 0000000000..e9097fe218 --- /dev/null +++ b/src/software/embedded/ansible/tasks/setup_robot_software_deps.yml @@ -0,0 +1,30 @@ +--- + +- name: Sync Setup Script + become: true + become_method: sudo + ansible.posix.synchronize: + src: ../../setup_robot_software_deps.sh + dest: ~/ + recursive: yes + copy_links: yes + +# Output is streamed to target host's (Jetson/Pi's /tmp/setup.log) +- name: Running the setup script, this will take a while + become_method: sudo + become: true + command: '/home/{{ ansible_user }}/setup_robot_software_deps.sh >& /tmp/setup.log' + register: result + args: + chdir: ~/ + +- name: Configure Redis persistence setting + become: true + become_method: sudo + ansible.builtin.lineinfile: + path: /etc/redis/redis.conf + state: present + regexp: ^(appendonly) + line: 'appendonly yes' + backrefs: yes + diff --git a/src/software/embedded/ansible/tasks/setup_systemd.yml b/src/software/embedded/ansible/tasks/setup_systemd.yml new file mode 100644 index 0000000000..c40695119a --- /dev/null +++ b/src/software/embedded/ansible/tasks/setup_systemd.yml @@ -0,0 +1,41 @@ +--- + +- name: Run systemd setup + block: + - name: Delete everything on ~/ + file: + state: absent + path: /home/robot/thunderbots_binaries + become_method: sudo + become: true + register: result + + - name: Sync Thunderloop + ansible.posix.synchronize: + src: ../../thunderloop_main + dest: ~/thunderbots_binaries/ + copy_links: yes + + - name: Sync Thunderloop systemd file + become_method: sudo + become: true + register: res + ansible.posix.synchronize: + src: ../../linux_configs/systemd/thunderloop.service + dest: /etc/systemd/system + copy_links: yes + + # NOTE: "Enabling systems" means they will start on boot + - name: Enable system services + become: true + become_method: sudo + ansible.builtin.systemd: + name: thunderloop + enabled: yes + masked: no + daemon_reload: yes + + - name: Enable WiFi waiter service + become: true + become_method: sudo + service: name=NetworkManager-wait-online enabled=yes diff --git a/src/software/embedded/ansible/tasks/setup_wifi_interface.yml b/src/software/embedded/ansible/tasks/setup_wifi_interface.yml new file mode 100644 index 0000000000..de5e1926b4 --- /dev/null +++ b/src/software/embedded/ansible/tasks/setup_wifi_interface.yml @@ -0,0 +1,20 @@ +--- +- name: Set up systemd WiFi 5 interface name rule + become: true + become_method: sudo + ansible.posix.synchronize: + src: ../../linux_configs/systemd/10-persistent-wifi5-net.link + dest: /etc/systemd/network/ + copy_links: yes + tags: + - setup_wifi_interface + +- name: Set up systemd WiFi 6 interface name rule + become: true + become_method: sudo + ansible.posix.synchronize: + src: ../../linux_configs/systemd/10-persistent-wifi6-net.link + dest: /etc/systemd/network/ + copy_links: yes + tags: + - setup_wifi_interface diff --git a/src/software/jetson_nano/battery_test.cpp b/src/software/embedded/battery_test.cpp similarity index 94% rename from src/software/jetson_nano/battery_test.cpp rename to src/software/embedded/battery_test.cpp index 4b29e23f40..a0604312c4 100644 --- a/src/software/jetson_nano/battery_test.cpp +++ b/src/software/embedded/battery_test.cpp @@ -3,7 +3,7 @@ #include #include -#include "thunderloop.h" +#include "software/embedded/thunderloop.h" TEST(TestBattery, is_power_stable) { diff --git a/src/software/embedded/constants/BUILD b/src/software/embedded/constants/BUILD new file mode 100644 index 0000000000..4953af9497 --- /dev/null +++ b/src/software/embedded/constants/BUILD @@ -0,0 +1,17 @@ +package(default_visibility = ["//visibility:public"]) + +cc_library( + name = "constants", + hdrs = [ + "constants.h", + "jetson_constants.h", + "pi_constants.h", + ], + defines = select({ + "//software/embedded:build_nano": ["NANO"], + "//software/embedded:build_pi": ["PI"], + }), + deps = [ + "//software/embedded:platform", + ], +) diff --git a/src/software/embedded/constants/constants.h b/src/software/embedded/constants/constants.h new file mode 100644 index 0000000000..3cf306e034 --- /dev/null +++ b/src/software/embedded/constants/constants.h @@ -0,0 +1,7 @@ +#pragma once + +#ifdef NANO +#include "software/embedded/constants/jetson_constants.h" +#elif PI +#include "software/embedded/constants/pi_constants.h" +#endif diff --git a/src/software/embedded/constants/jetson_constants.h b/src/software/embedded/constants/jetson_constants.h new file mode 100644 index 0000000000..64b608cdc5 --- /dev/null +++ b/src/software/embedded/constants/jetson_constants.h @@ -0,0 +1,13 @@ +#pragma once + +#include "software/embedded/platform.h" + +constexpr const char SPI_CS_DRIVER_TO_CONTROLLER_MUX_0_GPIO[] = "51"; +constexpr const char SPI_CS_DRIVER_TO_CONTROLLER_MUX_1_GPIO[] = "76"; +constexpr const char MOTOR_DRIVER_RESET_GPIO[] = "168"; +constexpr const char DRIVER_CONTROL_ENABLE_GPIO[] = "194"; + +// Path to the CPU thermal zone temperature file +constexpr const char CPU_TEMP_FILE_PATH[] = "/sys/class/thermal/thermal_zone1/temp"; + +constexpr Platform PLATFORM = Platform::JETSON_NANO; diff --git a/src/software/embedded/constants/pi_constants.h b/src/software/embedded/constants/pi_constants.h new file mode 100644 index 0000000000..f0cfe2914d --- /dev/null +++ b/src/software/embedded/constants/pi_constants.h @@ -0,0 +1,13 @@ +#pragma once + +#include "software/embedded/platform.h" + +constexpr int SPI_CS_DRIVER_TO_CONTROLLER_MUX_0_GPIO = 16; +constexpr int SPI_CS_DRIVER_TO_CONTROLLER_MUX_1_GPIO = 19; +constexpr int MOTOR_DRIVER_RESET_GPIO = 12; +constexpr int DRIVER_CONTROL_ENABLE_GPIO = 22; + +// Path to the CPU thermal zone temperature file +constexpr const char CPU_TEMP_FILE_PATH[] = "/sys/class/thermal/thermal_zone0/temp"; + +constexpr Platform PLATFORM = Platform::RASP_PI; diff --git a/src/software/embedded/gpio.h b/src/software/embedded/gpio.h new file mode 100644 index 0000000000..c07e15c239 --- /dev/null +++ b/src/software/embedded/gpio.h @@ -0,0 +1,25 @@ +#pragma once + +#include "software/util/make_enum/make_enum.hpp" + +MAKE_ENUM(GpioState, LOW, HIGH); +MAKE_ENUM(GpioDirection, INPUT, OUTPUT); + +/** + * An abstract interface for interacting with General Purpose Input/Output (GPIO) pins + */ +class Gpio +{ + public: + /** + * Set the value to the provided state + * + * @param state The state + */ + virtual void setValue(GpioState state) = 0; + + /** + * Get the current state of the gpio + */ + virtual GpioState getValue() = 0; +}; diff --git a/src/software/embedded/gpio_char_dev.cpp b/src/software/embedded/gpio_char_dev.cpp new file mode 100644 index 0000000000..772a0f6f65 --- /dev/null +++ b/src/software/embedded/gpio_char_dev.cpp @@ -0,0 +1,111 @@ +#include "software/embedded/gpio_char_dev.h" + +#include + +#include "software/logger/logger.h" + +GpioCharDev::GpioCharDev(uint32_t gpio_number, GpioDirection direction, + GpioState initial_state, std::string char_dev_path) +{ + int fd = open(char_dev_path.c_str(), O_RDONLY); + if (fd < 0) + { + LOG(FATAL) << "Could not open GPIO chip device"; + } + + struct gpiohandle_request req; + req.lineoffsets[0] = gpio_number; + req.lines = 1; + + switch (direction) + { + case GpioDirection::OUTPUT: + { + req.flags = GPIOHANDLE_REQUEST_OUTPUT; + break; + } + case GpioDirection::INPUT: + { + req.flags = GPIOHANDLE_REQUEST_INPUT; + break; + } + default: + { + LOG(FATAL) << "Invalid GPIO direction: " << direction; + } + } + + req.default_values[0] = parseGpioState(initial_state); + + int ret = ioctl(fd, GPIO_GET_LINEHANDLE_IOCTL, &req); + if (ret < 0) + { + LOG(FATAL) << "Could not get GPIO line handle for GPIO " << gpio_number; + } + close(fd); + + gpio_fd = req.fd; + + LOG(DEBUG) << "GPIO " << gpio_number << " online"; +} + +void GpioCharDev::setValue(GpioState state) +{ + struct gpiohandle_data data; + data.values[0] = parseGpioState(state); + + int ret = ioctl(gpio_fd, GPIOHANDLE_SET_LINE_VALUES_IOCTL, &data); + if (ret < 0) + { + LOG(FATAL) << "Could not set GPIO value"; + } +} + +GpioCharDev::~GpioCharDev() +{ + close(gpio_fd); +} + +GpioState GpioCharDev::getValue() +{ + struct gpiohandle_data data; + int ret = ioctl(gpio_fd, GPIOHANDLE_GET_LINE_VALUES_IOCTL, &data); + + if (ret < 0) + { + LOG(FATAL) << "Could not get GPIO value"; + } + + switch (data.values[0]) + { + case 0: + { + return GpioState::LOW; + } + case 1: + { + return GpioState::HIGH; + } + } + + LOG(FATAL) << "Unable to parse GPIO value"; + return GpioState::LOW; +} + +uint8_t GpioCharDev::parseGpioState(GpioState gpio_state) +{ + switch (gpio_state) + { + case GpioState::LOW: + { + return 0; + } + case GpioState::HIGH: + { + return 1; + } + } + + LOG(FATAL) << "Invalid GPIO state: " << gpio_state; + return 0; +} diff --git a/src/software/embedded/gpio_char_dev.h b/src/software/embedded/gpio_char_dev.h new file mode 100644 index 0000000000..bb879ccbc7 --- /dev/null +++ b/src/software/embedded/gpio_char_dev.h @@ -0,0 +1,54 @@ +#pragma once + +#include + +#include "software/embedded/gpio.h" + +/** + * GPIO with the character device interface + * + * Available on Linux kernels 5.10 and later. + */ +class GpioCharDev : public Gpio +{ + public: + /** + * Communicate with GPIO pins via the new GPIO character device interface: + * https://www.kernel.org/doc/html/next/userspace-api/gpio/chardev.html + * + * @param gpio_number The gpio number + * @param direction The direction of the gpio + * @param state The initial state of the gpio + * @param char_dev_path The path to the gpio character device + */ + GpioCharDev(uint32_t gpio_number, GpioDirection direction, GpioState state, + std::string char_dev_path = "/dev/gpiochip0"); + + /** + * Destructor + */ + virtual ~GpioCharDev(); + + /** + * Set the value to the provided state + * + * @param state The state + */ + void setValue(GpioState state) override; + + /** + * Get the current state of the gpio + */ + GpioState getValue() override; + + private: + /** + * Parse the GpioState enum to a number representation + * + * @param state The state + * @return The number representation of the state + */ + uint8_t parseGpioState(GpioState state); + + int gpio_fd; // File descriptor for the gpio +}; diff --git a/src/software/jetson_nano/gpio.cpp b/src/software/embedded/gpio_sysfs.cpp similarity index 83% rename from src/software/jetson_nano/gpio.cpp rename to src/software/embedded/gpio_sysfs.cpp index 1a896f0ff7..233f11d912 100644 --- a/src/software/jetson_nano/gpio.cpp +++ b/src/software/embedded/gpio_sysfs.cpp @@ -1,4 +1,4 @@ -#include "software/jetson_nano/gpio.h" +#include "software/embedded/gpio_sysfs.h" #include #include @@ -10,7 +10,8 @@ #include "software/logger/logger.h" -Gpio::Gpio(std::string gpio_number, GpioDirection direction, GpioState initial_state) +GpioSysfs::GpioSysfs(const std::string& gpio_number, GpioDirection direction, + GpioState initial_state) { // Setup the provided GPIO pin gpio_number_ = gpio_number; @@ -42,11 +43,11 @@ Gpio::Gpio(std::string gpio_number, GpioDirection direction, GpioState initial_s LOG(DEBUG) << "GPIO " << gpio_number_ << " online"; } -void Gpio::setValue(GpioState state) +void GpioSysfs::setValue(GpioState state) { std::ofstream gpio_fs("/sys/class/gpio/gpio" + gpio_number_ + "/value"); - CHECK(gpio_fs.is_open()) << "Could not set GPIO pin " << gpio_number_; + CHECK(gpio_fs.is_open()) << "Could not set GPIO pin"; switch (state) { @@ -68,7 +69,7 @@ void Gpio::setValue(GpioState state) } } -GpioState Gpio::getValue() +GpioState GpioSysfs::getValue() { std::ifstream gpio_fs("/sys/class/gpio/gpio" + gpio_number_ + "/value"); std::string level; diff --git a/src/software/jetson_nano/gpio.h b/src/software/embedded/gpio_sysfs.h similarity index 61% rename from src/software/jetson_nano/gpio.h rename to src/software/embedded/gpio_sysfs.h index 7dba828c29..8d8501cd04 100644 --- a/src/software/jetson_nano/gpio.h +++ b/src/software/embedded/gpio_sysfs.h @@ -1,3 +1,5 @@ +#pragma once + #include #include #include @@ -6,12 +8,14 @@ #include #include -#include "software/util/make_enum/make_enum.hpp" - -MAKE_ENUM(GpioState, LOW, HIGH); -MAKE_ENUM(GpioDirection, INPUT, OUTPUT); +#include "software/embedded/gpio.h" -class Gpio +/** + * GPIO with the sysfs interface + * + * Deprecated in Linux kernels 4.8 and later but still available on some systems. + */ +class GpioSysfs : public Gpio { public: /* @@ -23,19 +27,20 @@ class Gpio * @param direction The direction to configure this gpio in * @param initial_state The initial GpioState of the pin */ - Gpio(std::string gpio_number, GpioDirection direction, GpioState initial_state); + GpioSysfs(const std::string& gpio_number, GpioDirection direction, + GpioState initial_state); /** * Set the value to the provided state * * @param state The state */ - void setValue(GpioState state); + void setValue(GpioState state) override; /** * Get the current state of the gpio */ - GpioState getValue(void); + GpioState getValue() override; private: std::string gpio_number_; diff --git a/src/software/embedded/linux_configs/BUILD b/src/software/embedded/linux_configs/BUILD new file mode 100644 index 0000000000..ffd0fb0cdc --- /dev/null +++ b/src/software/embedded/linux_configs/BUILD @@ -0,0 +1 @@ +package(default_visibility = ["//visibility:public"]) diff --git a/src/software/embedded/linux_configs/jetson_nano/BUILD b/src/software/embedded/linux_configs/jetson_nano/BUILD new file mode 100644 index 0000000000..26242a3daf --- /dev/null +++ b/src/software/embedded/linux_configs/jetson_nano/BUILD @@ -0,0 +1,9 @@ +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "jetson_nano_files", + data = [ + "device_tree.zip", + "extlinux.conf", + ], +) diff --git a/src/software/jetson_nano/linux_configs/device_tree.zip b/src/software/embedded/linux_configs/jetson_nano/device_tree.zip similarity index 100% rename from src/software/jetson_nano/linux_configs/device_tree.zip rename to src/software/embedded/linux_configs/jetson_nano/device_tree.zip diff --git a/src/software/jetson_nano/linux_configs/extlinux.conf b/src/software/embedded/linux_configs/jetson_nano/extlinux.conf similarity index 100% rename from src/software/jetson_nano/linux_configs/extlinux.conf rename to src/software/embedded/linux_configs/jetson_nano/extlinux.conf diff --git a/src/software/embedded/linux_configs/pi/BUILD b/src/software/embedded/linux_configs/pi/BUILD new file mode 100644 index 0000000000..e3c4156896 --- /dev/null +++ b/src/software/embedded/linux_configs/pi/BUILD @@ -0,0 +1,9 @@ +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "pi_files", + data = [ + "config.txt", + "setup.zip", + ], +) diff --git a/src/software/embedded/linux_configs/pi/config.txt b/src/software/embedded/linux_configs/pi/config.txt new file mode 100755 index 0000000000..74b3584339 --- /dev/null +++ b/src/software/embedded/linux_configs/pi/config.txt @@ -0,0 +1,50 @@ +# For more options and information see +# http://rptl.io/configtxt +# Some settings may impact device functionality. See link above for details + +# Uncomment some or all of these to enable the optional hardware interfaces +#dtparam=i2c_arm=on +#dtparam=i2s=on +dtparam=spi=on + +# Enable audio (loads snd_bcm2835) +dtparam=audio=on + +# Additional overlays and parameters are documented +# /boot/firmware/overlays/README + +# Automatically load overlays for detected cameras +camera_auto_detect=1 + +# Automatically load overlays for detected DSI displays +display_auto_detect=1 + +# Automatically load initramfs files, if found +auto_initramfs=1 + +# Enable DRM VC4 V3D driver +dtoverlay=vc4-kms-v3d +max_framebuffers=2 + +# Don't have the firmware create an initial video= setting in cmdline.txt. +# Use the kernel's default instead. +disable_fw_kms_setup=1 + +# Run in 64-bit mode +arm_64bit=1 + +# Disable compensation for displays with overscan +disable_overscan=1 + +# Run as fast as firmware / board allows +arm_boost=1 + +[cm4] +# Enable host mode on the 2711 built-in XHCI USB controller. +# This line should be removed if the legacy DWC2 controller is required +# (e.g. for USB device mode) or if USB support is not required. +otg_mode=1 + +[all] +dtparam=pciex1 +dtoverlay=spi0-5cs diff --git a/src/software/embedded/linux_configs/pi/setup.zip b/src/software/embedded/linux_configs/pi/setup.zip new file mode 100644 index 0000000000000000000000000000000000000000..d5b3542c1eb77ab968fd7ddd89c7979607feb215 GIT binary patch literal 639512 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

d| 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

q7#>CZ!GH!B3Bmr}@`9<%J0GNF-@WM7p$%{BVfs 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


b-1 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%0DbWUoM$}OEybfnpx)3%}y@U49XE^Njb_aE613f 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%0A#bmKgC;XD9IX_Eo2!&>_DZ_-iSHO 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

58I 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 #include diff --git a/src/software/jetson_nano/services/BUILD b/src/software/embedded/services/BUILD similarity index 80% rename from src/software/jetson_nano/services/BUILD rename to src/software/embedded/services/BUILD index e2ca376da2..d1f6f19aa7 100644 --- a/src/software/jetson_nano/services/BUILD +++ b/src/software/embedded/services/BUILD @@ -4,10 +4,16 @@ cc_library( name = "motor", srcs = ["motor.cpp"], hdrs = ["motor.h"], + defines = + select({ + "//software/embedded:build_nano": ["NANO"], + "//software/embedded:build_pi": ["PI"], + }), deps = [ "//proto:tbots_cc_proto", "//shared:robot_constants", - "//software/jetson_nano:gpio", + "//software/embedded:gpio", + "//software/embedded/constants", "//software/logger", "//software/physics:euclidean_to_wheel", "//software/util/scoped_timespec_timer", @@ -43,7 +49,7 @@ cc_binary( "//proto/message_translation:tbots_geometry", "//proto/primitive:primitive_msg_factory", "//shared:robot_constants", - "//software/jetson_nano:primitive_executor", + "//software/embedded:primitive_executor", "//software/logger", "@trinamic", ], diff --git a/src/software/jetson_nano/services/motor.cpp b/src/software/embedded/services/motor.cpp similarity index 96% rename from src/software/jetson_nano/services/motor.cpp rename to src/software/embedded/services/motor.cpp index b1c095a1a1..c8e06e9910 100644 --- a/src/software/jetson_nano/services/motor.cpp +++ b/src/software/embedded/services/motor.cpp @@ -1,4 +1,4 @@ -#include "software/jetson_nano/services/motor.h" +#include "software/embedded/services/motor.h" #include #include @@ -21,7 +21,6 @@ #include #include "proto/tbots_software_msgs.pb.h" -#include "shared/constants.h" #include "software/logger/logger.h" #include "software/util/scoped_timespec_timer/scoped_timespec_timer.h" @@ -42,12 +41,6 @@ static const uint32_t SPI_MODE = 0x3u; static const uint32_t NUM_RETRIES_SPI = 3; static const uint32_t TMC_CMD_MSG_SIZE = 5; - -static const char* SPI_CS_DRIVER_TO_CONTROLLER_MUX_0_GPIO = "51"; -static const char* SPI_CS_DRIVER_TO_CONTROLLER_MUX_1_GPIO = "76"; -static const char* MOTOR_DRIVER_RESET_GPIO = "168"; -static const char* DRIVER_CONTROL_ENABLE_GPIO = "194"; - static double RUNAWAY_PROTECTION_THRESHOLD_MPS = 2.00; static int DRIBBLER_ACCELERATION_THRESHOLD_RPM_PER_S_2 = 10000; @@ -74,13 +67,14 @@ extern "C" MotorService::MotorService(const RobotConstants_t& robot_constants, int control_loop_frequency_hz) - : spi_demux_select_0_(SPI_CS_DRIVER_TO_CONTROLLER_MUX_0_GPIO, GpioDirection::OUTPUT, - GpioState::LOW), - spi_demux_select_1_(SPI_CS_DRIVER_TO_CONTROLLER_MUX_1_GPIO, GpioDirection::OUTPUT, - GpioState::LOW), - driver_control_enable_gpio_(DRIVER_CONTROL_ENABLE_GPIO, GpioDirection::OUTPUT, - GpioState::HIGH), - reset_gpio_(MOTOR_DRIVER_RESET_GPIO, GpioDirection::OUTPUT, GpioState::HIGH), + : spi_demux_select_0_(setupGpio(SPI_CS_DRIVER_TO_CONTROLLER_MUX_0_GPIO, + GpioDirection::OUTPUT, GpioState::LOW)), + spi_demux_select_1_(setupGpio(SPI_CS_DRIVER_TO_CONTROLLER_MUX_1_GPIO, + GpioDirection::OUTPUT, GpioState::LOW)), + driver_control_enable_gpio_( + setupGpio(DRIVER_CONTROL_ENABLE_GPIO, GpioDirection::OUTPUT, GpioState::HIGH)), + reset_gpio_( + setupGpio(MOTOR_DRIVER_RESET_GPIO, GpioDirection::OUTPUT, GpioState::HIGH)), robot_constants_(robot_constants), euclidean_to_four_wheel_(robot_constants), motor_fault_detector_(0), @@ -168,10 +162,10 @@ void MotorService::setup() prev_wheel_velocities_ = {0.0, 0.0, 0.0, 0.0}; // Clear faults by resetting all the chips on the motor board - reset_gpio_.setValue(GpioState::LOW); + reset_gpio_->setValue(GpioState::LOW); usleep(MICROSECONDS_PER_MILLISECOND * 100); - reset_gpio_.setValue(GpioState::HIGH); + reset_gpio_->setValue(GpioState::HIGH); usleep(MICROSECONDS_PER_MILLISECOND * 100); for (uint8_t motor = 0; motor < NUM_MOTORS; ++motor) @@ -485,28 +479,28 @@ TbotsProto::MotorStatus MotorService::poll(const TbotsProto::MotorControl& motor prev_wheel_velocities_[FRONT_RIGHT_WHEEL_SPACE_INDEX]) > RUNAWAY_PROTECTION_THRESHOLD_MPS) { - driver_control_enable_gpio_.setValue(GpioState::LOW); + driver_control_enable_gpio_->setValue(GpioState::LOW); LOG(FATAL) << "Front right motor runaway"; } else if (std::abs(current_wheel_velocities[FRONT_LEFT_WHEEL_SPACE_INDEX] - prev_wheel_velocities_[FRONT_LEFT_WHEEL_SPACE_INDEX]) > RUNAWAY_PROTECTION_THRESHOLD_MPS) { - driver_control_enable_gpio_.setValue(GpioState::LOW); + driver_control_enable_gpio_->setValue(GpioState::LOW); LOG(FATAL) << "Front left motor runaway"; } else if (std::abs(current_wheel_velocities[BACK_LEFT_WHEEL_SPACE_INDEX] - prev_wheel_velocities_[BACK_LEFT_WHEEL_SPACE_INDEX]) > RUNAWAY_PROTECTION_THRESHOLD_MPS) { - driver_control_enable_gpio_.setValue(GpioState::LOW); + driver_control_enable_gpio_->setValue(GpioState::LOW); LOG(FATAL) << "Back left motor runaway"; } else if (std::abs(current_wheel_velocities[BACK_RIGHT_WHEEL_SPACE_INDEX] - prev_wheel_velocities_[BACK_RIGHT_WHEEL_SPACE_INDEX]) > RUNAWAY_PROTECTION_THRESHOLD_MPS) { - driver_control_enable_gpio_.setValue(GpioState::LOW); + driver_control_enable_gpio_->setValue(GpioState::LOW); LOG(FATAL) << "Back right motor runaway"; } @@ -700,16 +694,16 @@ void MotorService::readThenWriteSpiTransfer(int fd, const uint8_t* read_tx, uint8_t MotorService::tmc4671ReadWriteByte(uint8_t motor, uint8_t data, uint8_t last_transfer) { - spi_demux_select_0_.setValue(GpioState::HIGH); - spi_demux_select_1_.setValue(GpioState::LOW); + spi_demux_select_0_->setValue(GpioState::HIGH); + spi_demux_select_1_->setValue(GpioState::LOW); return readWriteByte(motor, data, last_transfer, TMC4671_SPI_SPEED); } int32_t MotorService::tmc4671ReadThenWriteValue(uint8_t motor, uint8_t read_addr, uint8_t write_addr, int32_t write_data) { - spi_demux_select_0_.setValue(GpioState::HIGH); - spi_demux_select_1_.setValue(GpioState::LOW); + spi_demux_select_0_->setValue(GpioState::HIGH); + spi_demux_select_1_->setValue(GpioState::LOW); // ensure tx_ and rx_ are cleared memset(read_tx_, 0, 5); memset(write_tx_, 0, 5); @@ -748,8 +742,8 @@ int32_t MotorService::tmc4671ReadThenWriteValue(uint8_t motor, uint8_t read_addr uint8_t MotorService::tmc6100ReadWriteByte(uint8_t motor, uint8_t data, uint8_t last_transfer) { - spi_demux_select_0_.setValue(GpioState::LOW); - spi_demux_select_1_.setValue(GpioState::HIGH); + spi_demux_select_0_->setValue(GpioState::LOW); + spi_demux_select_1_->setValue(GpioState::HIGH); return readWriteByte(motor, data, last_transfer, TMC6100_SPI_SPEED); } @@ -836,7 +830,7 @@ void MotorService::writeToDriverOrDieTrying(uint8_t motor, uint8_t address, int3 // If we get here, we have failed to write to the driver. We reset // the chip to clear any bad values we just wrote and crash so everything stops. - reset_gpio_.setValue(GpioState::LOW); + reset_gpio_->setValue(GpioState::LOW); CHECK(read_value == value) << "Couldn't write " << value << " to the TMC6100 at address " << address << " at address " << static_cast(address) @@ -876,7 +870,7 @@ void MotorService::writeToControllerOrDieTrying(uint8_t motor, uint8_t address, // If we get here, we have failed to write to the controller. We reset // the chip to clear any bad values we just wrote and crash so everything stops. - reset_gpio_.setValue(GpioState::LOW); + reset_gpio_->setValue(GpioState::LOW); CHECK(read_value == value) << "Couldn't write " << value << " to the TMC4671 at address " << address << " at address " << static_cast(address) @@ -1201,5 +1195,5 @@ void MotorService::checkEncoderConnections() void MotorService::resetMotorBoard() { - reset_gpio_.setValue(GpioState::LOW); + reset_gpio_->setValue(GpioState::LOW); } diff --git a/src/software/jetson_nano/services/motor.h b/src/software/embedded/services/motor.h similarity index 89% rename from src/software/jetson_nano/services/motor.h rename to src/software/embedded/services/motor.h index 5b68a30dda..bb713e3807 100644 --- a/src/software/jetson_nano/services/motor.h +++ b/src/software/embedded/services/motor.h @@ -6,10 +6,23 @@ #include "proto/robot_status_msg.pb.h" #include "proto/tbots_software_msgs.pb.h" +#include "shared/constants.h" #include "shared/robot_constants.h" -#include "software/jetson_nano/gpio.h" +#include "software/embedded/constants/constants.h" +#include "software/embedded/gpio.h" +#include "software/embedded/gpio_char_dev.h" +#include "software/embedded/gpio_sysfs.h" +#include "software/embedded/platform.h" #include "software/physics/euclidean_to_wheel.h" +/** + * A service that interacts with the motor. + * + * It is responsible for: + * - Converting Euclidean velocities to wheel velocities + * - Communicating with the motor + * - Detecting and handling faults + */ class MotorService { public: @@ -312,6 +325,20 @@ class MotorService double back_right_velocity_mps, double dribbler_rpm); + /** + * Helper function to setup a GPIO pin. Selects the appropriate GPIO implementation + * based on the host platform. + * + * @tparam T The representation of the GPIO number + * @param gpio_number The GPIO number (this is typically different from the hardware + * pin number) + * @param direction The direction of the GPIO pin (input or output) + * @param initial_state The initial state of the GPIO pin (high or low) + */ + template + static std::unique_ptr setupGpio(const T& gpio_number, GpioDirection direction, + GpioState initial_state); + /** * Returns true if we've detected a RESET in our cached motor faults indicators or if * we have a fault that disables drive. @@ -335,12 +362,12 @@ class MotorService bool is_initialized_ = false; // Select between driver and controller gpio - Gpio spi_demux_select_0_; - Gpio spi_demux_select_1_; + std::unique_ptr spi_demux_select_0_; + std::unique_ptr spi_demux_select_1_; // Enable driver gpio - Gpio driver_control_enable_gpio_; - Gpio reset_gpio_; + std::unique_ptr driver_control_enable_gpio_; + std::unique_ptr reset_gpio_; // Transfer Buffers for spiTransfer uint8_t tx_[5] = {0}; @@ -403,3 +430,19 @@ class MotorService static constexpr const char* MOTOR_NAMES[] = {"front_left", "back_left", "back_right", "front_right", "dribbler"}; }; + +template +std::unique_ptr MotorService::setupGpio(const T& gpio_number, + GpioDirection direction, + GpioState initial_state) +{ + if constexpr (PLATFORM == Platform::RASP_PI) + { + return std::make_unique(gpio_number, direction, initial_state, + "/dev/gpiochip4"); + } + else + { + return std::make_unique(gpio_number, direction, initial_state); + } +} diff --git a/src/software/jetson_nano/services/network/BUILD b/src/software/embedded/services/network/BUILD similarity index 100% rename from src/software/jetson_nano/services/network/BUILD rename to src/software/embedded/services/network/BUILD diff --git a/src/software/jetson_nano/services/network/network.cpp b/src/software/embedded/services/network/network.cpp similarity index 98% rename from src/software/jetson_nano/services/network/network.cpp rename to src/software/embedded/services/network/network.cpp index dfb9e92865..2dfe4ae8bb 100644 --- a/src/software/jetson_nano/services/network/network.cpp +++ b/src/software/embedded/services/network/network.cpp @@ -1,4 +1,4 @@ -#include "software/jetson_nano/services/network/network.h" +#include "software/embedded/services/network/network.h" NetworkService::NetworkService(const std::string& ip_address, unsigned short primitive_listener_port, diff --git a/src/software/jetson_nano/services/network/network.h b/src/software/embedded/services/network/network.h similarity index 98% rename from src/software/jetson_nano/services/network/network.h rename to src/software/embedded/services/network/network.h index df61f0806e..b136382757 100644 --- a/src/software/jetson_nano/services/network/network.h +++ b/src/software/embedded/services/network/network.h @@ -7,7 +7,7 @@ #include "proto/tbots_software_msgs.pb.h" #include "shared/constants.h" #include "shared/robot_constants.h" -#include "software/jetson_nano/services/network/proto_tracker.h" +#include "software/embedded/services/network/proto_tracker.h" #include "software/networking/radio/threaded_proto_radio_listener.hpp" #include "software/networking/udp/threaded_proto_udp_listener.hpp" #include "software/networking/udp/threaded_proto_udp_sender.hpp" diff --git a/src/software/jetson_nano/services/network/proto_tracker.cpp b/src/software/embedded/services/network/proto_tracker.cpp similarity index 96% rename from src/software/jetson_nano/services/network/proto_tracker.cpp rename to src/software/embedded/services/network/proto_tracker.cpp index ee756691f8..500ae993e0 100644 --- a/src/software/jetson_nano/services/network/proto_tracker.cpp +++ b/src/software/embedded/services/network/proto_tracker.cpp @@ -1,4 +1,4 @@ -#include "software/jetson_nano/services/network/proto_tracker.h" +#include "software/embedded/services/network/proto_tracker.h" ProtoTracker::ProtoTracker(const std::string& type) : proto_type(type) {} diff --git a/src/software/jetson_nano/services/network/proto_tracker.h b/src/software/embedded/services/network/proto_tracker.h similarity index 100% rename from src/software/jetson_nano/services/network/proto_tracker.h rename to src/software/embedded/services/network/proto_tracker.h diff --git a/src/software/jetson_nano/services/network/proto_tracker_test.cpp b/src/software/embedded/services/network/proto_tracker_test.cpp similarity index 96% rename from src/software/jetson_nano/services/network/proto_tracker_test.cpp rename to src/software/embedded/services/network/proto_tracker_test.cpp index 77575467e4..1edf0f3ed0 100644 --- a/src/software/jetson_nano/services/network/proto_tracker_test.cpp +++ b/src/software/embedded/services/network/proto_tracker_test.cpp @@ -1,4 +1,4 @@ -#include "software/jetson_nano/services/network/proto_tracker.h" +#include "software/embedded/services/network/proto_tracker.h" #include diff --git a/src/software/jetson_nano/services/power.cpp b/src/software/embedded/services/power.cpp similarity index 97% rename from src/software/jetson_nano/services/power.cpp rename to src/software/embedded/services/power.cpp index 1ae2258ef1..5699bd8b9f 100644 --- a/src/software/jetson_nano/services/power.cpp +++ b/src/software/embedded/services/power.cpp @@ -1,4 +1,4 @@ -#include "software/jetson_nano/services/power.h" +#include "software/embedded/services/power.h" #include #include diff --git a/src/software/jetson_nano/services/power.h b/src/software/embedded/services/power.h similarity index 100% rename from src/software/jetson_nano/services/power.h rename to src/software/embedded/services/power.h diff --git a/src/software/jetson_nano/services/robot_auto_test.cpp b/src/software/embedded/services/robot_auto_test.cpp similarity index 79% rename from src/software/jetson_nano/services/robot_auto_test.cpp rename to src/software/embedded/services/robot_auto_test.cpp index b940d698be..5307b16815 100644 --- a/src/software/jetson_nano/services/robot_auto_test.cpp +++ b/src/software/embedded/services/robot_auto_test.cpp @@ -2,9 +2,9 @@ #include "proto/primitive/primitive_msg_factory.h" #include "shared/2021_robot_constants.h" #include "shared/constants.h" -#include "software/jetson_nano/primitive_executor.h" -#include "software/jetson_nano/services/motor.h" -#include "software/jetson_nano/services/power.h" +#include "software/embedded/primitive_executor.h" +#include "software/embedded/services/motor.h" +#include "software/embedded/services/power.h" #include "software/logger/network_logger.h" #include "software/util/scoped_timespec_timer/scoped_timespec_timer.h" @@ -34,7 +34,8 @@ std::string runtime_dir = "/tmp/tbots/yellow_test"; int main(int argc, char **argv) { - LoggerSingleton::initializeLogger(runtime_dir, nullptr); + LoggerSingleton::initializeLogger(runtime_dir, nullptr, false); + LOG(INFO) << "Running on the Jetson Nano!"; motor_service_ = @@ -43,10 +44,12 @@ int main(int argc, char **argv) // Testing Motor board SPI transfer for (uint8_t chip_select : CHIP_SELECT) { + LOG(INFO) << "Checking motor: " << int(chip_select); + // Check driver fault if (!motor_service_->checkDriverFault(chip_select).drive_enabled) { - LOG(FATAL) << "Detected Motor Fault"; + LOG(WARNING) << "Detected Motor Fault"; } motor_service_->writeIntToTMC4671(chip_select, TMC4671_CHIPINFO_ADDR, @@ -61,10 +64,12 @@ int main(int argc, char **argv) } else { - LOG(FATAL) << "SPI Transfer not successful"; + LOG(WARNING) << "SPI Transfer not successful"; } } + motor_service_->resetMotorBoard(); + // Testing Power board UART transfer try { @@ -78,23 +83,25 @@ int main(int argc, char **argv) if (abs(power_status.battery_voltage()) < THRESHOLD) { - LOG(FATAL) << "Battery voltage is zero"; + LOG(WARNING) << "Battery voltage is zero"; } else if (abs(power_status.capacitor_voltage()) < THRESHOLD) { - LOG(FATAL) << "Capacitor voltage is zero"; + LOG(WARNING) << "Capacitor voltage is zero"; } else if (abs(power_status.current_draw()) < THRESHOLD) { - LOG(FATAL) << "Current draw is zero"; + LOG(WARNING) << "Current draw is zero"; } else if (power_status.sequence_num() == 0) { - LOG(FATAL) << "Sequence number is zero"; + LOG(WARNING) << "Sequence number is zero"; } } catch (std::runtime_error &e) { - LOG(FATAL) << "Unable to communicate with the power board"; + LOG(WARNING) << "Unable to communicate with the power board"; } + + return 0; } diff --git a/src/software/jetson_nano/setup_nano.sh b/src/software/embedded/setup_robot_software_deps.sh similarity index 81% rename from src/software/jetson_nano/setup_nano.sh rename to src/software/embedded/setup_robot_software_deps.sh index ab58fa9b00..4751d83682 100755 --- a/src/software/jetson_nano/setup_nano.sh +++ b/src/software/embedded/setup_robot_software_deps.sh @@ -4,17 +4,12 @@ set -ex host_software_packages=( redis - libjpeg8-dev - libjpeg-dev device-tree-compiler - zlib1g-dev curl ) -sudo apt-get update -sudo add-apt-repository -y ppa:deadsnakes/ppa - # Install packages +sudo apt-get update sudo apt-get install "${host_software_packages[@]}" -y # Install platformio udev rules diff --git a/src/software/jetson_nano/thunderloop.cpp b/src/software/embedded/thunderloop.cpp similarity index 95% rename from src/software/jetson_nano/thunderloop.cpp rename to src/software/embedded/thunderloop.cpp index 463e460871..337a1f153d 100644 --- a/src/software/jetson_nano/thunderloop.cpp +++ b/src/software/embedded/thunderloop.cpp @@ -1,4 +1,4 @@ -#include "software/jetson_nano/thunderloop.h" +#include "software/embedded/thunderloop.h" #include #include @@ -9,8 +9,8 @@ #include "proto/tbots_software_msgs.pb.h" #include "shared/2021_robot_constants.h" #include "shared/constants.h" -#include "software/jetson_nano/primitive_executor.h" -#include "software/jetson_nano/services/motor.h" +#include "software/embedded/primitive_executor.h" +#include "software/embedded/services/motor.h" #include "software/logger/logger.h" #include "software/logger/network_logger.h" #include "software/tracy/tracy_constants.h" @@ -86,6 +86,8 @@ Thunderloop::Thunderloop(const RobotConstants_t& robot_constants, bool enable_lo primitive_executor_(Duration::fromSeconds(1.0 / loop_hz), robot_constants, TeamColour::YELLOW, robot_id_) { + waitForNetworkUp(); + g3::overrideSetupSignals({}); NetworkLoggerSingleton::initializeLogger(channel_id_, network_interface_, robot_id_, enable_log_merging); @@ -470,3 +472,30 @@ void Thunderloop::updateErrorCodes() TbotsProto::ErrorCode::UNSTABLE_POWER_SUPPLY); } } + +void Thunderloop::waitForNetworkUp() +{ + ThreadedUdpSender network_test( + std::string(ROBOT_MULTICAST_CHANNELS.at(channel_id_)) + "%" + network_interface_, + NETWORK_COMM_TEST_PORT, true); + + // Send an empty packet on the specific network interface to + // ensure wifi is connected. Keeps trying until successful + while (true) + { + try + { + network_test.sendString(""); + break; + } + catch (std::exception& e) + { + // Resend the message after a delay + LOG(WARNING) << "Thunderloop cannot connect to network!" + << "Waiting for connection..."; + sleep(PING_RETRY_DELAY_S); + } + } + + LOG(INFO) << "Thunderloop connected to network!"; +} diff --git a/src/software/jetson_nano/thunderloop.h b/src/software/embedded/thunderloop.h similarity index 91% rename from src/software/jetson_nano/thunderloop.h rename to src/software/embedded/thunderloop.h index b266d86c1c..e8ffe23a3e 100644 --- a/src/software/jetson_nano/thunderloop.h +++ b/src/software/embedded/thunderloop.h @@ -9,11 +9,11 @@ #include "proto/tbots_software_msgs.pb.h" #include "shared/2021_robot_constants.h" #include "shared/constants.h" -#include "software/jetson_nano/primitive_executor.h" -#include "software/jetson_nano/redis/redis_client.h" -#include "software/jetson_nano/services/motor.h" -#include "software/jetson_nano/services/network/network.h" -#include "software/jetson_nano/services/power.h" +#include "software/embedded/primitive_executor.h" +#include "software/embedded/redis/redis_client.h" +#include "software/embedded/services/motor.h" +#include "software/embedded/services/network/network.h" +#include "software/embedded/services/power.h" #include "software/logger/logger.h" #include "software/world/robot_state.h" @@ -99,6 +99,11 @@ class Thunderloop */ void updateErrorCodes(); + /** + * Wait for networking communication to be established. This function is blocking. + */ + void waitForNetworkUp(); + // Input Msg Buffers TbotsProto::PrimitiveSet primitive_set_; @@ -136,8 +141,9 @@ class Thunderloop // 500 millisecond timeout on receiving primitives before we stop the robots const double PACKET_TIMEOUT_NS = 500.0 * NANOSECONDS_PER_MILLISECOND; - // Path to the CPU thermal zone temperature file - const std::string CPU_TEMP_FILE_PATH = "/sys/class/thermal/thermal_zone1/temp"; + // Timeout after a failed ping request + const int PING_RETRY_DELAY_S = 1; + const std::string PATH_TO_RINGBUFFER_LOG = "/var/log/dmesg"; std::ifstream log_file = std::ifstream(PATH_TO_RINGBUFFER_LOG); diff --git a/src/software/jetson_nano/thunderloop_main.cpp b/src/software/embedded/thunderloop_main.cpp similarity index 98% rename from src/software/jetson_nano/thunderloop_main.cpp rename to src/software/embedded/thunderloop_main.cpp index b274c5ae7e..7218380629 100644 --- a/src/software/jetson_nano/thunderloop_main.cpp +++ b/src/software/embedded/thunderloop_main.cpp @@ -13,7 +13,7 @@ #include "proto/tbots_software_msgs.pb.h" #include "shared/2021_robot_constants.h" #include "shared/constants.h" -#include "software/jetson_nano/thunderloop.h" +#include "software/embedded/thunderloop.h" #include "software/logger/network_logger.h" #include "software/world/robot_state.h" diff --git a/src/software/jetson_nano/ansible/playbooks/setup_nano.yml b/src/software/jetson_nano/ansible/playbooks/setup_nano.yml deleted file mode 100644 index d05f20ff74..0000000000 --- a/src/software/jetson_nano/ansible/playbooks/setup_nano.yml +++ /dev/null @@ -1,242 +0,0 @@ ---- - -- name: Setting up the jetson Nano - hosts: THUNDERBOTS_HOSTS - - tasks: - - - name: Run basic setup - tags: dependencies - block: - - name: check internet connection - uri: - url: "https://google.com" - timeout: 30 - status_code: 200 - - - name: enable passwordless sudo for rsync - become: true - become_method: sudo - lineinfile: - path: /etc/sudoers - state: present - insertafter: EOF - line: '{{ ansible_user }} ALL=NOPASSWD:/usr/bin/rsync' - - - name: Run Jetson Clocks - become: true - become_method: sudo - shell: /usr/bin/jetson_clocks - - - name: Sync Setup Script - become: true - become_method: sudo - tags: - - sync - ansible.posix.synchronize: - src: ../../setup_nano.sh - dest: ~/ - recursive: yes - copy_links: yes - - # Output of each nano streamed to that Nano's /tmp/setup.log - - name: Running the setup script, this will take a while - become_method: sudo - become: true - command: '/home/{{ ansible_user }}/setup_nano.sh >& /tmp/setup.log' - register: result - args: - chdir: ~/ - - - name: success msg - debug: - msg: - - "[Robot ID = {{ inventory_hostname }}]" - - "Setup Script run successfully" - - # UART setup - - name: Stop nvgetty - become: true - become_method: sudo - command: 'systemctl stop nvgetty' - - - name: Disable nvgetty - become: true - become_method: sudo - command: 'systemctl disable nvgetty' - - - name: Setup udevadm trigger - become: true - become_method: sudo - command: 'udevadm trigger' - - - name: Add user robot to dialout - become: true - become_method: sudo - command: 'adduser robot dialout' - - # Device tree setup - - name: Sync Device Tree - become: true - become_method: sudo - tags: - - sync - - device_tree - ansible.posix.synchronize: - src: ../../../linux_configs/device_tree.zip - dest: ~/ - recursive: yes - copy_links: yes - - - name: Sync extlinux conf - become: true - become_method: sudo - tags: - - sync - - device_tree - ansible.posix.synchronize: - src: ../../../linux_configs/extlinux.conf - dest: ~/ - recursive: yes - copy_links: yes - - - name: Unzip device tree - tags: - - sync - - device_tree - command: 'unzip -o ~/device_tree.zip' - register: result - args: - chdir: ~/ - - - name: Compile device tree - tags: - - sync - - device_tree - shell: 'dtc -q -I dts -O dtb ~/device_tree.dts > device_tree.dtb' - register: result - args: - chdir: ~/ - - - - name: Move compiled device tree binary to boot path - become_method: sudo - become: true - tags: - - sync - - device_tree - shell: 'mv /home/robot/device_tree.dtb /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb' - register: result - args: - chdir: ~/ - - - name: Move extlinux file - become_method: sudo - become: true - tags: - - sync - - device_tree - shell: 'mv /home/robot/extlinux.conf /boot/extlinux/extlinux.conf' - register: result - args: - chdir: ~/ - - - - name: Run systemd setup - tags: systemd - block: - - name: Delete everything on ~/ - file: - state: absent - path: /home/robot/thunderbots_binaries - become_method: sudo - become: true - register: result - - - name: Sync Binaries - with_items: - # bazel makes its own zip files, we append another zip to deconflict - - ../../thunderloop_main - loop_control: - loop_var: binary_path - ansible.posix.synchronize: - src: "{{ binary_path }}" - dest: ~/thunderbots_binaries/ - recursive: yes - copy_links: yes - tags: - - syncBinaries - - - name: Unzipping python binaries - command: 'unzip ~/thunderbots_binaries/*.zip' - register: result - args: - chdir: ~/thunderbots_binaries - - - name: Sync all systemd files - become_method: sudo - become: true - tags: - - syncSystemdFiles - register: res - ansible.posix.synchronize: - src: ../../linux_configs/systemd/ - dest: /etc/systemd/system - copy_links: yes - - - name: Remove announcements - become_method: sudo - become: true - tags: - - syncSystemdFiles - file: - path: "/etc/systemd/system/{{ service_name }}.service" - state: absent - with_items: ["wifi_announcement", "ethernet_announcement"] - loop_control: - loop_var: service_name - - # NOTE: "Enabling systems" means they will start on boot - - name: Enable system services - become: true - become_method: sudo - with_items: - - thunderbots - - thunderloop - loop_control: - loop_var: service_name - ansible.builtin.systemd: - name: "{{ service_name }}" - enabled: yes - masked: no - daemon_reload: yes - tags: - - enableSystemd - - - name: Enable WiFi waiter service - become: true - become_method: sudo - service: name=NetworkManager-wait-online enabled=yes - - - name: Reboot - become: true - become_user: root - become_method: sudo - register: res - tags: - - reboot - - device_tree - reboot: - msg: "Reboot initiated by Ansible" - connect_timeout: 20 - reboot_timeout: 1200 - pre_reboot_delay: 0 - post_reboot_delay: 10 - test_command: whoami - - - name: Success msg - debug: - msg: - - "[Robot ID = {{ inventory_hostname }}]" - - "Systemd Setup run successfully" - diff --git a/src/software/jetson_nano/linux_configs/BUILD b/src/software/jetson_nano/linux_configs/BUILD deleted file mode 100644 index f814f5213c..0000000000 --- a/src/software/jetson_nano/linux_configs/BUILD +++ /dev/null @@ -1,11 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -filegroup( - name = "device_tree", - data = ["device_tree.zip"], -) - -filegroup( - name = "extlinux", - data = ["extlinux.conf"], -) diff --git a/src/software/jetson_nano/linux_configs/systemd/thunderbots.service b/src/software/jetson_nano/linux_configs/systemd/thunderbots.service deleted file mode 100644 index f430346a07..0000000000 --- a/src/software/jetson_nano/linux_configs/systemd/thunderbots.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=thunderbots - -[Service] -# The dummy program will exit -Type=oneshot - -# Execute a dummy program -ExecStart=/bin/true - -# This service shall be considered active after start -RemainAfterExit=yes - -[Install] -# Components of this application should be started at boot time -WantedBy=multi-user.target diff --git a/src/software/logger/coloured_cout_sink.cpp b/src/software/logger/coloured_cout_sink.cpp index aae1817442..aebc47a5e0 100644 --- a/src/software/logger/coloured_cout_sink.cpp +++ b/src/software/logger/coloured_cout_sink.cpp @@ -2,8 +2,10 @@ #include "software/logger/custom_logging_levels.h" -ColouredCoutSink::ColouredCoutSink(bool print_detailed) - : print_detailed(print_detailed), log_merger(LogMerger()) +ColouredCoutSink::ColouredCoutSink(bool print_detailed, bool reduce_repetition) + : print_detailed(print_detailed), + reduce_repetition(reduce_repetition), + log_merger(LogMerger()) { } @@ -54,9 +56,16 @@ void ColouredCoutSink::resetColour() void ColouredCoutSink::displayColouredLog(g3::LogMessageMover log_entry) { g3::LogMessage new_log = log_entry.get(); - for (g3::LogMessage log : log_merger.log(new_log)) + if (reduce_repetition) { - displaySingleLog(log); + for (g3::LogMessage log : log_merger.log(new_log)) + { + displaySingleLog(log); + } + } + else + { + displaySingleLog(new_log); } } diff --git a/src/software/logger/coloured_cout_sink.h b/src/software/logger/coloured_cout_sink.h index f12ea2d5bc..238dc2de3c 100644 --- a/src/software/logger/coloured_cout_sink.h +++ b/src/software/logger/coloured_cout_sink.h @@ -18,7 +18,7 @@ class ColouredCoutSink * @param print_detailed If true, prints the log message as well as other details * (level, file line, etc). If false, only prints the message */ - ColouredCoutSink(bool print_detailed); + ColouredCoutSink(bool print_detailed, bool reduce_repetition = true); /** * This is a helper function for mapping the FG_Colour enum to its relative * Linux xterm foreground color @@ -63,5 +63,7 @@ class ColouredCoutSink */ bool print_detailed; + bool reduce_repetition; + LogMerger log_merger; }; diff --git a/src/software/logger/logger.h b/src/software/logger/logger.h index 87a35103b9..461ff8f732 100644 --- a/src/software/logger/logger.h +++ b/src/software/logger/logger.h @@ -57,17 +57,22 @@ class LoggerSingleton * called once at the start of a program. * * @param runtime_dir The directory where the log files will be stored. + * @param proto_logger The proto logger to log VISUALIZE protos + * @param reduce_repetition Whether logs should be merged whenever possible to reduce + * spam */ static void initializeLogger(const std::string& runtime_dir, - const std::shared_ptr& proto_logger) + const std::shared_ptr& proto_logger, + const bool reduce_repetition = true) { static std::shared_ptr s( - new LoggerSingleton(runtime_dir, proto_logger)); + new LoggerSingleton(runtime_dir, proto_logger, reduce_repetition)); } private: LoggerSingleton(const std::string& runtime_dir, - const std::shared_ptr& proto_logger) + const std::shared_ptr& proto_logger, + const bool reduce_repetition) { logWorker = g3::LogWorker::createLogWorker(); // Default locations @@ -93,9 +98,9 @@ class LoggerSingleton auto csv_sink_handle = logWorker->addSink(std::make_unique(runtime_dir), &CSVSink::appendToFile); // Sink for outputting logs to the terminal - auto colour_cout_sink_handle = - logWorker->addSink(std::make_unique(true), - &ColouredCoutSink::displayColouredLog); + auto colour_cout_sink_handle = logWorker->addSink( + std::make_unique(true, reduce_repetition), + &ColouredCoutSink::displayColouredLog); // Sink for storing a file of filtered logs auto filtered_log_rotate_sink_handle = logWorker->addSink( diff --git a/src/software/simulation/BUILD b/src/software/simulation/BUILD index a84c1d64fd..8c2b7a4f92 100644 --- a/src/software/simulation/BUILD +++ b/src/software/simulation/BUILD @@ -14,7 +14,7 @@ cc_library( "//proto/message_translation:ssl_geometry", "//proto/message_translation:ssl_simulation_robot_control", "//proto/message_translation:ssl_wrapper", - "//software/jetson_nano:primitive_executor", + "//software/embedded:primitive_executor", "//software/physics:euclidean_to_wheel", "//software/physics:velocity_conversion_util", "//software/world", diff --git a/src/software/simulation/er_force_simulator.h b/src/software/simulation/er_force_simulator.h index 1fdfb3cf3e..b4e7833012 100644 --- a/src/software/simulation/er_force_simulator.h +++ b/src/software/simulation/er_force_simulator.h @@ -4,7 +4,7 @@ #include "proto/robot_status_msg.pb.h" #include "proto/ssl_vision_wrapper.pb.h" #include "proto/tbots_software_msgs.pb.h" -#include "software/jetson_nano/primitive_executor.h" +#include "software/embedded/primitive_executor.h" #include "software/physics/euclidean_to_wheel.h" #include "software/world/field.h" #include "software/world/team_types.h" diff --git a/src/tbots.py b/src/tbots.py index 9bdeb13710..9fe80434aa 100755 --- a/src/tbots.py +++ b/src/tbots.py @@ -56,7 +56,7 @@ nargs="+", type=int, help="A list of space separated integers representing the robot IDs " - "that should be flashed by the deploy_nano Ansible playbook", + "that should be flashed by the deploy_robot_software Ansible playbook", action="store", ) parser.add_argument( @@ -77,6 +77,14 @@ help="Run the binary with the TRACY_ENABLE macro defined", action="store_true", ) + parser.add_argument( + "-pl", + "--platform", + type=str, + choices=["PI", "NANO"], + help="The platform to build Thunderloop for", + action="store", + ) # These are shortcut args for commonly used arguments on our tests # and full_system. All other arguments are passed through as-is @@ -174,6 +182,9 @@ if args.tracy: command += ["--cxxopt=-DTRACY_ENABLE"] + if args.platform: + command += ["--//software/embedded:host_platform=" + args.platform] + # Don't cache test results if args.action in "test": command += ["--cache_test_results=false"] @@ -181,7 +192,6 @@ command += ["--"] bazel_arguments = unknown_args - if args.stop_ai_on_start: bazel_arguments += ["--stop_ai_on_start"] if args.enable_visualizer: @@ -189,9 +199,13 @@ if args.enable_thunderscope: bazel_arguments += ["--enable_thunderscope"] if args.flash_robots: - bazel_arguments += ["-pb deploy_nano.yml"] + if not args.platform: + print("No platform specified! Make sure to set the --platform argument.") + sys.exit(1) + bazel_arguments += ["-pb deploy_robot_software.yml"] bazel_arguments += ["--hosts"] - bazel_arguments += [f"192.168.0.20{id}" for id in args.flash_robots] + platform_ip = "0" if args.platform == "NANO" else "5" + bazel_arguments += [f"192.168.{platform_ip}.20{id}" for id in args.flash_robots] bazel_arguments += ["-pwd", args.pwd] if args.action in "test": From 2b3cc8b289ba83fe1efcec834d320e5d28f69a17 Mon Sep 17 00:00:00 2001 From: Vincent <53135664+Mr-Anyone@users.noreply.github.com> Date: Sat, 5 Oct 2024 20:32:58 +0200 Subject: [PATCH 06/14] Fixed FPS Widget (#3336) --- src/software/thunderscope/thunderscope_config.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/software/thunderscope/thunderscope_config.py b/src/software/thunderscope/thunderscope_config.py index 89783501a8..defc65d16d 100644 --- a/src/software/thunderscope/thunderscope_config.py +++ b/src/software/thunderscope/thunderscope_config.py @@ -475,6 +475,7 @@ def configure_replay_view( initialize_application() if blue_replay_log: + blue_refresh_func_counter = FrameTimeCounter() proto_unix_io_map[ProtoUnixIOTypes.BLUE] = ProtoUnixIO() tabs.append( TScopeTab( @@ -487,11 +488,15 @@ def configure_replay_view( replay_log=blue_replay_log, visualization_buffer_size=visualization_buffer_size, extra_widgets=[], + frame_swap_counter=FrameTimeCounter(), + refresh_counter=blue_refresh_func_counter, ), + refresh_counter=blue_refresh_func_counter, ) ) if yellow_replay_log: + yellow_refresh_func_counter = FrameTimeCounter() proto_unix_io_map[ProtoUnixIOTypes.YELLOW] = ProtoUnixIO() tabs.append( TScopeTab( @@ -506,7 +511,10 @@ def configure_replay_view( replay_log=yellow_replay_log, visualization_buffer_size=visualization_buffer_size, extra_widgets=[], + frame_swap_counter=FrameTimeCounter(), + refresh_counter=yellow_refresh_func_counter, ), + refresh_counter=yellow_refresh_func_counter, ) ) From 62c5e21ac65403fa0b4849cd5aee4c5a875261b6 Mon Sep 17 00:00:00 2001 From: zuperzane <107359619+zuperzane@users.noreply.github.com> Date: Mon, 7 Oct 2024 22:30:14 -0700 Subject: [PATCH 07/14] Final_speed and Target_spins_per_s (#3328) * Final_speed and Target_spins_per_s * [pre-commit.ci lite] apply automatic fixes * Field chancge * Update src/proto/tactic.proto Co-authored-by: William Ha <60044853+williamckha@users.noreply.github.com> * Update tactic.proto Co-authored-by: William Ha <60044853+williamckha@users.noreply.github.com> * simulated hrvo fix --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: William Ha <60044853+williamckha@users.noreply.github.com> --- src/proto/tactic.proto | 5 +-- .../ball_placement_play_fsm.cpp | 10 ++--- .../enemy_ball_placement_play_fsm.cpp | 11 +++--- src/software/ai/hl/stp/play/example_play.cpp | 2 +- .../stp/play/free_kick/free_kick_play_fsm.cpp | 4 +- .../dribbling_parcour_play.cpp | 2 +- .../pass_endurance_play.cpp | 5 +-- ...scoring_from_contested_possession_play.cpp | 2 +- .../scoring_with_static_defenders_play.cpp | 5 +-- .../ai/hl/stp/play/kickoff_enemy_play.cpp | 4 +- .../ai/hl/stp/play/kickoff_friendly_play.cpp | 4 +- .../penalty_kick/penalty_kick_play_fsm.cpp | 5 +-- .../penalty_kick_enemy_play_fsm.cpp | 3 +- .../ai/hl/stp/play/shoot_or_chip_play.cpp | 2 +- .../shoot_or_pass/shoot_or_pass_play_fsm.cpp | 2 +- src/software/ai/hl/stp/play/stop_play.cpp | 6 +-- .../hl/stp/play/test_plays/move_test_play.cpp | 7 ++-- .../ai/hl/stp/stp_tactic_assignment_test.cpp | 38 +++++++++---------- .../crease_defender/crease_defender_fsm.cpp | 4 +- src/software/ai/hl/stp/tactic/move/move_fsm.h | 4 -- .../ai/hl/stp/tactic/move/move_fsm_test.cpp | 8 +--- .../ai/hl/stp/tactic/move/move_tactic.cpp | 16 ++------ .../ai/hl/stp/tactic/move/move_tactic.h | 9 +---- .../hl/stp/tactic/move/move_tactic_test.cpp | 36 +++++++++--------- .../tactic/shadow_enemy/shadow_enemy_fsm.cpp | 4 +- .../ai/hl/stp/tactic/tactic_factory.cpp | 7 ++-- .../trajectory/simulated_hrvo_test.py | 7 +--- .../field_tests/movement_robot_field_test.py | 12 ------ 28 files changed, 86 insertions(+), 138 deletions(-) diff --git a/src/proto/tactic.proto b/src/proto/tactic.proto index ecb73872cd..43c938a7e7 100644 --- a/src/proto/tactic.proto +++ b/src/proto/tactic.proto @@ -124,8 +124,7 @@ message MoveTactic required Point destination = 1; // The orientation the robot should have when it arrives at its destination required Angle final_orientation = 2; - // The speed the robot should have when it arrives at its destination - required double final_speed = 3; + reserved 3, 8; // How to run the dribbler required DribblerMode dribbler_mode = 4; // How to navigate around the ball @@ -134,8 +133,6 @@ message MoveTactic required AutoChipOrKick auto_chip_or_kick = 6; // The maximum allowed speed mode required MaxAllowedSpeedMode max_allowed_speed_mode = 7; - // The target spin while moving in revolutions per second - required double target_spin_rev_per_s = 8; // The obstacle avoidance mode to use while moving required ObstacleAvoidanceMode obstacle_avoidance_mode = 9; } diff --git a/src/software/ai/hl/stp/play/ball_placement/ball_placement_play_fsm.cpp b/src/software/ai/hl/stp/play/ball_placement/ball_placement_play_fsm.cpp index f355ff3540..a8420ce8db 100644 --- a/src/software/ai/hl/stp/play/ball_placement/ball_placement_play_fsm.cpp +++ b/src/software/ai/hl/stp/play/ball_placement/ball_placement_play_fsm.cpp @@ -56,10 +56,10 @@ void BallPlacementPlayFSM::alignPlacement(const Update &event) 2 * alignment_vector * ROBOT_MAX_RADIUS_METERS; align_placement_tactic->updateControlParams( - setup_point, setup_angle, 0.0, TbotsProto::DribblerMode::OFF, + setup_point, setup_angle, TbotsProto::DribblerMode::OFF, TbotsProto::BallCollisionType::AVOID, {AutoChipOrKickMode::OFF, 0}, TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, - TbotsProto::ObstacleAvoidanceMode::SAFE, 0.0); + TbotsProto::ObstacleAvoidanceMode::SAFE); tactics_to_run[0].emplace_back(align_placement_tactic); @@ -143,10 +143,10 @@ void BallPlacementPlayFSM::retreat(const Update &event) // setup ball placement tactic for ball placing robot retreat_tactic->updateControlParams( - retreat_position, final_orientation, 0.0, TbotsProto::DribblerMode::OFF, + retreat_position, final_orientation, TbotsProto::DribblerMode::OFF, TbotsProto::BallCollisionType::AVOID, {AutoChipOrKickMode::OFF, 0}, TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, - TbotsProto::ObstacleAvoidanceMode::SAFE, 0.0); + TbotsProto::ObstacleAvoidanceMode::SAFE); tactics_to_run[0].emplace_back(retreat_tactic); event.common.set_tactics(tactics_to_run); @@ -303,7 +303,7 @@ void BallPlacementPlayFSM::setupMoveTactics(const Update &event) waiting_line_vector.normalize(waiting_line_vector.length() * i / static_cast(move_tactics.size())); move_tactics.at(i)->updateControlParams( - waiting_destination, Angle::zero(), 0.0, + waiting_destination, Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::ObstacleAvoidanceMode::SAFE); } diff --git a/src/software/ai/hl/stp/play/enemy_ball_placement/enemy_ball_placement_play_fsm.cpp b/src/software/ai/hl/stp/play/enemy_ball_placement/enemy_ball_placement_play_fsm.cpp index 843d2de9b2..1412c30718 100644 --- a/src/software/ai/hl/stp/play/enemy_ball_placement/enemy_ball_placement_play_fsm.cpp +++ b/src/software/ai/hl/stp/play/enemy_ball_placement/enemy_ball_placement_play_fsm.cpp @@ -95,13 +95,13 @@ void EnemyBallPlacementPlayFSM::avoid(const Update& event) } // Move to destination point while aligning to the ball avoid_interference_tactics[idx]->updateControlParams( - destination, (ball_pos - robot.position()).orientation(), 0); + destination, (ball_pos - robot.position()).orientation()); } else { // Stay in place while aligning to the ball avoid_interference_tactics[idx]->updateControlParams( - robot.position(), (ball_pos - robot.position()).orientation(), 0); + robot.position(), (ball_pos - robot.position()).orientation()); } tactics_to_run[0].emplace_back(avoid_interference_tactics[idx]); idx++; @@ -140,11 +140,10 @@ void EnemyBallPlacementPlayFSM::enterDefensiveFormation(const Update& event) Point right = world_ptr->ball().position() + right_vector; move_tactics[0]->updateControlParams( - center, positioning_vector.orientation() + Angle::half(), 0); - move_tactics[1]->updateControlParams(left, left_vector.orientation() + Angle::half(), - 0); + center, positioning_vector.orientation() + Angle::half()); + move_tactics[1]->updateControlParams(left, left_vector.orientation() + Angle::half()); move_tactics[2]->updateControlParams(right, - right_vector.orientation() + Angle::half(), 0); + right_vector.orientation() + Angle::half()); tactics_to_run[0].emplace_back(move_tactics[0]); tactics_to_run[0].emplace_back(move_tactics[1]); tactics_to_run[0].emplace_back(move_tactics[2]); diff --git a/src/software/ai/hl/stp/play/example_play.cpp b/src/software/ai/hl/stp/play/example_play.cpp index 7cea6d0aaa..e9480f767b 100644 --- a/src/software/ai/hl/stp/play/example_play.cpp +++ b/src/software/ai/hl/stp/play/example_play.cpp @@ -25,7 +25,7 @@ void ExamplePlay::getNextTactics(TacticCoroutine::push_type &yield, world_ptr->ball().position() + Vector::createFromAngle(angle_between_robots * static_cast(k + 1)), - (angle_between_robots * static_cast(k + 1)) + Angle::half(), 0); + (angle_between_robots * static_cast(k + 1)) + Angle::half()); } // yield the Tactics this Play wants to run, in order of priority diff --git a/src/software/ai/hl/stp/play/free_kick/free_kick_play_fsm.cpp b/src/software/ai/hl/stp/play/free_kick/free_kick_play_fsm.cpp index 4df2039979..5ec0b9bced 100644 --- a/src/software/ai/hl/stp/play/free_kick/free_kick_play_fsm.cpp +++ b/src/software/ai/hl/stp/play/free_kick/free_kick_play_fsm.cpp @@ -69,7 +69,7 @@ void FreeKickPlayFSM::updateReceiverPositioningTactics( Angle receiver_orientation = (world->ball().position() - best_receiving_positions[i]).orientation(); receiver_positioning_tactics[i]->updateControlParams( - best_receiving_positions[i], receiver_orientation, 0.0, + best_receiving_positions[i], receiver_orientation, TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE); } @@ -125,7 +125,7 @@ void FreeKickPlayFSM::updateAlignToBallTactic(const WorldPtr &world_ptr) align_to_ball_tactic->updateControlParams( ball_pos - direction_to_face.normalize(ROBOT_MAX_RADIUS_METERS * 2), - direction_to_face.orientation(), 0); + direction_to_face.orientation()); } bool FreeKickPlayFSM::shotFound(const Update &event) diff --git a/src/software/ai/hl/stp/play/hardware_challenge_plays/dribbling_parcour_play.cpp b/src/software/ai/hl/stp/play/hardware_challenge_plays/dribbling_parcour_play.cpp index 1f0ff793cc..02e952e4fa 100644 --- a/src/software/ai/hl/stp/play/hardware_challenge_plays/dribbling_parcour_play.cpp +++ b/src/software/ai/hl/stp/play/hardware_challenge_plays/dribbling_parcour_play.cpp @@ -28,7 +28,7 @@ void DribblingParcourPlay::getNextTactics(TacticCoroutine::push_type &yield, } else { - move_tactic->updateControlParams(Point(0, 0), Angle::zero(), 0.0); + move_tactic->updateControlParams(Point(0, 0), Angle::zero()); result.emplace_back(move_tactic); } yield({result}); diff --git a/src/software/ai/hl/stp/play/hardware_challenge_plays/pass_endurance_play.cpp b/src/software/ai/hl/stp/play/hardware_challenge_plays/pass_endurance_play.cpp index 9115c6cb9d..dce5722426 100644 --- a/src/software/ai/hl/stp/play/hardware_challenge_plays/pass_endurance_play.cpp +++ b/src/software/ai/hl/stp/play/hardware_challenge_plays/pass_endurance_play.cpp @@ -31,8 +31,7 @@ void PassEndurancePlay::getNextTactics(TacticCoroutine::push_type &yield, world_ptr->ball().position() + Vector::createFromAngle(angle_between_robots * static_cast(k + 1)), - (angle_between_robots * static_cast(k + 1)) + Angle::half(), - 0); + (angle_between_robots * static_cast(k + 1)) + Angle::half()); } } else @@ -44,7 +43,7 @@ void PassEndurancePlay::getNextTactics(TacticCoroutine::push_type &yield, auto next_position = Point( world_ptr->field().centerPoint().x(), (initial_offset + static_cast(k)) * 4 * ROBOT_MAX_RADIUS_METERS); - move_tactics[k]->updateControlParams(next_position, Angle::zero(), 0); + move_tactics[k]->updateControlParams(next_position, Angle::zero()); } } result.insert(result.end(), move_tactics.begin(), move_tactics.end()); diff --git a/src/software/ai/hl/stp/play/hardware_challenge_plays/scoring_from_contested_possession_play.cpp b/src/software/ai/hl/stp/play/hardware_challenge_plays/scoring_from_contested_possession_play.cpp index f1d4c1c34e..fc021b7c2d 100644 --- a/src/software/ai/hl/stp/play/hardware_challenge_plays/scoring_from_contested_possession_play.cpp +++ b/src/software/ai/hl/stp/play/hardware_challenge_plays/scoring_from_contested_possession_play.cpp @@ -30,7 +30,7 @@ void ScoringFromContestedPossessionPlay::getNextTactics(TacticCoroutine::push_ty else { // TODO (#2107): implement face ball opposite attacker 0.3m away - move_tactic->updateControlParams(Point(0, 0), Angle::zero(), 0.0); + move_tactic->updateControlParams(Point(0, 0), Angle::zero()); result.emplace_back(move_tactic); } yield({result}); diff --git a/src/software/ai/hl/stp/play/hardware_challenge_plays/scoring_with_static_defenders_play.cpp b/src/software/ai/hl/stp/play/hardware_challenge_plays/scoring_with_static_defenders_play.cpp index 27e5bca6d5..0d0d58ca7b 100644 --- a/src/software/ai/hl/stp/play/hardware_challenge_plays/scoring_with_static_defenders_play.cpp +++ b/src/software/ai/hl/stp/play/hardware_challenge_plays/scoring_with_static_defenders_play.cpp @@ -29,7 +29,7 @@ void ScoringWithStaticDefendersPlay::getNextTactics(TacticCoroutine::push_type & auto next_position = Point( world_ptr->field().centerPoint().x(), (initial_offset + static_cast(k)) * 4 * ROBOT_MAX_RADIUS_METERS); - move_tactics[k]->updateControlParams(next_position, Angle::zero(), 0); + move_tactics[k]->updateControlParams(next_position, Angle::zero()); } } else if (world_ptr->gameState().isOurFreeKick()) @@ -46,8 +46,7 @@ void ScoringWithStaticDefendersPlay::getNextTactics(TacticCoroutine::push_type & world_ptr->ball().position() + Vector::createFromAngle(angle_between_robots * static_cast(k + 1)), - (angle_between_robots * static_cast(k + 1)) + Angle::half(), - 0); + (angle_between_robots * static_cast(k + 1)) + Angle::half()); } } result.insert(result.end(), move_tactics.begin(), move_tactics.end()); diff --git a/src/software/ai/hl/stp/play/kickoff_enemy_play.cpp b/src/software/ai/hl/stp/play/kickoff_enemy_play.cpp index d5cf51dd1f..694a0c6401 100644 --- a/src/software/ai/hl/stp/play/kickoff_enemy_play.cpp +++ b/src/software/ai/hl/stp/play/kickoff_enemy_play.cpp @@ -125,7 +125,7 @@ void KickoffEnemyPlay::getNextTactics(TacticCoroutine::push_type &yield, // listed above move_tactics.at(defense_position_index) ->updateControlParams(defense_positions.at(defense_position_index), - Angle::zero(), 0); + Angle::zero()); result[0].emplace_back(move_tactics.at(defense_position_index)); defense_position_index++; } @@ -138,7 +138,7 @@ void KickoffEnemyPlay::getNextTactics(TacticCoroutine::push_type &yield, world_ptr->field().friendlyGoalpostNeg(), world_ptr->field().centerPoint(), ROBOT_MAX_RADIUS_METERS), - Angle::zero(), 0, TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, + Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE); result[0].emplace_back(move_tactics.at(defense_position_index)); diff --git a/src/software/ai/hl/stp/play/kickoff_friendly_play.cpp b/src/software/ai/hl/stp/play/kickoff_friendly_play.cpp index a5eabd312b..bec6ac1cc5 100644 --- a/src/software/ai/hl/stp/play/kickoff_friendly_play.cpp +++ b/src/software/ai/hl/stp/play/kickoff_friendly_play.cpp @@ -93,7 +93,7 @@ void KickoffFriendlyPlay::getNextTactics(TacticCoroutine::push_type &yield, for (unsigned i = 0; i < kickoff_setup_positions.size(); i++) { move_tactics.at(i)->updateControlParams(kickoff_setup_positions.at(i), - Angle::zero(), 0); + Angle::zero()); result[0].emplace_back(move_tactics.at(i)); } @@ -123,7 +123,7 @@ void KickoffFriendlyPlay::getNextTactics(TacticCoroutine::push_type &yield, for (unsigned i = 1; i < kickoff_setup_positions.size(); i++) { move_tactics.at(i)->updateControlParams(kickoff_setup_positions.at(i), - Angle::zero(), 0); + Angle::zero()); result[0].emplace_back(move_tactics.at(i)); } diff --git a/src/software/ai/hl/stp/play/penalty_kick/penalty_kick_play_fsm.cpp b/src/software/ai/hl/stp/play/penalty_kick/penalty_kick_play_fsm.cpp index 2e47d85a32..e80017badd 100644 --- a/src/software/ai/hl/stp/play/penalty_kick/penalty_kick_play_fsm.cpp +++ b/src/software/ai/hl/stp/play/penalty_kick/penalty_kick_play_fsm.cpp @@ -48,12 +48,11 @@ void PenaltyKickPlayFSM::setupPosition(const Update &event) ROBOT_MAX_RADIUS_METERS; penalty_setup_tactics.at(i)->updateControlParams( Point(ball_position_x - 1.25, y_offset), - event.common.world_ptr->field().enemyGoalCenter().toVector().orientation(), - 0); + event.common.world_ptr->field().enemyGoalCenter().toVector().orientation()); } // Move shooting robot behind the ball - penalty_setup_tactics.back()->updateControlParams(behind_ball, shoot_angle, 0.0); + penalty_setup_tactics.back()->updateControlParams(behind_ball, shoot_angle); tactics_to_run[0].insert(tactics_to_run[0].end(), penalty_setup_tactics.begin(), penalty_setup_tactics.end()); diff --git a/src/software/ai/hl/stp/play/penalty_kick_enemy/penalty_kick_enemy_play_fsm.cpp b/src/software/ai/hl/stp/play/penalty_kick_enemy/penalty_kick_enemy_play_fsm.cpp index 7f7a3600e5..2f8dd591fb 100644 --- a/src/software/ai/hl/stp/play/penalty_kick_enemy/penalty_kick_enemy_play_fsm.cpp +++ b/src/software/ai/hl/stp/play/penalty_kick_enemy/penalty_kick_enemy_play_fsm.cpp @@ -26,8 +26,7 @@ void PenaltyKickEnemyPlayFSM::setupPosition(const Update &event) move_tactics.at(i)->updateControlParams( Point(event.common.world_ptr->field().enemyPenaltyMark().x() + 1.75, y_offset), - event.common.world_ptr->field().enemyGoalCenter().toVector().orientation(), - 0); + event.common.world_ptr->field().enemyGoalCenter().toVector().orientation()); } // Move goalie to the goal line diff --git a/src/software/ai/hl/stp/play/shoot_or_chip_play.cpp b/src/software/ai/hl/stp/play/shoot_or_chip_play.cpp index 8a34000f60..e24bfff530 100644 --- a/src/software/ai/hl/stp/play/shoot_or_chip_play.cpp +++ b/src/software/ai/hl/stp/play/shoot_or_chip_play.cpp @@ -79,7 +79,7 @@ void ShootOrChipPlay::getNextTactics(TacticCoroutine::push_type &yield, chip_targets[i].origin() - Vector::createFromAngle(orientation).normalize(ROBOT_MAX_RADIUS_METERS); ; - move_to_open_area_tactics[i]->updateControlParams(position, orientation, 0.0); + move_to_open_area_tactics[i]->updateControlParams(position, orientation); result[0].emplace_back(move_to_open_area_tactics[i]); } diff --git a/src/software/ai/hl/stp/play/shoot_or_pass/shoot_or_pass_play_fsm.cpp b/src/software/ai/hl/stp/play/shoot_or_pass/shoot_or_pass_play_fsm.cpp index 04142dd963..a68cdbd33e 100644 --- a/src/software/ai/hl/stp/play/shoot_or_pass/shoot_or_pass_play_fsm.cpp +++ b/src/software/ai/hl/stp/play/shoot_or_pass/shoot_or_pass_play_fsm.cpp @@ -50,7 +50,7 @@ void ShootOrPassPlayFSM::updateOffensivePositioningTactics( Angle receiver_orientation = (world->ball().position() - best_receiving_positions[i]).orientation(); offensive_positioning_tactics[i]->updateControlParams( - best_receiving_positions[i], receiver_orientation, 0.0, + best_receiving_positions[i], receiver_orientation, TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE); } diff --git a/src/software/ai/hl/stp/play/stop_play.cpp b/src/software/ai/hl/stp/play/stop_play.cpp index 24d5a1223c..4488bfea79 100644 --- a/src/software/ai/hl/stp/play/stop_play.cpp +++ b/src/software/ai/hl/stp/play/stop_play.cpp @@ -80,15 +80,15 @@ void StopPlay::getNextTactics(TacticCoroutine::push_type &yield, move_tactics.at(0)->updateControlParams( ball_defense_point_center, - (world_ptr->ball().position() - ball_defense_point_center).orientation(), 0, + (world_ptr->ball().position() - ball_defense_point_center).orientation(), stop_mode, TbotsProto::ObstacleAvoidanceMode::SAFE); move_tactics.at(1)->updateControlParams( ball_defense_point_left, - (world_ptr->ball().position() - ball_defense_point_left).orientation(), 0, + (world_ptr->ball().position() - ball_defense_point_left).orientation(), stop_mode, TbotsProto::ObstacleAvoidanceMode::SAFE); move_tactics.at(2)->updateControlParams( ball_defense_point_right, - (world_ptr->ball().position() - ball_defense_point_right).orientation(), 0, + (world_ptr->ball().position() - ball_defense_point_right).orientation(), stop_mode, TbotsProto::ObstacleAvoidanceMode::SAFE); std::get<0>(crease_defender_tactics) diff --git a/src/software/ai/hl/stp/play/test_plays/move_test_play.cpp b/src/software/ai/hl/stp/play/test_plays/move_test_play.cpp index bd25e91ce3..6204481d78 100644 --- a/src/software/ai/hl/stp/play/test_plays/move_test_play.cpp +++ b/src/software/ai/hl/stp/play/test_plays/move_test_play.cpp @@ -15,16 +15,15 @@ void MoveTestPlay::getNextTactics(TacticCoroutine::push_type &yield, do { move_test_tactic_friendly_goal->updateControlParams( - world_ptr->field().friendlyGoalCenter(), Angle::zero(), 0, + world_ptr->field().friendlyGoalCenter(), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::ObstacleAvoidanceMode::SAFE); move_test_tactic_enemy_goal->updateControlParams( - world_ptr->field().enemyGoalCenter(), Angle::zero(), 0, + world_ptr->field().enemyGoalCenter(), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::ObstacleAvoidanceMode::SAFE); move_test_tactic_center_field->updateControlParams( - Point(0, 0), Angle::zero(), 0, - TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, + Point(0, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::ObstacleAvoidanceMode::SAFE); yield({{move_test_tactic_center_field, move_test_tactic_friendly_goal, diff --git a/src/software/ai/hl/stp/stp_tactic_assignment_test.cpp b/src/software/ai/hl/stp/stp_tactic_assignment_test.cpp index e4856b67cc..728f01d4da 100644 --- a/src/software/ai/hl/stp/stp_tactic_assignment_test.cpp +++ b/src/software/ai/hl/stp/stp_tactic_assignment_test.cpp @@ -72,9 +72,9 @@ TEST_F(STPTacticAssignmentTest, auto move_tactic_1 = std::make_shared(); auto move_tactic_2 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); - move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), 0, + move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1, move_tactic_2}; @@ -96,9 +96,9 @@ TEST_F(STPTacticAssignmentTest, auto move_tactic_1 = std::make_shared(); auto move_tactic_2 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); - move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), 0, + move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1, move_tactic_2}; @@ -122,7 +122,7 @@ TEST_F(STPTacticAssignmentTest, auto move_tactic_1 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1}; @@ -140,7 +140,7 @@ TEST_F(STPTacticAssignmentTest, test_0_tactics_returned_when_there_are_no_robots auto move_tactic_1 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1}; @@ -162,7 +162,7 @@ TEST_F(STPTacticAssignmentTest, auto move_tactic_1 = std::make_shared(); auto stop_tactic_1 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1, stop_tactic_1}; @@ -193,7 +193,7 @@ TEST_F(STPTacticAssignmentTest, test_assigning_1_tactic_to_1_robot) auto move_tactic_1 = std::make_shared(); - move_tactic_1->updateControlParams(Point(2, -3.2), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(2, -3.2), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1}; @@ -221,9 +221,9 @@ TEST_F(STPTacticAssignmentTest, test_assigning_2_robots_to_2_tactics_no_overlap) auto move_tactic_1 = std::make_shared(); auto move_tactic_2 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); - move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), 0, + move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1, move_tactic_2}; @@ -263,9 +263,9 @@ TEST_F(STPTacticAssignmentTest, test_assigning_2_robots_to_2_tactics_with_overla auto move_tactic_1 = std::make_shared(); auto move_tactic_2 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); - move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), 0, + move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1, move_tactic_2}; @@ -298,9 +298,9 @@ TEST_F(STPTacticAssignmentTest, test_assigning_3_robots_to_2_tactics) auto move_tactic_1 = std::make_shared(); auto move_tactic_2 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); - move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), 0, + move_tactic_2->updateControlParams(Point(1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1, move_tactic_2}; @@ -366,7 +366,7 @@ TEST_F(STPTacticAssignmentTest, // The destination of the move_tactic is relatively close to the robot positions, so // the cost of assigning any robot to the move_tactic should be less than the // stop_tactics - move_tactic_1->updateControlParams(Point(0, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(0, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {stop_tactic_1, move_tactic_1, stop_tactic_2}; @@ -397,7 +397,7 @@ TEST_F(STPTacticAssignmentTest, auto move_tactic_1 = std::make_shared(); - move_tactic_1->updateControlParams(Point(0, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(0, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1}; @@ -466,7 +466,7 @@ TEST_F(STPTacticAssignmentTest, auto move_tactic_1 = std::make_shared(); - move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstTacticVector tactics = {move_tactic_1}; @@ -513,9 +513,9 @@ TEST_F(STPTacticAssignmentTest, test_greediness_of_tiered_assignment) auto move_tactic_0 = std::make_shared(); auto move_tactic_1 = std::make_shared(); - move_tactic_0->updateControlParams(Point(0, 0), Angle::zero(), 0, + move_tactic_0->updateControlParams(Point(0, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); - move_tactic_1->updateControlParams(Point(2, 0), Angle::zero(), 0, + move_tactic_1->updateControlParams(Point(2, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); ConstPriorityTacticVector normal_tactics = {{move_tactic_0, move_tactic_1}}; diff --git a/src/software/ai/hl/stp/tactic/crease_defender/crease_defender_fsm.cpp b/src/software/ai/hl/stp/tactic/crease_defender/crease_defender_fsm.cpp index f0ccaa33d3..1a4239c715 100644 --- a/src/software/ai/hl/stp/tactic/crease_defender/crease_defender_fsm.cpp +++ b/src/software/ai/hl/stp/tactic/crease_defender/crease_defender_fsm.cpp @@ -144,13 +144,11 @@ void CreaseDefenderFSM::blockThreat( MoveFSM::ControlParams control_params{ .destination = destination, .final_orientation = face_threat_orientation, - .final_speed = 0.0, .dribbler_mode = TbotsProto::DribblerMode::OFF, .ball_collision_type = ball_collision_type, .auto_chip_or_kick = auto_chip_or_kick, .max_allowed_speed_mode = event.control_params.max_allowed_speed_mode, - .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE, - .target_spin_rev_per_s = 0.0}; + .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE}; // Update the get behind ball fsm processEvent(MoveFSM::Update(control_params, event.common)); diff --git a/src/software/ai/hl/stp/tactic/move/move_fsm.h b/src/software/ai/hl/stp/tactic/move/move_fsm.h index 936d7d8958..34fd11e180 100644 --- a/src/software/ai/hl/stp/tactic/move/move_fsm.h +++ b/src/software/ai/hl/stp/tactic/move/move_fsm.h @@ -17,8 +17,6 @@ struct MoveFSM Point destination; // The orientation the robot should have when it arrives at its destination Angle final_orientation; - // The speed the robot should have when it arrives at its destination - double final_speed; // How to run the dribbler TbotsProto::DribblerMode dribbler_mode; // How to navigate around the ball @@ -29,8 +27,6 @@ struct MoveFSM TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode; // The obstacle avoidance mode TbotsProto::ObstacleAvoidanceMode obstacle_avoidance_mode; - // The target spin while moving in revolutions per second - double target_spin_rev_per_s; }; // this struct defines the only event that the MoveFSM responds to diff --git a/src/software/ai/hl/stp/tactic/move/move_fsm_test.cpp b/src/software/ai/hl/stp/tactic/move/move_fsm_test.cpp index f242672d50..73448ce6a2 100644 --- a/src/software/ai/hl/stp/tactic/move/move_fsm_test.cpp +++ b/src/software/ai/hl/stp/tactic/move/move_fsm_test.cpp @@ -11,13 +11,11 @@ TEST(MoveFSMTest, test_transitions) MoveFSM::ControlParams control_params{ .destination = Point(2, 3), .final_orientation = Angle::half(), - .final_speed = 0.0, .dribbler_mode = TbotsProto::DribblerMode::OFF, .ball_collision_type = TbotsProto::BallCollisionType::AVOID, .auto_chip_or_kick = AutoChipOrKick{AutoChipOrKickMode::OFF, 0}, .max_allowed_speed_mode = TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, - .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::SAFE, - .target_spin_rev_per_s = 0.0}; + .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::SAFE}; FSM fsm; EXPECT_TRUE(fsm.is(boost::sml::state)); @@ -45,13 +43,11 @@ TEST(MoveFSMTest, test_transitions) control_params = MoveFSM::ControlParams{ .destination = Point(1, -3), .final_orientation = Angle::half(), - .final_speed = 0.0, .dribbler_mode = TbotsProto::DribblerMode::OFF, .ball_collision_type = TbotsProto::BallCollisionType::AVOID, .auto_chip_or_kick = AutoChipOrKick{AutoChipOrKickMode::OFF, 0}, .max_allowed_speed_mode = TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, - .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::SAFE, - .target_spin_rev_per_s = 0.0}; + .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::SAFE}; fsm.process_event(MoveFSM::Update( control_params, TacticUpdate(robot, world, [](std::shared_ptr) {}))); EXPECT_TRUE(fsm.is(boost::sml::state)); diff --git a/src/software/ai/hl/stp/tactic/move/move_tactic.cpp b/src/software/ai/hl/stp/tactic/move/move_tactic.cpp index b7ae2624e2..4f034e9067 100644 --- a/src/software/ai/hl/stp/tactic/move/move_tactic.cpp +++ b/src/software/ai/hl/stp/tactic/move/move_tactic.cpp @@ -8,13 +8,11 @@ MoveTactic::MoveTactic() control_params{ .destination = Point(), .final_orientation = Angle::zero(), - .final_speed = 0.0, .dribbler_mode = TbotsProto::DribblerMode::OFF, .ball_collision_type = TbotsProto::BallCollisionType::AVOID, .auto_chip_or_kick = {AutoChipOrKickMode::OFF, 0}, .max_allowed_speed_mode = TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, - .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE, - .target_spin_rev_per_s = 0.0} + .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE} { for (RobotId id = 0; id < MAX_ROBOT_IDS; id++) { @@ -23,40 +21,34 @@ MoveTactic::MoveTactic() } void MoveTactic::updateControlParams( - Point destination, Angle final_orientation, double final_speed, - TbotsProto::DribblerMode dribbler_mode, + Point destination, Angle final_orientation, TbotsProto::DribblerMode dribbler_mode, TbotsProto::BallCollisionType ball_collision_type, AutoChipOrKick auto_chip_or_kick, TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode, - TbotsProto::ObstacleAvoidanceMode obstacle_avoidance_mode, - double target_spin_rev_per_s) + TbotsProto::ObstacleAvoidanceMode obstacle_avoidance_mode) { // Update the control parameters stored by this Tactic control_params.destination = destination; control_params.final_orientation = final_orientation; - control_params.final_speed = final_speed; control_params.dribbler_mode = dribbler_mode; control_params.ball_collision_type = ball_collision_type; control_params.auto_chip_or_kick = auto_chip_or_kick; control_params.max_allowed_speed_mode = max_allowed_speed_mode; control_params.obstacle_avoidance_mode = obstacle_avoidance_mode; - control_params.target_spin_rev_per_s = target_spin_rev_per_s; } void MoveTactic::updateControlParams( - Point destination, Angle final_orientation, double final_speed, + Point destination, Angle final_orientation, TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode, TbotsProto::ObstacleAvoidanceMode obstacle_avoidance_mode) { // Update the control parameters stored by this Tactic control_params.destination = destination; control_params.final_orientation = final_orientation; - control_params.final_speed = final_speed; control_params.dribbler_mode = TbotsProto::DribblerMode::OFF; control_params.ball_collision_type = TbotsProto::BallCollisionType::AVOID; control_params.auto_chip_or_kick = {AutoChipOrKickMode::OFF, 0}; control_params.max_allowed_speed_mode = max_allowed_speed_mode; control_params.obstacle_avoidance_mode = obstacle_avoidance_mode; - control_params.target_spin_rev_per_s = 0.0; } void MoveTactic::updatePrimitive(const TacticUpdate &tactic_update, bool reset_fsm) diff --git a/src/software/ai/hl/stp/tactic/move/move_tactic.h b/src/software/ai/hl/stp/tactic/move/move_tactic.h index 7232304473..c795d12f74 100644 --- a/src/software/ai/hl/stp/tactic/move/move_tactic.h +++ b/src/software/ai/hl/stp/tactic/move/move_tactic.h @@ -21,17 +21,15 @@ class MoveTactic : public Tactic * @param destination The destination to move to (in global coordinates) * @param final_orientation The final orientation the robot should have at * the destination - * @param final_speed The final speed the robot should have at the destination * @param dribbler_mode The dribbler mode * @param ball_collision_type how to navigate around the ball * @param auto_chip_or_kick The command to autochip or autokick * @param max_allowed_speed_mode The mode of maximum speed allowed * @param obstacle_avoidance_mode How safe we should be when avoiding obstacles, * particularly enemy robots - * @param target_spin_rev_per_s The target spin while moving in revolutions per second */ void updateControlParams( - Point destination, Angle final_orientation, double final_speed, + Point destination, Angle final_orientation, TbotsProto::DribblerMode dribbler_mode = TbotsProto::DribblerMode::OFF, TbotsProto::BallCollisionType ball_collision_type = TbotsProto::BallCollisionType::AVOID, @@ -39,8 +37,7 @@ class MoveTactic : public Tactic TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode = TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::ObstacleAvoidanceMode obstacle_avoidance_mode = - TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE, - double target_spin_rev_per_s = 0.0); + TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE); /** * Updates the params assuming that the dribbler and chicker and while avoiding the @@ -49,13 +46,11 @@ class MoveTactic : public Tactic * @param destination The destination to move to (in global coordinates) * @param final_orientation The final orientation the robot should have at * the destination - * @param final_speed The final speed the robot should have at the destination * @param max_allowed_speed_mode The mode of maximum speed allowed * @param obstacle_avoidance_mode How safe we should be when avoiding obstacles, * particularly enemy robots */ void updateControlParams(Point destination, Angle final_orientation, - double final_speed, TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode, TbotsProto::ObstacleAvoidanceMode obstacle_avoidance_mode); diff --git a/src/software/ai/hl/stp/tactic/move/move_tactic_test.cpp b/src/software/ai/hl/stp/tactic/move/move_tactic_test.cpp index d7917038ec..614db132ce 100644 --- a/src/software/ai/hl/stp/tactic/move/move_tactic_test.cpp +++ b/src/software/ai/hl/stp/tactic/move/move_tactic_test.cpp @@ -33,7 +33,7 @@ TEST_F(MoveTacticTest, test_move_across_field) field.enemyDefenseArea().negXPosYCorner()}); auto tactic = std::make_shared(); - tactic->updateControlParams(destination, Angle::zero(), 0); + tactic->updateControlParams(destination, Angle::zero()); setTactic(1, tactic); std::vector terminating_validation_functions = { @@ -72,11 +72,11 @@ TEST_F(MoveTacticTest, test_autochip_move) field.enemyDefenseArea().negXPosYCorner()}); auto tactic = std::make_shared(); - tactic->updateControlParams( - destination, Angle::zero(), 0, TbotsProto::DribblerMode::OFF, - TbotsProto::BallCollisionType::ALLOW, {AutoChipOrKickMode::AUTOCHIP, 2.0}, - TbotsProto::MaxAllowedSpeedMode::COLLISIONS_ALLOWED, - TbotsProto::ObstacleAvoidanceMode::SAFE, 0.0); + tactic->updateControlParams(destination, Angle::zero(), TbotsProto::DribblerMode::OFF, + TbotsProto::BallCollisionType::ALLOW, + {AutoChipOrKickMode::AUTOCHIP, 2.0}, + TbotsProto::MaxAllowedSpeedMode::COLLISIONS_ALLOWED, + TbotsProto::ObstacleAvoidanceMode::SAFE); setTactic(1, tactic); std::vector terminating_validation_functions = { @@ -119,10 +119,10 @@ TEST_F(MoveTacticTest, test_autokick_move) auto tactic = std::make_shared(); tactic->updateControlParams( - destination, Angle::threeQuarter(), 0, TbotsProto::DribblerMode::OFF, + destination, Angle::threeQuarter(), TbotsProto::DribblerMode::OFF, TbotsProto::BallCollisionType::ALLOW, {AutoChipOrKickMode::AUTOKICK, 3.0}, TbotsProto::MaxAllowedSpeedMode::COLLISIONS_ALLOWED, - TbotsProto::ObstacleAvoidanceMode::SAFE, 0.0); + TbotsProto::ObstacleAvoidanceMode::SAFE); setTactic(0, tactic); std::vector terminating_validation_functions = { @@ -161,11 +161,11 @@ TEST_F(MoveTacticTest, test_spinning_move_clockwise) auto enemy_robots = TestUtil::createStationaryRobotStatesWithId({Point(4, 0)}); auto tactic = std::make_shared(); - tactic->updateControlParams( - destination, Angle::zero(), 0, TbotsProto::DribblerMode::OFF, - TbotsProto::BallCollisionType::ALLOW, {AutoChipOrKickMode::OFF, 0.0}, - TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, - TbotsProto::ObstacleAvoidanceMode::SAFE, 0.0); + tactic->updateControlParams(destination, Angle::zero(), TbotsProto::DribblerMode::OFF, + TbotsProto::BallCollisionType::ALLOW, + {AutoChipOrKickMode::OFF, 0.0}, + TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, + TbotsProto::ObstacleAvoidanceMode::SAFE); setTactic(0, tactic); std::vector terminating_validation_functions = { @@ -208,11 +208,11 @@ TEST_F(MoveTacticTest, test_spinning_move_counter_clockwise) auto enemy_robots = TestUtil::createStationaryRobotStatesWithId({Point(4, 0)}); auto tactic = std::make_shared(); - tactic->updateControlParams( - destination, Angle::half(), 0, TbotsProto::DribblerMode::OFF, - TbotsProto::BallCollisionType::ALLOW, {AutoChipOrKickMode::OFF, 0.0}, - TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, - TbotsProto::ObstacleAvoidanceMode::SAFE, -4.0); + tactic->updateControlParams(destination, Angle::half(), TbotsProto::DribblerMode::OFF, + TbotsProto::BallCollisionType::ALLOW, + {AutoChipOrKickMode::OFF, 0.0}, + TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, + TbotsProto::ObstacleAvoidanceMode::SAFE); setTactic(0, tactic); std::vector terminating_validation_functions = { diff --git a/src/software/ai/hl/stp/tactic/shadow_enemy/shadow_enemy_fsm.cpp b/src/software/ai/hl/stp/tactic/shadow_enemy/shadow_enemy_fsm.cpp index bc52f395a0..407bde1ff0 100644 --- a/src/software/ai/hl/stp/tactic/shadow_enemy/shadow_enemy_fsm.cpp +++ b/src/software/ai/hl/stp/tactic/shadow_enemy/shadow_enemy_fsm.cpp @@ -102,13 +102,11 @@ void ShadowEnemyFSM::blockShot(const Update &event, MoveFSM::ControlParams control_params{ .destination = position_to_block, .final_orientation = face_ball_orientation, - .final_speed = 0.0, .dribbler_mode = TbotsProto::DribblerMode::OFF, .ball_collision_type = TbotsProto::BallCollisionType::AVOID, .auto_chip_or_kick = AutoChipOrKick{AutoChipOrKickMode::OFF, 0}, .max_allowed_speed_mode = TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, - .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE, - .target_spin_rev_per_s = 0.0}; + .obstacle_avoidance_mode = TbotsProto::ObstacleAvoidanceMode::AGGRESSIVE}; processEvent(MoveFSM::Update(control_params, event.common)); } diff --git a/src/software/ai/hl/stp/tactic/tactic_factory.cpp b/src/software/ai/hl/stp/tactic/tactic_factory.cpp index e7e9957c92..2235be2176 100644 --- a/src/software/ai/hl/stp/tactic/tactic_factory.cpp +++ b/src/software/ai/hl/stp/tactic/tactic_factory.cpp @@ -141,11 +141,10 @@ std::shared_ptr createTactic(const TbotsProto::MoveTactic &tactic_proto, auto tactic = std::make_shared(); tactic->updateControlParams( createPoint(tactic_proto.destination()), - createAngle(tactic_proto.final_orientation()), tactic_proto.final_speed(), - tactic_proto.dribbler_mode(), tactic_proto.ball_collision_type(), + createAngle(tactic_proto.final_orientation()), tactic_proto.dribbler_mode(), + tactic_proto.ball_collision_type(), createAutoChipOrKick(tactic_proto.auto_chip_or_kick()), - tactic_proto.max_allowed_speed_mode(), tactic_proto.obstacle_avoidance_mode(), - tactic_proto.target_spin_rev_per_s()); + tactic_proto.max_allowed_speed_mode(), tactic_proto.obstacle_avoidance_mode()); return tactic; } diff --git a/src/software/ai/navigator/trajectory/simulated_hrvo_test.py b/src/software/ai/navigator/trajectory/simulated_hrvo_test.py index 02af4fa0da..cc5dc5d911 100644 --- a/src/software/ai/navigator/trajectory/simulated_hrvo_test.py +++ b/src/software/ai/navigator/trajectory/simulated_hrvo_test.py @@ -206,7 +206,6 @@ def hrvo_setup( if friendly_robots_final_orientations else desired_orientation ), - 0, params=blue_params, ) @@ -217,7 +216,7 @@ def hrvo_setup( for index, destination in enumerate(enemy_robots_destinations): yellow_params = get_move_update_control_params( - index, destination, tbots.Angle.fromRadians(0), 0, params=yellow_params + index, destination, tbots.Angle.fromRadians(0), params=yellow_params ) simulated_test_runner.set_tactics(yellow_params, False) @@ -541,7 +540,6 @@ def get_move_update_control_params( robot_id: int, destination: tbots.Point, desired_orientation: tbots.Angle, - final_speed: float, params: AssignedTacticPlayControlParams = None, ): """Constructs the control params for a Move Tactic for a single robot @@ -551,7 +549,6 @@ def get_move_update_control_params( :param robot_id: the id of the robot who will be assigned these params :param destination: the destination of the robot :param desired_orientation: the desired orientation of the robot - :param final_speed: the final speed of the robot :param params: AssignedTacticPlayControlParams message if not None, add this robot's params to this else, create a new message and add @@ -562,12 +559,10 @@ def get_move_update_control_params( MoveTactic( destination=Point(x_meters=destination.x(), y_meters=destination.y()), final_orientation=Angle(radians=desired_orientation.toRadians()), - final_speed=final_speed, dribbler_mode=DribblerMode.OFF, ball_collision_type=BallCollisionType.ALLOW, auto_chip_or_kick=AutoChipOrKick(autokick_speed_m_per_s=0.0), max_allowed_speed_mode=MaxAllowedSpeedMode.PHYSICAL_LIMIT, - target_spin_rev_per_s=0.0, obstacle_avoidance_mode=ObstacleAvoidanceMode.AGGRESSIVE, ) ) diff --git a/src/software/field_tests/movement_robot_field_test.py b/src/software/field_tests/movement_robot_field_test.py index 49e43b3254..9b31801c8e 100644 --- a/src/software/field_tests/movement_robot_field_test.py +++ b/src/software/field_tests/movement_robot_field_test.py @@ -26,14 +26,12 @@ # # move_tactic = MoveTactic() # move_tactic.destination.CopyFrom(rob_pos_p) -# move_tactic.final_speed = 0.0 # move_tactic.dribbler_mode = DribblerMode.OFF # move_tactic.final_orientation.CopyFrom(Angle(radians=angle)) # move_tactic.ball_collision_type = BallCollisionType.AVOID # move_tactic.auto_chip_or_kick.CopyFrom(AutoChipOrKick(autokick_speed_m_per_s=0.0)) # move_tactic.max_allowed_speed_mode = MaxAllowedSpeedMode.PHYSICAL_LIMIT # move_tactic.obstacle_avoidance_mode = ObstacleAvoidanceMode.SAFE -# move_tactic.target_spin_rev_per_s = 0.0 # # # setup world state # initial_worldstate = create_world_state( @@ -95,7 +93,6 @@ def test_basic_rotation(field_test_runner): for angle in test_angles: move_tactic = MoveTactic() move_tactic.destination.CopyFrom(rob_pos_p) - move_tactic.final_speed = 0.0 move_tactic.dribbler_mode = DribblerMode.OFF move_tactic.final_orientation.CopyFrom(Angle(radians=angle)) move_tactic.ball_collision_type = BallCollisionType.AVOID @@ -104,7 +101,6 @@ def test_basic_rotation(field_test_runner): ) move_tactic.max_allowed_speed_mode = MaxAllowedSpeedMode.PHYSICAL_LIMIT move_tactic.obstacle_avoidance_mode = ObstacleAvoidanceMode.SAFE - move_tactic.target_spin_rev_per_s = 0.0 # Setup Tactic params = AssignedTacticPlayControlParams() @@ -153,47 +149,39 @@ def test_one_robots_square(field_test_runner): tactic_0 = MoveTactic( destination=point1, - final_speed=0.0, dribbler_mode=DribblerMode.OFF, final_orientation=Angle(radians=-math.pi / 2), ball_collision_type=BallCollisionType.AVOID, auto_chip_or_kick=AutoChipOrKick(autokick_speed_m_per_s=0.0), max_allowed_speed_mode=MaxAllowedSpeedMode.PHYSICAL_LIMIT, obstacle_avoidance_mode=ObstacleAvoidanceMode.SAFE, - target_spin_rev_per_s=0.0, ) tactic_1 = MoveTactic( destination=point2, - final_speed=0.0, dribbler_mode=DribblerMode.OFF, final_orientation=Angle(radians=-math.pi / 2), ball_collision_type=BallCollisionType.AVOID, auto_chip_or_kick=AutoChipOrKick(autokick_speed_m_per_s=0.0), max_allowed_speed_mode=MaxAllowedSpeedMode.PHYSICAL_LIMIT, obstacle_avoidance_mode=ObstacleAvoidanceMode.SAFE, - target_spin_rev_per_s=0.0, ) tactic_2 = MoveTactic( destination=point3, - final_speed=0.0, dribbler_mode=DribblerMode.OFF, final_orientation=Angle(radians=-math.pi / 2), ball_collision_type=BallCollisionType.AVOID, auto_chip_or_kick=AutoChipOrKick(autokick_speed_m_per_s=0.0), max_allowed_speed_mode=MaxAllowedSpeedMode.PHYSICAL_LIMIT, obstacle_avoidance_mode=ObstacleAvoidanceMode.SAFE, - target_spin_rev_per_s=0.0, ) tactic_3 = MoveTactic( destination=point4, - final_speed=0.0, dribbler_mode=DribblerMode.OFF, final_orientation=Angle(radians=-math.pi / 2), ball_collision_type=BallCollisionType.AVOID, auto_chip_or_kick=AutoChipOrKick(autokick_speed_m_per_s=0.0), max_allowed_speed_mode=MaxAllowedSpeedMode.PHYSICAL_LIMIT, obstacle_avoidance_mode=ObstacleAvoidanceMode.SAFE, - target_spin_rev_per_s=0.0, ) tactics = [tactic_0, tactic_1, tactic_2, tactic_3] From 1ac03508daa62c11af00816228ea358b0ddb91e7 Mon Sep 17 00:00:00 2001 From: William Ha <60044853+williamckha@users.noreply.github.com> Date: Fri, 11 Oct 2024 21:30:01 -0700 Subject: [PATCH 08/14] Update deprecated GitHub actions and fix upload artifacts for simulated tests (#3331) * Update deprecated GitHub actions and fix action/upload-artifacts for sim tests * Update paths to sim test proto logs --- .github/workflows/main.yml | 26 +++++++++++++------------- .github/workflows/pre-commit.yml | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3e0758ddcb..10dda84192 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-22.04 steps: # checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Environment Setup run: | @@ -47,7 +47,7 @@ jobs: runs-on: ubuntu-20.04 steps: # checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Environment Setup run: | @@ -68,7 +68,7 @@ jobs: runs-on: ubuntu-20.04 steps: # checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Environment Setup run: | @@ -102,7 +102,7 @@ jobs: runs-on: ubuntu-20.04 steps: # checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Environment Setup run: | @@ -120,27 +120,27 @@ jobs: - name: Upload simulated test proto logs # Ensure that simulated test logs get uploaded if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: blue-ai-proto-logs + name: blue-sim-test-proto-logs path: | - /tmp/tbots/blue/logs + /tmp/tbots/blue/test/*/proto_* - name: Upload simulated test proto logs # Ensure that simulated test logs get uploaded if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: yellow-ai-proto-logs + name: yellow-sim-test-proto-logs path: | - /tmp/tbots/yellow/logs + /tmp/tbots/yellow/test/*/proto_* autorefd-game: name: AutoRef'd Game (3 Minutes) runs-on: ubuntu-20.04 steps: # checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Environment Setup run: | @@ -154,7 +154,7 @@ jobs: - name: Upload AI vs AI logs # Ensure that simulated test logs get uploaded if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: blue-ai-vs-ai-proto-logs path: | @@ -163,7 +163,7 @@ jobs: - name: Upload AI vs AI logs # Ensure that simulated test logs get uploaded if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: yellow-ai-vs-ai-proto-logs path: | diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index fc14faa4db..bcffc1dc83 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -18,7 +18,7 @@ jobs: if: github.event.pull_request.draft == false steps: # checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Environment Setup run: | From 3674f1d1fe3619d3905b10cf60c80f583df22a90 Mon Sep 17 00:00:00 2001 From: Daniel Liang <74940473+someone2060@users.noreply.github.com> Date: Sat, 12 Oct 2024 13:01:35 -0700 Subject: [PATCH 09/14] Rename all instances of stop tactic to halt tactic (#3339) * Refactor `StopTactic` to `HaltTactic`, refactoring variables where necessary Files still need to be refactored, which will be done in the next commit * Rename `stop_tactic.cpp` and `stop_tactic.h` to `halt_tactic.cpp` and `halt_tactic.h`, renaming variables and strings where necessary Variables and strings renamed for consistency and to allow tests to successfully run * Rename `stop_tactic_test.cpp` to `halt_tactic_test.cpp` * Rename `stop_fsm` and `stop_fsm_test` to `halt_fsm` and `halt_fsm_test`, renaming where necessary * Rename `tactic/stop` folder to `tactic/halt`, renaming addresses where necessary * [pre-commit.ci lite] apply automatic fixes * Small consistency improvements * Small consistency improvements --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- docs/fsm-diagrams.md | 30 +++++------ src/proto/tactic.proto | 4 +- src/software/ai/hl/stp/play/BUILD | 8 +-- .../ai/hl/stp/play/enemy_free_kick/BUILD | 2 +- src/software/ai/hl/stp/play/halt_play.cpp | 18 +++---- .../play/penalty_kick/penalty_kick_play_fsm.h | 2 +- src/software/ai/hl/stp/play/play.cpp | 10 ++-- src/software/ai/hl/stp/play/play.h | 4 +- .../ai/hl/stp/play/shoot_or_chip_play.cpp | 2 +- src/software/ai/hl/stp/play/test_plays/BUILD | 2 +- .../hl/stp/play/test_plays/halt_test_play.cpp | 10 ++-- .../ai/hl/stp/stp_tactic_assignment_test.cpp | 50 +++++++++---------- src/software/ai/hl/stp/stp_test.cpp | 2 +- src/software/ai/hl/stp/tactic/BUILD | 2 +- src/software/ai/hl/stp/tactic/all_tactics.h | 2 +- .../ai/hl/stp/tactic/{stop => halt}/BUILD | 22 ++++---- .../ai/hl/stp/tactic/halt/halt_fsm.cpp | 11 ++++ .../{stop/stop_fsm.h => halt/halt_fsm.h} | 14 +++--- .../halt_fsm_test.cpp} | 16 +++--- .../ai/hl/stp/tactic/halt/halt_tactic.cpp | 26 ++++++++++ .../stop_tactic.h => halt/halt_tactic.h} | 12 ++--- .../halt_tactic_test.cpp} | 12 ++--- .../ai/hl/stp/tactic/stop/stop_fsm.cpp | 11 ---- .../ai/hl/stp/tactic/stop/stop_tactic.cpp | 26 ---------- .../ai/hl/stp/tactic/tactic_factory.cpp | 6 +-- .../ai/hl/stp/tactic/tactic_factory.h | 2 +- .../ai/hl/stp/tactic/tactic_visitor.h | 4 +- .../motion_constraint_set_builder_test.cpp | 2 +- .../motion_constraint_visitor.cpp | 2 +- .../motion_constraint_visitor.h | 2 +- .../field_tests/movement_robot_field_test.py | 14 +++--- .../field_tests/passing_field_test.py | 9 ++-- .../field_tests/pivot_kick_field_test.py | 6 +-- 33 files changed, 172 insertions(+), 173 deletions(-) rename src/software/ai/hl/stp/tactic/{stop => halt}/BUILD (68%) create mode 100644 src/software/ai/hl/stp/tactic/halt/halt_fsm.cpp rename src/software/ai/hl/stp/tactic/{stop/stop_fsm.h => halt/halt_fsm.h} (81%) rename src/software/ai/hl/stp/tactic/{stop/stop_fsm_test.cpp => halt/halt_fsm_test.cpp} (71%) create mode 100644 src/software/ai/hl/stp/tactic/halt/halt_tactic.cpp rename src/software/ai/hl/stp/tactic/{stop/stop_tactic.h => halt/halt_tactic.h} (56%) rename src/software/ai/hl/stp/tactic/{stop/stop_tactic_test.cpp => halt/halt_tactic_test.cpp} (88%) delete mode 100644 src/software/ai/hl/stp/tactic/stop/stop_fsm.cpp delete mode 100644 src/software/ai/hl/stp/tactic/stop/stop_tactic.cpp diff --git a/docs/fsm-diagrams.md b/docs/fsm-diagrams.md index be8fd153c5..7dbe3e5538 100644 --- a/docs/fsm-diagrams.md +++ b/docs/fsm-diagrams.md @@ -314,6 +314,21 @@ Terminate:::terminate --> Terminate:::terminate ``` +## [HaltFSM](/src/software/ai/hl/stp/tactic/halt/halt_fsm.h) + +```mermaid + +stateDiagram-v2 +classDef terminate fill:white,color:black,font-weight:bold +direction LR +[*] --> StopState +StopState --> StopState : [!stopDone]\nupdateStop +StopState --> Terminate:::terminate : [stopDone]\nupdateStop +Terminate:::terminate --> StopState : [!stopDone]\nupdateStop +Terminate:::terminate --> Terminate:::terminate : [stopDone]\nupdateStop + +``` + ## [KickFSM](/src/software/ai/hl/stp/tactic/kick/kick_fsm.h) ```mermaid @@ -441,18 +456,3 @@ Terminate:::terminate --> Terminate:::terminate : SET_STOP_PRIMITIVE_ACTION StopState -StopState --> StopState : [!stopDone]\nupdateStop -StopState --> Terminate:::terminate : [stopDone]\nupdateStop -Terminate:::terminate --> StopState : [!stopDone]\nupdateStop -Terminate:::terminate --> Terminate:::terminate : [stopDone]\nupdateStop - -``` - diff --git a/src/proto/tactic.proto b/src/proto/tactic.proto index 43c938a7e7..afc537c1b4 100644 --- a/src/proto/tactic.proto +++ b/src/proto/tactic.proto @@ -28,7 +28,7 @@ message Tactic PivotKickTactic pivot_kick = 11; ReceiverTactic receiver = 12; ShadowEnemyTactic shadow_enemy = 13; - StopTactic stop = 14; + HaltTactic halt = 14; PassDefenderTactic pass_defender = 15; } } @@ -176,4 +176,4 @@ message ShadowEnemyTactic required double shadow_distance = 2; } -message StopTactic {} +message HaltTactic {} diff --git a/src/software/ai/hl/stp/play/BUILD b/src/software/ai/hl/stp/play/BUILD index d44cc02421..6074c57c7d 100644 --- a/src/software/ai/hl/stp/play/BUILD +++ b/src/software/ai/hl/stp/play/BUILD @@ -27,7 +27,7 @@ cc_library( deps = [ ":play", "//shared:constants", - "//software/ai/hl/stp/tactic/stop:stop_tactic", + "//software/ai/hl/stp/tactic/halt:halt_tactic", "//software/logger", "//software/util/generic_factory", ], @@ -82,9 +82,9 @@ cc_library( "//software/ai/hl/stp/tactic/attacker:attacker_tactic", "//software/ai/hl/stp/tactic/crease_defender:crease_defender_tactic", "//software/ai/hl/stp/tactic/goalie:goalie_tactic", + "//software/ai/hl/stp/tactic/halt:halt_tactic", "//software/ai/hl/stp/tactic/move:move_tactic", "//software/ai/hl/stp/tactic/shadow_enemy:shadow_enemy_tactic", - "//software/ai/hl/stp/tactic/stop:stop_tactic", "//software/logger", "//software/util/generic_factory", "//software/world:game_state", @@ -119,7 +119,7 @@ cc_library( deps = [ "//software/ai/hl/stp/tactic", "//software/ai/hl/stp/tactic/goalie:goalie_tactic", - "//software/ai/hl/stp/tactic/stop:stop_tactic", + "//software/ai/hl/stp/tactic/halt:halt_tactic", "//software/ai/motion_constraint:motion_constraint_set_builder", "//software/ai/navigator/trajectory:trajectory_planner", "//software/ai/passing:pass_with_rating", @@ -303,7 +303,7 @@ cc_library( deps = [ ":play", "//shared:constants", - "//software/ai/hl/stp/tactic/stop:stop_tactic", + "//software/ai/hl/stp/tactic/halt:halt_tactic", "//software/logger", "//software/util/generic_factory", ], diff --git a/src/software/ai/hl/stp/play/enemy_free_kick/BUILD b/src/software/ai/hl/stp/play/enemy_free_kick/BUILD index 061e8c5e84..552211c67d 100644 --- a/src/software/ai/hl/stp/play/enemy_free_kick/BUILD +++ b/src/software/ai/hl/stp/play/enemy_free_kick/BUILD @@ -24,9 +24,9 @@ cc_library( "//software/ai/hl/stp/play/defense:defense_play_base", "//software/ai/hl/stp/tactic/crease_defender:crease_defender_tactic", "//software/ai/hl/stp/tactic/goalie:goalie_tactic", + "//software/ai/hl/stp/tactic/halt:halt_tactic", "//software/ai/hl/stp/tactic/move:move_tactic", "//software/ai/hl/stp/tactic/pass_defender:pass_defender_tactic", - "//software/ai/hl/stp/tactic/stop:stop_tactic", "//software/logger", "//software/util/generic_factory", "//software/world:game_state", diff --git a/src/software/ai/hl/stp/play/halt_play.cpp b/src/software/ai/hl/stp/play/halt_play.cpp index 009332c535..0aa2e8ad87 100644 --- a/src/software/ai/hl/stp/play/halt_play.cpp +++ b/src/software/ai/hl/stp/play/halt_play.cpp @@ -1,6 +1,6 @@ #include "software/ai/hl/stp/play/halt_play.h" -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" #include "software/util/generic_factory/generic_factory.h" HaltPlay::HaltPlay(TbotsProto::AiConfig config) : Play(config, false) {} @@ -8,18 +8,18 @@ HaltPlay::HaltPlay(TbotsProto::AiConfig config) : Play(config, false) {} void HaltPlay::getNextTactics(TacticCoroutine::push_type &yield, const WorldPtr &world_ptr) { - auto stop_tactic_1 = std::make_shared(); - auto stop_tactic_2 = std::make_shared(); - auto stop_tactic_3 = std::make_shared(); - auto stop_tactic_4 = std::make_shared(); - auto stop_tactic_5 = std::make_shared(); - auto stop_tactic_6 = std::make_shared(); + auto halt_tactic_1 = std::make_shared(); + auto halt_tactic_2 = std::make_shared(); + auto halt_tactic_3 = std::make_shared(); + auto halt_tactic_4 = std::make_shared(); + auto halt_tactic_5 = std::make_shared(); + auto halt_tactic_6 = std::make_shared(); do { // yield the Tactics this Play wants to run, in order of priority - yield({{stop_tactic_1, stop_tactic_2, stop_tactic_3, stop_tactic_4, stop_tactic_5, - stop_tactic_6}}); + yield({{halt_tactic_1, halt_tactic_2, halt_tactic_3, halt_tactic_4, halt_tactic_5, + halt_tactic_6}}); } while (true); } diff --git a/src/software/ai/hl/stp/play/penalty_kick/penalty_kick_play_fsm.h b/src/software/ai/hl/stp/play/penalty_kick/penalty_kick_play_fsm.h index d6733c55b6..5fe8a5481c 100644 --- a/src/software/ai/hl/stp/play/penalty_kick/penalty_kick_play_fsm.h +++ b/src/software/ai/hl/stp/play/penalty_kick/penalty_kick_play_fsm.h @@ -3,9 +3,9 @@ #include "proto/parameters.pb.h" #include "shared/constants.h" #include "software/ai/hl/stp/play/play_fsm.h" +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" #include "software/ai/hl/stp/tactic/move/move_tactic.h" #include "software/ai/hl/stp/tactic/penalty_kick/penalty_kick_tactic.h" -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" #include "software/logger/logger.h" diff --git a/src/software/ai/hl/stp/play/play.cpp b/src/software/ai/hl/stp/play/play.cpp index 85cc5755be..dd317da133 100644 --- a/src/software/ai/hl/stp/play/play.cpp +++ b/src/software/ai/hl/stp/play/play.cpp @@ -5,7 +5,7 @@ #include #include "proto/message_translation/tbots_protobuf.h" -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" #include "software/ai/motion_constraint/motion_constraint_set_builder.h" #include "software/logger/logger.h" @@ -13,7 +13,7 @@ Play::Play(TbotsProto::AiConfig ai_config, bool requires_goalie) : ai_config(ai_config), goalie_tactic(std::make_shared(ai_config)), - stop_tactics(), + halt_tactics(), requires_goalie(requires_goalie), tactic_sequence(boost::bind(&Play::getNextTacticsWrapper, this, _1)), world_ptr_(std::nullopt), @@ -21,7 +21,7 @@ Play::Play(TbotsProto::AiConfig ai_config, bool requires_goalie) { for (unsigned int i = 0; i < MAX_ROBOT_IDS; i++) { - stop_tactics.push_back(std::make_shared()); + halt_tactics.push_back(std::make_shared()); } } @@ -189,10 +189,10 @@ std::unique_ptr Play::get( else if (i == (priority_tactics.size() - 1)) { // If assigning the last tactic vector, then assign rest of robots with - // StopTactics + // HaltTactics for (unsigned int ii = 0; ii < (robots.size() - num_tactics); ii++) { - tactic_vector.push_back(stop_tactics[ii]); + tactic_vector.push_back(halt_tactics[ii]); } } diff --git a/src/software/ai/hl/stp/play/play.h b/src/software/ai/hl/stp/play/play.h index 1a87f6934c..cad46f0206 100644 --- a/src/software/ai/hl/stp/play/play.h +++ b/src/software/ai/hl/stp/play/play.h @@ -170,8 +170,8 @@ class Play virtual void getNextTactics(TacticCoroutine::push_type& yield, const WorldPtr& world_ptr) = 0; - // Stop tactic common to all plays for robots that don't have tactics assigned - TacticVector stop_tactics; + // HaltTactics common to all plays for robots that don't have tactics assigned + TacticVector halt_tactics; // Whether this play requires a goalie const bool requires_goalie; diff --git a/src/software/ai/hl/stp/play/shoot_or_chip_play.cpp b/src/software/ai/hl/stp/play/shoot_or_chip_play.cpp index e24bfff530..891574bff4 100644 --- a/src/software/ai/hl/stp/play/shoot_or_chip_play.cpp +++ b/src/software/ai/hl/stp/play/shoot_or_chip_play.cpp @@ -7,9 +7,9 @@ #include "software/ai/evaluation/possession.h" #include "software/ai/hl/stp/tactic/attacker/attacker_tactic.h" #include "software/ai/hl/stp/tactic/crease_defender/crease_defender_tactic.h" +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" #include "software/ai/hl/stp/tactic/move/move_tactic.h" #include "software/ai/hl/stp/tactic/shadow_enemy/shadow_enemy_tactic.h" -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" #include "software/logger/logger.h" #include "software/util/generic_factory/generic_factory.h" #include "software/world/game_state.h" diff --git a/src/software/ai/hl/stp/play/test_plays/BUILD b/src/software/ai/hl/stp/play/test_plays/BUILD index 5ddb293225..bc08c72b17 100644 --- a/src/software/ai/hl/stp/play/test_plays/BUILD +++ b/src/software/ai/hl/stp/play/test_plays/BUILD @@ -6,7 +6,7 @@ cc_library( hdrs = ["halt_test_play.h"], deps = [ "//software/ai/hl/stp/play", - "//software/ai/hl/stp/tactic/stop:stop_tactic", + "//software/ai/hl/stp/tactic/halt:halt_tactic", "//software/util/generic_factory", ], alwayslink = True, diff --git a/src/software/ai/hl/stp/play/test_plays/halt_test_play.cpp b/src/software/ai/hl/stp/play/test_plays/halt_test_play.cpp index f670f96fb0..95b84e9af0 100644 --- a/src/software/ai/hl/stp/play/test_plays/halt_test_play.cpp +++ b/src/software/ai/hl/stp/play/test_plays/halt_test_play.cpp @@ -1,6 +1,6 @@ #include "software/ai/hl/stp/play/test_plays/halt_test_play.h" -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" #include "software/geom/algorithms/contains.h" #include "software/util/generic_factory/generic_factory.h" @@ -9,13 +9,13 @@ HaltTestPlay::HaltTestPlay(TbotsProto::AiConfig config) : Play(config, false) {} void HaltTestPlay::getNextTactics(TacticCoroutine::push_type &yield, const WorldPtr &world_ptr) { - auto stop_test_tactic_1 = std::make_shared(); - auto stop_test_tactic_2 = std::make_shared(); - auto stop_test_tactic_3 = std::make_shared(); + auto halt_test_tactic_1 = std::make_shared(); + auto halt_test_tactic_2 = std::make_shared(); + auto halt_test_tactic_3 = std::make_shared(); do { - yield({{stop_test_tactic_1, stop_test_tactic_2, stop_test_tactic_3}}); + yield({{halt_test_tactic_1, halt_test_tactic_2, halt_test_tactic_3}}); } while (true); } diff --git a/src/software/ai/hl/stp/stp_tactic_assignment_test.cpp b/src/software/ai/hl/stp/stp_tactic_assignment_test.cpp index 728f01d4da..2fc875b098 100644 --- a/src/software/ai/hl/stp/stp_tactic_assignment_test.cpp +++ b/src/software/ai/hl/stp/stp_tactic_assignment_test.cpp @@ -6,7 +6,7 @@ #include "software/ai/hl/stp/play/halt_play.h" #include "software/ai/hl/stp/stp.h" #include "software/ai/hl/stp/tactic/all_tactics.h" -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" #include "software/test_util/test_util.h" /** @@ -160,12 +160,12 @@ TEST_F(STPTacticAssignmentTest, world.updateFriendlyTeamState(friendly_team); auto move_tactic_1 = std::make_shared(); - auto stop_tactic_1 = std::make_shared(); + auto halt_tactic_1 = std::make_shared(); move_tactic_1->updateControlParams(Point(-1, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); - ConstTacticVector tactics = {move_tactic_1, stop_tactic_1}; + ConstTacticVector tactics = {move_tactic_1, halt_tactic_1}; // Both robots are now closest to move_tactic_1's destination. We do NOT want // robot_0 to be assigned to move_tactic_1, because then robot_1 has to move all the @@ -175,11 +175,11 @@ TEST_F(STPTacticAssignmentTest, auto asst = stp.assignRobotsToTactics({tactics}, world, false); - // move_tactic_1 should be the only Tactic assigned a robot, since stop_tactic_1 is a + // move_tactic_1 should be the only Tactic assigned a robot, since halt_tactic_1 is a // lower priority than move_tactic_1 so it should be dropped since there's only 1 // robot EXPECT_TRUE(asst.find(move_tactic_1) != asst.end()); - EXPECT_FALSE(asst.find(stop_tactic_1) != asst.end()); + EXPECT_FALSE(asst.find(halt_tactic_1) != asst.end()); } @@ -329,21 +329,21 @@ TEST_F(STPTacticAssignmentTest, friendly_team.updateRobots({robot_0, robot_1, robot_2}); world.updateFriendlyTeamState(friendly_team); - auto stop_tactic_1 = std::make_shared(); - auto stop_tactic_2 = std::make_shared(); - auto stop_tactic_3 = std::make_shared(); + auto halt_tactic_1 = std::make_shared(); + auto halt_tactic_2 = std::make_shared(); + auto halt_tactic_3 = std::make_shared(); - ConstTacticVector tactics = {stop_tactic_1, stop_tactic_2, stop_tactic_3}; + ConstTacticVector tactics = {halt_tactic_1, halt_tactic_2, halt_tactic_3}; // If all costs are equal, the robots and tactics are simply paired in order auto asst = stp.assignRobotsToTactics({tactics}, world, false); - ASSERT_TRUE(asst.find(stop_tactic_1) != asst.end()); - ASSERT_TRUE(asst.find(stop_tactic_2) != asst.end()); - ASSERT_TRUE(asst.find(stop_tactic_3) != asst.end()); - EXPECT_EQ(asst.find(stop_tactic_1)->second, robot_0); - EXPECT_EQ(asst.find(stop_tactic_2)->second, robot_1); - EXPECT_EQ(asst.find(stop_tactic_3)->second, robot_2); + ASSERT_TRUE(asst.find(halt_tactic_1) != asst.end()); + ASSERT_TRUE(asst.find(halt_tactic_2) != asst.end()); + ASSERT_TRUE(asst.find(halt_tactic_3) != asst.end()); + EXPECT_EQ(asst.find(halt_tactic_1)->second, robot_0); + EXPECT_EQ(asst.find(halt_tactic_2)->second, robot_1); + EXPECT_EQ(asst.find(halt_tactic_3)->second, robot_2); } TEST_F(STPTacticAssignmentTest, @@ -359,26 +359,26 @@ TEST_F(STPTacticAssignmentTest, friendly_team.updateRobots({robot_0, robot_1, robot_2}); world.updateFriendlyTeamState(friendly_team); - auto stop_tactic_1 = std::make_shared(); + auto halt_tactic_1 = std::make_shared(); auto move_tactic_1 = std::make_shared(); - auto stop_tactic_2 = std::make_shared(); + auto halt_tactic_2 = std::make_shared(); // The destination of the move_tactic is relatively close to the robot positions, so // the cost of assigning any robot to the move_tactic should be less than the - // stop_tactics + // halt_tactics move_tactic_1->updateControlParams(Point(0, 0), Angle::zero(), TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT); - ConstTacticVector tactics = {stop_tactic_1, move_tactic_1, stop_tactic_2}; + ConstTacticVector tactics = {halt_tactic_1, move_tactic_1, halt_tactic_2}; auto asst = stp.assignRobotsToTactics({tactics}, world, false); - ASSERT_TRUE(asst.find(stop_tactic_1) != asst.end()); + ASSERT_TRUE(asst.find(halt_tactic_1) != asst.end()); ASSERT_TRUE(asst.find(move_tactic_1) != asst.end()); - ASSERT_TRUE(asst.find(stop_tactic_2) != asst.end()); - EXPECT_EQ(asst.find(stop_tactic_1)->second, robot_2); + ASSERT_TRUE(asst.find(halt_tactic_2) != asst.end()); + EXPECT_EQ(asst.find(halt_tactic_1)->second, robot_2); EXPECT_EQ(asst.find(move_tactic_1)->second, robot_0); - EXPECT_EQ(asst.find(stop_tactic_2)->second, robot_1); + EXPECT_EQ(asst.find(halt_tactic_2)->second, robot_1); } TEST_F(STPTacticAssignmentTest, @@ -450,9 +450,9 @@ TEST_F(STPTacticAssignmentTest, } TEST_F(STPTacticAssignmentTest, - test_assigning_stop_tactics_to_unassigned_non_goalie_robots) + test_assigning_halt_tactics_to_unassigned_non_goalie_robots) { - // Test that StopTactic is assigned to remaining robots without tactics + // Test that HaltTactic is assigned to remaining robots without tactics Team friendly_team(Duration::fromSeconds(0)); Robot robot_0(0, Point(-1, 1), Vector(), Angle::zero(), AngularVelocity::zero(), diff --git a/src/software/ai/hl/stp/stp_test.cpp b/src/software/ai/hl/stp/stp_test.cpp index 4026521735..0cdf72e706 100644 --- a/src/software/ai/hl/stp/stp_test.cpp +++ b/src/software/ai/hl/stp/stp_test.cpp @@ -42,7 +42,7 @@ TEST_F(STPTest, test_get_play_info) std::string expected_play_name, expected_tactic_name; expected_play_name = "HaltPlay"; - expected_tactic_name = "StopTactic"; + expected_tactic_name = "HaltTactic"; TbotsProto::PlayInfo expected_play_info_msg = TbotsProto::PlayInfo(); expected_play_info_msg.mutable_play()->set_play_name(expected_play_name); diff --git a/src/software/ai/hl/stp/tactic/BUILD b/src/software/ai/hl/stp/tactic/BUILD index 5baefe0328..505da40cd1 100644 --- a/src/software/ai/hl/stp/tactic/BUILD +++ b/src/software/ai/hl/stp/tactic/BUILD @@ -21,6 +21,7 @@ cc_library( "//software/ai/hl/stp/tactic/dribble:dribble_tactic", "//software/ai/hl/stp/tactic/get_behind_ball:get_behind_ball_tactic", "//software/ai/hl/stp/tactic/goalie:goalie_tactic", + "//software/ai/hl/stp/tactic/halt:halt_tactic", "//software/ai/hl/stp/tactic/kick:kick_tactic", "//software/ai/hl/stp/tactic/move:move_tactic", "//software/ai/hl/stp/tactic/pass_defender:pass_defender_tactic", @@ -28,7 +29,6 @@ cc_library( "//software/ai/hl/stp/tactic/pivot_kick:pivot_kick_tactic", "//software/ai/hl/stp/tactic/receiver:receiver_tactic", "//software/ai/hl/stp/tactic/shadow_enemy:shadow_enemy_tactic", - "//software/ai/hl/stp/tactic/stop:stop_tactic", ], ) diff --git a/src/software/ai/hl/stp/tactic/all_tactics.h b/src/software/ai/hl/stp/tactic/all_tactics.h index 46b0df0f0c..9ca1d50a4e 100644 --- a/src/software/ai/hl/stp/tactic/all_tactics.h +++ b/src/software/ai/hl/stp/tactic/all_tactics.h @@ -6,6 +6,7 @@ #include "software/ai/hl/stp/tactic/dribble/dribble_tactic.h" #include "software/ai/hl/stp/tactic/get_behind_ball/get_behind_ball_tactic.h" #include "software/ai/hl/stp/tactic/goalie/goalie_tactic.h" +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" #include "software/ai/hl/stp/tactic/kick/kick_tactic.h" #include "software/ai/hl/stp/tactic/move/move_tactic.h" #include "software/ai/hl/stp/tactic/pass_defender/pass_defender_tactic.h" @@ -13,5 +14,4 @@ #include "software/ai/hl/stp/tactic/pivot_kick/pivot_kick_tactic.h" #include "software/ai/hl/stp/tactic/receiver/receiver_tactic.h" #include "software/ai/hl/stp/tactic/shadow_enemy/shadow_enemy_tactic.h" -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" #include "software/ai/hl/stp/tactic/tactic.h" diff --git a/src/software/ai/hl/stp/tactic/stop/BUILD b/src/software/ai/hl/stp/tactic/halt/BUILD similarity index 68% rename from src/software/ai/hl/stp/tactic/stop/BUILD rename to src/software/ai/hl/stp/tactic/halt/BUILD index d9a730d949..266edf3f11 100644 --- a/src/software/ai/hl/stp/tactic/stop/BUILD +++ b/src/software/ai/hl/stp/tactic/halt/BUILD @@ -1,14 +1,14 @@ package(default_visibility = ["//visibility:public"]) cc_library( - name = "stop_tactic", + name = "halt_tactic", srcs = [ - "stop_fsm.cpp", - "stop_tactic.cpp", + "halt_fsm.cpp", + "halt_tactic.cpp", ], hdrs = [ - "stop_fsm.h", - "stop_tactic.h", + "halt_fsm.h", + "halt_tactic.h", ], deps = [ "//shared:constants", @@ -18,20 +18,20 @@ cc_library( ) cc_test( - name = "stop_fsm_test", - srcs = ["stop_fsm_test.cpp"], + name = "halt_fsm_test", + srcs = ["halt_fsm_test.cpp"], deps = [ - ":stop_tactic", + ":halt_tactic", "//shared/test_util:tbots_gtest_main", "//software/test_util", ], ) cc_test( - name = "stop_tactic_test", - srcs = ["stop_tactic_test.cpp"], + name = "halt_tactic_test", + srcs = ["halt_tactic_test.cpp"], deps = [ - ":stop_tactic", + ":halt_tactic", "//shared/test_util:tbots_gtest_main", "//software/simulated_tests:simulated_er_force_sim_play_test_fixture", "//software/simulated_tests/terminating_validation_functions", diff --git a/src/software/ai/hl/stp/tactic/halt/halt_fsm.cpp b/src/software/ai/hl/stp/tactic/halt/halt_fsm.cpp new file mode 100644 index 0000000000..c8ca316eb3 --- /dev/null +++ b/src/software/ai/hl/stp/tactic/halt/halt_fsm.cpp @@ -0,0 +1,11 @@ +#include "software/ai/hl/stp/tactic/halt/halt_fsm.h" + +void HaltFSM::updateStop(const Update& event) +{ + event.common.set_primitive(std::make_unique()); +} + +bool HaltFSM::stopDone(const Update& event) +{ + return robotStopped(event.common.robot); +} diff --git a/src/software/ai/hl/stp/tactic/stop/stop_fsm.h b/src/software/ai/hl/stp/tactic/halt/halt_fsm.h similarity index 81% rename from src/software/ai/hl/stp/tactic/stop/stop_fsm.h rename to src/software/ai/hl/stp/tactic/halt/halt_fsm.h index d5c35ad38d..dae78c1112 100644 --- a/src/software/ai/hl/stp/tactic/stop/stop_fsm.h +++ b/src/software/ai/hl/stp/tactic/halt/halt_fsm.h @@ -2,7 +2,7 @@ #include "software/ai/hl/stp/tactic/tactic.h" -struct StopFSM +struct HaltFSM { public: class StopState; @@ -14,23 +14,23 @@ struct StopFSM DEFINE_TACTIC_UPDATE_STRUCT_WITH_CONTROL_AND_COMMON_PARAMS /** - * Constructor for StopFSM struct + * Constructor for HaltFSM struct */ - explicit StopFSM() {} + explicit HaltFSM() {} /** * Action to set the StopPrimitive * - * @param event StopFSM::Update + * @param event HaltFSM::Update */ void updateStop(const Update& event); /** - * Guard if the stop is done + * Guard if the halt is done * - * @param event StopFSM::Update + * @param event HaltFSM::Update * - * @return if the robot has stopped + * @return if the robot has halted */ bool stopDone(const Update& event); diff --git a/src/software/ai/hl/stp/tactic/stop/stop_fsm_test.cpp b/src/software/ai/hl/stp/tactic/halt/halt_fsm_test.cpp similarity index 71% rename from src/software/ai/hl/stp/tactic/stop/stop_fsm_test.cpp rename to src/software/ai/hl/stp/tactic/halt/halt_fsm_test.cpp index d4672ab7ae..849ac30428 100644 --- a/src/software/ai/hl/stp/tactic/stop/stop_fsm_test.cpp +++ b/src/software/ai/hl/stp/tactic/halt/halt_fsm_test.cpp @@ -1,4 +1,4 @@ -#include "software/ai/hl/stp/tactic/stop/stop_fsm.h" +#include "software/ai/hl/stp/tactic/halt/halt_fsm.h" #include @@ -12,22 +12,22 @@ TEST(StopFSMTest, test_transitions) AngularVelocity::zero()), Timestamp::fromSeconds(123)); - FSM fsm{StopFSM()}; - EXPECT_TRUE(fsm.is(boost::sml::state)); - fsm.process_event(StopFSM::Update( + FSM fsm{HaltFSM()}; + EXPECT_TRUE(fsm.is(boost::sml::state)); + fsm.process_event(HaltFSM::Update( {}, TacticUpdate(robot, world, [](std::shared_ptr) {}))); // robot is still moving - EXPECT_TRUE(fsm.is(boost::sml::state)); + EXPECT_TRUE(fsm.is(boost::sml::state)); robot = Robot(0, RobotState(Point(1, -3), Vector(1.1, 2.1), Angle::half(), AngularVelocity::zero()), Timestamp::fromSeconds(123)); - fsm.process_event(StopFSM::Update( + fsm.process_event(HaltFSM::Update( {}, TacticUpdate(robot, world, [](std::shared_ptr) {}))); // robot is still moving - EXPECT_TRUE(fsm.is(boost::sml::state)); + EXPECT_TRUE(fsm.is(boost::sml::state)); robot = TestUtil::createRobotAtPos(Point(1, -3)); - fsm.process_event(StopFSM::Update( + fsm.process_event(HaltFSM::Update( {}, TacticUpdate(robot, world, [](std::shared_ptr) {}))); // robot stopped EXPECT_TRUE(fsm.is(boost::sml::X)); diff --git a/src/software/ai/hl/stp/tactic/halt/halt_tactic.cpp b/src/software/ai/hl/stp/tactic/halt/halt_tactic.cpp new file mode 100644 index 0000000000..49e6e1fe01 --- /dev/null +++ b/src/software/ai/hl/stp/tactic/halt/halt_tactic.cpp @@ -0,0 +1,26 @@ +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" + +#include + +HaltTactic::HaltTactic() : Tactic(std::set()), fsm_map() +{ + for (RobotId id = 0; id < MAX_ROBOT_IDS; id++) + { + fsm_map[id] = std::make_unique>(HaltFSM()); + } +} + +void HaltTactic::accept(TacticVisitor &visitor) const +{ + visitor.visit(*this); +} + +void HaltTactic::updatePrimitive(const TacticUpdate &tactic_update, bool reset_fsm) +{ + if (reset_fsm) + { + fsm_map[tactic_update.robot.id()] = std::make_unique>(HaltFSM()); + } + fsm_map.at(tactic_update.robot.id()) + ->process_event(HaltFSM::Update({}, tactic_update)); +} diff --git a/src/software/ai/hl/stp/tactic/stop/stop_tactic.h b/src/software/ai/hl/stp/tactic/halt/halt_tactic.h similarity index 56% rename from src/software/ai/hl/stp/tactic/stop/stop_tactic.h rename to src/software/ai/hl/stp/tactic/halt/halt_tactic.h index 8cc9486b8d..39bce73916 100644 --- a/src/software/ai/hl/stp/tactic/stop/stop_tactic.h +++ b/src/software/ai/hl/stp/tactic/halt/halt_tactic.h @@ -1,19 +1,19 @@ #pragma once -#include "software/ai/hl/stp/tactic/stop/stop_fsm.h" +#include "software/ai/hl/stp/tactic/halt/halt_fsm.h" #include "software/ai/hl/stp/tactic/tactic.h" /** - * The StopTactic will stop the robot from moving. The robot will actively try and brake + * The HaltTactic will stop the robot from moving. The robot will actively try and brake * to come to a halt. */ -class StopTactic : public Tactic +class HaltTactic : public Tactic { public: /** - * Creates a new StopTactic + * Creates a new HaltTactic */ - explicit StopTactic(); + explicit HaltTactic(); void accept(TacticVisitor& visitor) const override; @@ -22,5 +22,5 @@ class StopTactic : public Tactic private: void updatePrimitive(const TacticUpdate& tactic_update, bool reset_fsm) override; - std::map>> fsm_map; + std::map>> fsm_map; }; diff --git a/src/software/ai/hl/stp/tactic/stop/stop_tactic_test.cpp b/src/software/ai/hl/stp/tactic/halt/halt_tactic_test.cpp similarity index 88% rename from src/software/ai/hl/stp/tactic/stop/stop_tactic_test.cpp rename to src/software/ai/hl/stp/tactic/halt/halt_tactic_test.cpp index 0164465d98..e2867bae07 100644 --- a/src/software/ai/hl/stp/tactic/stop/stop_tactic_test.cpp +++ b/src/software/ai/hl/stp/tactic/halt/halt_tactic_test.cpp @@ -1,4 +1,4 @@ -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" +#include "software/ai/hl/stp/tactic/halt/halt_tactic.h" #include @@ -8,14 +8,14 @@ #include "software/simulated_tests/validation/validation_function.h" #include "software/test_util/test_util.h" -class StopTacticTest : public SimulatedErForceSimPlayTestFixture +class HaltTacticTest : public SimulatedErForceSimPlayTestFixture { protected: TbotsProto::FieldType field_type = TbotsProto::FieldType::DIV_B; Field field = Field::createField(field_type); }; -TEST_F(StopTacticTest, robot_already_stopped) +TEST_F(HaltTacticTest, robot_already_stopped) { BallState ball_state(Point(0, 0.5), Vector(0, 0)); @@ -23,7 +23,7 @@ TEST_F(StopTacticTest, robot_already_stopped) {Point(-3, 2.5), Point()}, {Vector(), Vector()}); auto enemy_robots = TestUtil::createStationaryRobotStatesWithId({Point(4, 0)}); - auto tactic = std::make_shared(); + auto tactic = std::make_shared(); setTactic(1, tactic); std::vector terminating_validation_functions = { @@ -41,7 +41,7 @@ TEST_F(StopTacticTest, robot_already_stopped) Duration::fromSeconds(5)); } -TEST_F(StopTacticTest, robot_start_moving) +TEST_F(HaltTacticTest, robot_start_moving) { BallState ball_state(Point(0, 0.5), Vector(0, 0)); @@ -49,7 +49,7 @@ TEST_F(StopTacticTest, robot_start_moving) {Point(-3, 2.5), Point()}, {Vector(), Vector(4, 4)}); auto enemy_robots = TestUtil::createStationaryRobotStatesWithId({Point(4, 0)}); - auto tactic = std::make_shared(); + auto tactic = std::make_shared(); setTactic(1, tactic); std::vector terminating_validation_functions = { diff --git a/src/software/ai/hl/stp/tactic/stop/stop_fsm.cpp b/src/software/ai/hl/stp/tactic/stop/stop_fsm.cpp deleted file mode 100644 index b8728aaa13..0000000000 --- a/src/software/ai/hl/stp/tactic/stop/stop_fsm.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "software/ai/hl/stp/tactic/stop/stop_fsm.h" - -void StopFSM::updateStop(const Update& event) -{ - event.common.set_primitive(std::make_unique()); -} - -bool StopFSM::stopDone(const Update& event) -{ - return robotStopped(event.common.robot); -} diff --git a/src/software/ai/hl/stp/tactic/stop/stop_tactic.cpp b/src/software/ai/hl/stp/tactic/stop/stop_tactic.cpp deleted file mode 100644 index d6255bce30..0000000000 --- a/src/software/ai/hl/stp/tactic/stop/stop_tactic.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include "software/ai/hl/stp/tactic/stop/stop_tactic.h" - -#include - -StopTactic::StopTactic() : Tactic(std::set()), fsm_map() -{ - for (RobotId id = 0; id < MAX_ROBOT_IDS; id++) - { - fsm_map[id] = std::make_unique>(StopFSM()); - } -} - -void StopTactic::accept(TacticVisitor &visitor) const -{ - visitor.visit(*this); -} - -void StopTactic::updatePrimitive(const TacticUpdate &tactic_update, bool reset_fsm) -{ - if (reset_fsm) - { - fsm_map[tactic_update.robot.id()] = std::make_unique>(StopFSM()); - } - fsm_map.at(tactic_update.robot.id()) - ->process_event(StopFSM::Update({}, tactic_update)); -} diff --git a/src/software/ai/hl/stp/tactic/tactic_factory.cpp b/src/software/ai/hl/stp/tactic/tactic_factory.cpp index 2235be2176..73f51d2a66 100644 --- a/src/software/ai/hl/stp/tactic/tactic_factory.cpp +++ b/src/software/ai/hl/stp/tactic/tactic_factory.cpp @@ -29,7 +29,7 @@ std::shared_ptr createTactic(const TbotsProto::Tactic &tactic_proto, PROTO_CREATE_TACTIC_CASE(PivotKick, pivot_kick) PROTO_CREATE_TACTIC_CASE(Receiver, receiver) PROTO_CREATE_TACTIC_CASE(ShadowEnemy, shadow_enemy) - PROTO_CREATE_TACTIC_CASE(Stop, stop) + PROTO_CREATE_TACTIC_CASE(Halt, halt) case TbotsProto::Tactic::TACTIC_NOT_SET: { LOG(FATAL) << "Tactic not set"; @@ -202,10 +202,10 @@ std::shared_ptr createTactic(const TbotsProto::ShadowEnemyTactic &tactic return tactic; } -std::shared_ptr createTactic(const TbotsProto::StopTactic &tactic_proto, +std::shared_ptr createTactic(const TbotsProto::HaltTactic &tactic_proto, TbotsProto::AiConfig ai_config) { - auto tactic = std::make_shared(); + auto tactic = std::make_shared(); return tactic; } diff --git a/src/software/ai/hl/stp/tactic/tactic_factory.h b/src/software/ai/hl/stp/tactic/tactic_factory.h index 5da161d4af..a3967b69bc 100644 --- a/src/software/ai/hl/stp/tactic/tactic_factory.h +++ b/src/software/ai/hl/stp/tactic/tactic_factory.h @@ -42,7 +42,7 @@ std::shared_ptr createTactic(const TbotsProto::ReceiverTactic &tactic_pr TbotsProto::AiConfig ai_config); std::shared_ptr createTactic(const TbotsProto::ShadowEnemyTactic &tactic_proto, TbotsProto::AiConfig ai_config); -std::shared_ptr createTactic(const TbotsProto::StopTactic &tactic_proto, +std::shared_ptr createTactic(const TbotsProto::HaltTactic &tactic_proto, TbotsProto::AiConfig ai_config); /** diff --git a/src/software/ai/hl/stp/tactic/tactic_visitor.h b/src/software/ai/hl/stp/tactic/tactic_visitor.h index 5ef7fc69a1..ea5c6e5ab0 100644 --- a/src/software/ai/hl/stp/tactic/tactic_visitor.h +++ b/src/software/ai/hl/stp/tactic/tactic_visitor.h @@ -23,7 +23,7 @@ class PenaltySetupTactic; class PivotKickTactic; class ReceiverTactic; class ShadowEnemyTactic; -class StopTactic; +class HaltTactic; class StopTestTactic; class MoveGoalieToGoalLineTactic; class PrepareKickoffMoveTactic; @@ -65,7 +65,7 @@ class TacticVisitor virtual void visit(const PivotKickTactic &tactic) = 0; virtual void visit(const ReceiverTactic &tactic) = 0; virtual void visit(const ShadowEnemyTactic &tactic) = 0; - virtual void visit(const StopTactic &tactic) = 0; + virtual void visit(const HaltTactic &tactic) = 0; virtual void visit(const StopTestTactic &tactic) = 0; virtual void visit(const MoveGoalieToGoalLineTactic &tactic) = 0; virtual void visit(const PrepareKickoffMoveTactic &tactic) = 0; diff --git a/src/software/ai/motion_constraint/motion_constraint_set_builder_test.cpp b/src/software/ai/motion_constraint/motion_constraint_set_builder_test.cpp index daaafdfb7d..7b58c68d57 100644 --- a/src/software/ai/motion_constraint/motion_constraint_set_builder_test.cpp +++ b/src/software/ai/motion_constraint/motion_constraint_set_builder_test.cpp @@ -68,7 +68,7 @@ namespace std::make_tuple(std::make_shared(ai_config), std::set(), std::set()), - std::make_tuple(std::make_shared(), + std::make_tuple(std::make_shared(), std::set(), std::set()), std::make_tuple( diff --git a/src/software/ai/motion_constraint/motion_constraint_visitor.cpp b/src/software/ai/motion_constraint/motion_constraint_visitor.cpp index 2e72672309..cbedffc25c 100644 --- a/src/software/ai/motion_constraint/motion_constraint_visitor.cpp +++ b/src/software/ai/motion_constraint/motion_constraint_visitor.cpp @@ -46,7 +46,7 @@ void MotionConstraintVisitor::visit(const PrepareKickoffMoveTactic &tactic) TbotsProto::MotionConstraint::ENEMY_HALF_WITHOUT_CENTRE_CIRCLE); } -void MotionConstraintVisitor::visit(const StopTactic &tactic) {} +void MotionConstraintVisitor::visit(const HaltTactic &tactic) {} void MotionConstraintVisitor::visit(const PenaltyKickTactic &tactic) { diff --git a/src/software/ai/motion_constraint/motion_constraint_visitor.h b/src/software/ai/motion_constraint/motion_constraint_visitor.h index 5aba45c2b5..8c913c1ae6 100644 --- a/src/software/ai/motion_constraint/motion_constraint_visitor.h +++ b/src/software/ai/motion_constraint/motion_constraint_visitor.h @@ -26,7 +26,7 @@ class MotionConstraintVisitor : public TacticVisitor void visit(const ChipTactic &tactic) override; void visit(const KickTactic &tactic) override; void visit(const KickoffChipTactic &tactic) override; - void visit(const StopTactic &tactic) override; + void visit(const HaltTactic &tactic) override; void visit(const PenaltyKickTactic &tactic) override; void visit(const PenaltySetupTactic &tactic) override; void visit(const ReceiverTactic &tactic) override; diff --git a/src/software/field_tests/movement_robot_field_test.py b/src/software/field_tests/movement_robot_field_test.py index 9b31801c8e..1bb966aa21 100644 --- a/src/software/field_tests/movement_robot_field_test.py +++ b/src/software/field_tests/movement_robot_field_test.py @@ -113,11 +113,11 @@ def test_basic_rotation(field_test_runner): eventually_validation_sequence_set=[[]], test_timeout_s=5, ) - # Send a stop tactic after the test finishes - stop_tactic = StopTactic() + # Send a halt tactic after the test finishes + halt_tactic = HaltTactic() params = AssignedTacticPlayControlParams() - params.assigned_tactics[id].stop.CopyFrom(stop_tactic) - # send the stop tactic + params.assigned_tactics[id].stop.CopyFrom(halt_tactic) + # send the halt tactic field_test_runner.set_tactics(params, True) # validate by eye @@ -197,10 +197,10 @@ def test_one_robots_square(field_test_runner): test_timeout_s=4, ) - # Send a stop tactic after the test finishes - stop_tactic = StopTactic() + # Send a halt tactic after the test finishes + halt_tactic = HaltTactic() params = AssignedTacticPlayControlParams() - params.assigned_tactics[id].stop.CopyFrom(stop_tactic) + params.assigned_tactics[id].stop.CopyFrom(halt_tactic) if __name__ == "__main__": diff --git a/src/software/field_tests/passing_field_test.py b/src/software/field_tests/passing_field_test.py index eff8acafc1..7240754338 100644 --- a/src/software/field_tests/passing_field_test.py +++ b/src/software/field_tests/passing_field_test.py @@ -96,12 +96,11 @@ def test_passing(field_test_runner): test_timeout_s=5, ) - # Send a stop tactic after the test finishes - stop_tactic = StopTactic() + # Send a halt tactic after the test finishes + halt_tactic = HaltTactic() params = AssignedTacticPlayControlParams() - params.assigned_tactics[passer_robot_id].stop.CopyFrom(stop_tactic) - params.assigned_tactics[receiver_robot_id].stop.CopyFrom(stop_tactic) - # send the stop tactic + params.assigned_tactics[passer_robot_id].stop.CopyFrom(halt_tactic) + params.assigned_tactics[receiver_robot_id].stop.CopyFrom(halt_tactic) field_test_runner.set_tactics(params, True) diff --git a/src/software/field_tests/pivot_kick_field_test.py b/src/software/field_tests/pivot_kick_field_test.py index 432171ccfb..4edeaa2167 100644 --- a/src/software/field_tests/pivot_kick_field_test.py +++ b/src/software/field_tests/pivot_kick_field_test.py @@ -38,10 +38,10 @@ def test_pivot_kick(field_test_runner): eventually_validation_sequence_set=[[]], test_timeout_s=15, ) - # Send a stop tactic after the test finishes - stop_tactic = StopTactic() + # Send a halt tactic after the test finishes + halt_tactic = HaltTactic() params = AssignedTacticPlayControlParams() - params.assigned_tactics[id].stop.CopyFrom(stop_tactic) + params.assigned_tactics[id].stop.CopyFrom(halt_tactic) if __name__ == "__main__": From 327c96966f667f730ef277fc487da3e074320aae Mon Sep 17 00:00:00 2001 From: William Ha <60044853+williamckha@users.noreply.github.com> Date: Sat, 12 Oct 2024 13:09:22 -0700 Subject: [PATCH 10/14] Fix flaky Observer tests using fake clock (#3318) * Fix observer test flakiness using FakeClock * Add FakeClock unit tests * Run formatting * Use using instead of typedef * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- src/software/multithreading/BUILD | 1 + src/software/multithreading/observer.hpp | 25 ++++----- src/software/multithreading/observer_test.cpp | 26 +++++----- src/software/test_util/BUILD | 15 ++++++ src/software/test_util/fake_clock.cpp | 18 +++++++ src/software/test_util/fake_clock.h | 52 +++++++++++++++++++ src/software/test_util/fake_clock_test.cpp | 39 ++++++++++++++ 7 files changed, 151 insertions(+), 25 deletions(-) create mode 100644 src/software/test_util/fake_clock.cpp create mode 100644 src/software/test_util/fake_clock.h create mode 100644 src/software/test_util/fake_clock_test.cpp diff --git a/src/software/multithreading/BUILD b/src/software/multithreading/BUILD index e6b2193ef4..c051206e6c 100644 --- a/src/software/multithreading/BUILD +++ b/src/software/multithreading/BUILD @@ -64,6 +64,7 @@ cc_test( deps = [ ":observer", "//shared/test_util:tbots_gtest_main", + "//software/test_util:fake_clock", ], ) diff --git a/src/software/multithreading/observer.hpp b/src/software/multithreading/observer.hpp index 02cea7784f..8bf17142f2 100644 --- a/src/software/multithreading/observer.hpp +++ b/src/software/multithreading/observer.hpp @@ -8,8 +8,9 @@ * "Subject" to receive new instances of type T when they are available * * @tparam T The type of object this class is observing + * @tparam Clock A clock that satisfies the TrivialClock requirements */ -template +template class Observer { public: @@ -79,34 +80,34 @@ class Observer boost::circular_buffer receive_time_buffer; }; -template -Observer::Observer(size_t buffer_size, bool log_buffer_full) +template +Observer::Observer(size_t buffer_size, bool log_buffer_full) : buffer(buffer_size, log_buffer_full), receive_time_buffer(TIME_BUFFER_SIZE) { } -template -void Observer::receiveValue(T val) +template +void Observer::receiveValue(T val) { receive_time_buffer.push_back(std::chrono::duration_cast( - std::chrono::steady_clock::now().time_since_epoch())); + Clock::now().time_since_epoch())); buffer.push(std::move(val)); } -template -std::optional Observer::popMostRecentlyReceivedValue(Duration max_wait_time) +template +std::optional Observer::popMostRecentlyReceivedValue(Duration max_wait_time) { return buffer.popMostRecentlyAddedValue(max_wait_time); } -template -std::optional Observer::popLeastRecentlyReceivedValue(Duration max_wait_time) +template +std::optional Observer::popLeastRecentlyReceivedValue(Duration max_wait_time) { return buffer.popLeastRecentlyAddedValue(max_wait_time); } -template -double Observer::getDataReceivedPerSecond() +template +double Observer::getDataReceivedPerSecond() { if (receive_time_buffer.empty()) { diff --git a/src/software/multithreading/observer_test.cpp b/src/software/multithreading/observer_test.cpp index f75209c801..277b839689 100644 --- a/src/software/multithreading/observer_test.cpp +++ b/src/software/multithreading/observer_test.cpp @@ -4,7 +4,9 @@ #include -class TestObserver : public Observer +#include "software/test_util/fake_clock.h" + +class TestObserver : public Observer { public: std::optional getMostRecentValueFromBufferWrapper() @@ -19,36 +21,34 @@ namespace TestUtil * Tests getDataReceivedPerSecond by filling the buffer * * @param test_observer The observer to test - * @param data_received_period_milliseconds The period between receiving data + * @param data_received_period_ms The period between receiving data in milliseconds * @param number_of_messages number of messages to send to the buffer * * @return AssertionSuccess the observer returns the correct data received per second */ ::testing::AssertionResult testGetDataReceivedPerSecondByFillingBuffer( - TestObserver test_observer, unsigned int data_received_period_milliseconds, + TestObserver test_observer, unsigned int data_received_period_ms, unsigned int number_of_messages) { - auto wall_time_start = std::chrono::steady_clock::now(); + auto wall_time_start = FakeClock::now(); for (unsigned int i = 0; i < number_of_messages; i++) { test_observer.receiveValue(i); - std::this_thread::sleep_for( - std::chrono::milliseconds(data_received_period_milliseconds)); + FakeClock::advance(std::chrono::milliseconds(data_received_period_ms)); } - auto wall_time_now = std::chrono::steady_clock::now(); + auto wall_time_now = FakeClock::now(); double test_duration_s = static_cast(std::chrono::duration_cast( wall_time_now - wall_time_start) .count()) * SECONDS_PER_MILLISECOND; double scaling_factor = - test_duration_s / (data_received_period_milliseconds * - SECONDS_PER_MILLISECOND * number_of_messages); - double expected_actual_difference = - std::abs(test_observer.getDataReceivedPerSecond() - - 1 / (data_received_period_milliseconds * SECONDS_PER_MILLISECOND) * - scaling_factor); + test_duration_s / + (data_received_period_ms * SECONDS_PER_MILLISECOND * number_of_messages); + double expected_actual_difference = std::abs( + test_observer.getDataReceivedPerSecond() - + 1 / (data_received_period_ms * SECONDS_PER_MILLISECOND) * scaling_factor); if (expected_actual_difference < 50) { return ::testing::AssertionSuccess(); diff --git a/src/software/test_util/BUILD b/src/software/test_util/BUILD index 5cd15e0620..f8d8d1c2ab 100644 --- a/src/software/test_util/BUILD +++ b/src/software/test_util/BUILD @@ -33,6 +33,12 @@ cc_library( ], ) +cc_library( + name = "fake_clock", + srcs = ["fake_clock.cpp"], + hdrs = ["fake_clock.h"], +) + cc_test( name = "test_util_test", srcs = ["test_util_test.cpp"], @@ -50,3 +56,12 @@ cc_test( "//shared/test_util:tbots_gtest_main", ], ) + +cc_test( + name = "fake_clock_test", + srcs = ["fake_clock_test.cpp"], + deps = [ + ":fake_clock", + "//shared/test_util:tbots_gtest_main", + ], +) diff --git a/src/software/test_util/fake_clock.cpp b/src/software/test_util/fake_clock.cpp new file mode 100644 index 0000000000..e3f95068f4 --- /dev/null +++ b/src/software/test_util/fake_clock.cpp @@ -0,0 +1,18 @@ +#include "fake_clock.h" + +FakeClock::time_point FakeClock::now_; + +FakeClock::time_point FakeClock::now() noexcept +{ + return now_; +} + +void FakeClock::advance(duration time) noexcept +{ + now_ += time; +} + +void FakeClock::reset() noexcept +{ + now_ = FakeClock::time_point(); +} diff --git a/src/software/test_util/fake_clock.h b/src/software/test_util/fake_clock.h new file mode 100644 index 0000000000..371cf1fde1 --- /dev/null +++ b/src/software/test_util/fake_clock.h @@ -0,0 +1,52 @@ +#pragma once + +#include +#include +#include + +/** + * Fake clock convenient for testing purposes. + * + * Tests that rely on sleeping can be non-deterministic and flaky since they + * depend on real time to elapse. Use this clock instead, which can be explicitly + * advanced without sleeping. + * + * Satisfies the TrivialClock requirements and thus can replace any standard clock + * in the chrono library (e.g. std::chrono::steady_clock). + */ +class FakeClock +{ + public: + using rep = uint64_t; + using period = std::nano; + using duration = std::chrono::duration; + using time_point = std::chrono::time_point; + inline static const bool is_steady = false; + + /** + * Returns the current time point. + * + * @return the current time point + */ + static time_point now() noexcept; + + /** + * Advances the current time point by the given amount of time. + * + * @param time the amount of time to advance the current time point by + */ + static void advance(duration time) noexcept; + + /** + * Resets the current time point to the clock's epoch + * (the origin of fake_clock::time_point) + */ + static void reset() noexcept; + + private: + FakeClock() = delete; + ~FakeClock() = delete; + FakeClock(FakeClock const&) = delete; + + static time_point now_; +}; diff --git a/src/software/test_util/fake_clock_test.cpp b/src/software/test_util/fake_clock_test.cpp new file mode 100644 index 0000000000..07aa4b16a4 --- /dev/null +++ b/src/software/test_util/fake_clock_test.cpp @@ -0,0 +1,39 @@ +#include "software/test_util/fake_clock.h" + +#include + +TEST(FakeClockTest, time_point_now_should_not_change_without_advancing) +{ + FakeClock::reset(); + FakeClock::time_point t0 = FakeClock::now(); + FakeClock::time_point t1 = FakeClock::now(); + EXPECT_EQ(std::chrono::milliseconds(0), t1 - t0); +} + +TEST(FakeClockTest, time_point_now_should_move_forward_after_advancing) +{ + FakeClock::reset(); + FakeClock::time_point t0 = FakeClock::now(); + + FakeClock::advance(std::chrono::milliseconds(100)); + FakeClock::time_point t1 = FakeClock::now(); + EXPECT_EQ(std::chrono::milliseconds(100), t1 - t0); + + FakeClock::advance(std::chrono::milliseconds(50)); + FakeClock::time_point t2 = FakeClock::now(); + EXPECT_EQ(std::chrono::milliseconds(150), t2 - t0); +} + +TEST(FakeClockTest, reset_should_set_time_point_now_to_clock_epoch) +{ + FakeClock::reset(); + FakeClock::time_point t0 = FakeClock::now(); + + FakeClock::advance(std::chrono::milliseconds(1000)); + FakeClock::time_point t1 = FakeClock::now(); + EXPECT_EQ(std::chrono::milliseconds(1000), t1 - t0); + + FakeClock::reset(); + FakeClock::time_point t2 = FakeClock::now(); + EXPECT_EQ(std::chrono::milliseconds(0), t2 - t0); +} From 85cf8a9ebec766899569c86fe5df3d19b39cfb46 Mon Sep 17 00:00:00 2001 From: Vincent <53135664+Mr-Anyone@users.noreply.github.com> Date: Sat, 19 Oct 2024 11:35:02 -0700 Subject: [PATCH 11/14] Fixing Implicit Type Casting (#3363) * hopefully this fixes it? * found another spot --- src/software/thunderscope/common/common_widgets.py | 2 +- src/software/thunderscope/robot_diagnostics/chicker_widget.py | 2 +- src/software/thunderscope/robot_diagnostics/robot_info.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/software/thunderscope/common/common_widgets.py b/src/software/thunderscope/common/common_widgets.py index 1293301363..21ddcb31dc 100644 --- a/src/software/thunderscope/common/common_widgets.py +++ b/src/software/thunderscope/common/common_widgets.py @@ -145,7 +145,7 @@ def setValue(self, value: float) -> None: :param value: the float value to set """ - super(ColorProgressBar, self).setValue(value * self.decimals) + super(ColorProgressBar, self).setValue(int(value * self.decimals)) # clamp percent to make sure it's between 0% and 100% percent = self.getPercentage() diff --git a/src/software/thunderscope/robot_diagnostics/chicker_widget.py b/src/software/thunderscope/robot_diagnostics/chicker_widget.py index fddaa582af..8d22cc102f 100644 --- a/src/software/thunderscope/robot_diagnostics/chicker_widget.py +++ b/src/software/thunderscope/robot_diagnostics/chicker_widget.py @@ -122,7 +122,7 @@ def send_command_and_timeout(self, command: ChickerCommandMode) -> None: self.disable_kick_chip_buttons() # set and start timer to re-enable buttons after 3 seconds - QTimer.singleShot(CHICKER_TIMEOUT, self.enable_kick_chip_buttons) + QTimer.singleShot(int(CHICKER_TIMEOUT), self.enable_kick_chip_buttons) def disable_kick_chip_buttons(self) -> None: """Disables the buttons""" diff --git a/src/software/thunderscope/robot_diagnostics/robot_info.py b/src/software/thunderscope/robot_diagnostics/robot_info.py index efa620dbc1..d139871fd5 100644 --- a/src/software/thunderscope/robot_diagnostics/robot_info.py +++ b/src/software/thunderscope/robot_diagnostics/robot_info.py @@ -307,7 +307,7 @@ def update(self, robot_status: RobotStatus, round_trip_time: RobotStatistic): self.__update_ui(robot_status, round_trip_time) - QtCore.QTimer.singleShot(DISCONNECT_DURATION_MS, self.disconnect_robot) + QtCore.QTimer.singleShot(int(DISCONNECT_DURATION_MS), self.disconnect_robot) def disconnect_robot(self) -> None: """Calculates the time between the last robot status and now From 47d45b88817881252125c0bdb2f86dac2016631b Mon Sep 17 00:00:00 2001 From: itsarune <42703774+itsarune@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:59:02 -0700 Subject: [PATCH 12/14] Preliminary support for Ubuntu 24 and Ubuntu 24 ARM (#3316) * Update to python 3.10.0 and bazel 5.4.0 * No need to import `typing` for collections as of python 3.9 * Update black formatter to 24.4.2 * Run fix_formatting.sh * Remove PyOpenGL-accelerate dependency * Install latest pip in setup_software.sh * Install latest pip in setup_software.sh * Testing * Testing * Remove testing * Bump pyqtgraph to 0.13.3 * Update setup_software.sh * Try fixing precommit * Try fixing precommit * Try fixing precommit * Replace black/autoflake with ruff * Remove black binary * Remove git attribute * Remove unused check_formatting_ci.sh * Run fix_formatting.sh * Add simulated/field test fixtures to conftest.py * Address #3251 * Python code cleanup and fix Thunderscope * Enable pydocstyle rules in ruff * Add compile pip requirements to pre-commit * Formatting and fix pre-commit * Fix pre-commit * Fix pre-commit * Fix pre-commit and fsm_diagram_generator.py * Update docstrings * Formatting * Fix type errors * Nuke jetson_nano/display :( * Switch to pyqtdarktheme * Bump pytqtgraph to 0.13.7 * If build fails, download autoref from Google Drive mirror * Fix setup_software.sh * If build fails, download autoref from releases in github fork * Remove Qt deps from ER Force Simulator and improve code quality * Remove Qt from bazel and setup_software.sh * Misc code quality changes * Rename formatting_scripts to scripts * Fix docstring * FIx docstring * [pre-commit.ci lite] apply automatic fixes * Add ASCII diagram to robotmesh.cpp * Fix pyqtdarktheme dep missing * Misc changes * Nits * Use python dataclasses, remove unused stuff, nits * [pre-commit.ci lite] apply automatic fixes * Use dataclass * Update setup_software for Ubuntu 24 ARM Start migrating to python3.12 * fixup installation issues * Working on pybind11 compilation * downgrade pybind11 slightly * thunderscope is running, but slowly + autoref problems * play around with newer protobuf version * Fix python protobuf slowness * update ssl protos * resolve some build issues * Seems to compile correctly on x86 Ubuntu 2020 * fix a whole bunch of issues and leave a bunch more * Wip add support for new Tigers Autoref * Remove auto_continue from old gamecontroller proto message * Wip update autoref wrapper with new autoref * [pre-commit.ci lite] apply automatic fixes * Fixup last little niggly issues with game controller and autoref migration * fixing up formatting * migrate to gcc 10 and upgrade boost * improve jetson toolchain * work on nano build * fix jetson nano * fix ensurepip for ubuntu 24 * update linux gcc extlibs paths * not yet compiling, adding arm64 support * update cross compile toolchain names * wip * wip * [pre-commit.ci lite] apply automatic fixes * update setup software for pyqt6 * install nvm * works on William (not William's) computer * update g3log and some docs * update tbots_protobuf_test * [pre-commit.ci lite] apply automatic fixes * update github 24 arm machine * hopefully fix platform io in CI * wip toolchain resolution issue * fixup github builds mayhaps * cleanup PR and fixup tests * address PR comments * cleanup documentation * [pre-commit.ci lite] apply automatic fixes * fixup clang format for ARM builds --------- Co-authored-by: williamckha Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: arun Co-authored-by: wmostrenko --- .github/workflows/main.yml | 43 ++- docs/getting-started-wsl.md | 2 +- docs/getting-started.md | 14 +- docs/robot-software-architecture.md | 5 +- docs/useful-robot-commands.md | 16 +- environment_setup/setup_software.sh | 102 +++--- environment_setup/ubuntu20_requirements.txt | 10 +- environment_setup/ubuntu22_requirements.txt | 11 +- environment_setup/ubuntu24_requirements.txt | 8 + environment_setup/util.sh | 91 +++++ scripts/clang-format-10.0 | Bin 2265160 -> 0 bytes scripts/lint_and_format.sh | 5 +- src/.bazelrc | 6 +- src/WORKSPACE | 36 +- src/cc_toolchain/BUILD | 246 ++++++++----- src/cc_toolchain/cc_toolchain_config.bzl | 40 ++- src/cc_toolchain/wrapper/jetson_nano_ar | 3 - src/cc_toolchain/wrapper/jetson_nano_cpp | 3 - src/cc_toolchain/wrapper/jetson_nano_g++ | 3 - src/cc_toolchain/wrapper/jetson_nano_gcc | 3 - src/cc_toolchain/wrapper/jetson_nano_gcov | 3 - src/cc_toolchain/wrapper/jetson_nano_ld | 3 - src/cc_toolchain/wrapper/jetson_nano_nm | 3 - src/cc_toolchain/wrapper/jetson_nano_objcopy | 3 - src/cc_toolchain/wrapper/jetson_nano_objdump | 3 - src/cc_toolchain/wrapper/jetson_nano_strip | 3 - .../wrapper/k8_jetson_nano_cross_compile_ar | 3 + .../wrapper/k8_jetson_nano_cross_compile_cpp | 3 + .../wrapper/k8_jetson_nano_cross_compile_g++ | 3 + .../wrapper/k8_jetson_nano_cross_compile_gcc | 3 + .../wrapper/k8_jetson_nano_cross_compile_gcov | 3 + .../wrapper/k8_jetson_nano_cross_compile_ld | 3 + .../wrapper/k8_jetson_nano_cross_compile_nm | 3 + .../k8_jetson_nano_cross_compile_objcopy | 3 + .../k8_jetson_nano_cross_compile_objdump | 3 + .../k8_jetson_nano_cross_compile_strip | 3 + src/cc_toolchain/wrapper/linux_gcc | 2 +- ...=> k8_jetson_nano_cross_compile_gcc.BUILD} | 0 src/extlibs/linux_aarch64_gcc.BUILD | 28 ++ src/extlibs/linux_gcc.BUILD | 28 -- src/extlibs/linux_k8_gcc.BUILD | 28 ++ src/extlibs/nanopb_requirements_lock.txt | 2 +- src/proto/BUILD | 1 + .../ssl_simulation_robot_control.cpp | 6 +- .../message_translation/tbots_protobuf.cpp | 12 +- .../message_translation/tbots_protobuf.h | 4 +- .../tbots_protobuf_test.cpp | 22 +- src/proto/primitive/primitive_msg_factory.cpp | 4 +- src/proto/primitive/primitive_msg_factory.h | 2 +- src/proto/ssl_gc_api.proto | 2 + src/proto/ssl_gc_change.proto | 327 +++++++++--------- src/proto/ssl_gc_engine.proto | 77 ++++- src/proto/ssl_gc_engine_config.proto | 3 + src/proto/ssl_gc_game_event.proto | 189 +++++++--- src/proto/ssl_gc_referee_message.proto | 36 +- src/proto/ssl_gc_state.proto | 41 ++- src/shared/2021_robot_constants.cpp | 4 +- src/shared/robot_constants.h | 4 +- src/software/autoref/run_autoref.sh | 2 +- src/software/embedded/BUILD | 4 + .../embedded/ansible/requirements_lock.txt | 2 +- src/software/embedded/thunderloop.cpp | 2 +- src/software/embedded/thunderloop.h | 2 +- src/software/estop/arduino_util.cpp | 3 +- .../simulated_tests/requirements_lock.txt | 2 +- src/software/thunderscope/BUILD | 3 + .../game_controller.py | 45 +-- .../binary_context_managers/tigers_autoref.py | 7 +- src/software/thunderscope/log/g3log_widget.py | 3 - .../thunderscope/play/refereeinfo_widget.py | 6 +- src/software/thunderscope/requirements.in | 4 +- .../thunderscope/requirements_lock.txt | 84 +++-- .../thunderscope/thunderscope_config.py | 8 +- .../thunderscope/thunderscope_main.py | 11 + src/software/util/make_enum/make_enum.hpp | 2 + .../util/make_enum/make_enum_helpers.hpp | 1 + src/tbots.py | 2 +- 77 files changed, 1109 insertions(+), 601 deletions(-) create mode 100644 environment_setup/ubuntu24_requirements.txt create mode 100755 environment_setup/util.sh delete mode 100755 scripts/clang-format-10.0 delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_ar delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_cpp delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_g++ delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_gcc delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_gcov delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_ld delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_nm delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_objcopy delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_objdump delete mode 100755 src/cc_toolchain/wrapper/jetson_nano_strip create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_ar create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_cpp create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_g++ create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_gcc create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_gcov create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_ld create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_nm create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_objcopy create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_objdump create mode 100755 src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_strip rename src/extlibs/{jetson_nano_gcc.BUILD => k8_jetson_nano_cross_compile_gcc.BUILD} (100%) create mode 100644 src/extlibs/linux_aarch64_gcc.BUILD delete mode 100644 src/extlibs/linux_gcc.BUILD create mode 100644 src/extlibs/linux_k8_gcc.BUILD diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 10dda84192..a1c265f3fb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,9 +11,13 @@ concurrency: cancel-in-progress: true jobs: - ubuntu22-tests: - name: Ubuntu 22.04 Build - runs-on: ubuntu-22.04 + multiplatform-build: + strategy: + matrix: + platform: [ ubuntu-22.04, ubuntu-24.04 ] + + name: Ubuntu Alternate Builds + runs-on: ${{ matrix.platform }} steps: # checks-out the repository under $GITHUB_WORKSPACE - uses: actions/checkout@v4 @@ -25,22 +29,24 @@ jobs: - name: Software Build Test run: | cd src - bazel build --show_timestamps \ - -- //... -//software:unix_full_system \ - -//software/simulated_tests/... \ - -//software/ai/hl/... \ - -//software/field_tests/... \ - -//software/embedded/... \ + bazel build --show_timestamps --copt=-O3 \ + -- //... -//software:unix_full_system \ + -//software/simulated_tests/... \ + -//software/ai/hl/... \ + -//software/field_tests/... \ + -//software/embedded/... \ + -//cc_toolchain/... - name: Jetson Nano Build Test run: | cd src - bazel build --cpu=jetson_nano //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=NANO + bazel build //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=NANO --platforms=//cc_toolchain:robot - name: Raspberry Pi Build Test run: | cd src - bazel build --cpu=jetson_nano //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=PI + bazel build //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=PI --platforms=//cc_toolchain:robot + software-tests: name: Software Tests @@ -61,7 +67,8 @@ jobs: -//software/simulated_tests/... \ -//software/ai/hl/... \ -//software/field_tests/... \ - -//software/ai/navigator/... + -//software/ai/navigator/... \ + -//cc_toolchain/... robot-tests: name: Robot Software Tests @@ -90,12 +97,14 @@ jobs: - name: Jetson Nano Build run: | cd src - bazel build --cpu=jetson_nano //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=NANO + bazel build //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=NANO --platforms=//cc_toolchain:robot + - name: Raspberry Pi Build run: | cd src - bazel build --cpu=jetson_nano //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=PI + bazel build //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=PI --platforms=//cc_toolchain:robot + simulated-gameplay-tests: name: Simulated Gameplay Tests @@ -112,9 +121,9 @@ jobs: run: | cd src bazel test --copt=-O3 --flaky_test_attempts=3 --show_timestamps \ - //software:unix_full_system \ - //software/simulated_tests/... \ - //software/ai/hl/... \ + //software:unix_full_system \ + //software/simulated_tests/... \ + //software/ai/hl/... \ //software/ai/navigator/... - name: Upload simulated test proto logs diff --git a/docs/getting-started-wsl.md b/docs/getting-started-wsl.md index 999f86e7b8..1e48c769b8 100644 --- a/docs/getting-started-wsl.md +++ b/docs/getting-started-wsl.md @@ -39,7 +39,7 @@ If you are not using Windows 11 and would prefer not to upgrade, you can follow 3. Now, let's install Ubuntu. - Download the WSL2 kernel from [here](https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel). - Open a PowerShell window and run command `wsl --set-default-version 2` to use WSL2 by default. - - Install Ubuntu 20.04 LTS or Ubuntu 22.04 LTS from the Microsoft Store. + - Install Ubuntu 20.04 LTS, Ubuntu 22.04 LTS or Ubuntu 24.04 LTS from the Microsoft Store. - Open the Ubuntu app in the Start menu. It will open a command prompt and ask you to create a new UNIX username and password for your WSL2 Ubuntu installation. ### X Server Setup diff --git a/docs/getting-started.md b/docs/getting-started.md index 59dd069ed1..4c6d3bbd54 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -66,9 +66,15 @@ These instructions assume you have a basic understanding of Linux and the comman ### Operating systems -We currently only support Linux, specifically Ubuntu 20.04 LTS and Ubuntu 22.04 LTS. You are welcome to use a different version or distribution of Linux, but may need to make some tweaks in order for things to work. +We currently only support Linux, specifically Ubuntu. -You can use Ubuntu 20.04 LTS and Ubuntu 22.04 LTS inside Windows through Windows Subsystem for Linux, by following [this guide](./getting-started-wsl.md). **Running and developing Thunderbots on Windows is experimental and not officially supported.** +If you have a X86_64 machine, we support Ubuntu 20.04 LTS, Ubuntu 22.04 LTS and Ubuntu 24.04 LTS. + +If you have a ARM64 (also known as AARCH64) machine, we support Ubuntu 24.04 LTS. + +You are welcome to use a different version or distribution of Linux, but may need to make some tweaks in order for things to work. + +You can use Ubuntu 20.04 LTS, Ubuntu 22.04 LTS or Ubuntu 24.04 LTS inside Windows through Windows Subsystem for Linux, by following [this guide](./getting-started-wsl.md). **Running and developing Thunderbots on Windows is experimental and not officially supported.** ### Getting the Code @@ -344,7 +350,7 @@ Tracy also samples call stacks. If the profiled binary is run with root permissi ## Building for the robot -To build for the robot computer, build the target with the `--cpu=jetson_nano` flag and the toolchain will automatically build using the ARM toolchain. For example, `bazel build --cpu=jetson_nano //software/geom/...`. +To build for the robot computer, build the target with the `--platforms=//cc_toolchain:robot` flag and the toolchain will automatically build using the ARM toolchain. For example, `bazel build --platforms=//cc_toolchain:robot //software/geom/...`. ## Deploying Robot Software to the robot @@ -352,7 +358,7 @@ We use Ansible to automatically update software running on the robot. [More info To update binaries on a working robot, you can run: -`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --platforms=//cc_toolchain:robot --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` Where `` is the robot platform you are deploying to (`PI` or `NANO`), and `` is the IP address of the robot you are deploying to. The `robot_password` is the password used to login to the `robot` user on the robot. diff --git a/docs/robot-software-architecture.md b/docs/robot-software-architecture.md index f806e76e1c..9f6059524b 100644 --- a/docs/robot-software-architecture.md +++ b/docs/robot-software-architecture.md @@ -20,7 +20,10 @@ For a more detailed look at how Ansible works, [see the RFC](https://docs.google.com/document/d/1hN3Us2Vjr8z6ihqUVp_3L7rrjKc-EZ-l2hZJc31gNOc/edit) -Example command: `bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` +Example command: `bazel run //software/embedded/ansible:run_ansible --platforms=//cc_toolchain:robot --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` +* : `PI` or `NANO` depending on the computer on the robot +* : IP address of the robot +* : Password of the robot More commands available [here](useful-robot-commands.md#off-robot-commands) diff --git a/docs/useful-robot-commands.md b/docs/useful-robot-commands.md index 5dd76fdc69..431f7c3c45 100644 --- a/docs/useful-robot-commands.md +++ b/docs/useful-robot-commands.md @@ -86,8 +86,8 @@ The IP address of the robots on the tbots network is `192.168.0.20` so Individual miscellaneous tasks (ex reboot, shutdown, rtt test) can be run through the `misc.yml` playbook by specifying the corresponding tag. -To view a list of supported arguments, run -`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano -- -h` +To view a list of supported arguments, run: +`bazel run //software/embedded/ansible:run_ansible --platforms=//cc_toolchain:robot -h` If desired, the `-ho`, `--hosts` argument can be replaced with `-p`, `--port`, defining a port to listen to for Announcements from hosts. @@ -101,7 +101,7 @@ This will stop the current Systemd services, replace and restart them. Binaries This will trigger motor calibration meaning the wheels may spin. Please elevate the robot so the wheels are not touching the ground for proper calibration. -`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --platforms=//cc_toolchain:robot --//software/embedded:host_platform= -- --playbook deploy_robot_software.yml --hosts --ssh_pass ` * \ is the host platform on the robot (either `PI` or `NANO`) * is the IP address of the robot * is the password of the `robot` user account @@ -119,11 +119,11 @@ Example: Flashing robots 1, 4, and 7 that have a Raspberry Pi ## Flashing the powerboard -This will flash powerloop, the current firmware in `software/power/`, onto the power board. It will prompt the user into setting the powerboard into bootloader mode by holding the boot button (left if looking from the back of the robot) and pressing the reset button (right if looking from the back of the robot), then releasing the reset button first, then the boot button. Once the board is flashed, pressing the reset button after to use the new firmware. +This will flash powerloop, the current firmware in `software/power/`, onto the power board. It will prompt the user into setting the powerboard into bootloader mode by holding the boot button (left if looking from the back of the robot) and pressing the reset button (right if looking from the back of the robot), then releasing the reset button first, then the boot button. Once the board is flashed, pressing the reset button after to use the new firmware. Looking from the back of the robot the reset and boot buttons are on right side of the battery holder on the lowest board with the reset being on the left and the boot on the right. Warning it may kick/chip when pressed. -`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano -- --playbook deploy_powerboard.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --platforms=//cc_toolchain:robot -- --playbook deploy_powerboard.yml --hosts --ssh_pass ` ## Setting up the embedded host @@ -133,11 +133,11 @@ This section refers to setting up the computer on the robot for the first time. ### Jetson Nano -`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform=NANO -- --playbook setup_nano.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --platforms=//cc_toolchain:robot --//software/embedded:host_platform=NANO -- --playbook setup_nano.yml --hosts --ssh_pass ` ### Raspberry Pi -`bazel run //software/embedded/ansible:run_ansible --cpu=jetson_nano --//software/embedded:host_platform=PI -- --playbook setup_raspberry_pi.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --platforms=//cc_toolchain:robot --//software/embedded:host_platform=PI -- --playbook setup_raspberry_pi.yml --hosts --ssh_pass ` ## Robot Diagnostics @@ -164,7 +164,7 @@ Runs the robot auto test fixture on a robot through Ansible, which tests the mot From Software/src: -`bazel run //software/embedded/ansible:run_ansible --//software/embedded:host_platform= --cpu=jetson_nano -- --playbook robot_auto_test_playbook.yml --hosts --ssh_pass ` +`bazel run //software/embedded/ansible:run_ansible --//software/embedded:host_platform= --platforms=//cc_toolchain:robot -- --playbook robot_auto_test_playbook.yml --hosts --ssh_pass ` * replace the \ with the target platform for the robot (either `PI` or `NANO`) * replace the \ with the actual ip address of the jetson nano for the ssh connection. * replace the with the actual password for the jetson nano for the ssh connection. diff --git a/environment_setup/setup_software.sh b/environment_setup/setup_software.sh index e38c51d1ea..422439bb77 100755 --- a/environment_setup/setup_software.sh +++ b/environment_setup/setup_software.sh @@ -11,12 +11,6 @@ # unit tests #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# -print_status_msg () { - echo "================================================================" - echo $1 - echo "================================================================" -} - # Save the parent dir of this so we can always run commands relative to the # location of this script, no matter where it is called from. This # helps prevent bugs and odd behaviour if this script is run through a symlink @@ -24,6 +18,11 @@ print_status_msg () { CURR_DIR=$(dirname -- "$(readlink -f -- "$BASH_SOURCE")") cd "$CURR_DIR" || exit +source util.sh + +arch=$(uname -m) +print_status_msg "Detected architecture: ${arch}" + print_status_msg "Installing Utilities and Dependencies" sudo apt-get update @@ -49,10 +48,10 @@ host_software_packages=( codespell # Fixes typos curl default-jdk # Needed for Bazel to run properly - gcc-9 # We use gcc 9.3.0 + gcc-10 # Full system compiles with gcc 10 libstdc++6-9-dbg git # required for build - g++-9 + g++-10 kcachegrind # This lets us view the profiles output by callgrind libeigen3-dev # A math / numerical library used for things like linear regression libprotobuf-dev @@ -62,9 +61,9 @@ host_software_packages=( protobuf-compiler # This is required for the "NanoPb" library, which does not # properly manage this as a bazel dependency, so we have # to manually install it ourselves - python3.10 # Python 3 - python3.10-dev # Python 3 headers - python3.10-venv # Virtual Environment + python3.12 # Python 3 + python3.12-dev # Python 3 headers + python3.12-venv # Virtual Environment python3-pip # Required for bazel to install python dependencies for build targets python3-protobuf # This is required for the "NanoPb" library, which does not # properly manage this as a bazel dependency, so we have @@ -92,12 +91,25 @@ if [[ $(lsb_release -rs) == "20.04" ]]; then host_software_packages+=(libncurses5) # This fixes missing headers by notifying the linker - ldconfig + sudo ldconfig fi -if [[ $(lsb_release -rs) == "22.04" ]]; then - wget -nc https://github.com/UBC-Thunderbots/Software-External-Dependencies/blob/main/85-brltty.rules -O /tmp/85-brltty.rules - sudo mv /tmp/85-brltty.rules /usr/lib/udev/rules.d/85-brltty.rules +# Clear the download cache +rm -rf /tmp/tbots_download_cache +mkdir /tmp/tbots_download_cache + +if [[ $(lsb_release -rs) == "22.04" ]] || [[ $(lsb_release -rs) == "24.04" ]]; then + # This is required because a Braille TTY device that Linux provides a driver for conflicts with the ESP32 + wget -nc https://github.com/UBC-Thunderbots/Software-External-Dependencies/blob/main/85-brltty.rules -O /tmp/tbots_download_cache/85-brltty.rules + sudo mv /tmp/tbots_download_cache/85-brltty.rules /usr/lib/udev/rules.d/85-brltty.rules +fi + +virtualenv_opt_args="" +if [[ $(lsb_release -rs) == "24.04" ]]; then + host_software_packages+=(python3-pyqt6) + host_software_packages+=(pyqt6-dev-tools) + + virtualenv_opt_args="--system-site-packages" fi if ! sudo apt-get install "${host_software_packages[@]}" -y ; then @@ -111,14 +123,14 @@ print_status_msg "Setting Up Virtual Python Environment" # delete tbotspython first sudo rm -rf /opt/tbotspython -if ! curl -sS https://bootstrap.pypa.io/get-pip.py | sudo /usr/bin/python3.10 ; then - print_status_msg "Error: Installing pip failed" +if ! sudo /usr/bin/python3.12 -m venv /opt/tbotspython $virtualenv_opt_args ; then + print_status_msg "Error: Setting up virtual environment failed" exit 1 fi -if ! sudo /usr/bin/python3.10 -m venv /opt/tbotspython ; then - print_status_msg "Error: Setting up virtual environment failed" - exit 1 +if [[ $(lsb_release -rs) == "20.04" ]] || [[ $(lsb_release -rs) == "22.04" ]]; then + # Install pip if it is not a system-managed package + sudo /usr/bin/python3.12 -m ensurepip fi if ! sudo /opt/tbotspython/bin/python3 -m pip install --upgrade pip ; then @@ -134,32 +146,23 @@ if [[ $(lsb_release -rs) == "22.04" ]]; then sudo /opt/tbotspython/bin/pip3 install -r ubuntu22_requirements.txt fi -print_status_msg "Done Setting Up Virtual Python Environment" -print_status_msg "Fetching game controller" +if [[ $(lsb_release -rs) == "24.04" ]]; then + sudo /opt/tbotspython/bin/pip3 install -r ubuntu24_requirements.txt +fi sudo chown -R $USER:$USER /opt/tbotspython -sudo wget -N https://github.com/RoboCup-SSL/ssl-game-controller/releases/download/v2.15.2/ssl-game-controller_v2.15.2_linux_amd64 -O /opt/tbotspython/gamecontroller -sudo chmod +x /opt/tbotspython/gamecontroller + +print_status_msg "Done Setting Up Virtual Python Environment" +print_status_msg "Fetching game controller" +install_gamecontroller $arch print_status_msg "Setting up TIGERS AutoRef" -print_status_msg "Installing TIGERS dependency: Java 17" -sudo wget -N https://download.oracle.com/java/17/archive/jdk-17.0.5_linux-x64_bin.deb -O /tmp/jdk-17.0.5.deb -sudo apt install /tmp/./jdk-17.0.5.deb +print_status_msg "Installing TIGERS dependency: Java 21" +install_java $arch print_status_msg "Compiling TIGERS AutoRef" -sudo wget -N https://github.com/TIGERs-Mannheim/AutoReferee/archive/refs/heads/autoref-ci.zip -O /tmp/autoref-ci.zip -unzip -q -o -d /tmp/ /tmp/autoref-ci.zip -touch /tmp/AutoReferee-autoref-ci/.git # a hacky way to make gradle happy when it tries to find a dependency - -if ! /tmp/AutoReferee-autoref-ci/./gradlew installDist -p /tmp/AutoReferee-autoref-ci/ -Dorg.gradle.java.home=/usr/lib/jvm/jdk-17/; then - print_status_msg "Building TIGERS AutoRef failed. Downloading mirror" - - wget https://github.com/UBC-Thunderbots/AutoReferee/releases/download/autoref-ci/autoReferee.tar.gz -O /tmp/autoReferee.tar.gz - tar -xzf /tmp/autoReferee.tar.gz -C /opt/tbotspython/ -else - cp -r /tmp/AutoReferee-autoref-ci/build/install/autoReferee/ /opt/tbotspython/autoReferee -fi +install_autoref $arch sudo chmod +x "$CURR_DIR/../src/software/autoref/run_autoref.sh" sudo cp "$CURR_DIR/../src/software/autoref/DIV_B.txt" "/opt/tbotspython/autoReferee/config/geometry/DIV_B.txt" @@ -169,16 +172,14 @@ print_status_msg "Finished setting up AutoRef" # Install Bazel print_status_msg "Installing Bazel" -# Uninstall Bazel first -sudo rm -rf $HOME/.bazel - -# Adapted from https://docs.bazel.build/versions/main/install-ubuntu.html#install-with-installer-ubuntu -sudo wget -nc https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-installer-linux-x86_64.sh -O /tmp/bazel-installer.sh -sudo chmod +x /tmp/bazel-installer.sh -sudo /tmp/bazel-installer.sh --bin=/usr/bin --base=$HOME/.bazel -echo "source ${HOME}/.bazel/bin/bazel-complete.bash" >> ~/.bashrc +install_bazel $arch print_status_msg "Done Installing Bazel" + +print_status_msg "Install clang-format" +install_clang_format $arch +print_status_msg "Done installing clang-format" + print_status_msg "Setting Up PlatformIO" # setup platformio to compile arduino code @@ -197,11 +198,16 @@ sudo service udev restart sudo usermod -a -G dialout $USER # install PlatformIO to global environment -if ! sudo /usr/bin/python3.10 -m pip install platformio==6.1.13; then +wget -O /tmp/tbots_download_cache/get-platformio.py https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py +if ! /usr/bin/python3.12 /tmp/tbots_download_cache/./get-platformio.py; then print_status_msg "Error: Installing PlatformIO failed" exit 1 fi +# link platformio to /usr/local/bin so that bazel can find it +sudo rm /usr/local/bin/platformio +sudo ln -s ~/.platformio/penv/bin/platformio /usr/local/bin/platformio + print_status_msg "Done PlatformIO Setup" print_status_msg "Done Software Setup, please reboot for changes to take place" diff --git a/environment_setup/ubuntu20_requirements.txt b/environment_setup/ubuntu20_requirements.txt index 05af883b46..e521b08ed0 100644 --- a/environment_setup/ubuntu20_requirements.txt +++ b/environment_setup/ubuntu20_requirements.txt @@ -1,12 +1,10 @@ -protobuf==3.20.2 pyqtgraph==0.13.7 -pyqtdarktheme==2.1.0 -pyqt6==6.5.0 -PyQt6-Qt6==6.5.0 +pyqt6==6.6.1 +PyQt6-Qt6==6.6.1 thefuzz==0.19.0 iterfzf==0.5.0.20.0 -python-Levenshtein==0.12.2 +python-Levenshtein==0.25.1 psutil==5.9.0 PyOpenGL==3.1.6 -numpy==1.24.4 +qt-material==2.12 ruff==0.5.5 diff --git a/environment_setup/ubuntu22_requirements.txt b/environment_setup/ubuntu22_requirements.txt index 05af883b46..3a9e4d6385 100644 --- a/environment_setup/ubuntu22_requirements.txt +++ b/environment_setup/ubuntu22_requirements.txt @@ -1,12 +1,11 @@ -protobuf==3.20.2 pyqtgraph==0.13.7 -pyqtdarktheme==2.1.0 -pyqt6==6.5.0 -PyQt6-Qt6==6.5.0 +pyqt6==6.6.1 +PyQt6-Qt6==6.6.1 thefuzz==0.19.0 iterfzf==0.5.0.20.0 -python-Levenshtein==0.12.2 +python-Levenshtein==0.25.1 psutil==5.9.0 PyOpenGL==3.1.6 -numpy==1.24.4 +numpy==1.26.4 +qt-material==2.12 ruff==0.5.5 diff --git a/environment_setup/ubuntu24_requirements.txt b/environment_setup/ubuntu24_requirements.txt new file mode 100644 index 0000000000..983fcdda89 --- /dev/null +++ b/environment_setup/ubuntu24_requirements.txt @@ -0,0 +1,8 @@ +pyqtgraph==0.13.7 +thefuzz==0.19.0 +iterfzf==0.5.0.20.0 +python-Levenshtein==0.25.1 +psutil==5.9.0 +PyOpenGL==3.1.6 +qt-material==2.12 +ruff==0.5.5 diff --git a/environment_setup/util.sh b/environment_setup/util.sh new file mode 100755 index 0000000000..e72046ad56 --- /dev/null +++ b/environment_setup/util.sh @@ -0,0 +1,91 @@ +install_autoref() { + autoref_commit=b30660b78728c3ce159de8ae096181a1ec52e9ba + sudo wget -N https://github.com/TIGERs-Mannheim/AutoReferee/archive/${autoref_commit}.zip -O /tmp/tbots_download_cache/autoReferee.zip + unzip -q -o -d /tmp/tbots_download_cache/ /tmp/tbots_download_cache/autoReferee.zip + + /tmp/tbots_download_cache/AutoReferee-${autoref_commit}/./gradlew installDist -p /tmp/tbots_download_cache/AutoReferee-${autoref_commit} -Dorg.gradle.java.home=/opt/tbotspython/bin/jdk + mv /tmp/tbots_download_cache/AutoReferee-${autoref_commit}/build/install/autoReferee /opt/tbotspython/ +} + +install_bazel() { + download=https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-linux-arm64 + + if is_x86 $1; then + download=https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-linux-x86_64 + fi + + wget -nc $download -O /tmp/tbots_download_cache/bazel + sudo mv /tmp/tbots_download_cache/bazel /usr/bin/bazel + sudo chmod +x /usr/bin/bazel +} + +install_clang_format() { + download=https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-aarch64-linux-gnu.tar.xz + clang_format_path=/tmp/tbots_download_cache/clang+llvm-10.0.0-aarch64-linux-gnu/bin/clang-format + + if is_x86 $1; then + download=https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz + clang_format_path=/tmp/tbots_download_cache/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang-format + fi + + wget $download -O /tmp/tbots_download_cache/clang.tar.xz + tar -xf /tmp/tbots_download_cache/clang.tar.xz -C /tmp/tbots_download_cache/ + sudo cp $clang_format_path /opt/tbotspython/bin/clang-format +} + +install_gamecontroller () { + # TODO(#3335): Whenever we deprecate Ubuntu 20.04, we can just grab the latest version of the SSL game controller + # binary from the releases page. This is a workaround since the latest version of the game controller is compiled + # with a newer GLIBC version than what is available on Ubuntu 20.04. + go_arch=arm64 + if is_x86 $1; then + go_arch=amd64 + fi + sudo wget -N https://go.dev/dl/go1.23.0.linux-${go_arch}.tar.gz -O /tmp/tbots_download_cache/go.tar.gz + tar -C /tmp/tbots_download_cache -xf /tmp/tbots_download_cache/go.tar.gz + export PATH=$PATH:/tmp/tbots_download_cache/go/bin + sudo wget -N https://github.com/RoboCup-SSL/ssl-game-controller/archive/refs/tags/v3.12.3.zip -O /tmp/tbots_download_cache/ssl-game-controller.zip + unzip -q -o -d /tmp/tbots_download_cache/ /tmp/tbots_download_cache/ssl-game-controller.zip + cd /tmp/tbots_download_cache/ssl-game-controller-3.12.3 + + # Installing nvm + wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm + [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion + nvm install 20 + + make install + go build cmd/ssl-game-controller/main.go + sudo mv main /opt/tbotspython/gamecontroller + sudo chmod +x /opt/tbotspython/gamecontroller + + cd - + sudo rm -rf /tmp/tbots_download_cache/ssl-game-controller-3.12.3 + sudo rm -rf /tmp/tbots_download_cache/go +} + +install_java () { + java_home="" + java_download=https://download.oracle.com/java/21/latest/jdk-21_linux-aarch64_bin.tar.gz + if is_x86 $1; then + java_download=https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz + fi + sudo wget -N $java_download -O /tmp/tbots_download_cache/jdk-21.tar.gz + tar -xzf /tmp/tbots_download_cache/jdk-21.tar.gz -C /opt/tbotspython/ + mv /opt/tbotspython/jdk-21* /opt/tbotspython/bin/jdk +} + +is_x86() { + if [[ $1 == "x86_64" ]]; then + return 0 + else + return 1 + fi +} + +print_status_msg () { + echo "================================================================" + echo $1 + echo "================================================================" +} diff --git a/scripts/clang-format-10.0 b/scripts/clang-format-10.0 deleted file mode 100755 index c3b9422c90b1c293b6b7ce7af954ff165385db48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2265160 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

hEc{kfILt{a+kX6Doe5F55z0yZz&-z#@`yeE& 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�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∓aiQI8iSkYV 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

qbMeS8^gsMbiTX@DB<5s&81|??3YW9 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%0D5p-c{2&I7!BJvTv}5*SUW%Za2?)9u#eSqz`P$4& zMU{Ib9ZkS~&^(39?p=GpqW~*z`FZ-BuxJe{(-F2#Z!i9z3pQzcW9Avy46JbTIy5;} zgt6wwaI2R$&l6Z#@!&0nb`Pf8D1fCjDFVwkfuB`L&>!?7ME-btHN+1DFl88d2|BmN z9KQYb^w9G1`{c161|81>GQau5KkxkWzx|dF`Pn(~o8kATFqbfJ%mPV>{Nhuc{{BJu zs8`2i7hT-ElQZqL^@%9#-LQ524^bPTk@gdLoENXDmi+iMX?|!U_$+!AN!-yy{gk*P#98`IO_Z!SEu-#C~(3P*L8L~rUXtkLmJwWNb_ZhNF zT>c;X9t0gUzir%nP<6F0rIX(%pvy&Rs$0O{rEY_}|6^JiA>m^k6Kx0ZPd(ElkqzJ0 z>!C_IBNE437`i#8#0UU3Nea5gSJ|yY`?HPLflCrU4BbMWHr~)aj)#s!SI_D$_CL+LS#T`Yi>nn^J*;o;00l-eWN;Xc;Lo{-rbqy~-xw<+PQ$EOJl zny=m8HKl|c0z2I3>cWH#(`=V&hhfac9fjisKN|gW(9jmJY@Q3|LTX=Yd3d7f^ zJTo2C`A9BZd!h=}*osuARn|@llRJq7srK$0cHS zZkS01sa>iai8XMrN_C6z%1H**=v1dz< zeVSYFCsAkB?cpf~22yI)tSf`2RS~&HR{Wk2yy~w2A zIX${MSNJ*>BbDBQ#CNO}rj$q(THWPri1jUFSXpR)SV~U0<#||0xBoD0@iJt2&qciiND^vMo!yiXpZ z)DaJq9GdPugY$OY2?zzeI{fr~&E7OTcl=JcXz6kZQ6+O`jeI&F=vqHVg6>PFIFeES z_HXyO5$ij$fu$R9SJUX89h0Dc&WWdCQ@wV8PlZ*4+1FLJ{Un zdXIFOXp3B8sv1g^bZFnW_)KQjxLSVGq?RHd>U31kQ0qnEKmoJfsPp`+c)jD1;#L5| ztlY@m&6NX#f_7OAw7BBoDhPJHDbyMLHv6J`*vd@1XQzL6k2=&`OVY5Wj#za_`>r*4 z>P}7%*RD&t6ReM$#rFSRPk7NrWc!U?NkG|`kP2)iKe}3@zX~iJ3F>=JBdwBpM7U4y z(kmJ)Uu47ST30u;97CA^r@|fmG*=_ zSIE@3bz21*L9njM!Kg)f+Vgc}FyuVpW2(oK-v^H{N9V|M*)z=IB?rl4of*=a%(|`F zAmVachhLUl{T#QxKIfVZD(m6i!vG9V>kWw(yI5F$Rfr3WZd2dJ_{-5*+ z$0Gy&K+F9qOfGkrAZ|Q^O$wAef;w?j`EIbGf6>QGr_gkS*cM(C6colVW=b4wG+akK zTGs05{n6R=;ra%5^95Dgz$g}C)eKlMQO?crt`vV+?L0DrLs2M@8h_3;T@bU;yPH9s zK{GCT)S|@sMRc!q^X6`=4>K|5cM=o2d=Xl>Rih>q9i4aI0&}?l4$_=URA>F+@uc|5 zU17RP#480XJH7i>2I-zNw~EpMmGlY$>73i7cX{Bgu!`y9@Jd*9n{Y?3Z)kSwa>OhB z*L&^NNC;Kh_8dG9;HJMPE6hT6GM6b+Rd z0a{JqUkn+p+!VVN1?~;}2txSI!V0F-19bY=1#xnow7awJmTdayMWp&zTDe9jG6Ow9 z0{7m3ZrO-GfpOdZzu(9?&Em)w{4sqs+;`%9azn)Cy8E?KNsvn3^Epuq$d9f@lWDtf zKH4k{8N!K5F=wh?IN1;IS!5nN`K2Y%hqw?@=`OcHm{Czp>yee=$3Dnnj!IkQb3?}TZRNq?c-q%$Clfe7<9RF_SS`9|>>hJcJqRKpNcAr(2B>Xs$u%~$ zuge`eZTj8vt$&4?-P*;~+3PoI`qGAs5_J492gCf=n9##p7oHb+dL@Awj4d|UEPS(E zL*bURQC6@j*)z{CR~+}dkjT_(wP2?fD@siTijXR>Q}2YMt|dF+#`hJ3g90U8SQi7J zo@mn+ud$~nQGqTthgIiR} zTTPWqVNFwB`ER;He$Zr?3a=QA<9us^M+mw7!ErR-FKaUY zIT=yc+~^PukowkpVk>5zY;R9In0^zEq{--2KwtzL{S19InKc)Mc%uhcS9!S;#i7ZJ zD{}%ggrFf_rQTf)FV*+~=G4I4tRiuYeqmsnFkFTb_LY(g*1*KV^iX_sJExhBXDJ<` z=bENiOly64bH$}6>KVX&#Npa8oJcl4&$}EJ#`AG3si76Ok>^LusT|~iOPI&duu#X7z9Gw^dnqh zyt2D~_PE)u$uBH3)-p>TVX;_;C?J6pAj~exC^UFHtUSQl+NI{vXS}OBLxIxR3Fz@0togYQJf`7)ahHN0FlZ@pi_Myr; z9-(>2w8GWYy*G9@X#C1K^*|tWn2hxNh^yk%B{`Wx*hl^2-P81=`uDf*I@LGN{d_tO@msEPT*v?T^&w#tT{qEPN*MiY~H=l<- zdp>i50!Wr0)IIF%v{u2>-ayhqx<^v@$=LOGo5vxG70fe9xe!n}R%p*P7t3}@sBJc@ zKmE<0cUG3gOMLAg{$VGq2`@oz$#ejK=o>Kft2dB<##G#uZH3dlzY|zBm_G^2( z1}fO!IvnSsnRU5WmtWTKo#iBMNAs*2x6G5}AyN)XU-mSuoX9Epbf^I0(h|CS#=FLc z|4xTq8ZoA|tT>5Qc#G+&CuhgYGicCL7*JN}o7ArDi_MJQ%S3KsBc*=%}T29u(yEAW?(^Z;965j z<`}`UEW`t{5a`81|0rZr`Nk50#V!&)(HYXSZ2C*BKGt$=vS?2gNXqssSmz1@J&kKB zD(Y@tzo`@ZN#;XQtog{}qTkCA$nk)w4n9+b5UE&5aNB~pTHIPxgj4#wy7JMhx(9eN zjTREpAvp~838gjrMqwGwA8!ABR`*w#^!^}0K$!+?TT|*b$QodRR--+uw_~m|iS+&k zIhta=Q$8M4lsXa^CzN)LdGk|Hp0Nc=3?F4hk&RzPp{r#~Gd3C~W~6n`ibcY1OB;m^7b&~7V~b>+&a zzhNrHu>GY>3Y%FzHMtIEIs7b5*biD9dQIwdAww$6GetSwmqmGFtX((emz`AMLiM4*)K&M_`UvZP|6 zrBQFiYIoXEmFE*)p@+;NU0*tSCdPMIPWKVJ6WADe*G{1(OlnzieXzBwQbv|^32}dm z9*|Q)@(hcu+;{kanSjZJu!c?bGrZxT6^N*{;LtEil`TLJX+CuGblY?2M=f_F_OAi$ zePQ`@X+sH@nzMV&c-QQe7r*=3y?T%xBrih zDGZid*-ygfS6tu=vG%O<0I}=<>`EAaWmuu`93R>XG!(vh*=yYmH&b~gs$#OkaML^; zW5J*!^bxri#0CY)4so7y7Sckx(c31yP5pZ31vf|2srHDH*d8$rv~F|ghn32h8ORm2 z^`I$(yEW6GXBRuK2;1&O=OsxNe{-;x;I41Ea9Z8!RR-PUT>6CU)FO_jH^?THKNC_f zX9>hwco}yL5FrkgK5euBy~OdTvtd%Fs~WNH3{7=G8&k4s8sBhe4@*gX?E|`XK65(K!!8JE-B-X>pq)GTCVz!|HJSUcR*9B5-o@!2&U-hfYelVb; z5uvqL5?pYcuOD`Z&#yo zp_}$xgEXB{i>!-cK8xJlPhgBB{8@Ud0=}#hM(k7BtqTeu9!28*_)$H03YPB>gpj>P zE1(BWEDrdIkF1v$7qV850zkn=-^$lvq!M&flNF(A#Au@IsH{6Wjbsdeqv8SBn{$HcEL`Pb%OJyn03@9aC*&W8TsK8$9Q;2bk#^U-j)m+mxv#0ci)>3@U z)^>@MY6H(>OR4@?x@p(xZDUe`)Up^GZ6P;3#zvt=md^Cs%ca(i?+eFTaBJ+8psj@} zV7{>^Hi6-UBM9?_uu#zRXm`TXp4{lA?s1+B5|Hj>chLn2HqL1NwnoE|bkX^egp-r3 zbtzSzL@br8`&rd#_y}KHYugk~S4vz&v6lQ!8%U(92u}ZU3&(hzrvGg|fU&}^1=jqD zg(-Bt&J3PIqRP34LsPV#x9Jumk9S+v&0PCwkva_Zz`4gDG~7VvTSFoI6`kge2V%mH zysX}~KGUbD0NC9AzAd(g3*wOK4A(2n%$yvEHf$H$3jvx(aFTk#h&msVb-ioPFgAl& z=;eFJ1Tsi;vp2*U-DPu%IuG9EuetY;Kj$gdHO$3|TH5$`jM;gQ6&Z|RYhx!fZTeSs zh4JUHtkDAfJGn{VGC%5Quz%}1T>$8U*{I%j2U#4_?la&tR?ea#LC{1M$W6L(ZFvM$fU1v1&36xv1!B%!k+%ksWGQ7E7m${LIMie*n4y!Ep za6bw+Rf>dl5mn)GjA^>eoTN;YOcqTof zX5y!9zCbNG8}lS2CSmC@w>7P8fpa^5>7Z`H1N1W!G*{wAarFM7yN?~1|HEBy2uwM> zU(#7D8r+5-n~k@nTgu@>coNm6VLILKjBPUa`vK{kF2`tvPf`RE$18+eKZ9!>ded{j z0IhSw9T*+1Pcpjvhgk?HN}@0e*G|2FQUc zGzd9pm}%jW<~1!LFE3l>GdS{Wm!47rw>;CF6iW|;BdX(tgW*c^!Fi&NTuWyVGV2#A z8IZ{#x><6$T8=_#2%1$Ul+u*)5KHs-3v^t9Wx88FwD@Af&hfrxGfYpSYH@EH)|cuY zU`z(4|hjBjiBB^;`iOMjDQ+F`qxxv`|_ z{*#D4+fh$jy(LSz`5K)NR%VxwIItr31q@{@EgWyFgnXduwbNjmn z*7LOc2agy5kZR3lr)poujzDree(P{a*C89nP*4m&z~P(#+8tV zN~6XFmziqTF8L*vg=`9Vme_-NCma1t*=QZwtUr^`@kLik~A|qW7{oL{ljUcb>mMmn|QKS zyz_ReNsA;6yWAPMBIb@GRYZ2^4$Q;L3tGcT5XgOh_=*y1d{vKVYi8(W=&*%jIi2M- zop_r$kLE=UdLn+Jq*Z#{*rXOn!GDX4tFLq`DXY`T_a$z@tfl#w-$icQi%Sp8q^R>% zdjl~oXS9e~!2@e4~F+J`a-@hErS*v>3TC(k~~-{4vZZH@u9Zwly$ zbuGXpr`JkDr&`@yI7yrwR^W;wWHStU*VIWx7Imt0w(z{9^Ame~3C*N0S?_P1s}<}* zC)Q78%hOu4FO^WTxcN0g*1Xn3&-?i)b-P+V>8tEU2Hx?dNfR{NiWp5^)-?6v*rib} zQIT|UXO+Fg9o%X9ny=h6OV<(Xe)Y#g<^9wmVs5#ariFW;!a5{3xLCwY6}o+Lt!@yLbja=EOS6gt^xp9sI>s;72O)A17p8m|B>{ z99#WE)ad-hU?YE9^X28Du9OE1we13>)$zNVLvBOln%v_ztA^@LO?1*|qrCW+f8~zy zY;Ixihq-Xv-mm+;Q#%tKncJM#tshrvS|$!ddN$dKU6#hA4mTiXHoZ(vf{SK?dW=aL zm~jc1NDiwGn+ii59+KGUfh7C*hPH6s2UMbbjwzGS$u?b+m3(?~c-V~Sk&TzB>;02s z8)y{Q>0O9z#(S@<`CpXCZVuN4@yF??V)!)PZ!obRnr(#k6?}N0Ye}8`OeO7=qP&BW~hP!s~lGjY{W+Q zUR_-79p9WB?P)D!JPDtgH|ys^EJ5g(mhWDFUk=f|AB2$ovEy&JK~Xhdx8Zuw99k*{ zqM}^Vgvg=jV#a=nhrI#|_7Ms*%0|XZd;E=5BDdQle7J%how>Pit_~IPT&W34I4U;8 z(_QV8@cpH{a3PpCdefyvDoeiMmjO7ghS6CoY%y$7nNtoYTbbpm{Uc?00lX7I!j zP3#(E*CWg%Hc}izdpAvYh|KHc6UL2G>qIxgW>Cwm1~S-UG(E5cbp=2v;+0;m+Z0T4 zDzb-ygz+A(=ayR`j#O#q1A8tMN^+4>7CkXByVScn>JeP`3B?OEG)>I`Z^(*apS3*} zU-T#G2Cr6Bd2u#12-N|5)JxcX*=XF|*6xT-YIF%`5tKn&mHbE0A7T1@czbz6Tp;K-yrEV` zh~V?tAtN8rb@y()w&77U#0&x`(Ny%?c0&}xl7Xy-abZJ=COLNtmE$>^D7g5fPv6Qs z4`@7_zubdjA4MbfD?eeIoX{XiDlkk+jxZ?!l$huE888t$p^(2ZUi~Wq6e6Szy=m zK;Z6^@WXaMRL;+s)o*`c+hJ)l=rw9CC*tP}?VH4p=<#ISy(_`=sUvVBFh7$n#;FvBsGE<^ATAvRO>lLK0p{hmh?|pcHCNUO zu}jbuYqIH7!Iux_Vo@mGX5E-rz5QL=|f($f5XLru+EC4NYL==?$AvwV~DYyylQ_b0P>?ne7^5p+Wi^DEL! zF0VeX7*~P0f?e&KvFE)S{M7?3flqP8aT7p9!hU0`wbMMT^->c+=l>ayG|+jrYG8tx zxMQmMC&e#j15Xks%9b{o1IDfuqvoz@n{QR|HAJN&MlN8s+_dyC;}OPoi)DOikxbY1SaA06As1h2IKAzSUU17|OTOr!*5%YAx-zQDCI7?-o%JU~xRM_U3#9Vw z&$i=|%R|26t=k%?4(T$g=eEuegB-BNVRd6XduxsI(;TT3f#xTVA>iikK5X9N$YRl*e5*B& z<(O0&ET`tbEtd#Nq$f4^Z*SK&a6gu;9{v?hnY$4*;M3^HOUD8 z2SO4@nsdrbaIvN*XV)Jr{mvG-sjsZb8fZvrrB14ro+ z`=d^32io0O_oMC%rc<7cww;c44B|!|LxzuvbvbhWba4L+5v4klUG6!9A$u9`?m+^; zZVB1_^y9OkR+L)YPlp92mW!{67p0!#YmElup6%RY@=ph*hMv|;wa{}3lZ#LG(k7ra zXj=tJQxCw7CJD0y7wWPEDbkCkcT(0;crhB%Zk6jM z*ohM}1PoFw{dGOuHEu7A7Qk0c7;Jb?ovZ4+Cy`6XA(4QDJqAeeW~170txi{GwML@5 zT}QrR<0iSaJC|@nscw)AYT;cwx)V~Iu-WKJ-I}A_UBf4cyCd)!`!5U|`Y*N-h9Bqx z;H}4(MF*W{q69K|g==sKGAo<>5LL75s5&&J3X&K_ZLr)i-$mUSC+TW*xF1 zko5(@k!Bt|#6&bNQW}D}agE+0EByakNt5+&z`q=>A30D*2NJG@d`^CsP7GC4%#%2z zF!{UY@zkI3{!7~1OO6@PvBmGdMh!v_8k+W+$h7)|Tn$H%^5oW9gYNkTv~s~m_!8X@Z%Srkksb103bRiWDKC1u>BD&x;rPfmG&`8RkyN+4;!CP0{aq zURAU(Rfl%pt9ZG8|9(}=C#pKIDxM|kRspfnoy9mJnO{Nb8{T-W^cuMRu+$PsEL;@| z#x}hLXha4%8QA$&U#_(3KBn^W^aCLy=8mh=&*__B4J6cFS$R|Nr6H)&8Z;$o&9gH` z>Bne^Y>AaL5vjk!BiHC@^KN~5b8?BgmyAMomrPHPRmJDux6kZ8GglLh3Q1(gBx$ii zapwTG%!P-I!}DXW{StwV;yCWe)HQjQN^5=0j8ny7v{!}`G9Tni*M3mHEm6VpRTqDu zv_dVEMe&9Vyz6&2>$aG7+j4 z0ibLNKe!9lmAbiATZ)TSr&@2ZS2Bj(CvwCoiH2P=j##N`mVF7*`bv z3YD*^GXgJ5eVI=_f4>3zenadJrWSHX`t>0m1DSi^Q7P}>Lu22xGq*d~L_ znzIH*coD7<2(Pw1={}%dTCwpwD=iJa=T`%}ZbyaoR>@}>}q&Pe`xW5h5AV^l^&V(5miHMSzAYn`POcI%avIaxZ~+@s}0ZM;Ym zLOnu{ie>>WED@C*!7q)Z=IW8yJ$^C_8IE?P^a@xR)vVfu77Sxm_7d9?GQ^!dTuF~E zKw+#WgdrT3UIo0iVp=WymrPWI~?(tHKPr6-$2@Q{L_y4v<|O9TqDyvu#vAzwg>PrK$)e7|F7 z+Xn4qJB$*02?@ikx>pyg$81skcDTWDdGU?5{7o4<^>U|gYIntw#Xc^hJ~t}t+u?ZqJ5UI`ouUr2hnYkJN46OEKoNsRinSGaTKcU|xbE%L^0OyH%$ zu#+Ki*sPjZ@*!R#>{e0{)I+Ifyp3Jg0RCb6RN;UvUaPSU#KN1gP4YcgAEB-tU;jrm z#?cwYbKTU~5`#M=yDzZ@@p_p^H~)w$MN^TmwC#meJEpnsPmAR!z09Y`MVK-@rukc} z-?WR#lLhJKx3CZk?buY1W(JB?A()v^w4H<&MO|{*5vrGu5Orhc3?`DDGApmM&|b=F zr51+m)A_|TLe&1YkENM6#o0_#ZiKLZF;T$@Tfw9NWMK@b#11FA&b3yTlxbaviXtsj zTDxw}v#ldo&hS*dCe~2xI`erQMR_xB}}H8o2sx=w1pl zhTNF1$Lr=I&eVFkM9+D58*h0VoIvq2^JLbd9xb?qob=%2PB3E_trk;la!#o^Nhbg2$W51sPRSqAAmNC+4C_)5Ecn+#lpw*g~w z+^7208L2kLv@&r+3lYSU=4IY0jq#)@0Ke$Z&PD#0q%K$eEyP`vdA?|A0a z-?sbJw?~IS)_P@fHi13ncoz8dvz49?YEg|1{PGN*yBM1ej))P>0hpI80;C#qSbRm4 zKk+VECG&fAA97}q#O?l;u6v+Ux9iU`?mt4-OE-0Dj@no>8x-V`GSoi#y^rD<3bPbj zaYo5&%R{DI^!BvVdCLTO$+dc?dv3u%cr`jDpv&X3RFg!(ElRH92SmXMN7wx!a3pQPoEN>@Cw>FET4#OUK;7`7r%2u%Gj)9qkAPG6OUvOP&prn4=m^T+T9+~!2*FOjA5t>-* zdI%{cKU@)%SRH1;>r=1{#f{Qf`>WefLsONj^1z478!T}+FB}gqRQ6P?TOC$^!*veb zTyrVl;`9O20+Of*EVld-o8tntQx{PbPi`0F^$X}X3t}N3q^HuGlDi+v1O=5kF;jv+ z@hLq@8+u@fp|3XFXE?Qn_)_)||D;94$5L@u;su0f)ovkU)$l)a2d7;sg31&+s0)fN z`2yDI*BHUo(Hbu=Q4`xj>zqwf#Gk1P1+t-JZl`LPzQ#Dr^2)k!Y#;F1RgZa~1VZGg zN4Wm>Z?#%y&6iiC1*n;RlrvinQ$&$;KIT_*zq^6wVa6DF%l+^X(bl z@M+Z03K%(z{)K@*GBqZ(!xi^*;^0WdJikUc;ew{Ihmvbw6e(j63GLj?I7Zt>f>TII zv4OVp^|sHltTQSw@%l{lft??LXQ%++7_Aze_W2A8IjZeO6W$7>&$Hb~Kexgp z>xf@dCtI`eqiv1ca<&z}=cwS7FJWLdAm*1G57Bn=5@wJ4QkoMCe)gVQfIDm`M6vu- zg8AetMp(LK7H}Z{rCo!<6MlzNryb-OTP4r6H8e3nzPrEk`t(9q7Q?mHmlPLU6{WK~ z9ri6_iIGpo6M}6UP_XgqF2O-1g^KlZg!C=4MD0wfKrW)w!=~dBoq`&N?{i+fB3MLZ zJ0CsC@Wfz|_Ss9A2jSv&<#dN-jdzbPTP}?&@dw^?-$A?H6aXcc=cg1Lhm$e5MluH2 zK=v4gFYv`K>S(N+mBdp8;SRkEo_y!g!|9ZqB(v@A-#*U7Bj5r&_I~@DCU7IQ=N{XM z(mI@P+7{k`rCnu)oiQNKsn9kQyKDzmxe;b3!Jc;a_qdj&d^?_vN9^4{(9kTW)V_w` zYiBIMkUevAGpS8>P6y}`Ddrm_M4>T^CE_cTS3@SRnPMiY_!Sq+#GPf5yNJ5ePtp71z^$p1Fcf>SnN1*XQtXVDKZi@7tFfu8F=TwFy=rCF1Dy zYs^{Ysiu3Pa+2nv!JJE6aFy^JWq*jWTFg1orMiSAj>tigcg{Eeh`Ji6{71!<<6Z~k z?q_d1BLXA%Z7?&X>gx3KLEK&>v+Y3`bG3&5&jr$3;XRNvmc7m|ucC>3rpqlIAkY8& z&F6zDBFPLp@uLV=bU)7q-Wnw^>YlF=`WE@49|piBT}UEEBUC%}Ljj?h(0IoN2aNQZ z4i!xJB%Bu;fo=t5H;lP$KL@?#L>b+aQ!G7V{1~w9J#y)=xp+j0HA7-SY^Xiv2+PSD z%10LA8Rg@au|0k6_C*wKcOIM;k3`>&s&rF^CwoZ`L7Q>Bfrl(9t+*vE=1xe^vW;+L zn8I)@=MrXy0L+%f;s640fH`yg0=kKpkj+DVlcT9MCVs`Ra z^Y5(bBf=8bmp50(r+udVM3xDCOEl$$q*6ymjYP>~?z|R8_gH5MTK6%7ZfIkRy>5np zMFe?Gy_k(BeY4U=eF|(UBQ{1}tiznW!Gmd_MVO+IMgOoOqohtYsUJFP%h_)RET?LW zd$v01>$3%OZ3fa&oF@`sZ6`n~=mAaVOYnxIZEhkEhZsMIGC2QA1t3knpT(BH%E1i%+nS^J`kH6@yW~*$d zT>4b<&$#$Q_XeYYwNg(jbQ4EFd-RNwA&{$W?bzFJ5|fNi;6x)ffkEcKlj81vzCZEV zR^e#L8ZemR#%35-%P_ZdO{iFc()M(lp?^3|UEgxW$YT-B>2 zQb*76QJ%n`;#MEHo4Gxjs5S23{P!TY_dN!&bijVp<;lSzZzxw+AM|_Z-_L7M7RR~o zLMczvO(JSEb#IK($R;B-3+n_GQxU>*7-<2KpRM~C@+5cNU?q}z@w=U)8~ofnkVwuk zc+V-(s|<}#9PI%_p5B%Doi^Tr3BF%XdUDq7Pr8^zjaKE4Cg3vMXF2lbc~?hk%H3(+ z`rSHx{@s&bjGk)@sqlasdUyX$7X$D9;xW(KKEUG$r{M^T`$Ye)fg>AjRg0}(Jo)?4 zG+jNz?Ahs(I+w&~A+1Qb;a*68*Cp2k=JanOsC%qs8@ImE?5V~leuXg+b2{2kt4I&E_ud`J(AlE^* zQ_o`xzsDWfIkb87sJwYi`U)%gm@jweG4z_1`CS~7oKJ*URJrJ6>Y-F#w!dcnfM&lq zAM~P)+xzZF-7}@!Eb4AnSu9qpv=gTec3z#L?5ge@M}jYI;AE}HMNj#8xBT{`mUR(8 zWNvY5GbLqY!}@ipR+yK0C%*K=Unnx88aaqF3nD~hT}GC`CoT;?iB@y*ZDS5PK#KpK z>~H*KH4V^1pU6NgCfD)Zd|>+Xc*t%uAdhmrNgK3&d2ZGVF_T>1nwo1*?Esru( z>oL6*xcR`nfvd&>bzHgI_-?jUZsE<~%bLn+Y*f6S#w5p)qfinIMz_8pnrOGK#E?6F zk&nV)6*vhe|~OD7VkW&n%QXI zWH(y+>p*4m?0FDqSd}OoE$i4MTKLy9+{D$B9a)w6YPzwxguIcv<=BA6mQ(|TP*TYH z(u&}>QoOxP`6xI6JmIZ0HQo3Dqfkw|&J3<_zGwQ)bH23>e1d_!jp{bKPw5T4YDmb~ zdwp?ZdF7TKN8=9NcSs^G@u2Yjd2X5%Xx|_4Dty6QKvB!2xq}Xdn6aEymlw~i%a2JC zq(n3>Fc6y#BQJ2v4rvUJgF8Qi-+`)`8JM&xyM`HFkwod*K)e3DL`Z~6?`~ca zJq2j-^2Q{av_$z~9LQ`8?dsh*W7B4h-IAY(pH}zyDPlL$a11a*7jaI+?xbQmxW%JoW2x08u5(g)9_E?EFbsHbGqPq zZ3ET-IdaQ86!cKhITrPIR?1;MV=qP3&&Q`<(Ek$HWN}H#8}tmxJtscH0)(4ocp2BT zTw6a0-c9+FoCf^f3&X>BQQ=b^-@;1^FK7>nO8X$*slIyN$dG&Bc%zP84VP|TOlaPp z7)g9$UH?Vijk%8(^6thwnWou9Xr@-_-LsrdMVfUY+#r}3yXmhJa9>S2g_NuRC%?l8b9S-$j{r5Ty;sdlc9p=S%i@ z=ooh5zJ=+<)FPM0)vmi=AM0#!i>@cUe9xDYQilMT4P(BeT)ritnQJ$li%rkN6J8Q4 z(!%?~%5tKFRpgDojJQ-cl^UC9a-98E#}Kk(!9sd_wEo5k!CYHOl1Xx8TYSI{6Wji! zeH8O`0*x_aN@$T&4X!d@hIwt>Qm%CiRW0z=sx~f8VX_6w$xOnO1-2#m&Ey`SH9rQz zGF=FUS(@ngU;o}5*R}kAdGWPtAW9=X`|k9-U5BiECyUw8XOmx@gRHoquuEicY%GMw z)k|0~%mBL%W4@-$0CPfq6t{1=q@I~P?G{>zpG%}nDI=a8AZUE`^50*?CL}@1RxfD8 zf&l8smowN#ZhyS#EG3RK<>Y9C-%k;5b~g<|HXPa|91nI75kW4dAg*?wb$b}55tiE2 zSeBX)A66E!@@f?ompO`pk#dAtHr~t2lMhJTuaB)&t?Wv;a89c_~T1^;<*0J>4*2YY{bEQX5=4_DmY_& z$hKoX=P@boIB%Pf#7gvI%2~z?Z*2-_$DUhGY-Q6+(s@mE+jy3dP}{OC7FH8FF8~HX z={EG%S6E{WY|#CUHbBy6Pa>VAw)GkNft#^Fo5UbAn}r@4lakfSI^Bfh!4JKCoqX8{ z8Ffk%bZpoiY)pmbCp8pHi)-hSz3Xrdm}Z_8kD%P+^1MR%4;7j}@0g9-P2h&5gAa*J zCzt53SUTfrSE2P|ZvETW|2=QOl#a##wB}Veo1I6kKMp7UFJJvXzx~7C3(q8kuO5#! z_UimnR5F=l^oU$3cRzttTU>ALN5hy~W;&Kba(Q33??ii2X)G-nPIi8Ceoc_}xInV- z>Mt7*#t?(ngJo^(=F^Q9YyW2}24ygN#6W^3hvM(Beu)Eb8Vs;!%)P18S;kXw?MX@B|-hp`v2pv8ma{R=ipxS`~0fPCg<1{BewxsI~Utontwd z%?3IdLYKst=Q-z7Dd;s~DjqU>PrDR%PIHS=5xsh95GTJnUsD-wyg8b0XSAv|^<7}G^^-ysOU!E%N|c`r3lPLc{otC}yLYGb z+X@*Al7~7pX*;kqMD969a4`-R*afSdM&0`v0XW;Ao!=0HMKCme?|hB!yC?@>h8<=D zX>{Z(H7Y1NYEz2tLb4ocIypjpn*?9RxQlDS3@47`j!_HaSy~CcBW_E=1p5v&{^sKH zJsWWk8yoVGavyTiP&1MpWrY#RGZXi^iw~kFha%Np`4?7QQWGh_1?_BHaVfMo4&}aN){=BhfLlM$#6Bo>h)GSyJBAH4w z9)32v!*(dxN%5LLq&~AYr9oE$lZ`C`D_zyiy@kxjH`Ed_rDnGSlh!oa&z;{ z222?l$tkuwH7Jz^V<}wb5BcMhoj+RJ(%Jhp+31Ln7d1KEj}B9!B?V8JM2DV3QoCWf zoPC?jN(9O07aLs`;>QYf7rn`md92kuM0PLz17~r^8m!2m{z)#srfLHV_57jDWIf~1 zKCUWT2=V=cAA2$4-{#l9xyS^E;RbKfyHdtiahhkyKB4&t_Eo* z^5@+tMtUKr6?s|>3MjvovQ-;Uss{7P+vNLrUUNTvvU6bV@t(<7)n;y8(2(2I8_3?g zQeX1xqx0v_EB8DS*=sno7mxUd6BYNzZEst?CvJk|AG6n&lgYO|?z&_(CO32~AoxBo zf2?kz4dD)%1Z&tQW_z0?xw~tTsXSCpO7o&@6R=;uSq~wpJDwzCqMWJ55JxVNzWogc z)v}$2A7PBCT_*=h*pO|a=;}w!glxOsQd%~24BQI8$zxq(S3J%c$|yWIg8HZoJnwR;6+A8-$WEW|6Rv}+iu*=ZJSKeL8NTLlxfLry&`i}uFi<)2Mi{!2 zQPt{YriLRdYTEPA%&J61l=gmn?a?}k_4+2|YWu0a$q%FFZ9sZ>Mv;IqpB#)p{rz^q zT0y#8ql#isvdpN)vGU+{^33r^#LXqO3;Yr6pnd?OeqQ6{wn{yXB!Nohnvhu$0Z|I#;a1Q zaN5y=2^zAc$&Y07OT7|_*pB3{_E_KUzL#|Hd@QH=eRS*vK>A9bUcEVbx30D`c3+wC zt=4bR@7vu0K1mp4{d|#t%?OoEA%_`jG8`G_t+j}+5qQ4UD2&Ah?OMI_Z4d0LUrnVB z8281C9K;u{@9FX;g)R1y6YlW9{63SM{cCvoA+WF1bzkRYpZ+qQ2BFFyTTfV;Kjh(B5EiYXiYX?l*UnfDqp zMmd3FCg~u67Yo23fRUb3Y~9tE%1P*SncId!hAhO8n&RlA_H0~)KSYX=RXyq24BEtH z-Mhb$c+)hB&C=3vQ*{e1rdkjCf z8>nTn>ZK(P-_r8qH>1&dbPuEUch;@QC z>M{awvQmRc>XtG5(Gfj@Y8hk4yaj@iPdnYM zp6`dP5SrlLRq^-pY>oFXWlPOOq zc?ug)e&~rTGmMu|oZ^#Pps5jdQMy6S)RGL|Yoznc3&^M`JyHOw60E&R?IC~#YVVZNl ze5N!f+$YAjvY&`qXw0W7A8;0iW@)GrBX8)G1lTDfxPHJ}!4{2#;`7_1ciOMGWrsF? zFm<_tK`b#;f2cM4S_ReE4z`BGdbNXB`|YKT0Q#6o;PZ^s@yknZK^!6lU^!y(She1Q zofE~wadM*+R7)lL5^B&A1byF_Cvt#QV>00ZQLNtx_<#Ca>IAXyvL{AYhjPq;$%aQ+ zGPTbhqLTxhLIMewR`qP#asT%F`POUibNVz0N`7SKYF5SqPw!{#dROh* zzTo{cA7WqEQa+X4l1hYpJ^D9{UG&G#dg9HFxBy>Fetf|}=^t^UPT0ws#9RA|KfWbK zJUa3*tE%MD;A15#M%+*k_P$!Py>IWnadX7<$Y+vD`i9~yyUJEcLlLHQ->_38HfI^W zPQ|pzgn*?c*t&BhqwgUYVl43H>h-=qL>S;V0g<~Y4Ek&Q=PHo0+-!Y9b}jD?Ti|U| z6-9b$Xjd|i5Gi5h*wH}5Pj^pKq64U0RRYYNVO-KQytMzK0%J|{!T$g=;@vlFdZZ(K z790EAZ>%hHQ`$jWe+Nh(7%v1jBva((rgm*;$7Waw+vzsrM+B1goKDXUj#peI0>+y+ zw)W>+UR+5QTXj`c{M``-Gs0iia|q{ppOcrO$kXchYqFc<2ldOYvaw*YCdHy69nHe7 zI(oG}q71bu8cRDYwf)Uo-ZOZ$_@9fv{kwl|Rz;qJWqceRncvBoeJYJ_lXyN;;HFZecI1ijxt~1+aWabMW zv!xlHsp6Q$$!p zpDy#ejba-qs_G_-TJ(SGb-Z=}`qeUnM&GQv9Hwf2qQ*34n0w=vK@2o{fv zPK8s-N9YQeR!8{y9G|yRB-12?{#LlPcV0-Cz}1f4ox^bQNTduWk5z(ic_KlhGfOwh z4igBY;pR#TKnC=h<7X#IH+txgTuTc#V$+~e8pZ8+xl7dm0w%40kMW(=mC#u_+No4^ z2OtmY_t!R5T%_PEmau#2(-l{@KG`qf3QRmj3&Rb?)Kequ-6Y{N2k?sg_|vXc2fTJo zD{-70f*Ov7mF3*s=nBr1(ZETMn6ztOuIcrl+UKgMBy}*fjKwc>Z4T_Gl2?isf8IxD zg1nH+j-X(|?Q0X#76^zPMH;6F&R@e3s#Hl| z8QlRoSHE+$%jeG}$WQ!@$M$xg`{)u)WM0age85A76OZKbIR)Xh2gL^3;Yq(ir{-$7 zpgCQH2Q@;9G>_=J1C|@vr>HNTDC(lF;BcgKM>z?#HO4*6JRK-MJNm5ORwM#grmXk$q9d5GzUdS%_ok-|AO*>O*g{j{@?!QUpvzVU|w>AwkdF1 zS_KL!1tL#;Ym{tbS-D?^Hqu|(g_Ff2ry8=429*vb`TN!!S#%*|+B8V(-eCsv2|Ix4 zS;yo)VQa<4FUhnXE1I1QsY)KY!8>kcUFFih_Z_qC2197E;vh)}7EH^3EM=D@m?OI?SgUADpA(%FXm>4Y_rFzfL9fJQ#n*l*{hrQ_LU3Zc2G-l z?g*5<$3lyce9jkmPLC?u0vDP8(jQt#dY?acLL8U_#7AUq-X)QiPI zVqMsQuiw6NwAqUpqd~%$9M2~TF$P!}!`-}5<*mEv(GTc0nt+m-M!91A`>JCJMVMNP z8jJ#9*{=IHSNoB#3U3O-?d}2TbR1|F;^R25Y5e7Jb4SB_57HP;IYqlmtclQCUt0Z*OdC%%B)PcuTr7WI#3xBhVWwgM_PLTwnLnjyH^!*Xi_Q z^0wm}-Q%^wqp8n!X?{Z<+gMvbN0MV3!ypqeQhfHAD^eUSIrZ^(7>2z_aiXZi6OW#e z;NiJ3mUsv8c)dJGXMIaa5gmu63%AJ~I0dlf<(0D%+@a(s^1_)EIscRw!yeYS0Nk4Y z?sqx*?|+ZYe}ZT7|F6xvEG?#L^q9&IdVMUIc zBEkBjXi`0vpqsE-BD|=2Z5Sy594+0a{YkiE>&mS3W=dLS;+~{ z{b2mT-=lbOeSZ3K_2~Tcv0X1W{wWX88*lEUBz?-u6423NICh010XLkK%rJ*R4-f-{ zF%vTmQNU2S4rF0F)g@qez|*_aT9A?o!Jn?j%@2ddWT|!>b~Ixjn(V;C{&_xoS1 zVuK%U?C;F4IYc)M@|4kS_E=LK2P(hP6E4v77sE9NV@&l#=_Ux?E(MQ?1>|lY)bUDJLhE1zjIBS`ENhsVqy=_hc)GYrNJP+-=`o zj{r)=@s5M<8eT8uJGWN;26I(9B1S{Y)bpTmk!*M;<zihm)KCqvzbS95dID z^Dzr9q#NWBL-*$}VL!Q=Ax4$0)Jli+I9Ew{gc8r!BCXS*)N==%^kLs*AaV;q8B6h} zRpmPos77qC)v2rJhEg3dMg#^?{P~JNPoJdcwt`$cVb|Hq9^p0GYTfS!H|2_Q&n*(t zOb;6_*obRHaonbzwYo?N@>8zF$eVNhmK%UL-x1)qY&A+!B6wl?Sdy|HyN#mO@B!!G^5!RPyAm}r z%<8I!6rqGfNyCVS0|{FK*wEd?`~)MzE@c`#y8?J}*aQRhkfY1w$~JSw%T7)>)E! zN{r@~a`0DkE}Q0+*=;I6pO<4QyUhs04x$ieJcI<=28 zNk#zCCt{RLMWmYE=Lou+#VSkt1M3UzFa+n!nT9%9nI z#^ri(h&|8%!f6}f?>vIuW<$+DSbrOqKYzS2_8()|I!OdqkMg7Cf6l8*CtNtcG%i>{ z=~<+6u#C9+=YCoJz55w})1x9}uW-p4b!~m-7pknV&4Md(k4r|iW5VLv8YP5GXE!-t zp_Eax%m>9>B{6|Zs+bjU-X1e;y3X_2w!2vVX!&@%kIpvSO!JVGX9=B=5SEt^-5#RJ z^5**vu1m>istI8}>cPUVR=Q&A?tYX|vb~#^O}lJn`%{OcczkP;0I=%FsN;|J4k!ER z)1Er>UP8|qq`?xYGCGZWdess3g7;zFk1xbU-unGxdHhRq*CMDbk*roVCN^iQH*9ON zHtBM~-47OzOgisTWumy(-ZO5QhEbS8-`jW6C@x<$??x#Zq%7BkEc5ZH;zfjpEuk4bAvj!?sF*U4V}`@^L~yFKt(4V7 zT{l5-+3H=3)hR@r_CX76gSupwEPf=EP)(?-vok^@2=KMN@VsZI(IBQqDL+-sbV=hw-iXwi9Z=Yw*PbY5X?J)vpB&i(0|F2Yvnp|%tEA**yoJ}1roLS0bR3aMl; z`r=aY(-ZeTKbh@k+ZYY#u4+zfdA>e6U44CivO0QwV+@%MEQenaUisI5505sLk31hI z@-X@$xU~*c@m67Ad2>bH;)NxIg0xGe1lEUUX0Ws6U%%G9vEv0;kjdD$uSvLM5klGK zG7^hiW=@fZ^+z>dV{X31eEokk;n!+J)Y>Q~`Nx8BiGbH)!pj7j3dhacvw`m2Vr z-O+aRA;;L?ACIxWpJV8+QI~IMTOT4X;u~=m)T(%*!!{Es!^V!fHwE777)Rw%W=>Me z*Cusz`df?5zrSIx^*3v-zelIuzK##b^VJPJlf$8hCxd)rL5r`=FgGo4d-r}Lky_Hn zWJ-nX+J(g(_P%S|x#iq$ZdFI44ULi5zszlKig(@C{ut*e#qd3L<+xaD0I;aV02#lB zgV#J!9d6A)*PT!JMaG=O`9$STr*1yJrL?s50zR{d1-0NjMubtSHQClZXq>&uO8GzJ zI2|nIQ-a*Zvx3ZLh%>QED47%^w8~P7UGFU>fy{Rq-Wx6EK}ATU0hw2!kXy&@EOQw% zq%5{bV#ux#KP_0n6mM|a)h&pACW#7_4VM!^lK!0|nlvH@-r2^h<8KA#8d#K;dCVgf zmSdnh$MQ|uJxJfV{Eenf+m+&+JpvMKaz--XNni6Jr63z$%W+IgGIy_T^)1_lD}&2O zGs}aMHDBOR*68F=JVg|79nx9UK!m2dDv2x zknP!rc1|jy>8GD1*-kp2{tzdo!@qxcCn#B&pbm45!fD-)2R@`y7ZS(JO96MyM1`hd z+s&mlWrT$j<@F~8#IH1gnA0C1Pq9~uGt3wU!_pJ4k_+@K)Na{1NgK~~EFV}F=ELeV zv0#Idh#jc}aWT9|Cr{o~%@@lLowe@sANYnDemQ*=SY1noC)E?>%lXm;QZ%S*U4J_td^j5rA|)p3On&R0DmmekN=-0Of| z#tfygN(49wIOy$zn6PHhb@+2k?rY;iFH|$I4caSNJSI@!iraVQyyKrs#?jpo*nzm7K&ka)sE+ z1FXK0K^;~I`T3zmJ;#Ug>NUo{UAsPFfk!rs^kDs9higx}BNeH8lHSvqL&maO%2@XLXJV*+Xlo zzKmpeX$(6LzjO39L>HgLX1F{D=H=dy3K8=kXN8T5XayGBU);yLfz{ohH?a_C*JZ%72Q zL#uU~9Gvmv&5G9C5H}o8{r17-%^g?u(SMyN$H|hZpO9maRUu3_&C?9Gmzb~VYk^8* zQ(?3ay=vAp=v+=F-$Aa_naC%|(zZFhby;_JFnDYqn^Ig{$Tx17JA6B%?QV=sFweV|*sWa#Aj-9%R1#7ZX90k>mlI%fZ<&SbgQtCzB$wvU{QTJ!yOD=hn#X*%zi zK(mCWB&FxEhaL%Xp4v5l;|nM$bdEvq+*A+Fj=f16-o+bC{_fB>5yW_#Ix|zGjrmvW z&>^w*$h59AUKiC1ZY;=pC5<-!KR=q*pkxkCun+r}E5CZbb0^cqHAB7$rDJmLSO6PUD1ktps36N#T;B@}zZ9 z&~Mi;8%i*NPIrZ{@5vlbnIo>)nH`X*G&51~Wbg(AAen`;6YqVsc(i2AIMp?h8+HFf zRGVKO4?BpH4kn@|hLVXQd441niy|$}UCtJ`zlv3xc8qP4M-1VN=6JxE2R{;*pdE3Z_P!aRgESR_QSfNNcd*A*Nwf6Fp1y(!aX2m38tVBIoC zVMi^71LZw7o2fieZoNeEFs!Q?kVX>{=Vqq0rNP|H0o8ODiAqP7@S{ba(gPZ2Q+Q4) zOyE|owk578|0G|yM~_kMf219ivB8+HMMnu-cMmr0x{nn?jWNNtpeDGGU}>6i;-4X$4rMq^-prEo0a!L2{p!*} z=G6hQJt`ZcRNvZLm*Pz*T~`;xG*aL;MXQd7k3AK$e$IdkCzh8pL^Ex1WjOL%ieAat|eobV4AHeI;;cH zYLTw~vFd~P1qP5|EY~SJqK`}pX_{h}DNKCgafD%FIR^qE*xeLsoy~L7c-|KC6$xBi ztS-3lY|6p-1t#RL<)PI8L;YoVDET}yLOZmCSsbaPWe=|aO0yu!$0I!GyOTGG_*%)5huHR;B4P`z#1REbD5gsx6j+(Wg%km&(>Ta8cVHz>F_=E4J$$CP~j zV-Fila7crpO&GdGr{V{3==Q>}F>zRuzWaK0A*Mk<9?lTHwK&glG_tZcmTDuYAMN!jxY zH>$LK^|f**Ln{HnMmCJAqxU$lOvfzH%uFUNA7Qu4z14c8@-sTQhywUMM9Zr1*F5Aa zgJ4_l1{TBF8OLWSpixA`AkYRdcep^O&1m?2MMHQ&BVFEOM@HhC%Nx@cjZb&XH*Ji# z4I&^==RfqXM7o!&ONH#@UE~y;^wL#`C@NeT1#$9{bERS)QxQAiM{;3{iw$J%#Bizc zb?TQn9h}B5uPnfjjfU#xI98mlRy57?H_DTVp7nv;enmewYiG&*;S@RiSzywAW!oDZ z(@eOO>?WkPl(e=Eu)hWgI>^h&%5h4eiRNt%MGjVUYb7%_EQ}UvjD! zRM76VUMk64zPdukkw>990lV{VT;UuA2_1OC*-edAc_Jc?r^7wtRZyUf=x7v0BmL}E ztyMm?T&{UfhZMmaV1fiaC2=EJ+Ky&3be-b`+M|iLx3W!7O1pdE&N+<0?JiuZ&3&7z ztl=4zVpr6UL$QyttrZI8n~%tpNvEb^21XZZOG(Waw(S;xDX=OonhQzv)4jbH(w!>1Yvsc&m16OETYDHZ3{0y4D2; zcLKtr8XY1sRavK!oYH}1!_dVZFHHtBj1(Vxf1RtGayheC4stceQ=FulUnvJECC44S zq22Tvk!%;MsAkbpDQRyS-^>-8^Hxb7WVyZA=Id)QsyL zQ|=5;jAUSuoO`v6t~SmCI3|!GNHH91!z|hM1b!bnVm&cc&#fh#^=+$l|`1{?fsC5SxSP5Nd34*ekIsm884+73Li&KuF$w{m+l| zKR?v}Z1g|>kNwmCZ6C&&nCv-;q|Ibnkf&D_B$6%&c~i~!DjruU0`er1+-x;g0Q^fi zzDi;OP$jTh`C|-vQ(&Wrfjj#=I|s1xN7Xd9_-A zwNJLe@y#WkN#rf15iltUEfYGwg9uBGx4Q&V>}bS>E0*2nHpUIdGe5fivG*UmTbbdw zj*B&4qqL90sxgtJBm$0|=OC()6nI$bUtQ}m`3hRf^T-W_ZZm9dn!`+d6OUpTL7#5reSVJt;7flVK^}dN8Q_sTuv~lM87%Z9W0}foJ%zAz#b+N zNfi&sA%{pwr=4rXg#!a>AnY`C(L0hi7q1+eU0r1vLY`ODPq|on^OxoallZ z0Q0j{ca61NADW2Vv73~OLn`N0vGP_=l8}3M&Ask+RW@^2CzP(Yc;smuz?+D+B zqH@Hsdh?1KSyn^7X*WZ}@=`4(%*Nr^s?6j!*5ry;OP2Ljmw;E2-3_I${pFl)N}d(f z_EuzgW?HKRfw@}H{HRfIeeu?OF8W%CV>Xch2C`=*P&epmZ77Z*&&;+`W7HmEn-W4+ zkY3nvyqLTXOMu2Ia3|bsvy7GCB7SJs7Kwa^d&I7Int4%uY)`;AIPYkM147ShEjEQJ zgc>R!ox}jY_?IDgsc~LmWZt@u8?JT*-|&yek?cBthA2#s207#Bd38?dO{z-a(0i$H zx_KUm`Ch7Yeq;pPn0JeJ5xa-TZxfJTV*Mx{j`CdpROkSST z<|)|A2jWypHx7z7)t6D1D_t5mx>0@I%cbdzdC0l4y7KA(4!#N;g?s@ zjk_kr+#33bK*|0LJZDO~?`(Jgim!Mzd3C!w3PcwIH7s^Ysj&c|CBrD|!t~Hw6d;7qA)BbAW#zIjMIONny|Nj+o0oON-LUucqs8Jk zet%tmfR9#%9M4l*^vvF2E`hIi8T9U|% zOchQ1k6YAHa;GkizWVa|=f0udE|g$@7H>GdU5#CQ({IlM-`O>n|dYzw1t8-!Q8QJ?hdeR zgKGfo z46vaZ3%c>Rf@!1d5d^69lWbJgZ9;miEcSIejE=g&CHE7L(2bd2 zEbbJH7J<5MzA~@f=Bl&rRyJ0FOljfeq>LW!Xs8$ns06|!FO|QqYh3f@euDuCs9Spk zOtzt}4SY?b<&|Ln-3QGi(VI7TE7KKfux?NpRh_9u-TL0|Jj9cZZoEcY9*kCpxsP_L z6X;uPpXyLc(CMgls?<3+KZCsEpvH|;iD+4EBsWk%7?+0rWB(8@@PAWK%$T>dJ1VIW zxa-~t*jpbwwwnEIDQ$Eq({aXeLouc6T$k~=$VE2Vuj}@#Vd?_e2^La?Z}w9lU{7s5 zLq;mT<##Y>J9ImUB_`5x@kpwjjO;P^8b25BG!(vnd#yvV&*5r)baD0aku=C~Cvb?c z9MzF~asE9S^r~;;+L=Me*3jS2 zwda4lXMA|YrbizXeNTmne1+g?{DB^dJh^ zAQZoKEutZHk-hkkmp>FobXc(W8`PY^FaW)z&VhM!+!XA1QzlEHbn|GBiezFCQQG-| zWAtWK_qrS_vqy4F%?Zi-c&NJPX~8#LN2}yD1f6b@l`zPp$ptuLI+a~d4i$coIO*Vs z3-jge)h$Un`IpW+8e3jX5>MEw+}B;-P+eOqy(a2G!C!soU%lLX0mZ-N5{Uhh>pH&Z zzJd#uLI{TIOb=^W9Xf{ikqpkYRkI1LC01;;+o~ul=(OQN)96UMn1MO0`o@b#=2cHz z5sNT3Xl5X!`F>;d!^n!Pok^{bcPhcg)>K>>{X+0C#?)9n64!71(4j@QY*{Ql%~`aW z7`40*f6~L0iHrMXvXQMFZXNYji|te1YEob_yspy|g_}A9@IYn>CNxN{JovkhZUh0e zTx50BvDYLGfc3~@QbVdi-6sCT?6X`@&<>ceM?IT+&?47a>!ZXX%p2?2SoLZ6d-$g_ zZT>J$ef1U(eJi7^N3U|IKmV3l$UGY7sUs`>?YT2TVy?FvZ(p6u7RMwDG-$#%u>oa0 zJ^~>yq&>}IX%uz`r00Z*AVX4M#n>|ww8@-GnINI>@gL)*NRr%T7@DU!`>$bJ4e8nNRJQ+N3Y2(Q%C2)(i9Zr6+D0lGMLwC77 zyE|yZuqJ6DSaNHs?2W@{!<$<0b=fcTYd#;@2AjSL-j&<@6DAAmgw361`%6k+os;CyRWe z6HtNaz`S)ZH-WnxEwGTYhx-jTtm$&lf2{&Dg;L;nFpjCb%K<=Mo^IB_s1}+l+{@13 z%q(houI@_F`-q2&uh$R#cUk;!2r9zJ#j&7#1a5oXK#V@+1J z^|zXJo*xD2a#$0H)X4_W0q|QqU3M5UpeIK#e6gKIl@hR>=hhccF~dQ42pJaaR06>5 z&HmNdzAo{jbL2y5BH((r)Ba8zazi({Q`8{Oe`={WJPzaL0G`VKG;X|!gvJPfkxg4p zkGrQ;T6?-;`KM~@4{Ie#m=0rgx?BQ7sV&l|L#pBB%x6_a-CcZUAdPMWm+1ssGr|rc z4~7z0)F!%UF)(M1o`Kt&M)!_UtDM_jKbfb>ZH;9R5Ibf6?daQP>+~A^d7XPYz?;*B zKO}P1MI0l3t_SE{JTcj!t<+MJ$iT3q1r@D$_2RV4>PuwgisdPmEO?mCQ%r&?yMYgp zXTr-gsL|J@ak6{Ur7XOI`WZNG3p=v#pDnEMWllYVanY7hndeJFng2{5gPGRq47q0?`elY0qUeZNiRvO2jzC6>LL|I-KnF`Sgj1Xb zIFoL(Cp4tMT^aE@H@Vur@|ll4(k5}@ zFZ=L@S<}tOpU0qUtkAVdRQV2Di_&nQ71_wmPU`|*Q_T&C)~a}rPA?##1Ep{2dT)K0 z@i)DLI_;fZ*?;ji=^E@6w#moD7k{pM<7MUU4u*`Hgi~O9fi|+I+vgY`{b;lQ%OAn2 z%}yRs;aW6RQ6TZ^%Bs&+>NXtcH%Kjy43{fXuA@BM4;+?cX!3eUA-M__sP z3+a+dqrN<~44<0!-myOMqinS?u&d-lC$Te=*-R|12TLi1tpF|px0${>yJH5=7xYoh%9ehO1#@AP`qiW29;F~8NoekRg&2Q?ka%_do>8)a2tQ)3V8Nh+V($kgg zUAUGMBrXz&`-uq7LQ_K4bS~=0VyKC!9=ezN;}ds;BgV4M2K-j#dD0~&|FqTa1JT>~ zGF0q>-35;@fSspT`#dSi!P~_Scyp3^K5^K5$*e3$A?vY)cSZv2ELsDJR$56U6)S$b`MWlW0; zkUW!Ji)7cOs)laOr@m>J60kWPcVR8@8m!ya8SURwxZrx#1+X<>aG1%+3c?b{T@$z1 z0t4RaJnXum!R);OJcChFNGIrcInxsDII?)|tzHTyNSGP+qop&(xM=o>cRzTB34ZMz zem3y18b~Fr77Nk`(hKYW%i;ofQuSCDQ=XIZw?a=hoL2IprQ;ZHi|=p9>O?EkFI@@X z7c10kva#ASV{4{;N5T}&x%Bu1=f8(%Tt%`1%e}cGN#82$R(eC`6`Z_nGp1}R!E)e5 zahlYZR%PGJaasbrK9e)-dyk$83KeSBW5?yj;*b^zQ_|gCmq5ti`!SCROR$JCS{UxW z*lefE0zJ#@#R^)lZjnJP{@5v>gE@@g58I7K&_yLrscLBf#jXs)jluXD%$k8YY>(I0 z-U(yzp)`Pe4+m&{o&zZHy}j=}d4K-v(Fc#4avdx)yS*SJM^dNmjmwF@pzWsCdw<)z zr%x;>df(~?*Y!s-Wdtj<#_LrUC|_Np87R+MUapid9Bm`ZRKZVk;KJa}4=~f*8M!GD zE>$9@42lDAOMR1}+%Ijc@((q0+L*!VIdMM^V5s``!gQ?G|vot65HZdwxL}36XSqfsAJ7y0a4jy6>dO~tkR=^uUij^vbm|KB`C~^)+5f{CTpzgq0 zsj;R@MUr;vt3ET{OpNv}!jfm<`D~=IfPg@MnmgHwWu!MS*1X0L;YPCF!Oi>dLSfdn z<&e6$_PaJJrWRdrtB8Gz`^&xoHAC1~ye{o*SDhG=b`DGQ7Dcc!o6Cv)`Qih7v5OB# zjD2z_`)K4J^Eq0-tgyO%`|8Ej#g68{7nPf}iOu%zUoj)Q5;WKG!D~$52U=RXg-_W1 zS>6qfWwa@qrfo=rtQ`{YGK0k9c~DRy+b;oN;mE_<#Xo@3mPsL^4mZyiKmWNDsnzC- z4?ny+*xGw$8A%a+y7lYD@r%{P+z&bWHW=8lAfHOy_PxuX)DkbrI)#IN44j}PNgMvd zXmmBe@=RG@_(P2*Vuwe0?e>VIR?o0I(x1Bi*!{6+?X<>JCZMbiTCL54$D(FojP<8m zUgQl{XcF0T9~hy#mh4&vl>ztcf=7N8qjM04H)sctYrZ09JCda7`WcOnDg8H#XSehd z+LnZ_Bez=7w|ZOVte)>7$eBp>!yj&bsI25bYn)M3r*(IfYzyBS>f*QP-c+RoV8-a0 zKQ@oENJxM)rEf8s(G|qeCta_f|NKMUy>#?W`TD1t=ODMn(l{BU$2N%-eU6PRNTH)P z@**wm%EqxQUguSL)*onW_nXwGO@1H-@6WV?mGwQ)wgFh@9~lz~U4)4U_avq&DoDyBpKx(m2;46h(C@Yfb;g z^Zfy6m9><$X^oE@$zEg6CuyRA>mQJAGVOLxpV5kK=BH1db*p7kC!yxJZfogjO$DvG zez_b-Ew!NRXM%_d`DERPzMUylbQ%G9k@w?<+<|Nmqqa?!Z32TEY$sFICD!b2Pt+WK z%hASHA_k}`x8}Yb*cTuCLV^WVWLe~g)M8*CbnF0?OV&lRx~uC%SvO`3o!5gdF6qvn zUZu8E=|f+@uE9Y^Hl)VZeIDIReI9&^3pMyh%#i|1UE=}MWs^>(d6X|I1c6P3=6+M?uojIQde$-8 zcdkt64WsNP(5LMe4xWsyT6MYt$lZ=2gS=VBUFDZdg$dCb6(zX#SakpFa9?$P zB2-f^I8bzjVp`>l63b|z2syKkMABSuW4MzeGzC_g3F{nUZ;%f&V^Nyq2uGJ`l{)hm zfSiK;DRLjsWuiA|vvvv`fM6X(V|+liazmVtI4~3R)!_<@pC1 z>A}y-1%_HX0!G%o`?#1G=sq)w5el~`D&;|SeZVV=Q{iyH=^w6b(ffKBEh0oxUR8JM z1ur5Zb)tA<)F+7R2>b|#@=Iz)2(RDnkIx%`UW_g_mfF-%S7{`Tb8bHbygf!DtJF^2 zv^R0R-7NK}NpshM2KyBp2oG%{kw_9rJ}Pn=160_HryQj=R6@cx`LE08=g5|oSno;%lps~DPH zzby55*abI>6LW=EaTdCf!2tsl(623A1kr5aq6t~P9$%Agt%!&2wkjs0tRLxg;!mZh z80R-d3=~Pve4j}rZTJ0qOhn(_!DmCp6Es<6wEW^zE{dj-+H@Cg;-L&cG$y;9NaDiG zCY2dWlu?BikIKz-F7@*84hfW5Q027Wo{d#k}`@!I`=_A6lw%x=&x4auixU*Cz_OWiRnl0 z26FOJ|2nNx?*hGjh2gVskUp%JtKyDjdj~uEWPsiR@uG@m%f;$--wn-2q>bm4e1HD` z_0261w<~zv`#_cnTR`ywTa9!JNDhd>?2ZIV1pfU#hJJBpr6pDd7xdy)Kv);&+ZnHi zNiB@tZlBKS1uhDE!YpHF=q1y(zO?w<^8ru!kp@-w3B0d0N;oG6DnvKcr%8pv2O#9h za5PBFSG3pMasq{)U<;HC)ivfQkaJ3MZgO|h^wT`2`W@g=LySu1VIeeOV{EvcmG2!4 zBvcHLl&p2CjgiZCjShDH!W>MM)X_s{DziQ*h7+qD7xOgo=QNRJ;%tbpP2Y~ua8t?M zu`xYI7EH{5c?vT68!E5g>K00CQas;=SI^ND&@Ozfl;3x3j2Bb~^t1M>BT_$z% zLm*#Pa&k5uc*`qPaRW{=USv+>I=(4>+YUGfaBScR7Nasy+X2-$INNMCO;nPXo!fu; z*^w!KG>9{PfV^KJK?5&k=Avhmr*&W|D!k|lPe2BU#Ur|B7LJbItd74L@F}c$MS+J6 zBoebuX6GskEqQ0dEwv1mU1OGoX^esy8b+(SUFGzMpO$=(7sgUlc56{Gw-^nZEzIm7 z$I3}AQ1mfn|>F(Uej#F@K#6@qZ#)j@ES71T}xh*)5tt|xi>p6JO4fr ziK73JtB4h;Jf74gew1g1FY%CGoIXy9s4)bcx{YbQyg-vlp6$L8SsivbW+yrYN&MlK z2X#!*jHyL6{9C4&@VWlM_{@kl149!WpGkLO`vIuPVB!)eN6!>JLf! zQ^5|YqrP0>7+^1>EX1AN7&h5YM|yKPTW{UdU9KA=k}Zg{{N1!Z1RT39h^!mYBU0>1 z1y84Yb$ltspsB-F`W7U3=QtUqFoAbVxogYxe0_2C)=N@iVc?f9z8=hbVT-BhWazrB zYOgND>x{=Qu23HJq{h(kSjam;!D*Z8CawV{vFc|!bWwiDRNW9K_K1U&)uC^V`{d;& zZ6Q=#H@g*YZdIYIc!7p!)_V3py^|qhF#;jO`3X+5jwg$|U6T!~TL~|yssz#!>5<&D zolLgTuI{>`B3;}X5?v$C<1S&gX#e!$NE*ieDIE5;+d$xTFxJMj9bn2Zs2}SKnw-}G z0UkSn_upiN7HkQOM|u}tW%;jCWp-FL22{6i4(lwhGZ)MbDS;O(SAs?aI6lhmUJQro zlfhYxtD3_wkxrFM#A1`gbsOG3RFr|D7U{BgUl`_CsQBvG*kRMC*|+2j+7x!W8b!w( zJCp^a@Z<;A*>M7jWT{YQisQ@xf`Nr7$7?agw2eAi=h&ge6?8=cedi?c2Wo-6^4fe4 zoZY~Ig{V$fD`e5(*N_M7S1d1olp?mfV{V(l+;GmDG4W0& zUJCFJ*o6`8}H!fIVX{dxS*%6Ri_iDRa2?f-1pk*F5a;R`IZ%=fGiy4bffYbNbW$O~SA3 zq=GTa=}EUf6Vmq<#%nWt->z=n8wX;NI!4&Q7GUlCw>MR%R_2E3o|y)}W1Jej{+Jmj zL)>wCd8Ry268ZFFl)~>+NCFk2h!K-g6XlJIm}ehDyY^Z-2R|c6hLL zdoD>JH@uiZ(3y#YQ84Y8BUseDctZVA9N@miH4dD7C%3e54cUZ~bL(1?AsqgZueb{^ zvvko8Mxs#x=K=I@FVV~Oyg4Z}IC-NiWzIC%A}sSNlQ`+NeJHh|#Y|>rZF`1s$Xzn! zD}Kf1DeXwFtZKYEh#}RIKqZ&N6rnGxqT|Rv-srDtf30Lh_B7TJRYdM>+ zVrr=Rqx#&p;C8tEn@YLROCIr_fpWnw{c09O=|Na?mj?H)p*pH8B#IkQTR`YpPPx`l z0%UGF@GMqSkQiO!80=V#tW3FkKo3(ju^^)Yka+{~&J`HMjD?HVu5FzyCB=-XQ3+B~ zmwGvEp}}?<+o;`XBC|1|@ZmBkZd|LaVro&TjOlXW$pZJiK(_AuR+L!oJi6*V8dcAL z!6(!^lk-7CbREq>hY=ubrH&KaKC9^57u7QGS}doA>coUz*f55ei;f3?fv}gPEJDp)gjoLy>F-QgHEhx5*t^Kr` zR&i_m+KCfMzO~5Cz`Q${u$Aa!#91Lv$6U}yws2n9lG^UTwJ361W?Nl^1vycO=D06X zJJ&kyWSQgR-L0oPw`*vu?_t}1I^K4I=st_Iwl!wU+4X&(+Z}*CgKZ)riOiU090NrJ zJ$Wt9HF9ooeA0q)29J8OcsvJHW9L0uJ?t>7TS`W0Id}*0Q2#uBv6 z$8KQH&+UZs3&N-NR(Qatldo_cz#969MdrnqG|fRwx%jrT*<{Ldna$0yu(H|A{V7dY zHUSHnK?V~tRY#tnM&q?wHat_;3Dq_)uU5+@cqEsVzD%fwJg(z!&R-F_KzdQ2K%AP| zQEu@DpD}NH#uzQ!QgTro2vOzLpHc^ys7F?nl)r@BtGfdpK!Bv3syDMq+5xqo{{XF zg!Q$hG%?pCcB2R1tG$Zb)O#n*F;6S<8>8Ni(t|VNI(^p-s)3_3!hYfzi)z%p(==0C zY&H3hE?&%$Pe3RXK5%#0)d^HUmdWHviOA;r-+O~17Em|&T=&36f8Xga&W-vxAPYub zy9-sC!`(9xylWSP$G_H1Vzt~s@-j>^nx1I?nv9$6F{H6d3_|zi!{oTCk{$XhV#Ir~@uv zb3lD6Fu7TuOYMgl4G`}@1V`T*V7!>jv=hp})>^d14+I}^q_@Of8|`GZ|Ar^xgj-R> zdi*{gR>5SjqzpQH4ODlWY4=N(qp$6ZGz?T?adW$XbXp6Q*h~0r`oexgaDI6CqMs0xmhOmWT{ZgmH4d8 zzx=&j;n!3>1b6LuA|9?I9?a1BkbKncj~3Ky|bZ%)r$KVctmog zG3@LWu<(=C)rRcb#lUwJY0GN|0uTdl3T&@FD6SU<#R6Tog|H`sWsCQb$w zQW_Gs(pdTn-lpd*UCUH+)?YK4zt7k0zclA-%PsTu=Hbq0#YL;tW{eNpmT%ib{YJ4M zJK}(14uuTnq>jkCJL0g9^g^pXbT^h8(dgKU?|YF9C1^LLQ>nu*SJ!r3MHfnty@vUd zxY?h7N?066Cauo11*#fyJw_9X_`84n`%x7y?0EnO1p7H7w=&M)5X>`v1(L%j2VB5?C1f1~l4$Ep*@ zV8VWUt+_x(2E3>F%aJ4TX#$tk=}p@>oWwW> zif&>wyW5>F4O}7OJTRU~za=Np5xjvs^+tUjLeI2?Hcl;&E_RyMx@rqyzkmz6r?qup ziSyDd@ot4yZLd3rYK?t)&ydfyhtyCrXdobs#mS}7wLy5MO_^bx;ZKp>lf3fv>ngrke&0v;D)Z46F^xQ|9MTK8;1AHF0r5a{%_l*`Dxb(m^J`MN8EeWaDP(`K zMIe(dR(3b=FSwdoM1r^6Wys1@wod<`t}4Gki+!-;Ly zInXd}PVE9Km!AAez9#HSulB0Nj((+b@9xQZFlPytcSEE#lES@m7B!_+fy#mP)UH0N z^o#j<6DVBrL0<}s)O3#-O$Kc(;9+mHr^-vwN$Wk)mu%=%@WKx^GiPshv}fV7bIs=m zjXox|F-zLq17T^%x$C|;I#}2;F_tObsUH2?Z~x_AHp+{8eRF-+F7~*7=vu1Tn%IDj zRHJ3tqCbeIK%<>~Gt+Uasg%r(4=oi@9n8FJ9u;tEs~6U1wzjcR?(XliYcVd3!t(Zx?1&NtgFrupfUzZp#v4gig{)pok1yeH4YS)+xt z{NEjg>!>U{j6m)pAUTjGXHyY6-_1@Y%%e?f19WJYEMOb$3}zjVn6QWOkll!lzJs+* ziF+42Fh)|M$MB_1(gDAlt0QpRK&-j@oFZ+y?-9v<;7n_a)?>I)TU*zdCA3wlL$|!7 z(w)G~22q9vt;|4%kH79M&It9i#JxT*eV=1_QEo7q^Gl$-G%#SQc%IpZR~n2ymFeceHjpE zeXw!WRKDNw^Y24=nNuA>+P<`Uhl@vS)gOJ3-$FNlh?9EMKcR22nE!W7ivky-bMa+vPsrZAfx2Fx&yJ%i&J1aeGd>6!EgCo94Q z3pdy8X}FjFMYMT}enU2&a;`Xvk!Ca|f;Ewpr|;Bqf?|`aJ(#Y(XIiB~CQtf{F)ckE zzFk>ex>rcS@3Dxthmvil{u`LzecqA>K|LdJ_J6GC+l@t$_3%A1HM6n9nvrG^!4Yum zdt@?}gq$GI`r~WV0u^71AhVvB>)2D5j>p#$x28FE;m1odzlj$1DV}-_SxG|*leTh( zZV%X#edD21&*>VZ(y*nVU{%DEr37Wm83=wZXf)k`9P7yV8R zK|;YyMag$Z*?*jEaz(|@{`t@f8DS6l?|W2~m5y$q(bCk|h{|-wt6yG|>Wa7=j(FNe z`S>SMp4z^Hl=$#0q*Cf$1c4ir66}d+2}|X1R3c8~rA23@<;Z3DfF@H9H%~imt-z}8 zY%QadSP_!@WVd>Dof6K+gsaIeLT3$}n5+PdQ@&XhQr-XM<|7Ipf0jgIfDr=Q*fFCK zlTOD@w)%d=!_s%W6dd$bT_4uVRp-tg#@T1;e&$*EOA{b;OUe5niYdkFl)1ONwG3Dp z9WBAgeGoez>9{+zgx4szYt;dvUoQgIts+t{sxs>8C7#o-SA)=cM-;ovD;lYQt87%4 zRkBX=>>MKQM-4+lZ?uKFgjkG zSXhj|KV(DR$dHlyant|kh#w&kt;@35lGLl*X-WwxHkPc|N}(1_wl=0DJ;}4S`z0>- zhI>=ar#OW`HWALQx{@#o+=!b`^o;cE6h)kJIRlYkBFtz9>D84!j66g6cN^jcM-O$n zkUfO9u^!VDn`^_k;RA+9to3t@WJlpXAW!)})(!OLWxDw~rWuYkf7qBZ=a=zd%Kb}E z^&`+IcG9m~M7-a7l$sXNZm@}9}k~!OUJwi%3g!8qD zO}lN-r;|s)_+T}r7pfTWw;oT+Hb`XhQs~qrC~RNtWPD=}>xD1(-iC72GP_O>HBFMJ z+iBdxaKR6;`o#J}rI71wb7`gHFKVgG*{vU*>qz)2xAX1gSC_gY*69wPm=4pb!@oWPBc)_ zUOrrJteIhc_2Lg?45A+L7*N8*ZRb!!*PBxeJhVWWi}lT}Sde&JA6{I2!!nu}UF&TJ zAxO5kBi`Y5E(J{N(RhD_z2CI%VPuyzy6L9dK#1BT(|K0c^#<5F7H_AsO0XGZMz zA#v=lwrp?sJ9OnX>GZkfht9g)b-E6WL4R4el&gg*2ZsJ&n1(D!tVvz4?nomw_x{7K zbOAc(ux5X zS&ePutoahdo~}5JS7h=V4P9UOi`J4cru|9InH#82mbX#CgWPY!^-WpGJk=(G^v$Tl zrcbH14<#IVU;IB;c?Fz+jIyJzE;ncAA|#P^w=Am|EHecHG5)&Q;=Y^hhw3*K9dDTv zTwej8qiQJI)gM~0-e5`2a=vMATOj&BQ-p!Xkf8fYRAN}dcNM|;f zqQ${0R3sFP;U5;=YmYX94x8ur3vMrgIQkLLsq_Q>I{B(K-5ek>4tYElSIuFV9Xuk- zKe%E2?8)MzkMJc74ybXB8Do_4F194@^(m|&Q_&Ig zQ?=f?DT*TeApONeoAzK+>r14YX%oBhDTE3>!uchH&J$L=K%x5jdk4=!50hg6+?*a< zD`@Up1IMl%9oCMXaYm3?f8(V+cfy5C`?XrT>QV4<&Vo)NJ0)#!>Cd5abZ&%HR~*Ap zdCge}J2QtMGQT-R)g-I_QhcMi6B-X3y%LhT&NSa6r|i{{WXjS3%sY{dY+b1pyhQ$6 zWs`gW-IkOV^?cv9xcS~=OXw(N*H&IeP4U9X{qKcJ_a>@zhG3_oZDYj1 zIrYl6rkXsG()`^bag*Ry{EF>&!Y_3=!*&J@%{R{q3-4>a4?tW;Z`7?$@fbBSl-8d< zpHZbO!MN@lf={mAwj2s3dek1-N$e&{aeVqltc1(b_}B1l>M-(N?5LTjbjd4=T={uv z&s21K((K(>?_3Gy_?O2#asKw|7UU<-L!!%79(zuT5KdbeM#N;Q_}Nypczyc%J+{VN&DFtip|)0#W1-x$qMmhMJ9Ru{U{~KG=}*>;t|bBBeB?*hGT8^E4!`vV9Wj zi&Yjp+YPyyp>6r*c@Rm-KDVRZ-4a6J_89_< zGqX^;6>qAhW#&OX{eyk5AC=Kp#PQv)?;~($`_IU~WZzMi2z_h|pd1{`Me$jcL z2IA#~KdutN1Yy~b-`>|>t^TOll1Rc<$ud#cgk9;qM@P3*?f{dlZ9%S`+duvGpZ|XS zetm(HdJSLv_V51|8v6R27_?puYJu30jv$2|mLBxLG_bfPK;HBv+X1Ky#oHq#Fy#s> z^gXg&QztliVji*&8GPNhos6D$&6|qYH_n0cIDhk&%lfYt|8w)d&M$xZF{k>sfA`N7 z+KCW@0N5+dW`(xro$&*dx>#5~Zzl>h+j2#sRxMXZygh_T9a7U%Pn78=+ml63Xz0G~ zleQDg219{}mW7+KfL*%~HlsjvkG4moDQ)-8#AjI@@<$bcHl(B~j4ijhFAqT7Ebj6u znpHy)DIT*d?7_=vPc7zcWY9YXd&`wSq8)lM&Tt(^#XY*BIPC6@JAdiU&2UJefhyZl z(I2PUbBZL~JIh0eh>#xM$2t`1<(yv=Q@`=s;goqHb% zr_~A6x_aH+BC|VYpgHP*#r5QWL1C5V%iwqwbl}heuY@O#>Qbz3FxtZ+JTL-IR1AxO zqI(^&+l-IOn*jgJ=5;?3ZEs|>+BT}sJ4o68^pXm+_}pCpb?y1K23&AB3y z8AeCA3?>%NY{${8kb~+c$zXOR(8!&fD=Ks)9dJwh@+GXz{mvtm%atVC?^1gH_2n`n zQ}5f|chFwfJ&l|94;aT%Rw5Z6eZZcxbNz6B3yr;DBPkb$xunY^yo*#2B4`u4fze`n zQ?mak#GnIT*=YGT^i#WU+X3{?Y2A z1+Rpnaa%#jXOD;74Hq>k7U@fK%VAPx1B#g*mn zHqZthVd&TMYJKeNk{>sdL%+n`-Qw(b2SdBgA!&^0I9|WXyczef{9y0t4+g&OCsV^& z3&77W2};Xzi`JvRiY6xpo5nl2xO(vd(5vt@nyAfF$Xn!T{v10AvWCv{7fC0tmAG=}TLk~#XPCvmo}XM_t*_4Xs(RdI=@z(S z1&u*2^;SSzamYDa;o^$}WMK_j;Btv61YxgMWyo`D_+qM0U569&L=Q#K)q-FNE@g*r z-@;Pz?6Cgn-+tT84U<9Dpk$vZY%?oK(dz4&8KE5EMqmDFtuMlMVCgAf5Z0bqow?Fr zR-yjNi=@J16%Im*;_S3t6YxkZ8-eYgfAcG0o=gmTn|nJ6RlcISC0!n0bYDUF2q75f$JJQDLhA)_s<>ujrxenWLtJ+D%P&oLSzp~= zW9*3;i;A010>xh56WrA0vko+FZ>MK;}RmcRSa z?-$Fvrw-en|D5;hj!8X0$-O`>DQVNYxt3NFcMX^ECi>Cwi}PMh>;eo}4(7F;WDx3c zxrDC4A+o^qJ+ex*te&mp!Wk~yB!#%JJC9>-8!0KO$k9{<)Pwl zIK8+>;E3ULU}0r^ycY(r^H;|&J?q{WligP|n(bj0GRfS;?JR^PEoc$FsK=WP~vnUvY=cM~2mgjay zt7_xD16Y3LvfO&%hMklRskPsb1mo_&(ca!M$LtDAO_`_`v4U@Z&=hmcJ1s3O_FJOR z2&RVh&3^lqLmu>4*^bEruMazX(m=uxorUbuMiCUS_M%u7b=A)itthx?p9LWOy9YmF z7xq`A;!dF(cqYj!rk0r&H`>8F8~@E55$+gy1a1V4EJ+I5cKL_2p*2jjy(AC(Z*4jB8=)1{5X^D1OHE6iHcjRpJx83|!xr#ctQ` z>ChI*=FSu%jV4bAk6k2AO>8McnX$2up){RMh9ptc6FCdbNBUsj&@>}e;ntfqQJ@;| zvxk@Ho-EZf`wbYxjfDm$_(5}s)U6B_Uf!DCOS&yBiJm3PM_C(s1$J$0@H?tZanZob z3NZC_M00mKtGHf8NiHu7>c>4|6eR8!rLBEyQjGM*>gB&qx07+%2~W|kjON{geDP!v3(I`T)_-2q6}oLdfRdq>f4 zI0`8|qIgg9?$k&_<1vSrHP;MlKp*(#^_z1nrdhsY=zd1Zkb84H;mORZlwW_wspjw+ z-0vb;NL{Cabk#&`1CO{J!z?6*@faZ+Ozm*)dw=iAn8n#$ad^+;Kygs$#hKB=K|AU; z2d3og&2-2rRnHRYLXzaOQfv_o8=>^oQG5uft)Z$B|xMflTFN5Gz;a zk>7tY+MYRup?AG_a>_iY%g#q2e0|QtujHh zaDKV(Bw8#qA{8$C`*-W4^@RO0hYjyD66-gQw3~EeN6h<)*)*i&fDI^6v?eHnU%Ez0^-_MiIQu? zho#_RtW<}x?A`l$`@+q8P6FLt9%R4a-NA823f56)D%SGVs-DZpaI=hAv721mQ+)X0^2f{leKKC;@s!w+N7&4?B#R-4CP9*PH@Ys>Zc9m` z>9}m?+1ANZwz=LTNs9+*UiS~pxYC18WLrgi!r!K2s6DJ zGL>ZktB@LTY~kh1g{gB}T@O7!D*2W!w zIJhJ0`S%rpXqaX;nfTyx@7sYHe%Bc5^F+F zaOGb^YQ>fyz}!ri?ceFvdYH#vgC?-esmY4~?cv`B5u`?23e4TJ-8hwY1*a8N zDI^8ztD!7%iJ|1}%e)x(seH1ydUbvy&wINUfnHbV5g=R(KGO@kxgP5|6g?{DY$Whn`7POZ3ue<*FvJXE;sl^Jef7%FpZ#l&*xdKxo&QG2EAi6 z@=GlDV5HiV<`qhqXDnjUWaF7M%( z5oYF`2OWDV3B8TYn5h)0sjkMAP(J!MJkZh%hpV%*^~!W2^i$3B@4x!{(o45~L~*c8 zq5X?vuCB#<0)#~)b6MQSiY$X4ohBWq6A!?)X?N4(8_n9^2Dadph};yD-f%0V zVAPq?2;w>-RC|`!uu=gT0mPnA*Y4tx)*R^DPbCyYUv7^Vw4hOgVLhALK2i7E$)qPq z1zb*fWJ0*TV{7BO<+33MNF4|+kG^nAxVui_+EtoYt83h&>-8;#I9|5q*r;4~h5qqk zUD->aBZni`VvSN4ls^sSBhggWH?$fBQ(5wM_>eHr`OD`Eaa%e>-FmP z^h%-bC{3W&&OXiix!VNGA)q+i>YkZl2>qIfdY8p)OP#YtVzu5A6c-jUR`D$56lM*SBuL&%(3FI0}`2(zmQVarU`x;r;~A+3QW2iw@c;^9I&I#2GR z4oLzO)MLgql9Hgj2qiok$DSlO*a*o$Yup&p(y?}pU_F~#Ymo4}Z?w@klU1Oq{`_Yw zEgzTy*_vT*#WA|wxyvaH7}Gy8mu94ys}O{U-d?r+#CU6Nbo-M0q)29hZ;?H;2+>k{ z%E$}!55?@FKB*eHq2DUQ=$m{7E~FdG*s-1!+Su#xUB?_dh>#FLjF>;TUKIhqjXbaN zr?i=~U2T877OMx)MlElXMhI0T$94y+{Xh~YFM~+Ln3zz-iRrl^SSe)EpVb48XGmQ~ zDB6nciR(b&&{XD_C`MueBQqOV&hkg%qD#G}Yx5_28o4mTN7&sc44bSALQXBFjOA(j zLhl#@g2EdU|Jcc3Kq2+Z6rxfqQVv1js0h;#ps^Ypa-|NtTfL%0xfFkY))nlmaAIq; zv&lJ{f!;*Vn#)ZJDIy~Q80eeo`mo&#nL_{wU!fRp>vD@25 znnoQG=~8)(2(&c*4Tm3JJMfIO!8vTx5dywe5ch+2`d%6We>;8@mn`!gKiCw)Jg|!u z_f;r2H=)e*z^=HF8AmQ9S6j1;GlRD!vGdhQ$C?=#jP0&bUDdG$-B;c0%}KenZT+s@ zF27Rlr-No?u{sZovwRy*<`NIL}jrU^YmRQ^O5#(p$EQCmBOKS zyxG`R2E*VG{^)*iK}IpL7MQWbguZs<)d|J2h}zxWSY%Ib&+?sS(o&br*hL0adAh$h z@?JMu?#=Cta9zLbE=rgQ1zYbND2FW>R~}v;iPnn?t-J{urPR@KyV|wCxG2ee7%G;$ zAn>Hn{LF=zicoZ!C!a*@_AQAAQIy7`Po5o@Gp5`*S3;yL5x9SWa45=7S=i!Px1JXo<9b{h5 z+_bn;tz>x-yISPW#0Pgx#b9_@-@LtU|tQ zy)|RF>L6Acq`TK={Ma>GMh!A@qo6>4N#Q}MLpB=KyoMUKFVR;+%P}7nXl5JYwx_N+ zd*dCaB9N`&#D};T*hv9XOMO(Ne7q zIY0$rMb`aeIm$I6KsXRL^94lCrsZn{btyW@ulCGO3yZ1`B~*l$&!4{{u}DwR``seo z#QKj-#6^hqy&5Yy!pqrg*7YQZ^sZ2b+T2u1j)ARQA58k)18=esJ*ac9)ZmDw#DnbPR@f2ea__dcj`a=J(ei3UX^5h^bSFIavNVz7SXnDv= zfA*kQ<{Y{%PXlv#ey~Y(MaL8`CZbcleZ|#2TdA{WyNer#C!un5^nwdY+y`;SC1*{b zE5z}Lnt&(dZSga6Q}Ud1|ML8`SL9E;$q|k`jb?Sa`Qjh{PGcfIer=gG3lX4lu2e1d zD_v{X8)!+W^;()25cp6DGN!3)O<)=VxHp=>U(IeaWTUoR7c4d|+h7q)ZWH9noml$f zYVQw?9IK!(Kj{1HzlN+W8BtHyS-;l#%x>5vva}Cr+T=oz_{e*%d8U~%8ux(u91lx6 zFygn|QY12OM(m@VDbE+Y5IFnxe3E+WPk@E`!8bAV(xi+JS| zMbWy%09||a)SQt{)0lnOC!3juRjp2E>c7WRE7}rzjTcTb1oi*;V7;5>}S^rvB` z=hayKwM&s6rxK4io{sh~YV0bhO&axgDc*l^_0}?*<4K58x8n-p;5rY2rzDZBNK$cm z`!hXwNq*orf~F7%QMZJ_T>tDy^{Yk+Is?2pSskqtY-Tu3>q2rzGgQj)texb@e5QP^ zLU|xa7l)S^Vb?awi(fCS3Tw`cB!(eQ)r+fR)5J^N09EV+YtYDDWKAv_Y!Cda9(WnT z%6Xw{c%7;h6SbL(^P@284Z2hQ%K~9RypnU^(*`lx`6BCaO#0=vL%;GlE#e6KJ(YjYBB_knEh|61t8zjOBPHlLoc5 zXYNE+sem~lQZYbp;=Ecx+6*p4gRPUn^%YW1FTL~nj^%xsYRf<5L@^akmWPT$Rz72w z0=@8|5l`k4=}IK1ThH%;JaSYom8) zes*AU@vgbfND+kns@tT z5*#OtJ*8oOka1Bv%U>o5(#x@rPqcHJI9A4E93W~?|K!Yt$RmV;X@P69GC)mK9F0#l zcy_nDLL);kZk}r(Ph@j>yMr@{qbxtAgc!i{tMTGnT}RV+;XVl=R+DA@ObK58)wHu3 zm~}EU3U+5ex*vxP+H+ANxfxE={VLHQE2!j99C*vdPW}{jlI+6Dhjv!!q-)NJA@N|8 zMttC}lsaPW9m1Z*sF}}6bXFY-(=DAJvlVo>s?SH?tKvS%S`o zA*-Wc<+Iul4wj51_bbZ>f2}OZR zzm=!a=!U9hCM-{`$e3pNoma%B6x&zN&=TA-LM)*v%n!t29hpWEevcX;Pd<+8Xnl*& zM*&37I=;w%$zs_taF0DP2G1AU7_MyiNaJrV+lrEokl}iF>FB6Af5sqgK8ZTUD8~1E z5ej;dBdUqlKev3|fx?Hl!lpX8yTYjG=0-nQ^kRi0{rrmSOJC?tjBch=dO~lML&E+* zlUIwLsPE!Ii{Ji_f877sU}gB^dr6?~9c;RC54=9^(ijcC{DBAhDh}1tp~1S3~@q6 z?5)ueukFa9Gskw+fIKc$uzoH2XCYs$R)Z&UWj;(_51+;xaCnE6lRqge~n7J z9&!nuvEQg8D$j`$r8`Uf7@ZUrr-;Evtj=je9;&5 z&PQWhNQX{noV^bP75e9fcIa#yJnJ&TIHh=uX7Q4z(@N<^v3M#Y-FOn3qcK>!`P44* zr3bI(Y|so)nF9pQXYax(`UCJob*T#uwx3c6jIkLc?(18}oV>d8hwd7$Qx1i*0jtULBII)m;HMIhANUf z;gsqJ0GT9dzoZ=BzTQ>npd@J2!hB7gS^`y}aTdE0vYe`rVK+cpTjtvs9P?Smc$p8G zrSLOo|2rH)ZfHA{B)>-fnn(d?_I|n<{YxCy_gJAHs-N^5_vKR zU2bq0Q1e=M2hXIQT&1JOJFsQ;Xc4=TGGnhy;m6D>a%w}!oL|%>;sO=gDhD}dP4|-4 z)%{S&9(2Lvuyu2LBs_EAc(M`%>ky8AA)MYl`nN_Flf@eUdZh=5Nea1t_0o`D=mNgq zj}jv5QwNIoIQdZZ@fj)FimsUDVElOBhx0(vVp>JJ7Qf%WI45r5V#hw*#hp15*!U29 zp7qeF#bA25mCQT&bnvnau!+!9XO)^fMg=4{Qqn+>&Js&5CC1|{O6yTqO- zJ%KVc?Xr1^yHEg@@80wl-WnBcA1Li+&<(os_B(#-*8d&RB2l83c+WQZb;JKl?sE5W z9LF;dAsYzi^Y6rrhC|@!iB|8%K~QBWc2H z{Cns^>_z*UsX@2>nsDdkP2r}#79puh{GYL?oT`gwa5ARCG{nMdHPKYN+F0}V-2`+lmU zHmgv2(#84N%HEO$og*3_g@x_NrQ#(kw*VoK%}B$04)cXvU#KsDkZeZIzvHsLQ2Bn| z4i6dDy+n##I%aB_1;B?4@Md-V)sF62=w3ywI=U@dMQ1Y1jRPgT$BQZ}r4RLI+l42Z zuC8s)B8Oa0dfCX}?~Ixc z9p(Kn^WIS(fSC98zXvbpz?Wci&+ySv`GSv*9z8n2_j!5y`tjo+DVrE~31!2L()-W# zie3M)PH8+%Pq)b%uCDuzo$FPe*X`*(-?5C(EpPx~ZY{9ZvgHKsCssP?$(MMLErEJ# zkk9YmX1vp!yX^-)I&w_kUf9vm&NUw$-9KL>2 zj92WT<54&+JCa&&UD5kdZvdViTrKq|Vsy2kYJhZSD^-5y7dSG%BvpnKA!&H!!WR>p z&J<<(!jm!s+LYj+2ISU}Jn`bWae|HK zcy85c2i-%h^o$~okTfx=PoJTa>V>z|M>*Rb6_s^mTHl%gQ22k0us3U7YgM9^N#|MV zZS5AS#i>UOEM;A^!;-5$ir4Ke>fNdpyDcbYda6|4|XxpCe$Y|1gvU0c7AWy`?9vL`h zEX|CqvP9!Ysd(_KJ%8j#J5g z$|j2fX8SC>T)%*HmR>>dMA=9uHH-;|s1U+afWh9(F^!Boqf|S6JIST1*lwGdWk@=K z-51k8&Xh^V8d!fmRF^y~RP(dzEJtFiv z`r)JD%kxu=c;i7zO$GDQkyuBflNj|%+TT1U%Q@c{Goo0n{nmsEnSH%peDHX4clhMl zsGUE&CGR@t#tkJiCY8EN`@Lt6X={9-DwRQ7s~RZKq30 z_dHhZXd!KLC6zKvjT(v}L!sNjR@*ZOhv+c*B&!{M7_x-jljFa7$qj)7rheV@0SzRQ z1a-RG?Hrx+$PLyWBa_}VZe=wns}V=av3pNE0F!*Wa;Yudy=lH4f8{0-p;OhXb*}m^ z;edlK@VzJm5ji-xR4&d{q~tlW#WR#FeLEM~5`8vDN3IMU9q}iZIB&W?uqiVki13pV z#lOPl!;4?T*LomMM&`*{oM zo$jie@3|+3_Q0{_eEhM@T3Q)3pFOpDbM9YDx90+OR1BK7O##Bpm9+S)d}Zq8+>B0m zBo(GHb>*b;ap!9bcyrJ6tWr$2(5NGl`w^*?>=p;Kkc42`&DNkI>$5w1a3>pNk2ay# zzqdf4#>jdChP*oQ29{gcd@_u=!?Z4TOHXkNjo@H+p)AfXzG!x%-jQG@2~7{qoqMS~ zwu-DI$1;`GHtnJ4s?V-tm0ZyP0{p&VvAJS35`z}lP0Og=<6$*TGDC1t&ozZqHB>hD z3Q7rmFisqNso$fDRlI5~D#1(g z2#kjn9D20u@6gNU=w0D{Z#bXgY%^gv>kAUs_O4yet;lV#zmy}aQ?IqnFxDta8`#^n zcjM5LA|z(lxFQKgEyZdX2lxYGG3^3dARHdxK&K7sjFES@IWxGiw!N+GgNwODMX<~b z7;Y2W#mWuZuk=-fra!wtxo+15EaY$SO`w3!L*~3VAby1X&o>!h5>BrxE|zs^1(Uqq zQHzS&QaR3)`8q}%ln9Cm4bnJGPh|rutWs+UGRh3w3NW2|q~PLY4`KJ=R?K0$-aY`; z=t^uX{>|@q=mFjtn)*9Sdhl|uaqtPZ7=!oYbkAYyVBI#^@l4D$gh+IP6ehvInJ>NH z#37z59HNlac>k>TaQh+;z&5nCImRR|o-GOv6{F1?4}3TbBAbthqsSK+2LNM>Q=}cO z5T8Tn@(S+mgPe*Vs5GSs;O%#S4M{D;;@AgnW87(!5T ziyXrQ5ox5SSc^+uo?Z*O zh=jmbxh$^@Wc3Eyuoye?2=0ZrOc?NZFgsy@krf>Rv}LP~dfFTAEugccqWZciK65~j zn<{xS2Bhc{qzPJhDMYQ^9h4at6gVfm2T*k(u_O&xP!>C$RHWfAhh?KskeQIPGS2t%e-R2|R9vQN8VKD0UBcujgo!*%2`fyS6-TAn>RN zn=BxjE)@s^J@F|3#;Zpd;Kgf}7N^tDtw#Tu{WRBifqW}*E zw$YuLI?~yk$JbXEmq>oI2r%%(G9DCh!cF}@oA9t>BaxZHPKLBsjzXrJu zq{Weq&HIs)hd5y3Exe&O``)d+jI*=tzejgt>l$6uU{qe#U5v(`r8;2=;w+qOM7^~M z$B}ri8r1~Cx3A;rj57mOmthsBY{1rH8+d?uNb{h;qT|uIVd2Q4r(_#2*ut&8c=j;p z00IepFi!jB3%EV{BPu*pm{BU*;szqU1AzOE{hmq}>Ar*Vg&Su&8B+g{%z;lP_0FIk(R|3iwE z%74EFMrPa$fUe#KIFih3Qg+puUIKz(#B?8-*+d^FcM|S?NF;^6O2FiwuPI!~W=fen zKz%V(B5swen?2;rTkrNFPiu2wZ$QlKtYKG4vVmUfW zYFvynxXTWQLe8;50aVcCYMHmsH8Hkt){QNo)3qJN^ymHw2?SlK{M^}F43T9?9iAcd ztUk(Z(1gdD9!#;sFXfCtIGHIZzZVfVtKt#F!(XL*mPf){QxbmVt3PS723T-J#_-Fp@|-=&C!K7hL2v^Y8~NV@wx ziZLOPBP*L5TQHYyvN~vkLt!<4AfzlS{ONPcHz#>)!dro!jq`wG!X$1odD&xc5_mTm=yRGBI^Q_arF`6(E@ zWE#n&p1>n9oE}SU%5=okejM9SDlUltgcSL2JQ7}L1V|U25?E3>8vYUV1>Taq#B|V5 zL);xaT2jg#<4!pgv0v`bVrAs<QWjbYNJd0L!{q1U(C@94vR>}Xcwj)6=ABd4o z@_#)C!QBb^oS|13y(uyCrPn=5l3Qyn=bqLWdHLBOI%}ff zfYfDDV`T5tQMVD!VSQ~y>U4#DjWws7u!V!6?`jQWXTPQ#PL}^+dl%8n-_nTO4xeCp z5snynxl-e-%5Pz#`i_-2Hb~iR(fn_uX?Zd|5jga2mT?M9YPN}Ti6XcVjUEQBGS1db zkrhKMPiipK#Xy)?yVmjgD$|1G8@aNxM(&(yF+N+INLrdU@Wyj*>NVIxx4~cJP5|}h z)q1OdolVKWWK_VPL0WDLu}lUCqx7OAru}XTwZi{^J3!zz6}kY-ka4Sl-ImZiX}#xD zgP5}*w+wCKC{vzp2pY+=GUx4MC%w(Y@5s-fOlTR**{rQ6KbSZlgXnz1g)ZiYpoPKY z)w&HMTKKouFeKnb)twCpKCbs2pp0E6N$4tqvVqP41K9nz8=lNhdAvzoBFy|aeH5#* zyfZvj7mSlJm0f{M6bCLW9Y%88JW5kZ)!wTb8M20t$lykG@sp0h=xZ!6Pi7Y&=?YU3 z_jjZ_NQ2xy7f?xz5rpD8SlHYZ;p*j8%4>07KHfac1N?NA!x$9K_oPKZEr5^Ex?XWM zZE7>B!MwHkFuZg|$~06(Tw1cf0*nT+xlxao&Q6xsl_X0;hz(KgAO~#Oml75{V2~Q? z=ZEGB7kG7X+B^F#!0dLG3lVgxYaz{GxSZQz7k{hrMW%^)vka3hZi(+nhWywmEtEzF z?*@@J-yYmxT6)#0a87*KevY_O%8ZaMRAhAwlv=0DoSBO>=FGkodqyVLu&03kw{8;H zw!M4(p+^J-#mCX9~rVz}4DRNtjD5DdNURA_lUE~;YPc4H)v(KDCaZWKb5zwI;kunv9K%>* z{$=)zO%fv(Oz%_8@2A$9J)?C6?*NpzE-%xft({iak>;aDvxC}>s*mTZwYSz_gH{Z0 zoanwCY~_4dVQ9)yKPW)$=P;RivkC1dXKO+ou{ z2~1}mBZJ^P5SnI{!)$k`-=s7eVlbP#m@(ws;G%o011-e{gU{*k5|T&%HZbkJc&pDq z#nTol0vZB33RH+?ya|1G*uXu9bm;wIZs&gkF`1yw1-K-8-MLHHBQDLo7(j_OBy>*f ziF`Ppfg2CBemY_k7$a#80(`ciutn#*Wv*|93x|yb2(Y3?bLcGcOV0T{gwsuKh~Dy| z`04Q3dr1bLXYkC^7SAMoQrxn+m(N{r`jUhR=T2bXy?&4&;2D17X^$a7u0j4qqCwb_ zOU1Q4bAlSNGfRNGcW68`zZKC_pWG&X%Y5Aeg^Xi|VFH{O9+aa(dplMi z4Y}IwsX=G~lOv_GTY4>1LcKt_t5oXCzFJ+Ch1XPowFb;uKA)D!A6}i(ug|}I|1-?i z)0WvvC^N8QhD1=@m?NwKZ-U!rfVB7;a(Ll`IHGZVMnQ`m>G%rTQB)cXT+t2?Tz_Fc zB{0SRy7*z)U7&j4Le^GxU5{?c{rpk5d{^J)kK&hh4;vGg|Kux9&QrV{VmuODX1!^~ zxyolb(Es0lMl5;yiY3|8BFP}dvAZpeVn>pKBe@p@5KM$btf~PxIrbm{B3}iB<*#I~ z&F#m)u==tEXAyTgn{$d@C2kwOG=GuNyya?<8^ALp{Ao+V1KaMDbXxxR$>_POX?-3=onUs<7M7 zT=&!Vx`W`yt3En+K)}oL)jn}AIF*nY6o=BoBF2uxK^%YdXSfVhiIWRqJdJ!y!u>Ab zvLs3aypEJm4PP&a)|wRf;aE3oYSgD-NDN2GY3~`7_w+@1WAtlGU9<#R1BR|CQAJkY zJagqw+bcKSh~=+#T};kfUEOKceq^dz~V?c zo#oY!*t2@kHsZZ9qf8zv6fg>up4{Ttv+X-l%ypYIRCCX8?oThdO`4Z0ecb2+N)X;G zObsWA4RY)%rtxvKdlsl%eHR6$DxZq<(d`-pCcKHYfyT1j7s}LAJ)mkTVmwulBfI!L zN&%nCug24um}|3iTHFGP0z%RHn>JuI&}y24%zXMwTnd_;~6 zyht6t%WGc|DnZ%F9}uA;R#2AEuB5@O@`=ZB4`j631xp+KE<6oYN@IvxhCgbA&$ zZuUsYprpbRwC#snWF|*jM5Om`W`*0p00Yp$?!?1nDXJ3i07i%0q$Rg63e2Ky%8M;8 z$rwMwn~y|^M;dz-vbd0PRM9Cef`iIc&voVlnJ@AucKYp)V#oodyjO0RYe9(~@CaAs z$C2Wp0{O)fzVP_qzR3Q4q?P&_N@kLJeYWD!xyTnVXIZ8a)z*ZlLLjLA!TgY~W%Kh7 z4Y&4_oJ%aU-^qlCm)UX1F5^XwQucb~BZ%ES z@H9)Q6HupuJgkP&#_|(u8+#iCw%f1O!qE;K*4{`mm#GMlU-P|WyF$f)lG&a50En{( zBh;~RNa-45%zfm+eOp_TX^iw;Bcv{Xw!DLMu>Kqrz$c#3v}I&-RrV*xO;(bg{7_am zOQ|%<#ZDO0KtxqnMz~fXibA-`5CM{WkM|87O>1{fx9$&EVR@{F4c zq4FC%l)~Tisa$?Gnj8;kPCj_X^`8K}cr2ZUuyFVA!)*C|801c<0AW$5Y+!}x#Eham zI`08x%^Fb1V$Xt))9L&6EsOvJ2dWzD+#I};vfjXV2}_npN?UBfFy$yk{qq@ED~%R> zR|y*T;(zSTBPMN~AO}wH{mJI7TS9n%~UPWl`e*)gpl?s zi>F1^dtVC>Z+g$$R*47}u)f?%ps>9+xE}Gp#P4serU1-{ik;0pbs2S7vOSm--#hF6mZ$M+??)-BZ5wf(-C*b z9KqFzv$crbgZuX$Cc(|yHiF`$+at7+Zbu&5e4r_XQFS{x>NS0p3U3&}5yzZEof9~C z%s+?aKB^ff?E{&dQQS!^q8*(~86AIEk<%lyez~KML8@WTaGv68P2{e^&N&88ztN^B zqqB40DKnh!L|~kg#~s!-;Btl9a-%ky0Qe?yE*4E0(9#QlN zKYKt8Iq&DmZ4!sW@;Ht)&%n)<5ON<`mUfIeBM3|YQqxIoL%@sa2evE%zX|STiTNPsX!`AT2r7 zNVxaoB(3)3RcD^-Wlo+uKR;h2hj`c=#oFV_f|&q3%GDr^l*(pA7ZMl0OX)F#*Npk% zGC|2Z2rtV2TnVu-q=t@(eoQc&M#=r#AJ_R(?Hj9xc;%Kz6WE(FJ`{D}X-%#tncIy( zFdf=?B1R5sw1T2C5m@>W=ny#_xb#Q>rMV#zD4>)ebnU9w4m@Dqu>yz(v>mM?c_FXwAn1w)V2Ib5N>q z4*5}IlX2-^xIBARRS{H{Rr#z%FqE}qWKrWc`!ZfQM7C8+@_?0ufh|MC;S=mvZ1R9v zMk`Pr&~#!o$^+YbJa}EA^1$ZDJ)aRU%wuO5YTv=3=O=i3?W6Cv-+||0jW^ym&21YI zw3i^j%)_LNPL{ms(6xQgt6%P7hLMINH^=E1q`9@bMS3m~;W2FH-+(H`f&u5W*;XfYG-Z(hfjVH}w8imS#EcZ!T6T} z4$Z5cLkrO)wIPTbnrnA&iq~Uz<=9eX9^*w5^|r!0L6vg^RMaZt!c)51_Q6C4BW^f% zr*i3~IUwNtS>(^mPmsuQZYJ_GDho{N+>9{5?HNtn@N8R4O7d?7E!?_eaWWxhS>Yqmuwi(OV&kYAN+~TzZe0144T`3tE5Rkl! zr(-j^XoU-5`l63OPWsZcX+}8uV#Fn>zhtH|uY~m#bblz7blAg#)!utr64wq`Uhj*w1*Rqn zrg|n>Rgv(7Cwy(Auu|z)l>$lvqe`XGe*z!VlCP=i?_>q_9)Qlr3Ce}>z_0%7cKSD! zj|}ZZsV^f+5T{Zn3qlXks)M-G-}bU&uY1*Fmlrb_7CaBrJOU#L~!;ef>0H7R}t zr=Is0V9I)<>Io+m(tzW{jVhfo9P+KLJ*!d0E9Y0T=@Kkxx)9*c9!wH(lSc}8TIUS~ zbH{~+s?F#Hr2?>|Xlr7{93Q1`&4R-^!I;^0UFtSBY?y5LUc5wkK$!}2jvtt>#z3Un zT$W2&blolvEFJbNC7&2z1%-`cl2}%-MmfI}i=(dsDqQ>Hj}ee(^Q$=tqv0dkjTPw9 z5qWM*(_{)JMh_>{Dyi;|TdXPtCv)jN+UE)HDVsK&yhln{*%fONqOqn(y{_)`>59Tj zDVD8K)fXLzYMjoJ?UVGUngmXVKNy&GDt$902e6v81ot>8w+4W@=yR3vhla@nbEqF5 zZqnTr{VJzr1k=lUR}YF~LzzJ?IhC-R^HPo~4A8QQ+Nn({pq2=yF&{{DsD{ic;KHfybsofP5M^tt-Ap#zsnRXL(co z63z?F%each*&D;xF;+%YZu3dt0v4v&gT~7$o7h5(VGn)ZZ&_`OT!xrCch*VB2yX=k zCd2(cSi>gbtvE?WKW^f+9$pmY@ZnUoPY}ja1hlQ!-`n030kUiy+Klce~_ z2=d7~hcHU4- z?)x_USWYY-6GsLV*pWD&82u+^iA9Fl!!PRbiUJh8DgCC~@+U!hBJ*ak+xPK1yVpup zJ>eNl8a|d?>As|089_*Uo2n3!d^Zg_PI}`;ciP}GY05F=K5C(zu=Lkor<^T{p5-00 z!ZU0pi11Y9%CZwjl7f|5nXB^G9?k4UPzd)X9MCX)_5eTLN%|CM*#~1cdEUIyx}!rx zx-$tDVQdwJHIBmlU&MG0<^@7z$yG5ujI_?cs*WxtRygcd=gTjAVYMV@FL3Ws9|lRL zZ-irGX$PgwZ60JO4x6K3Azqfk4S95iP*NRqkWVr1kT2Z!9n!UNxC=!w=sP;!MiC_w zdQE|?tDVlUz6RdqB-pKntU8X9E7Kz6i>R8$9B4<3fw{d{r*Y?)CUmNlGa zp``K2GT2fXXN_8}_s3)94)b;lMO3XOeH|&x^)e;G$I ztb|LUgyn5C;0B*Nnm6n+cIov907EU^II%*sFKPi8Xj#ZpS6H zY!h?HyUDvwG~H1hXU4^dJ{!`7odHRpxk@@}wljxbc8&8?#rpm_O1r{o_<6?7pnF}H zrmRv$WnWHm*zd}Xk;jyJp?QOzgLUV{VYIrG0zK<2}O2TEDzGmBqN z@_gchR3py4@}Wu?nnHJCm!XMKkW%q2-RuAn(5hx+JC2!TU@MmKB%vHr^;Yn!;^1SO zHS`(BHZrsrGxLxN3miAL+AOb7St3{gTN`fxa4G&c57^a?VGV(!V&?ff}c2Ggt}xp5tfK*c|FReG|_T{7%r)EeGK7mFW+m8F5ki- zM~@}GUGi^Vw0u=oYj&opgPSWnsk2@bMT^K#-5BGh>M9O=P*-Rc9lWMTNwF~B?FsF?ddE!k#mc!J!>YC-SS+e$h$hQ^&$EVBt3I(-@LDJo`M z7$iBBSkG!VJYZo4@aaqMQ;6D4EKoxx;UOX$34h0Qas*k}+8(B3F^14fFaoK83Iuud zA=nAm3DsO$CDEc#x<17U24|_!oqaVwMt4QGXP+FSd9SyCBE2kQ@6N&)YW>=kV2~@r zef0|XNXpeM91rE4fbJRI6nD7C_tvTMn1H;QppvdQYAgG*BtTuV-D{O5`H6#Jod6dz znpl?I2L^j-Mz$K;PCkr_7N3$0Z@{BUYWH$8M;A8e<6AeFLR@zcYDZ%x`f?W@f3R)F z7pT#$`Fc^tX!F*Fs>rdV1*bEV^0Ecan_Sw*A2~NSY6X+=K)U02QweMO7C~YRHaA#o zaHYlKAiIym1Nyy2xY>10vPO(poob9i|=fH zMxW0)G9bpVn>>T$i!!?+`d+<6|CsAdXG)&{Z%dyxh7<%GPsuAP*kHmMeA>(v9piB( zcb5q~C007HzetmaiPgf)8R7Dq<_YXxXAE%8mHzHcLX)ZBuzPb&3J9xBCf#v-Q<3wn zt3|_tn_0n7t;SZOvS1QN6>*$b32qSOTQEMQWgJ~hBK-MWe&+loZDx4!lHAXRmv~;) z#Z>09VS7}BN5jel>%_GGzuB>IE7?>2uX6vzfLGm=T}&>{b+2K}d*@Nto<09`TI2YZ9^o;5!Yxgk}45AK7zvc7fY3jAtr(eL*Lvmf+|*Mh^Y;YEe(dQ-W;BtDcV z1sHdfUW%xakjby!>WnK7VD5zhjVeQ2Maky|xVDWCmE<9fU{M&xveZL1iKBsFZD3Bg zg42_UJD`SA1v98=W6Zg`+l)wdu^<1kc$=V5)8wYla`zS^pQ&hMQ%pt1$(o@mggUW^ zvUEr*IoLpNA@ya1wU*}KAo&3{eo83;tZ=_uZd##19{wpF9d=gizUf9YOjauFirtQ+ z4Pd3bY15ZR;KUmI*)7x7x{M5ed?rxRVMAiZN#e7gnRKSJJ%tG2(`Fp?%U}QM3a%iD zqawNTGOetudmby>rKFAFx(9N`P^3Nq4hy;q!5&IlELZ!fP& zy33j`sCk^E`<|l!kT>Ytd_8v)P90Mcr=#+%ELK_Sy36tfA5|yQ zWX@EoJS*GUPHa%ud6gh43fL5PEeZ%CZHfeU1=TnBMxUA)MY54_8n4>H&1j1M_DB_Q^pQ0#yrKid&THUEIYI_PT4xLFh zZh|#Nl)Wv2V;-+;yQcjxslEqXpzkareW`UCpJ*Jn0CaXP2TwiPC z!1$)fXls2JCwA8sN1~k@1Lu6c@qAfpLH!~j{xWUj-X-0oDR2mbj7U?nW@HeSaSnkMTzq~3sE_wsrRrlTqZ3{hrl9VOswN`J$RUY&jA<;%u4T~;J_`&JAp z{6I{vU*vJlFRKzQQ-lTc z=F_1%QcgCm^sg^JP9&|nZATYGBJm?vnxgJDH<<#56IfAC?Rq%WCzLWS_ zEHjvNq(Mw*DH331&VqR z8wP=~quM-VM*3z$Lzod3vAZZPH)edx`{}b{@D`t^5Jk|o zuglY}plTf8MGbPKRdruNZGxvKH}?a|_YnHvZ2V*?NExO>+(WNn?3Taem#yA{u<$U% zn63!0v7K>d635_AsHLEVL^IFyyVywXP>gN5NsyG zW3m2Qvb$n+5M#)QaHNSCDrrj+Vs-aG)lmn!pn>uz7g5P(B$nBtr2X6Jn}E)0b}fc* zczI#4dyD6y7y(vfagnS^yzY6-K#*j3hIYm=06V#hWin&TcA{ZnEqxuJCp3P~qp<#9i?RDb*D>YXPs$Kr5+EID`^Z#}RF; zA>GTTF1Hdc5D-Y$Z3$kQ0h=VJ5_m9q0qW~GSNEpqU4aCX#|TKzW_D$PIBR^hKoG{* zW9MwJI6O(Veg_KsMc;h$0jO6FD2t#lO=vM^bBmr#svVfdtaIm^q>JV)W=z51PKJF92&`?#d|?F5hA>IhWpqzy3AC%{kR30D2L;FhXcYkg1qa1| zplP)8jlvJ2DY*@YDHI`iMoAQo#@GQ*Dc!a*tAyc2<0Q-~*FvJ^mBLbdk@G=l9W zf5!0>Ttxv@Xum;%?K=u_6+B`&Ejh!CSW1nq{1HCE6K=_5VI)BmEoXwp2znhasbg zI&#l!lJrK25*q~RiNl$!q9%7z6K}A3HuZZiejs=VMcSLS&26MJhkZ-7hM0jT0y38; z<$!W|6VqXs%>FLq%W|c zb}I$l<}J}(XewJz@fc{a4GLymm5b=gt56;&R~(=-ObkGNBOwCv`8LE&V}oFGI>3#! zL82+rOe`lOF3g~qwkB?y_jGk(=$4?{=L~)9tPOaflbDO>lpKx`8O>$h{j-Jyf|GN= zO#(}%>Sv3WE?L6N-fgjR&fy$!lFB9jT<**A#j_X}Y##nVU>LH>O|#>K}RRwJI;}N$9GxiDQuDZ1er#z|8VS78~K~I{Z zwXBh|p45JyC51R$_=LhGIRm6auBFY1&c>Y4kwyZQIfJ*^@>M=kcfU89NJO zCqg7Fn|BkyCad( z!Gs|aX$yI_p7NNh4|PflufKf{%vg6bkt9R%+x2>Cq?Cc{*mrQPj~6uxUw78@Cpr;I zP=MDOFmFFwlqCq!6Z`E4UHN|EsT?r(eq$8&QfTU^niUTxOPq1co~@a{OC*aq-h;V6 zkjd}?T@=NF$Unj8VPC{5oNsVVBx_OriT^Q2>V?FGKW9hA|u|2b^qA6aX;XJv|ZcT zrC2!zOx)if&p9`nz)Hxk_W~h3(@Y&}EGbg#nDY&1TpLk4Qsj!226&FW)FfDB+?Qvu zTMabkLB->ZYMzVh$PJQ)hBXyX8BL-99y|^zJfDL%{_=9|pK=&u@0`*~olh2}vy@l5(CW^1!V zmI&ubfY`op#3F_T5O@r1EKPabXMu~;R?5m1+HSE4iD#I7zU=2F*u|rl#sqcDj#KC3 zPS@kyciwwRnPwFWAGQN?y*N5e=U$zs(V64UA>T-;bB>J^makpI`5JiUPSfrA6?34r zKm!+OFf@L0VuSr@6pOSW7|JxbaIP)oSPh2uJYDZdb3+e;P_&`kh3U>(A9H{LLLiq( z@{6Wh)(j90k~*4sO~RR5Oa&^jvr6if@H&=@FM>qQ?|ZKA^WNdQa>VPTL(52$U~U1I zpbTKrH&vgfh@|}>O-sn6=_s(EB@}cEo&g)!`DYLSkjMwa5$}T?86l-05X!FxJK&Ae z2akCiW(%Z&Cv0A~s2yi^WOF>r-L)VL^g>K=u?H-CtT}L$d@l?|9{!ftNzgv+J%e22 zZ{44i($m+Sh`m2GrqwYn2ci*xqV;gT*bdn276?N3(1ARY^>Q4@V!YCnUw1 z$7dXUlt8}n;E+EV2zLWaJ3japf(~oe9NFC99-#Z<22LX1cSbn*lm5<{lx#r^QqpEwY>HJt0N(sdmHuHv|I41mxbiY+RU0GS+IA|s|+ z1fjNz3`Fn00*>iG5s?QfE|D1wOu5Kt)| zJq1J(?kFD|j9wpcKR!-BcIR%u`^Uu2dpEId~O@p=Q%a-R1Ym@)nXs@A@`bY zrpncI>=o7gR61E1lymx^M9S>2Eho9*I?tVK0ovpg%I9&w&duY<9_o?UtW;%9550a; z2QpY2gC$>WwoBobjTXB<`oo-H1Ri8g4aO);@`3q}|JGBv1zal$vxOrXmU~(D~?tqXqGDIeS63v~zObli|QkLhVWIvEhaEGxwNA5Z$ckIaMIq_;e zIp`(};xJ=z@rAb+%O;|QJ5la#4c7+BiBVzYx65|)j2!950{plFp>kS0A`3fksh%tb z(K06rLCyD4Og*66EQ~dvSi%bi_bMwK^ZK3H?!{x7bf>VOJ{0UX^;zt4{{06ny`$+CRf~= zPc(Od7(EP-DO3ylThQq`u19XwM~WL?q;hS_H5Ads0DR=-^GVR=O4b*_6u`-SqQ5$y zwF^bF4sMEzfAIZZ_qs=4_tK#`(vdnqe0smXK$fxc5pMb>R4=dd+$U)JZMtGKO^oTm z^TuIhs)0iO?XJt$v5c>?T7uDSZeAYJ%J$$~wqniE26>L3I5^*B+lf`WFHt`W8VbLd zoboX8GKyOb@?T61M0O*ODA!pPsgT2IrOk+vpp;Vo%EM#~<}P{bM&YXS`kzwxoOWrpjkk$5yl zf>|ux0+d-2Hn6z03YsgMMt0CexE0q0jJFn<2@j;9;G~jzxVp8!x<$11S?o1=Zy=E3 zlm)2`cXqvpa*Fw++#NGX9l>FMu{j&P597B{^XnTW^DKn99T3MkMvl0+1E?Vh#1XoY z*3)lbPOj_-cW#=ivRbXCbyF4@4TH0=b#=j!v!9 z#MTr|FEZ#H7}{GFX;gKhwr%nLkS8nWB0gF}j_JDHQaBq|Bt?-R*I)rir52;QSek-|Qat{Gz3H%a~bj}gPB6QCIh))XU zBwF?|N8m;x?&*a^q5v|LqEw6vN>q7Z@$M!yY$gOU+Z%Dw!L18oQd8E!@mb%9L#d3L zVWRB6DOf6tPUhjWhKxP3J)v4`b7hO%GQiNv_TCaM(S)=U1sFunE#ex+*>0^M%!N6o zLsUV@oh3@cUn|~@@sdi?PQf@iBP|ca=MH0>uWDxLjOU1TSJ;(_T>)2&XjV$btF#E- zK_57|!oY%0bE9-MReA{bG<(4K?abxJK32E(q^cBBB;AHsA|YG__vgG3E9*-)uJ0^e z-G0eM!hngL5;Sqso^GUcZN^hAXND=I?zxUwH73bKUY}r+446ykMShK=v7zvCY1q`W zsenuc3kLmbX5Px0q(PG|L)b(#@d{ZBGtm`*86FcajeGa?H2?r(4d$O1O2qPjA%6SDLoe7@-Jd+=0b@p}*kt}*4M%Fi6b28kth7c5C}LI1*ZiYYU)<4$I5 z2u!HAjM_j~6EWvP#Q`#LSCs{gSi!y{hSB$5nQX|e2m%dN=q zx^At6bN4v9{>~=pgp|fcxK7`j6(^jLb{do4x(9UT+KTtr-JsfhEtIqZLK;plE)%y1snP z=wjW$!FaLRSSADZE>+6arJb9#ep_Vj#W;d$jYpkcKuO~$vU-e>EDhwyNSxXRuh~aR z&yu$g3v!K}Ghh!rBs0Ks9#UgZ%iHuUEhbVaxW5O;_tGuuITaG8bq~m>g=e*NS&LSD zYa;Wl*ESw~azB9X2J#3ifw~>ay}`w`fI#lt{`F969{Vox;Bx_RgsobN3fE&V ztrYYU=Ehe-XTKLxd}keu$$jpRVp!|^cs~}D!Za1NgE-uh*DS8S8hZS31@EgeLptu> z+}vx)I-f{R_Jj47F^ zfF$;8J00H`kLZB40JY$!#8ekk=hlFVOxMoLzldK{e58M7zDeog^ngR&%iNhAUv81Z zEaH2o+p$nbZI(PGY3uU^BJU^6w6XRC@6*FI&}!*%3DegfrD7|Fh2qFe_H67jW4iVJ z<~1Hm1jR}%F}8m6Fu<%Zb;)!D@qN`}kIr6B$2T&J1B{{FNdxlrqPg?#Gv>s7$iBZ% z`_}$qt(HGt?<2|D8E{+zPdgfIh3c9-eM-Vf%2&aw3QhFqn~58&#K3Xgq)=w2){aMQ z+mjAtWNq!2M&SZw=yAhWJWmZQO{ zLnYd#ZX5!SDXq>h(MGLK{?RB^V1^MEMv zL@xqHloZ7&8zx}WUo`%Yz2jsDH*$&UTI^%BT2$D8LQ)$gCf*uA=rD{V^@CZz(m;_t zCj5?+#Ya@YBMh<-1`Y0kuU3d~m-HntSVDf$%Y_F9Wicj%gKdP?hjp}#^@S+`A$nhv zY>Y**qfML7r74&+lw|BvF`=#&t4=*Y#-5k7Tt$yp6v`-Oqkx*RsEUY3RtY;m6tg&G-7kfx&&l79UUGH4?zn55W zXSaAwZ^Q5o_X&~`!fpe+y@@&4fC&c#sJBG@2@gf&J2Qh52bsJC@$Xe4pXz_m=9$Fj z>XlCHu?^(_1JfufFwZ2Sh%)hJ^!09R$Rln9I@m9 zNxv?`!wG%U%#A<*u;fpeB0R&;S7S{yR%hX=xT%F}D{ov7aeh;i2NuYCi5h0M6yn7% zttB}Ck(MNsWIY+AfFyKF`I_{kYTE!^^il64Hnu6ap3KVF0P&YG7J)_RvW$~gLoWh8 z`yeU#=yKonm)>`j6`0OR?bJ04sb?{YJ(}eYY|1%5o zzLZSB#KZ$5y=m+7pb7LTLfihpJ_6cB63}+YTX6(%wvFG5>TR_^9?qtGO!hv*S){u0GBlk|XuLjRS*1Eu z%L^D9hqyFyG#JGU`;OQGuGnpYr?IU9L(1lBKo5QrGtT-PoeII3Z);e5(AelR6L8Jc z5m~Qe2*IPf=LsCzCt%}>ziDd>O>k|2v7Mgz&n4Xj(R`_hH+lQTZ`4Y)>a`|v$J2`o0Op;g(cZNoRz)pxBS8u1s`MZLTv}XQ6mZC?R zd&>-zh(n$xz#S788|^ukRE0K$OkR&>PcCL-C5H{2Clv_9NtVDOyInCUrn$}46$E=p zwG|4&Dls(?OND&94y{Ce!HBb_xT`!p=jOs*j9dDl6O@$dnZJrh@=hPA2T{n~S9C<9 zP3V&}cfm=E9gGi;k>EJG1b1x-isQqhk25LFag0Kyr4RdEtX3yxAP8=h+@y z?q`JJNXZMd$BX8V>)53%ZFmfeAtjT$!H`5W%2*ek1x|*fh(sjDqeTK1r<3&NJYy(H z0x#9% zuZ&Y{CYqAXxsXU0(kSO!08@F;QoI&M#Y*{&yrfg}++-sy1HxWiw`K%x-;zy|Dfg-tzw?T*i+nr7H_5nP4 zFXJBxQpYT0QvC9{E-xL6gc`ehWZTtn?e?M(ZmuCEpu=NOJn+5nzfrie66ExA~#zifl4 zEtp&HCY8`psRv_^7~36$4PzRAWBEf5btDudiklMxRz4Bq>Pr9ogvTA5lB)B-?gzUZ zPM$m83C}5Uw-cNO;|R^MNiSlU($HC%G{arD7u^mQt{0k)F`X?H?kQm05S2BM5$hWF z5cM;7rK?SEW9`}!DaCk(OUWm*jqKX=GBru$GD&31h7e_V#A36w+q5c)<%4y=#_&Ro zM*M3lyM=m#5yLfQ_z{!f1&dP zKV&sw%uU7K#7_}g&Z~m=JcDKO@xgsCmGhIAN?^S$wea>;nKm0l+&=>!eKoRcq|>NY zWUf!y&L4q~G3xM*Z&Lb)3fJW*NM0u>MTOUR45`MKp@H6J|7P@m?X{)a3~QmdI6cRjnyg=1=_dzBIq+$IMgs%g)OohOc<{^ zH=^o#RK9R`KafbiivG@sH&|*4Mlp~V)nMh7ZYC!|T$S^d>Fk~NR|z}u)PVu)Ihy1t z#x-MNn5kF}x)C{vtBOy4I=P+jT&gLB)2s&)d0Hz&fe`9?GADO6)-iUuk~1p23=fv$ z0w8DND{+94xu|l_6#;XTn#kK6{?97qVRi<)xk<_N?G={v34YunnDi!uYYlx&LOz_T zk!)dCeX$bGSQ4-I5&eH2(->s4@(}~dRs0VU_CR zZ*T>Is3c4T*g40Mi3LGeYUx^%{FM}v6|DG-0yI0ps#@tI@Bio{I!NLT2Wu7LR$u@-63r2JEAA$Jwht=|Ilc1ArA4y9P>)m)#~kgGjWtE1-%R}=8RULjeYTq9ipzf z3|4Rr@K`M-(M6LDm|%8|w`RLlt?rdy6PkxPruMt?3rOKSGX!hmr`zm`;iFM6rp;!VDr62KDMcO0xPO$ z`pVU%mFxW#3MY;^8hWv|g{v!97leJCW@~OQfMTo7oivukwzfUVj3bqjhW~j&Sj@@t z5MtB9I!!338P>YPyy6UJ2ORBOaRG?t8Op4j;8jADO!ZXc8^>qRfr@W5QRAE_scIWh zkmQiAnc2(y#oT_qYkGE!Nk_UJGGW2MNjKbbR516OmP=+!d2N6#jWc-Ph$wV3y))Ts zGQAXtkJoNYjuN@Ac?=i@Jaz#`b^#nElH-D*v_i0($pga5{az3li&= z)d$6qY4+vW_uG2n7FA8~++C*hhB0?mmOj)Po`b`@a+F`u_=F@J>SdX2oWm1U9ZiUV zhUTGpcpaEKubP_~nGg&OmE{FH@N*9G%p>3+@mPAcs*@pKOAQ9phs$8xEfAJ)o}oFj zcciA-t#3jfjz_AUn>9X)mzwyP5@4CaQ1A{wnwZ3N2#;p}=}Na_JZ9YEqm?UrVhR%K z8K!@g7UuFR+_ka46Q8~)lXQLm=wm)kw7R`m6fOh7^Wh5#co`&4br6oruv83Z_neSM ztR1{MVfk5-LlLbfO(z(&8mVIH>phZITpx7;qvKf6lCDi|S%QPwY23;ba5doC%p!-? z(b|g{)&c|7$F@|KS>LJA{P0X}i!U~;dNmpkJ^Bk;bcy^F3 z-vT&bobA-A0sJl6kfFAZ7%f|0Q8rWpe|_>!6&6S2c_BbcMJDc{49Lg&AXXc%#g*jo zS7LMH&)8Cse_-6QF^qnG+iX==6*dCq>n%Ovc-*4xqOa4ir0|VZ7=JNQ+kn&8b>b)mJgNKOTk-7z68pB{ZmCF%J`sCh_<#39YQ{tn4Y*eYhB`D2z_<;^9q= zQ-_L)5{L<%7)GiD*jRzzQ6#v~We;JQM6DDcKq^{;w_}c0fLgG+q>bj)Z69jS9d=Y5czW1+F;84^As7|2As~jx1v7F%bD%H{~ z%Z-C83j5v5GP)A#8)s!Xdo=!&7>>%_Bg5@Ok3-~3_8@qX3iiu~$h%&@58VSgE1F#q z;;2+kD4LUpQTQll&(EY-B(iis=5O3bb5-7yeQ567o9t;c>1g2Dr>M|5{?U^WCBW)}0?tgBskn}XW2va|#`3^yTH*m5ght!x{`m9%6&Zz%)xD4wNM4 zALsVS>aw&X-4JOdsY6c}PSGKP?0kR&@1j>83QP4bowhn3n6Ub)iV+EGX5w0@E>aBo z*z7&kH`zu{R32t{3uGdeUsWQX!7v&5$nMqVU2TUI#1G`-?%knxswT->)2o7c$v)e< z9^Ybvt~Z*Ul}bzKy=QcGY|Xl(m=@Rg=%(dxhJfyBlllvzn3q6aRA%~g5C%!!z&-5k z!*V$CR6qrX>ehJ5zyyWuanA- zI0~sGrE8Lm1#vZ;B$#J#^M0oS2{mQNEodfYp01a5I0|Ls@jiWd?+XE}BP` z2gfXDI?&tr8kt{+_yk2_bC}wU{4o6ZO;rwRklblakpf`jHmN5=?Bsr=QSRl1G6E3_ z2C5qGJ4hAA9#l*&I-w5)k_zogNVSax$Aa_sv6!=Au4&xoF*NU7h>USACUEF+njnr` zrex^4b%}^lsU?AosByfaZeb*lj;+D*NTEGCJT(Zdc2LJq!0PVhcZ9)>#@5M54~w)1 z1q*(YGX!10OSyHBcV&R5t|a>teBye7?gAijLgRZc?ouZ;0GH=MsW`QXUQb~yy zN?I>alYIGH-NI(hqMkMDIEc<1Bz2s4SrFXgu4o{<=WT;qH+*h-}D%iL=+W^ ziyFzYp3wxGq))ES*TF49MQRI2M;=o?qieTpQtEoBTlKtEw z6wf0O#J)w5=ui@Q+Tp~B8Kdp~H7*F|#Ck=`M~)gp zw!U&p$-Nn-kP$ruA=U&G6%g60%_Aabg+es(zYrGq$GzVVBle=^h+$- zju%!u^w3L7XAnjEglca0=jW>t%~eo03N&XsiF^MUL);=r4r{m+$Y`1%|V*ynfPXCKy1F&|v-D+C^_1P~y;T1=j)H@Lzo=&ZtnN9dT@T-Hz~NuEO0P`b5DM#5); z@f}el0f;s{Ql4zUw4N$y8@=c8OkRrtO_Wp*23iuFP>yMAdUF?g4}%u*%@%T*P*g>D zm2;Cl2PvWtJ1%se+q;8wTDnoEgoX@qjCY$nLgk4`?)4*h0+3`S;n zaeg-DVm8bF^49hM(asiboXix*RWtB6HTUpK{c6eED0 zS)f`DHBCS~JKkba&Ij6?aQk@P%L0IKsJJ>iVrdHv_2{`20#0yyz6zNFU(--NevYmkD@ zliMqrXSp*;KLP}*9~}5PX(EwXSrGf>h$xq7?>w`VwxBcG+u2!)c+5*xfEm$U6x2cyRb2Hc#VCGRAc5MRulBRAW&Z?jwyBwliSAS7Nmh(WX?r$^JgF@^&T zzU|DPn26{p_;H8=9He$jSYL9)SpQ5!EjULI>P+G&;S@=D05XDj7Mygr9OznikSUpV z|Ne6rlb{*<^-UNnaW$TGw8&w$8>5`I03LBLb|FRXG?{gJ!SKEp$d@&~((;rDH(s@8 zB-H*4cY?j3YeiF-eJB+L1Q4dvYYrPE5qslV6JD5*0n)!gk-xl)zf|0e=&|h)S{aO; z**}_C*ZBD~t%gEu?ta(%P`e_Feh_>E{zAZ(nz`MDZEIqo;Dz!c8y&u1G!25KHkKoO z;~5V*K-vErS5{asXbhh;WIK>0=sNr=GIhQ(Q(@qXQy%~lxd1CI$lUo+FHPEWURx67 zg<3~p^) zQT&3BAZA1JM(_q$5!DO`j^i%^Rl_LI?_Fw~)Io<*W1EA77L~w!oR%gN!v(iqM+njJX z^i`_EvhH-we4g#9N%Y88)9Oak%8j6bSNw>=0V6NAy$Zpg1BZeNLa|k^Q&C=JMZxN5 zn^pk{&{VQ(dyolU_y)x*njA2*Dv9VO63;ETbUJD*6$HbWIUWl7ky?((g5@#NVQTQ; z4OyH=qq7JG26T+EQ|@+R3)C{P9{SalDQ9d+8PBq|WXYWyoS$#%!8xAEgL|xr4R2Ye z4b1eAVv^&BwLfZbi5-36a=gsgqaC++ik2@_#_5i8tx<&a?92@og;yN7)BE0D#}Kvt z=EX}8_aXmzT()RzCVkU^H03Rt)3D~l{q1Ujemh%Hp%p-Aq;+yJuA7en$6_N9o(-Dk z3UFn1|0*A=P?srq2c#b`bN)2Z*wJVNzJ9TLBrCEIpi{AcN5%6eog5%SA#c7HH*c;Ya zC>(jkl#0BNjPS{jS}+Ok)?h%ieu5z;b~_CA5r$|^hi~@kDELVEUD`b?(#R&V@7#UUv#g+QXqL}HHKsJlH+CXYj zD*@_K%yCAjfQnS-%hfJ#A!BBL{Rl@iKFHVu4>cXH*%WN28HHZv2IeAX1^*jh!kcMJ zjJ8 zd#a|f^3tXFz;X7xZPyT$kQ8TZ@|O4S$hJ@!AU%^&P1f$M6(v7Q8qJv3M~^*Jj@1Tt zz9n#4yIDpqAQseGQXJq|vkiv;r0ULM^yu$(?Kg!ruoNJm0~=!d0WRG)oVgTO33G`_ zmbRXcg&W0+&@c?*{hDEQXOZN1;VNyExeXj`Tam zZ3m~A+1M84HfHj2bJUT&Z&ivjoCU29BPeB zKs|exr9Vb*V&$qp8|jh^RJXV=LrD$VZ({gb4heR0ktT$pWzlpqYbCkrzA+zcQi8?& zAw%Lf{G>HBFl&)Rp!X(sokb{rBLerto;aNVXehiwJ;Af;J-$pyb`nWvDP5~)Ur-ne zHq0b$zut^yeL-R%@(rp{NG|Y;rdXai^f3v|Y}XmJIQ^8uZ@ z%n{l?dHvN2L=}l_iRq8fl}O^W=3+hXW-?0`9mG7a8A1hCX5P8jn+dz z04C)2g@|TNzTYF9zk|m4h65+#hLwPred$Bo`6`SeL+E?|Qb&!Vwy%=G%4x&t0}Fom zEh=3PrFWQmkPE?j_}8x2LHk1Xl6<;inuOJjeMzb>$6r_`O>ZkCH+R9G=)U8D&0XoE z7HVr7;U)Rh00Og%&%m40_Mhc%fFGyoYR#ps3)hy7#AUMbFp7${O;8Orv0$i*DS&zH zdgPi?q1FeEt&L{!PbkDlQ<+H;GLlFfDx0Kau_<6tB$?KW4m8-oe~SaCPt>S4`Ya3Z zca0hM8F4{d9!9MPj#CE^AmvZ8E4dn56yI<{B59Fp9^ebZqrqM^fXnuoHfKma+BmL` z#`hr^qh;U@4Vl@x9f*zK2;1qV<&XmKi9tuLWJ{0uDaC~2vThbwH7<(Aq_`N&!yK9bWn+0_V-AQreM$xgPkE+bV@N#QBHT_MZYHjs zskyAkL!wn!9-z49I8H!N-<4y@MHhzy{AP*wIA1Y6JWJ=G0@0GhN5z7gjAjKOMUc|# z$T?GBGRJeQD4;&iE~72@3EhLSoYg>;W5q=rWoTw1Y%H6WXwWe!t`3!>M=-5Fu#fvA*BEkE)U)>cGJ+LS+Jqr@QL`Hm`o9{7wb#rjlD znsEe-iUk~Iz%Z>CR;`2cg@<50wP@Jb;l-KcMOLS&i-2cL87d}xQJg!g?r_o>AjNS) zTI32NeJ5fdL4gvd^`P2OFxgc#-dxtH%Q?*ng}qBRP$4gxgl7Cq?t5^bL}9t+${i=f zvN(u5R>TIp3@;vn%H3X9#XilR;fzIu^6O3}uWImoEQt)v8wIG~v!EUAav4ekUE;=r zg4m7?vs8G+J`_4wJF|beVa9nt1G<(S6)`ccI9IJYiz!kuNa4H+ zk=#SkiZ%(9Ly?4=<0~%%8Qwf>1BWe5j6l7#n~F(jU~@t^6Qh$}uw9Zok2(IVbR}lP zB%0gjqSIlKilaJobf2V<$0!=fcsiB>_{fJwY6&E-94LB%o02 zgrp3GO!sF?ss@F6kglPL2{;Swux#(3&2dcf1KDS5V-DM+gTDQDMOq|P`U~YqdgKP~ zPFyV;j48Mb_Qmau%VG(?GuU8dXKmY@ar6jGDIss0UP|+xMeKaTCcJ0mc@+Sk4?G@g zihDMFwD^CQ)sHYxW;f+Qp?70u1^`raqN=SVDa4kO5xBMtE39pBlYonPpW21P+&4Xa zUwi@#M}#i0hbksOWyx)~d?lf`NPmt+kWM-7~Y? z#FgcD?&rGSuon7b$~6!OqMhZy zR^*kRWM?=iW_Cb@*L9pl2G`lSk0h$Kg#mdJq>M=MA3@}eR5cR`v&Ib;i)m~d1w?Jb z_Ux@Xl~|Q<14gk5^3eY5>W){fYT{Djea&4M&MgWrpjA$kXpRaC7o0bU`7gS&Fd!oi zrEmjzg(0)*9mhDW+^6FpAI~iChEiU*5NHlA(ua$F%1J?5Ti6s=EsTRs!i{sJ7lvA3yj#k(GRUI*@Kgb9;|#ROwlL>o!SQ1(vkU~UoB zh7hQgY0n$UxW}T~g!c1Sb__fgFI?V`PDRQsloBrBR5ntyev1Fo^&4hWj@2a8G`RP# zp#YA@RBH8arPgEXr!^JS*m6H|ol#Q_Jk}oFCE6W5VU$Bf-6Mo* zXL+=x8`&Ct&G~RrotQ}8G@Rf@1-)qHaY1yQhy<`udI1?p^8eY*U)F+%Ilg`wfFpk??Yz2(Q?)t5T zYL>W$mWxWA0oqZkuytYr>Mw)N=p?e2oE;>@CRN~JS6O6sURjLLxqUt!kvHcS9}X{| z@}8ZQs=R`mgn!UDS_)40(i!W}jOtQX}b=YKO zesX>53Y;jTsad{qx6r4y#tc>WWNd>R14N;C&7vd9^JxfFm5ErMJh+p-CD@g$(ePyj z-fLMhtZXJ&&3xL%QpArMM_OIIPsS-MY9HNpdEe!H4sop03G6@M$i^nDD(_YHHF1vF zlp{YKL+Q5{0skAD(!~$RpRxGXtnT1MBxU*6>y*N%u&0 zwQ?DUbjmjYG_CQ8{tC?ZYSX)d zwTaZT`+N;PSyo81VPCz2gpJ*;W<`2Fm_|&oVK3IxF!6bSzuDHdkBbZ~mSSTI7Gq1w zz%%w89zgE0%}Fv)UKA9>ZOQvCD<|KE;we)GW1^L@066DRje9qQJNbLNwB*SzMZ~#K z_6Vzw$6^+hf{|zEm9sq_pgcJ48+nstTTR&cfOI0a@EVL*!>d@nf4N;k^Hv2W zov-iQt2&`^@uYZ|0=|xEOC#zEoKark&n?*@Ku(n^0F>f~QR`F74E9fR-d_ZMzjCFe>tl3>k4FQFht|0;siAW{V0#7fpH)G0T%g zSVDZZ-{pBk7fEhVAYmO#MBg?&c4rx=p2WK`P)f%Xrx~|cbLd%Z%Bk)L1rNk(?V>D5 zo+|{iyJ_X&13Egz0e#R~0U4e~NPXEYq@2&TQn5~D@o2(xRyn(pwg^0!811AVh@dIs z@whhF7(Ax9ra)3cSWZaiYeu;q3ZzkrE=`yU<{n& z5DWp8A3^HFP32c&%mi)) zQbZN^G61!n=mG!>U|^PX_JISL68_GBjy1XK z>yRt2f$jngY3)f4Xx8KjAQ@}#X(D3B?(m$BHkUqQ!{2D6fg_(@P?8(JY zZ@$j4VP9KdTzXn2g2+l`uIQHbCEmC3sEOAz-_L|q>*%p$NM^lRx>3^6LGuRm^uSSX z9hV?UM0jHNmX=&eXMRjoxUnlTEmLFC;)(FeH<@1cVwE$s=KjFCrN7r3v3A~lDLG%{ zJSfSRD<60A>P)6NL!Anjrc@oO6Xhe3-Ydy>fj=5FWajfndb8Q37z6of?s zEqUN(;@tdE!LmT;+_g1RzxKNmf>)e^WO0!w4}9QKC1{ceRNDMnkwg2Wam6aMuys{| zGYYue*;PfuM7_#0#V94+OByz0rX=_aJMS}1TUQ~S8g;6MBUS@3zXYa&3P%Ldp#C~h z(;sE6HfIKe1n3_!?s>!PO=1%TSt$>M(uK4j>BB{flE^MrsD-#C zjJ}P4-5UagrYYet_12B@S*$>DdVx=TQGy13wa4G;U-4g{F3bz2Y603*aHTy})szX% zQP-4{BA;e2U)klniKixgu#kFkAIrnKoGR_4-nML+xb>hwGcPln3IZ=raB8N;$Hkr| z#m)NicEJlTf9&<_8vBI+$&|hLC1@CU8aoimMp;6OB&Jd>i3mNp{fdQX(*NDL^S&qU z-1*(R@7#H?d*{xFPCqbn=g#*{-?{TWr{8VnmuH^+?sx8d?`b~a=X3bx{5^N>{20Ig zI6ptZ&ravgogV$~Ox?NjY`*(D&$@Hxm-zgxC-2-@tDbLUT4^{+G2X;%J{&P?~+yYJEc>)o}^r%r#`^rzGRTkra|yT1Lde{t7$(Dnlv z<8Io&7j0+nc@As+3f6odt!BI1GjCzWbZ}_B{T*m!B8$?Q{9}3_m|V{R{l{ zTg?1pcmFu!ynxRhJz7a_vC*&`3+Nlc=Fq){`bj0Ir(QNn|n^)Gu1iW>2{_&Go9z(vvALg?peI&HTS&s zo>$ZNkJ!~aXy^R?8B@PJ^(#|vom!gy@abh{{AyQ*U55 zZ)UbnnEKBr|I5iQnfmgnKR)>*Q{Qy=sm`xYy<6wmoqIZS_q==OuXo<7^EVjtYV-HH zf4}>Iop(I(54!Kf`o4^F_~@zMJo(vEpF8z=Q(rLkMN?lo^_5d!J@qY9|Lf$Rp8Tb$ zckH}#XNDQJy6@N7?tWx3?orb-~4pU{16=WlmDvHMBg*L6O*`zhT| z?Y^P&Y26R%e0ujYx}VwoJDtDVd6yF(+r+$l@`ir~o+`Uboe=_w? zr@nUT>p0JknfjEe|8Vj@p8V9Q-#+;@cYpoee{k{}xwW(OInU1peqPMaOS<>--%q0b zpGo^kD$lzp8jY6>eS2|WQDO$gY z-{12c?%errr{BA?JH0pkCG7TF`0Q)DzebCz{PnlG|FnB$`m1UCe|P^0-+UFneJ5{e zp7neke}4hxAXHgQ{TaV|0O@)eAoA%{*mr?-Sw8c9(mS>KI0ji(Z{_D#`T1A0`7wUJxBElgAMO5l_b0kP$zMOq&u??$k9FU`Z?B=}|6q*Y z=jRXk`JPkXd+Pg6egCN+JoTfe{`ILJJN4tIe&W-_tx{QGPC z{5n7XotyePTK-1&x4Qqa``g{$;j{nBXV=)>@AL16Fv2VN?A82y06*vX`&U@qzvt&0 zr@onUeW3fh-LGZszsI-JCuTVH@4M^!IrE?C{v4nDJng=7>bq$7-TX{*qW_amf0a+a zf|35u$s5eG$ItiO{RIF0Vfy_k-~SFX{~7;&|I`oA>&3LZ!(Z<`{XYD5iJ$kM=`hlX z>66o^rr%-uou}V*`rW3x)6>&4)1N;*JM)~G=g!`J0^=cjmhfcQ-oEncnQ&=F{g+KacDRy^Ei(pZeaZ6TFolxJz3?SvA-MK@&~euPn&whvtIeE|8n}j zp8kW=|MT?!I{m*-|DV%;boyfFPfq{o=|4OD7pL!>Zo1Fv-renVPj%m+`;Ogr>b`UL zUAphueYfsh_fq$I_Zz$4)cx-6FLZyY`^(+g>3gSNIDK|{eR^YhyYng2&pGjR)BkMx zyQaT;`g^8-Zu%|Le?I-l%!kZ;`pjp{eCEt&&HS^Oub=sbnQxr=rkNj|`SqEvVb#BK z*KcvVpUrPy$j?W0-rN~>Zg=($`S{K!bUv~3 zNu5vbd`jn2JD=A1jLv6vKCAONozLz3qt54bKEHE%=8HPrnSb1Q&zZ|7zPR(HoiFQr zdFQ=m{sue$sngHzJ~;EwXTFW!pWXf2oZW-`{0t}d$KCJXvwz9YMLv1S^!@zzXQ%#O z_TB_A&Z7SRpG^vda;4HlMUJHfdO%W2IZEi2rfC~Uo6@9Q1(xmZCS98BhU}(oIOGyV zZVy!O01=Qc${{MqjoddyP*hM50TpPWr3shv{9m6ro}Jw$rC|O4{r`U7wD0}QeCB-S znP-mAd}ijEiakfPVp@%lDU~xYO|PuucOf{KQv5ZgdKl(a(AD6^5r<=&MyXFHrmIF= z#FsW5TV(ju;X6>``@?;W=iHGuaS!GN_&%a6I%FR9x~ds)p2F8IaDPvV$3p*Hk>qz9 z;+Ri8+Y0&?K4uKB$Mp9R%W+GCTq&6t8zAO z{~GZT`Pd7Wld+u$8Yqtk@%6Wg&4(X0{M5?RDo?LGQJ$Ave4beT4m|^Z=fnFd^!myh z`8~bj9r)`i-sksfLjM^22=l|x3Su8ZD%W6s58ltf+nYUC@p{D@6(3Y=i))q~z6-4*v^dkU-t_Yv+R=;!e{8f=4)TPhx|=&R_j_^{%i6=R0agS$646g-O0e}T_o zK8CVB0pAxAZ!0-C44hTbD;9>AKvHTpY0gvMUm*jmYt=MVU1H#@?z8huu z#E2(H{1n^I!0y=h05v0Ss*G1HCe5G2{dMJo{H`JNT5tvCqshr#(0jnWmG|-cO8Kj} zHDcOj#4-HtQMnzVlPaYys(hd_Oa2~(`xtl#e1<1@82SjPB(4e2$H9|eW#!YAzp4Cf z4ku{a?WBPUE!N_kS&qw|gd69QCn=o601)z+)K1r#TLx+F` zywiCjnn%nZap;HzBd)8wfzVG8=4#UW(aRliqk93sQ7ZlSG>{K1r^f6ys_E$D!$J+_s12D>g~;bT7E;t+RfhC>{pD<-`(uN zibpCw+U)U)Cn}z-xW4>`^36B@OT}L+Uah#X{BIS%D8IScxz&8fY`MWTzoJ z57}kNBA)wL5Cg}7@wo0?HKA(1swtQr1_yx7tr&97dOq)Pvk@k1q;hHHui&(lwUYWz z$=?$A$3njk_XKbq=B4n`;CS!=t#k*p6HLSXdthc|L**RkHQ-1oSKLkjza{MNK(49> z+drsb%b;s3->FL$g4-n!M=*i$T&_w)Sgq{jc z2WM2BS@k98zNC2`bi#;lRNji8(WLn^@O5}IM>Jr1c>8*OmsT#T{3g5zxEOpJ{G#%H zLVOF;L)%}@@1Ma7pn*8=+y4IT$B+2Kh*cw2kJzE|3zaJ>dn^B^@~NtoRUcIaRb`(o zr$xzD{;=wbsvlKdS#?#_)r9*oxR)~8u~L0@2=1dRC&9S}yj%WW`TOM`@Gftx`dQUY zaCRV#Ca{pQza9G>Rd@0`fp`Ak_LpJWiJaXFy$>|wZ+O-Hm?Fe_Ei?-r01tx3AqNjR zWJuGHxrCh$R+7r0(49tnFk(*Cqg9VpJzn(${(cvEjxxv!{{6At_9eIo2KY$4DWdyO^5xFaJ zZ{)tn(~&<%UXHwi%ggxvEBG7u2Ur7M2XBBk!Q1416?8RtOYC56)jRyI1AnP{rRvqH z*Q)+r)sL+YybC@6AA*&n8ml_4>R*^|F2A$<8REJb^O2PJDouE5{(P|HVXGX5z_uaB7_*kTJY9w?SoY`fs5ne_w3&3IED2;`xMX@fcGTJ4t zPEgV_9{-d7X!xu>GRt`+ESUF%bZK%mRWZ<`3Zs* z>clX`9<@v@S1wfvcM6a(+&R!`>LW}I>g(!FHC+vfTwIoo%#9ozIfu9UPGo4=x65wh zncl(ArT8ubSE(PXtJQM2KT|hg|AqRcx>?<#ex+_zx2fCJ9qLYXm%5v0ctAa<9#RkE z=YG%vo&vvB&+_{mxE;ud<|F7Egkw$uR;ktMb?9B-ZtyF0Ut~rk9r;q(gOP8Q?Ofg$ zc@^$*bvVCb+B`CpIEF<&6ZuDEyU6g!R@k=DCT3ERT_U?iMn*I~M)r&BAE_-rATo&4mv_2FM83Q4N3MumAGthoZR92-Z&xFGyCHHTQn+g( zS4Dmp`FZ4Lkt-uVjr=6?KauZ6E<-N&-N+9jKZ+!X=NI71>Kt{G+A^|5q(0IfIe{fFQ9iMJ>$0-4^0Ix)4l6rDy{E?T zoivmkU$z3jjFO2{>Z8=6ZbM=DFoTuR(8Zz=8lB2vm{MJ|kd zpJ%?Dr@o3(`UxenPuYa>+Va=b2a!nR^|EDU=c_+OeyV=2z7kmwd70E?H1t7PU8K3} zP)y0P1iuf!?!?PAC_Iq?}?-*a#U4b zRz3teyu7OXbLG2~f4+Q&@=@ixl}F)ygufl20aVP}m+xA>8ae{rUO>K&{h`t(m4R|F z1Z)OGL$W%@(E^DjYFRKjO>H?{DY?{k;y%$aGaAN*<|b>Nu)pEc+=(}_iqoFsmudR}>fL0M zaZ!KDwXtl9r-m8zGaKvGwjTwmrM_jM`f&9aHKVzHVf6&{r3n{LRI_JPPnfj##J$zz z$&=?cwzM?Pn;mUwUbvvXAv&wEsbT8Wsl(J{tI;x5JT=ZctgfkXW^~5FS+g1zOx3&s z*9L8BuCHrtY@SDO>!UQ7u$`g|Ybe+j_oO@W)#;3O(2I}pTqhQ``s?d5wNA)XrK>}W zJ`-d83V||}J-9-aP~}!DdH?2UmX@Y$qJd4By`t)5ubN6m$0*dZ?F~V)6^^@^d&lxp zXUK=qLddAw{A_emWPR7fsV@U^k#aeDAyTOmVWg(gnasG#VppT}LyjUlvfe4W$R+Nb z@kF=YVqfq<(zB@Vl)s$4$IUxD9qY95Zk;BlfOPlb#pS9uI@$VG(aEOFCFtfukD z%Z-w{)?qGqW%bKloPmZ6NoWl>HJPnz>eH_7R5RLBhi)`uR1!G zb&lsVM$=lfT_@~a!@sDi*B6vHTj4V*F-2$-Bm9$=@#Ft!H_PDkSXKbe?L$?6(cW7+kyoD_dGoAg|$u;ASu30kG*-@D3&Zd)SR8cMUCFCpvv)_CC zc+pxZu!c$G-k-~lquXrbIbzJd{YLO0n7!tWpdH-(g*SthU=0Yst~88SSto6Ns}p0#t7FGZK6&Jrb~>v3$?cu&tLDJ6j+2kiWiw;P zk5yw@;g6lRn>w^LwxHqAg^dduVuv*>XrTvI$4*9tEGUhzM~7e% zuD+{F)z6==+Ot_sMNtj1Gcz||PU;eKdRc4MSmxI)XlaP?+uB&y6l-lbqBS;uL33-f zG7hZ`JW(;D;6uuoXgYv}HCH3_y(axODoj4|EQsg6gTaE0zfRA=@?bfV&F zd1~=eV(LuO!RE4Uc~$xu^JS~?M??iMw^-ro4Z$Zwl4O)qV28PB__fy!S?T-HhC%N~b~Q7=5!D?kHu)OHKo`v!G;NFm zj8^I~qb!}?7fmE_N(;_zq*GA==*elw|hSE&_a5;yyHah8)k*b~hfpaxW z!mm*F&Wi54Et8R|K|WS_KD~p*M9zrGeYHl#Ry5X)lPW4Q74r+w#%0w|8G95LI76~A zdb9qR6h!MroBb)08tTyUS{N>gG7)8t@}J$mHp-5)cqP`CR-yJHNF{fTs*#hYs#*G0 zH7Q00q%M3Cy(az2IX1c@p3u8B&0wuYYQ3sCKBsCr<%biTYdZN4(2C-_HYACfUI(sx zmtBkDEw0IPhN`g}Z}D6roffxzk^;)9`q{InczNi2IVQx>xg6!_%tx`u8S?__lO+ww zc5xL>BQ=$;*ja5jahZqmoAqR4XhClcju7kbFkMIC8H47|YpFviJ(Fq`l}27?r-CB~ zK?-$ho5>b)aNxX_84T)|HtSnBMQ;lRGe;V|c`fxaPt}wS+R1pg7~K_qEvdX%nPu_? z8Ou!Wl7c5>W=i%N(KBG>f-laSESSuUSnOOyLW&I0u}FzX)!@C%Ync(=-er~+WMK!lacSWu&oOS&ou`VSKYq|C@oy~s; z%hOpl*|ePIZaFg6mXqZbc?jQzDV1TlE;C^R41lj6V`&rvhx%Q^ha z+{D38+EmebEt;mfT}d2D_lEE0wib3Oq`5+OUdsZRk_hEJYSP|=R&GOhGBP~#0J=_M zan-364dtU~PVum?@RFF=2xCE0JyScaK`QSVJK62-ZA52RtP2}wLJpH=QY~z3>_oZ& zJuIDCuIgK;d0omoAVM81U$p$R=)>=ne$BH}86~}{>7N&x?Zv8zr|FT{OwXcR$D(Y% zqD;4`o=-nWLn!U{EPM0-pNYFctgek0--?p9@sV3%CN^DPGfC@(mMJY0VJd?t#S51sHTkJ?$LBR?=J67nD8bN8@~O{&%yu`*W^t-4 z%DcG%d@`0|&kTi_Yi{%MSL(B631@QY){jW)TF4IqzA#1YT2H^*BzJub>chRiK|M5a zn{F~bsB>dm_yPy@gVeEWJx8`h=4R0UF4b>!X1HHufxgy4*Oj`CVow7*%}B{ud@g&s z<(;I=hb*ro4BTpu8uQ9Br>MsBsYT%%bBsdaE2(Cw!@JGNZ`jDJNsO?x`lbzIw{ek^ zgel@Qnrq5rbBENIxbf|Ao8(R@FZNc>Ph3CxL8_0*kQebF{!9Y8tfk4BB}b{(nPW<1 zEMuHa*)^HHT?`Gl{-iV0lxD{PW?j|i>*XG;0Kf-saGrEVD(AArTnAIdw=X)zu(-6Qn?Mb@|pMd{*oYY;LoU zsh?e&XK;UTMiuN7KeiQx(5+dCO@+m19!bB|0@Icyy<@#Ceck_Y%!&RuG+%~!emxLo zp*O)l?~)Ni$TnX_Q9ScgocEINHO)@gDJY+9Ld}w!XzQ7Ogsnl5CtDSYcsfWEGZ;aU ziyd0{sSMB}xgZVP>6y!gLpR4Rw0+H)#(b`MIo~Cn%YyiF6TPX?Ikg}qr#pvrwS_Li z*2$a_%R-qu6*Yu~GOX9%64fuS3e2W#J6FSX%**;rmw(r1YwxD$3Y~4Cee|4>O!!}~ zNys*047k0Xk=BRdycg7KGS_qCJ#lt|?^_Q5^#F&Wksink)0olqQ&(UU#&UEt%<5$2 zOQ)POSzE8eH;#>&I_Y$s-^L7Wmf2euFN|w!MA}i`0!jl&-;O}0;1U-6`Wa}Xo018= zpQ*-73lg2~lpO~ZJ$I=Ky9$~5Bvsf=+i#80rfFxTtIg1kTRwt``UOq1WRD(R^yj4H z26I)zu~w>PUVI)ub^N3=ZK{UZA3yVEslBsm?+N=%+;_kI4+ssD4va5Ou*Iy7HLHeM zY9|G zCR8963e` zOBf2^gpkkXO@GFw?6lEr!>p~1&E@;;2 z8#COXq@>5D6UA;#{*w(=%ej*K0i)BrW`>$m8TWzhJ zdY;pEz&?<5hjlxcT9BL7%EJ33?k35)5cE2DlfXXlS;|CL=rYB+%S?c(LKj3 zidUalSAEpp)d$wbj@c72`O!5J@aS>lMPmMm;`QQ^sE!`vF^GKJ*rUf5MZT9(-&wgT zxDHJ6@E6YH*s^EI)-+ZLhLKb4NvGbyBK^ux;iMuHwWOA`WehVX(Pi*`VvPJ zD!6R`Y>oRs{Egw=I6!;@g_E@BgD1wV4xY5|&5rlqPD}GVkbOhEQnyXgVsJbsdVI=`j)ABZ)5Bd*OmLM4t_jo zeJZ^FCP+RV{QQ>Y@iF^6rTk58cjdOBylm<;U3`-E_7e=6CJ#)-UEKa}fjsY?d#?`u z;KAANh9~gd{$2BY-oe=itq!g_&|o05pyZT#QdMDc8F`p*oK-Z?Yrb8y>?_bl`s-usv5tPW;N-8r;C#r$!QFs0#qyEA`W zJfFnIn=FU(nJ*)(YZXU^Idgto>;SfUCrWwfg1 zZy0K6TA@$Q^OR$dI7~?&=I5whGi}Rua|24!$P!aZJ+XXsu(FrF6$o{3d`BJsJYIX3vn^y-(OTT8R@HRDW-iWwg-+-TrTZ{AbgL|3Z zJ@~)aP#HW@QbrZ`tqzU_ewe(q|J?e05c}=-7yI%3mzrNFiO;#a_?&%X>2@EJ_E$>W zfA86Ac?O5U(mNYJ-z3cVPl2^IOymI*ep~3Y$5#jYTKlJo^WO<`_Xg74k9=*-_wjM@ z*KLHKf#SICQ-*VKb=k69OFYi(+%^T>*f@tgygKLx8L(D?mq8-&4u^6smemi`MHNy2QTvu1;4dufhXo??>4v* zyEBh?WOXnHh+X_VfScggPp%Hm`!smUgu4Vff92}nLFgRlr;6*-r2iiX^DNJ>{d22> z_kU}!IcC8~@aFFd7?1rge=&F$DiHfXbTD_v|2XR6E%i4TztrDg_J22gX}m5zq2GLS zb?}=vHXYuxacx1o68E|9F~59&b?|NI5#Wblnl+34|BtwVd_Mwy>`^g)5^PPGi2r9w z!b!YRUVhxpE<7<;S$Ag_o`d7L@IK%1d_Usu>;svdn|ofd`xuP>N&Wc#|69z1J)0}1 z!QB1)`+h!2I2VV6SG=QVp(CIRtXb^;O_<~5YhTQ_f~P=o1Gvg_6LZVqjkA@}iJ82Z z&EQkD@{du9iN#ST^7TKs6-n!gn1jWWg>410IX-W7)uQUC)7}b>J@u{NEbt6C8pV`x z_q-J>x%;i4lnQTCV=8IgM!e0SlnU=ZjVDRt`e)t>PJZ^SAOeIsyO{seXd?|&a5~h{ znUQMr(V5ZShBmG5!(}Y88Ic3O(3E{_@639mfT}Om<(7>vGgET2A6k_tONJYu+#?O>$ZnBzHp#Ay z1beBp(sa@83pLB`J}c~GvAK5+o=&X@-@^b+S~oVdis;k=XuZByFSZiz;0Y@ z?q)j$8(-PFrRH-r++pVSltPkv+m5RvE&5W5Y`1>*cE5}>n=Ou7#a@)BQR|kQ=J+tB z;M^zRc2(4)#*BWmvyxp=cXn3uREj6fXGIlUUl|!jVRt5a@4@X|Fgr-h%XGYj{zfw; zbs)o6VzOy=tQMD{;Yo!o)JCNu`L}~^aHqx3p-r0z#}Utr3*Qbd`CklL26dFpr-hWO z3+u|*w>z_=&W|5X+xPjap?~~;1ztyii%RkP0J9xJQj^}8p z`(XBs^}n(H21{ok{>R1naqbeQ_%YiKPKz1(QvEbFk(0Kjsj*-p|Mt^#XC?o3;iRa~ zgUQw<)~ceMif8`R$>vW@F@H**dB^c~(Ji;yT8$p9>Sx93o0>UVD%LP>;assg+B{#* z$ZO#UfFd7QwGXKC5zqBz63R?&9<>`l$BEh?Gie4TE|sy+on4k(dJg%!J~=-1`$NG`~ zoc%LC%FnI>F^r$Ae>6{wyH1X>BWFVOfyXRj-^ej+8BwjxGn>_{#v|r7s3VRzLRF87 zsy$0RMb#+&)XimUf^{HXz9zT{)b6Q%_ll)|&UT|lI zo*E!Wxq%|qCkArsmOTKGgK!24TF8@;`7pH9chgC_ImR3Iv>bh|qf|@o8{|U6L87Wj zaBPi$Bd%)LsKw8U6>9QHd!I5@jpTQv3J>AIHjGm*c>f#%!Z}F^JB87=vWC8-N=vFD zUrM*J;kr$4lnsv{nQt#ZRdZ9_e0L1_WG}Vd=ENsvKekw>K73+y`pU-&(>SD2`IzorJj${2DA3X8p!Xz!yC>s4itVZ>Ay#L4k7IsnBThn z?)B=w(${3FT!N#edNOQ|m5q<-Hu zstdOLoPmn62N8?`V*%~AMhq(8uucPr{9R*lEmUxw#SKuwP2iW{7H}K51Kb7f0lx#k z2mRnZpa&To{CFz)IUQ_6p0)$QE=p|`#SZAdR1KI0rh`_CJiRXRU#b=h#r5V<^}aj0Y3IG%y`-RJu~{D>da`*uhiaZ7}mArDlVF*^K@x zAhW6ryPTX^4wYSVTR>$u=ax{}%{dGzuV^c%?E2gq zx;1ngs2qN|Ep%I``MU>FT5f%0;{)(nvN0cA1HMF71ZRVDz(ba;b!5Xj`uSm`+-40ZM?ZFr@4(tu~0TaP~V1F

epf*Zk2;OF3%;8yUG#b#8It-*Gn0&EY)fN@}N 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

I@Pe^y^xF>7^`86Vqxt- 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 Dq?`8h diff --git a/scripts/lint_and_format.sh b/scripts/lint_and_format.sh index 8982f4ff5a..0f6fc83187 100755 --- a/scripts/lint_and_format.sh +++ b/scripts/lint_and_format.sh @@ -10,6 +10,9 @@ export CLANG_VERSION=10.0 # The directory this script is in CURR_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +# The path to clang-format +export CLANG_BIN=/opt/tbotspython/bin/clang-format + # The root bazel directory BAZEL_ROOT_DIR="$CURR_DIR/../src" @@ -33,7 +36,7 @@ function run_clang_format () { # clang-format as arguments # We remove the last -o flag from the extension string find $CURR_DIR/../src/ ${EXTENSION_STRING::-2} \ - | xargs -I{} -n1000 $CURR_DIR/clang-format-$CLANG_VERSION -i -style=file + | xargs -I{} -n1000 $CLANG_BIN -i -style=file if [[ "$?" != 0 ]]; then printf "\n***Failed to run clang-format over all files!***\n\n" diff --git a/src/.bazelrc b/src/.bazelrc index 1df5a1234b..4dfa7f43a5 100644 --- a/src/.bazelrc +++ b/src/.bazelrc @@ -10,7 +10,7 @@ test --test_output=all build --crosstool_top=//cc_toolchain:toolchain # Add warnings to Thunderbots code only -build --per_file_copt=//proto/message_translation/.*,//proto/primitive/.*,//software/.*,//shared/.*@-Wall,-Wextra,-Wconversion,-Wno-unused-parameter,-Wno-deprecated,-Werror +build --per_file_copt=//proto/.*,//proto/message_translation/.*,//proto/primitive/.*,//software/.*,//shared/.*@-Wall,-Wextra,-Wconversion,-Wno-unused-parameter,-Wno-deprecated,-Werror,-Wno-deprecated-declarations # Warn variable length arrays only when compiling cpp build --per_file_copt=.*\.cpp@-Wvla @@ -31,5 +31,5 @@ build --test_env=XDG_RUNTIME_DIR build --test_env=DISPLAY # Setup python bin/lib to point to our venv -build --action_env=PYTHON_BIN_PATH=/opt/tbotspython/bin/python3.10 -build --action_env=PYTHON_LIB_PATH=/opt/tbotspython/lib/python3.10 +build --action_env=PYTHON_BIN_PATH=/opt/tbotspython/bin/python3.12 +build --action_env=PYTHON_LIB_PATH=/opt/tbotspython/lib/python3.12 diff --git a/src/WORKSPACE b/src/WORKSPACE index 5cd0c12743..1814824150 100644 --- a/src/WORKSPACE +++ b/src/WORKSPACE @@ -104,9 +104,9 @@ http_archive( http_archive( name = "g3log", build_file = "@//extlibs:g3log.BUILD", - sha256 = "176fcf4e1634aba425549c32f76426d7976ab6973370785fd6b76986e9f7b20e", - strip_prefix = "g3log-1.3.3", - url = "https://github.com/KjellKod/g3log/archive/1.3.3.zip", + sha256 = "2177e6dfd86fa7465c44c8ef5c3b6ab98ffc94e1130355d6982f7d886cb7bec9", + strip_prefix = "g3log-2.4", + url = "https://github.com/KjellKod/g3log/archive/refs/tags/2.4.zip", ) http_archive( @@ -142,9 +142,9 @@ protobuf_deps() git_repository( name = "com_github_nelhage_rules_boost", - commit = "7332c6cf2afb2642f53bc23f9b4d9c1817318685", + commit = "58be4e7e851d19e9ba14ced7bdba6fc8895af1d3", remote = "https://github.com/nelhage/rules_boost", - shallow_since = "1606097530 -0500", + shallow_since = "1724946929 +0200", ) git_repository( @@ -215,8 +215,14 @@ git_repository( ) new_local_repository( - name = "linux_gcc", - build_file = "@//extlibs:linux_gcc.BUILD", + name = "linux_k8_gcc", + build_file = "@//extlibs:linux_k8_gcc.BUILD", + path = "/", +) + +new_local_repository( + name = "linux_aarch64_gcc", + build_file = "@//extlibs:linux_aarch64_gcc.BUILD", path = "/", ) @@ -228,8 +234,8 @@ new_local_repository( ) http_archive( - name = "jetson_nano_gcc", - build_file = "@//extlibs:jetson_nano_gcc.BUILD", + name = "k8_jetson_nano_cross_compile_gcc", + build_file = "@//extlibs:k8_jetson_nano_cross_compile_gcc.BUILD", sha256 = "73eed74e593e2267504efbcf3678918bb22409ab7afa3dc7c135d2c6790c2345", strip_prefix = "gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu", urls = [ @@ -332,9 +338,9 @@ http_archive( http_archive( name = "pybind11", build_file = "@pybind11_bazel//:pybind11.BUILD", - sha256 = "1c6e0141f7092867c5bf388bc3acdb2689ed49f59c3977651394c6c87ae88232", - strip_prefix = "pybind11-2.9.0", - urls = ["https://github.com/pybind/pybind11/archive/refs/tags/v2.9.0.zip"], + sha256 = "411f77380c43798506b39ec594fc7f2b532a13c4db674fcf2b1ca344efaefb68", + strip_prefix = "pybind11-2.12.0", + urls = ["https://github.com/pybind/pybind11/archive/refs/tags/v2.12.0.zip"], ) load("@pybind11_bazel//:python_configure.bzl", "python_configure") @@ -386,3 +392,9 @@ new_git_repository( remote = "https://github.com/wolfpld/tracy.git", shallow_since = "1697482622 +0200", ) + +register_toolchains( + "//cc_toolchain:cc_toolchain_for_k8_jetson_nano_cross_compile", + "//cc_toolchain:cc_toolchain_for_k8", + "//cc_toolchain:cc_toolchain_for_aarch64", +) diff --git a/src/cc_toolchain/BUILD b/src/cc_toolchain/BUILD index 60c869dfed..d5396df343 100644 --- a/src/cc_toolchain/BUILD +++ b/src/cc_toolchain/BUILD @@ -1,46 +1,69 @@ package(default_visibility = ["//visibility:public"]) -load(":cc_toolchain_config.bzl", "cc_toolchain_config_jetson_nano", "cc_toolchain_config_k8") +load( + ":cc_toolchain_config.bzl", + "cc_toolchain_config_fullsystem", + "cc_toolchain_config_k8_jetson_nano_cross_compile", + "make_builtin_include_directories", +) # Create environments for each CPU this toolchain supports environment(name = "k8") -environment(name = "jetson_nano") +environment(name = "k8_jetson_nano_cross_compile") + +environment(name = "aarch64") environment_group( name = "cpus", defaults = [ + ":aarch64", ":k8", - ":jetson_nano", + ":k8_jetson_nano_cross_compile", ], environments = [ + ":aarch64", ":k8", - ":jetson_nano", + ":k8_jetson_nano_cross_compile", ], ) +config_setting( + name = "cpu_aarch64", + values = {"cpu": "aarch64"}, +) + config_setting( name = "cpu_k8", values = {"cpu": "k8"}, ) config_setting( - name = "cpu_jetson_nano", - values = {"cpu": "jetson_nano"}, + name = "cpu_k8_jetson_nano_cross_compile", + values = {"cpu": "k8_jetson_nano_cross_compile"}, +) + +platform( + name = "robot", + constraint_values = [ + "@platforms//cpu:aarch64", + "@platforms//os:linux", + ], ) # This represents a mapping of CPU -> Compiler To Use -# The CPU can be chosen by using `--cpu` as a bazel flag (ex. `--cpu=jetson_nano`) -# otherwise it will default to using whatever CPU is in the system doing the compiling cc_toolchain_suite( name = "toolchain", toolchains = { # k8 is any x86 system - "k8": "cc_toolchain_linux_gcc", - "k8|compiler": "cc_toolchain_linux_gcc", + "k8": "cc_toolchain_linux_k8_gcc", + "k8|compiler": "cc_toolchain_linux_k8_gcc", + # aarch64 is for ARM64 systems and the robot + "aarch64": "cc_toolchain_linux_aarch64_gcc", + "aarch64|compiler": "cc_toolchain_linux_aarch64_gcc", # jetson nano 4GB system - "jetson_nano": "cc_toolchain_jetson_nano", - "jetson_nano|compiler": "cc_toolchain_jetson_nano", + "k8_jetson_nano_cross_compile": "cc_toolchain_k8_jetson_nano_cross_compile", + "k8_jetson_nano_cross_compile|compiler": "cc_toolchain_k8_jetson_nano_cross_compile", }, ) @@ -50,10 +73,10 @@ filegroup( ) filegroup( - name = "jetson_nano_everything", + name = "k8_jetson_nano_cross_compile_everything", srcs = [ - "@jetson_nano_gcc//:everything", - ] + glob(["wrapper/jetson_nano_*"]), + "@k8_jetson_nano_cross_compile_gcc//:everything", + ] + glob(["wrapper/k8_jetson_nano_cross_compile_*"]), ) filegroup( @@ -62,71 +85,95 @@ filegroup( ) filegroup( - name = "linux_gcc_all", + name = "linux_k8_gcc_all", + srcs = [ + ":linux_gcc_wrapper", + "@linux_k8_gcc//:includes", + "@linux_k8_gcc//:libs", + "@linux_k8_gcc//:runtime_libs", + "@linux_k8_gcc//:static_libs", + ], +) + +filegroup( + name = "linux_aarch64_gcc_all", srcs = [ ":linux_gcc_wrapper", - "@linux_gcc//:includes", - "@linux_gcc//:libs", - "@linux_gcc//:runtime_libs", - "@linux_gcc//:static_libs", + "@linux_aarch64_gcc//:includes", + "@linux_aarch64_gcc//:libs", + "@linux_aarch64_gcc//:runtime_libs", + "@linux_aarch64_gcc//:static_libs", ], ) -cc_toolchain_config_k8( - name = "linux_gcc", +cc_toolchain_config_fullsystem( + name = "linux_k8_gcc", builtin_include_directories = [ "/usr/lib/gcc/x86_64-linux-gnu/", - "/usr/include/", - "/usr/local/include/", - "/usr/lib/gcc/c++/*/include/", - ], - cpu = "k8", + ] + make_builtin_include_directories(), + host_system_name = "k8", target_cpu = "k8", target_system_name = "k8", - tool_paths = { - "ar": "/usr/bin/ar", - "cpp": "/usr/bin/cpp", - "dwp": "/usr/bin/dwp", - "gcc": "wrapper/linux_gcc", - "gcov": "/usr/bin/gcov", - "ld": "/usr/bin/ld", - "nm": "/usr/bin/nm", - "objcopy": "/usr/bin/objcopy", - "objdump": "/usr/bin/objdump", - "strip": "/usr/bin/strip", - }, - toolchain_identifier = "linux_gcc-k8", + toolchain_identifier = "linux_k8_gcc", +) + +cc_toolchain_config_fullsystem( + name = "linux_aarch64_gcc", + builtin_include_directories = [ + "/usr/lib/gcc/aarch64-linux-gnu/", + ] + make_builtin_include_directories(), + host_system_name = "aarch64", + target_cpu = "aarch64", + target_system_name = "aarch64", + toolchain_identifier = "linux_aarch64_gcc", ) cc_toolchain( - name = "cc_toolchain_linux_gcc", - all_files = ":linux_gcc_all", - ar_files = ":linux_gcc_all", - as_files = ":linux_gcc_all", - compiler_files = ":linux_gcc_all", - dwp_files = ":linux_gcc_all", - dynamic_runtime_lib = "@linux_gcc//:runtime_libs", - linker_files = ":linux_gcc_all", - objcopy_files = ":linux_gcc_all", - static_runtime_lib = "@linux_gcc//:static_libs", - strip_files = ":linux_gcc_all", + name = "cc_toolchain_linux_k8_gcc", + all_files = ":linux_k8_gcc_all", + ar_files = ":linux_k8_gcc_all", + as_files = ":linux_k8_gcc_all", + compiler_files = ":linux_k8_gcc_all", + dwp_files = ":linux_k8_gcc_all", + dynamic_runtime_lib = "@linux_k8_gcc//:runtime_libs", + linker_files = ":linux_k8_gcc_all", + objcopy_files = ":linux_k8_gcc_all", + static_runtime_lib = "@linux_k8_gcc//:static_libs", + strip_files = ":linux_k8_gcc_all", supports_param_files = True, # We add this tag to circumvent a bug in the CLion bazel plugin. It should be removed # when possible # https://github.com/bazelbuild/intellij/issues/486 tags = ["no-ide"], - toolchain_config = ":linux_gcc", - toolchain_identifier = "k8_gcc-x86_64", + toolchain_config = ":linux_k8_gcc", + toolchain_identifier = "k8_gcc", ) cc_toolchain( - name = "cc_toolchain_jetson_nano", - all_files = ":jetson_nano_everything", - ar_files = ":jetson_nano_everything", - as_files = ":jetson_nano_everything", - compiler_files = ":jetson_nano_everything", + name = "cc_toolchain_linux_aarch64_gcc", + all_files = ":linux_aarch64_gcc_all", + ar_files = ":linux_aarch64_gcc_all", + as_files = ":linux_aarch64_gcc_all", + compiler_files = ":linux_aarch64_gcc_all", + dwp_files = ":linux_aarch64_gcc_all", + dynamic_runtime_lib = "@linux_aarch64_gcc//:runtime_libs", + linker_files = ":linux_aarch64_gcc_all", + objcopy_files = ":linux_aarch64_gcc_all", + static_runtime_lib = "@linux_aarch64_gcc//:static_libs", + strip_files = ":linux_aarch64_gcc_all", + supports_param_files = True, + toolchain_config = ":linux_aarch64_gcc", + toolchain_identifier = "aarch64_gcc", +) + +cc_toolchain( + name = "cc_toolchain_k8_jetson_nano_cross_compile", + all_files = ":k8_jetson_nano_cross_compile_everything", + ar_files = ":k8_jetson_nano_cross_compile_everything", + as_files = ":k8_jetson_nano_cross_compile_everything", + compiler_files = ":k8_jetson_nano_cross_compile_everything", dwp_files = ":empty", - linker_files = ":jetson_nano_everything", + linker_files = ":k8_jetson_nano_cross_compile_everything", objcopy_files = ":empty", strip_files = ":empty", supports_param_files = 0, @@ -134,30 +181,71 @@ cc_toolchain( # when possible # https://github.com/bazelbuild/intellij/issues/486 tags = ["no-ide"], - toolchain_config = ":gcc-jetson_nano", - toolchain_identifier = "gcc-jetson_nano", + toolchain_config = ":gcc_k8_jetson_nano_cross_compile", + toolchain_identifier = "gcc-k8-jetson-nano-cross-compile", ) -cc_toolchain_config_jetson_nano( - name = "gcc-jetson_nano", +cc_toolchain_config_k8_jetson_nano_cross_compile( + name = "gcc_k8_jetson_nano_cross_compile", builtin_include_directories = [ - "external/jetson_nano_gcc/include/", - "external/jetson_nano_gcc/aarch64-linux-gnu/include/", - "external/jetson_nano_gcc/aarch64-linux-gnu/libc/lib/", - "external/jetson_nano_gcc/aarch64-linux-gnu/libc/usr/include/", + "external/k8_jetson_nano_cross_compile_gcc/include/", + "external/k8_jetson_nano_cross_compile_gcc/aarch64-linux-gnu/include/", + "external/k8_jetson_nano_cross_compile_gcc/aarch64-linux-gnu/libc/lib/", + "external/k8_jetson_nano_cross_compile_gcc/aarch64-linux-gnu/libc/usr/include/", ], - cpu = "jetson_nano", tool_paths = { - "ar": "wrapper/jetson_nano_ar", - "cpp": "wrapper/jetson_nano_cpp", - "dwp": "wrapper/jetson_nano_dwp", - "gcc": "wrapper/jetson_nano_gcc", - "gcov": "wrapper/jetson_nano_gcov", - "ld": "wrapper/jetson_nano_ld", - "nm": "wrapper/jetson_nano_nm", - "objcopy": "wrapper/jetson_nano_objcopy", - "objdump": "wrapper/jetson_nano_objdump", - "strip": "wrapper/jetson_nano_strip", + "ar": "wrapper/k8_jetson_nano_cross_compile_ar", + "cpp": "wrapper/k8_jetson_nano_cross_compile_cpp", + "dwp": "wrapper/k8_jetson_nano_cross_compile_dwp", + "gcc": "wrapper/k8_jetson_nano_cross_compile_gcc", + "gcov": "wrapper/k8_jetson_nano_cross_compile_gcov", + "ld": "wrapper/k8_jetson_nano_cross_compile_ld", + "nm": "wrapper/k8_jetson_nano_cross_compile_nm", + "objcopy": "wrapper/k8_jetson_nano_cross_compile_objcopy", + "objdump": "wrapper/k8_jetson_nano_cross_compile_objdump", + "strip": "wrapper/k8_jetson_nano_cross_compile_strip", }, - toolchain_identifier = "gcc-jetson_nano", + toolchain_identifier = "gcc-k8-jetson_nano-cross-compile", +) + +toolchain( + name = "cc_toolchain_for_k8_jetson_nano_cross_compile", + exec_compatible_with = [ + "@platforms//cpu:x86_64", + "@platforms//os:linux", + ], + target_compatible_with = [ + "@platforms//cpu:aarch64", + "@platforms//os:linux", + ], + toolchain = ":cc_toolchain_k8_jetson_nano_cross_compile", + toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", +) + +toolchain( + name = "cc_toolchain_for_k8", + exec_compatible_with = [ + "@platforms//os:linux", + "@platforms//cpu:x86_64", + ], + target_compatible_with = [ + "@platforms//os:linux", + "@platforms//cpu:x86_64", + ], + toolchain = ":cc_toolchain_linux_k8_gcc", + toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", +) + +toolchain( + name = "cc_toolchain_for_aarch64", + exec_compatible_with = [ + "@platforms//cpu:aarch64", + "@platforms//os:linux", + ], + target_compatible_with = [ + "@platforms//cpu:aarch64", + "@platforms//os:linux", + ], + toolchain = ":cc_toolchain_linux_aarch64_gcc", + toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", ) diff --git a/src/cc_toolchain/cc_toolchain_config.bzl b/src/cc_toolchain/cc_toolchain_config.bzl index 00f9e08373..1544046401 100644 --- a/src/cc_toolchain/cc_toolchain_config.bzl +++ b/src/cc_toolchain/cc_toolchain_config.bzl @@ -104,6 +104,27 @@ ALL_CPP_ACTIONS = [ ACTION_NAMES.cpp_link_nodeps_dynamic_library, ] +def make_builtin_include_directories(): + return [ + "/usr/include/", + "/usr/local/include/", + "/usr/lib/gcc/c++/*/include/", + ] + +def _make_common_toolpaths(): + return { + "ar": "/usr/bin/ar", + "cpp": "/usr/bin/cpp", + "dwp": "/usr/bin/dwp", + "gcc": "wrapper/linux_gcc", + "gcov": "/usr/bin/gcov", + "ld": "/usr/bin/ld", + "nm": "/usr/bin/nm", + "objcopy": "/usr/bin/objcopy", + "objdump": "/usr/bin/objdump", + "strip": "/usr/bin/strip", + } + def _make_common_features(ctx): result = {} @@ -401,13 +422,11 @@ def _make_common_features(ctx): return result def _linux_gcc_impl(ctx): - host_system_name = "k8" - action_configs = [] tool_paths = [ tool_path(name = name, path = path) - for name, path in ctx.attr.tool_paths.items() + for name, path in _make_common_toolpaths().items() ] common = _make_common_features(ctx) @@ -560,7 +579,7 @@ def _linux_gcc_impl(ctx): artifact_name_patterns = [], cxx_builtin_include_directories = ctx.attr.builtin_include_directories, toolchain_identifier = ctx.attr.toolchain_identifier, - host_system_name = host_system_name, + host_system_name = ctx.attr.host_system_name, target_system_name = ctx.attr.target_system_name, target_cpu = ctx.attr.target_cpu, target_libc = "libc", @@ -577,14 +596,14 @@ def _linux_gcc_impl(ctx): ), ] -cc_toolchain_config_k8 = rule( +cc_toolchain_config_fullsystem = rule( implementation = _linux_gcc_impl, attrs = { "builtin_include_directories": attr.string_list(), - "cpu": attr.string(mandatory = True, values = ["k8"]), "extra_features": attr.string_list(), "extra_no_canonical_prefixes_flags": attr.string_list(), "host_compiler_warnings": attr.string_list(), + "host_system_name": attr.string(), "host_unfiltered_compile_flags": attr.string_list(), "target_cpu": attr.string(), "target_system_name": attr.string(), @@ -595,7 +614,7 @@ cc_toolchain_config_k8 = rule( executable = True, ) -def _jetson_nano_impl(ctx): +def _k8_jetson_nano_cross_compile_impl(ctx): host_system_name = "k8" action_configs = [] @@ -708,12 +727,9 @@ def _jetson_nano_impl(ctx): ), ] -cc_toolchain_config_jetson_nano = rule( - implementation = _jetson_nano_impl, +cc_toolchain_config_k8_jetson_nano_cross_compile = rule( + implementation = _k8_jetson_nano_cross_compile_impl, attrs = { - "cpu": attr.string(mandatory = True, values = [ - "jetson_nano", - ]), "builtin_include_directories": attr.string_list(), "extra_no_canonical_prefixes_flags": attr.string_list(), "host_compiler_warnings": attr.string_list(), diff --git a/src/cc_toolchain/wrapper/jetson_nano_ar b/src/cc_toolchain/wrapper/jetson_nano_ar deleted file mode 100755 index d40a860b6e..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_ar +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-ar "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_cpp b/src/cc_toolchain/wrapper/jetson_nano_cpp deleted file mode 100755 index aff3764d78..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_cpp +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-cpp "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_g++ b/src/cc_toolchain/wrapper/jetson_nano_g++ deleted file mode 100755 index b8f943f7e3..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_g++ +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-g++ -Wl,--no-as-needed "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_gcc b/src/cc_toolchain/wrapper/jetson_nano_gcc deleted file mode 100755 index 64774504ab..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_gcc +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-gcc -Wl,--no-as-needed "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_gcov b/src/cc_toolchain/wrapper/jetson_nano_gcov deleted file mode 100755 index 7922e92416..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_gcov +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-gcov "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_ld b/src/cc_toolchain/wrapper/jetson_nano_ld deleted file mode 100755 index 51728eeb07..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_ld +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-ld "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_nm b/src/cc_toolchain/wrapper/jetson_nano_nm deleted file mode 100755 index 98c9a6ba28..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_nm +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-nm "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_objcopy b/src/cc_toolchain/wrapper/jetson_nano_objcopy deleted file mode 100755 index 70ff1f0e61..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_objcopy +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-objcopy "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_objdump b/src/cc_toolchain/wrapper/jetson_nano_objdump deleted file mode 100755 index b17ce50c8c..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_objdump +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-objdump "$@" diff --git a/src/cc_toolchain/wrapper/jetson_nano_strip b/src/cc_toolchain/wrapper/jetson_nano_strip deleted file mode 100755 index 1d67bf46c0..0000000000 --- a/src/cc_toolchain/wrapper/jetson_nano_strip +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash --norc - -exec external/jetson_nano_gcc/bin/aarch64-linux-gnu-strip "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_ar b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_ar new file mode 100755 index 0000000000..233d5e3c4c --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_ar @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-ar "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_cpp b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_cpp new file mode 100755 index 0000000000..8977e9e4fd --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_cpp @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-cpp "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_g++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_g++ new file mode 100755 index 0000000000..a3f3025445 --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_g++ @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-g++ -Wl,--no-as-needed "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_gcc b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_gcc new file mode 100755 index 0000000000..cad72ed459 --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_gcc @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-gcc -Wl,--no-as-needed "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_gcov b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_gcov new file mode 100755 index 0000000000..7c3616749d --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_gcov @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-gcov "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_ld b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_ld new file mode 100755 index 0000000000..7ed51ae2b3 --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_ld @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-ld "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_nm b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_nm new file mode 100755 index 0000000000..2eb52826c7 --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_nm @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-nm "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_objcopy b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_objcopy new file mode 100755 index 0000000000..2b324ad0cc --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_objcopy @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-objcopy "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_objdump b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_objdump new file mode 100755 index 0000000000..1b69911e81 --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_objdump @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-objdump "$@" diff --git a/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_strip b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_strip new file mode 100755 index 0000000000..67a975cc89 --- /dev/null +++ b/src/cc_toolchain/wrapper/k8_jetson_nano_cross_compile_strip @@ -0,0 +1,3 @@ +#!/bin/bash --norc + +exec external/k8_jetson_nano_cross_compile_gcc/bin/aarch64-linux-gnu-strip "$@" diff --git a/src/cc_toolchain/wrapper/linux_gcc b/src/cc_toolchain/wrapper/linux_gcc index 9c27b70983..e0800abb9c 100755 --- a/src/cc_toolchain/wrapper/linux_gcc +++ b/src/cc_toolchain/wrapper/linux_gcc @@ -6,4 +6,4 @@ # only link in the direct dependencies for each shared lib, but because # bazel delays linking to the end of the build, this means some (non-direct) # dependencies of the final target will not be linked in -exec /usr/bin/gcc-9 -Wl,--no-as-needed "$@" +exec /usr/bin/gcc-10 -Wl,--no-as-needed "$@" diff --git a/src/extlibs/jetson_nano_gcc.BUILD b/src/extlibs/k8_jetson_nano_cross_compile_gcc.BUILD similarity index 100% rename from src/extlibs/jetson_nano_gcc.BUILD rename to src/extlibs/k8_jetson_nano_cross_compile_gcc.BUILD diff --git a/src/extlibs/linux_aarch64_gcc.BUILD b/src/extlibs/linux_aarch64_gcc.BUILD new file mode 100644 index 0000000000..fa986c6923 --- /dev/null +++ b/src/extlibs/linux_aarch64_gcc.BUILD @@ -0,0 +1,28 @@ +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "libs", + srcs = glob(["usr/lib/gcc/aarch64-linux-gnu/10/*.a"]), +) + +filegroup( + name = "includes", + srcs = glob([ + "usr/lib/gcc/aarch64-linux-gnu/10/include/**", + "usr/lib/gcc/aarch64-linux-gnu/10/include", + ]), +) + +filegroup( + name = "runtime_libs", + srcs = [ + "usr/lib/gcc/aarch64-linux-gnu/10/libstdc++.so", + ], +) + +filegroup( + name = "static_libs", + srcs = [ + "usr/lib/gcc/aarch64-linux-gnu/10/libstdc++.a", + ], +) diff --git a/src/extlibs/linux_gcc.BUILD b/src/extlibs/linux_gcc.BUILD deleted file mode 100644 index 0191adbe7e..0000000000 --- a/src/extlibs/linux_gcc.BUILD +++ /dev/null @@ -1,28 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -filegroup( - name = "libs", - srcs = glob(["usr/lib/gcc/x86_64-linux-gnu/9/*.a"]), -) - -filegroup( - name = "includes", - srcs = glob([ - "usr/lib/gcc/x86_64-linux-gnu/9/include/**", - "usr/lib/gcc/x86_64-linux-gnu/9/include", - ]), -) - -filegroup( - name = "runtime_libs", - srcs = [ - "usr/lib/gcc/x86_64-linux-gnu/9/libstdc++.so", - ], -) - -filegroup( - name = "static_libs", - srcs = [ - "usr/lib/gcc/x86_64-linux-gnu/9/libstdc++.a", - ], -) diff --git a/src/extlibs/linux_k8_gcc.BUILD b/src/extlibs/linux_k8_gcc.BUILD new file mode 100644 index 0000000000..5d4840e28c --- /dev/null +++ b/src/extlibs/linux_k8_gcc.BUILD @@ -0,0 +1,28 @@ +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "libs", + srcs = glob(["usr/lib/gcc/x86_64-linux-gnu/10/*.a"]), +) + +filegroup( + name = "includes", + srcs = glob([ + "usr/lib/gcc/x86_64-linux-gnu/10/include/**", + "usr/lib/gcc/x86_64-linux-gnu/10/include", + ]), +) + +filegroup( + name = "runtime_libs", + srcs = [ + "usr/lib/gcc/x86_64-linux-gnu/10/libstdc++.so", + ], +) + +filegroup( + name = "static_libs", + srcs = [ + "usr/lib/gcc/x86_64-linux-gnu/10/libstdc++.a", + ], +) diff --git a/src/extlibs/nanopb_requirements_lock.txt b/src/extlibs/nanopb_requirements_lock.txt index fad7c9e32e..13481a4ab1 100644 --- a/src/extlibs/nanopb_requirements_lock.txt +++ b/src/extlibs/nanopb_requirements_lock.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # bazel run //extlibs:nanopb_requirements.update diff --git a/src/proto/BUILD b/src/proto/BUILD index a83817ed9a..9557086590 100644 --- a/src/proto/BUILD +++ b/src/proto/BUILD @@ -93,6 +93,7 @@ proto_library( deps = [ "@com_google_protobuf//:duration_proto", "@com_google_protobuf//:timestamp_proto", + "@com_google_protobuf//:wrappers_proto", ], ) diff --git a/src/proto/message_translation/ssl_simulation_robot_control.cpp b/src/proto/message_translation/ssl_simulation_robot_control.cpp index fe87dde214..7f1d7d998f 100644 --- a/src/proto/message_translation/ssl_simulation_robot_control.cpp +++ b/src/proto/message_translation/ssl_simulation_robot_control.cpp @@ -16,10 +16,12 @@ std::unique_ptr createRobotMoveCommand( { switch (direct_control.motor_control().drive_control_case()) { + case TbotsProto::MotorControl::DRIVE_CONTROL_NOT_SET: + break; + case TbotsProto::MotorControl::kDirectPerWheelControl: - { LOG(FATAL) << "Direct per-wheel control is not supported in simulation"; - } + break; case TbotsProto::MotorControl::kDirectVelocityControl: { diff --git a/src/proto/message_translation/tbots_protobuf.cpp b/src/proto/message_translation/tbots_protobuf.cpp index bc5623b8c5..0f780eccd9 100644 --- a/src/proto/message_translation/tbots_protobuf.cpp +++ b/src/proto/message_translation/tbots_protobuf.cpp @@ -321,8 +321,8 @@ std::unique_ptr createPlotJugglerValue( { auto plot_juggler_value_msg = std::make_unique(); double now = - static_cast(std::chrono::system_clock::now().time_since_epoch().count() / - NANOSECONDS_PER_SECOND); + static_cast(std::chrono::system_clock::now().time_since_epoch().count()) / + NANOSECONDS_PER_SECOND; plot_juggler_value_msg->set_timestamp(now); for (auto const& [key, val] : values) { @@ -479,8 +479,8 @@ BangBangTrajectory1DAngular createAngularTrajectoryFromParams( robot_constants.robot_max_ang_acceleration_rad_per_s_2)); } -double convertDribblerModeToDribblerSpeed(TbotsProto::DribblerMode dribbler_mode, - RobotConstants_t robot_constants) +int convertDribblerModeToDribblerSpeed(TbotsProto::DribblerMode dribbler_mode, + RobotConstants_t robot_constants) { switch (dribbler_mode) { @@ -489,10 +489,10 @@ double convertDribblerModeToDribblerSpeed(TbotsProto::DribblerMode dribbler_mode case TbotsProto::DribblerMode::MAX_FORCE: return robot_constants.max_force_dribbler_speed_rpm; case TbotsProto::DribblerMode::OFF: - return 0.0; + return 0; default: LOG(WARNING) << "DribblerMode is invalid" << std::endl; - return 0.0; + return 0; } } diff --git a/src/proto/message_translation/tbots_protobuf.h b/src/proto/message_translation/tbots_protobuf.h index 15f8cef4ed..50ab53c374 100644 --- a/src/proto/message_translation/tbots_protobuf.h +++ b/src/proto/message_translation/tbots_protobuf.h @@ -267,8 +267,8 @@ BangBangTrajectory1DAngular createAngularTrajectoryFromParams( * * @return the dribbler speed in RPM */ -double convertDribblerModeToDribblerSpeed(TbotsProto::DribblerMode dribbler_mode, - RobotConstants_t robot_constants); +int convertDribblerModeToDribblerSpeed(TbotsProto::DribblerMode dribbler_mode, + RobotConstants_t robot_constants); /** * Convert max allowed speed mode to max allowed speed diff --git a/src/proto/message_translation/tbots_protobuf_test.cpp b/src/proto/message_translation/tbots_protobuf_test.cpp index d64cb0708d..9cdde04170 100644 --- a/src/proto/message_translation/tbots_protobuf_test.cpp +++ b/src/proto/message_translation/tbots_protobuf_test.cpp @@ -74,31 +74,34 @@ class TbotsProtobufTest : public ::testing::Test auto traj_path_nodes_1 = traj_path_1.getTrajectoryPathNodes(); auto traj_path_nodes_2 = traj_path_2.getTrajectoryPathNodes(); ASSERT_EQ(traj_path_nodes_1.size(), traj_path_nodes_2.size()); - ASSERT_FLOAT_EQ(traj_path_nodes_1[0].getTrajectoryEndTime(), - traj_path_nodes_2[0].getTrajectoryEndTime()); - for (int i = 0; i < traj_path_nodes_1.size(); i++) + // In some cases, the trajectory end time may have lost precision when converting + // between doubles and floats + ASSERT_NEAR(traj_path_nodes_1[0].getTrajectoryEndTime(), + traj_path_nodes_2[0].getTrajectoryEndTime(), 0.000001); + + for (std::size_t i = 0; i < traj_path_nodes_1.size(); i++) { EXPECT_EQ(traj_path_nodes_1[i].getTrajectory()->getPosition(0.0), traj_path_nodes_2[i].getTrajectory()->getPosition(0.0)) << " Position at index " << i << " is not equal"; } - for (int i = 0; i < traj_path_nodes_1.size(); i++) + for (std::size_t i = 0; i < traj_path_nodes_1.size(); i++) { EXPECT_EQ(traj_path_nodes_1[i].getTrajectory()->getVelocity(0.0), traj_path_nodes_2[i].getTrajectory()->getVelocity(0.0)) << " Velocity at index " << i << " is not equal"; } - for (int i = 0; i < traj_path_nodes_1.size(); i++) + for (std::size_t i = 0; i < traj_path_nodes_1.size(); i++) { EXPECT_EQ(traj_path_nodes_1[i].getTrajectory()->getAcceleration(0.0), traj_path_nodes_2[i].getTrajectory()->getAcceleration(0.0)) << " Acceleration at index " << i << " is not equal"; } - for (int i = 0; i < traj_path_nodes_1.size(); i++) + for (std::size_t i = 0; i < traj_path_nodes_1.size(); i++) { EXPECT_EQ(traj_path_nodes_1[i].getTrajectory()->getDestination(), traj_path_nodes_2[i].getTrajectory()->getDestination()) @@ -176,7 +179,7 @@ TEST_P(TrajectoryParamConversionTest, trajectory_params_msg_test) start_position, initial_destination, initial_velocity, constraints); TrajectoryPath trajectory_path(trajectory, BangBangTrajectory2D::generator); - for (int i = 1; i < sub_destinations.size(); i++) + for (std::size_t i = 1; i < sub_destinations.size(); i++) { trajectory_path.append(sub_destination_connection_times[i - 1], sub_destinations[i], constraints); @@ -195,12 +198,13 @@ TEST_P(TrajectoryParamConversionTest, trajectory_params_msg_test) *(params.mutable_initial_velocity()) = *createVectorProto(initial_velocity); params.set_max_speed_mode(max_allowed_speed_mode); - for (int i = 0; i < sub_destinations.size(); ++i) + for (std::size_t i = 0; i < sub_destinations.size(); ++i) { TbotsProto::TrajectoryPathParams2D::SubDestination sub_destination_proto; *(sub_destination_proto.mutable_sub_destination()) = *createPointProto(sub_destinations[i]); - sub_destination_proto.set_connection_time_s(sub_destination_connection_times[i]); + sub_destination_proto.set_connection_time_s( + static_cast(sub_destination_connection_times[i])); *(params.add_sub_destinations()) = sub_destination_proto; } diff --git a/src/proto/primitive/primitive_msg_factory.cpp b/src/proto/primitive/primitive_msg_factory.cpp index d1cd2ecc3f..5aef38a878 100644 --- a/src/proto/primitive/primitive_msg_factory.cpp +++ b/src/proto/primitive/primitive_msg_factory.cpp @@ -13,7 +13,7 @@ std::unique_ptr createStopPrimitiveProto() } std::unique_ptr createDirectControlPrimitive( - const Vector &velocity, AngularVelocity angular_velocity, double dribbler_speed_rpm, + const Vector &velocity, AngularVelocity angular_velocity, int dribbler_speed_rpm, const TbotsProto::AutoChipOrKick &auto_chip_or_kick) { auto direct_control_primitive_msg = std::make_unique(); @@ -30,7 +30,7 @@ std::unique_ptr createDirectControlPrimitive( direct_control_primitive_msg->mutable_direct_control() ->mutable_motor_control() - ->set_dribbler_speed_rpm(static_cast(dribbler_speed_rpm)); + ->set_dribbler_speed_rpm(dribbler_speed_rpm); *(direct_control_primitive_msg->mutable_direct_control() ->mutable_power_control() diff --git a/src/proto/primitive/primitive_msg_factory.h b/src/proto/primitive/primitive_msg_factory.h index 40378ebd18..403395b0c6 100644 --- a/src/proto/primitive/primitive_msg_factory.h +++ b/src/proto/primitive/primitive_msg_factory.h @@ -30,5 +30,5 @@ std::unique_ptr createStopPrimitiveProto(); * @return Pointer to the DirectControl Primitive */ std::unique_ptr createDirectControlPrimitive( - const Vector &velocity, AngularVelocity angular_velocity, double dribbler_rpm, + const Vector &velocity, AngularVelocity angular_velocity, int dribbler_rpm, const TbotsProto::AutoChipOrKick &auto_chip_or_kick); diff --git a/src/proto/ssl_gc_api.proto b/src/proto/ssl_gc_api.proto index 98e6db7288..1f2c3d04fc 100644 --- a/src/proto/ssl_gc_api.proto +++ b/src/proto/ssl_gc_api.proto @@ -56,4 +56,6 @@ message Input optional bool reset_match = 2; // An updated config delta optional Config config_delta = 3; + // Continue with action + optional ContinueAction continue_action = 4; } diff --git a/src/proto/ssl_gc_change.proto b/src/proto/ssl_gc_change.proto index 2b99446f67..41762b1057 100644 --- a/src/proto/ssl_gc_change.proto +++ b/src/proto/ssl_gc_change.proto @@ -9,6 +9,7 @@ import "proto/ssl_gc_game_event.proto"; import "proto/ssl_gc_referee_message.proto"; import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; // A state change message StateChange @@ -35,183 +36,185 @@ message Change oneof change { - NewCommand new_command = 2; - ChangeStage change_stage = 3; - SetBallPlacementPos set_ball_placement_pos = 4; - AddYellowCard add_yellow_card = 5; - AddRedCard add_red_card = 6; - YellowCardOver yellow_card_over = 7; - AddGameEvent add_game_event = 8; - AddPassiveGameEvent add_passive_game_event = 19; - AddProposal add_proposal = 9; - StartBallPlacement start_ball_placement = 10; - Continue continue = 11; - UpdateConfig update_config = 12; - UpdateTeamState update_team_state = 13; - SwitchColors switch_colors = 14; - Revert revert = 15; - NewGameState new_game_state = 17; - AcceptProposalGroup accept_proposal_group = 18; + NewCommand new_command_change = 2; + ChangeStage change_stage_change = 3; + SetBallPlacementPos set_ball_placement_pos_change = 4; + AddYellowCard add_yellow_card_change = 5; + AddRedCard add_red_card_change = 6; + YellowCardOver yellow_card_over_change = 7; + AddGameEvent add_game_event_change = 8; + AddPassiveGameEvent add_passive_game_event_change = 19; + AddProposal add_proposal_change = 9; + UpdateConfig update_config_change = 12; + UpdateTeamState update_team_state_change = 13; + SwitchColors switch_colors_change = 14; + Revert revert_change = 15; + NewGameState new_game_state_change = 17; + AcceptProposalGroup accept_proposal_group_change = 18; + SetStatusMessage set_status_message_change = 20; } -} - -// New referee command -message NewCommand -{ - // The command - optional Command command = 1; -} -// Switch to a new stage -message ChangeStage -{ - // The new stage - optional Referee.Stage new_stage = 1; -} + // New referee command + message NewCommand + { + // The command + optional Command command = 1; + } -// Set the ball placement pos -message SetBallPlacementPos -{ - // The position in [m] - optional Vector2 pos = 1; -} + // Switch to a new stage + message ChangeStage + { + // The new stage + optional Referee.Stage new_stage = 1; + } -// Add a new yellow card -message AddYellowCard -{ - // The team that the card is for - optional Team for_team = 1; - // The game event that caused the card - optional GameEvent caused_by_game_event = 2; -} + // Set the ball placement pos + message SetBallPlacementPos + { + // The position in [m] + optional Vector2 pos = 1; + } -// Add a new red card -message AddRedCard -{ - // The team that the card is for - optional Team for_team = 1; - // The game event that caused the card - optional GameEvent caused_by_game_event = 2; -} + // Add a new yellow card + message AddYellowCard + { + // The team that the card is for + optional Team for_team = 1; + // The game event that caused the card + optional GameEvent caused_by_game_event = 2; + } -// Trigger when a yellow card timed out -message YellowCardOver -{ - // The team that the card was for - optional Team for_team = 1; -} + // Add a new red card + message AddRedCard + { + // The team that the card is for + optional Team for_team = 1; + // The game event that caused the card + optional GameEvent caused_by_game_event = 2; + } -// Add a new game event -message AddGameEvent -{ - // The game event - optional GameEvent game_event = 1; -} + // Trigger when a yellow card timed out + message YellowCardOver + { + // The team that the card was for + optional Team for_team = 1; + } -// Add a new passive game event (that is only logged, but does not automatically trigger -// anything) -message AddPassiveGameEvent -{ - // The game event - optional GameEvent game_event = 1; -} + // Add a new game event + message AddGameEvent + { + // The game event + optional GameEvent game_event = 1; + } -// Add a new proposal (i.e. from an auto referee for majority voting) -message AddProposal -{ - // The proposal - optional Proposal proposal = 1; -} + // Add a new passive game event (that is only logged, but does not automatically + // trigger anything) + message AddPassiveGameEvent + { + // The game event + optional GameEvent game_event = 1; + } -// Accept a proposal group (that contain one or more proposals of the same type) -message AcceptProposalGroup -{ - // The id of the group - optional uint32 group_id = 1; - // An identifier of the acceptor - optional string accepted_by = 2; -} + // Add a new proposal (i.e. from an auto referee for majority voting) + message AddProposal + { + // The proposal + optional Proposal proposal = 1; + } -// Initiate ball placement -message StartBallPlacement {} + // Accept a proposal group (that contain one or more proposals of the same type) + message AcceptProposalGroup + { + // The id of the group + optional string group_id = 3; + // An identifier of the acceptor + optional string accepted_by = 2; + } -// Continue with the next referee command -message Continue {} + // Update some configuration + message UpdateConfig + { + // The division to play with + optional Division division = 1; + // the team that does/did the first kick off + optional Team first_kickoff_team = 2; + reserved 3; // auto_continue moved to gcState + // The match type + optional MatchType match_type = 4; + // The number of robots per team + optional google.protobuf.Int32Value max_robots_per_team = 5; + } -// Update some configuration -message UpdateConfig -{ - // The division to play with - optional Division division = 1; - // the team that does/did the first kick off - optional Team first_kickoff_team = 2; - // Enable automatic continuation when all conditions are met - optional bool auto_continue = 3; - // The match type - optional MatchType match_type = 4; -} + // Update the current state of a team (all fields that should be updated are set) + message UpdateTeamState + { + // The team + optional Team for_team = 1; + + // Change the name of the team + optional google.protobuf.StringValue team_name = 2; + // Change the number of goals that the teams has at the moment + optional google.protobuf.Int32Value goals = 3; + // The id of the goal keeper + optional google.protobuf.Int32Value goalkeeper = 4; + // The number of timeouts that the team has left + optional google.protobuf.Int32Value timeouts_left = 5; + // The timeout time that the team has left + optional google.protobuf.StringValue timeout_time_left = 6; + // Does the team play on the positive or the negative half (in ssl-vision + // coordinates)? + optional google.protobuf.BoolValue on_positive_half = 7; + // The number of ball placement failures + optional google.protobuf.Int32Value ball_placement_failures = 8; + // Can the team place the ball, or is ball placement for this team disabled and + // should be skipped? + optional google.protobuf.BoolValue can_place_ball = 9; + // The number of challenge flags that the team has left + optional google.protobuf.Int32Value challenge_flags_left = 21; + // The number of bot substitutions left by the team in this halftime + optional google.protobuf.Int32Value bot_substitutions_left = 22; + // Does the team want to substitute a robot in the next possible situation? + optional google.protobuf.BoolValue requests_bot_substitution = 10; + // Does the team want to take a timeout in the next possible situation? + optional google.protobuf.BoolValue requests_timeout = 17; + // Does the team want to challenge a recent decision of the referee? + optional google.protobuf.BoolValue requests_challenge = 18; + // Does the team want to request an emergency stop? + optional google.protobuf.BoolValue requests_emergency_stop = 19; + // Update a certain yellow card of the team + optional YellowCard yellow_card = 20; + // Update a certain red card of the team + optional RedCard red_card = 12; + // Update a certain foul of the team + optional Foul foul = 13; + // Remove the yellow card with this id + optional google.protobuf.UInt32Value remove_yellow_card = 14; + // Remove the red card with this id + optional google.protobuf.UInt32Value remove_red_card = 15; + // Remove the foul with this id + optional google.protobuf.UInt32Value remove_foul = 16; + } -// Update the current state of a team (all fields that should be updated are set) -message UpdateTeamState -{ - // The team - optional Team for_team = 1; - - // Change the name of the team - optional string team_name = 2; - // Change the number of goals that the teams has at the moment - optional int32 goals = 3; - // The id of the goal keeper - optional int32 goalkeeper = 4; - // The number of timeouts that the team has left - optional int32 timeouts_left = 5; - // The timeout time that the team has left - optional string timeout_time_left = 6; - // Does the team play on the positive or the negative half (in ssl-vision - // coordinates)? - optional bool on_positive_half = 7; - // The number of ball placement failures - optional int32 ball_placement_failures = 8; - // Can the team place the ball, or is ball placement for this team disabled and should - // be skipped? - optional bool can_place_ball = 9; - // The number of challenge flags that the team has left - optional int32 challenge_flags_left = 21; - // Does the team want to substitute a robot in the next possible situation? - optional bool requests_bot_substitution = 10; - // Does the team want to take a timeout in the next possible situation? - optional bool requests_timeout = 17; - // Does the team want to challenge a recent decision of the referee? - optional bool requests_challenge = 18; - // Does the team want to request an emergency stop? - optional bool requests_emergency_stop = 19; - // Update a certain yellow card of the team - optional YellowCard yellow_card = 20; - // Update a certain red card of the team - optional RedCard red_card = 12; - // Update a certain foul of the team - optional Foul foul = 13; - // Remove the yellow card with this id - optional uint32 remove_yellow_card = 14; - // Remove the red card with this id - optional uint32 remove_red_card = 15; - // Remove the foul with this id - optional uint32 remove_foul = 16; -} + // Switch the team colors + message SwitchColors {} -// Switch the team colors -message SwitchColors {} + // Revert a certain change + message Revert + { + // The id of the change + optional int32 change_id = 1; + } -// Revert a certain change -message Revert -{ - // The id of the change - optional int32 change_id = 1; -} + // Change the current game state + message NewGameState + { + // The new game state + optional GameState game_state = 1; + } -// Change the current game state -message NewGameState -{ - // The new game state - optional GameState game_state = 1; + message SetStatusMessage + { + // The new status message + optional string status_message = 1; + } } diff --git a/src/proto/ssl_gc_engine.proto b/src/proto/ssl_gc_engine.proto index 1b6c271021..dce2f0bceb 100644 --- a/src/proto/ssl_gc_engine.proto +++ b/src/proto/ssl_gc_engine.proto @@ -5,26 +5,25 @@ package SSLProto; import "proto/ssl_gc_geometry.proto"; import "proto/ssl_gc_common.proto"; +import "google/protobuf/timestamp.proto"; + // The GC state contains settings and state independent of the match state message GcState { - // The state of each team + // the state of each team map team_state = 1; // the states of the auto referees map auto_ref_state = 2; - // the states of the attached trackers - map tracker_state = 3; - - // the state of the currently selected tracker - optional GcStateTracker tracker_state_gc = 4; + // the attached trackers (uuid -> source_name) + map trackers = 3; - // can the match be continued right now? - optional bool ready_to_continue = 5; + // the next actions that can be executed when continuing + repeated ContinueAction continue_actions = 4; - // list of issues that hinders the game from continuing - repeated string continuation_issues = 6; + // the next actions that can be executed when continuing + repeated ContinueHint continue_hints = 5; } // The GC state for a single team @@ -104,3 +103,61 @@ message Robot // robot position [m] optional Vector2 pos = 2; } + +message ContinueAction +{ + // type of action that will be performed next + required Type type = 1; + + // for which team (if team specific) + required Team for_team = 2; + + // list of issues that hinders the game from continuing + repeated string continuation_issues = 3; + + // timestamp at which the action will be ready (to give some preparation time) + optional google.protobuf.Timestamp ready_at = 4; + + // state of the action + optional State state = 5; + + enum Type + { + TYPE_UNKNOWN = 0; + HALT = 1; + RESUME_FROM_HALT = 10; + STOP_GAME = 2; + FORCE_START = 11; + FREE_KICK = 17; + NEXT_COMMAND = 3; + BALL_PLACEMENT_START = 4; + BALL_PLACEMENT_CANCEL = 9; + BALL_PLACEMENT_COMPLETE = 14; + BALL_PLACEMENT_FAIL = 15; + TIMEOUT_START = 5; + TIMEOUT_STOP = 6; + BOT_SUBSTITUTION = 7; + NEXT_STAGE = 8; + END_GAME = 16; + ACCEPT_GOAL = 12; + REJECT_GOAL = 20; + NORMAL_START = 13; + CHALLENGE_ACCEPT = 18; + CHALLENGE_REJECT = 19; + } + + enum State + { + STATE_UNKNOWN = 0; + BLOCKED = 1; + WAITING = 2; + READY_AUTO = 3; + READY_MANUAL = 4; + DISABLED = 5; + } +} + +message ContinueHint +{ + required string message = 1; +} diff --git a/src/proto/ssl_gc_engine_config.proto b/src/proto/ssl_gc_engine_config.proto index 6a71aafdbd..5c0ef9231e 100644 --- a/src/proto/ssl_gc_engine_config.proto +++ b/src/proto/ssl_gc_engine_config.proto @@ -17,6 +17,9 @@ message Config // The list of available teams repeated string teams = 4; + // Enable or disable auto continuation + optional bool auto_continue = 5; + // Behaviors for each game event enum Behavior { diff --git a/src/proto/ssl_gc_game_event.proto b/src/proto/ssl_gc_game_event.proto index bf510a37b7..7f103ed443 100644 --- a/src/proto/ssl_gc_game_event.proto +++ b/src/proto/ssl_gc_game_event.proto @@ -15,6 +15,10 @@ import "proto/ssl_gc_geometry.proto"; // so. message GameEvent { + // A globally unique id of the game event. + optional string id = 50; + + // The type of the game event. optional Type type = 40; // The origins of this game event. @@ -23,6 +27,9 @@ message GameEvent // Ignored if sent by autoRef to game controller. repeated string origin = 41; + // Unix timestamp in microseconds when the event was created. + optional uint64 created_timestamp = 49; + // the event that occurred oneof event { @@ -43,6 +50,7 @@ message GameEvent BotPushedBot bot_pushed_bot = 24; BotHeldBallDeliberately bot_held_ball_deliberately = 26; BotTippedOver bot_tipped_over = 27; + BotDroppedParts bot_dropped_parts = 51; // Non-Stopping Fouls @@ -69,17 +77,45 @@ message GameEvent PlacementSucceeded placement_succeeded = 5; PenaltyKickFailed penalty_kick_failed = 45; - NoProgressInGame no_progress_in_game = 2; - PlacementFailed placement_failed = 3; - MultipleCards multiple_cards = 32; - MultipleFouls multiple_fouls = 34; - BotSubstitution bot_substitution = 37; - TooManyRobots too_many_robots = 38; - ChallengeFlag challenge_flag = 46; - EmergencyStop emergency_stop = 47; + NoProgressInGame no_progress_in_game = 2; + PlacementFailed placement_failed = 3; + MultipleCards multiple_cards = 32; + MultipleFouls multiple_fouls = 34; + BotSubstitution bot_substitution = 37; + ExcessiveBotSubstitution excessive_bot_substitution = 52; + TooManyRobots too_many_robots = 38; + ChallengeFlag challenge_flag = 46; + ChallengeFlagHandled challenge_flag_handled = 48; + EmergencyStop emergency_stop = 47; UnsportingBehaviorMinor unsporting_behavior_minor = 35; UnsportingBehaviorMajor unsporting_behavior_major = 36; + + // Deprecated events + + // replaced by ready_to_continue flag + Prepared prepared = 1 [deprecated = true]; + // obsolete + IndirectGoal indirect_goal = 9 [deprecated = true]; + // replaced by the meta-information in the possible_goal event + ChippedGoal chipped_goal = 10 [deprecated = true]; + // obsolete + KickTimeout kick_timeout = 12 [deprecated = true]; + // rule removed + AttackerTouchedOpponentInDefenseArea attacker_touched_opponent_in_defense_area = + 16 [deprecated = true]; + // obsolete + AttackerTouchedOpponentInDefenseArea + attacker_touched_opponent_in_defense_area_skipped = 42 [deprecated = true]; + // obsolete + BotCrashUnique bot_crash_unique_skipped = 23 [deprecated = true]; + // can not be used as long as autoRefs do not judge pushing + BotPushedBot bot_pushed_bot_skipped = 25 [deprecated = true]; + // rule removed + DefenderInDefenseAreaPartially defender_in_defense_area_partially = 30 + [deprecated = true]; + // the referee msg already indicates this + MultiplePlacementFailures multiple_placement_failures = 33 [deprecated = true]; } // the ball left the field normally @@ -89,7 +125,7 @@ message GameEvent required Team by_team = 1; // the bot that last touched the ball optional uint32 by_bot = 2; - // the location where the ball left the field + // the location where the ball left the field [m] optional Vector2 location = 3; } // the ball left the field via goal line and a team committed an aimless kick @@ -99,9 +135,9 @@ message GameEvent required Team by_team = 1; // the bot that last touched the ball optional uint32 by_bot = 2; - // the location where the ball left the field + // the location where the ball left the field [m] optional Vector2 location = 3; - // the location where the ball was last touched + // the location where the ball was last touched [m] optional Vector2 kick_location = 4; } // a team shot a goal @@ -113,12 +149,13 @@ message GameEvent optional Team kicking_team = 6; // the bot that shot the goal optional uint32 kicking_bot = 2; - // the location where the ball entered the goal + // the location where the ball entered the goal [m] optional Vector2 location = 3; // the location where the ball was kicked (for deciding if this was a valid goal) + // [m] optional Vector2 kick_location = 4; // the maximum height the ball reached during the goal kick (for deciding if this - // was a valid goal) + // was a valid goal) [m] optional float max_ball_height = 5; // number of robots of scoring team when the ball entered the goal (for deciding // if this was a valid goal) @@ -135,9 +172,9 @@ message GameEvent required Team by_team = 1; // the bot that kicked the ball - at least the team must be set optional uint32 by_bot = 2; - // the location where the ball entered the goal + // the location where the ball entered the goal [m] optional Vector2 location = 3; - // the location where the ball was kicked + // the location where the ball was kicked [m] optional Vector2 kick_location = 4; } // the ball entered the goal, but was initially chipped @@ -147,12 +184,12 @@ message GameEvent required Team by_team = 1; // the bot that kicked the ball optional uint32 by_bot = 2; - // the location where the ball entered the goal + // the location where the ball entered the goal [m] optional Vector2 location = 3; - // the location where the ball was kicked + // the location where the ball was kicked [m] optional Vector2 kick_location = 4; // the maximum height [m] of the ball, before it entered the goal and since the - // last kick + // last kick [m] optional float max_ball_height = 5; } // a bot moved too fast while the game was stopped @@ -162,7 +199,7 @@ message GameEvent required Team by_team = 1; // the bot that was too fast optional uint32 by_bot = 2; - // the location of the bot + // the location of the bot [m] optional Vector2 location = 3; // the bot speed [m/s] optional float speed = 4; @@ -174,7 +211,7 @@ message GameEvent required Team by_team = 1; // the bot that violates the distance to the kick point optional uint32 by_bot = 2; - // the location of the bot + // the location of the bot [m] optional Vector2 location = 3; // the distance [m] from bot to the kick point (including the minimum radius) optional float distance = 4; @@ -186,7 +223,7 @@ message GameEvent optional uint32 bot_yellow = 1; // the bot of the blue team optional uint32 bot_blue = 2; - // the location of the crash (center between both bots) + // the location of the crash (center between both bots) [m] optional Vector2 location = 3; // the calculated crash speed [m/s] of the two bots optional float crash_speed = 4; @@ -207,7 +244,7 @@ message GameEvent optional uint32 violator = 2; // the bot of the opposite team that was involved in the crash optional uint32 victim = 3; - // the location of the crash (center between both bots) + // the location of the crash (center between both bots) [m] optional Vector2 location = 4; // the calculated crash speed vector [m/s] of the two bots optional float crash_speed = 5; @@ -227,7 +264,7 @@ message GameEvent optional uint32 violator = 2; // the bot of the opposite team that was pushed optional uint32 victim = 3; - // the location of the push (center between both bots) + // the location of the push (center between both bots) [m] optional Vector2 location = 4; // the pushed distance [m] optional float pushed_distance = 5; @@ -239,9 +276,21 @@ message GameEvent required Team by_team = 1; // the bot that tipped over optional uint32 by_bot = 2; - // the location of the bot + // the location of the bot [m] optional Vector2 location = 3; - // the location of the ball at the moment when this foul occurred + // the location of the ball at the moment when this foul occurred [m] + optional Vector2 ball_location = 4; + } + // a bot dropped parts + message BotDroppedParts + { + // the team that found guilty + required Team by_team = 1; + // the bot that dropped the parts + optional uint32 by_bot = 2; + // the location where the parts were dropped [m] + optional Vector2 location = 3; + // the location of the ball at the moment when this foul occurred [m] optional Vector2 ball_location = 4; } // a defender other than the keeper was fully located inside its own defense and @@ -252,7 +301,7 @@ message GameEvent required Team by_team = 1; // the bot that is inside the penalty area optional uint32 by_bot = 2; - // the location of the bot + // the location of the bot [m] optional Vector2 location = 3; // the distance [m] from bot case to the nearest point outside the defense area optional float distance = 4; @@ -269,7 +318,7 @@ message GameEvent optional Vector2 location = 3; // the distance [m] that the bot is inside the penalty area optional float distance = 4; - // the location of the ball at the moment when this foul occurred + // the location of the ball at the moment when this foul occurred [m] optional Vector2 ball_location = 5; } // an attacker touched the ball inside the opponent defense area @@ -279,7 +328,7 @@ message GameEvent required Team by_team = 1; // the bot that is inside the penalty area optional uint32 by_bot = 2; - // the location of the bot + // the location of the bot [m] optional Vector2 location = 3; // the distance [m] that the bot is inside the penalty area optional float distance = 4; @@ -291,7 +340,7 @@ message GameEvent required Team by_team = 1; // the bot that kicked too fast optional uint32 by_bot = 2; - // the location of the ball at the time of the highest speed + // the location of the ball at the time of the highest speed [m] optional Vector2 location = 3; // the absolute initial ball speed (kick speed) [m/s] optional float initial_ball_speed = 4; @@ -305,9 +354,9 @@ message GameEvent required Team by_team = 1; // the bot that dribbled too far optional uint32 by_bot = 2; - // the location where the dribbling started + // the location where the dribbling started [m] optional Vector2 start = 3; - // the location where the maximum dribbling distance was reached + // the location where the maximum dribbling distance was reached [m] optional Vector2 end = 4; } // an attacker touched the opponent robot inside defense area @@ -319,7 +368,7 @@ message GameEvent optional uint32 by_bot = 2; // the bot of the opposite team that was touched optional uint32 victim = 4; - // the location of the contact point between both bots + // the location of the contact point between both bots [m] optional Vector2 location = 3; } // an attacker touched the ball multiple times when it was not allowed to @@ -329,7 +378,7 @@ message GameEvent required Team by_team = 1; // the bot that touched the ball twice optional uint32 by_bot = 2; - // the location of the ball when it was first touched + // the location of the ball when it was first touched [m] optional Vector2 location = 3; } // an attacker was located too near to the opponent defense area during stop or free @@ -340,11 +389,11 @@ message GameEvent required Team by_team = 1; // the bot that is too close to the defense area optional uint32 by_bot = 2; - // the location of the bot + // the location of the bot [m] optional Vector2 location = 3; // the distance [m] of the bot to the penalty area optional float distance = 4; - // the location of the ball at the moment when this foul occurred + // the location of the ball at the moment when this foul occurred [m] optional Vector2 ball_location = 5; } // a bot held the ball for too long @@ -354,7 +403,7 @@ message GameEvent required Team by_team = 1; // the bot that holds the ball optional uint32 by_bot = 2; - // the location of the ball + // the location of the ball [m] optional Vector2 location = 3; // the duration [s] that the bot hold the ball optional float duration = 4; @@ -366,10 +415,10 @@ message GameEvent required Team by_team = 1; // the bot that interfered the placement optional uint32 by_bot = 2; - // the location of the bot + // the location of the bot [m] optional Vector2 location = 3; } - // a team collected multiple cards (yellow and red), which results in a penalty kick + // a team collected multiple yellow cards message MultipleCards { // the team that received multiple yellow cards @@ -380,6 +429,8 @@ message GameEvent { // the team that collected multiple fouls required Team by_team = 1; + // the list of game events that caused the multiple fouls + repeated GameEvent caused_game_events = 2; } // a team failed to place the ball multiple times in a row message MultiplePlacementFailures @@ -392,7 +443,7 @@ message GameEvent { // the team that that should have kicked required Team by_team = 1; - // the location of the ball + // the location of the ball [m] optional Vector2 location = 2; // the time [s] that was waited optional float time = 3; @@ -412,6 +463,8 @@ message GameEvent required Team by_team = 1; // the remaining distance [m] from ball to placement position optional float remaining_distance = 2; + // the distance [m] of the nearest own robot to the ball + optional float nearest_own_bot_distance = 3; } // a team was found guilty for minor unsporting behavior message UnsportingBehaviorMinor @@ -434,7 +487,7 @@ message GameEvent { // the team that found guilty required Team by_team = 1; - // the location of the ball + // the location of the ball [m] optional Vector2 location = 2; // the duration [s] that the keeper hold the ball optional float duration = 3; @@ -464,12 +517,26 @@ message GameEvent // the team that substitutes robots required Team by_team = 1; } + // A foul for excessive bot substitutions + message ExcessiveBotSubstitution + { + // the team that substitutes robots + required Team by_team = 1; + } // A challenge flag, requested by a team previously, is flagged message ChallengeFlag { - // the team that substitutes robots + // the team that requested the challenge flag required Team by_team = 1; } + // A challenge, flagged recently, has been handled by the referee + message ChallengeFlagHandled + { + // the team that requested the challenge flag + required Team by_team = 1; + // the challenge was accepted by the referee + required bool accepted = 2; + } // An emergency stop, requested by team previously, occurred message EmergencyStop { @@ -485,7 +552,7 @@ message GameEvent optional int32 num_robots_allowed = 2; // number of robots currently on the field optional int32 num_robots_on_field = 3; - // the location of the ball at the moment when this foul occurred + // the location of the ball at the moment when this foul occurred [m] optional Vector2 ball_location = 4; } // a robot chipped the ball over the field boundary out of the playing surface @@ -493,7 +560,7 @@ message GameEvent { // the team that has too many robots required Team by_team = 1; - // the location of the ball + // the location of the ball [m] optional Vector2 location = 2; } // the penalty kick failed (by time or by keeper) @@ -501,8 +568,10 @@ message GameEvent { // the team that last touched the ball required Team by_team = 1; - // the location of the ball at the moment of this event + // the location of the ball at the moment of this event [m] optional Vector2 location = 2; + // an explanation of the failure + optional string reason = 3; } enum Type @@ -526,6 +595,7 @@ message GameEvent BOT_PUSHED_BOT = 24; // triggered by human ref BOT_HELD_BALL_DELIBERATELY = 26; // triggered by human ref BOT_TIPPED_OVER = 27; // triggered by human ref + BOT_DROPPED_PARTS = 47; // triggered by human ref // Non-Stopping Fouls @@ -539,6 +609,7 @@ message GameEvent DEFENDER_TOO_CLOSE_TO_KICK_POINT = 29; // triggered by autoRef BOT_TOO_FAST_IN_STOP = 28; // triggered by autoRef BOT_INTERFERED_PLACEMENT = 20; // triggered by autoRef + EXCESSIVE_BOT_SUBSTITUTION = 48; // triggered by GC // Scoring goals @@ -552,16 +623,30 @@ message GameEvent PLACEMENT_SUCCEEDED = 5; // triggered by autoRef PENALTY_KICK_FAILED = 43; // triggered by GC and autoRef - NO_PROGRESS_IN_GAME = 2; // triggered by GC - PLACEMENT_FAILED = 3; // triggered by GC - MULTIPLE_CARDS = 32; // triggered by GC - MULTIPLE_FOULS = 34; // triggered by GC - BOT_SUBSTITUTION = 37; // triggered by GC - TOO_MANY_ROBOTS = 38; // triggered by GC - CHALLENGE_FLAG = 44; // triggered by GC - EMERGENCY_STOP = 45; // triggered by GC + NO_PROGRESS_IN_GAME = 2; // triggered by GC + PLACEMENT_FAILED = 3; // triggered by GC + MULTIPLE_CARDS = 32; // triggered by GC + MULTIPLE_FOULS = 34; // triggered by GC + BOT_SUBSTITUTION = 37; // triggered by GC + TOO_MANY_ROBOTS = 38; // triggered by GC + CHALLENGE_FLAG = 44; // triggered by GC + CHALLENGE_FLAG_HANDLED = 46; // triggered by GC + EMERGENCY_STOP = 45; // triggered by GC UNSPORTING_BEHAVIOR_MINOR = 35; // triggered by human ref UNSPORTING_BEHAVIOR_MAJOR = 36; // triggered by human ref + + // Deprecated events + + PREPARED = 1 [deprecated = true]; + INDIRECT_GOAL = 9 [deprecated = true]; + CHIPPED_GOAL = 10 [deprecated = true]; + KICK_TIMEOUT = 12 [deprecated = true]; + ATTACKER_TOUCHED_OPPONENT_IN_DEFENSE_AREA = 16 [deprecated = true]; + ATTACKER_TOUCHED_OPPONENT_IN_DEFENSE_AREA_SKIPPED = 40 [deprecated = true]; + BOT_CRASH_UNIQUE_SKIPPED = 23 [deprecated = true]; + BOT_PUSHED_BOT_SKIPPED = 25 [deprecated = true]; + DEFENDER_IN_DEFENSE_AREA_PARTIALLY = 30 [deprecated = true]; + MULTIPLE_PLACEMENT_FAILURES = 33 [deprecated = true]; } } diff --git a/src/proto/ssl_gc_referee_message.proto b/src/proto/ssl_gc_referee_message.proto index 0b5540a155..24006daddc 100644 --- a/src/proto/ssl_gc_referee_message.proto +++ b/src/proto/ssl_gc_referee_message.proto @@ -75,7 +75,7 @@ message Referee // // If the stage runs over its specified time, this value // becomes negative. - optional sint32 stage_time_left = 3; + optional sint64 stage_time_left = 3; // These are the "fine" states of play on the field. enum Command @@ -101,16 +101,20 @@ message Referee // The blue team may take a direct free kick. DIRECT_FREE_BLUE = 9; // The yellow team may take an indirect free kick. - INDIRECT_FREE_YELLOW = 10; + INDIRECT_FREE_YELLOW = 10 [deprecated = true]; // The blue team may take an indirect free kick. - INDIRECT_FREE_BLUE = 11; + INDIRECT_FREE_BLUE = 11 [deprecated = true]; // The yellow team is currently in a timeout. TIMEOUT_YELLOW = 12; // The blue team is currently in a timeout. TIMEOUT_BLUE = 13; // The yellow team just scored a goal. // For information only. - // For rules compliance, teams must treat as STOP. + // Deprecated: Use the score field from the team infos instead. That way, you can + // also detect revoked goals. + GOAL_YELLOW = 14 [deprecated = true]; + // The blue team just scored a goal. See also GOAL_YELLOW. + GOAL_BLUE = 15 [deprecated = true]; // Equivalent to STOP, but the yellow team must pick up the ball and // drop it in the Designated Position. BALL_PLACEMENT_YELLOW = 16; @@ -163,6 +167,12 @@ message Referee // Indicate if the team reached the maximum allowed ball placement failures and is // thus not allowed to place the ball anymore optional bool ball_placement_failures_reached = 15; + // The team is allowed to substitute one or more robots currently + optional bool bot_substitution_allowed = 16; + // The number of bot substitutions left by the team in this halftime + optional uint32 bot_substitutions_left = 17; + // The number of microseconds left for current bot substitution + optional uint32 bot_substitution_time_left = 18; } // Information about the two teams. @@ -185,6 +195,11 @@ message Referee // coordinate system. Obviously, the yellow team will play on the opposite half. optional bool blue_team_on_positive_half = 10; + // The game event that caused the referee command. + // deprecated in favor of game_events. + // optional Game_Event game_event = 11 [deprecated = true]; + reserved 11; + // The command that will be issued after the current stoppage and ball placement to // continue the game. optional Command next_command = 12; @@ -194,7 +209,7 @@ message Referee reserved 13; repeated GameEvent game_events = 16; - // All non-finished proposed game events that may be processed next. + // All proposed game events that were detected since the last RUNNING state. reserved 14; repeated GameEventProposalGroup game_event_proposals = 17; @@ -205,14 +220,19 @@ message Referee // * free kicks // * kickoff, penalty kick, force start // * ball placement - optional int32 current_action_time_remaining = 15; + optional int64 current_action_time_remaining = 15; + + // A message that can be displayed to the spectators, like a reason for a stoppage. + optional string status_message = 20; } // List of matching proposals message GameEventProposalGroup { - // The proposed game event. - repeated GameEvent game_event = 1; + // Unique ID of this group + optional string id = 3; + // The proposed game events + repeated GameEvent game_events = 1; // Whether the proposal group was accepted optional bool accepted = 2; } diff --git a/src/proto/ssl_gc_state.proto b/src/proto/ssl_gc_state.proto index 4cb9443aff..4ae750ff07 100644 --- a/src/proto/ssl_gc_state.proto +++ b/src/proto/ssl_gc_state.proto @@ -33,17 +33,17 @@ message Foul message Command { required Type type = 1; - optional Team for_team = 2; + required Team for_team = 2; enum Type { - UNKNOWN = 0; - HALT = 1; - STOP = 2; - NORMAL_START = 3; - FORCE_START = 4; - DIRECT = 5; - INDIRECT = 6; + UNKNOWN = 0; + HALT = 1; + STOP = 2; + NORMAL_START = 3; + FORCE_START = 4; + DIRECT = 5; + reserved 6; // INDIRECT KICKOFF = 7; PENALTY = 8; TIMEOUT = 9; @@ -80,10 +80,13 @@ message Proposal message ProposalGroup { - // List of proposals in this group + // Unique ID of this group + optional string id = 4; + // The proposals in this group repeated Proposal proposals = 1; // Whether the proposal group was accepted optional bool accepted = 2; + reserved 3; // uint32 id } message TeamInfo @@ -105,6 +108,9 @@ message TeamInfo optional google.protobuf.Timestamp requests_timeout_since = 15; optional google.protobuf.Timestamp requests_emergency_stop_since = 16; optional int32 challenge_flags = 17; + optional bool bot_substitution_allowed = 18; + optional int32 bot_substitutions_left = 19; + optional google.protobuf.Duration bot_substitution_time_left = 20; } message State @@ -122,7 +128,18 @@ message State repeated GameEvent game_events = 13; repeated ProposalGroup proposal_groups = 14; optional Division division = 15; - optional bool auto_continue = 16; - optional Team first_kickoff_team = 17; - optional MatchType match_type = 18; + reserved 16; + optional Team first_kickoff_team = 17; + optional MatchType match_type = 18; + optional google.protobuf.Timestamp ready_continue_time = 20; + optional ShootoutState shootout_state = 21; + optional string status_message = 22; + // The maximum number of bots per team (overwrites the division config) + optional int32 max_bots_per_team = 23; +} + +message ShootoutState +{ + optional Team next_team = 1; + map number_of_attempts = 2; } diff --git a/src/shared/2021_robot_constants.cpp b/src/shared/2021_robot_constants.cpp index 303afdde6c..f2900737a4 100644 --- a/src/shared/2021_robot_constants.cpp +++ b/src/shared/2021_robot_constants.cpp @@ -17,8 +17,8 @@ RobotConstants_t create2021RobotConstants(void) .front_of_robot_width_meters = 0.11f, .dribbler_width_meters = 0.07825f, // Dribbler speeds are negative as that is the direction that sucks the ball in - .indefinite_dribbler_speed_rpm = -10000.0f, - .max_force_dribbler_speed_rpm = -12000.0f, + .indefinite_dribbler_speed_rpm = -10000, + .max_force_dribbler_speed_rpm = -12000, // Motor constant .motor_max_acceleration_m_per_s_2 = 4.5f, diff --git a/src/shared/robot_constants.h b/src/shared/robot_constants.h index d8f283eb9b..af9bbee29e 100644 --- a/src/shared/robot_constants.h +++ b/src/shared/robot_constants.h @@ -67,11 +67,11 @@ typedef struct RobotConstants float dribbler_width_meters; // Indefinite dribbler mode sets a speed that can be maintained indefinitely [rpm] - float indefinite_dribbler_speed_rpm; + int indefinite_dribbler_speed_rpm; // Max force dribbler mode sets the speed that applies the maximum amount of force on // the ball [rpm] - float max_force_dribbler_speed_rpm; + int max_force_dribbler_speed_rpm; // The maximum acceleration achievable by our motors [m/s^2] float motor_max_acceleration_m_per_s_2; diff --git a/src/software/autoref/run_autoref.sh b/src/software/autoref/run_autoref.sh index 75f21be914..a4f3c8a61b 100755 --- a/src/software/autoref/run_autoref.sh +++ b/src/software/autoref/run_autoref.sh @@ -3,7 +3,7 @@ # Runs the Tigers Autoref binary that is set up by "setup_software.sh". By default, wrapper runs the autoreferee in headless, active mode. If an additional argument is passed in to the script, it is forwarded to the binary. cd "/opt/tbotspython/autoReferee/" -export JAVA_HOME="/usr/lib/jvm/jdk-17" +export JAVA_HOME="/opt/tbotspython/bin/jdk" bin/autoReferee -a $@ diff --git a/src/software/embedded/BUILD b/src/software/embedded/BUILD index cd35497c38..d43be47e00 100644 --- a/src/software/embedded/BUILD +++ b/src/software/embedded/BUILD @@ -90,6 +90,10 @@ cc_binary( "-lpthread", "-lrt", ], + target_compatible_with = [ + "@platforms//cpu:aarch64", + "@platforms//os:linux", + ], deps = [ ":thunderloop", "@boost//:program_options", diff --git a/src/software/embedded/ansible/requirements_lock.txt b/src/software/embedded/ansible/requirements_lock.txt index c846b976dd..0b23d0b1c0 100644 --- a/src/software/embedded/ansible/requirements_lock.txt +++ b/src/software/embedded/ansible/requirements_lock.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # bazel run //software/embedded/ansible:requirements.update diff --git a/src/software/embedded/thunderloop.cpp b/src/software/embedded/thunderloop.cpp index 337a1f153d..6e7ec7cf76 100644 --- a/src/software/embedded/thunderloop.cpp +++ b/src/software/embedded/thunderloop.cpp @@ -136,7 +136,7 @@ Thunderloop::~Thunderloop() {} /* * Run the main robot loop! */ -[[noreturn]] void Thunderloop::runLoop() +void Thunderloop::runLoop() { // Timing struct timespec next_shot; diff --git a/src/software/embedded/thunderloop.h b/src/software/embedded/thunderloop.h index e8ffe23a3e..33fadb2577 100644 --- a/src/software/embedded/thunderloop.h +++ b/src/software/embedded/thunderloop.h @@ -55,7 +55,7 @@ class Thunderloop ~Thunderloop(); - void runLoop(); + [[noreturn]] void runLoop(); // Services std::unique_ptr motor_service_; diff --git a/src/software/estop/arduino_util.cpp b/src/software/estop/arduino_util.cpp index 0a3a6bb651..3ee6220e7e 100644 --- a/src/software/estop/arduino_util.cpp +++ b/src/software/estop/arduino_util.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include "shared/constants.h" @@ -109,7 +110,7 @@ std::vector ArduinoUtil::getSerialDevices() std::optional ArduinoUtil::readFileLine(boost::filesystem::path path) { - boost::filesystem::ifstream f(path.c_str()); + std::ifstream f(path.c_str()); std::string res; if (f.is_open()) { diff --git a/src/software/simulated_tests/requirements_lock.txt b/src/software/simulated_tests/requirements_lock.txt index 4fe396d6b2..8bf6d03071 100644 --- a/src/software/simulated_tests/requirements_lock.txt +++ b/src/software/simulated_tests/requirements_lock.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # bazel run //software/simulated_tests:requirements.update diff --git a/src/software/thunderscope/BUILD b/src/software/thunderscope/BUILD index e188c0d202..1af288edc5 100644 --- a/src/software/thunderscope/BUILD +++ b/src/software/thunderscope/BUILD @@ -142,6 +142,9 @@ py_library( py_library( name = "constants", srcs = ["constants.py"], + deps = [ + requirement("protobuf"), + ], ) py_library( diff --git a/src/software/thunderscope/binary_context_managers/game_controller.py b/src/software/thunderscope/binary_context_managers/game_controller.py index a59463ac9e..5a2f4f3185 100644 --- a/src/software/thunderscope/binary_context_managers/game_controller.py +++ b/src/software/thunderscope/binary_context_managers/game_controller.py @@ -207,18 +207,18 @@ def send_gc_command( ci_input = CiInput(timestamp=int(time.time_ns())) api_input = Input() change = Change() - new_command = NewCommand() + new_command = Change.NewCommand() command = Command(type=gc_command, for_team=team) new_command.command.CopyFrom(command) - change.new_command.CopyFrom(new_command) + change.new_command_change.CopyFrom(new_command) api_input.change.CopyFrom(change) ci_input.api_inputs.append(api_input) # Do this only if ball placement pos is specified if final_ball_placement_point: # Set position - ball_placement_pos = SetBallPlacementPos() + ball_placement_pos = Change.SetBallPlacementPos() ball_placement_pos.pos.CopyFrom( Vector2( x=float(final_ball_placement_point.x()), @@ -227,16 +227,16 @@ def send_gc_command( ) change = Change() api_input = Input() - change.set_ball_placement_pos.CopyFrom(ball_placement_pos) + change.set_ball_placement_pos_change.CopyFrom(ball_placement_pos) api_input.change.CopyFrom(change) ci_input.api_inputs.append(api_input) # Start Placement - change = Change() api_input = Input() - start_placement = StartBallPlacement() - change.start_ball_placement.CopyFrom(start_placement) - api_input.change.CopyFrom(change) + start_placement = ContinueAction() + start_placement.type = ContinueAction.Type.BALL_PLACEMENT_START + start_placement.for_team = team + api_input.continue_action.CopyFrom(start_placement) ci_input.api_inputs.append(api_input) ci_output_list = self.send_ci_input(ci_input) @@ -264,7 +264,7 @@ def send_ci_input(self, ci_input: proto.ssl_gc_ci_pb2.CiInput) -> list[CiOutput] return ci_output_list - def reset_team(self, name: str, team: str) -> UpdateTeamState: + def reset_team(self, name: str, team: str) -> Change.UpdateTeamState: """Returns an UpdateTeamState proto for the gamecontroller to reset team info. :param name name of the new team @@ -272,27 +272,28 @@ def reset_team(self, name: str, team: str) -> UpdateTeamState: :return: corresponding UpdateTeamState proto """ - update_team_state = UpdateTeamState() + update_team_state = Change.UpdateTeamState() update_team_state.for_team = team - update_team_state.team_name = name - update_team_state.goals = 0 - update_team_state.timeouts_left = 4 - update_team_state.timeout_time_left = "05:00" - update_team_state.can_place_ball = True + update_team_state.team_name.value = name + update_team_state.goals.value = 0 + update_team_state.timeouts_left.value = 4 + update_team_state.timeout_time_left.value = "05:00" + update_team_state.can_place_ball.value = True return update_team_state - def reset_game(self, division: proto.ssl_gc_common_pb2.Division) -> UpdateConfig: + def reset_game( + self, division: proto.ssl_gc_common_pb2.Division + ) -> Change.UpdateConfig: """Returns an UpdateConfig proto for the Gamecontroller to reset game info. :param division the Division proto corresponding to the game division to set up the Gamecontroller for :return: corresponding UpdateConfig proto """ - game_update = UpdateConfig() + game_update = Change.UpdateConfig() game_update.division = division game_update.first_kickoff_team = SslTeam.BLUE - game_update.auto_continue = True game_update.match_type = MatchType.FRIENDLY return game_update @@ -309,19 +310,21 @@ def reset_team_info( ci_input = CiInput(timestamp=int(time.time_ns())) input_blue_update = Input() input_blue_update.reset_match = True - input_blue_update.change.update_team_state.CopyFrom( + input_blue_update.change.update_team_state_change.CopyFrom( self.reset_team("BLUE", SslTeam.BLUE) ) input_yellow_update = Input() input_yellow_update.reset_match = True - input_yellow_update.change.update_team_state.CopyFrom( + input_yellow_update.change.update_team_state_change.CopyFrom( self.reset_team("YELLOW", SslTeam.YELLOW) ) input_game_update = Input() input_game_update.reset_match = True - input_game_update.change.update_config.CopyFrom(self.reset_game(division)) + input_game_update.change.update_config_change.CopyFrom( + self.reset_game(division) + ) ci_input.api_inputs.append(input_blue_update) ci_input.api_inputs.append(input_yellow_update) diff --git a/src/software/thunderscope/binary_context_managers/tigers_autoref.py b/src/software/thunderscope/binary_context_managers/tigers_autoref.py index cff5276956..efaae73314 100644 --- a/src/software/thunderscope/binary_context_managers/tigers_autoref.py +++ b/src/software/thunderscope/binary_context_managers/tigers_autoref.py @@ -101,14 +101,15 @@ def _force_gamecontroller_to_accept_all_events(self) -> list[CiOutput]: :return: a list of CiOutput protos from the Gamecontroller """ - game_event_proto_map = Config() + gc_engine_config = Config() + gc_engine_config.auto_continue = True for game_event in GameEvent.Type.DESCRIPTOR.values_by_name: - game_event_proto_map.game_event_behavior[game_event] = ( + gc_engine_config.game_event_behavior[game_event] = ( Config.Behavior.BEHAVIOR_ACCEPT ) - return self.gamecontroller.update_game_engine_config(game_event_proto_map) + return self.gamecontroller.update_game_engine_config(gc_engine_config) def _send_geometry(self) -> None: """Sends updated field geometry to the AutoRef so that the TigersAutoref knows about field sizes.""" diff --git a/src/software/thunderscope/log/g3log_widget.py b/src/software/thunderscope/log/g3log_widget.py index 62e3bd9941..447d7acb39 100644 --- a/src/software/thunderscope/log/g3log_widget.py +++ b/src/software/thunderscope/log/g3log_widget.py @@ -1,6 +1,5 @@ from pyqtgraph.Qt.QtWidgets import * import queue -import qdarktheme from software.py_constants import * import pyqtgraph.console as pg_console from proto.robot_log_msg_pb2 import RobotLog, LogLevel @@ -20,8 +19,6 @@ def __init__(self, buffer_size: int = 10): """ QWidget.__init__(self) - palette = qdarktheme.load_palette() - self.console_widget = pg_console.ConsoleWidget() self.console_widget.setStyleSheet( """ diff --git a/src/software/thunderscope/play/refereeinfo_widget.py b/src/software/thunderscope/play/refereeinfo_widget.py index 59b56448c7..c2fdf2211b 100644 --- a/src/software/thunderscope/play/refereeinfo_widget.py +++ b/src/software/thunderscope/play/refereeinfo_widget.py @@ -47,9 +47,13 @@ def refresh(self) -> None: if not referee_msg_dict: return + stage_time_left_s = ( + int(referee_msg_dict["stageTimeLeft"]) * SECONDS_PER_MICROSECOND + ) p = ( f"Packet Timestamp: {round(float(referee_msg_dict['packetTimestamp']) * SECONDS_PER_MICROSECOND, 3)}\n" - + f"Stage Time Left: {int(referee_msg_dict['stageTimeLeft'] * SECONDS_PER_MICROSECOND / SECONDS_PER_MINUTE)}:{int(referee_msg_dict['stageTimeLeft'] * SECONDS_PER_MICROSECOND % SECONDS_PER_MINUTE)}\n" + + f"Stage Time Left: {int(stage_time_left_s / SECONDS_PER_MINUTE):02d}" + + f":{int(stage_time_left_s % SECONDS_PER_MINUTE):02d}\n" + f"Stage: {referee_msg_dict['stage']}\n" + "Command: " + referee_msg_dict["command"] diff --git a/src/software/thunderscope/requirements.in b/src/software/thunderscope/requirements.in index 56d48cb1a0..6b87152786 100644 --- a/src/software/thunderscope/requirements.in +++ b/src/software/thunderscope/requirements.in @@ -1,3 +1,3 @@ -numpy==1.25.0 +numpy==1.26.4 +protobuf==5.27.3 pyqtgraph==0.13.7 -pyqtdarktheme==2.1.0 diff --git a/src/software/thunderscope/requirements_lock.txt b/src/software/thunderscope/requirements_lock.txt index cac8531f7d..90bfb381c3 100644 --- a/src/software/thunderscope/requirements_lock.txt +++ b/src/software/thunderscope/requirements_lock.txt @@ -1,45 +1,61 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # bazel run //software/thunderscope:requirements.update # -darkdetect==0.7.1 \ - --hash=sha256:3efe69f8ecd5f1b7f4fbb0d1d93f656b0e493c45cc49222380ffe2a529cbc866 \ - --hash=sha256:47be3cf5134432ddb616bbffc927237718407914993c82809983e7ccebf49013 - # via pyqtdarktheme -numpy==1.25.0 \ - --hash=sha256:0ac6edfb35d2a99aaf102b509c8e9319c499ebd4978df4971b94419a116d0790 \ - --hash=sha256:26815c6c8498dc49d81faa76d61078c4f9f0859ce7817919021b9eba72b425e3 \ - --hash=sha256:4aedd08f15d3045a4e9c648f1e04daca2ab1044256959f1f95aafeeb3d794c16 \ - --hash=sha256:4c69fe5f05eea336b7a740e114dec995e2f927003c30702d896892403df6dbf0 \ - --hash=sha256:5177310ac2e63d6603f659fadc1e7bab33dd5a8db4e0596df34214eeab0fee3b \ - --hash=sha256:5aa48bebfb41f93043a796128854b84407d4df730d3fb6e5dc36402f5cd594c0 \ - --hash=sha256:5b1b90860bf7d8a8c313b372d4f27343a54f415b20fb69dd601b7efe1029c91e \ - --hash=sha256:6c284907e37f5e04d2412950960894b143a648dea3f79290757eb878b91acbd1 \ - --hash=sha256:6d183b5c58513f74225c376643234c369468e02947b47942eacbb23c1671f25d \ - --hash=sha256:7412125b4f18aeddca2ecd7219ea2d2708f697943e6f624be41aa5f8a9852cc4 \ - --hash=sha256:7cd981ccc0afe49b9883f14761bb57c964df71124dcd155b0cba2b591f0d64b9 \ - --hash=sha256:85cdae87d8c136fd4da4dad1e48064d700f63e923d5af6c8c782ac0df8044542 \ - --hash=sha256:8aa130c3042052d656751df5e81f6d61edff3e289b5994edcf77f54118a8d9f4 \ - --hash=sha256:95367ccd88c07af21b379be1725b5322362bb83679d36691f124a16357390153 \ - --hash=sha256:9c7211d7920b97aeca7b3773a6783492b5b93baba39e7c36054f6e749fc7490c \ - --hash=sha256:9e3f2b96e3b63c978bc29daaa3700c028fe3f049ea3031b58aa33fe2a5809d24 \ - --hash=sha256:b76aa836a952059d70a2788a2d98cb2a533ccd46222558b6970348939e55fc24 \ - --hash=sha256:b792164e539d99d93e4e5e09ae10f8cbe5466de7d759fc155e075237e0c274e4 \ - --hash=sha256:c0dc071017bc00abb7d7201bac06fa80333c6314477b3d10b52b58fa6a6e38f6 \ - --hash=sha256:cc3fda2b36482891db1060f00f881c77f9423eead4c3579629940a3e12095fe8 \ - --hash=sha256:d6b267f349a99d3908b56645eebf340cb58f01bd1e773b4eea1a905b3f0e4208 \ - --hash=sha256:d76a84998c51b8b68b40448ddd02bd1081bb33abcdc28beee6cd284fe11036c6 \ - --hash=sha256:e559c6afbca484072a98a51b6fa466aae785cfe89b69e8b856c3191bc8872a82 \ - --hash=sha256:ecc68f11404930e9c7ecfc937aa423e1e50158317bf67ca91736a9864eae0232 \ - --hash=sha256:f1accae9a28dc3cda46a91de86acf69de0d1b5f4edd44a9b0c3ceb8036dfff19 +numpy==1.26.4 \ + --hash=sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b \ + --hash=sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818 \ + --hash=sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20 \ + --hash=sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0 \ + --hash=sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010 \ + --hash=sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a \ + --hash=sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea \ + --hash=sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c \ + --hash=sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71 \ + --hash=sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110 \ + --hash=sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be \ + --hash=sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a \ + --hash=sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a \ + --hash=sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5 \ + --hash=sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed \ + --hash=sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd \ + --hash=sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c \ + --hash=sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e \ + --hash=sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0 \ + --hash=sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c \ + --hash=sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a \ + --hash=sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b \ + --hash=sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0 \ + --hash=sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6 \ + --hash=sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2 \ + --hash=sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a \ + --hash=sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30 \ + --hash=sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218 \ + --hash=sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5 \ + --hash=sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07 \ + --hash=sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2 \ + --hash=sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4 \ + --hash=sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764 \ + --hash=sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef \ + --hash=sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3 \ + --hash=sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f # via # -r software/thunderscope/requirements.in # pyqtgraph -pyqtdarktheme==2.1.0 \ - --hash=sha256:5f8274ddfa3a5481ed9743cdb0f9debfeb7ff695b3a0d202a8104361d17dadb8 \ - --hash=sha256:8739d99502230fbaca42551ea033c9ae31c81c4ebfec2f1ffde38f32a18bea7a +protobuf==5.27.3 \ + --hash=sha256:043853dcb55cc262bf2e116215ad43fa0859caab79bb0b2d31b708f128ece035 \ + --hash=sha256:16ddf3f8c6c41e1e803da7abea17b1793a97ef079a912e42351eabb19b2cffe7 \ + --hash=sha256:68248c60d53f6168f565a8c76dc58ba4fa2ade31c2d1ebdae6d80f969cdc2d4f \ + --hash=sha256:82460903e640f2b7e34ee81a947fdaad89de796d324bcbc38ff5430bcdead82c \ + --hash=sha256:8572c6533e544ebf6899c360e91d6bcbbee2549251643d32c52cf8a5de295ba5 \ + --hash=sha256:a55c48f2a2092d8e213bd143474df33a6ae751b781dd1d1f4d953c128a415b25 \ + --hash=sha256:af7c0b7cfbbb649ad26132e53faa348580f844d9ca46fd3ec7ca48a1ea5db8a1 \ + --hash=sha256:b8a994fb3d1c11156e7d1e427186662b64694a62b55936b2b9348f0a7c6625ce \ + --hash=sha256:c2a105c24f08b1e53d6c7ffe69cb09d0031512f0b72f812dd4005b8112dbe91e \ + --hash=sha256:c84eee2c71ed83704f1afbf1a85c3171eab0fd1ade3b399b3fad0884cbcca8bf \ + --hash=sha256:dcb307cd4ef8fec0cf52cb9105a03d06fbb5275ce6d84a6ae33bc6cf84e0a07b # via -r software/thunderscope/requirements.in pyqtgraph==0.13.7 \ --hash=sha256:64f84f1935c6996d0e09b1ee66fe478a7771e3ca6f3aaa05f00f6e068321d9e3 \ diff --git a/src/software/thunderscope/thunderscope_config.py b/src/software/thunderscope/thunderscope_config.py index defc65d16d..f7d893b5ef 100644 --- a/src/software/thunderscope/thunderscope_config.py +++ b/src/software/thunderscope/thunderscope_config.py @@ -11,9 +11,9 @@ WidgetStretchData, ) import pyqtgraph +from qt_material import apply_stylesheet import signal import os -import qdarktheme @dataclass @@ -39,7 +39,11 @@ def initialize_application() -> None: app = pyqtgraph.mkQApp("Thunderscope") # Setup stylesheet - qdarktheme.setup_theme() + extra = { + # Make thunderscope more dense + "density_scale": "-2", + } + apply_stylesheet(app, theme="dark_blue.xml", extra=extra) def configure_robot_view_fullsystem( diff --git a/src/software/thunderscope/thunderscope_main.py b/src/software/thunderscope/thunderscope_main.py index 78b70a4e32..8645d6ce8d 100644 --- a/src/software/thunderscope/thunderscope_main.py +++ b/src/software/thunderscope/thunderscope_main.py @@ -4,6 +4,17 @@ import os import sys import threading + +import google.protobuf +from google.protobuf.internal import api_implementation + +protobuf_impl_type = api_implementation.Type() +assert protobuf_impl_type == "upb", ( + f"Trying to use the {protobuf_impl_type} protobuf implementation. " + "Please use the upb implementation, available in python protobuf version 4.21.0 and above." + f"The current version of protobuf is {google.protobuf.__version__}" +) + from software.thunderscope.thunderscope import Thunderscope from software.thunderscope.binary_context_managers import * from proto.import_all_protos import * diff --git a/src/software/util/make_enum/make_enum.hpp b/src/software/util/make_enum/make_enum.hpp index 7cba24dda9..39cb6eb431 100644 --- a/src/software/util/make_enum/make_enum.hpp +++ b/src/software/util/make_enum/make_enum.hpp @@ -1,5 +1,7 @@ #pragma once +#include + #include "software/util/make_enum/make_enum_helpers.hpp" /** diff --git a/src/software/util/make_enum/make_enum_helpers.hpp b/src/software/util/make_enum/make_enum_helpers.hpp index a80ca85f2e..ad0c679993 100644 --- a/src/software/util/make_enum/make_enum_helpers.hpp +++ b/src/software/util/make_enum/make_enum_helpers.hpp @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include diff --git a/src/tbots.py b/src/tbots.py index 9fe80434aa..874ce21ff9 100755 --- a/src/tbots.py +++ b/src/tbots.py @@ -167,7 +167,7 @@ # Used for when flashing Jetsons if args.flash_robots: - command += ["--cpu=jetson_nano"] + command += ["--platforms=//cc_toolchain:robot"] # Select debug binaries to run if args.select_debug_binaries: From b62a9e8fbaa1b397e80d383b7d40732bd8913ebc Mon Sep 17 00:00:00 2001 From: Andrew Mao <72371419+Andrewyx@users.noreply.github.com> Date: Wed, 23 Oct 2024 13:40:07 -0700 Subject: [PATCH 13/14] Ansible Upgraded (#3384) * fixed deploy * [pre-commit.ci lite] apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- src/software/embedded/ansible/requirements.in | 2 +- src/software/embedded/ansible/requirements_lock.txt | 10 ++++++---- src/software/embedded/ansible/run_ansible.py | 3 +++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/software/embedded/ansible/requirements.in b/src/software/embedded/ansible/requirements.in index 72b3f6f58c..22c3a7550c 100644 --- a/src/software/embedded/ansible/requirements.in +++ b/src/software/embedded/ansible/requirements.in @@ -1 +1 @@ -ansible==5.3.0 +ansible==10.5.0 diff --git a/src/software/embedded/ansible/requirements_lock.txt b/src/software/embedded/ansible/requirements_lock.txt index 0b23d0b1c0..b7223bb4b9 100644 --- a/src/software/embedded/ansible/requirements_lock.txt +++ b/src/software/embedded/ansible/requirements_lock.txt @@ -4,11 +4,13 @@ # # bazel run //software/embedded/ansible:requirements.update # -ansible==5.3.0 \ - --hash=sha256:50020dab43f6c59debdeb57f45c90ec6db78d4fa574edc6d75bc52e05cbd3639 +ansible==10.5.0 \ + --hash=sha256:1d10bddba58f1edd0fe0b8e0387e0fafc519535066bb3c919c33b6ea3ec32a0f \ + --hash=sha256:ba2045031a7d60c203b6e5fe1f8eaddd53ae076f7ada910e636494384135face # via -r software/embedded/ansible/requirements.in -ansible-core==2.12.10 \ - --hash=sha256:feb1df61738cfc1f5e893b42a2ec1a7de32977d67e86707b45eb63d0c5c3c236 +ansible-core==2.17.5 \ + --hash=sha256:10f165b475cf2bc8d886e532cadb32c52ee6a533649793101d3166bca9bd3ea3 \ + --hash=sha256:ae7f51fd13dc9d57c9bcd43ef23f9c255ca8f18f4b5c0011a4f9b724d92c5a8e # via ansible cffi==1.16.0 \ --hash=sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc \ diff --git a/src/software/embedded/ansible/run_ansible.py b/src/software/embedded/ansible/run_ansible.py index 4ddbe0a5b8..bd62b9fb25 100644 --- a/src/software/embedded/ansible/run_ansible.py +++ b/src/software/embedded/ansible/run_ansible.py @@ -5,6 +5,8 @@ from ansible.parsing.dataloader import DataLoader from ansible.inventory.manager import InventoryManager from ansible.vars.manager import VariableManager +from ansible.plugins.loader import init_plugin_loader + import os import argparse import subprocess @@ -20,6 +22,7 @@ # loads variables, inventory, and play into Ansible API, then runs it def ansible_runner(playbook: str, options: dict = {}): + init_plugin_loader() loader = DataLoader() print("starting ansible run") From 10bded3efa3780478ae10a76840a5edf17abb508 Mon Sep 17 00:00:00 2001 From: itsarune <42703774+itsarune@users.noreply.github.com> Date: Wed, 23 Oct 2024 18:44:43 -0700 Subject: [PATCH 14/14] Put --incompatible_enable_cc_toolchain_resolution in bazelrc (#3383) --- src/.bazelrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/.bazelrc b/src/.bazelrc index 4dfa7f43a5..8f694e5535 100644 --- a/src/.bazelrc +++ b/src/.bazelrc @@ -33,3 +33,7 @@ build --test_env=DISPLAY # Setup python bin/lib to point to our venv build --action_env=PYTHON_BIN_PATH=/opt/tbotspython/bin/python3.12 build --action_env=PYTHON_LIB_PATH=/opt/tbotspython/lib/python3.12 + +# Enable the new cc_toolchain resolution strategy +# #TODO(#3382): Delete when we upgrade to Bazel 7.0 +build --incompatible_enable_cc_toolchain_resolution

`9qSDUBOR@jMw?RMgPB;xZAUG#P{U0Jk8 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�~j%&}sWncKow8ea=J| zbM{$#5%qtAKZCl6*~N|73IFLk2k^&&vI3HOwf&?1)b0b?57=Zq0~KxEcYT@Xhe{*z zN2Z;O2xKD_AC)OEMXM(nCV!o~b3nVa_k1t9VSSR?Q{JwpR_&<(pSvOY8+Z+l-cvjF z{_GH~-Z|jMu|0;F|1cKz3?+R7sm}zTq9s0O1fPiQv-OEPPcBjOaYaA`X;)HFZ^+f^ zNXZlF+oGZaZ`~!QT{$m#3gb83X)z=&2jHTUXMI_NxDTKTmr;d^Rahk-$~?hRqS`Y1 zWmHTTntS+Ibzo;Sf|oKij4g>qu6<{3jkfUNan*VZm)zvNR8fN zK2(|(F7x=-!etijOyK2rDcb@lQhu9HOSyy(Dox6JqSMJ%jA#X69%oWid4Kf%cry1` zc8>i#e66?}@#0gQ{gNzD z%fL}>i3&Pq4WH_m=W*2#wGfD+RIxfS8Fl1E`ryZ>$^!||?~Jwqs2*#@6}yZuRx|+X zc3|>024I_uz_tfq+Z>p@jV&#fn_mQ`jc66B>_O&WoH0UG;a7|is#1dUPqCxq3e{RZ zlq!M?h`fzs##rXneDlvq&5n*O7quY2`?vAO-}Ox~A(5VvKbpv(EokDuY6XjR3a*HCs?s)Ya0jU2PX`uLgDIF`e`1|ii5>l;tn)`- zFZBN>vQ9OZjSt*`!Y>$9_#oEVD`o)S&9jdEv(BT6ivL8`sa~<6FsS^e(J&1R1(hGm z4}z;*`LTTY`)8d${@OtGKaq8+lU2U@v#9=q%8zI$rg~cQD7>bz4(rXMuz&7ZRfNI- z_k;}Q85uO8mA3Wkx=G(`zijrkEpu)0&0_HcsC16UM-{yxS(5R@SwXjx*iy&qlV*c54o36f6A)5rlkY0x?T@~!-F&tX%p5Qifn3ep%ZjmcI^%!TqX*byD z4`bd{CR4OsFLQ3zPvf~%jC$*!8EmNmv=00T0a;0lao z1}jq5W>o`J-GSOlqpEyB8VeM)hZwd4irW27DO0X;V~Vt&z*1&JYgKIBK(WII67lIuCG=xVsES57v z4b;C__EHlZV~7-FFL3$qWv{6N==}Gxmj;@U(jXc@>LXTjgOOTAe7<#-Uai(iS&$nx z|Gn(Bc1EF%OkuoV*-JxANNLCoAa&&+r1p}%)L8G?pi6a=DqxoObklwZ%BPF)+DrD5 znn41P#DNtyYT--fhyTfC)UU?X58k6Fng|9Fz;xpRB5z*UdWvr+Y;EQX`cuNE`6S^z z(N;)7%Xf(tZtfQw8eaT)BaE^ig%2q?^NNaf+@I9{5`eOd6QHEu z7QU%6U#)y8e<(}}HRaeD0P?wp&lxWEJ1U1DA*5`2|LCBVZIFTG`U!cG_if5s)Vq!k z>5aPOW=Dh$mfq-4BGDW5sdEKj8EQhVrZ7@}A4iyNWo)Z#g8s^9Np5Np+Id`oljcdk z+?Y?s#_}Vnud;A|C0Ao9#)l4pFr3CHh+XEP9~HLK!D8@s`mD3qwf*-?+4)+LncSA1 z(uTotYk1@oWUt9BxGlIb+*r7BSh(^mc1_kqfl+6rpS=!a0lNP{cL`_AK6x zqaQ_VlapR-PLKHrAY!p^&Q0c|mpf;X3$*kUp=>C^Ig8{_M4tkC7MF)`^_f{@A?YB( zd@f?KNR({MNiTQKA{S`siBmQd;haTsGK(ttn_jHH6jvpHp2gKTF4sjCk`5xw7Zeu} zXyzt!(#xH*$OT$@;*<@=IcJeM+2t`8SZm2|HYdBt0wKJ^z4Q-V%uNBDoFdw*bE%!P z$Uu7*$*12Y%ZCxQyw!oV$jRJnPIi$628Fnon*umFMTJavshzXPKzkO+=L!+DdZJBW znVZ@jv~w0K(1h>B9SZNUhwGJ&1QwDGBFyI^7B6u*nUh}boJB6s(o@O`SBi5M$;m8Q z#ozQ|{U!5T3}CT2+2!lZw|uq5-E2;Fkp%_~;9_nH;N%oFz#5m@Ig1RmXOVpRZL)mS z%3B@SW;vOg&B-pZz@QKpb5j5(r>KxEF12$O8EDTU`CK7_R=uj=@(d|Ca1x);aOF*X z=G-i8O?c!FowM8mM=mxH<1!H??O9xlqaT@BNP4l0FrSN9TrE&2Rt^+v&LS6R>4{S| z#5re?9PrUTB=~sd+&o>*$R9dqxdo0~ED*40!_kjKvn*s$A!Ov@AViLS8w>Yw46?uT zsI}R%_+_uMQ8@+$Ffoneu+E{To*^ zH_D#r*TwSalqxPc( zt}VJcJ|y;6;{qbDz$IXv#`ipHhg!bWY*Lr=Dal>rW2+>8*su6P5?2mxS8m*NC&rc& z;`ZQ<3qpJ$X%>E!L5S*}sMpOKdoFaTR$GW{4c-hwmRQk22b*a7q{Ym~j?l=%!tM*g zJcUhn!tu|8FthE$WI-bP%|TeP$=yQ2Ho1-Y+&Ji+0-^U4OL8Y*wL}v%Moh{w>!b#D z^34D!wY#kSfS$mj$o8bwC`Hnh?#sv0b%jQ#y@{o3#8}v}>*J;Nl(rv__29AP1*@xEIAYTVeAhkPAB>g%|4XBB+f!b1D#zhAX+806j$)Z4q^6Y0Y zuv@314PWs~&yZHPh(}&Th30FIx|;yur;&3u|MU0|bP**gIiLACqxY(!qSTHV1+w`9=xq&vpFNWFryQqUTugcB%GYz((EMzYb&Del?a_rb=j38>V7r zXk3+61H{@5oI3bc%wDZWNO9{GRbCGtDFJC^-lHZVt@ScN+RV|9pbG_vdzoA*?|JIt zSfXU^a`l@ZaURm_C)b3qYFPn{U8bS)_IAIIj?>xIRv-UgEzdI7&5LK<8m#^?_O=5f zuXsk&EBDEtpgWyKF1cfP2B1UeVFS-=7T9ES*J-GI^3q{T4#;s7Jr4hx$Ggdbi8F7S zn^~*0^2*f(_9HM1$1MA1%ky(slQWBN&K>Lj@Ei=15nm15HM{O9o2NZMZg`#-FIoYT zqg(yO8DF=P0xKU||8XGJO$W_^3aA+!ng(E;rq`g<56Ri!EZi*$m5-t+BoC#_t{sFe z3*+f!&YQM%p<=t0z%2|FYu@xCInCI>eU{tHatGP@2F_?;c9lzxD!RQX=YN(8=U&k< z3z=m5hvOC2o0T4{x8MqE`Sr_VZQ*X6DXbL@)_Ex5<1XSNK&|3bXNf17dwe_!Q*zx?{;@wafdh!y_Zhys5(`Uyh^ zVar%yXx_A~V->sIpll(lSo5ZBCHsGf|LtcF!vBYOg?}IU3xADa;V-{_dHgNht&oMk zqQO58B@7*et&xSHdDFH?R;+{{+TR>voombF|3my=J8KaB&*0TH@s-LyyH<{W-c>5g z){qpb#iLMeGj~~3e$}|cTm0?N0FjBVpXm_$UvTm)Lug_LX z3n#!W)JK6ZueY0h*`dEHepJ%69eOw++ zm@&Xn0YMHI^ zT8%5}mA{yJE!-{2Rg$8i-aM2D!9m!vT;tWeXYF!hNvi|SQJCaRa`TwB9iy{20L^>Q)PD*(0id-%eKfVycGK+Tyu zO)kTaQHlaM^7u6`b^2#-s$&s*@H*L*Zf^*$pInaBbMoNaSzK~ip7l6zdX_@kzZ}mD zL;cHB4kUUvyH}zLmx${bCReyb3Tfx6P?v~9g4+r!n4+sT_dUPom(yN)`Q7Z_IbN7q zsIiHx#bxA2-}8+TJU_r~i^SgT#M2iz`FQs@oqUwQUeCLrjSqS?59-(?`}t-SFk1^c zOwIEtyq@){uHX0torL6x4g>{`j%_CCdL^yzjfW?`jnjVd(z2Nw>R14u{`>FOmAI=W zI=jPNXRyBDXwsR)`6J+*T4jt;SmyNCmKpqF;Jxgj+rNhobN8w^{hK}g2qiet`>4Nn zx9XYsX&YVP7^Ty%aE$628h8bnlq5&GUJ0*nv`(qaottS?pKz>5t=r^fhC(~8OD?e# zhZIt%{mD2vDtC0IQGJr08U(dt$n4Tp0igR7r$spxwv;ho*>w`t!*S@~BPU=qB8 zfC~s{u-6NE6A0w0S;Rvut=26OHSc=scMkRb@ax0Ac-ajXW`692fBh_Pw1m4B(Fj4S z#8Mmk!%I$u_;liRI#=l1azXW!f=Km@ZO^^=Ml>)w-@u*?eL`I!Yh3ij$hYR~0rcK~mG!drsyEkU^X32zO;w*}$ygJByE2yRy>Q1b+(DK&tSUlmy* z7r1hkuByEJ`l*#83ZsE4X>Dae!7HONgIO7^l}opFD{cLHbt~;=*suh%3~4X?Dlilt$up-c+!PMBTY~sH z%gl*gDp2wIQJ}J*hAVBKRju)7OM^y+H0suE_|>hg^1E)eAfmPhQEkeeY~|OFTr@gp z(hkMYjJL=I@g;IWtej}os!DFY8C~Qu7YMKt6*pt0fT>-zTrgf?nbL3aQ@rB!qgKk- znsJ@Mtc1$jk`Tg3=feO=`tdxD z7hHt&aBiohhl;!`FsVE@oX5~512mi9Q0H+UJ8B{)IYjq@t`M|I49zCQar1isU4$E0=V2&MfJ~MLWqG&|L^R{0uIhy&9`uP5{)OEqed1?Yg+BY2((hYj*7yYlrq@LQ& zWe@14B=HqwLtP1f`uppcTGlqXxkxuJGZ!sSsoe3kR{Wv=vIK|+&ajE-K|yc*G855< z92KVg;QneomgF>CUh0ez9zvvMn2) znTj;=)k-b|=f%3CbQu0sEszeF&=#3rmOGXN3FJ#MIW%l4Zw`6rDLHDm$=`YeI@we= z!Uh)`?C{fXQi+s%x?0ED@0YaYr&IxK98=xpMx#U75vU}B7PQwEBKWK2zdynsf11GU z=0-6FFYU3_Fk<=FXqOZ>_ogX#Iu#zxVcW#_L7QEW9RF??w9N&{@qgxm`dpA4f29kmr1$e0n%_+4 zdoK-5)+uVb+6?aA4hJsBKbIT|N{_BpigBCrV6Is+p6$|HhHo`abLKwh+`dLWUGiZK zdMSf?pg})N^#qo0(>oa3K?eC|Ri686*5@V+G^>h=XR^xCR{q(ptqMtZZB{0k`WgK|x0=&;4N(FTzMgfsv92x`-+o0F30QuYF>)I`4CCUhD9K za*H3Cb>Sns1Q*ZTSFO}z?u+2?R-CuKk9Ej9Z@VAskgc!+R_R@ekN0%tCr3RaaJ0AX z_~Yz1M9YHI%c6=egK9k8lN-tvh|TGHl?+FPcwgT*FA?ekQ)Lp*{KVoiw=0hK8IrvH z)IkokoXt6ZhL%hPk?KJW@z-`g$VOGHBZ;c$IXAC>=yKsBvo3t(52jl|rhK5-S6T~V>r3q8^Q5`fL@t2RZ?4~2Sv3REFrTFAnuTV`Le z?@K}@xf=jD-+W&Ug>r3%NGL=GEgCsUK*0}@XOsBHS$jdq`xVRcqR^&TX{g6`jdLgL z1y-DqS4L*JGAr0ibD6iiYxuVD( zD)r{{c=~U;n8@R@q@F3|Q~>JXp0`ar`X;L7`Qo<_t8Z(@#DN{qmRxuRZ!f|QcO$wT zLlJkW(xxUtY4nC4h9javOVs$uXB^P^HmxAQAffOyPjk(i;e{V*xMULyE)F17Co-qT z>mNvjr)<-l$0W{0nz~3r{d*F3Dq>LvNdO z#O=Xri!OSScrVDS~I3+oD6nyqgPKj4{=kr-4YuVIR2$mAlg6Is=(1v zFGFK-4;C_Q{lke2e1<#I(mX?z(E+V#(aK;E%RwIAlOljWytNjyw%rt?Su^7RRycxi z#Q(1HMecV8`QQ1xd{$5K9y8r}j<7`b8t&ty(YrDTtiAu6Mvt?o;m*Lf!VB$H6_c#T zMH4k|1xE$$wu2S=@<4*}$Lj3O5IYCHJl3!Aq zgQyH3wponL7r(94H_DHQ*4)x#*xLIZ+tT&ed0Jv=reU)Mx-I_gbIVHBgg|JtUO#*V z9-(5X3zi52yi)ZQ);yT`5;w&q>fikqQ~qYwxTV)l;Z+5eMDKYu8}8%iB>SW4G9;Rl zrTj34-~N?-tz#1p&w*Qqq>bQ52liyZBFlw zXAj|K?HyjtV~8N^No*I9$L#G$w}Zhjjd|IVeto`p#@pKeI7<5;7cua3i(}(PuV$n6 zKS(3u;3~)JLPET67xq7n9@zh2_3rjRG-gO|9plwMI~Sz3@_=Q$rpNnmtL|J+bwk2^ zrQyW_VFh~q3u5-A3yACA1_`|Ll4$ND8_&pP_R?ospm(P@O}1B zJR^ROXJ+`h%`?N#tUtZKUtJ3Agx7Z4f|sYZb5rv7y-~(bf-=4dC9^#+7G-&L!5)?P zX+ius#9IdRQdxK{Op<#{MU+|@^DZ&!AdyL?gv-WLeM1_;-|yK$Y^eP(Y2jnyB4|~f zOrF>=|FHgx+CS6GUIlnnGCDhvG8aRFy~=-}cG7ExvcSq?K^zGiozR zRd^yZE0V~}tENO$jVrs4gEqr!eJ`6oxWrD&+q7i5*RO$inTce8*`bsQ-_@WSGyg*D zFOp?!bv$@4i11uEMvvjOv!k4-fC6lLhw?OVCUiz+;1*832%JWY#us-dXG>!|M^UP= z)S;O4AxME2h014!=RiL1hi_~ORnicp>1m-zQ+j?V+LWFhs!q8~Lup@n|9QD@G(~o$ z5MYD^l_}qvETgq@=Ze|3N+`3@OgA%y|Yk|{n0jV0!_kYN=2V0Av zptCH=l_5JC$0(z+f!Qs@z%I3}X#Zk7^+2e({%_%~FJqsTtG=sNfOLeFO6lS$u;uQa zUHw6G^l~Loe;#8m^GmyVCHaK`RE787#}_Nih70}eWGgf^`rv=(mG?BdIliFDIS(ts z^9q_AkIQCxKQ4KpMrA}(Gz0QQ|JfO2liuLuZCz%aITx@e+yBPVNz!i^OkWny^L;L! zvYVMsQHvQ+v$$+*<^Xgi7rNBzG7l>EoNm9V~m-YNFnCi7ISN~&w9@p$Dl3b za!IDxI<1<@)e7eY8Mr$9d(~OFwF_{Mtfh4+5fV z2krw>J0ROlPoy^_(hvEgXET`fH2W8rMU0&w@-$^)TcyW)i1vADTGT&rFOo zq#tVFQqc9U4jubsZd5=YsSV{`{hz~~J8Z{!+^G6@uglq^b?-z%AJ+F=_kt!*&A?3z zkQv&r+=@rcW3$>%a!ZMuQJr}g&p9O0_e8r14tMGVctdtp|Jd%k1S5h{DjvsTEL7HS zo*T=JE^f|P30tx-lcxY8_PDz=ts+3fqZn^359p*N2^n--h_Lw;Xl0r1PLEy?gtOBL z&VoQ&e20#%8pOs#_B5^QOPWLPz`{>YWX7L-P2C`N8-ofRjMj+}2}qiC^aQ5&M6Uhi z+)!iMpuh&J_Aif)Q=7NE%=lMkqdH~Nb#^srU<9k3q+aWLxO z`;LJku#h6dNpROhUgmS$)PB$k?NKvxhC3xTHe^bF!fo~R>&v{vJ>$?wL;c^r^*l{- zXjMb#sfL=rUAILKG5pRz6F>Qw7q;V~0dK;z@jU0L%Jbq6)KfJuzcC?U;~j8q-j?D` z3%K|EGOhyBMR!pq(%ry;W6;ZbidTLBsZoi>7}%@aQ%Bq$6a2sX3J z3QhhrcS^1r5h-_)78=%Qdg>+ptax^%f3e4;cQ3qCAgr6zDC*$^U8znBdQ?wP>Ge6$ zmPxh972(bs0Fd6f^HBPSbxA{}9JH(k*n}R$^S9Fus^Y%|wma`bPVcnyxF<&*#&v$Oh{JNf$CVbTdIt6u+vrb3W0HsMy5c&a&zd(@(&YwexbtgJbYU!nJ11%sF(ADi<=)D8b!TiDMkgSS|)zw)86r~7vewPFuuOQox zCF16Arw6LGK!o~`<~C^2vi3MNBtirCDq54ZPa)%}*@_$0`b`s(<i;n%I_F}LZ(Rz+(U9+9MPqX#F#EUX)P=@0zLuv+ojL;yP z+9E;Iarq?ZAYSqfmbuhxl~PJS!g_9+hH_q`=OGt1f#m6(1dUCTn$<%-^eWpS zm+_O29^pm;J?S4uZ0`8j@30swYTakX$Q&sTLTog(z702Vk#IDue#XIsVVc1e$v-R4mPP3&J zy89$(3cbs@!?fObK@HYtNrQ%4Cz_KSEJEC_7$7`#5dJ#322mM6#0cSSwy`_L_Cv5$ zN-W*koi;FXH6oL0x8&DSdpd9NFw1<%BAa=kvV1*)Nx18M&F+kfYJ{zphV%o8^sBsA z56^u2TCTQYt(l+?JIEQi?3B1p=)UjO;6g0|mKt-@HJ6*Rjs1O!+McM{ribn7H}b~FMx6_7 z4Vr6~S`*Z5gj!(s=w~KMuO++Qm&>Ks`em^C95C&5oJWl*wyXTqo`rl|;0t***F~So ztGR-EU0CA@zMw3_;x}g<0(L&Fg5Z2`GS1&o?U(13RVO@Bq^$ZBo^$=l~x=qmGrp*u@!t;bl&J zbPj&hMO7GXe5D)^WNm?jD`S=7%O&nRBCStg?M!A0g_DgsX{2cOj#9NoUw`-q8^q6B zl}-&tMT2IAR=X|WMn=Z_Mtxq*u6X*d@%0~<-bak~ITPvKyj7Cd?1$N32rvGCi%=V6 zyZxfSdNlOJ!UdwJZc2X?U;j!eyfAzr6WQa+05wGV+4a4pyufA@0@1xRGtnZFu27lf1ZrW7M9#>5-GH74(7TD;CiQx~n;{TFa`I zY+_^=OVn>~e=K*-Kn|=gv;g}d3l7$R8j3Wl8*t&yG@)qPn)TA@zYtSsBxO2G9JKdp zK&V1I^fx*~$r%()ILNW7>(%m5n})n8+PcxHx#s4>o%uq)me^Ry-_niHMN2xdF%lj* zZ6kaqxsg#ndt)uzG#l%dOxqYk<)#8?u{|Q17UiDK^}f!|bi9V$p%1+EyGz;KK?Pz; zPY<;zvS)QcprxB0XB%iIZ+j=g6L+EnO^(*GYW?e_Z0q{(AE`~n9aeo*+A=A4MYGAE zT9@*k09xwTyqcZK>*$#6>4(?9QOb*f3S)_sdU zd!PD9J9pSoFOlY)_ZHFN^G2XIeDgp0MqnJ%@%3*<;=?ylTFB@;UcV`UHvY_P=?9Pk zL+Z3{zx61U&Z@7w{Y35GAIfyobHIoacd~Tu4|esV5;*vNdaA@9SAb2jl)lHPqA4I6 zUK_Q+@e+XfTLW0zbjPz5kB@zlXPys_q?4l}klmcp!}T|DxM(IZ$|z?P6f>$C&O543 zn6dIayqfBds*d+G9bT;`w@~Ekq`Cr^78uyLT3KsY6;RugHWPIqgS zn?6K235c8!xnS%eZ^A{14uFF&kN$$aciWbfx|K1pX23W*EquaTYL!P7!pU~)K ze_;L-<$0`NMl7In)hilM^=nC-N88J!g{~e?TEDX_QU6kSQKM=>KUXT8rqmReNWX-p zpv=phh~RxuIfkEa1+P|(Rlgx4wW^;iiJm*EQRBL~llLuX*{4LD5Q>FSeyegea1_|p z%ub>9L&9sDOIRHqIZ!+17p(!`*7X10AtG-kU1d`)+-MnPr)8kVhszq7UijAU`W8#S z=eX&L`3U8)J*ITyp{CV3LTlvujpPN-obmv4j63=HhV=9KI>4>MolhVQql@)-QgH7B zcnVb0s?wnv5gm0~eTPwvIX{ztIC5yVH-Qm&vltnEzx zPps_SP!2Tmp$cP+yMZ)LI@1!5jdsoJC##;}d;jF6-eUp(B+d;Y3=Q%Gy=~2qekV>F zo!^XVa@WZ4LTmi&l`#!EV+OznaI9|qYcPjVp^i^D+0EX>Gm_1XUeS;~EoycP@zevQ z5{s*v>rq?kQn-c;b_m&0)^DW`3d?xNUwYAlv5xmS)HDN*g8hi?42Ivy2TS}hm0DI(ih5boKy*5y|4s95?rqSxL34uG{!Z^3 zYQ|4$gFXJ$=Nmg#gNwbZ{o~nji?xC{JjKzp(V{{l0V?D5M(G4KQDyJVf=quPTDLAx zAdeY)*$OF5ACvy~G0e=JiV=&(LHXpWtUXx&phJBFG1J=hQX@ZVGcnUtC#`UIJaf?| za+T1zRWuk^R@Hm>*I|R<6#%;(PE*alZ;b~7cElu{tv=|pTHf5qe^s*?3WFF93 zP<5csZ7b0x#dk#ccQHryVUZPVhrBEtFOfZIMunDJY%r*>u7{Lc zZTo~?jUu;RE?~eAv~j?gtflntOp7!I22zz4=3NhqgJz3n56(k~r@HF1?a$zgNGfSjAJsq4 zGCiktr`E@fTczB&h1QoGxI|sYVCj&HeEAjGZ?3W7gldyn>WeDJph%?%nE9AdYU>~o zGmXmxUaZofEM?BTatb_Blh$ZcXdY{4VTjQWg{FX5%i84i7r*Wx*L^Mvx4WorQ`Sz0 z2^UcIV4*Po!>y|DN;k_*a3|#3CzvMlKLrPR1`jcp;P-z<0eNL+KCApOt)BKHa-*fv z+$RFX=BEua*9K1ARuP0K-~4RoG*<782o#$?G8BUDaEeX05GLF$(fH7s%v76}5lRpG z7joxx5EX1v7y3`^E~SW|1E`YCP)zhkj4q>!_qfZeV1;!m&y;3!KtVD4B6q&UxZc`J z*%=fdeW$ir{kzW!^qoQ91}e|#Dh0K)IzYbx61>wk^8F3};t0bE&vy=FeC8QNT2Cly zd`o$e*7HPSb2X;*+@}M=UEhJ$d-bPS_qlKFzGcHVFen(L@(e0BC`_goSs0mXvk5`k zR@INzY%8?pu|aFvR6~!jTH)DNYv^GX^*@qg^fE3rwH6E{n7T%amWU$#L9o5fm_(BhB@^_>~n^C*%P~S!wKj-*8OyuRg$(t4@9!q+b;q(atixS&JlJYjnv+oqgE) zOCo}%uNDP$+^2WUSgPH|-{$mV&FLPDTI1XyNZgYb`DL>P3AowZFmOm&p}-&@VNo`>Fl>oc*0IY z9w<2`+-Vd=kBZyr*j!Dgn?_-LVi5Xid8MU{Tw@l*%?sk<*~#TRJzXg{?vkqFe*}NE z{0%*m%LCUDDr2LCbR0M6`MDb^!pZ;Cze!Q1cZ7w0Q3dl;w#;diP^xL+3B86+6ur9O zJjo7uPbBNAa-E4mN+iN%lYhZ(Bh1UuN@_2mw0(L*#~D-F&u!?q-zc=5zWE=wf&_3) z6TNRqQ~}FM!!poB2U`z=t#eh62Ix{_XlyqFNR`wGNM4fKsY@BcUADyG-0H8?h~dso z{)&@2zFoHR71tx`366vOIqBPXn2JNqnHaCHL(HTHqFiQbuyNq$t<4 zP}_*etICu8y6lK6-DlZOim8{UGQD$Y>|YI zRMXU0#i2Y|zfH+Pwj@G!WO#%yUODt%Stscm91eXq_^w1LVimey)aw7JOatOU^_Q%a z6S5hahm3lw9lq9D5%Ryy4npg&b2T*=+o7g1ZiZP@@u^LI$2ZtQXZsJNB#fxzFf)cN zHG!%QHTz@cu&K-{PPd@8N|x&Y37Xsqb+nI=(oe#|D*I9u0u>nUnjmgn5J%~%jX>8(@73vp(js2)?Do zhMTBW6Y!@xI9*g2=Eer=n*!^jS#7BW&w1u{tp*+lB_`Zvb;fjwrp*&yUYC@b&$}&H z^=k9YEo#Qmt?%?tE3blrJ5)-(kMe!SK_eh%iCwnZ`Kw-k%$PFm>P%->XG4gZ7Tk|~{)fOI>rLR@)1XxFKnA7(zo3r5Uh!jc&tY|{TDjWTbsDn7A6HH7lFiNAJZtQV&@^Ad#AN6PG zfT56-x|7d%wke9z(9u>n^(bt<(0KG0Y;Jb6Eg5q&S^Y=J3tZcg3-aOHMx$PM5=L?? zgPqYcHvr2zAj#vQ%xY4oc)2q*B3eCCVbRlSZK^ z>b9#hmy(`K3KLS#pseaMh}`+%$^*3RWIp8^Q%20o0)nJssyQRj%a6cN?qn~UjCy{q zgq|Bnz{K3@&Uy&9LQ1;8&2C%BN3FR{8S;}cFY7>`VRCx7t5p<}amOC~u^}-UC+#q5 ze9^!*B}qRkt1gYds_??2)IE4L*0>Cav;g!Ec8d`Kg4>_f6g3s;st!YwY3aDRX4=J3eGW{Dh+L=?o;{!N?N-%4z*Rai`6 zEeeY%tVLmTVd9ZCg|#ZI%?<*kHk7un7RnmiB}w{fWgyNT@-X$>ETFMF0{tSnoVq<+ zS#c_vjNKj{SuvJVoDr}7L(X@KVNz=^Te?M@T^z-$UuhRyB#+GNCo?0xwDug!VM68c z`bXQ}lFHD|mt<-Znd=$i!QCzaReQlm^|D+N0)qatqsmGg>;Gy0PPPZx2xYhj10O!9 z4xo4qKjqa;8mGR7wJkF%N)1B=|NVIY9-xW4#PaCXWUT%uo(GP~otne2T z6SSwXwstdPV9I7dus{oUE@z9*zYM6}F20KOYZ`fotek(lT-$hND$~nN%6tagj|;6^ zsWux9(cA%;O+43}elsu8#IqNa=jFHoIqw4GybB6)p6dBcO#&_@3T^|-}y(Wx5t1-l7%=#7j6rBl}Wi*yWvqPI8;~;q$qJ3;J{g zq#lfLIaY?562ADBtvz128%|r&za{rVK0D5qhC2`YfR5P=0=*Ubx?|_gem~8h!hY9z z+}qHmH66@h1v$tPOqepETRj6|Fw@N%X5f-LU@U;rG4R z{raAU9J2D1Y6*zhQBvz*Go}9c@sms0pN3#c7d#v}wkp(+KFsVFA1LQ^?%z3Iy5P-qBSdJyDZF?Z8OjOe zG9RiGYe?-Wn|su{lfQP^bq$|y8oi4R-o)ts)Vr4rUmxzg6arvr(t8KiDG+8k@J18< z^)Kw|zn6(cXO_CY?4Wvzp%mwz2b2Jgb^yO91`uiarv?BYYnVYT4xzpwb7LAKDlYu{ zX`wy$s-YKrbn-R$JGTfn)i-qRXvOVb@SX*)Z3^|LwqG-I_?B?z9X4pkPbn@A0j$K| z_&iwaOGqtoP}Rjy?DLiQ{|b}yEe7(luEhXepGIDk8f0j&An|0{^7Fd?$eK`q+{>QO;~r9pik zC=4Lj?YLV(eoGsgJ=upN$qb>+M2CN0a{9@$aJ&9VS#~|wuuf$p!jri2rtI!taC$G? zw9RA>RGhLAif9sIELQ<$o5XTu{oTfjOnVpU_YjD6L*Q>NmpSV%qcPi2eaBfrRD4GR z{#LhQvE2Zf#Lk={(6YxrtwR`YHx!O{nz~4bGJf_w1}jA%Z*e`~3;y9V0cZX~T6@R; z(vLB~UV5iNOAY^{=Sc)hT%yF;K%O-%U#JxR+8nyJN^$wf)?)c z9|DqB;AFn8ePIXC`M-EG9)NosfclJ5#uVa{54reT6%Q6GagCHGb?#`du+wgVGLV1}y7e%~*w`43agrM?`OrVd+}MfB2-2*|u>WodoT?3oXd@hSZ#LmSDQn zD4xBMMb8whnR@y#)b0Hj!kB7m3hyiYevi{Wwz&5duHU-Ls-3oKtDQ15Pre}$9<6a2 zf1=h*9@)_GzvqF|9uKim5z=uzvyx+r_H?_@)sLE7SyYok6+`|XX6)i#Ru(*ezCQ+_ zKj8xrAfxxrpw2x_>G#;Q@+V#eU`JMkaihS0?TM!^CR_AL^t(UlCXKM5Me6V*j7&v< zMP$m0S{P+QFz9TV(hp*ZNEea^AnO12};qDKIy>_dkfyWLoe6u=V~mm#Vw6QW<+P#6lo94pe+03;?sS18iUKW2C@XP=b-J2} zD=9Hl;>fhqu9b{0*s}moX9A)KXHJ)X0Z!+CH>)FUsL=@ri4xN1KE>TTNHR!29Fgw9 zN_C4)RrZspG5}KV<&$H@!zQzQvcKwpm7jfwX3# z6419nwpB6ft~zPvoVnLrmQ+*!Krwfne8ud`zCp0oGs+ll^RGDM=9DtFGF4gx0V^1| z?fCJkG4S=_Te{31*;%qIs{1PNDGz+R@r8fCEcz3?GlAWMUrQAq7dA^N+-E2klI@Ut z*QI;mQ^1r|qF$vMz!6b}3JOLQ9s5w{L+%1l`SN0~Vg(gkM`7X0N#W&$ld&3yFN-pA zVZ~|WX37Fxt05lV&-81z$%;*@%cS^md_nVHfFRivhF2Nt*4v^Tgov8l2|a480PbsB z+8NzUE`N}Wwiox$Pb<6>p%Had zMAc8N-xltC1rE~8%_f=INbSt8C~2IsN^+<0aJpmrqCKo#7VKJ}2)ax8G^gL5JKl{e zn2-bfiyv94!L`i%Af{WsahzpMHDa15(Lj|a9@H^0MZb16a_85>q4ZC6FT z^wY?R@Xg4{sFvzIym>iCm&4SCLgAXys6H$8iGoPqZ6UZ>fFcY-sgOt{oJ0_0;^|it z>0Vv@*XqCgPufRy43A1UYA9vHiL*r|4iP?CC(^axMZgN*ez=(+G(*LABy?cWxI z6ESEC)rjX9VsrX~jqX|ElIK~28q%^Vm6X<6pf z#sCUHgVN9{>K%rjkSPhTJu|jsDte)bECkPtge%Xj4UasJ|5Fh{8!MG}xa&j4P(aYg zw7nWpf49;1C4e$m=eB(JYw4+85W{dd+120;>x7IX+B2db_oKk5<;be|QU(K1oyJK|Sz z!bbtvv1A^jBNR`)ijlWzFS)-*d;ofIo#~oNoVsfxpuPGd(1@o^g$#yxG6sLozwO_h zET(Nv751m_+Ok`&tkXK7^ChLpmc29{>6@$Mx|RZy+D&UN;DdgZ5Mss}<7o&QHz9w` z78YiqZ+(WHzafQ@8?&6SM#uFpTZ9>5keXDAo7q!Zd13^QvP^XkVchAf_XP^d3qrPx z*x~;v!}jL~6u3`!!k$PY(%ouVqLsuoY45t9I%#j40J3>Nrh>q4;qbLqsvCJu=XFrh z+OQr1We(LoqnZ^I7}Oet^dQ=8QtKzKQO9>FzE(?W=I#T5QLgz zy*ABhBq?0bba?3s6odi)5dT_2ZfLVdminiCMFIx|6;Sg%AS8i9X0ER_r7_Iw^*3L% z3ke&t-ADY~myFRP{u5dJfnIQxX+J{Zb3`T)`IB;tr3lefF3*Sy@(Rh1%?AVABbclpqtqj%sa=>COfpKIuL+WMt6Pt6 zJC7NH_K#@^$MpYXxa%l($KYn_>5}B<)L&&9DBMSLz_;qWD>g&7|M_cZJX6Z&p;Hb8 z>rBPNxtjdo(abA>UaN@jEnx&bs&>kb82WFcN^E7X=_jH>tMhZ94V=WSZs0hkBKE=1 z6hGG}vOxT8<}Z8w84VmKhUP_3h7W)SKum`f>V~`^Me%}^6gFg-Up{@Xkh+9M4un)o zna)f9%SBv!FInjHEg-@`+A4e)8>e&Zn6=)C$Dr8U?tS=N?vMc?fgtpq8zZdZGvD3L zdH>{Fe&6dm`*W|U&yaFljgDt7sFpry3bw4o zXnX97_PEU#+zVb2@<8d$#K?z^nP{(}JNYTIvPfT0n~R!;oJU`d@?UvXMNS4B($r&J z5$%EzQqa?Hl7M?1M^VmdDd5y1oMHu>S_~(RB!^RMUz}p(;RzLwj~0Ds(PcQr*cE6o zoEVV8sm0+0c$2`5v}7~A1)18+jOOFY}3N4boL+>o))#nYdTr!Oftb$;l1ZP#Fp{SEAfPifA4i~Hz4 z;4C;vv;|Y1<62Y(rdx5o;eY=XQ83({tALOM4zyiGMuN2eBut*;*;e_`MCMA25U$}C ztXJC0nmGs2B59NhlDWk02&fi;2&K#`Hb$8wCB3GnRsxv(H()~TS+vL%QO-GhU!_5c z)7dI>w_9JVizw|D@0m|x9k%Mf*gcr~Qt=R25!@$APjI4Pm&hMA3mI%G_d_-~8*9No z(ww=0|1+xxuKCr~G>J4D#=6M)NH6;xSk`MGI>8WajKCL>wWrqZ?`GdQAOtG~t`XU7 zs*xP6(tTBi4VTxpPqN_&(6E$E=M7A^d_FnZ6v7e>G5hXzXX zD9wn8mO`UnxUln#CupYYUoP5TDbfep73Lor8yGW8#3bvLokQdIJ^DxYON4*@t}zSU zE?G(Yz#Y4j5$~?6X4-F9y#BFp$`p1S9Y0v;I4bj`3QAwhokOK-y=*D7_iT0Kq(O8h z$b?4$wcN@{xG@DIKrX z9o1ZwsQa?HeZ&iKNa76Uf7r%@A@7OZiR`#v%aESM7UnWH9H-lg(i{EX7!JCNiu*~` zX7Th^|5gHXoO@j_i2FGw$j)y7k$%>{gMj9=-(0iZAxa%~VEKtq+nj#sy#6FtL1$1F z?Zxi~hR4jo^8r*cO$MKwhr|MbV-2*GDwCbU6;DjA*cB1Nt&cj+P@ek?^r`~|I>008 zeKyB3(kEgfGbs;#wt>IR^06UvL1_c}ANVt@48A>$?bqyS=ju2wLpr8Q{W7yBRA&-H ztLq>AE+%GgG^amK)O=*wCVv*Md78tUY#UJfJ^nDpGSRseE9x;Opz!$@Vwg5Thz#W< z(VMzmHaJQ2880(#s49^;ZG!*8bExjq$k)k(1`wb3&$%O%rcjgc!W(Gyz}_l5Zi3yb z9YUk=rkbWU_vwKKT#?|0rj*`tn53F>@F{chBpTx5Gqa`Fh{Gj9n7&XotJeI#aN1-U zJ27DMjcpV-lqnKE`3A^7BdOpw4p|n{XZWXrtAufkAU*`)o9F#&?{cL~Jy2I5!HYKz z&>tJ!vl3~IYZ)F(Tec8Uk-Oe>T(|Q&DIP?iqRt}xDER=_YJO5&mB-aVE8Q?D4 z<&lvshpH2y&9YTdHZb3dBr$B&wPzGeUAbg{Mm{ZfjB9_Iv^4(VGhC_G zoZbfI!EwSj=_iT!*KT`kL{HHilg~cP}#!P#JjkY&9 zx$>uGlvp1=t+wVeZml6RV|izT1v6rufB&8VR3fx3Xekbem3D~|nmNZVQf;oG60}wyVQQ_0Oo?kQ zZg6qqfaYTUM39-3nK6v!+FocbXqO@lS=|8EB#Xt=)SqFJWS|M^zNOmSP3UcWSV zGs)(DFSlStvojZ}MDc0(U~#5_)WU;|oO6e4_*=6hzJAXTS&n*M2Aax!mfOIoimvYv zhZH@D(z*L650b!Jg$%(hgw5#({ikWGv$CiCPVE>EVNyy7W>aqL0aAkBZBIaS{+pT? zYjT);0@_@|9h*n8kj5@Ib1??Nr`Uu>gJ&zgis~57GtNe-4q&e5F2iZ%)tULV)%72J zcX&hkn1=KI@`! zMrSk@RIF&RwG`zVuaoN-P(6%PW>J;UNrM2U$n-n}p!T=GD&WRM;ofiVq7e7rR-X3p0jV z@C~<1n~66gM)NMOvCCiC?hUmZtTS3Y+~M~6F|cZ5RSG|Q%#tU~zH>cB-zSZd zx$qcuEy1J92b@o<-0Kxb!h1`!8NUat9H@iFeM=w)*Gfx_zQrDMbV-pprI_o7Q%dm3 z$`4YCNg>CSl44R+o)S_@B&CFu68yoH&?=W4l+$az4E{Mf67bL?+N7RaqEn<5t^2$9 z3%7U{$<{&aWas>rPaLA})qm~XBThgV=UUU1s?aB1W4*WX9be6dT4ax~5z9e#hbipG z2s7th{Gs;%6B9bMnE&R4k4 zhlMP(rEB1Heb2{LglX+pZn_{>xlt-YLJ>Z+oRjm1f}6dS-{MH3t2SdiwTT;=%5}cV zXw~{8Pc(bX!R6*KbuHHz%v%7bu~V9be)zNv@PicS*DUlaFD3>01VF{;I=cD_>->f5e2Trg2F}H|a@9&X!HE1ZN562;ylvq@-+ zeHZV$c;Cglh{l87nq|R-(Jq2`WOxUTNgoA^gWf&uT63!~{R8JCqH%#7K8NS!k-o2~ zA;V?M2TpQ69K(~DW$KZz0Db+wHlwSg81G@(-itoNoY$te?%*tV8%Le~P~qw)O-PKZ4u=Q|(LT%()$(XUzS-R~h>V369ogqK=Lt$k=M zCrKY_mrVQ`+uW}89?L7))^e~^UTd2f+>2>%+o9l}^gSPPq9QN|N1X_Ty<+U<&}`*8 z&E)}x7l`#d$56#}{JV912WhJKd7)q5uG&qYm7*8<&-bDW#n-v!jLKzy$xYbaVk z1q)oL1JC+#)O${ny~Z~?!eGCW1j@*1to0e|Ig#%--idzB@e@cfKUx7zs&-Rd@S)hk zs`YYQCHxdbiK^SNty?+bzZeyUk-lj!u~?uGQ^)8wT@{;DNZBo=}66(xkH)-t5K|&r$C99B!RPqjj z#T@#Gby3mhyHr7hg5VhJ7%`6ssmmgL|E@TI>4QM^ob~38%oonV zlk=T~JX0DeF|}B<{RXhliUpk=KXNR6eS z=1aMI@7?pBT03wzbB9_A{0aoU>$YDR88)Bw%=~yYrmu%AXWn8t^B&9K9w^Cju|It| zv(3BbT_Nl+`RHajBTw{fdrebp#okhDnt;$$Pb2jatP2g!)^#}RnmhO@=%G~6j_6ok zMSkKmHFk+jlERq2?g0Gij}*;CeTlDR?45ZO`^0jFYn(pw!gxE-=O7pNh*;0`U_Fzd zmo7vcogwuX0 z?G-g-PJ|y^EEaLvqzjjz)54wO)Upc~M&8PgIqYK&gWEo4QQ|XJTU*!4XpgD^<*R%% zaGY0Sc3^d1gMjiGZ(1u=224(034YL5p(x?qL5`R)#+TG+{f=DR9ri~C|2q06Sj6v} zU=#b3B4D$TIhhk`i6e3~?bucd;a zYJiQO)Ld!TY&U=%Xn>XKm0t$>P^o|Aw^1&=Ps-p!d!$KP(rvSI<1!vryMTK z5M=XXkQ#cMSWL*S{gUH$%o?|GOrvs{_(H1s`PD=}5VPIl3BQETM}4j4flW(Q>`iFpxqwtP+ zP+48%aC05#Fvetm4^>um{8oCcA-Up?ey|!&#<@-9N-ql&*r<}A=4cHpWyv31jGC8T zBK!S?dSP8-t%S(JZ(n3UPgdhP_DPnZ_;S~clJY6TF!HX3$m~N56P7O+-%NiD6`c^# zX>34A_Zls7Bfm~EVdbs-&?$fa2I(VIG@|*f(<6N!kwONm%uRL)FjN~cwz?H%_GUz~ z{z}s)u$nGWm(tNB_6sb;YccL^$n39KtTnBWAKVI~o8$h(>&y%4%u`_$`cwLK81wuW zGS7FDdHy1q=lj(f=P8#l%74(?!70&3RlEFOK(CL*OHeoF`r9sIuHPY4ag0ecoSBuc z7qK(Sl3gSh!s0#a+BV^UtujzbWq6m#$bc8X77i$Cm=hC7lODjHP-~p#m8Gm*H^HoE zNBC0s!C$#nJoY0+v2O5WL|9-awFGTD!C#> ze}=9VNnTl!Vh^vkZ>p#p{+w*TqwI|dwAZ>1?qyp_k8sKmS3z>Sov;bzMpw17MNkvt zK4>8#i>+g)1n!LVUXPHmCbV~QpPq`HO~q*mH2lT zJEB>4G%;_Ps!ECTmU~BYV6sv~;N^CJH-`jH2*TT6EWw}8vc&zrl<_ou zn;fD`Y$tiN2g4|qwvP|a6RBMhMpBv2aE|wI;%k;FF@-C-zPLT~6X9@Fk7vsp)yJ)I z5ATd^IoB_TPME>iZ?dLIXCccbvVkS*me2w0?=C8Z9b_y`V3J_u%S}oJi)}1lr06MM z;MokZ*y{FGOy5-HjaOdNVywX<()b$c4WDfEhOu3@b@dMT>R=vG8M>mYN$pBVYO zXOC?auWm>~GRQGO#Kss@MajjI19xqI^HgK_ZUHF8`qi03DW(S5nA+JlOATKa)>d!U zX8acIS%EQcqcDS-!owDMs{g6Y*v#ZqvtOHWA6aVtq0M+l<}lg4LEZ-SCGft59vF|kFDSmirc52ECARI~7ao!pi)J z+Iq7^+Jm~7(VqA{8kS`uP0Ng}n(-e1iw>6BB_4V!-KWhso!4Xon`z3V-U`bud;p<- zHG3!b!t1xs_#nEE^5{J?zToMt!9k7SDgOSnrX?i#nIUbeZ?pz0w7&Ej8>L5o&sQ6U zX8eiYQL#-*b8XywgdP|Nf-_{m!ibYuMKYmCm2&z7{+q1D`(I%mn^aq~f6|AZntx2% z;ZThYR^ddOYWu)lP^s`Eis^pHMR1unt>3<()JZQ}uEqgDOdZg2>bmE5u@h}1Y1<^1 zGyW4u>bTix1RMH3P(IN-*642Z7WEm?Fjh9H&^$$Nu1^wE^e;KFThdZHd&+7?*&fE| z=+%sWc4=Yx)oc)z%#@xSB*ByV#g6q8Z-S02p4<>$|H{N^_JQTr#~m@&R_~h>^;Ew- zX*9O|$7^d=PTJ_EBfsSv@mxnvtx!;g_l8L|-D7v=;g~ihHebmSP}}QB*EOQoRz5 zh%)H(r*A0xgIZ`6`$y4BNGJ5WT50U)f?J+Lvdia<3}B~a*&+7y*&{*5660_#-dXiJ26Pw<x81^Y1nop07YP&C{qTIes_EpE4gU*xaZpv{p3)n0Ru*F4^1w2-mI7b$70ojtaV z5zH(rI=f+DWtxwHbSsebboif``@@47=H&0z~= z`eoR(iDT7TysEDB;9m8n;bzIJkS&C7)kXMLy^3MbR_r%#;gA99gB&tYzEvMV6KM0A zRo2>97|is85Jwicv>>jICn=;gje{84ED0^g%?)X#G#b5GPhmd>cM}L_tVfu-eJo+s zbV{@FaLS>QJtA8<9p)S=Db<=jC&er0#ZgIOm8k>PjT9!)XAUNgV^?UQ4wg_v+%o!M z0;8zB&Ky}}`qgYe*K$UzZ%f_mz&eP%o2xKID?N^Ss6e6wP27nctG~iuD%0)VNuDH_Yx;}g zzw&Yykt<7^S~&MlM;t-6Ag542;;L#tZ_STOgS}#yT)vW@ffJ#Y)eAwu`6F-Set>MT zh5>}UW5sYZ8aI*b7I`Oug&U^tm+Aw5Nd?FJsV(#XZ?A%9*zi^Y z??P>1%S9oV+#~t{{eJ<;185^*}lQ1bZ zZGX+@!Ovog{U)(k#f$DCap}J&A<&{h23+DT6+d-e{vSwcfL$NG0%)n#abEr!@i9on6!#j!8L=B>eV-g(f|hxy5L0WC`yHH?)Ww-~5n@J3I>d^|>r$Ut>E*PH zvN_)`8AHoZrEe2=p(2k%mY_|S3>HSzgJ%m_zbWWez&HYS_$G>I3-R3&+I!sHu9q7N zX5rKPcdgnCxir!&PF<*OP^jeqY*eT{pw45OVgV3s-rz{2`BV3+BdNm|88YXi3&8WE zSnq`VlD-RXpW4872`8Z>kjCZaZ5JcAKlRmoE-j{N1Kw0Vs1%{62TzlYDtcj5u_PrsT zGCp*m1W7pwE%rY2qdmdW=!YcZnOA0931Sm(uaL$r-!F3iJ{2Hme5j*DN=~NahTzH3 zc~WvWzqO{v_?g5_`d^G~XQ}!JhL-Jnh3{1UttvmNIMlM1i$Ih6$Hpc4%Sq}T^W$_z zeV#PJSF<>9G5W2X0F%UVD{E4v6G|A9qOvT96yn+b0Xbuo`WUIZSUgO=41N-QJCLLSd5R&1xy}vGvVgWo{i&<~2C5 z&PswYS;0Kczi$htq2MxredahhbEY+&EHy+#ml`JXCl}php0ZAb2PI>%To*x;E-9BY z*6Ice31x`S3N*|L1wu}Gh^ITW=OV0?5QsY-i4YWD2`voNMiwKkNhhk^Z;78fZlTPR z%%t=gwa{NO%bMik9_(ZUupMwBDhDVb@6=&(iXy$?@%DC0X|LVZWoQra_6l`5u^TuC zX+Y4`lnH@lmfRoOj6oPfOK1t_$36+ftY`kF?hhGv6h{xxG@D+=xZee(t7Gmt&Bv&c ziz_{48#64!Mf#r0E9#nt3;`kBnWzs^z&2YOer~Vq4m={)G;moBvCuZu4VFeR5V*YN z$zJmg25T&M83Yzg%WUV#ZzvQQFkS-3%IUO{+yUhGxRqG8^?<|&@6+EQys+MVzBMpVgGUcW0T(u z!g6(twq5bjMl`Ow2pz)tnKy;67M*sg`s*T5x+tjBiM}lyZVV{* zb1eu}OMoRunXl$kj_L`eZ~e5vTewXoyg4d{?#sq3`wynWNi)0E1O!@EShX?9LCt3E zNhp3rCv!6NEY2axIp>qvDk`>?2y%8JH!xIUne|*UvD!(jw!DzW$vMVJ9Agb8k;;UL z8{~S(w8wR`h`DY8jC?R~NxMT6fZ-<*D)m%Yw(ih7_bFQ;V%{p$jjxU}~AA1a2e<=2NS!NB$yMb3iCEb&NHW z7lZ-Tb8-kz&^n}Dgu~uxBRa7-b}wR@E(@Ga&Ln|R z7G!~S4DA!ZcCnp7OEeBI-6_0SmdwuhBR<>ZHhfNl1a~^BiOuk9psL@1rEXo?z&UB8 zBTUZV3#D$BEwS$Yb2j^aXj=uRGPR~#;W3|ihHhR%;rINN;vzwU^XO)Ob%(K%v+sMm z={4v{ghvq-$#qu^N{H8BhU_OCAmSI}3iso72rOf#b+zz-h*gY0-kNu{u%lOM@@- z3oN=h0heA;*aT0CiuEV8f0T^ny!A1vZ3&tCg>^1G6l=GIYnjlX$-be*#H1{qv2$(y zk@<cxP_!kc_DCkgGsc#nkeBtaS1B+i3D zHW96FA*=*y+7+#i09Uj+3WGD82uP;L)zYL~4cx9;8|%gVX}2#!K3)T^artO-Vl64k zPLAjm-$denxp0L@T(7t~1ldww*MUCcPTICNLkQa)O_0!+Vy~&+$<7NPxZjP{BnhtO zBh;A>tsl~5qHNmqN|}gFV_*CRKFP1r6ZLJ~GgBK;|@BVUxj^lsDQ0uqP z+b~n-BALVgUFPs$hcqBkZvy#9Ipg zA9VO1;}a2zFmPgZ>M2ZyX61_2B=pmSezo|I!U0NWx)k+FQ`%K%x#|n2ytqB^vc>8( zdUR5%HmO$2kqA+$j+g5Zih+B{#KEmovCw(tDmC3PS9M2|!@aX1-Bj+FXX=h>d^_#? zuRkQ)C;Fq(8`bz$?UTFMr-(AuQ}|t!m~{PVJZ+18rdUl)LdOfT!gxNTp;%q1v&Xs9 zJ5B#C)2|Rp+1Ri)BviDdKJ~DWTk!TM=8sz&ZFB1Lu6Y!`k%pz7G3-vDiEG>D%N!A(M()m}6XItuCj? z2(h%UtN!Zq$6j#L)N9QrSV+7nv3(v;E0RdkAyp$JN%g;kmzrjhl)DeyV=KKuoQ2SJ z@~2Z&PLyeUTg1CO<$Q=d-*=v}(wFzW&a+tY=!15I7+|>_SX3pT6wC=uo-y(y&$whB z`J~{@a=y)Vz6mZZlEx1D0_WQz=Nqu)lY-su7-u1`-+)`p z$jvMX!EI30`YO&>ws+JwVD}uXo7hM`>1dt@8Pp_s$hzl3emcp*31T(Dif89*R0-;L zy-UuX-A>FrU&Ib#tVisae0l^AW)M&M(NfPQpBC%NQtDe>m2HLKAp6dY=2;ELD>CHi61Hb5^{T)zs z%bM>>)w&7#^122^XC7OF+s)?uT2@$3pwz~-G5+{ zaW;}8!HuU>D>5Fj>VL_YAmhfXAtSt|xN+jh3^Kk^VUtm|AQEK!@O(wacUJr_853lj zI~p>g_$V?~a@h!O#2Des*bQe283UJ!&J-DP7kS0QW|?STvQ`iU%+|h6mm=(6t78Ik zfOf}uOlzoHtbbC}EmXll)~F#wK{lvT&J~LSWkWx~fnKb1yByHVRJzsdKu=fZLYN{7 z0_S?n=jPEqa$2*V>s4Sjt2gWvRK#Lejx4)trJ-8WUl3;=gB5#H4Gha!O&g<^M%nGP zwaqk)s{N6v>{HuKn@3ytDw{rksJ07>BAQdW^;I-L-Z~Sh+AI}Z^ zw0PS&atu#?I5a06$L9tjUCkb1r>@>MEJ>0)U43e9$oP}Fi{(*#ELrznkQ2YJuF6S4 zfr3Ah1eC$Kp{&dgg~ee4%8v7M;xaEclw8B2dB}I7)%Cd{ODmOpvE`0+MQ;2~%MYb@ zN-K+VL;0#cFU9TEu{}N)tJY;5pDXi2;rMET;!|=%`AdE%eN&*EpBu_UxuHnEVP@~d zsO_FkE@F9mW%7Rb+ix6%Fg z{E*o&?nKk4FZxbn;ep(cg{A{iXgWOGY)HG*>=+sHquh|P8BO|Ld>H)vk@2crWXS2? z2l5tc)!`uHMvFrjS9wCi$_s**aSS1F5hrPaZV!=*MAeI(FCK&4%5Uo4%f)Xh=WWEJ z6K57tP-Fzk#JiWQ(I-!4YNwo-BGlI*4_}d!3xuN8DHPpRm6J>F$PGn!X;_vX|MYO} zw(%RB8?xZ%PQkA}H+~)dysh-4Ksh2els9ujIhR)YoL1IPaP%JSk_6M#Pt2jKgmc3b z%GG9}+?d(~*nH~L$o!D?ERc_?I}Bu;ESEWqv(J~4q)P8COQGpY*tl}Ee@#v>xF~bD zG-1HB&d&|#h5Udr7Twz`b7C|-KcGLSWAt=xKqK=5dNv)<^|=9^oFC9% z(g7Wv3y?^bYNito;?0zuEbq{nqV)&7wn$ukY2KcY5-D9ec6d$#KAann*aKWhpfvGn z+g7e$&n*dC(q^A#oR5hnlmdq)l<|l+;f&lh3o}WHlqOuKl!UAzVCTrZv>22Qs9mW? zSpmJAA5eWdpkL(%WaI~=_L-7G=_o9FIR@NS`2qbR9iwGu3QWcaULrQbDKOoH3kWR?4YQ>qA zM>f~yWws0}-+8C!=#kXnE&Gj(4cY39kBzzcYmpKuW8;3csL6`%xSW9U_xoIG$msVK zS^8aN%ji5w%jowCHb{D6Lw z4rpj@K*#0>G(R2Cxw-A69}Umjv=!-qqRN7sl}G+FKOnWao|IPZ+=lDha{|iGY}-IJ zgW0AtUQ<(qi^tNEc8=d`SPy zlefF1L<%SVDR*}b$O$Mvm3IjN(pQlhQ*b7!RJIIKNm>S#mm^rR6_rX-sVqe^s4Oxm zThZ@C<;aj)cV0q%O@%3hd?>eB*_9vA-gH0{`b)#I4xo=O$%~Ql^N<`s{c{8QYkoin z(=mD}w|#k9en4`bD1}D1=LU3ren3U(fXZ_NIwL@%aIjrUP1-&D3mbJ3ktllSX-V5VxF^7`oq0sV@T| zq+A7$xRh(XC}+*0XGw_^#%s#0xET2XRi^`b^TeEk^UC~yYSIDC$PK7Zen1zd1FFdl zsC`&o8VyYcwCjYNO?x&!pke8N{*W6`Lw-OPr31P#Hz03*Ko_S2Iwm)u{`mo2k`Cyt z<8#vJU%7{ZFr+&jP$)N`75M?l9kLY8zA!hSCvpSIvjcyf;-|xI|JCOPF3r``v3#^N zC*3OZ1M;Q=x;!_aFE7l??U$tk>XI8!Ykoi~9%pg}`E_n{@?-e{se`piKogJ4Nu%rY z1G*}`X=mmJG%!D)AEpEP_}H8n732prDjm>cxdFXblegDKrvvik1~e}}psUjXbBI($Fwz1lv&&2)zh6!UZix~EUIAY5}=(-OpX?h_~f{z zIxkVBM2ZOcLmm#!4`^&UE#~C1Ri~o6!bVpPSI5z<&R>g^NI`cmN1$`)$A>P++wO7c z=yvqU3Fz;+0S)y|Z@W2L*X_3ExCLN7(K&tTe2OOSKirVwizCDTX}#HFXm>6ASWh}v z-H9+SEgCwK(54|$W{>FUxo~7pEqs@HIf9oXxHQO%IikcfbYzJZ9;?2%_=1~(E7ePH zUV3Zc;p*jRUXIqnL)1$jUixU^3iZ;Lm%hYC<;5IP3N-Gg9i_hX<4Zp+T&TX3@uf@) ze_bru%6Tc*!e6MD3SKI-@Q1w29x;G21GMmJ^<^+$25aFK^`)9G)mr!k^<@}ehH2qv z)E75j+*czv0M+-lwvelBURtry4FFG%}7M`TC-AuNdweZi>mkE5CpoPcCmyqnt zcrKhN4?L@@%(s#GHZ5GOUT){*b}f9CDmjso6SeTkyy)g5jg;{YeOw+|_y|eE-^4Lq z^R5OwQ#4q2Ojf~d!@D?9XolvJ%QIAM$r4$Tq}j>^7FElZjuu{}a?P`I$wLb-R7tYG zLP2?G;ipx>`I29*YI|y(cQ|z(o2+x)FYL}4#V3zhI}m=Y zJ-bW`kC3dPWfkBZe2qS?mP&>`E)Okyh6CqBuldp-QgriGd00&jul{82yX>pRCOYZzV>LN!*k4~QG z^yt?`iuZvhyw5`mZz73dCrJ!Dm9$1BiS3dkd1&ERNrIFMc!B)#(87O^G>4S)NrC+G zu)3+*wD1FVnYDHqdC>lpGAryd^03z3>GVI}@$y3w2+BhXyH%2yXidi=RU9^&j`uitz|(jc))tK1~fslrc^B=>mBoXdzmq=V%2c9UccEyst$Qd~)V z8*HB)l65Quk%tz(ng3^phS^E-(88h~&ko7jl3eo8!m>V`9g_b^k_Yl%CCPe^Bzb6I zY2ECQ+fI^)7Vf5!WDQ0xc`*K=x*4jKq@gqAp@lyoX?94rbIC&szon97HA6vp*p3Wl zhh$wsl02CI6f9X`081WP_z_i5)(Yg3hoH_Ngi5wuu2l`m?U{<;ZszS=(!}xgZZB%Gb9=-c*#QxA7EIRp|N(7JhZSS z^Mv_oI}Zktyd?&aq|w7FhclDBB1wqy^HXOMe03#flDXu_7(@qdwdGE1ni-O=1|4|> zC(aIylh+Gp$|HCaXsnRZW=Isx1R9bC8j@y@<=_P`5dLj>;M`OsPER5cJWdeUlAKoV zwGnu?Y9rAALurmV#Q*p;qv~ySjk~MrOx491=IpW)({0i{Jj=y-9+)b;`AcVW+_sfQ6$6g@6S>MwqV|u4!dzl;{I~-{;{KPm(Uk5(m6Bg2&5uxc;s&d>>;yuD;{VkeKK#8BC7<#uS%?PCRi5)|$%pBB+;u zw*;_8fXgkMxMM(d#FCdW!t^T00Ec_!Yd!BQ^Sb@|yz}WNLV|J5m*cr|Rfu2XSRGr> z-7B};2_u4YL%Hbw@w2>}6qRtk?tr@IUTux}^+Dx{VI1*sbc0wj=0xrfi0i!9r3SN? z?eO1N-0{%+s>&(l)z&+IltLittHE_sm~_kibG#%>jo(+QBA}XezXL$sdon(WgAm_& zI4rwa-09#y2rTVMi%a!#@#q0T)4-9KIFlAiS4w-`z$%cV&3ZQ+cDCEiMF;>Jw4D>p z5PyQK7R9}P!atR`WTYl_+n)Zh_1ApY`Q*(3*aK!5zWdZVSA_k1OQID*17>&lhOr zM_^L$XMsih7%e}Zmmfd8x-NKm>}gM9$JD@YW1dChZ@O*rd36Q2^e77b>t{V%1ID6} z8A)2xBz%D_8tL(kO608T*{U^NFaFeQKPG<%7kDYGOHyRWQ6i$mv%o8T`B1geI{V54 zxL$+VB&3RP0>t18qm8saDve7BRqHAHlRkZLAQ(I54MnWbVnP8P(g~W_v<*+L+Dij^ zM{Zc#c;JXhpBb^n&7U+bd86^b36uWed0oUt3A*;;IJ0=9V2FIRT~@k zokjg1)VS|#t!cCUBRDWt{X*gNOU}9DraQEzH6-%;ikq&`nif01J^X%&-?KH!;Vu^s zJjR#63UaULQk(=|gFh5pu$}>w>T_E+KV^;9w2z<30TCH;Mz_AafAPu@q|>WEzk*&h<@N|ps2#SRzj#F^ zxfn6x$aj9We50Ivm@Tr}4YIXeWX3F41Cg_*TJF5X|g3et_QU9Z%N;+bPsin=`yHk-gHNf^)gSVP2 z^VeT#!GCA|`d~oL`D@4I^!e+K-)Eb@=05DqUz!VFBe1j3#12u@(VU#IPWfGO#tKZa z9v;VR6^zeTQpTC2s@B`3(kH2(f=b#XHC%A{zn`R%u91{IGYh|EaKe9O(Nr@zA%jKF zEbYuZhhb4~mRd5IC!>}}`*r5G!_;!k#hv+0)e=`bo3qd(quOlR?qRB(mPOmmY+MG_ zZ_H98lj<3(kV~=@$y|kGv}NQ)o#}Cyww!!oXR4=>FyVU3=C5l#*NC^N|H1Kld}Yq@ zd(Oo4@jK_~Y~%O+Ip1mg-t<)3_+3BtdyU`U-I+0dj}~11zZkz6eH=acdk@CHWhrtP zeqEWRNG88#Aogx)XHGf{^F4lHXMRm%zV9%8x1Dr&dSqbQKTEZlm}ZRMzh$Wmc53QziH)Iycuy?fd>rC}bdq+l*7mw{skIW(& zBJjp6wPcFG3=*E3rO07;J(|Trq&g}-izGxK@wYnLn=**`A6cMf5;LR7FE2Pe{WF?5 zBug!aX=d*%MKbv@gZ>|8Q8Y8@pHXB@-_E_PigY4oE`23~I3-zd$fRe+$m^D+NM=hj z=-E9>kxY7KAojtK@7-&E?bDe!-* z-t_p7qyO*eQT6?m)2>;H9EKiW9@m-bne@nzcPp|KIgGsfW0oRmgXcTQpFkEEhvARf zEJY4Oj}x;L$)raH7yj|w&irwhTBf@?^M|S>E=<&VQnb;sgf*1){ETDmQz@D_IVw&1 zPdZHwwP4-EiI8}znfNcUVd1RESvNN~LMOG58**hD1WF`<$W3W%J~kkr{2(`!zPX{u zUHqbWz4N4A`!LdLbay;inX$9uxAvIS7Iwl9qecS1*}HPK^3nWIl)oDx7p<(#4P|V8 zD9YcB1Le@poVc8xA4;#37A?vRy*zQ2TI@EP@c>WMfv=3 zpsd-RlP$&k;T_2rDl-IWVQ zO5-w${M!-Vn;yNg)RIY$3=-};>+l_wLBf4mYEdLi&R3o3kx}iEEHE-L&8YTQS&AH{ z=f3LNxwA9p?+nfUf-JRUE(S7GAT3LgOcf|&SA4V98L`9cil3jQEr;0^KiH*nEr;0^ zza|S}YF9koxBsu~WBZQDX&*c4hIISbq2_G%u|@ZNC;OP^!8H5W-@M<;J{B6AVIP|z zxctxC$8y^rmoQ5HJNpN}?wgao&t0ER-;3vDqwkn|9r||O|K23?SN8qy*-2{0_rLYd z``-?L{QKWvnYOjCF!Db_`o#XXM*<9R%w`Rt1qjQePTG_jOT4DU6#9ZwH=JuI_MUZ| z-nzA$@qvo1xhlL;Ym(i2V|5krH9wDC5RVu0u}(-0y|9gvuZWP64f`|Lyw%OYgbH&Y zN-(TK39xXHlSH(3V{1o!85?B8Q6T)qmBnl)sxUh>AKd*%VsPk{YuMK#AZLelCSb`F zdpH4aP{yH(Z0AwbuJL??pb8{`jPe~$&5mnEt4S&lQ8F0L}W|>dB)Y1z-@M*&>g6G&!fkK)U*GsM@F>h#)t)!k>x`{+lUrPYbR|jX|kI|T00{%9d1P8kP#eb`G`_GOBr>= z8aecLF!*O+FYp>S7Ds2(VRb|WY~9?A*wy{L91Q_$w#qDp`K$)e>qK3#cq5p zT8-fbf47Z4ub~$3Uk?6<1pk&@Qm%3z+u2arTyJ_dgknP()s+e@^j|Dbs~vA?_#Vxd6i*znXHG(KIm zODEvD(OWl1vCV%K|I#THYAw?vqiBT$hg+f>@8DP3@KR{hF1_Z%;Om;Ji`Kg^*5Wh1 zb)x2YYd#6OV&#e+oTPN|9_T}ON%_s`7vjr}tYzd&yfh*^=>#WAgb6vD4}RlfZ|i5> ze1)HT2|y>|fc%Bu`i(mzPzZ;s#(HjWPL@P2T3g(wz}n{_piVpF! z`0c@Hk>UIIctAsj*9l&;mM}Nj?P-D;ijZ={a@FP!mTR35#9aT>2jL;#0y66CVwQIbCO zYWzQgMw4y)rw4s(CFuF&pXiIm+kf3fF0>wyAdMfSNQ7H}by$gTE<@@vCz!n+8P;h1 zXt*sF`tc!6EQ~}XT-%b$t&A_NcUP^q8n9@+DTCl{ zfMvi#<`@D#0gvjSmm7My9eUM6uX^a^w&~>-dby#O8+y4NdeuX(dg$f0>E#xBHQMxY zLz%|8f<1qFq*+qQEUAr>#9y1rTA+8E$BW23Ej&uGK9L?Bx%Vsik|y^Y`FuEeXO5zU zS0QX#E0B9KF%$5yv)p^hk$a2ck*Nr_*DHpYTt@bf0)2HNhVz2V+!@$vU401xZ!-cf zP1;>TD$?%qNYT^u?lLeYhK(hmCmA7fcc#F{Youto6NxfI`mJXjU>z8i8cwV^IllAC zzj%zv-16^5YPaQ|x&)LV|CoB41V4gC#t0g@EG~57;_op&#nb-h#oz37@h5jKL|8`e z%p?Ai=aX#0>?T;e9scKyZ;n=0o*rU7MGuL4pYQC(mh+kGMRDV}49A2P(MB<+y5b3q zDnWfz-olO$X7mmn=?aXLERi91vI-M>l3i0Ldy=wZI-aNl-`JL*yuixH_X;wgL_TnUUVlz^W z-z0zA^Ve~#m6evBp}(fYQDv4=^Vf~~B0E&-sa>+nU;DHf9~Q~{b->nW-_|32kJoD! z6P$W28ZE~J*K$ZvH~N-qO%fYYzjc3u_1mE`cP)+noCMGA<%L0F8SYh~5`Pwzs}Rf` zIwF-hU=aV@{8Q5g&ochGn2ZuLh@oa2H!Q>qqf1G=;Eou>_i=XG1PO)5`8$b++QDJS zFG$W1*J^$|d{vRlb=|lefjz=)gO=(pr@G72ssqD@#3ZIBFy7`%t-aMHJ{~LVxA%E4 zn^^*lKRsf$$ipxf$YZ(6%`c|87J2Z!T^@$HRvybkQeOVrLhbTk8r&t1P|G21&BUj{ zv(YZg=_X*JhHzOiBIN4&8x^5g%njmwQ$W6=Z)a>ImYWr4um)G`n zOKqOE+P=DI9(_4sUfXw!d>9x1AVj~CskhD{`X)Z46TP>au65J3_6*09u65J3G%PXM zL2o9-xzHjy`g( z#~58Q*Q52WEtv<6O9WTM_UI$$dHEnoN6vGSO6E%q^QA8S8_h3sbjboqV_6p97ikL= zq(uTrsG=Y(5=fGCq|i%}N?N2;iV|@q+0bR@MR5Av>*(^F@C+ z!+Y!U2Aw&W)slW|Q8|%)L3U)8<)AbvD+QFDzPr}e&c98V^-OY3>MdAc=Mcg=N$OLJXQrnzop4*D_wt}WAgU&-9lg9RQE zxUIq3Hb|nzhMs|ZUSp;_G?(p2Knc~35RSnrVJT)a2b#e1NXLL0uz!&(A6lQhUql803fZY0&)N%F8RveBI= zNv0`!me-hLKh({3vdaZ?fXc(VkxFUZT$N8<4mU&dc<~rB*)%J@tL@~}D}1m&w07*k!# zbv+`NStY-u@|+{d0#DMZdIArsmIqf#C(4`oTlJ{xg3Rcn4fDuQ{SPqIVdV%X@IBvuI&C zAG+w!WPzM4QDT=k4qqRtguDlP#!Hm?jn@T1pRvo{2Tsmd<2$WCzf~dQpH+?gS~t(} znRhXD?a?a+Vg89Byi}U z@GmC5IdW52f7zI2|LJ=+5!jx%@7*Qtd)3C&_L;RO!CjbqBZJRkfE9Zq!!Z9YFSg!k zgca??GAFUjdOev~?Ic!P*PRW|**V8JiDRr<5~`mG-@|Hm*RYE1)aa4Nn|JnQ#}nrbf{mZ3&`9JHcxCm32zot)Bc?s-Ym z-zD%jOQLsvs@me&=1hICto& zmMSGY_=|~#aP8jS0+M**9oF7ec5bDW&v5wLSNR3^B=y#B;qSPu z8MfP@n;gEvBv<)Ck`Y(S%}i`gx0RROHCVCt7t%M2e(o4sb@cGiKx(iC3g?iy)L-+p z7G6iL=q)l3CE_}muyK>h;886k7wuv2sT1@)Y+Ah6Ip(?0iwzBH8LbmLIJznuBQ_sa zzyg@R;KdL9=Fb>LT>m2r_fVy}eF;`fY2OOWSO%-Jr7{AWdI@es;w_H36ZUx(&wPh& zd}u8`i^d3RdyPc=cipTj19D9*NpWj!e z(MK%I%i!=heG+s@y{c{78!;bZQ_z|YiHI?W!j~+IJ_&qb4X6FFb~_Hd>d+?f;v-Su zA@kVs(pa_ZM?x?7-)HQ%9;S;Fz33ux^lB?AWCSF-Y>DbF7$b0<9#KYZTY$(VUZEDV z2u?Gk2D#UZ3Bfh#c-6QaP;0|E!dPAHJCVlaE}3#3QD%m)P{<}$Y`WUEkX;+Ot6mce z-bxop#QHKj#`{EtAtw;M28X?D119!NezvOhh(b0}(x|s?qAKC}u1IyAu3K7>x>1p$ z5wVmM^J^^7Cxvz~t2;HR{i8Snn!+f`EB>;3;*_Ws9sX8SFUg-C``kL^h&0w z4cd%vq=K5Ya&1!^{-rN6th=|SgFVp>+5gpsvv>H7Ub$L{1?~BmbV<`6gu8F)XrQEZ zC0KLszPvapJ~<==RjISVPsttDysd}$?2|pH@^Zh(E5EVLU-`AS^28>gB1;lWM#*+k>BaZ&_+Lj?#sm;v_!7uM_wHG8l~( z0+X?N%SS4|A;h5L-?QcC4y#)VK1c?cpZb;i*x7{Avb}ePqB!U%p z2yXLp^1#n+e)wpQ^(uqJZ?HcsLezW9a;aT*9b`_59UCW*H1<03cUZAE1lZEKWJ?*d zjJq?pVO+SqJk_`WJu~gM(aWhX*`Vf896Ml2lwG_}tV={jqQ&;)<@)F;k$q5w^7);-o|h%ujeADgcCRaj?A8>sJ%)Aup34loXb z|FBhA`@XIm|L_`!2X>DSy)lobS}&4SHo2;UE ztKgv!-u*ms9iFQdbLTl|0?>ir`#mX5cU;6vq090VEi?5p&rpAX_TY2{=~|bXNp|q!F-dmz!;pgJa5N~4pOML> z;$Fb_rEVTe-r#3m^HX5EW7_W_U!TCKsk;mS-s$5(&@0O7EcXxyHE4A`!qi% zS2jm~r7~?+*gGZmSRa5ZH47COAyq9kms7^Si;CWl-NL~og-TU?zA@G$@VO=(ozFNK zRkLi$5wU(ii=7P;QcnO8y2lDq2cK!PV0A~CuK8EcaH)f1T6mG!2w(V&FEfsasQYXB z^ljBReo*^;-Mt1piEoz;xK6R27ay(au(S2(FKvz(&_j~mN5V-NghHBlaTkR4cM0^u z8AY%}H!eW<=w^4_=)sSa{l%R1P3wbg+^(7=~OlH`f%;THg&-2p-Lj6rU-jt+jl?1=K)M=XC)-#efGOE})=E2UD%PuvlR5wPI@m`_c znf}T+))KhhUJ^Jvp4PS3qU9Tl?fDSy|DlZC;MZ(;QG9W7HlqEyA>SEp_V+T;x2nkq zawydT-#G>%Zem@DA+Gn1oglY^P zWR>=G`7UTdO5g=g<7?%85fKGJ%cCt6g*&wO=)3>v)qb~p@&;KuRExskHh(jZOlV}m z5>X3YYpgysxG<)L4s;0~AqjtOtUfdNjBpTn>P&HXME^+xP~UH(lOkt7vXJw|k#64{ zQ&NEJv^;8hQJ!>ajYH0{$Eekx#(;qr5TfbbEBdLtuICHHpGP4;4E%(YR+6-TFW=}+*jHSi6kGN41-d!_!iW@w z@?*aoa@JX~>aJiJCq6zqwxmEYFY9=#MST@dUNw7yePhS96&|67+@*y!h6=f}9fVm% zeQ_wzU7cKH%>{C)@1dn*WM)dr+v(ffi5U(ja##y%(k8kMGX?Q(Z;Z4j0-y0(xjiMa znA&a4W$qVx4wB}nxlf?k@+@;ckZp(FDf3;Lyn_aa`)-3Sr5fd64a4Ct3lMug^9^~J z4-|_G6gt1E>S8S`lG>%;Vl_*)!f#{8C7DUu=d1ZvYno1GpZWWV2ial>H}F5J8F>Lx z;D^3jt!jVa=dmM{{Pfp+9vF(vZw1EG6|$eYBLkj!o*uc+Wi1^?aeC~v<3+Lf%8yO) zv)E$nkyyIe?&r+v(m+V`p(jq**Acx-F*DdgSTW8ZNKvS2-j*d)ht)t9-F#KFUesk- zF4){RPSQh5XyPX@ddgYM=rey~-cDS z9xCPJtu;Nxc$Qc&gQ7JXl^1)jXls%E$5S9z0fZ ztRsi^QcI+$(L)2|gM0UT?qa;B6?$epSw0vZ^+sMR7v(}s0_$Jsf+o%xb{3GQR3+>i zCN{vqmaz9ji)jZ2eX(3gf)x7p4*)SAEN>Jb<}ZrYU2 z!1}Wthg{1FjaX=NA!@kRR4LO!EYJWqOFJ$J55vP84Cu%vpt zcE=`dp|83NKceHcz^CK2aqZ)^oA@{Jvv)O=S zu~Xty+PRWigR^5Bt5!A+8*~I7J@rD+YNLC<48~NK^sHJ*my8wa#(Q8YJ#YXs6+N&7 z2YnxSLYwFV%y6fZ%U4O;;(aheA$sRYXQ}7Tm5zS@|10`0ap>=7t(Q*!@ZucwAFDq6 zcj><}c50kLJ6BSxqJIbUKhmu|x?C^hVuRfQTlK<~RV{V6R(z}lrJ*LO{c5pZvs$ZL z93O3Z4_NK@dwjlpwa3IfkrD_>V); zEOFE~6lc7QqJ7KerY^H!y|@(|BTI&HwdO1l*yh{^<^RTJ0j4$v1QE2bs+Fjd^`opq zn2-b&54!{?BFw)#tsig*M8w^spU7epC1ygYnuIu%{A0DdAo|mUxct^5SC?UB5jDVb zN)a;fX53k}ctf8ZqUU@)+m-GkiwO?1I(L=Wefi9`T}X99`!LBF%k-M}gD?2Za_*U6 zzxL3~Vrix~P74lN$-cno@-j)PkZ*!s%_Q}tsVFg#rQ9DaO8#T$eEnS=S~STwcuy$N{VyA zpPqBG-c;XN2kPdt3V&Hy4HBM_#d0-OG1-Y43cW_M0CaI)P5x86E%?CIIW+F2h~hAZ z>EaEk+8sMP4#e&v09EZy=^F?jq$=~%wu-9tUfUz1;gWu|*;SmPT2H;OuOm*#z~!~( zi{%Z_RF;SrqdOd_*4NBzY|sYI*3G8!i88LueiqjLy@AhVmVlqoh1f2C`j5gkpIF0s zvy-z*H(yhkt+RQhhOyFB0k70B#;IW#HS~gBsqpJ_!>@JV|I-zRFPW{?yy_?oZh0x# za|9juTKRk`v-(H@UMiHFcu|QL>pAo^5gH<(XpcxG(V9@&I7qMw?RG$`FEV+)*Z71T z%M}Vg?Ci{l0s3*uS&KNBI#93K%c^6vCXl9_HJ7AwBxwUna!^B2vcc<-CR-lj^I0@T z>r_EiaUQgvV4VgkKD_u&Un*K)%AzUBO+tUAFOI60MU$x6Q)rscyu=?Fyu7MK@B>da zN%jOL7@XPfuTBnVm{7`nH9M4(UTp8Daz z^~t2+!DaS>rmDq$#_e_LycHaLMvnagdSdR8LVC4L&~6t_l1N>mdWdS{2e)){YN;L> zSz#{$Za9jf=6Nzie&RQ$s*P1KYFS@%1yr8HfbCsA(gg%;H&ck}X8--tV3onqH{gK9Ln25SJPOB~mbXDd`jV?i5V0Wxh z>eLoq}Hn=smfwa;f3xI1YP^CHoOLg;nmctu#lMB+s z!(Jzu6a}c!W|S5HncBj2)Axs{DbStIV}mEKl6O91j-hh}o)iph(H5?pzV87+s!4A1 zgc|Ax5>bF((OUkq=L2bv*0hdHRV~sgr8NZDo-#G1OD|MklKoSwE%dm?dqR7Qf?7%o zt*Z4)R8jd<8f?MJKtuO-1nyN0Eoo!vBczehPDA(G4Q->L#R-a)LdhgIJ{M09Y}FPn zz9`<}{bPga`DUi)lja7MHU8KtG$qXEaPB~b8o^>{wr+Z=b@M8>xRj?qZTsupGV^pB zb3uHa-8JEVH*LKr(wTiM-S~!mEZv-GuW}lgY7-{eC!Z0MY*TreOo;XajFb{pL6Z8- z>T3|cWf@s5Px86r-zeHF`T5o;Prl9KDSvIwYO{_58&$jgoYrVEG|^37Q_7Xj6pH%7 ze9F32IWE$dx6t4Y?3GyIQy>DQz?41#8l5yB#Y< zy&M!cO2p&Ex>mbRR7^VVtfid_7)Z8M?#>zMS;&_Kk}N_xP8W2{VZA`uGVMlKT;~) zC~*j^pA;bwg@L>Vhg85>@mP|%?D3SuFEAhpJ4y}522SLEPw?MkeMF5$dFeGibf4=u zE$os#BGdul-o`~wgFGTh7LeiHazbWMu#|I5)iNZ6W%=!v-}Cs*F(z*NzCSrAd&rlW zQ}&|p?yxEj(4B&*Uc;J*Y{9E_lpy(45I9A2BL#;;C9EBz`N_Gr%ea|{y z;U*hu?Orwy^opPhsoc28W{{>}v0(CIc_YOI%q#(ONml{$VEKeX5*cA*crt3`HEkqI zV;f0pld?@Jn+)`Ek}sb8nw^YItef@o?)wO4;6t;S&*u!f%jSVQISB;%j1M)qa3-Hj z3Z4+B({afbnM(8O9%?8p2pj?14wIT=B~rMMr3&0UOmU`wA1CzIrBS?0kR?oo4^6q) z)8^??Hr}(maNt1Ud>7(TIR8ZQUG4TphI3eTvG%}!^^$@??8u_?p4bJA6!s5ZlJJBu zO+2oNbH6cuu<|`;C8_eo1(AW<&XTL z@MYu_!dTXE>;rd`t*26N&6>NaQuZKx#u{1v`HVNMn|jK=>jyU6lnMbkysfCXOx;vh zH4Ja7EoPx;j}(rdy|2w!EB0cAHcX*N#gV*$psw0_R;RYkBY#?3AFe#Az&cd0ucL7a zeW6EQRBWUAI&h<^RT)ZAkL`B(YF4B)sWPQW*zcuD)_WtO)DGZ&}5TljG9o;oL*29) z%iyiVSTP&ix>>JBUnY@*n!d_*q;OXyE3_H?i)@53^TSn&Sp{{swh%LQWSVS~*#QB} z5k=t^F^05)m=+eHX?Bgym6wHeu8Wl76rL(mz6!%~jhn5n$VKLT>1aQ(H5F|ehb9T% zm4bhFZN_?K*m%??ka=&tZeBJ9=0&|n&2mb;D|zG)=9~Pe+8*r*6p-x7RaYBHqviil z_b%{JRp;J+0zrbJJ6P1HDAA6Z6vUvQ35aGSfju&#(Sl-&img&SSfwx{SP_CVQO3<6 z$6Gz8wxy@O9^2YVTPt{j1c88U6%>_v1Fe@mjws$BAeaC5xAvY}z{`36@B8`u|M|eo zp1s#z>silwZtGdkdX_g)sv|3bGlh9OI|uD*-b7NGZ?rO z#+MKrmAWsmj$)cGg4o5nq*m3yp7k)OVsf8$w`}Xq{aN@<7zs#&@~^mv6L9}zpwqmR z2tfP3NB&vyCQnSwsYGD2N|=?RNA!g0pI~s$_?3z^2AaF95vd)`s&?|4d+5kr+WTq3 zc{PJ4dN97DX2y|^e}|{|F^~t1Yqa0$G*d2fqE*o&!VR|h9mQpxcgY5h9>phHU0I$T$d7f9@xIU!b4EKnv}iSsFEKx6U(XfOO1i;53ZKC3lsXJ3`AqR!8^3J0<#XLib78tIt> z@1m?RK(6E-sYx0N&4TzfSV!qM@QZmA42PCkHydgJYl0rLGBx7RJ){+))ml6LQ&JY( zwIba^k682_v3)lQhK7%8h#ha7{{Ph46B@#Oc5f$CJ6;?k%4}z;=@Xu-#iAXCM8LTX^5hwT2-*n+d@g#R+nW~6y->$WdIcDu z3CBWUqGv}ld@P<2t@pY6<{rN&0gxf0V|;a-w}9-FtfQQzY_&d2)MHu)3;wy(V5Ed@ zo6eNuy!|IG-c=1%FUs)iPs?=2N*vCGNr*!{H_hd7p~C4-t!qKYNWbiyFZx4I-A@pM z8^Xh^Gz3&=P-JZo?_Cc&(h_p+6`|-DglC>~H-YKQZh_&mHu8L(sD-*W@~uDQ&t`oK zag%XZBYAR?#$90O-YaZ)?=kwPKUDr2E1?q;A4k?1sgxSJE&4 zcDqYz51*V_0*U@mXlXI!J%^}}vQWS4J0wL*2q$CN`>sHXu6^mD-}C(6-r(Sz*Kel5 z#-KI8A<6YHb4~6w+yQJT^4n8%ROM~n5YFqFIX>6d9i==E1l0;DIi3@*`>?XC@P~GY==@8;iw-a!v{aT=Yk3)FTxXi5l;G1)w(Zt z^8_u#n1T1LAGw>#PNkyciiNlVbMaK6mOCc_{Evc$i1knufB} zlc!Qf?^yN22UlvZk~iHWe<6?8Ry?8dZxnb!!R9a*4d-s>j3R%2UE~i@&~hZXnwZE? z@@4kxuomcC7qFJhsc-|=n|P#yjFA=V<#f;V@JyNZ%~f_US7uqIIay8y%VCrFc^nqZ z5%U@YBw3!oItC2BX!~wPRBrneiydash+xBXgp?4;f4b*<=$R@^`N%!;zWaPnFJ5K5 zoodwdRq-l=jObvwLiZZHdqa+wn_KpY-mmh|H?>Rrk#xx`$uzBICOprm+tHWtRLF&MJ3 zQ@~}XSTt})whB0{=paj4{6?PrPJtx?OAOuc=|TB;n8oI)sln&_`i@w?O#hs1f?A{Y z+%ph#aHj}j7VOox}i)Bzs-dC9QPb>M~Z3oo#j0MRo zA{sFVqsN9z9K5NXDO{Z+*Y0X351@RZSjBbioV%v0c0IYft!hnLQr5boExlOZ_qC-T z)T^l*Su31T?gn1j$nov;G?DQ&}F4Pope#F(=)Ks@7dXRU;lg#gI=lhir zXAXOX-i;k02hDi;z;d91pPJ|h)s5mAKSS2&4FD5u@(Q>|eAbB%y?saj_}WrB(YS_U z(L?ba95T3#OY6?IRPPebHjD3IzjM)nZM;jGb5FJ^n2%e1$^w|Lm2@<>?54Fy_WErzOJ{`Ra?BYqUmKg4367p9 zOx@=h?&>2Opx)wqL777*{O9p!U@EV~=XAd*fL@r)L|lL9_G@&>t^532Cg7fxD1OQc zn3KKT2dd(lH}2IfJzK;@gzHIMKWNJ7?nCCvyZcD)?o$6Q1=_eYHUWfMLf0*-UdcUu zZ{S;%yzLj4g4?QlMgwEJz>0}LCwC}R!OQwn`+dzd7nS}^)uP4lYymA(@ivOota;P6 z*16TD*2q;_YvQI1EtoQRu||tSYh3hkbQ>lfI48TIh49?9iB_G{y=EPz0t$SJJY|-PL&PN%J2v7Npw8(PWE-d zC|9#ik;Zt~>z4DFC;>sI9IJ1tDL@f_YjH(-M$k*|uorD`+he9bsYlF{!LQb@nO>jM zhqA}?Lb5H{Z?1&6UTP}^9l9cBq=rB#$|xON{hDd(9+S|5fK3>Rd){q3_xdko{wjD) zRjVSYz{7NQaM&3-;j}Y~_M?;X@ekBM72DkA&!I~6QR_->*z4JkCl`;0QHcIscg_H$ z(5vZo9*0unFjkw&^=_!6Nj*YJj6+I{!&q&q)^ACd$r42Wrtl15Uj907@IG=c_gXe*SAV81qDzc$tKvm{+=2A&OK9w9MKW?sBP#B$O= z0XMYyRAa=u8@GrXQ8K&-&V*?40W3AE40~CKPW66@2?@Zmze#JgeVp%>F-6=poFxC> zFPr{BraR=XupuO&i73H;oC{(xMyev(8c|9%&JIpsX{^vN2i`fDD zkcajun<37!fvjkqP$h@mL~wWxa{L5+hEJ%lYUUeKv}({VK7MEF+n*BJCNPp4=FU{V zgel3+CzH)$lr!su+9m;bn*btcGdO2uZ;=tN05}M?S}~|3FdVIF_4ioz zEloyk$Xjn~!`aeXcN+Yvytiz?qBAj>D%QRk?_}SWbDii3)$Z90L?b9tjpsUzCrnf; zi&V@papXkUh$02Q`!o#SM0jhWO?+0;Xf?S)+aj)scd_Dka#8H$s$_i|4^GZ&PF+Jc zXnwLL-MN<-QB_+K!&mN6!Z}Xw#kv;#+f&v~ZaK5OBzCZKSD=w{!^f7FAv~5EXM}M_ zU`<(x1H0BARsEBxKP#_u9fvN>NEx}mnvQFWC@Ym-<0R!PO>b31KFVK|VzX(rPg+sh z&eN|`FcT=dfYG3Q^u?J;MU`Q-l#ejLNxFpJKxGj$?- zD}gD@HafFPcWI4)J$EPw@rg4YpUS32gwoIFYgJ_x*+1X_?(A`s+);#E_RcnUhVHbx zRW-!Wc-ALds%u=^8o80+V!mFtK@Y1quTMXd%`w|k%BgrIOGfN3Di}i2tA*rI5*^^T z)l%Re-jitX-ktV>;9tl?X^yj4&13Pa)F6Jw&@T0qs<)}3v3K!Pre*~yOr7rK+1fHa z%xj#?9cq8CD#U&VhoCaNa$ZCLdn$;LYe00^tR*xC4%YlO#QfG`emh3)4EFfs)S$c6 z#YRcp@B7!W-wg0fYX2EZx{>4#_u@@Vb>#t%2FA;Bf3K6@a9|ZZl{Tx@w;{w4@2kK2 zxaxDn(!)JkCH%(SU*4)oCVMy5YVU@1ce`0wVDq-7W+G5`mN%_cq3m>(EVJ3I8(tp- zSF?M^^{VR;PmaN6Mnz+B9o4U3&N=|3R=ra&XWex)Pw7Ilx&Yu}V!9IRpE*7^ZQb`V z2I+TUN{JQYKF=DS{}Tp^Ub#QUnN{U6PLALI59zag_M8AZ0<4ipLo;v**BiJ8MV`ju zo<;}5;8XGox;4xuBfy^GP9{D8LuXy4=R)H5JbPzQTi)I|gI8tmcrOdRvdKdAtGzAi zl?HXv?U43(_ee*EzpF?%?7;$)SpJ`vYip86f$*wR; zfN!=)u!1Ja^3xYd<&ynmFgj_q?91xGZTc!FLPfjxT6hQd(nrYB^6+qcB39xOWD5!V zJ`GyeHI?u=hX@)hYlX76iK*F=*`C*SnqMneqc|9A%iy&k)T`bj@85yhz<^jcht=e@ z(FJgAEnL+Y7^2YZPpvr(6?~L*G*k&5J(w&g$9o-wTEhBDyCQBP^y+S}%OU5!fHn!4MN0Pv#&=fd`OZ$qcXn#dz93#L zVm0nIyV^wlId7NMdML1@^s5Le5_7&`~cH;mVxAvi|h5c7d`L1L3s z-=xquUOT?tc)N3NlkyGGEhET*X=2>#VyOa~*cVfT6$Hh1-o=%}>egS;#+jof`qX#w z3;de!03SVR(oO6&BNLk}$zI{#ho)kEGNY(DeoOI2n%gfw{x=Mi zc?Swv#9R7XT$-uK5*{8R(_|-^S(>_&|$L|zgR;j z1m782e&QLqcs6ctQDabXiyz0oLs}m~I95}tO|~l5&sjUmhDFAL*gc$}!v>(%&s%2*BHk=OPh^2&z=6%GePqwUl)3 zZ1{-wuW(;^)3{n6kXclo=}wzL(8kD&NtHbsbQ(K$K|TW;ogYrr(rINV8+JJvBkQ9^ zX0`P<=j=)DfCBdfED&t&7rd7qR*@7p!+bLa*Z<_mcPP?)F+ z4QMJiA#gudA5*tX)H?uWcW2DlkoTc`;p?C@3~g!4*)|X+sRfbsPV#?^_9np2Y+Zm8 z;8YIqINk7*3W;;8^9_dTo64<384dZS>ql5gbq^Bj@ZoEnWDlN1FaD*@gq&MF12fn6 z5pxUsjuUa9xsmO<>56c4m~Q+1|Jm2{KiBnX$a&i-?DJ*7gF3F3IcQJ4;RA>s9Pik{Mek{4+TuNTN1S40 zy;Qd3UsFS-w|C2GRc0*jn!N`2Z@s{RWZZ8sTAk;9(Qh`o+-j9*&K8Hu-z8;@-q9bv zQk%<3B(X7f$aZ6@%Pp_GM5Bqe80+(!`~{aQnQ$pEixp~w$E}h~lIzGqN3Uw%=<}1} zd(^SjbZn35*afgC8L{V5n03!Gsz9@PI|{N*I(N#fvWMTim4{a12T&|QvWHr?>TCl7 z9rzrYc_N}Y2cL^bCicKe?I`>{<$5z?|(h6vfC<1>TXcy#JzsZQ$M253~nQc zo?cj{7tb&Ad+`!#)WnEf(10z?@)_o3Y8o)Fu)7oXUjGR&v&UImn=YzgBSN?7Y*KkX z)(4(0%T!rQAe2Fa6eOz~Ep>xpy@MSG2(9V+sg`R-rzCx^xgI5f#m+B&JiedSwiwEa?Zmqxi)&NGqr-y z!7g+Wb{a@mv?kh5`!oEOo!dS1%@z7$%QI*jpU`uV9c^hpK$gB^gR><7iShb6kP6#c z;2~N}k-cUY2oeL5-+SP#WTdkg$P0tYg=W00))g9@To4lZ;=Y#o z5v2=xNi9fD9VNu}Tl+Blo;eh(!MYa73-Y0r`hhzZZQP%QV6!C60Ek<4gtX zVj`=$2vRF?2QTE|Jv>`N@TRZlnW4Y^HfbfU;JFAXdLW+{TCJvhpCb%K)yRp!yw`i* zNxB*vsHvx+rsx)*ni`!@RkqDMGHdd@TSWg>>+g$)xKO_51baC7d(p1qr^(QFF--Y< z^f(~IsX3q5*`WK_KoNAJY)dq);8e+xIHuCnz|v8plF zv6R~}Ys=ajli~KNcOYDn9$ z#6B4CqEB=4>l{7d%FWYL`XwP_zbzzIdmX&c3=N#4-yWy4bl8OmvcdVMWS@BQE=R0g z5er(=&(gzO)5V1P7anE)=1++_20yQf787c0Gq4uu?e4v9=iWwa)ZT_5xveriqdJ0#;P?E>?Jv8;^Ys{fLnotAylrDtDa5(FP9&HTK$ciggvdvbbi zW=)a2qHioy?qSQX>@&RWsSy`HeNc%>x8a_8!Op$(syC|}-CzfMecCuPNh|7hvwLBX zv&A%Bmb+J;yH~+IWhcZR9qRQDrKk?ozfN}1jBzcSLl{T8p((p3yT5t~8%}#y+G5{P z%G^VjOCP%P^0!%08u8hREJ(j<-br%Mh;t%vmGhRBSVws;`d(fVQ;7c^lS4QN&xtS{-l)f&Jnjs#subABXE@+mea7$~-?^8! zHk_PZ9*oao19|jM#^8F_y#6<3p#FO5%NsQR=S?$b zBY%`h?;?}meUe9^yRV6Ld}gbutIE^&P?s*6NUa>? zgwMwMkEfs9R6nD)71zeyV8>{jaGK7|sPLHv7r`g)#%ma+wdrc!ZX#qTF-9Oc7Q$SQ z?f6^Wt;9XNM=}xYoAC(SOY#$M&Cf|Er8D3-;7qBd>UYNesrPDj+VMTzr(cu)f+5u; zvA2#yj-^2W$_iOf~SMs(2aZh*a z=DVn#LS<;yTy?-Zs}_J~4W`C2`Soh4FFaVH6$@upt*vKx8X9Y>^$`0cJeZHh!C2n2 zYNzVyR6T9h(}{Y@N8@0AHrCFxD(2VD0|ecfY4w>uSU+s%$y(zbOFlW+e8*SpvgfW| zq(^LwwQj#!BKbXjf^#i{)0Yt2H>{ig+Z0({2A*>rfWqp4f5I@qUk4C%f`6FcAEsx( zKVg{QuM_-rf`6Fc9|rsr>VSX3Fu`9Z`0E7!Fu^}e@Yf0cIv@UFf`6C?|9y2H{Pzv> z;9m{=9g7Tb1iBmeMT&MkF>2Z`iF1=V|B#*1V7Mz+a5`)EQ1`R#nor!5*U4cygQa$F z$%N38oGdl_w~ORkwWf4piXeWxM(5gc+%@G*^<>IGO2}JYHT}HC`YDjJEF&Vt47o0l zZ!o!)s24f$BB|Ny*Z`iDAM)Q>i76B@K0I9QW&^$Jerr8E{HE;;Xj06B3fLT)ll&-C zkRF%ywZ^2v>qkzslT8yPf~XG>w6`>pnzPqh@B*B|QwFGs@#$_=jA39R{BL3rXY%ynK zb;#)*z|6{XigMS*<`ux-3ogQqA%@5src0p-w@~(_vQsI3sGlRnh z^L&MCd~~iosf~IiO>}N-L*Lws<+DyfeDAqGcm{>FSxbR1+*p?AyxMwaY6d^=UB~(x zdsH6jDxK+IT&smAA%q>GJ`8IgX-|27a#-P6W`YXcmSjk&+<=yho`M?gaHp?PEK_tq zEhhFU6OmH`;9p~c-zy$w{UiGCdc@$dY>MGsc8aX;QzZTd@S#;x{>R(uRG=E|O;sFJ zvABsA2-w;deZZ`Cv3agEn(SyCV0byZPHHrwSsMMst^a{0HsMoP=t7W9Ho8ztvHs#{ zI>enE{)+4gqWSh1dqVOObAkScQ`c6Q<6?fsE%KlEGn430*$yOSp^y7t&pf5j{s%X* z|IhMFe?N?}ox34?-l60HEZeX<96zHju+>NPR!V$jKk|+BYn0QN8>oR@(cmdDe(I$QDojlC0`)$F@j{ZSf z3;tY!ia<=_;aF>u^}^Wo@ zPMrpeOrFfCL0?#{uTp>dS9}Q6Ujnj>w{jg<%nZH4PEBU9nv9D0s>2xJfy@i_clzFIkpfW4wE`1lxixohnI1V?iYsAGKAX^0upo% zkr``G>4Yp_wx@i|*Guj-e<$bblrq8!$cz7eguvsPPsl%2^8y2l#N4Df;_41o9h2KL zzro&hy36Rcr@TJdp0br1o<%|(>7Ga}%oVg?qw{RI%;FzArIV@mu3!=p>DcAHoPTi( z>8Duu`KQT1#FA!rXz7}A{TV9nRvyNYifU9vs?Va7cQmp$E7Z=g$x$Pub}5dbv&lUMajz=1*Y6Ie zhCGZOlGp(qv)ORTeEw?#yO!PIJ>2oV6ED4ozrq%=+ zsrgi!yB8RfPWe4CbXheb=icjuDTNo>$qd)R@IGCuk&iw{ zEc-+FvC8c2FWRNAXOq%cL!2`e zFG~BJM`;)O8P6dCA|Y7eQ;!3*>4V{KfMoh_X=J@7QLRX(<=;eLnyxc7zGYAE121y6&jQ3&9OIO2)})I zx2N#Qlq|%@$&M8w)(j7Cb!YX0?m0)WG!1tfBB4X1HFbZe2kq~43)gR%^$Y_s0@Xh6=0{kiCV(O*}KqT;LKPbG= z1F-@Sk1|wd2A6Z!v%s}L|HdAG{fg0d1h0A{%<>O1F^|55Ujg5nPZz<*`1S?3zWW94 zuapIUeT6>*oVsB~*y8{LBOLN2_`9Ch3-DKP==fK_7c7R44$>&`XZyk3;Rd{$DwWIQ zd+arm)wGY0`gn!<8y#U-)rctc-B+~VZptH{PN2pt{eq>+v}JCX@yOdZ*ax=B%H?gc zRe?FKBBC_QI;r`rYTH&U{eobH2Us8v|_)0w651 zT?*}m@y1?Yg{k*L`+`zuK#6VWV!EspzeaQbjj<2Z4$7Q$2h?chIDbB>O>4!^GlywA z3}z0yT~I5sA4n(jfnD>V-M*)rUGs5xI9q|Fb}9`H=UhY3=j zk=_Jdh4@e~EZugeKB47F#Qx@JA8DhS4sXkxd$D<7>=TSN?X2~T90k!1=UFJ#@4mF6 z#qpnWOiu0W8l&b+VD_u8YX|NZ_5gBlgiHUGiRGDF{nsO64KAnsaLvEGINWm6>?`i( z#})DhN~A7pRzwf-YIWD>K3jeJGa#JZ*v;M!?E&s4qd%2#>H$h{2-Owkn z@0PRs$`C6dooMy9+<~+VF`KYH<0sK>v3!>oBA@qb()3+!$QAM0Gud7AnmNSK7qVXV z*(x?1K3%4u*}KUQz=morV}FsjcptQ<&AGCMe@;ZFw@Zj%MBorTWfiO@Y0KY++PhcwhcNUVAc6(;03N$V z9*~-Usk71ZLp7T?kD0O^yD}${akwpdW~ku3HKcEr zea|?@3!@IwcQ1uxif;Mq$wl(7I>NTHsp_? zu+2FevHm&I)(DNMAt}B}@Z0^ve9H{Wd?$}Q;~#`ojAFE*GHMm)s^W90`25tFL-eeQ z6MM_V6)^B7$X3f*8RtLfOx8o}k}925F0 zHpJPxZ3>{yd4kN;`D3?AG5GO9x6jiB{xs~LYUAwwsj%iBTzOq}NGI6-$lQ7xy_xCa z&olgr1CyvTJZMCoF`v>RHYBsE8WOKIC*Yo>_nk8caYMI#qO-&hY*cj80alG@M8|NM7X{~KH%;ziTuV+~s!A|oPBNek#!S_a5Cne5e z((WyVXgP-QJ-5lUICH%TWy_PV@xOj)^T_KkPA*OsKC569Ia#><{T`?a&f#(wdK*b> zA}CmV)J77UCE5mhz5;pMMr``d(m8CYl2A*I&Lb(mNLhfU)_=;eQN$BZ=jn^_884wY zJEDy;ZPDw^812SkMWj$?w-`BmV_;L*+U}0KLm0l{!mq+^h?7W386emF0sKEtE2n1p zRC7NA@TekyO@RY|uV^ZsJ5HWsk);-zWf|Mn0|*_6_XH;pywudbQMlbq?la zr!1B_$(q_Q)=q<+>zB!sBsRn07b)EwTHlHIXhAV!-k}>^(}iDCpA3CWHLnZul(v7+ zL#qIoTNq#OWGtiq(0AJ9^wI3oFqzRpe=xn!@ybJhdF&>fguC5)77E~*&*N7k$PE)- z=Q&hoR`~E4NY%F-keL&aS`57BDb?xQWEJ}&QiGd{+%&P1(pm%tj!1H6q~`rl`%V=h zl08?1gTGZm!82NK;rMxxJ~9xgMMpm|s&+m0lWyR|9)jNAYPCK^Spvv&%dxCygnPnJ z*ievEnU;jYJ@X9B(*vM6is-4RE_{I5)z#DN>LTFN7+)01i4%y@D^mvP5ye%%BKGr0 z=@($o?0k47oLrCVIGlVjf+l=cb}V%?+cjw{R1hM22pWJS8Ny=PO)sLfrUD#!g5gxZ z!%F=-l&A!OpWFXoZ$|=?q8$EzKDwZw%#SIfBbq$2P4!O3-z#Nf1959xt;BP}U22GD z|D=XI$^h3htIHz@aRz#1PW#~s1;TFZP#%rrN#jt2Nq8vI#9vF3{molL^JoDpdQM4d zw6ir5BNC}As*y+I5KfIl6+SW)*~IfcO$H;TMmvXS)yOkSBDR|moZYO}^H4kIruur_ zDScl#dCo&9^Ja9vJ($Lm7#-+lRVc0}3q6JHg3H}SuI&72UtE@zV+139^kkhA8VV?TB z__HUA(rfnEbN3tpQP0s#+Rc!WG5wbDXb>d~{}vAsglaI;nbXJ z*)@UYOs(ht=V&W$D+Kq@mv#+#U)godMlW-Fgc`OM^rby75sbE+jt?bYBQPT{ zF*6wbiY7AQae4b9OIDP?FfEm6L?sXv)HAwJn;zMF%K00((!Oh~jgaG68*?Fwuhxe{ z@T1^UwAn34;)OoE7fxuS?5b&kumsd+82+LiXV$E;4s`)~W5Tww`(Gy^?-`IzEy13VX6{`I~x?YJwPT z3LC<1fPQU`@5ybBr6dbjzZSp92JuTm=>;WKo``3Pl6zS3%!NfEYseE?U0{49@-;VRV)##2Ih_eq!=z^PxcP}YLU-E##j3);W^F(n zOwO6~It~bbVv)UN%O6<5x~Gw^X6192Jbu4wvzKR$ZF~6qK#SU55Q2!I7iJU%;~ge* zfF6ro8mtA2aSA?YT!L^Bj&gGNnuo7oQ{obQ#a>Sotg(}x^(f!BFV3Rl0;1C1&iV;c zUNWep0)!Q=gjzXeE0o+)>>o7ix$8;rJj56nEK4%&`kb~n)Rc$|O!2+}_mp|YF8Z6d ze0P58n$N2<%ksd>UQv2dyp@sC)uHu!eCArEYC@&72tRu!oQ|h7fB>Iw`rt;D)pK}p zeVXsLZka8A;r@&t%?|#9bV;zzi(QPLRc3r5tQ6*P&)6GPR!KH<&mPps7d!{)a#L}d zHA{>jDOB?z(`p$%+cSM^;z=Qwnon%(A#)$m^-n`W9;w*F?+dgDc{!l1+t;Y9 zAtaT&{W0^CsmNwyYAT4bKq%*@BVMBKf?Nv5-gFuVVsSMNG8Pv{id2LL8jEX?vA70# z6BYEZCMs;x+@dXyT7xjFmnKeBUentFk&uSa_DzMu3BQD#(>e9T$k{hr&A6TH%_}?+ zmz!9?M=(9XO~l}22Ieb~Je15UkcX7ZmtIB0Y45Y3b1c6!umKjwHq@tMx8VFsjF+AQ z%N1Hbtohg&1C2&^t=T_{+OigCnZZYa1zKj{!^>eNZazNJ+r@WA1;L1*g}rxevqy>v zvvWXmGwEj67rgo481zGlHy<>UVWc57YUjUd2h$sE#i$Hd?ZdTNkXWEgCab=_gHTv+ z;ox7CiPS4JToI~yo%Ey<8wKkxDqneSs$VT;*+wy!Gj6l=&)9@=j^Rl^H`V)eyp0>- zD6-}%)I11qeyF(#?lv>@Lug;C&hZXZ!s?Bg|2Bq>a7)cWMOdAV{wP&G1w~h#?(*4q zI?(+?9`6RLbtKZ<0240VssnH;OrJHq`-{jsZ$%UkY#XwUEz|7q#{t5+;;cc?!mLBq zL8WDbM5=~J!-p6JbcpPw{G@ti<}!s5nU-21S!~SN;r%wlF-{w$gpK^5N8Q1JW*8M^ zU?JQcJCz9rw8{LUpni_XE%czG9mJ-^`T?=4c$jdiAI{RO!zYyE;si%3- zgc2IB9GzzR*zZ|!bK)#14Pv7cLyh*>&8X*@1AUg`uf6Wvn+<=ly+`x*ui!6n3r_M_ zF#Rs0T3B5J_4z3^K(80DSHx}|SQ+MJEAczt)fx4zH-NnKeWFiUsCB>@s{b1SR^qc% zS<+ZDXa=^SL5g%!b6%7t>kHvzzd)h;)97aenK3N0*qQ$hiav}XDmEjWX|O1Y(#Peg+oCl8;uzM zlwKD!l9wM}3vW({ypaB*L7j*u%v8Vi)!Ao@C$_(nl}_?+eFI|2)wn)Vvs)M#4F(FT z0Rvh1%>3T;Urg%H?}gO;A>esx^)DPXAie`e->UTTPSZffAmQ045p!Kl*}(su~yo{Y}~jZYa#WAHwF8FU*o zJQ@(WaAx0AFc^83fquT8)^g~3J{^&u$$3Mdcawi2lzbjniy?5cV63T6sJ_j*-QvPT zp}k|cf1S*!ocIVQIa0c9c2j}2(XB4$wSLWhx}3g|uS%3RJ5*3#Ry5`yroR*9p_$N4 z_~WDp-#^n$SS({7U4ew$5Uv40rr+B5rvc2fOdbUxlt&2vEYwoU|B&h#qYoU!?Qm*= zPTY{*Bq5^}buG_@Nb;D_L_SpiiRYaPCvh2WG?UWDbLO}8@CrNmakz$De``ayr!eiF zVSxwt)HLO!e)a7yLznRg*8!MK8ffSlJodA~ocGZ}%Nsi?A5;(jY2ByI1aD0prz^1pp7e?N}58-Q=tenI~!Pee4n|kN0gAK72?tyrH(3wd zp#qs#GJWLVP8sXT28go84j9z?j7b3bzi*6-u03ZKb zV0-A^57_AwsnWAQi~I|fN;6Qw6dNbRbg0v-*{5FVZ3tjiTB1cUEUJoRd>+5JnwX3$rvz7%lV%4g zi5h#Aq(+s-J4(|^4#Q>Ps(W$Aj7L!b_drybM>E3Q_YqUa}krm!1fkmby&^k5v>ay+x zEVW4s32QBBDt*t1lr@&_Ah4k-)ayCx(J+}`m4;zSSh--sfdhw+3`}SL@|a4K_k#KM znR8b+&MhZB%GkhxlagcS_Oc!w8|Xc6>|9PzsZs)QWF^u$ovM=r7)&knHqb!%l^EZU7c@p#9%M4t5z#ny!WP$klOF+Kbrf2 zwmOdPQK(`K5h@I&5xLrzZhx+m0VWYClUg2PAM-z#tO%qgJBA-J_VePPTxd%pts=(y0 z2&EF{=t{w43K}SB(Lh;lUd5~GWtn*BQ06<#_{v3_sG8_S_7t}+T)I1Rpur!}1MFXO zE?vWDtzpw>^uuC#5_Z@Z#zBO4u~w=%!F+&bo)BVO-`4t=0=fjK_L(sM*y~QY6Gn1o z6Z(2RDX`r6cvA#5rG~I~f#U8Zy?3*N2Y13yK<$C_ivwGLyU0115Y7tce{(-5 zKUjU-ruBYsAZH0VD)ps5CHr4wu7szA$*!(%nKXK4u%v4*A)nHWamto6PwYxoOp-7x zFrcI!3e1DaS?JV$i4Pv(tN`zgMrV=A^1!|4Q|?M>l3S7CT7xsxxU4vFl99DjcbSoF zOumVPch~kQ)l;|quu{T37kC5okU66Y$1;S;JdDFvG=rNucrD~kEPu{G)Kq3B3aXUg zsn&0o(LB@tspJp?U5&{r14O|;6lfDzrhguhB>aPC5k0~{iyjMM(1?DU9y_-f+M&^z z;j4G(fO}HG*Lm_nOOtFnQfi>(HrMW>3yBmV3ebD$TxSRrM0DFnt`3WXgx63A$Lrtu zn%<}s`E6VwDv|@+{ioiU0xFk%j0>TiZOu;xTDa*BIZn*AvQ8m9PNwFua+Ty^oB8&R zM1-7PuQ3M>sGiKvJbxQ`IG!}=n2{>Ne2aO*13}sNHJE#ws~R1~iAN-)ZN!h=FFKS| zkq0hB?~^`d6G2@7+NM{Xftc-EqNaOq2;my<+llYnp!OQO-ydk9Mjduw()iHAcz$y@ zgO#|Si~P_T{tBfot`gZ-*vOcL)bGCX3njyb8}~WI$?)fF_pxT?w_61X*(26lMII#MPo#Bsj@C@J-VF>0NHa%JRu`~D@r0`KV7EG4;*)(W#(>hpM&EZ0`z$4rFXc~qPJ zAy-+*^5C;>yzi+LC>KG=7TPPqS#C}F1j?X2wo;;Xh3_w84cxg9N_al@8ToWk0AGI| zg*ZQZ9tDBrP=_ay+~>sb{16MchxQPrd|0??i18n%WOHdtwtltzWj~iBFY)9~&}h}v z96C!{)Q+Y~ASiJzsthK_1z7lH_Q{&}Z5QRdsP@S?3$ zB(11QgNXbRQ3rpZEuFsWkRR56J9ry2f*4!@uG?JQB8*ygWvT3|d z9CTi`!E(mqo3=OBZ!i4S?VW4}VRkt?iBV!Y67gt3;GBipj%)SJ4cS=9rzG0*?5qRw!YwlRBpxKD5+l3KP7G6QsdiBc=G z{%70i@7{ZhaJmV9cWf(V+Dy@V)~IOvTiwybKTB}n!o^xOVo}L^p1NhLo|6fqhdZA4 zX~N9T9P_0n4m0qp{<`A&=Xv!n%-4TLQT^sQ9Ga`Yv(=z|9%Jl&KwY3$DpBY?9`r8e z+Cwk&YVg~k1`F`JnG#LT15z83ef!||XI}XnepMd)nu_VDer54{jfxiH_xs#nJ~UZf zW-5=^Lt&0Gl91ad`n}O0^UyjtYcRMS$MzGW?xeC4B6w*BLaY`t>1jXeuU+ljt*(ui=S4v-q;&FVHznLYcT9 zgh8*lV=7P+PU`=aHB4TlOgkEDDkz6=I)jMD=uc$EmE&o^-@K}#a6t-xpcexE;vBFN zZz?H`IH&8CvzAx$zI&efk|gK(DAfMQ3OhBjn(s?n&{UlYrgz;GLPikB;~EYQ_ZgzIY@!#E>IIqpS%%FDpG6x&c<2!5 zD-r1biWcmSfu6JT^Uv1$^6zFdKaa3o2YFslZKQsWB*1p}nK(F}yHddAq#^N~+rbCN z_LMjVlC<_1OP^Q=<%O+&7wO+!&iR$b<*q;%lFNXf)Q~m7<;Uu0k^qth?p}%sIt3iO z)5&7W@Cj==qr-8o*)>XUdEnePX@|ktacs~U`P@=r)qY{K@>iw2l)m*FXY|Vq%fk?2 zRWJYS`YI@_oCS5Fv(-FlX9ATOCtrM_J$Kb&py8NXKYqERNwNW$y!z*^(rnITPgphM z&t&>%bZQUx4)51eaqMHh{qiT0;}Gd8FXn10jbN`egxcRNiZBg1ATQ~|rc8u?<(QzSeHS1P{{#KA)C6p`+*gZ5{S{W~oe^JT| zy8U0>pDL$NVg1P4LGHz-`c)WYnb?P_UJG*j*T;GKlDsmuzvcx9nll3qCY{#sf324t zvV7pqyt-3_94h@Ni*L=+S||{49+o@{I=4!m5&x)P;;m*`_mR>Mv-Z-5m}Smou-9tX z>(j3GQrP*n=l@#m@z;C=m$o+6e;CLK2lh{-ACOCkTg_Hk?vM7TsRu$`mrt6kHh+(DF?euel%OdGK>ca{3X zmc+uGsdGq2^M;YId)(jjg6h|I5qn+YQNb_yX_2`3{IpB1$tHunW9JUA$2R}}JNap^ z-mQMPyTB(BpMfb#QTtB*wo=qykb`R1jvXdN?MZ;&uwA7$z7BhlOC&|3%e_C;5E%i8Aw;}qch*PDbN>~ri{kKP7h8|Ue57tam7843by z1wb%C?icXLa;1d+d+v)A3nlwEC9m5j&23H?7<;3b|3X;B+M;lZOh}TcIL9g@! zyj|&k({QE0N>HdVDZ1S0v0(kRy{-7)08w$2AZcKLj71VJ10X2o?A!^u4d@3058yNf}L$o&VR}jwD zs!B4H1~985`oJp|UsXp*iE6&dptW9GOuTenX_2YGSLV)qmz+T%Ilv}UdkY01WK;jR z{noF#y*9G-Gv!Cj8vJy6Ik&=47YX)SwFNl+C!s2dNcTK+s$7K?L;NkKr$mYHe(`&0 zfJon9-uuXx#Chx?Pcc)NzkaDa&f>SM-NWy$8;bBN^<+%I!Yo|(#@ZC)jaReO?ygP9V1Hgd**wxckN^!e@_F4y(AB`9ipDkWkB&^lB!WW{}YBZ zfUIHakRMdcRz`JffFZqr{~?BTrG`{PyC!;^Qg(L){bB7J2-RMJU{U4H|8_U zpq!IJ^}DRZqe7TgG&B8j`T^xsN1J9}I{BOKq)5mJjcbVIW|^Z>DFLfQt5-;>RfMN_ z+VmiAeyrpK-$b8oc+%_N-(&meQ$;JFF%|I}UyZTO{#%{GAZzZIK$gBlCYmufiF#Rs zolAm*&S87<;p=M<@s20>sZT9ZqQGX#GFr8N66xgB3-Ly*xmuegdK%5<<}2yoS-^xJ@E z`f#$>2Q?K+U0a$tk@HdZQF>X0=P9P$rLzZisbAVS(~(VvhnQ2=re_5(`CIqtKR~Td*jn@dg1sKbjWHQ09~eU z50hCiIi4~cejTa?W>0VE~OvL#y1cf)|o!BdU zkhvAShT%Xu=YK%RphIMq$>xhO$lB)ixE3(U+Es}|hiVWyzDH-)G{KKYr^(}xeLOlh z;n8`VT0D;qu)NQ_Ci9?HHp;{GOsr*NFsRy1^wD)xhB&AUm6CNV3yUmYd;r_ob=ykW zJT@ecPj@ z(!l=)vjr>h8_KZQ5{i$mpq=e*82*KKSa6y|XGWRMO!hh>Ir$!`^$QIA28QOnuauWr zf71O+y#Cxb)$fl#|1kXl;Z;Tb(SAxzGp+?vliwF+C=5i-!(jYt_}fK|KQ_lXvCO$w z)v3clIKBm)<)4tXw&;W`JSt0Zr^aunES>SN6Ph{Po*DaZ*4N@oWxIEaTF#iN z!EHKisyx2qfM|DTWFR>zkXe{_*LA_?xZv3D;;(GMMD)U+8lBm!;_Z!|6mhPt$ojrp zgkOx1V<58k%=#U=$*eKFZ>CeST;=4f6Af0wT|?x|QNYMj!-9_l+6?p1w?tqKm#Y(j zb$n4|eqbXPHfyL_oYL>j`pvhiZ3t^s#XI6%8$=0U`y9io`DknSC$d*dagi4Ntgatco@<^3!Dim&j$6}D##-m4wE zId#Fy93?l6pqmflJI=6fUBpBC@tR;m)x`3If4JU!-E(HLYS}PZb>!XmD1NW|tgmj? zBmO#C9`r7_YV)rYrcmu(Lp{tzs+5L}WD@lp&6j*OKYRS_=wBP1<(0;D`v_4~nrWz*!VZZWF!lv|>L@QR1TYQ37Z z`1HT=;lrQzUo_kC)%EAatPV1}|L9rlcCZkmrc~exGH*z zl>$+)l@Lyw65FCb<~7sMV|rc|yHxrPJRPBeynI~#W!{Uu^Ax2@(r+>1L^eakg;2&u z@_R7_Z0C+TeUXHrmIPSe=2*u1b+HpN-}et1>uI%~LHquYrtdPfVF=f+i`I!pCb+L0 zbzrtb@lGo?#&*o%SdxZkTT2>*zaG)vd|nkjfX{k9FycfQtNV(BL^=O-wL02wajD7mstuYt<1$^vhjuO^Z{8lfC1?))3O+d; zQmqg#SjBMzJbx+t?+e_n{`L#-tjR?OWQ=U(h8O8OMD zP-UQ)3&ji35%IPi#(T}L-a60qCy>WWF_Nj~2%*MlsED_HN`W3TjtN@7S=nSgx~<7N zXM4s1ZcKw0a`r&{hK91(k<75_=GOh_y6b)vJvA>qwO#`4EXA3w&i63XU|5O1Tdh?x zkh`0kxt2NJa%RPmu{HT)-&jv{nj6?U!SPo+%V+#iL=gJn*t^-d{r=v!oIcBbeBG6? z!Jk-5LS=J5zUC^#-*>nA+U;7@D{*{0Ok8>U{BIo3R%bltQWS4_LI(R+S?z3j@y ztA2RR71OS=2Y+m8a|`VIBe-x2H4Q8N7wVdipJB%s9+CdYBGK0$KewIk&KMjJy+Z_!GtOhn-KU^x zk%E=@sUR&~<21aMyjk>-zM31}QHz&z#ZikoWzo7>+W?U27+-s>L=!*U|2X_Wl2b_B z#oPAAJ1eYPn>B{1gLj>LXo>y9vbj{dce4im?C%%zX?dU1P^KCO=O9BLNM{{k_{>}vz$(K0-DXH|o=f9cnmuB#`jup!M=fRMbe+9`!uB$LvW1r^LpwiG2eKChg zmYX?*BQJ5WD>=dgdgxQ*714gs)Cf=alj^%UzGFzVSA0hw_EA$T;`~8IZzOq&0vDH0 z;>Zqc;qOtQZ!dDAd0?zp$VsVO=1~7ay7K@gXeH59C~4_ei#eSZAlS7RUF&_Pe=G_u znqO0M`eN>KOirKK7DBi%?vk6N9{5vFz~`hzD{&}Sf@@{53pKyQ&OECWF;yok>0{@l8!LNRV>NdHn2J5CH=5-5Lth8?Z0d*k4noHSh z#qs3d!?y-YZ^$06*E4Ky7 z@zfAw9ZhBi6Hnlnik&(3@I7;P25v<1_saD51X-mI#}U@8W{zb2=0z+1hLIGEx~eKV z?Xc0n7CYY5j1b05np)R#)=e?>rQ7sDnJdis*QZ4<$@XtXQ?75*hY6~)b5LQQ6+;#H zGshR35Ms_U75%j;>rDD}KH@vhi48ULOKZtg8ryTkj7gNXe)IYC%euUCliv9)AD+Ly z_-W!UJpfr4nn~3=vw2{YM8~F8nvA|2pIKQFTc5cuYY)bEjI{1rQB+Ipm`ph5FN5mD z$YNS{NW-^-O!cwvn5sEH(md9K*TmkjmkPao#-3c0cs^PU>oKXm+{iJX`Bq?&c$8(e z-U3&qe=RwzB^{wAf^bj&nj#+c?mWgyNEyU;R#^!}(#3aH$1X6Icv^c1Kp@jaRBrlF zKGdnikyHmU#jq5$gxI=Pbw_*J$+_$35cm2f=dBTr+Dq|y^d${WrrMvBofSPKzVm39 zLR_?%GK2S~d(w&$HkBI?i^ef=F3bWa&*_^9?}M*v{NXrJyr?EiO$R%&c;Ff7aBoCcTP>c5+Rcg(q~?wy122ve<#~*$60;b=P1k zzVl3enQ=JHStj;xOpV?h)SUa)`{-#H3pC{Xsfq`xq{bK+M>M7`*%9D}Jw4AbnS)K9YJ)1Kbbz6S%BXU1Afc9;!+X3vlN!0DLK z$(8sN4RP+-0ihj-NMDYqE=hmDPdoM0BCc&6EzEqrgiQo7-P(6pr<+Mj&2zJU<0_;*1&+<1~$tabh zCEAU)wptJ6+SAjlt+pCHeQd70cSEw`Ktq3tw?URCu%dsaHbiTIg2qQ?Dxd(*^wt93 zCSYefmOylqUqFvuF~Vm<+8oi6y3$KFT4_Hf@Bs-^8V8(#R;0$E@>;IUAb8e!b$hNK z)q5_f5h%jey}o!EZn*FZATw5i}#i z``jFi~m&eEv@`-X2%H21>{O&pzr;Jf%ckAUnfpZZdxY#bg$bcnL#J~ zC0FlICUWPj&K%*}8@?ttYbke&ES)Kxg{H&wQ8}}rqiimfmiU$fzUEH9kBDz$8pvOT z1n}&I2mG7HUdY_LANqXr<1BqMbvIv{e{vNI> z4X)lUP&1p%NOMZ{rezvfcT!=MXHXAsU`(C-zh7ftY7Baa3TBP0Uy4$*Mi$tT(H8X4 z74(fPpM?{DHV}ChRTgFYGqFr4iWx%_nRX+uX_@H7i&>btmLD>qIbrpOTuKA zLUIC3@w#UHW^cjz&1*5%Zw_dgIRp!rW8j_8)TA8^JBuVI80=X8^o@vq#~v8$eqKY- zBP($QPlC5yJ1j4Mo%;fMk@*!%3?pQe#cm9-;vw^10?OF7qpd_-znP$XpHy|af4!Z2 zTI_XL>>B2goBh%gL(X}4XK$!DB6?!j`MnWcgvw$8XH7ivKfrSE*D$N~IthB_LCu;7 zWdf29L8d6pXU9w!^0$KVCj$u{l|*mM%762Gpk-zxSuo=>!{nFHiJQK?mUxMGWW~2` z;38}BS~ssYzlyA0-^gv}iMM{@_rmaO$F0&~Z4I*r(`l~BRG>C+5NnEsBXtN=Bu-kiVpmisQl zBoC*QsSsq=Q__q1C6o_hFO4^UIbudVMIO`|)=Sd|K@2UAJxHOFXm9J$0T_Q>cz7K(t9VU0unDJCfc+~lt(wfj!|vgm2_zcP9< zj=?N(;02ml5saZYn-7WhZMlJ(4_O^Ny);k3YVY)tXl0O;zG)Sf>s?|VFtag)vA4>2p^|mNXo{D?mpvaJ9XGmN6Aar`!>6D{oXg( zF(POC^WcEfjTI>Z%!gTtOJsVt8H0rx>=G`r{s3!9lg9P1Xiq8bk=opq+RW?HOW4Mp z&ECt34r*quD3C(D?ztX@S&1|G5#MpPl~5*NxX9FYu$A~OKY9HKE1}|C9c3jdOxYn; z;&ffK?Oim#@_jTBJV{{`P|L2+m`DHOpAe z!V)kzcrA{k*lCF3PT_@(yH3dPcv);P?w)}-h@8A} zLQxDL??LQDDxPs%>{}Q)Ue(leXvm6wp>z2P?T-3X41phF~fX=O=-BQHv_HFd{$cQ!>YvzGh>zSx7SMUlT;9TB@AzOzrXDSkt^GTp!yp($ zXh$c+cQnCHl8;Ni3k*AfL0$!}j<8yfH>GeE9jc2P!{kPidiCM4TD$4?69y)$^>azu zG#@$oW4`4%We(#Ai$bT2l_0{{w1_X|h#B*M^Cj!%Kd6EmsM49IxoE1X6mJwsg}E({ zRN@Xjznu?fp?Mx*;?Hvf6F_d8hB>WY$M`lzLgVqx>YBjNX z;#C6$xCP}kUhk?CyP`V^(7`#FxV6mnPy5TMbsnlBcPOPpsoCApjw7t*M+yL%)QA^` z8x;&3>8_r(RESffW0ckW3Y4qW(#rdt`R~CohMSN7miO*fgqKv!l3h(*tQ45&GE$-B z{00CCyL)AKRXgKqlQ(;CGXf9Ee7Lb<6DUKQC5>nzTQf)9Hfyb1U87w{QTmZ^|I8mX zJ=+<$KFDzmHm>nnA7RD+L1(<--ph_8|xijoFR9)MY*z5er%E3;< zVL8`ez;+&!_)HU%A^Rgd&L5ElNL^wFLYq&BR$4&h$yO`&8kylFrXuz1t9{HMft|S2 zJdD|)qAABVnfI#@k#~3>63sCFQ!;BSJDpcCigKUiBhNVA;@sO{1WRuW6><6zj#mp$E?QjKUb`;YnCW(&M=B=cl+-xV!<-_Mj?NONIF!M^;F0Gk z&3BU!czUUR<=pa=wgV+w?hQ+Fn27O=`vWnC}y;W?8{mEuVyq0MImIJ@kncy@G7f z-p=uEqp7Il6s!3?`XJQ9;rK8{40OnPXp0qng>2TcA=*>o3?{x9@ypcA*?foVLs_(= zz&?rH?#uu`^qg+Rj#q_j_TrHgLtW||YtX3`{}7QbG1U!4_Ycyh5cuT3NgH^dz@2ua zqh0Vse^sJ~oL5YOoIjXXmChBRq5T$JpJkQ2?A8*>E;Bfw{iPvpGyynwxbvhpgD;)+{jw3!)h$pfkpwx<9+u?mHb`$5E ztPKBkkve%w)tMq3<|>=1DY}K4kgb}HC248=0^Yi1`~j-k8JpQ;Q<3@#4P9o%Cz5m{ zP*e0MH#eFrGd~WJZ&Wlj6kzOQo$G6p&7$b)lXn_A5@a~R-_<4N1Al9qbY_2V!+M4a z;7cY4*&bHxQ))Cf90+FGT4h2ORRhNij#Rqfet4$S-kZ708UdM zYLhLJ>DDJY>yyt&tgDT4EK)260gBgAkvAX1+5^w2x}C zW6574x_X@zJCAZ^v0kK{Tg6kftAd?j5;L5^?18Y^1F->QF<$h@SChh8onD5ERdwfi z5R~5A3poKOu8_}p;tK^?@=i;an0hVevJuf^0GJty+j-Y&8F*Z=-_>sP85{T{+6CYD zi1`-YET$96P(gcuL6kWnFuFk?-!%DsguK?8!W!4jq&VfV^Tsts0l@cDxWE}nw=(m1 zg_sBB+Ax3J4Ng60kN1vv6I|(Iwanvnhv5^S_Fp*fNFiJX5t%W7$&ip(4RFRx=cN^U z6M(=(yIvtNlee`ptlGqf;pEdE$9FhTA4dNG)IZ`20rj|EK%H040JXi!*e`#68TL$r zy#SbX2Ba@oEJb#MT}$+1Bt@TYxML_!D`d@kLBEb*3l!IaQ`#;8MX> z&d$TIh+Jk|W$ zdm)&-dGHX--L1D@Tt4~0?${RRc*vCD(H(uF9Va*^RkWr{1p=KVjsM4L*_@@bm&MmB zkVd{q19s{w%O@RgxAQanc>8aBRBGrsD>lH)8(oD??#@iyQTC7B69m&eMR1orC`Q(r zSD>2MuML2AkG5jhd8reuSfiJkV8s=X6O>cc*NVrLBpQ*`Qncp78*c)YJWmMCu3*nI5>5V|ZlHJ+q+=IIyB!BuqfC=!OM;8{gW)3)*bR^kIiN*=jhC{_|mV ztL0kH$|cAQRX~6p(h1}ECyaDzJ`5ltO7W@H^6{E(tu2-{Jl0jdYsKH@(Otq*D)blj z@iC1hqJoTJ87H}@py#Z$Q+XfV_6}n^Wf||cg`W-<@p7_x57#tY@4Jd+Y$VNOp&ol? z+mq?L?nwwZ$M;q%o{wp-SfkkMNT2c;Ny$Q)B34FX2)ct*^d(ZzCFglaw9txeGTA$b#$h_4yAku;_m^~)bero zDQT|)4Q5y$ThV471dija*lB(p;|jjFMeBogm0kWA%6aKJ z=JV@3I>7>fjht`}xxKzK+fx%En?(S}um5joMBLNJ(pota%{rwn_!NvZ%xadBd+~;O z%&K^YU{rQ8nQ@kPMgq4U@7gWhydBL))9yXv>1Xb~t&1r3f}c(T(kl9L_>AikjqqNQ70Bx=84+pVe&c=1CPk(06FyoT~@k6%KAjzV4r% zL#^gL6y6xPs-JKVL8^E1h`1`c87prjW6_N~uMa*mUG+coqP6x>rp`41Q===2%dGf+ z@Sb^SDjsCTQ>4Sm+dVje5?^J$l^Thc;+b8WudSAIL~9Ll#+&cT9Hh(-d!)=h8===? zZ2jPRYAH&+4MXVbwZ)!hMK2FQr@uyTjE2D1A7#iV&=YTT=$~!H|C3~0@{BM6N2tP+ zV%V4}J}6v{{MQ~`qr=j$2{(bnWiU)MFI*Dev4>bKAFMfK&Sf~`o(AX2y5xpdzRRtv zKL7h?K3|Mu*0XlSdRP%8O7d%zc;GOx#Eq~bNR+POZJO#2l{oV~eaAMH7tEGA)d={j z*jZxh0`?i9WNq2{VB-1c^L;Q8^MYOQHpWZVU3wC4K6a3b{4I!mj+7>$$VOdA6OegM z8MyC1NHZ5<&3}oFUaqMD9TTQD1=iUo;FMBsl6@ob%zQYpziKRt zsCxzd!o255b)t`RCMbShrnd#oXaTwmo2CFR-lzNQ6QZjymKZPYx+xs6Nu-BYw4&`B ztg?gbevuVpw9(~|gaaYb1EW2sI>H-+q^|fyrk;KV=4w0XLl+*y zg2!6lYDuQ_6%M;#TizcywBTKugk{tmg2MR-8963{SJl9*AvZh zJ4lokG=!rECtJ<3-w8iu>}2``g%aMdqW#EY-b$P?d_EZg^@_TnuypqjdjNkYBAeA1 zl2r}Sj)|~oJVZMtYZ=%EIuESF~w&rGkFCROk;WWeWFaFW%s&)eKzT+1WWVzo4RK#49Shtb_j zIfJd1o;5v&yo-lbywa2Mh@s*lWZv^l~@gC>z?kEaGR-hQWXER!$ds@qO zxKeGhVr{IW)YSxV$S|VzXshLNdT}r$G2OwDW@aadoTHXd^0EnuH=-}}i5?>7Q*sFE zg;}+kbPs#5K4iO1CTlB3cn5=xE2AAJIgL#IN%k$Q?Fjq2Fxp6APN@DTRIk=0_DiKA z%dZdEmzZmS6-8JwmamW>PCRe5ETv!Ej2VBK6~zb5n}OYcwK9OQ;m%NMf?cJNVbV@4 z&DPyOs-o39qZX>Z)ageZ8p0Vh38LlWo_~19KH3lO3*?t)kWy!@*d*m8!&j*OB(pJ#3^HMS+TihPO~M91xG1Coy^QinPHYkb>5Y~~G z+slJ)U(+|V-|?Sdu9w?0R_tz`GtvYr{(FI4Zy0qbz~asa+#<_m+t5PId5f-XnO*RA z(|Oiztj5;0sFq5n~op zs`ZOXAvjggV%Z#W0DO`DDW>Cy{jwGDy^N6_Sl*Y}>}SOuCBum4Pm)#i7|cd=_DH}#LX5~gyk@z-V#N}q zG>K?vCYae z`f~?=zVWr5^=h!#8(?( zVkp`uIgb*)Fx+x70udwQLCpJb;73g^szSi3j>$v61;V1K@VGZ zEvSn#Bce}92EV9SC%elO17F@oe?DhK(XR1Gk$A76#lKF%y@EejiL&fLduU>FW~PWt zir(BAgzSq~@NS08$Ov?0Af77ai8S{h8xkQ>VS^Mmb^#mRYY^h-|NK+E)QS>kwzScD#`o@l2~7%x(8EH6d);V|ZsA#~r1($F(R?n- z?#@0-F%7v0s=01J_nJ;m+dV{dHQ(W= zt^6pKQ+@J&;Ti_tW?mRZmkuf#^gerGjR+RQP5PP^xXHPQ1ZykXA=SVXhNsk&IJ4Z} z^9-T@uJIw5!FsT!Gpnq-fqEl*0alJzGGnNgm)D8su-;9RG+ZlH+i z3zYEHr0Laatl!LsuYc}`d#u=0ifBD^s;KOAd|+c9||Q& zo5Srf#x>_P$V#M-cm2(yq-M?~#(AqXjc$o>f{K!f&J5J%$4np$~oKl2CZCZ-$)BHsUl!6GQ;S{PWP8?#P5@*Nc`GJLurdN|#l5A>_;03}$8<7H?<(o~QBJ zYU#+Uay{ScP ztY}fTQh$a5Rg%~e-6HY(%*GQXcBlO!dKM^Wfw4OLF&|=uSPVCV=$PeunQfOYOEqld zlQX6IF`sCwLS1~sa+%)rej%Z}55nOeO++CvPav(PARN-97`;;Vv#C(#q$-9mHF) z9$m|s0TG7mkgLf|tvFs=v3hNJsZkY~I<{-b< zNI&4ojGiUN#P(fw)P^18>03zj*LV)mi-ryVLxpUksaEqg^1{yyiBO8DWPt6Tt*G2M z^vOJDfGO!p9jPjvV)M+qE|jFnOm$d+63L?LY}=xDTg=fz@DDYS^hCC=Q#t&*k>WsR zKgwf{numXXk_^*t_e|;(sU2`nCZ$erJa(%g#(lVH+g|1C_&e6j^r`+#pWw~325x5h zZSAq4nTY@b!J#jbN0k7T$!9L|$l*U*Yah{jb8h{Vl)F-$iFRG)4A)&Na5cXx7xN36 zyv-C`-Ej7%8+kUBS=E5@jpWC`gp2t#xmk}L?t9fYYzxNe&LxdUwEg7`*cL!z!H-NK zOCvv<>3)z*O*bd$7_w{Nw&+%oQ)vLn6~dtJCtC4t@BBZALEZx%DSr@~nVEtLNr5-0 zckX}tg+K&9<$1%pVctS7##F<91zGzTNwWsDG^4SkI`Lxo$v~MH`~VV$hYnh6zfB43 zp~0seCpTWJb2uNLZeMmuYWDtU2e@>%fI!BJ8C<&Eit0qk0LHJWGb0bS;v&F$!Nr~G zWV^VCakQw@f14aIGDk8Zc)YCaN4?tY}_mP>(#QV z)fOGF;WRzZ*%I90t~V4w&t3nzG^(2d#Lq{v zihflCO;z`LRe|(mo|jx&Y-TF)N%Te7_nynGSeg?&@y~GL&q%ln930Iu5;IS0Wwl(1 z2;d-+TC3&tH3xs7!N()&UbdiZXA7YQIC#0U$i0_Jb$Qz^3T}|uxMAKSUX0YOK@!*PZN51I~#Xh~4d=t-bw(rCIb zQx)6EItjr2b^3^7*`O1iG4hPPrNi5FN}P*Xdmb^7-|4+L44a<^g-{*Lm~*f3>n&*% zcH5d|aF!*!=y0Z5m;`R!5^2{pP&l@vB@2cD-4BQMzFuVP#VhyY&ce>&ZU%4 zOnf$pbUKup10^9#-rw?;O|@|ZH}10GHZPlrjI|)RfovvGM27}iLKs4yP`4LtU?+31 zuU^>4TKi9#=_Dfop_g|^og_L6aBV6L9~a+{kK_lY>P(M~XFHEo6Eq9`drk75ljgNgk0$2VZocKQSoL z6Iv~FGVjG%<^^h7xt86)m!{rNnFsgEOugzU{9n|g*uOM`e$F( zrA}Wm>qr9WQ1+cokS>VT4pi)HUjp~y1^cet6Sn4T<*NE{Uz(*tg30Qx8wJzMd=TEg z83wJVy{nL~xV~0lIk0%dcb{N~e7;4WSH4zj&3-dH@io&sTpEb?O@x<{+p7ok%s2~@ zcE(H`bhd|zUQ82xqNmz~i7vZbI^?Z+^zFqL)h7N}oA|Tt*hn1o4I94VSXI9bnl(jP zWU)}jUMLwUVs3>^PZqU`G-n!tkavF1cd_Kj@l;8WDw z9!Kwt!bz_E8(-}kP}vTMOwm9r@cG63nJ?|r93%zoRs>4Vxw6Vg>^QC)Q71cgw%&Ak zZx{68@gzIA(6y3NKJP*8>~FbE9#R{sRr%a>WOdPb=f^ZOuY)+N$wyBNZBF={zm2ae3r|E3K9E1Mfkv z!`eZ7P^K0?KaJ-yZ~VM6)u__AOfmf$gP863wf)NEQoxx-(P%enwEM|Q%?7#1DLKW1 zhk;-!{eX?@X_~pGO)X``>#m3+GR9iXr9d@|5o}vv0g#1L&Ji9iD6|P~*3&-pIO9DX z6KLfY0YMMX(6m;|1wueZtDD)jn7|!nwLI_n(>oSu#j(ABoco_`@3(I~gLdNTbjSauwuDvd!gE0zcA9(26iGarS3iFk* zBI6cK&qN9%d;xZXk)e%eMM1AdtvgKK$MYI0_F?dH>q@PmO*h1zuX4vSB+8w~EXZ6@ zi%bfaIYCfu^4>On4A2c^U6QjKh>xZUTq=lcG&{;3t91k*V!OpibYPgU(>2gsk|_crpmwGlq@*ihh_wXt>+VD_K{jmVSzs!D>F44eBvLRe@j`i;S1n zDDr?8jO)gk8AV|p*A>m7=re|ya%WSCw3E^9vkBZ-`69FrIcXFy*xJd_hh-@d1HcJE zTsJZdmPP$GkTj}8D<)%v4E&OYB&yi^V*;QNh@ zs*XWC%~2tEBy|3QYGq{`g{o6)ti#k`GPE$L2z{$lm+RTIr6U_Xlj8XMJSTr6p;xq9 zT7z!12LA*!{16aUT!Mo%6ikNi@Z_jD^aKe3N>)&W{4(o#?o|dKneQJ~<_?__9zuN^a&J2Kv#uFMqg{~QReA< zSd)u`ht_;F^F%h#6V<_<=>Ag|_uu7yVmJ<&8&WZg2b&_;L#8O%ihy52{8uRD{=$0| zc1DP}zWK7g!kF=wsNd{GoxSHc#|hHVqTP9x2gGc<`%Du89xi?Fao_4|T9{%rPo{{G z#h1zO9C0n+kJ+mMe`>@0DSk9XQ0V5Edwe2H#l*X_T@S$H=V@;K$*P&|G6Toc4rw|9 z&pnC;V#2-UtU?t0r z<}*O-hl~JptrKq*9SA3fMK;Z+AUxd>6mqX6lagVK1-ukw-rq^NGM><}H+rlWG~~~0 zhs-g6SaF`F+Q;@hPUDf)nk_#%{PTy`MsKYOO2cv~0W9l4iz*Im!W-d1=l&5t$qj^eI716+QG( zuaW~G5v1B*09Vx5pBnKyFxy7pL{~}iSq37io=DRAwL##AaFE1X2D=tYBpj3Mk7hfd9 za_{{n1E(Ld6jMkst)*QiD7b{dVwgRggZ0+pk@i641+fx=-5H3GO8-@U71kktILq2))e~=q0+cBNngRA!AqU0bvL19 z&7MA=TmrG9xHGg={A`|0%wP0VZS;l66;2~3N?urU1-}ls6DfFjWc#a;44B#ck`i8E zX51oF55nIB+yI)=_;+=DCkR>hs0dZ88ZhW2%UEj&T6+rYx80@Yj8CpNtt34Dd?#_l z4@W-=bq&(7&&&H*oGe0|kAfxCCrWZ4(cWKDEsOvt9&nMR1j5Iwb z)$lGeeUjBY-t=+{>wov343p*s?GRr%)3`l+I zM(9hgZDX>CYHD?{F8ZvAOnV)j ztuabJ|ZxRfuWFyl2wbhmP>^okJiDq?rNMN9WEJs{Eb#}vV_V#XdZ48`u%1klc2KW#<+i8}%b@#h(}00GAIuR801p$?y3NbT zlPVZc2(s*|69LCpq8dYncHWBt@bzXMjT>(Zm*4Y-#VA zXKx-1x>t%Fd!_)KL@<+9`$mC=jKwmFWehqMz+;PZaX5Lehq89t;p}-nmGj)squB8%7AwBSw3Z#^-t;P~Wvb_Y zzgzZV7|Pt;8r*D>5*kh1jDYZ44{&hj=EjOyP}lyfjc|5Io0s?6{*_*t8b+wH?It-= zm2Hpr-1=(zyEMa;jfc1oC-3pVZMVW+E%mK1@wPSZrpWv@HRIOs=64FVRnOv{1{PJ} zg$taCUVPNeInc33NupB#sb#;D9t1LSM!V;;DrE4088&Iq<~dfZl9V(j3t)*J4x~p# zyHWhe$UR5Sp;Ix>89Iyb7d-osL?GG@&_6~ILasy#OZv@n9sLj7~Q=J=ba7f+(616|nAm**@DG5$&`&a>=6?GuK2lCE!4TNYCxJS8 zRJ*qcg>d++%(+EM-n_hcmh*LJ39n;2?JM$*#tVGaq&@@5&n}+1mYPIaX9#-x6e#Q2 z&V+FCf~wl-4OI@I#(A4(UOlpF)@V|F*k=mO^q^j|H{X|j=3%P92GXz#(&7B`wSBLH0U;){3GQq zof;1P`BnjR=#a?DAsxt2BTakg+C5vOVcFfA$lC-?4?L{~tm=>KxiYT}Ro`CKX|-H} zNC+%O==^MF-Zcf&Wen3edD2~J4eGrc7V5c{?H^Bz{0JqSfcr7%A{5>JraC^_YTlxJ zBXS?~*BA3d;v3YqIce_XgWNn2Ig){9o8Id#AtPCX<6DvERu}DH7ylJGZt4PL5?$w6 z&64~hgoK{6f1gLsvqffE-;xS}6r12OvmdZPjh#=5ZL_9Zqu^3k9^D=)(GjX{xfTAy zJUx{2kf+sK^qL{#SDu-ty*HKz!|d|K8>eW&R?DPhiCLMvGn!yUS=WEiSgCdAdTJIz zLu>4%IBaDk?Gu#M$p<}Z^V34B`H3Rn>O}feZ9UXxMSspC$8{SS^`8E=w(Vp2Nfp;MtGci3m=Ck$m}z zwf0lsDV(fF#sd5IfqBT#k`Q3*o!?WM7GPjr(%Z_H;J8VUbsk(eFO9?^Ler=fcyynG zAn_-{mw}0#%TY62>5z{VA}ir$u$*N2w2aU|f%FY5JeD$^bY1k@e283E0h=6eT4C=LuTXE@^3CwjOM$vZ{0TxOi3WMlnvE=12_z5L~d1=8g%8(A%WVf2mYom zxYO+Lp1(02Vf#k@!rP~4#S`PTt383({Y-8~!fQM+LMDa=GQS9KG*!hEb$1y(j2|)& zQ#jdJ3|Z54DgX`-PxC4{NhN<~N}3oti#LX8q(_%|D`wLLBm_YdRk=^i~jOFby32aLB+F6#v85Y8~c z+!`cd%JOs&jJ06S&a>^~%@mcvAKgcnBFj0?hT%zrkV=D^t14eI%$B*M(7(B5GXZN6 z&urjDu2L)ZFwefGg(G+`--7bO1nDppWNw+8Ks#oW&0*&7r;44zFHwC@@+a~HwRwg4 zBo7~9^r?WmIWz`w#4}FDZiEleh_30Ddl&9UkRR1Z6U;GyaZCS3YhxK34OFz#T6+X1 zw6S=JeM&jD9J2BGzUk8szOX~q9||^iU{Sk zOjK7px0U!0)p z8JHzx5G0C>jNQais@#PKupt67DnfgZNGYyPf_OfOXbAu?{R+6nl+pt@I*{>zMFuS2 z6($|IqdeN(gS=I#GgRsgfe8;|^stKutK~&cT7{}@TXo{4120v@KExW-h#fh)V-I^N z=_gHRh+zH4Mswfh$#lZqij)@l-OJYh4;kylb};OXnJ@DL%~mCK4PFFw?>@s4Ry>r0G+n7T1w-^#_rCI8|Lfp_a??xUl|{ z_O~$ztcvZkV&?+MS|r&Dy0duj(NV@42kUl@K0hoZ@rZhA8^2@%!UK1r!<6ree}tv`Ww6 z8gHT?c6i{*?ERb`=@|bqZ??~AI9{`HA!)9k)M7H1)#jUKbDVqPQ?KahDtdzV(vyYi z7H3`i$Q^m%%5$;EF+@>;YO9#X~Z-k;R6etb=uyQG_V)D<9sVBvb0f~i3DK5;)@(w2Hbd?|t6&|1Hr#lJ1 z(dw$(kZk_W@a`QOsW=Af+UTz)Yc$BD(is8aI*lBJ+2&_XLnTiY`FfG{CV?WtjIae*e?=Y#H;dk8wXHTR8Z3}nF_Ye z{*)+He~NAmR^PsK4|iYaWYyjAqx9?F89$k4DmVE+Au~1o{DD^V?GZHSUr)PudqGi2 zAhEEhpn9EMWQe1Y;l#y7{pAlab}^|T7T3t1#5M9oC`IsE(c3bFt`mYHq`;0xk}(mn z%p`1fim(U`CFbFXk4h{jlGs)~~DxwY*Y^&M>C32_Pmi`Uh1nA7@vM~Kx-f)~L z#jVVzUvl&roFLnZYk#NSYbadRykP5)KzeLWw#jCgVPSwwc||Yg$Npw+>A3yDy)*^azcQ{uJ0p5|e}VUq}y>F;myNb(F|` zm(IpM_Hq%Le;}SE&t1NnwsP>ue$T+;3C>a3`!cie8uH((1u;1mHYt)XT`2hyvZcQT z#7>z7^w<|g%__iefqN=&Mj4YHXI!af+RyeXB@@L$nJ7*Kf``!8qzMTdw6EfOKl1S< zUa4j<=#49z)_Bk>j4wx7QhjkY5+y@K~1~f|y zy~(o<>CI@MI#GeX$g`nZ)kp*s=25LOhNt(2Up${i@`oCuxy*7JV=5mmOr(U_I)qY_ z0FZxxvSv(-ten^ezI>K_xNY7Z)p?vcdk}`meAXy%x;al=*+uC>-cl0ndcalK;a+o6 z;M|n!jd#})9PuwGMz%Lj{|YATO8$@e`c55VLjR{zlXpH>nX3Yh`+~dU9rkfgd(WFX zgnLm5;JY^6ozng`?=pwdr7ScECw>eKx?+iG$!irXBw3VXA!|BiC2eE|TqvO`9yHbG zO1{m!`((f#k}9%_BK#WCxP5=I*UXc=gw$-|=dd-$y-#`?BPG4Zd!6lvg2INMJd(dv z^y4Z157#~&2wX)XP?hfIAGhi$I_X)Bqkx4Mmi6Z_mP|K2fcriEXssQ@QmS7vR>>cv z=hL}PN1ajE7ut`=t^F6t3yPy#AR4=lZ~UoD8?1+3UV2aZ{`^n(u{<7S6Mu^&4bGt! zH4^!&8GQSWvEIhqYG5xnUyo^FJ!{f!RhI?bhs^ssJ$VZOxo3SAXYC0P!%b#ijg;lG znY+|7pmG_HYBGhnh>ng0rm9R+&VRe}$N(y}Q2_r|y`FyO27a&^RbJ{DJ#bY_`ilhdhW*q3FCKz|j3K(##yhkr~F^H+nD68uB&Lg3rGh-PDx6I+XnG zAJj_;Ypb>QQ&V5zV+Df3=p%V*xbh7v)}$BFL)a=+Zx2Ved1oG1-N zn|D!7kE^?s=oq-gbnI7uF|0_Uoj?X*S?6Ejg$t}`g?24Vya_|qe%Vn-GZJkCnm-~4 zcZxq#Q#TYOkI{pD6m2gXhJh2Tsd%_kPl+B=q91^zs(Ehcl*e~JiQ`YxbQxAJ2I%px;P)rB=1yf7EhqUwrv83`JCj>^D z>X51LT2F2)=VaZ~E)+E0nEOi`oeA-;>r=y(e`LH?>}-|F_KL7$Jol2KLU${&N`9H( z;bm|t+{c`oiC5G&5$nyG1}P+lITvpPiGY1R$`f@~`Fh-QZ&k#DF^!O#2N=PJOJ7f; zY3**XU*_-i_6z*2bB0Oh7NWw??-(sS67UJVe?-73S7XlD0W4%lKpMaqD$;}oO18?9 z0V*gdcM5tRDi74oGBA96dn+Q#uU=5;U11WCk@ zT}YaL#w%Z;l$AbzhdecOw0eFY4_tA-pM|kv4P&NZiE}Yd*k;K@Y*W2fP%nd68SCo!BpF z19cI9#55RLfiX^8ViCkg7+3u{qwtQbtc1v##P$~@f!VSZe};aTolGb|@&E`QqMOi*#tZ!F*QqRpfoC+3*F; z2FE1Eyu{hxx3=$hH!yDQYjvNc0ACt<=oN_|6F+EE?TP==k9!II4<|a@A5biuJk5yz z-Z3)7j6!mshLXMV9b@txrYL-|#KDk?Tt%^&pW!G(p9__}V4&$bLmSF^^($TqZPBHq zk~PIZqu2#BBApjl&DX$qh+ayK`0$B5S(~h53*;0+ovC3aXwJ5OlDQvBujVNKu=xKYi#Lug=d*aj zkS#ANDp*6<%(g!CBL4MEPauli|WbiSriXAR#u)i)wv1 zw`7>TKhmZjie$#>us8@SelB?iS6Q(xCK=M$+XL+XcX<|nm2qhCBHU*LSMXbV-R%?+ z=-_KYJ){sBU+blCQuu(kuE+?FG5kr};f$e#tYu+tiubug@1A6q2arBL%O{flf8-Nu z6RWRvh5n(g3LQ+mveNqTnL+qoIr2Gj2D0&)SK-(6TrWPGWf$>;#>qK7i+%G1V!-aU z>H%*BDWl~i3Ji8&;yWAE>CodrrXU24Kk!`8v4qa2Iz_67m*%Vwy(d~qwpAt|Oo=nZ zaM*>R=-jJ<^k89nu>PtRE9R-!M46q*=>q#M_F{4c z*CSzW@MY4`o~c~FN&L&W`4}3msU2t zFm&MApgrF&TUWW?KF7z*W;9yYNhA9+Bn*x%=DX~Pwb#}8sz7MRa{Po7 zhvf5YD6^-$j`wf^tx|}Fd7Pk;nvjZt(=({bu>#M;tAvnf1@+g7szK2g*%iQwW)@q9$)?!sQ4{a2VSj; zy-FbZe`bjREU)C!3Zi@POxyH-1~PBJtJ>CB^hFJE)F zly<$W1yIM|THMbW2kbyZ1l&emXEwe+wsk&PR_yCl&J(ZRHQ)Ifv_1(2s=z`%<&Jh( zHESah*-XjoZbR|Tvme-Iq=>^VM2P!n)!*T6*GGnk_YR*{F81JEc9HhF_nSwQ8sAnT z_6LA_O{d9>wURal{YCaQI3t0Yi5*Q|?}%F4f2&voA?t_Fxp(riHq}_XaWZuQ=3H;T zahY!DJ|EF+KeyZc%kcoH3lerYaGGJu3D`ry zT5OVitsVgzq|fmPChk)$mb$}Plw4RW`FPds*Bk0d1|<@ZPt>n3AjfLETs>F5S`Q!} z4<}}nThX6LYm+A2d$wA|?nG5 z4>Qg-SGG9duS`*UMt*(S$_R>`v8={W8+%ek9h5hCuCzzb`Hot>gJ`cd4tY`f>n!7z z1^>9Quc5zPR!bxMU9r@2Z@m776-M|lKZ6yp@7o=gAQPutx084=tqu#gEkr;c6*0ax zPeUx{U+b9$lubXNJGV|sEq#VYCgmgw1u~ZMBnp!`{ip?=@_15d0_kC$qr=yVjUZ!9 z_m51vKWVr~x#)1s!!fxTVLft|5`@+9*d~#QgxFW}I@YqLyBuqo0#t-cp(1K$?Aym= z?EkaHXJz%#oRE;D%t_YPiaE(!2M_V>X5E+*`6@1;Vn`Hb=RBnl&s+(7APeTHHkt6i zD;p95waW>@!7-rZ_q#>gaignK;HxTJ^GAtyt)8QUdR!iER}p0iZgqRhUt-wksU z$hZg}aV%#Ya0qzoZEO=JzmOPQ#9?SW1+nzg6jTg`SC^F;F&XlCaSCVKL!g*NP;)8> z;RY7p<$Ejv!KHlF3gi6)Oup~MwSYT>X(?J5&USh8DotQXn9MG^~B#d zsJ?2ex-ETn{{H+-IrUBD_F`#@pKB7%>6>8dsi;l%f~_a-K?I35v%8@2go;)P?zkuX zjd1Gdmme0jHTAJ@@UMw38t<)E694Br? zJfygwihVv{q`#W6M_|E=gLWmyjJN5r;RD#wZ;JkUf_deVzKxm^hHL`*oF~D#75f>l zJpE`_$e*TOz34z`^J4q2-|)oy|3PVHx`tXhN}Q8m2I_(uqpts&?7*R-1P)0H{FGYC z)1WdFl+Y`_4CxauvWF2%)FYPgw8Kk0A;1rJ86iM8sn|^sou;UQizEm@dH%mB2rvp` zMCUyX6V#>jm|U0XW`R8r`30=Gr!e-{(d@ypw(;+von6cR>U(acU+LWpB8@WK_r$0OH6OOQu)-)ZY|+4Qa7VK0F9{QyNOWCa zPZFcf=k@M5EYOKg=S)(4G7~Y+C)wk5;2P151Sbc!202x>*DL`aVE&Gx*m+YQoRs;X z!2VPEwa|gqpk$aeOPIJoTF|wG1grXD`;ILzsKB8vk_r_O9PHTzd8!^@W~eiO!|71a zy-e(6?hYtP2rIC|BzM4-l~()`!)><8HPZ-hIa!27R>`D$Pr6S<>(t;n4mtN^%GIX6 znPGBXgvt5SVp;4#=Ll-At$N`XE!dT(bPHcx~kd8YF-#qHnSsPMV{io}J&wa7Ch%Y?GLDCmsCYD?e;$|Rz3Uwr1G?~WzWq1# zP3l$ONZkOGZ3~`0zbzYk-VP#g$w0>6oU(93>X;@cUF(mdK)!rt>zcPtd-_zq8}6Kl ztRyoJ_=+?HMQJ^Rf~khqE_{VZFq&v3E48eGYwv4u<(l#+p5ibHSGM)Qn;`Rq&D|DI=wMsW@;~xN=MdH%COb zag2WCe8_^O`-g*n93E>>aP*BRqk+zwQG2E z?f?{Zr0A?34c%(bFu@Lt;kzHtenK8@V9SkkM#+p1=K!F%O>+XUy$aH(baovks?2cs zcKM>@^|1KQ4fORR7N2ElHlM>U-Cj`cXA3O`JPWuxNoQykS-_nVNL-)Oj`Ytm_d~MG z{je-^UzW$*4=;ze@0;W8KhORR8N`r1klTBhlso)M;l3YP;jihulWw7&S{Ls0HJ+X+ zVPCr>J*i^nXR1#}g?c;T`yO@KS z#I^PeZF3e=o=AAJfl(9Z*2f!X8R^;>=SG&c(79H^{S4=U;vurK_~C$kA+_mHcn z(O|Q*h~Wn^Sm-ePEeXG(PMax>&(V{|4*+2$PKhD-oFhWf>T(f!)#VFa$q-G75{T>K zJQ@>5-qjMIT-qk*T92&TvF$Uuoy55C|C(AyjV1eesR(!n6N{yWIEYeHEJ#lv>1x?g zQwUS%@KyGq`ika+>{ z2!uj2{%OHU;_OY|jp9M8$Nj6>PqaRnlOu0^C^pO~*ZG_Go-;5{tH236S+*bC;?;q( zF@`bdn{FvCbguG;sLKp5madJ^U}GE4!Cq@S_F8@`W#ZSF8{sLrl2hY!j((QtlL%gXrQ{hiQ!JJOZ>7tLRZt{GxTWU z3cC0lAtSCYzY2f#V0C4e7pNn7UlTQktViAq{ytoJ$axjPO5McGwZtLb+}%es7X#X9 z_homSlNva=Ht}(|^25fywTTz%g8S>N+3$0CR5$_uW{)^0HRD$l2UkAZen;ykJ++C} z^btJJ#W{&F>%)n6>n6SxPP`o6e6SC+SslGCQVh`Tb&0+0*KPd-MuwdF)YSVhfiDP8 zq~5ewcAu?qeR36q7`d9()T9UGqcn&suiHDH@oP}U3(QE*P0e^%ox8R!=}ia# z2&u~~A;FrQo5akF#NP+@tS7E7$HL=x21>%Ii_5DL@3(&{lN^a^zeS=pvF%AszAx3` z-sWnK&PnO1IRqF=e1Lc=v9&fitG!_?-zN4X($$GWtW>=&f81s&3sV_Au{8#4%n_de z@>4zjUoO9Sgexe{tS@I4nT<`*RYf~&E=1vAJ2(CH?0HaYE~Btd&XmvK z+|N++s(&i>i1wiLNn$)fz{djLaOhJ5&L~rFxhq9rZmjAr^-pi0b=vhJej;v}fn;R3 zfGe_kR=~cZHaRwJW!ld}=GD1s_-+Z+W<};$Jxw?5kWcBF?`D8twoZFPxd{SNc5-YsJv-#q#xcNw^R+cZ|e%Be_ z?QysroX$<-gI)B1F&5BeiRNV+D@S@QOp*M2W(0I?>FSvjeV;B>Q#sxA{NfB!tx0Td zFTu}56P+~Yip+E3f2XkfDSr;@FO*psKp{D*X~?wgOyz4`FF?y?FVv(47D?0+L@;_s z`5tBWYP9{Q!$C_6*%dyxCf+vy+g{K3Yi^%AtzstvaBhpE1AtaI_5Jc9Rg(Hid8@LF z9M?qN_3ji)o6N}-JB_UD?#;oS#&iL3-?WhR#QbUPALHrSYlJvs`0{GMh)jcDq*QK! zowpC~-6L=#W&`;%{tm0^KF=R6z8BWV))+Eunfvvj{eu4QHzDd?sg_5BqiR}|##5KPt`As|c z>TiOT-8Y}6b|9OL*N!t>I;L?%ToOQg*Pz?Q%x;x+&o<)Rped*-`%rz~O9@?mqF8ga zN!<)rj~MiE6M#R=8M2G_I(+t+-(MQ?65YVkc32nArdG0HBn1P(Es(+zVDaKjVp7#7 z_JvT5lbEJoB7hvyFiGn1lm=%KGD%WYl0Try8|Fh<@(ZkqTvjR zBwWyQ`x`6ss&uw+6A)5`-<40GoQ|`?_U~_k7XWb<2lr^!iruq#6|#zJCR;=$Gqrv*uhwuXRz8_x z=B$JPyraCq|F}xO261S`R9#p(l!*8xmhfv0sS1a;S1r&SXM4!p~%Qs)KE2+C z%PRL+v-hY(k-ruGf{4$3hCdapevT|*-Rm(Dt$00eNw~~ZpsYXsDHKjUUM?yH4AK7O zQhGrB#R=4bpgXTOdp3O1lh_kp^Xz?$B~Kc$w14F}6RhSYj36LOtk_MS$r-pXwuof% zOOw+(dikd|K}(gwd4#9WE4G)16R(71)^xBgS;l=UI?M-;Qv1s|YA?d#Z#Kl*eqF3E zp)Rqg{91d0&St!hPpnVY6ot4;FWNIn0SIxjMhZNjE;%X`x#f(2Jy}CQc63o`b>c%! z(zS>%p63pTqHyBeQprU*3Yzi;5=Ln;EqTM#P-N9KF8+)x=kJr$H74LZuIaB5!i7wO zjHrexSX7rBR+C(@q(%@Ps{CN-oh@1g#G2ql-;)rr4N{Lq@c z0~cjyVtr*zz&SP)S@Gq7GX|pcmf})pxMrH(;yo?ATIT)%X8-~&agGx&q6GSExO0R) zBr;uccG;su3WTonySilvT)5rk&O}+!ws@J!pTx` zK)*w+a}m-$V{(X=;y0kwJe0dP{XOL4aj3!^zJ}r8Re`kl1H%!(I87w6;y0Cm&dX7JKPI6K^ikO9> zWR>lgsAE-ii~$-ig(f~%i#@<}A{A@q7ElLaEG{e3)GVK-@K&a(bCT5^^sTx)jKC#J z2uTjNpYCz~IPX?)Pe}S4tL4Kr-BI#1=+1>wT4##bZ)84{)M4kEPL0eiM#yuj(PSFT zUFHq%vN}K#g@*`vbp~BRz4sg;bvF!A*oAgu|7yC*v7SUN|}143XPcqc8Hz zenEDyvV2Kx>U=IhfoH5sUR_$3yrrxTtDuR03vcf1BmRLnL(MKIp_&hvy=4X2OZ;ARcaHdndS!k~>k}WN z+cCtyHqqp8a8JF*0obE6#DDvD9v9^gB9!(oSyh@oqAt+}i5yBy`aaR4!xOjUSb%Wi zIr~U+RK4H+4I=PD`+wii{@%w8Wpxv~a-~J)8zx|K`%F`K#sku_vXmdRfBKj(E#Oj@ zU}6~Oxv8nY3@4UN$U&Bw3-?n-Yk&g<)v3f15c!}}d#c$$b=r4dFEbm1JEJnIjoAsW zwQuxBGK7PeLd$)F!+ipNWLRkbQ>)AF3MUJ8)FmggKj%`Ku$*=-m;olFf1nuGzqpT~ zZ#N$O2ELAD4<_EA_(JVRqL=>414Vq%$MHcXV3=;J%D|eGNT*uy0IwwvimbSbEw12T z?sM`507x2g^#i|DJv!GDv`-YxcGCWbSe^99F); zzul(+)3C~#30C|L|3#@*n8phBAmb&rO;wRX%`_F4!u5m_^%n~RLu$R>{;i>2O(1-I zkSf?ySJ{RJmU`-w^UB<_z%;pS>aFHAX)NV8PorfdMu~y6{G2H3qQo#M4U)#*+ZJjfI$e(d6c3M~9*-q)3meh08gotd=W^)BP4dSpq%toH-v$gmE~( z!_K_aoL^B#mDN0k!FWcuGuGuB-Es{EMi^H74-ARZo#9XB5(NrZv{qMkTKBfPQ)!5G z$A4-!+5XXuJ9{!fSFPAEGS#?$0PnD3|7D8Rc7&7trB@6qnB+!pllIuBwNL8ogB<+> zraJ^`}e6ia{`I-W{f+QVZXAXf!i`fuMN~n zu4Gy7ZB1Y29aQ=_eUlF|dA+|}-+MEUYw0Bctng{HiiPAqGuz9-An`k~hL1D};NzqY zBj!vmcL=Mf6@?1|**?ZL@k!La(WWHeIS4ph!A=ZMuJLB?QtD^rtS_=bYrq=Zhk@&ImxP zZmXIRti>27oFp(Kckm=UU$%s~+iu(31$eR?u(u>{ytwa8w&BllJP6)s=h>3JUz=zu zO8?Nk4}$@N?XRH~p;O(HkO`=S2>M(E)x@c)<*ln*yd~1g07mSmEUtRWWHJ*9l7v?X z$AlG+8E7eqtYE%x5nQe;AI?P{C(@emHpp!fmwM`n6MRf`#gYK`NUl1A+3#nHWX?b5 zUD%*7ll>s8s8xt=?iK*iBEZvrIw}~^uUZwI;?HC5t`5oM*lnP9(XEdH`s1wTqxjxx zd6`%~BjQ38ek>olR!yv<$<}RmnosGmjKtRRAY~;`%}%s=BE?SphL^%|?kZDU>;w*a z2#{slPj)TYx6hw8tznuKpGi7-b2&|?cB4Npjbx;6MN=1T zf}e=#*vv6GW?$@rp>=i7tg(HXNBQWAvOd-wGu135N@3aPFjP505#=Rzgp+_S=!vu2 z2bf}BxT9Gyzu5rKkyVoA9l$_dt4%dqsD@=HCSu~HaB_fQ@ZiV$N0w{RUN8j>bHMU5 zd)4K`t$P6u=F;1;@p^j6Slu6+q6>LFqepA9p>@x<|YqRn$Zn9>jKWHh$pHO$k$O{NLKO3_VoSTBK(~rD_Uy^ z`E*ZfDDfPmV|7x6-jv*TXm#RUUOA&B`aC`QQ80~n+o3*7+s%STSCrO$ zfsvS2@8Uz^^=ihG^Qs~nejtF#+yTfQR=+q??ItHJbW7~hh`cUdjhfkn79Jzi#zMTWF=_L|X~VMa{H7?n>(%o3Z-N}RIcW`HBq z*YH1m8pq{DGC<8w914fi8xpcKh^`^HMS72o`l7EPmisgksx-rR+2gzqN+p9wn$yqB zvxD~tfgA2=O>Bwpt}!4puPWLUE_69xykytT774mz&KIhC5T>AUo-}j#%56ztA zb3V)a^ZvX)@6UU^X>F8rywUIrR>$+uF#(0M#O~IzN4a~j%g_X{lC9+|-q`>bCC5_`+A`y@`)VEPRkTCS8RRbE_Un5c~}Lk6(4-J2o-tdF9od z8Y=mp5Q?CCa!*b;$!O+(39dj+V8eU?W6K}5Ng8SFAjxccc2Rzg9!ZgN^6hiP1}K8Q2)P8?8j%rfm*vNke4N80CaU?~ zKJt4b4lVRn0#^TR@{R1<{o5-Vimz|h+}QcCm@zo-Y6Jr`0{Q_$A}!ucm(@m8%y6Ey zop&SxJ^{cxYt>q%54owizSw7;O+whZqIiJKF=r?0fvYx1mX70BoxvR$M-s)fmVkHb zqpSDT9p|Ki{e=!6cKYnWcIwSu=Mj7ICF^?=hhU^@kL$9#GP^B#o%I$%aItUHn*R4y z#`EUs&30&AwkoI3xvUy*qkM%xcfH@$>wkx&CAIc+JCa?HiKW(sn<8%~c2i$idv)1s z8r(&53DTOF+vLu`XF+`ygoJNP8sk0*$j0Z;_Gbk zLw!y4b)x9Jt@0e+M%~NIIK{>8uW(Qpiv;?xDPz40d{C7$FnxbeEIp$&7I|2KDc|*G z^3q6BQr)&lN<6YHVHMGpgLz-L-4*|24}`G;))akYA9Z$Szg3tk!KWbUNlcD*Un4ba zsKI?mXDLn2<|g+~y&6c@yQKmsBPv7VQ|tW!ya1wMK{T7aH%IG~r?|L*64SoSEl5>t ztT$&tfFMz9F7pNBxbsPImsY?6B6xokrcFgKEIknui8b>)awyN+%{{R?3SSqV_kxOu z%R>NZN+vhOF|yg8V+h69&)ZuZ=29IEWx^JoJiU5eIOA|jbE|9l^+w$y>Ek*yQ)N{s zcPe}8YIqEVJP*kyoF`U3Z+MIM(e}Gm(x(INU_*Q#Gx^l)Y9%en)-+SJSoe~ z>=-Fj{+)bpG3S*mX*wIKCr_)kuJ5$&>1E%HJOA*S$&VLHHCE$#kp*@&Y}EOQV==d> z0|ovEx=|e?GP#UJNW86cO{#MzX%6R?K~Be_B`0=Ydbu`4cCk_`C8kt@MK|m;)!69< z;KWn#K&bM0G3V(_$)Yrol7ch|J>VDV%@$(TV82HxzjMIw4tW8lwT&c z*dW!$D9!vk&UTa486jEn)4 z_fseWHO1YF!`W|(oX$*-@*&}TL~z&3f3dA^X1XkZjh8)nVkh{&Dp$yMrc_Pb8gqKQ z85C?9_jY0gvTBTh$50mNOBx~^1bX~=|!74C04iGDnsl(`#~YS zb|(1a9oEv*s3n`G0PYoR(`-$K6x20atGlNvw9Vo}(=#MQK1SIrI_=fk%Gu0yzV4Z~ zKRv9_0cYpQiP4$)6i;7s7wd@f1FY2f+^4P(-~1tT0`fs1LE27TfoP*crqMbaZqN}n zd0@Z&t}uW^b#7Sl=jb~#S%KKAB)Pkv5*q+XAJK6g)feg-v!dwxnq9uHZ#Z`m*g>9DKK9*gR12%5e5b6|jQ>!_$kfXH|AQX*J`K&g5a4 zD|FJK_9m)K?w9#Kbxz~~Y0>qBM4>#0M|wyU%SB$^Xs0zqP~2q-lI6+ybhQGDFNqD? zpP~y$U42cRR*<&s?pJp7IbEyNJuGrMzCe(G%>mp(XJJ0bL|}TaGc@O;uHdA6rw+=w zRKhwezni(;l-tR1?SH5!n%ap#Q#p(a0?l9Ojy-8?>Ix&!yix+qc2gwhqLajFcc+hn zr!&@Qs(U9Z8O10z4&EHZQ)xQ{F>dI}oS^Td8qO^pJP`Rp2xfZP@69g-x16WaJDD4} zo%j@|JSO6#xYM2UaF?T1Q8d8saMUq6tACwp71p<9U<&GoR6f0sn(v4rVa5^CYW7k)v!k7kQ01 z^twkY>}(4>mo7|f7G|XQEU_s)1JqH56B;L4-Hl!0t^_faNt zk~e054Ry9Uc2ni@22slQ9n?q?o!rtgNI|*`FfsF%`bpWfIS^m6A;HR5mv2o+UBn*J(JVyW#ZE zDmq${Jx}_MI<5u)S+wNaNVb+f0ml6|5cLFJNJWwh_}@no2L`Kj6iGdTWsK=LqhJ{iKpYbJdxAJ{K4p3c z*m0;WN!%@K!NfQ~TLEYjm2AL)5H>k#;#2j`*3^dstZ5$$VX$0m*lHWT8p4LeRx4s2 zJ1y!0|Hj0OB!`GQ5A}o*-iEfMItSE8wph!Q`z>{4^Z4Y*%(3R1oLWG!KNjMY`hj9> zvow|RP0d02Mw^0pzqQ=nw3CT$n%odpV9l~B^ber`1K#C@A_0@LgR7kUg)JHA91|xR zw8(SZJtv$T8FMF#zK%%_=3zxiV(*4)PsWaEP{T3Eh)2lZ90ShDZHtkf!==R2r*SYP zQE1Gio-t_Xu|wJeOYO%}S-_)|VON%itcJ&=!BM??CW$d{RoGpez(70l_m&4@?og7F zrh3+}Oebiw>$C4?eydB`z)Ca-^L|O+#wTv1H&p{T#HPAAYHmvGE5)^Vq@2@36630z zl}_?KgKTHw9r@Xr$xmz-ieNOF?B7bTm)&g6ubIDIzpcmzrI=r6a=N2Rj4OV@c4we` z>XJW>3CpJR3nH63lUXZ&%o1H1-^ zd$ntCuw_CEjX~rum!wMfdJ!1w_U5W_8W(mIiew8=?rq%ZrOG!wi#gyto;l=a{osEx{I2)z2aMBs?aa)GelPpWi|~KA z6?kH}6?3-5(?6(cMbOsDlM=h9y{b(Y{EIt(2)rQvP_=@4y}Q}GF&>3FZ5X4J4 zL9-r6i%^57L-j+ab9WzmbBQ;9?sodLmIL=-{-0HDjl`(ZE|0mh!28+N7zEnmK$c#3 z?Na-}m6yJBkN&f*+dX5mIla>EnO-H1114So z)4bE(*c*#<#UUuw$(rNSWr{-`606tsdYL=Qit#he8D+VrSp4#bI;`+ahd(h+fLcOL z8k1LvKiA@8vsbb{%~Mlj(W?Wq=jQRxhn+KOu#*^!%!FYgZ5^=a*tqjZEPW!=@!oN< z&_*E0Y>;digS$8B%YJTRKbpT}zi@rz#g_Z#4XclIxBPA1z^t%W33rZ zy;XJseGMb#sQNPSQft}Eir|)*RSd3rorN(e{c)un692&>i=~@5HJ)10-f3G6Qmq2( zB%x_C=%dERBexk^ksOo7H>I7K03V&VbB`1IiPe7TCx~LjJzqhkJH201sXPzLL3=!e zNRg!rB*pBINz?3=l!!XrS=06Z4lOv6 zR^m=;CELJGA~bOzjytb=e_tjsuus4swT)r-X4#M<*|nCXq?gXOfUc`hy$+X|^LdXy z6~t$tx6-8^_pYion$mKg>y3teV*6O~ut;iNsCV{Sv{9_ojud>u>N;L|zvfeU^`uX) zSS^!0&*gy-8WfsQ!NP84VJq~E)@>|(d2>8{hsxb6@r{;hZOnODaxblIS*;(EkO&lAgE$`*#bfgqn#1ue`o`IY{+}+w zRJ_DDW|nNLzRM1+W#uC!d7iaK*jY)Oq^C_!d4=ssDaDL?JG32*uJkBXNK+42(~{1YosVk$f~XXDK+BeIA|Uk>gTjMV@FeF7f{VBYQygNwX8?*n0V*em7MY$%{G z`BYhD8U69@@94)r6y(q7leS5vBr(|J%gYmEwRKw~8#uKc7K6>zfhp#k6V6COit`Qr zfKnP6li)JQLNNUekD+=ZH`p6cvMG7ds1>&w-mpV2Al!XJQYw7u-&IO$@9O26l6BOl z^t>O4+Ns?r&W-zkVOcxkVQt|zmFn8!JlgeMnJlJKZ(tmerYH8c7b%8v#iu`3Icx?J zE-Yc_uidwX==G`XHS-P+){Fn%Dz9U^pU(DQ$JRf+l3)B)ro+Rmt>fD|T4n#&fPFsJ z9+ydc59Xj>`-w5Mji-y>;JSQ+@B0n<`kvrDKS6^HL4$IT$u+o+2G=E@!6(qCH;vG( zCg(6gJJ$6Uin8~coH^wvJGR8#>6mFFHGR?U`mBs)3Gg8PnMynL`N)O)X3yeuD7Z$Q zOQu3a&zg#dYyDK_Zs&kSb%Z9w>B8*zc4&=0wl{LZ-k{Aq>RvJs<;htC38Gd%FdTWJ zyapoDQA$9NmpTgV`a*TpRHO%3gDB}RB7CK>(l?iuMQybVX`&Ud_%)`6X9VKIwY zPK+BY#jWyEtNeJt%S4d8LnIStjZi?{j=X0oP<1rynrn3TuA|0Dhq8|L!qu$K+B^~--~BMNV3|9V+F z(J;17tWKO4&8qT#j?q)Qu?{XzOvm{Rh~?f%Ie#=^oJ;u#(l#tg!l|y;EA1ic4eb-$ zD#e{*{JzZ_p*@qVj7(dxmdE?k5{QDKCwcv$5I@owP9EzHiVRNHUfWoH%#8Bnao0AE zJZ8qo;$Wf^X{<*h1s;WCh>s%!Z`BcY*UnO&e2n%jZZ&CJ zOB~|s`n?Eqg%QI3+A!D-4)$-CvV3dVO=>Bce6}gFGuv@TC^HvkyO`s_88pl&t&W30 zICsXdNaHZ#_nYhTNMkvvMa{LwYIT%yO?bFT&YIL4$S+pTm{d>b``1Hr5j$M6-~W9px$|8W2W9&v++H?nS&oj$NKzBY2HhGqNLS&BcQ0Hvy$_%P^y1PCclzNBG{Uce;fNHv0kwkZPc|*6A*^jJHn34j$U_audYLv)nwj?5o;V{8Yg#8`+?>r<-p0)IkObPn5a1^t= zYAdyj+n9SU@7^TOCXlq9u?T$M^-iTpPNN8tD*0~Sp44D1?VHD;VQgz<&Tm?&CG;KGQ8OBl+(siF?RAYT53M&=1z+E0JP6@EBKjN`5QN?;rzw<8ByOx zsBilQu$Vtu)2ylB)Uh^Z)xVrsWa==`C9oAkjrsWY|9QNL5wXa*6{NlfF(cdrks(^B!&sKXtF@r>6KiqaKEXy?mj)@Nz+0sPOa>oLFYlgS%~1pf zB7J-vUXL~QgL>;98ZNH2({4GqYdfyk%3^m{mkh`}Pi@gp4>})xhSVZef^b3qco+^Y zds5|vhZVskQS+7IEAITYnjbrTe+@q|cR?$e#oPEEGql0`<^pZ#7T z1>?^Br}JZ{Q*-s>q|Vci8KA(yg9~}klbXxf1j2zMcWOD8JU6MAoWJ6hqOVu^4{tR; zf4zgBIo3x4VCs3U_3H({y}@sovz?w-@Jk;z^H@Oh4{IMS6f@dGGy2?i&1(|6b+B!6 zkbJwhDP1+eKT14oik5Lo`MuKK^T`%{l3s2A?zn1?ca{FTa`WSwMjg{9K2TR=@A!}y zYFQL^Z64sHs#UZnRl|?|0lP9MRjY^nS*?JdEwZ=S*|RJUFL#+HY2qWkJtLKOb-g~o zxz4YAS*~&)9k*YtmBs|BwRdHvB`}JrH$Vxz~tPZ3=ynEibgO zLbhT=M?I@*J%^t4P?W?6g}0KwxQCeb%Yyd5xJvCqz1~i~m0c6#Sdrq__f9CIJ{#0zACp$nS;a2%FVLX<4 z+i#Vnp7tpMwoYD|24^_$7EH978>^ z#Z8n~uzP!{?mmah>}$o)t=H(sSD8InBf;{N-B?%Uk_A@?O1?bik5_6XbsK9P1RZeh zGw3}6k6_A;k!oV3ShiFT&I_2)c>l3uCsPFv_o25b2}-6K%88Avv+U7bJNjhk%SKGj zs4~vRpep&WyX%e$MM* z3Z~YsPri-WRbO+3sX4oK9s#6Q#Bk!s!w7Oo2V=DM&wrhognAQ5&)LtbjCZ|8<*$)pvoWUwlu`KCG+f@oQ zyv;muGP1;3!;_eMV^u37Z0etn@g_$UnF1jRC^9 z1uWs9Tlz?inC^9a4}2ySdfqsc^_Z%^^9#bDK43~A85@rb0!n7**H5uAFy#yTC+nv+ z>im;kQ&`3pD10m013@~OHiu;iTuH(;RsrAJ?)_RJW-ehi(FnLhjTcCVVCUyMBzLGx zY!vnxD}h$|lKhc-$Q9=eLZ^G%&NOSx-p+hC7~GG%)n2)6DDRD@{{_)Q`lGM#p~>W`bKpA73V}wtnjm(|m06 z&N@_;qc)vh={v6+FPLK2o_*4+S3=gNPu!aNY=Cvm&GgxIMV++D(f{6Xp01GulW}WH zD2W@J8G2%(QD|8mrvW0?N4fETNy(j8Lh-PS9!_QzkLn^EAWM#>^#N{@x9b!?igMWF z_}$&-XnnK`h_wuJ{lYHsLVBFqzMG=o4NY8*@;mtiBLs0a@NssR_;Ie;=~-?=Kv{p= zXW!Mxl#$aT<@^^5c=2JsmaZNrThGXI`uYaH(2pqefqUu~NVuF) z*Z5=U=xp_2Bdn6%y~&<@zq(Iy^;FLn*`vJ*QOlqMX&W_=>(|!Gr73Brm-%do&-N_o z`NHt@21dCFu-X*^CqD_9J-IVNXvsAtKOof3;t|{BaaNvrSgV+a$RS>1QyH4O*5bME z^y0CYvzaDyb8isia8FIAovoQ7>7zm`y3R`sx{VoHv(d9Gt z0kYbsK@MU4~mgwNKBz8+jBh>z4Awz%7h#<O^g8Xl=Q}1-z z+g`Op2SCb~mUoor3W-dLlW}JL=d)yWT{qwDO2z$6+=+u7l{`H|`ke&+0epUHlipYi$WyH@)A{B3i^&Sc?y#81yzf%k$m73G8xkspWE zelg998%@!v%sJc?dMkab?Jz$W7dvDtad1XtY6t_AKAES41#;%{|K7H9CKDda(DBUB z$xKc&|FhR3)C0@;ziWL0NjgWR-~jFJVMm@$-jbW1baQ$3{)W(;u-lP4R-7brBO)CL z=<$ntVe7VK2V%Rc^TfG~zXyKq^RFF0LH)H5ZzBkj8UGHA-)8oEOaq#9@SxJ}F=j00 zHuZ2t5uszI*aOFI)3lxt&g=;Zg{rlN=mD!jZVO%Nk%4^;; zHhcB2X&AcwQDF*K;07@lDxY89INVw*uk@{Xk>&qvi{Q}llyb#vP3(hxQYbMy)wA75 zCvw)F7a3_@BStlq$$k9+jV>Axc9egjmW+&h#E5V&uO_!HPUkO>ANtjqfA9cpQRLI) zy+z>`{%g((tle^HPWtCB(#SC$##*p_HWlwW^eZ)Vt3$kt9}336`Bmt(fJoc4Yjs?y z(E**U`$^KUAM>TRCYnb*1`zEdRkO*KdYHBBM0QZD^J3=@`$;_Xdf)5%aG&ED*fd_~ z=8k>zebL6kw0%eK0uGFUkKr~uuct1q)!>8by|UoS-%K6@k1|`dANw`Aw`!C0iz+Bx zY6lq!H|V`abl(xw+X%8G;n7N3wfk-yla-YS?EF}oE}WJ5*w67?p|Km+9)jJ;KOSMTiXLo&+oL*|H6 zli%wP!i1eAf68`zw=WZcR7mdQeDt0xG;1HjQ@PgX`0PS;{p(TSDOmh{h-oGm+yXn2 zfxh%9RY-Dl+bThU5tJrQVCB#GPgi@Foo<{v-QG(Yjr{J9o)nSBt`Ltnmut5YDk(yaT_LcwGQW ztNl6p+vHvlj-{`w5j%tIv_>%ns_lq5B6l+!j0DyZNCt2H544{gk3XJF8*02e<0ae; z8^3(X3lxjNX*hUo6^@P^ybTB83nyi zZCw;dWsI-mR|#b_Xf~?CpohJm7s^Bl`j;Q{A8!A~LB}GmB!)3y_Umw_ngNSZFAvhcRF^*5|!K_>gE%qtDu<`X3AoeKq@`d}`qx8-sIcdzKl>5eQ2F(J@|;9$wMZ z8RzEQf%R&LP~64+fSu4`uD=c+{&|7$VV#c;4d6oq_<&1YPeUbj7VzPt0%-n0fF>k7 zvTFLy`2aT6$l)1$aQ=HoUmIZ`6}qsr7#)nv-o3bTmqolANafWZ3_%*o6;{&Twhw(` zW;?ffG!DIlkuXb(6hQ|9%>vRC_yy_LohPEsGX!1q!&;L$w^`~3whs{kciDwnR2`kD zgu{t5$r0qs3$Wx1t-tTyD~|pR5is0|n*OeL2a%r0?)m_y<>&0sM|Nmid?F#%$h;NW zq*H6x+k@=TrTKr|Zvupa zl~s1AjIA5YY>rNX2OoKVMEikRPmSHv#qh9W=@9!&f*m()*tcyPMGPuc^e==&i4m)a z_pTk5UPiH-G2FHH;u=YjT%7BdFU0!xZXJrKLg&HQ6PMXT24S9%+&jB}Ed8L76l1Y#j)wnz0?s8^E*LYPR9ywu zjvx64w@K_r8e_1(K-6b42mas>hVwa0lF23oc^>ARSP{%n<~x+Jw{5WZHx2$Jdk1?% zMRHTr?axcV!2}Lp^rrHO=b8 zk8rjP$1wy!!q)XB^GTp{W>$0lian9Y1C(o_KT%|8Tyt|JJ^K8za zY!?@As%65rC)6&7d%xOah*C`_ zAx~nfURF%MfOi{ibr{itd9juknIYnipg1HXPTQYbD>p9rOv0^}lSyK0r-%Q2DhH@s zM&f`fM??An<8Sq`fIvx|~wR0BJ^UUEKj7^s0L#_6D zW_cl=HQ!e5w=FZNkAt7CZX#V-9n2?_0&yLy|tY5;yxQ8mm&w?8uKj}*OtrT;Iz z@Hy(X*6*@uHTfmIjZl3|RO-GGB&Uqaf90b}nF0<6Ao*%2{v+SDl`u>~1LGTGbsRzq zq;~rjn7|pzbp9q&f<01f*ihb+nby#c0{wa#+9YyhwLi&KciSlbvfl{_XBWOsKACx3 zL@YRr_-^b3yWI23po>lf3D%d9*U{>@S>Kqth6a6AguEc|I5UFPHP?*yM1c^;v$ z`lH*MrXIIiv*|7|tUR=n)CvvANS?)fw_g{rhk3M2xx+5wIO%&x|IZ3Dj-Q#XxsEwi zu>uF#k%eI*4{*HYG8x9>7@JfsPYoxAN)SKZjx>dnn7;@zQ;GMNgFJ4l--8PFYd1fB z=E5uvq9=}I15^~ljua35YPQ1QX_W`~Jz4^;*Sxvpc`AB(tkoW({_Ge@>o-uq>_q-C z=~?yTOH1vFRHg-O+0-u4L6`|Ir7EHBVoX&POn20agbm7 zOiCA)4_x<$9HFl|_AvC#2smu_&YJ} zzcUL;u4FnRE(-F?m~RgF@;8j=0gC3oll~>x3#|6viFxY6?{WJuYpLuj{p9N%NiH)T zx;NE6X2RrMr85-B!z6VN{j@L0bV=}4Y8frXNUDwF)eHU`8!`FHT>(jU= zvUsfa{ZVX)c3bVkxFX)*eN3vJFlckuC-+U}6EmyEJV^|ZapeO?6ogD8S4jr4T z`+kJTr#9`gd68+7j>*8|W;jZXJP?)H?#w#d{gEAaXY%Muj1*6*iM!K`F1^|{N&o2H zQoyilB!syLww|=w8`M4g{_$BuFt(k->r}WaHx}GM5wM2dtGu^K!4lQ3>|Gitu;>a08#Fg>fS~0wV%2yhy7C2hn=*{_XS`KNj3=#*p9-P1Eh`{k#~96HUU-B}gU+=%SrVoXCJJ}% zUd9lWHj*l%mv|X;qO5jJ#ZEa4+N_l{lBP19ypt;YJ*(q*wReuDmix~To9bTqQ6@em z)a&Tb{juD8j~l}2Ym}M0SKx&*>jf{?=^eZy;R>2B9EuVwiQ}>A7-IC}?RQa7L8Zg7 z)E5J->$|pYXkTx2{D!CI6j29p`@n1~KLLV%yodDgmZSUevzkhTKC&S}?)8qh+ zF$bxL6WJ3=_A#HDQGdvVd?nabIhMTPjX7O`r=!-54`(*<%Idg}@fgXsc9;7MKX+Ul z3QLj#iN0CkH&G5bx9@x^LASNEL)CLc%`O&H9!*R{1Wn2n_>vrdPtejLn!wQf&kupP{)robn)L41aOrKjMNx%6mlxo&Yk9zyx-1^*HCw8;9cEmU_G4aT z=ivYsQ=rx|LH=VFspP4pi2o!CL9n*YkCXn)Y1@$L5~FakzM2$Zq6v$OqUJSk5(d2b zy`%~`1xIV8j#eneU`shw5({1rSFwJK7$P>q$eXH$sZ8cg%CMKhf+BYGDUMn3KC5!@ zM|9wC6l4+Zlw<3c_?}j6ZRlJ-<==4GhndVmqEiazYI91F$nfEp9Z_*iwAMz z=|+KtW98k^qe2t6wypXx%cG=@4 zFcUzfNKU(YQ>}5xkoduzsOa}xt0hx-yeWK&3ZJs3H+5yaBr!&&9EC0*QGrV|)ZJJs zxp(S7liE2biPzzbIAa@?*p0uW{w$|dPl-lvk|AYu9OTV`CfP-0@{-iTRuTl?!^Ji16Wl}xz&|3MKeP2o2 zQQVb`#NgpGYpE>RHP$oiR9_@9EqnRIzI>mQ4ATUv(W!@)k8L^8RI<^g^$pOkl1eIh zZr-JE5Cd@}BmPHn0wpB1I0N~3SxK@oi#HG~G*5B&KDK2V?U%GMx{^9RT{Hi1YvuL= zx75JO-Y{MaQ^@))QD?V>qLnDC%=&ll&|Eh-+wlTRRBJWvk=(x@N5CP_#{yni9ewO} z+2MN7py)VKF7}kDVMCy$od_Gu6RtTk)Q@JMFG)( zRx0%E&$^l2H_Xr#!==d{w~3$qefdLAqmf;+J9mXsi^1!C5$X|~t2^;++nv&79=()* zn|vcz-Y=AVNlYJ{Sy`7>P;zjvdJ2QD&+|WG0O&0OWZT#(t!b9JqhIQF=v82!#IEuE zcSX{V=a>`K(YR$IXX1TU_?yFwqIaxyh@WO4-7K7%ZY}#WLnk|L;UL_P&rIH*=Ua`= zUPm1G)+l_dq9DO$&ef=HvLh#klh@hq|7;N?kw>INPn~~QD^G*uepV*^ckZ3^@xc5X z2obO7PcPr>dVE2;FH@I@sMVY5BKkFY&#Co0JPMF0kUm)*yX#rbPHFVFS$ezqPrO=f zuNd>1?dCE47LTvg>UiBe%WqXrahpBPjdI>j900TuM`Vxn;kff{eVi}&pDK8u|7yD7 z!g8v4gkdazbLn)ZU6q?%v{PT}%0C|b$E%EM4sU}va?;Q1tBf}26Lgc3GvhgH%{ReK z<|-;F+D}de0noI-F(bKcB#fj%Ptf6H)74^`rPcAYCPq3S+!9gu&fkN-3||?fr26DB z4x9dkow}l~EO`P)i`pf}TyXj27bK_2IEF|+N>R915{?WP=Xun#sBR$AC3ivX>iOqi zKKF=Yt$P-frMCWX$WDYpDsxgfvOA6;qZ8rxf&OYO`@Pk_I3WBkhDOhK!Y%L#6NT_w$f&N>wxRpxIYo&DDJpwcSeW>*- ztn!XT=i(Ssyf0bhDNKxSnby}Gs1G$CITvcbU0g#&G}dS;b*=*)URh2{3~Sk^%L%Wx02s+m9xgm z8EJiumy<%^I)l{^Su6a84h-z=bL~wE+8e)1dtQr9>L7wq-*$?^}5ByvHup$_LtiOND zPq@c`(GDDeBFhEQWLbAzH32A2;DBi!G`Wj_YhU8XpyqGq?OSs7*9Y}a*`@yRsz2zV zPoj*`1;H)bHEAaPu2LPJXAlS)HP}vHXPEi)Y$Uly-nQUKPTN@SVh&NQ4{)CtFNYG0 zT%q{0JB@RSyg80D4{%knDRMf7b_Bg?;@KQ7E(E>!xkN>DpYZRsrI!T3gcvr5g}bUc z`Bf@Nbx*%y(iBwa5B%z%GGN}J--mR^5y3oJ#V>_6=o$a!aQ%$A;^KL8;n%V`xK;tr zT*uQ7m|Ui6TfCs!G#ex(3==~swHX$GOq*PoCkhQhp-SEJue-gf%74}F=dC1FWDO6L z4Z4bUjoH5<$LNXRHD0XEayRQ4@1rh zy1yBLtal!?+SmO}@_xH5EYFTq?+{Wnsp0hS@`H;-9y!`5ULzF3eZZf7MQez>#?zVR>D5)O;;jc6M~*Oo zR?efAU7dvuzoYSOdZpj^GJ9($VQb%)ZO~zZ7~~|mY9Rwfw|>@WxKyTMtE)i zWO?+KayIQYHYh%9?t7`Pude-r#D16nDmfQ&{!}Zx))AQI)Gnz#d3LN(*&JZ0B%Zd* zmuzom3X)}aga|4_N#jUUSKC%wlXySx2Q$!2_r;Yy8k8iDlRe}yu9-u;1KiyFt;m7V zPc%I=aJNf(+2I91GNzR8>MHwH;qxH+{J&VQ*KI&WWNHejKi|srZlvE9*w6C(t5DT& z6N0bsJ+)f6JRrG8>VEl{V0KgJTh2Y?>-}@S-`_vy$YNia)`tFmGGLVPO<5)Jf?XQz z^*v>>m4Tbgeg5;)dW$Q$;{H6?f5T^aub5HBSw%fAEQbJo-7oyF;5Q4T3*bi_L?a&) zd|cyKYrCua`4qKYDQBEZ;xLs$1|n5(JJLNZ?@Ki5nuYsk<8jVDyf+T5vC_G{{R&)t zXpFR*k-wv6^j(0W1~T!|X}wXm`Tx)jXk=96)b~UBU%LS%Mi{7G2;ns2_wjMT^ZzS& z_C2A`a+(Gd5k5i=NDlEa%>?b1`$HuVooRK6ilr`Bj|23!78V^trsJYmyI;f8k_W728+uq7Y19XK*^wl^9;fn%u*; z!pk1!HrB>M-8>>dQTn&i!R77q2pG<}#*x1zu6!eL<*N>g;2^A-nY`>0{?2D{4F!5c z@98NE(esk*e*FtfDK4Nc`f=~DxT{eV7=Jsp)AP&kE!Rs(&r{y7p6|s$VQ}{MyF5JEM; zr{tSzrDQ=*LF3q3D5w%RCi;GXuJ1>m>iR*%6Uf%+kKkgbTgr`FE`8ebIfP{fJeh6@ zCerr{AjKvAxk)7im&_BC$e$ky_MpU1VKnDfvYq_-VPfpLEtOHsAmIMDBsecMGCu#H z+^(>V$}M4UC(tOn>#%ub`|6z9&f`SIRJ~0Q;&!!>ArN3^FW6RRUFxdldS$VhUWasY z!2I1%D`}VAE4wd3v07_oeQ4*@s;fAVphe?Fa_}4!eS0QPHYU;tnz|Bu8GZv@s-zV* zA};hJ_)>n59i_Kc?sO9b+h|H(R*pRM1WIqOPL6iGNl392sV6%m{|e#m9Si`;E(0JR zt{K6YCELvqtY8SrTy)wPI)>oAJ~=&xK&2!xg~M5GTVx@D5+;Sh>!aa^lauJR)p0MQ zH#y!?z29y*SdlcEOAg=}B3Lqx{EDmWsELmR-y|N_NJj(-R`ao-F%zW= zXE&6JW7GEEfXIv%a?0YJH@bRXodO(Pe>3Xnogo-i3Na+B+ zt_aNVWZ);^{lu@VMM#IIDq$@f)~K zld~3iI1KB47!Zi3N&r%4<`Pu6v-C#JC5_C8q78cQ4v3M6IG z7}joKoIu?hO1QQU;Wa;Lk`j;Gz|JIou;m`d!YvE)GJpLt{u&!WG{S>)BfrX?4 z!Kaz2^aJ#oqkL=IFOu?LJL2Gr0B~C?8Du(|xypRk+@8*DRJZb2Z)-h++rxD`g+GNo zBRF4uTg`|S&xt1co7p`@T9VdsvHH7+CS_r>3CAPQ<`CqUUy-;(W;KuEQf=nsAs9L} zqak8?;XnLOJ=7WFymdi*x|5sX@_c^JFLF)roe*K_zk^~XgWbTKUigBd*Gz1no_*a2 z{qqPgCP_?dGlR%RvG^__0(9%yB!;Sx#{D(#4T!RAr3d13Y7RZfshQ}&uc^ua$b8<` zdR9qdwm!L?Ply=fTxNm_NVrxgbj^_|KYbY(uLlE z{d7@v$*T)fRgC{n`fv;^#?G|brLQzNopWun-9yYEuWdcM-c1H$+_}~tV_B-<%R`L% z^WeQep?W7-k!{38Z8`%8kdH)hnFo2NA>FOt{PEDchjVLgUPJz2^M-thfaV#02|qr$ znO~OZ?S>yUK+PG^9?2Z}G`S9eL#MP#Cs!h87s1&jCC*GRtIKNt1yCzm=fUK^WyJqQ zlONw@@_|cX?%!GSO>JO-!bHMU%T3 zUk{D!dHoh9_XUIc5(VVv_|hZ+a5b_I9y6a5Rq|I#7jU-!e6LpN0!a?0D)Lspr(=@e zI8~GB+}AJDg@PbM7)`0dR1NMwpm5QEd=-<)foRs3&#&eD9U0+J`i#R;)V;hSwIkFr zGU~j~CcHZiW@GVrdOsPiPyev5!MQ*ljftW7PQi_#+@1KA?5J{sRSFdLn@fWkZA152 zf9>3}eZq55r$)3@gs1V#tMab_%!Ct7NlfVc<$?)`zs?TfYmNAbVD;{;+UO3Eh0s#x zXl%oyeyJU+1?y4=y-h%d$0Ud39R*cS)<^c-v&>_BvFm)2t;t8&4u=)x3eV}byy)`#?}^QlS02eQV5_y`r7z57`67J} zws|dNbM=<&@bmE8p-&^5lA|&bS6VAKEcwiTA-e~OGQ^-6i~$%kFQ? z_+r2h_>OW zZj}#y!;GG9;2mt>XW|>G+5GTtscyR@XR6C(8LEzbx+J z%iK+o2xJB4Z+l6UH8)gS>ar}%waeoP*sWio_$bY4yN z2L*zWGw?9At%kuf_4)Jj)?jc5LkO(6LtcEs+9eT5B)hy0GT>r+E%{Ibbs z{Js{!KA_)-d(38fQm!%2&VO4cdUIHEVblm4jNZJ^)gu0CPxD2=WIhoQ-X@NC2yp`O z(ifP;0Bhp+U8#AtAA!(%o7~k8i(2*F{Du-`p>@gI{qCE`y(EE6|eYXHxHAui+dcbqB-WXqW&Ik`a9n5@AFC1Ujza94jf?^ z=uooLZ}vMy&5lXpz#XiU*#Ya&eXr?Y!Mw>g4Yhm_dw=#{ONgEM9Jhr+4}rMQt@y#e|;n*D1C+Z>K&8&jFXmNY5ai!m* z83Ur1ARkR}L^SvrgI_u4=hJc<>|2H#G++xn_Ik?_`;oF*IrZ{jKhA1@jbSr6i;~q@ z;OxIqVBejf%#`HY8SK%Z8~HC5nTeW{Yi1$M#L$wqm7iA@^5d%&RFu0rk77b(#0RA9 zZ4H+sM>C3)$+BJ3aa5_$VkI%lqDa3c{VdA=i4I**V=W>XomA$^J1ND#pjWfrjGQp?Du=vLiKC8q;*J zbZmCzfne^N^5nre5yo1iy0PV7kSn}CD z`klJuvr%lkvMso=YS)d}TJ{&-QPGse*t7QTm9R3u^&epPIT;y3?xWOw+P!fmaH&%d z{r%-mBO!OMH}YIe&h}2Xf&hKP<_}R$ux-hqS$6s>*vYpgD#cJV2LdbJ9g*>LM(Tg$>y#LnyfW@ygj)5CI-*w9 zDvZFMR$$prLJ);Ps>E;!Dc2SF9%Ir^N48(Y$`Oc5|YH zC<&nnaVZoVjkJUN?EX1>6jOE%Ws8f^RF}cfSk6i=JxBnC(CQ`9uAhZ=re9(O^}=K`o;JzwD1FTl^AJ>Px}- zYzJMz#qmsCmjxe=NuGo;>#&jpUf}O~ooJD=(HI5;LQC0^qFtVe!c~o?eo?JA1!` zQOWn9!nCjqZ6qWm%PyIP^co`g@PoI9EtHAn`f$u9LaaQWV{2iUB%e=yf zdZNv>{P^W3neut+H!w*U1#QJ+`#%TWe&>JVUH`0F2xM1ei_BM*ffe*AwqZ@iB&WD$ ziUU{0gUxAER64F1p5?bA{?T0d2zJxmejVAG*h2$K+NisvE;~AJPjO9A6OeJhdTh(v zSl&N5|1~X&V>t>IY$b!s%CcdHp#J#J#+ne7l&7UvOdE zJr^-}W2=eXV7vd;Yu;a{(?Z-`CMpvkj8-d@NHvps%1qJ4E#n~*))FLOE7 z=1_7>@(-x(O>3*n88mN-D>1A045mZbrT+U`eWsE=?(N08HnJ%5EQdXNPze0X$wT}@ zjoH51%sJ9*|H-4{?tHcCJ?sMl@!eJIk;=VzbWdY5PVz)-p3#g46!ZIP1aH)?1j=;?Xn_<+U#Mq->J{~9lCvAcDy>Sz|_Ct zJ`T_o!TuHGW0U~>&>#`x@r$8dJIA){L!w;{R3FcKDN7d3oz01-`Fly?3I4{3AT_Hw zwS8owCbhjDL*vxqx{?H2`Rv-ZV-}MBL}^9Qdv)TX&>W(YHS;P{+ovV=hFMAV9?`Nt zuZ-@DMHV)?v-u-(Q}Qjb!!_Q46HV%uOzv^1c;kTl?P1Qs{=Sy|!c6H`@XE#KF^o0p z%pT)=Fm>BSRtTCr5&as$KetgOz#=?z#_|`>oPNbAn|$7!mGhMlq$lv2^wH!rHcYNK zq9#V>(ERW_K=X}Ejn{jdhT_{cF(T?CCAQ`)eQ3li+5$tj!mn?T>hp^x<|C>|b!O?< z_?FiN$MfquP~>~Qv)?6%;j+&ZD&YHm8|KT@l)bCpdrb^_+-9bn?dNUIeJx6Qioq1P6S86lWvZI_0!@ppltMxF(2l4zEJYzGyC}j z8fD0{e+}9x;>P#)fqG_U6)(L{v|~wY^B3+4#0?TD~GM!4khkZ!b~Cm1amqy-P8yY@kt^9h9`_S~eX} zG~bQDo9w^Kk-7K(Qrvs;D;j%|$We&s&7MT^RC1=Yu#q(y#rnK`t(7B|Y@aXz4r!== z331c@+dTlAhn)!hlGw~5+0(zxvhrEPbV(Jp=PWvZ*ZrT%RFB3 zQmuydiuD@#Br!qj;Vo_LW0J4roDRy8Ps!V0z`P^mZD6fDYRS$Cw4Hb$i~bE1zRM6G zKB1y6^@DXXDkIM>+gb15aHad&4JVV>e(Pjth0Pfn;y0 z8j)Wld2km|q+S~O0rN&+o2>%obz%bVDzJ+Yg~MS_-V+qD-Dsi6u+XMxWI=1xx}itb zfQV3g1A~`*?~D&%_MHMY?Gm5Ib_1T}f-?ClDi;mTSVYN{0kxvUCJu+ucb>;&%4#3S z{3$wqy?aut)15wkXKHgP?jG~UOq9D*ht4mV&-ud_nH~J5kN-lUtLl`YsV1Ht`zg;# zVxesM_#Gys6*cIW80Zg2$Gsd)Jsg_&LDYzlsDZ5L`?cwVCbuk`9(I_R>Dv1Au!9>S z%?!EWNwVZ-dkN8t`9b}T`p8Kft5yG~3VXU&DA&6B^rS7YbU#*SWdwVZTf#moqcQEHG53bUC{ntS}xOcogM`NXLqNyuh zR_l2|tUS`1LraVWOmPAOf&^x&cp>`9%OF@h(f&9SEhNn_nd}v#Uf=3m$>5{%J)hh- zYX1Htz*PWuXFS=a6n`#&%2Hy}^=0k=hQ22rzHN{c7*ULi?!B`YO72&ZU44gfR3(~X zme{xkwqwZ~x-LWnKP#m~Lxs8Z`&U*q(;e>-)iAk7w*hZSwz^QJcm^sz*OoE1DmM$s z!@p{DgEYFt7~n5CKjt)r%HRjL@;HQRWH4YWg#`{k>Nn_IcbA?EgfjP2;9t(~z>5F# z`3?OlKfg!qk(*x=T)_MJIr$l03E;nShJVA0FHgq!|IuWOH8X0EfQ`ZyZyK0AWhRg5 zm#@)2pEZ)UL(Z%U8z{&*I9w!?Ug0)Y6y45Q;j~oP=fnP}Xj#|VqI}&PR0wGLI8lcE z#E)@zHo2;25gcK5rPaP3D8`))@o~Kkjz@0VIM#DAFM*W(RA;1^T)Ge=9!HALL9uk% zn&Z<`Hpa*G%uJ6GaVt@7PO_Cp@0S}%z4K(;c`Cby&X+@3PlR#q;TYc+T4dYA;B+uq z!E5s7vM!b(grBlYgpVt2Zl$S>}E79Yp%@U-3a zd8x!-RK}&shoDG#upA>>vZ%A!FE*&F`!)0Oa*7M?1z67kjp+z$Yw4R5W z_4{Y%ud;{ko4uFNg0TY!<7yQ(K@evU?tJ@kR>xVuh*MJq&6DnoOs~#q<(Wnv){~Vy zJ%<>J6eEG>I|SFa8rDRe_1U4kG9YJHG@vt}f1^(JEcVbnvx5`_|3HF%k+0jbef;qx%J zqY_-dRRtwx7L^Fshq@zkTj!&KSPLKV{F!)3$`o4yGj%H%%izBAI0GAh2fJsPy1L8j z=E`7j#U|z}n&nu10J~2^&IA*^wN4E4${?8GSma}?eS_N3YIj@8rJLKuZV2usvcYQq ziz)R8rDmH_#19&tQ=g#zR;l&GYNC`Z9`|u)nNmpbhUZ*eOevDFCcZDT$!{pJK2aA( zk3bqnBl=Q^O;{o}4ALx-x3Uu{)Ola^zXEwl1XXheHiKsX!#a%CR?dcT-LJAX<$CiU4XKso$(ZB#fPud?a7>NtE;hJ+J}FdTU)!k}>^@ zlCtgf`9DgI{rWl+NtM#6{u@ipQmN{HRSNBiI8y4GkZaM33QKbFGyGxP*vSO(pMh1! zD{vMdy_v5f`)@)4`&kEpt8FI1ZK)RNb)L1!0N#|Iau~jNAvVL~K)nSK_Il;~#-Ct- zU0TX{vi&WxU_ME}?e$Pm=6S1?>JU&M+wDK&f=Iy`;cGmyg#@lKYZ_(86R>IBfH>kA zllog*+RXHn5BMqZR*aCYB@-XFJw_mPW&KWh_iK@+H)_&GmoyOn8>+NB`vhDv7WD*<|UuCHNJv^zIIR^-rI!*Dqy^4rCRD2JnY-f93b;CE0FKCh-9( zM3q7!_fp)w-@N4nrxY>%2?BTJ3P=V=@-pTDTkFR1sW)l}hunwammb3)*y$s;{F6QS z>@eJzyIPf)FP>tE<_k!Cqe3uHr=40KvXR-Ee~S&3ewgvxN9Fm--oAchiC4Z$WgS$; z!d)yC$Q4}s=cmi@^ZXz&o17zc8V4LOM_(mpIh`EdSIlI2$PdY=xaZOI4o57r>*AF3Q8(R!AJ@)$GI-HY?B9h<+bz z*Z8Q_C{z$Nbfe?fCP8bQp#7=@E$^toDyx1)Ub9^v$8gpCEmg$a-v$%p2jB^u9~zTQ zUkAKp9Q^wM?^ZM)-qV9vzy5SG6Nz|k7Lar+j~4S0HKqy2CMVkIQ>x~Y&!_4hfTiuEHv ze>cB=_?nikhR_@4AMwX|%%dOL(TBHY@4G4jT>^&8-fxF%_5irBh^{it>=fC0zxuCO z2|qP7R3L6G>aMh}*S3ocxoj zhxy4(nU(TY1wJ`Z;wNHpGu5z7qt*k}^}y_u^_&#p6a2A8b`qQ@%}c1Ut&B^j2mln! z4zkJzTO$YPiTSEL)oz-^O{=*7?Vlh7@D|X^Ool6qKwu*W_~QrAkXE2AwBBX;N>kX; z#=K{q>_(|c&E|GrXg z@OP+9XBG)Bk<#=u*7$AtbkFsnq#b?+;BT|jWB(50x`kbrOuysX>}{`PM;BUH!8?vF z>#Eu8+^e?OBq;j8t7bK3-?80*lBR=Q!uTf+Gx!jU3k)*^dGKGfH}>L1uN|vMy1-GS z`qLpL-lj6JC_VL#e{%iaz+!KmzFm%TMVWdUg{s_^Tp7 zE-ejlK4g%u$R1wk63GmPRV`gU+u_75L*B!hb+4y=aS_zRNs>czhpXL=9VnQGQb+M3Fi~2dwsl zaNp@6NT;k@e$M=5F62>t=>ujJ);s=h92D2~tQjJCad(0^Li>1)h!cbJ(adyNFjwH7 ztYu#HUJw`VWlG4J|5P)e=tqc)E}DC zljzzGDa}ucroN!R(&2*Z>o5VqUQ4D1?ZOt#FG!HJ+83)a_mm0cvB{@Qs8zfw1+8(f zo#~RD_4k0lYL|TsmDLc-l!y_ha0eOz&PTF4S8eubQ75agH}S6by8*1i&AF~QltnsXN5&L@g{IZ6Qx3v3JTOHHPlLHM-z(4ZUg<Sy}MH5r&-`v_Amn-Co9OAj<~%+W*JEu+5% z^e#T8Kz^@npeA|lqiM`ZrWuT?%UN#)i^^upx>ziTeZME||S zMVDVT|CmbKu`5X?R8eh4VOVTOLRMKZLI69%6RDys?HN?mgiA~{6Ym3Il!REZGQXo_&;`h zj-_X!YOW!t9DYF%7I2Kkg-YS7OS=MVNB)yI{(`6Mam%vOBb!ZDO^6yxN?K;7i-f zcKV%bwo~u!%*XJdV-VrOgQmzwR>wb>>r4qXfFunx5#Y zR-=y|L?5hU47u0*4)bbJUOlAC3)mq11XYt&JW#*fv{(J*JJ8Z@612Sf7n<+#2c-#? z=#j=27=etTws?a7O%*jGX(mv`Q0FJyne zE;k>M*MtWMIe0NL^*R{W#SKyCI=Cgzr&%wyv=EA>-a8R-?h$UL=BH9k0UR#j5j4cU^7j_gCfpy{ya$W6M` zm#r*Zt14Wp;abdjJl6MiFgEgWc@JZu7vomjM`o8S78;0K?Sn;?a#D9@61b##^GI9D z@D3%8GCMGtQ;U~t8QQlBLz~3VP!Ooa=M#jLLRo{qR6-Gz19#W)BR8=)=a_S4_0Fg} z#)>&(s-x}|gHh*i`2TY|qXTV&w5^~NnlUtV>ThU0k-q6#HW03~GVHvu0e59}Cg#}c z;z|p}=843AST$6T8dX`H`&DrecE|n%gt^ll!&WOMX&uhe>H--V|7~IYeAg}Ohg$iU6g0Md5+$RVSm|-6w@h|6;pe zjX6)THX~5MvB&Bafh4{CcC@3elYyjt2IY(Upy&xzCI zu8NfTJE;#Ia~_R3L@t|xT;9;=rep}}klks}=b~r;b)zp3-SQy|hb=V;rIJ`vJXlN5 zF)u}1=cO-Yeqe@&u%h<9xvt#~LK zEv%H3+7>I_>-VmmpQts14fbj&-;Ws$?#F1$#2XVS=&8+2?)lt>nO|@e5S$VQGzG(R zhG%$sRVxj@g;->VLYmm2uM#xEJB*n#K`+y3h19!8|09UF-m_7sFnZ$2(w(r($LwY* z!|a5R?fEfxbnY8#(9U^P2G)*EG2JvdJKto1n#{xC5o_gu8h{gXmtoCPV7TXIepz?H zW3xAz>z8_sTD7)?MrZKLYt+CuX~~PAL`jfEgM7k^&y!3fS+D~Jd`VsI60eOXX%+zi zSv95&CXi0=yRnd>r3`IE@r;*fw*@^8SwZG_wL98&zM3!@Oo5` zA4q26jqk~9zxgEGzS({JDPn+D9=ZJxhtjje)_41YeJjm=n?X3zdU8$0#@H98I}`z& z72D&DFz3PHQHUn)ycZ8;tW`TcmJk4a#PCGIFw=hreiiXR26w~;vMGWUR_ZRTYI2~i z(|Hw~xb^+KP%7dCLaHc~Sb4;ZaH3PDv-aT(YH63(q{zIGNkQ=7M3elT-hyLD`Z#ex ze!-V&!LKWuPt+Z*=AKBOb};m79*{jI)(8BEH9m)( zzwAuIVesd~8#AKeo2!9u_DFgzf{YdOS})xS21IwiYIfsx90J}2w4zcFOgFi6GrjMc zbsa3Fb=DQp*6xWmt?Nc%C@O^1h>rtHm(c);W>y4w_MT1Lq({)F67hg4<6b-{Md)XF zB23(B2r&0OFJB-}gBSDG%Yfg}F=w<$kf2&#>>Qq3QJjnP4bE!k@;2jqGW#2VqmQrZZOjYoOQYLGf%!_0ADs!0KXH!7iYS`%v1|tTwtqzg;ShHX0{*$ zT0F#Lq~JDnBTMW9~MpW}Re zCk#LPC1IwS|MNa~Sp6zwDo@GXd4U|=jlA1$x_A@M&%D0VF!BASJDKTDK5)8nD&p~5 zy~423$^LW~GTmJ&%jHeCLDM}|{KdW0%=fm!e81(*_vZ5XUh2=6X?p7m`((ODW*2L= z1()p_ z()EtA-ci>3viy2$y9CCp;1~Q`+9r~IU?luYMZ~w#8_?Kb=`m{t8c~T{|F;oLh!n*J ze4>0cG>>F&&1`+^FP7}liF5V5!YGVvm-o|`?e_)^A4lWy_;{&oCnMB@8@ATy+yZ}p z_`g@apAVe!ptpKdtlWSwkq3@O|~YpAtY|vBxeso5ISSUf56c<^Mkx_~j~(U*1&8FaMCu-sZh3b!0w1#^6Qc!SI5!VZ23NtVK?E^z7-mlbKV|hlPX6YlwsD*xbAV zHh2!I{5qFAs0v;zPl3%hI#7W>-c|tg**AVZE1Q*7Nq+ zLdcTEPYE&MmY#i9v`>LXiKBJ9?~6I8{{hVPCVc5jdHGyMe+T*>D{PIZ0uYhuxU{wp>J4w>z~fo}Ml zjFTF~sJHY*rNmnOf}pXVSEhgjpMCMKKmz$EU{?O*Jtq|Y32*NBCyw0DKcSVD{|*0y zj}Hg>C;kjRl=&w*eSg$`{)q{`e_}TB5pEwe{)u-Cq_MPcG$e{Ud|Qe{li?%y!M>2e9GYY z2_Ab7nmxak%rILKcqw*RHygN?Fs){Goy0XInv-j;jcXi zg#ToNg9v|ZP?_I_LKj4 z?Dz!ve_k1Kn6zwz9AgW};VFY!_dm4(ae$MnDF0Q@>;U=ygz)0AXABD}!waBs@C^v$ z|2;ld{P)Oz?LK(&pJ4!4IB=2N`F)`L*TzF$9LhgUBRHX1jlBH#Rs#9&`KL?dzqb$v zk^kBQ{1g7!KO_Ik_aFYG{0Dh``TumD^%o}$+z*uh0|%A=Vo(3a_8)TbM#Bq$Ag>xVz+w`mb#B_<7j^A4Jr9drO|E|ClWZk&K#|H7PJaa$z@%~|8|Thq#OU`pPb9f=ZoKZmCK%lprnYvMrcM`&Z8aka>BX5(%3 zt^=JBWpL0g8#@wLJ!RN%85sV|2Aj3|AB;1i-N*9JP4Wuf-{Odc};%5?bgEd z9Z%i4(X(Ij^5&EF+p_Znrs94~e!uPWTqdSNHq+->l}^GtfI^oa=peTM6;;p!%WpXK zI;?`2W+h>3-=fobC-Vcsx=Dq*yb%3ST7a}9{-64l)OCboBYKEVQPx{}3c=eut<>pU zQo2wbIoSj%U|x2nztTzsxJg9Iom8AaEZt#r$GEdY;wH6|Kr%%%E0ld-W*=S+=?Bt- zqYgzrNDskC?Ihx(18+p19aiUDQGsvSw1|ZcT2>y=(n?)#)DF|Slh$|&vWgwWd18$s ze*0-UX;CL=iXBbtLA3zJivEsPq)|qxkiw()xy07|Cy^Au&3z_w+#f_ulQ%05Ko*n9 z1#l;CVmEKI=~Lj{NSv-nNcv)@vk!dfjk$|9iCKce+hP>Vtj(*9KoW*H&D(9>4xZvhxXt%^=$bHGZOgaB7bG&8EK8r(g+atc0_UMuw*18p=y z`IhRk9~elJ>jR`;X90mUnMwOYTG)Fyn_x-`b#jX49soR1=jGhQ%!Vh741%s%eM0%Y zNW1+NifxMLp_h$lLVEssJuj4yI$&b-71r{OP2OQXMqe>tiqZeHu{ZcCCy;%M;`2>l zVBQ?b!pkn?bI?r7(xO96|4SN0hh4yR6ELW8O_XLx|$M;{BAF9f=7FV9ej2U%nc-Gn;#j z*2#MT_%r}0Cz(TR27|9Qu}Nl)ax)CYdL-s-%XKLCqjRgEZrpoQYE)*$13T-QJ5}-6 zb(wMb7U;wDJ+0Wn>#oEL=!L=q0fKZucLUUZ1lC}UE0N`HHO*y8Rv!k=|;{%^E zz8LM*f~alW2r;2Nrzvvdi7_Egagcu3z$U=LvRm_cWocm>2P;?a9&*9Tcx z38q%ftMPexxzlOxgWJ-h+}ByzL)JvEqCGw$isnG(V7HU#7#n4!J@Ll%1gj>VfD2&q!-lv3A~ia^@N< zZEhKWNrwn}U`4HbFCO@aQl>^-cm^Kb>1@wj2_=i8G{qaU+GuF8Lu3xYItVGXdj6if zxdz4%b>7P~0}zn^IHPe;{-d<6QT8V+O8F(iUm1T1{V#v>R(h~%rXXvkS6Pjz`fmMh zj4LTdxgrpGYgFZ)l+;s#~@nWOEBsI zXJf8i*&f9Fh~aH6iPHubQS^<~Jg}4OF9(Ns+A_7`itW|9#yev9_1}rh zivUnN4#{leXWx#oVEXb01@aO_(9|c?@hizU8z5^_?D0_PTk5yY%-mF#P~;j}VZc%< zfJ^-azSQLoMcYD07{L{Di$6%Oe5^cS{4tl_hNB5pp)it7_nLj8BK^@hXiAtp<*fK5 z&haZ%IQepDMyf`#m3VfEz!4^f|B%f0ACU&;J<=Z;u5PDbGkaOTY)3_1Z5nYp=u7|@ zdRI}7i+IP3I&$wquTk}>AKRl`qp^|VMw>x+<|26!Y}cd4d*b&fUp%v~CK7UX=1x*< zZ8bwVxBykE3hpm2`4HeU5&{1UdH`ptfXgZS<#u z?|#%94WUEf>035ZzgM3@hG{JQd7uYXl;C40@fNVgnph|!R@j1$TU}9cdq5I%mUr?C zzCscKh~M56-7+XBbir@B$sX;~#2|bVBeFUo3g(Ti2a`>m+UA2tzm_|(_;R!VWaK3` ztknwJE{Lf~Z)XB95BSCN`^l)^m3Dys+K&K6UiQbf?DHH`lZ;~u(P|X;O-6)2D!8yP ztl}q(FiuQ1(zB#=oq;!O_f<)13aolE61`Xg^;AZRJov|{=?UA(1tYC4^I23G#``-w z&0eEr&qkeo62!$HTa|Nvn??cSAoYjp3b|I~0lI(L?c9h?=PjVs+4xqhZ(q5z#IH>j z&dmC*+zD~#;W$OqD2dg#r=$^~!<#8&hQ#xO2q|3Vb6qZMBz}3g|g(_X9OvnKC zl@At?uMr6*TvdW0XdvfGl77-Ye){XilNiNzK4p^-{lDlVI$fRb=Oa21Vr9!06i6aJ#VgLf9>e}2E{5-uA1hoJ4%iwvyZqJRX(h|eWZb`@%5A65I9lP zPj)2mS%@360Cm|$-UWpjEC%fqNZ{!oD3hC_r0xG8rcChP3+-Ti8!^0zH|PxQz5Xil z@JXs!+9a$6*XU+UnflSnl?me*LuP_M0MrMgf9zDRdyPJ`<`5yp>#@e)8(b}PzvQ18 z)dMETQ_*5dF1=h{;cfa6$VpixB;EXs1>W-YStI*j$ZY&j^HnNLKmR}I>mLmgI+q*$ zBd?E1$CiG7h8cuN1uW37H0IbMdDc|ADUk35xumA)L6Z*INNGqq9Z z*$)5eU>C8|T*@F&8eW|K`<-YOJDK~+2R(0Q>D&+E%>*A=8(^c;WXCuMHhkY`NnTIysGf9((AzJ9R5qe;zQu_hjC!oP|8 zAn(7{o@3}ioBiDC`rIjN^8DzBlqRV67Cax2Y2=6ed2E5InW8>eaYY#8V`0fzdj_Ep z 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