From bc809b4b583536769f756b148afa8a8d5b5cbda1 Mon Sep 17 00:00:00 2001
From: Haoran-Zhao
Date: Sat, 24 Mar 2018 14:02:57 -0500
Subject: [PATCH] up
---
CMakeLists.txt | 27 +++++
README.md | 98 ++++++++++-----
blocks_poses.msg | 7 ++
blocks_poses_publisher.cpp | 135 +++++++++++++++++++++
blocks_spawner.cpp | 174 +++++++++++++++++++++++++++
launch/initialize.launch | 57 +++++++++
launch/initialize.world | 16 +++
launch/scara_robot_controller.launch | 26 ++++
media/conveyor.gif | Bin 0 -> 2644215 bytes
msg/blocks_poses.msg | 7 ++
package.xml | 62 ++++++++++
src/gazebo_test/model.config | 17 +++
urdf/conveyor_belt.sdf | 83 +++++++++++++
urdf/conveyor_belt.urdf | 49 ++++++++
urdf/readme.txt | 6 +
urdf/red_box.urdf | 33 +++++
urdf/red_cylinder.urdf | 36 ++++++
urdf/sdf/conveyor_belt.config | 15 +++
urdf/sdf/conveyor_belt.sdf | 83 +++++++++++++
19 files changed, 899 insertions(+), 32 deletions(-)
create mode 100644 CMakeLists.txt
create mode 100644 blocks_poses.msg
create mode 100644 blocks_poses_publisher.cpp
create mode 100644 blocks_spawner.cpp
create mode 100644 launch/initialize.launch
create mode 100644 launch/initialize.world
create mode 100644 launch/scara_robot_controller.launch
create mode 100644 media/conveyor.gif
create mode 100644 msg/blocks_poses.msg
create mode 100644 package.xml
create mode 100644 src/gazebo_test/model.config
create mode 100644 urdf/conveyor_belt.sdf
create mode 100644 urdf/conveyor_belt.urdf
create mode 100644 urdf/readme.txt
create mode 100644 urdf/red_box.urdf
create mode 100644 urdf/red_cylinder.urdf
create mode 100644 urdf/sdf/conveyor_belt.config
create mode 100644 urdf/sdf/conveyor_belt.sdf
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..7a39b68
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,27 @@
+# What version of CMake is needed?
+cmake_minimum_required(VERSION 2.8.3)
+
+# The name of this package.
+project(ur5_notebook)
+
+# Find the catkin build system, and any other packages on which we depend.
+find_package(catkin REQUIRED COMPONENTS gazebo_msgs roscpp geometry_msgs turtlesim std_srvs std_msgs message_generation message_runtime)
+# Declare our catkin package.
+
+#add_message files
+add_message_files(FILES blocks_poses.msg)
+
+generate_messages(DEPENDENCIES std_msgs)
+
+catkin_package()
+
+# Specify locations of header files.
+include_directories(include ${catkin_INCLUDE_DIRS})
+
+# Declare the executable, along with its source files.
+add_executable(blocks_spawner blocks_spawner.cpp)
+add_executable(blocks_poses_publisher blocks_poses_publisher.cpp)
+
+# Specify libraries against which to link.
+target_link_libraries(blocks_spawner ${catkin_LIBRARIES})
+target_link_libraries(blocks_poses_publisher ${catkin_LIBRARIES})
diff --git a/README.md b/README.md
index 34dae34..ad52835 100644
--- a/README.md
+++ b/README.md
@@ -1,31 +1,31 @@
#### 0. References
-- [__`GitHub: utecrobotics/ur5`__](https://github.com/utecrobotics/ur5) testing ur5 motion
+- [__`GitHub: utecrobotics/ur5`__](https://github.com/utecrobotics/ur5) testing ur5 motion
- [__`Very useful ROS blog`__](http://www.guyuehome.com/column/ros-explore) ROS探索
- [__`ROS下如何使用moveit驱动UR5机械臂`__](http://blog.csdn.net/jayandchuxu/article/details/54693870)
#### 1. Universal Robot 5 Installation
[`Official installation tutorial`](http://wiki.ros.org/universal_robot)
-The following command lines are for ur5 installation in ros-kinetic
+The following command lines are for ur5 installation in ros-kinetic
```angularjs
mkdir -p ur5_ws/src
cd ur5_ws/src
-
+
# retrieve the sources
git clone -b kinetic-devel https://github.com/ros-industrial/universal_robot.git
-
+
cd ~/ur5_ws
-
-# checking dependencies
+
+# checking dependencies
rosdep install --from-paths src --ignore-src --rosdistro kinetic
-
-# buildin,
+
+# buildin,
catkin_make
-# if there is any error, try
+# if there is any error, try
# pip uninstall em
-# pip install empy
-
+# pip install empy
+
# source this workspace (careful when also sourcing others)
cd ~/ur5_ws
source devel/setup.bash
@@ -43,7 +43,7 @@ Look into this link for [`straight line motion`](http://answers.gazebosim.org/qu
#### 2. Moveit
[`Official tutorial`](http://docs.ros.org/kinetic/api/moveit_tutorials/html/)
-##### 2.0 Install Moveit
+##### 2.0 Install Moveit
```
sudo apt-get install ros-kinetic-moveit
```
@@ -58,7 +58,7 @@ PATH: /src/universal_robot/ur_description/urdf/ur5.urdf.xacro
3. move to the "Virtual Joints" tab. Here, you will define a virtual joint for the base of the robot. Click the "Add Virtual Joint" button, and set the name of this joint to FixedBase, and the parent to world.
-4. open the "Planning Groups" tab and click the "Add Group" button. Now, you will create a new group called manipulator, which uses the KDLKinematicsPlugin.
+4. open the "Planning Groups" tab and click the "Add Group" button. Now, you will create a new group called manipulator, which uses the KDLKinematicsPlugin.
3. Move Group Python InterFace Tutorial[`Official tutorial`](http://docs.ros.org/indigo/api/moveit_tutorials/html/doc/pr2_tutorials/planning/scripts/doc/move_group_python_interface_tutorial.html)
@@ -89,7 +89,7 @@ __References__ \
[2] [homesick-nick UR5CubicInterpolation](https://github.com/nick-pestell/UR5CubicInterpolation/blob/master/cubic_interpolation.py)\
[3] [Move Group Python Interface Tutorial
](http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/pr2_tutorials/planning/scripts/doc/move_group_python_interface_tutorial.html) \
-[4] [ur_modern_driver](https://github.com/ThomasTimm/ur_modern_driver)
+[4] [ur_modern_driver](https://github.com/ThomasTimm/ur_modern_driver)
#### 3 USB Camera Installation in ROS
[`Reference link`](https://answers.ros.org/question/197651/how-to-install-a-driver-like-usb_cam/)
@@ -115,27 +115,27 @@ $ roscd usb_cam
# run `roscore` in a new terminal
# Make sure a usb cam is connected
-
+
```
-To connect external cam.
-Locate the usb_cam-test.launch file in folder
+To connect external cam.
+Locate the usb_cam-test.launch file in folder
-`cd ~/ur5_ws/src/usb_cam/launch`
+`cd ~/ur5_ws/src/usb_cam/launch`
-Change
+Change
-``
+``
to
-
-``
+
+``
From
-
+
`cd ~/catkin-ws/src/usb_cam/launch`
run
-
+
`roslaunch usb_cam-test.launch`
If this works, quit the test program, open rviz
@@ -147,12 +147,12 @@ run the following command in ur5_ws folder (`source devel/setup.bash`)
rosrun usb_cam usb_cam_node
```
-
+
#### 4. Revolute-Revolute Manipulator Robot
-"[__`RRBot`__](https://github.com/ros-simulation/gazebo_ros_demos), or ''Revolute-Revolute Manipulator Robot'',
-is a simple 3-linkage, 2-joint arm that we will use to demonstrate various
-features of Gazebo and URDFs.
-It essentially a double inverted pendulum and demonstrates some fun
+"[__`RRBot`__](https://github.com/ros-simulation/gazebo_ros_demos), or ''Revolute-Revolute Manipulator Robot'',
+is a simple 3-linkage, 2-joint arm that we will use to demonstrate various
+features of Gazebo and URDFs.
+It essentially a double inverted pendulum and demonstrates some fun
control concepts within a simulator."
To get RRBot, clone the gazebo_ros_demos Github repo into the `/src` folder of your catkin workspace and rebuild your workspace:
@@ -190,7 +190,7 @@ rostopic pub /rrbot/joint2_position_controller/command std_msgs/Float64 "data: -
- [`Tutorial: Using a URDF in Gazebo`](http://gazebosim.org/tutorials/?tut=ros_urdf#Tutorial:UsingaURDFinGazebo)
prerequisite for Gazebo plugins
-
+
- [`Tutorial: Using Gazebo plugins with ROS`](http://gazebosim.org/tutorials?tut=ros_gzplugins)
learning to use Gazebo plugins
@@ -216,7 +216,7 @@ catkin_make
source devel/setup.bash
```
-In rviz, the first task is to choose the frame of reference for the visualization. In left panel, __`Global Options/Fixed Frame`__,
+In rviz, the first task is to choose the frame of reference for the visualization. In left panel, __`Global Options/Fixed Frame`__,
choose a proper frame (e. g. __`world`__)
Next, we want to view the 3D model of the robot. To accomplish this, we will insert an instance of the `robot model` plugin
@@ -226,4 +226,38 @@ To test UR5 USB cam, run [`testvision.py`](src/testvision.py)
-
\ No newline at end of file
+
+
+#### 5. simulate world in gazebo
+
+- [`Defining Joints in Solidworks to URDF Exporter for a Conveyor Belt`](https://answers.ros.org/question/52309/defining-joints-in-solidworks-to-urdf-exporter-for-a-conveyor-belt/)
+
+
+- [`Tutorial: simulator in gazebo`](http://wiki.ros.org/simulator_gazebo/Tutorials/Gazebo_ROS_API)
+Place the ur5_notebook folder under ros workspace folder. Foe Example: /home/ros_hw/src/ur5_notebook
+
+launch gazebo urdf files :
+1.Change the path in initialize. launch from:
+```angularjs
+
+```
+to
+```angularjs
+
+```
+2.cd to your ros workspace.
+```angularjs
+source devel/setup.bash
+catkin_make
+```
+3.launch the gazebo world
+```angularjs
+roslaunch ur5_notebook initialize.launch
+```
+4.change object pose and twist with command line if you want to:
+```angularjs
+rosservice call /gazebo/set_model_state '{model_state: { model_name: red_box, pose: { position: { x: 0, y: 0 ,z: 1 }, orientation: {x: 0, y: 0, z: 0, w: 0 } }, twist: { linear: {x: 0.1 , y: 0 ,z: 0 } , angular: { x: 0.0 , y: 0 , z: 0.0 } } , reference_frame: world } }'
+```
+
+
+
diff --git a/blocks_poses.msg b/blocks_poses.msg
new file mode 100644
index 0000000..231e101
--- /dev/null
+++ b/blocks_poses.msg
@@ -0,0 +1,7 @@
+# message type to describe 3-D position of the cylinder blocks
+# variable length array, length decided by topic /current_cylinder_blocks
+# to be published as a topic
+
+float64[] x # x coordinate in the world
+float64[] y # y coordinate in the world
+float64[] z # z coordinate in the world
diff --git a/blocks_poses_publisher.cpp b/blocks_poses_publisher.cpp
new file mode 100644
index 0000000..78acf18
--- /dev/null
+++ b/blocks_poses_publisher.cpp
@@ -0,0 +1,135 @@
+// this node will publish the topic "cylinder_blocks_poses"
+// including all current cylinder blocks, pose is 3-D position
+
+// ros communication:
+ // subscribe to topic "/current_cylinder_blocks"
+ // subscribe to topic "/gazebo/model_states"
+ // publish the topic "/cylinder_blocks_poses"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+// global variables
+int g_quantity;
+std::vector g_current_blocks;
+std::vector g_x;
+std::vector g_y;
+std::vector g_z;
+bool g_current_callback_started = false;
+bool g_poses_updated = false; // act as frequency control of publish loop
+
+std::string intToString(int a) {
+ std::stringstream ss;
+ ss << a;
+ return ss.str();
+}
+
+void currentCallback(const std_msgs::Int8MultiArray& current_blocks) {
+ // this topic contains information of what cylinder blocks have been spawned
+ if (!g_current_callback_started) {
+ // set first time started flag to true
+ g_current_callback_started = true;
+ ROS_INFO("current callback has been invoked first time");
+ }
+ g_quantity = current_blocks.data.size();
+ g_current_blocks.resize(g_quantity);
+ g_current_blocks = current_blocks.data;
+}
+
+void modelStatesCallback(const gazebo_msgs::ModelStates& current_model_states) {
+ // this callback update global values of cylinder positions
+ if (g_current_callback_started) {
+ // only update when currentCylinderCallback has been invoked the first time
+ // get cylinder blocks positions according to settings in g_current_cylinder_blocks
+ std::vector box_x;
+ std::vector box_y;
+ std::vector box_z;
+ box_x.resize(g_quantity);
+ box_y.resize(g_quantity);
+ box_z.resize(g_quantity);
+ // find position of all current cylinders in topic message
+ bool poses_completed = true;
+ for (int i=0; i("blocks_poses", 1);
+ ur5_notebook::blocks_poses current_poses_msg;
+
+ // publishing loop
+ while (ros::ok()) {
+ if (g_poses_updated) {
+ // only publish when cylinder positions are updated
+ // no need to publish repeated data
+ g_poses_updated = false; // set flag to false
+ // there is tiny possibility that g_x is not in the length of g_cylinder_quantity
+ int local_quantity = g_x.size(); // so get length of g_x
+ current_poses_msg.x.resize(local_quantity);
+ current_poses_msg.y.resize(local_quantity);
+ current_poses_msg.z.resize(local_quantity);
+ current_poses_msg.x = g_x;
+ current_poses_msg.y = g_y;
+ current_poses_msg.z = g_z;
+ poses_publisher.publish(current_poses_msg);
+ }
+ ros::spinOnce();
+ }
+ return 0;
+}
diff --git a/blocks_spawner.cpp b/blocks_spawner.cpp
new file mode 100644
index 0000000..dd5a55b
--- /dev/null
+++ b/blocks_spawner.cpp
@@ -0,0 +1,174 @@
+// spawn the red blocks on the conveyor belt
+// and give them initial speed (by apply_body_wrench) to slide on conveyor
+
+//ros communications:
+ // spawn model throught gazebo service: /gazebo/spawn_urdf_model
+ // initialize blocks speed: /gazebo/apply_body_wrench
+ // get urdf file path of blocks from parameter servicer
+ //publish all current blocks through topic: /current_blocks
+
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+
+ //int to string converter
+ std::string intToString (int a) {
+ std::stringstream ss;
+ ss << a;
+ return ss.str();
+ }
+
+ int main(int argc, char **argv) {
+ ros::init(argc, argv, "blocks_spawner");
+ ros::NodeHandle nh;
+ srand(time(0));
+ //service client for service /gazebo/spawn_urdf_model
+ ros::ServiceClient spawnClient = nh.serviceClient("/gazebo/spawn_urdf_model");
+ gazebo_msgs::SpawnModel::Request spawn_model_req;
+ gazebo_msgs::SpawnModel::Response spawn_model_resp;
+
+ ros::ServiceClient wrenchClient = nh.serviceClient("/gazebo/apply_body_wrench");
+ gazebo_msgs::ApplyBodyWrench::Request apply_wrench_req;
+ gazebo_msgs::ApplyBodyWrench::Response apply_wrench_resp;
+
+ ros::ServiceClient setstateClient = nh.serviceClient("/gazebo/set_model_state");
+ gazebo_msgs::ApplyBodyWrench::Request set_state_req;
+ gazebo_msgs::ApplyBodyWrench::Response set_state_resp;
+
+ //publisher for current_blocks
+ ros::Publisher current_blocks_publisher = nh.advertise("current_blocks",1);
+ std_msgs::Int8MultiArray current_blocks_msg;
+ current_blocks_msg.data.clear();
+
+ // make sure /gazebo/spawn_urdf_model service is service_ready
+ bool service_ready = false;
+ while (!service_ready){
+ service_ready = ros::service::exists("/gazebo/spawn_urdf_model", true);
+ ROS_INFO("waiting for spawn_urdf_model service");
+ ros::Duration(0.5).sleep();
+ }
+ ROS_INFO("spawn_urdf_model service is ready");
+
+ service_ready = false;
+ while (!service_ready) {
+ service_ready = ros::service::exists("/gazebo/apply_body_wrench", true);
+ ROS_INFO("waiting for apply_body_wrench service");
+ ros::Duration(0.5).sleep();
+ }
+ ROS_INFO("apply_body_wrench service is ready");
+
+ service_ready = false;
+ while (!service_ready) {
+ service_ready = ros::service::exists("/gazebo/set_model_state", true);
+ ROS_INFO("waiting for set_model_state service");
+ ros::Duration(0.5).sleep();
+ }
+ ROS_INFO("set_model_state service is ready");
+
+ //get file path of blocks from parameter service
+ std::string red_box_path;
+ bool get_red_path;
+ get_red_path = nh.getParam("/red_box_path", red_box_path);
+
+ if (!(get_red_path)){
+ return 0;}
+ else{ROS_INFO_STREAM(red_box_path << " has been extracted");
+}
+
+ std::ifstream red_inXml(red_box_path.c_str());
+ std::stringstream red_strStream;
+ std::string red_xmlStr;
+
+ /*red_inXml.open(red_box_path.c_str());*/
+ red_strStream << red_inXml.rdbuf();
+ red_xmlStr = red_strStream.str();
+ ROS_INFO_STREAM("urdf: \n" <
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launch/initialize.world b/launch/initialize.world
new file mode 100644
index 0000000..32beb17
--- /dev/null
+++ b/launch/initialize.world
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ model://ground_plane
+
+
+
+
+ model://sun
+
+
+
+
diff --git a/launch/scara_robot_controller.launch b/launch/scara_robot_controller.launch
new file mode 100644
index 0000000..bdb7f3f
--- /dev/null
+++ b/launch/scara_robot_controller.launch
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/media/conveyor.gif b/media/conveyor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..718912d0941fb4aa431bbb10a98ca2d5e2660123
GIT binary patch
literal 2644215
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
?oMRNRR`Jn>H}njx9G=Ma#bJ;n_*Mzy
z?*{L8KvOS!Yd%P$UGP0C0|`&6yy@1ltT4;kD_VYkUs(wxf{6=Mo%ls}$`OcK!949g
z>rCa^o1OYI=nK7mLgm82dIB?3+7lZ2Bnl?iQw}}lmvKcmr&{Ivwt>%XV(--i2$Qz^
z*=2@#bbg9ZR>)uawD_j#NL50R(V_>u`=uUk-bCErE+4)3mUTa|(rANfU{1
ziAFL+GWhOmQtPSWI#oFLsUhm(Kf9IluACh
z8}8Y%@wZ&`2W*&PB}vu;c80YdgQ}A=|E9JU1=6kd$M?8N{UpvtGH+(m>CLB;?c06S
zAVanUxvy#`&qLJld2!y?C|pM2K{Q9F)?ME*ZW`XUOp{|O6&9);fX8+?@RG3=Jby9g
z+n}FMw+KvWRZZ-R$(K2scFLuu0%Si0F|Tij-`P960Z
z%unL||Abu=A#K!lHf8uFUB5@Z{CbS}R)jQyAA*|rgz|R6)03wPUYEcH5pDRgNl+Nn
zSK!oFP@Hp0lm{?RiKpsWktP^mPhZqdby|A0ILLNnhF7@Ii@cXIagw@<@586gJDAGF
z%INbfBCnPhC=r*!ckMet&s#hNu1CJ|cm{(Aq8F99(TSr^|MV@cr$Av*HZf6_<3Nx5
zws#B+DFir*oAmk3g_N80bT?0B1|>jCC?oeF0NN-j0!2Ui*ul><^k|Ft2|3T8XF8vznYg79>Ly^rk0QDqfbr&BlHm(L&lDg
z!{B{2BvH9=@)$VjQ&9oT9Cc!&7FIw#HBmcd4TonGAg60d)?wYM@YrowtU0Pcm$Cpu
zDP`k$bOMY-8BVzlOIC+t#*AZ;Phb&DP)e&Ly273*C@d?KXGbN+7nW}h!-B$Qy-)x-
zDu!?s09|Q*!9+gZWWHTy_Of!e`DA{=L|%eQnJcW&6{QL>QP8S_nWOqFrIi(=kyT||
z-3lk#UsQ_S&W$yglZnwWZ^mW
z`}2aQcZU;&WfQZx6Kj7}-ZQDzAF3?akr)=Mdkk%I4C$hY
zd{Zm*jFgHjc^zAYe%dY`?G8cLf3mA4IjCvhTJ&yWv7yjH|oWekK`qFLspk947dlVkY!=ll{
zrO^iD)PsSSJ9+2(#=%+w6)
z5z)bGFxJ#}R-guJexRjiiWzVfDPz2(wZ1BR6e-T8>%X!V_EbNodYFg5@p7b*J!w6+
z!8qRB6RD@Yu4jeR8%L-Wt%>feszEXEcb^x}@JHQT4l$e|425e(A9yv5S%oeyy(-#^
zP})T?TTz#CGYYTQ55G_s>Rn9-0MxNCCMAvd-B1Y0jh=DDcbOZ-%$s~8256_~K^99o
zVykil7>py+C7GL2ekc^4loDR4{nAOeI(4O2KsPIZe36kc%~rF*>g!YV_#IeQoBj_3
z%Cl)USum0OXq+;mk2O9GiZRLuAZ1YyxX)Yo&Qv2zyBMH{AqJz@Ml;GpjAmkJ%wx!(
zqTf<413UGIswVGz4Sx%5dxjYfFq=-+sX{u@pZdzzr}XCq!n9Xtwx#T!_X@04KvhN1
z&^aFk{(v66ki16{I(U1(KHPT
zgyzfByG<_!G)d@^*7&M$FG5)xmBjeXKNoK>*U{ScxDN8NBb9M8b_Jr?lG8SD+&qCs
z1jyhpy|J+Eu@!{oDFzc;1i;-4%kz!MD??EbKu0-(D$oonJRw1cP@K1>!N*X7Vo2sh
zViLT8l9)cNtUVie^nssGXd>tdp3u&E-#{&3ka9}_H`req6z-b+YJi2G{Z;}JMrDkq
zvWuZXw`Zua@nRRo=CC{PZjuBV8R>~LDc1Adv#z&)hjsw$4vp~`2PovM#kg(XKSsVL
zK(PLZls`tLg_$`TXz?F!y?8>Us@ij0d1j~Kw4HE`J~&N3oMs*MdzJF~3b|8kj=botBlA0$1zX&D1Z<*J^
zEa77R+F%a12u11MA|K?O#-fLra&$|K3N}t|)tn=chEYnRq_DW~%}fKH&CyO6X3jXc
z@vC&NOX{WiB=yU*q
z`Ft`N`Oxa>E@m?3xj(CaEua1dK*(sjtu!FUjxb&|zM(@xac92N^f-Ru+OP39@@yA?2{_
zTvt}L#AcswDQPUkZv(Hyf_=UZssWF>lw_zF%HQnB;9%pQNfxlH(L27K+j(D=i41i#
z?d$1Qv+(wL%B$O-77?m%^tA3Vgd5;azqYgWwSdYfvzm8(_)Gb9=%!DVceeEim3bJh
zw(mb}i}}7fs%%Kr06lTBh-}|eJ%1P4C&^J
zh8uXqkE!u)MR|t!220@=^t(IO4|njG`U1;&Bn#Zz4fd1dj_}Q<&i!#G(hy{fA~BB6
zg4AW9!BEylV}kt}^h04-k96hsvbWe!?ehw+&;lCkC>3G!aX;V8?*AxgzeAuF)!WBO?SK1hP2-QS>a(2t
zbcEXv>pgPF0Ab)4!M@X)XDyEl(M30j$MG2l;Ebg_y
zOB+$o9Rb6wn5M0E_th?qDdk1m@pulSW{h7K`5z3592WI&IICuw0c40Ip{Nglf@Yn5z-qEOX!=9vtZ
z_W)_Ai&0f1gEEUw9Mi;yFG|Uw`d0IIZn`Begc@bYX7>*~saW+I>gsO}r-)5V54SJ!
z#R?#=!@L*2k-pD;4`ukuC^NXT-W<(>&q0QU_VJ?!V~$&6!}r}mHzhi&A}y0vLEcx3
z{eFQ4r+9B~?yWKBs3kTprUxRUhX5b6(&OH6v|)?7lh(R*kAJoa`AN)aSnKgm_(&}G
zFWZn@&Q#4pD4_y(wRFj*a}gUq0s|9;l?H*mqPU_(A*3w>Al9EpjizyEM3Di@itfeu
zi}OX(rpoVQ#V08WJ=d4
zTsjQjs}o96+c`y}(6(%WksdLz}S)#D(q;^hIZnVR=In_Hy_U8oCoqT!swf
z1QH0Wvcyo;6Bzmm1-}wl0ZRu8hMe|G1H&PzD_CGC$yq6oJw-um3EDDK!B~9=RxH*H
zTBzd4q|_8U&}O$6*DZl)iteA<#AueTLvWmG;JPYI#M=GR`I*2eR(CNj`biTgeZD*a
zMiKjRW2S0|z9Bm_We{lcIND#h6uhOa{~|%!DRDWET!v~_JyJvM;^Nn3_)cTIMhHby
zh)&3w`I4%)U}6ciMheD0*Hhy`m>GjHHeNAC^JMIe3gK%ZzP%RAUryIDI*BQ=7{&w4
z+_4K%H7gxBuEpRU_S&Ab?%i!FXVLkx8|9%VG(4P_-qfBb#z!{i-0oiI)>#cjh?|KQ
zBE~-im!zfEd_AQEX}Hlj%ksSyIa@N?CKG0b)+R&@i7zPJUqvJ*R+jsB67&WNI&E
zVcF|-B`mJTI}egif3tYCd%rvc9DR~C=L1c&mND|CTTFGfzjwA8qFf)3qEgj~HHV{_
zgo>dV%S*GP@RZxkm%KFmx}Vi{ogB#`S*%M9177xi3t>OA?BR(>bUvLTYoJqLlTM|x
zW0%4F2!Dwad76I{Sc_P@E&9jTmw=fALu}{9SeE(<&AGoZ4&b^g?A;WX_uxW=RxRUE
z<}h3?)*m@1YctkkKmZI>khJ8-p^PRPLr$kU5mYfI)i@HDHdeD?vfGXgr{_qC6eX&l
zW>NjhAs1Q}T{S#EYD*e#g5N2ygB4ox)mx_u;
zZf8CpjPpc3I2!u^N&&JTP=aJ>-BG<0J6&z*aNFxu2{BT(W#ntOehwR!Nkp(
zn_(`HmYjB1%7iqTdiAuBm+Q*J{82?knj|eb3Y9gVwi-oVK;Rur7X^dwqb6pZPvNbd
z9wR+WIat#*tzWmF>N-|a1eLhxyWPR7HSF2I5}(40GFEizyjjIXJyg;*r~;?yd_0FV
z7tKW#D)34t$yA?GJKvpvxGAby0t56B07rRR`%Eimst^RcBX6^enaz3(Y%EYZ@e)TJR
zNmGZS7;O9rzr9S51Q(Sye=T2=v@FBo3{}#_7;w5$n*IZ-CXTZdpOw|rAdG?n%tu*w
z7iq_dskdh5)SDDpZ3V{Ed9ZVCEX0*}&~RV48J#xkm|mx|FGYzM4`7i3O1cuY2f+o*
z?0vwjhMnG1i~mL2T?VxkMtuSg1Sg@vf>V;0jbAJD>lg}xb_szvNRRE$Bqv_`R-ikB(
z0CEQ1tY7Vo`;rU#3k)ul<_PC*-vudMB$Fz7%bi7yyTe-(LU+%MEuzE+MnIpQoxn
zx99xe4CCq9Ogi=(BItKlG0a_?mx2yD`&
zu(e;(mKgR^tTft2(0rc?Asf8zpiEM>G(Jp>X+V5p+
z82U5{*1P%V?&pW_m5VImSu^|!BhKWu!+i1tyJvjUdh2#MBlYL2!FS;D&CKS3Hae)O*C3
z1?^Br)s2&*-TnXlSde@**+;h82VCoBDmcawS+@bdF5H^Lf&iMpjiGVp>wQ_D?#uq3
zx$*ylmg4Yq$1Mb21cm2*zwzztyZ?5H3YXYI_;rpv-EgmqGTkhG%q?b2c-ZW@cpR?0Gv`Z5X3S#E_Anb_zcNhfa{
zz~%~-A%ye%q>wMT=IQ*iV}{k#p~b_Pp&a#c=pRAe4?kzj&@?Lye~95N)fBwebZ(@JA*1R4}91nC7`TrcTk%vhD
zOlVf6OKS)IVQl^@lO|}C-hmZj!V3vI0l;VUpvRr93d5ns=0W-fXeRV%G889;o-~Mo
z^zkH&e~=s&8QZszN
zmNdI&Gb4t7r;#`Nq4JbQ`zcK;2AS*@X*-freT%Fe$*&wPs12mh45tWzQAQR~ypW?z
zfe8h{geJyoXQ>tJhXq^5gAT{3!{kJh!s*sv)ynep#RPPV7J<7KPp^w==C|k*f%LCY
z44%L$h$VeSI9*0KY@>+r944l1Nf!$gqui!fEAV#?ObZB6(ak4I>fS-FXHU7y2dR0Vk~U-T;*{{>Ajqb|pzLx`RXHek38#4x
zTF@Uxp&HIfS;F5s$OkWhO6>?HZ3(+t1qT%cwT{y~*3h(v<>RerT!Gd4+sxZr^k|Ex
z^|35ns&qpLmPIQ%O*o9dm_9{LOmzGCvu%VbT)a5;85}OjUo6gC%D~JBUo29H50|gp
zc}il<#15CDXJjCNBlzKBn&EdpVQ~6gRdq(%#S)n6uDmi5oZOW}@C45WeW5ea8b{Pn^tFgA>*IP8IDpmFxx^uAJcwLnl^j;cjSMTwg
zT6G~5kQ}+Y)fuIyTT1v?)QM+$4TVe{?WrD8_vRH@^Oj9Dj@N;+r_y$GUBiV?BU%Br
z^)B*CjkvbuGxvEgQE%JRP%JM#Cd);b$^>kBey>8%rpLd$p3l&1YR;)!$*mrR`L|s4
zA*ZhqW+uF^I+8byBItP;uIMeVh8h<5m8NQL_PJ86vUA!=6HCZGT$jK=$2VNi{b_RB
zzV;h+(ySSfg*?5
z&2m;Or(|nct;bp;(0AC9fV`*BPT82XSN+hh9qY4m_&b-%Ewp;YRH$x}1?zNHNsQ~E
za6F4Q2`lIg90SIh#Ag_{LM>#CG7o#)Sg%D**$0J8`GkcF^By|uK00uRNMXa+oY=%M
zZE_n_q_BfpWkoFfAnlG7ll&1iunjGrd51~W3piA4ok?+Jo2pb#3p)-
ze*P|wxZ+%V$)Xk5`3$tHXV|E*(t&t36tgD9kaPSJIZdB&$%AIXRHn!(l$kB
zZLQlCH8a;V$Ge~Jvrw^TGiy$Bu{(x2x;Zl24HcoMbeP|8v-R|{*Rz*Zo;#M;I}*}W
z`sN(RNFA=kA3tI_^+@0;R*i0o)2ZN|whsqpaFwchrF(UCa6imFnZw$zwlben`x+~p`7|KWz8CXIRh!L4w_H`4*>;h-PR230J+JP^
z(S5v~+ns}d&WYcUQ&_Q`#nfS8JE}6nK^c$JETejIW$!Myn!Jdm&Vr-f@^I$PVk?@H
zwSQW;y*l*TF}E2tCdIj6yg;?W{s5@Z-M72Htu4Q+`81W3U42yhm&1O@xs<+2Rhc>8
zvTmxtzMY$E&A28eV5_gbJOaI6V_c&ffVOZ*Iq2%IiK0Kw@^mU-KJJ~HTU|U*C96qX
zt4j|#t9w?vITZhqsJuJzu&7?WJk;85$ifTT&U)W|>XyZ;Z{JDvG&!Y~eBo@x+}@14
z3ibLdEv$6f5oM@-C5NW~J_PLCx2xxf=e{Wz2HFFsx567HHt}
zpNm=2F;D9iPj<==XdLUwe{jFPJ8(O$4tD+i-S&M0J9j^CrOU7LE7kBz686lT@}tF*
z(2UA;SMG9G`_5)8VMZ>?jT*a*vk>j-t83@mez%dw2BJTQNeQ|ld9cxA9(T*rsk9OM
z=KX1Bgc8bDFL6JB$Vf%M+E><553P9eu*N>pEPwXGjg^k~$Mr!~xjRq~%M#7}amsOB
z*1oQd7i1w`*S=rl&M7GJspb}CXl$}|JzcB68jA9Y#BzGUuH3sta>AuDe-MP?
zS+#Y^hu3$P!j`#ROS?~%xb5oR*wrQ1+@N{YoK;i$=Y!dkZieD0oiwf%*OETfEfgR8
z)vZ}v;XJw9r!i#v+RjHmtld;_RyK8r+rr5(O*E~*syLujzhM1u%C@X}nyiCSS+qit
z($SqcDG1F&!=e4|+G595!=3x2fPhVSKvOuYs;fPovV%`$doQ*fBoe=;V9w~yyhkIz
zySiVVP0y*f$Tqjp@WzuB9T{-AVEewNon0s%wFPy-b8BkLxd;weEMnecZYZkG*s<0^KciAgmsXgCRL+`-DnjH2
z*$Rb*TXy)EX0}@Q{IIeTq-K|suW6Gv@uq|e%KF{CU}-q@y%P(uz5dlA-BKjiaA()h
z?v(k%Sj`)%>8Ucy`{d^t4^&qz&4R;dv{&A(v}
zwAS)Qp$$8{?ff2JQ#e{l*1!~A0s{;0L|uJop3OfU-xBb&(phXFeedtzQeNMDN$Yqa
z)dJITtz945$w;w|I<^x#u+e-s)fd_l^07>4_zY)xRqm#mxm{=PeURU3om#yoVPG2GTyEA3qL)lhCY^<*2nw7;5{HcE?
zzu@wdqb-@C$J(5I>I$K{nhGbyp6QA=%h&p68Pz(U?Jl;dCu9!>nOnp@ukEU~+;1ME
zgFWq1hn#X`FZ#R3TXP(zJl?Qk_k_U1!s
z9eGJ$=WzF@x#n#W{AS-Ooby%s>LJ4*9nC%+GpF{C)%O$U=#ayo$Cc%u_oMsIc8wib%PR{T{(KG4%9Q%s
zFx8b^!SNvLFjf(G;(OBQ_;k~K0k}HU_jX3V3
zVf1XvpUvw2ZP|tb{$T#V`r*4km?7~z{4k~esLocB;*L3CO;Rrh{kmH!II`D)p63&P
zEiZ!k9LQ2B$Mtb7=jQj3Bf9VG`EN`wR&!TLnhlRX8Rz9U?#&d{F|z-txy1qDy!UPU
z_f}Yi8_xoK4`@w@rM-b7N#-))xWpvuFSIuYBk`V6=Lshi4n*KTc|8)11|vEhmI++r
zvLLyN(abflJZ25X&Nu{a|EZ{6kx~-5#^Ow+m$_&T*BfRKi>BRNA<$y1SLLcwrtoX+
z!fAVg%}^<213ySbqjVu>vssvFLTGm`%Xqq=>`1SAwH22Ie*4Ue{iDm4lqFVxH%zIU
z^PoE)pNwazILg72=3ZcDA|)(0rR9gY7_@WqSvvO?|
zbPcCJkvp)4HPL(cxbP<=mrJ_TeQCN1TMT$nSp(m$Wcs)6b;L)AZ>%!d)$GObyk}XC
zj}=Hbl_ZCAFRO}3U9?JKBXIMM?VY&{onn29LcCr(z
z@IpvpN}bYXBt_}5c&NuXP)G(Tk@^Z+Vr$5uabPS_N2l5@LG<#EN?zmA#Fs_8%i*gO
zKu0cE8U$q<#YP93mirhI(gm2R)z!32yVck0S;o#y4S3WorjpgIkKpclRC=?=MWj{&
z&dUVBD1*9S?4|O-a089_1_yz^Wb<_l2KFufYJa%$tae^;HS+xR_U_BeGNF)uL97p*
zku@4i=IP*^J)Q^zW46nGapnRw^
zo=V)!vxHJ!&ri2(Wg}T=NogzmV_9RE>Ws5wA9_~JHMFYUu2D?E!_M0rc|~vkBGT$c
za6h#}ZpG|LE-5B>l5OQ%)TcUq};x)FL1SH=lQ64KIL6%EHewYDA|8=TdS1VaEoz6vUcSja$`k8K&76~x
zjI^KI8lj&!3R>*Z+SBm(7?6HJ|A}9OUDadVbMoU0s2pzyi-(1GYzB99J>^vL3mkm2
z+tZ57^EX@xlBF?kugR1xs1_yF9o7AxHFLZCz%v)KU<@xkEL4?^l%+3?8^2Y`P8am_
z$73tvNDY@N>+b_OzO&BBR
zi}Q4(c38ap7FJdzYERUeb>){`CRi_xRf*`p~4TZ`M5%iL}unc`qv0{uj^m7e*H
zov}x7q>c9PWsUCDjJ$Uyd+>Hz<)2(|xBY}dFFkvmoFrimwHUe0QBqU*8+#{Aa`oz=
z{05`+lhD;fn0U7qRr
z3@X3#B!ek>r;dmg1;v(%3;p!*jafp$*EySx6-B1x4?wx>Xw;k)#Nxky&r6AAEHEi*?P5Fj<=3Y#EiE59ZhxR(z&8PXZH}uf%JOib`I`
zNNWyoa!03LQdrE?zo;});Ext+DPf}d(u$wV?DpfZA5+(w<`cjc`Q#|q)jNEskNirq
zc7N+n%JC>@^9WT2hO`);r{b2||`TEmL`g^{rBF@LP+
z6C$P(5^p^&H6Jd%^Qw@0rH>fxZro2DbY8OlNOI5z(lm;t2%(($pk8fA
zzjGoB`Gid{-9TDiN~>3p4UB~@jmJb`irYw89q2$tEj40x7yRu`SZu-jQ$)WLELw|M
zH(&0FHSNk(Ob?6Ta{{h?Zs%+>sNPp%YTXH2@toN|#@6$EOCHr@`84v7m-}W5KYC`C
zCWEA_6+T#Bb036kD{s17<;gvqsR+viYgAXIwiyq26;LGE|F90h=Iw
z;ewAb0_`&Bc}{}M9-;d;vo(Wp%P)bgtCeC4__sGP5WA!2roWUz4sR>9f~ltfFppCD
zAMc!BooGh|tPE=A)oA6PW*9Ynvi{K>2S(I!@x$5Fa>n)2RG=P39e
zOolDYtDmLsLh5OdW6GRgImb8ZxVHgYA2faItn#m4egE}2PA4H<{u}?|VehV_7WiZC
z->CObgAdi-1~}dpQ@(f}e5msN*P>d;ReFcy=ls{8Dzn!|FApSlk*^;H5V=0~==ND*Ot=nI2|3-*V8x3f<+db>Y
zzwBCnLqFb!x*f#6gJ(W^Y~B
zb&FxuMKz|4#*3rovaU8`NX}53&qQI!@;ZjqVQfRLL`cGFzw
z{-8GTZ%E?ba>zsB{M8>#>Uhn#ZrNY@+P~(GJW920AZ|a)xAN47Kix8O`MR&Hf(}+|
zEv2hnP2FKLIJ6=2^}9Q-B+kF#=$xZ?X&(|8pu-z;8pPit@NPg50q|o=?}lk@)wN=#
zDEbil1L3a#yTkqX^Cb2-Y0Ri%0%Okby-T7|P%-VqM-4JC=Uka|J?6r$)wfEd#*hrj
zt9nq!N5(~70VuIhC5(m>+h387MIGGn%Nu3W-a
zEM->mIDT+BPONvk2*5EvQLdMlFf(r_5Wp-#FiaHeM4PLv+&vt9zLU)vzcv)sYm4=q
zGs+}XeHu$vn?P4md5p0E)D>MmeeNVQkih(eC8?n5%Rt;lah+-klW5{zY$7HPy17yu
ztDZG&k~{&I_Lg{%SqGT{D(M8<$A^msG@5Yk2`Ywt5yU)Tuo{Dxpym?SY8C~T$ZncM53J8ls~NV#k4)vw%bePypU!@Qf+gg
zS{%S@`MQjAiBpHUgxgt9X>l>Ryou@eq6{7r+dk&HX^l|Sj!2zz4^hox;r080VNnNx
zMFP#891byvG9#H+bt6JmJ=rc1C8&SaYH#_Xmq`?v`dmM{O=3vXbXt_lt%4jjt>C-V
zo8~N#tDVn$%=a`=hrSa2X@6fh);AWDZghlfXNt@A=#g%A!n)$}J+#C^FaZ8v0X#4@
z8Hkz+1f_Tc@My@%$f?Pwsi6NAz@vUt@ctWsCrJbrCM4t}A!4Ke36O$?q4*+1#0YXy
zb}~{p6)7h*83Ou<;n8wXQwxxhJR>C)p`zd<0)xmAhh1#PWH>@bEzaIM@zkgtmlaPUPf4P%^*&!^3m^|Loz#
z0kNWS@lr8?xfsAl3@;ZOF9we^1D`ySj3S$iBA%3}^by0u1eRkGRNxc*hldBi?7;-J
zV-wU6l6Dc0R+3S+kwBYCpJa2eCkgV`bMckZFb!c~&R}2;Kki&GLE{7jOPK#b;w@w0
zf5CnHNWO^w=;2ZQHxKUw6LS}f;L*d|$0zvl-#t9S|LNiFlTu8Hi2tt`-WPG1NeP_;
zVTE{Yt^dQrbE@=qX)|`3)zsS6&|mTN`VS8e=^h>tl>Gnf;k|#0stk-M4T)?E2}i!I
z`_DbRl>fxTi_XmWPcgijn3#z0)`Ym8*qHX1q{iIB{JXomsi~>|A>936?vDW8Bt9dq
zYoWCBmx+81yT+p7s3%Ppq=wpg(s2+0f>T>a{@6S0r;aUIkW!i0r;{o(W4vY4$h83#
zK|G?8=_E*tMa@s*uWFv#-5!reQn}*R>&`?YDtc9N*-*b{KC1~VOVLsdj(G%EIUnD%
z@jcG%-<)VPQa9-C9zn`fTc{eUgZ;rSiVeP1i)CG{jvKw?xSn*;Nj%2wV8Va1$|UDn
z9gsn$^{%YK$2rsXY?@z0Uqn5&TMgP-yUaE6jGx$rbMpE)4L|V_1_eQV+ue*`iRe!?
zU4Lxy%`boPC)2t;j6N91K={?tzw`pMiXM6F9nfxohLFR5}aVO~RRwLqrC!kRxxGc)3Civ`dsimfZ75XJ7&Vr@wihQFJ|
zQr2oCasZgHQPhEoQo3^+jG7pmc-k*I$zgmV;{P5rT%2xqU1<{>!A@ae8mFUF`C3&n
zKqHSr>Xuc0A%V>()tL3vX-gEnVZ+wiEW^c7-rgG{BaZ{u5FH$5?Oh&ca_CR!&o2u+;t=i%lD+w50i>2@^@F?wlYedy!YPMSaWoSpV2Y}XVsiXt1-z8fE#Mv}d
zJo!F!$tJ#?tKr~dA08jMYiUS^?R6wDnuH#afwd|t+>RM%XHPv`~
zDG3!1+TXZv2t=25M-|MC=7oO^_ccmb(O-{Pw#s=s+2@Qd2KW7LcGI%Eoi)UZ=q;^!
z`ornmYxTuJ%9h&xy~s+8%PXq*B5eE&Yqfv+C1TgjOLsCY>3y(T_U=f-N&-Se$$96tSs$*!1$k@@<5uppDfuulA@XTeSlGt~ZBU
zyWf6Dm8{0|tNb)A<9NB)HkF<#{!-5tOYC>h`_8~WB6aWBwsY8z)~AO*==bP8n2_Yh
z+LGoZSM#R+o)GSB0=qT>10{|%Ua*po4>25vVNn&j-r**@RXTfxH%%DRrVUtGG