diff --git a/include/igl/MappingEnergyType.h b/include/igl/MappingEnergyType.h new file mode 100644 index 000000000..acf2dc0e5 --- /dev/null +++ b/include/igl/MappingEnergyType.h @@ -0,0 +1,26 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2018 Zhongshi Jiang +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. +#ifndef IGL_MAPPINGENERGYTYPE_H +#define IGL_MAPPINGENERGYTYPE_H +namespace igl +{ + // Energy Types used for Parameterization/Mapping. + // Refer to SLIM [Rabinovich et al. 2017] for more details + // Todo: Integrate with ARAPEnergyType + + enum MappingEnergyType + { + ARAP, + LOG_ARAP, + SYMMETRIC_DIRICHLET, + CONFORMAL, + EXP_CONFORMAL, + EXP_SYMMETRIC_DIRICHLET + }; +} +#endif diff --git a/include/igl/mapping_energy_with_jacobians.cpp b/include/igl/mapping_energy_with_jacobians.cpp new file mode 100644 index 000000000..791e01f89 --- /dev/null +++ b/include/igl/mapping_energy_with_jacobians.cpp @@ -0,0 +1,141 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2018 Zhongshi Jiang +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. + +#include "mapping_energy_with_jacobians.h" +#include "polar_svd.h" + +IGL_INLINE double igl::mapping_energy_with_jacobians( + const Eigen::MatrixXd &Ji, + const Eigen::VectorXd &areas, + igl::MappingEnergyType slim_energy, + double exp_factor){ + + double energy = 0; + if (Ji.cols() == 4) + { + Eigen::Matrix ji; + for (int i = 0; i < Ji.rows(); i++) + { + ji(0, 0) = Ji(i, 0); + ji(0, 1) = Ji(i, 1); + ji(1, 0) = Ji(i, 2); + ji(1, 1) = Ji(i, 3); + + typedef Eigen::Matrix Mat2; + typedef Eigen::Matrix Vec2; + Mat2 ri, ti, ui, vi; + Vec2 sing; + igl::polar_svd(ji, ri, ti, ui, sing, vi); + double s1 = sing(0); + double s2 = sing(1); + + switch (slim_energy) + { + case igl::MappingEnergyType::ARAP: + { + energy += areas(i) * (pow(s1 - 1, 2) + pow(s2 - 1, 2)); + break; + } + case igl::MappingEnergyType::SYMMETRIC_DIRICHLET: + { + energy += areas(i) * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2)); + break; + } + case igl::MappingEnergyType::EXP_SYMMETRIC_DIRICHLET: + { + energy += areas(i) * exp(exp_factor * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2))); + break; + } + case igl::MappingEnergyType::LOG_ARAP: + { + energy += areas(i) * (pow(log(s1), 2) + pow(log(s2), 2)); + break; + } + case igl::MappingEnergyType::CONFORMAL: + { + energy += areas(i) * ((pow(s1, 2) + pow(s2, 2)) / (2 * s1 * s2)); + break; + } + case igl::MappingEnergyType::EXP_CONFORMAL: + { + energy += areas(i) * exp(exp_factor * ((pow(s1, 2) + pow(s2, 2)) / (2 * s1 * s2))); + break; + } + + } + + } + } + else + { + Eigen::Matrix ji; + for (int i = 0; i < Ji.rows(); i++) + { + ji(0, 0) = Ji(i, 0); + ji(0, 1) = Ji(i, 1); + ji(0, 2) = Ji(i, 2); + ji(1, 0) = Ji(i, 3); + ji(1, 1) = Ji(i, 4); + ji(1, 2) = Ji(i, 5); + ji(2, 0) = Ji(i, 6); + ji(2, 1) = Ji(i, 7); + ji(2, 2) = Ji(i, 8); + + typedef Eigen::Matrix Mat3; + typedef Eigen::Matrix Vec3; + Mat3 ri, ti, ui, vi; + Vec3 sing; + igl::polar_svd(ji, ri, ti, ui, sing, vi); + double s1 = sing(0); + double s2 = sing(1); + double s3 = sing(2); + + switch (slim_energy) + { + case igl::MappingEnergyType::ARAP: + { + energy += areas(i) * (pow(s1 - 1, 2) + pow(s2 - 1, 2) + pow(s3 - 1, 2)); + break; + } + case igl::MappingEnergyType::SYMMETRIC_DIRICHLET: + { + energy += areas(i) * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2) + pow(s3, 2) + pow(s3, -2)); + break; + } + case igl::MappingEnergyType::EXP_SYMMETRIC_DIRICHLET: + { + energy += areas(i) * exp(exp_factor * + (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2) + pow(s3, 2) + pow(s3, -2))); + break; + } + case igl::MappingEnergyType::LOG_ARAP: + { + energy += areas(i) * (pow(log(s1), 2) + pow(log(std::abs(s2)), 2) + pow(log(std::abs(s3)), 2)); + break; + } + case igl::MappingEnergyType::CONFORMAL: + { + energy += areas(i) * ((pow(s1, 2) + pow(s2, 2) + pow(s3, 2)) / (3 * pow(s1 * s2 * s3, 2. / 3.))); + break; + } + case igl::MappingEnergyType::EXP_CONFORMAL: + { + energy += areas(i) * exp((pow(s1, 2) + pow(s2, 2) + pow(s3, 2)) / (3 * pow(s1 * s2 * s3, 2. / 3.))); + break; + } + } + } + } + + return energy; +} + + +#ifdef IGL_STATIC_LIBRARY +// Explicit template instantiation +#endif diff --git a/include/igl/mapping_energy_with_jacobians.h b/include/igl/mapping_energy_with_jacobians.h new file mode 100644 index 000000000..2952db60d --- /dev/null +++ b/include/igl/mapping_energy_with_jacobians.h @@ -0,0 +1,36 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2018 Zhongshi Jiang +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. +#ifndef IGL_MAPPING_ENERGY_WITH_JACOBIANS_H +#define IGL_MAPPING_ENERGY_WITH_JACOBIANS_H + +#include "igl_inline.h" +#include +#include "MappingEnergyType.h" + +namespace igl +{ + // compute the rotation-invariant energy of a mapping (represented in Jacobians and areas) + // Input: + // Ji: #F by 4 (9 if 3D) entries of jacobians + // areas: #F by 1 face areas + // slim_energy: energy type as in igl::MappingEnergyType + // exp_factor: see igl::MappingEnergyType + // + // Output: + // energy value + IGL_INLINE double mapping_energy_with_jacobians(const Eigen::MatrixXd &Ji, + const Eigen::VectorXd &areas, + igl::MappingEnergyType slim_energy, + double exp_factor); + +} +#ifndef IGL_STATIC_LIBRARY +# include "mapping_energy_with_jacobians.cpp" +#endif + +#endif \ No newline at end of file diff --git a/include/igl/scaf.cpp b/include/igl/scaf.cpp new file mode 100644 index 000000000..a3f969a9c --- /dev/null +++ b/include/igl/scaf.cpp @@ -0,0 +1,707 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2018 Zhongshi Jiang +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. + +#include "scaf.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "mapping_energy_with_jacobians.h" + +#include +#include +#include +#include +#include +namespace igl +{ + +namespace scaf +{ +void update_scaffold(igl::SCAFData &s) +{ + s.mv_num = s.m_V.rows(); + s.mf_num = s.m_T.rows(); + + s.v_num = s.w_uv.rows(); + s.sf_num = s.s_T.rows(); + + s.sv_num = s.v_num - s.mv_num; + s.f_num = s.sf_num + s.mf_num; + + s.s_M = Eigen::VectorXd::Constant(s.sf_num, s.scaffold_factor); +} + +void adjusted_grad(Eigen::MatrixXd &V, + Eigen::MatrixXi &F, + double area_threshold, + Eigen::SparseMatrix &Dx, + Eigen::SparseMatrix &Dy, + Eigen::SparseMatrix &Dz) +{ + Eigen::VectorXd M; + igl::doublearea(V, F, M); + std::vector degen; + for (int i = 0; i < M.size(); i++) + if (M(i) < area_threshold) + degen.push_back(i); + + Eigen::SparseMatrix G; + igl::grad(V, F, G); + + Dx = G.topRows(F.rows()); + Dy = G.block(F.rows(), 0, F.rows(), V.rows()); + Dz = G.bottomRows(F.rows()); + + // handcraft uniform gradient for faces area falling below threshold. + double sin60 = std::sin(M_PI / 3); + double cos60 = std::cos(M_PI / 3); + double deno = std::sqrt(sin60 * area_threshold); + Eigen::MatrixXd standard_grad(3, 3); + standard_grad << -sin60 / deno, sin60 / deno, 0, + -cos60 / deno, -cos60 / deno, 1 / deno, + 0, 0, 0; + + for (auto k : degen) + for (int j = 0; j < 3; j++) + { + Dx.coeffRef(k, F(k, j)) = standard_grad(0, j); + Dy.coeffRef(k, F(k, j)) = standard_grad(1, j); + Dz.coeffRef(k, F(k, j)) = standard_grad(2, j); + } +} + +void compute_scaffold_gradient_matrix(SCAFData &s, + Eigen::SparseMatrix &D1, + Eigen::SparseMatrix &D2) +{ + using namespace Eigen; + Eigen::SparseMatrix G; + MatrixXi F_s = s.s_T; + int vn = s.v_num; + MatrixXd V = MatrixXd::Zero(vn, 3); + V.leftCols(2) = s.w_uv; + + double min_bnd_edge_len = INFINITY; + int acc_bnd = 0; + for (int i = 0; i < s.bnd_sizes.size(); i++) + { + int current_size = s.bnd_sizes[i]; + + for (int e = acc_bnd; e < acc_bnd + current_size - 1; e++) + { + min_bnd_edge_len = (std::min)(min_bnd_edge_len, + (s.w_uv.row(s.internal_bnd(e)) - + s.w_uv.row(s.internal_bnd(e + 1))) + .squaredNorm()); + } + min_bnd_edge_len = (std::min)(min_bnd_edge_len, + (s.w_uv.row(s.internal_bnd(acc_bnd)) - + s.w_uv.row(s.internal_bnd(acc_bnd + current_size - 1))) + .squaredNorm()); + acc_bnd += current_size; + } + + double area_threshold = min_bnd_edge_len / 4.0; + Eigen::SparseMatrix Dx, Dy, Dz; + adjusted_grad(V, F_s, area_threshold, Dx, Dy, Dz); + + MatrixXd F1, F2, F3; + igl::local_basis(V, F_s, F1, F2, F3); + D1 = F1.col(0).asDiagonal() * Dx + F1.col(1).asDiagonal() * Dy + + F1.col(2).asDiagonal() * Dz; + D2 = F2.col(0).asDiagonal() * Dx + F2.col(1).asDiagonal() * Dy + + F2.col(2).asDiagonal() * Dz; +} + +void mesh_improve(igl::SCAFData &s) +{ + using namespace Eigen; + MatrixXd m_uv = s.w_uv.topRows(s.mv_num); + MatrixXd V_bnd; + V_bnd.resize(s.internal_bnd.size(), 2); + for (int i = 0; i < s.internal_bnd.size(); i++) // redoing step 1. + { + V_bnd.row(i) = m_uv.row(s.internal_bnd(i)); + } + + if (s.rect_frame_V.size() == 0) + { + Matrix2d ob; // = rect_corners; + { + VectorXd uv_max = m_uv.colwise().maxCoeff(); + VectorXd uv_min = m_uv.colwise().minCoeff(); + VectorXd uv_mid = (uv_max + uv_min) / 2.; + + Eigen::Array2d scaf_range(3, 3); + ob.row(0) = uv_mid.array() + scaf_range * ((uv_min - uv_mid).array()); + ob.row(1) = uv_mid.array() + scaf_range * ((uv_max - uv_mid).array()); + } + Vector2d rect_len; + rect_len << ob(1, 0) - ob(0, 0), ob(1, 1) - ob(0, 1); + int frame_points = 5; + + s.rect_frame_V.resize(4 * frame_points, 2); + for (int i = 0; i < frame_points; i++) + { + // 0,0;0,1 + s.rect_frame_V.row(i) << ob(0, 0), ob(0, 1) + i * rect_len(1) / frame_points; + // 0,0;1,1 + s.rect_frame_V.row(i + frame_points) + << ob(0, 0) + i * rect_len(0) / frame_points, + ob(1, 1); + // 1,0;1,1 + s.rect_frame_V.row(i + 2 * frame_points) << ob(1, 0), ob(1, 1) - i * rect_len(1) / frame_points; + // 1,0;0,1 + s.rect_frame_V.row(i + 3 * frame_points) + << ob(1, 0) - i * rect_len(0) / frame_points, + ob(0, 1); + // 0,0;0,1 + } + s.frame_ids = Eigen::VectorXi::LinSpaced(s.rect_frame_V.rows(), s.mv_num, s.mv_num + s.rect_frame_V.rows()); + } + + // Concatenate Vert and Edge + MatrixXd V; + MatrixXi E; + igl::cat(1, V_bnd, s.rect_frame_V, V); + E.resize(V.rows(), 2); + for (int i = 0; i < E.rows(); i++) + E.row(i) << i, i + 1; + int acc_bs = 0; + for (auto bs : s.bnd_sizes) + { + E(acc_bs + bs - 1, 1) = acc_bs; + acc_bs += bs; + } + E(V.rows() - 1, 1) = acc_bs; + assert(acc_bs == s.internal_bnd.size()); + + MatrixXd H = MatrixXd::Zero(s.component_sizes.size(), 2); + { + int hole_f = 0; + int hole_i = 0; + for (auto cs : s.component_sizes) + { + for (int i = 0; i < 3; i++) + H.row(hole_i) += m_uv.row(s.m_T(hole_f, i)); // redoing step 2 + hole_f += cs; + hole_i++; + } + } + H /= 3.; + + MatrixXd uv2; + igl::triangle::triangulate(V, E, H, std::basic_string("qYYQ"), uv2, s.s_T); + auto bnd_n = s.internal_bnd.size(); + + for (auto i = 0; i < s.s_T.rows(); i++) + for (auto j = 0; j < s.s_T.cols(); j++) + { + auto &x = s.s_T(i, j); + if (x < bnd_n) + x = s.internal_bnd(x); + else + x += m_uv.rows() - bnd_n; + } + + igl::cat(1, s.m_T, s.s_T, s.w_T); + s.w_uv.conservativeResize(m_uv.rows() - bnd_n + uv2.rows(), 2); + s.w_uv.bottomRows(uv2.rows() - bnd_n) = uv2.bottomRows(-bnd_n + uv2.rows()); + + update_scaffold(s); + + // after_mesh_improve + compute_scaffold_gradient_matrix(s, s.Dx_s, s.Dy_s); + + s.Dx_s.makeCompressed(); + s.Dy_s.makeCompressed(); + s.Dz_s.makeCompressed(); + s.Ri_s = MatrixXd::Zero(s.Dx_s.rows(), s.dim * s.dim); + s.Ji_s.resize(s.Dx_s.rows(), s.dim * s.dim); + s.W_s.resize(s.Dx_s.rows(), s.dim * s.dim); +} + +void add_new_patch(igl::SCAFData &s, const Eigen::MatrixXd &V_ref, + const Eigen::MatrixXi &F_ref, + const Eigen::RowVectorXd ¢er, + const Eigen::MatrixXd &uv_init) +{ + using namespace std; + using namespace Eigen; + + assert(uv_init.rows() != 0); + Eigen::VectorXd M; + igl::doublearea(V_ref, F_ref, M); + s.mesh_measure += M.sum() / 2; + + Eigen::VectorXi bnd; + Eigen::MatrixXd bnd_uv; + + std::vector> all_bnds; + igl::boundary_loop(F_ref, all_bnds); + int num_holes = all_bnds.size() - 1; + + s.component_sizes.push_back(F_ref.rows()); + + MatrixXd m_uv = s.w_uv.topRows(s.mv_num); + igl::cat(1, m_uv, uv_init, s.w_uv); + + s.m_M.conservativeResize(s.mf_num + M.size()); + s.m_M.bottomRows(M.size()) = M / 2; + + for (auto cur_bnd : all_bnds) + { + s.internal_bnd.conservativeResize(s.internal_bnd.size() + cur_bnd.size()); + s.internal_bnd.bottomRows(cur_bnd.size()) = Map(cur_bnd.data(), cur_bnd.size()) + s.mv_num; + s.bnd_sizes.push_back(cur_bnd.size()); + } + + s.m_T.conservativeResize(s.mf_num + F_ref.rows(), 3); + s.m_T.bottomRows(F_ref.rows()) = F_ref.array() + s.mv_num; + s.mf_num += F_ref.rows(); + + s.m_V.conservativeResize(s.mv_num + V_ref.rows(), 3); + s.m_V.bottomRows(V_ref.rows()) = V_ref; + s.mv_num += V_ref.rows(); + + s.rect_frame_V = MatrixXd(); + + mesh_improve(s); +} + +void compute_jacobians(SCAFData &s, const Eigen::MatrixXd &V_new, bool whole) +{ + auto comp_J2 = [](const Eigen::MatrixXd &uv, + const Eigen::SparseMatrix &Dx, + const Eigen::SparseMatrix &Dy, + Eigen::MatrixXd &Ji) { + // Ji=[D1*u,D2*u,D1*v,D2*v]; + Ji.resize(Dx.rows(), 4); + Ji.col(0) = Dx * uv.col(0); + Ji.col(1) = Dy * uv.col(0); + Ji.col(2) = Dx * uv.col(1); + Ji.col(3) = Dy * uv.col(1); + }; + + Eigen::MatrixXd m_V_new = V_new.topRows(s.mv_num); + comp_J2(m_V_new, s.Dx_m, s.Dy_m, s.Ji_m); + if (whole) + comp_J2(V_new, s.Dx_s, s.Dy_s, s.Ji_s); +} + +double compute_energy_from_jacobians(const Eigen::MatrixXd &Ji, + const Eigen::VectorXd &areas, + igl::MappingEnergyType energy_type) +{ + double energy = 0; + if (energy_type == igl::MappingEnergyType::SYMMETRIC_DIRICHLET) + energy = -4; // comply with paper description + return energy + igl::mapping_energy_with_jacobians(Ji, areas, energy_type, 0); +} + +double compute_soft_constraint_energy(const SCAFData &s) +{ + double e = 0; + for (auto const &x : s.soft_cons) + e += s.soft_const_p * (x.second - s.w_uv.row(x.first)).squaredNorm(); + + return e; +} + +double compute_energy(SCAFData &s, Eigen::MatrixXd &w_uv, bool whole) +{ + if (w_uv.rows() != s.v_num) + assert(!whole); + compute_jacobians(s, w_uv, whole); + double energy = compute_energy_from_jacobians(s.Ji_m, s.m_M, s.slim_energy); + + if (whole) + energy += compute_energy_from_jacobians(s.Ji_s, s.s_M, s.scaf_energy); + energy += compute_soft_constraint_energy(s); + return energy; +} + +void buildAm(const Eigen::VectorXd &sqrt_M, + const Eigen::SparseMatrix &Dx, + const Eigen::SparseMatrix &Dy, + const Eigen::MatrixXd &W, + Eigen::SparseMatrix &Am) +{ + std::vector> IJV; + Eigen::SparseMatrix Dz; + + Eigen::SparseMatrix MDx = sqrt_M.asDiagonal() * Dx; + Eigen::SparseMatrix MDy = sqrt_M.asDiagonal() * Dy; + igl::slim_buildA(MDx, MDy, Dz, W, IJV); + + Am.setFromTriplets(IJV.begin(), IJV.end()); + Am.makeCompressed(); +} + +void buildRhs(const Eigen::VectorXd &sqrt_M, + const Eigen::MatrixXd &W, + const Eigen::MatrixXd &Ri, + Eigen::VectorXd &f_rhs) +{ + const int dim = (W.cols() == 4) ? 2 : 3; + const int f_n = W.rows(); + f_rhs.resize(dim * dim * f_n); + + for (int i = 0; i < f_n; i++) + { + auto sqrt_area = sqrt_M(i); + f_rhs(i + 0 * f_n) = sqrt_area * (W(i, 0) * Ri(i, 0) + W(i, 1) * Ri(i, 1)); + f_rhs(i + 1 * f_n) = sqrt_area * (W(i, 0) * Ri(i, 2) + W(i, 1) * Ri(i, 3)); + f_rhs(i + 2 * f_n) = sqrt_area * (W(i, 2) * Ri(i, 0) + W(i, 3) * Ri(i, 1)); + f_rhs(i + 3 * f_n) = sqrt_area * (W(i, 2) * Ri(i, 2) + W(i, 3) * Ri(i, 3)); + } +} + +void get_complement(const Eigen::VectorXi &bnd_ids, int v_n, Eigen::ArrayXi &unknown_ids) +{ // get the complement of bnd_ids. + int assign = 0, i = 0; + for (int get = 0; i < v_n && get < bnd_ids.size(); i++) + { + if (bnd_ids(get) == i) + get++; + else + unknown_ids(assign++) = i; + } + while (i < v_n) + unknown_ids(assign++) = i++; + assert(assign + bnd_ids.size() == v_n); +} + +void build_surface_linear_system(const SCAFData &s, Eigen::SparseMatrix &L, Eigen::VectorXd &rhs) +{ + using namespace Eigen; + using namespace std; + + const int v_n = s.v_num - (s.frame_ids.size()); + const int dim = s.dim; + const int f_n = s.mf_num; + + // to get the complete A + Eigen::VectorXd sqrtM = s.m_M.array().sqrt(); + Eigen::SparseMatrix A(dim * dim * f_n, dim * v_n); + auto decoy_Dx_m = s.Dx_m; + decoy_Dx_m.conservativeResize(s.W_m.rows(), v_n); + auto decoy_Dy_m = s.Dy_m; + decoy_Dy_m.conservativeResize(s.W_m.rows(), v_n); + buildAm(sqrtM, decoy_Dx_m, decoy_Dy_m, s.W_m, A); + + const VectorXi &bnd_ids = s.fixed_ids; + auto bnd_n = bnd_ids.size(); + if (bnd_n == 0) + { + + Eigen::SparseMatrix At = A.transpose(); + At.makeCompressed(); + + Eigen::SparseMatrix id_m(At.rows(), At.rows()); + id_m.setIdentity(); + + L = At * A; + + Eigen::VectorXd frhs; + buildRhs(sqrtM, s.W_m, s.Ri_m, frhs); + rhs = At * frhs; + } + else + { + MatrixXd bnd_pos; + igl::slice(s.w_uv, bnd_ids, 1, bnd_pos); + ArrayXi known_ids(bnd_ids.size() * dim); + ArrayXi unknown_ids((v_n - bnd_ids.rows()) * dim); + get_complement(bnd_ids, v_n, unknown_ids); + VectorXd known_pos(bnd_ids.size() * dim); + for (int d = 0; d < dim; d++) + { + auto n_b = bnd_ids.rows(); + known_ids.segment(d * n_b, n_b) = bnd_ids.array() + d * v_n; + known_pos.segment(d * n_b, n_b) = bnd_pos.col(d); + unknown_ids.block(d * (v_n - n_b), 0, v_n - n_b, unknown_ids.cols()) = + unknown_ids.topRows(v_n - n_b) + d * v_n; + } + + Eigen::SparseMatrix Au, Ae; + igl::slice(A, unknown_ids, 2, Au); + igl::slice(A, known_ids, 2, Ae); + + Eigen::SparseMatrix Aut = Au.transpose(); + Aut.makeCompressed(); + + L = Aut * Au; + + Eigen::VectorXd frhs; + buildRhs(sqrtM, s.W_m, s.Ri_m, frhs); + + rhs = Aut * (frhs - Ae * known_pos); + } + + // add soft constraints. + for (auto const &x : s.soft_cons) + { + int v_idx = x.first; + + for (int d = 0; d < dim; d++) + { + rhs(d * (v_n) + v_idx) += s.soft_const_p * x.second(d); // rhs + L.coeffRef(d * v_n + v_idx, + d * v_n + v_idx) += s.soft_const_p; // diagonal + } + } +} + +void build_scaffold_linear_system(const SCAFData &s, Eigen::SparseMatrix &L, Eigen::VectorXd &rhs) +{ + using namespace Eigen; + + const int f_n = s.W_s.rows(); + const int v_n = s.Dx_s.cols(); + const int dim = s.dim; + + Eigen::VectorXd sqrtM = s.s_M.array().sqrt(); + Eigen::SparseMatrix A(dim * dim * f_n, dim * v_n); + buildAm(sqrtM, s.Dx_s, s.Dy_s, s.W_s, A); + + VectorXi bnd_ids; + igl::cat(1, s.fixed_ids, s.frame_ids, bnd_ids); + + auto bnd_n = bnd_ids.size(); + assert(bnd_n > 0); + MatrixXd bnd_pos; + igl::slice(s.w_uv, bnd_ids, 1, bnd_pos); + + ArrayXi known_ids(bnd_ids.size() * dim); + ArrayXi unknown_ids((v_n - bnd_ids.rows()) * dim); + + get_complement(bnd_ids, v_n, unknown_ids); + + VectorXd known_pos(bnd_ids.size() * dim); + for (int d = 0; d < dim; d++) + { + auto n_b = bnd_ids.rows(); + known_ids.segment(d * n_b, n_b) = bnd_ids.array() + d * v_n; + known_pos.segment(d * n_b, n_b) = bnd_pos.col(d); + unknown_ids.block(d * (v_n - n_b), 0, v_n - n_b, unknown_ids.cols()) = + unknown_ids.topRows(v_n - n_b) + d * v_n; + } + Eigen::VectorXd sqrt_M = s.s_M.array().sqrt(); + + // manual slicing for A(:, unknown/known)' + Eigen::SparseMatrix Au, Ae; + igl::slice(A, unknown_ids, 2, Au); + igl::slice(A, known_ids, 2, Ae); + + Eigen::SparseMatrix Aut = Au.transpose(); + Aut.makeCompressed(); + + L = Aut * Au; + + Eigen::VectorXd frhs; + buildRhs(sqrtM, s.W_s, s.Ri_s, frhs); + + rhs = Aut * (frhs - Ae * known_pos); +} + +void solve_weighted_arap(SCAFData &s, Eigen::MatrixXd &uv) +{ + using namespace Eigen; + using namespace std; + int dim = s.dim; + igl::Timer timer; + timer.start(); + + VectorXi bnd_ids; + igl::cat(1, s.fixed_ids, s.frame_ids, bnd_ids); + const auto v_n = s.v_num; + const auto bnd_n = bnd_ids.size(); + assert(bnd_n > 0); + MatrixXd bnd_pos; + igl::slice(s.w_uv, bnd_ids, 1, bnd_pos); + + ArrayXi known_ids(bnd_n * dim); + ArrayXi unknown_ids((v_n - bnd_n) * dim); + + get_complement(bnd_ids, v_n, unknown_ids); + + VectorXd known_pos(bnd_ids.size() * dim); + for (int d = 0; d < dim; d++) + { + auto n_b = bnd_ids.rows(); + known_ids.segment(d * n_b, n_b) = bnd_ids.array() + d * v_n; + known_pos.segment(d * n_b, n_b) = bnd_pos.col(d); + unknown_ids.block(d * (v_n - n_b), 0, v_n - n_b, unknown_ids.cols()) = + unknown_ids.topRows(v_n - n_b) + d * v_n; + } + + Eigen::SparseMatrix L; + Eigen::VectorXd rhs; + + // fixed frame solving: + // x_e as the fixed frame, x_u for unknowns (mesh + unknown scaffold) + // min ||(A_u*x_u + A_e*x_e) - b||^2 + // => A_u'*A_u*x_u = Au'* (b - A_e*x_e) := Au'* b_u + // + // separate matrix build: + // min ||A_m x_m - b_m||^2 + ||A_s x_all - b_s||^2 + soft + proximal + // First change dimension of A_m to fit for x_all + // (Not just at the end, since x_all is flattened along dimensions) + // L = A_m'*A_m + A_s'*A_s + soft + proximal + // rhs = A_m'* b_m + A_s' * b_s + soft + proximal + // + Eigen::SparseMatrix L_m, L_s; + Eigen::VectorXd rhs_m, rhs_s; + build_surface_linear_system(s, L_m, rhs_m); // complete Am, with soft + build_scaffold_linear_system(s, L_s, rhs_s); // complete As, without proximal + + L = L_m + L_s; + rhs = rhs_m + rhs_s; + L.makeCompressed(); + + Eigen::VectorXd unknown_Uc((v_n - s.frame_ids.size() - s.fixed_ids.size()) * dim), Uc(dim * v_n); + + SimplicialLDLT> solver; + unknown_Uc = solver.compute(L).solve(rhs); + igl::slice_into(unknown_Uc, unknown_ids.matrix(), 1, Uc); + igl::slice_into(known_pos, known_ids.matrix(), 1, Uc); + + uv = Map>(Uc.data(), v_n, dim); +} + +double perform_iteration(SCAFData &s) +{ + Eigen::MatrixXd V_out = s.w_uv; + compute_jacobians(s, V_out, true); + igl::slim_update_weights_and_closest_rotations_with_jacobians(s.Ji_m, s.slim_energy, 0, s.W_m, s.Ri_m); + igl::slim_update_weights_and_closest_rotations_with_jacobians(s.Ji_s, s.scaf_energy, 0, s.W_s, s.Ri_s); + solve_weighted_arap(s, V_out); + auto whole_E = [&s](Eigen::MatrixXd &uv) { return compute_energy(s, uv, true); }; + + Eigen::MatrixXi w_T; + if (s.m_T.cols() == s.s_T.cols()) + igl::cat(1, s.m_T, s.s_T, w_T); + else + w_T = s.s_T; + return igl::flip_avoiding_line_search(w_T, s.w_uv, V_out, + whole_E, -1) / + s.mesh_measure; +} +} +} + +IGL_INLINE void igl::scaf_precompute( + const Eigen::MatrixXd &V, + const Eigen::MatrixXi &F, + const Eigen::MatrixXd &V_init, + igl::SCAFData &data, + igl::MappingEnergyType slim_energy, + Eigen::VectorXi &b, + Eigen::MatrixXd &bc, + double soft_p) +{ + Eigen::MatrixXd CN; + Eigen::MatrixXi FN; + igl::scaf::add_new_patch(data, V, F, Eigen::RowVector2d(0, 0), V_init); + data.soft_const_p = soft_p; + for (int i = 0; i < b.rows(); i++) + data.soft_cons[b(i)] = bc.row(i); + data.slim_energy = slim_energy; + + auto &s = data; + + if (!data.has_pre_calc) + { + int v_n = s.mv_num + s.sv_num; + int f_n = s.mf_num + s.sf_num; + int dim = s.dim; + Eigen::MatrixXd F1, F2, F3; + igl::local_basis(s.m_V, s.m_T, F1, F2, F3); + auto face_proj = [](Eigen::MatrixXd& F){ + std::vector >IJV; + int f_num = F.rows(); + for(int i=0; i(i, i, F(i,0))); + IJV.push_back(Eigen::Triplet(i, i+f_num, F(i,1))); + IJV.push_back(Eigen::Triplet(i, i+2*f_num, F(i,2))); + } + Eigen::SparseMatrix P(f_num, 3*f_num); + P.setFromTriplets(IJV.begin(), IJV.end()); + return P; + }; + Eigen::SparseMatrix G; + igl::grad(s.m_V, s.m_T, G); + s.Dx_m = face_proj(F1) * G; + s.Dy_m = face_proj(F2) * G; + + igl::scaf::compute_scaffold_gradient_matrix(s, s.Dx_s, s.Dy_s); + + s.Dx_m.makeCompressed(); + s.Dy_m.makeCompressed(); + s.Ri_m = Eigen::MatrixXd::Zero(s.Dx_m.rows(), dim * dim); + s.Ji_m.resize(s.Dx_m.rows(), dim * dim); + s.W_m.resize(s.Dx_m.rows(), dim * dim); + + s.Dx_s.makeCompressed(); + s.Dy_s.makeCompressed(); + s.Ri_s = Eigen::MatrixXd::Zero(s.Dx_s.rows(), dim * dim); + s.Ji_s.resize(s.Dx_s.rows(), dim * dim); + s.W_s.resize(s.Dx_s.rows(), dim * dim); + + data.has_pre_calc = true; + } +} + +IGL_INLINE Eigen::MatrixXd igl::scaf_solve(SCAFData &s, int iter_num) +{ + using namespace std; + using namespace Eigen; + s.energy = igl::scaf::compute_energy(s, s.w_uv, false) / s.mesh_measure; + + for (int it = 0; it < iter_num; it++) + { + s.total_energy = igl::scaf::compute_energy(s, s.w_uv, true) / s.mesh_measure; + s.rect_frame_V = Eigen::MatrixXd(); + igl::scaf::mesh_improve(s); + + double new_weight = s.mesh_measure * s.energy / (s.sf_num * 100); + s.scaffold_factor = new_weight; + igl::scaf::update_scaffold(s); + + s.total_energy = igl::scaf::perform_iteration(s); + + s.energy = + igl::scaf::compute_energy(s, s.w_uv, false) / s.mesh_measure; + } + + return s.w_uv.topRows(s.mv_num); +} + +#ifdef IGL_STATIC_LIBRARY +#endif \ No newline at end of file diff --git a/include/igl/scaf.h b/include/igl/scaf.h new file mode 100644 index 000000000..425cc2bb3 --- /dev/null +++ b/include/igl/scaf.h @@ -0,0 +1,101 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2018 Zhongshi Jiang +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. +#ifndef IGL_SCAF_H +#define IGL_SCAF_H + +#include "slim.h" +#include "igl_inline.h" +#include "MappingEnergyType.h" + +namespace igl +{ + // Use a similar interface to igl::slim + // Implement ready-to-use 2D version of the algorithm described in + // SCAF: Simplicial Complex Augmentation Framework for Bijective Maps + // Zhongshi Jiang, Scott Schaefer, Daniele Panozzo, ACM Trancaction on Graphics (Proc. SIGGRAPH Asia 2017) + // For a complete implementation and customized UI, please refer to https://github.com/jiangzhongshi/scaffold-map + + struct SCAFData + { + double scaffold_factor = 10; + igl::MappingEnergyType scaf_energy = igl::MappingEnergyType::SYMMETRIC_DIRICHLET; + igl::MappingEnergyType slim_energy = igl::MappingEnergyType::SYMMETRIC_DIRICHLET; + + // Output + int dim = 2; + double total_energy; // scaffold + isometric + double energy; // objective value + + long mv_num = 0, mf_num = 0; + long sv_num = 0, sf_num = 0; + long v_num{}, f_num = 0; + Eigen::MatrixXd m_V; // input initial mesh V + Eigen::MatrixXi m_T; // input initial mesh F/T + // INTERNAL + Eigen::MatrixXd w_uv; // whole domain uv: mesh + free vertices + Eigen::MatrixXi s_T; // scaffold domain tets: scaffold tets + Eigen::MatrixXi w_T; + + Eigen::VectorXd m_M; // mesh area or volume + Eigen::VectorXd s_M; // scaffold area or volume + Eigen::VectorXd w_M; // area/volume weights for whole + double mesh_measure; // area or volume + double proximal_p = 0; + + Eigen::VectorXi frame_ids; + Eigen::VectorXi fixed_ids; + + std::map soft_cons; + double soft_const_p = 1e4; + + Eigen::VectorXi internal_bnd; + Eigen::MatrixXd rect_frame_V; + // multi-chart support + std::vector component_sizes; + std::vector bnd_sizes; + + // reweightedARAP interior variables. + bool has_pre_calc = false; + Eigen::SparseMatrix Dx_s, Dy_s, Dz_s; + Eigen::SparseMatrix Dx_m, Dy_m, Dz_m; + Eigen::MatrixXd Ri_m, Ji_m, Ri_s, Ji_s; + Eigen::MatrixXd W_m, W_s; + }; + + +// Compute necessary information to start using SCAF +// Inputs: +// V #V by 3 list of mesh vertex positions +// F #F by 3/3 list of mesh faces (triangles/tets) +// data igl::SCAFData +// slim_energy Energy type to minimize +// b list of boundary indices into V (soft constraint) +// bc #b by dim list of boundary conditions (soft constraint) +// soft_p Soft penalty factor (can be zero) + IGL_INLINE void scaf_precompute( + const Eigen::MatrixXd &V, + const Eigen::MatrixXi &F, + const Eigen::MatrixXd &V_init, + SCAFData &data, + MappingEnergyType slim_energy, + Eigen::VectorXi& b, + Eigen::MatrixXd& bc, + double soft_p); + + +// Run iter_num iterations of SCAF, with precomputed data +// Outputs: +// V_o (in SLIMData): #V by dim list of mesh vertex positions + IGL_INLINE Eigen::MatrixXd scaf_solve(SCAFData &data, int iter_num); + } + +#ifndef IGL_STATIC_LIBRARY +# include "scaf.cpp" +#endif + +#endif //IGL_SCAF_H diff --git a/include/igl/slice.cpp b/include/igl/slice.cpp index df3a8e9ce..0d20df96e 100644 --- a/include/igl/slice.cpp +++ b/include/igl/slice.cpp @@ -355,6 +355,7 @@ template Eigen::Matrix igl::slice >, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::DenseBase > const&, int, Eigen::Matrix&); template void igl::slice, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::PlainObjectBase >&); template void igl::slice(Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::SparseMatrix&); +template void igl::slice, Eigen::Array, Eigen::SparseMatrix >(Eigen::SparseMatrix const&, Eigen::DenseBase > const&, int, Eigen::SparseMatrix&); #ifdef WIN32 template void igl::slice, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::PlainObjectBase>>(class Eigen::Matrix<__int64, -1, 1, 0, -1, 1> const &, class Eigen::DenseBase> const &, int, class Eigen::PlainObjectBase> &); template void igl::slice>, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::PlainObjectBase>>(class Eigen::PlainObjectBase> const &, class Eigen::DenseBase> const &, int, class Eigen::PlainObjectBase> &); diff --git a/include/igl/slim.cpp b/include/igl/slim.cpp index a88674274..b1d0f4dba 100644 --- a/include/igl/slim.cpp +++ b/include/igl/slim.cpp @@ -24,6 +24,7 @@ #include "volume.h" #include "polar_svd.h" #include "flip_avoiding_line_search.h" +#include "mapping_energy_with_jacobians.h" #include #include @@ -47,10 +48,6 @@ namespace igl namespace slim { // Definitions of internal functions - IGL_INLINE void compute_surface_gradient_matrix(const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, - const Eigen::MatrixXd &F1, const Eigen::MatrixXd &F2, - Eigen::SparseMatrix &D1, Eigen::SparseMatrix &D2); - IGL_INLINE void buildA(igl::SLIMData& s, std::vector > & IJV); IGL_INLINE void buildRhs(igl::SLIMData& s, const Eigen::SparseMatrix &A); IGL_INLINE void add_soft_constraints(igl::SLIMData& s, Eigen::SparseMatrix &L); IGL_INLINE double compute_energy(igl::SLIMData& s, Eigen::MatrixXd &V_new); @@ -58,10 +55,7 @@ namespace igl const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, Eigen::MatrixXd &V_o); - IGL_INLINE double compute_energy_with_jacobians(igl::SLIMData& s, - const Eigen::MatrixXd &V, - const Eigen::MatrixXi &F, const Eigen::MatrixXd &Ji, - Eigen::MatrixXd &uv, Eigen::VectorXd &areas); + IGL_INLINE void solve_weighted_arap(igl::SLIMData& s, const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, @@ -69,28 +63,12 @@ namespace igl Eigen::VectorXi &soft_b_p, Eigen::MatrixXd &soft_bc_p); IGL_INLINE void update_weights_and_closest_rotations( igl::SLIMData& s, - const Eigen::MatrixXd &V, - const Eigen::MatrixXi &F, Eigen::MatrixXd &uv); IGL_INLINE void compute_jacobians(igl::SLIMData& s, const Eigen::MatrixXd &uv); IGL_INLINE void build_linear_system(igl::SLIMData& s, Eigen::SparseMatrix &L); IGL_INLINE void pre_calc(igl::SLIMData& s); // Implementation - IGL_INLINE void compute_surface_gradient_matrix(const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, - const Eigen::MatrixXd &F1, const Eigen::MatrixXd &F2, - Eigen::SparseMatrix &D1, Eigen::SparseMatrix &D2) - { - - Eigen::SparseMatrix G; - igl::grad(V, F, G); - Eigen::SparseMatrix Dx = G.block(0, 0, F.rows(), V.rows()); - Eigen::SparseMatrix Dy = G.block(F.rows(), 0, F.rows(), V.rows()); - Eigen::SparseMatrix Dz = G.block(2 * F.rows(), 0, F.rows(), V.rows()); - - D1 = F1.col(0).asDiagonal() * Dx + F1.col(1).asDiagonal() * Dy + F1.col(2).asDiagonal() * Dz; - D2 = F2.col(0).asDiagonal() * Dx + F2.col(1).asDiagonal() * Dy + F2.col(2).asDiagonal() * Dz; - } IGL_INLINE void compute_jacobians(igl::SLIMData& s, const Eigen::MatrixXd &uv) { @@ -116,280 +94,14 @@ namespace igl } } - IGL_INLINE void update_weights_and_closest_rotations(igl::SLIMData& s, - const Eigen::MatrixXd &V, - const Eigen::MatrixXi &F, - Eigen::MatrixXd &uv) + IGL_INLINE void update_weights_and_closest_rotations(igl::SLIMData& s, Eigen::MatrixXd &uv) { compute_jacobians(s, uv); - - const double eps = 1e-8; - double exp_f = s.exp_factor; - - if (s.dim == 2) - { - for (int i = 0; i < s.Ji.rows(); ++i) - { - typedef Eigen::Matrix Mat2; - typedef Eigen::Matrix Vec2; - Mat2 ji, ri, ti, ui, vi; - Vec2 sing; - Vec2 closest_sing_vec; - Mat2 mat_W; - Vec2 m_sing_new; - double s1, s2; - - ji(0, 0) = s.Ji(i, 0); - ji(0, 1) = s.Ji(i, 1); - ji(1, 0) = s.Ji(i, 2); - ji(1, 1) = s.Ji(i, 3); - - igl::polar_svd(ji, ri, ti, ui, sing, vi); - - s1 = sing(0); - s2 = sing(1); - - // Update Weights according to energy - switch (s.slim_energy) - { - case igl::SLIMData::ARAP: - { - m_sing_new << 1, 1; - break; - } - case igl::SLIMData::SYMMETRIC_DIRICHLET: - { - double s1_g = 2 * (s1 - pow(s1, -3)); - double s2_g = 2 * (s2 - pow(s2, -3)); - m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))); - break; - } - case igl::SLIMData::LOG_ARAP: - { - double s1_g = 2 * (log(s1) / s1); - double s2_g = 2 * (log(s2) / s2); - m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))); - break; - } - case igl::SLIMData::CONFORMAL: - { - double s1_g = 1 / (2 * s2) - s2 / (2 * pow(s1, 2)); - double s2_g = 1 / (2 * s1) - s1 / (2 * pow(s2, 2)); - - double geo_avg = sqrt(s1 * s2); - double s1_min = geo_avg; - double s2_min = geo_avg; - - m_sing_new << sqrt(s1_g / (2 * (s1 - s1_min))), sqrt(s2_g / (2 * (s2 - s2_min))); - - // change local step - closest_sing_vec << s1_min, s2_min; - ri = ui * closest_sing_vec.asDiagonal() * vi.transpose(); - break; - } - case igl::SLIMData::EXP_CONFORMAL: - { - double s1_g = 2 * (s1 - pow(s1, -3)); - double s2_g = 2 * (s2 - pow(s2, -3)); - - double geo_avg = sqrt(s1 * s2); - double s1_min = geo_avg; - double s2_min = geo_avg; - - double in_exp = exp_f * ((pow(s1, 2) + pow(s2, 2)) / (2 * s1 * s2)); - double exp_thing = exp(in_exp); - - s1_g *= exp_thing * exp_f; - s2_g *= exp_thing * exp_f; - - m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))); - break; - } - case igl::SLIMData::EXP_SYMMETRIC_DIRICHLET: - { - double s1_g = 2 * (s1 - pow(s1, -3)); - double s2_g = 2 * (s2 - pow(s2, -3)); - - double in_exp = exp_f * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2)); - double exp_thing = exp(in_exp); - - s1_g *= exp_thing * exp_f; - s2_g *= exp_thing * exp_f; - - m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))); - break; - } - } - - if (std::abs(s1 - 1) < eps) m_sing_new(0) = 1; - if (std::abs(s2 - 1) < eps) m_sing_new(1) = 1; - mat_W = ui * m_sing_new.asDiagonal() * ui.transpose(); - - s.W_11(i) = mat_W(0, 0); - s.W_12(i) = mat_W(0, 1); - s.W_21(i) = mat_W(1, 0); - s.W_22(i) = mat_W(1, 1); - - // 2) Update local step (doesn't have to be a rotation, for instance in case of conformal energy) - s.Ri(i, 0) = ri(0, 0); - s.Ri(i, 1) = ri(1, 0); - s.Ri(i, 2) = ri(0, 1); - s.Ri(i, 3) = ri(1, 1); - } - } - else - { - typedef Eigen::Matrix Vec3; - typedef Eigen::Matrix Mat3; - Mat3 ji; - Vec3 m_sing_new; - Vec3 closest_sing_vec; - const double sqrt_2 = sqrt(2); - for (int i = 0; i < s.Ji.rows(); ++i) - { - ji(0, 0) = s.Ji(i, 0); - ji(0, 1) = s.Ji(i, 1); - ji(0, 2) = s.Ji(i, 2); - ji(1, 0) = s.Ji(i, 3); - ji(1, 1) = s.Ji(i, 4); - ji(1, 2) = s.Ji(i, 5); - ji(2, 0) = s.Ji(i, 6); - ji(2, 1) = s.Ji(i, 7); - ji(2, 2) = s.Ji(i, 8); - - Mat3 ri, ti, ui, vi; - Vec3 sing; - igl::polar_svd(ji, ri, ti, ui, sing, vi); - - double s1 = sing(0); - double s2 = sing(1); - double s3 = sing(2); - - // 1) Update Weights - switch (s.slim_energy) - { - case igl::SLIMData::ARAP: - { - m_sing_new << 1, 1, 1; - break; - } - case igl::SLIMData::LOG_ARAP: - { - double s1_g = 2 * (log(s1) / s1); - double s2_g = 2 * (log(s2) / s2); - double s3_g = 2 * (log(s3) / s3); - m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))), sqrt(s3_g / (2 * (s3 - 1))); - break; - } - case igl::SLIMData::SYMMETRIC_DIRICHLET: - { - double s1_g = 2 * (s1 - pow(s1, -3)); - double s2_g = 2 * (s2 - pow(s2, -3)); - double s3_g = 2 * (s3 - pow(s3, -3)); - m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))), sqrt(s3_g / (2 * (s3 - 1))); - break; - } - case igl::SLIMData::EXP_SYMMETRIC_DIRICHLET: - { - double s1_g = 2 * (s1 - pow(s1, -3)); - double s2_g = 2 * (s2 - pow(s2, -3)); - double s3_g = 2 * (s3 - pow(s3, -3)); - m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))), sqrt(s3_g / (2 * (s3 - 1))); - - double in_exp = exp_f * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2) + pow(s3, 2) + pow(s3, -2)); - double exp_thing = exp(in_exp); - - s1_g *= exp_thing * exp_f; - s2_g *= exp_thing * exp_f; - s3_g *= exp_thing * exp_f; - - m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))), sqrt(s3_g / (2 * (s3 - 1))); - - break; - } - case igl::SLIMData::CONFORMAL: - { - double common_div = 9 * (pow(s1 * s2 * s3, 5. / 3.)); - - double s1_g = (-2 * s2 * s3 * (pow(s2, 2) + pow(s3, 2) - 2 * pow(s1, 2))) / common_div; - double s2_g = (-2 * s1 * s3 * (pow(s1, 2) + pow(s3, 2) - 2 * pow(s2, 2))) / common_div; - double s3_g = (-2 * s1 * s2 * (pow(s1, 2) + pow(s2, 2) - 2 * pow(s3, 2))) / common_div; - - double closest_s = sqrt(pow(s1, 2) + pow(s3, 2)) / sqrt_2; - double s1_min = closest_s; - double s2_min = closest_s; - double s3_min = closest_s; - - m_sing_new << sqrt(s1_g / (2 * (s1 - s1_min))), sqrt(s2_g / (2 * (s2 - s2_min))), sqrt( - s3_g / (2 * (s3 - s3_min))); - - // change local step - closest_sing_vec << s1_min, s2_min, s3_min; - ri = ui * closest_sing_vec.asDiagonal() * vi.transpose(); - break; - } - case igl::SLIMData::EXP_CONFORMAL: - { - // E_conf = (s1^2 + s2^2 + s3^2)/(3*(s1*s2*s3)^(2/3) ) - // dE_conf/ds1 = (-2*(s2*s3)*(s2^2+s3^2 -2*s1^2) ) / (9*(s1*s2*s3)^(5/3)) - // Argmin E_conf(s1): s1 = sqrt(s1^2+s2^2)/sqrt(2) - double common_div = 9 * (pow(s1 * s2 * s3, 5. / 3.)); - - double s1_g = (-2 * s2 * s3 * (pow(s2, 2) + pow(s3, 2) - 2 * pow(s1, 2))) / common_div; - double s2_g = (-2 * s1 * s3 * (pow(s1, 2) + pow(s3, 2) - 2 * pow(s2, 2))) / common_div; - double s3_g = (-2 * s1 * s2 * (pow(s1, 2) + pow(s2, 2) - 2 * pow(s3, 2))) / common_div; - - double in_exp = exp_f * ((pow(s1, 2) + pow(s2, 2) + pow(s3, 2)) / (3 * pow((s1 * s2 * s3), 2. / 3)));; - double exp_thing = exp(in_exp); - - double closest_s = sqrt(pow(s1, 2) + pow(s3, 2)) / sqrt_2; - double s1_min = closest_s; - double s2_min = closest_s; - double s3_min = closest_s; - - s1_g *= exp_thing * exp_f; - s2_g *= exp_thing * exp_f; - s3_g *= exp_thing * exp_f; - - m_sing_new << sqrt(s1_g / (2 * (s1 - s1_min))), sqrt(s2_g / (2 * (s2 - s2_min))), sqrt( - s3_g / (2 * (s3 - s3_min))); - - // change local step - closest_sing_vec << s1_min, s2_min, s3_min; - ri = ui * closest_sing_vec.asDiagonal() * vi.transpose(); - } - } - if (std::abs(s1 - 1) < eps) m_sing_new(0) = 1; - if (std::abs(s2 - 1) < eps) m_sing_new(1) = 1; - if (std::abs(s3 - 1) < eps) m_sing_new(2) = 1; - Mat3 mat_W; - mat_W = ui * m_sing_new.asDiagonal() * ui.transpose(); - - s.W_11(i) = mat_W(0, 0); - s.W_12(i) = mat_W(0, 1); - s.W_13(i) = mat_W(0, 2); - s.W_21(i) = mat_W(1, 0); - s.W_22(i) = mat_W(1, 1); - s.W_23(i) = mat_W(1, 2); - s.W_31(i) = mat_W(2, 0); - s.W_32(i) = mat_W(2, 1); - s.W_33(i) = mat_W(2, 2); - - // 2) Update closest rotations (not rotations in case of conformal energy) - s.Ri(i, 0) = ri(0, 0); - s.Ri(i, 1) = ri(1, 0); - s.Ri(i, 2) = ri(2, 0); - s.Ri(i, 3) = ri(0, 1); - s.Ri(i, 4) = ri(1, 1); - s.Ri(i, 5) = ri(2, 1); - s.Ri(i, 6) = ri(0, 2); - s.Ri(i, 7) = ri(1, 2); - s.Ri(i, 8) = ri(2, 2); - } // for loop end - - } // if dim end - + slim_update_weights_and_closest_rotations_with_jacobians(s.Ji, s.slim_energy, s.exp_factor, s.W, s.Ri); } + + + IGL_INLINE void solve_weighted_arap(igl::SLIMData& s, const Eigen::MatrixXd &V, @@ -448,12 +160,25 @@ namespace igl s.dim = 2; Eigen::MatrixXd F1, F2, F3; igl::local_basis(s.V, s.F, F1, F2, F3); - compute_surface_gradient_matrix(s.V, s.F, F1, F2, s.Dx, s.Dy); + Eigen::SparseMatrix G; + igl::grad(s.V, s.F, G); + Eigen::SparseMatrix Face_Proj; - s.W_11.resize(s.f_n); - s.W_12.resize(s.f_n); - s.W_21.resize(s.f_n); - s.W_22.resize(s.f_n); + auto face_proj = [](Eigen::MatrixXd& F){ + std::vector >IJV; + int f_num = F.rows(); + for(int i=0; i(i, i, F(i,0))); + IJV.push_back(Eigen::Triplet(i, i+f_num, F(i,1))); + IJV.push_back(Eigen::Triplet(i, i+2*f_num, F(i,2))); + } + Eigen::SparseMatrix P(f_num, 3*f_num); + P.setFromTriplets(IJV.begin(), IJV.end()); + return P; + }; + + s.Dx = face_proj(F1) * G; + s.Dy = face_proj(F2) * G; } else { @@ -464,19 +189,9 @@ namespace igl s.Dx = G.block(0, 0, s.F.rows(), s.V.rows()); s.Dy = G.block(s.F.rows(), 0, s.F.rows(), s.V.rows()); s.Dz = G.block(2 * s.F.rows(), 0, s.F.rows(), s.V.rows()); - - - s.W_11.resize(s.f_n); - s.W_12.resize(s.f_n); - s.W_13.resize(s.f_n); - s.W_21.resize(s.f_n); - s.W_22.resize(s.f_n); - s.W_23.resize(s.f_n); - s.W_31.resize(s.f_n); - s.W_32.resize(s.f_n); - s.W_33.resize(s.f_n); } + s.W.resize(s.f_n, s.dim * s.dim); s.Dx.makeCompressed(); s.Dy.makeCompressed(); s.Dz.makeCompressed(); @@ -501,7 +216,7 @@ namespace igl std::vector > IJV; #ifdef SLIM_CACHED - buildA(s,IJV); + slim_buildA(s.Dx, s.Dy, s.Dz, s.W, IJV); if (s.A.rows() == 0) { s.A = Eigen::SparseMatrix(s.dim * s.dim * s.f_n, s.dim * s.v_n); @@ -511,7 +226,7 @@ namespace igl igl::sparse_cached(IJV,s.A_data,s.A); #else Eigen::SparseMatrix A(s.dim * s.dim * s.f_n, s.dim * s.v_n); - buildA(s,IJV); + slim_buildA(s.Dx, s.Dy, s.Dz, s.W, IJV); A.setFromTriplets(IJV.begin(),IJV.end()); A.makeCompressed(); #endif @@ -574,7 +289,7 @@ namespace igl IGL_INLINE double compute_energy(igl::SLIMData& s, Eigen::MatrixXd &V_new) { compute_jacobians(s,V_new); - return compute_energy_with_jacobians(s, s.V, s.F, s.Ji, V_new, s.M) + + return mapping_energy_with_jacobians(s.Ji, s.M, s.slim_energy, s.exp_factor) + compute_soft_const_energy(s, s.V, s.F, V_new); } @@ -591,255 +306,7 @@ namespace igl return e; } - IGL_INLINE double compute_energy_with_jacobians(igl::SLIMData& s, - const Eigen::MatrixXd &V, - const Eigen::MatrixXi &F, const Eigen::MatrixXd &Ji, - Eigen::MatrixXd &uv, Eigen::VectorXd &areas) - { - double energy = 0; - if (s.dim == 2) - { - Eigen::Matrix ji; - for (int i = 0; i < s.f_n; i++) - { - ji(0, 0) = Ji(i, 0); - ji(0, 1) = Ji(i, 1); - ji(1, 0) = Ji(i, 2); - ji(1, 1) = Ji(i, 3); - - typedef Eigen::Matrix Mat2; - typedef Eigen::Matrix Vec2; - Mat2 ri, ti, ui, vi; - Vec2 sing; - igl::polar_svd(ji, ri, ti, ui, sing, vi); - double s1 = sing(0); - double s2 = sing(1); - - switch (s.slim_energy) - { - case igl::SLIMData::ARAP: - { - energy += areas(i) * (pow(s1 - 1, 2) + pow(s2 - 1, 2)); - break; - } - case igl::SLIMData::SYMMETRIC_DIRICHLET: - { - energy += areas(i) * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2)); - break; - } - case igl::SLIMData::EXP_SYMMETRIC_DIRICHLET: - { - energy += areas(i) * exp(s.exp_factor * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2))); - break; - } - case igl::SLIMData::LOG_ARAP: - { - energy += areas(i) * (pow(log(s1), 2) + pow(log(s2), 2)); - break; - } - case igl::SLIMData::CONFORMAL: - { - energy += areas(i) * ((pow(s1, 2) + pow(s2, 2)) / (2 * s1 * s2)); - break; - } - case igl::SLIMData::EXP_CONFORMAL: - { - energy += areas(i) * exp(s.exp_factor * ((pow(s1, 2) + pow(s2, 2)) / (2 * s1 * s2))); - break; - } - - } - - } - } - else - { - Eigen::Matrix ji; - for (int i = 0; i < s.f_n; i++) - { - ji(0, 0) = Ji(i, 0); - ji(0, 1) = Ji(i, 1); - ji(0, 2) = Ji(i, 2); - ji(1, 0) = Ji(i, 3); - ji(1, 1) = Ji(i, 4); - ji(1, 2) = Ji(i, 5); - ji(2, 0) = Ji(i, 6); - ji(2, 1) = Ji(i, 7); - ji(2, 2) = Ji(i, 8); - - typedef Eigen::Matrix Mat3; - typedef Eigen::Matrix Vec3; - Mat3 ri, ti, ui, vi; - Vec3 sing; - igl::polar_svd(ji, ri, ti, ui, sing, vi); - double s1 = sing(0); - double s2 = sing(1); - double s3 = sing(2); - - switch (s.slim_energy) - { - case igl::SLIMData::ARAP: - { - energy += areas(i) * (pow(s1 - 1, 2) + pow(s2 - 1, 2) + pow(s3 - 1, 2)); - break; - } - case igl::SLIMData::SYMMETRIC_DIRICHLET: - { - energy += areas(i) * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2) + pow(s3, 2) + pow(s3, -2)); - break; - } - case igl::SLIMData::EXP_SYMMETRIC_DIRICHLET: - { - energy += areas(i) * exp(s.exp_factor * - (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2) + pow(s3, 2) + pow(s3, -2))); - break; - } - case igl::SLIMData::LOG_ARAP: - { - energy += areas(i) * (pow(log(s1), 2) + pow(log(std::abs(s2)), 2) + pow(log(std::abs(s3)), 2)); - break; - } - case igl::SLIMData::CONFORMAL: - { - energy += areas(i) * ((pow(s1, 2) + pow(s2, 2) + pow(s3, 2)) / (3 * pow(s1 * s2 * s3, 2. / 3.))); - break; - } - case igl::SLIMData::EXP_CONFORMAL: - { - energy += areas(i) * exp((pow(s1, 2) + pow(s2, 2) + pow(s3, 2)) / (3 * pow(s1 * s2 * s3, 2. / 3.))); - break; - } - } - } - } - - return energy; - } - - IGL_INLINE void buildA(igl::SLIMData& s, std::vector > & IJV) - { - // formula (35) in paper - if (s.dim == 2) - { - IJV.reserve(4 * (s.Dx.outerSize() + s.Dy.outerSize())); - - /*A = [W11*Dx, W12*Dx; - W11*Dy, W12*Dy; - W21*Dx, W22*Dx; - W21*Dy, W22*Dy];*/ - for (int k = 0; k < s.Dx.outerSize(); ++k) - { - for (Eigen::SparseMatrix::InnerIterator it(s.Dx, k); it; ++it) - { - int dx_r = it.row(); - int dx_c = it.col(); - double val = it.value(); - - IJV.push_back(Eigen::Triplet(dx_r, dx_c, val * s.W_11(dx_r))); - IJV.push_back(Eigen::Triplet(dx_r, s.v_n + dx_c, val * s.W_12(dx_r))); - - IJV.push_back(Eigen::Triplet(2 * s.f_n + dx_r, dx_c, val * s.W_21(dx_r))); - IJV.push_back(Eigen::Triplet(2 * s.f_n + dx_r, s.v_n + dx_c, val * s.W_22(dx_r))); - } - } - - for (int k = 0; k < s.Dy.outerSize(); ++k) - { - for (Eigen::SparseMatrix::InnerIterator it(s.Dy, k); it; ++it) - { - int dy_r = it.row(); - int dy_c = it.col(); - double val = it.value(); - - IJV.push_back(Eigen::Triplet(s.f_n + dy_r, dy_c, val * s.W_11(dy_r))); - IJV.push_back(Eigen::Triplet(s.f_n + dy_r, s.v_n + dy_c, val * s.W_12(dy_r))); - - IJV.push_back(Eigen::Triplet(3 * s.f_n + dy_r, dy_c, val * s.W_21(dy_r))); - IJV.push_back(Eigen::Triplet(3 * s.f_n + dy_r, s.v_n + dy_c, val * s.W_22(dy_r))); - } - } - } - else - { - - /*A = [W11*Dx, W12*Dx, W13*Dx; - W11*Dy, W12*Dy, W13*Dy; - W11*Dz, W12*Dz, W13*Dz; - W21*Dx, W22*Dx, W23*Dx; - W21*Dy, W22*Dy, W23*Dy; - W21*Dz, W22*Dz, W23*Dz; - W31*Dx, W32*Dx, W33*Dx; - W31*Dy, W32*Dy, W33*Dy; - W31*Dz, W32*Dz, W33*Dz;];*/ - IJV.reserve(9 * (s.Dx.outerSize() + s.Dy.outerSize() + s.Dz.outerSize())); - for (int k = 0; k < s.Dx.outerSize(); k++) - { - for (Eigen::SparseMatrix::InnerIterator it(s.Dx, k); it; ++it) - { - int dx_r = it.row(); - int dx_c = it.col(); - double val = it.value(); - - IJV.push_back(Eigen::Triplet(dx_r, dx_c, val * s.W_11(dx_r))); - IJV.push_back(Eigen::Triplet(dx_r, s.v_n + dx_c, val * s.W_12(dx_r))); - IJV.push_back(Eigen::Triplet(dx_r, 2 * s.v_n + dx_c, val * s.W_13(dx_r))); - - IJV.push_back(Eigen::Triplet(3 * s.f_n + dx_r, dx_c, val * s.W_21(dx_r))); - IJV.push_back(Eigen::Triplet(3 * s.f_n + dx_r, s.v_n + dx_c, val * s.W_22(dx_r))); - IJV.push_back(Eigen::Triplet(3 * s.f_n + dx_r, 2 * s.v_n + dx_c, val * s.W_23(dx_r))); - - IJV.push_back(Eigen::Triplet(6 * s.f_n + dx_r, dx_c, val * s.W_31(dx_r))); - IJV.push_back(Eigen::Triplet(6 * s.f_n + dx_r, s.v_n + dx_c, val * s.W_32(dx_r))); - IJV.push_back(Eigen::Triplet(6 * s.f_n + dx_r, 2 * s.v_n + dx_c, val * s.W_33(dx_r))); - } - } - - for (int k = 0; k < s.Dy.outerSize(); k++) - { - for (Eigen::SparseMatrix::InnerIterator it(s.Dy, k); it; ++it) - { - int dy_r = it.row(); - int dy_c = it.col(); - double val = it.value(); - - IJV.push_back(Eigen::Triplet(s.f_n + dy_r, dy_c, val * s.W_11(dy_r))); - IJV.push_back(Eigen::Triplet(s.f_n + dy_r, s.v_n + dy_c, val * s.W_12(dy_r))); - IJV.push_back(Eigen::Triplet(s.f_n + dy_r, 2 * s.v_n + dy_c, val * s.W_13(dy_r))); - - IJV.push_back(Eigen::Triplet(4 * s.f_n + dy_r, dy_c, val * s.W_21(dy_r))); - IJV.push_back(Eigen::Triplet(4 * s.f_n + dy_r, s.v_n + dy_c, val * s.W_22(dy_r))); - IJV.push_back(Eigen::Triplet(4 * s.f_n + dy_r, 2 * s.v_n + dy_c, val * s.W_23(dy_r))); - - IJV.push_back(Eigen::Triplet(7 * s.f_n + dy_r, dy_c, val * s.W_31(dy_r))); - IJV.push_back(Eigen::Triplet(7 * s.f_n + dy_r, s.v_n + dy_c, val * s.W_32(dy_r))); - IJV.push_back(Eigen::Triplet(7 * s.f_n + dy_r, 2 * s.v_n + dy_c, val * s.W_33(dy_r))); - } - } - - for (int k = 0; k < s.Dz.outerSize(); k++) - { - for (Eigen::SparseMatrix::InnerIterator it(s.Dz, k); it; ++it) - { - int dz_r = it.row(); - int dz_c = it.col(); - double val = it.value(); - - IJV.push_back(Eigen::Triplet(2 * s.f_n + dz_r, dz_c, val * s.W_11(dz_r))); - IJV.push_back(Eigen::Triplet(2 * s.f_n + dz_r, s.v_n + dz_c, val * s.W_12(dz_r))); - IJV.push_back(Eigen::Triplet(2 * s.f_n + dz_r, 2 * s.v_n + dz_c, val * s.W_13(dz_r))); - - IJV.push_back(Eigen::Triplet(5 * s.f_n + dz_r, dz_c, val * s.W_21(dz_r))); - IJV.push_back(Eigen::Triplet(5 * s.f_n + dz_r, s.v_n + dz_c, val * s.W_22(dz_r))); - IJV.push_back(Eigen::Triplet(5 * s.f_n + dz_r, 2 * s.v_n + dz_c, val * s.W_23(dz_r))); - - IJV.push_back(Eigen::Triplet(8 * s.f_n + dz_r, dz_c, val * s.W_31(dz_r))); - IJV.push_back(Eigen::Triplet(8 * s.f_n + dz_r, s.v_n + dz_c, val * s.W_32(dz_r))); - IJV.push_back(Eigen::Triplet(8 * s.f_n + dz_r, 2 * s.v_n + dz_c, val * s.W_33(dz_r))); - } - } - } - } IGL_INLINE void buildRhs(igl::SLIMData& s, const Eigen::SparseMatrix &A) { @@ -853,10 +320,10 @@ namespace igl W21*R12 + W22*R22];*/ for (int i = 0; i < s.f_n; i++) { - f_rhs(i + 0 * s.f_n) = s.W_11(i) * s.Ri(i, 0) + s.W_12(i) * s.Ri(i, 1); - f_rhs(i + 1 * s.f_n) = s.W_11(i) * s.Ri(i, 2) + s.W_12(i) * s.Ri(i, 3); - f_rhs(i + 2 * s.f_n) = s.W_21(i) * s.Ri(i, 0) + s.W_22(i) * s.Ri(i, 1); - f_rhs(i + 3 * s.f_n) = s.W_21(i) * s.Ri(i, 2) + s.W_22(i) * s.Ri(i, 3); + f_rhs(i + 0 * s.f_n) = s.W(i, 0) * s.Ri(i, 0) + s.W(i, 1) * s.Ri(i, 1); + f_rhs(i + 1 * s.f_n) = s.W(i, 0) * s.Ri(i, 2) + s.W(i, 1) * s.Ri(i, 3); + f_rhs(i + 2 * s.f_n) = s.W(i, 2) * s.Ri(i, 0) + s.W(i, 3) * s.Ri(i, 1); + f_rhs(i + 3 * s.f_n) = s.W(i, 2) * s.Ri(i, 2) + s.W(i, 3) * s.Ri(i, 3); } } else @@ -872,15 +339,15 @@ namespace igl W31*R13 + W32*R23 + W33*R33;];*/ for (int i = 0; i < s.f_n; i++) { - f_rhs(i + 0 * s.f_n) = s.W_11(i) * s.Ri(i, 0) + s.W_12(i) * s.Ri(i, 1) + s.W_13(i) * s.Ri(i, 2); - f_rhs(i + 1 * s.f_n) = s.W_11(i) * s.Ri(i, 3) + s.W_12(i) * s.Ri(i, 4) + s.W_13(i) * s.Ri(i, 5); - f_rhs(i + 2 * s.f_n) = s.W_11(i) * s.Ri(i, 6) + s.W_12(i) * s.Ri(i, 7) + s.W_13(i) * s.Ri(i, 8); - f_rhs(i + 3 * s.f_n) = s.W_21(i) * s.Ri(i, 0) + s.W_22(i) * s.Ri(i, 1) + s.W_23(i) * s.Ri(i, 2); - f_rhs(i + 4 * s.f_n) = s.W_21(i) * s.Ri(i, 3) + s.W_22(i) * s.Ri(i, 4) + s.W_23(i) * s.Ri(i, 5); - f_rhs(i + 5 * s.f_n) = s.W_21(i) * s.Ri(i, 6) + s.W_22(i) * s.Ri(i, 7) + s.W_23(i) * s.Ri(i, 8); - f_rhs(i + 6 * s.f_n) = s.W_31(i) * s.Ri(i, 0) + s.W_32(i) * s.Ri(i, 1) + s.W_33(i) * s.Ri(i, 2); - f_rhs(i + 7 * s.f_n) = s.W_31(i) * s.Ri(i, 3) + s.W_32(i) * s.Ri(i, 4) + s.W_33(i) * s.Ri(i, 5); - f_rhs(i + 8 * s.f_n) = s.W_31(i) * s.Ri(i, 6) + s.W_32(i) * s.Ri(i, 7) + s.W_33(i) * s.Ri(i, 8); + f_rhs(i + 0 * s.f_n) = s.W(i, 0) * s.Ri(i, 0) + s.W(i, 1) * s.Ri(i, 1) + s.W(i, 2) * s.Ri(i, 2); + f_rhs(i + 1 * s.f_n) = s.W(i, 0) * s.Ri(i, 3) + s.W(i, 1) * s.Ri(i, 4) + s.W(i, 2) * s.Ri(i, 5); + f_rhs(i + 2 * s.f_n) = s.W(i, 0) * s.Ri(i, 6) + s.W(i, 1) * s.Ri(i, 7) + s.W(i, 2) * s.Ri(i, 8); + f_rhs(i + 3 * s.f_n) = s.W(i, 3) * s.Ri(i, 0) + s.W(i, 4) * s.Ri(i, 1) + s.W(i, 5) * s.Ri(i, 2); + f_rhs(i + 4 * s.f_n) = s.W(i, 3) * s.Ri(i, 3) + s.W(i, 4) * s.Ri(i, 4) + s.W(i, 5) * s.Ri(i, 5); + f_rhs(i + 5 * s.f_n) = s.W(i, 3) * s.Ri(i, 6) + s.W(i, 4) * s.Ri(i, 7) + s.W(i, 5) * s.Ri(i, 8); + f_rhs(i + 6 * s.f_n) = s.W(i, 6) * s.Ri(i, 0) + s.W(i, 7) * s.Ri(i, 1) + s.W(i, 8) * s.Ri(i, 2); + f_rhs(i + 7 * s.f_n) = s.W(i, 6) * s.Ri(i, 3) + s.W(i, 7) * s.Ri(i, 4) + s.W(i, 8) * s.Ri(i, 5); + f_rhs(i + 8 * s.f_n) = s.W(i, 6) * s.Ri(i, 6) + s.W(i, 7) * s.Ri(i, 7) + s.W(i, 8) * s.Ri(i, 8); } } Eigen::VectorXd uv_flat(s.dim *s.v_n); @@ -894,14 +361,392 @@ namespace igl } } +IGL_INLINE void igl::slim_update_weights_and_closest_rotations_with_jacobians(const Eigen::MatrixXd &Ji, + igl::MappingEnergyType slim_energy, + double exp_factor, + Eigen::MatrixXd &W, + Eigen::MatrixXd &Ri) +{ + const double eps = 1e-8; + double exp_f = exp_factor; + const int dim = (Ji.cols()==4? 2:3); + + if (dim == 2) + { + for (int i = 0; i < Ji.rows(); ++i) + { + typedef Eigen::Matrix2d Mat2; + typedef Eigen::Matrix RMat2; + typedef Eigen::Vector2d Vec2; + Mat2 ji, ri, ti, ui, vi; + Vec2 sing; + Vec2 closest_sing_vec; + RMat2 mat_W; + Vec2 m_sing_new; + double s1, s2; + + ji(0, 0) = Ji(i, 0); + ji(0, 1) = Ji(i, 1); + ji(1, 0) = Ji(i, 2); + ji(1, 1) = Ji(i, 3); + + igl::polar_svd(ji, ri, ti, ui, sing, vi); + + s1 = sing(0); + s2 = sing(1); + + // Update Weights according to energy + switch (slim_energy) + { + case igl::MappingEnergyType::ARAP: + { + m_sing_new << 1, 1; + break; + } + case igl::MappingEnergyType::SYMMETRIC_DIRICHLET: + { + double s1_g = 2 * (s1 - pow(s1, -3)); + double s2_g = 2 * (s2 - pow(s2, -3)); + m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))); + break; + } + case igl::MappingEnergyType::LOG_ARAP: + { + double s1_g = 2 * (log(s1) / s1); + double s2_g = 2 * (log(s2) / s2); + m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))); + break; + } + case igl::MappingEnergyType::CONFORMAL: + { + double s1_g = 1 / (2 * s2) - s2 / (2 * pow(s1, 2)); + double s2_g = 1 / (2 * s1) - s1 / (2 * pow(s2, 2)); + + double geo_avg = sqrt(s1 * s2); + double s1_min = geo_avg; + double s2_min = geo_avg; + + m_sing_new << sqrt(s1_g / (2 * (s1 - s1_min))), sqrt(s2_g / (2 * (s2 - s2_min))); + + // change local step + closest_sing_vec << s1_min, s2_min; + ri = ui * closest_sing_vec.asDiagonal() * vi.transpose(); + break; + } + case igl::MappingEnergyType::EXP_CONFORMAL: + { + double s1_g = 2 * (s1 - pow(s1, -3)); + double s2_g = 2 * (s2 - pow(s2, -3)); + + double geo_avg = sqrt(s1 * s2); + double s1_min = geo_avg; + double s2_min = geo_avg; + + double in_exp = exp_f * ((pow(s1, 2) + pow(s2, 2)) / (2 * s1 * s2)); + double exp_thing = exp(in_exp); + + s1_g *= exp_thing * exp_f; + s2_g *= exp_thing * exp_f; + + m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))); + break; + } + case igl::MappingEnergyType::EXP_SYMMETRIC_DIRICHLET: + { + double s1_g = 2 * (s1 - pow(s1, -3)); + double s2_g = 2 * (s2 - pow(s2, -3)); + + double in_exp = exp_f * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2)); + double exp_thing = exp(in_exp); + + s1_g *= exp_thing * exp_f; + s2_g *= exp_thing * exp_f; + + m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))); + break; + } + } + + if (std::abs(s1 - 1) < eps) m_sing_new(0) = 1; + if (std::abs(s2 - 1) < eps) m_sing_new(1) = 1; + mat_W = ui * m_sing_new.asDiagonal() * ui.transpose(); + + W.row(i) = Eigen::Map>(mat_W.data()); + // 2) Update local step (doesn't have to be a rotation, for instance in case of conformal energy) + Ri.row(i) = Eigen::Map>(ri.data()); + } + } + else + { + typedef Eigen::Matrix Vec3; + typedef Eigen::Matrix Mat3; + typedef Eigen::Matrix RMat3; + Mat3 ji; + Vec3 m_sing_new; + Vec3 closest_sing_vec; + const double sqrt_2 = sqrt(2); + for (int i = 0; i < Ji.rows(); ++i) + { + ji << Ji(i,0), Ji(i,1), Ji(i,2), + Ji(i,3), Ji(i,4), Ji(i,5), + Ji(i,6), Ji(i,7), Ji(i,8); + + Mat3 ri, ti, ui, vi; + Vec3 sing; + igl::polar_svd(ji, ri, ti, ui, sing, vi); + + double s1 = sing(0); + double s2 = sing(1); + double s3 = sing(2); + + // 1) Update Weights + switch (slim_energy) + { + case igl::MappingEnergyType::ARAP: + { + m_sing_new << 1, 1, 1; + break; + } + case igl::MappingEnergyType::LOG_ARAP: + { + double s1_g = 2 * (log(s1) / s1); + double s2_g = 2 * (log(s2) / s2); + double s3_g = 2 * (log(s3) / s3); + m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))), sqrt(s3_g / (2 * (s3 - 1))); + break; + } + case igl::MappingEnergyType::SYMMETRIC_DIRICHLET: + { + double s1_g = 2 * (s1 - pow(s1, -3)); + double s2_g = 2 * (s2 - pow(s2, -3)); + double s3_g = 2 * (s3 - pow(s3, -3)); + m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))), sqrt(s3_g / (2 * (s3 - 1))); + break; + } + case igl::MappingEnergyType::EXP_SYMMETRIC_DIRICHLET: + { + double s1_g = 2 * (s1 - pow(s1, -3)); + double s2_g = 2 * (s2 - pow(s2, -3)); + double s3_g = 2 * (s3 - pow(s3, -3)); + m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))), sqrt(s3_g / (2 * (s3 - 1))); + + double in_exp = exp_f * (pow(s1, 2) + pow(s1, -2) + pow(s2, 2) + pow(s2, -2) + pow(s3, 2) + pow(s3, -2)); + double exp_thing = exp(in_exp); + + s1_g *= exp_thing * exp_f; + s2_g *= exp_thing * exp_f; + s3_g *= exp_thing * exp_f; + + m_sing_new << sqrt(s1_g / (2 * (s1 - 1))), sqrt(s2_g / (2 * (s2 - 1))), sqrt(s3_g / (2 * (s3 - 1))); + + break; + } + case igl::MappingEnergyType::CONFORMAL: + { + double common_div = 9 * (pow(s1 * s2 * s3, 5. / 3.)); + + double s1_g = (-2 * s2 * s3 * (pow(s2, 2) + pow(s3, 2) - 2 * pow(s1, 2))) / common_div; + double s2_g = (-2 * s1 * s3 * (pow(s1, 2) + pow(s3, 2) - 2 * pow(s2, 2))) / common_div; + double s3_g = (-2 * s1 * s2 * (pow(s1, 2) + pow(s2, 2) - 2 * pow(s3, 2))) / common_div; + + double closest_s = sqrt(pow(s1, 2) + pow(s3, 2)) / sqrt_2; + double s1_min = closest_s; + double s2_min = closest_s; + double s3_min = closest_s; + + m_sing_new << sqrt(s1_g / (2 * (s1 - s1_min))), sqrt(s2_g / (2 * (s2 - s2_min))), sqrt( + s3_g / (2 * (s3 - s3_min))); + + // change local step + closest_sing_vec << s1_min, s2_min, s3_min; + ri = ui * closest_sing_vec.asDiagonal() * vi.transpose(); + break; + } + case igl::MappingEnergyType::EXP_CONFORMAL: + { + // E_conf = (s1^2 + s2^2 + s3^2)/(3*(s1*s2*s3)^(2/3) ) + // dE_conf/ds1 = (-2*(s2*s3)*(s2^2+s3^2 -2*s1^2) ) / (9*(s1*s2*s3)^(5/3)) + // Argmin E_conf(s1): s1 = sqrt(s1^2+s2^2)/sqrt(2) + double common_div = 9 * (pow(s1 * s2 * s3, 5. / 3.)); + + double s1_g = (-2 * s2 * s3 * (pow(s2, 2) + pow(s3, 2) - 2 * pow(s1, 2))) / common_div; + double s2_g = (-2 * s1 * s3 * (pow(s1, 2) + pow(s3, 2) - 2 * pow(s2, 2))) / common_div; + double s3_g = (-2 * s1 * s2 * (pow(s1, 2) + pow(s2, 2) - 2 * pow(s3, 2))) / common_div; + + double in_exp = exp_f * ((pow(s1, 2) + pow(s2, 2) + pow(s3, 2)) / (3 * pow((s1 * s2 * s3), 2. / 3)));; + double exp_thing = exp(in_exp); + + double closest_s = sqrt(pow(s1, 2) + pow(s3, 2)) / sqrt_2; + double s1_min = closest_s; + double s2_min = closest_s; + double s3_min = closest_s; + + s1_g *= exp_thing * exp_f; + s2_g *= exp_thing * exp_f; + s3_g *= exp_thing * exp_f; + + m_sing_new << sqrt(s1_g / (2 * (s1 - s1_min))), sqrt(s2_g / (2 * (s2 - s2_min))), sqrt( + s3_g / (2 * (s3 - s3_min))); + + // change local step + closest_sing_vec << s1_min, s2_min, s3_min; + ri = ui * closest_sing_vec.asDiagonal() * vi.transpose(); + } + } + if (std::abs(s1 - 1) < eps) m_sing_new(0) = 1; + if (std::abs(s2 - 1) < eps) m_sing_new(1) = 1; + if (std::abs(s3 - 1) < eps) m_sing_new(2) = 1; + RMat3 mat_W; + mat_W = ui * m_sing_new.asDiagonal() * ui.transpose(); + + W.row(i) = Eigen::Map>(mat_W.data()); + // 2) Update closest rotations (not rotations in case of conformal energy) + Ri.row(i) = Eigen::Map>(ri.data()); + } // for loop end + + } // if dim end + +} + +IGL_INLINE void igl::slim_buildA(const Eigen::SparseMatrix &Dx, + const Eigen::SparseMatrix &Dy, + const Eigen::SparseMatrix &Dz, + const Eigen::MatrixXd &W, +std::vector > & IJV) +{ + const int dim = (W.cols() == 4) ? 2 : 3; + const int f_n = W.rows(); + const int v_n = Dx.cols(); + + // formula (35) in paper + if (dim == 2) + { + IJV.reserve(4 * (Dx.outerSize() + Dy.outerSize())); + + /*A = [W11*Dx, W12*Dx; + W11*Dy, W12*Dy; + W21*Dx, W22*Dx; + W21*Dy, W22*Dy];*/ + for (int k = 0; k < Dx.outerSize(); ++k) + { + for (Eigen::SparseMatrix::InnerIterator it(Dx, k); it; ++it) + { + int dx_r = it.row(); + int dx_c = it.col(); + double val = it.value(); + + IJV.push_back(Eigen::Triplet(dx_r, dx_c, val * W(dx_r, 0))); + IJV.push_back(Eigen::Triplet(dx_r, v_n + dx_c, val * W(dx_r, 1))); + + IJV.push_back(Eigen::Triplet(2 * f_n + dx_r, dx_c, val * W(dx_r, 2))); + IJV.push_back(Eigen::Triplet(2 * f_n + dx_r, v_n + dx_c, val * W(dx_r, 3))); + } + } + + for (int k = 0; k < Dy.outerSize(); ++k) + { + for (Eigen::SparseMatrix::InnerIterator it(Dy, k); it; ++it) + { + int dy_r = it.row(); + int dy_c = it.col(); + double val = it.value(); + + IJV.push_back(Eigen::Triplet(f_n + dy_r, dy_c, val * W(dy_r, 0))); + IJV.push_back(Eigen::Triplet(f_n + dy_r, v_n + dy_c, val * W(dy_r, 1))); + + IJV.push_back(Eigen::Triplet(3 * f_n + dy_r, dy_c, val * W(dy_r, 2))); + IJV.push_back(Eigen::Triplet(3 * f_n + dy_r, v_n + dy_c, val * W(dy_r, 3))); + } + } + } + else + { + + /*A = [W11*Dx, W12*Dx, W13*Dx; + W11*Dy, W12*Dy, W13*Dy; + W11*Dz, W12*Dz, W13*Dz; + W21*Dx, W22*Dx, W23*Dx; + W21*Dy, W22*Dy, W23*Dy; + W21*Dz, W22*Dz, W23*Dz; + W31*Dx, W32*Dx, W33*Dx; + W31*Dy, W32*Dy, W33*Dy; + W31*Dz, W32*Dz, W33*Dz;];*/ + IJV.reserve(9 * (Dx.outerSize() + Dy.outerSize() + Dz.outerSize())); + for (int k = 0; k < Dx.outerSize(); k++) + { + for (Eigen::SparseMatrix::InnerIterator it(Dx, k); it; ++it) + { + int dx_r = it.row(); + int dx_c = it.col(); + double val = it.value(); + + IJV.push_back(Eigen::Triplet(dx_r, dx_c, val * W(dx_r, 0))); + IJV.push_back(Eigen::Triplet(dx_r, v_n + dx_c, val * W(dx_r, 1))); + IJV.push_back(Eigen::Triplet(dx_r, 2 * v_n + dx_c, val * W(dx_r, 2))); + + IJV.push_back(Eigen::Triplet(3 * f_n + dx_r, dx_c, val * W(dx_r, 3))); + IJV.push_back(Eigen::Triplet(3 * f_n + dx_r, v_n + dx_c, val * W(dx_r, 4))); + IJV.push_back(Eigen::Triplet(3 * f_n + dx_r, 2 * v_n + dx_c, val * W(dx_r, 5))); + + IJV.push_back(Eigen::Triplet(6 * f_n + dx_r, dx_c, val * W(dx_r, 6))); + IJV.push_back(Eigen::Triplet(6 * f_n + dx_r, v_n + dx_c, val * W(dx_r, 7))); + IJV.push_back(Eigen::Triplet(6 * f_n + dx_r, 2 * v_n + dx_c, val * W(dx_r, 8))); + } + } + + for (int k = 0; k < Dy.outerSize(); k++) + { + for (Eigen::SparseMatrix::InnerIterator it(Dy, k); it; ++it) + { + int dy_r = it.row(); + int dy_c = it.col(); + double val = it.value(); + + IJV.push_back(Eigen::Triplet(f_n + dy_r, dy_c, val * W(dy_r, 0))); + IJV.push_back(Eigen::Triplet(f_n + dy_r, v_n + dy_c, val * W(dy_r, 1))); + IJV.push_back(Eigen::Triplet(f_n + dy_r, 2 * v_n + dy_c, val * W(dy_r, 2))); + + IJV.push_back(Eigen::Triplet(4 * f_n + dy_r, dy_c, val * W(dy_r, 3))); + IJV.push_back(Eigen::Triplet(4 * f_n + dy_r, v_n + dy_c, val * W(dy_r, 4))); + IJV.push_back(Eigen::Triplet(4 * f_n + dy_r, 2 * v_n + dy_c, val * W(dy_r, 5))); + + IJV.push_back(Eigen::Triplet(7 * f_n + dy_r, dy_c, val * W(dy_r, 6))); + IJV.push_back(Eigen::Triplet(7 * f_n + dy_r, v_n + dy_c, val * W(dy_r, 7))); + IJV.push_back(Eigen::Triplet(7 * f_n + dy_r, 2 * v_n + dy_c, val * W(dy_r, 8))); + } + } + + for (int k = 0; k < Dz.outerSize(); k++) + { + for (Eigen::SparseMatrix::InnerIterator it(Dz, k); it; ++it) + { + int dz_r = it.row(); + int dz_c = it.col(); + double val = it.value(); + + IJV.push_back(Eigen::Triplet(2 * f_n + dz_r, dz_c, val * W(dz_r, 0))); + IJV.push_back(Eigen::Triplet(2 * f_n + dz_r, v_n + dz_c, val * W(dz_r, 1))); + IJV.push_back(Eigen::Triplet(2 * f_n + dz_r, 2 * v_n + dz_c, val * W(dz_r, 2))); + + IJV.push_back(Eigen::Triplet(5 * f_n + dz_r, dz_c, val * W(dz_r, 3))); + IJV.push_back(Eigen::Triplet(5 * f_n + dz_r, v_n + dz_c, val * W(dz_r, 4))); + IJV.push_back(Eigen::Triplet(5 * f_n + dz_r, 2 * v_n + dz_c, val * W(dz_r, 5))); + + IJV.push_back(Eigen::Triplet(8 * f_n + dz_r, dz_c, val * W(dz_r, 6))); + IJV.push_back(Eigen::Triplet(8 * f_n + dz_r, v_n + dz_c, val * W(dz_r, 7))); + IJV.push_back(Eigen::Triplet(8 * f_n + dz_r, 2 * v_n + dz_c, val * W(dz_r, 8))); + } + } + } +} /// Slim Implementation IGL_INLINE void igl::slim_precompute( const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const Eigen::MatrixXd &V_init, - SLIMData &data, - SLIMData::SLIM_ENERGY slim_energy, + igl::SLIMData &data, + igl::MappingEnergyType slim_energy, Eigen::VectorXi &b, Eigen::MatrixXd &bc, double soft_p) @@ -934,7 +779,7 @@ IGL_INLINE void igl::slim_precompute( data.energy = igl::slim::compute_energy(data,data.V_o) / data.mesh_area; } -IGL_INLINE Eigen::MatrixXd igl::slim_solve(SLIMData &data, int iter_num) +IGL_INLINE Eigen::MatrixXd igl::slim_solve(igl::SLIMData &data, int iter_num) { for (int i = 0; i < iter_num; i++) { @@ -942,7 +787,7 @@ IGL_INLINE Eigen::MatrixXd igl::slim_solve(SLIMData &data, int iter_num) dest_res = data.V_o; // Solve Weighted Proxy - igl::slim::update_weights_and_closest_rotations(data,data.V, data.F, dest_res); + igl::slim::update_weights_and_closest_rotations(data, dest_res); igl::slim::solve_weighted_arap(data,data.V, data.F, dest_res, data.b, data.bc); double old_energy = data.energy; @@ -956,6 +801,7 @@ IGL_INLINE Eigen::MatrixXd igl::slim_solve(SLIMData &data, int iter_num) return data.V_o; } + #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation #endif diff --git a/include/igl/slim.h b/include/igl/slim.h index 1965e2bba..aebfb2688 100644 --- a/include/igl/slim.h +++ b/include/igl/slim.h @@ -9,6 +9,7 @@ #define SLIM_H #include "igl_inline.h" +#include "MappingEnergyType.h" #include #include @@ -29,16 +30,7 @@ struct SLIMData // Input Eigen::MatrixXd V; // #V by 3 list of mesh vertex positions Eigen::MatrixXi F; // #F by 3/3 list of mesh faces (triangles/tets) - enum SLIM_ENERGY - { - ARAP, - LOG_ARAP, - SYMMETRIC_DIRICHLET, - CONFORMAL, - EXP_CONFORMAL, - EXP_SYMMETRIC_DIRICHLET - }; - SLIM_ENERGY slim_energy; + MappingEnergyType slim_energy; // Optional Input // soft constraints @@ -64,9 +56,7 @@ struct SLIMData Eigen::VectorXd WGL_M; Eigen::VectorXd rhs; Eigen::MatrixXd Ri,Ji; - Eigen::VectorXd W_11; Eigen::VectorXd W_12; Eigen::VectorXd W_13; - Eigen::VectorXd W_21; Eigen::VectorXd W_22; Eigen::VectorXd W_23; - Eigen::VectorXd W_31; Eigen::VectorXd W_32; Eigen::VectorXd W_33; + Eigen::MatrixXd W; Eigen::SparseMatrix Dx,Dy,Dz; int f_n,v_n; bool first_solve; @@ -94,7 +84,7 @@ IGL_INLINE void slim_precompute( const Eigen::MatrixXi& F, const Eigen::MatrixXd& V_init, SLIMData& data, - SLIMData::SLIM_ENERGY slim_energy, + MappingEnergyType slim_energy, Eigen::VectorXi& b, Eigen::MatrixXd& bc, double soft_p); @@ -104,6 +94,18 @@ IGL_INLINE void slim_precompute( // V_o (in SLIMData): #V by dim list of mesh vertex positions IGL_INLINE Eigen::MatrixXd slim_solve(SLIMData& data, int iter_num); +// Internal Routine. Exposed for Integration with SCAF +IGL_INLINE void slim_update_weights_and_closest_rotations_with_jacobians(const Eigen::MatrixXd &Ji, + igl::MappingEnergyType slim_energy, + double exp_factor, + Eigen::MatrixXd &W, + Eigen::MatrixXd &Ri); + +IGL_INLINE void slim_buildA(const Eigen::SparseMatrix &Dx, + const Eigen::SparseMatrix &Dy, + const Eigen::SparseMatrix &Dz, + const Eigen::MatrixXd &W, + std::vector > & IJV); } // END NAMESPACE #ifndef IGL_STATIC_LIBRARY diff --git a/include/igl/sparse_cached.h b/include/igl/sparse_cached.h index 40d288962..c5a66c99f 100644 --- a/include/igl/sparse_cached.h +++ b/include/igl/sparse_cached.h @@ -39,7 +39,7 @@ namespace igl // Example: // Eigen::SparseMatrix A; // std::vector > IJV; - // buildA(IJV); + // slim_buildA(IJV); // if (A.rows() == 0) // { // A = Eigen::SparseMatrix(rows,cols); diff --git a/include/igl/topological_hole_fill.cpp b/include/igl/topological_hole_fill.cpp new file mode 100644 index 000000000..c09963a7c --- /dev/null +++ b/include/igl/topological_hole_fill.cpp @@ -0,0 +1,55 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2018 Zhongshi Jiang +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. + +#include "topological_hole_fill.h" + template < + typename DerivedF, + typename Derivedb, + typename VectorIndex, + typename DerivedF_filled> +IGL_INLINE void igl::topological_hole_fill( + const Eigen::MatrixBase & F, + const Eigen::MatrixBase & b, + const std::vector & holes, + Eigen::PlainObjectBase &F_filled) +{ + int n_filled_faces = 0; + int num_holes = holes.size(); + int real_F_num = F.rows(); + const int V_rows = F.maxCoeff()+1; + + for (int i = 0; i < num_holes; i++) + n_filled_faces += holes[i].size(); + F_filled.resize(n_filled_faces + real_F_num, 3); + F_filled.topRows(real_F_num) = F; + + int new_vert_id = V_rows; + int new_face_id = real_F_num; + + for (int i = 0; i < num_holes; i++, new_vert_id++) + { + int cur_bnd_size = holes[i].size(); + int it = 0; + int back = holes[i].size() - 1; + F_filled.row(new_face_id++) << holes[i][it], holes[i][back], new_vert_id; + while (it != back) + { + F_filled.row(new_face_id++) + << holes[i][(it + 1)], + holes[i][(it)], new_vert_id; + it++; + } + } + assert(new_face_id == F_filled.rows()); + assert(new_vert_id == V_rows + num_holes); + +} + +#ifdef IGL_STATIC_LIBRARY +template void igl::topological_hole_fill, Eigen::Matrix, std::vector > >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::vector >, std::allocator > > > const&, Eigen::PlainObjectBase >&); +#endif \ No newline at end of file diff --git a/include/igl/topological_hole_fill.h b/include/igl/topological_hole_fill.h new file mode 100644 index 000000000..945e127e8 --- /dev/null +++ b/include/igl/topological_hole_fill.h @@ -0,0 +1,44 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2018 Zhongshi Jiang +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. +#ifndef IGL_TOPOLOGICAL_HOLE_FILL_H +#define IGL_TOPOLOGICAL_HOLE_FILL_H +#include "igl_inline.h" +#include +#include +namespace igl +{ + + // Topological fill hole on a mesh, with one additional vertex each hole + // Index of new abstract vertices will be F.maxCoeff() + (index of hole) + // + // Inputs: + // F #F by simplex-size list of element indices + // b #b boundary indices to preserve + // holes vector of hole loops to fill + // Outputs: + // F_filled input F stacked with filled triangles. + // + template < + typename DerivedF, + typename Derivedb, + typename VectorIndex, + typename DerivedF_filled> +IGL_INLINE void topological_hole_fill( + const Eigen::MatrixBase & F, + const Eigen::MatrixBase & b, + const std::vector & holes, + Eigen::PlainObjectBase &F_filled); + +} + + +#ifndef IGL_STATIC_LIBRARY +# include "topological_hole_fill.cpp" +#endif + +#endif \ No newline at end of file diff --git a/tutorial/710_SLIM/CMakeLists.txt b/tutorial/709_SLIM/CMakeLists.txt similarity index 100% rename from tutorial/710_SLIM/CMakeLists.txt rename to tutorial/709_SLIM/CMakeLists.txt diff --git a/tutorial/710_SLIM/main.cpp b/tutorial/709_SLIM/main.cpp similarity index 92% rename from tutorial/710_SLIM/main.cpp rename to tutorial/709_SLIM/main.cpp index 0521dff88..eaa2ca3b5 100644 --- a/tutorial/710_SLIM/main.cpp +++ b/tutorial/709_SLIM/main.cpp @@ -1,15 +1,16 @@ #include -#include "igl/slim.h" +#include -#include "igl/vertex_components.h" -#include "igl/readOBJ.h" -#include "igl/writeOBJ.h" -#include "igl/Timer.h" +#include +#include +#include +#include -#include "igl/boundary_loop.h" -#include "igl/map_vertices_to_circle.h" -#include "igl/harmonic.h" +#include +#include +#include +#include #include #include #include @@ -96,9 +97,9 @@ void param_2d_demo_iter(igl::opengl::glfw::Viewer& viewer) { cout << "initialized parametrization" << endl; - sData.slim_energy = igl::SLIMData::SYMMETRIC_DIRICHLET; + sData.slim_energy = igl::MappingEnergyType::SYMMETRIC_DIRICHLET; Eigen::VectorXi b; Eigen::MatrixXd bc; - slim_precompute(V,F,uv_init,sData, igl::SLIMData::SYMMETRIC_DIRICHLET, b,bc,0); + slim_precompute(V,F,uv_init,sData, igl::MappingEnergyType::SYMMETRIC_DIRICHLET, b,bc,0); uv_scale_param = 15 * (1./sqrt(sData.mesh_area)); viewer.data().set_mesh(V, F); @@ -109,10 +110,12 @@ void param_2d_demo_iter(igl::opengl::glfw::Viewer& viewer) { first_iter = false; } else { + timer.start(); slim_solve(sData,1); // 1 iter viewer.data().set_uv(sData.V_o*uv_scale_param); - cout << "time = " << timer.getElapsedTime() << endl; } + cout << "time = " << timer.getElapsedTime() << endl; + cout << "energy = " << sData.energy << endl; } void soft_const_demo_iter(igl::opengl::glfw::Viewer& viewer) { @@ -127,7 +130,7 @@ void soft_const_demo_iter(igl::opengl::glfw::Viewer& viewer) { Eigen::VectorXi b; Eigen::MatrixXd bc; get_soft_constraint_for_circle(V_0,F,b,bc); double soft_const_p = 1e5; - slim_precompute(V,F,V_0,sData,igl::SLIMData::SYMMETRIC_DIRICHLET,b,bc,soft_const_p); + slim_precompute(V,F,V_0,sData,igl::MappingEnergyType::SYMMETRIC_DIRICHLET,b,bc,soft_const_p); viewer.data().set_mesh(V, F); viewer.core.align_camera_center(V,F); @@ -144,6 +147,7 @@ void soft_const_demo_iter(igl::opengl::glfw::Viewer& viewer) { void deform_3d_demo_iter(igl::opengl::glfw::Viewer& viewer) { if (first_iter) { + timer.start(); igl::readOBJ(TUTORIAL_SHARED_PATH "/cube_40k.obj", V, F); Eigen::MatrixXd V_0 = V; @@ -152,16 +156,19 @@ void deform_3d_demo_iter(igl::opengl::glfw::Viewer& viewer) { double soft_const_p = 1e5; sData.exp_factor = 5.0; - slim_precompute(V,F,V_0,sData,igl::SLIMData::EXP_CONFORMAL,b,bc,soft_const_p); + slim_precompute(V,F,V_0,sData,igl::MappingEnergyType::EXP_CONFORMAL,b,bc,soft_const_p); //cout << "precomputed" << endl; first_iter = false; display_3d_mesh(viewer); } else { + timer.start(); slim_solve(sData,1); // 1 iter display_3d_mesh(viewer); } + cout << "time = " << timer.getElapsedTime() << endl; + cout << "energy = " << sData.energy << endl; } void display_3d_mesh(igl::opengl::glfw::Viewer& viewer) { diff --git a/tutorial/710_SCAF/CMakeLists.txt b/tutorial/710_SCAF/CMakeLists.txt new file mode 100644 index 000000000..7261d33ee --- /dev/null +++ b/tutorial/710_SCAF/CMakeLists.txt @@ -0,0 +1,5 @@ +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) + +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw igl::triangle tutorials) diff --git a/tutorial/710_SCAF/main.cpp b/tutorial/710_SCAF/main.cpp new file mode 100755 index 000000000..5a583c869 --- /dev/null +++ b/tutorial/710_SCAF/main.cpp @@ -0,0 +1,127 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "tutorial_shared_path.h" + +Eigen::MatrixXd V; +Eigen::MatrixXi F; +Eigen::MatrixXd V_uv; +igl::Timer timer; +igl::SCAFData scaf_data; + +bool show_uv = false; +float uv_scale = 0.2; + +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) +{ + if (key == '1') + show_uv = false; + else if (key == '2') + show_uv = true; + + if (key == ' ') + { + timer.start(); + igl::scaf_solve(scaf_data, 1); + std::cout << "time = " << timer.getElapsedTime() << std::endl; + } + + const auto& V_uv = uv_scale * scaf_data.w_uv.topRows(V.rows()); + if (show_uv) + { + viewer.data().clear(); + viewer.data().set_mesh(V_uv,F); + viewer.data().set_uv(V_uv); + viewer.core.align_camera_center(V_uv,F); + } + else + { + viewer.data().set_mesh(V,F); + viewer.data().set_uv(V_uv); + viewer.core.align_camera_center(V,F); + } + + viewer.data().compute_normals(); + + return false; +} + +int main(int argc, char *argv[]) +{ + using namespace std; + // Load a mesh in OFF format + igl::readOBJ(TUTORIAL_SHARED_PATH "/camel_b.obj", V, F); + + Eigen::MatrixXd bnd_uv, uv_init; + + Eigen::VectorXd M; + igl::doublearea(V, F, M); + std::vector> all_bnds; + igl::boundary_loop(F, all_bnds); + + // Heuristic primary boundary choice: longest + auto primary_bnd = std::max_element(all_bnds.begin(), all_bnds.end(), [](const std::vector &a, const std::vector &b) { return a.size()(primary_bnd->data(), primary_bnd->size()); + + igl::map_vertices_to_circle(V, bnd, bnd_uv); + bnd_uv *= sqrt(M.sum() / (2 * igl::PI)); + if (all_bnds.size() == 1) + { + if (bnd.rows() == V.rows()) // case: all vertex on boundary + { + uv_init.resize(V.rows(), 2); + for (int i = 0; i < bnd.rows(); i++) + uv_init.row(bnd(i)) = bnd_uv.row(i); + } + else + { + igl::harmonic(V, F, bnd, bnd_uv, 1, uv_init); + if (igl::flipped_triangles(uv_init, F).size() != 0) + igl::harmonic(F, bnd, bnd_uv, 1, uv_init); // fallback uniform laplacian + } + } + else + { + // if there is a hole, fill it and erase additional vertices. + all_bnds.erase(primary_bnd); + Eigen::MatrixXi F_filled; + igl::topological_hole_fill(F, bnd, all_bnds, F_filled); + igl::harmonic(F_filled, bnd, bnd_uv ,1, uv_init); + uv_init = uv_init.topRows(V.rows()); + } + + Eigen::VectorXi b; Eigen::MatrixXd bc; + igl::scaf_precompute(V, F, uv_init, scaf_data, igl::MappingEnergyType::SYMMETRIC_DIRICHLET, b, bc, 0); + + // Plot the mesh + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + const auto& V_uv = uv_scale * scaf_data.w_uv.topRows(V.rows()); + viewer.data().set_uv(V_uv); + viewer.callback_key_down = &key_down; + + // Enable wireframe + viewer.data().show_lines = true; + + // Draw checkerboard texture + viewer.data().show_texture = true; + + + std::cerr << "Press space for running an iteration." << std::endl; + std::cerr << "Press 1 for Mesh 2 for UV" << std::endl; + + // Launch the viewer + viewer.launch(); +} diff --git a/tutorial/CMakeLists.txt b/tutorial/CMakeLists.txt index 587291606..947fb86cc 100644 --- a/tutorial/CMakeLists.txt +++ b/tutorial/CMakeLists.txt @@ -144,7 +144,8 @@ if(TUTORIALS_CHAPTER7) endif() add_subdirectory("707_SweptVolume") add_subdirectory("708_Picking") - add_subdirectory("710_SLIM") + add_subdirectory("709_SLIM") + add_subdirectory("710_SCAF") add_subdirectory("711_Subdivision") add_subdirectory("712_DataSmoothing") add_subdirectory("713_ShapeUp") diff --git a/tutorial/images/710_SCAF.png b/tutorial/images/710_SCAF.png new file mode 100644 index 000000000..0d5f21bca Binary files /dev/null and b/tutorial/images/710_SCAF.png differ diff --git a/tutorial/shared/camel_b.obj b/tutorial/shared/camel_b.obj new file mode 100644 index 000000000..ad8210733 --- /dev/null +++ b/tutorial/shared/camel_b.obj @@ -0,0 +1,7640 @@ +v -0.001169 36.485862 44.324899 +v 1.330220 36.769137 43.795157 +v 1.485528 36.137854 43.294053 +v -1.487794 36.137854 43.293873 +v -1.332522 36.769137 43.795037 +v 4.267189 -31.831707 -29.619463 +v 4.218806 -32.383619 -29.712369 +v 4.670454 -31.971123 -29.785911 +v 8.283066 -32.376851 -21.718869 +v 8.835106 -32.508594 -21.407303 +v 8.883837 -32.892923 -21.426844 +v 8.669554 -30.904979 -24.956544 +v 8.052898 -32.127320 -26.658761 +v 6.711098 -32.887590 -20.540583 +v 6.762047 -32.503492 -20.562341 +v 6.930177 -32.373670 -21.172822 +v 6.713316 -32.887830 -23.706694 +v 6.728600 -32.181504 -23.676904 +v 6.973812 -32.224848 -23.524598 +v 7.350411 -29.977057 -26.632986 +v 7.166037 -32.889508 -23.615887 +v 4.899435 -30.095378 -28.088790 +v 5.483549 -31.309327 -29.211994 +v -6.021617 -32.224848 13.407872 +v -5.781597 -32.181504 13.247534 +v -5.767307 -32.887830 13.217205 +v -6.216659 -32.889508 13.323178 +v -7.164719 -32.889508 -23.616246 +v -6.972614 -32.224848 -23.525017 +v -6.712057 -32.887830 -23.707054 +v -6.929038 -32.373670 -21.173182 +v -6.760968 -32.503492 -20.562699 +v -6.710079 -32.887590 -20.540943 +v -6.727402 -32.181504 -23.677204 +v 1.944376 -32.000791 11.223205 +v 2.676246 -32.115579 12.003136 +v 9.330863 -32.900600 14.931946 +v 9.399914 -32.554807 14.825495 +v 9.469263 -32.388235 14.304442 +v 7.810204 -32.508594 15.586663 +v 8.823717 -32.890045 15.716192 +v 7.859594 -32.892923 15.568741 +v 5.658362 -32.887590 16.381818 +v 5.709987 -32.503492 16.361678 +v 5.898424 -32.373670 15.757189 +v 3.810332 -32.629190 -29.226862 +v 4.337084 -32.629190 -29.442462 +v 4.843715 -32.630150 -29.652788 +v 7.078407 -29.908608 -27.324027 +v 8.060510 -32.014035 -27.730115 +v 6.970816 -32.012237 -28.593121 +v 5.843855 -32.273759 -29.243645 +v 4.868188 -32.429475 -29.715187 +v 5.789622 -32.718506 -29.105606 +v 6.819408 -32.719281 -28.530065 +v 7.861033 -32.719341 -27.647221 +v 2.826399 -32.000791 -25.571821 +v 4.217949 -30.100294 -27.210922 +v 2.997202 -31.998938 -26.954623 +v 3.654526 -31.301887 -28.459575 +v 7.870264 -32.832571 -26.534987 +v 3.584002 -32.115579 -24.816767 +v 4.363644 -30.894070 -23.184927 +v 3.574981 -32.181384 -23.026981 +v 3.731332 -32.224124 -22.352967 +v 4.666714 -31.221517 -22.088273 +v 4.977637 -31.225652 -21.209569 +v 4.336407 -32.298870 -20.979403 +v 4.534860 -32.359765 -20.806593 +v 5.109773 -31.397557 -21.013084 +v 5.291749 -31.537337 -20.426158 +v 4.673104 -32.373670 -20.362262 +v 9.640510 -31.237462 -23.129357 +v 9.686183 -31.409247 -22.896914 +v 8.454730 -31.231289 -22.568148 +v 8.622980 -31.403551 -22.393725 +v 9.974671 -31.549198 -22.354226 +v 8.911468 -31.543627 -21.851094 +v 10.450349 -32.388235 -22.744487 +v 10.231511 -32.374270 -23.155371 +v 10.239603 -32.901495 -22.764148 +v 10.071473 -32.901375 -23.079848 +v 10.070334 -32.901795 -23.333331 +v 10.248833 -32.313918 -23.417667 +v 9.496835 -32.901795 -24.718885 +v 9.698051 -32.239233 -24.813892 +v 9.134562 -32.901255 -25.270869 +v 9.328886 -32.195958 -25.399439 +v 10.332988 -32.900600 -22.112608 +v 10.398441 -32.554807 -22.221339 +v 9.302093 -32.085783 -21.498053 +v 9.852335 -32.890045 -21.311881 +v 10.015850 -32.089444 -21.821364 +v 7.900473 -31.226010 -23.337168 +v 6.687662 -30.894130 -23.787132 +v 3.795905 -32.821904 -24.856747 +v 3.798542 -32.887650 -23.071817 +v 3.936193 -32.887650 -22.426511 +v 4.518173 -32.887650 -21.044611 +v 4.697823 -32.887650 -20.865093 +v 4.804023 -32.887650 -20.523680 +v 6.363630 -32.887650 -23.298268 +v 6.568443 -32.224124 -23.371873 +v 6.058540 -31.221517 -22.588172 +v 6.110566 -32.880582 -19.774379 +v 5.080823 -32.541259 -20.029839 +v 5.638288 -32.078291 -20.020010 +v 6.398994 -31.537337 -20.823795 +v 6.217019 -31.397557 -21.410721 +v 6.791897 -32.359765 -21.617211 +v 6.212523 -31.225652 -21.653114 +v 6.853813 -32.298870 -21.883341 +v 9.236819 -31.233081 -23.969646 +v 5.201942 -32.887590 -19.998552 +v 6.371302 -32.078472 -20.297168 +v 8.385322 -32.891731 -21.886638 +v 8.217252 -32.891546 -22.202338 +v 8.002189 -32.890885 -22.354644 +v 6.066931 -32.887650 -25.254324 +v 5.487978 -32.706633 -26.662777 +v 5.018366 -32.718746 -27.781484 +v 4.667313 -32.716168 -28.639514 +v 3.500422 -32.716168 -28.162038 +v 3.145594 -32.718746 -27.015281 +v 3.021795 -32.707114 -25.651840 +v 6.672018 -32.887650 -21.818127 +v 6.628982 -32.887650 -21.558651 +v 6.735134 -32.887650 -21.217236 +v 7.831662 -32.301148 -22.273787 +v 8.064346 -32.362821 -22.129751 +v 3.750177 -32.424856 -29.255152 +v 3.844816 -31.967642 -29.446297 +v 3.367135 -32.263741 -28.224734 +v 4.590238 -31.000581 -28.843130 +v -3.491701 -30.037838 12.227847 +v -2.676881 -32.115579 12.003076 +v -1.944963 -32.000791 11.223085 +v -3.928952 -31.971123 7.072952 +v -3.520364 -31.831707 7.225917 +v -4.722392 -31.309327 7.673723 +v -3.817243 -31.000581 8.012559 +v -4.101026 -30.095378 8.776845 +v -3.092422 -31.967642 7.384756 +v -2.869220 -31.301887 8.364582 +v -3.390560 -30.100294 9.631339 +v -2.161925 -31.998938 9.846760 +v -3.050614 -32.629190 7.602935 +v -3.584278 -32.629190 7.405135 +v -2.705262 -32.716168 8.656846 +v -3.887457 -32.716168 8.218691 +v -2.312271 -32.718746 9.791017 +v -4.209611 -32.718746 9.087930 +v -2.142924 -32.707114 11.149599 +v -4.641546 -32.706633 10.221741 +v -2.890007 -32.821904 11.970169 +v -5.173039 -32.887650 11.648774 +v -2.832927 -32.887650 13.754260 +v -5.404159 -32.887650 13.613643 +v -2.948915 -32.887650 14.403703 +v -3.484341 -32.887650 15.804362 +v -5.662881 -32.887650 15.103314 +v -5.611135 -32.887650 15.361291 +v -3.657889 -32.887650 15.989754 +v -3.752623 -32.887650 16.334466 +v -5.705869 -32.887650 15.705941 +v -5.659225 -32.887590 16.381518 +v -4.132746 -32.887590 16.872660 +v -5.033357 -32.880582 17.127041 +v -4.097663 -32.630150 7.211771 +v -5.024738 -32.718506 7.790305 +v -6.034624 -32.719281 8.399887 +v -7.046159 -32.719341 9.317196 +v -7.018288 -32.832571 10.429070 +v -8.239549 -32.901255 11.734847 +v -8.583121 -32.901795 12.298694 +v -7.010195 -32.890885 14.611572 +v -9.109987 -32.901795 13.702533 +v -9.102555 -32.901375 13.955955 +v -7.220042 -32.891546 14.771069 +v -7.377503 -32.891731 15.092164 +v -9.260075 -32.901495 14.277230 +v -7.860374 -32.892923 15.568441 +v -9.331642 -32.900600 14.931526 +v -8.824497 -32.890045 15.715652 +v -8.673569 -31.237462 13.892060 +v -7.469690 -31.231289 14.413353 +v -8.711391 -31.409247 14.125943 +v -7.632006 -31.403551 14.593291 +v -8.981597 -31.549198 14.677983 +v -7.902211 -31.543627 15.145271 +v -9.470043 -32.388235 14.303903 +v -9.265109 -32.374270 13.885888 +v -9.291183 -32.313918 13.624252 +v -8.787454 -32.239233 12.210464 +v -8.438008 -32.195958 11.612871 +v -7.204938 -32.127320 10.311530 +v -7.269732 -32.376851 15.256398 +v -7.810983 -32.508594 15.586303 +v -9.400692 -32.554807 14.825075 +v -9.004914 -32.089444 15.211983 +v -8.280728 -32.085783 15.511138 +v -7.064860 -32.362821 14.838383 +v -6.837090 -32.301148 14.686736 +v -6.941445 -31.226010 13.626170 +v -6.750778 -30.045569 11.013657 +v -7.764231 -30.904979 12.033465 +v -8.298229 -31.233081 13.038765 +v -5.611339 -32.224124 13.546990 +v -5.075458 -31.221517 14.313193 +v -5.744404 -30.894130 13.135805 +v -4.569559 -32.078291 16.865886 +v -4.012724 -32.541259 16.837416 +v -4.236800 -31.537337 16.448289 +v -3.616363 -32.373670 16.491566 +v -5.899251 -32.373670 15.756949 +v -5.775962 -32.359765 15.308126 +v -5.356699 -31.537337 16.087994 +v -5.194455 -31.397557 15.495376 +v -5.846732 -32.298870 15.044153 +v -5.198160 -31.225652 15.252921 +v -3.949080 -31.225652 15.654813 +v -4.074563 -31.397557 15.855670 +v -3.493068 -32.359765 16.042806 +v -3.300489 -32.298870 15.863582 +v -2.741717 -32.224124 14.470415 +v -2.607993 -32.181384 13.791602 +v -5.710844 -32.503492 16.361379 +v -5.311457 -32.078472 16.613362 +v -3.401505 -30.894070 13.659916 +v -3.667719 -31.221517 14.766155 +v -5.280858 -29.999536 11.912327 +v -7.248394 -32.014035 9.241134 +v -6.188128 -32.012237 8.342165 +v -5.083556 -32.273759 7.654184 +v -4.124217 -32.429475 7.150394 +v -3.475098 -32.383619 7.131392 +v -6.501970 -29.977057 10.313927 +v -2.991442 -32.424856 7.572606 +v -2.574145 -32.263741 8.589714 +v -7.349032 -29.977057 -26.633287 +v -8.051520 -32.127320 -26.659181 +v -9.327446 -32.195958 -25.399977 +v -8.668235 -30.904979 -24.957024 +v -9.696852 -32.239233 -24.814369 +v -9.235560 -31.233081 -23.970067 +v -9.639311 -31.237462 -23.129837 +v -10.247634 -32.313918 -23.418266 +v -9.684924 -31.409247 -22.897458 +v -10.230312 -32.374270 -23.155972 +v -9.973473 -31.549198 -22.354704 +v -10.449030 -32.388235 -22.744969 +v -4.668884 -31.971123 -29.786211 +v -4.866618 -32.429475 -29.715427 +v -4.217230 -32.383619 -29.712549 +v -4.842157 -32.630150 -29.653028 +v -5.788082 -32.718506 -29.105846 +v -5.842321 -32.273759 -29.243942 +v -6.817849 -32.719281 -28.530482 +v -6.969317 -32.012237 -28.593481 +v -8.059071 -32.014035 -27.730536 +v -7.859534 -32.719341 -27.647638 +v -5.482008 -31.309327 -29.212354 +v -5.960107 -30.106282 -27.930313 +v -3.582702 -32.115579 -24.816947 +v -2.825051 -32.000791 -25.572001 +v -3.794586 -32.821904 -24.856927 +v -3.020441 -32.707114 -25.652020 +v -8.453532 -31.231289 -22.568568 +v -7.899154 -31.226010 -23.337647 +v -6.686463 -30.894130 -23.787612 +v -4.362427 -30.894070 -23.185166 +v -6.057341 -31.221517 -22.588526 +v -4.665551 -31.221517 -22.088573 +v -6.211445 -31.225652 -21.653355 +v -4.976529 -31.225652 -21.209863 +v -7.830464 -32.301148 -22.274145 +v -8.063148 -32.362821 -22.130230 +v -8.621781 -31.403551 -22.394264 +v -8.910269 -31.543627 -21.851574 +v -8.281927 -32.376851 -21.719287 +v -8.834027 -32.508594 -21.407723 +v -9.300954 -32.085783 -21.498591 +v -9.851196 -32.890045 -21.312422 +v -6.109548 -32.880582 -19.774738 +v -6.370223 -32.078472 -20.297528 +v -5.637221 -32.078291 -20.020308 +v -6.397856 -31.537337 -20.824095 +v -5.079756 -32.541259 -20.030139 +v -4.672025 -32.373670 -20.362562 +v -5.200881 -32.887590 -19.998911 +v -4.802944 -32.887650 -20.523919 +v -4.533763 -32.359765 -20.806772 +v -4.696726 -32.887650 -20.865333 +v -4.517058 -32.887650 -21.044791 +v -4.335286 -32.298870 -20.979577 +v -3.730152 -32.224124 -22.353145 +v -3.935006 -32.887650 -22.426691 +v -3.573770 -32.181384 -23.027162 +v -3.797326 -32.887650 -23.071937 +v -6.734055 -32.887650 -21.217596 +v -6.627783 -32.887650 -21.558949 +v -6.790758 -32.359765 -21.617511 +v -6.670880 -32.887650 -21.818426 +v -6.852675 -32.298870 -21.883701 +v -6.362371 -32.887650 -23.298626 +v -6.567244 -32.224124 -23.372232 +v -6.215820 -31.397557 -21.410965 +v -5.108664 -31.397557 -21.013324 +v -5.290664 -31.537337 -20.426458 +v -8.882818 -32.892923 -21.427322 +v -10.014651 -32.089444 -21.821844 +v -10.397362 -32.554807 -22.221879 +v -10.331789 -32.900600 -22.113088 +v -10.238344 -32.901495 -22.764688 +v -10.070214 -32.901375 -23.080328 +v -10.069075 -32.901795 -23.333931 +v -9.495516 -32.901795 -24.719368 +v -9.133243 -32.901255 -25.271289 +v -7.868885 -32.832571 -26.535407 +v -8.384183 -32.891731 -21.887116 +v -8.216053 -32.891546 -22.202758 +v -8.000931 -32.890885 -22.355065 +v -4.112594 -29.969326 -25.300357 +v -3.843269 -31.967642 -29.446477 +v -3.748637 -32.424856 -29.255392 +v -3.653016 -31.301887 -28.459755 +v -3.365643 -32.263741 -28.224911 +v -2.995782 -31.998938 -26.954803 +v -4.265637 -31.831707 -29.619640 +v -3.808792 -32.629190 -29.227222 +v -4.335526 -32.629190 -29.442702 +v -3.498942 -32.716168 -28.162218 +v -3.144174 -32.718746 -27.015461 +v -4.588716 -31.000581 -28.843370 +v -4.665809 -32.716168 -28.639694 +v -5.016892 -32.718746 -27.781725 +v -5.486570 -32.706633 -26.663017 +v -6.065553 -32.887650 -25.254624 +v 6.750179 -30.045569 11.013957 +v 7.204399 -32.127320 10.311829 +v 7.247854 -32.014035 9.241494 +v 3.928587 -31.971123 7.073132 +v 3.474732 -32.383619 7.131692 +v 4.123839 -32.429475 7.150573 +v 4.097285 -32.630150 7.211951 +v 2.142337 -32.707114 11.149659 +v 2.311749 -32.718746 9.791197 +v 2.161403 -31.998938 9.846820 +v 2.573690 -32.263741 8.589774 +v 2.704807 -32.716168 8.657026 +v 2.991047 -32.424856 7.572785 +v 3.050225 -32.629190 7.603054 +v 3.092044 -31.967642 7.384935 +v 2.868789 -31.301887 8.364762 +v 3.390056 -30.100294 9.631519 +v 6.020897 -32.224848 13.408112 +v 6.836311 -32.301148 14.687095 +v 6.215999 -32.889508 13.323417 +v 7.009476 -32.890885 14.611990 +v 7.064081 -32.362821 14.838743 +v 7.219263 -32.891546 14.771310 +v 7.268953 -32.376851 15.256818 +v 7.376724 -32.891731 15.092524 +v 8.279949 -32.085783 15.511679 +v 7.901432 -31.543627 15.145690 +v 8.980759 -31.549198 14.678462 +v 8.710612 -31.409247 14.126363 +v 9.264390 -32.374270 13.886306 +v 8.672850 -31.237462 13.892600 +v 9.290464 -32.313918 13.624791 +v 8.297511 -31.233081 13.039185 +v 8.786795 -32.239233 12.211004 +v 7.763573 -30.904979 12.033825 +v 8.437408 -32.195958 11.613230 +v 9.259415 -32.901495 14.277650 +v 9.101895 -32.901375 13.956495 +v 9.109267 -32.901795 13.703012 +v 8.582462 -32.901795 12.299175 +v 8.238949 -32.901255 11.735266 +v 5.766612 -32.887830 13.217445 +v 7.017688 -32.832571 10.429490 +v 5.172439 -32.887650 11.649014 +v 7.045679 -32.719341 9.317496 +v 4.641006 -32.706633 10.221981 +v 6.034265 -32.719281 8.400246 +v 4.209138 -32.718746 9.088110 +v 5.024324 -32.718506 7.790664 +v 3.887025 -32.716168 8.218931 +v 3.583900 -32.629190 7.405314 +v 2.889384 -32.821904 11.970229 +v 2.832208 -32.887650 13.754440 +v 2.948166 -32.887650 14.403883 +v 5.403446 -32.887650 13.613883 +v 3.483519 -32.887650 15.804602 +v 5.662096 -32.887650 15.103612 +v 3.657050 -32.887650 15.989993 +v 5.610332 -32.887650 15.361531 +v 3.751766 -32.887650 16.334646 +v 5.705042 -32.887650 15.706301 +v 4.131852 -32.887590 16.872900 +v 5.032470 -32.880582 17.127402 +v 5.780908 -32.181504 13.247774 +v 5.743715 -30.894130 13.136165 +v 6.940665 -31.226010 13.626470 +v 5.280240 -29.999536 11.912627 +v 3.491059 -30.037838 12.228087 +v 3.400785 -30.894070 13.660216 +v 5.074709 -31.221517 14.313432 +v 3.666951 -31.221517 14.766335 +v 5.197351 -31.225652 15.253161 +v 3.948253 -31.225652 15.655112 +v 7.468911 -31.231289 14.413772 +v 5.355854 -31.537337 16.088233 +v 5.310581 -32.078472 16.613602 +v 4.568666 -32.078291 16.866066 +v 4.011854 -32.541259 16.837595 +v 3.615506 -32.373670 16.491746 +v 3.492228 -32.359765 16.042980 +v 3.299668 -32.298870 15.863703 +v 2.740962 -32.224124 14.470595 +v 2.607274 -32.181384 13.791662 +v 5.775153 -32.359765 15.308484 +v 5.845947 -32.298870 15.044514 +v 5.610638 -32.224124 13.547290 +v 5.193652 -31.397557 15.495616 +v 4.073735 -31.397557 15.855910 +v 4.235943 -31.537337 16.448529 +v 9.004134 -32.089444 15.212403 +v 7.631226 -31.403551 14.593710 +v 4.100558 -30.095378 8.777085 +v 3.816824 -31.000581 8.012799 +v 3.519980 -31.831707 7.226036 +v 4.721990 -31.309327 7.673963 +v 5.156795 -30.106282 8.971288 +v 5.083161 -32.273759 7.654483 +v 6.187709 -32.012237 8.342405 +v 2.266135 -13.714400 -32.945853 +v 3.201972 -18.582305 -31.251061 +v 3.010443 -13.718596 -32.206864 +v -0.000689 42.678905 26.325561 +v -0.000683 41.314269 26.099952 +v 1.636012 42.678905 26.325681 +v 1.175115 42.434295 37.177680 +v 0.864540 43.544968 36.858802 +v 1.330448 44.467494 35.567120 +v 5.535516 13.081382 -14.563202 +v 6.979866 13.777756 -13.495742 +v 8.679143 13.488011 -14.686376 +v -2.157741 -18.601607 -30.958863 +v -4.487952 -23.991283 -30.335255 +v -3.453508 -24.092584 -30.267163 +v -6.198917 -29.735085 9.493239 +v -6.253222 -29.908608 9.614137 +v -5.171301 -30.033702 8.968651 +v -1.916935 0.368345 -28.322614 +v -1.412139 -7.008457 -31.844588 +v -1.327822 -7.110055 -30.839405 +v -2.807734 39.825977 42.105167 +v -2.652396 40.574495 40.297997 +v -4.005932 5.885633 5.692892 +v -3.836046 5.035575 7.282140 +v -1.542063 6.283432 8.821680 +v -1.966631 38.198028 -0.353216 +v -4.260536 38.352619 -4.998910 +v -2.051469 39.862541 -5.172404 +v -1.186941 21.297855 -26.446517 +v -0.311049 17.602841 -25.686006 +v -0.350531 21.193202 -26.331614 +v -9.443189 22.799153 -10.211011 +v -9.273261 20.185861 -9.987199 +v -9.952973 20.295192 -11.032418 +v -4.175039 21.949574 -25.259002 +v -1.447036 21.713474 -26.448137 +v 0.000695 21.156399 -26.136213 +v -5.790222 7.046279 7.471787 +v -6.554957 4.635905 8.131178 +v -4.005974 4.244142 7.717359 +v -2.630182 33.240992 28.665346 +v -2.840312 30.333517 28.616197 +v -1.582702 30.330759 27.706199 +v -7.659578 8.887492 12.844262 +v -8.339229 4.772525 10.983987 +v -8.169300 8.155094 11.130778 +v -7.574583 11.020850 14.434991 +v -6.809939 8.103007 14.005286 +v -1.720766 37.639991 44.383340 +v 0.000617 16.388410 -23.395910 +v -0.000000 15.283550 -20.362202 +v 0.202379 15.263352 -23.534369 +v 0.000665 18.537951 -25.325831 +v 0.312397 17.602841 -25.685886 +v 1.188344 21.297855 -26.446457 +v 0.351915 21.193202 -26.331614 +v 3.426559 25.118923 27.616891 +v 2.244875 23.923973 23.885312 +v 4.005147 22.608906 24.080537 +v -0.000623 24.445565 23.754705 +v -0.000000 24.765881 21.882082 +v 2.110833 23.709332 21.828496 +v -0.001193 37.203872 45.580986 +v 1.718453 39.699682 43.427365 +v 4.125703 43.001919 34.129289 +v 3.970466 43.539992 32.154955 +v 4.281035 42.378430 32.364979 +v 3.780153 -29.727531 -26.106725 +v 3.821979 -29.900757 -25.980854 +v 4.206543 -30.028240 -27.204029 +v 3.003040 -18.233821 -28.690580 +v 4.421137 -23.349455 -27.949911 +v 3.007824 -23.520827 -27.823199 +v 2.497932 41.410537 27.128566 +v 2.547952 42.252855 26.602719 +v 5.491748 43.615158 24.913332 +v 5.406353 43.720712 24.552316 +v 5.284430 43.534950 24.663806 +v 3.722401 -18.227886 -28.944965 +v 3.320281 -13.725310 -29.298066 +v 4.132542 -18.267267 -29.394088 +v 6.015263 -3.896573 8.086224 +v 5.094231 -3.737944 6.484229 +v 2.220803 -10.918654 5.977268 +v 1.718429 37.639991 44.383520 +v -0.001193 36.136894 45.282849 +v -0.000000 25.427129 20.314371 +v 1.805586 26.165823 26.419785 +v 4.176369 21.949574 -25.258822 +v 1.448438 21.713474 -26.448077 +v -5.407630 43.720712 24.551959 +v -5.285731 43.534950 24.663566 +v -5.260610 43.288066 24.548544 +v -0.000689 38.918796 26.222288 +v -1.803536 36.168493 27.179577 +v -0.000701 35.891443 26.837803 +v -1.332306 44.467494 35.567055 +v -0.866464 43.544968 36.858682 +v -1.177057 42.434295 37.177620 +v -1.720742 39.699682 43.427245 +v -7.064920 10.047618 15.617772 +v -5.535504 7.659937 14.477068 +v -5.960287 3.943703 13.756658 +v -4.205116 36.568636 33.319213 +v -2.202810 35.078009 33.055899 +v -3.195661 36.460685 30.808355 +v 9.868040 10.703892 9.346807 +v 10.207895 13.063400 8.578446 +v 8.508675 10.072972 7.851083 +v 5.789826 7.046279 7.472147 +v 3.835663 5.035575 7.282379 +v 4.005584 4.244142 7.717598 +v 2.628684 33.240992 28.665526 +v 1.796511 33.074660 27.620486 +v 1.581245 30.330759 27.706319 +v 2.201065 35.078009 33.056079 +v 4.048039 37.070989 34.772498 +v 4.203359 36.568636 33.319453 +v 2.915517 -29.727531 10.720555 +v 3.222089 -29.969326 11.537827 +v 2.953099 -29.900757 10.847625 +v 3.378428 -30.028240 9.638052 +v 1.166657 -13.717937 -32.788630 +v 1.900692 -18.501809 -30.142371 +v 2.159366 -18.601607 -30.958743 +v 5.138826 43.877631 24.744960 +v 5.134175 43.498695 24.558310 +v 4.229470 42.824140 24.991190 +v 4.244389 44.038509 25.589204 +v 3.407517 43.797612 26.837142 +v 3.389325 42.318012 26.108643 +v 2.422469 43.482993 27.393079 +v 7.020086 -29.735085 -27.443008 +v 7.307494 -29.487714 -26.962534 +v 7.622536 -30.045569 -25.941829 +v 7.594842 -29.240406 -26.482123 +v 7.589868 -28.414502 -27.876609 +v 6.875931 -28.794039 -28.772940 +v 2.836775 -28.422474 -25.912819 +v 4.053685 -29.236271 -25.024399 +v 3.916928 -29.481901 -25.565528 +v 4.405889 -30.037838 -24.619328 +v 4.113930 -29.969326 -25.300056 +v 4.237495 -29.271214 -29.197432 +v 4.101313 -28.392923 -29.529194 +v 3.081920 -29.090258 -28.149151 +v 2.901306 -28.206991 -28.453041 +v 2.593152 -28.791881 -27.003414 +v 2.395562 -27.892791 -27.261157 +v 3.455102 -24.092584 -30.266983 +v 2.632898 -23.990506 -29.568033 +v 2.267849 -23.822136 -28.822929 +v 5.452458 -23.522320 -28.840492 +v 5.636148 -27.088826 -25.843589 +v 7.222740 -27.362509 -27.162251 +v 5.770430 -27.954647 -25.516439 +v 7.344417 -28.208191 -26.819162 +v 5.989112 -29.155480 -25.478318 +v 4.900897 -30.034062 -28.085735 +v 5.961570 -30.106282 -27.930073 +v 5.975554 -30.033702 -27.932888 +v 2.336145 -8.917222 -33.830794 +v 2.337499 -11.010121 -33.943296 +v 3.688955 -9.112924 -32.776640 +v 3.507693 -11.017374 -33.033846 +v 4.276294 -11.033497 -31.521751 +v 3.615632 -13.726269 -30.958863 +v 4.019670 -18.468482 -30.778327 +v 4.344067 -18.354598 -30.102689 +v 5.263170 -23.823335 -30.060377 +v 5.802461 -23.599763 -29.535965 +v 6.880127 -27.872773 -29.044047 +v 7.575602 -27.501625 -28.190448 +v 3.613588 -13.723092 -29.889667 +v 4.368061 -9.314619 -31.307526 +v 3.635010 -7.169455 -31.257721 +v 4.160144 -7.315586 -30.054861 +v 1.507802 -21.180853 8.033478 +v 2.371784 -25.053529 9.954292 +v 1.657261 -25.183236 9.527344 +v 1.905996 -27.518291 10.633643 +v 2.636950 -27.428923 11.075035 +v 2.760209 -28.205313 11.535129 +v 1.966181 -28.422474 10.882750 +v 3.152637 -29.236271 11.811390 +v 6.782366 -28.414502 9.079178 +v 6.627004 -27.506241 8.845655 +v 6.098938 -28.794039 8.159470 +v 5.968769 -27.877326 7.966225 +v 4.866006 -28.177861 7.450209 +v 4.033294 -25.590822 7.187436 +v 3.014261 -25.692180 7.214169 +v 2.818679 -21.335138 6.460373 +v 3.401343 -28.354024 7.449970 +v 4.976085 -29.091518 7.648609 +v 3.476153 -29.271214 7.646930 +v 4.883383 -25.385952 7.528790 +v 5.421008 -25.113226 8.222946 +v 3.834710 -21.107488 7.678758 +v 3.566625 -21.221253 6.980106 +v 3.169995 -16.408730 7.087277 +v 2.867104 -16.404414 6.392401 +v 6.252683 -29.908608 9.614436 +v 6.501431 -29.977057 10.314227 +v 6.198378 -29.735085 9.493479 +v 6.469543 -29.487714 9.983302 +v 6.740648 -29.240406 10.473126 +v 4.101931 -30.034062 8.780201 +v 2.286095 -29.090258 8.655947 +v 1.759223 -28.791881 9.784603 +v 3.034089 -29.481901 11.265881 +v 5.102197 -29.155480 11.422624 +v 2.760664 -0.052225 -24.893311 +v 2.968845 -7.393567 -28.147713 +v 2.232168 -7.315046 -28.563211 +v 2.431771 -9.543768 -28.705385 +v 1.366513 -9.441391 -29.160568 +v 2.377233 -11.045425 -28.885985 +v 1.327439 -11.039851 -29.319288 +v 1.990690 -13.728246 -29.513846 +v 2.672470 -13.728847 -29.094876 +v 2.438701 -18.287226 -28.837556 +v 3.714016 -7.479639 -28.347128 +v 5.287547 -0.213911 -23.574528 +v 4.086652 -7.431628 -28.968521 +v 6.359615 -0.107621 -24.440592 +v 7.415684 6.478714 -17.167380 +v 8.827853 6.674775 -18.766800 +v 9.783764 10.237385 -17.678544 +v 8.424281 10.229113 -15.421052 +v 0.321490 -14.766335 5.422375 +v 1.015994 -16.399440 6.138258 +v 2.109784 -14.772208 4.987611 +v 2.066538 -16.400098 5.883128 +v 1.765409 -21.354379 6.718051 +v 2.045535 -25.600714 7.952860 +v 2.234038 -28.180079 8.436149 +v 1.714089 -27.889373 9.544007 +v 1.603854 -25.397639 8.809152 +v 1.441971 -21.254699 7.539279 +v 0.725553 -16.403157 6.955172 +v 0.814604 -16.405972 7.446613 +v -0.159864 -14.796844 6.806042 +v 1.782629 -16.413164 8.463303 +v 1.223432 -16.411188 8.293195 +v 1.641772 -14.878781 9.366826 +v 0.689271 -14.862477 9.078579 +v 0.742545 -12.860746 9.220515 +v 1.695046 -12.925780 9.508763 +v 1.222383 -11.219430 8.837503 +v 1.886672 -11.273914 9.039139 +v 2.449729 -4.148750 10.040665 +v 3.216561 -4.223170 10.616501 +v 2.636218 0.339286 11.567197 +v 3.651901 0.239200 12.341552 +v 2.731006 3.849994 12.275978 +v 4.260320 3.544550 13.611485 +v 1.371560 6.513659 13.155525 +v 3.994358 -14.841858 7.030335 +v 3.476752 -14.806973 5.850587 +v 3.530044 -12.640288 5.992559 +v 4.047632 -12.778688 7.172211 +v 3.172824 -11.034816 6.581270 +v 3.532657 -11.150739 7.405974 +v 0.972634 -10.898994 6.280615 +v 0.374770 -12.478152 5.564257 +v 2.163064 -12.501590 5.129493 +v 3.359205 -3.711097 6.275520 +v 6.181595 0.891806 6.913094 +v 3.836604 0.927920 6.632398 +v 6.554477 4.635905 8.131479 +v 6.090308 -4.054861 9.313720 +v 7.437323 0.678464 8.938681 +v 7.529989 0.465542 10.589408 +v 8.168761 4.896659 9.402131 +v 8.338629 4.772525 10.984407 +v 7.828906 8.039772 9.461531 +v 8.168701 8.155094 11.131198 +v 7.658858 8.887492 12.844622 +v 0.000785 3.669020 -29.771646 +v 0.792445 6.574737 -29.350336 +v 0.510143 6.574917 -29.719500 +v 0.377000 9.582609 -29.535905 +v 0.583646 9.582428 -29.265641 +v 0.708248 12.896049 -29.825954 +v 0.456455 12.896229 -30.155138 +v 0.708248 16.389669 -29.830810 +v 0.456455 16.527469 -30.202317 +v 0.588615 20.461344 -29.029957 +v 0.913456 20.029899 -28.526947 +v 1.452250 22.282477 -26.340369 +v 1.137437 22.953856 -26.267778 +v 0.731301 23.304320 -26.271073 +v 2.137236 24.090843 -24.931192 +v 1.117669 24.627959 -24.916507 +v 2.986833 25.338718 -23.391654 +v 1.372531 25.621933 -23.921516 +v 2.986773 27.340930 -20.944512 +v 1.712315 27.725860 -21.256497 +v 1.712243 29.212714 -18.635293 +v -0.000000 29.641459 -19.564291 +v -0.000000 30.554693 -16.609526 +v -0.000000 28.045635 -22.134666 +v 0.000641 25.876258 -24.371480 +v 0.000659 24.983819 -25.148653 +v 0.000695 23.513690 -26.356311 +v 0.000767 20.545798 -29.243465 +v 0.000803 16.542995 -30.368880 +v 0.000797 12.896289 -30.313559 +v 0.000779 9.582609 -29.665793 +v 0.000785 6.575037 -29.896981 +v 1.230673 36.168013 34.980250 +v 3.815073 38.094041 35.687530 +v 1.175133 37.440574 35.992084 +v 0.786930 36.511697 35.563342 +v 1.724476 38.890804 26.905051 +v 1.802116 36.168493 27.179637 +v -0.000719 33.132794 27.460748 +v -0.000719 30.497816 27.495872 +v -0.000707 28.356542 27.168125 +v 1.668871 28.103535 27.306347 +v -0.000689 26.578505 26.339828 +v 2.184354 41.756807 42.265865 +v 1.180264 42.625260 40.870179 +v 2.262011 40.849504 42.025808 +v 1.247408 41.564824 40.562088 +v 2.339783 40.960688 37.002717 +v 2.650280 40.574495 40.297997 +v 2.805517 39.825977 42.105347 +v 0.631598 36.641824 36.695769 +v 0.709189 36.742459 38.902614 +v 1.252694 37.562430 39.382013 +v 0.942083 36.966633 40.521391 +v 3.116254 37.832460 36.406083 +v 3.582132 39.211783 36.094639 +v 2.960957 39.138832 36.791439 +v 3.426841 40.743407 36.109864 +v 3.504486 41.498341 36.023069 +v 5.619761 27.608559 12.337955 +v 7.828846 24.704920 12.365708 +v 7.998712 24.900625 13.069873 +v 9.358196 21.692495 12.444107 +v 9.443129 21.590479 13.220862 +v 9.952973 17.976202 11.723759 +v 9.698051 18.091523 13.393425 +v 10.632685 15.268685 11.461284 +v 10.037907 15.057399 13.283137 +v 3.750513 7.311570 14.440806 +v 1.796308 6.846381 15.718110 +v -0.000000 6.512220 16.138943 +v -0.000000 5.932709 13.757678 +v 1.541553 5.883259 10.665411 +v 2.838801 30.333517 28.616377 +v 3.101569 27.539930 28.464191 +v 4.175141 22.356082 21.547021 +v 7.574104 9.522010 6.384489 +v 7.404116 8.744477 8.271497 +v 5.704886 7.700156 6.173083 +v 4.005633 5.885633 5.693067 +v 3.750777 6.227508 4.009157 +v 9.443189 10.013931 9.999726 +v 9.273261 9.766561 11.175552 +v 9.273321 12.759267 6.930476 +v 2.051751 39.862541 -5.172230 +v -0.000000 40.516057 -5.476889 +v 2.221768 39.014878 -8.555309 +v -0.000000 39.378049 -9.056102 +v 9.698711 16.187615 -13.160682 +v 10.378422 16.566010 -15.192982 +v 9.953573 20.295192 -11.031879 +v 9.953812 18.565163 -21.427443 +v 10.803331 17.206162 -17.943775 +v 9.359034 21.657010 -20.482442 +v 10.293608 21.038199 -16.548328 +v 0.572378 12.622307 -25.381579 +v 0.331650 11.917183 -24.029525 +v -0.000000 15.152043 -18.511218 +v 0.947628 14.804637 -20.536627 +v 1.414141 14.267399 -20.551431 +v 3.940491 13.706249 -15.782485 +v 2.810863 14.353293 -17.807413 +v 1.542291 14.694287 -17.502382 +v -5.140127 43.877631 24.744660 +v -5.458236 43.709139 24.959245 +v -4.245737 44.038509 25.588904 +v -5.265040 43.498695 26.276650 +v -3.408925 43.797612 26.836962 +v -4.650860 43.139837 27.674793 +v -2.341497 43.300956 28.080522 +v -3.972060 42.669255 28.573700 +v -2.423901 43.482993 27.392959 +v -1.368269 43.659628 27.177777 +v -3.490172 -27.357301 -25.620255 +v -2.656490 -27.479692 -26.085924 +v -3.650894 -28.205313 -25.287532 +v -2.835408 -28.422474 -25.912936 +v -4.052367 -29.236271 -25.024579 +v -3.820612 -29.900757 -25.981094 +v -3.778786 -29.727531 -26.106905 +v -3.915580 -29.481901 -25.565828 +v -4.404588 -30.037838 -24.619568 +v -2.591731 -28.791881 -27.003594 +v -3.080434 -29.090258 -28.149271 +v -4.205104 -30.028240 -27.204329 +v -4.235955 -29.271214 -29.197669 +v -4.899405 -30.034062 -28.086035 +v -4.099761 -28.392923 -29.529434 +v -2.899795 -28.206991 -28.453101 +v -2.631339 -23.990506 -29.568214 +v -2.394124 -27.892791 -27.261277 +v -2.266327 -23.822136 -28.823109 +v -1.899098 -18.501809 -30.142431 +v -1.102247 -13.703012 -31.590083 +v -1.164937 -13.717937 -32.788750 +v -0.203602 -11.002748 -31.934436 +v -0.491670 -11.012279 -33.530200 +v -0.514716 -8.892467 -33.297097 +v -0.280360 -9.040698 -31.924127 +v -7.076968 -29.908608 -27.324387 +v -7.018647 -29.735085 -27.443428 +v -7.305996 -29.487714 -26.962954 +v -7.621096 -30.045569 -25.942249 +v -7.593464 -29.240406 -26.482600 +v -7.588430 -28.414502 -27.876969 +v -4.216511 -30.100294 -27.211163 +v -4.897948 -30.095378 -28.089030 +v -5.534737 13.081382 -14.563501 +v -6.384370 10.214308 -14.884236 +v -8.678484 13.488011 -14.686796 +v -8.423503 10.229113 -15.421470 +v -7.414845 6.478714 -17.167800 +v -6.063215 6.447365 -16.910121 +v -5.286300 -0.213911 -23.574827 +v -4.260218 -0.230820 -23.435289 +v -3.712530 -7.479639 -28.347308 +v -2.967359 -7.393567 -28.147833 +v -3.562802 -9.540351 -29.083547 +v -2.430249 -9.543768 -28.705445 +v -3.507106 -11.041828 -29.274693 +v -2.375710 -11.045425 -28.886105 +v -3.318740 -13.725310 -29.298246 +v -2.670929 -13.728847 -29.094936 +v -3.001536 -18.233821 -28.690760 +v -3.720885 -18.227886 -28.945265 +v -4.419669 -23.349455 -27.950151 +v -3.006355 -23.520827 -27.823379 +v -5.634787 -27.088826 -25.843829 +v -5.769075 -27.954647 -25.516800 +v -5.987769 -29.155480 -25.478618 +v -6.182194 -29.999536 -24.994849 +v -2.364688 -23.607554 -28.115645 +v -7.342978 -28.208191 -26.819582 +v -2.334370 -8.917222 -33.830977 +v -2.335707 -11.010121 -33.943470 +v -2.264391 -13.714400 -32.945913 +v -3.200336 -18.582305 -31.251247 +v -4.274634 -11.033497 -31.521991 +v -3.505948 -11.017374 -33.033960 +v -4.366401 -9.314619 -31.307706 +v -3.687229 -9.112924 -32.776820 +v -1.569407 -7.165258 -29.884694 +v -0.511845 -9.221714 -30.805179 +v -3.153254 -29.236271 11.811210 +v -2.760814 -28.205313 11.535009 +v -1.966745 -28.422474 10.882570 +v -1.906548 -27.518291 10.633583 +v -2.637537 -27.428923 11.074975 +v -2.372306 -25.053529 9.954112 +v -1.657758 -25.183236 9.527224 +v -1.873144 -21.040056 8.884976 +v -1.759739 -28.791881 9.784483 +v -1.714592 -27.889373 9.543887 +v -2.286551 -29.090258 8.655767 +v -2.234475 -28.180079 8.435970 +v -3.401727 -28.354024 7.449790 +v -3.014644 -25.692180 7.214109 +v -3.476554 -29.271214 7.646750 +v -1.604316 -25.397639 8.809032 +v -2.045948 -25.600714 7.952680 +v -1.765757 -21.354379 6.717931 +v -1.610651 0.293744 -27.713930 +v -1.214555 7.416164 -24.811794 +v -1.405018 7.553844 -25.935895 +v -0.571047 12.622307 -25.381699 +v -0.330385 11.917183 -24.029525 +v -6.741187 -29.240406 10.472766 +v -6.782906 -28.414502 9.078818 +v -6.502030 -28.208191 10.127576 +v -6.627423 -27.506241 8.845296 +v -6.257717 -27.426945 9.711298 +v -5.421440 -25.113226 8.222587 +v -5.039543 -25.035728 8.909370 +v -3.835105 -21.107488 7.678578 +v -3.582509 -21.020097 8.386220 +v -2.933697 -16.411965 7.795819 +v -2.509057 -16.413465 8.233975 +v -3.170361 -16.408730 7.087098 +v -5.102796 -29.155480 11.422264 +v -4.884497 -27.954647 11.377190 +v -4.689910 -27.169505 10.933878 +v -3.872813 -24.866996 9.878648 +v -2.424992 -20.986709 9.053464 +v -3.148975 -20.980776 8.824616 +v -1.783079 -16.413164 8.463123 +v -0.321772 -14.766335 5.422375 +v -1.016306 -16.399440 6.138198 +v 0.159516 -14.796844 6.806042 +v -0.725918 -16.403157 6.955172 +v -0.814988 -16.405972 7.446553 +v -0.002338 -14.819442 7.638838 +v -1.642258 -14.878781 9.366706 +v -2.878757 -14.880700 8.976202 +v -3.599107 -14.868652 8.232117 +v -4.048015 -12.778688 7.172031 +v -3.652380 -12.884962 8.374053 +v -3.994724 -14.841858 7.030155 +v -2.932055 -12.932973 9.118079 +v -1.695550 -12.925780 9.508704 +v -0.375070 -12.478152 5.564257 +v 0.106218 -12.599471 6.948038 +v -0.972970 -10.898994 6.280494 +v -0.632155 -11.000651 7.248933 +v -0.051356 -12.689379 7.780715 +v -0.739704 -11.075934 7.831602 +v -2.304874 -3.952736 8.522462 +v -2.450251 -4.148750 10.040485 +v -2.451485 0.602929 9.525366 +v -2.636824 0.339286 11.567017 +v -2.561672 4.170304 10.403117 +v -2.731636 3.849994 12.275858 +v -2.731564 4.149061 9.219916 +v -2.636230 0.741251 8.453473 +v -2.450431 -3.849928 7.725511 +v -3.359541 -3.711097 6.275340 +v -3.836952 0.927920 6.632158 +v -1.222845 -11.219430 8.837384 +v -0.743031 -12.860746 9.220515 +v -0.689745 -14.862477 9.078579 +v -1.887146 -11.273914 9.039079 +v -2.750007 -11.279908 8.766655 +v -3.253922 -11.239749 8.246562 +v -3.155922 6.835831 -8.338270 +v -3.071041 6.079458 -5.268073 +v -0.000000 5.658613 -5.602055 +v -2.901198 5.562609 -2.110629 +v -0.000000 5.504491 -1.950879 +v -2.306541 5.916562 1.635167 +v -0.000000 5.858367 1.794899 +v -1.796823 6.866221 4.241583 +v -0.000000 6.677473 4.263323 +v -0.000000 7.068876 5.671740 +v 1.796613 6.866221 4.241685 +v 2.051469 7.039805 5.751609 +v -2.051763 7.039805 5.751519 +v 1.541596 6.283432 8.821740 +v -0.000000 6.530261 8.640363 +v -0.000000 5.934064 10.774261 +v -1.542105 5.883259 10.665351 +v -3.750992 6.227508 4.008959 +v 2.306469 5.916562 1.635287 +v 2.901306 5.562609 -2.110479 +v 3.071317 6.079458 -5.267899 +v 3.156359 6.835831 -8.338090 +v 6.724765 7.603713 -4.983955 +v 6.469963 8.265443 -7.546052 +v 8.848953 10.341140 -6.790158 +v 8.594090 11.525779 -9.794733 +v 9.868458 13.703072 -8.820960 +v 7.999372 15.838708 -12.202733 +v 8.764018 17.979499 -10.880652 +v 6.130167 9.696972 -10.732063 +v 2.306900 12.232342 -14.962935 +v 2.816593 8.666556 -11.378688 +v -0.000000 9.014923 -11.342305 +v -0.000000 6.893973 -8.497767 +v -2.815988 8.666556 -11.378867 +v -6.129568 9.696972 -10.732423 +v -6.469484 8.265443 -7.546351 +v -8.593550 11.525779 -9.795212 +v -8.848532 10.341140 -6.790578 +v -10.632745 13.012150 -6.179617 +v -10.972719 12.379494 -3.697347 +v -12.077220 15.587682 -3.071587 +v -11.822418 15.150606 0.114850 +v -11.992346 18.337096 0.551873 +v -11.397689 18.190363 3.934491 +v -11.482563 22.518038 0.989375 +v -6.724465 7.603713 -4.984291 +v -6.724585 6.977888 -1.776162 +v -6.384789 6.932694 1.824275 +v -9.103694 9.073964 2.151849 +v -8.339109 9.406686 4.714450 +v -10.717978 12.144113 2.908175 +v -10.123381 12.324529 5.144028 +v -11.227761 15.062074 3.337801 +v -10.208315 15.184350 5.733340 +v -10.038326 17.935144 6.373461 +v -9.188747 15.198198 7.185159 +v -9.103873 18.007190 7.665572 +v -9.273681 12.759267 6.929997 +v -7.574403 9.522010 6.384069 +v -9.018519 9.737550 -4.388183 +v -9.273501 9.300534 -1.201680 +v -10.972778 12.181934 -0.423675 +v -8.848892 21.332020 6.977589 +v -8.339229 21.505124 9.481911 +v -0.911952 20.029899 -28.526947 +v -0.584887 19.543133 -28.111447 +v -0.706672 16.389669 -29.830810 +v -0.453159 16.219083 -29.535665 +v -0.706672 12.896049 -29.825954 +v -0.453159 12.895929 -29.578586 +v -0.582106 9.582428 -29.265641 +v -0.374033 9.582308 -29.062625 +v -0.506655 6.574557 -29.073057 +v -0.790886 6.574737 -29.350336 +v -0.508573 6.574917 -29.719500 +v -0.375442 9.582609 -29.535905 +v -0.454867 12.896229 -30.155138 +v -0.454867 16.527469 -30.202317 +v -0.587081 20.461344 -29.030017 +v -1.450866 22.282477 -26.340429 +v -1.136053 22.953856 -26.267778 +v -4.045396 41.919535 28.852061 +v -4.282714 37.650840 31.512943 +v -3.319873 38.706498 29.373592 +v -4.205026 39.751712 30.142371 +v -3.096078 41.870452 28.131108 +v -3.190614 36.534359 29.656564 +v -3.188049 33.334435 30.340411 +v -3.286979 30.299834 30.477732 +v -3.103049 27.539930 28.464011 +v -3.186694 33.328021 32.112518 +v -3.417850 29.973044 32.745953 +v -3.564767 26.972363 30.100108 +v -3.428009 25.118923 27.616711 +v -3.772265 26.059309 32.236477 +v -3.701459 22.439039 30.257514 +v -3.974794 24.094802 28.690463 +v -4.771098 20.576127 24.696349 +v -4.006412 22.608906 24.080297 +v -4.176274 22.356082 21.546842 +v -4.855979 19.423314 21.654373 +v -4.397282 18.514214 25.392305 +v -4.601093 16.955435 21.478992 +v -3.122847 16.307074 26.487456 +v -3.156688 13.768885 21.042034 +v -2.402953 20.536387 32.006304 +v -2.539704 25.152068 34.229569 +v -2.256575 29.634808 34.541425 +v -2.171971 33.271082 33.499986 +v -1.147058 33.335938 34.699851 +v -1.232513 36.168013 34.980250 +v -1.249542 41.564824 40.562088 +v -1.182416 42.625260 40.870179 +v -2.341731 40.960688 37.002537 +v -3.506380 41.498341 36.022949 +v -3.428735 40.743407 36.109684 +v -2.962887 39.138832 36.791253 +v -2.221313 39.014878 -8.555489 +v -4.515362 37.511781 -7.656161 +v -6.299675 34.541245 -4.216811 +v -3.495981 36.644760 -0.557237 +v -5.705042 33.095038 -0.493612 +v -3.920884 32.977318 2.809197 +v -5.535198 30.560155 2.742694 +v -4.260812 30.326626 5.370371 +v -5.365348 28.838454 5.732572 +v -1.711895 31.909022 5.494589 +v -1.881763 34.530701 3.013224 +v -0.000000 35.466957 3.173412 +v -0.000000 39.054506 -0.222111 +v -0.000000 32.496964 5.618292 +v -6.299615 34.302751 -6.293022 +v -7.574164 30.032685 -2.513079 +v -7.489169 29.837941 -5.206216 +v -9.358376 26.366798 -2.130109 +v -9.358376 26.549552 -4.866618 +v -11.397509 22.919990 -4.832123 +v -9.188387 26.310933 -6.942764 +v -10.717738 22.950019 -6.900927 +v -8.678544 25.441096 -9.520152 +v -9.443189 22.776915 -9.405247 +v -7.149135 27.626180 -9.809478 +v -7.319003 26.836602 -13.352188 +v -5.279941 29.194734 -11.137012 +v -5.449797 28.441174 -14.033636 +v -3.410694 30.523765 -12.551817 +v -3.495603 29.377965 -14.868051 +v -1.456512 31.300870 -13.444256 +v -1.456446 29.995401 -15.818567 +v -0.000000 31.874438 -13.777876 +v -7.319423 29.036854 0.469882 +v -9.358436 26.096833 0.845923 +v -6.979626 27.917726 3.046298 +v -8.508916 25.130012 3.749074 +v -6.639830 26.849490 5.731637 +v -7.914259 24.577131 6.260474 +v -6.724825 26.840678 8.983635 +v -7.489529 24.524984 9.134922 +v -6.385028 26.781638 11.132277 +v -7.319662 24.655172 10.267414 +v -5.620420 27.608559 12.337655 +v -11.567496 22.657457 -2.124649 +v -12.077160 19.036766 -5.342073 +v -11.142527 19.335324 -7.403457 +v -10.887665 16.656938 -7.745890 +v -8.763478 17.979499 -10.881072 +v -7.998772 15.838708 -12.203153 +v -10.463116 22.030313 4.066975 +v -9.358795 21.692495 12.443689 +v -7.829445 24.704920 12.365229 +v -7.999432 24.900625 13.069454 +v -1.457417 12.367925 21.164789 +v -0.000000 11.098411 19.436682 +v -2.052116 10.749985 19.400059 +v -2.052074 8.406179 17.642400 +v -0.000000 9.102974 17.715407 +v 2.051151 8.406179 17.642459 +v 2.051109 10.749985 19.400179 +v -1.797135 6.846381 15.718050 +v -3.326515 9.096080 16.989361 +v -3.326550 11.476329 18.398713 +v -5.790444 9.328645 16.350529 +v -5.960407 11.440306 17.752568 +v -7.404776 11.869052 16.823630 +v -6.470202 13.878755 19.002241 +v -4.091262 14.205003 19.844448 +v -5.110846 16.846947 20.535248 +v -6.980046 16.629546 19.642273 +v -5.450702 19.235045 20.681620 +v -7.149974 19.475048 19.774319 +v -3.751262 7.311570 14.440566 +v -2.111984 23.709332 21.828316 +v -2.246122 23.923973 23.885252 +v -6.181955 0.891806 6.912734 +v -5.094561 -3.737944 6.483989 +v -2.221121 -10.918654 5.977184 +v -3.173172 -11.034816 6.581090 +v -4.260896 30.993029 8.506578 +v -2.306720 32.125402 8.376450 +v -0.000000 32.619240 8.013758 +v -0.000000 33.198854 10.395084 +v -2.221822 32.596170 10.808366 +v -0.000000 32.994401 12.942742 +v -0.201144 15.263352 -23.534369 +v -4.021486 10.599657 -16.190611 +v -4.712927 6.574737 -17.953306 +v -8.826894 6.674775 -18.767279 +v -9.782925 10.237385 -17.679023 +v -10.037727 13.350929 -16.545151 +v -10.377583 16.566010 -15.193460 +v -9.697991 16.187615 -13.161161 +v -3.939663 13.706249 -15.782663 +v -1.541368 14.694287 -17.502502 +v -2.809916 14.353293 -17.807533 +v -0.946543 14.804637 -20.536748 +v 2.731084 4.149061 9.220096 +v 3.156107 5.865757 1.526413 +v 6.724705 6.977888 -1.775808 +v -1.372243 6.513659 13.155405 +v -1.670309 28.103535 27.306227 +v -1.806971 26.165823 26.419725 +v -1.967182 24.810114 20.270494 +v -1.967146 26.218990 18.884761 +v -4.346165 23.329261 20.364061 +v -4.601033 24.382329 19.210470 +v -6.215401 22.306153 19.448969 +v -4.770924 25.791260 17.824616 +v -6.979986 23.236111 17.888691 +v -7.744571 24.493156 15.181654 +v -8.934065 21.044971 15.463128 +v -9.443789 21.590479 13.220323 +v -9.698651 18.091523 13.392887 +v -9.953573 17.976202 11.723339 +v -10.038506 15.057399 13.282599 +v -10.633284 15.268685 11.460685 +v -3.581431 26.836482 17.934065 +v -2.052074 27.838307 17.666015 +v -0.000000 27.126288 19.124697 +v -0.000000 28.615000 17.768032 +v -1.797123 30.612233 15.511318 +v -0.000000 30.931651 15.627721 +v 1.796320 30.612233 15.511498 +v 2.051151 27.838307 17.666076 +v 3.580489 26.836482 17.934245 +v -5.195816 21.550799 20.530214 +v -8.169479 19.947603 18.228305 +v -7.744571 12.348985 15.009088 +v -7.574703 14.024585 17.608534 +v -8.084426 14.511892 15.525403 +v -7.999612 16.993198 18.147028 +v -8.764198 17.567836 15.824500 +v -9.868638 12.836289 12.925839 +v -10.463355 13.127534 11.132996 +v -9.698651 12.168567 12.773113 +v -10.038506 11.385400 10.950781 +v -9.358795 10.659058 11.952187 +v -9.273861 9.766561 11.175014 +v -9.443729 10.013931 9.999187 +v -9.868518 10.703892 9.346267 +v -3.118261 38.701759 39.977741 +v -3.118166 37.832460 36.405903 +v -2.807662 37.584189 39.570755 +v -2.730083 37.604867 41.748416 +v -2.264193 37.053426 41.276328 +v -0.944211 36.966633 40.521391 +v -0.711233 36.742459 38.902614 +v -1.254756 37.562430 39.382013 +v -1.177027 37.440574 35.992084 +v -0.633528 36.641824 36.695769 +v -0.788789 36.511697 35.563342 +v 2.805583 37.584189 39.570875 +v 2.262029 37.053426 41.276508 +v -0.000911 36.533882 34.757633 +v -0.000965 36.591056 36.586857 +v -0.001025 36.873010 39.040593 +v -0.001091 36.726751 41.428634 +v -0.001157 35.411453 44.295349 +v -3.816949 38.094041 35.687350 +v -1.637391 42.678905 26.325561 +v -0.000707 43.823027 27.101653 +v 1.366855 43.659628 27.177837 +v -4.049862 37.070989 34.772258 +v -2.549348 42.252855 26.602539 +v 0.586374 19.543133 -28.111447 +v 0.000737 19.325734 -28.018786 +v 0.000779 16.133668 -29.479563 +v 0.454711 16.219083 -29.535665 +v 0.000779 12.895810 -29.544057 +v 0.454711 12.895929 -29.578586 +v 0.375567 9.582308 -29.062625 +v 0.000767 9.582248 -29.034213 +v 0.000767 6.574497 -29.034213 +v 0.508189 6.574557 -29.073057 +v -2.163328 -12.501590 5.129332 +v -2.110048 -14.772208 4.987437 +v -2.867428 -16.404414 6.392221 +v -3.566985 -21.221253 6.979926 +v -1.223864 -16.411188 8.293135 +v -6.358296 -0.107621 -24.440949 +v -4.085130 -7.431628 -28.968702 +v -4.165107 -9.472321 -29.922635 +v -4.093737 -11.036015 -30.118217 +v -3.410363 23.183602 -25.171309 +v -6.214262 22.863348 -23.298686 +v -5.364593 23.988348 -23.160167 +v -8.763239 23.529634 -20.162604 +v -7.828606 25.242697 -19.900490 +v -6.808919 22.086654 -23.400764 +v -2.135917 24.090843 -24.931252 +v -2.985598 25.338718 -23.391833 +v -4.599984 27.006889 -20.523739 +v -2.985664 27.340930 -20.944632 +v -3.495531 28.566209 -17.604937 +v -1.711272 29.212714 -18.635353 +v -1.711200 27.725860 -21.256562 +v -1.371266 25.621933 -23.921576 +v -1.116351 24.627959 -24.916507 +v -0.729910 23.304320 -26.271073 +v -5.364749 27.912753 -17.300445 +v -7.488870 26.417146 -16.669644 +v -8.508436 25.277283 -16.270990 +v -8.508496 25.377440 -13.069693 +v -9.358136 23.039987 -13.107155 +v -9.358016 23.389796 -16.054067 +v -10.292649 21.038199 -16.548868 +v -9.357956 21.657010 -20.482862 +v -9.952733 18.565163 -21.428043 +v -7.488630 19.764069 -23.975282 +v -7.998473 15.967996 -24.724701 +v -5.166907 17.035873 -26.415529 +v -5.372517 12.801765 -26.984530 +v -2.084651 17.660682 -27.634694 +v -2.301571 12.760106 -27.460508 +v -4.926461 7.699017 -27.117836 +v -2.719270 7.687389 -27.023792 +v -3.846578 0.430454 -28.828442 +v -2.529509 0.440649 -28.911759 +v -2.610001 -7.023802 -32.193620 +v -10.802492 17.206162 -17.944374 +v -10.292769 20.797303 -13.652723 +v -4.158556 -7.315586 -30.055101 +v -3.633368 -7.169455 -31.257841 +v -6.511442 0.039194 -25.638596 +v -6.051946 0.199945 -26.949410 +v -9.028530 6.946060 -20.979218 +v -8.423263 7.243000 -23.399865 +v -9.612878 10.782892 -19.921830 +v -9.357896 11.473692 -22.563712 +v -10.122661 13.744070 -19.114687 +v -9.612757 14.790790 -21.988713 +v -8.083407 12.338914 -24.852071 +v -6.950555 7.540717 -25.827344 +v -4.933942 0.361206 -28.263816 +v -2.070134 0.111925 -26.231517 +v -2.284393 7.080265 -22.074188 +v -1.901615 11.248020 -21.198895 +v -1.413062 14.267399 -20.551491 +v -4.102393 -30.034062 8.779962 +v -3.378932 -30.028240 9.637873 +v -2.916087 -29.727531 10.720376 +v -3.034676 -29.481901 11.265822 +v -3.222694 -29.969326 11.537647 +v -2.953669 -29.900757 10.847505 +v -3.530362 -12.640288 5.992307 +v -3.477052 -14.806973 5.850413 +v -2.066849 -16.400098 5.882954 +v -2.819009 -21.335138 6.460193 +v -4.883784 -25.385952 7.528550 +v -5.969212 -27.877326 7.965926 +v -4.033672 -25.590822 7.187136 +v -4.866390 -28.177861 7.449970 +v -4.976480 -29.091518 7.648369 +v -6.099298 -28.794039 8.159171 +v -5.735096 -29.091518 -29.246280 +v -5.974031 -30.033702 -27.933128 +v -6.874433 -28.794039 -28.773300 +v -2.006065 -18.428023 -29.661060 +v -2.437178 -18.287226 -28.837736 +v -1.989132 -13.728246 -29.513906 +v -1.331766 -13.699777 -30.821959 +v -3.390697 42.318012 26.108463 +v -3.879335 41.495703 26.071416 +v -4.631823 42.149222 24.960622 +v -4.230782 42.824140 24.991070 +v -5.135463 43.498695 24.558073 +v 6.385208 10.214308 -14.883935 +v 6.064114 6.447365 -16.909761 +v 4.261459 -0.230820 -23.435109 +v 2.531031 0.440649 -28.911579 +v 1.329447 -7.110055 -30.839405 +v 1.413811 -7.008457 -31.844588 +v 0.516473 -8.892467 -33.297037 +v 0.282032 -9.040698 -31.924127 +v 1.570984 -7.165258 -29.884574 +v 0.513464 -9.221714 -30.805059 +v 2.071525 0.111925 -26.231397 +v 3.544142 6.777151 -19.602893 +v 2.285556 7.080265 -22.074008 +v 3.105579 10.825748 -18.549459 +v 1.902724 11.248020 -21.198835 +v 4.713874 6.574737 -17.953066 +v 1.215856 7.416164 -24.811794 +v 1.612108 0.293744 -27.713930 +v 3.373213 -0.161830 -23.999918 +v 4.022338 10.599657 -16.190371 +v 0.205292 -11.002748 -31.934436 +v 0.460867 -11.003527 -30.961742 +v 1.103907 -13.703012 -31.590083 +v 1.333391 -13.699777 -30.821902 +v 2.007623 -18.428023 -29.660940 +v 2.366180 -23.607554 -28.115585 +v 2.657862 -27.479692 -26.085804 +v 0.493432 -11.012279 -33.530200 +v 9.443729 22.799153 -10.210472 +v 10.293488 20.797303 -13.652124 +v 9.273861 20.185861 -9.986720 +v 9.443729 22.776915 -9.404827 +v 8.679083 25.441096 -9.519673 +v 8.509275 25.377440 -13.069274 +v 7.149734 27.626180 -9.808999 +v 7.319722 26.836602 -13.351768 +v 5.280528 29.194734 -11.136773 +v 5.450534 28.441174 -14.033397 +v 3.496394 29.377965 -14.867753 +v 3.496454 28.566209 -17.604757 +v 1.457285 29.995401 -15.818448 +v 1.457219 31.300870 -13.444196 +v 3.411359 30.523765 -12.551639 +v 4.601063 27.006889 -20.523620 +v 5.365654 27.912753 -17.300205 +v 7.829685 25.242697 -19.900071 +v 7.489768 26.417146 -16.669285 +v 8.509335 25.277283 -16.270510 +v 5.365809 23.988348 -23.159927 +v 8.764258 23.529634 -20.162186 +v 9.358974 23.389796 -16.053648 +v 9.358855 23.039987 -13.106617 +v 3.411700 23.183602 -25.171129 +v 6.215461 22.863348 -23.298386 +v 6.810238 22.086654 -23.400344 +v 7.489948 19.764069 -23.974802 +v 7.999732 15.967996 -24.724284 +v 9.613956 14.790790 -21.988234 +v 9.359154 11.473692 -22.563232 +v 9.613956 10.782892 -19.921349 +v 9.029668 6.946060 -20.978678 +v 8.424521 7.243000 -23.399445 +v 6.512759 0.039194 -25.638296 +v 4.166684 -9.472321 -29.922395 +v 4.095326 -11.036015 -30.118037 +v 6.053385 0.199945 -26.949110 +v 4.935434 0.361206 -28.263576 +v 2.611691 -7.023802 -32.193560 +v 3.848100 0.430454 -28.828265 +v 10.038686 13.350929 -16.544673 +v 10.123680 13.744070 -19.114147 +v 1.966661 38.198028 -0.353114 +v 1.881607 34.530701 3.013326 +v 1.711619 31.909022 5.494673 +v 4.260530 30.326626 5.370539 +v 3.920741 32.977318 2.809401 +v 5.535061 30.560155 2.742988 +v 3.496011 36.644760 -0.557045 +v 5.705066 33.095038 -0.493300 +v 6.299915 34.541245 -4.216475 +v 7.574343 30.032685 -2.512683 +v 7.489469 29.837941 -5.205874 +v 9.358615 26.549552 -4.866192 +v 9.188747 26.310933 -6.942344 +v 11.397749 22.919990 -4.831529 +v 10.718158 22.950019 -6.900327 +v 12.077460 19.036766 -5.341396 +v 11.142946 19.335324 -7.402857 +v 11.652670 16.039024 -5.800088 +v 10.888025 16.656938 -7.745291 +v 10.633164 13.012150 -6.179017 +v 5.365055 28.838454 5.732908 +v 4.260800 38.352619 -4.998736 +v -1.881373 34.857016 -11.787594 +v -3.835566 34.319417 -10.807946 +v -5.959694 32.286100 -9.197497 +v -7.743972 29.127842 -7.725451 +v -0.000000 34.414421 -12.310383 +v -2.306103 12.232342 -14.963115 +v 3.121462 16.307074 26.487636 +v 4.395945 18.514214 25.392605 +v 3.155586 13.768885 21.042154 +v 4.599960 16.955435 21.479230 +v 5.109767 16.846947 20.535549 +v 5.449623 19.235045 20.681860 +v 4.854852 19.423314 21.654614 +v 5.194737 21.550799 20.530454 +v 4.345104 23.329261 20.364360 +v 6.214322 22.306153 19.449268 +v 4.600020 24.382329 19.210591 +v 4.769983 25.791260 17.824914 +v 1.966151 26.218990 18.884761 +v 1.966121 24.810114 20.270615 +v 7.148955 19.475048 19.774624 +v 6.978968 16.629546 19.642691 +v 6.469244 13.878755 19.002600 +v 4.090218 14.205003 19.844747 +v 1.456308 12.367925 21.164909 +v 3.325592 11.476329 18.398892 +v 1.358265 15.394437 27.010305 +v 2.401280 20.536387 32.006364 +v 1.102709 19.846484 32.659220 +v -1.104411 19.846484 32.659220 +v -0.000863 19.743270 32.759620 +v -0.000725 15.088567 27.533396 +v -0.000000 12.091965 21.426065 +v 1.170991 24.839607 34.839327 +v -0.000923 24.781527 34.998945 +v 1.034294 29.347280 35.124522 +v -0.000929 29.100390 35.305839 +v -0.000911 33.412419 34.886858 +v -1.036140 29.347280 35.124462 +v -1.172819 24.839607 34.839213 +v -1.359680 15.394437 27.010185 +v 1.145229 33.335938 34.699851 +v 7.064081 10.047618 15.618072 +v 7.573864 11.020850 14.435410 +v 6.809219 8.103007 14.005646 +v 7.234069 4.452300 12.857029 +v 5.534749 7.659937 14.477308 +v 5.959610 3.943703 13.756898 +v 6.514259 0.301902 11.856765 +v 5.344885 -4.176525 10.255966 +v 3.253484 -11.239749 8.246742 +v 2.749551 -11.279908 8.766775 +v 2.727883 37.604867 41.748596 +v 3.116164 38.701759 39.977915 +v 1.810081 41.184628 26.456048 +v 4.281059 37.650840 31.513183 +v 3.194036 36.460685 30.808535 +v 4.451736 -4.231501 10.680576 +v 5.313896 0.228069 12.427625 +v 2.635787 0.741251 8.453652 +v 2.450029 -3.849928 7.725571 +v 0.631772 -11.000651 7.248993 +v 2.561120 4.170304 10.403297 +v 2.450994 0.602929 9.525426 +v 2.304425 -3.952736 8.522522 +v 0.739291 -11.075934 7.831602 +v -0.106584 -12.599471 6.948038 +v 0.050960 -12.689379 7.780715 +v 2.931569 -12.932973 9.118259 +v 3.598669 -14.868652 8.232297 +v 3.651955 -12.884962 8.374173 +v 2.878289 -14.880700 8.976382 +v 2.508631 -16.413465 8.234035 +v 4.883892 -27.954647 11.377489 +v 6.501551 -28.208191 10.127935 +v 6.257239 -27.426945 9.711657 +v 4.689347 -27.169505 10.934118 +v 5.039081 -25.035728 8.909611 +v 3.872292 -24.866996 9.878768 +v 3.582078 -21.020097 8.386400 +v 3.148507 -20.980776 8.824736 +v 2.424525 -20.986709 9.053644 +v 2.933289 -16.411965 7.795998 +v 5.170833 -30.033702 8.968891 +v 6.951994 7.540717 -25.826986 +v 8.084666 12.338914 -24.851654 +v 2.720691 7.687389 -27.023612 +v 4.927899 7.699017 -27.117539 +v 5.373938 12.801765 -26.984170 +v 2.303022 12.760106 -27.460328 +v 2.086108 17.660682 -27.634514 +v 5.168292 17.035873 -26.415229 +v 4.771128 20.345539 -25.571641 +v 3.508640 -11.041828 -29.274572 +v 3.564336 -9.540351 -29.083367 +v 6.183453 -29.999536 -24.994486 +v 3.491527 -27.357301 -25.620075 +v 3.652231 -28.205313 -25.287292 +v 2.340022 43.300956 28.080582 +v 4.649409 43.139837 27.675034 +v 5.263656 43.498695 26.276887 +v 3.970556 42.669255 28.573940 +v 5.456918 43.709139 24.959605 +v 1.406385 7.553844 -25.935835 +v 5.736636 -29.091518 -29.246040 +v 5.654556 -28.212747 -29.587695 +v 4.489558 -23.991283 -30.335015 +v 1.872676 -21.040056 8.885095 +v 4.785352 42.772771 27.494494 +v 5.375244 43.197314 26.128719 +v 3.349243 42.457308 34.382953 +v 3.271569 43.153679 35.450415 +v 2.417464 42.558366 35.595293 +v 2.184510 43.153265 36.444748 +v -0.000941 44.627172 35.625195 +v -0.000965 43.603231 36.699064 +v 3.737494 43.822429 33.614171 +v 2.883360 44.221029 34.754101 +v 7.744392 29.127842 -7.725032 +v 6.299915 34.302751 -6.292662 +v 4.515757 37.511781 -7.655861 +v 2.221259 32.596170 10.808545 +v 2.306289 32.125402 8.376510 +v 4.260446 30.993029 8.506758 +v 3.325622 9.096080 16.989541 +v 5.959490 11.440306 17.752927 +v 7.403937 11.869052 16.823989 +v 5.789586 9.328645 16.350889 +v 4.769803 20.576127 24.696649 +v 3.973295 24.094802 28.690760 +v 3.563179 26.972363 30.100294 +v 3.285379 30.299834 30.477912 +v 3.186460 33.334435 30.340591 +v 3.185009 33.328021 32.112698 +v 3.416124 29.973044 32.746130 +v 3.770587 26.059309 32.236655 +v 3.699870 22.439039 30.257874 +v 2.537906 25.152068 34.229743 +v 2.254765 29.634808 34.541425 +v 2.170215 33.271082 33.499986 +v 3.189062 36.534359 29.656744 +v 2.885799 36.546526 28.346410 +v 3.318339 38.706498 29.373712 +v 2.895833 39.916906 28.278738 +v 3.094603 41.870452 28.131288 +v 4.203443 39.751712 30.142611 +v 7.743793 12.348985 15.009387 +v 8.083587 14.511892 15.525825 +v 7.573804 14.024585 17.608953 +v 8.763359 17.567836 15.824921 +v 7.998592 16.993198 18.147508 +v 8.933287 21.044971 15.463666 +v 8.168521 19.947603 18.228725 +v 6.979027 23.236111 17.889109 +v 9.188387 15.198198 7.185638 +v 10.207895 15.502268 8.833607 +v 9.783105 17.882936 9.248446 +v 8.338689 21.505124 9.482330 +v 9.103334 18.007190 7.665991 +v 7.319063 24.655172 10.267774 +v 7.489050 24.524984 9.135341 +v 6.724405 26.840678 8.983935 +v 6.639471 26.849490 5.731973 +v 5.619863 29.185442 8.752809 +v 6.979386 27.917726 3.046670 +v 8.508735 25.130012 3.749518 +v 9.358436 26.096833 0.846414 +v 11.482563 22.518038 0.989987 +v 11.567556 22.657457 -2.124037 +v 11.992286 18.337096 0.552502 +v 12.247268 18.556293 -2.532428 +v 11.822478 15.150606 0.115479 +v 12.077460 15.587682 -3.070987 +v 10.972838 12.181934 -0.423093 +v 10.972958 12.379494 -3.696753 +v 9.273561 9.300534 -1.201189 +v 9.018759 9.737550 -4.387679 +v 9.358556 26.366798 -2.129624 +v 7.319363 29.036854 0.470271 +v 9.103514 9.073964 2.152323 +v 10.717858 12.144113 2.908732 +v 11.227641 15.062074 3.338394 +v 11.397569 18.190363 3.935084 +v 10.462876 22.030313 4.067520 +v 7.913959 24.577131 6.260894 +v 10.462696 13.127534 11.133535 +v 10.037907 11.385400 10.951260 +v 9.358196 10.659058 11.952667 +v 9.698051 12.168567 12.773592 +v 9.867920 12.836289 12.926379 +v 7.743793 24.493156 15.182074 +v 5.024954 27.375042 14.965572 +v 3.580627 30.475694 12.658630 +v 3.920531 30.926555 10.923928 +v 5.619797 28.342335 11.067962 +v 6.384489 26.781638 11.132577 +v 3.580568 29.037274 15.118718 +v 1.966307 32.188644 12.920686 +v -1.725891 38.890804 26.904991 +v -1.811466 41.184628 26.455928 +v -2.897320 39.916906 28.278561 +v -2.887286 36.546526 28.346290 +v -1.797968 33.074660 27.620426 +v -3.614007 -13.726269 -30.959043 +v -3.612017 -13.723092 -29.889847 +v -4.130983 -18.267267 -29.394331 +v -4.342473 -18.354598 -30.102929 +v -5.450936 -23.522320 -28.840732 +v -5.800903 -23.599763 -29.536325 +v -7.221361 -27.362509 -27.162552 +v -7.574104 -27.501625 -28.190925 +v -6.470023 -29.487714 9.983003 +v -6.514918 0.301902 11.856464 +v -7.530468 0.465542 10.589108 +v -6.090727 -4.054861 9.313361 +v -3.217119 -4.223170 10.616321 +v -3.652554 0.239200 12.341372 +v -4.261028 3.544550 13.611245 +v -5.314544 0.228069 12.427384 +v -4.452282 -4.231501 10.680276 +v -5.345424 -4.176525 10.255667 +v -7.234728 4.452300 12.856729 +v -3.533035 -11.150739 7.405854 +v -3.972228 41.658562 35.086521 +v -4.205134 41.550070 34.142836 +v -3.584026 39.211783 36.094459 +v -4.127489 39.757231 33.851650 +v -4.049802 40.200775 32.385537 +v -4.049759 40.803888 30.977624 +v -4.282737 42.378430 32.364799 +v -3.972150 43.539992 32.154775 +v -3.739250 43.822429 33.614051 +v -4.127495 43.001919 34.128988 +v -3.273427 43.153679 35.450234 +v -2.885188 44.221029 34.753918 +v -2.186422 43.153265 36.444748 +v -4.205104 41.681156 33.286304 +v -2.419340 42.558366 35.595113 +v -3.351054 42.457308 34.382893 +v -3.739298 41.622124 35.434949 +v -5.705210 7.700156 6.172784 +v -3.921100 30.926555 10.923808 +v -5.620318 29.185442 8.752450 +v -5.620384 28.342335 11.067722 +v -3.581293 30.475694 12.658390 +v -3.581353 29.037274 15.118598 +v -1.966984 32.188644 12.920626 +v -7.829385 8.039772 9.461231 +v -8.169240 4.896659 9.401651 +v -7.437802 0.678464 8.938262 +v -6.015743 -3.896573 8.085864 +v -6.979147 13.777756 -13.496162 +v -10.208375 13.063400 8.577846 +v -10.208375 15.502268 8.833068 +v -9.783584 17.882936 9.247967 +v -5.025739 27.375042 14.965333 +v -8.509096 10.072972 7.850603 +v -7.404536 8.744477 8.271077 +v -3.104595 10.825748 -18.549640 +v 1.019962 44.070157 31.443830 +v 1.097686 43.824713 28.641792 +v -2.496877 44.258962 31.422071 +v -2.807495 44.236372 33.222288 +v -1.409885 44.316088 33.251427 +v -0.000869 44.374351 33.091743 +v -1.021617 44.070157 31.443830 +v -0.000827 44.338744 31.451084 +v -0.000749 44.151374 28.489425 +v -1.099190 43.824713 28.641732 +v -1.508221 -21.180853 8.033418 +v -1.442366 -21.254699 7.539279 +v -5.157263 -30.106282 8.970988 +v -2.230657 -7.315046 -28.563391 +v -1.364973 -9.441391 -29.160688 +v -1.325898 -11.039851 -29.319408 +v -4.018040 -18.468482 -30.778567 +v -3.008747 -13.718596 -32.206984 +v -5.261582 -23.823335 -30.060617 +v -6.878628 -27.872773 -29.044345 +v -5.652998 -28.212747 -29.588115 +v 3.737440 41.622124 35.435129 +v 3.970388 41.658562 35.086761 +v 4.203342 41.550070 34.143076 +v 4.203366 41.681156 33.286544 +v 4.125709 39.757231 33.851830 +v 4.048099 40.200775 32.385837 +v 4.048141 40.803888 30.977801 +v 2.495223 44.258962 31.422251 +v 2.805750 44.236372 33.222468 +v 1.408141 44.316088 33.251427 +v -3.543111 6.777151 -19.603013 +v -3.371943 -0.161830 -24.000098 +v -2.759345 -0.052225 -24.893491 +v -0.459243 -11.003527 -30.961742 +v 8.848592 21.332020 6.978008 +v 10.038087 17.935144 6.373940 +v 10.207954 15.184350 5.733849 +v 10.123021 12.324529 5.144538 +v 8.338809 9.406686 4.714875 +v 6.384729 6.932694 1.824611 +v 6.129747 7.345255 4.416240 +v 5.960203 32.286100 -9.197138 +v 3.836136 34.319417 -10.807827 +v 1.881991 34.857016 -11.787534 +v 1.918428 0.368345 -28.322554 +v -9.868040 13.703072 -8.821500 +v -11.652371 16.039024 -5.800801 +v -12.247208 18.556293 -2.533081 +v -0.000000 11.934686 -14.890529 +v -4.769774 20.345539 -25.571881 +v -6.129987 7.345255 4.415910 +v -3.156179 5.865757 1.526245 +v -0.001073 42.846374 40.763608 +v 3.877962 41.495703 26.071596 +v 3.975951 42.459766 26.520305 +v 4.630505 42.149222 24.960923 +v 4.710931 42.940417 25.329129 +v 5.259334 43.288066 24.548901 +v 4.043874 41.919535 28.852301 +v -4.712262 42.940417 25.328829 +v -5.493055 43.615158 24.913032 +v -5.376617 43.197314 26.128481 +v -3.977342 42.459766 26.520065 +v -4.786790 42.772771 27.494254 +v -2.499353 41.410537 27.128385 +v -2.186572 41.756807 42.265685 +v -1.798376 40.715835 43.616356 +v -2.264211 40.849504 42.025808 +v 1.796098 40.715835 43.616536 +v -0.001115 41.887352 42.403787 +v -0.001157 40.512339 44.175357 +v -0.001151 39.873688 43.942731 +v -0.002338 -14.819442 7.638838 +v -0.001157 35.411453 44.295349 +v -0.001169 36.485862 44.324899 +v -1.487794 36.137854 43.293873 +v -2.730083 37.604867 41.748416 +v -3.118261 38.701759 39.977741 +v -2.962887 39.138832 36.791253 +v -3.428735 40.743407 36.109684 +v -3.506380 41.498341 36.022949 +v -3.972228 41.658562 35.086521 +v -4.205134 41.550070 34.142836 +v -4.205104 41.681156 33.286304 +v -4.282737 42.378430 32.364799 +v -3.972060 42.669255 28.573700 +v -4.650860 43.139837 27.674793 +v -5.265040 43.498695 26.276650 +v -5.493055 43.615158 24.913032 +v -5.285731 43.534950 24.663566 +v -5.260610 43.288066 24.548544 +v -4.230782 42.824140 24.991070 +v -3.390697 42.318012 26.108463 +v -2.549348 42.252855 26.602539 +v -1.637391 42.678905 26.325561 +v -0.000689 42.678905 26.325561 +v 1.636012 42.678905 26.325681 +v 2.547952 42.252855 26.602719 +v 3.389325 42.318012 26.108643 +v 4.229470 42.824140 24.991190 +v 5.259334 43.288066 24.548901 +v 4.710931 42.940417 25.329129 +v 3.975951 42.459766 26.520305 +v 2.497932 41.410537 27.128566 +v 2.895833 39.916906 28.278738 +v 2.885799 36.546526 28.346410 +v 1.796511 33.074660 27.620486 +v -0.000719 30.497816 27.495872 +v -0.000707 28.356542 27.168125 +v -0.000689 26.578505 26.339828 +v -0.000623 24.445565 23.754705 +v -0.000000 24.765881 21.882082 +v -0.000000 25.427129 20.314371 +v -0.000000 27.126288 19.124697 +v -0.000000 28.615000 17.768032 +v -0.000000 30.931651 15.627721 +v -0.000000 32.994401 12.942742 +v -0.000000 33.198854 10.395084 +v -0.000000 32.619240 8.013758 +v -0.000000 32.496964 5.618292 +v -0.000000 35.466957 3.173412 +v -0.000000 39.054506 -0.222111 +v -0.000000 40.516057 -5.476889 +v -0.000000 39.378049 -9.056102 +v -0.000000 34.414421 -12.310383 +v -0.000000 31.874438 -13.777876 +v -0.000000 30.554693 -16.609526 +v -1.711272 29.212714 -18.635353 +v -1.711200 27.725860 -21.256562 +v -1.371266 25.621933 -23.921576 +v -1.116351 24.627959 -24.916507 +v -1.136053 22.953856 -26.267778 +v -1.450866 22.282477 -26.340429 +v -1.447036 21.713474 -26.448137 +v -1.186941 21.297855 -26.446517 +v -1.186941 21.297855 -26.446517 +v -1.186941 21.297855 -26.446517 +v -0.311049 17.602841 -25.686006 +v -0.350531 21.193202 -26.331614 +v -0.584887 19.543133 -28.111447 +v -0.571047 12.622307 -25.381699 +v 0.000695 21.156399 -26.136213 +v -0.453159 16.219083 -29.535665 +v -1.214555 7.416164 -24.811794 +v 0.351915 21.193202 -26.331614 +v -0.453159 12.895929 -29.578586 +v 1.188344 21.297855 -26.446457 +v -2.070134 0.111925 -26.231517 +v 1.188344 21.297855 -26.446457 +v -0.582106 9.582428 -29.265641 +v 2.086108 17.660682 -27.634514 +v -2.230657 -7.315046 -28.563391 +v 0.312397 17.602841 -25.685886 +v -0.508573 6.574917 -29.719500 +v -2.430249 -9.543768 -28.705445 +v 0.000617 16.388410 -23.395910 +v 2.303022 12.760106 -27.460328 +v -2.375710 -11.045425 -28.886105 +v -0.000000 15.283550 -20.362202 +v 2.720691 7.687389 -27.023612 +v -2.670929 -13.728847 -29.094936 +v -0.000000 15.152043 -18.511218 +v -0.000000 15.152043 -18.511218 +v 2.531031 0.440649 -28.911579 +v -3.001536 -18.233821 -28.690760 +v -2.306103 12.232342 -14.963115 +v 2.306900 12.232342 -14.962935 +v 1.329447 -7.110055 -30.839405 +v -3.006355 -23.520827 -27.823379 +v -2.815988 8.666556 -11.378867 +v 2.816593 8.666556 -11.378688 +v 0.282032 -9.040698 -31.924127 +v -3.490172 -27.357301 -25.620255 +v -3.155922 6.835831 -8.338270 +v 3.156359 6.835831 -8.338090 +v 0.205292 -11.002748 -31.934436 +v -3.650894 -28.205313 -25.287532 +v -3.071041 6.079458 -5.268073 +v 3.071317 6.079458 -5.267899 +v 1.103907 -13.703012 -31.590083 +v -4.052367 -29.236271 -25.024579 +v -2.901198 5.562609 -2.110629 +v 2.901306 5.562609 -2.110479 +v 2.007623 -18.428023 -29.660940 +v -4.404588 -30.037838 -24.619568 +v -3.156179 5.865757 1.526245 +v 3.156107 5.865757 1.526413 +v 3.007824 -23.520827 -27.823199 +v -4.362427 -30.894070 -23.185166 +v 3.750777 6.227508 4.009157 +v -4.665551 -31.221517 -22.088573 +v -4.665551 -31.221517 -22.088573 +v -4.665551 -31.221517 -22.088573 +v 3.491527 -27.357301 -25.620075 +v -3.750992 6.227508 4.008959 +v 4.005633 5.885633 5.693067 +v -4.976529 -31.225652 -21.209863 +v -6.057341 -31.221517 -22.588526 +v -3.730152 -32.224124 -22.353145 +v 3.652231 -28.205313 -25.287292 +v -4.005932 5.885633 5.692892 +v 3.835663 5.035575 7.282379 +v -5.108664 -31.397557 -21.013324 +v -6.727402 -32.181504 -23.677204 +v -3.573770 -32.181384 -23.027162 +v 4.053685 -29.236271 -25.024399 +v -3.836046 5.035575 7.282140 +v 4.005584 4.244142 7.717598 +v -5.290664 -31.537337 -20.426458 +v -6.972614 -32.224848 -23.525017 +v -3.582702 -32.115579 -24.816947 +v 4.405889 -30.037838 -24.619328 +v -4.005974 4.244142 7.717359 +v 3.836604 0.927920 6.632398 +v -5.637221 -32.078291 -20.020308 +v -8.000931 -32.890885 -22.355065 +v 4.363644 -30.894070 -23.184927 +v -2.825051 -32.000791 -25.572001 +v 4.363644 -30.894070 -23.184927 +v 3.359205 -3.711097 6.275520 +v 4.666714 -31.221517 -22.088273 +v -8.216053 -32.891546 -22.202758 +v 4.666714 -31.221517 -22.088273 +v 3.584002 -32.115579 -24.816767 +v -2.995782 -31.998938 -26.954803 +v -2.636230 0.741251 8.453473 +v 0.631772 -11.000651 7.248993 +v 4.977637 -31.225652 -21.209569 +v -8.384183 -32.891731 -21.887116 +v 6.058540 -31.221517 -22.588172 +v 3.021795 -32.707114 -25.651840 +v -3.365643 -32.263741 -28.224911 +v -2.304874 -3.952736 8.522462 +v 0.739291 -11.075934 7.831602 +v 5.109773 -31.397557 -21.013084 +v -8.882818 -32.892923 -21.427322 +v 6.568443 -32.224124 -23.371873 +v 3.145594 -32.718746 -27.015281 +v -3.808792 -32.629190 -29.227222 +v -0.739704 -11.075934 7.831602 +v 0.050960 -12.689379 7.780715 +v 5.291749 -31.537337 -20.426158 +v 6.728600 -32.181504 -23.676904 +v 3.500422 -32.716168 -28.162038 +v -4.335526 -32.629190 -29.442702 +v -0.051356 -12.689379 7.780715 +v -0.002338 -14.819442 7.638838 +v 5.638288 -32.078291 -20.020010 +v 6.973812 -32.224848 -23.524598 +v 3.810332 -32.629190 -29.226862 +v -0.002338 -14.819442 7.638838 +v 0.814604 -16.405972 7.446613 +v 7.831662 -32.301148 -22.273787 +v 4.337084 -32.629190 -29.442462 +v -1.223864 -16.411188 8.293135 +v 1.507802 -21.180853 8.033478 +v 8.064346 -32.362821 -22.129751 +v -1.873144 -21.040056 8.884976 +v 2.371784 -25.053529 9.954292 +v 8.283066 -32.376851 -21.718869 +v -2.372306 -25.053529 9.954112 +v 2.636950 -27.428923 11.075035 +v 8.835106 -32.508594 -21.407303 +v -2.637537 -27.428923 11.074975 +v 2.760209 -28.205313 11.535129 +v -2.760814 -28.205313 11.535009 +v 3.152637 -29.236271 11.811390 +v -3.153254 -29.236271 11.811210 +v 3.491059 -30.037838 12.228087 +v 3.400785 -30.894070 13.660216 +v -3.491701 -30.037838 12.227847 +v 3.400785 -30.894070 13.660216 +v 3.666951 -31.221517 14.766335 +v 3.666951 -31.221517 14.766335 +v 2.676246 -32.115579 12.003136 +v -3.401505 -30.894070 13.659916 +v 3.948253 -31.225652 15.655112 +v -3.667719 -31.221517 14.766155 +v 5.074709 -31.221517 14.313432 +v 2.142337 -32.707114 11.149659 +v -3.667719 -31.221517 14.766155 +v 4.073735 -31.397557 15.855910 +v -5.075458 -31.221517 14.313193 +v 5.610638 -32.224124 13.547290 +v 2.311749 -32.718746 9.791197 +v -2.741717 -32.224124 14.470415 +v 4.235943 -31.537337 16.448529 +v -5.781597 -32.181504 13.247534 +v 5.780908 -32.181504 13.247774 +v 2.704807 -32.716168 8.657026 +v -2.607993 -32.181384 13.791602 +v 4.568666 -32.078291 16.866066 +v -6.021617 -32.224848 13.407872 +v 6.020897 -32.224848 13.408112 +v 3.050225 -32.629190 7.603054 +v -2.676881 -32.115579 12.003076 +v -7.010195 -32.890885 14.611572 +v 6.836311 -32.301148 14.687095 +v -1.944963 -32.000791 11.223085 +v -7.220042 -32.891546 14.771069 +v 7.064081 -32.362821 14.838743 +v -2.161925 -31.998938 9.846760 +v -7.377503 -32.891731 15.092164 +v 7.268953 -32.376851 15.256818 +v -2.574145 -32.263741 8.589714 +v -7.860374 -32.892923 15.568441 +v 3.583900 -32.629190 7.405314 +v -3.050614 -32.629190 7.602935 +v 7.810204 -32.508594 15.586663 +v -3.667719 -31.221517 14.766155 +v -3.584278 -32.629190 7.405135 +v -3.949080 -31.225652 15.654813 +v -4.074563 -31.397557 15.855670 +v -4.236800 -31.537337 16.448289 +v -4.569559 -32.078291 16.865886 +vt 68.389594 -2.440819 +vt 67.077219 -3.316802 +vt 66.282220 -2.954215 +vt 72.874296 -5.220088 +vt 72.051201 -5.204623 +vt -40.614170 -72.376390 +vt -41.050046 -72.682053 +vt -40.914171 -72.157113 +vt -48.980970 -67.475753 +vt -49.028970 -66.687917 +vt -48.641362 -66.644351 +vt -43.528368 -65.954528 +vt -43.189809 -68.223301 +vt -50.737640 -70.875409 +vt -50.821731 -70.545885 +vt -50.270818 -70.302961 +vt -47.352273 -69.926771 +vt -48.079738 -69.534700 +vt -44.624632 -62.839142 +vt -41.027997 -67.034253 +vt -47.218480 -69.293038 +vt -38.539560 -71.017283 +vt -40.445833 -71.119019 +vt -23.199813 6.777364 +vt -29.905395 10.175733 +vt -29.592542 10.902222 +vt -29.116233 10.482993 +vt -34.236962 79.893272 +vt -34.762202 80.040341 +vt -34.370575 80.509924 +vt -37.311943 80.770471 +vt -37.868059 80.982034 +vt -37.797428 81.314566 +vt -35.055098 80.116573 +vt -27.758186 -16.195689 +vt -34.338553 -10.942596 +vt -31.408660 -3.320985 +vt -31.083945 -3.304283 +vt -30.793749 -3.693662 +vt -33.208125 -3.304551 +vt -31.881717 -2.589012 +vt -32.847608 -3.453283 +vt -36.724813 -6.175008 +vt -36.641848 -5.845354 +vt -36.041709 -5.894344 +vt -41.958874 -73.352976 +vt -41.748190 -72.834809 +vt -41.529916 -72.334484 +vt -40.390758 -67.851143 +vt -42.435218 -68.979770 +vt -41.769136 -70.091534 +vt -41.513408 -71.249927 +vt -41.357543 -72.217305 +vt -41.947932 -71.432089 +vt -42.364190 -70.458369 +vt -42.982699 -69.346724 +vt -38.374961 -75.576270 +vt -37.679841 -72.527472 +vt -39.124373 -74.514449 +vt -39.454512 -72.809497 +vt -43.927815 -69.031386 +vt -46.367079 -73.927338 +vt -41.991672 -61.210586 +vt -48.053656 -73.755141 +vt -48.695664 -73.662556 +vt -42.952845 -60.597469 +vt -51.184355 -68.188613 +vt -50.081149 -73.291590 +vt -50.324176 -73.184250 +vt -51.377479 -68.502798 +vt -51.840681 -69.113718 +vt -50.724046 -72.975461 +vt -45.609570 -65.251079 +vt -45.879117 -65.195036 +vt -45.545269 -64.152839 +vt -45.855254 -64.133162 +vt -46.459177 -65.093200 +vt -46.529654 -64.136273 +vt -46.724722 -65.867609 +vt -46.376704 -66.076189 +vt -46.983179 -66.230217 +vt -46.766822 -66.469305 +vt -46.552270 -66.559951 +vt -46.156379 -66.183245 +vt -45.475610 -67.408512 +vt -45.028213 -66.883999 +vt -45.030714 -67.794565 +vt -44.512604 -67.237293 +vt -47.444571 -65.835197 +vt -47.168627 -65.663706 +vt -47.278690 -64.359209 +vt -48.213729 -65.423490 +vt -47.173833 -65.060994 +vt -44.534661 -64.086850 +vt -43.255129 -63.421398 +vt -46.202477 -73.144477 +vt -47.928409 -73.046221 +vt -48.551442 -72.998663 +vt -49.920418 -72.724238 +vt -50.120821 -72.607569 +vt -50.455983 -72.544719 +vt -47.834790 -70.413985 +vt -44.382889 -62.307504 +vt -49.314708 -68.638509 +vt -51.558979 -71.419003 +vt -51.136567 -72.619274 +vt -52.039060 -70.052753 +vt -50.886743 -69.616475 +vt -50.421947 -69.200975 +vt -49.860555 -70.174374 +vt -50.195803 -69.024881 +vt -49.615976 -70.081378 +vt -44.753711 -65.577414 +vt -51.017573 -72.268628 +vt -51.297540 -70.249138 +vt -48.442914 -67.367960 +vt -48.222322 -67.698607 +vt -48.141201 -67.968617 +vt -45.724313 -70.711722 +vt -44.378954 -71.485182 +vt -43.314700 -72.067878 +vt -42.505011 -72.475677 +vt -40.385198 -74.072845 +vt -39.744223 -74.926908 +vt -38.935085 -76.017969 +vt -49.493881 -70.620731 +vt -49.740752 -70.718464 +vt -50.091768 -70.727986 +vt -45.978269 -62.994581 +vt -46.328904 -63.075978 +vt -40.774555 -73.169471 +vt -40.523398 -72.768028 +vt -40.023679 -73.752543 +vt -39.659036 -71.751934 +vt -20.089128 8.587881 +vt -31.217203 14.592555 +vt -30.976204 15.617266 +vt -25.740241 16.525999 +vt -25.610480 16.874977 +vt -24.757167 15.930449 +vt -24.451935 16.879499 +vt -23.111377 16.891558 +vt -25.743755 17.251385 +vt -24.837308 17.857922 +vt -23.188639 18.574607 +vt -25.458144 19.422462 +vt -26.379527 17.537426 +vt -26.512067 16.897315 +vt -28.305395 16.424275 +vt -27.220369 15.828869 +vt -29.358492 15.953956 +vt -27.630237 15.004700 +vt -30.399678 15.182155 +vt -28.147824 13.896246 +vt -30.624493 14.094144 +vt -28.785091 12.492228 +vt -31.990535 13.003336 +vt -30.266266 10.953671 +vt -32.456804 12.592575 +vt -33.332638 11.484334 +vt -31.696920 10.092330 +vt -31.947383 10.013087 +vt -33.415734 11.256739 +vt -33.634554 10.996059 +vt -32.235665 9.800942 +vt -32.818559 9.509881 +vt -33.892259 10.402726 +vt -33.779951 9.400537 +vt -26.348205 16.313057 +vt -26.145051 15.320759 +vt -25.896824 14.291307 +vt -25.816681 13.042083 +vt -26.364362 12.190179 +vt -26.489353 10.542236 +vt -26.621402 9.965706 +vt -24.377573 5.548603 +vt -27.017571 8.634810 +vt -27.141305 8.430852 +vt -24.756608 5.473499 +vt -25.224170 5.416663 +vt -27.164682 8.093609 +vt -26.201158 5.595169 +vt -27.250608 7.486655 +vt -27.476768 6.635396 +vt -25.431348 8.210633 +vt -24.720123 7.375978 +vt -25.615122 7.999907 +vt -24.953827 7.190112 +vt -26.015348 7.585601 +vt -25.475538 6.822950 +vt -26.733693 7.989661 +vt -26.580869 8.365512 +vt -26.475303 8.574886 +vt -25.946170 9.818945 +vt -25.736958 10.402771 +vt -25.329588 12.009781 +vt -25.260969 5.935086 +vt -26.009506 5.923737 +vt -26.934401 7.554750 +vt -26.528284 7.110477 +vt -26.166209 6.519397 +vt -24.761921 6.043761 +vt -24.498648 6.158437 +vt -23.876160 7.885946 +vt -22.837556 11.268709 +vt -24.214799 9.979182 +vt -24.968957 8.947713 +vt -30.172921 10.155303 +vt -21.749612 6.776685 +vt -22.472518 8.121285 +vt -33.277184 8.053992 +vt -34.200565 10.584074 +vt -32.538856 7.424818 +vt -34.113740 11.114653 +vt -32.105225 9.360975 +vt -31.701644 9.510426 +vt -32.100363 8.439102 +vt -31.497134 8.402081 +vt -31.463700 9.597865 +vt -31.208486 8.405582 +vt -34.976833 12.317552 +vt -34.982629 11.947724 +vt -33.937853 11.546845 +vt -33.831160 11.786197 +vt -25.174326 24.246727 +vt -25.267389 23.558335 +vt -32.677733 9.200670 +vt -32.832120 8.640695 +vt -20.146426 7.115748 +vt -20.566489 6.057646 +vt -21.567290 9.625987 +vt -25.185974 13.047808 +vt -25.164536 14.315546 +vt -25.683053 15.421529 +vt -26.138069 16.319216 +vt -26.159033 16.902575 +vt -22.856559 12.293143 +vt -26.160595 17.504597 +vt -28.469388 16.879514 +vt -28.126627 77.560270 +vt -30.258784 78.815406 +vt -31.572306 77.797908 +vt -30.623971 76.532077 +vt -32.095651 77.462678 +vt -31.853255 76.176286 +vt -32.669371 75.874989 +vt -33.275653 76.798054 +vt -32.942756 75.820591 +vt -33.486626 76.695508 +vt -33.509879 75.737701 +vt -33.837159 76.487409 +vt -27.957814 82.714471 +vt -28.399172 82.788799 +vt -28.080151 83.258879 +vt -28.570190 82.910425 +vt -28.997630 82.002162 +vt -28.565432 81.812439 +vt -29.418989 81.028630 +vt -28.827557 80.653088 +vt -29.498666 79.552907 +vt -30.042050 79.923392 +vt -27.502233 81.656084 +vt -26.578079 79.987912 +vt -24.806293 86.850124 +vt -32.687335 85.120071 +vt -33.306797 83.682128 +vt -32.481499 84.427789 +vt -32.627498 74.779437 +vt -31.650357 74.665136 +vt -30.405507 73.986132 +vt -22.691098 87.331735 +vt -30.676169 72.478408 +vt -36.968352 85.235683 +vt -37.158666 79.469424 +vt -37.859335 84.857840 +vt -33.200107 73.681837 +vt -33.477164 73.751592 +vt -32.926172 74.774272 +vt -33.565022 74.800829 +vt -33.936129 73.970178 +vt -34.527616 74.419961 +vt -34.282948 74.985548 +vt -35.254004 75.866382 +vt -38.635605 81.798555 +vt -38.325279 80.623418 +vt -38.930468 83.101597 +vt -37.856405 80.026369 +vt -38.270777 83.001162 +vt -37.885923 83.376505 +vt -38.130228 82.671844 +vt -37.569729 82.995248 +vt -37.489309 83.620325 +vt -37.237884 83.073548 +vt -37.040064 83.208519 +vt -37.254849 83.748100 +vt -23.356085 88.876061 +vt -35.673124 83.574445 +vt -23.800158 88.342772 +vt -35.052957 83.625082 +vt -37.155344 81.201729 +vt -36.796989 81.200584 +vt -36.898163 80.650632 +vt -36.548329 81.115280 +vt -36.654525 80.579435 +vt -34.883509 80.954309 +vt -35.282518 80.259583 +vt -37.392974 79.638125 +vt -38.086063 84.565033 +vt -38.812028 79.470818 +vt -35.814517 77.174961 +vt -34.217784 75.666145 +vt -34.263362 76.264846 +vt -34.555131 76.402511 +vt -34.115216 76.829642 +vt -33.889874 77.080595 +vt -33.671764 77.173996 +vt -32.543218 77.989068 +vt -32.087289 78.367866 +vt -30.986186 79.607906 +vt -35.588276 77.977461 +vt -35.327014 78.315637 +vt -35.215777 78.641324 +vt -23.440880 85.091295 +vt -27.549160 83.302935 +vt -27.753335 83.745292 +vt -26.471646 83.291585 +vt -29.922027 84.642499 +vt -31.220628 85.174089 +vt -27.652512 82.919994 +vt -29.003697 83.932497 +vt -28.781600 83.420060 +vt -30.063120 84.179263 +vt -31.187194 84.430313 +vt -26.705645 82.261038 +vt -29.550671 83.053479 +vt -30.365590 82.639274 +vt -31.432583 82.059378 +vt -32.774106 81.287507 +vt -26.512475 -6.426490 +vt -28.853841 -7.464765 +vt -28.553263 -8.485692 +vt -28.676756 -12.013405 +vt -29.037475 -12.426543 +vt -29.102004 -11.863171 +vt -29.310458 -11.887075 +vt -33.486922 -11.392138 +vt -32.334753 -11.982113 +vt -28.015241 -14.921167 +vt -28.534633 -13.852121 +vt -31.226780 -12.286605 +vt -28.988401 -12.997928 +vt -29.202586 -13.035478 +vt -28.591215 -12.738907 +vt -27.626745 -13.235000 +vt -25.878974 -13.715617 +vt -27.470263 -2.071204 +vt -28.735835 -1.547681 +vt -32.876279 -6.464436 +vt -33.048788 -4.855662 +vt -29.082050 -1.449180 +vt -32.989512 -4.579873 +vt -29.643198 -1.342585 +vt -33.023196 -4.183425 +vt -30.546984 -2.097094 +vt -29.772357 -2.282448 +vt -30.190556 -3.135717 +vt -29.730395 -3.510142 +vt -30.590503 -4.044301 +vt -29.522151 -3.691408 +vt -30.450237 -4.244669 +vt -28.932791 -4.392450 +vt -29.805640 -5.404108 +vt -28.049587 -5.316119 +vt -29.527549 -5.962863 +vt -31.195614 -3.888459 +vt -31.122445 -4.202216 +vt -30.978705 -4.385038 +vt -30.449244 -5.648393 +vt -30.247680 -6.202127 +vt -33.294296 -6.956931 +vt -29.881439 -7.821628 +vt -32.254355 -8.440629 +vt -29.204124 -8.551362 +vt -31.432501 -9.767966 +vt -29.179593 -9.824681 +vt -30.769556 -10.793448 +vt -29.264468 -10.884088 +vt -30.244877 -11.543019 +vt -29.388734 -12.459446 +vt -33.817334 -10.331833 +vt -35.305218 -9.432263 +vt -35.825562 -9.089710 +vt -33.952499 -7.155645 +vt -36.891718 -8.190694 +vt -35.509959 -6.544683 +vt -37.011382 -7.991999 +vt -35.773592 -6.512804 +vt -37.275061 -7.776226 +vt -36.086527 -6.353669 +vt -37.635965 -7.264995 +vt -37.705791 -6.260579 +vt -27.167056 -2.034128 +vt -26.563383 -3.253182 +vt -28.007440 -3.204253 +vt -25.472926 -4.635400 +vt -25.419086 -16.892187 +vt -36.638498 -11.226109 +vt -25.988758 -1.812536 +vt -37.494303 -10.183297 +vt -35.368423 -4.805832 +vt -38.240462 -9.469632 +vt -28.921991 -2.769789 +vt -36.257392 -4.997255 +vt -36.919235 -5.358076 +vt -38.550388 -7.341538 +vt -37.907982 -7.515573 +vt -37.716702 -8.025658 +vt -37.466236 -8.400636 +vt -37.304840 -8.611619 +vt -36.269293 -9.604111 +vt -35.749192 -9.994003 +vt -35.619733 -5.976924 +vt -35.360244 -6.011765 +vt -26.995215 -1.729737 +vt -35.651147 -4.853053 +vt -38.346526 -9.103270 +vt -36.858182 -4.101353 +vt -30.792333 -2.776991 +vt -29.183099 -2.603746 +vt -26.025609 -12.025694 +vt -27.359528 -12.200051 +vt -28.503666 -12.345261 +vt -27.788510 -11.293006 +vt -26.204429 -10.266179 +vt -28.795375 -10.924199 +vt -28.484195 -9.776072 +vt -22.508560 -63.463198 +vt -27.526617 -64.728729 +vt -23.032344 -62.506421 +vt 59.121486 15.189595 +vt 57.944704 14.481403 +vt 58.419024 16.601915 +vt 63.063864 -11.441215 +vt 63.640088 -12.746955 +vt 62.614184 -13.952431 +vt 1.775531 -37.808640 +vt 4.410646 -38.129367 +vt 4.542141 -40.737993 +vt -14.059110 76.112318 +vt -19.985529 77.250045 +vt -19.458235 78.146245 +vt -22.638644 13.493614 +vt -22.813944 13.311815 +vt -23.003535 15.138197 +vt 3.933616 68.676044 +vt -3.540692 71.594442 +vt -2.892132 72.473314 +vt 71.075460 -9.527779 +vt 70.401963 -11.627088 +vt 6.026303 7.174539 +vt 12.276942 21.700202 +vt 9.453964 4.525155 +vt 45.773015 38.545766 +vt 43.341661 42.803046 +vt 45.827724 43.636592 +vt -6.517183 37.974123 +vt 21.631903 67.301314 +vt -5.755392 37.597177 +vt 25.606520 44.254078 +vt 22.687497 43.409563 +vt 22.539997 44.634650 +vt 24.651135 61.098758 +vt 25.265714 64.077266 +vt -5.383505 37.438022 +vt 14.944026 21.139520 +vt 13.314437 19.182133 +vt 11.962742 21.207282 +vt 51.662701 7.968833 +vt 48.683051 7.630854 +vt 48.467367 9.109486 +vt 19.135310 14.390640 +vt 14.855652 15.824536 +vt 17.965117 16.575543 +vt 21.761549 13.474385 +vt 18.679742 12.253770 +vt 71.224077 -5.833721 +vt -9.234083 -31.916332 +vt 1.635732 42.081018 +vt -9.503505 -33.053730 +vt -3.549538 39.425211 +vt -11.302775 -30.399042 +vt -4.757356 36.351011 +vt -5.195129 37.079710 +vt 40.974130 -8.128725 +vt 38.168078 -10.617774 +vt 36.368412 -9.137867 +vt 39.551150 -12.387362 +vt 38.875661 -13.401205 +vt 36.815115 -12.073699 +vt 69.642557 -4.158033 +vt 66.797227 -6.191754 +vt 59.588005 -12.967188 +vt 58.439451 -14.396990 +vt 57.962717 -13.230390 +vt -36.661426 -73.672290 +vt -36.774768 -73.874126 +vt -37.614170 -72.497967 +vt -28.988688 -61.159862 +vt -33.988379 -63.257093 +vt -34.185838 -61.834025 +vt 56.742751 16.998641 +vt 57.717290 17.338381 +vt 52.131652 -19.020310 +vt 52.042372 -19.320686 +vt 51.872459 -19.270798 +vt -28.762600 -61.883238 +vt -24.496620 -59.646695 +vt -28.574421 -62.467805 +vt 2.415436 -10.521412 +vt 1.994069 -12.318918 +vt -5.636786 -12.473969 +vt 67.431431 -4.252240 +vt 69.998353 -3.083721 +vt 41.684154 14.610211 +vt 41.622077 -10.157038 +vt 12.351008 -56.541280 +vt 12.508137 -59.769738 +vt 60.896387 -26.879364 +vt 60.874374 -27.094182 +vt 60.435706 -27.023218 +vt 55.915840 13.369720 +vt 54.116414 10.412731 +vt 53.239201 12.086061 +vt 64.541340 -15.470019 +vt 65.457544 -14.070346 +vt 66.858344 -14.155542 +vt 70.189551 -7.796735 +vt 21.344973 11.611230 +vt 18.114867 10.322751 +vt 14.349654 11.867827 +vt 56.667462 3.894901 +vt 54.457495 2.705115 +vt 55.273166 6.215108 +vt 16.509058 -15.090508 +vt 18.014739 -17.153598 +vt 14.782710 -16.341395 +vt 11.157787 -15.366020 +vt 8.672493 -15.403104 +vt 7.018620 0.318253 +vt 49.401285 -9.845713 +vt 48.841866 -11.079734 +vt 46.271325 -10.657994 +vt 53.647544 -5.841703 +vt 56.849429 -7.166112 +vt 55.472192 -7.801776 +vt -25.411828 -15.154868 +vt -25.537807 -16.143922 +vt -25.597650 -15.293865 +vt -25.806368 -13.716849 +vt -22.109110 -64.534723 +vt -26.833266 -66.596436 +vt -27.082013 -65.754624 +vt 52.307810 -19.393701 +vt 51.992478 -19.576836 +vt 53.010621 -20.679719 +vt 53.396451 -19.369297 +vt 54.872910 -19.014104 +vt 57.817388 18.392141 +vt 56.061493 -19.153456 +vt -40.136284 -67.885322 +vt -40.361412 -67.093549 +vt -41.630252 -66.179787 +vt -40.513827 -66.342259 +vt -38.914692 -66.940206 +vt -38.439599 -68.029920 +vt -34.868820 -73.402788 +vt -40.315098 -62.163510 +vt -36.158048 -74.163006 +vt -41.084504 -62.367601 +vt -36.375374 -74.633033 +vt -37.089536 -70.348126 +vt -36.278717 -69.857976 +vt -36.186202 -71.540893 +vt -35.393057 -71.049362 +vt -35.448753 -72.480173 +vt -34.666194 -72.055065 +vt -32.380014 -67.713326 +vt -31.813458 -68.639001 +vt -31.365800 -69.358675 +vt -33.816886 -64.622819 +vt -38.452287 -63.790837 +vt -38.393288 -65.716163 +vt -39.372867 -63.911652 +vt -39.322717 -65.947181 +vt -40.569119 -64.205984 +vt -38.478439 -70.981453 +vt -39.505916 -69.475343 +vt -39.454176 -69.426992 +vt -18.341598 -62.029818 +vt -19.960574 -62.744790 +vt -18.899886 -60.619817 +vt -20.437976 -61.536459 +vt -20.966569 -60.123074 +vt -23.696092 -61.236978 +vt -27.983287 -63.866849 +vt -28.321287 -63.174840 +vt -33.290589 -66.091912 +vt -33.604970 -65.376285 +vt -37.593839 -67.550784 +vt -38.027611 -66.619229 +vt -24.192257 -60.252926 +vt -19.364322 -59.281954 +vt -17.013027 -59.110002 +vt -17.356713 -57.740906 +vt -15.509024 -5.869665 +vt -19.474946 -5.459456 +vt -20.332771 -14.731883 +vt -22.748867 -15.585973 +vt -21.616158 -4.249941 +vt -22.365199 -3.861959 +vt -23.659356 -15.592729 +vt -23.379819 -3.652194 +vt -24.532043 -8.367654 +vt -23.605478 -8.464846 +vt -24.611113 -9.487411 +vt -23.662210 -9.490181 +vt -23.648890 -10.614353 +vt -20.875731 -10.802419 +vt -20.770927 -11.804953 +vt -16.324589 -11.145010 +vt -23.504380 -11.936420 +vt -24.608426 -10.680963 +vt -24.441416 -12.041743 +vt -20.913803 -9.883112 +vt -20.852132 -8.982601 +vt -16.311491 -9.445744 +vt -16.345684 -10.214736 +vt -11.227403 -9.947590 +vt -11.259844 -10.825741 +vt -26.234802 -8.454487 +vt -26.403262 -7.450191 +vt -26.029568 -8.602715 +vt -25.853703 -7.817339 +vt -25.630647 -7.102722 +vt -25.954959 -12.019792 +vt -24.103556 -13.436837 +vt -23.810584 -14.549783 +vt -25.149557 -15.797177 +vt -24.623911 -5.267209 +vt -13.127945 -48.520948 +vt -18.363127 -55.131357 +vt -19.055846 -54.538075 +vt -20.829142 -56.316633 +vt -21.519811 -55.476696 +vt -22.343959 -57.210320 +vt -22.941606 -56.357188 +vt -25.153592 -58.285832 +vt -24.802934 -59.018420 +vt -29.179571 -60.601903 +vt -17.932594 -55.856629 +vt -10.443529 -50.193671 +vt -17.665280 -56.598011 +vt -9.809480 -51.446442 +vt -2.604011 -44.579181 +vt -1.970948 -46.437683 +vt 1.617717 -45.078363 +vt 1.191954 -42.508643 +vt -9.704867 -13.897634 +vt -11.458249 -13.125195 +vt -9.546547 -12.357038 +vt -11.308143 -11.914091 +vt -16.291424 -12.239260 +vt -20.614224 -13.015891 +vt -23.185806 -13.309056 +vt -22.934021 -14.468546 +vt -20.463942 -13.989979 +vt -16.329591 -13.141986 +vt -11.704769 -14.006752 +vt -11.162294 -5.861811 +vt -10.063678 -15.150818 +vt -11.140509 -7.504638 +vt -11.116230 -6.853140 +vt -9.284383 -7.094469 +vt -9.332635 -6.239629 +vt -7.414467 -6.202166 +vt -7.366783 -7.080134 +vt -5.664490 -6.635640 +vt -5.554266 -7.366177 +vt 1.614880 -5.366851 +vt 1.951458 -6.215172 +vt 6.727569 -4.356338 +vt 7.271929 -5.295266 +vt 10.731926 -2.592798 +vt 11.435498 -4.528544 +vt 13.935116 0.354957 +vt -9.383736 -10.013982 +vt -9.454314 -11.051523 +vt -7.287615 -11.156075 +vt -7.200653 -10.095078 +vt -5.438980 -11.213937 +vt -5.355052 -10.181203 +vt -5.906220 -13.844146 +vt -7.618583 -14.111856 +vt -7.402577 -12.516217 +vt 1.444573 -13.968211 +vt 6.295417 -12.638564 +vt 4.302637 -0.312151 +vt 9.965612 -13.119929 +vt 2.580683 -9.331736 +vt 7.213700 -10.645447 +vt 7.679004 -9.209276 +vt 11.278247 -11.591700 +vt 11.916164 -10.133013 +vt 13.784484 -13.376505 +vt 14.907722 -11.475590 +vt 16.486321 -9.604569 +vt 1.929363 -76.535799 +vt 3.891007 -74.206071 +vt 4.206909 -74.507375 +vt 5.807471 -71.913920 +vt 5.502260 -71.729854 +vt 7.385072 -68.931276 +vt 7.733829 -69.143474 +vt 9.350985 -66.027536 +vt 9.771875 -66.232999 +vt 12.020627 -62.892810 +vt 11.378917 -62.617622 +vt 13.111883 -59.564997 +vt 13.928926 -59.582069 +vt 14.474989 -59.778446 +vt 15.061691 -57.746563 +vt 15.980490 -58.420779 +vt 16.345844 -55.964942 +vt 17.084504 -57.470395 +vt 18.928557 -54.156626 +vt 19.678029 -55.251177 +vt 21.942896 -53.333686 +vt 22.653465 -55.184369 +vt 36.115561 55.198390 +vt 20.357915 -57.036174 +vt 17.771061 -58.739296 +vt 16.743754 -59.323193 +vt 15.101849 -60.303842 +vt 12.480442 -63.302475 +vt 10.157211 -66.524368 +vt 8.129126 -69.410490 +vt 6.150204 -72.140903 +vt 4.589224 -74.864259 +vt 55.971091 -3.744403 +vt 58.309729 -7.292790 +vt 58.001307 -4.209070 +vt 57.055759 -3.248999 +vt 55.020893 15.021899 +vt 52.671296 13.883479 +vt 50.746102 11.131203 +vt 48.438336 10.643285 +vt 46.516162 10.787277 +vt 43.957295 -10.291139 +vt 44.820183 10.967748 +vt 66.006837 -8.017288 +vt 65.819614 -9.678975 +vt 65.425074 -7.463421 +vt 64.965080 -9.068917 +vt 61.554439 -9.662138 +vt 63.858092 -7.797038 +vt 65.116004 -6.506102 +vt 58.509067 -3.072134 +vt 61.006866 -2.979861 +vt 61.639992 -3.818719 +vt 62.915689 -3.043528 +vt 59.016390 -6.433342 +vt 59.316511 -8.169213 +vt 60.169467 -7.745375 +vt 60.110021 -9.599605 +vt 60.343991 -10.342998 +vt 32.908054 -21.801949 +vt 29.700598 -20.175675 +vt 30.064826 -19.554218 +vt 26.931202 -18.329334 +vt 27.169461 -17.577993 +vt 23.557632 -16.921321 +vt 24.472164 -15.439192 +vt 21.188316 -15.648343 +vt 21.933360 -13.814942 +vt 15.784858 -2.991119 +vt 16.987601 -0.001801 +vt 17.451391 2.364399 +vt 14.834127 2.620304 +vt 11.034915 1.079204 +vt 46.693535 -9.186017 +vt 43.838410 -8.519721 +vt 34.390448 -10.856288 +vt 13.287564 -17.540419 +vt 13.480456 -15.163162 +vt 10.951846 -16.892454 +vt 5.554259 0.678954 +vt 3.820778 0.557851 +vt 16.121356 -14.030410 +vt 16.498794 -12.677791 +vt 16.755353 -18.763227 +vt 36.628935 -43.712437 +vt 47.849052 44.486767 +vt 34.398886 -46.350869 +vt 45.708919 48.345885 +vt 8.441186 -40.412374 +vt 8.275759 -42.633231 +vt 13.639370 -39.909727 +vt 9.067524 -49.415016 +vt 8.380961 -45.561677 +vt 12.113253 -49.347613 +vt 12.484372 -45.345288 +vt -11.819638 -35.342830 +vt -10.598845 -36.244370 +vt 3.462759 41.638188 +vt -6.523614 -34.107064 +vt -6.564199 -34.819872 +vt -1.241628 -37.031560 +vt -3.601776 -35.806246 +vt -3.588477 -34.552224 +vt 60.875103 -26.576128 +vt 61.290065 -26.662543 +vt 60.720189 -25.421093 +vt 61.999879 -25.410946 +vt 60.571534 -23.890557 +vt 62.307795 10.406240 +vt 60.580479 -22.079727 +vt 61.453486 9.795471 +vt 60.087747 -22.706990 +vt 59.181265 -21.893063 +vt -25.630661 72.173685 +vt -21.066360 83.517176 +vt -26.505558 72.297345 +vt -21.957856 83.855494 +vt -27.496482 72.644782 +vt -23.840373 84.334258 +vt -23.727251 84.129503 +vt -23.186684 84.622488 +vt -23.003197 85.721148 +vt -22.494646 82.935502 +vt -23.234970 81.992515 +vt -24.651869 82.964210 +vt -24.153322 80.816151 +vt -25.535166 81.466894 +vt -23.347714 80.318002 +vt -22.447146 81.499313 +vt -18.879125 79.065385 +vt -21.725913 82.503788 +vt -18.423134 79.781978 +vt -13.735280 76.966862 +vt -9.051170 75.307819 +vt -9.343234 74.118497 +vt -6.457054 74.546002 +vt -7.023019 73.298700 +vt -5.419331 72.649504 +vt -4.858588 73.598534 +vt -27.481245 78.375853 +vt -27.226478 78.408283 +vt -27.460513 77.623585 +vt -28.739818 76.714765 +vt -27.613890 76.867879 +vt -26.027654 77.436093 +vt -24.716018 82.994688 +vt -25.596102 81.503393 +vt 10.600382 45.119193 +vt 9.444780 48.415636 +vt 13.832035 47.357926 +vt 10.938946 49.813494 +vt 7.651653 52.632580 +vt 6.651297 51.885940 +vt 1.201080 59.713306 +vt 0.367313 59.051806 +vt -5.491393 65.788797 +vt -5.949222 65.140645 +vt -7.932588 66.756437 +vt -2.996569 76.870773 +vt -9.653858 67.541393 +vt -5.055821 77.918338 +vt -12.219999 69.509126 +vt -8.557757 78.342032 +vt -13.061079 78.936011 +vt -16.066191 72.278151 +vt -21.154298 73.683234 +vt -21.369076 72.243047 +vt -25.589899 74.266567 +vt -26.505799 74.397163 +vt -27.710667 74.711693 +vt -28.762825 74.613313 +vt -18.007052 80.406286 +vt -26.460889 76.431291 +vt -6.044043 71.268674 +vt -7.639201 71.899540 +vt -9.925596 73.085896 +vt -14.615258 75.096457 +vt -8.712436 69.501467 +vt -8.144709 70.811915 +vt -7.060421 68.718184 +vt -6.549522 69.973159 +vt -2.253807 73.272700 +vt -4.420820 74.464256 +vt -22.611346 21.352670 +vt -18.380625 9.286678 +vt -21.311538 20.720307 +vt -20.386455 20.850361 +vt -17.681158 9.763991 +vt -15.716622 11.261958 +vt -17.842028 20.353598 +vt -12.300137 13.070392 +vt -21.264692 19.691645 +vt -20.393500 19.726707 +vt -21.388336 18.540575 +vt -20.472928 18.545973 +vt -20.603801 17.139385 +vt -17.886024 17.393383 +vt -21.543835 17.116823 +vt -17.867497 19.598071 +vt -17.890176 18.613407 +vt -13.440683 18.437111 +vt 4.238700 69.318727 +vt 11.588946 69.007528 +vt 11.380651 67.898731 +vt -3.330985 45.459970 +vt -1.924841 46.092312 +vt -22.045490 12.069711 +vt -21.140066 13.448924 +vt -20.886653 12.442382 +vt -20.233367 13.671839 +vt -20.005268 12.862291 +vt -17.585122 14.567143 +vt -17.285784 13.852101 +vt -13.191246 15.656120 +vt -12.985080 14.915527 +vt -8.180751 15.658396 +vt -8.122675 14.976220 +vt -8.238206 16.507440 +vt -20.806517 10.359133 +vt -19.677596 10.891855 +vt -18.890560 11.366134 +vt -16.505982 12.559233 +vt -12.514859 13.612460 +vt -12.786200 14.318941 +vt -8.050958 14.135792 +vt -6.810481 20.402767 +vt -8.561317 19.671193 +vt -7.180946 21.662534 +vt -8.828792 20.566481 +vt -9.046923 21.039320 +vt -7.480842 22.417015 +vt -6.294400 13.631003 +vt -6.289077 14.728876 +vt -6.317755 15.575049 +vt -4.240711 16.664384 +vt -4.249384 15.601412 +vt -6.355283 16.584744 +vt -4.310070 14.731227 +vt -4.373283 13.613277 +vt -4.723858 20.718097 +vt -4.881944 22.046950 +vt -2.965344 20.524654 +vt -3.091020 21.611827 +vt -4.873812 22.865145 +vt -3.103295 22.223234 +vt 4.087653 10.592575 +vt 4.494141 12.048707 +vt 8.265658 9.604792 +vt 9.321131 10.869534 +vt 11.113708 7.312037 +vt 12.510943 8.370149 +vt 10.032017 7.084199 +vt 7.753478 8.888148 +vt 4.087912 22.242176 +vt 4.457781 20.556895 +vt 8.877461 21.214633 +vt -2.694923 13.148306 +vt -4.443372 12.724715 +vt -6.370373 12.748895 +vt -2.598860 13.904908 +vt -2.459151 14.896881 +vt -2.400424 15.726231 +vt 7.877815 35.793221 +vt 8.095432 32.668533 +vt -5.705452 4.571888 +vt -2.085181 7.319520 +vt -2.090199 4.403871 +vt 1.683852 6.475312 +vt 1.617728 4.188653 +vt 4.361956 5.571322 +vt 4.225639 3.998939 +vt 5.718695 3.875990 +vt 4.109164 2.431026 +vt 5.622000 2.325679 +vt 5.904668 5.426822 +vt 9.098662 2.098028 +vt 9.142124 3.343800 +vt 11.534232 2.987936 +vt 11.630994 4.946806 +vt 11.985360 24.166194 +vt 1.384256 1.914874 +vt 3.161230 -22.167310 +vt 1.992395 -25.246906 +vt -8.751825 1.520268 +vt 5.597525 -26.775217 +vt 4.638159 -29.190227 +vt 7.570900 -30.143258 +vt 6.672099 -33.375734 +vt 9.269575 -33.887949 +vt 7.879302 -38.371638 +vt 11.125706 -38.466315 +vt 3.750956 -32.581533 +vt -17.281107 2.628001 +vt -12.269860 1.958827 +vt -12.376382 4.797614 +vt -8.830313 4.687161 +vt -12.097609 7.626920 +vt 11.261237 39.401653 +vt 11.470402 35.959104 +vt 14.336234 39.685173 +vt 14.551399 36.321972 +vt 17.608827 36.807431 +vt 18.022638 34.208164 +vt 21.157242 34.673964 +vt 21.740677 31.458913 +vt 24.654958 32.033776 +vt 25.507379 28.670262 +vt 28.513238 32.854967 +vt 11.920441 33.414841 +vt 12.507246 30.289609 +vt 13.440077 26.878665 +vt 16.600921 27.497744 +vt 17.313142 24.813169 +vt 19.858152 27.741140 +vt 20.517148 25.401097 +vt 22.563989 28.209741 +vt 23.299564 25.652849 +vt 26.064363 25.891297 +vt 23.698959 23.890781 +vt 26.592903 24.368617 +vt 21.188242 23.312562 +vt 17.517495 22.805395 +vt 14.926557 33.850815 +vt 15.749766 30.744918 +vt 18.905645 31.016221 +vt 29.670589 26.250775 +vt 30.520632 23.860779 +vt 13.423117 -64.240311 +vt 9.477665 -62.212644 +vt 10.877305 -67.139084 +vt 8.141671 -65.471327 +vt 8.823178 -69.964763 +vt 6.321942 -68.261479 +vt 6.761193 -72.578765 +vt 4.605563 -71.133294 +vt 2.748507 -73.511059 +vt 2.394961 -73.354492 +vt 4.983531 -75.233286 +vt 6.485046 -72.375840 +vt 8.508900 -69.700426 +vt 10.555339 -66.801817 +vt 12.973229 -63.675634 +vt 25.840937 63.828711 +vt 26.635955 63.808765 +vt 60.621022 9.738227 +vt 57.010984 5.989543 +vt 57.257265 8.629178 +vt 58.666473 8.012268 +vt 60.088709 10.842165 +vt 55.141272 7.521839 +vt 52.103074 6.091194 +vt 49.073056 5.780076 +vt 45.721123 7.534465 +vt 52.433405 4.081732 +vt 49.152078 3.534869 +vt 45.534444 5.973140 +vt 42.787110 7.799522 +vt 45.203223 3.960773 +vt 41.086355 4.776046 +vt 42.065186 6.564358 +vt 36.574281 8.386433 +vt 38.471108 9.799888 +vt 36.878554 11.974754 +vt 33.708488 10.187916 +vt 34.993837 6.734208 +vt 31.044931 8.546423 +vt 33.672481 4.255263 +vt 27.695116 5.711116 +vt 40.077215 2.444744 +vt 44.789989 1.877811 +vt 49.096956 1.429697 +vt 52.756562 1.968366 +vt 52.926017 -0.016788 +vt 56.166134 -0.308568 +vt 68.720581 -11.380296 +vt 67.773201 -10.824065 +vt 68.923258 -14.892946 +vt 68.683573 -16.605428 +vt 61.267780 2.930843 +vt 59.955145 2.150075 +vt 44.174236 46.666213 +vt 41.952353 44.990752 +vt 39.479068 41.047742 +vt 43.568853 38.265686 +vt 39.529237 37.142371 +vt 41.298783 33.867916 +vt 38.413873 33.208902 +vt 39.621157 30.489726 +vt 37.754889 29.760027 +vt 42.783408 30.643215 +vt 43.921306 33.980412 +vt 46.033037 33.836651 +vt 47.958869 38.483281 +vt 44.663929 30.507120 +vt 38.765483 42.953834 +vt 35.507037 38.294826 +vt 34.616487 40.934287 +vt 31.744696 36.982982 +vt 31.075318 39.735762 +vt 27.195141 38.585458 +vt 30.288793 41.781381 +vt 26.683061 40.711369 +vt 28.813718 44.279876 +vt 25.815803 43.465242 +vt 31.514479 45.410722 +vt 29.746439 48.577104 +vt 33.495898 47.630977 +vt 31.961237 50.134758 +vt 35.270985 49.901960 +vt 33.656257 51.863233 +vt 36.750908 51.794495 +vt 35.089928 53.766862 +vt 26.962400 -51.207128 +vt 35.643214 35.072737 +vt 32.317860 33.963591 +vt 35.536620 32.176772 +vt 32.609845 30.716540 +vt 35.362795 29.210210 +vt 32.847280 28.018062 +vt 35.834451 25.996036 +vt 33.491868 25.178374 +vt 36.345579 23.916762 +vt 33.900286 24.123332 +vt 37.647501 22.969956 +vt 27.760471 35.889346 +vt 23.444681 37.910084 +vt 22.994980 40.180320 +vt 20.313170 39.673946 +vt 19.755395 43.743787 +vt 16.569550 44.326371 +vt 29.163905 29.657964 +vt 31.099495 20.792308 +vt 34.189260 21.996470 +vt 34.420085 21.317933 +vt 26.373517 3.335682 +vt 23.750866 1.727261 +vt 23.713198 4.273803 +vt 20.393223 4.625227 +vt 20.795045 2.024052 +vt 19.778727 -0.412709 +vt 23.137185 -0.754121 +vt 17.612143 4.774949 +vt 20.652812 6.567856 +vt 23.823753 6.410855 +vt 20.849079 9.712005 +vt 23.608752 9.533485 +vt 23.660876 11.526463 +vt 26.565725 10.100382 +vt 27.372320 7.462009 +vt 30.354127 9.384728 +vt 29.417420 11.285472 +vt 32.870079 10.980974 +vt 32.053550 12.756068 +vt 17.204036 7.957115 +vt 39.533263 12.614829 +vt 40.527966 10.904100 +vt 9.520109 19.076874 +vt 4.991125 18.907832 +vt -2.681566 19.127076 +vt -2.485702 17.828808 +vt 40.480915 27.408914 +vt 42.685242 27.805744 +vt 38.919414 -28.605213 +vt 39.913357 -26.466252 +vt 43.270581 25.522352 +vt 40.564758 -23.963907 +vt -1.477904 42.749604 +vt 6.877233 47.577580 +vt 5.073309 51.585058 +vt 8.653796 54.337131 +vt 11.837216 52.244750 +vt 14.591872 50.062147 +vt 17.834978 48.415765 +vt 17.544771 46.207298 +vt 7.454494 44.952312 +vt 4.639471 42.999384 +vt 4.884330 44.229392 +vt 1.667691 43.158444 +vt 8.528683 -0.819327 +vt 5.446334 -19.186892 +vt 6.788881 -23.812506 +vt 14.631101 5.000970 +vt 46.125326 9.225446 +vt 43.827496 9.588682 +vt 39.815409 14.379312 +vt 40.410969 16.213707 +vt 37.052006 13.608859 +vt 37.332493 15.235743 +vt 34.872353 14.179528 +vt 37.906999 17.205909 +vt 34.750888 16.177192 +vt 34.685019 19.230315 +vt 31.466118 17.658394 +vt 31.183502 20.007356 +vt 28.094496 18.476350 +vt 27.503346 20.107071 +vt 25.284551 17.419216 +vt 24.910939 19.374694 +vt 39.425626 17.578794 +vt 41.254890 17.868209 +vt 42.595548 15.951394 +vt 43.417677 17.534318 +vt 42.902412 20.736468 +vt 44.649232 20.274791 +vt 38.486103 -20.712834 +vt 37.474556 -17.558217 +vt 35.754086 -16.890710 +vt 35.139351 12.524358 +vt 31.623960 14.588070 +vt 23.290352 13.592268 +vt 26.028337 11.931016 +vt 25.553848 14.223320 +vt 28.972615 13.138918 +vt 28.482431 15.704406 +vt 23.145304 16.874520 +vt 22.908977 18.886390 +vt 22.473874 16.707339 +vt 21.256120 18.357859 +vt 20.776617 16.843754 +vt 19.713546 17.368539 +vt 19.635254 18.809722 +vt 20.214071 19.780583 +vt 72.368015 -11.782735 +vt 59.105335 1.209758 +vt 62.002112 0.553790 +vt 73.088611 -8.557361 +vt 63.636553 0.050616 +vt 62.836513 -1.242783 +vt 60.991382 -1.679311 +vt 61.585160 -0.816896 +vt 58.040572 -0.561335 +vt 58.540074 -1.639030 +vt 57.120269 -1.158477 +vt 62.200662 -5.193401 +vt 63.935492 -4.090843 +vt 56.334541 -2.079581 +vt 58.397457 -2.340808 +vt 61.159933 -2.322102 +vt 63.906902 -2.008831 +vt 72.342856 -3.098625 +vt 58.697487 2.371051 +vt 58.356995 -22.947965 +vt 58.099135 -20.902377 +vt 56.992775 -19.942488 +vt 57.503764 2.732989 +vt 60.024142 13.117510 +vt 10.672364 -62.566153 +vt 10.031610 -62.511546 +vt 8.508953 -65.753870 +vt 8.944419 -65.913573 +vt 6.701861 -68.509487 +vt 7.082941 -68.752425 +vt 5.245259 -71.569854 +vt 4.923725 -71.352456 +vt 3.173772 -73.746875 +vt 3.588552 -73.989848 +vt -4.444252 19.118114 +vt -6.598741 18.896664 +vt -8.289267 17.375194 +vt -13.303974 16.416224 +vt -9.508119 21.857004 +vt 2.029539 60.871681 +vt -5.192220 66.475092 +vt -7.535699 67.599036 +vt -9.233519 68.379495 +vt 26.069457 61.337721 +vt 24.935755 58.158642 +vt 26.276025 58.441218 +vt 24.894149 54.159777 +vt 26.717114 54.286597 +vt 24.013510 57.942547 +vt 27.547442 61.889346 +vt 28.533455 59.915243 +vt 29.619623 56.377665 +vt 30.756167 57.607720 +vt 32.252389 54.315975 +vt 33.501385 56.089466 +vt 21.908296 -58.223016 +vt 29.535106 61.318347 +vt 17.297765 -60.346130 +vt 15.577313 -60.954827 +vt 30.670639 53.124944 +vt 28.489659 51.571042 +vt 27.114955 50.754708 +vt 27.906389 47.720167 +vt 25.293615 47.161099 +vt 25.125209 50.104777 +vt 22.557325 50.184705 +vt 23.042346 54.197911 +vt 20.046013 54.848974 +vt 21.677611 58.188774 +vt 18.037706 58.806419 +vt 19.652163 61.785938 +vt 15.570949 62.661808 +vt 20.954314 64.786571 +vt 16.184708 65.628999 +vt 10.580018 64.008875 +vt 11.036961 66.206573 +vt 3.230917 66.526858 +vt 3.579910 67.859125 +vt -4.128753 70.326026 +vt 18.611855 51.275683 +vt 22.605339 47.305878 +vt -4.859989 67.556478 +vt -4.512657 68.885730 +vt 2.384583 62.074422 +vt 2.658681 63.494668 +vt 9.173491 56.405703 +vt 9.643741 58.813798 +vt 12.659295 54.382954 +vt 13.587607 56.912038 +vt 15.313293 52.813918 +vt 16.576569 55.751324 +vt 14.645448 59.382338 +vt 10.135245 61.613748 +vt 2.983259 65.271711 +vt 4.954554 70.733268 +vt 0.431445 51.048428 +vt 1.270940 46.890168 +vt 1.775904 43.864376 +vt -23.040666 16.895472 +vt -23.117600 18.585262 +vt -22.959504 20.041575 +vt -22.763015 20.738158 +vt -23.229312 21.001177 +vt -23.165010 20.154368 +vt -4.285040 17.745729 +vt -6.459046 17.606552 +vt -8.371254 18.458219 +vt -13.371699 17.343310 +vt -17.760140 15.456002 +vt -20.445756 14.685728 +vt -17.849582 16.379006 +vt -20.573548 15.806854 +vt -21.530910 15.745616 +vt -21.374266 14.557747 +vt -24.946699 79.624612 +vt -26.527231 79.938264 +vt -25.530620 78.517602 +vt -13.563721 77.458584 +vt -13.250638 78.372032 +vt -8.617607 77.552485 +vt -8.873715 76.094047 +vt 60.935434 13.500499 +vt 61.288152 12.737836 +vt 62.522456 13.328777 +vt 59.552441 -26.017944 +vt 60.555327 -26.805284 +vt 0.014132 -40.818498 +vt -3.442099 -43.657976 +vt -11.160334 -49.421164 +vt -9.147710 -58.385048 +vt -15.170120 -62.410394 +vt -15.935904 -61.696239 +vt -17.523800 -63.478853 +vt -16.671894 -64.499807 +vt -20.241050 -53.588881 +vt -22.673597 -54.123330 +vt -14.535020 -47.928900 +vt -6.802613 -42.445892 +vt -9.392010 -41.587072 +vt -4.936074 -38.798123 +vt -7.676333 -37.704876 +vt -4.931909 -43.035350 +vt -12.170273 -40.640262 +vt -15.987001 -47.320393 +vt -12.104417 -48.914672 +vt -2.338578 -39.505993 +vt -18.976698 -65.838613 +vt -24.068063 -55.009830 +vt -22.173074 -65.744824 +vt -25.869207 -56.989705 +vt -26.697345 -67.080878 +vt -30.949831 -69.982146 +vt -33.989701 -73.064841 +vt -19.326366 -64.385891 +vt 16.711762 -40.162988 +vt 13.150512 -42.526622 +vt 14.031890 -38.746895 +vt 17.076760 -39.430604 +vt 19.843818 -40.843648 +vt 18.244777 -44.013868 +vt 22.262237 -42.500173 +vt 19.872424 -45.228915 +vt 23.740740 -45.089697 +vt 21.709144 -47.208933 +vt 23.026842 -49.246316 +vt 21.136848 -51.322885 +vt 24.053901 -51.431540 +vt 26.074453 -49.826321 +vt 25.019371 -47.660597 +vt 18.088677 -52.749272 +vt 19.803993 -49.838799 +vt 15.683255 -50.161164 +vt 17.993852 -47.881345 +vt 16.835806 -46.789606 +vt 14.413069 -54.147666 +vt 13.935624 -49.647886 +vt 15.014720 -45.769188 +vt 15.804681 -42.952594 +vt 13.699679 -57.004434 +vt 13.165529 -53.629232 +vt 12.310380 -53.250568 +vt 9.988649 -53.048744 +vt 6.313420 -52.892473 +vt 5.515870 -49.567989 +vt 2.346665 -50.028087 +vt 1.953793 -47.336093 +vt -1.862113 -48.541011 +vt -1.912925 -50.955994 +vt -9.632331 -52.672866 +vt -19.806539 -58.105686 +vt -21.427913 -58.959543 +vt -9.555425 -54.092369 +vt -9.481149 -55.835540 +vt -16.595456 -60.534514 +vt -9.369295 -57.061536 +vt 4.699561 -43.513783 +vt 4.882028 -46.405136 +vt 37.625413 -38.722684 +vt 36.755973 -33.873611 +vt 36.341116 -30.363310 +vt 33.277009 -29.565976 +vt 34.214716 -33.215177 +vt 31.541877 -31.978246 +vt 35.528820 -37.992106 +vt 31.807555 -36.059138 +vt 30.947656 -39.871218 +vt 27.644897 -36.361357 +vt 26.204431 -38.756817 +vt 23.007832 -36.846830 +vt 21.802355 -38.700120 +vt 19.463230 -34.917682 +vt 18.505034 -36.912859 +vt 15.946544 -33.474241 +vt 15.028475 -35.580059 +vt 13.237759 -32.450325 +vt 12.504643 -34.547311 +vt 10.464718 -31.215538 +vt 31.591340 -28.476508 +vt 34.362394 -42.383795 +vt 40.050769 49.870425 +vt 38.878835 47.951076 +vt 36.481874 45.564534 +vt 33.236794 43.290794 +vt 40.472774 51.788421 +vt 7.750323 43.174778 +vt 32.916280 -2.666266 +vt 33.651757 -5.366641 +vt 26.721910 -2.994991 +vt 29.436906 -6.344205 +vt 28.571935 -7.028835 +vt 30.680734 -9.070607 +vt 31.678076 -8.456670 +vt 32.600200 -11.052216 +vt 34.206988 -12.530121 +vt 31.967993 -12.644862 +vt 34.148882 -14.190718 +vt 34.300033 -16.249597 +vt 36.963243 -15.768402 +vt 36.747483 -13.854541 +vt 29.559319 -10.651435 +vt 27.246782 -8.698024 +vt 24.671520 -6.970235 +vt 26.024176 -4.602370 +vt 25.954665 -0.394076 +vt 22.785706 -2.851371 +vt 32.798922 -0.621071 +vt 39.577100 -2.216907 +vt 39.540583 -0.820094 +vt 39.745441 1.084639 +vt 39.617127 0.134408 +vt 33.162130 0.804119 +vt 26.199433 1.469309 +vt 44.371176 -1.419153 +vt 44.498637 -0.412696 +vt 48.583519 -1.916032 +vt 48.492250 -0.872240 +vt 52.903205 -1.486544 +vt 48.827650 0.120486 +vt 44.597148 0.595154 +vt 33.115418 2.271491 +vt 52.586213 -2.871271 +vt 19.185607 -7.355441 +vt 19.256078 -9.252890 +vt 16.387618 -7.427615 +vt 12.316717 -7.877855 +vt 16.223924 -5.460884 +vt 12.050408 -6.215018 +vt 7.798340 -7.779059 +vt 2.508728 -8.202595 +vt -5.367901 -9.158213 +vt -5.431194 -8.347197 +vt 64.466724 -4.673106 +vt 62.833667 -6.171366 +vt 57.034881 16.060191 +vt 54.765874 -9.825560 +vt 53.194775 -9.163444 +vt 2.326106 -7.304872 +vt 7.697103 -6.631677 +vt 5.279610 -2.012823 +vt 0.922792 -3.219934 +vt -5.996415 -14.925626 +vt 9.529183 -1.292329 +vt 5.782173 -2.855177 +vt 1.139370 -3.977264 +vt -5.749730 -5.502631 +vt -7.748590 -15.481005 +vt -7.730551 -16.327472 +vt -7.277701 -8.177428 +vt -9.321033 -9.006559 +vt -7.225621 -9.044284 +vt -9.292478 -8.173176 +vt -11.181678 -8.375263 +vt -23.450436 -5.633476 +vt -24.411069 -7.356080 +vt -23.492724 -7.636662 +vt -22.599837 -5.997655 +vt -20.647638 -8.234083 +vt -20.051448 -6.859120 +vt -16.180287 -8.687766 +vt -16.046573 -8.070904 +vt -15.854225 -7.332004 +vt -11.213881 -9.079010 +vt -26.137224 -10.246485 +vt -1.953279 -53.760950 +vt 2.876996 -52.688008 +vt -14.958605 -39.929355 +vt -2.008002 -56.155913 +vt 3.069186 -56.132510 +vt -14.474334 -34.907272 +vt -13.913670 -30.043988 +vt 7.275106 -56.194237 +vt 10.664961 -56.216972 +vt -21.812466 -58.138070 +vt -20.202118 -57.240545 +vt -41.621362 -64.087198 +vt -38.459652 -61.695131 +vt -39.335842 -61.796662 +vt 56.521464 -18.449392 +vt 54.389338 -17.359614 +vt 53.135002 -18.229883 +vt 55.324453 -16.483501 +vt 52.225064 -19.050094 +vt -13.280063 -40.342269 +vt -37.867492 -69.144001 +vt -37.027175 -68.655590 +vt -32.897038 -66.821975 +vt -15.709791 -6.775274 +vt 54.022632 -17.132199 +vt 52.832013 -18.090436 +vt 59.732862 -12.058597 +vt 60.822093 -12.565870 +vt 61.146198 -11.723076 +vt 62.053469 -12.266268 +vt 63.630518 -14.637623 +vt 64.454088 -13.535730 +vt 59.693906 -13.877848 +vt 60.981616 -13.764191 +vt 24.386046 -40.773193 +vt 29.870062 -41.585827 +vt 32.574644 -44.249244 +vt 37.856796 -25.461586 +vt 36.820811 -27.574473 +vt 34.740701 -26.740083 +vt 19.600931 -2.342094 +vt 21.853779 -5.791668 +vt 21.508994 -7.742083 +vt 19.074613 -5.414384 +vt 34.840869 -7.315950 +vt 40.525801 -6.745021 +vt 43.987264 -6.918825 +vt 47.436777 -7.427496 +vt 50.295379 -8.210975 +vt 51.201039 -6.456228 +vt 48.047047 -5.286232 +vt 44.114798 -4.884842 +vt 40.001779 -4.734004 +vt 44.272630 -2.719993 +vt 48.457747 -3.244742 +vt 51.985512 -4.645307 +vt 52.518077 -10.171549 +vt 52.143883 15.426231 +vt 53.574401 -12.063403 +vt 54.898563 17.103470 +vt 53.837808 -15.338418 +vt 54.948937 -12.528624 +vt 20.735458 -9.676401 +vt 22.835144 -10.768733 +vt 23.764970 -8.641602 +vt 25.422952 -12.810295 +vt 26.419660 -10.411002 +vt 27.938126 -15.336032 +vt 28.746610 -12.353166 +vt 31.440729 -14.580087 +vt 19.081057 -19.838584 +vt 20.159212 -18.178928 +vt 22.353957 -19.189354 +vt 25.731243 -21.225967 +vt 21.801793 -20.898138 +vt 28.984771 -22.169497 +vt 28.372886 -23.122488 +vt 30.515278 -24.367884 +vt 29.379355 -27.431288 +vt 32.758124 -25.680069 +vt 28.930309 -30.377220 +vt 26.377466 -28.341166 +vt 25.423931 -31.456561 +vt 21.939797 -29.579404 +vt 20.576866 -32.391796 +vt 18.333303 -27.989574 +vt 16.995987 -30.807615 +vt 15.604223 -26.845623 +vt 14.374374 -29.859198 +vt 12.923433 -25.844779 +vt 11.397355 -28.773730 +vt 9.885069 -24.938617 +vt 8.434557 -27.795545 +vt 24.241594 -34.290111 +vt 28.443389 -33.232285 +vt 11.408752 -21.952573 +vt 14.531605 -22.828424 +vt 17.078229 -23.842768 +vt 19.853754 -24.883996 +vt 23.228472 -26.585433 +vt 27.165529 -25.757739 +vt 19.307660 -14.778953 +vt 17.801316 -13.921999 +vt 17.630345 -12.335411 +vt 19.314180 -12.548340 +vt 19.936760 -12.850906 +vt 30.747549 -17.560109 +vt 34.111872 -19.474249 +vt 36.199818 -22.951493 +vt 35.689156 -24.603702 +vt 32.960895 -23.245082 +vt 31.430216 -22.418718 +vt 36.141053 -20.253059 +vt 38.460582 -23.543685 +vt 56.624670 11.609275 +vt 58.748158 12.777889 +vt 58.175881 10.229194 +vt 54.880994 8.926878 +vt 51.221095 9.317157 +vt -11.287804 70.996758 +vt -11.853479 70.072264 +vt -15.840038 72.856315 +vt -15.537078 73.559610 +vt -20.957220 75.058699 +vt -20.725505 75.808582 +vt -25.509195 76.188121 +vt -25.144153 77.092654 +vt -22.369651 12.744056 +vt 10.551423 14.101399 +vt 10.519909 15.530237 +vt 5.552925 15.985064 +vt 4.838768 12.888304 +vt 9.896436 11.719963 +vt 13.536372 10.255816 +vt 10.404003 12.971558 +vt 5.217978 13.976880 +vt 5.434460 14.866948 +vt 14.840259 13.490085 +vt -2.391001 16.765703 +vt 68.300911 -17.864912 +vt 67.833738 -18.991509 +vt 59.780320 2.735646 +vt 59.645322 4.743222 +vt 59.663872 6.136384 +vt 59.902257 7.543335 +vt 61.709143 6.631959 +vt 64.626340 -19.770174 +vt 65.126525 -18.429188 +vt 66.099730 -18.369423 +vt 66.322437 -16.927191 +vt 65.064937 -17.072291 +vt 66.332983 -15.528424 +vt 67.079058 -19.715611 +vt 67.112150 -16.324534 +vt 67.065622 -18.026414 +vt 68.396818 -17.352299 +vt 15.024005 22.676289 +vt 40.968228 25.123292 +vt 38.311940 26.804345 +vt 38.006068 24.379550 +vt 41.129349 23.402119 +vt 40.513321 20.766327 +vt 43.463098 23.514952 +vt 17.175164 18.658747 +vt 14.387418 17.397267 +vt 10.225674 16.995520 +vt 5.413107 17.158248 +vt 13.125585 44.780636 +vt 22.115335 21.473942 +vt 24.439329 22.066945 +vt 26.790908 22.569533 +vt 38.356371 20.441815 +vt 18.752353 21.328186 +vt 17.211714 20.452954 +vt 4.202563 47.437046 +vt 60.039345 -17.138337 +vt 58.073520 -19.009335 +vt 62.820360 -19.355499 +vt 64.120924 -18.171627 +vt 63.092449 -17.314225 +vt 61.967518 -16.603707 +vt 61.655087 -18.472257 +vt 60.865184 -17.787291 +vt 58.956738 -19.906984 +vt 59.946589 -20.647821 +vt -13.661344 19.830448 +vt -13.573653 19.328177 +vt -23.074348 15.152778 +vt -1.344866 74.481549 +vt -3.612314 75.935216 +vt -5.374307 76.849177 +vt -15.149189 74.244864 +vt -10.536053 72.191307 +vt -20.392153 76.519009 +vt -24.709960 78.032603 +vt -24.115126 79.126027 +vt 59.928904 -10.760311 +vt 59.598333 -10.952616 +vt 58.790069 -11.378336 +vt 58.265982 -12.062977 +vt 57.691158 -10.015918 +vt 56.820453 -11.405727 +vt 56.097462 -12.915560 +vt 58.978525 -16.093526 +vt 60.055455 -14.794398 +vt 61.050143 -15.664896 +vt 3.131965 51.342797 +vt -0.644145 58.683581 +vt -1.714802 58.427958 +vt -6.090801 75.339708 +vt 24.418915 -23.390597 +vt 20.979545 -22.281739 +vt 18.321812 -21.465456 +vt 15.664294 -20.674624 +vt 12.664014 -19.458784 +vt 8.450764 -20.699857 +vt 10.010270 -18.525213 +vt 27.100134 -43.660105 +vt 28.932006 -46.498679 +vt 29.680022 -48.608633 +vt -16.624411 -47.052376 +vt 16.988258 39.689691 +vt 20.585694 37.458303 +vt 23.918964 35.074910 +vt -16.970120 4.931925 +vt 22.944618 61.104848 +vt 14.498134 24.468498 +vt 10.232551 26.107433 +vt 66.639444 -10.496834 +vt 56.922921 18.657965 +vt 52.732140 -16.710369 +vt 57.201666 19.995609 +vt 51.720383 -17.941703 +vt 51.637542 -19.553689 +vt 55.044359 -15.468314 +vt 63.016368 12.668946 +vt 61.348554 -26.766526 +vt 63.326399 11.699256 +vt 61.687069 11.898965 +vt 62.105072 10.786324 +vt 59.508875 12.035385 +vt 69.202554 -9.835973 +vt 69.506072 -8.421534 +vt 70.085859 -9.924438 +vt 66.969644 -7.043924 +vt 67.527811 -9.031580 +vt 68.434543 -7.293855 +vt 68.617875 -6.735838 +vt -10.379046 -15.900866 +vt 67.427552 -1.442248 +vt 71.386525 -3.585740 +vt 65.845389 -0.304887 +vt 63.992745 0.806163 +vt 62.515388 1.585255 +vt 70.966928 -15.344611 +vt 69.390349 -16.301493 +vt 61.956513 3.178431 +vt 61.833584 4.165197 +vt 61.427898 4.956189 +vt 61.300939 5.703811 +vt 65.797312 -20.347796 +vt 62.390354 -22.794418 +vt 62.212843 -23.914739 +vt 63.514016 11.402645 +vt 64.146949 12.780412 +vt 64.011563 13.140557 +vt 63.787622 13.409241 +vt 62.499153 14.066755 +vt 59.090221 -24.596723 +vt 58.883496 -23.697507 +vt 59.696459 13.892540 +vt 57.257947 -21.929458 +vt 56.161000 -20.928932 +vt 55.388309 -20.578511 +vt 54.506160 -20.639198 +vt 57.945040 20.071523 +vt 57.279729 21.266279 +vt 56.495457 20.422141 +vt 55.865760 18.871992 +vt 52.553983 -15.143419 +vt 53.093716 -13.593278 +vt 51.764899 -11.257981 +vt 50.014783 12.767274 +vt 46.136786 -12.263140 +vt 44.067554 -11.952804 +vt 42.321759 -11.724788 +vt 42.290484 12.311127 +vt 41.827485 13.469985 +vt 38.512542 -14.472646 +vt 39.153541 -15.958782 +vt 39.647133 -17.676819 +vt 40.295398 -20.605841 +vt 45.607536 23.497294 +vt 45.488137 26.084711 +vt 44.949242 28.385612 +vt 38.206960 -30.621968 +vt 38.851383 -34.169731 +vt 39.776552 -39.112252 +vt 38.434419 -44.957284 +vt 35.542577 -48.283210 +vt 29.738525 -50.591870 +vt 37.891442 52.966645 +vt 24.803980 -53.059862 +vt 24.369243 -56.133927 +vt 31.748885 58.532824 +vt 18.701578 -59.892830 +vt 28.552362 62.476202 +vt 15.742235 -61.467318 +vt 15.793825 -62.202104 +vt 15.656242 -62.758020 +vt 24.896146 64.461151 +vt 9.366059 -59.998451 +vt 15.621225 -63.247059 +vt -3.742745 40.473302 +vt 10.210498 -60.124809 +vt 13.712285 -64.893988 +vt 16.512355 68.244047 +vt 10.608515 -60.102396 +vt 11.114546 -67.489924 +vt -2.490524 50.729154 +vt 10.994686 -60.188888 +vt 9.088017 -70.197918 +vt 12.015418 -59.985877 +vt -3.200496 58.079566 +vt -12.031999 -26.596264 +vt 4.368864 -70.953502 +vt 7.919146 -59.463611 +vt -6.636282 64.616423 +vt -2.498922 39.309864 +vt 1.949072 -73.205922 +vt -8.469865 65.766598 +vt -1.460710 41.584859 +vt 2.945686 -59.206901 +vt -10.261339 66.549792 +vt -6.332242 -33.045648 +vt -2.079557 -58.351080 +vt -12.590342 68.931625 +vt -21.808022 5.029387 +vt -4.461701 -32.981786 +vt -17.401342 -46.704892 +vt -16.342745 71.568383 +vt -17.170942 7.248423 +vt -0.582725 -35.349862 +vt -21.008595 -52.984194 +vt -17.629762 81.014094 +vt 7.725255 39.058095 +vt 0.365467 -31.413165 +vt -23.305788 -53.208024 +vt -20.614601 84.344828 +vt -8.521249 7.840501 +vt 1.174268 -28.275775 +vt -24.720320 -54.258320 +vt -21.636966 84.810469 +vt -5.323700 7.646415 +vt -5.591216 1.467159 +vt -26.283956 -56.311033 +vt -22.731011 85.067610 +vt 8.572893 29.438327 +vt -2.389021 1.503872 +vt -29.489124 -59.731244 +vt -28.265237 72.872515 +vt 1.667469 7.326236 +vt 1.257908 1.070117 +vt -30.548381 -70.575152 +vt -29.215591 71.746834 +vt 7.605170 -17.778225 +vt -37.305969 77.935355 +vt -30.202260 71.172115 +vt -22.072475 88.338888 +vt -33.539253 -73.893439 +vt 4.314793 7.478802 +vt 8.463378 -16.563684 +vt -38.089213 78.581400 +vt -36.281394 79.209764 +vt -35.846947 84.282891 +vt -34.556140 -74.358964 +vt 12.654801 22.807121 +vt 7.371233 0.585872 +vt -38.305604 78.882877 +vt -31.540238 73.216903 +vt -35.147110 84.370184 +vt -35.657448 -74.606427 +vt 7.812316 6.803310 +vt 8.451966 -14.870412 +vt -38.623907 84.060962 +vt -31.803494 73.378301 +vt -33.487199 84.436161 +vt -35.965479 -75.271201 +vt 8.453664 6.841713 +vt 5.627151 -14.842835 +vt -39.032195 80.415857 +vt -33.475419 73.125281 +vt -35.694098 -76.902227 +vt -25.453783 86.053222 +vt -48.249101 -75.263194 +vt 0.533431 -1.619587 +vt -49.494274 -74.759151 +vt -33.821312 73.296900 +vt -50.462745 -67.493927 +vt -37.740334 -76.386174 +vt -26.154406 84.945330 +vt 8.744884 23.358627 +vt -5.900623 -4.936123 +vt -50.490246 -74.493555 +vt -34.224563 73.538196 +vt -43.472344 -61.883897 +vt -45.403849 -73.908821 +vt -26.999728 84.241612 +vt 3.930871 23.041658 +vt -5.795755 -15.542472 +vt -50.759347 -74.223432 +vt -34.880892 74.277916 +vt -48.237813 -69.799187 +vt -44.115055 -73.866625 +vt -27.914743 83.895656 +vt -2.766569 11.985321 +vt -7.331655 -4.720351 +vt -51.379573 -73.745701 +vt -44.380267 -62.657251 +vt -43.004361 -73.600201 +vt -28.367438 83.459678 +vt -4.395558 11.175317 +vt -9.631161 -4.738469 +vt -51.783819 -72.774287 +vt -47.779963 -69.449900 +vt -40.952640 -73.292691 +vt -6.823795 11.283888 +vt -11.907546 -14.473512 +vt -48.607020 -68.270854 +vt -41.342455 -72.869566 +vt -8.020183 13.506307 +vt -16.358320 -13.652113 +vt -48.726378 -67.924354 +vt -13.824730 20.763834 +vt -20.169329 -15.565231 +vt -46.869623 -63.254880 +vt -17.826538 21.203509 +vt -22.755061 -16.429240 +vt -47.570703 -63.774625 +vt -20.518668 21.683555 +vt -23.760550 -16.577960 +vt -21.544122 21.682008 +vt -24.866924 -16.397687 +vt -19.350538 8.908835 +vt -24.144176 -3.424415 +vt -25.834915 -18.493294 +vt -23.193350 21.765588 +vt -24.364308 -1.967242 +vt -34.876623 -3.331317 +vt -24.894500 -0.956527 +vt -27.501648 -17.192520 +vt -23.788877 23.294157 +vt -35.841692 -3.599707 +vt -30.415599 7.083938 +vt -34.409298 -4.885109 +vt -28.449274 -16.373668 +vt -23.800723 24.475681 +vt -36.160898 -3.784303 +vt -30.349310 8.718244 +vt -34.013544 -6.421487 +vt -28.750110 -15.045885 +vt -33.019695 13.056284 +vt -38.661075 -8.386687 +vt -22.891847 6.814220 +vt -33.748638 -6.263425 +vt -28.995203 -13.997376 +vt -32.510690 13.544902 +vt -37.478275 -4.832571 +vt -29.624713 10.287921 +vt -33.444663 -6.331483 +vt -30.180153 -12.576281 +vt -25.326857 21.757529 +vt -29.143711 8.878682 +vt -33.602709 -4.896572 +vt -25.457409 20.735696 +vt -29.027713 8.550516 +vt -33.540655 -4.535029 +vt -29.828095 16.531404 +vt -29.030520 8.119777 +vt -33.546636 -4.018452 +vt -25.797453 18.356359 +vt -28.722598 7.339758 +vt -29.739079 -12.226945 +vt -27.308739 16.864210 +vt -30.515399 -1.445900 +vt -34.487227 13.151867 +vt -26.821154 16.588783 +vt -31.429604 7.138138 +vt -31.782691 7.252290 +vt -35.113538 11.225291 +vt -34.790571 10.272851 +f 1791/1791 2/2 1/1 +f 1256/1256 1792/1792 5/5 +f 1256/1256 5/5 4/4 +f 1/1 2/2 523/523 +f 1792/1792 523/523 5/5 +f 5/5 523/523 486/486 +f 5/5 486/486 1242/1242 +f 4/4 5/5 1242/1242 +f 3/3 1510/1510 2/2 +f 3/3 2/2 1791/1791 +f 43/43 45/45 44/44 +f 40/40 42/42 41/41 +f 37/37 39/39 38/38 +f 35/35 1992/1992 558/558 +f 29/29 30/30 34/34 +f 31/31 33/33 32/32 +f 28/28 30/30 29/29 +f 27/27 26/26 2010/2010 +f 2010/2010 26/26 25/25 +f 597/597 23/23 22/22 +f 17/17 21/21 1966/1966 +f 572/572 13/13 20/20 +f 17/17 1966/1966 18/18 +f 14/14 16/16 15/15 +f 12/12 13/13 572/572 +f 9/9 11/11 10/10 +f 6/6 8/8 7/7 +f 436/436 433/433 434/434 +f 436/436 434/434 341/341 +f 341/341 434/434 640/640 +f 346/346 390/390 36/36 +f 1997/1997 1992/1992 35/35 +f 412/412 404/404 356/356 +f 412/412 356/356 357/357 +f 412/412 357/357 360/360 +f 412/412 360/360 429/429 +f 429/429 360/360 365/365 +f 362/362 365/365 360/360 +f 2009/2009 414/414 413/413 +f 2009/2009 413/413 427/427 +f 416/416 400/400 401/401 +f 416/416 401/401 415/415 +f 416/416 415/415 2004/2004 +f 416/416 2004/2004 417/417 +f 418/418 417/417 2004/2004 +f 418/418 2004/2004 426/426 +f 418/418 426/426 411/411 +f 418/418 411/411 419/419 +f 419/419 411/411 420/420 +f 420/420 411/411 409/409 +f 420/420 409/409 407/407 +f 421/421 420/420 407/407 +f 421/421 407/407 36/36 +f 1992/1992 1987/1987 406/406 +f 1992/1992 406/406 557/557 +f 558/558 1992/1992 557/557 +f 383/383 341/341 340/340 +f 383/383 340/340 381/381 +f 341/341 383/383 385/385 +f 341/341 385/385 436/436 +f 436/436 385/385 435/435 +f 436/436 435/435 433/433 +f 433/433 435/435 342/342 +f 344/344 342/342 435/435 +f 344/344 435/435 387/387 +f 387/387 435/435 385/385 +f 345/345 344/344 387/387 +f 343/343 353/353 432/432 +f 343/343 432/432 342/342 +f 343/343 345/345 389/389 +f 343/343 389/389 352/352 +f 430/430 434/434 433/433 +f 430/430 433/433 431/431 +f 431/431 433/433 432/432 +f 431/431 432/432 353/353 +f 432/432 433/433 342/342 +f 431/431 353/353 354/354 +f 431/431 354/354 430/430 +f 430/430 354/354 355/355 +f 367/367 369/369 412/412 +f 367/367 412/412 429/429 +f 366/366 367/367 429/429 +f 366/366 429/429 365/365 +f 364/364 41/41 428/428 +f 364/364 428/428 366/366 +f 365/365 364/364 366/366 +f 381/381 340/340 374/374 +f 381/381 374/374 379/379 +f 379/379 374/374 372/372 +f 379/379 372/372 378/378 +f 378/378 372/372 370/370 +f 378/378 370/370 377/377 +f 377/377 370/370 368/368 +f 377/377 368/368 376/376 +f 376/376 368/368 375/375 +f 375/375 368/368 39/39 +f 375/375 39/39 37/37 +f 38/38 39/39 366/366 +f 38/38 366/366 428/428 +f 38/38 428/428 41/41 +f 38/38 41/41 37/37 +f 403/403 408/408 424/424 +f 403/403 424/424 402/402 +f 2006/2006 2001/2001 380/380 +f 393/393 380/380 2001/2001 +f 425/425 413/413 45/45 +f 425/425 45/45 422/422 +f 410/410 425/425 422/422 +f 410/410 422/422 423/423 +f 1996/1996 410/410 423/423 +f 1996/1996 423/423 2001/2001 +f 1999/1999 427/427 413/413 +f 1999/1999 413/413 425/425 +f 1994/1994 1999/1999 425/425 +f 1994/1994 425/425 410/410 +f 393/393 2001/2001 423/423 +f 393/393 423/423 395/395 +f 395/395 423/423 422/422 +f 395/395 422/422 397/397 +f 397/397 422/422 399/399 +f 399/399 422/422 45/45 +f 399/399 45/45 43/43 +f 421/421 36/36 390/390 +f 421/421 390/390 391/391 +f 420/420 421/421 391/391 +f 420/420 391/391 392/392 +f 419/419 420/420 392/392 +f 419/419 392/392 394/394 +f 418/418 419/419 394/394 +f 418/418 394/394 396/396 +f 417/417 418/418 396/396 +f 417/417 396/396 398/398 +f 417/417 398/398 400/400 +f 417/417 400/400 416/416 +f 414/414 2009/2009 401/401 +f 414/414 401/401 44/44 +f 44/44 401/401 43/43 +f 413/413 414/414 44/44 +f 413/413 44/44 45/45 +f 404/404 412/412 369/369 +f 404/404 369/369 371/371 +f 403/403 404/404 371/371 +f 403/403 371/371 373/373 +f 1990/1990 1994/1994 410/410 +f 1990/1990 410/410 1996/1996 +f 1989/1989 1991/1991 408/408 +f 1989/1989 408/408 403/403 +f 1986/1986 1989/1989 403/403 +f 1986/1986 403/403 405/405 +f 405/405 403/403 373/373 +f 405/405 373/373 339/339 +f 356/356 404/404 403/403 +f 356/356 403/403 402/402 +f 2011/2011 2006/2006 380/380 +f 2011/2011 380/380 358/358 +f 43/43 401/401 400/400 +f 43/43 400/400 399/399 +f 399/399 400/400 398/398 +f 399/399 398/398 397/397 +f 397/397 398/398 396/396 +f 397/397 396/396 395/395 +f 395/395 396/396 394/394 +f 395/395 394/394 393/393 +f 393/393 394/394 392/392 +f 393/393 392/392 380/380 +f 380/380 392/392 391/391 +f 380/380 391/391 390/390 +f 37/37 41/41 42/42 +f 37/37 42/42 375/375 +f 375/375 42/42 363/363 +f 375/375 363/363 376/376 +f 376/376 363/363 361/361 +f 376/376 361/361 377/377 +f 377/377 361/361 359/359 +f 377/377 359/359 378/378 +f 378/378 359/359 358/358 +f 378/378 358/358 379/379 +f 379/379 358/358 380/380 +f 379/379 380/380 381/381 +f 381/381 380/380 382/382 +f 381/381 382/382 383/383 +f 383/383 382/382 384/384 +f 383/383 384/384 385/385 +f 385/385 384/384 386/386 +f 385/385 386/386 387/387 +f 387/387 386/386 388/388 +f 387/387 388/388 345/345 +f 345/345 388/388 2024/2024 +f 2012/2012 2024/2024 388/388 +f 2012/2012 388/388 350/350 +f 350/350 388/388 386/386 +f 350/350 386/386 347/347 +f 347/347 386/386 384/384 +f 347/347 384/384 346/346 +f 346/346 384/384 390/390 +f 390/390 384/384 382/382 +f 390/390 382/382 380/380 +f 340/340 339/339 373/373 +f 340/340 373/373 374/374 +f 374/374 373/373 372/372 +f 372/372 373/373 371/371 +f 372/372 371/371 370/370 +f 370/370 371/371 369/369 +f 370/370 369/369 368/368 +f 368/368 369/369 367/367 +f 368/368 367/367 39/39 +f 39/39 367/367 366/366 +f 365/365 362/362 2026/2026 +f 365/365 2026/2026 364/364 +f 364/364 2026/2026 41/41 +f 42/42 40/40 2021/2021 +f 42/42 2021/2021 363/363 +f 363/363 2021/2021 361/361 +f 361/361 2021/2021 2018/2018 +f 361/361 2018/2018 359/359 +f 359/359 2018/2018 2015/2015 +f 359/359 2015/2015 358/358 +f 358/358 2015/2015 2011/2011 +f 35/35 558/558 355/355 +f 35/35 355/355 348/348 +f 348/348 355/355 354/354 +f 348/348 354/354 349/349 +f 349/349 354/354 353/353 +f 349/349 353/353 351/351 +f 351/351 353/353 343/343 +f 351/351 343/343 352/352 +f 351/351 352/352 2007/2007 +f 351/351 2007/2007 349/349 +f 349/349 2007/2007 2002/2002 +f 349/349 2002/2002 348/348 +f 348/348 2002/2002 35/35 +f 1997/1997 35/35 2002/2002 +f 344/344 345/345 343/343 +f 344/344 343/343 342/342 +f 340/340 341/341 640/640 +f 340/340 640/640 641/641 +f 339/339 340/340 641/641 +f 856/856 260/260 241/241 +f 856/856 241/241 240/240 +f 285/285 1932/1932 309/309 +f 285/285 309/309 287/287 +f 1927/1927 1921/1921 270/270 +f 1927/1927 270/270 269/269 +f 311/311 250/250 251/251 +f 311/311 251/251 312/312 +f 283/283 311/311 312/312 +f 283/283 312/312 313/313 +f 261/261 319/319 241/241 +f 261/261 241/241 260/260 +f 310/310 283/283 313/313 +f 310/310 313/313 314/314 +f 320/320 310/310 314/314 +f 320/320 314/314 315/315 +f 321/321 320/320 315/315 +f 321/321 315/315 316/316 +f 322/322 321/321 316/316 +f 322/322 316/316 317/317 +f 28/28 322/322 317/317 +f 28/28 317/317 318/318 +f 30/30 28/28 318/318 +f 30/30 318/318 319/319 +f 290/290 284/284 33/33 +f 290/290 33/33 291/291 +f 291/291 33/33 300/300 +f 291/291 300/300 301/301 +f 293/293 291/291 301/301 +f 293/293 301/301 294/294 +f 294/294 301/301 303/303 +f 294/294 303/303 305/305 +f 297/297 294/294 305/305 +f 297/297 305/305 299/299 +f 299/299 305/305 30/30 +f 299/299 30/30 338/338 +f 338/338 30/30 319/319 +f 338/338 319/319 261/261 +f 266/266 299/299 338/338 +f 266/266 338/338 337/337 +f 337/337 338/338 261/261 +f 337/337 261/261 258/258 +f 267/267 266/266 337/337 +f 267/267 337/337 336/336 +f 336/336 337/337 258/258 +f 336/336 258/258 256/256 +f 333/333 267/267 336/336 +f 333/333 336/336 335/335 +f 335/335 336/336 256/256 +f 335/335 256/256 255/255 +f 335/335 255/255 331/331 +f 335/335 331/331 332/332 +f 332/332 331/331 330/330 +f 335/335 332/332 333/333 +f 262/262 263/263 863/863 +f 262/262 863/863 334/334 +f 329/329 252/252 262/262 +f 329/329 262/262 334/334 +f 324/324 329/329 334/334 +f 324/324 334/334 326/326 +f 326/326 334/334 863/863 +f 326/326 863/863 862/862 +f 328/328 265/265 267/267 +f 328/328 267/267 333/333 +f 327/327 328/328 333/333 +f 327/327 333/333 332/332 +f 327/327 332/332 330/330 +f 1949/1949 1956/1956 325/325 +f 325/325 1956/1956 254/254 +f 325/325 254/254 324/324 +f 1926/1926 289/289 292/292 +f 1926/1926 292/292 308/308 +f 308/308 292/292 275/275 +f 275/275 292/292 295/295 +f 275/275 295/295 1916/1916 +f 273/273 275/275 1916/1916 +f 1910/1910 296/296 271/271 +f 271/271 296/296 298/298 +f 271/271 298/298 838/838 +f 838/838 298/298 264/264 +f 838/838 264/264 323/323 +f 1962/1962 255/255 254/254 +f 1962/1962 254/254 1956/1956 +f 329/329 324/324 254/254 +f 329/329 254/254 252/252 +f 862/862 835/835 1935/1935 +f 862/862 1935/1935 1942/1942 +f 326/326 862/862 1942/1942 +f 326/326 1942/1942 1949/1949 +f 326/326 1949/1949 325/325 +f 326/326 325/325 324/324 +f 1935/1935 835/835 323/323 +f 1935/1935 323/323 264/264 +f 250/250 279/279 278/278 +f 250/250 278/278 248/248 +f 248/248 278/278 268/268 +f 248/248 268/268 246/246 +f 322/322 28/28 29/29 +f 1933/1933 1927/1927 276/276 +f 1933/1933 276/276 277/277 +f 1933/1933 277/277 1939/1939 +f 1939/1939 277/277 1946/1946 +f 1946/1946 277/277 280/280 +f 1946/1946 280/280 1953/1953 +f 242/242 241/241 319/319 +f 242/242 319/319 318/318 +f 244/244 242/242 318/318 +f 244/244 318/318 317/317 +f 247/247 244/244 317/317 +f 247/247 317/317 316/316 +f 249/249 247/247 316/316 +f 249/249 316/316 315/315 +f 251/251 249/249 315/315 +f 251/251 315/315 314/314 +f 251/251 314/314 313/313 +f 251/251 313/313 312/312 +f 279/279 250/250 311/311 +f 279/279 311/311 282/282 +f 282/282 311/311 283/283 +f 1953/1953 280/280 281/281 +f 1953/1953 281/281 283/283 +f 272/272 270/270 1921/1921 +f 1915/1915 34/34 306/306 +f 306/306 34/34 30/30 +f 306/306 30/30 305/305 +f 284/284 290/290 288/288 +f 284/284 288/288 286/286 +f 286/286 288/288 1926/1926 +f 289/289 1926/1926 288/288 +f 302/302 31/31 287/287 +f 302/302 287/287 307/307 +f 304/304 302/302 307/307 +f 304/304 307/307 274/274 +f 306/306 304/304 274/274 +f 306/306 274/274 1915/1915 +f 287/287 309/309 1920/1920 +f 287/287 1920/1920 307/307 +f 307/307 1920/1920 1914/1914 +f 307/307 1914/1914 274/274 +f 304/304 306/306 305/305 +f 304/304 305/305 303/303 +f 302/302 304/304 303/303 +f 302/302 303/303 301/301 +f 31/31 302/302 301/301 +f 31/31 301/301 300/300 +f 33/33 31/31 300/300 +f 299/299 266/266 1928/1928 +f 299/299 1928/1928 1922/1922 +f 297/297 299/299 1922/1922 +f 297/297 1922/1922 1916/1916 +f 294/294 297/297 1916/1916 +f 294/294 1916/1916 295/295 +f 294/294 295/295 292/292 +f 294/294 292/292 293/293 +f 293/293 292/292 291/291 +f 291/291 292/292 289/289 +f 291/291 289/289 290/290 +f 290/290 289/289 288/288 +f 285/285 287/287 31/31 +f 285/285 31/31 32/32 +f 284/284 1932/1932 285/285 +f 284/284 285/285 32/32 +f 33/33 284/284 32/32 +f 282/282 283/283 281/281 +f 282/282 281/281 279/279 +f 279/279 281/281 280/280 +f 279/279 280/280 277/277 +f 279/279 277/277 278/278 +f 278/278 277/277 268/268 +f 268/268 277/277 276/276 +f 268/268 276/276 1927/1927 +f 269/269 268/268 1927/1927 +f 274/274 1914/1914 1908/1908 +f 274/274 1908/1908 1915/1915 +f 272/272 1909/1909 1906/1906 +f 272/272 1906/1906 270/270 +f 270/270 1906/1906 1902/1902 +f 270/270 1902/1902 887/887 +f 887/887 859/859 243/243 +f 887/887 243/243 270/270 +f 270/270 243/243 245/245 +f 270/270 245/245 269/269 +f 269/269 245/245 246/246 +f 269/269 246/246 268/268 +f 266/266 267/267 265/265 +f 266/266 265/265 1928/1928 +f 263/263 262/262 259/259 +f 263/263 259/259 260/260 +f 856/856 263/263 260/260 +f 252/252 253/253 257/257 +f 252/252 257/257 262/262 +f 262/262 257/257 259/259 +f 258/258 261/261 260/260 +f 258/258 260/260 259/259 +f 258/258 259/259 257/257 +f 258/258 257/257 256/256 +f 256/256 257/257 253/253 +f 256/256 253/253 255/255 +f 255/255 253/253 254/254 +f 252/252 254/254 253/253 +f 249/249 251/251 250/250 +f 249/249 250/250 248/248 +f 247/247 249/249 248/248 +f 247/247 248/248 246/246 +f 244/244 247/247 246/246 +f 244/244 246/246 245/245 +f 244/244 245/245 243/243 +f 244/244 243/243 242/242 +f 242/242 243/243 859/859 +f 242/242 859/859 241/241 +f 241/241 859/859 240/240 +f 172/172 173/173 196/196 +f 172/172 196/196 232/232 +f 201/201 190/190 189/189 +f 201/201 189/189 200/200 +f 24/24 2005/2005 210/210 +f 24/24 210/210 204/204 +f 228/228 217/217 215/215 +f 228/228 215/215 227/227 +f 168/168 228/228 227/227 +f 219/219 208/208 158/158 +f 219/219 158/158 161/161 +f 216/216 219/219 161/161 +f 216/216 161/161 162/162 +f 215/215 216/216 162/162 +f 215/215 162/162 165/165 +f 166/166 215/215 165/165 +f 199/199 183/183 184/184 +f 199/199 184/184 200/200 +f 191/191 199/199 200/200 +f 191/191 200/200 189/189 +f 197/197 182/182 180/180 +f 197/197 180/180 202/202 +f 202/202 180/180 179/179 +f 202/202 179/179 176/176 +f 203/203 202/202 176/176 +f 203/203 176/176 24/24 +f 2010/2010 2014/2014 27/27 +f 238/238 143/143 144/144 +f 238/238 144/144 2022/2022 +f 2022/2022 144/144 146/146 +f 239/239 2019/2019 151/151 +f 151/151 2019/2019 153/153 +f 137/137 153/153 2019/2019 +f 239/239 151/151 149/149 +f 239/239 149/149 2025/2025 +f 238/238 2022/2022 147/147 +f 238/238 147/147 236/236 +f 143/143 238/238 236/236 +f 236/236 147/147 148/148 +f 236/236 148/148 169/169 +f 453/453 232/232 196/196 +f 453/453 196/196 237/237 +f 237/237 196/196 205/205 +f 139/139 143/143 236/236 +f 139/139 236/236 138/138 +f 138/138 236/236 235/235 +f 171/171 172/172 232/232 +f 171/171 232/232 233/233 +f 171/171 233/233 234/234 +f 171/171 234/234 170/170 +f 170/170 234/234 235/235 +f 170/170 235/235 169/169 +f 169/169 235/235 236/236 +f 138/138 235/235 234/234 +f 138/138 234/234 140/140 +f 140/140 234/234 233/233 +f 140/140 233/233 1729/1729 +f 1729/1729 233/233 453/453 +f 232/232 453/453 233/233 +f 155/155 153/153 137/137 +f 155/155 137/137 136/136 +f 185/185 186/186 204/204 +f 185/185 204/204 207/207 +f 207/207 204/204 210/210 +f 207/207 210/210 206/206 +f 206/206 210/210 231/231 +f 206/206 231/231 205/205 +f 135/135 231/231 210/210 +f 135/135 210/210 229/229 +f 229/229 210/210 209/209 +f 229/229 209/209 230/230 +f 1995/1995 2000/2000 220/220 +f 1995/1995 220/220 2029/2029 +f 2031/2031 214/214 223/223 +f 2031/2031 223/223 222/222 +f 222/222 223/223 221/221 +f 221/221 223/223 224/224 +f 221/221 224/224 2003/2003 +f 2027/2027 221/221 2003/2003 +f 1998/1998 225/225 1993/1993 +f 1993/1993 225/225 226/226 +f 1993/1993 226/226 1988/1988 +f 1988/1988 226/226 2013/2013 +f 213/213 217/217 228/228 +f 213/213 228/228 211/211 +f 211/211 228/228 168/168 +f 212/212 168/168 167/167 +f 212/212 167/167 214/214 +f 214/214 167/167 164/164 +f 166/166 168/168 227/227 +f 166/166 227/227 215/215 +f 157/157 155/155 136/136 +f 157/157 136/136 2008/2008 +f 159/159 157/157 2008/2008 +f 159/159 2008/2008 2003/2003 +f 160/160 159/159 2003/2003 +f 160/160 2003/2003 224/224 +f 163/163 160/160 224/224 +f 163/163 224/224 223/223 +f 164/164 163/163 223/223 +f 164/164 223/223 214/214 +f 217/217 213/213 2030/2030 +f 217/217 2030/2030 218/218 +f 218/218 2030/2030 2029/2029 +f 218/218 2029/2029 220/220 +f 220/220 2000/2000 208/208 +f 220/220 208/208 219/219 +f 218/218 220/220 219/219 +f 218/218 219/219 216/216 +f 217/217 218/218 216/216 +f 217/217 216/216 215/215 +f 212/212 214/214 2031/2031 +f 212/212 2031/2031 2032/2032 +f 168/168 212/212 2032/2032 +f 209/209 210/210 2005/2005 +f 2000/2000 25/25 208/208 +f 208/208 25/25 26/26 +f 208/208 26/26 158/158 +f 192/192 191/191 189/189 +f 192/192 189/189 187/187 +f 193/193 192/192 187/187 +f 193/193 187/187 185/185 +f 194/194 193/193 185/185 +f 194/194 185/185 207/207 +f 194/194 207/207 206/206 +f 194/194 206/206 195/195 +f 195/195 206/206 205/205 +f 195/195 205/205 196/196 +f 24/24 204/204 186/186 +f 24/24 186/186 203/203 +f 203/203 186/186 202/202 +f 202/202 186/186 188/188 +f 202/202 188/188 190/190 +f 197/197 202/202 190/190 +f 197/197 190/190 198/198 +f 198/198 190/190 201/201 +f 198/198 201/201 184/184 +f 184/184 201/201 200/200 +f 183/183 199/199 191/191 +f 183/183 191/191 181/181 +f 198/198 184/184 182/182 +f 198/198 182/182 197/197 +f 195/195 196/196 173/173 +f 195/195 173/173 174/174 +f 194/194 195/195 174/174 +f 194/194 174/174 175/175 +f 193/193 194/194 175/175 +f 193/193 175/175 177/177 +f 192/192 193/193 177/177 +f 192/192 177/177 178/178 +f 191/191 192/192 178/178 +f 191/191 178/178 181/181 +f 189/189 190/190 188/188 +f 189/189 188/188 187/187 +f 187/187 188/188 186/186 +f 187/187 186/186 185/185 +f 2023/2023 184/184 183/183 +f 2023/2023 183/183 181/181 +f 2020/2020 2023/2023 181/181 +f 2020/2020 181/181 178/178 +f 2017/2017 2020/2020 178/178 +f 2017/2017 178/178 2014/2014 +f 2014/2014 178/178 177/177 +f 2014/2014 177/177 175/175 +f 27/27 2014/2014 175/175 +f 27/27 175/175 174/174 +f 26/26 27/27 174/174 +f 26/26 174/174 173/173 +f 167/167 168/168 166/166 +f 167/167 166/166 164/164 +f 164/164 166/166 165/165 +f 164/164 165/165 162/162 +f 163/163 164/164 162/162 +f 163/163 162/162 160/160 +f 160/160 162/162 161/161 +f 160/160 161/161 158/158 +f 159/159 160/160 158/158 +f 159/159 158/158 157/157 +f 157/157 158/158 26/26 +f 157/157 26/26 156/156 +f 156/156 26/26 173/173 +f 156/156 173/173 154/154 +f 154/154 173/173 172/172 +f 154/154 172/172 171/171 +f 155/155 157/157 156/156 +f 155/155 156/156 154/154 +f 153/153 155/155 154/154 +f 153/153 154/154 152/152 +f 152/152 154/154 171/171 +f 152/152 171/171 170/170 +f 151/151 153/153 152/152 +f 151/151 152/152 150/150 +f 150/150 152/152 170/170 +f 150/150 170/170 169/169 +f 150/150 169/169 2028/2028 +f 150/150 2028/2028 149/149 +f 149/149 2028/2028 2025/2025 +f 150/150 149/149 151/151 +f 145/145 1342/1342 2016/2016 +f 145/145 2016/2016 146/146 +f 145/145 146/146 144/144 +f 145/145 144/144 142/142 +f 142/142 144/144 141/141 +f 141/141 144/144 143/143 +f 141/141 143/143 139/139 +f 140/140 1729/1729 142/142 +f 140/140 142/142 141/141 +f 140/140 141/141 139/139 +f 140/140 139/139 138/138 +f 2016/2016 1342/1342 1341/1341 +f 2016/2016 1341/1341 2013/2013 +f 2013/2013 1341/1341 1988/1988 +f 93/93 77/77 78/78 +f 93/93 78/78 91/91 +f 102/102 1954/1954 112/112 +f 102/102 112/112 126/126 +f 126/126 112/112 110/110 +f 126/126 110/110 127/127 +f 127/127 110/110 128/128 +f 128/128 110/110 16/16 +f 128/128 16/16 14/14 +f 92/92 89/89 90/90 +f 92/92 90/90 93/93 +f 93/93 90/90 77/77 +f 79/79 77/77 90/90 +f 130/130 1977/1977 78/78 +f 130/130 78/78 76/76 +f 130/130 76/76 75/75 +f 130/130 75/75 129/129 +f 129/129 75/75 19/19 +f 94/94 19/19 75/75 +f 1948/1948 96/96 62/62 +f 125/125 1941/1941 57/57 +f 23/23 8/8 6/6 +f 23/23 6/6 134/134 +f 134/134 6/6 132/132 +f 134/134 132/132 60/60 +f 22/22 23/23 134/134 +f 22/22 134/134 60/60 +f 58/58 22/22 60/60 +f 53/53 48/48 7/7 +f 53/53 7/7 8/8 +f 132/132 6/6 7/7 +f 132/132 7/7 131/131 +f 131/131 7/7 1967/1967 +f 131/131 1967/1967 123/123 +f 133/133 131/131 123/123 +f 133/133 123/123 124/124 +f 124/124 125/125 57/57 +f 124/124 57/57 59/59 +f 133/133 124/124 59/59 +f 133/133 59/59 60/60 +f 133/133 60/60 132/132 +f 133/133 132/132 131/131 +f 13/13 50/50 49/49 +f 13/13 49/49 20/20 +f 116/116 11/11 9/9 +f 116/116 9/9 117/117 +f 117/117 9/9 1974/1974 +f 117/117 1974/1974 118/118 +f 118/118 1974/1974 1970/1970 +f 118/118 1970/1970 21/21 +f 21/21 1970/1970 1966/1966 +f 88/88 13/13 12/12 +f 88/88 12/12 86/86 +f 86/86 12/12 113/113 +f 86/86 113/113 84/84 +f 84/84 113/113 73/73 +f 84/84 73/73 80/80 +f 80/80 73/73 74/74 +f 80/80 74/74 79/79 +f 79/79 74/74 77/77 +f 14/14 105/105 114/114 +f 14/14 114/114 128/128 +f 128/128 114/114 101/101 +f 128/128 101/101 127/127 +f 127/127 101/101 100/100 +f 127/127 100/100 126/126 +f 126/126 100/100 99/99 +f 126/126 99/99 102/102 +f 102/102 99/99 98/98 +f 102/102 98/98 17/17 +f 17/17 98/98 97/97 +f 17/17 97/97 119/119 +f 119/119 97/97 96/96 +f 119/119 96/96 120/120 +f 120/120 96/96 1948/1948 +f 120/120 1948/1948 1955/1955 +f 89/89 92/92 11/11 +f 89/89 11/11 81/81 +f 81/81 11/11 116/116 +f 81/81 116/116 82/82 +f 82/82 116/116 117/117 +f 82/82 117/117 83/83 +f 83/83 117/117 118/118 +f 83/83 118/118 85/85 +f 85/85 118/118 21/21 +f 85/85 21/21 87/87 +f 87/87 21/21 17/17 +f 87/87 17/17 61/61 +f 61/61 17/17 119/119 +f 61/61 119/119 56/56 +f 56/56 119/119 120/120 +f 56/56 120/120 55/55 +f 55/55 120/120 121/121 +f 55/55 121/121 54/54 +f 54/54 121/121 122/122 +f 54/54 122/122 48/48 +f 48/48 122/122 47/47 +f 46/46 47/47 122/122 +f 46/46 122/122 1961/1961 +f 1961/1961 122/122 121/121 +f 1961/1961 121/121 1955/1955 +f 1955/1955 121/121 120/120 +f 15/15 108/108 115/115 +f 15/15 115/115 105/105 +f 14/14 15/15 105/105 +f 108/108 71/71 107/107 +f 108/108 107/107 115/115 +f 115/115 107/107 105/105 +f 114/114 105/105 106/106 +f 114/114 106/106 72/72 +f 101/101 114/114 72/72 +f 70/70 71/71 108/108 +f 70/70 108/108 109/109 +f 67/67 70/70 109/109 +f 67/67 109/109 111/111 +f 94/94 75/75 73/73 +f 94/94 73/73 113/113 +f 95/95 94/94 113/113 +f 95/95 113/113 12/12 +f 12/12 572/572 1553/1553 +f 12/12 1553/1553 95/95 +f 95/95 1553/1553 579/579 +f 95/95 579/579 63/63 +f 1947/1947 95/95 63/63 +f 1947/1947 63/63 66/66 +f 111/111 104/104 1940/1940 +f 111/111 1940/1940 67/67 +f 112/112 1954/1954 104/104 +f 112/112 104/104 111/111 +f 110/110 112/112 111/111 +f 110/110 111/111 109/109 +f 16/16 110/110 109/109 +f 16/16 109/109 108/108 +f 15/15 16/16 108/108 +f 1959/1959 72/72 106/106 +f 1959/1959 106/106 1965/1965 +f 1965/1965 106/106 105/105 +f 95/95 1947/1947 103/103 +f 95/95 103/103 1960/1960 +f 18/18 1954/1954 17/17 +f 102/102 17/17 1954/1954 +f 100/100 101/101 72/72 +f 100/100 72/72 69/69 +f 99/99 100/100 69/69 +f 99/99 69/69 68/68 +f 98/98 99/99 68/68 +f 98/98 68/68 65/65 +f 97/97 98/98 65/65 +f 97/97 65/65 64/64 +f 96/96 97/97 64/64 +f 96/96 64/64 62/62 +f 95/95 1960/1960 19/19 +f 95/95 19/19 94/94 +f 10/10 11/11 92/92 +f 1980/1980 92/92 91/91 +f 91/91 92/92 93/93 +f 1980/1980 91/91 78/78 +f 1980/1980 78/78 1977/1977 +f 79/79 90/90 89/89 +f 79/79 89/89 81/81 +f 61/61 13/13 88/88 +f 61/61 88/88 87/87 +f 87/87 88/88 86/86 +f 87/87 86/86 85/85 +f 85/85 86/86 84/84 +f 85/85 84/84 83/83 +f 83/83 84/84 80/80 +f 83/83 80/80 82/82 +f 82/82 80/80 81/81 +f 79/79 81/81 80/80 +f 76/76 78/78 77/77 +f 76/76 77/77 74/74 +f 75/75 76/76 74/74 +f 75/75 74/74 73/73 +f 69/69 72/72 1959/1959 +f 69/69 1959/1959 1952/1952 +f 69/69 1952/1952 1945/1945 +f 69/69 1945/1945 68/68 +f 68/68 1945/1945 65/65 +f 65/65 1945/1945 1938/1938 +f 65/65 1938/1938 1936/1936 +f 64/64 65/65 1936/1936 +f 64/64 1936/1936 62/62 +f 1941/1941 1934/1934 1929/1929 +f 1941/1941 1929/1929 580/580 +f 1941/1941 580/580 506/506 +f 1941/1941 506/506 57/57 +f 56/56 50/50 13/13 +f 56/56 13/13 61/61 +f 58/58 60/60 59/59 +f 58/58 59/59 57/57 +f 506/506 58/58 57/57 +f 50/50 56/56 55/55 +f 50/50 55/55 51/51 +f 51/51 55/55 52/52 +f 52/52 55/55 54/54 +f 52/52 54/54 53/53 +f 53/53 54/54 48/48 +f 52/52 53/53 8/8 +f 52/52 8/8 23/23 +f 51/51 52/52 23/23 +f 51/51 23/23 597/597 +f 50/50 51/51 597/597 +f 50/50 597/597 49/49 +f 7/7 48/48 1971/1971 +f 7/7 1971/1971 1967/1967 +f 560/560 562/562 561/561 +f 556/556 559/559 558/558 +f 556/556 558/558 557/557 +f 515/515 1775/1775 514/514 +f 553/553 555/555 554/554 +f 550/550 552/552 551/551 +f 547/547 1925/1925 548/548 +f 544/544 546/546 545/545 +f 528/528 529/529 1778/1778 +f 541/541 543/543 542/542 +f 486/486 523/523 500/500 +f 485/485 540/540 539/539 +f 490/490 1855/1855 474/474 +f 475/475 461/461 477/477 +f 484/484 485/485 538/538 +f 1785/1785 486/486 537/537 +f 534/534 536/536 535/535 +f 531/531 533/533 532/532 +f 528/528 530/530 529/529 +f 493/493 1870/1870 474/474 +f 526/526 1864/1864 527/527 +f 494/494 495/495 525/525 +f 498/498 499/499 1830/1830 +f 500/500 523/523 522/522 +f 519/519 521/521 520/520 +f 516/516 518/518 517/517 +f 513/513 515/515 514/514 +f 442/442 512/512 511/511 +f 508/508 510/510 509/509 +f 505/505 507/507 506/506 +f 502/502 504/504 503/503 +f 500/500 501/501 1789/1789 +f 497/497 499/499 498/498 +f 494/494 496/496 495/495 +f 492/492 1870/1870 493/493 +f 474/474 1870/1870 490/490 +f 487/487 489/489 1876/1876 +f 458/458 486/486 1785/1785 +f 484/484 481/481 485/485 +f 481/481 483/483 482/482 +f 478/478 480/480 479/479 +f 475/475 477/477 476/476 +f 468/468 474/474 1855/1855 +f 472/472 473/473 1852/1852 +f 469/469 471/471 470/470 +f 466/466 468/468 1855/1855 +f 463/463 465/465 464/464 +f 460/460 462/462 1924/1924 +f 1785/1785 459/459 458/458 +f 455/455 457/457 456/456 +f 452/452 454/454 453/453 +f 449/449 451/451 450/450 +f 446/446 448/448 447/447 +f 443/443 445/445 444/444 +f 440/440 442/442 441/441 +f 437/437 439/439 438/438 +f 597/597 22/22 596/596 +f 597/597 596/596 598/598 +f 518/518 608/608 606/606 +f 518/518 606/606 611/611 +f 604/604 603/603 1429/1429 +f 604/604 1429/1429 611/611 +f 1392/1392 1385/1385 1372/1372 +f 1392/1392 1372/1372 1371/1371 +f 613/613 601/601 599/599 +f 613/613 599/599 1432/1432 +f 620/620 1531/1531 1534/1534 +f 620/620 1534/1534 619/619 +f 619/619 1534/1534 1536/1536 +f 619/619 1536/1536 616/616 +f 616/616 1536/1536 1565/1565 +f 1565/1565 1536/1536 1539/1539 +f 1565/1565 1539/1539 681/681 +f 682/682 1565/1565 681/681 +f 1745/1745 1556/1556 1717/1717 +f 1745/1745 1717/1717 1747/1747 +f 1747/1747 1717/1717 1724/1724 +f 1747/1747 1724/1724 1722/1722 +f 1725/1725 1724/1724 1717/1717 +f 1725/1725 1717/1717 1718/1718 +f 1746/1746 1745/1745 1747/1747 +f 1746/1746 1747/1747 1575/1575 +f 1575/1575 1747/1747 445/445 +f 445/445 1747/1747 1722/1722 +f 445/445 1722/1722 1572/1572 +f 1572/1572 1722/1722 534/534 +f 1746/1746 1575/1575 1574/1574 +f 1746/1746 1574/1574 503/503 +f 1745/1745 1746/1746 503/503 +f 1745/1745 503/503 1559/1559 +f 1556/1556 1745/1745 1559/1559 +f 1739/1739 775/775 774/774 +f 1739/1739 774/774 1740/1740 +f 1740/1740 774/774 1742/1742 +f 1740/1740 1742/1742 1741/1741 +f 1741/1741 1742/1742 1743/1743 +f 1741/1741 1743/1743 504/504 +f 504/504 1743/1743 1744/1744 +f 504/504 1744/1744 503/503 +f 503/503 1744/1744 1559/1559 +f 1776/1776 1559/1559 1744/1744 +f 1776/1776 1744/1744 1603/1603 +f 1603/1603 1744/1744 1513/1513 +f 1513/1513 1744/1744 1743/1743 +f 1513/1513 1743/1743 555/555 +f 555/555 1743/1743 1742/1742 +f 555/555 1742/1742 554/554 +f 554/554 1742/1742 750/750 +f 772/772 750/750 1742/1742 +f 772/772 1742/1742 774/774 +f 1741/1741 504/504 1568/1568 +f 1741/1741 1568/1568 1740/1740 +f 1740/1740 1568/1568 1739/1739 +f 1570/1570 443/443 775/775 +f 1570/1570 775/775 1738/1738 +f 1738/1738 775/775 1739/1739 +f 1738/1738 1739/1739 1568/1568 +f 1570/1570 1738/1738 1568/1568 +f 1737/1737 450/450 451/451 +f 1737/1737 451/451 844/844 +f 844/844 842/842 1353/1353 +f 844/844 1353/1353 1737/1737 +f 1737/1737 1353/1353 1355/1355 +f 1737/1737 1355/1355 1736/1736 +f 450/450 1737/1737 1736/1736 +f 450/450 1736/1736 1735/1735 +f 893/893 450/450 1735/1735 +f 893/893 1735/1735 1733/1733 +f 1733/1733 1735/1735 1666/1666 +f 1668/1668 1666/1666 1735/1735 +f 1668/1668 1735/1735 1736/1736 +f 861/861 1668/1668 1736/1736 +f 861/861 1736/1736 1355/1355 +f 893/893 1733/1733 1734/1734 +f 893/893 1734/1734 892/892 +f 892/892 1734/1734 895/895 +f 892/892 895/895 891/891 +f 894/894 895/895 1734/1734 +f 894/894 1734/1734 1661/1661 +f 1661/1661 1734/1734 1733/1733 +f 1661/1661 1733/1733 1664/1664 +f 1664/1664 1733/1733 1666/1666 +f 854/854 890/890 1317/1317 +f 854/854 1317/1317 456/456 +f 1886/1886 888/888 1357/1357 +f 1886/1886 1357/1357 880/880 +f 880/880 1357/1357 879/879 +f 879/879 1357/1357 1358/1358 +f 879/879 1358/1358 877/877 +f 877/877 1358/1358 1732/1732 +f 877/877 1732/1732 1731/1731 +f 875/875 877/877 1731/1731 +f 875/875 1731/1731 1730/1730 +f 873/873 1872/1872 1869/1869 +f 1337/1337 142/142 1729/1729 +f 1337/1337 1729/1729 454/454 +f 454/454 1729/1729 453/453 +f 1311/1311 1852/1852 467/467 +f 1311/1311 467/467 1312/1312 +f 1312/1312 467/467 1858/1858 +f 1312/1312 1858/1858 1314/1314 +f 1314/1314 1858/1858 920/920 +f 1314/1314 920/920 1316/1316 +f 1316/1316 920/920 455/455 +f 1316/1316 455/455 456/456 +f 903/903 902/902 908/908 +f 903/903 908/908 909/909 +f 906/906 903/903 909/909 +f 906/906 909/909 915/915 +f 917/917 943/943 945/945 +f 917/917 945/945 1728/1728 +f 1728/1728 945/945 946/946 +f 1728/1728 946/946 1727/1727 +f 1727/1727 946/946 1277/1277 +f 1727/1727 1277/1277 1975/1975 +f 1727/1727 1975/1975 906/906 +f 1727/1727 906/906 915/915 +f 1728/1728 1727/1727 915/915 +f 1728/1728 915/915 916/916 +f 916/916 917/917 1728/1728 +f 1277/1277 946/946 947/947 +f 1972/1972 1968/1968 975/975 +f 934/934 932/932 950/950 +f 934/934 950/950 953/953 +f 951/951 952/952 978/978 +f 951/951 978/978 1680/1680 +f 1719/1719 826/826 1803/1803 +f 1719/1719 1803/1803 1688/1688 +f 1720/1720 1719/1719 1688/1688 +f 1720/1720 1688/1688 1689/1689 +f 1720/1720 1689/1689 1692/1692 +f 1720/1720 1692/1692 1721/1721 +f 1721/1721 1692/1692 534/534 +f 1721/1721 534/534 1722/1722 +f 1719/1719 1720/1720 1721/1721 +f 1719/1719 1721/1721 1723/1723 +f 1723/1723 1721/1721 1722/1722 +f 1723/1723 1722/1722 1724/1724 +f 1723/1723 1724/1724 1725/1725 +f 1723/1723 1725/1725 1726/1726 +f 1726/1726 1725/1725 829/829 +f 1726/1726 829/829 826/826 +f 1726/1726 826/826 1719/1719 +f 1726/1726 1719/1719 1723/1723 +f 1259/1259 829/829 1725/1725 +f 1259/1259 1725/1725 1260/1260 +f 1260/1260 1725/1725 1718/1718 +f 1260/1260 1718/1718 1556/1556 +f 1556/1556 1718/1718 1717/1717 +f 500/500 1789/1789 537/537 +f 500/500 537/537 486/486 +f 1660/1660 532/532 533/533 +f 1660/1660 533/533 755/755 +f 759/759 1200/1200 1199/1199 +f 759/759 1199/1199 757/757 +f 757/757 1199/1199 480/480 +f 757/757 480/480 756/756 +f 756/756 480/480 1660/1660 +f 756/756 1660/1660 755/755 +f 1151/1151 1152/1152 1490/1490 +f 1151/1151 1490/1490 1498/1498 +f 1498/1498 1490/1490 1489/1489 +f 1151/1151 1498/1498 1083/1083 +f 1151/1151 1083/1083 1084/1084 +f 1153/1153 1151/1151 1084/1084 +f 1153/1153 1084/1084 1160/1160 +f 1160/1160 1084/1084 1165/1165 +f 1154/1154 1153/1153 1160/1160 +f 1166/1166 1165/1165 1084/1084 +f 1166/1166 1084/1084 1082/1082 +f 1082/1082 1084/1084 1083/1083 +f 1082/1082 1083/1083 1081/1081 +f 1081/1081 1083/1083 1085/1085 +f 1081/1081 1085/1085 1075/1075 +f 1075/1075 1085/1085 1086/1086 +f 1075/1075 1086/1086 1074/1074 +f 1074/1074 1086/1086 1087/1087 +f 1074/1074 1087/1087 1071/1071 +f 1071/1071 1087/1087 1088/1088 +f 1071/1071 1088/1088 1070/1070 +f 1070/1070 1088/1088 543/543 +f 1088/1088 1087/1087 1089/1089 +f 1088/1088 1089/1089 1090/1090 +f 1080/1080 1082/1082 1081/1081 +f 1080/1080 1081/1081 1077/1077 +f 1077/1077 1081/1081 1075/1075 +f 1077/1077 1075/1075 1076/1076 +f 1076/1076 1075/1075 1072/1072 +f 1076/1076 1072/1072 1073/1073 +f 1073/1073 1072/1072 1069/1069 +f 1076/1076 1073/1073 1078/1078 +f 1076/1076 1078/1078 1077/1077 +f 1077/1077 1078/1078 1079/1079 +f 1077/1077 1079/1079 1080/1080 +f 1072/1072 1075/1075 1074/1074 +f 1072/1072 1074/1074 1071/1071 +f 1168/1168 1166/1166 1082/1082 +f 1168/1168 1082/1082 1080/1080 +f 1079/1079 1168/1168 1080/1080 +f 1705/1705 483/483 1236/1236 +f 1705/1705 1236/1236 1237/1237 +f 1191/1191 864/864 1184/1184 +f 1191/1191 1184/1184 1193/1193 +f 1193/1193 1184/1184 1716/1716 +f 1193/1193 1716/1716 1336/1336 +f 1336/1336 1716/1716 1335/1335 +f 1336/1336 1335/1335 1183/1183 +f 1183/1183 1335/1335 922/922 +f 1710/1710 1238/1238 1234/1234 +f 1710/1710 1234/1234 1232/1232 +f 1232/1232 1234/1234 1233/1233 +f 1232/1232 1233/1233 1231/1231 +f 1231/1231 1233/1233 1226/1226 +f 1231/1231 1226/1226 1228/1228 +f 484/484 1226/1226 1233/1233 +f 484/484 1233/1233 1235/1235 +f 1235/1235 1233/1233 1234/1234 +f 1235/1235 1234/1234 1236/1236 +f 1236/1236 1234/1234 1237/1237 +f 1238/1238 1237/1237 1234/1234 +f 481/481 484/484 1235/1235 +f 481/481 1235/1235 1236/1236 +f 481/481 1236/1236 483/483 +f 1710/1710 1232/1232 1214/1214 +f 1710/1710 1214/1214 1711/1711 +f 1711/1711 1214/1214 1712/1712 +f 1711/1711 1712/1712 1036/1036 +f 1036/1036 1712/1712 1043/1043 +f 1711/1711 1036/1036 1035/1035 +f 1711/1711 1035/1035 1710/1710 +f 1710/1710 1035/1035 1037/1037 +f 1710/1710 1037/1037 1238/1238 +f 1238/1238 1037/1037 1714/1714 +f 1238/1238 1714/1714 1237/1237 +f 1237/1237 1714/1714 1715/1715 +f 1237/1237 1715/1715 1705/1705 +f 1705/1705 1715/1715 475/475 +f 1714/1714 1037/1037 1038/1038 +f 1714/1714 1038/1038 1715/1715 +f 1715/1715 1038/1038 475/475 +f 475/475 1038/1038 1698/1698 +f 475/475 1698/1698 1918/1918 +f 1918/1918 1698/1698 996/996 +f 461/461 475/475 1918/1918 +f 1194/1194 1193/1193 1336/1336 +f 1194/1194 1336/1336 1183/1183 +f 866/866 864/864 1709/1709 +f 866/866 1709/1709 1146/1146 +f 1190/1190 866/866 1146/1146 +f 1190/1190 1146/1146 1145/1145 +f 471/471 1190/1190 1145/1145 +f 471/471 1145/1145 470/470 +f 1706/1706 1705/1705 475/475 +f 1706/1706 475/475 476/476 +f 1706/1706 476/476 1173/1173 +f 1706/1706 1173/1173 1707/1707 +f 1707/1707 1173/1173 1174/1174 +f 1707/1707 1174/1174 1708/1708 +f 1708/1708 1174/1174 1176/1176 +f 1708/1708 1176/1176 1680/1680 +f 1708/1708 1680/1680 1672/1672 +f 1708/1708 1672/1672 1671/1671 +f 1707/1707 1708/1708 1671/1671 +f 1707/1707 1671/1671 482/482 +f 1706/1706 1707/1707 482/482 +f 1706/1706 482/482 1705/1705 +f 1705/1705 482/482 483/483 +f 482/482 1670/1670 1679/1679 +f 482/482 1679/1679 485/485 +f 485/485 1679/1679 540/540 +f 481/481 482/482 485/485 +f 1676/1676 540/540 1679/1679 +f 1676/1676 1679/1679 1670/1670 +f 1181/1181 1178/1178 1177/1177 +f 1181/1181 1177/1177 1699/1699 +f 1699/1699 1177/1177 1700/1700 +f 1699/1699 1700/1700 1701/1701 +f 1701/1701 1700/1700 1136/1136 +f 1701/1701 1136/1136 1138/1138 +f 1138/1138 1136/1136 1137/1137 +f 1138/1138 1137/1137 1139/1139 +f 1139/1139 1140/1140 1138/1138 +f 1701/1701 1138/1138 1140/1140 +f 1701/1701 1140/1140 1702/1702 +f 1702/1702 1140/1140 1703/1703 +f 1702/1702 1703/1703 1219/1219 +f 1219/1219 1703/1703 1215/1215 +f 1699/1699 1701/1701 1702/1702 +f 1699/1699 1702/1702 1704/1704 +f 1704/1704 1702/1702 1219/1219 +f 1704/1704 1219/1219 1834/1834 +f 1704/1704 1834/1834 1181/1181 +f 1704/1704 1181/1181 1699/1699 +f 1700/1700 1177/1177 1104/1104 +f 1700/1700 1104/1104 1105/1105 +f 1700/1700 1105/1105 1134/1134 +f 1700/1700 1134/1134 1136/1136 +f 1136/1136 1134/1134 1135/1135 +f 1136/1136 1135/1135 1137/1137 +f 1137/1137 1135/1135 1042/1042 +f 1137/1137 1042/1042 1043/1043 +f 1043/1043 1042/1042 1036/1036 +f 1139/1139 1137/1137 1043/1043 +f 1139/1139 1043/1043 1148/1148 +f 1148/1148 1043/1043 1712/1712 +f 1148/1148 1712/1712 1212/1212 +f 1212/1212 1712/1712 1214/1214 +f 1212/1212 1214/1214 1213/1213 +f 1212/1212 1213/1213 1211/1211 +f 1212/1212 1211/1211 1210/1210 +f 1210/1210 1211/1211 1209/1209 +f 1210/1210 1209/1209 1208/1208 +f 1208/1208 1209/1209 1207/1207 +f 1208/1208 1207/1207 1206/1206 +f 1206/1206 1207/1207 1205/1205 +f 1206/1206 1205/1205 1204/1204 +f 1204/1204 1205/1205 1203/1203 +f 1204/1204 1203/1203 1202/1202 +f 1202/1202 1203/1203 1201/1201 +f 1202/1202 1201/1201 524/524 +f 524/524 1201/1201 1171/1171 +f 524/524 1171/1171 1829/1829 +f 1079/1079 1171/1171 1201/1201 +f 1079/1079 1201/1201 1203/1203 +f 1224/1224 1079/1079 1203/1203 +f 1224/1224 1203/1203 1205/1205 +f 1202/1202 524/524 1217/1217 +f 1202/1202 1217/1217 1218/1218 +f 1206/1206 1204/1204 1202/1202 +f 1206/1206 1202/1202 1215/1215 +f 1215/1215 1202/1202 1216/1216 +f 1216/1216 1202/1202 1218/1218 +f 1216/1216 1218/1218 1219/1219 +f 1219/1219 1218/1218 1220/1220 +f 1219/1219 1220/1220 1834/1834 +f 1182/1182 1833/1833 1221/1221 +f 1216/1216 1219/1219 1215/1215 +f 1833/1833 1832/1832 1222/1222 +f 1833/1833 1222/1222 1221/1221 +f 1221/1221 1222/1222 1223/1223 +f 1148/1148 1212/1212 1210/1210 +f 1148/1148 1210/1210 1150/1150 +f 1150/1150 1210/1210 1208/1208 +f 1150/1150 1208/1208 1713/1713 +f 1713/1713 1208/1208 1206/1206 +f 1713/1713 1206/1206 1215/1215 +f 1713/1713 1215/1215 1703/1703 +f 1713/1713 1703/1703 1140/1140 +f 1713/1713 1140/1140 1150/1150 +f 441/441 1656/1656 1657/1657 +f 441/441 1657/1657 1812/1812 +f 1596/1596 1597/1597 1493/1493 +f 1596/1596 1493/1493 1491/1491 +f 1491/1491 1493/1493 1492/1492 +f 1491/1491 1492/1492 1488/1488 +f 1488/1488 1492/1492 1487/1487 +f 1486/1486 1491/1491 1488/1488 +f 1486/1486 1488/1488 1489/1489 +f 1489/1489 1488/1488 1487/1487 +f 1595/1595 1596/1596 1491/1491 +f 1595/1595 1491/1491 1485/1485 +f 1485/1485 1491/1491 1486/1486 +f 1088/1088 1090/1090 542/542 +f 1088/1088 542/542 543/543 +f 1094/1094 536/536 1695/1695 +f 1094/1094 1695/1695 1697/1697 +f 1697/1697 1695/1695 1696/1696 +f 1697/1697 1696/1696 1681/1681 +f 1681/1681 1696/1696 1682/1682 +f 1697/1697 1681/1681 1094/1094 +f 1694/1694 1682/1682 1696/1696 +f 1694/1694 1696/1696 1802/1802 +f 1690/1690 1802/1802 1696/1696 +f 1690/1690 1696/1696 1691/1691 +f 1691/1691 1696/1696 1695/1695 +f 1691/1691 1695/1695 1693/1693 +f 1693/1693 1695/1695 536/536 +f 1257/1257 1240/1240 1096/1096 +f 1257/1257 1096/1096 1683/1683 +f 1683/1683 1096/1096 1095/1095 +f 1683/1683 1095/1095 1684/1684 +f 1684/1684 1095/1095 1800/1800 +f 1684/1684 1800/1800 1685/1685 +f 1685/1685 1800/1800 1801/1801 +f 1685/1685 1801/1801 1686/1686 +f 1686/1686 1801/1801 1687/1687 +f 1686/1686 1687/1687 1061/1061 +f 1061/1061 1687/1687 827/827 +f 1688/1688 1803/1803 1802/1802 +f 1688/1688 1802/1802 1689/1689 +f 1689/1689 1802/1802 1690/1690 +f 1689/1689 1690/1690 1691/1691 +f 1692/1692 1689/1689 1691/1691 +f 1692/1692 1691/1691 534/534 +f 534/534 1691/1691 1693/1693 +f 534/534 1693/1693 536/536 +f 1686/1686 1061/1061 1064/1064 +f 1686/1686 1064/1064 1685/1685 +f 1685/1685 1064/1064 1062/1062 +f 1685/1685 1062/1062 1684/1684 +f 1684/1684 1062/1062 541/541 +f 1684/1684 541/541 1261/1261 +f 1683/1683 1684/1684 1261/1261 +f 1683/1683 1261/1261 1257/1257 +f 1799/1799 1800/1800 1095/1095 +f 1799/1799 1095/1095 1798/1798 +f 1680/1680 1176/1176 1343/1343 +f 1680/1680 1343/1343 951/951 +f 951/951 1343/1343 1344/1344 +f 951/951 1344/1344 953/953 +f 953/953 1344/1344 1275/1275 +f 953/953 1275/1275 934/934 +f 1672/1672 1680/1680 978/978 +f 1672/1672 978/978 1678/1678 +f 1678/1678 978/978 977/977 +f 1678/1678 977/977 1677/1677 +f 1677/1677 977/977 976/976 +f 1677/1677 976/976 1673/1673 +f 1677/1677 1673/1673 1674/1674 +f 1677/1677 1674/1674 1676/1676 +f 1676/1676 1674/1674 1675/1675 +f 1676/1676 1675/1675 540/540 +f 540/540 1675/1675 539/539 +f 1170/1170 539/539 1675/1675 +f 1170/1170 1675/1675 1198/1198 +f 1198/1198 1675/1675 967/967 +f 967/967 1675/1675 1674/1674 +f 967/967 1674/1674 965/965 +f 965/965 1674/1674 1673/1673 +f 965/965 1673/1673 963/963 +f 963/963 1673/1673 976/976 +f 963/963 976/976 973/973 +f 973/973 976/976 955/955 +f 973/973 955/955 974/974 +f 974/974 955/955 948/948 +f 974/974 948/948 975/975 +f 975/975 948/948 1972/1972 +f 941/941 1972/1972 948/948 +f 1678/1678 1677/1677 1676/1676 +f 1678/1678 1676/1676 1670/1670 +f 1672/1672 1678/1678 1670/1670 +f 1672/1672 1670/1670 1671/1671 +f 1671/1671 1670/1670 482/482 +f 145/145 142/142 1337/1337 +f 145/145 1337/1337 1338/1338 +f 1351/1351 914/914 1337/1337 +f 1351/1351 1337/1337 454/454 +f 1352/1352 1351/1351 454/454 +f 1352/1352 454/454 452/452 +f 452/452 453/453 237/237 +f 452/452 237/237 1669/1669 +f 1669/1669 237/237 205/205 +f 1669/1669 205/205 923/923 +f 1669/1669 923/923 924/924 +f 1669/1669 924/924 452/452 +f 452/452 924/924 1352/1352 +f 1348/1348 1352/1352 924/924 +f 1348/1348 924/924 926/926 +f 889/889 886/886 885/885 +f 889/889 885/885 1667/1667 +f 1667/1667 885/885 884/884 +f 1667/1667 884/884 1665/1665 +f 1665/1665 884/884 882/882 +f 1665/1665 882/882 1663/1663 +f 1663/1663 882/882 881/881 +f 1663/1663 881/881 1662/1662 +f 1662/1662 881/881 878/878 +f 1662/1662 878/878 1281/1281 +f 861/861 860/860 889/889 +f 861/861 889/889 1668/1668 +f 1668/1668 889/889 1667/1667 +f 1668/1668 1667/1667 1666/1666 +f 1666/1666 1667/1667 1665/1665 +f 1666/1666 1665/1665 1664/1664 +f 1664/1664 1665/1665 1663/1663 +f 1664/1664 1663/1663 1661/1661 +f 1661/1661 1663/1663 1662/1662 +f 1661/1661 1662/1662 1281/1281 +f 894/894 1661/1661 1281/1281 +f 894/894 1281/1281 1280/1280 +f 896/896 894/894 1280/1280 +f 896/896 1280/1280 1279/1279 +f 1320/1320 896/896 1279/1279 +f 1660/1660 480/480 478/478 +f 1660/1660 478/478 532/532 +f 532/532 478/478 1659/1659 +f 532/532 1659/1659 1656/1656 +f 1656/1656 1659/1659 1658/1658 +f 1656/1656 1658/1658 1657/1657 +f 1657/1657 1658/1658 1782/1782 +f 1657/1657 1782/1782 1812/1812 +f 1065/1065 1782/1782 1658/1658 +f 1065/1065 1658/1658 1063/1063 +f 1063/1063 1658/1658 1066/1066 +f 1066/1066 1658/1658 1659/1659 +f 1066/1066 1659/1659 478/478 +f 531/531 532/532 1656/1656 +f 531/531 1656/1656 441/441 +f 1262/1262 1812/1812 1782/1782 +f 1262/1262 1782/1782 1360/1360 +f 828/828 1811/1811 1810/1810 +f 828/828 1810/1810 824/824 +f 824/824 1810/1810 822/822 +f 822/822 1810/1810 1363/1363 +f 822/822 1363/1363 820/820 +f 820/820 1363/1363 1364/1364 +f 820/820 1364/1364 528/528 +f 1434/1434 806/806 448/448 +f 1434/1434 448/448 667/667 +f 666/666 1434/1434 667/667 +f 1378/1378 1380/1380 1384/1384 +f 1378/1378 1384/1384 818/818 +f 818/818 1384/1384 817/817 +f 802/802 804/804 1097/1097 +f 802/802 1097/1097 465/465 +f 802/802 465/465 1109/1109 +f 1840/1840 1839/1839 801/801 +f 545/545 800/800 1612/1612 +f 545/545 1612/1612 1613/1613 +f 1613/1613 1612/1612 1614/1614 +f 1613/1613 1614/1614 783/783 +f 783/783 1614/1614 781/781 +f 783/783 781/781 782/782 +f 782/782 781/781 780/780 +f 782/782 780/780 1607/1607 +f 1607/1607 780/780 1609/1609 +f 1607/1607 1609/1609 1608/1608 +f 1608/1608 1609/1609 1610/1610 +f 1608/1608 1610/1610 1479/1479 +f 1479/1479 1610/1610 1478/1478 +f 1473/1473 1478/1478 1610/1610 +f 1473/1473 1610/1610 1611/1611 +f 1611/1611 1610/1610 1609/1609 +f 1611/1611 1609/1609 1648/1648 +f 1648/1648 1609/1609 780/780 +f 1648/1648 780/780 778/778 +f 1608/1608 1479/1479 1480/1480 +f 1608/1608 1480/1480 1606/1606 +f 1606/1606 1480/1480 1584/1584 +f 1607/1607 1608/1608 1606/1606 +f 1607/1607 1606/1606 1605/1605 +f 1605/1605 1606/1606 1584/1584 +f 1605/1605 1584/1584 1604/1604 +f 1604/1604 1584/1584 1500/1500 +f 1604/1604 1500/1500 1501/1501 +f 784/784 783/783 782/782 +f 784/784 782/782 1607/1607 +f 784/784 1607/1607 1605/1605 +f 784/784 1605/1605 1604/1604 +f 1613/1613 783/783 1643/1643 +f 1613/1613 1643/1643 545/545 +f 545/545 1643/1643 1644/1644 +f 545/545 1644/1644 544/544 +f 544/544 1644/1644 798/798 +f 799/799 798/798 1644/1644 +f 799/799 1644/1644 1645/1645 +f 1645/1645 1644/1644 1643/1643 +f 1645/1645 1643/1643 1646/1646 +f 1646/1646 1643/1643 1647/1647 +f 1646/1646 1647/1647 1501/1501 +f 1501/1501 1647/1647 1604/1604 +f 784/784 1604/1604 1647/1647 +f 784/784 1647/1647 783/783 +f 783/783 1647/1647 1643/1643 +f 715/715 799/799 1645/1645 +f 715/715 1645/1645 716/716 +f 716/716 1645/1645 1646/1646 +f 716/716 1646/1646 1501/1501 +f 1614/1614 1612/1612 1616/1616 +f 1614/1614 1616/1616 1615/1615 +f 1603/1603 1513/1513 1514/1514 +f 1603/1603 1514/1514 1600/1600 +f 1602/1602 1776/1776 1603/1603 +f 1602/1602 1603/1603 1600/1600 +f 1512/1512 442/442 511/511 +f 1512/1512 511/511 1601/1601 +f 1822/1822 1821/1821 1602/1602 +f 1822/1822 1602/1602 1600/1600 +f 753/753 1512/1512 1601/1601 +f 753/753 1601/1601 754/754 +f 754/754 1601/1601 1599/1599 +f 754/754 1599/1599 1824/1824 +f 551/551 1823/1823 550/550 +f 1823/1823 1822/1822 1600/1600 +f 1823/1823 1600/1600 1598/1598 +f 550/550 1823/1823 1598/1598 +f 550/550 1598/1598 1590/1590 +f 1590/1590 1598/1598 1514/1514 +f 1590/1590 1514/1514 1591/1591 +f 1600/1600 1514/1514 1598/1598 +f 790/790 550/550 1590/1590 +f 790/790 1590/1590 1589/1589 +f 1589/1589 1590/1590 1591/1591 +f 1589/1589 1591/1591 1592/1592 +f 1589/1589 1592/1592 1593/1593 +f 1589/1589 1593/1593 1588/1588 +f 1588/1588 1593/1593 1594/1594 +f 1588/1588 1594/1594 1587/1587 +f 1587/1587 1594/1594 1465/1465 +f 1587/1587 1465/1465 1586/1586 +f 1586/1586 1465/1465 1467/1467 +f 1586/1586 1467/1467 1470/1470 +f 1464/1464 1465/1465 1594/1594 +f 1464/1464 1594/1594 1485/1485 +f 1485/1485 1594/1594 1593/1593 +f 1485/1485 1593/1593 1595/1595 +f 1595/1595 1593/1593 1592/1592 +f 1595/1595 1592/1592 1596/1596 +f 1596/1596 1592/1592 1597/1597 +f 1597/1597 1592/1592 1591/1591 +f 1597/1597 1591/1591 553/553 +f 553/553 1591/1591 1514/1514 +f 1597/1597 553/553 749/749 +f 1597/1597 749/749 1499/1499 +f 1597/1597 1499/1499 1493/1493 +f 790/790 1589/1589 1588/1588 +f 790/790 1588/1588 791/791 +f 791/791 1588/1588 1587/1587 +f 791/791 1587/1587 494/494 +f 494/494 1587/1587 1586/1586 +f 494/494 1586/1586 496/496 +f 496/496 1586/1586 1470/1470 +f 496/496 1470/1470 792/792 +f 1585/1585 1582/1582 785/785 +f 1585/1585 785/785 1504/1504 +f 1585/1585 1504/1504 1502/1502 +f 1585/1585 1502/1502 1500/1500 +f 1483/1483 1157/1157 1156/1156 +f 1483/1483 1156/1156 1582/1582 +f 1582/1582 1156/1156 785/785 +f 786/786 785/785 1156/1156 +f 786/786 1156/1156 787/787 +f 1438/1438 1837/1837 1179/1179 +f 1438/1438 1179/1179 1580/1580 +f 1580/1580 1179/1179 1180/1180 +f 1580/1580 1180/1180 1579/1579 +f 1579/1579 1180/1180 1182/1182 +f 1580/1580 1579/1579 1581/1581 +f 1580/1580 1581/1581 1439/1439 +f 1439/1439 1581/1581 1456/1456 +f 1439/1439 1438/1438 1580/1580 +f 801/801 1436/1436 1457/1457 +f 801/801 1457/1457 1578/1578 +f 1578/1578 1457/1457 1577/1577 +f 801/801 1578/1578 803/803 +f 1577/1577 1457/1457 1444/1444 +f 1577/1577 1444/1444 1446/1446 +f 1446/1446 1444/1444 1445/1445 +f 1446/1446 1445/1445 1447/1447 +f 1447/1447 1445/1445 1635/1635 +f 1447/1447 1635/1635 1449/1449 +f 1449/1449 1635/1635 1626/1626 +f 1449/1449 1626/1626 1628/1628 +f 1628/1628 1626/1626 1627/1627 +f 1628/1628 1627/1627 1629/1629 +f 1629/1629 1627/1627 1639/1639 +f 1629/1629 1639/1639 1638/1638 +f 1638/1638 1639/1639 1755/1755 +f 1638/1638 1755/1755 1756/1756 +f 1756/1756 1755/1755 793/793 +f 1756/1756 793/793 1758/1758 +f 1758/1758 793/793 795/795 +f 1758/1758 795/795 1907/1907 +f 800/800 793/793 1755/1755 +f 800/800 1755/1755 1754/1754 +f 1754/1754 1755/1755 1639/1639 +f 1754/1754 1639/1639 1640/1640 +f 1640/1640 1639/1639 1627/1627 +f 1640/1640 1627/1627 1625/1625 +f 1625/1625 1627/1627 1626/1626 +f 1625/1625 1626/1626 1624/1624 +f 1624/1624 1626/1626 1635/1635 +f 1624/1624 1635/1635 1445/1445 +f 1612/1612 800/800 1754/1754 +f 1612/1612 1754/1754 1753/1753 +f 1753/1753 1754/1754 1640/1640 +f 1753/1753 1640/1640 1641/1641 +f 1641/1641 1640/1640 1625/1625 +f 1641/1641 1625/1625 1623/1623 +f 1623/1623 1625/1625 1624/1624 +f 1623/1623 1624/1624 1622/1622 +f 1622/1622 1624/1624 1636/1636 +f 1622/1622 1636/1636 1441/1441 +f 1441/1441 1636/1636 1443/1443 +f 1441/1441 1443/1443 1442/1442 +f 1442/1442 1443/1443 1444/1444 +f 1442/1442 1444/1444 1457/1457 +f 1442/1442 1457/1457 1436/1436 +f 1442/1442 1436/1436 1440/1440 +f 1440/1440 1436/1436 1437/1437 +f 1440/1440 1437/1437 1439/1439 +f 1439/1439 1437/1437 1438/1438 +f 1441/1441 1442/1442 1440/1440 +f 1441/1441 1440/1440 1439/1439 +f 1456/1456 1441/1441 1439/1439 +f 1445/1445 1444/1444 1443/1443 +f 1445/1445 1443/1443 1636/1636 +f 1445/1445 1636/1636 1624/1624 +f 1616/1616 1612/1612 1753/1753 +f 1616/1616 1753/1753 1752/1752 +f 1752/1752 1753/1753 1641/1641 +f 1752/1752 1641/1641 1642/1642 +f 1642/1642 1641/1641 1623/1623 +f 1642/1642 1623/1623 1620/1620 +f 1620/1620 1623/1623 1622/1622 +f 1620/1620 1622/1622 1441/1441 +f 1620/1620 1441/1441 1456/1456 +f 1620/1620 1456/1456 1621/1621 +f 1621/1621 1456/1456 1581/1581 +f 1621/1621 1581/1581 1651/1651 +f 1651/1651 1581/1581 1579/1579 +f 1651/1651 1579/1579 1650/1650 +f 1650/1650 1579/1579 1655/1655 +f 1650/1650 1655/1655 1654/1654 +f 1654/1654 1655/1655 1221/1221 +f 1654/1654 1221/1221 1223/1223 +f 1654/1654 1223/1223 1475/1475 +f 1654/1654 1475/1475 1649/1649 +f 1649/1649 1475/1475 1648/1648 +f 1649/1649 1648/1648 778/778 +f 1649/1649 778/778 776/776 +f 1649/1649 776/776 1650/1650 +f 1650/1650 776/776 1651/1651 +f 1650/1650 1654/1654 1649/1649 +f 1611/1611 1648/1648 1475/1475 +f 1611/1611 1475/1475 1473/1473 +f 1473/1473 1475/1475 1474/1474 +f 1473/1473 1474/1474 1472/1472 +f 1472/1472 1474/1474 1476/1476 +f 1472/1472 1476/1476 1477/1477 +f 1477/1477 1476/1476 1830/1830 +f 1476/1476 1474/1474 1475/1475 +f 1182/1182 1221/1221 1655/1655 +f 1182/1182 1655/1655 1579/1579 +f 1615/1615 1616/1616 1752/1752 +f 1615/1615 1752/1752 1618/1618 +f 1618/1618 1752/1752 1642/1642 +f 1618/1618 1642/1642 1620/1620 +f 1448/1448 1399/1399 1576/1576 +f 1448/1448 1576/1576 1446/1446 +f 1446/1446 1576/1576 1577/1577 +f 1448/1448 1446/1446 1447/1447 +f 1448/1448 1447/1447 1449/1449 +f 445/445 443/443 1571/1571 +f 445/445 1571/1571 1575/1575 +f 1575/1575 1571/1571 1569/1569 +f 1575/1575 1569/1569 502/502 +f 1574/1574 1575/1575 502/502 +f 1574/1574 502/502 503/503 +f 1572/1572 534/534 535/535 +f 1572/1572 535/535 1573/1573 +f 1572/1572 1573/1573 444/444 +f 1572/1572 444/444 445/445 +f 441/441 442/442 1512/1512 +f 441/441 1512/1512 531/531 +f 1571/1571 443/443 1570/1570 +f 1571/1571 1570/1570 1569/1569 +f 1569/1569 1570/1570 1568/1568 +f 1569/1569 1568/1568 502/502 +f 502/502 1568/1568 504/504 +f 513/513 514/514 1560/1560 +f 513/513 1560/1560 1567/1567 +f 1567/1567 1560/1560 1558/1558 +f 1567/1567 1558/1558 1566/1566 +f 1566/1566 1558/1558 1557/1557 +f 1566/1566 1557/1557 1776/1776 +f 1776/1776 1557/1557 1559/1559 +f 1509/1509 1526/1526 1528/1528 +f 1509/1509 1528/1528 1508/1508 +f 1508/1508 1528/1528 699/699 +f 1508/1508 699/699 701/701 +f 1527/1527 1529/1529 1530/1530 +f 1527/1527 1530/1530 1540/1540 +f 696/696 1527/1527 1540/1540 +f 696/696 1540/1540 638/638 +f 1790/1790 680/680 678/678 +f 1790/1790 678/678 1969/1969 +f 684/684 1964/1964 679/679 +f 684/684 679/679 682/682 +f 682/682 679/679 615/615 +f 682/682 615/615 1565/1565 +f 1565/1565 615/615 616/616 +f 675/675 647/647 621/621 +f 675/675 621/621 618/618 +f 676/676 675/675 618/618 +f 676/676 618/618 617/617 +f 677/677 676/676 617/617 +f 677/677 617/617 1973/1973 +f 677/677 1973/1973 1969/1969 +f 677/677 1969/1969 678/678 +f 596/596 581/581 1562/1562 +f 596/596 1562/1562 598/598 +f 598/598 1562/1562 575/575 +f 598/598 575/575 570/570 +f 596/596 22/22 58/58 +f 596/596 58/58 507/507 +f 507/507 58/58 506/506 +f 438/438 439/439 605/605 +f 438/438 605/605 1564/1564 +f 1564/1564 605/605 607/607 +f 1564/1564 607/607 609/609 +f 1392/1392 1371/1371 599/599 +f 1392/1392 599/599 600/600 +f 1392/1392 600/600 437/437 +f 1392/1392 437/437 560/560 +f 560/560 437/437 438/438 +f 560/560 438/438 562/562 +f 562/562 438/438 587/587 +f 587/587 438/438 1564/1564 +f 587/587 1564/1564 1563/1563 +f 1563/1563 1564/1564 609/609 +f 1563/1563 609/609 575/575 +f 1563/1563 575/575 1562/1562 +f 1563/1563 1562/1562 582/582 +f 582/582 1562/1562 581/581 +f 1563/1563 582/582 587/587 +f 579/579 1553/1553 595/595 +f 579/579 595/595 577/577 +f 577/577 595/595 593/593 +f 577/577 593/593 1555/1555 +f 1555/1555 593/593 591/591 +f 1555/1555 591/591 1554/1554 +f 1554/1554 591/591 509/509 +f 1554/1554 509/509 510/510 +f 491/491 1866/1866 1548/1548 +f 491/491 1548/1548 1547/1547 +f 812/812 491/491 1547/1547 +f 812/812 1547/1547 1561/1561 +f 1561/1561 1547/1547 1544/1544 +f 1561/1561 1544/1544 1881/1881 +f 813/813 812/812 1561/1561 +f 813/813 1561/1561 1381/1381 +f 1381/1381 1561/1561 1382/1382 +f 1560/1560 514/514 563/563 +f 1560/1560 563/563 566/566 +f 1558/1558 1560/1560 566/566 +f 1558/1558 566/566 567/567 +f 1557/1557 1558/1558 567/567 +f 1557/1557 567/567 1556/1556 +f 1556/1556 567/567 569/569 +f 1556/1556 569/569 1260/1260 +f 1557/1557 1556/1556 1559/1559 +f 660/660 661/661 1367/1367 +f 660/660 1367/1367 651/651 +f 1552/1552 660/660 651/651 +f 1552/1552 651/651 653/653 +f 1551/1551 1552/1552 653/653 +f 1551/1551 653/653 655/655 +f 1551/1551 655/655 658/658 +f 1551/1551 658/658 517/517 +f 517/517 658/658 508/508 +f 517/517 508/508 516/516 +f 516/516 508/508 509/509 +f 516/516 509/509 518/518 +f 518/518 509/509 590/590 +f 518/518 590/590 608/608 +f 608/608 590/590 610/610 +f 610/610 590/590 592/592 +f 610/610 592/592 574/574 +f 574/574 592/592 594/594 +f 574/574 594/594 573/573 +f 576/576 1923/1923 1917/1917 +f 576/576 1917/1917 1391/1391 +f 1391/1391 1917/1917 1911/1911 +f 1391/1391 1911/1911 1905/1905 +f 1390/1390 1391/1391 1905/1905 +f 1390/1390 1905/1905 1389/1389 +f 575/575 609/609 610/610 +f 575/575 610/610 574/574 +f 1553/1553 572/572 573/573 +f 1553/1553 573/573 595/595 +f 662/662 660/660 1552/1552 +f 662/662 1552/1552 1428/1428 +f 1428/1428 1552/1552 1551/1551 +f 1428/1428 1551/1551 1429/1429 +f 1429/1429 1551/1551 611/611 +f 611/611 1551/1551 517/517 +f 611/611 517/517 518/518 +f 1542/1542 1426/1426 1431/1431 +f 1542/1542 1431/1431 1433/1433 +f 1433/1433 1431/1431 1432/1432 +f 613/613 1432/1432 1431/1431 +f 613/613 1431/1431 1430/1430 +f 1430/1430 1431/1431 1426/1426 +f 1430/1430 1426/1426 1427/1427 +f 1427/1427 1426/1426 1425/1425 +f 1427/1427 1425/1425 663/663 +f 663/663 1425/1425 665/665 +f 666/666 665/665 1425/1425 +f 666/666 1425/1425 1424/1424 +f 1424/1424 1425/1425 1423/1423 +f 1424/1424 1423/1423 1422/1422 +f 1422/1422 1423/1423 1421/1421 +f 1422/1422 1421/1421 808/808 +f 808/808 1421/1421 1420/1420 +f 808/808 1420/1420 1419/1419 +f 1419/1419 1420/1420 526/526 +f 1419/1419 526/526 1418/1418 +f 1418/1418 526/526 1417/1417 +f 1418/1418 1417/1417 1413/1413 +f 1413/1413 1417/1417 731/731 +f 1413/1413 731/731 733/733 +f 733/733 731/731 732/732 +f 733/733 732/732 734/734 +f 734/734 732/732 742/742 +f 734/734 742/742 741/741 +f 1423/1423 1425/1425 1426/1426 +f 734/734 741/741 740/740 +f 734/734 740/740 736/736 +f 736/736 740/740 738/738 +f 736/736 738/738 737/737 +f 737/737 738/738 1844/1844 +f 737/737 1844/1844 1405/1405 +f 1405/1405 1844/1844 1129/1129 +f 1405/1405 1129/1129 1406/1406 +f 743/743 742/742 732/732 +f 743/743 732/732 730/730 +f 730/730 732/732 731/731 +f 730/730 731/731 729/729 +f 729/729 731/731 1417/1417 +f 729/729 1417/1417 728/728 +f 728/728 1417/1417 526/526 +f 728/728 526/526 527/527 +f 726/726 730/730 729/729 +f 726/726 729/729 728/728 +f 744/744 743/743 730/730 +f 744/744 730/730 726/726 +f 745/745 744/744 726/726 +f 745/745 726/726 725/725 +f 746/746 745/745 725/725 +f 746/746 725/725 723/723 +f 747/747 746/746 723/723 +f 747/747 723/723 720/720 +f 748/748 747/747 720/720 +f 748/748 720/720 719/719 +f 748/748 719/719 717/717 +f 810/810 808/808 1419/1419 +f 810/810 1419/1419 1418/1418 +f 1427/1427 663/663 662/662 +f 1427/1427 662/662 614/614 +f 614/614 662/662 1428/1428 +f 614/614 1428/1428 612/612 +f 612/612 1428/1428 1429/1429 +f 612/612 1429/1429 603/603 +f 1430/1430 1427/1427 614/614 +f 1430/1430 614/614 613/613 +f 1542/1542 1433/1433 1545/1545 +f 1542/1542 1545/1545 1543/1543 +f 1543/1543 1545/1545 1546/1546 +f 1543/1543 1546/1546 1421/1421 +f 1421/1421 1546/1546 1549/1549 +f 1421/1421 1549/1549 1420/1420 +f 1420/1420 1549/1549 1550/1550 +f 1420/1420 1550/1550 526/526 +f 526/526 1550/1550 1864/1864 +f 1868/1868 1864/1864 1550/1550 +f 1868/1868 1550/1550 1549/1549 +f 1868/1868 1549/1549 1546/1546 +f 1868/1868 1546/1546 1874/1874 +f 1874/1874 1546/1546 1877/1877 +f 1877/1877 1546/1546 1545/1545 +f 1877/1877 1545/1545 1433/1433 +f 1368/1368 1877/1877 1433/1433 +f 1368/1368 1433/1433 1370/1370 +f 1370/1370 1433/1433 1432/1432 +f 1370/1370 1432/1432 1371/1371 +f 1371/1371 1432/1432 599/599 +f 1543/1543 1421/1421 1423/1423 +f 1543/1543 1423/1423 1426/1426 +f 1542/1542 1543/1543 1426/1426 +f 434/434 430/430 645/645 +f 434/434 645/645 1541/1541 +f 640/640 434/434 1541/1541 +f 640/640 1541/1541 642/642 +f 645/645 633/633 632/632 +f 645/645 632/632 1541/1541 +f 1541/1541 632/632 625/625 +f 1541/1541 625/625 642/642 +f 642/642 625/625 623/623 +f 1532/1532 644/644 623/623 +f 1532/1532 623/623 624/624 +f 1533/1533 1532/1532 624/624 +f 1533/1533 624/624 1535/1535 +f 1535/1535 624/624 635/635 +f 1535/1535 635/635 1537/1537 +f 1537/1537 635/635 636/636 +f 1537/1537 636/636 1540/1540 +f 1540/1540 636/636 638/638 +f 1537/1537 1540/1540 1530/1530 +f 1537/1537 1530/1530 1538/1538 +f 1538/1538 1530/1530 1539/1539 +f 1538/1538 1539/1539 1536/1536 +f 1539/1539 1530/1530 681/681 +f 1537/1537 1538/1538 1536/1536 +f 1537/1537 1536/1536 1535/1535 +f 1535/1535 1536/1536 1534/1534 +f 1535/1535 1534/1534 1533/1533 +f 1533/1533 1534/1534 1531/1531 +f 1533/1533 1531/1531 1532/1532 +f 1532/1532 1531/1531 644/644 +f 649/649 644/644 1531/1531 +f 649/649 1531/1531 622/622 +f 622/622 1531/1531 620/620 +f 1519/1519 705/705 702/702 +f 1519/1519 702/702 703/703 +f 1524/1524 1519/1519 703/703 +f 1524/1524 703/703 668/668 +f 1524/1524 668/668 680/680 +f 1524/1524 680/680 1525/1525 +f 1525/1525 680/680 1790/1790 +f 1958/1958 1964/1964 685/685 +f 685/685 1964/1964 684/684 +f 1958/1958 685/685 687/687 +f 1958/1958 687/687 1523/1523 +f 1523/1523 687/687 689/689 +f 1523/1523 689/689 1522/1522 +f 1522/1522 689/689 691/691 +f 1522/1522 691/691 1521/1521 +f 1521/1521 691/691 693/693 +f 1521/1521 693/693 1520/1520 +f 1520/1520 693/693 789/789 +f 1520/1520 789/789 1195/1195 +f 1195/1195 789/789 992/992 +f 695/695 789/789 693/693 +f 1524/1524 1525/1525 1951/1951 +f 1524/1524 1951/1951 1519/1519 +f 1944/1944 1523/1523 1518/1518 +f 1518/1518 1523/1523 1522/1522 +f 1518/1518 1522/1522 1521/1521 +f 681/681 1530/1530 1529/1529 +f 681/681 1529/1529 683/683 +f 683/683 1529/1529 686/686 +f 1527/1527 696/696 699/699 +f 1527/1527 699/699 1528/1528 +f 1529/1529 1527/1527 1528/1528 +f 1529/1529 1528/1528 1526/1526 +f 686/686 1529/1529 1526/1526 +f 686/686 1526/1526 688/688 +f 688/688 1526/1526 1509/1509 +f 637/637 634/634 628/628 +f 637/637 628/628 630/630 +f 639/639 637/637 630/630 +f 639/639 630/630 671/671 +f 697/697 639/639 671/671 +f 697/697 671/671 670/670 +f 698/698 697/697 670/670 +f 698/698 670/670 704/704 +f 700/700 698/698 704/704 +f 700/700 704/704 521/521 +f 519/519 700/700 521/521 +f 1521/1521 1520/1520 1195/1195 +f 1521/1521 1195/1195 1517/1517 +f 1517/1517 1195/1195 707/707 +f 1517/1517 707/707 1937/1937 +f 549/549 707/707 1195/1195 +f 1518/1518 1521/1521 1517/1517 +f 1518/1518 1517/1517 1937/1937 +f 1944/1944 1518/1518 1937/1937 +f 785/785 695/695 694/694 +f 785/785 694/694 1504/1504 +f 1504/1504 694/694 1505/1505 +f 690/690 688/688 1509/1509 +f 690/690 1509/1509 1515/1515 +f 1515/1515 1509/1509 1507/1507 +f 1515/1515 1507/1507 1516/1516 +f 1516/1516 1507/1507 1506/1506 +f 1516/1516 1506/1506 1505/1505 +f 1516/1516 1505/1505 694/694 +f 1516/1516 694/694 692/692 +f 1515/1515 1516/1516 692/692 +f 1515/1515 692/692 690/690 +f 1272/1272 717/717 718/718 +f 1272/1272 718/718 721/721 +f 1269/1269 1272/1272 721/721 +f 1269/1269 721/721 1268/1268 +f 1268/1268 721/721 722/722 +f 1268/1268 722/722 724/724 +f 1266/1266 1268/1268 724/724 +f 1266/1266 724/724 727/727 +f 1263/1263 1266/1266 727/727 +f 1263/1263 727/727 527/527 +f 1864/1864 1263/1263 527/527 +f 555/555 553/553 1514/1514 +f 555/555 1514/1514 1513/1513 +f 753/753 533/533 531/531 +f 753/753 531/531 1512/1512 +f 765/765 763/763 762/762 +f 765/765 762/762 766/766 +f 1250/1250 771/771 1511/1511 +f 1250/1250 1511/1511 1510/1510 +f 1251/1251 1250/1250 1510/1510 +f 1251/1251 1510/1510 3/3 +f 1511/1511 771/771 773/773 +f 1511/1511 773/773 764/764 +f 1511/1511 764/764 765/765 +f 1511/1511 765/765 766/766 +f 1510/1510 1511/1511 766/766 +f 1510/1510 766/766 522/522 +f 2/2 1510/1510 522/522 +f 2/2 522/522 523/523 +f 1507/1507 1509/1509 1508/1508 +f 1507/1507 1508/1508 709/709 +f 709/709 1508/1508 701/701 +f 1507/1507 709/709 711/711 +f 1507/1507 711/711 1506/1506 +f 1506/1506 711/711 1503/1503 +f 1506/1506 1503/1503 1505/1505 +f 1505/1505 1503/1503 1502/1502 +f 1505/1505 1502/1502 1504/1504 +f 1503/1503 711/711 713/713 +f 1503/1503 713/713 716/716 +f 1502/1502 1503/1503 716/716 +f 1502/1502 716/716 1501/1501 +f 1500/1500 1502/1502 1501/1501 +f 1476/1476 1475/1475 1223/1223 +f 1476/1476 1223/1223 1222/1222 +f 1476/1476 1222/1222 1832/1832 +f 1476/1476 1832/1832 1831/1831 +f 1830/1830 1476/1476 1831/1831 +f 499/499 792/792 1472/1472 +f 499/499 1472/1472 1477/1477 +f 1830/1830 499/499 1477/1477 +f 1252/1252 1090/1090 1089/1089 +f 1252/1252 1089/1089 1495/1495 +f 1495/1495 1089/1089 1496/1496 +f 1495/1495 1496/1496 1494/1494 +f 1494/1494 1496/1496 1492/1492 +f 1494/1494 1492/1492 1493/1493 +f 1495/1495 1494/1494 1493/1493 +f 1495/1495 1493/1493 1499/1499 +f 1495/1495 1499/1499 749/749 +f 1495/1495 749/749 1252/1252 +f 1496/1496 1089/1089 1087/1087 +f 1496/1496 1087/1087 1497/1497 +f 1497/1497 1087/1087 1086/1086 +f 1497/1497 1086/1086 1085/1085 +f 1492/1492 1496/1496 1497/1497 +f 1492/1492 1497/1497 1487/1487 +f 1487/1487 1497/1497 1085/1085 +f 1487/1487 1085/1085 1498/1498 +f 1498/1498 1085/1085 1083/1083 +f 1487/1487 1498/1498 1489/1489 +f 1152/1152 1157/1157 1482/1482 +f 1152/1152 1482/1482 1490/1490 +f 1490/1490 1482/1482 1484/1484 +f 1490/1490 1484/1484 1489/1489 +f 1489/1489 1484/1484 1486/1486 +f 1485/1485 1486/1486 1484/1484 +f 1485/1485 1484/1484 1464/1464 +f 1464/1464 1484/1484 1482/1482 +f 1464/1464 1482/1482 1466/1466 +f 1466/1466 1482/1482 1157/1157 +f 1466/1466 1157/1157 1481/1481 +f 1481/1481 1157/1157 1483/1483 +f 1466/1466 1481/1481 1468/1468 +f 1466/1466 1468/1468 1467/1467 +f 1467/1467 1468/1468 1469/1469 +f 1467/1467 1469/1469 1470/1470 +f 1470/1470 1469/1469 792/792 +f 792/792 1469/1469 1471/1471 +f 792/792 1471/1471 1472/1472 +f 1472/1472 1471/1471 1473/1473 +f 1478/1478 1473/1473 1471/1471 +f 1478/1478 1471/1471 1469/1469 +f 1479/1479 1478/1478 1469/1469 +f 1479/1479 1469/1469 1468/1468 +f 1480/1480 1479/1479 1468/1468 +f 1480/1480 1468/1468 1481/1481 +f 1466/1466 1467/1467 1465/1465 +f 1466/1466 1465/1465 1464/1464 +f 1192/1192 814/814 1463/1463 +f 1192/1192 1463/1463 1191/1191 +f 1191/1191 1463/1463 864/864 +f 1097/1097 804/804 1458/1458 +f 1097/1097 1458/1458 1098/1098 +f 1098/1098 1458/1458 1459/1459 +f 1098/1098 1459/1459 1460/1460 +f 1460/1460 1459/1459 1125/1125 +f 1460/1460 1125/1125 1123/1123 +f 1460/1460 1123/1123 1121/1121 +f 1460/1460 1121/1121 1461/1461 +f 1461/1461 1121/1121 1117/1117 +f 1461/1461 1117/1117 1115/1115 +f 1115/1115 1117/1117 1116/1116 +f 1115/1115 1116/1116 1114/1114 +f 1114/1114 1116/1116 1141/1141 +f 1114/1114 1141/1141 1131/1131 +f 1131/1131 1141/1141 1024/1024 +f 1131/1131 1024/1024 1133/1133 +f 1133/1133 1024/1024 1147/1147 +f 1133/1133 1147/1147 1135/1135 +f 1135/1135 1147/1147 1042/1042 +f 1133/1133 1135/1135 1134/1134 +f 1133/1133 1134/1134 1132/1132 +f 1132/1132 1134/1134 1105/1105 +f 1132/1132 1105/1105 1103/1103 +f 1103/1103 1105/1105 1104/1104 +f 1103/1103 1104/1104 1102/1102 +f 1102/1102 1104/1104 1106/1106 +f 1102/1102 1106/1106 1107/1107 +f 1107/1107 1106/1106 1108/1108 +f 1107/1107 1108/1108 1109/1109 +f 1106/1106 1110/1110 1108/1108 +f 1131/1131 1133/1133 1132/1132 +f 1131/1131 1132/1132 1130/1130 +f 1130/1130 1132/1132 1103/1103 +f 1130/1130 1103/1103 1101/1101 +f 1101/1101 1103/1103 1102/1102 +f 1101/1101 1102/1102 1100/1100 +f 1100/1100 1102/1102 463/463 +f 1100/1100 463/463 464/464 +f 463/463 1102/1102 1107/1107 +f 463/463 1107/1107 1109/1109 +f 1109/1109 465/465 463/463 +f 1127/1127 1125/1125 1459/1459 +f 1127/1127 1459/1459 1458/1458 +f 1843/1843 1127/1127 1458/1458 +f 1843/1843 1458/1458 1462/1462 +f 1462/1462 1458/1458 804/804 +f 1842/1842 1841/1841 803/803 +f 1111/1111 1098/1098 1460/1460 +f 1111/1111 1460/1460 1461/1461 +f 1397/1397 1399/1399 1448/1448 +f 1397/1397 1448/1448 1450/1450 +f 1450/1450 1448/1448 1449/1449 +f 1450/1450 1449/1449 1451/1451 +f 1451/1451 1449/1449 1628/1628 +f 1451/1451 1628/1628 1630/1630 +f 1630/1630 1628/1628 1629/1629 +f 1630/1630 1629/1629 1631/1631 +f 1631/1631 1629/1629 1638/1638 +f 1631/1631 1638/1638 1637/1637 +f 1637/1637 1638/1638 1756/1756 +f 1637/1637 1756/1756 1757/1757 +f 1757/1757 1756/1756 1758/1758 +f 1757/1757 1758/1758 1907/1907 +f 1757/1757 1907/1907 1196/1196 +f 1757/1757 1196/1196 1197/1197 +f 1197/1197 1196/1196 998/998 +f 1197/1197 998/998 999/999 +f 1896/1896 1900/1900 981/981 +f 1896/1896 981/981 1000/1000 +f 1000/1000 981/981 1012/1012 +f 1000/1000 1012/1012 1010/1010 +f 1010/1010 1012/1012 1011/1011 +f 1010/1010 1011/1011 1009/1009 +f 1009/1009 1011/1011 1766/1766 +f 1009/1009 1766/1766 1879/1879 +f 1879/1879 1766/1766 1883/1883 +f 1012/1012 981/981 1891/1891 +f 1884/1884 1880/1880 819/819 +f 1884/1884 819/819 817/817 +f 1884/1884 817/817 446/446 +f 1884/1884 446/446 1008/1008 +f 1008/1008 446/446 447/447 +f 1008/1008 447/447 1004/1004 +f 1004/1004 447/447 1006/1006 +f 1004/1004 1006/1006 1005/1005 +f 1005/1005 1006/1006 1007/1007 +f 1005/1005 1007/1007 1454/1454 +f 1454/1454 1007/1007 1395/1395 +f 1454/1454 1395/1395 1452/1452 +f 1452/1452 1395/1395 1396/1396 +f 1452/1452 1396/1396 1450/1450 +f 1450/1450 1396/1396 1397/1397 +f 1452/1452 1450/1450 1451/1451 +f 1452/1452 1451/1451 1453/1453 +f 1453/1453 1451/1451 1630/1630 +f 1453/1453 1630/1630 1632/1632 +f 1632/1632 1630/1630 1631/1631 +f 1632/1632 1631/1631 1633/1633 +f 1633/1633 1631/1631 1637/1637 +f 1633/1633 1637/1637 1197/1197 +f 1197/1197 1637/1637 1757/1757 +f 1454/1454 1452/1452 1453/1453 +f 1454/1454 1453/1453 1455/1455 +f 1455/1455 1453/1453 1632/1632 +f 1455/1455 1632/1632 1634/1634 +f 1634/1634 1632/1632 1633/1633 +f 1634/1634 1633/1633 1001/1001 +f 1001/1001 1633/1633 1197/1197 +f 1001/1001 1197/1197 999/999 +f 1001/1001 999/999 1892/1892 +f 1001/1001 1892/1892 1002/1002 +f 1002/1002 1892/1892 1008/1008 +f 1002/1002 1008/1008 1004/1004 +f 1008/1008 1892/1892 1888/1888 +f 1008/1008 1888/1888 1884/1884 +f 1005/1005 1454/1454 1455/1455 +f 1005/1005 1455/1455 1003/1003 +f 1003/1003 1455/1455 1634/1634 +f 1003/1003 1634/1634 1001/1001 +f 1003/1003 1001/1001 1002/1002 +f 1003/1003 1002/1002 1004/1004 +f 1004/1004 1005/1005 1003/1003 +f 1838/1838 1837/1837 1438/1438 +f 1838/1838 1438/1438 1437/1437 +f 1839/1839 1838/1838 1437/1437 +f 1839/1839 1437/1437 1436/1436 +f 801/801 1839/1839 1436/1436 +f 1396/1396 1395/1395 1393/1393 +f 1396/1396 1393/1393 1397/1397 +f 1397/1397 1393/1393 1398/1398 +f 1397/1397 1398/1398 1399/1399 +f 1399/1399 1398/1398 1400/1400 +f 1399/1399 1400/1400 1401/1401 +f 1401/1401 1400/1400 1402/1402 +f 1401/1401 1402/1402 1403/1403 +f 1403/1403 1402/1402 1404/1404 +f 1403/1403 1404/1404 1405/1405 +f 1405/1405 1404/1404 737/737 +f 1403/1403 1405/1405 1406/1406 +f 1403/1403 1406/1406 1407/1407 +f 1401/1401 1403/1403 1407/1407 +f 807/807 1393/1393 1395/1395 +f 807/807 1395/1395 1007/1007 +f 805/805 807/807 1007/1007 +f 805/805 1007/1007 1006/1006 +f 448/448 805/805 1006/1006 +f 448/448 1006/1006 447/447 +f 1394/1394 1393/1393 807/807 +f 1394/1394 807/807 806/806 +f 560/560 561/561 1387/1387 +f 560/560 1387/1387 1392/1392 +f 1392/1392 1387/1387 1385/1385 +f 586/586 585/585 576/576 +f 586/586 576/576 1391/1391 +f 589/589 586/586 1391/1391 +f 589/589 1391/1391 1390/1390 +f 561/561 589/589 1390/1390 +f 561/561 1390/1390 1389/1389 +f 1387/1387 561/561 1389/1389 +f 1897/1897 1901/1901 1388/1388 +f 1388/1388 1901/1901 657/657 +f 1388/1388 657/657 656/656 +f 659/659 657/657 1901/1901 +f 659/659 1901/1901 510/510 +f 446/446 817/817 1384/1384 +f 446/446 1384/1384 1365/1365 +f 1365/1365 1384/1384 1380/1380 +f 1365/1365 1380/1380 1366/1366 +f 1366/1366 1380/1380 1367/1367 +f 1367/1367 1380/1380 1383/1383 +f 1367/1367 1383/1383 651/651 +f 651/651 1383/1383 650/650 +f 650/650 1383/1383 1380/1380 +f 650/650 1380/1380 1376/1376 +f 818/818 815/815 816/816 +f 818/818 816/816 1378/1378 +f 1378/1378 816/816 1379/1379 +f 1378/1378 1379/1379 1377/1377 +f 1377/1377 1379/1379 1381/1381 +f 1377/1377 1381/1381 1382/1382 +f 813/813 1381/1381 1379/1379 +f 813/813 1379/1379 816/816 +f 813/813 816/816 489/489 +f 1376/1376 1380/1380 1378/1378 +f 1376/1376 1378/1378 1377/1377 +f 1369/1369 1368/1368 1370/1370 +f 1369/1369 1370/1370 1371/1371 +f 1369/1369 1371/1371 1372/1372 +f 1885/1885 1889/1889 1373/1373 +f 1373/1373 1889/1889 1374/1374 +f 1373/1373 1374/1374 652/652 +f 652/652 1374/1374 654/654 +f 1373/1373 652/652 650/650 +f 1373/1373 650/650 1375/1375 +f 1375/1375 650/650 1376/1376 +f 1375/1375 1376/1376 1377/1377 +f 1375/1375 1377/1377 1382/1382 +f 1375/1375 1382/1382 1885/1885 +f 1885/1885 1373/1373 1375/1375 +f 1374/1374 1889/1889 1893/1893 +f 1374/1374 1893/1893 1386/1386 +f 1386/1386 1893/1893 1897/1897 +f 1386/1386 1897/1897 1388/1388 +f 1386/1386 1388/1388 656/656 +f 1386/1386 656/656 654/654 +f 1386/1386 654/654 1374/1374 +f 1366/1366 1367/1367 661/661 +f 1366/1366 661/661 664/664 +f 1365/1365 1366/1366 664/664 +f 1365/1365 664/664 667/667 +f 1365/1365 667/667 448/448 +f 1365/1365 448/448 446/446 +f 530/530 528/528 1364/1364 +f 530/530 1364/1364 1363/1363 +f 1362/1362 1808/1808 1809/1809 +f 1362/1362 1809/1809 1360/1360 +f 1361/1361 1362/1362 1360/1360 +f 1361/1361 1360/1360 1782/1782 +f 848/848 849/849 1356/1356 +f 848/848 1356/1356 888/888 +f 888/888 1356/1356 1357/1357 +f 1358/1358 1357/1357 1356/1356 +f 1358/1358 1356/1356 1359/1359 +f 1359/1359 1356/1356 849/849 +f 1359/1359 849/849 850/850 +f 847/847 848/848 888/888 +f 847/847 888/888 831/831 +f 839/839 847/847 831/831 +f 839/839 831/831 833/833 +f 843/843 863/863 263/263 +f 843/843 263/263 1354/1354 +f 1354/1354 263/263 856/856 +f 1354/1354 856/856 857/857 +f 857/857 861/861 1355/1355 +f 857/857 1355/1355 1354/1354 +f 1354/1354 1355/1355 1353/1353 +f 1354/1354 1353/1353 843/843 +f 843/843 1353/1353 842/842 +f 855/855 854/854 456/456 +f 855/855 456/456 457/457 +f 1274/1274 942/942 943/943 +f 1274/1274 943/943 1345/1345 +f 1345/1345 943/943 917/917 +f 1345/1345 917/917 1346/1346 +f 1346/1346 917/917 1349/1349 +f 912/912 914/914 1351/1351 +f 912/912 1351/1351 1350/1350 +f 1350/1350 1351/1351 1352/1352 +f 1350/1350 1352/1352 1348/1348 +f 913/913 912/912 1350/1350 +f 913/913 1350/1350 1349/1349 +f 1349/1349 1350/1350 1348/1348 +f 1349/1349 1348/1348 1347/1347 +f 1347/1347 1348/1348 926/926 +f 1347/1347 926/926 928/928 +f 917/917 913/913 1349/1349 +f 1346/1346 1349/1349 1347/1347 +f 1346/1346 1347/1347 1276/1276 +f 1276/1276 1347/1347 928/928 +f 1276/1276 928/928 930/930 +f 1346/1346 1276/1276 1275/1275 +f 1346/1346 1275/1275 1345/1345 +f 1345/1345 1275/1275 1344/1344 +f 1345/1345 1344/1344 1274/1274 +f 1274/1274 1344/1344 1343/1343 +f 1274/1274 1343/1343 1273/1273 +f 1273/1273 1343/1343 1176/1176 +f 1273/1273 1176/1176 1175/1175 +f 1338/1338 1339/1339 1342/1342 +f 1338/1338 1342/1342 145/145 +f 1341/1341 1342/1342 1339/1339 +f 1341/1341 1339/1339 1340/1340 +f 900/900 1988/1988 1341/1341 +f 900/900 1341/1341 1340/1340 +f 902/902 900/900 1340/1340 +f 902/902 1340/1340 1339/1339 +f 908/908 902/902 1339/1339 +f 908/908 1339/1339 910/910 +f 910/910 1339/1339 1338/1338 +f 910/910 1338/1338 914/914 +f 914/914 1338/1338 1337/1337 +f 898/898 457/457 918/918 +f 898/898 918/918 1333/1333 +f 1333/1333 918/918 919/919 +f 1865/1865 1861/1861 1334/1334 +f 1334/1334 1861/1861 922/922 +f 1334/1334 922/922 1335/1335 +f 1320/1320 1279/1279 1278/1278 +f 1320/1320 1278/1278 1322/1322 +f 1322/1322 1278/1278 1186/1186 +f 1322/1322 1186/1186 1324/1324 +f 1324/1324 1186/1186 1326/1326 +f 1324/1324 1326/1326 1325/1325 +f 1325/1325 1326/1326 1327/1327 +f 1325/1325 1327/1327 1331/1331 +f 1331/1331 1327/1327 1330/1330 +f 1331/1331 1330/1330 1313/1313 +f 1313/1313 1330/1330 1310/1310 +f 1331/1331 1313/1313 1315/1315 +f 1331/1331 1315/1315 1332/1332 +f 1332/1332 1315/1315 1317/1317 +f 1332/1332 1317/1317 1323/1323 +f 1323/1323 1317/1317 1321/1321 +f 1323/1323 1321/1321 1322/1322 +f 1322/1322 1321/1321 1320/1320 +f 1323/1323 1322/1322 1324/1324 +f 1323/1323 1324/1324 1325/1325 +f 1323/1323 1325/1325 1331/1331 +f 1323/1323 1331/1331 1332/1332 +f 1321/1321 1317/1317 890/890 +f 1321/1321 890/890 897/897 +f 1320/1320 1321/1321 897/897 +f 1320/1320 897/897 896/896 +f 1326/1326 1186/1186 1187/1187 +f 1326/1326 1187/1187 1188/1188 +f 469/469 470/470 1120/1120 +f 469/469 1120/1120 1119/1119 +f 1316/1316 456/456 1317/1317 +f 1316/1316 1317/1317 1315/1315 +f 1314/1314 1316/1316 1315/1315 +f 1314/1314 1315/1315 1313/1313 +f 1312/1312 1314/1314 1313/1313 +f 1312/1312 1313/1313 1310/1310 +f 1311/1311 1312/1312 1310/1310 +f 1311/1311 1310/1310 1309/1309 +f 1309/1309 1310/1310 1308/1308 +f 1309/1309 1308/1308 1307/1307 +f 1307/1307 1308/1308 1306/1306 +f 1307/1307 1306/1306 1305/1305 +f 1305/1305 1306/1306 1304/1304 +f 1305/1305 1304/1304 1303/1303 +f 1303/1303 1304/1304 1302/1302 +f 1303/1303 1302/1302 1300/1300 +f 1300/1300 1302/1302 1301/1301 +f 1300/1300 1301/1301 1299/1299 +f 1299/1299 1301/1301 1122/1122 +f 1299/1299 1122/1122 1124/1124 +f 1124/1124 1122/1122 1123/1123 +f 1124/1124 1123/1123 1125/1125 +f 1121/1121 1123/1123 1122/1122 +f 1121/1121 1122/1122 1119/1119 +f 1119/1119 1122/1122 1301/1301 +f 1119/1119 1301/1301 469/469 +f 469/469 1301/1301 1302/1302 +f 469/469 1302/1302 1319/1319 +f 1319/1319 1302/1302 1304/1304 +f 1319/1319 1304/1304 1318/1318 +f 1318/1318 1304/1304 1306/1306 +f 471/471 469/469 1319/1319 +f 471/471 1319/1319 1189/1189 +f 1189/1189 1319/1319 1318/1318 +f 1189/1189 1318/1318 1328/1328 +f 1328/1328 1318/1318 1329/1329 +f 1328/1328 1329/1329 1327/1327 +f 1327/1327 1329/1329 1330/1330 +f 1328/1328 1327/1327 1326/1326 +f 1328/1328 1326/1326 1188/1188 +f 1188/1188 1189/1189 1328/1328 +f 1329/1329 1318/1318 1306/1306 +f 1329/1329 1306/1306 1308/1308 +f 1330/1330 1329/1329 1308/1308 +f 1330/1330 1308/1308 1310/1310 +f 1117/1117 1121/1121 1119/1119 +f 1117/1117 1119/1119 1118/1118 +f 1118/1118 1119/1119 1120/1120 +f 1118/1118 1120/1120 1143/1143 +f 1143/1143 1120/1120 470/470 +f 1143/1143 470/470 1145/1145 +f 1116/1116 1117/1117 1118/1118 +f 1116/1116 1118/1118 1143/1143 +f 1286/1286 1300/1300 1299/1299 +f 1286/1286 1299/1299 1298/1298 +f 1298/1298 1299/1299 1124/1124 +f 1298/1298 1124/1124 1126/1126 +f 1126/1126 1124/1124 1125/1125 +f 1126/1126 1125/1125 1127/1127 +f 1303/1303 1300/1300 1286/1286 +f 1303/1303 1286/1286 1285/1285 +f 1305/1305 1303/1303 1285/1285 +f 1305/1305 1285/1285 1287/1287 +f 1307/1307 1305/1305 1287/1287 +f 1307/1307 1287/1287 472/472 +f 472/472 1287/1287 1283/1283 +f 472/472 1283/1283 1282/1282 +f 1282/1282 1283/1283 1284/1284 +f 1282/1282 1284/1284 1288/1288 +f 1288/1288 1284/1284 1289/1289 +f 1288/1288 1289/1289 1848/1848 +f 1848/1848 1289/1289 1295/1295 +f 1296/1296 1847/1847 742/742 +f 742/742 1847/1847 741/741 +f 740/740 741/741 1847/1847 +f 740/740 1847/1847 1294/1294 +f 1846/1846 1295/1295 1291/1291 +f 1846/1846 1291/1291 1293/1293 +f 1293/1293 1291/1291 1292/1292 +f 1293/1293 1292/1292 1128/1128 +f 1128/1128 1292/1292 1126/1126 +f 1128/1128 1126/1126 1127/1127 +f 1128/1128 1127/1127 1843/1843 +f 1128/1128 1843/1843 739/739 +f 1293/1293 1128/1128 739/739 +f 1845/1845 1844/1844 738/738 +f 1294/1294 1845/1845 738/738 +f 1294/1294 738/738 740/740 +f 1298/1298 1126/1126 1292/1292 +f 1298/1298 1292/1292 1290/1290 +f 1290/1290 1292/1292 1291/1291 +f 1290/1290 1291/1291 1289/1289 +f 1289/1289 1291/1291 1295/1295 +f 1290/1290 1289/1289 1284/1284 +f 1290/1290 1284/1284 1286/1286 +f 1286/1286 1284/1284 1285/1285 +f 1298/1298 1290/1290 1286/1286 +f 1285/1285 1284/1284 1283/1283 +f 1285/1285 1283/1283 1287/1287 +f 1296/1296 742/742 743/743 +f 1296/1296 743/743 1297/1297 +f 1297/1297 743/743 744/744 +f 1297/1297 744/744 1058/1058 +f 1058/1058 744/744 745/745 +f 1058/1058 745/745 1057/1057 +f 1057/1057 745/745 746/746 +f 1057/1057 746/746 1056/1056 +f 1056/1056 746/746 747/747 +f 1056/1056 747/747 1055/1055 +f 1055/1055 747/747 748/748 +f 1055/1055 748/748 1054/1054 +f 1054/1054 748/748 717/717 +f 1297/1297 1058/1058 1849/1849 +f 1297/1297 1849/1849 1296/1296 +f 1848/1848 1060/1060 1288/1288 +f 1282/1282 1288/1288 1060/1060 +f 1282/1282 1060/1060 1059/1059 +f 472/472 1282/1282 1059/1059 +f 472/472 1059/1059 473/473 +f 1281/1281 878/878 876/876 +f 1281/1281 876/876 874/874 +f 1280/1280 1281/1281 874/874 +f 1280/1280 874/874 872/872 +f 1279/1279 1280/1280 872/872 +f 1279/1279 872/872 870/870 +f 1278/1278 1279/1279 870/870 +f 1278/1278 870/870 868/868 +f 1186/1186 1278/1278 868/868 +f 907/907 1972/1972 941/941 +f 907/907 941/941 939/939 +f 1276/1276 930/930 934/934 +f 1276/1276 934/934 1275/1275 +f 942/942 1274/1274 1273/1273 +f 942/942 1273/1273 956/956 +f 956/956 1273/1273 1175/1175 +f 956/956 1175/1175 958/958 +f 958/958 1175/1175 971/971 +f 1264/1264 1859/1859 1856/1856 +f 1264/1264 1856/1856 1045/1045 +f 1045/1045 1856/1856 1853/1853 +f 1264/1264 1045/1045 1047/1047 +f 1264/1264 1047/1047 1265/1265 +f 1265/1265 1047/1047 1049/1049 +f 1265/1265 1049/1049 1267/1267 +f 1267/1267 1049/1049 1051/1051 +f 1267/1267 1051/1051 1270/1270 +f 1270/1270 1051/1051 1271/1271 +f 1270/1270 1271/1271 1269/1269 +f 1269/1269 1271/1271 1272/1272 +f 717/717 1272/1272 1271/1271 +f 717/717 1271/1271 1052/1052 +f 1052/1052 1271/1271 1051/1051 +f 1267/1267 1270/1270 1269/1269 +f 1267/1267 1269/1269 1268/1268 +f 1267/1267 1268/1268 1266/1266 +f 1267/1267 1266/1266 1265/1265 +f 1265/1265 1266/1266 1263/1263 +f 1265/1265 1263/1263 1264/1264 +f 1264/1264 1263/1263 1862/1862 +f 1264/1264 1862/1862 1859/1859 +f 1864/1864 1862/1862 1263/1263 +f 829/829 1258/1258 1811/1811 +f 829/829 1811/1811 828/828 +f 1090/1090 1249/1249 1247/1247 +f 1090/1090 1247/1247 1257/1257 +f 1090/1090 1257/1257 1261/1261 +f 1090/1090 1261/1261 542/542 +f 542/542 1261/1261 541/541 +f 1260/1260 569/569 1815/1815 +f 1260/1260 1815/1815 1814/1814 +f 1259/1259 1260/1260 1814/1814 +f 1259/1259 1814/1814 1813/1813 +f 829/829 1259/1259 1813/1813 +f 829/829 1813/1813 1258/1258 +f 1812/1812 440/440 441/441 +f 459/459 1785/1785 1091/1091 +f 459/459 1091/1091 1093/1093 +f 1093/1093 1091/1091 536/536 +f 1240/1240 1257/1257 1247/1247 +f 1240/1240 1247/1247 1241/1241 +f 1241/1241 1247/1247 1246/1246 +f 1241/1241 1246/1246 1243/1243 +f 1243/1243 1246/1246 1244/1244 +f 1243/1243 1244/1244 1255/1255 +f 1255/1255 1244/1244 1254/1254 +f 1255/1255 1254/1254 770/770 +f 770/770 1254/1254 768/768 +f 767/767 768/768 1254/1254 +f 767/767 1254/1254 1253/1253 +f 1253/1253 1254/1254 1248/1248 +f 1253/1253 1248/1248 1252/1252 +f 1252/1252 1248/1248 1249/1249 +f 1252/1252 1249/1249 1090/1090 +f 1245/1245 1248/1248 1254/1254 +f 1245/1245 1254/1254 1244/1244 +f 767/767 1253/1253 1252/1252 +f 767/767 1252/1252 752/752 +f 752/752 1252/1252 749/749 +f 1793/1793 1243/1243 1255/1255 +f 1793/1793 1255/1255 1791/1791 +f 1791/1791 1255/1255 3/3 +f 3/3 1255/1255 770/770 +f 3/3 770/770 1251/1251 +f 1251/1251 770/770 769/769 +f 1251/1251 769/769 1250/1250 +f 1250/1250 769/769 771/771 +f 771/771 769/769 751/751 +f 771/771 751/751 750/750 +f 1247/1247 1249/1249 1248/1248 +f 1247/1247 1248/1248 1245/1245 +f 1246/1246 1247/1247 1245/1245 +f 1246/1246 1245/1245 1244/1244 +f 1243/1243 1793/1793 1794/1794 +f 1243/1243 1794/1794 1241/1241 +f 1242/1242 486/486 458/458 +f 1242/1242 458/458 1239/1239 +f 1239/1239 458/458 459/459 +f 1239/1239 459/459 1796/1796 +f 1796/1796 459/459 1093/1093 +f 1795/1795 1096/1096 1240/1240 +f 1795/1795 1240/1240 1241/1241 +f 1241/1241 1794/1794 1795/1795 +f 1213/1213 1214/1214 1232/1232 +f 1213/1213 1232/1232 1231/1231 +f 1213/1213 1231/1231 1228/1228 +f 1213/1213 1228/1228 1230/1230 +f 1230/1230 1228/1228 1229/1229 +f 1230/1230 1229/1229 1225/1225 +f 1225/1225 1229/1229 1169/1169 +f 1225/1225 1169/1169 1205/1205 +f 1205/1205 1169/1169 1168/1168 +f 1205/1205 1168/1168 1224/1224 +f 1224/1224 1168/1168 1079/1079 +f 1225/1225 1205/1205 1207/1207 +f 1225/1225 1207/1207 1209/1209 +f 1230/1230 1225/1225 1209/1209 +f 1230/1230 1209/1209 1211/1211 +f 1213/1213 1230/1230 1211/1211 +f 1167/1167 1169/1169 1229/1229 +f 1167/1167 1229/1229 1227/1227 +f 1227/1227 1229/1229 1228/1228 +f 1227/1227 1228/1228 1226/1226 +f 1164/1164 1167/1167 1227/1227 +f 1164/1164 1227/1227 1163/1163 +f 1163/1163 1227/1227 1226/1226 +f 1163/1163 1226/1226 484/484 +f 538/538 1163/1163 484/484 +f 1198/1198 995/995 788/788 +f 1198/1198 788/788 787/787 +f 1198/1198 787/787 1158/1158 +f 1198/1198 1158/1158 1170/1170 +f 759/759 1828/1828 1172/1172 +f 759/759 1172/1172 1200/1200 +f 1200/1200 1172/1172 1078/1078 +f 1200/1200 1078/1078 1073/1073 +f 1200/1200 1073/1073 1069/1069 +f 1200/1200 1069/1069 1199/1199 +f 1199/1199 1069/1069 480/480 +f 479/479 480/480 1069/1069 +f 1079/1079 1078/1078 1172/1172 +f 1079/1079 1172/1172 1171/1171 +f 966/966 968/968 462/462 +f 966/966 462/462 995/995 +f 967/967 966/966 995/995 +f 967/967 995/995 1198/1198 +f 1930/1930 1924/1924 462/462 +f 1930/1930 462/462 968/968 +f 1919/1919 549/549 1195/1195 +f 1919/1919 1195/1195 992/992 +f 796/796 1919/1919 992/992 +f 796/796 992/992 990/990 +f 797/797 796/796 990/990 +f 797/797 990/990 989/989 +f 1904/1904 797/797 989/989 +f 1904/1904 989/989 997/997 +f 997/997 989/989 985/985 +f 997/997 985/985 983/983 +f 983/983 985/985 984/984 +f 983/983 984/984 982/982 +f 982/982 984/984 1903/1903 +f 1899/1899 1769/1769 1027/1027 +f 1027/1027 1769/1769 1768/1768 +f 1027/1027 1768/1768 1029/1029 +f 1029/1029 1768/1768 1038/1038 +f 1029/1029 1038/1038 1031/1031 +f 1031/1031 1038/1038 1037/1037 +f 1031/1031 1037/1037 1033/1033 +f 1033/1033 1037/1037 1035/1035 +f 1033/1033 1035/1035 1034/1034 +f 1034/1034 1035/1035 1036/1036 +f 1034/1034 1036/1036 1042/1042 +f 1698/1698 1038/1038 1768/1768 +f 1698/1698 1768/1768 996/996 +f 996/996 1768/1768 1769/1769 +f 1912/1912 1903/1903 984/984 +f 1900/1900 1904/1904 997/997 +f 1900/1900 997/997 983/983 +f 981/981 1900/1900 983/983 +f 981/981 983/983 982/982 +f 1194/1194 1183/1183 488/488 +f 1194/1194 488/488 814/814 +f 1194/1194 814/814 1192/1192 +f 1194/1194 1192/1192 1193/1193 +f 1193/1193 1192/1192 1191/1191 +f 1190/1190 471/471 1189/1189 +f 1190/1190 1189/1189 866/866 +f 866/866 1189/1189 1188/1188 +f 866/866 1188/1188 867/867 +f 867/867 1188/1188 1187/1187 +f 867/867 1187/1187 1186/1186 +f 868/868 867/867 1186/1186 +f 1184/1184 864/864 865/865 +f 1184/1184 865/865 869/869 +f 1185/1185 1184/1184 869/869 +f 1185/1185 869/869 871/871 +f 922/922 921/921 1855/1855 +f 922/922 1855/1855 1183/1183 +f 1183/1183 1855/1855 490/490 +f 1183/1183 490/490 1873/1873 +f 488/488 1183/1183 1873/1873 +f 1181/1181 1834/1834 1835/1835 +f 1181/1181 1835/1835 1178/1178 +f 1178/1178 1835/1835 1836/1836 +f 1178/1178 1836/1836 1106/1106 +f 1106/1106 1836/1836 1110/1110 +f 1178/1178 1106/1106 1104/1104 +f 1178/1178 1104/1104 1177/1177 +f 1175/1175 1176/1176 1174/1174 +f 1175/1175 1174/1174 971/971 +f 971/971 1174/1174 1173/1173 +f 971/971 1173/1173 972/972 +f 972/972 1173/1173 477/477 +f 476/476 477/477 1173/1173 +f 1171/1171 1172/1172 1828/1828 +f 1171/1171 1828/1828 1829/1829 +f 1168/1168 1169/1169 1167/1167 +f 1168/1168 1167/1167 1166/1166 +f 1166/1166 1167/1167 1164/1164 +f 1166/1166 1164/1164 1165/1165 +f 1165/1165 1164/1164 1162/1162 +f 1165/1165 1162/1162 1160/1160 +f 1160/1160 1162/1162 1161/1161 +f 1160/1160 1161/1161 1159/1159 +f 1159/1159 1161/1161 539/539 +f 1159/1159 539/539 1170/1170 +f 1159/1159 1170/1170 1158/1158 +f 1159/1159 1158/1158 1154/1154 +f 1154/1154 1158/1158 787/787 +f 1159/1159 1154/1154 1160/1160 +f 485/485 539/539 1161/1161 +f 485/485 1161/1161 538/538 +f 538/538 1161/1161 1162/1162 +f 538/538 1162/1162 1163/1163 +f 1163/1163 1162/1162 1164/1164 +f 1157/1157 1152/1152 1155/1155 +f 1157/1157 1155/1155 1156/1156 +f 1156/1156 1155/1155 787/787 +f 1154/1154 787/787 1155/1155 +f 1154/1154 1155/1155 1152/1152 +f 1153/1153 1154/1154 1152/1152 +f 1153/1153 1152/1152 1151/1151 +f 1147/1147 1024/1024 1023/1023 +f 1147/1147 1023/1023 1042/1042 +f 1042/1042 1023/1023 1034/1034 +f 465/465 1097/1097 1098/1098 +f 465/465 1098/1098 464/464 +f 464/464 1098/1098 1099/1099 +f 464/464 1099/1099 1100/1100 +f 1100/1100 1099/1099 1101/1101 +f 1099/1099 1098/1098 1111/1111 +f 1099/1099 1111/1111 1112/1112 +f 1112/1112 1111/1111 1113/1113 +f 1112/1112 1113/1113 1114/1114 +f 1114/1114 1113/1113 1115/1115 +f 1461/1461 1115/1115 1113/1113 +f 1461/1461 1113/1113 1111/1111 +f 1112/1112 1114/1114 1131/1131 +f 1112/1112 1131/1131 1130/1130 +f 1112/1112 1130/1130 1101/1101 +f 1112/1112 1101/1101 1099/1099 +f 1797/1797 1796/1796 1093/1093 +f 1797/1797 1093/1093 1094/1094 +f 1094/1094 1093/1093 536/536 +f 1091/1091 1785/1785 1783/1783 +f 1091/1091 1783/1783 1092/1092 +f 1091/1091 1092/1092 535/535 +f 1091/1091 535/535 536/536 +f 543/543 1063/1063 1066/1066 +f 543/543 1066/1066 1067/1067 +f 1067/1067 1066/1066 478/478 +f 1067/1067 478/478 1068/1068 +f 1068/1068 478/478 479/479 +f 1068/1068 479/479 1069/1069 +f 1068/1068 1069/1069 1072/1072 +f 1068/1068 1072/1072 1071/1071 +f 1068/1068 1071/1071 1070/1070 +f 1068/1068 1070/1070 1067/1067 +f 1067/1067 1070/1070 543/543 +f 1064/1064 1061/1061 1065/1065 +f 1064/1064 1065/1065 1063/1063 +f 1062/1062 1064/1064 1063/1063 +f 1062/1062 1063/1063 543/543 +f 541/541 1062/1062 543/543 +f 821/821 528/528 1778/1778 +f 821/821 1778/1778 823/823 +f 1805/1805 1806/1806 1779/1779 +f 1805/1805 1779/1779 825/825 +f 825/825 1779/1779 1781/1781 +f 825/825 1781/1781 827/827 +f 827/827 1781/1781 1061/1061 +f 1850/1850 1849/1849 1058/1058 +f 1850/1850 1058/1058 1044/1044 +f 1044/1044 1058/1058 1057/1057 +f 1044/1044 1057/1057 1046/1046 +f 1046/1046 1057/1057 1056/1056 +f 1046/1046 1056/1056 1048/1048 +f 1048/1048 1056/1056 1055/1055 +f 1048/1048 1055/1055 1050/1050 +f 1050/1050 1055/1055 1054/1054 +f 1867/1867 1871/1871 1053/1053 +f 1053/1053 1871/1871 717/717 +f 1850/1850 1044/1044 1851/1851 +f 1053/1053 717/717 1052/1052 +f 1053/1053 1052/1052 1867/1867 +f 1867/1867 1052/1052 1051/1051 +f 1867/1867 1051/1051 1049/1049 +f 1048/1048 1050/1050 1863/1863 +f 1048/1048 1863/1863 1860/1860 +f 1046/1046 1048/1048 1860/1860 +f 1046/1046 1860/1860 1857/1857 +f 1044/1044 1046/1046 1857/1857 +f 1044/1044 1857/1857 1854/1854 +f 1851/1851 1044/1044 1854/1854 +f 1015/1015 979/979 980/980 +f 1015/1015 980/980 1025/1025 +f 1025/1025 980/980 1899/1899 +f 1025/1025 1899/1899 1026/1026 +f 1026/1026 1899/1899 1027/1027 +f 1026/1026 1027/1027 1028/1028 +f 1028/1028 1027/1027 1029/1029 +f 1028/1028 1029/1029 1030/1030 +f 1030/1030 1029/1029 1031/1031 +f 1030/1030 1031/1031 1032/1032 +f 1032/1032 1031/1031 1033/1033 +f 1032/1032 1033/1033 1034/1034 +f 1032/1032 1034/1034 1023/1023 +f 1032/1032 1023/1023 1021/1021 +f 1021/1021 1023/1023 1022/1022 +f 1021/1021 1022/1022 1020/1020 +f 1020/1020 1022/1022 1765/1765 +f 1020/1020 1765/1765 1764/1764 +f 1764/1764 1765/1765 1142/1142 +f 1764/1764 1142/1142 1144/1144 +f 1144/1144 1142/1142 1143/1143 +f 1144/1144 1143/1143 1145/1145 +f 1023/1023 1024/1024 1022/1022 +f 1144/1144 1145/1145 1146/1146 +f 1144/1144 1146/1146 1763/1763 +f 1763/1763 1146/1146 1709/1709 +f 1763/1763 1709/1709 1016/1016 +f 1016/1016 1709/1709 864/864 +f 1016/1016 864/864 1014/1014 +f 1014/1014 864/864 1463/1463 +f 1014/1014 1463/1463 1887/1887 +f 1013/1013 1883/1883 1766/1766 +f 1013/1013 1766/1766 1011/1011 +f 1013/1013 1011/1011 1012/1012 +f 1013/1013 1012/1012 1891/1891 +f 1014/1014 1887/1887 979/979 +f 1014/1014 979/979 1015/1015 +f 1016/1016 1014/1014 1015/1015 +f 1016/1016 1015/1015 1017/1017 +f 1017/1017 1015/1015 1025/1025 +f 1017/1017 1025/1025 1039/1039 +f 1039/1039 1025/1025 1026/1026 +f 1039/1039 1026/1026 1040/1040 +f 1040/1040 1026/1026 1028/1028 +f 1040/1040 1028/1028 1030/1030 +f 1764/1764 1144/1144 1763/1763 +f 1764/1764 1763/1763 1018/1018 +f 1018/1018 1763/1763 1016/1016 +f 1018/1018 1016/1016 1017/1017 +f 1020/1020 1764/1764 1018/1018 +f 1020/1020 1018/1018 1019/1019 +f 1019/1019 1018/1018 1017/1017 +f 1019/1019 1017/1017 1039/1039 +f 1021/1021 1020/1020 1019/1019 +f 1021/1021 1019/1019 1041/1041 +f 1041/1041 1019/1019 1039/1039 +f 1041/1041 1039/1039 1040/1040 +f 1041/1041 1040/1040 1030/1030 +f 1041/1041 1030/1030 1032/1032 +f 1021/1021 1041/1041 1032/1032 +f 1116/1116 1143/1143 1142/1142 +f 1116/1116 1142/1142 1141/1141 +f 1141/1141 1142/1142 1765/1765 +f 1141/1141 1765/1765 1024/1024 +f 1024/1024 1765/1765 1022/1022 +f 981/981 982/982 1895/1895 +f 981/981 1895/1895 1891/1891 +f 988/988 991/991 986/986 +f 988/988 986/986 987/987 +f 987/987 986/986 985/985 +f 987/987 985/985 989/989 +f 988/988 987/987 989/989 +f 988/988 989/989 990/990 +f 988/988 990/990 992/992 +f 988/988 992/992 993/993 +f 993/993 992/992 789/789 +f 993/993 789/789 994/994 +f 994/994 789/789 788/788 +f 994/994 788/788 995/995 +f 994/994 995/995 462/462 +f 994/994 462/462 993/993 +f 993/993 462/462 988/988 +f 991/991 988/988 462/462 +f 991/991 462/462 460/460 +f 991/991 460/460 1912/1912 +f 991/991 1912/1912 986/986 +f 986/986 1912/1912 984/984 +f 986/986 984/984 985/985 +f 977/977 978/978 952/952 +f 977/977 952/952 954/954 +f 977/977 954/954 955/955 +f 977/977 955/955 976/976 +f 944/944 942/942 956/956 +f 944/944 956/956 957/957 +f 947/947 944/944 957/957 +f 947/947 957/957 960/960 +f 975/975 1968/1968 1963/1963 +f 975/975 1963/1963 974/974 +f 974/974 1963/1963 973/973 +f 966/966 967/967 965/965 +f 966/966 965/965 964/964 +f 964/964 965/965 963/963 +f 964/964 963/963 962/962 +f 962/962 963/963 1957/1957 +f 1950/1950 961/961 959/959 +f 959/959 961/961 960/960 +f 959/959 960/960 957/957 +f 958/958 959/959 957/957 +f 958/958 957/957 956/956 +f 973/973 1963/1963 1957/1957 +f 973/973 1957/1957 963/963 +f 968/968 966/966 964/964 +f 968/968 964/964 969/969 +f 969/969 964/964 962/962 +f 1943/1943 1950/1950 970/970 +f 970/970 1950/1950 959/959 +f 970/970 959/959 958/958 +f 970/970 958/958 971/971 +f 970/970 971/971 972/972 +f 1943/1943 970/970 972/972 +f 1943/1943 972/972 477/477 +f 968/968 969/969 1930/1930 +f 949/949 948/948 955/955 +f 949/949 955/955 954/954 +f 950/950 949/949 954/954 +f 950/950 954/954 952/952 +f 953/953 950/950 952/952 +f 953/953 952/952 951/951 +f 949/949 950/950 932/932 +f 949/949 932/932 933/933 +f 948/948 949/949 933/933 +f 948/948 933/933 941/941 +f 944/944 947/947 946/946 +f 944/944 946/946 945/945 +f 944/944 945/945 943/943 +f 944/944 943/943 942/942 +f 939/939 941/941 933/933 +f 939/939 933/933 940/940 +f 940/940 933/933 931/931 +f 940/940 931/931 938/938 +f 938/938 931/931 929/929 +f 938/938 929/929 937/937 +f 937/937 929/929 927/927 +f 937/937 927/927 936/936 +f 936/936 927/927 925/925 +f 936/936 925/925 935/935 +f 935/935 925/925 923/923 +f 935/935 923/923 231/231 +f 231/231 923/923 205/205 +f 935/935 231/231 135/135 +f 935/935 135/135 1985/1985 +f 901/901 935/935 1985/1985 +f 939/939 940/940 938/938 +f 939/939 938/938 905/905 +f 905/905 938/938 904/904 +f 905/905 907/907 939/939 +f 904/904 938/938 937/937 +f 904/904 937/937 901/901 +f 901/901 937/937 936/936 +f 901/901 936/936 935/935 +f 931/931 933/933 932/932 +f 931/931 932/932 930/930 +f 930/930 932/932 934/934 +f 929/929 931/931 930/930 +f 929/929 930/930 928/928 +f 927/927 929/929 928/928 +f 927/927 928/928 926/926 +f 925/925 927/927 926/926 +f 925/925 926/926 924/924 +f 923/923 925/925 924/924 +f 921/921 922/922 1861/1861 +f 1858/1858 919/919 920/920 +f 920/920 919/919 455/455 +f 455/455 919/919 918/918 +f 455/455 918/918 457/457 +f 913/913 917/917 916/916 +f 913/913 916/916 911/911 +f 911/911 916/916 915/915 +f 911/911 915/915 909/909 +f 912/912 913/913 911/911 +f 912/912 911/911 910/910 +f 910/910 911/911 909/909 +f 910/910 909/909 908/908 +f 912/912 910/910 914/914 +f 906/906 1975/1975 1978/1978 +f 906/906 1978/1978 903/903 +f 903/903 1978/1978 1981/1981 +f 903/903 1981/1981 1983/1983 +f 902/902 903/903 1983/1983 +f 902/902 1983/1983 900/900 +f 899/899 855/855 457/457 +f 899/899 457/457 898/898 +f 897/897 890/890 891/891 +f 897/897 891/891 895/895 +f 896/896 897/897 895/895 +f 896/896 895/895 894/894 +f 449/449 450/450 893/893 +f 449/449 893/893 851/851 +f 851/851 893/893 892/892 +f 851/851 892/892 853/853 +f 853/853 892/892 891/891 +f 853/853 891/891 890/890 +f 854/854 853/853 890/890 +f 886/886 889/889 860/860 +f 886/886 860/860 887/887 +f 887/887 860/860 859/859 +f 886/886 887/887 1902/1902 +f 886/886 1902/1902 834/834 +f 886/886 834/834 832/832 +f 886/886 832/832 885/885 +f 885/885 832/832 884/884 +f 884/884 832/832 830/830 +f 884/884 830/830 882/882 +f 882/882 830/830 883/883 +f 882/882 883/883 1882/1882 +f 881/881 882/882 1882/1882 +f 881/881 1882/1882 878/878 +f 878/878 1882/1882 1878/1878 +f 878/878 1878/1878 1875/1875 +f 876/876 878/878 1875/1875 +f 876/876 1875/1875 1872/1872 +f 874/874 876/876 1872/1872 +f 874/874 1872/1872 873/873 +f 872/872 874/874 873/873 +f 872/872 873/873 871/871 +f 870/870 872/872 871/871 +f 870/870 871/871 869/869 +f 868/868 870/870 869/869 +f 868/868 869/869 865/865 +f 867/867 868/868 865/865 +f 867/867 865/865 866/866 +f 866/866 865/865 864/864 +f 1886/1886 1890/1890 831/831 +f 1886/1886 831/831 888/888 +f 862/862 863/863 843/843 +f 862/862 843/843 841/841 +f 835/835 862/862 841/841 +f 835/835 841/841 836/836 +f 857/857 856/856 240/240 +f 857/857 240/240 858/858 +f 858/858 240/240 859/859 +f 858/858 859/859 860/860 +f 858/858 860/860 861/861 +f 858/858 861/861 857/857 +f 847/847 839/839 840/840 +f 847/847 840/840 845/845 +f 845/845 840/840 844/844 +f 845/845 844/844 451/451 +f 842/842 844/844 840/840 +f 848/848 847/847 845/845 +f 848/848 845/845 846/846 +f 846/846 845/845 451/451 +f 846/846 451/451 449/449 +f 849/849 848/848 846/846 +f 849/849 846/846 449/449 +f 850/850 849/849 449/449 +f 850/850 449/449 851/851 +f 852/852 850/850 851/851 +f 852/852 851/851 853/853 +f 852/852 853/853 854/854 +f 852/852 854/854 855/855 +f 841/841 843/843 842/842 +f 841/841 842/842 840/840 +f 836/836 841/841 840/840 +f 836/836 840/840 839/839 +f 836/836 839/839 833/833 +f 836/836 833/833 837/837 +f 837/837 833/833 1898/1898 +f 837/837 1898/1898 323/323 +f 323/323 1898/1898 838/838 +f 836/836 837/837 323/323 +f 836/836 323/323 835/835 +f 1894/1894 1898/1898 833/833 +f 1894/1894 833/833 831/831 +f 1890/1890 1894/1894 831/831 +f 826/826 829/829 828/828 +f 826/826 828/828 824/824 +f 1804/1804 1803/1803 826/826 +f 1804/1804 826/826 824/824 +f 823/823 1804/1804 824/824 +f 823/823 824/824 822/822 +f 821/821 823/823 822/822 +f 821/821 822/822 820/820 +f 528/528 821/821 820/820 +f 819/819 1880/1880 815/815 +f 819/819 815/815 818/818 +f 817/817 819/819 818/818 +f 489/489 816/816 815/815 +f 489/489 815/815 1876/1876 +f 1876/1876 815/815 1880/1880 +f 812/812 813/813 489/489 +f 812/812 489/489 491/491 +f 491/491 489/489 487/487 +f 1870/1870 1873/1873 490/490 +f 809/809 808/808 810/810 +f 809/809 810/810 811/811 +f 806/806 807/807 805/805 +f 806/806 805/805 448/448 +f 803/803 1841/1841 1840/1840 +f 803/803 1840/1840 801/801 +f 546/546 793/793 800/800 +f 546/546 800/800 545/545 +f 798/798 799/799 715/715 +f 798/798 715/715 714/714 +f 546/546 544/544 798/798 +f 546/546 798/798 794/794 +f 794/794 798/798 714/714 +f 794/794 714/714 547/547 +f 1913/1913 1907/1907 795/795 +f 1913/1913 795/795 548/548 +f 548/548 795/795 547/547 +f 794/794 547/547 795/795 +f 794/794 795/795 793/793 +f 546/546 794/794 793/793 +f 519/519 520/520 706/706 +f 519/519 706/706 710/710 +f 710/710 706/706 708/708 +f 710/710 708/708 712/712 +f 712/712 708/708 547/547 +f 712/712 547/547 714/714 +f 499/499 497/497 495/495 +f 499/499 495/495 792/792 +f 792/792 495/495 496/496 +f 494/494 525/525 758/758 +f 494/494 758/758 791/791 +f 791/791 758/758 552/552 +f 791/791 552/552 790/790 +f 790/790 552/552 550/550 +f 495/495 497/497 1827/1827 +f 495/495 1827/1827 525/525 +f 788/788 789/789 695/695 +f 788/788 695/695 787/787 +f 787/787 695/695 786/786 +f 785/785 786/786 695/695 +f 777/777 776/776 778/778 +f 777/777 778/778 779/779 +f 779/779 778/778 780/780 +f 779/779 780/780 781/781 +f 779/779 781/781 1614/1614 +f 779/779 1614/1614 1615/1615 +f 777/777 779/779 1615/1615 +f 777/777 1615/1615 1617/1617 +f 1617/1617 1615/1615 1618/1618 +f 1617/1617 1618/1618 1619/1619 +f 1619/1619 1618/1618 1620/1620 +f 1619/1619 1620/1620 1621/1621 +f 775/775 443/443 764/764 +f 775/775 764/764 774/774 +f 774/774 764/764 773/773 +f 774/774 773/773 772/772 +f 772/772 773/773 771/771 +f 772/772 771/771 750/750 +f 769/769 770/770 768/768 +f 769/769 768/768 751/751 +f 751/751 768/768 767/767 +f 751/751 767/767 752/752 +f 501/501 500/500 522/522 +f 501/501 522/522 762/762 +f 762/762 522/522 766/766 +f 444/444 761/761 763/763 +f 444/444 763/763 443/443 +f 443/443 763/763 765/765 +f 443/443 765/765 764/764 +f 762/762 763/763 761/761 +f 762/762 761/761 760/760 +f 758/758 525/525 1827/1827 +f 758/758 1827/1827 1826/1826 +f 552/552 758/758 1826/1826 +f 552/552 1826/1826 1825/1825 +f 551/551 552/552 1825/1825 +f 1824/1824 756/756 755/755 +f 1824/1824 755/755 533/533 +f 1824/1824 533/533 754/754 +f 754/754 533/533 753/753 +f 751/751 752/752 749/749 +f 751/751 749/749 750/750 +f 750/750 749/749 554/554 +f 553/553 554/554 749/749 +f 728/728 527/527 727/727 +f 728/728 727/727 726/726 +f 726/726 727/727 724/724 +f 726/726 724/724 725/725 +f 725/725 724/724 723/723 +f 723/723 724/724 722/722 +f 723/723 722/722 720/720 +f 720/720 722/722 721/721 +f 720/720 721/721 718/718 +f 719/719 720/720 718/718 +f 719/719 718/718 717/717 +f 715/715 716/716 713/713 +f 715/715 713/713 714/714 +f 714/714 713/713 712/712 +f 712/712 713/713 711/711 +f 712/712 711/711 710/710 +f 710/710 711/711 709/709 +f 710/710 709/709 519/519 +f 519/519 709/709 700/700 +f 701/701 700/700 709/709 +f 1925/1925 547/547 708/708 +f 1925/1925 708/708 706/706 +f 1931/1931 1925/1925 706/706 +f 1931/1931 706/706 705/705 +f 705/705 706/706 520/520 +f 705/705 520/520 702/702 +f 702/702 520/520 521/521 +f 704/704 670/670 668/668 +f 704/704 668/668 703/703 +f 521/521 704/704 703/703 +f 521/521 703/703 702/702 +f 700/700 701/701 699/699 +f 700/700 699/699 698/698 +f 698/698 699/699 696/696 +f 698/698 696/696 697/697 +f 697/697 696/696 639/639 +f 638/638 639/639 696/696 +f 694/694 695/695 693/693 +f 694/694 693/693 692/692 +f 692/692 693/693 691/691 +f 692/692 691/691 690/690 +f 690/690 691/691 689/689 +f 690/690 689/689 688/688 +f 688/688 689/689 687/687 +f 688/688 687/687 686/686 +f 686/686 687/687 685/685 +f 686/686 685/685 683/683 +f 683/683 685/685 684/684 +f 683/683 684/684 682/682 +f 681/681 683/683 682/682 +f 680/680 668/668 669/669 +f 680/680 669/669 678/678 +f 678/678 669/669 672/672 +f 678/678 672/672 677/677 +f 677/677 672/672 676/676 +f 676/676 672/672 673/673 +f 676/676 673/673 675/675 +f 675/675 673/673 674/674 +f 675/675 674/674 647/647 +f 647/647 674/674 646/646 +f 631/631 633/633 646/646 +f 631/631 646/646 674/674 +f 629/629 631/631 674/674 +f 629/629 674/674 673/673 +f 629/629 673/673 672/672 +f 629/629 672/672 630/630 +f 630/630 672/672 671/671 +f 671/671 672/672 669/669 +f 671/671 669/669 670/670 +f 670/670 669/669 668/668 +f 666/666 667/667 664/664 +f 666/666 664/664 665/665 +f 665/665 664/664 663/663 +f 663/663 664/664 661/661 +f 663/663 661/661 662/662 +f 662/662 661/661 660/660 +f 659/659 510/510 508/508 +f 659/659 508/508 657/657 +f 657/657 508/508 658/658 +f 657/657 658/658 655/655 +f 656/656 657/657 655/655 +f 656/656 655/655 654/654 +f 654/654 655/655 653/653 +f 654/654 653/653 652/652 +f 652/652 653/653 651/651 +f 652/652 651/651 650/650 +f 649/649 622/622 1986/1986 +f 649/649 1986/1986 405/405 +f 644/644 649/649 405/405 +f 644/644 405/405 339/339 +f 633/633 645/645 559/559 +f 633/633 559/559 646/646 +f 646/646 559/559 556/556 +f 646/646 556/556 647/647 +f 647/647 556/556 648/648 +f 647/647 648/648 621/621 +f 621/621 648/648 1984/1984 +f 406/406 1984/1984 648/648 +f 406/406 648/648 557/557 +f 557/557 648/648 556/556 +f 645/645 430/430 355/355 +f 645/645 355/355 559/559 +f 559/559 355/355 558/558 +f 644/644 339/339 641/641 +f 644/644 641/641 643/643 +f 643/643 641/641 642/642 +f 643/643 642/642 623/623 +f 643/643 623/623 644/644 +f 640/640 642/642 641/641 +f 637/637 639/639 638/638 +f 637/637 638/638 636/636 +f 634/634 637/637 636/636 +f 634/634 636/636 635/635 +f 632/632 633/633 631/631 +f 632/632 631/631 627/627 +f 627/627 631/631 629/629 +f 627/627 629/629 628/628 +f 628/628 629/629 630/630 +f 625/625 632/632 627/627 +f 625/625 627/627 626/626 +f 626/626 627/627 628/628 +f 626/626 628/628 634/634 +f 626/626 634/634 635/635 +f 626/626 635/635 624/624 +f 625/625 626/626 624/624 +f 625/625 624/624 623/623 +f 621/621 1984/1984 1982/1982 +f 621/621 1982/1982 618/618 +f 618/618 1982/1982 1979/1979 +f 618/618 1979/1979 1976/1976 +f 617/617 618/618 1976/1976 +f 617/617 1976/1976 1973/1973 +f 602/602 439/439 437/437 +f 602/602 437/437 600/600 +f 613/613 614/614 612/612 +f 613/613 612/612 601/601 +f 601/601 612/612 603/603 +f 601/601 603/603 602/602 +f 602/602 603/603 439/439 +f 439/439 603/603 604/604 +f 439/439 604/604 605/605 +f 605/605 604/604 606/606 +f 605/605 606/606 607/607 +f 607/607 606/606 608/608 +f 607/607 608/608 609/609 +f 609/609 608/608 610/610 +f 604/604 611/611 606/606 +f 601/601 602/602 600/600 +f 601/601 600/600 599/599 +f 598/598 570/570 49/49 +f 598/598 49/49 597/597 +f 581/581 596/596 507/507 +f 581/581 507/507 583/583 +f 583/583 507/507 505/505 +f 583/583 505/505 585/585 +f 585/585 505/505 578/578 +f 585/585 578/578 576/576 +f 593/593 595/595 573/573 +f 593/593 573/573 594/594 +f 593/593 594/594 592/592 +f 593/593 592/592 591/591 +f 591/591 592/592 590/590 +f 591/591 590/590 509/509 +f 589/589 561/561 562/562 +f 589/589 562/562 588/588 +f 586/586 589/589 588/588 +f 586/586 588/588 584/584 +f 584/584 588/588 587/587 +f 584/584 587/587 582/582 +f 588/588 562/562 587/587 +f 585/585 586/586 584/584 +f 585/585 584/584 583/583 +f 583/583 584/584 582/582 +f 583/583 582/582 581/581 +f 505/505 506/506 580/580 +f 505/505 580/580 578/578 +f 578/578 580/580 1929/1929 +f 578/578 1929/1929 1923/1923 +f 576/576 578/578 1923/1923 +f 570/570 575/575 574/574 +f 570/570 574/574 571/571 +f 571/571 574/574 573/573 +f 571/571 573/573 20/20 +f 20/20 573/573 572/572 +f 570/570 571/571 20/20 +f 570/570 20/20 49/49 +f 564/564 514/514 1775/1775 +f 564/564 1775/1775 565/565 +f 1817/1817 1818/1818 1773/1773 +f 1817/1817 1773/1773 568/568 +f 568/568 1773/1773 1771/1771 +f 568/568 1771/1771 512/512 +f 512/512 1771/1771 511/511 +f 1816/1816 1815/1815 569/569 +f 1816/1816 569/569 567/567 +f 565/565 1816/1816 567/567 +f 565/565 567/567 566/566 +f 565/565 566/566 563/563 +f 565/565 563/563 564/564 +f 564/564 563/563 514/514 +f 1619/1619 1621/1621 1652/1652 +f 1619/1619 1652/1652 1653/1653 +f 1653/1653 1652/1652 776/776 +f 1653/1653 776/776 777/777 +f 1653/1653 777/777 1617/1617 +f 1653/1653 1617/1617 1619/1619 +f 1651/1651 776/776 1652/1652 +f 1651/1651 1652/1652 1621/1621 +f 809/809 811/811 1394/1394 +f 809/809 1394/1394 806/806 +f 809/809 806/806 1434/1434 +f 809/809 1434/1434 1435/1435 +f 1435/1435 1434/1434 666/666 +f 1435/1435 666/666 1424/1424 +f 1435/1435 1424/1424 1422/1422 +f 1435/1435 1422/1422 808/808 +f 809/809 1435/1435 808/808 +f 1415/1415 1394/1394 811/811 +f 1415/1415 811/811 1414/1414 +f 1414/1414 811/811 810/810 +f 1414/1414 810/810 1418/1418 +f 1414/1414 1418/1418 1413/1413 +f 1414/1414 1413/1413 1410/1410 +f 1410/1410 1413/1413 1408/1408 +f 1410/1410 1408/1408 1409/1409 +f 1409/1409 1408/1408 1404/1404 +f 1409/1409 1404/1404 1402/1402 +f 1408/1408 1413/1413 733/733 +f 1408/1408 733/733 735/735 +f 735/735 733/733 734/734 +f 735/735 734/734 736/736 +f 735/735 736/736 737/737 +f 735/735 737/737 1404/1404 +f 1408/1408 735/735 1404/1404 +f 1411/1411 1409/1409 1402/1402 +f 1411/1411 1402/1402 1400/1400 +f 1410/1410 1409/1409 1411/1411 +f 1410/1410 1411/1411 1412/1412 +f 1412/1412 1411/1411 1400/1400 +f 1412/1412 1400/1400 1398/1398 +f 1414/1414 1410/1410 1412/1412 +f 1414/1414 1412/1412 1415/1415 +f 1415/1415 1412/1412 1416/1416 +f 1415/1415 1416/1416 1394/1394 +f 1394/1394 1416/1416 1393/1393 +f 1398/1398 1393/1393 1416/1416 +f 1398/1398 1416/1416 1412/1412 +f 1751/1751 852/852 855/855 +f 1751/1751 855/855 899/899 +f 850/850 852/852 1751/1751 +f 850/850 1751/1751 1359/1359 +f 1359/1359 1751/1751 1358/1358 +f 1732/1732 1358/1358 1751/1751 +f 1732/1732 1751/1751 899/899 +f 1731/1731 1732/1732 899/899 +f 1731/1731 899/899 898/898 +f 1730/1730 1731/1731 898/898 +f 1730/1730 898/898 1333/1333 +f 1869/1869 1865/1865 1750/1750 +f 1869/1869 1750/1750 873/873 +f 873/873 1750/1750 1749/1749 +f 873/873 1749/1749 871/871 +f 871/871 1749/1749 1185/1185 +f 1750/1750 1865/1865 1334/1334 +f 1750/1750 1334/1334 1748/1748 +f 1748/1748 1334/1334 1335/1335 +f 1748/1748 1335/1335 1716/1716 +f 1748/1748 1716/1716 1184/1184 +f 1748/1748 1184/1184 1185/1185 +f 1748/1748 1185/1185 1749/1749 +f 1748/1748 1749/1749 1750/1750 +f 1307/1307 472/472 1767/1767 +f 1307/1307 1767/1767 1309/1309 +f 1309/1309 1767/1767 1311/1311 +f 1852/1852 1311/1311 1767/1767 +f 1852/1852 1767/1767 472/472 +f 1842/1842 803/803 1761/1761 +f 1842/1842 1761/1761 1129/1129 +f 1129/1129 1761/1761 1406/1406 +f 1761/1761 803/803 1578/1578 +f 1761/1761 1578/1578 1760/1760 +f 1760/1760 1578/1578 1759/1759 +f 1760/1760 1759/1759 1401/1401 +f 1401/1401 1759/1759 1399/1399 +f 1576/1576 1399/1399 1759/1759 +f 1576/1576 1759/1759 1577/1577 +f 1577/1577 1759/1759 1578/1578 +f 1760/1760 1401/1401 1407/1407 +f 1760/1760 1407/1407 1406/1406 +f 1406/1406 1761/1761 1760/1760 +f 1583/1583 1480/1480 1481/1481 +f 1583/1583 1481/1481 1483/1483 +f 1583/1583 1483/1483 1582/1582 +f 1583/1583 1582/1582 1585/1585 +f 1583/1583 1585/1585 1500/1500 +f 1583/1583 1500/1500 1584/1584 +f 1480/1480 1583/1583 1584/1584 +f 1382/1382 1561/1561 1762/1762 +f 1382/1382 1762/1762 1885/1885 +f 1885/1885 1762/1762 1881/1881 +f 1561/1561 1881/1881 1762/1762 +f 1149/1149 1139/1139 1148/1148 +f 1149/1149 1148/1148 1150/1150 +f 1149/1149 1150/1150 1140/1140 +f 1149/1149 1140/1140 1139/1139 +f 1770/1770 1092/1092 1783/1783 +f 1770/1770 1783/1783 1787/1787 +f 1770/1770 1787/1787 760/760 +f 1770/1770 760/760 761/761 +f 1770/1770 761/761 444/444 +f 1770/1770 444/444 1573/1573 +f 1770/1770 1573/1573 535/535 +f 1770/1770 535/535 1092/1092 +f 1782/1782 1780/1780 1361/1361 +f 1361/1361 1780/1780 1777/1777 +f 1361/1361 1777/1777 1362/1362 +f 1362/1362 1777/1777 1807/1807 +f 1362/1362 1807/1807 1808/1808 +f 1061/1061 1781/1781 1065/1065 +f 1065/1065 1781/1781 1780/1780 +f 1065/1065 1780/1780 1782/1782 +f 1781/1781 1779/1779 1780/1780 +f 1780/1780 1779/1779 1777/1777 +f 1779/1779 1806/1806 1777/1777 +f 1777/1777 1806/1806 1807/1807 +f 1821/1821 1772/1772 1602/1602 +f 1602/1602 1772/1772 1566/1566 +f 1602/1602 1566/1566 1776/1776 +f 1566/1566 1772/1772 1567/1567 +f 1567/1567 1772/1772 1774/1774 +f 1567/1567 1774/1774 513/513 +f 513/513 1774/1774 515/515 +f 515/515 1774/1774 1775/1775 +f 1818/1818 1819/1819 1773/1773 +f 1819/1819 1820/1820 1773/1773 +f 1773/1773 1820/1820 1771/1771 +f 1820/1820 511/511 1771/1771 +f 1789/1789 501/501 1786/1786 +f 1789/1789 1786/1786 1788/1788 +f 537/537 1789/1789 1788/1788 +f 537/537 1788/1788 1784/1784 +f 501/501 762/762 760/760 +f 501/501 760/760 1786/1786 +f 1787/1787 1783/1783 1784/1784 +f 1787/1787 1784/1784 1788/1788 +f 1787/1787 1788/1788 1786/1786 +f 1787/1787 1786/1786 760/760 +f 1785/1785 537/537 1784/1784 +f 1785/1785 1784/1784 1783/1783