diff --git a/tests/Makefile b/tests/Makefile index f86f49c..96ec275 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -233,11 +233,14 @@ run_tests_no_load_serial: ./matrandom_check_reset -ksp_max_it 12 -check_airg 0 @echo "" @echo "Test AIRG with SUPG CG FEM in 2D" - ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -dm_plex_simplex 0 -dm_refine 1 -pc_type air -pc_air_a_drop 1e-3 -pc_air_inverse_type power \ - -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 + ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -dm_plex_simplex 0 -dm_refine 2 -pc_type air -pc_air_a_drop 1e-3 -pc_air_inverse_type power \ + -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 -pc_air_a_lump + @echo "Test AIRG with SUPG CG FEM in 2D with curved velocity" + ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -dm_plex_simplex 0 -dm_refine 2 -pc_type air -pc_air_a_drop 1e-3 -pc_air_inverse_type power \ + -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 -curved_velocity -pc_air_a_lump @echo "Test AIRG with SUPG CG FEM in 3D" ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -dm_plex_simplex 0 -dm_plex_dim 3 -dm_plex_box_faces 5,5,5 -pc_type air -pc_air_a_drop 1e-3 -pc_air_inverse_type power \ - -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 + -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 -pc_air_a_lump # @echo "" @echo "Test AIRG with GMRES polynomials for 2D finite difference stencil" @@ -485,11 +488,16 @@ run_tests_no_load_parallel: # @echo "" @echo "Test AIRG with SUPG CG FEM in 2D in parallel" - $(MPIEXEC) -n 2 ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -dm_plex_simplex 0 -dm_refine 1 -pc_type air \ - -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 -pc_air_a_drop 1e-3 -pc_air_inverse_type power + $(MPIEXEC) -n 2 ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -dm_plex_simplex 0 -dm_refine 2 -pc_type air \ + -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 -pc_air_a_drop 1e-3 -pc_air_inverse_type power \ + -pc_air_a_lump + @echo "Test AIRG with SUPG CG FEM in 2D with curved velocity in parallel" + $(MPIEXEC) -n 2 ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -dm_plex_simplex 0 -dm_refine 2 -pc_type air -pc_air_a_drop 1e-3 -pc_air_inverse_type power \ + -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 -curved_velocity -pc_air_a_lump @echo "Test AIRG with SUPG CG FEM in 3D in parallel" $(MPIEXEC) -n 2 ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -dm_plex_simplex 0 -dm_plex_dim 3 -dm_plex_box_faces 5,5,5 \ - -pc_type air -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 -pc_air_a_drop 1e-3 -pc_air_inverse_type power + -pc_type air -ksp_type richardson -ksp_norm_type unpreconditioned -ksp_max_it 4 -pc_air_a_drop 1e-3 -pc_air_inverse_type power \ + -pc_air_a_lump # @echo "" @echo "Test AIRG with GMRES polynomials for 2D finite difference stencil in parallel" @@ -713,6 +721,24 @@ run_tests_medium_serial: ./adv_diff_2d -da_grid_x $$size -da_grid_y $$size -pc_type air -ksp_pc_side right \ -ksp_rtol 1e-10 -ksp_atol 1e-50 -pc_air_a_lump -pc_air_a_drop 1e-5 -pc_air_strong_threshold 0.99 -ksp_max_it 6; \ done +# + @echo "" + @echo "--- Running scaling study on adv_diff_cg_supg with unstructured mesh ---" + @set -e; for refine in 2 3 4; do \ + echo "--- Testing refinement = $$refine ---"; \ + ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -pc_type air -ksp_type richardson -ksp_norm_type unpreconditioned \ + -ksp_rtol 1e-10 -ksp_atol 1e-50 \ + -pc_air_a_lump -dm_plex_filename data/square_unstruc.msh -dm_refine $$refine -ksp_max_it 8; \ + done +# + @echo "" + @echo "--- Running scaling study on adv_diff_cg_supg with unstructured mesh and curved velocity ---" + @set -e; for refine in 2 3 4; do \ + echo "--- Testing refinement = $$refine ---"; \ + ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -pc_type air -ksp_type richardson -ksp_norm_type unpreconditioned \ + -curved_velocity -ksp_rtol 1e-10 -ksp_atol 1e-50 \ + -pc_air_a_lump -dm_plex_filename data/square_unstruc.msh -dm_refine $$refine -ksp_max_it 8; \ + done # ~~~~~~~~~~~ # ~~~~~~~~~~~ @@ -732,6 +758,24 @@ run_tests_medium_parallel: echo "--- Testing size = $$size x $$size ---"; \ $(MPIEXEC) -n 2 ./adv_diff_2d -da_grid_x $$size -da_grid_y $$size -pc_type air -ksp_pc_side right \ -ksp_rtol 1e-10 -ksp_atol 1e-50 -pc_air_a_lump -pc_air_a_drop 1e-5 -pc_air_strong_threshold 0.99 -ksp_max_it 6; \ + done +# + @echo "" + @echo "--- Running scaling study on adv_diff_cg_supg with unstructured mesh in parallel ---" + @set -e; for refine in 2 3 4; do \ + echo "--- Testing refinement = $$refine ---"; \ + $(MPIEXEC) -n 2 ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -pc_type air -ksp_type richardson -ksp_norm_type unpreconditioned \ + -ksp_rtol 1e-10 -ksp_atol 1e-50 \ + -pc_air_a_lump -dm_plex_filename data/square_unstruc.msh -dm_refine $$refine -ksp_max_it 8; \ + done +# + @echo "" + @echo "--- Running scaling study on adv_diff_cg_supg with unstructured mesh and curved velocity in parallel ---" + @set -e; for refine in 2 3 4; do \ + echo "--- Testing refinement = $$refine ---"; \ + $(MPIEXEC) -n 2 ./adv_diff_cg_supg -adv_diff_petscspace_degree 1 -pc_type air -ksp_type richardson -ksp_norm_type unpreconditioned \ + -curved_velocity -ksp_rtol 1e-10 -ksp_atol 1e-50 \ + -pc_air_a_lump -dm_plex_filename data/square_unstruc.msh -dm_refine $$refine -ksp_max_it 8; \ done # ~~~~~~~~~~~ diff --git a/tests/adv_diff_cg_supg.c b/tests/adv_diff_cg_supg.c index 2ef27f0..57e2e9a 100644 --- a/tests/adv_diff_cg_supg.c +++ b/tests/adv_diff_cg_supg.c @@ -20,7 +20,10 @@ : advection-diffusion with linear FEM with theta=pi/4 BCs dirichlet on all sides + Can change default velocity from straight line to curved with -curved_velocity (default false) + Can normalise velocity with -unit_velocity (default true) so that we have a unit velocity. Can control the direction of advection with -theta (pi/4 default), or by giving the -u and -v and -w directly + If any of u,v,w are set then they will override the theta and unit velocity will be disabled */ @@ -36,9 +39,42 @@ static char help[] = "Solves steady advection-diffusion FEM problem with SUPG st typedef struct { PetscReal alpha; // Diffusion coefficient - PetscReal advection_velocity[3]; // Advection velocity, in 2D or 3D + PetscReal advection_velocity[3]; // Advection velocity, in 2D or 3D (for straight line case) + PetscBool curved_velocity; // Use curved velocity field if true + PetscBool unit_velocity; // Normalize velocity magnitude if true } AppCtx; +// Helper function to compute velocity at a point +// constants[0] is alpha, constants[1-3] are constant velocity, constants[4] is curved flag (1.0 if curved) +// and constant[5] is velocity normalisation flag (1.0 if normalise) +static inline void GetVelocity(const PetscScalar constants[], const PetscReal x[], PetscReal v[]) +{ + if (constants[4] == 1.0) { + // Spatially-varying velocity field: top-left quadrant of a rotating circle (center at 1,0) + // u(x,y) = y, v(x,y) = 1-x + v[0] = x[1]; // u(x,y) + v[1] = 1.0 - x[0]; // v(x,y) + v[2] = 0.0; // w (unused in 2D) + } else { + // Constant velocity field + v[0] = constants[1]; + v[1] = constants[2]; + v[2] = constants[3]; + } + + // Normalize velocity if unit_velocity flag is set + if (constants[5] == 1.0) { + PetscReal mag = 0.0; + for (int d = 0; d < 2; ++d) mag += v[d]*v[d]; + mag = sqrt(mag); + if (mag > 1e-12) { + v[0] /= mag; + v[1] /= mag; + v[2] /= mag; + } + } +} + // Helper function to compute the SUPG stabilization parameter tau static inline PetscErrorCode ComputeSUPGStabilization(PetscInt dim, PetscReal h, PetscReal alpha, const PetscReal v[], PetscReal *tau) { @@ -92,9 +128,8 @@ static PetscErrorCode neumann_bc_zero_flux(PetscInt dim, PetscReal time, const P // The f0 term in the weak form integral static void advection_diffusion_f0(PetscInt dim, PetscInt Nf, PetscInt NfAux, const PetscInt uOff[], const PetscInt uOff_x[], const PetscScalar u[], const PetscScalar u_t[], const PetscScalar u_x[], const PetscInt aOff[], const PetscInt aOff_x[], const PetscScalar a[], const PetscScalar a_t[], const PetscScalar a_x[], PetscReal t, const PetscReal x[], PetscInt numConstants, const PetscScalar constants[], PetscScalar f0[]) { - // constants[1] is u, constants[2] is v, constants[3] is w - // Pointer to the first component of the velocity in the constants array - const PetscReal *advection_velocity = &constants[1]; + PetscReal advection_velocity[3]; + GetVelocity(constants, x, advection_velocity); PetscReal adv_dot_grad_u = 0.0; PetscReal volumetric_source = 0.0; // Assuming f = 0 for now @@ -112,8 +147,12 @@ static void advection_diffusion_f0(PetscInt dim, PetscInt Nf, PetscInt NfAux, co static void advection_diffusion_f1_supg(PetscInt dim, PetscInt Nf, PetscInt NfAux, const PetscInt uOff[], const PetscInt uOff_x[], const PetscScalar u[], const PetscScalar u_t[], const PetscScalar u_x[], const PetscInt aOff[], const PetscInt aOff_x[], const PetscScalar a[], const PetscScalar a_t[], const PetscScalar a_x[], PetscReal t, const PetscReal x[], PetscInt numConstants, const PetscScalar constants[], PetscScalar f1[]) { const PetscReal alpha = constants[0]; - const PetscReal *v = &constants[1]; const PetscReal h = a[0]; // Cell size from auxiliary field + + // Get velocity field + PetscReal v[3]; + GetVelocity(constants, x, v); + PetscReal tau, v_dot_grad_u = 0.0; PetscInt d; @@ -129,9 +168,8 @@ static void advection_diffusion_f1_supg(PetscInt dim, PetscInt Nf, PetscInt NfAu // The Jacobian for advection term static void g1_jacobian_advection_term(PetscInt dim, PetscInt Nf, PetscInt NfAux, const PetscInt uOff[], const PetscInt uOff_x[], const PetscScalar u[], const PetscScalar u_t[], const PetscScalar u_x[], const PetscInt aOff[], const PetscInt aOff_x[], const PetscScalar a[], const PetscScalar a_t[], const PetscScalar a_x[], PetscReal t, PetscReal u_tShift, const PetscReal x[], PetscInt numConstants, const PetscScalar constants[], PetscScalar g1[]) { - // constants[1] is u, constants[2] is v, constants[3] is w - // Pointer to the first component of the velocity - const PetscReal *advection_velocity = &constants[1]; + PetscReal advection_velocity[3]; + GetVelocity(constants, x, advection_velocity); PetscInt d; for (d = 0; d < dim; ++d) { @@ -143,8 +181,12 @@ static void g1_jacobian_advection_term(PetscInt dim, PetscInt Nf, PetscInt NfAux static void g3_jacobian_diffusion_term_supg(PetscInt dim, PetscInt Nf, PetscInt NfAux, const PetscInt uOff[], const PetscInt uOff_x[], const PetscScalar u[], const PetscScalar u_t[], const PetscScalar u_x[], const PetscInt aOff[], const PetscInt aOff_x[], const PetscScalar a[], const PetscScalar a_t[], const PetscScalar a_x[], PetscReal t, PetscReal u_tShift, const PetscReal x[], PetscInt numConstants, const PetscScalar constants[], PetscScalar g3[]) { const PetscReal alpha = constants[0]; - const PetscReal *v = &constants[1]; const PetscReal h = a[0]; // Cell size from auxiliary field + + // Get velocity field + PetscReal v[3]; + GetVelocity(constants, x, v); + PetscReal tau; PetscInt d, c; @@ -166,6 +208,14 @@ static PetscErrorCode ProcessOptions(MPI_Comm comm, AppCtx *options) options->alpha = 0.0; PetscCall(PetscOptionsGetReal(NULL, NULL, "-alpha", &options->alpha, NULL)); + // Curved velocity field option + options->curved_velocity = PETSC_FALSE; + PetscCall(PetscOptionsGetBool(NULL, NULL, "-curved_velocity", &options->curved_velocity, NULL)); + + // Unit velocity normalization option - default to unit velocity + options->unit_velocity = PETSC_TRUE; + PetscCall(PetscOptionsGetBool(NULL, NULL, "-unit_velocity", &options->unit_velocity, NULL)); + // Initialize advection to zero options->advection_velocity[0] = 0.0; // u options->advection_velocity[1] = 0.0; // v @@ -183,7 +233,7 @@ static PetscErrorCode ProcessOptions(MPI_Comm comm, AppCtx *options) options->advection_velocity[1] = sin(theta); // Or the user can pass in the individual advection velocities - // This will override theta + // This will override theta and unit velocity options if they are set PetscReal u_test = 0.0, v_test = 0.0, w_test = 0.0; PetscBool option_found_u, option_found_v, option_found_w; PetscCall(PetscOptionsGetReal(NULL, NULL, "-u", &u_test, &option_found_u)); @@ -198,6 +248,11 @@ static PetscErrorCode ProcessOptions(MPI_Comm comm, AppCtx *options) if (option_found_v) options->advection_velocity[1] = v_test; if (option_found_w) options->advection_velocity[2] = w_test; + // Don't normalise if user has explicitly set a velocity + if (option_found_u || option_found_v || option_found_w) { + options->unit_velocity = PETSC_FALSE; + } + PetscOptionsEnd(); PetscFunctionReturn(PETSC_SUCCESS); } @@ -276,13 +331,15 @@ static PetscErrorCode SetupPrimalProblem(DM dm, AppCtx *options) /* Setup constants that get passed into the FEM functions*/ { - PetscScalar constants[4]; + PetscScalar constants[6]; constants[0] = options->alpha; constants[1] = options->advection_velocity[0]; constants[2] = options->advection_velocity[1]; constants[3] = options->advection_velocity[2]; - PetscCall(PetscDSSetConstants(ds, 4, constants)); + constants[4] = options->curved_velocity ? 1.0 : 0.0; // 1.0 indicates curved velocity + constants[5] = options->unit_velocity ? 1.0 : 0.0; // 1.0 indicates unit velocity normalization + PetscCall(PetscDSSetConstants(ds, 6, constants)); } PetscFunctionReturn(PETSC_SUCCESS); @@ -385,6 +442,8 @@ int main(int argc, char **argv) Vec u; /* Solutions */ AppCtx options; /* options-defined work context */ PetscLogStage setup, gpu_copy; + KSPConvergedReason reason; + KSP ksp; PetscFunctionBeginUser; PetscCall(PetscInitialize(&argc, &argv, NULL, help)); @@ -427,6 +486,14 @@ int main(int argc, char **argv) PetscCall(SNESSolve(snes, NULL, u)); PetscCall(PetscLogStagePop()); + // Get the iteration count + PetscCall(SNESGetKSP(snes, &ksp)); + PetscCall(KSPGetConvergedReason(ksp,&reason)); + if (reason < 0) + { + return 1; + } + // Solve // We set x to 1 rather than random as the vecrandom doesn't yet have a // gpu implementation and we don't want a copy occuring back to the cpu @@ -434,7 +501,13 @@ int main(int argc, char **argv) { PetscCall(VecSet(u, 1.0)); PetscCall(SNESSolve(snes, NULL, u)); - } + } + + PetscCall(KSPGetConvergedReason(ksp,&reason)); + if (reason < 0) + { + return 1; + } PetscCall(SNESGetSolution(snes, &u)); /* Cleanup */ diff --git a/tests/data/square_unstruc.msh b/tests/data/square_unstruc.msh new file mode 100644 index 0000000..9b75f7e --- /dev/null +++ b/tests/data/square_unstruc.msh @@ -0,0 +1,2305 @@ +$MeshFormat +4.1 0 8 +$EndMeshFormat +$Entities +4 4 1 0 +1 0 0 0 0 +2 1 0 0 0 +3 0 1 0 0 +4 1 1 0 0 +1 0 1 0 1 1 0 1 3 2 3 -4 +2 1 0 0 1 1 0 1 2 2 4 -2 +3 0 0 0 1 0 0 1 1 2 2 -1 +4 0 0 0 0 1 0 1 4 2 1 -3 +12 0 0 0 1 1 0 1 15 4 1 2 3 4 +$EndEntities +$Nodes +9 568 1 568 +0 1 0 1 +1 +0 0 0 +0 2 0 1 +2 +1 0 0 +0 3 0 1 +3 +0 1 0 +0 4 0 1 +4 +1 1 0 +1 1 0 19 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +0.04999999999989965 1 0 +0.09999999999981467 1 0 +0.1499999999997036 1 0 +0.1999999999995579 1 0 +0.2499999999994121 1 0 +0.2999999999992664 1 0 +0.3499999999991206 1 0 +0.3999999999989749 1 0 +0.4499999999988292 1 0 +0.4999999999986943 1 0 +0.5499999999988151 1 0 +0.5999999999989468 1 0 +0.6499999999990784 1 0 +0.69999999999921 1 0 +0.7499999999993417 1 0 +0.7999999999994734 1 0 +0.8499999999996051 1 0 +0.8999999999997368 1 0 +0.9499999999998684 1 0 +1 2 0 19 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +1 0.9499999999997918 0 +1 0.8999999999995836 0 +1 0.8499999999996529 0 +1 0.7999999999999998 0 +1 0.7500000000003466 0 +1 0.7000000000006934 0 +1 0.6500000000010401 0 +1 0.6000000000013869 0 +1 0.5500000000017335 0 +1 0.5000000000020587 0 +1 0.4500000000018723 0 +1 0.4000000000016644 0 +1 0.3500000000014564 0 +1 0.3000000000012483 0 +1 0.2500000000010403 0 +1 0.2000000000008322 0 +1 0.1500000000006241 0 +1 0.100000000000416 0 +1 0.05000000000020799 0 +1 3 0 19 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +0.9499999999997918 0 0 +0.8999999999995836 0 0 +0.8499999999996529 0 0 +0.7999999999999998 0 0 +0.7500000000003466 0 0 +0.7000000000006934 0 0 +0.6500000000010401 0 0 +0.6000000000013869 0 0 +0.5500000000017335 0 0 +0.5000000000020587 0 0 +0.4500000000018723 0 0 +0.4000000000016644 0 0 +0.3500000000014564 0 0 +0.3000000000012483 0 0 +0.2500000000010403 0 0 +0.2000000000008322 0 0 +0.1500000000006241 0 0 +0.100000000000416 0 0 +0.05000000000020799 0 0 +1 4 0 19 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +0 0.04999999999989965 0 +0 0.09999999999981467 0 +0 0.1499999999997036 0 +0 0.1999999999995579 0 +0 0.2499999999994121 0 +0 0.2999999999992664 0 +0 0.3499999999991206 0 +0 0.3999999999989749 0 +0 0.4499999999988292 0 +0 0.4999999999986943 0 +0 0.5499999999988151 0 +0 0.5999999999989468 0 +0 0.6499999999990784 0 +0 0.69999999999921 0 +0 0.7499999999993417 0 +0 0.7999999999994734 0 +0 0.8499999999996051 0 +0 0.8999999999997368 0 +0 0.9499999999998684 0 +2 12 0 488 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +0.50119715791969 0.5033399805493876 0 +0.7071428571428401 0.7071428571428752 0 +0.7071428571428829 0.292857142857163 0 +0.2928571428571245 0.7071428571428393 0 +0.2928571428571638 0.2928571428571166 0 +0.7803135888501762 0.5000000000000266 0 +0.5000000000000315 0.2196864111498268 0 +0.4999999999999757 0.7803135888501738 0 +0.2196864111498291 0.4999999999999711 0 +0.8289812646369882 0.8289812646369813 0 +0.8289812646369611 0.1710187353630001 0 +0.1690131600686715 0.8319978061333785 0 +0.1680021938666308 0.1690131600686818 0 +0.636704649714091 0.5656651559646165 0 +0.566986062717789 0.359843205574921 0 +0.4330139372822172 0.640156794425081 0 +0.3598432055749214 0.4330139372822104 0 +0.8471536173895075 0.6398786011318781 0 +0.6398786011318783 0.1528463826104911 0 +0.360121398868122 0.8471536173895007 0 +0.1528463826104981 0.3601213988681222 0 +0.6396925151782715 0.8459852991288416 0 +0.8459852991288244 0.3603074848217416 0 +0.1540147008711593 0.6396925151782666 0 +0.3603074848217466 0.1540147008711762 0 +0.6664164062255127 0.4434591735942961 0 +0.5586987495249737 0.6661733647266973 0 +0.441301250475035 0.3338266352733019 0 +0.3338266352733065 0.5586987495249669 0 +0.8856319384725199 0.534321423472922 0 +0.5343214234729274 0.114368061527482 0 +0.465727619562376 0.8856105906375696 0 +0.1143680615275231 0.4656785765270602 0 +0.9089271872032744 0.7419880486468831 0 +0.7419880486468781 0.09107281279671958 0 +0.2571461949877042 0.8958600093154412 0 +0.1041399906845497 0.2571461949877132 0 +0.7369458544253126 0.8894906209313578 0 +0.1104775404132314 0.7368824640183259 0 +0.8894906209313613 0.2630541455747042 0 +0.2631175359816938 0.1104775404132263 0 +0.7438096602414341 0.598195373710164 0 +0.5981953737101686 0.2561903397585688 0 +0.4018046262898415 0.7438096602414273 0 +0.2561903397585754 0.4018046262898373 0 +0.611624142165106 0.7456598267621463 0 +0.7456598267621477 0.3883758578349105 0 +0.2543401732378587 0.6116241421651007 0 +0.3883758578349159 0.2543401732378567 0 +0.9020090423547924 0.9004503972088093 0 +0.09807684568291652 0.9008275852690087 0 +0.9004503972088093 0.09799095764520824 0 +0.0991724147309935 0.0980768456829153 0 +0.9028990204227966 0.4359067399905327 0 +0.435906739990532 0.09710097957720731 0 +0.5640932600094613 0.9028990204227227 0 +0.09710097957728131 0.5640932600094622 0 +0.7962960869699175 0.7398280348099157 0 +0.7398280348098948 0.203703913030074 0 +0.2601719651901145 0.796296086969941 0 +0.2037039130300501 0.260171965190135 0 +0.7160954194217148 0.7948432312955676 0 +0.7948432312955613 0.2839045805783068 0 +0.2051567687044351 0.7160954194217082 0 +0.2839045805783134 0.2051567687044408 0 +0.5902433118732482 0.4918910132088028 0 +0.549658442528173 0.5679292476870073 0 +0.490839357492854 0.4100959806956958 0 +0.4230652352516574 0.5490159137494039 0 +0.6424993192059454 0.6519524273377167 0 +0.6519524273377241 0.3575006807940564 0 +0.3480475726622802 0.6424993192059415 0 +0.3575006807940603 0.3480475726622739 0 +0.9131869608065677 0.817095740868432 0 +0.8170957408684287 0.0868130391934314 0 +0.181725902897578 0.9183880259387094 0 +0.08161197406129295 0.1817259028975822 0 +0.8182740971023723 0.9183880259388425 0 +0.08287507656972311 0.8211813651170635 0 +0.9183880259388886 0.1817259028976387 0 +0.1788186348829835 0.08287507656968084 0 +0.6970723395183636 0.5148430472122083 0 +0.514843047212215 0.3029276604816395 0 +0.4848191499172746 0.7001511906722513 0 +0.2974517782697735 0.4837887122800091 0 +0.9184748968380032 0.6093837135931468 0 +0.6093837135931508 0.08152510316199763 0 +0.3909474272959734 0.9189012345446695 0 +0.08152510316199166 0.3906162864068449 0 +0.6577304291015115 0.9267032118385335 0 +0.07329678816147221 0.6577304291015186 0 +0.9267032118385876 0.342269570898513 0 +0.3422695708985054 0.07329678816141809 0 +0.8215422551712768 0.4308711725704896 0 +0.5691288274295451 0.8215422551712279 0 +0.4308711725704946 0.1784577448287255 0 +0.1784577448287746 0.5691288274295404 0 +0.432541991343326 0.4610242570853369 0 +0.8179431903460164 0.5675926399098916 0 +0.5675926399098974 0.1820568096539862 0 +0.4324073600900937 0.8179431903459744 0 +0.1820568096540278 0.4324073600900885 0 +0.7776980060279689 0.6682031601950402 0 +0.6682031601950316 0.222301993972028 0 +0.3317968398049748 0.7776980060279659 0 +0.2223019939720311 0.3317968398049835 0 +0.9310620665618308 0.6775726880823147 0 +0.6775726880823105 0.06893793343816279 0 +0.322427311917695 0.9310620665618532 0 +0.06893793343814078 0.322427311917699 0 +0.5515938435710137 0.4356533960402853 0 +0.4795331504969124 0.5842036345147092 0 +0.3707591476812712 0.4985434159976798 0 +0.7377718003423732 0.4465321259489053 0 +0.5534678740511212 0.737771800342369 0 +0.4465321259489113 0.2622281996576304 0 +0.26079740763251 0.5528737851572373 0 +0.4191222524007079 0.394198866753185 0 +0.9351066681964662 0.4866977706045421 0 +0.4866977706045449 0.06489333180353485 0 +0.5133022293955194 0.9351066681964098 0 +0.06489333180359143 0.5133022293955174 0 +0.6153938409609069 0.4068115942301368 0 +0.8399868579764175 0.4977172705590875 0 +0.4977172705590932 0.1600131420235847 0 +0.5022852827018409 0.8399857465730887 0 +0.160013142023597 0.5022827294409377 0 +0.8431728094391272 0.698590790893777 0 +0.6985907908937736 0.1568271905608622 0 +0.3014092091062366 0.8431728094391506 0 +0.1568271905608388 0.3014092091062403 0 +0.7710607097526261 0.8399087899273051 0 +0.8399087899272779 0.228939290247373 0 +0.1589969516331982 0.7721632508777295 0 +0.2278367491222767 0.1589969516332145 0 +0.6756399137000341 0.7590505875598524 0 +0.7590505875598378 0.3243600862999786 0 +0.2409494124401591 0.675639913700026 0 +0.324360086299987 0.2409494124401729 0 +0.6960156332500156 0.6451856454169053 0 +0.6451856454169103 0.3039843667499874 0 +0.3548143545830973 0.6960156332500128 0 +0.3039843667499897 0.3548143545830931 0 +0.6084674000356003 0.6123348939390163 0 +0.3909780107182022 0.6012239052952365 0 +0.6048537357103716 0.9394694856198154 0 +0.06053051438018778 0.6048537357103753 0 +0.939469485619852 0.3951462642897318 0 +0.3951462642897279 0.06053051438015096 0 +0.5053327790705264 0.6467109705156827 0 +0.05843352511225672 0.9415664748877826 0 +0.05843352511221451 0.05843352511226651 0 +0.9415664748877426 0.9415664748877556 0 +0.9415664748877458 0.05843352511225414 0 +0.9470619985786628 0.7768897711833138 0 +0.7768897711833116 0.05293800142133577 0 +0.2316746033344627 0.9446562253046867 0 +0.05534377469531053 0.2316746033344631 0 +0.7677735618239079 0.9442075111696665 0 +0.05645222870842097 0.7654341916234468 0 +0.9442075111697059 0.2322264381761767 0 +0.2345658083766157 0.05645222870837992 0 +0.8374630804976363 0.7828491226277002 0 +0.7828491226276855 0.1625369195023503 0 +0.2262639405833009 0.8453405318016119 0 +0.1546594681983812 0.2262639405833197 0 +0.9481981223549167 0.5530720498574473 0 +0.553072049857452 0.05180187764508368 0 +0.4470894390493274 0.9481278282041519 0 +0.05180187764506027 0.4469279501426524 0 +0.6943782522786809 0.8506564220916593 0 +0.1493390295290034 0.6943691965062547 0 +0.8506564220916598 0.3056217477213369 0 +0.3056308034937634 0.1493390295290023 0 +0.640157712717949 0.5117247185887375 0 +0.5111344044790909 0.3581565174377941 0 +0.6966865201849674 0.5705118262244779 0 +0.5691390514646012 0.3042974067995974 0 +0.4307100015670799 0.6959578760418781 0 +0.3039597341906354 0.4305948679533419 0 +0.7471798304408015 0.5446550232516184 0 +0.5445835543449239 0.2528713944126256 0 +0.4553910005364452 0.7473021860744268 0 +0.2525687312087148 0.4553313602172508 0 +0.9488410612861271 0.8687933848901745 0 +0.868793384890172 0.05115893871387403 0 +0.1348859048695831 0.947642136133525 0 +0.05235786386647956 0.1348859048695858 0 +0.8651263648498017 0.9475882521249888 0 +0.05271618979180726 0.8673312154421984 0 +0.9475882521250083 0.134873635150292 0 +0.1326687845578112 0.05271618979176394 0 +0.6061109156479423 0.6883028344558701 0 +0.6932206723126723 0.3846930779444115 0 +0.3116971655441342 0.6061109156479365 0 +0.3939145954305491 0.3127914045730855 0 +0.8695823510118659 0.5865185706029452 0 +0.5865185706029516 0.1304176489881353 0 +0.4134814293970012 0.869582351011839 0 +0.1304176489881627 0.4134814293969962 0 +0.7414632832266862 0.7482823682638147 0 +0.7482823682638177 0.2585367167733085 0 +0.2517176317361878 0.7414632832267007 0 +0.258536716773293 0.2517176317361842 0 +0.7952905584634717 0.6189776109198297 0 +0.6189776109198293 0.2047094415365321 0 +0.3810223890801707 0.7952905584634509 0 +0.2047094415365528 0.3810223890801716 0 +0.7120924796172132 0.9463595284869861 0 +0.05373017168768714 0.711749228101869 0 +0.9463595284870263 0.287907520382944 0 +0.2882507718982854 0.05373017168764656 0 +0.8770523403142813 0.8517485358380988 0 +0.851748535838097 0.1229476596857173 0 +0.1229476596856862 0.8517485358380723 0 +0.1482514641619544 0.1229476596856715 0 +0.5478403714690642 0.5228646647978347 0 +0.8036559105139984 0.3854387898099901 0 +0.6145612101900418 0.8036559105139757 0 +0.385438789809997 0.1963440894860059 0 +0.1963440894860295 0.6145612101900353 0 +0.7964092523463441 0.7942248941787341 0 +0.7942248941787186 0.2035907476536438 0 +0.2059672113505213 0.8002748210460379 0 +0.1997251789539622 0.2059672113505295 0 +0.6592066398535824 0.7104530650727752 0 +0.7110475759917549 0.3411985388584349 0 +0.2895469349272314 0.6592066398535796 0 +0.3407959633176983 0.2896585919710053 0 +0.890646796886144 0.3783919092172706 0 +0.6216080907827599 0.8906467968861034 0 +0.3783919092172709 0.1093532031138597 0 +0.1093532031139005 0.6216080907827598 0 +0.5917499969500211 0.5395067818990195 0 +0.4506562873613274 0.5075375820581111 0 +0.6660699954712287 0.8061719495166587 0 +0.8061719495166534 0.333930004528793 0 +0.1938275090096171 0.6660689174030735 0 +0.3339310825969482 0.1938275090096217 0 +0.5149483229707916 0.4529365699911778 0 +0.6659242231159583 0.6087911281125352 0 +0.6078489844513875 0.33195152763476 0 +0.3915308107541161 0.6634694225482676 0 +0.3340757768840429 0.3912088718874557 0 +0.8104127896505644 0.8766029736039377 0 +0.8766029736039459 0.1895872103494402 0 +0.8881835028752725 0.6659938192961306 0 +0.6659938192961259 0.1118164971247244 0 +0.3340061807038848 0.8881835028752789 0 +0.1118164971247186 0.3340061807038895 0 +0.9563871963389079 0.4400611118284091 0 +0.4400611118284039 0.04361280366109272 0 +0.5599388881718613 0.9563871963388264 0 +0.04361280366117443 0.5599388881718665 0 +0.1258751770828631 0.8110316677333289 0 +0.1889683322666954 0.1258751770828468 0 +0.5102716953118855 0.5533183430511195 0 +0.8908007254018653 0.4875806970804935 0 +0.4875806970804979 0.1091992745981364 0 +0.5124254453357239 0.8907980516829843 0 +0.1091992745981813 0.5124193029195048 0 +0.7807384426255896 0.4314990844579187 0 +0.5685009155421099 0.7807384426255802 0 +0.4314990844579243 0.2192615573744138 0 +0.2190230920369027 0.568401900726458 0 +0.9513670825120215 0.7178917527401658 0 +0.717891752740162 0.04863291748797442 0 +0.2832080498529972 0.94915666091749 0 +0.05084333908250557 0.2832080498530014 0 +0.6273889709170752 0.4552027851499723 0 +0.1892201105211366 0.8735579334638849 0 +0.126442066536112 0.1892201105211579 0 +0.9557816333925222 0.6375375691047038 0 +0.6375375691047019 0.04421836660747541 0 +0.3624865665286585 0.9558127075693907 0 +0.04421836660747722 0.3624624308953425 0 +0.5606875130661563 0.6168988909458956 0 +0.4581941756447681 0.3770238607471729 0 +0.4396109410460912 0.592657071077349 0 +0.3782901602686209 0.5471563549088067 0 +0.8533282374234633 0.8900252977916056 0 +0.890025297791612 0.1466717625765555 0 +0.1471707642952191 0.8894329118236075 0 +0.1105670881764095 0.1471707642952255 0 +0.8876830719755366 0.7802043079408474 0 +0.7802043079408402 0.1123169280244563 0 +0.7563393770560045 0.7065183470796523 0 +0.7065183470796479 0.243660622943996 0 +0.2934816529203592 0.7563393770560053 0 +0.2436606229439944 0.293481652920363 0 +0.95367471909199 0.8277678153384731 0 +0.8277678153384711 0.04632528090800957 0 +0.1749999999996308 0.9627459563996678 0 +0.03725404360033395 0.1749999999996308 0 +0.8249999999995388 0.9627459563998466 0 +0.03725404360014755 0.8249999999995389 0 +0.9627459563999043 0.1750000000007281 0 +0.1750000000007281 0.03725404360008934 0 +0.4031491827485935 0.3551098841809743 0 +0.5346276221474066 0.3998278955399353 0 +0.3408171083080495 0.472532117365031 0 +0.3326740076510216 0.5149150739529993 0 +0.5487272683132031 0.4797477386010395 0 +0.447621318748554 0.4234034233719368 0 +0.7376313208020308 0.4905449165709797 0 +0.7002035330209303 0.4671516632357039 0 +0.4905330050865355 0.2623772166735432 0 +0.466790024135091 0.2998383968081367 0 +0.5284581739106434 0.6963684578974775 0 +0.5069705007200731 0.7381514235263997 0 +0.2613009640034503 0.5073768859483457 0 +0.9677970182673891 0.3289462418418101 0 +0.3290148921448752 0.03222092176754696 0 +0.6710537581584275 0.9677970182673867 0 +0.03222092176754926 0.6709851078553615 0 +0.4734435941235262 0.4615271434579892 0 +0.3878842354368189 0.4654321112821679 0 +0.7775220842965709 0.5757814878099772 0 +0.5757762787059939 0.2224816492933319 0 +0.4242218666935316 0.7775310023456443 0 +0.2224595892930708 0.4242175197314876 0 +0.6626344450126973 0.8828817012129702 0 +0.8828817012129927 0.3373655549873214 0 +0.1171173891111713 0.6626326338582172 0 +0.3373673661418015 0.1171173891111487 0 +0.5968931945557244 0.6498655699441191 0 +0.3486620069391361 0.5966281703307271 0 +0.2172061504648365 0.8955605451648667 0 +0.1044394548351293 0.2172061504648472 0 +0.8440812376316966 0.5396349076405245 0 +0.53963490764053 0.1559187623683055 0 +0.4603688530224779 0.8440796006609295 0 +0.1559187623683556 0.4603650923594829 0 +0.9588601226875174 0.5931441817276247 0 +0.5931441817276304 0.04113987731248375 0 +0.4068558182724155 0.958860122687489 0 +0.04113987731251176 0.4068558182724117 0 +0.8555152337781888 0.4535389158127078 0 +0.453538915812712 0.1444847662218138 0 +0.5464621193869524 0.8555147831683536 0 +0.1444847662218687 0.5464610841872922 0 +0.8513743848125706 0.4046792040132302 0 +0.5953208840139725 0.8513743464953567 0 +0.4046792040132335 0.1486256151874348 0 +0.1486256151874909 0.5953207959867881 0 +0.3806811949185909 0.3922698532794255 0 +0.7786886066890557 0.9041449437197951 0 +0.9041449437198326 0.2213113933109485 0 +0.4663458373750343 0.6634121102548047 0 +0.7431680047310036 0.6420376302038898 0 +0.6420376302038933 0.2568319952689996 0 +0.3579623697961178 0.7431680047309988 0 +0.2568319952690046 0.357962369796115 0 +0.466764088820633 0.5477059287129215 0 +0.09969477121230277 0.779259511594562 0 +0.2207404884054704 0.09969477121226403 0 +0.8866271178741434 0.6306127404822108 0 +0.6306127404822059 0.1133728821258613 0 +0.3694044992558966 0.8866493137147547 0 +0.1133728821258719 0.3693872595178169 0 +0.484951245400672 0.9626668860319305 0 +0.03732139827627241 0.4849243305828917 0 +0.9626786017237855 0.5150756694174704 0 +0.5150756694174727 0.03732139827621528 0 +0.8166169069613916 0.6682111129832781 0 +0.6682111129832835 0.1833830930386068 0 +0.3317888870167183 0.8166169069613902 0 +0.1833830930386082 0.3317888870167134 0 +0.6947581908399916 0.8995607195429902 0 +0.1004467666661725 0.6946985467186797 0 +0.8995607195430173 0.3052418091600442 0 +0.305301453281356 0.1004467666661451 0 +0.09445785557927758 0.9599415415305801 0 +0.9599415415306759 0.9055421444208056 0 +0.04005845846941841 0.0944578555792847 0 +0.9055421444207981 0.04005845846932263 0 +0.04005845846934736 0.9055421444208163 0 +0.9055421444207867 0.95994154153066 0 +0.09445785557915773 0.04005845846931948 0 +0.9599415415306873 0.09445785557918816 0 +0.6807913969088821 0.6772338699268481 0 +0.6772945343063357 0.3192499478576536 0 +0.3227661300731572 0.6807913969088791 0 +0.3192088687208459 0.3227775236490533 0 +0.8011711315902798 0.5375635548618543 0 +0.5375507751934117 0.1988380281502768 0 +0.4624457271740608 0.8011925524750395 0 +0.1987839076162659 0.4624340103065364 0 +0.6688941137907556 0.5405871965944122 0 +0.540525641468424 0.331306197573488 0 +0.6551722558146672 0.4028718405085719 0 +0.8078694974579099 0.4657516334650816 0 +0.4657516334650867 0.1921305025420925 0 +0.534248793732626 0.8078693115039541 0 +0.1921021138114511 0.5342365790568827 0 +0.910173888857126 0.5697185662506513 0 +0.569718566250657 0.08982611114287491 0 +0.4310327950386548 0.9098814805580316 0 +0.08982611114289334 0.4302814337493541 0 +0.4071995095571703 0.5047849391802509 0 +0.9676421564932749 0.6766004019857835 0 +0.6766004019857816 0.03235784350672253 0 +0.3236243856595475 0.9672062870097469 0 +0.03279992782562471 0.323619558532886 0 +0.8324924293027154 0.6032418556411361 0 +0.6032418556411391 0.1675075706972862 0 +0.3967581443588469 0.8324924293026912 0 +0.1675075706973104 0.3967581443588447 0 +0.7049630070714595 0.6083790122881828 0 +0.6083790122881898 0.2950369929285431 0 +0.39162098771182 0.7049630070714562 0 +0.2950369929285457 0.3916209877118133 0 +0.5249999999987545 0.9705550928355333 0 +0.02944490716446919 0.5249999999987546 0 +0.9705550928357931 0.4750000000019656 0 +0.4750000000019655 0.02944490716420918 0 +0.7786345685881593 0.3580261846184181 0 +0.6419738153816027 0.7786345685881583 0 +0.358026454135462 0.2213652960434143 0 +0.2213652960434161 0.6419735458645588 0 +0.7980246372908819 0.6962702891923327 0 +0.6962702891923263 0.2019753627091134 0 +0.3037297108076807 0.7980246372908906 0 +0.2019753627091045 0.3037297108076871 0 +0.8677384967307625 0.8130603300143781 0 +0.8130603300143703 0.1322615032692282 0 +0.5763106698895998 0.4047280729770224 0 +0.4721800585661043 0.6219631616710907 0 +0.7563930126613883 0.7865742315254878 0 +0.7865742315255034 0.2436069873386125 0 +0.211463354820937 0.7575993908651695 0 +0.242400609134833 0.2114633548209294 0 +0.2966813737953639 0.5294331356229925 0 +0.7309557414144903 0.8358481021576076 0 +0.1641518978423905 0.7309557414145073 0 +0.8358481021575994 0.2690442585855196 0 +0.269044258585502 0.1641518978423982 0 +0.7003975490093071 0.4244603322538857 0 +0.5698403950559026 0.7020395488332775 0 +0.4301596049441077 0.2979604511667228 0 +0.2962705563129965 0.5703369981816107 0 +0.8626930415236568 0.7411685409096986 0 +0.7411685409096886 0.1373069584763342 0 +0.263189497696004 0.8538982660274099 0 +0.146101733972573 0.2631894976960132 0 +0.9000402997721371 0.7054131852103749 0 +0.7054131852103678 0.09995970022785587 0 +0.2956981608552933 0.9002575008392474 0 +0.0997424991607464 0.2956981608553015 0 +0.5144455094085647 0.5976358388113945 0 +0.6054517074831108 0.3710465129614546 0 +0.6363613838740834 0.9665449168212235 0 +0.03345764604091189 0.6363515766879347 0 +0.966544916821213 0.3636386161261361 0 +0.3636484233122843 0.03345764604092234 0 +0.0323698570487739 0.9676301429511442 0 +0.03236985704886203 0.03236985704875331 0 +0.9676301429512285 0.9676301429512015 0 +0.9695475903895102 0.03045240961048967 0 +0.767991612993921 0.4662934336405065 0 +0.5331133043140673 0.7684297689106474 0 +0.466292218182915 0.2320092581770593 0 +0.2312494533011564 0.5330705995773499 0 +0.7276206227638481 0.6758272015508973 0 +0.6758323600865699 0.272382892947597 0 +0.3241727984491091 0.7276206227638429 0 +0.2723793998237226 0.3241737672905953 0 +0.6645455038868389 0.4781605157240552 0 +0.4784525803892399 0.334354614149609 0 +0.5843885148026795 0.4503320579299296 0 +0.4062672344148864 0.4293140973380181 0 +0.9175463532467896 0.6447678073412044 0 +0.6447678073412009 0.08245364675321049 0 +0.3555136181130818 0.9169813229116051 0 +0.08245364675321606 0.3552321926588095 0 +0.587192179644397 0.5782418032972615 0 +0.914518719455908 0.8536570193863116 0 +0.853657019386308 0.08548128054409132 0 +0.08954401427634803 0.8640800088373637 0 +0.1359199911626518 0.08954401427631772 0 +0.7072858497839937 0.7427431162091765 0 +0.7427431162091865 0.292714150216004 0 +0.2572568837908183 0.7072858497840008 0 +0.2927141502159946 0.2572568837908061 0 +0.9220983241677799 0.5244110294472544 0 +0.5244110294472586 0.07790167583222118 0 +0.4757547956303788 0.9220319175518462 0 +0.07790167583225362 0.4755889705528301 0 +$EndNodes +$Elements +5 1134 1 1134 +1 1 1 20 +1 3 5 +2 5 6 +3 6 7 +4 7 8 +5 8 9 +6 9 10 +7 10 11 +8 11 12 +9 12 13 +10 13 14 +11 14 15 +12 15 16 +13 16 17 +14 17 18 +15 18 19 +16 19 20 +17 20 21 +18 21 22 +19 22 23 +20 23 4 +1 2 1 20 +21 4 24 +22 24 25 +23 25 26 +24 26 27 +25 27 28 +26 28 29 +27 29 30 +28 30 31 +29 31 32 +30 32 33 +31 33 34 +32 34 35 +33 35 36 +34 36 37 +35 37 38 +36 38 39 +37 39 40 +38 40 41 +39 41 42 +40 42 2 +1 3 1 20 +41 2 43 +42 43 44 +43 44 45 +44 45 46 +45 46 47 +46 47 48 +47 48 49 +48 49 50 +49 50 51 +50 51 52 +51 52 53 +52 53 54 +53 54 55 +54 55 56 +55 56 57 +56 57 58 +57 58 59 +58 59 60 +59 60 61 +60 61 1 +1 4 1 20 +61 1 62 +62 62 63 +63 63 64 +64 64 65 +65 65 66 +66 66 67 +67 67 68 +68 68 69 +69 69 70 +70 70 71 +71 71 72 +72 72 73 +73 73 74 +74 74 75 +75 75 76 +76 76 77 +77 77 78 +78 78 79 +79 79 80 +80 80 3 +2 12 2 1054 +81 194 127 518 +82 195 126 519 +83 196 129 520 +84 197 128 521 +85 94 224 321 +86 224 150 321 +87 96 225 323 +88 225 152 323 +89 114 235 346 +90 115 236 347 +91 116 237 348 +92 117 238 349 +93 8 237 373 +94 65 238 374 +95 27 235 371 +96 46 236 372 +97 239 20 375 +98 240 77 376 +99 241 39 377 +100 242 58 378 +101 204 86 465 +102 205 87 466 +103 206 88 467 +104 207 89 468 +105 27 28 235 +106 46 47 236 +107 8 9 237 +108 65 66 238 +109 19 20 239 +110 76 77 240 +111 38 39 241 +112 57 58 242 +113 19 239 289 +114 76 240 290 +115 38 241 291 +116 57 242 292 +117 90 325 361 +118 91 326 362 +119 127 194 342 +120 126 195 343 +121 129 196 344 +122 128 197 345 +123 215 121 436 +124 214 119 435 +125 212 118 427 +126 213 120 428 +127 114 346 526 +128 115 347 527 +129 116 348 528 +130 117 349 529 +131 227 171 313 +132 226 170 311 +133 229 173 312 +134 228 172 310 +135 410 204 465 +136 411 205 466 +137 412 206 467 +138 413 207 468 +139 293 90 361 +140 294 91 362 +141 92 295 363 +142 93 296 364 +143 336 215 436 +144 335 214 435 +145 351 92 363 +146 352 93 364 +147 241 120 291 +148 242 121 292 +149 239 118 289 +150 240 119 290 +151 326 213 428 +152 325 212 427 +153 16 226 333 +154 73 227 334 +155 35 228 331 +156 54 229 332 +157 134 199 331 +158 135 200 332 +159 136 201 333 +160 137 202 334 +161 18 19 289 +162 75 76 290 +163 37 38 291 +164 56 57 292 +165 6 7 267 +166 63 64 268 +167 25 26 265 +168 44 45 266 +169 21 22 269 +170 78 79 270 +171 40 41 271 +172 59 60 272 +173 420 136 423 +174 418 134 422 +175 421 137 425 +176 419 135 424 +177 136 311 423 +178 137 313 425 +179 134 310 422 +180 135 312 424 +181 127 274 518 +182 126 273 519 +183 128 275 521 +184 129 276 520 +185 162 257 261 +186 163 258 262 +187 164 259 263 +188 165 260 264 +189 237 156 373 +190 238 157 374 +191 235 154 371 +192 236 155 372 +193 158 239 375 +194 159 240 376 +195 160 241 377 +196 161 242 378 +197 257 122 261 +198 258 123 262 +199 259 124 263 +200 260 125 264 +201 150 273 306 +202 151 274 307 +203 152 275 308 +204 153 276 309 +205 126 216 306 +206 127 217 307 +207 128 218 308 +208 129 219 309 +209 146 255 350 +210 360 149 480 +211 199 134 338 +212 200 135 339 +213 201 136 340 +214 202 137 341 +215 255 146 314 +216 94 255 314 +217 313 171 404 +218 311 170 402 +219 312 173 405 +220 310 172 403 +221 212 90 302 +222 213 91 303 +223 214 92 304 +224 215 93 305 +225 6 267 453 +226 63 268 455 +227 25 265 454 +228 44 266 456 +229 269 22 458 +230 270 79 457 +231 271 41 460 +232 272 60 459 +233 299 102 316 +234 298 103 317 +235 301 104 318 +236 300 105 319 +237 224 357 406 +238 235 114 365 +239 236 115 366 +240 154 235 365 +241 155 236 366 +242 243 138 302 +243 90 243 302 +244 244 139 303 +245 91 244 303 +246 245 140 304 +247 92 245 304 +248 246 141 305 +249 93 246 305 +250 130 233 454 +251 131 231 453 +252 231 131 457 +253 132 234 456 +254 233 130 458 +255 133 232 455 +256 232 133 459 +257 234 132 460 +258 136 226 311 +259 134 228 310 +260 137 227 313 +261 135 229 312 +262 150 220 321 +263 151 221 322 +264 152 222 323 +265 153 223 324 +266 15 16 333 +267 72 73 334 +268 34 35 331 +269 53 54 332 +270 231 5 453 +271 232 62 455 +272 80 231 457 +273 23 233 458 +274 233 24 454 +275 234 43 456 +276 61 232 459 +277 42 234 460 +278 32 247 414 +279 51 248 415 +280 13 249 416 +281 70 250 417 +282 92 214 335 +283 93 215 336 +284 208 138 522 +285 209 139 523 +286 210 140 524 +287 211 141 525 +288 204 110 338 +289 205 111 339 +290 206 112 340 +291 207 113 341 +292 292 121 452 +293 291 120 451 +294 290 119 450 +295 289 118 449 +296 142 216 316 +297 143 217 317 +298 144 218 318 +299 145 219 319 +300 98 208 327 +301 99 209 328 +302 100 210 329 +303 101 211 330 +304 90 212 325 +305 91 213 326 +306 107 230 389 +307 230 164 389 +308 216 142 561 +309 217 143 562 +310 218 144 563 +311 219 145 564 +312 265 130 454 +313 266 132 456 +314 267 131 453 +315 130 269 458 +316 131 270 457 +317 268 133 455 +318 132 271 460 +319 133 272 459 +320 216 126 498 +321 217 127 497 +322 218 128 500 +323 219 129 499 +324 225 149 360 +325 193 360 480 +326 357 107 406 +327 86 204 472 +328 87 205 473 +329 88 206 474 +330 89 207 475 +331 208 522 526 +332 209 523 527 +333 210 524 528 +334 211 525 529 +335 273 126 306 +336 274 127 307 +337 275 128 308 +338 276 129 309 +339 118 212 514 +340 120 213 516 +341 119 214 515 +342 121 215 517 +343 297 147 314 +344 357 224 556 +345 320 191 380 +346 148 320 380 +347 350 106 471 +348 203 350 471 +349 116 245 408 +350 117 246 409 +351 148 256 358 +352 235 28 346 +353 236 47 347 +354 237 9 348 +355 238 66 349 +356 226 136 333 +357 227 137 334 +358 228 134 331 +359 229 135 332 +360 208 98 445 +361 209 99 446 +362 210 100 447 +363 211 101 448 +364 203 507 550 +365 97 260 381 +366 260 165 381 +367 30 31 353 +368 49 50 354 +369 11 12 355 +370 68 69 356 +371 138 281 509 +372 139 282 510 +373 140 283 511 +374 141 284 512 +375 5 231 536 +376 62 232 537 +377 231 80 536 +378 232 61 537 +379 233 23 538 +380 24 233 538 +381 234 42 539 +382 43 234 539 +383 269 130 361 +384 271 132 362 +385 158 269 361 +386 267 156 363 +387 160 271 362 +388 268 157 364 +389 131 267 363 +390 133 268 364 +391 147 357 556 +392 225 360 407 +393 298 317 497 +394 299 316 498 +395 300 319 499 +396 301 318 500 +397 198 358 379 +398 358 108 379 +399 110 204 410 +400 111 205 411 +401 112 206 412 +402 113 207 413 +403 150 306 461 +404 151 307 462 +405 152 308 463 +406 153 309 464 +407 138 208 501 +408 139 209 502 +409 140 210 503 +410 141 211 504 +411 426 97 551 +412 138 243 522 +413 139 244 523 +414 140 245 524 +415 141 246 525 +416 224 94 556 +417 251 142 316 +418 102 251 316 +419 253 143 317 +420 252 144 318 +421 104 252 318 +422 103 253 317 +423 254 145 319 +424 105 254 319 +425 303 139 510 +426 302 138 509 +427 305 141 512 +428 304 140 511 +429 350 255 548 +430 149 225 359 +431 225 96 359 +432 82 306 561 +433 83 307 562 +434 306 216 561 +435 307 217 562 +436 84 308 563 +437 85 309 564 +438 308 218 563 +439 309 219 564 +440 522 114 526 +441 523 115 527 +442 524 116 528 +443 525 117 529 +444 285 122 430 +445 183 285 430 +446 286 123 431 +447 184 286 431 +448 287 124 432 +449 185 287 432 +450 288 125 433 +451 186 288 433 +452 170 226 532 +453 171 227 533 +454 172 228 534 +455 173 229 535 +456 220 150 461 +457 221 151 462 +458 222 152 463 +459 223 153 464 +460 281 138 367 +461 282 139 368 +462 283 140 369 +463 284 141 370 +464 507 191 550 +465 69 70 417 +466 12 13 416 +467 50 51 415 +468 31 32 414 +469 5 6 453 +470 62 63 455 +471 24 25 454 +472 43 44 456 +473 22 23 458 +474 79 80 457 +475 41 42 460 +476 60 61 459 +477 471 151 531 +478 251 118 514 +479 252 119 515 +480 253 120 516 +481 254 121 517 +482 162 261 385 +483 163 262 387 +484 164 263 390 +485 165 264 391 +486 230 107 357 +487 360 109 407 +488 148 384 396 +489 98 285 445 +490 99 286 446 +491 100 287 447 +492 101 288 448 +493 353 31 414 +494 354 50 415 +495 355 12 416 +496 356 69 417 +497 150 224 406 +498 152 225 407 +499 257 94 321 +500 258 95 322 +501 259 96 323 +502 260 97 324 +503 227 73 533 +504 226 16 532 +505 229 54 535 +506 228 35 534 +507 261 86 385 +508 262 87 387 +509 263 88 390 +510 264 89 391 +511 298 127 342 +512 300 129 344 +513 299 126 343 +514 301 128 345 +515 203 471 531 +516 142 281 561 +517 143 282 562 +518 144 283 563 +519 145 284 564 +520 146 297 314 +521 320 148 396 +522 285 183 445 +523 286 184 446 +524 287 185 447 +525 288 186 448 +526 245 92 351 +527 246 93 352 +528 277 110 410 +529 179 277 410 +530 278 111 411 +531 180 278 411 +532 279 112 412 +533 181 279 412 +534 280 113 413 +535 182 280 413 +536 508 230 530 +537 192 508 530 +538 327 208 526 +539 328 209 527 +540 329 210 528 +541 330 211 529 +542 212 509 514 +543 213 510 516 +544 214 511 515 +545 215 512 517 +546 245 116 524 +547 246 117 525 +548 204 418 472 +549 205 419 473 +550 206 420 474 +551 207 421 475 +552 255 162 548 +553 256 163 549 +554 164 230 429 +555 147 297 337 +556 81 315 434 +557 95 256 380 +558 418 174 472 +559 419 176 473 +560 420 175 474 +561 421 177 475 +562 237 116 408 +563 156 237 408 +564 238 117 409 +565 157 238 409 +566 277 98 437 +567 278 99 438 +568 279 100 439 +569 280 101 440 +570 337 81 434 +571 296 93 336 +572 295 92 335 +573 98 277 485 +574 99 278 486 +575 100 279 487 +576 101 280 488 +577 365 114 522 +578 243 365 522 +579 366 115 523 +580 244 366 523 +581 240 159 435 +582 242 161 436 +583 239 158 427 +584 241 160 428 +585 119 240 435 +586 121 242 436 +587 118 239 427 +588 120 241 428 +589 142 251 514 +590 143 253 516 +591 144 252 515 +592 145 254 517 +593 118 251 449 +594 120 253 451 +595 119 252 450 +596 121 254 452 +597 359 192 434 +598 96 259 429 +599 259 164 429 +600 243 90 505 +601 244 91 506 +602 245 351 408 +603 246 352 409 +604 314 147 556 +605 270 131 559 +606 272 133 560 +607 102 311 402 +608 104 313 404 +609 103 310 403 +610 105 312 405 +611 159 295 335 +612 161 296 336 +613 28 29 346 +614 47 48 347 +615 9 10 348 +616 66 67 349 +617 247 32 443 +618 248 51 444 +619 249 13 441 +620 250 70 442 +621 360 193 382 +622 325 158 361 +623 326 160 362 +624 297 81 337 +625 168 416 478 +626 416 249 478 +627 265 26 371 +628 266 45 372 +629 271 160 377 +630 269 158 375 +631 272 161 378 +632 270 159 376 +633 40 271 377 +634 21 269 375 +635 59 272 378 +636 78 270 376 +637 267 7 373 +638 268 64 374 +639 156 267 373 +640 157 268 374 +641 350 203 550 +642 81 297 383 +643 108 276 379 +644 276 153 379 +645 198 426 551 +646 109 360 382 +647 251 102 402 +648 252 104 404 +649 253 103 403 +650 254 105 405 +651 256 148 380 +652 174 298 342 +653 175 299 343 +654 176 300 344 +655 177 301 345 +656 265 371 557 +657 266 372 558 +658 371 154 557 +659 372 155 558 +660 509 142 514 +661 510 143 516 +662 511 144 515 +663 512 145 517 +664 149 315 480 +665 149 359 434 +666 293 154 505 +667 294 155 506 +668 212 302 509 +669 213 303 510 +670 214 304 511 +671 215 305 512 +672 414 247 476 +673 166 414 476 +674 415 248 477 +675 167 415 477 +676 417 250 479 +677 169 417 479 +678 255 94 469 +679 256 95 470 +680 162 255 469 +681 163 256 470 +682 130 265 557 +683 132 266 558 +684 159 270 559 +685 161 272 560 +686 346 187 526 +687 347 188 527 +688 348 189 528 +689 349 190 529 +690 261 122 398 +691 262 123 399 +692 263 124 400 +693 264 125 401 +694 94 314 556 +695 122 257 489 +696 123 258 490 +697 124 259 491 +698 125 260 492 +699 82 281 367 +700 83 282 368 +701 84 283 369 +702 85 284 370 +703 86 261 465 +704 87 262 466 +705 88 263 467 +706 89 264 468 +707 257 162 469 +708 258 163 470 +709 94 257 469 +710 95 258 470 +711 166 277 437 +712 167 278 438 +713 168 279 439 +714 169 280 440 +715 334 202 494 +716 332 200 496 +717 333 201 493 +718 331 199 495 +719 179 410 465 +720 180 411 466 +721 181 412 467 +722 182 413 468 +723 320 81 383 +724 367 138 501 +725 368 139 502 +726 369 140 503 +727 370 141 504 +728 298 174 422 +729 103 298 422 +730 300 176 424 +731 299 175 423 +732 102 299 423 +733 105 300 424 +734 301 177 425 +735 104 301 425 +736 273 150 406 +737 275 152 407 +738 274 151 471 +739 130 293 361 +740 132 294 362 +741 295 131 363 +742 296 133 364 +743 358 256 549 +744 170 289 449 +745 171 290 450 +746 172 291 451 +747 173 292 452 +748 107 273 406 +749 109 275 407 +750 191 320 383 +751 281 82 561 +752 282 83 562 +753 283 84 563 +754 284 85 564 +755 273 107 519 +756 276 108 520 +757 275 109 521 +758 18 289 394 +759 75 290 395 +760 37 291 392 +761 56 292 393 +762 285 179 398 +763 122 285 398 +764 123 286 399 +765 286 180 399 +766 124 287 400 +767 287 181 400 +768 125 288 401 +769 288 182 401 +770 285 98 485 +771 286 99 486 +772 287 100 487 +773 288 101 488 +774 110 277 476 +775 111 278 477 +776 279 168 478 +777 113 280 479 +778 277 166 476 +779 278 167 477 +780 112 279 478 +781 280 169 479 +782 277 179 485 +783 278 180 486 +784 279 181 487 +785 280 182 488 +786 281 142 509 +787 282 143 510 +788 283 144 511 +789 284 145 512 +790 175 343 474 +791 174 342 472 +792 177 345 475 +793 176 344 473 +794 289 170 394 +795 290 171 395 +796 291 172 392 +797 292 173 393 +798 162 386 548 +799 163 388 549 +800 338 110 565 +801 339 111 566 +802 340 112 567 +803 341 113 568 +804 297 146 383 +805 154 365 505 +806 155 366 506 +807 293 130 557 +808 294 132 558 +809 295 159 559 +810 296 161 560 +811 179 285 485 +812 180 286 486 +813 181 287 487 +814 182 288 488 +815 156 351 363 +816 157 352 364 +817 315 81 396 +818 178 315 396 +819 461 82 544 +820 462 83 545 +821 463 84 546 +822 464 85 547 +823 324 97 426 +824 199 338 565 +825 200 339 566 +826 201 340 567 +827 202 341 568 +828 471 106 518 +829 274 471 518 +830 147 337 530 +831 26 27 371 +832 45 46 372 +833 7 8 373 +834 64 65 374 +835 20 21 375 +836 77 78 376 +837 39 40 377 +838 58 59 378 +839 220 461 544 +840 221 462 545 +841 222 463 546 +842 223 464 547 +843 204 338 418 +844 205 339 419 +845 206 340 420 +846 207 341 421 +847 306 82 461 +848 307 83 462 +849 308 84 463 +850 309 85 464 +851 395 171 533 +852 394 170 532 +853 392 172 534 +854 393 173 535 +855 17 18 394 +856 74 75 395 +857 36 37 392 +858 55 56 393 +859 54 55 535 +860 35 36 534 +861 16 17 532 +862 73 74 533 +863 154 293 557 +864 155 294 558 +865 131 295 559 +866 133 296 560 +867 430 122 489 +868 220 430 489 +869 431 123 490 +870 221 431 490 +871 432 124 491 +872 222 432 491 +873 433 125 492 +874 223 433 492 +875 90 293 505 +876 91 294 506 +877 175 420 423 +878 174 418 422 +879 177 421 425 +880 176 419 424 +881 381 193 397 +882 97 381 397 +883 310 103 422 +884 311 102 423 +885 312 105 424 +886 313 104 425 +887 230 357 530 +888 321 220 489 +889 322 221 490 +890 323 222 491 +891 324 223 492 +892 127 298 497 +893 126 299 498 +894 129 300 499 +895 128 301 500 +896 384 178 396 +897 109 513 521 +898 192 337 434 +899 151 322 531 +900 337 192 530 +901 32 33 443 +902 51 52 444 +903 13 14 441 +904 70 71 442 +905 474 343 541 +906 472 342 540 +907 475 345 543 +908 473 344 542 +909 109 382 513 +910 191 383 550 +911 81 320 396 +912 61 1 537 +913 80 3 536 +914 3 5 536 +915 1 62 537 +916 4 24 538 +917 23 4 538 +918 42 2 539 +919 2 43 539 +920 95 380 507 +921 148 358 384 +922 358 198 384 +923 166 353 414 +924 167 354 415 +925 168 355 416 +926 169 356 417 +927 367 183 544 +928 368 184 545 +929 369 185 546 +930 370 186 547 +931 315 149 434 +932 153 324 426 +933 346 29 481 +934 347 48 482 +935 187 346 481 +936 188 347 482 +937 348 10 483 +938 349 67 484 +939 189 348 483 +940 190 349 484 +941 158 325 427 +942 160 326 428 +943 316 216 498 +944 317 217 497 +945 318 218 500 +946 319 219 499 +947 159 335 435 +948 161 336 436 +949 97 397 551 +950 338 134 418 +951 339 135 419 +952 340 136 420 +953 341 137 421 +954 162 385 386 +955 385 194 386 +956 163 387 388 +957 387 196 388 +958 389 164 390 +959 195 389 390 +960 327 187 552 +961 328 188 553 +962 329 189 554 +963 330 190 555 +964 98 327 437 +965 99 328 438 +966 100 329 439 +967 101 330 440 +968 315 178 480 +969 251 402 449 +970 253 403 451 +971 252 404 450 +972 254 405 452 +973 365 243 505 +974 366 244 506 +975 183 430 544 +976 184 431 545 +977 185 432 546 +978 186 433 547 +979 106 350 548 +980 29 30 481 +981 48 49 482 +982 10 11 483 +983 67 68 484 +984 193 381 382 +985 33 34 495 +986 52 53 496 +987 14 15 493 +988 71 72 494 +989 351 156 408 +990 352 157 409 +991 381 165 382 +992 192 359 508 +993 359 96 508 +994 53 332 496 +995 34 331 495 +996 72 334 494 +997 15 333 493 +998 257 321 489 +999 258 322 490 +1000 259 323 491 +1001 260 324 492 +1002 322 95 531 +1003 380 191 507 +1004 183 367 501 +1005 184 368 502 +1006 185 369 503 +1007 186 370 504 +1008 379 153 426 +1009 187 327 526 +1010 188 328 527 +1011 189 329 528 +1012 190 330 529 +1013 110 476 565 +1014 111 477 566 +1015 113 479 568 +1016 198 379 426 +1017 441 14 493 +1018 442 71 494 +1019 201 441 493 +1020 202 442 494 +1021 444 52 496 +1022 443 33 495 +1023 199 443 495 +1024 200 444 496 +1025 476 247 565 +1026 477 248 566 +1027 479 250 568 +1028 208 445 501 +1029 209 446 502 +1030 210 447 503 +1031 211 448 504 +1032 108 358 549 +1033 342 194 540 +1034 343 195 541 +1035 344 196 542 +1036 345 197 543 +1037 30 353 481 +1038 49 354 482 +1039 11 355 483 +1040 68 356 484 +1041 353 187 481 +1042 354 188 482 +1043 355 189 483 +1044 356 190 484 +1045 478 249 567 +1046 112 478 567 +1047 146 350 550 +1048 261 398 465 +1049 262 399 466 +1050 263 400 467 +1051 264 401 468 +1052 357 147 530 +1053 437 327 552 +1054 438 328 553 +1055 439 329 554 +1056 440 330 555 +1057 383 146 550 +1058 402 170 449 +1059 404 171 450 +1060 403 172 451 +1061 405 173 452 +1062 353 166 552 +1063 354 167 553 +1064 355 168 554 +1065 356 169 555 +1066 187 353 552 +1067 188 354 553 +1068 189 355 554 +1069 190 356 555 +1070 398 179 465 +1071 399 180 466 +1072 400 181 467 +1073 401 182 468 +1074 106 386 518 +1075 386 194 518 +1076 107 389 519 +1077 108 388 520 +1078 389 195 519 +1079 388 196 520 +1080 178 397 480 +1081 397 193 480 +1082 513 197 521 +1083 382 165 513 +1084 178 384 551 +1085 384 198 551 +1086 249 441 567 +1087 250 442 568 +1088 441 201 567 +1089 442 202 568 +1090 247 443 565 +1091 248 444 566 +1092 443 199 565 +1093 444 200 566 +1094 82 367 544 +1095 83 368 545 +1096 84 369 546 +1097 85 370 547 +1098 165 391 513 +1099 385 86 540 +1100 194 385 540 +1101 195 390 541 +1102 390 88 541 +1103 387 87 542 +1104 196 387 542 +1105 197 391 543 +1106 391 89 543 +1107 429 230 508 +1108 86 472 540 +1109 87 473 542 +1110 88 474 541 +1111 89 475 543 +1112 391 197 513 +1113 430 220 544 +1114 431 221 545 +1115 432 222 546 +1116 433 223 547 +1117 96 429 508 +1118 17 394 532 +1119 74 395 533 +1120 36 392 534 +1121 55 393 535 +1122 445 183 501 +1123 446 184 502 +1124 447 185 503 +1125 448 186 504 +1126 386 106 548 +1127 388 108 549 +1128 397 178 551 +1129 95 507 531 +1130 166 437 552 +1131 167 438 553 +1132 168 439 554 +1133 169 440 555 +1134 507 203 531 +$EndElements