From d81957a0969a61778749feb8c281c67e9d846f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Gasi=C7=B9ski?= Date: Sun, 18 Aug 2024 16:56:31 +0200 Subject: [PATCH] Import obj files --- assets/models/cornell_box.mtl | 24 + assets/models/cornell_box.obj | 145 + assets/models/teapot.obj | 4663 +++++++++++++++++++++++++++++++++ build.zig | 6 + build.zig.zon | 4 + src/Mesh.zig | 2 +- src/MeshModel.zig | 195 ++ src/assimp.zig | 9 + src/main.zig | 14 +- src/shaders/shader.frag | 3 +- src/string_utils.zig | 13 + src/vulkan_renderer.zig | 162 +- 12 files changed, 5180 insertions(+), 60 deletions(-) create mode 100644 assets/models/cornell_box.mtl create mode 100644 assets/models/cornell_box.obj create mode 100644 assets/models/teapot.obj create mode 100644 src/MeshModel.zig create mode 100644 src/assimp.zig create mode 100644 src/string_utils.zig diff --git a/assets/models/cornell_box.mtl b/assets/models/cornell_box.mtl new file mode 100644 index 0000000..d3a1c7a --- /dev/null +++ b/assets/models/cornell_box.mtl @@ -0,0 +1,24 @@ +newmtl white +Ka 0 0 0 +Kd 1 1 1 +Ks 0 0 0 + +newmtl red +Ka 0 0 0 +Kd 1 0 0 +Ks 0 0 0 + +newmtl green +Ka 0 0 0 +Kd 0 1 0 +Ks 0 0 0 + +newmtl blue +Ka 0 0 0 +Kd 0 0 1 +Ks 0 0 0 + +newmtl light +Ka 20 20 20 +Kd 1 1 1 +Ks 0 0 0 diff --git a/assets/models/cornell_box.obj b/assets/models/cornell_box.obj new file mode 100644 index 0000000..43e021f --- /dev/null +++ b/assets/models/cornell_box.obj @@ -0,0 +1,145 @@ +# cornell_box.obj and cornell_box.mtl are grabbed from Intel's embree project. +# original cornell box data + # comment + +# empty line including some space + + +mtllib cornell_box.mtl + +o floor +usemtl white +v 552.8 0.0 0.0 +v 0.0 0.0 0.0 +v 0.0 0.0 559.2 +v 549.6 0.0 559.2 + +v 130.0 0.0 65.0 +v 82.0 0.0 225.0 +v 240.0 0.0 272.0 +v 290.0 0.0 114.0 + +v 423.0 0.0 247.0 +v 265.0 0.0 296.0 +v 314.0 0.0 456.0 +v 472.0 0.0 406.0 + +f 1 2 3 4 +f 8 7 6 5 +f 12 11 10 9 + +o light +usemtl light +v 343.0 548.0 227.0 +v 343.0 548.0 332.0 +v 213.0 548.0 332.0 +v 213.0 548.0 227.0 +f -4 -3 -2 -1 + +o ceiling +usemtl white +v 556.0 548.8 0.0 +v 556.0 548.8 559.2 +v 0.0 548.8 559.2 +v 0.0 548.8 0.0 +f -4 -3 -2 -1 + +o back_wall +usemtl white +v 549.6 0.0 559.2 +v 0.0 0.0 559.2 +v 0.0 548.8 559.2 +v 556.0 548.8 559.2 +f -4 -3 -2 -1 + +o front_wall +usemtl blue +v 549.6 0.0 0 +v 0.0 0.0 0 +v 0.0 548.8 0 +v 556.0 548.8 0 +#f -1 -2 -3 -4 + +o green_wall +usemtl green +v 0.0 0.0 559.2 +v 0.0 0.0 0.0 +v 0.0 548.8 0.0 +v 0.0 548.8 559.2 +f -4 -3 -2 -1 + +o red_wall +usemtl red +v 552.8 0.0 0.0 +v 549.6 0.0 559.2 +v 556.0 548.8 559.2 +v 556.0 548.8 0.0 +f -4 -3 -2 -1 + +o short_block +usemtl white + +v 130.0 165.0 65.0 +v 82.0 165.0 225.0 +v 240.0 165.0 272.0 +v 290.0 165.0 114.0 +f -4 -3 -2 -1 + +v 290.0 0.0 114.0 +v 290.0 165.0 114.0 +v 240.0 165.0 272.0 +v 240.0 0.0 272.0 +f -4 -3 -2 -1 + +v 130.0 0.0 65.0 +v 130.0 165.0 65.0 +v 290.0 165.0 114.0 +v 290.0 0.0 114.0 +f -4 -3 -2 -1 + +v 82.0 0.0 225.0 +v 82.0 165.0 225.0 +v 130.0 165.0 65.0 +v 130.0 0.0 65.0 +f -4 -3 -2 -1 + +v 240.0 0.0 272.0 +v 240.0 165.0 272.0 +v 82.0 165.0 225.0 +v 82.0 0.0 225.0 +f -4 -3 -2 -1 + +o tall_block +usemtl white + +v 423.0 330.0 247.0 +v 265.0 330.0 296.0 +v 314.0 330.0 456.0 +v 472.0 330.0 406.0 +f -4 -3 -2 -1 + +usemtl white +v 423.0 0.0 247.0 +v 423.0 330.0 247.0 +v 472.0 330.0 406.0 +v 472.0 0.0 406.0 +f -4 -3 -2 -1 + +v 472.0 0.0 406.0 +v 472.0 330.0 406.0 +v 314.0 330.0 456.0 +v 314.0 0.0 456.0 +f -4 -3 -2 -1 + +v 314.0 0.0 456.0 +v 314.0 330.0 456.0 +v 265.0 330.0 296.0 +v 265.0 0.0 296.0 +f -4 -3 -2 -1 + +v 265.0 0.0 296.0 +v 265.0 330.0 296.0 +v 423.0 330.0 247.0 +v 423.0 0.0 247.0 +f -4 -3 -2 -1 + diff --git a/assets/models/teapot.obj b/assets/models/teapot.obj new file mode 100644 index 0000000..cedb196 --- /dev/null +++ b/assets/models/teapot.obj @@ -0,0 +1,4663 @@ +# Blender v2.61 (sub 0) OBJ File: '' +# www.blender.org +v 0.605903 0.005903 -0.000000 +v 0.000000 0.000000 0.000000 +v 0.584584 0.005902 -0.162696 +v 0.524218 0.005902 -0.307888 +v 0.430191 0.005901 -0.430191 +v 0.307888 0.005901 -0.524218 +v 0.162696 0.005901 -0.584584 +v 0.000000 0.005901 -0.605903 +v -0.162696 0.005901 -0.584584 +v -0.307888 0.005901 -0.524218 +v -0.430191 0.005901 -0.430191 +v -0.524218 0.005902 -0.307888 +v -0.584584 0.005902 -0.162696 +v -0.605903 0.005903 -0.000000 +v -0.584584 0.005904 0.162696 +v -0.524218 0.005904 0.307888 +v -0.430191 0.005905 0.430191 +v -0.307888 0.005905 0.524218 +v -0.162696 0.005905 0.584584 +v 0.000000 0.005905 0.605903 +v 0.162696 0.005905 0.584584 +v 0.307888 0.005905 0.524218 +v 0.430191 0.005905 0.430191 +v 0.524218 0.005904 0.307888 +v 0.584584 0.005904 0.162696 +v 1.400000 2.400000 -0.000008 +v 1.350740 2.400000 0.375917 +v 1.332760 2.454690 0.370913 +v 1.381370 2.454690 -0.000009 +v 1.384260 2.487500 -0.000009 +v 1.335550 2.487500 0.371690 +v 1.403120 2.498440 -0.000009 +v 1.353760 2.498440 0.376756 +v 1.382010 2.487500 0.384619 +v 1.432410 2.487500 -0.000009 +v 1.414950 2.454690 0.393787 +v 1.466550 2.454690 -0.000009 +v 1.447220 2.400000 0.402769 +v 1.500000 2.400000 -0.000008 +v 1.211260 2.400000 0.711398 +v 1.195140 2.454690 0.701929 +v 1.197640 2.487500 0.703400 +v 1.213960 2.498440 0.712986 +v 1.239300 2.487500 0.727866 +v 1.268840 2.454690 0.745216 +v 1.297780 2.400000 0.762213 +v 0.994000 2.400000 0.993991 +v 0.980770 2.454690 0.980761 +v 0.982824 2.487500 0.982815 +v 0.996219 2.498440 0.996210 +v 1.017010 2.487500 1.017000 +v 1.041250 2.454690 1.041240 +v 1.065000 2.400000 1.064990 +v 0.711407 2.400000 1.211250 +v 0.701938 2.454690 1.195130 +v 0.703409 2.487500 1.197630 +v 0.712995 2.498440 1.213950 +v 0.727875 2.487500 1.239290 +v 0.745225 2.454690 1.268830 +v 0.762222 2.400000 1.297770 +v 0.375926 2.400010 1.350730 +v 0.370922 2.454690 1.332750 +v 0.371699 2.487500 1.335540 +v 0.376765 2.498450 1.353750 +v 0.384628 2.487500 1.382000 +v 0.393796 2.454700 1.414940 +v 0.402778 2.400010 1.447210 +v 0.000000 2.400010 1.399990 +v 0.000000 2.454690 1.381360 +v 0.000000 2.487500 1.384250 +v 0.000000 2.498450 1.403110 +v 0.000000 2.487510 1.432400 +v 0.000000 2.454700 1.466540 +v 0.000000 2.400010 1.499990 +v -0.375926 2.400010 1.350730 +v -0.370922 2.454690 1.332750 +v -0.371699 2.487500 1.335540 +v -0.376765 2.498450 1.353750 +v -0.384628 2.487500 1.382000 +v -0.393796 2.454700 1.414940 +v -0.402778 2.400010 1.447210 +v -0.711407 2.400000 1.211250 +v -0.701938 2.454690 1.195130 +v -0.703409 2.487500 1.197630 +v -0.712995 2.498440 1.213950 +v -0.727875 2.487500 1.239290 +v -0.745225 2.454690 1.268830 +v -0.762222 2.400000 1.297770 +v -0.994000 2.400000 0.993991 +v -0.980770 2.454690 0.980761 +v -0.982824 2.487500 0.982815 +v -0.996219 2.498440 0.996210 +v -1.017010 2.487500 1.017000 +v -1.041250 2.454690 1.041240 +v -1.065000 2.400000 1.064990 +v -1.211260 2.400000 0.711398 +v -1.195140 2.454690 0.701929 +v -1.197640 2.487500 0.703400 +v -1.213960 2.498440 0.712986 +v -1.239300 2.487500 0.727866 +v -1.268840 2.454690 0.745216 +v -1.297780 2.400000 0.762213 +v -1.350740 2.400000 0.375917 +v -1.332760 2.454690 0.370913 +v -1.335550 2.487500 0.371690 +v -1.353760 2.498440 0.376756 +v -1.382010 2.487500 0.384619 +v -1.414950 2.454690 0.393787 +v -1.447220 2.400000 0.402769 +v -1.400000 2.400000 -0.000008 +v -1.381370 2.454690 -0.000009 +v -1.384260 2.487500 -0.000009 +v -1.403120 2.498440 -0.000009 +v -1.432410 2.487500 -0.000009 +v -1.466550 2.454690 -0.000009 +v -1.500000 2.400000 -0.000008 +v -1.350740 2.400000 -0.375935 +v -1.332760 2.454690 -0.370931 +v -1.335550 2.487500 -0.371708 +v -1.353760 2.498440 -0.376774 +v -1.382010 2.487500 -0.384637 +v -1.414950 2.454690 -0.393805 +v -1.447220 2.400000 -0.402787 +v -1.211260 2.400000 -0.711416 +v -1.195140 2.454690 -0.701947 +v -1.197640 2.487500 -0.703418 +v -1.213960 2.498440 -0.713004 +v -1.239300 2.487500 -0.727884 +v -1.268840 2.454690 -0.745234 +v -1.297780 2.400000 -0.762231 +v -0.994000 2.400000 -0.994009 +v -0.980770 2.454690 -0.980779 +v -0.982824 2.487500 -0.982833 +v -0.996219 2.498440 -0.996228 +v -1.017010 2.487500 -1.017020 +v -1.041250 2.454690 -1.041260 +v -1.065000 2.400000 -1.065010 +v -0.711407 2.400000 -1.211270 +v -0.701938 2.454690 -1.195150 +v -0.703409 2.487500 -1.197650 +v -0.712995 2.498440 -1.213970 +v -0.727875 2.487500 -1.239310 +v -0.745225 2.454690 -1.268850 +v -0.762222 2.400000 -1.297790 +v -0.375926 2.400000 -1.350750 +v -0.370922 2.454680 -1.332770 +v -0.371699 2.487490 -1.335560 +v -0.376765 2.498440 -1.353770 +v -0.384628 2.487490 -1.382020 +v -0.393796 2.454680 -1.414960 +v -0.402778 2.399990 -1.447230 +v 0.000000 2.399990 -1.400010 +v 0.000000 2.454680 -1.381380 +v 0.000000 2.487490 -1.384270 +v 0.000000 2.498430 -1.403130 +v 0.000000 2.487490 -1.432420 +v 0.000000 2.454680 -1.466560 +v 0.000000 2.399990 -1.500010 +v 0.375926 2.400000 -1.350750 +v 0.370922 2.454680 -1.332770 +v 0.371699 2.487490 -1.335560 +v 0.376765 2.498440 -1.353770 +v 0.384628 2.487490 -1.382020 +v 0.393796 2.454680 -1.414960 +v 0.402778 2.399990 -1.447230 +v 0.711407 2.400000 -1.211270 +v 0.701938 2.454690 -1.195150 +v 0.703409 2.487500 -1.197650 +v 0.712995 2.498440 -1.213970 +v 0.727875 2.487500 -1.239310 +v 0.745225 2.454690 -1.268850 +v 0.762222 2.400000 -1.297790 +v 0.994000 2.400000 -0.994009 +v 0.980770 2.454690 -0.980779 +v 0.982824 2.487500 -0.982833 +v 0.996219 2.498440 -0.996228 +v 1.017010 2.487500 -1.017020 +v 1.041250 2.454690 -1.041260 +v 1.065000 2.400000 -1.065010 +v 1.211260 2.400000 -0.711416 +v 1.195140 2.454690 -0.701947 +v 1.197640 2.487500 -0.703418 +v 1.213960 2.498440 -0.713004 +v 1.239300 2.487500 -0.727884 +v 1.268840 2.454690 -0.745234 +v 1.297780 2.400000 -0.762231 +v 1.350740 2.400000 -0.375935 +v 1.332760 2.454690 -0.370931 +v 1.335550 2.487500 -0.371708 +v 1.353760 2.498440 -0.376774 +v 1.382010 2.487500 -0.384637 +v 1.414950 2.454690 -0.393805 +v 1.447220 2.400000 -0.402787 +v 1.566710 2.137850 0.436024 +v 1.623840 2.137850 -0.000008 +v 1.679490 1.877780 0.467414 +v 1.740740 1.877780 -0.000007 +v 1.778880 1.621880 0.495075 +v 1.843750 1.621870 -0.000006 +v 1.858160 1.372220 0.517142 +v 1.925930 1.372220 -0.000005 +v 1.910650 1.130900 0.531750 +v 1.980320 1.130900 -0.000004 +v 1.929630 0.900002 0.537034 +v 2.000000 0.900000 -0.000003 +v 1.404920 2.137850 0.825145 +v 1.506060 1.877780 0.884547 +v 1.595190 1.621880 0.936892 +v 1.666280 1.372220 0.978651 +v 1.713350 1.130900 1.006300 +v 1.730370 0.900004 1.016300 +v 1.152930 2.137850 1.152920 +v 1.235930 1.877780 1.235920 +v 1.309060 1.621870 1.309050 +v 1.367410 1.372230 1.367400 +v 1.406030 1.130910 1.406030 +v 1.420000 0.900005 1.420000 +v 0.825153 2.137860 1.404910 +v 0.884554 1.877790 1.506050 +v 0.936898 1.621890 1.595180 +v 0.978656 1.372230 1.666270 +v 1.006300 1.130910 1.713350 +v 1.016300 0.900006 1.730370 +v 0.436032 2.137860 1.566700 +v 0.467421 1.877790 1.679480 +v 0.495081 1.621880 1.778870 +v 0.517147 1.372230 1.858150 +v 0.531754 1.130910 1.910650 +v 0.537037 0.900007 1.929630 +v 0.000000 2.137860 1.623830 +v 0.000000 1.877790 1.740730 +v 0.000000 1.621880 1.843740 +v 0.000000 1.372230 1.925920 +v 0.000000 1.130910 1.980320 +v 0.000000 0.900007 2.000000 +v -0.436032 2.137860 1.566700 +v -0.467421 1.877790 1.679480 +v -0.495081 1.621890 1.778870 +v -0.517147 1.372230 1.858150 +v -0.531754 1.130910 1.910650 +v -0.537037 0.900007 1.929630 +v -0.825153 2.137860 1.404910 +v -0.884554 1.877790 1.506050 +v -0.936898 1.621890 1.595180 +v -0.978656 1.372230 1.666270 +v -1.006300 1.130910 1.713350 +v -1.016300 0.900006 1.730370 +v -1.152930 2.137850 1.152920 +v -1.235930 1.877780 1.235920 +v -1.309060 1.621870 1.309050 +v -1.367410 1.372230 1.367400 +v -1.406030 1.130910 1.406030 +v -1.420000 0.900005 1.420000 +v -1.404920 2.137850 0.825145 +v -1.506060 1.877780 0.884547 +v -1.595190 1.621880 0.936892 +v -1.666280 1.372220 0.978651 +v -1.713350 1.130900 1.006300 +v -1.730370 0.900004 1.016300 +v -1.566710 2.137850 0.436024 +v -1.679490 1.877780 0.467414 +v -1.778880 1.621870 0.495075 +v -1.858160 1.372220 0.517142 +v -1.910650 1.130900 0.531750 +v -1.929630 0.900002 0.537034 +v -1.623840 2.137850 -0.000008 +v -1.740740 1.877780 -0.000007 +v -1.843750 1.621870 -0.000006 +v -1.925930 1.372220 -0.000005 +v -1.980320 1.130900 -0.000004 +v -2.000000 0.900000 -0.000003 +v -1.566710 2.137850 -0.436040 +v -1.679490 1.877780 -0.467428 +v -1.778880 1.621880 -0.495087 +v -1.858160 1.372220 -0.517152 +v -1.910650 1.130900 -0.531758 +v -1.929630 0.899998 -0.537040 +v -1.404920 2.137850 -0.825161 +v -1.506060 1.877780 -0.884561 +v -1.595190 1.621880 -0.936904 +v -1.666280 1.372220 -0.978661 +v -1.713350 1.130900 -1.006300 +v -1.730370 0.899996 -1.016300 +v -1.152930 2.137850 -1.152940 +v -1.235930 1.877780 -1.235940 +v -1.309060 1.621870 -1.309070 +v -1.367410 1.372220 -1.367420 +v -1.406030 1.130890 -1.406030 +v -1.420000 0.899995 -1.420000 +v -0.825153 2.137840 -1.404930 +v -0.884554 1.877770 -1.506070 +v -0.936898 1.621870 -1.595200 +v -0.978656 1.372210 -1.666290 +v -1.006300 1.130890 -1.713350 +v -1.016300 0.899994 -1.730370 +v -0.436032 2.137840 -1.566720 +v -0.467421 1.877770 -1.679500 +v -0.495081 1.621860 -1.778890 +v -0.517147 1.372210 -1.858170 +v -0.531754 1.130890 -1.910650 +v -0.537037 0.899993 -1.929630 +v 0.000000 2.137840 -1.623850 +v 0.000000 1.877770 -1.740750 +v 0.000000 1.621860 -1.843760 +v 0.000000 1.372210 -1.925940 +v 0.000000 1.130890 -1.980320 +v 0.000000 0.899993 -2.000000 +v 0.436032 2.137840 -1.566720 +v 0.467421 1.877770 -1.679500 +v 0.495081 1.621870 -1.778890 +v 0.517147 1.372210 -1.858170 +v 0.531754 1.130890 -1.910650 +v 0.537037 0.899993 -1.929630 +v 0.825153 2.137840 -1.404930 +v 0.884554 1.877770 -1.506070 +v 0.936898 1.621870 -1.595200 +v 0.978656 1.372210 -1.666290 +v 1.006300 1.130890 -1.713350 +v 1.016300 0.899994 -1.730370 +v 1.152930 2.137850 -1.152940 +v 1.235930 1.877780 -1.235940 +v 1.309060 1.621870 -1.309070 +v 1.367410 1.372220 -1.367420 +v 1.406030 1.130890 -1.406030 +v 1.420000 0.899995 -1.420000 +v 1.404920 2.137850 -0.825161 +v 1.506060 1.877780 -0.884561 +v 1.595190 1.621880 -0.936904 +v 1.666280 1.372220 -0.978661 +v 1.713350 1.130900 -1.006300 +v 1.730370 0.899996 -1.016300 +v 1.566710 2.137850 -0.436040 +v 1.679490 1.877780 -0.467428 +v 1.778880 1.621870 -0.495087 +v 1.858160 1.372220 -0.517152 +v 1.910650 1.130900 -0.531758 +v 1.929630 0.899998 -0.537040 +v 1.893900 0.693405 0.527089 +v 1.962960 0.693403 -0.000002 +v 1.804560 0.522224 0.502227 +v 1.870370 0.522222 -0.000002 +v 1.688430 0.384377 0.469906 +v 1.750000 0.384375 -0.000001 +v 1.572290 0.277780 0.437585 +v 1.629630 0.277778 -0.000001 +v 1.482960 0.200349 0.412722 +v 1.537040 0.200347 -0.000001 +v 1.447220 0.150001 0.402777 +v 1.500000 0.150000 -0.000001 +v 1.698330 0.693407 0.997473 +v 1.618220 0.522225 0.950423 +v 1.514070 0.384378 0.889258 +v 1.409930 0.277781 0.828092 +v 1.329820 0.200350 0.781042 +v 1.297780 0.150003 0.762221 +v 1.393700 0.693408 1.393700 +v 1.327960 0.522227 1.327960 +v 1.242500 0.384380 1.242500 +v 1.157040 0.277782 1.157040 +v 1.091300 0.200351 1.091300 +v 1.065000 0.150004 1.065000 +v 0.997476 0.693409 1.698330 +v 0.950425 0.522228 1.618220 +v 0.889259 0.384381 1.514070 +v 0.828093 0.277783 1.409930 +v 0.781043 0.200352 1.329820 +v 0.762222 0.150005 1.297780 +v 0.527092 0.693410 1.893900 +v 0.502229 0.522229 1.804560 +v 0.469907 0.384381 1.688430 +v 0.437586 0.277784 1.572290 +v 0.412723 0.200352 1.482960 +v 0.402778 0.150005 1.447220 +v 0.000000 0.693410 1.962960 +v 0.000000 0.522229 1.870370 +v 0.000000 0.384381 1.750000 +v 0.000000 0.277784 1.629630 +v 0.000000 0.200353 1.537040 +v 0.000000 0.150006 1.500000 +v -0.527092 0.693410 1.893900 +v -0.502229 0.522229 1.804560 +v -0.469907 0.384381 1.688430 +v -0.437586 0.277784 1.572290 +v -0.412723 0.200352 1.482960 +v -0.402778 0.150005 1.447220 +v -0.997476 0.693409 1.698330 +v -0.950425 0.522228 1.618220 +v -0.889259 0.384381 1.514070 +v -0.828093 0.277783 1.409930 +v -0.781043 0.200352 1.329820 +v -0.762222 0.150005 1.297780 +v -1.393700 0.693408 1.393700 +v -1.327960 0.522227 1.327960 +v -1.242500 0.384380 1.242500 +v -1.157040 0.277782 1.157040 +v -1.091300 0.200351 1.091300 +v -1.065000 0.150004 1.065000 +v -1.698330 0.693407 0.997473 +v -1.618220 0.522225 0.950423 +v -1.514070 0.384378 0.889258 +v -1.409930 0.277781 0.828092 +v -1.329820 0.200350 0.781042 +v -1.297780 0.150003 0.762221 +v -1.893900 0.693405 0.527089 +v -1.804560 0.522224 0.502227 +v -1.688430 0.384377 0.469906 +v -1.572290 0.277780 0.437585 +v -1.482960 0.200349 0.412722 +v -1.447220 0.150001 0.402777 +v -1.962960 0.693403 -0.000002 +v -1.870370 0.522222 -0.000002 +v -1.750000 0.384375 -0.000001 +v -1.629630 0.277778 -0.000001 +v -1.537040 0.200347 -0.000001 +v -1.500000 0.150000 -0.000001 +v -1.893900 0.693401 -0.527095 +v -1.804560 0.522220 -0.502231 +v -1.688430 0.384373 -0.469908 +v -1.572290 0.277776 -0.437587 +v -1.482960 0.200345 -0.412724 +v -1.447220 0.149999 -0.402779 +v -1.698330 0.693399 -0.997479 +v -1.618220 0.522218 -0.950427 +v -1.514070 0.384372 -0.889260 +v -1.409930 0.277775 -0.828094 +v -1.329820 0.200344 -0.781044 +v -1.297780 0.149997 -0.762223 +v -1.393700 0.693398 -1.393700 +v -1.327960 0.522217 -1.327960 +v -1.242500 0.384370 -1.242500 +v -1.157040 0.277774 -1.157040 +v -1.091300 0.200343 -1.091300 +v -1.065000 0.149996 -1.065000 +v -0.997476 0.693397 -1.698330 +v -0.950425 0.522216 -1.618220 +v -0.889259 0.384369 -1.514070 +v -0.828093 0.277773 -1.409930 +v -0.781043 0.200342 -1.329820 +v -0.762222 0.149995 -1.297780 +v -0.527092 0.693396 -1.893900 +v -0.502229 0.522215 -1.804560 +v -0.469907 0.384369 -1.688430 +v -0.437586 0.277772 -1.572290 +v -0.412723 0.200342 -1.482960 +v -0.402778 0.149995 -1.447220 +v 0.000000 0.693396 -1.962960 +v 0.000000 0.522215 -1.870370 +v 0.000000 0.384369 -1.750000 +v 0.000000 0.277772 -1.629630 +v 0.000000 0.200341 -1.537040 +v 0.000000 0.149994 -1.500000 +v 0.527092 0.693396 -1.893900 +v 0.502229 0.522215 -1.804560 +v 0.469907 0.384369 -1.688430 +v 0.437586 0.277772 -1.572290 +v 0.412723 0.200342 -1.482960 +v 0.402778 0.149995 -1.447220 +v 0.997476 0.693397 -1.698330 +v 0.950425 0.522216 -1.618220 +v 0.889259 0.384369 -1.514070 +v 0.828093 0.277773 -1.409930 +v 0.781043 0.200342 -1.329820 +v 0.762222 0.149995 -1.297780 +v 1.393700 0.693398 -1.393700 +v 1.327960 0.522217 -1.327960 +v 1.242500 0.384370 -1.242500 +v 1.157040 0.277774 -1.157040 +v 1.091300 0.200343 -1.091300 +v 1.065000 0.149996 -1.065000 +v 1.698330 0.693399 -0.997479 +v 1.618220 0.522218 -0.950427 +v 1.514070 0.384372 -0.889260 +v 1.409930 0.277775 -0.828094 +v 1.329820 0.200344 -0.781044 +v 1.297780 0.149997 -0.762223 +v 1.893900 0.693401 -0.527095 +v 1.804560 0.522220 -0.502231 +v 1.688430 0.384373 -0.469908 +v 1.572290 0.277776 -0.437587 +v 1.482960 0.200345 -0.412724 +v 1.447220 0.149999 -0.402779 +v 1.022220 0.022222 -0.000000 +v 0.986255 0.022221 -0.274486 +v 1.284370 0.046875 -0.000000 +v 1.239180 0.046874 -0.344878 +v 1.427780 0.077778 -0.000000 +v 1.377540 0.077777 -0.383385 +v 1.487850 0.112847 -0.000000 +v 1.435500 0.112846 -0.399515 +v 0.884412 0.022220 -0.519440 +v 1.111220 0.046873 -0.652653 +v 1.235290 0.077775 -0.725523 +v 1.287260 0.112844 -0.756047 +v 0.725778 0.022219 -0.725778 +v 0.911906 0.046872 -0.911906 +v 1.013720 0.077774 -1.013720 +v 1.056370 0.112843 -1.056370 +v 0.519440 0.022219 -0.884412 +v 0.652653 0.046871 -1.111220 +v 0.725523 0.077774 -1.235290 +v 0.756047 0.112842 -1.287260 +v 0.274486 0.022219 -0.986255 +v 0.344878 0.046871 -1.239180 +v 0.383385 0.077773 -1.377540 +v 0.399515 0.112842 -1.435500 +v 0.000000 0.022218 -1.022220 +v 0.000000 0.046871 -1.284370 +v 0.000000 0.077773 -1.427780 +v 0.000000 0.112842 -1.487850 +v -0.274486 0.022219 -0.986255 +v -0.344878 0.046871 -1.239180 +v -0.383385 0.077773 -1.377540 +v -0.399515 0.112842 -1.435500 +v -0.519440 0.022219 -0.884412 +v -0.652653 0.046871 -1.111220 +v -0.725523 0.077774 -1.235290 +v -0.756047 0.112842 -1.287260 +v -0.725778 0.022219 -0.725778 +v -0.911906 0.046872 -0.911906 +v -1.013720 0.077774 -1.013720 +v -1.056370 0.112843 -1.056370 +v -0.884412 0.022220 -0.519440 +v -1.111220 0.046873 -0.652653 +v -1.235290 0.077775 -0.725523 +v -1.287260 0.112844 -0.756047 +v -0.986255 0.022221 -0.274486 +v -1.239180 0.046874 -0.344878 +v -1.377540 0.077777 -0.383385 +v -1.435500 0.112846 -0.399515 +v -1.022220 0.022222 -0.000000 +v -1.284370 0.046875 -0.000000 +v -1.427780 0.077778 -0.000000 +v -1.487850 0.112847 -0.000000 +v -0.986255 0.022223 0.274486 +v -1.239180 0.046876 0.344878 +v -1.377540 0.077779 0.383385 +v -1.435500 0.112848 0.399515 +v -0.884412 0.022224 0.519440 +v -1.111220 0.046877 0.652653 +v -1.235290 0.077781 0.725523 +v -1.287260 0.112850 0.756047 +v -0.725778 0.022225 0.725778 +v -0.911906 0.046878 0.911906 +v -1.013720 0.077782 1.013720 +v -1.056370 0.112851 1.056370 +v -0.519440 0.022225 0.884412 +v -0.652653 0.046879 1.111220 +v -0.725523 0.077782 1.235290 +v -0.756047 0.112852 1.287260 +v -0.274486 0.022225 0.986255 +v -0.344878 0.046879 1.239180 +v -0.383385 0.077783 1.377540 +v -0.399515 0.112852 1.435500 +v 0.000000 0.022226 1.022220 +v 0.000000 0.046879 1.284370 +v 0.000000 0.077783 1.427780 +v 0.000000 0.112852 1.487850 +v 0.274486 0.022225 0.986255 +v 0.344878 0.046879 1.239180 +v 0.383385 0.077783 1.377540 +v 0.399515 0.112852 1.435500 +v 0.519440 0.022225 0.884412 +v 0.652653 0.046879 1.111220 +v 0.725523 0.077782 1.235290 +v 0.756047 0.112852 1.287260 +v 0.725778 0.022225 0.725778 +v 0.911906 0.046878 0.911906 +v 1.013720 0.077782 1.013720 +v 1.056370 0.112851 1.056370 +v 0.884412 0.022224 0.519440 +v 1.111220 0.046877 0.652653 +v 1.235290 0.077781 0.725523 +v 1.287260 0.112850 0.756047 +v 0.986255 0.022223 0.274486 +v 1.239180 0.046876 0.344878 +v 1.377540 0.077779 0.383385 +v 1.435500 0.112848 0.399515 +v 0.192963 2.700000 0.053694 +v 0.200000 2.700000 -0.000010 +v 0.165279 2.785420 0.046035 +v 0.171296 2.785420 -0.000010 +v 0.173037 2.700000 0.101620 +v 0.148234 2.785420 0.087096 +v 0.142000 2.700000 0.141990 +v 0.121672 2.785420 0.121662 +v 0.101630 2.700000 0.173027 +v 0.087106 2.785420 0.148224 +v 0.053704 2.700000 0.192953 +v 0.046045 2.785420 0.165269 +v 0.000000 2.700000 0.199990 +v 0.000000 2.785420 0.171286 +v -0.053704 2.700000 0.192953 +v -0.046045 2.785420 0.165269 +v -0.101630 2.700000 0.173027 +v -0.087106 2.785420 0.148224 +v -0.142000 2.700000 0.141990 +v -0.121672 2.785420 0.121662 +v -0.173037 2.700000 0.101620 +v -0.148234 2.785420 0.087096 +v -0.192963 2.700000 0.053694 +v -0.165279 2.785420 0.046035 +v -0.200000 2.700000 -0.000010 +v -0.171296 2.785420 -0.000010 +v -0.192963 2.700000 -0.053714 +v -0.165279 2.785420 -0.046055 +v -0.173037 2.700000 -0.101640 +v -0.148234 2.785420 -0.087116 +v -0.142000 2.700000 -0.142010 +v -0.121672 2.785420 -0.121682 +v -0.101630 2.700000 -0.173047 +v -0.087106 2.785420 -0.148244 +v -0.053704 2.700000 -0.192973 +v -0.046045 2.785420 -0.165289 +v 0.000000 2.700000 -0.200010 +v 0.000000 2.785420 -0.171306 +v 0.053704 2.700000 -0.192973 +v 0.046045 2.785420 -0.165289 +v 0.101630 2.700000 -0.173047 +v 0.087106 2.785420 -0.148244 +v 0.142000 2.700000 -0.142010 +v 0.121672 2.785420 -0.121682 +v 0.173037 2.700000 -0.101640 +v 0.148234 2.785420 -0.087116 +v 0.192963 2.700000 -0.053714 +v 0.165279 2.785420 -0.046055 +v 0.338579 2.636110 0.094221 +v 0.350926 2.636110 -0.000009 +v 0.553875 2.588890 0.154140 +v 0.574074 2.588890 -0.000009 +v 0.795972 2.550000 0.221519 +v 0.825000 2.550000 -0.000009 +v 1.021990 2.511110 0.284422 +v 1.059260 2.511110 -0.000009 +v 1.189040 2.463890 0.330915 +v 1.232410 2.463890 -0.000009 +v 1.254260 2.400000 0.349065 +v 1.300000 2.400000 -0.000008 +v 0.303616 2.636110 0.178312 +v 0.496680 2.588890 0.291705 +v 0.713778 2.550000 0.419213 +v 0.916455 2.511110 0.538252 +v 1.066260 2.463890 0.626237 +v 1.124740 2.400000 0.660584 +v 0.249157 2.636110 0.249147 +v 0.407593 2.588890 0.407583 +v 0.585750 2.550000 0.585741 +v 0.752074 2.511110 0.752065 +v 0.875009 2.463890 0.875000 +v 0.923000 2.400000 0.922991 +v 0.178322 2.636110 0.303606 +v 0.291715 2.588890 0.496670 +v 0.419222 2.550000 0.713769 +v 0.538261 2.511110 0.916446 +v 0.626246 2.463890 1.066250 +v 0.660593 2.400000 1.124730 +v 0.094230 2.636110 0.338569 +v 0.154150 2.588890 0.553865 +v 0.221528 2.550000 0.795963 +v 0.284431 2.511110 1.021980 +v 0.330924 2.463890 1.189030 +v 0.349074 2.400000 1.254250 +v 0.000000 2.636110 0.350916 +v 0.000000 2.588890 0.574064 +v 0.000000 2.550000 0.824991 +v 0.000000 2.511110 1.059250 +v 0.000000 2.463890 1.232400 +v 0.000000 2.400000 1.299990 +v -0.094230 2.636110 0.338569 +v -0.154150 2.588890 0.553865 +v -0.221528 2.550000 0.795963 +v -0.284431 2.511110 1.021980 +v -0.330924 2.463890 1.189030 +v -0.349074 2.400000 1.254250 +v -0.178322 2.636110 0.303606 +v -0.291715 2.588890 0.496670 +v -0.419222 2.550000 0.713769 +v -0.538261 2.511110 0.916446 +v -0.626246 2.463890 1.066250 +v -0.660593 2.400000 1.124730 +v -0.249157 2.636110 0.249147 +v -0.407593 2.588890 0.407583 +v -0.585750 2.550000 0.585741 +v -0.752074 2.511110 0.752065 +v -0.875009 2.463890 0.875000 +v -0.923000 2.400000 0.922991 +v -0.303616 2.636110 0.178312 +v -0.496680 2.588890 0.291705 +v -0.713778 2.550000 0.419213 +v -0.916455 2.511110 0.538252 +v -1.066260 2.463890 0.626237 +v -1.124740 2.400000 0.660584 +v -0.338579 2.636110 0.094221 +v -0.553875 2.588890 0.154140 +v -0.795972 2.550000 0.221519 +v -1.021990 2.511110 0.284422 +v -1.189040 2.463890 0.330915 +v -1.254260 2.400000 0.349065 +v -0.350926 2.636110 -0.000009 +v -0.574074 2.588890 -0.000009 +v -0.825000 2.550000 -0.000009 +v -1.059260 2.511110 -0.000009 +v -1.232410 2.463890 -0.000009 +v -1.300000 2.400000 -0.000008 +v -0.338579 2.636110 -0.094239 +v -0.553875 2.588890 -0.154160 +v -0.795972 2.550000 -0.221537 +v -1.021990 2.511110 -0.284440 +v -1.189040 2.463890 -0.330933 +v -1.254260 2.400000 -0.349083 +v -0.303616 2.636110 -0.178332 +v -0.496680 2.588890 -0.291725 +v -0.713778 2.550000 -0.419231 +v -0.916455 2.511110 -0.538270 +v -1.066260 2.463890 -0.626255 +v -1.124740 2.400000 -0.660602 +v -0.249157 2.636110 -0.249167 +v -0.407593 2.588890 -0.407603 +v -0.585750 2.550000 -0.585759 +v -0.752074 2.511110 -0.752083 +v -0.875009 2.463890 -0.875018 +v -0.923000 2.400000 -0.923009 +v -0.178322 2.636110 -0.303626 +v -0.291715 2.588890 -0.496690 +v -0.419222 2.550000 -0.713787 +v -0.538261 2.511110 -0.916464 +v -0.626246 2.463890 -1.066270 +v -0.660593 2.400000 -1.124750 +v -0.094230 2.636110 -0.338589 +v -0.154150 2.588890 -0.553885 +v -0.221528 2.550000 -0.795981 +v -0.284431 2.511110 -1.022000 +v -0.330924 2.463890 -1.189050 +v -0.349074 2.400000 -1.254270 +v 0.000000 2.636110 -0.350936 +v 0.000000 2.588890 -0.574084 +v 0.000000 2.550000 -0.825009 +v 0.000000 2.511110 -1.059270 +v 0.000000 2.463890 -1.232420 +v 0.000000 2.400000 -1.300010 +v 0.094230 2.636110 -0.338589 +v 0.154150 2.588890 -0.553885 +v 0.221528 2.550000 -0.795981 +v 0.284431 2.511110 -1.022000 +v 0.330924 2.463890 -1.189050 +v 0.349074 2.400000 -1.254270 +v 0.178322 2.636110 -0.303626 +v 0.291715 2.588890 -0.496690 +v 0.419222 2.550000 -0.713787 +v 0.538261 2.511110 -0.916464 +v 0.626246 2.463890 -1.066270 +v 0.660593 2.400000 -1.124750 +v 0.249157 2.636110 -0.249167 +v 0.407593 2.588890 -0.407603 +v 0.585750 2.550000 -0.585759 +v 0.752074 2.511110 -0.752083 +v 0.875009 2.463890 -0.875018 +v 0.923000 2.400000 -0.923009 +v 0.303616 2.636110 -0.178332 +v 0.496680 2.588890 -0.291725 +v 0.713778 2.550000 -0.419231 +v 0.916455 2.511110 -0.538270 +v 1.066260 2.463890 -0.626255 +v 1.124740 2.400000 -0.660602 +v 0.338579 2.636110 -0.094239 +v 0.553875 2.588890 -0.154160 +v 0.795972 2.550000 -0.221537 +v 1.021990 2.511110 -0.284440 +v 1.189040 2.463890 -0.330933 +v 1.254260 2.400000 -0.349083 +v -1.924540 2.023960 -0.000007 +v -1.600000 2.025000 -0.000007 +v -1.927040 2.040550 0.124992 +v -1.592590 2.041670 0.124992 +v -2.196300 2.016670 -0.000007 +v -2.206450 2.032720 0.124992 +v -2.428240 2.011460 0.124993 +v -2.412500 1.996870 -0.000007 +v -2.589850 1.970060 0.124993 +v -2.570370 1.958330 -0.000007 +v -2.688700 1.901810 0.124993 +v -2.667130 1.894790 -0.000007 +v -2.722220 1.800000 0.124993 +v -2.700000 1.800000 -0.000006 +v -1.933300 2.082020 0.199992 +v -1.574070 2.083330 0.199992 +v -2.231820 2.072840 0.199992 +v -2.467590 2.047920 0.199992 +v -2.638550 1.999380 0.199993 +v -2.742630 1.919370 0.199993 +v -2.777780 1.800000 0.199993 +v -1.941440 2.135940 0.224992 +v -1.550000 2.137500 0.224992 +v -2.264810 2.125000 0.224992 +v -2.518750 2.095310 0.224992 +v -2.701850 2.037500 0.224992 +v -2.812730 1.942190 0.224993 +v -2.850000 1.800000 0.224993 +v -1.949570 2.189850 0.199992 +v -1.525930 2.191670 0.199992 +v -2.297810 2.177160 0.199992 +v -2.569910 2.142710 0.199992 +v -2.765160 2.075620 0.199992 +v -2.882840 1.965010 0.199993 +v -2.922220 1.800000 0.199993 +v -1.955830 2.231330 0.124992 +v -1.507410 2.233330 0.124992 +v -2.323180 2.217280 0.124992 +v -2.609260 2.179170 0.124992 +v -2.813850 2.104940 0.124992 +v -2.936760 1.982560 0.124993 +v -2.977780 1.800000 0.124993 +v -1.958330 2.247920 -0.000008 +v -1.500000 2.250000 -0.000008 +v -2.333330 2.233330 -0.000008 +v -2.625000 2.193750 -0.000008 +v -2.833330 2.116670 -0.000007 +v -2.958330 1.989580 -0.000007 +v -3.000000 1.800000 -0.000006 +v -1.507410 2.233330 -0.125008 +v -1.955830 2.231330 -0.125008 +v -2.323180 2.217280 -0.125008 +v -2.609260 2.179170 -0.125008 +v -2.813850 2.104940 -0.125008 +v -2.936760 1.982560 -0.125007 +v -2.977780 1.800000 -0.125007 +v -1.525930 2.191670 -0.200008 +v -1.949570 2.189850 -0.200008 +v -2.297810 2.177160 -0.200008 +v -2.569910 2.142710 -0.200008 +v -2.765160 2.075620 -0.200008 +v -2.882840 1.965010 -0.200007 +v -2.922220 1.800000 -0.200007 +v -1.550000 2.137500 -0.225008 +v -1.941440 2.135940 -0.225008 +v -2.264810 2.125000 -0.225008 +v -2.518750 2.095310 -0.225008 +v -2.701850 2.037500 -0.225008 +v -2.812730 1.942190 -0.225007 +v -2.850000 1.800000 -0.225007 +v -1.574070 2.083330 -0.200008 +v -1.933300 2.082020 -0.200008 +v -2.231820 2.072840 -0.200008 +v -2.467590 2.047920 -0.200008 +v -2.638550 1.999380 -0.200007 +v -2.742630 1.919370 -0.200007 +v -2.777780 1.800000 -0.200007 +v -1.592590 2.041670 -0.125008 +v -1.927040 2.040550 -0.125008 +v -2.206450 2.032720 -0.125008 +v -2.428240 2.011460 -0.125007 +v -2.589850 1.970060 -0.125007 +v -2.688700 1.901810 -0.125007 +v -2.722220 1.800000 -0.125007 +v -2.704180 1.663980 0.124994 +v -2.682870 1.670830 -0.000006 +v -2.648290 1.505350 0.124994 +v -2.629630 1.516670 -0.000005 +v -2.551850 1.335760 0.124995 +v -2.537500 1.350000 -0.000005 +v -2.412210 1.166870 0.124996 +v -2.403700 1.183330 -0.000004 +v -2.226680 1.010330 0.124996 +v -2.225460 1.029170 -0.000004 +v -1.992590 0.877778 0.124997 +v -2.000000 0.900000 -0.000003 +v -2.757470 1.646840 0.199994 +v -2.694920 1.477060 0.199995 +v -2.587730 1.300170 0.199995 +v -2.433470 1.125720 0.199996 +v -2.229720 0.963228 0.199996 +v -1.974070 0.822223 0.199997 +v -2.826740 1.624570 0.224994 +v -2.755560 1.440280 0.224995 +v -2.634370 1.253910 0.224995 +v -2.461110 1.072220 0.224996 +v -2.233680 0.901998 0.224997 +v -1.950000 0.750001 0.224997 +v -2.896000 1.602290 0.199994 +v -2.816190 1.403500 0.199995 +v -2.681020 1.207640 0.199996 +v -2.488750 1.018720 0.199996 +v -2.237640 0.840767 0.199997 +v -1.925930 0.677779 0.199997 +v -2.949290 1.585150 0.124994 +v -2.862830 1.375210 0.124995 +v -2.716900 1.172050 0.124996 +v -2.510010 0.977573 0.124996 +v -2.240680 0.793666 0.124997 +v -1.907410 0.622222 0.124998 +v -2.970600 1.578300 -0.000006 +v -2.881480 1.363890 -0.000005 +v -2.731250 1.157810 -0.000004 +v -2.518520 0.961111 -0.000003 +v -2.241900 0.774826 -0.000003 +v -1.900000 0.600000 -0.000002 +v -2.949290 1.585150 -0.125006 +v -2.862830 1.375210 -0.125005 +v -2.716900 1.172050 -0.125004 +v -2.510010 0.977572 -0.125004 +v -2.240680 0.793666 -0.125003 +v -1.907410 0.622222 -0.125002 +v -2.896000 1.602290 -0.200006 +v -2.816190 1.403500 -0.200005 +v -2.681020 1.207640 -0.200004 +v -2.488750 1.018720 -0.200004 +v -2.237640 0.840765 -0.200003 +v -1.925930 0.677777 -0.200003 +v -2.826740 1.624570 -0.225006 +v -2.755560 1.440280 -0.225005 +v -2.634370 1.253910 -0.225005 +v -2.461110 1.072220 -0.225004 +v -2.233680 0.901996 -0.225003 +v -1.950000 0.749999 -0.225003 +v -2.757470 1.646840 -0.200006 +v -2.694920 1.477060 -0.200005 +v -2.587730 1.300170 -0.200005 +v -2.433470 1.125720 -0.200004 +v -2.229720 0.963226 -0.200004 +v -1.974070 0.822221 -0.200003 +v -2.704180 1.663980 -0.125006 +v -2.648290 1.505350 -0.125006 +v -2.551850 1.335760 -0.125005 +v -2.412210 1.166870 -0.125004 +v -2.226680 1.010330 -0.125004 +v -1.992590 0.877778 -0.125003 +v 1.700000 1.425000 -0.000005 +v 1.700000 1.363890 0.274995 +v 2.072380 1.425210 0.262341 +v 2.058800 1.476390 -0.000005 +v 2.290120 1.572020 0.230704 +v 2.270370 1.611110 -0.000006 +v 2.409720 1.773610 0.189576 +v 2.387500 1.800000 -0.000006 +v 2.487650 1.999280 0.148450 +v 2.462960 2.013890 -0.000007 +v 2.580400 2.218310 0.116813 +v 2.549540 2.223610 -0.000008 +v 2.700000 2.400000 -0.000008 +v 2.744440 2.400000 0.104158 +v 1.700000 1.211110 0.439996 +v 2.106330 1.297250 0.419748 +v 2.339510 1.474280 0.369131 +v 2.465280 1.707640 0.303327 +v 2.549380 1.962760 0.237524 +v 2.657560 2.205070 0.186906 +v 2.855560 2.400000 0.166658 +v 1.700000 1.012500 0.494996 +v 2.150460 1.130900 0.472218 +v 2.403700 1.347220 0.415273 +v 2.537500 1.621870 0.341244 +v 2.629630 1.915280 0.267215 +v 2.757870 2.187850 0.210270 +v 3.000000 2.400000 0.187491 +v 1.700000 0.813891 0.439997 +v 2.194600 0.964560 0.419749 +v 2.467900 1.220160 0.369132 +v 2.609720 1.536110 0.303327 +v 2.709880 1.867800 0.237524 +v 2.858180 2.170630 0.186906 +v 3.144440 2.400000 0.166658 +v 1.700000 0.661112 0.274998 +v 2.228550 0.836601 0.262343 +v 2.517280 1.122430 0.230706 +v 2.665280 1.470140 0.189578 +v 2.771600 1.831280 0.148450 +v 2.935340 2.157380 0.116813 +v 3.255560 2.400000 0.104158 +v 1.700000 0.600000 -0.000002 +v 2.242130 0.785417 -0.000003 +v 2.537040 1.083330 -0.000004 +v 2.687500 1.443750 -0.000005 +v 2.796300 1.816670 -0.000006 +v 2.966200 2.152080 -0.000008 +v 3.300000 2.400000 -0.000008 +v 1.700000 0.661110 -0.275002 +v 2.228550 0.836599 -0.262349 +v 2.517280 1.122430 -0.230714 +v 2.665280 1.470140 -0.189588 +v 2.771600 1.831280 -0.148464 +v 2.935340 2.157380 -0.116829 +v 3.255560 2.400000 -0.104176 +v 1.700000 0.813887 -0.440003 +v 2.194600 0.964556 -0.419757 +v 2.467900 1.220160 -0.369141 +v 2.609720 1.536110 -0.303339 +v 2.709880 1.867800 -0.237538 +v 2.858180 2.170630 -0.186922 +v 3.144440 2.400000 -0.166676 +v 1.700000 1.012500 -0.495004 +v 2.150460 1.130900 -0.472226 +v 2.403700 1.347220 -0.415283 +v 2.537500 1.621870 -0.341256 +v 2.629630 1.915280 -0.267229 +v 2.757870 2.187850 -0.210286 +v 3.000000 2.400000 -0.187509 +v 1.700000 1.211110 -0.440004 +v 2.106330 1.297250 -0.419758 +v 2.339510 1.474280 -0.369141 +v 2.465280 1.707640 -0.303339 +v 2.549380 1.962760 -0.237538 +v 2.657560 2.205070 -0.186922 +v 2.855560 2.400000 -0.166676 +v 1.700000 1.363890 -0.275005 +v 2.072380 1.425210 -0.262351 +v 2.290120 1.572020 -0.230716 +v 2.409720 1.773610 -0.189590 +v 2.487650 1.999280 -0.148464 +v 2.580400 2.218310 -0.116829 +v 2.744440 2.400000 -0.104176 +v 2.749070 2.431250 -0.000009 +v 2.796410 2.431930 0.101023 +v 2.792590 2.450000 -0.000009 +v 2.839780 2.451230 0.092969 +v 2.825000 2.456250 -0.000009 +v 2.869680 2.457810 0.082022 +v 2.881210 2.451540 0.070207 +v 2.840740 2.450000 -0.000009 +v 2.869490 2.432310 0.059549 +v 2.834260 2.431250 -0.000009 +v 2.829630 2.400000 0.052074 +v 2.800000 2.400000 -0.000008 +v 2.914740 2.433610 0.161565 +v 2.957750 2.454320 0.148139 +v 2.981370 2.461720 0.129158 +v 2.982370 2.455400 0.107398 +v 2.957560 2.434960 0.085639 +v 2.903700 2.400000 0.066658 +v 3.068580 2.435810 0.181675 +v 3.111110 2.458330 0.165963 +v 3.126560 2.466800 0.142960 +v 3.113890 2.460420 0.115269 +v 3.072050 2.438410 0.085495 +v 3.000000 2.400000 0.056241 +v 3.222410 2.438000 0.161411 +v 3.264470 2.462350 0.146905 +v 3.271760 2.471870 0.124991 +v 3.245400 2.465430 0.097522 +v 3.186540 2.441860 0.066349 +v 3.096300 2.400000 0.033324 +v 3.340750 2.439690 0.100830 +v 3.382440 2.465430 0.091426 +v 3.383450 2.475780 0.076814 +v 3.346570 2.469290 0.057861 +v 3.274610 2.444510 0.035437 +v 3.170370 2.400000 0.010408 +v 3.388080 2.440360 -0.000009 +v 3.429630 2.466670 -0.000009 +v 3.428130 2.477340 -0.000009 +v 3.387040 2.470830 -0.000009 +v 3.309840 2.445570 -0.000009 +v 3.200000 2.400000 -0.000008 +v 3.340750 2.439690 -0.101089 +v 3.382440 2.465430 -0.093373 +v 3.383450 2.475780 -0.083342 +v 3.346570 2.469290 -0.073312 +v 3.274610 2.444510 -0.065595 +v 3.170370 2.400000 -0.062509 +v 3.222410 2.438000 -0.161737 +v 3.264470 2.462350 -0.149392 +v 3.271760 2.471870 -0.133342 +v 3.245400 2.465430 -0.117293 +v 3.186540 2.441860 -0.104947 +v 3.096300 2.400000 -0.100009 +v 3.068580 2.435810 -0.181953 +v 3.111110 2.458330 -0.168065 +v 3.126560 2.466800 -0.150009 +v 3.113890 2.460420 -0.131953 +v 3.072050 2.438410 -0.118065 +v 3.000000 2.400000 -0.112509 +v 2.914740 2.433610 -0.161737 +v 2.957750 2.454320 -0.149392 +v 2.981370 2.461720 -0.133342 +v 2.982370 2.455400 -0.117293 +v 2.957560 2.434960 -0.104947 +v 2.903700 2.400000 -0.100009 +v 2.796410 2.431930 -0.101089 +v 2.839780 2.451230 -0.093373 +v 2.869680 2.457810 -0.083342 +v 2.881210 2.451540 -0.073312 +v 2.869490 2.432310 -0.065595 +v 2.829630 2.400000 -0.062509 +v 0.278704 3.127080 -0.000011 +v 0.000000 3.150000 -0.000011 +v 0.268946 3.127080 0.075067 +v 0.241285 3.127080 0.141920 +v 0.198140 3.127080 0.198129 +v 0.141931 3.127080 0.241274 +v 0.075078 3.127080 0.268935 +v 0.000000 3.127080 0.278693 +v -0.075078 3.127080 0.268935 +v -0.141931 3.127080 0.241274 +v -0.198140 3.127080 0.198129 +v -0.241285 3.127080 0.141920 +v -0.268946 3.127080 0.075067 +v -0.278704 3.127080 -0.000011 +v -0.268946 3.127080 -0.075089 +v -0.241285 3.127080 -0.141942 +v -0.198140 3.127080 -0.198151 +v -0.141931 3.127080 -0.241296 +v -0.075078 3.127080 -0.268957 +v 0.000000 3.127080 -0.278715 +v 0.075078 3.127080 -0.268957 +v 0.141931 3.127080 -0.241296 +v 0.198140 3.127080 -0.198151 +v 0.241285 3.127080 -0.141942 +v 0.268946 3.127080 -0.075089 +v 0.350254 3.066670 0.097760 +v 0.362963 3.066670 -0.000011 +v 0.313617 2.981250 0.087518 +v 0.325000 2.981250 -0.000011 +v 0.228728 2.883330 0.063793 +v 0.237037 2.883330 -0.000010 +v 0.165279 2.785420 0.046035 +v 0.171296 2.785420 -0.000010 +v 0.314228 3.066670 0.184824 +v 0.281352 2.981250 0.165470 +v 0.205180 2.883330 0.120636 +v 0.148234 2.785420 0.087096 +v 0.258037 3.066670 0.258027 +v 0.231031 2.981250 0.231020 +v 0.168463 2.883330 0.168452 +v 0.121672 2.785420 0.121662 +v 0.184834 3.066670 0.314218 +v 0.165481 2.981250 0.281341 +v 0.120647 2.883330 0.205169 +v 0.087106 2.785420 0.148224 +v 0.097771 3.066670 0.350244 +v 0.087529 2.981250 0.313606 +v 0.063803 2.883330 0.228717 +v 0.046045 2.785420 0.165269 +v 0.000000 3.066670 0.362953 +v 0.000000 2.981250 0.324989 +v 0.000000 2.883330 0.237026 +v 0.000000 2.785420 0.171286 +v -0.097771 3.066670 0.350244 +v -0.087529 2.981250 0.313606 +v -0.063803 2.883330 0.228717 +v -0.046045 2.785420 0.165269 +v -0.184834 3.066670 0.314218 +v -0.165481 2.981250 0.281341 +v -0.120647 2.883330 0.205169 +v -0.087106 2.785420 0.148224 +v -0.258037 3.066670 0.258027 +v -0.231031 2.981250 0.231020 +v -0.168463 2.883330 0.168452 +v -0.121672 2.785420 0.121662 +v -0.314228 3.066670 0.184824 +v -0.281352 2.981250 0.165470 +v -0.205180 2.883330 0.120636 +v -0.148234 2.785420 0.087096 +v -0.350254 3.066670 0.097760 +v -0.313617 2.981250 0.087518 +v -0.228728 2.883330 0.063793 +v -0.165279 2.785420 0.046035 +v -0.362963 3.066670 -0.000011 +v -0.325000 2.981250 -0.000011 +v -0.237037 2.883330 -0.000010 +v -0.171296 2.785420 -0.000010 +v -0.350254 3.066670 -0.097782 +v -0.313617 2.981250 -0.087540 +v -0.228728 2.883330 -0.063813 +v -0.165279 2.785420 -0.046055 +v -0.314228 3.066670 -0.184844 +v -0.281352 2.981250 -0.165492 +v -0.205180 2.883330 -0.120658 +v -0.148234 2.785420 -0.087116 +v -0.258037 3.066670 -0.258047 +v -0.231031 2.981250 -0.231042 +v -0.168463 2.883330 -0.168474 +v -0.121672 2.785420 -0.121682 +v -0.184834 3.066670 -0.314238 +v -0.165481 2.981250 -0.281363 +v -0.120647 2.883330 -0.205191 +v -0.087106 2.785420 -0.148244 +v -0.097771 3.066670 -0.350264 +v -0.087529 2.981250 -0.313628 +v -0.063803 2.883330 -0.228739 +v -0.046045 2.785420 -0.165289 +v 0.000000 3.066670 -0.362973 +v 0.000000 2.981250 -0.325011 +v 0.000000 2.883330 -0.237048 +v 0.000000 2.785420 -0.171306 +v 0.097771 3.066670 -0.350264 +v 0.087529 2.981250 -0.313628 +v 0.063803 2.883330 -0.228739 +v 0.046045 2.785420 -0.165289 +v 0.184834 3.066670 -0.314238 +v 0.165481 2.981250 -0.281363 +v 0.120647 2.883330 -0.205191 +v 0.087106 2.785420 -0.148244 +v 0.258037 3.066670 -0.258047 +v 0.231031 2.981250 -0.231042 +v 0.168463 2.883330 -0.168474 +v 0.121672 2.785420 -0.121682 +v 0.314228 3.066670 -0.184844 +v 0.281352 2.981250 -0.165492 +v 0.205180 2.883330 -0.120658 +v 0.148234 2.785420 -0.087116 +v 0.350254 3.066670 -0.097782 +v 0.313617 2.981250 -0.087540 +v 0.228728 2.883330 -0.063813 +v 0.165279 2.785420 -0.046055 +vn 0.025666 -0.999664 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.024781 -0.999664 -0.006623 +vn 0.022156 -0.999664 -0.012787 +vn 0.018067 -0.999664 -0.018067 +vn 0.012787 -0.999664 -0.022126 +vn 0.006623 -0.999664 -0.024751 +vn 0.000000 -0.999664 -0.025666 +vn -0.006623 -0.999664 -0.024751 +vn -0.012787 -0.999664 -0.022126 +vn -0.018067 -0.999664 -0.018067 +vn -0.022156 -0.999664 -0.012787 +vn -0.024781 -0.999664 -0.006623 +vn -0.025666 -0.999664 0.000000 +vn -0.024781 -0.999664 0.006623 +vn -0.022156 -0.999664 0.012787 +vn -0.018067 -0.999664 0.018067 +vn -0.012787 -0.999664 0.022156 +vn -0.006623 -0.999664 0.024781 +vn 0.000000 -0.999664 0.025666 +vn 0.006623 -0.999664 0.024781 +vn 0.012787 -0.999664 0.022156 +vn 0.018067 -0.999664 0.018067 +vn 0.022156 -0.999664 0.012787 +vn 0.024781 -0.999664 0.006623 +vn -0.946562 -0.322459 0.000000 +vn -0.913999 -0.322947 -0.245491 +vn -0.958617 -0.122227 -0.257057 +vn -0.992523 -0.122013 0.000000 +vn -0.832057 0.554674 0.000000 +vn -0.803217 0.555376 -0.215308 +vn -0.048616 0.998810 0.000000 +vn -0.046205 0.998840 -0.012726 +vn 0.525376 0.839106 0.140843 +vn 0.544267 0.838893 0.000000 +vn 0.756340 0.621845 0.202918 +vn 0.783471 0.621387 0.000000 +vn 0.850551 0.473769 0.228217 +vn 0.880886 0.473281 0.000000 +vn -0.818842 -0.323435 -0.474166 +vn -0.859004 -0.122410 -0.497085 +vn -0.719657 0.555559 -0.416425 +vn -0.041749 0.998810 -0.024415 +vn 0.470107 0.839625 0.272011 +vn 0.677236 0.622608 0.391980 +vn 0.761803 0.474471 0.440962 +vn -0.669027 -0.323679 -0.669027 +vn -0.701773 -0.122440 -0.701773 +vn -0.587878 0.555650 -0.587878 +vn -0.034272 0.998810 -0.034272 +vn 0.383831 0.839808 0.383831 +vn 0.553148 0.622913 0.553148 +vn 0.622303 0.474776 0.622303 +vn -0.474166 -0.323435 -0.818842 +vn -0.497085 -0.122410 -0.859004 +vn -0.416425 0.555528 -0.719657 +vn -0.024415 0.998810 -0.041749 +vn 0.272011 0.839625 0.470077 +vn 0.392010 0.622608 0.677236 +vn 0.440962 0.474502 0.761803 +vn -0.245460 -0.322977 -0.913999 +vn -0.257057 -0.122257 -0.958617 +vn -0.215339 0.555193 -0.803308 +vn -0.012726 0.998840 -0.046236 +vn 0.140873 0.839076 0.525437 +vn 0.202918 0.621906 0.756310 +vn 0.228217 0.473769 0.850551 +vn 0.000000 -0.322489 -0.946562 +vn 0.000000 -0.122044 -0.992523 +vn 0.000000 0.554491 -0.832179 +vn 0.000000 0.998779 -0.048799 +vn 0.000000 0.838893 0.544267 +vn 0.000000 0.621387 0.783471 +vn 0.000000 0.473281 0.880886 +vn 0.245460 -0.322977 -0.913999 +vn 0.257057 -0.122257 -0.958617 +vn 0.215339 0.555193 -0.803308 +vn 0.012726 0.998840 -0.046236 +vn -0.140873 0.839076 0.525437 +vn -0.202918 0.621906 0.756310 +vn -0.228217 0.473769 0.850551 +vn 0.474166 -0.323435 -0.818842 +vn 0.497085 -0.122410 -0.859004 +vn 0.416425 0.555528 -0.719657 +vn 0.024415 0.998810 -0.041749 +vn -0.272011 0.839625 0.470077 +vn -0.392010 0.622608 0.677236 +vn -0.440962 0.474502 0.761803 +vn 0.669027 -0.323679 -0.669027 +vn 0.701773 -0.122440 -0.701773 +vn 0.587878 0.555650 -0.587878 +vn 0.034272 0.998810 -0.034272 +vn -0.383831 0.839808 0.383831 +vn -0.553148 0.622913 0.553148 +vn -0.622303 0.474776 0.622303 +vn 0.818842 -0.323435 -0.474166 +vn 0.859004 -0.122410 -0.497085 +vn 0.719657 0.555559 -0.416425 +vn 0.041749 0.998810 -0.024415 +vn -0.470107 0.839625 0.272011 +vn -0.677236 0.622608 0.391980 +vn -0.761803 0.474471 0.440962 +vn 0.913999 -0.322947 -0.245491 +vn 0.958617 -0.122227 -0.257057 +vn 0.803217 0.555376 -0.215308 +vn 0.046205 0.998840 -0.012726 +vn -0.525376 0.839106 0.140843 +vn -0.756340 0.621845 0.202918 +vn -0.850551 0.473769 0.228217 +vn 0.946562 -0.322459 0.000000 +vn 0.992523 -0.122013 0.000000 +vn 0.832057 0.554674 0.000000 +vn 0.048616 0.998810 0.000000 +vn -0.544267 0.838893 0.000000 +vn -0.783471 0.621387 0.000000 +vn -0.880886 0.473281 0.000000 +vn 0.913999 -0.322947 0.245491 +vn 0.958617 -0.122227 0.257057 +vn 0.803217 0.555376 0.215308 +vn 0.046205 0.998840 0.012726 +vn -0.525376 0.839106 -0.140843 +vn -0.756340 0.621845 -0.202918 +vn -0.850551 0.473769 -0.228217 +vn 0.818842 -0.323435 0.474166 +vn 0.859004 -0.122410 0.497085 +vn 0.719657 0.555559 0.416425 +vn 0.041749 0.998810 0.024415 +vn -0.470107 0.839625 -0.272011 +vn -0.677236 0.622608 -0.391980 +vn -0.761803 0.474471 -0.440962 +vn 0.669027 -0.323679 0.669027 +vn 0.701773 -0.122440 0.701773 +vn 0.587878 0.555650 0.587878 +vn 0.034272 0.998810 0.034272 +vn -0.383831 0.839808 -0.383831 +vn -0.553148 0.622913 -0.553148 +vn -0.622303 0.474776 -0.622303 +vn 0.474166 -0.323435 0.818842 +vn 0.497085 -0.122410 0.859004 +vn 0.416425 0.555559 0.719657 +vn 0.024415 0.998810 0.041749 +vn -0.272011 0.839625 -0.470107 +vn -0.391980 0.622608 -0.677236 +vn -0.440962 0.474471 -0.761803 +vn 0.245460 -0.322977 0.913999 +vn 0.257027 -0.122257 0.958617 +vn 0.215369 0.555193 0.803308 +vn 0.012726 0.998840 0.046236 +vn -0.140873 0.839045 -0.525498 +vn -0.202918 0.621845 -0.756371 +vn -0.228187 0.473769 -0.850551 +vn 0.000000 -0.322459 0.946562 +vn 0.000000 -0.122013 0.992523 +vn 0.000000 0.554674 0.832057 +vn 0.000000 0.998810 0.048616 +vn 0.000000 0.838893 -0.544267 +vn 0.000000 0.621387 -0.783471 +vn 0.000000 0.473281 -0.880886 +vn -0.245460 -0.322977 0.913999 +vn -0.257027 -0.122257 0.958617 +vn -0.215369 0.555193 0.803308 +vn -0.012726 0.998840 0.046236 +vn 0.140873 0.839045 -0.525498 +vn 0.202918 0.621845 -0.756371 +vn 0.228187 0.473769 -0.850551 +vn -0.474166 -0.323435 0.818842 +vn -0.497085 -0.122410 0.859004 +vn -0.416425 0.555559 0.719657 +vn -0.024415 0.998810 0.041749 +vn 0.272011 0.839625 -0.470107 +vn 0.391980 0.622608 -0.677236 +vn 0.440962 0.474471 -0.761803 +vn -0.669027 -0.323679 0.669027 +vn -0.701773 -0.122440 0.701773 +vn -0.587878 0.555650 0.587878 +vn -0.034272 0.998810 0.034272 +vn 0.383831 0.839808 -0.383831 +vn 0.553148 0.622913 -0.553148 +vn 0.622303 0.474776 -0.622303 +vn -0.818842 -0.323435 0.474166 +vn -0.859004 -0.122410 0.497085 +vn -0.719657 0.555559 0.416425 +vn -0.041749 0.998810 0.024415 +vn 0.470107 0.839625 -0.272011 +vn 0.677236 0.622608 -0.391980 +vn 0.761803 0.474471 -0.440962 +vn -0.913999 -0.322947 0.245491 +vn -0.958617 -0.122227 0.257057 +vn -0.803217 0.555376 0.215308 +vn -0.046205 0.998840 0.012726 +vn 0.525376 0.839106 -0.140843 +vn 0.756340 0.621845 -0.202918 +vn 0.850551 0.473769 -0.228217 +vn 0.877041 0.418744 0.235298 +vn 0.908292 0.418256 0.000000 +vn 0.888668 0.391644 0.238441 +vn 0.920286 0.391156 0.000000 +vn 0.907315 0.342753 0.243446 +vn 0.939543 0.342357 0.000000 +vn 0.931028 0.265908 0.249855 +vn 0.964080 0.265542 0.000000 +vn 0.954558 0.152104 0.256172 +vn 0.988372 0.151891 0.000000 +vn 0.964782 -0.045717 0.258980 +vn 0.998932 -0.045656 0.000000 +vn 0.785638 0.419416 0.454756 +vn 0.796075 0.392285 0.460799 +vn 0.812830 0.343333 0.470504 +vn 0.834162 0.266366 0.482864 +vn 0.855312 0.152409 0.495132 +vn 0.864498 -0.045808 0.500504 +vn 0.641804 0.419691 0.641804 +vn 0.650349 0.392529 0.650349 +vn 0.664052 0.343577 0.664052 +vn 0.681509 0.266579 0.681509 +vn 0.698813 0.152501 0.698813 +vn 0.706351 -0.045869 0.706351 +vn 0.454756 0.419416 0.785638 +vn 0.460799 0.392285 0.796075 +vn 0.470504 0.343333 0.812830 +vn 0.482864 0.266396 0.834162 +vn 0.495132 0.152409 0.855312 +vn 0.500504 -0.045808 0.864498 +vn 0.235298 0.418744 0.877041 +vn 0.238441 0.391644 0.888668 +vn 0.243446 0.342753 0.907315 +vn 0.249825 0.265908 0.931028 +vn 0.256172 0.152135 0.954558 +vn 0.258980 -0.045717 0.964782 +vn 0.000000 0.418256 0.908292 +vn 0.000000 0.391156 0.920286 +vn 0.000000 0.342357 0.939543 +vn 0.000000 0.265572 0.964080 +vn 0.000000 0.151921 0.988372 +vn 0.000000 -0.045656 0.998932 +vn -0.235298 0.418744 0.877041 +vn -0.238441 0.391644 0.888668 +vn -0.243446 0.342753 0.907315 +vn -0.249825 0.265908 0.931028 +vn -0.256172 0.152135 0.954558 +vn -0.258980 -0.045717 0.964782 +vn -0.454756 0.419416 0.785638 +vn -0.460799 0.392285 0.796075 +vn -0.470504 0.343333 0.812830 +vn -0.482864 0.266396 0.834162 +vn -0.495132 0.152409 0.855312 +vn -0.500504 -0.045808 0.864498 +vn -0.641804 0.419691 0.641804 +vn -0.650349 0.392529 0.650349 +vn -0.664052 0.343577 0.664052 +vn -0.681509 0.266579 0.681509 +vn -0.698813 0.152501 0.698813 +vn -0.706351 -0.045869 0.706351 +vn -0.785638 0.419416 0.454756 +vn -0.796075 0.392285 0.460799 +vn -0.812830 0.343333 0.470504 +vn -0.834162 0.266366 0.482864 +vn -0.855312 0.152409 0.495132 +vn -0.864498 -0.045808 0.500504 +vn -0.877041 0.418744 0.235298 +vn -0.888668 0.391644 0.238441 +vn -0.907315 0.342753 0.243446 +vn -0.931028 0.265908 0.249825 +vn -0.954558 0.152104 0.256172 +vn -0.964782 -0.045717 0.258980 +vn -0.908292 0.418256 0.000000 +vn -0.920286 0.391156 0.000000 +vn -0.939543 0.342357 0.000000 +vn -0.964080 0.265542 0.000000 +vn -0.988372 0.151891 0.000000 +vn -0.998932 -0.045656 0.000000 +vn -0.877041 0.418744 -0.235298 +vn -0.888668 0.391644 -0.238441 +vn -0.907315 0.342753 -0.243446 +vn -0.931028 0.265877 -0.249855 +vn -0.954558 0.152104 -0.256172 +vn -0.964782 -0.045717 -0.258980 +vn -0.785638 0.419416 -0.454756 +vn -0.796075 0.392285 -0.460799 +vn -0.812830 0.343333 -0.470504 +vn -0.834162 0.266366 -0.482864 +vn -0.855312 0.152379 -0.495132 +vn -0.864498 -0.045808 -0.500504 +vn -0.641804 0.419691 -0.641804 +vn -0.650349 0.392529 -0.650349 +vn -0.664052 0.343547 -0.664052 +vn -0.681509 0.266549 -0.681509 +vn -0.698813 0.152470 -0.698813 +vn -0.706351 -0.045869 -0.706351 +vn -0.454756 0.419416 -0.785638 +vn -0.460768 0.392285 -0.796075 +vn -0.470504 0.343333 -0.812830 +vn -0.482864 0.266366 -0.834162 +vn -0.495132 0.152379 -0.855312 +vn -0.500504 -0.045808 -0.864498 +vn -0.235298 0.418744 -0.877041 +vn -0.238441 0.391644 -0.888668 +vn -0.243446 0.342753 -0.907315 +vn -0.249855 0.265877 -0.931059 +vn -0.256172 0.152074 -0.954558 +vn -0.258980 -0.045717 -0.964782 +vn 0.000000 0.418256 -0.908292 +vn 0.000000 0.391156 -0.920286 +vn 0.000000 0.342357 -0.939543 +vn 0.000000 0.265511 -0.964080 +vn 0.000000 0.151891 -0.988372 +vn 0.000000 -0.045656 -0.998932 +vn 0.235298 0.418744 -0.877041 +vn 0.238441 0.391644 -0.888668 +vn 0.243446 0.342753 -0.907315 +vn 0.249855 0.265877 -0.931059 +vn 0.256172 0.152074 -0.954558 +vn 0.258980 -0.045717 -0.964782 +vn 0.454756 0.419416 -0.785638 +vn 0.460768 0.392285 -0.796075 +vn 0.470504 0.343333 -0.812830 +vn 0.482864 0.266366 -0.834162 +vn 0.495132 0.152379 -0.855312 +vn 0.500504 -0.045808 -0.864498 +vn 0.641804 0.419691 -0.641804 +vn 0.650349 0.392529 -0.650349 +vn 0.664052 0.343547 -0.664052 +vn 0.681509 0.266549 -0.681509 +vn 0.698813 0.152470 -0.698813 +vn 0.706351 -0.045869 -0.706351 +vn 0.785638 0.419416 -0.454756 +vn 0.796075 0.392285 -0.460799 +vn 0.812830 0.343333 -0.470504 +vn 0.834162 0.266366 -0.482864 +vn 0.855312 0.152379 -0.495132 +vn 0.864498 -0.045808 -0.500504 +vn 0.877041 0.418744 -0.235298 +vn 0.888668 0.391644 -0.238441 +vn 0.907315 0.342753 -0.243446 +vn 0.931028 0.265908 -0.249825 +vn 0.954558 0.152104 -0.256172 +vn 0.964782 -0.045717 -0.258980 +vn 0.912839 -0.326609 0.245003 +vn 0.945250 -0.326273 0.000000 +vn 0.795892 -0.566485 0.213538 +vn 0.824396 -0.565996 0.000000 +vn 0.687399 -0.702445 0.184393 +vn 0.712180 -0.701987 0.000000 +vn 0.630146 -0.757805 0.169012 +vn 0.652974 -0.757347 0.000000 +vn 0.698752 -0.690329 0.187445 +vn 0.724021 -0.689749 0.000000 +vn 0.855861 -0.463454 0.229530 +vn 0.886380 -0.462905 0.000000 +vn 0.817774 -0.327158 0.473434 +vn 0.712729 -0.567248 0.412549 +vn 0.615375 -0.703146 0.356151 +vn 0.564043 -0.758446 0.326456 +vn 0.625660 -0.690939 0.362102 +vn 0.766625 -0.464125 0.443678 +vn 0.668111 -0.327403 0.668111 +vn 0.582171 -0.567522 0.582171 +vn 0.502579 -0.703421 0.502579 +vn 0.460646 -0.758660 0.460646 +vn 0.510971 -0.691183 0.510971 +vn 0.626209 -0.464370 0.626209 +vn 0.473434 -0.327158 0.817774 +vn 0.412549 -0.567248 0.712729 +vn 0.356151 -0.703146 0.615375 +vn 0.326456 -0.758446 0.564043 +vn 0.362102 -0.690939 0.625660 +vn 0.443678 -0.464125 0.766625 +vn 0.245003 -0.326609 0.912839 +vn 0.213538 -0.566485 0.795892 +vn 0.184393 -0.702445 0.687399 +vn 0.169012 -0.757805 0.630146 +vn 0.187414 -0.690329 0.698752 +vn 0.229530 -0.463454 0.855831 +vn 0.000000 -0.326273 0.945250 +vn 0.000000 -0.565996 0.824396 +vn 0.000000 -0.701987 0.712180 +vn 0.000000 -0.757347 0.652974 +vn 0.000000 -0.689749 0.724021 +vn 0.000000 -0.462905 0.886380 +vn -0.245003 -0.326609 0.912839 +vn -0.213538 -0.566485 0.795892 +vn -0.184393 -0.702445 0.687399 +vn -0.169012 -0.757805 0.630146 +vn -0.187414 -0.690329 0.698752 +vn -0.229530 -0.463454 0.855831 +vn -0.473434 -0.327158 0.817774 +vn -0.412549 -0.567248 0.712729 +vn -0.356151 -0.703146 0.615375 +vn -0.326456 -0.758446 0.564043 +vn -0.362102 -0.690939 0.625660 +vn -0.443678 -0.464125 0.766625 +vn -0.668111 -0.327403 0.668111 +vn -0.582171 -0.567522 0.582171 +vn -0.502579 -0.703421 0.502579 +vn -0.460646 -0.758660 0.460646 +vn -0.510971 -0.691183 0.510971 +vn -0.626209 -0.464370 0.626209 +vn -0.817774 -0.327158 0.473434 +vn -0.712729 -0.567248 0.412549 +vn -0.615375 -0.703146 0.356151 +vn -0.564043 -0.758446 0.326456 +vn -0.625660 -0.690939 0.362102 +vn -0.766625 -0.464125 0.443678 +vn -0.912839 -0.326609 0.245003 +vn -0.795892 -0.566485 0.213538 +vn -0.687399 -0.702445 0.184393 +vn -0.630146 -0.757805 0.169012 +vn -0.698752 -0.690329 0.187445 +vn -0.855861 -0.463454 0.229530 +vn -0.945250 -0.326273 0.000000 +vn -0.824396 -0.565996 0.000000 +vn -0.712180 -0.701987 0.000000 +vn -0.652974 -0.757347 0.000000 +vn -0.724021 -0.689749 0.000000 +vn -0.886380 -0.462905 0.000000 +vn -0.912839 -0.326609 -0.245003 +vn -0.795892 -0.566485 -0.213538 +vn -0.687399 -0.702445 -0.184393 +vn -0.630146 -0.757805 -0.169012 +vn -0.698752 -0.690329 -0.187414 +vn -0.855831 -0.463454 -0.229530 +vn -0.817774 -0.327158 -0.473434 +vn -0.712729 -0.567248 -0.412549 +vn -0.615375 -0.703146 -0.356151 +vn -0.564043 -0.758446 -0.326456 +vn -0.625660 -0.690939 -0.362102 +vn -0.766625 -0.464125 -0.443678 +vn -0.668111 -0.327403 -0.668111 +vn -0.582171 -0.567522 -0.582171 +vn -0.502579 -0.703421 -0.502579 +vn -0.460646 -0.758660 -0.460646 +vn -0.510971 -0.691183 -0.510971 +vn -0.626209 -0.464370 -0.626209 +vn -0.473434 -0.327158 -0.817774 +vn -0.412549 -0.567248 -0.712729 +vn -0.356151 -0.703146 -0.615375 +vn -0.326456 -0.758446 -0.564043 +vn -0.362102 -0.690939 -0.625660 +vn -0.443678 -0.464125 -0.766625 +vn -0.245003 -0.326609 -0.912839 +vn -0.213538 -0.566485 -0.795892 +vn -0.184393 -0.702445 -0.687399 +vn -0.169012 -0.757805 -0.630146 +vn -0.187414 -0.690329 -0.698752 +vn -0.229530 -0.463454 -0.855831 +vn 0.000000 -0.326273 -0.945250 +vn 0.000000 -0.565996 -0.824396 +vn 0.000000 -0.701987 -0.712149 +vn 0.000000 -0.757347 -0.652974 +vn 0.000000 -0.689749 -0.724021 +vn 0.000000 -0.462905 -0.886380 +vn 0.245003 -0.326609 -0.912839 +vn 0.213538 -0.566485 -0.795892 +vn 0.184393 -0.702445 -0.687399 +vn 0.169012 -0.757805 -0.630146 +vn 0.187414 -0.690329 -0.698752 +vn 0.229530 -0.463454 -0.855831 +vn 0.473434 -0.327158 -0.817774 +vn 0.412549 -0.567248 -0.712729 +vn 0.356151 -0.703146 -0.615375 +vn 0.326456 -0.758446 -0.564043 +vn 0.362102 -0.690939 -0.625660 +vn 0.443678 -0.464125 -0.766625 +vn 0.668111 -0.327403 -0.668111 +vn 0.582171 -0.567522 -0.582171 +vn 0.502579 -0.703421 -0.502579 +vn 0.460646 -0.758660 -0.460646 +vn 0.510971 -0.691183 -0.510971 +vn 0.626209 -0.464370 -0.626209 +vn 0.817774 -0.327158 -0.473434 +vn 0.712729 -0.567248 -0.412549 +vn 0.615375 -0.703146 -0.356151 +vn 0.564043 -0.758446 -0.326456 +vn 0.625660 -0.690939 -0.362102 +vn 0.766625 -0.464125 -0.443678 +vn 0.912839 -0.326609 -0.245003 +vn 0.795892 -0.566485 -0.213538 +vn 0.687399 -0.702445 -0.184393 +vn 0.630146 -0.757805 -0.169012 +vn 0.698752 -0.690329 -0.187414 +vn 0.855831 -0.463454 -0.229530 +vn 0.068667 -0.997620 0.000000 +vn 0.066256 -0.997620 -0.017731 +vn 0.157170 -0.987548 0.000000 +vn 0.151677 -0.987579 -0.040620 +vn 0.373150 -0.927763 0.000000 +vn 0.360149 -0.927885 -0.096469 +vn 0.789148 -0.614154 0.000000 +vn 0.762017 -0.614399 -0.204474 +vn 0.059236 -0.997650 -0.034242 +vn 0.135624 -0.987640 -0.078463 +vn 0.322153 -0.928129 -0.186346 +vn 0.682333 -0.615131 -0.394971 +vn 0.048341 -0.997650 -0.048341 +vn 0.110691 -0.987640 -0.110691 +vn 0.262947 -0.928251 -0.262947 +vn 0.557329 -0.615375 -0.557329 +vn 0.034272 -0.997650 -0.059236 +vn 0.078463 -0.987640 -0.135624 +vn 0.186377 -0.928129 -0.322153 +vn 0.394971 -0.615131 -0.682333 +vn 0.017731 -0.997620 -0.066256 +vn 0.040620 -0.987579 -0.151677 +vn 0.096469 -0.927885 -0.360118 +vn 0.204505 -0.614399 -0.762017 +vn 0.000000 -0.997620 -0.068667 +vn 0.000000 -0.987548 -0.157170 +vn 0.000000 -0.927763 -0.373150 +vn 0.000000 -0.614154 -0.789148 +vn -0.017731 -0.997620 -0.066256 +vn -0.040620 -0.987579 -0.151677 +vn -0.096469 -0.927885 -0.360118 +vn -0.204505 -0.614399 -0.762017 +vn -0.034272 -0.997650 -0.059236 +vn -0.078463 -0.987640 -0.135624 +vn -0.186377 -0.928129 -0.322153 +vn -0.394971 -0.615131 -0.682333 +vn -0.048341 -0.997650 -0.048341 +vn -0.110691 -0.987640 -0.110691 +vn -0.262947 -0.928251 -0.262947 +vn -0.557329 -0.615375 -0.557329 +vn -0.059236 -0.997650 -0.034242 +vn -0.135624 -0.987640 -0.078463 +vn -0.322153 -0.928129 -0.186346 +vn -0.682333 -0.615131 -0.394971 +vn -0.066256 -0.997620 -0.017731 +vn -0.151677 -0.987579 -0.040620 +vn -0.360149 -0.927885 -0.096469 +vn -0.762017 -0.614399 -0.204474 +vn -0.068667 -0.997620 0.000000 +vn -0.157170 -0.987548 0.000000 +vn -0.373150 -0.927763 0.000000 +vn -0.789148 -0.614154 0.000000 +vn -0.066256 -0.997620 0.017731 +vn -0.151677 -0.987579 0.040620 +vn -0.360118 -0.927885 0.096469 +vn -0.762017 -0.614399 0.204505 +vn -0.059236 -0.997650 0.034272 +vn -0.135624 -0.987640 0.078463 +vn -0.322153 -0.928129 0.186377 +vn -0.682333 -0.615131 0.394971 +vn -0.048341 -0.997650 0.048341 +vn -0.110691 -0.987640 0.110691 +vn -0.262947 -0.928251 0.262947 +vn -0.557329 -0.615375 0.557329 +vn -0.034272 -0.997650 0.059236 +vn -0.078463 -0.987640 0.135624 +vn -0.186377 -0.928129 0.322153 +vn -0.394971 -0.615131 0.682333 +vn -0.017731 -0.997620 0.066256 +vn -0.040620 -0.987579 0.151677 +vn -0.096469 -0.927885 0.360149 +vn -0.204474 -0.614399 0.762017 +vn 0.000000 -0.997620 0.068667 +vn 0.000000 -0.987548 0.157170 +vn 0.000000 -0.927763 0.373150 +vn 0.000000 -0.614154 0.789148 +vn 0.017731 -0.997620 0.066256 +vn 0.040620 -0.987579 0.151677 +vn 0.096469 -0.927885 0.360149 +vn 0.204474 -0.614399 0.762017 +vn 0.034272 -0.997650 0.059236 +vn 0.078463 -0.987640 0.135624 +vn 0.186377 -0.928129 0.322153 +vn 0.394971 -0.615131 0.682333 +vn 0.048341 -0.997650 0.048341 +vn 0.110691 -0.987640 0.110691 +vn 0.262947 -0.928251 0.262947 +vn 0.557329 -0.615375 0.557329 +vn 0.059236 -0.997650 0.034272 +vn 0.135624 -0.987640 0.078463 +vn 0.322153 -0.928129 0.186377 +vn 0.682333 -0.615101 0.394971 +vn 0.066256 -0.997620 0.017731 +vn 0.151677 -0.987579 0.040620 +vn 0.360118 -0.927885 0.096469 +vn 0.762017 -0.614399 0.204505 +vn 0.692129 0.697470 0.185583 +vn 0.717063 0.696982 0.000000 +vn 0.915586 0.318766 0.245064 +vn 0.947905 0.318522 0.000000 +vn 0.620045 0.697653 0.358837 +vn 0.820429 0.318979 0.474410 +vn 0.506546 0.697684 0.506546 +vn 0.670125 0.319041 0.670125 +vn 0.358837 0.697653 0.620045 +vn 0.474410 0.318979 0.820429 +vn 0.185583 0.697470 0.692129 +vn 0.245064 0.318766 0.915586 +vn 0.000000 0.696982 0.717063 +vn 0.000000 0.318522 0.947905 +vn -0.185583 0.697470 0.692129 +vn -0.245064 0.318766 0.915586 +vn -0.358837 0.697653 0.620045 +vn -0.474410 0.318979 0.820429 +vn -0.506546 0.697684 0.506546 +vn -0.670125 0.319041 0.670125 +vn -0.620045 0.697653 0.358837 +vn -0.820429 0.318979 0.474410 +vn -0.692129 0.697470 0.185583 +vn -0.915586 0.318766 0.245064 +vn -0.717063 0.696982 0.000000 +vn -0.947905 0.318522 0.000000 +vn -0.692129 0.697470 -0.185583 +vn -0.915586 0.318766 -0.245064 +vn -0.620045 0.697653 -0.358837 +vn -0.820429 0.318979 -0.474410 +vn -0.506546 0.697684 -0.506546 +vn -0.670125 0.319041 -0.670125 +vn -0.358837 0.697653 -0.620045 +vn -0.474410 0.318979 -0.820429 +vn -0.185583 0.697470 -0.692129 +vn -0.245064 0.318766 -0.915586 +vn 0.000000 0.696982 -0.717063 +vn 0.000000 0.318522 -0.947905 +vn 0.185583 0.697470 -0.692129 +vn 0.245064 0.318766 -0.915586 +vn 0.358837 0.697653 -0.620045 +vn 0.474410 0.318979 -0.820429 +vn 0.506546 0.697684 -0.506546 +vn 0.670125 0.319041 -0.670125 +vn 0.620045 0.697653 -0.358837 +vn 0.820429 0.318979 -0.474410 +vn 0.692129 0.697470 -0.185583 +vn 0.915586 0.318766 -0.245064 +vn 0.282083 0.956389 0.075686 +vn 0.292520 0.956236 0.000000 +vn 0.171606 0.984069 0.046022 +vn 0.177953 0.984008 0.000000 +vn 0.153264 0.987304 0.041078 +vn 0.158879 0.987274 0.000000 +vn 0.210059 0.976043 0.056276 +vn 0.217719 0.975982 0.000000 +vn 0.487197 0.863460 0.130558 +vn 0.504715 0.863277 0.000000 +vn 0.662801 0.727226 0.178198 +vn 0.686911 0.726707 0.000000 +vn 0.252388 0.956511 0.146092 +vn 0.153508 0.984130 0.088839 +vn 0.137059 0.987365 0.079318 +vn 0.187872 0.976135 0.108676 +vn 0.435926 0.863887 0.252205 +vn 0.593310 0.727866 0.343730 +vn 0.206091 0.956572 0.206091 +vn 0.125340 0.984161 0.125340 +vn 0.111911 0.987396 0.111911 +vn 0.153356 0.976196 0.153356 +vn 0.355907 0.864071 0.355907 +vn 0.484664 0.728111 0.484664 +vn 0.146092 0.956511 0.252388 +vn 0.088839 0.984130 0.153508 +vn 0.079318 0.987365 0.137059 +vn 0.108676 0.976135 0.187872 +vn 0.252205 0.863887 0.435926 +vn 0.343730 0.727866 0.593310 +vn 0.075686 0.956389 0.282083 +vn 0.046022 0.984069 0.171606 +vn 0.041078 0.987304 0.153264 +vn 0.056276 0.976043 0.210059 +vn 0.130558 0.863460 0.487197 +vn 0.178198 0.727226 0.662801 +vn 0.000000 0.956236 0.292520 +vn 0.000000 0.984008 0.177953 +vn 0.000000 0.987274 0.158879 +vn 0.000000 0.975982 0.217719 +vn 0.000000 0.863277 0.504715 +vn 0.000000 0.726707 0.686911 +vn -0.075686 0.956389 0.282083 +vn -0.046022 0.984069 0.171606 +vn -0.041078 0.987304 0.153264 +vn -0.056276 0.976043 0.210059 +vn -0.130558 0.863460 0.487197 +vn -0.178198 0.727226 0.662801 +vn -0.146092 0.956511 0.252388 +vn -0.088839 0.984130 0.153508 +vn -0.079318 0.987365 0.137059 +vn -0.108676 0.976135 0.187872 +vn -0.252205 0.863887 0.435926 +vn -0.343730 0.727866 0.593310 +vn -0.206091 0.956572 0.206091 +vn -0.125340 0.984161 0.125340 +vn -0.111911 0.987396 0.111911 +vn -0.153356 0.976196 0.153356 +vn -0.355907 0.864071 0.355907 +vn -0.484664 0.728111 0.484664 +vn -0.252388 0.956511 0.146092 +vn -0.153508 0.984130 0.088839 +vn -0.137059 0.987365 0.079318 +vn -0.187872 0.976135 0.108676 +vn -0.435926 0.863887 0.252205 +vn -0.593310 0.727866 0.343730 +vn -0.282083 0.956389 0.075686 +vn -0.171606 0.984069 0.046022 +vn -0.153264 0.987304 0.041078 +vn -0.210059 0.976043 0.056276 +vn -0.487197 0.863460 0.130558 +vn -0.662801 0.727226 0.178198 +vn -0.292520 0.956236 0.000000 +vn -0.177953 0.984008 0.000000 +vn -0.158879 0.987274 0.000000 +vn -0.217719 0.975982 0.000000 +vn -0.504715 0.863277 0.000000 +vn -0.686911 0.726707 0.000000 +vn -0.282083 0.956389 -0.075686 +vn -0.171606 0.984069 -0.046022 +vn -0.153264 0.987304 -0.041078 +vn -0.210059 0.976043 -0.056276 +vn -0.487197 0.863460 -0.130558 +vn -0.662801 0.727226 -0.178198 +vn -0.252388 0.956511 -0.146092 +vn -0.153508 0.984130 -0.088839 +vn -0.137059 0.987365 -0.079318 +vn -0.187872 0.976135 -0.108676 +vn -0.435926 0.863887 -0.252205 +vn -0.593310 0.727866 -0.343730 +vn -0.206091 0.956572 -0.206091 +vn -0.125340 0.984161 -0.125340 +vn -0.111911 0.987396 -0.111911 +vn -0.153356 0.976196 -0.153356 +vn -0.355907 0.864071 -0.355907 +vn -0.484664 0.728111 -0.484664 +vn -0.146092 0.956511 -0.252388 +vn -0.088839 0.984130 -0.153508 +vn -0.079318 0.987365 -0.137059 +vn -0.108676 0.976135 -0.187872 +vn -0.252205 0.863887 -0.435926 +vn -0.343730 0.727866 -0.593310 +vn -0.075686 0.956389 -0.282083 +vn -0.046022 0.984069 -0.171606 +vn -0.041078 0.987304 -0.153264 +vn -0.056276 0.976043 -0.210059 +vn -0.130558 0.863460 -0.487197 +vn -0.178198 0.727226 -0.662801 +vn 0.000000 0.956236 -0.292520 +vn 0.000000 0.984008 -0.177953 +vn 0.000000 0.987274 -0.158879 +vn 0.000000 0.975982 -0.217719 +vn 0.000000 0.863277 -0.504715 +vn 0.000000 0.726707 -0.686911 +vn 0.075686 0.956389 -0.282083 +vn 0.046022 0.984069 -0.171606 +vn 0.041078 0.987304 -0.153264 +vn 0.056276 0.976043 -0.210059 +vn 0.130558 0.863460 -0.487197 +vn 0.178198 0.727226 -0.662801 +vn 0.146092 0.956511 -0.252388 +vn 0.088839 0.984130 -0.153508 +vn 0.079318 0.987365 -0.137059 +vn 0.108676 0.976135 -0.187872 +vn 0.252205 0.863887 -0.435926 +vn 0.343730 0.727866 -0.593310 +vn 0.206091 0.956572 -0.206091 +vn 0.125340 0.984161 -0.125340 +vn 0.111911 0.987396 -0.111911 +vn 0.153356 0.976196 -0.153356 +vn 0.355907 0.864071 -0.355907 +vn 0.484664 0.728111 -0.484664 +vn 0.252388 0.956511 -0.146092 +vn 0.153508 0.984130 -0.088839 +vn 0.137059 0.987365 -0.079318 +vn 0.187872 0.976135 -0.108676 +vn 0.435926 0.863887 -0.252205 +vn 0.593310 0.727866 -0.343730 +vn 0.282083 0.956389 -0.075686 +vn 0.171606 0.984069 -0.046022 +vn 0.153264 0.987304 -0.041078 +vn 0.210059 0.976043 -0.056276 +vn 0.487197 0.863460 -0.130558 +vn 0.662801 0.727226 -0.178198 +vn 0.015290 -0.999878 0.000000 +vn 0.003296 -0.999969 0.000000 +vn 0.015168 -0.949339 0.313852 +vn 0.003265 -0.944395 0.328715 +vn 0.058870 -0.998260 0.000000 +vn 0.058046 -0.947630 0.314005 +vn 0.158361 -0.934690 0.318155 +vn 0.159764 -0.987152 0.000000 +vn 0.373943 -0.860958 0.344798 +vn 0.391583 -0.920103 0.000000 +vn 0.726829 -0.553880 0.406049 +vn 0.784570 -0.620014 0.000000 +vn 0.908139 -0.082766 0.410321 +vn 0.994995 -0.099796 0.000000 +vn 0.011902 -0.679403 0.733634 +vn 0.002380 -0.636219 0.771477 +vn 0.046449 -0.674398 0.736869 +vn 0.125980 -0.648946 0.750298 +vn 0.270089 -0.562120 0.781671 +vn 0.460067 -0.316263 0.829615 +vn 0.563036 -0.041200 0.825373 +vn 0.000153 0.004242 0.999969 +vn -0.000519 0.113254 0.993561 +vn 0.003510 0.014008 0.999878 +vn 0.005921 0.035951 0.999329 +vn -0.007813 0.058840 0.998230 +vn -0.046510 0.041536 0.998047 +vn -0.039155 0.003113 0.999207 +vn -0.014161 0.682394 0.730796 +vn -0.003204 0.727744 0.685812 +vn -0.055361 0.680074 0.731010 +vn -0.150029 0.655660 0.739952 +vn -0.322520 0.565203 0.759239 +vn -0.537645 0.315806 0.781762 +vn -0.611530 0.029939 0.790613 +vn -0.020569 0.949400 0.313334 +vn -0.004273 0.954772 0.297281 +vn -0.082705 0.944945 0.316507 +vn -0.229591 0.914548 0.332926 +vn -0.502335 0.785943 0.360454 +vn -0.810633 0.443220 0.382611 +vn -0.921232 0.039705 0.386944 +vn -0.021851 0.999756 0.000000 +vn -0.004517 0.999969 0.000000 +vn -0.087649 0.996124 0.000000 +vn -0.246223 0.969207 0.000000 +vn -0.549211 0.835658 0.000000 +vn -0.881039 0.472976 0.000000 +vn -0.999115 0.041444 0.000000 +vn -0.004273 0.954772 -0.297281 +vn -0.020569 0.949400 -0.313334 +vn -0.082705 0.944945 -0.316507 +vn -0.229591 0.914548 -0.332926 +vn -0.502335 0.785943 -0.360454 +vn -0.810633 0.443220 -0.382611 +vn -0.921232 0.039705 -0.386944 +vn -0.003204 0.727744 -0.685812 +vn -0.014161 0.682394 -0.730796 +vn -0.055361 0.680074 -0.731010 +vn -0.150029 0.655660 -0.739952 +vn -0.322520 0.565203 -0.759239 +vn -0.537645 0.315806 -0.781762 +vn -0.611530 0.029939 -0.790613 +vn -0.000519 0.113254 -0.993561 +vn 0.000153 0.004242 -0.999969 +vn 0.003510 0.014008 -0.999878 +vn 0.005921 0.035951 -0.999329 +vn -0.007813 0.058809 -0.998230 +vn -0.046510 0.041536 -0.998047 +vn -0.039155 0.003113 -0.999207 +vn 0.002380 -0.636219 -0.771477 +vn 0.011902 -0.679403 -0.733634 +vn 0.046449 -0.674398 -0.736869 +vn 0.125980 -0.648946 -0.750298 +vn 0.270089 -0.562151 -0.781671 +vn 0.460067 -0.316263 -0.829615 +vn 0.563036 -0.041231 -0.825373 +vn 0.003265 -0.944395 -0.328715 +vn 0.015168 -0.949339 -0.313852 +vn 0.058046 -0.947630 -0.314005 +vn 0.158361 -0.934690 -0.318155 +vn 0.373943 -0.860958 -0.344798 +vn 0.726829 -0.553880 -0.406049 +vn 0.908139 -0.082766 -0.410321 +vn 0.890500 0.214759 0.401044 +vn 0.972930 0.231025 0.000000 +vn 0.836634 0.384075 0.390515 +vn 0.912503 0.408979 0.000000 +vn 0.765191 0.530198 0.365123 +vn 0.828791 0.559496 0.000000 +vn 0.671041 0.663228 0.331339 +vn 0.718955 0.695029 0.000000 +vn 0.549455 0.776238 0.309000 +vn 0.580859 0.813990 0.000000 +vn 0.461165 0.821528 0.335215 +vn 0.497085 0.867672 0.000000 +vn 0.559679 0.139714 0.816828 +vn 0.528581 0.255501 0.809473 +vn 0.494888 0.359783 0.790948 +vn 0.445143 0.467879 0.763451 +vn 0.376049 0.559984 0.738212 +vn 0.287332 0.527940 0.799188 +vn -0.024537 -0.005737 0.999664 +vn -0.020844 -0.012207 0.999695 +vn -0.014466 -0.014466 0.999786 +vn -0.009796 -0.013276 0.999847 +vn -0.014771 -0.013886 0.999786 +vn -0.101779 -0.196661 0.975158 +vn -0.585437 -0.154668 0.795801 +vn -0.538499 -0.291696 0.790490 +vn -0.487228 -0.408918 0.771599 +vn -0.428327 -0.511948 0.744560 +vn -0.360820 -0.584735 0.726524 +vn -0.357311 -0.691549 0.627735 +vn -0.889126 -0.238868 0.390332 +vn -0.807001 -0.448500 0.384075 +vn -0.700980 -0.613392 0.363750 +vn -0.590442 -0.733757 0.336009 +vn -0.486190 -0.814966 0.315256 +vn -0.440138 -0.855586 0.272439 +vn -0.965453 -0.260506 0.000000 +vn -0.872097 -0.489273 0.000000 +vn -0.748253 -0.663381 0.000000 +vn -0.621784 -0.783166 0.000000 +vn -0.507614 -0.861568 0.000000 +vn -0.456954 -0.889462 0.000000 +vn -0.889126 -0.238868 -0.390332 +vn -0.807001 -0.448531 -0.384075 +vn -0.700980 -0.613392 -0.363750 +vn -0.590442 -0.733757 -0.336009 +vn -0.486190 -0.814966 -0.315256 +vn -0.440138 -0.855586 -0.272439 +vn -0.585437 -0.154668 -0.795801 +vn -0.538499 -0.291696 -0.790490 +vn -0.487228 -0.408918 -0.771599 +vn -0.428327 -0.511948 -0.744560 +vn -0.360820 -0.584735 -0.726524 +vn -0.357311 -0.691549 -0.627705 +vn -0.024537 -0.005737 -0.999664 +vn -0.020844 -0.012238 -0.999695 +vn -0.014466 -0.014466 -0.999786 +vn -0.009766 -0.013276 -0.999847 +vn -0.014771 -0.013916 -0.999786 +vn -0.101779 -0.196661 -0.975158 +vn 0.559679 0.139714 -0.816828 +vn 0.528581 0.255501 -0.809473 +vn 0.494888 0.359783 -0.790948 +vn 0.445143 0.467879 -0.763451 +vn 0.376049 0.559984 -0.738212 +vn 0.287332 0.527940 -0.799188 +vn 0.890500 0.214759 -0.401044 +vn 0.836634 0.384075 -0.390515 +vn 0.765191 0.530198 -0.365123 +vn 0.671041 0.663228 -0.331339 +vn 0.549455 0.776238 -0.309000 +vn 0.461165 0.821528 -0.335215 +vn -0.149937 0.988678 0.000000 +vn -0.137028 0.872402 0.469131 +vn -0.297769 0.840358 0.452895 +vn -0.350505 0.936552 0.000000 +vn -0.617512 0.663961 0.421613 +vn -0.715506 0.698569 0.000000 +vn -0.801324 0.450209 0.393872 +vn -0.900845 0.434065 0.000000 +vn -0.828028 0.379803 0.412397 +vn -0.929289 0.369274 0.000000 +vn -0.729179 0.503464 0.463393 +vn -0.857875 0.513810 0.000000 +vn -0.663076 0.748527 0.000000 +vn -0.531449 0.686514 0.496170 +vn -0.066713 0.491440 0.868313 +vn -0.117893 0.503159 0.856105 +vn -0.254341 0.474349 0.842769 +vn -0.411115 0.399182 0.819483 +vn -0.459395 0.346446 0.817835 +vn -0.385876 0.395734 0.833338 +vn -0.270669 0.487838 0.829890 +vn 0.062716 -0.043458 0.997070 +vn 0.135929 -0.002472 0.990692 +vn 0.247963 0.095187 0.964049 +vn 0.209296 0.170660 0.962828 +vn 0.096194 0.178625 0.979186 +vn 0.009552 0.154332 0.987945 +vn -0.000122 0.151952 0.988372 +vn 0.202582 -0.542894 0.814966 +vn 0.360088 -0.479232 0.800378 +vn 0.611988 -0.282235 0.738762 +vn 0.679220 -0.106754 0.726096 +vn 0.583911 -0.078524 0.807978 +vn 0.402722 -0.205237 0.891995 +vn 0.279519 -0.338694 0.898404 +vn 0.294107 -0.855037 0.427015 +vn 0.488418 -0.768700 0.412915 +vn 0.784570 -0.501511 0.364544 +vn 0.893918 -0.279611 0.350291 +vn 0.861415 -0.285287 0.420179 +vn 0.679373 -0.540422 0.496323 +vn 0.458357 -0.754540 0.469588 +vn 0.320780 -0.947142 0.000000 +vn 0.525101 -0.851009 0.000000 +vn 0.827570 -0.561327 0.000000 +vn 0.943419 -0.331523 0.000000 +vn 0.933561 -0.358409 0.000000 +vn 0.756340 -0.654134 0.000000 +vn 0.491928 -0.870602 0.000092 +vn 0.294107 -0.855037 -0.427015 +vn 0.488418 -0.768700 -0.412915 +vn 0.784570 -0.501511 -0.364544 +vn 0.893918 -0.279611 -0.350291 +vn 0.861385 -0.285287 -0.420179 +vn 0.679373 -0.540422 -0.496323 +vn 0.457839 -0.755608 -0.468368 +vn 0.202582 -0.542894 -0.814966 +vn 0.360088 -0.479232 -0.800378 +vn 0.611988 -0.282235 -0.738762 +vn 0.679220 -0.106754 -0.726096 +vn 0.583911 -0.078524 -0.807978 +vn 0.402722 -0.205237 -0.891995 +vn 0.279153 -0.342235 -0.897153 +vn 0.062716 -0.043458 -0.997070 +vn 0.135929 -0.002472 -0.990692 +vn 0.247963 0.095187 -0.964049 +vn 0.209296 0.170629 -0.962828 +vn 0.096194 0.178625 -0.979186 +vn 0.009552 0.154332 -0.987945 +vn -0.000458 0.149358 -0.988769 +vn -0.066713 0.491440 -0.868313 +vn -0.117893 0.503159 -0.856105 +vn -0.254341 0.474319 -0.842769 +vn -0.411115 0.399182 -0.819514 +vn -0.459395 0.346446 -0.817835 +vn -0.385876 0.395734 -0.833338 +vn -0.271035 0.487136 -0.830164 +vn -0.137028 0.872402 -0.469131 +vn -0.297769 0.840358 -0.452895 +vn -0.617512 0.663961 -0.421613 +vn -0.801324 0.450209 -0.393872 +vn -0.828028 0.379803 -0.412397 +vn -0.729209 0.503464 -0.463393 +vn -0.531541 0.686453 -0.496200 +vn -0.480697 0.876858 0.000000 +vn -0.394635 0.815363 0.423536 +vn -0.320750 0.947142 0.000092 +vn -0.255287 0.921964 0.291086 +vn 0.002686 0.999969 -0.000732 +vn -0.007172 0.999939 -0.007599 +vn 0.366832 0.704398 -0.607624 +vn 0.853236 0.521226 -0.016388 +vn 0.567492 -0.154088 -0.808802 +vn 0.803766 -0.594409 -0.024964 +vn 0.580920 -0.584490 -0.566424 +vn 0.673757 -0.738639 -0.020966 +vn -0.206824 0.638203 0.741539 +vn -0.129490 0.862056 0.489944 +vn -0.034486 0.999023 0.026704 +vn 0.041597 0.871334 -0.488876 +vn 0.103488 0.553880 -0.826136 +vn 0.189642 0.174200 -0.966247 +vn 0.020112 0.322611 0.946287 +vn 0.021943 0.748894 0.662282 +vn -0.025697 0.995392 0.092166 +vn -0.056551 0.931608 -0.358989 +vn -0.070711 0.782006 -0.619190 +vn -0.066408 0.651509 -0.755699 +vn 0.281747 -0.174993 0.943388 +vn 0.303903 0.444136 0.842830 +vn 0.035279 0.983856 0.175329 +vn -0.109928 0.953551 -0.280435 +vn -0.149571 0.847682 -0.508927 +vn -0.145634 0.777520 -0.611744 +vn 0.467238 -0.683218 0.561144 +vn 0.699515 0.004364 0.714560 +vn 0.354900 0.892758 0.277444 +vn -0.174383 0.969054 -0.174596 +vn -0.252998 0.894314 -0.368938 +vn -0.191443 0.807947 -0.557237 +vn 0.495346 -0.868679 0.001587 +vn 0.933897 -0.357311 0.011017 +vn 0.704215 0.709830 0.013337 +vn -0.205634 0.978576 -0.006623 +vn -0.322367 0.945708 -0.041169 +vn -0.314951 0.916288 -0.247322 +vn 0.459120 -0.703757 -0.542100 +vn 0.693655 -0.096530 -0.713767 +vn 0.408673 0.848415 -0.336344 +vn -0.198248 0.963439 0.180151 +vn -0.306833 0.888516 0.341075 +vn -0.335978 0.808863 0.482498 +vn 0.277047 -0.215796 -0.936277 +vn 0.306192 0.349864 -0.885311 +vn 0.056246 0.971099 -0.231819 +vn -0.146733 0.912168 0.382611 +vn -0.202612 0.700797 0.683950 +vn -0.159368 0.444777 0.881314 +vn 0.016907 0.300088 -0.953734 +vn 0.019349 0.701865 -0.712027 +vn -0.023713 0.995361 -0.093081 +vn -0.047395 0.829371 0.556658 +vn -0.015259 0.386608 0.922086 +vn 0.080721 0.001404 0.996704 +vn -0.209967 0.632160 -0.745811 +vn -0.137394 0.849117 -0.509995 +vn -0.023438 0.999695 -0.004883 +vn 0.120426 0.724540 0.678579 +vn 0.260750 0.006531 0.965361 +vn 0.341502 -0.385510 0.857143 +vn -0.395489 0.814814 -0.423841 +vn -0.257942 0.920621 -0.293039 +vn 0.005005 0.999908 0.011628 +vn 0.466628 0.599811 0.649983 +vn 0.621937 -0.400861 0.672628 +vn 0.584826 -0.661397 0.469558 +vn 0.363842 0.931455 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.351451 0.931516 0.093509 +vn 0.314432 0.931791 0.181280 +vn 0.256386 0.931913 0.256386 +vn 0.181280 0.931791 0.314432 +vn 0.093509 0.931516 0.351451 +vn 0.000000 0.931455 0.363842 +vn -0.093509 0.931516 0.351451 +vn -0.181280 0.931791 0.314432 +vn -0.256386 0.931913 0.256386 +vn -0.314432 0.931791 0.181280 +vn -0.351451 0.931516 0.093509 +vn -0.363842 0.931455 0.000000 +vn -0.351451 0.931516 -0.093509 +vn -0.314432 0.931791 -0.181280 +vn -0.256417 0.931913 -0.256417 +vn -0.181280 0.931791 -0.314432 +vn -0.093509 0.931516 -0.351451 +vn 0.000000 0.931455 -0.363842 +vn 0.093509 0.931516 -0.351451 +vn 0.181280 0.931791 -0.314432 +vn 0.256417 0.931913 -0.256417 +vn 0.314432 0.931791 -0.181280 +vn 0.351451 0.931516 -0.093509 +vn 0.935423 0.249763 0.250160 +vn 0.968261 0.249916 0.000000 +vn 0.813959 -0.538713 0.217322 +vn 0.842860 -0.538102 0.000000 +vn 0.759484 -0.618030 0.202887 +vn 0.786767 -0.617206 0.000000 +vn 0.801569 -0.558184 0.214148 +vn 0.830195 -0.557421 0.000000 +vn 0.838404 0.249825 0.484359 +vn 0.729026 -0.539720 0.420881 +vn 0.680013 -0.619098 0.392712 +vn 0.717765 -0.559343 0.414594 +vn 0.684652 0.249886 0.684652 +vn 0.595050 -0.540147 0.595050 +vn 0.555040 -0.619526 0.555040 +vn 0.585894 -0.559862 0.585894 +vn 0.484359 0.249825 0.838404 +vn 0.420881 -0.539720 0.729026 +vn 0.392712 -0.619098 0.680013 +vn 0.414594 -0.559343 0.717765 +vn 0.250160 0.249763 0.935423 +vn 0.217322 -0.538713 0.813959 +vn 0.202887 -0.618030 0.759514 +vn 0.214148 -0.558184 0.801569 +vn 0.000000 0.249916 0.968261 +vn 0.000000 -0.538102 0.842860 +vn 0.000000 -0.617206 0.786767 +vn 0.000000 -0.557421 0.830195 +vn -0.250160 0.249763 0.935423 +vn -0.217322 -0.538713 0.813959 +vn -0.202887 -0.618030 0.759514 +vn -0.214148 -0.558184 0.801569 +vn -0.484359 0.249825 0.838404 +vn -0.420881 -0.539720 0.729026 +vn -0.392712 -0.619098 0.680013 +vn -0.414594 -0.559343 0.717765 +vn -0.684652 0.249886 0.684652 +vn -0.595050 -0.540147 0.595050 +vn -0.555040 -0.619526 0.555040 +vn -0.585894 -0.559862 0.585894 +vn -0.838404 0.249825 0.484359 +vn -0.729026 -0.539720 0.420881 +vn -0.680013 -0.619098 0.392712 +vn -0.717765 -0.559343 0.414594 +vn -0.935423 0.249763 0.250160 +vn -0.813959 -0.538713 0.217322 +vn -0.759484 -0.618030 0.202887 +vn -0.801569 -0.558184 0.214148 +vn -0.968261 0.249916 0.000000 +vn -0.842860 -0.538102 0.000000 +vn -0.786767 -0.617206 0.000000 +vn -0.830195 -0.557421 0.000000 +vn -0.935423 0.249763 -0.250160 +vn -0.813959 -0.538713 -0.217322 +vn -0.759484 -0.618030 -0.202887 +vn -0.801569 -0.558184 -0.214148 +vn -0.838404 0.249825 -0.484359 +vn -0.729026 -0.539720 -0.420881 +vn -0.680013 -0.619098 -0.392712 +vn -0.717765 -0.559343 -0.414594 +vn -0.684652 0.249886 -0.684652 +vn -0.595050 -0.540147 -0.595050 +vn -0.555040 -0.619526 -0.555040 +vn -0.585864 -0.559862 -0.585894 +vn -0.484359 0.249825 -0.838404 +vn -0.420881 -0.539720 -0.729026 +vn -0.392712 -0.619098 -0.680013 +vn -0.414594 -0.559343 -0.717765 +vn -0.250160 0.249763 -0.935423 +vn -0.217322 -0.538713 -0.813959 +vn -0.202887 -0.618030 -0.759484 +vn -0.214148 -0.558214 -0.801569 +vn 0.000000 0.249916 -0.968261 +vn 0.000000 -0.538102 -0.842860 +vn 0.000000 -0.617206 -0.786767 +vn 0.000000 -0.557421 -0.830195 +vn 0.250160 0.249763 -0.935423 +vn 0.217322 -0.538713 -0.813959 +vn 0.202887 -0.618030 -0.759484 +vn 0.214148 -0.558214 -0.801569 +vn 0.484359 0.249825 -0.838404 +vn 0.420881 -0.539720 -0.729026 +vn 0.392712 -0.619098 -0.680013 +vn 0.414594 -0.559343 -0.717765 +vn 0.684652 0.249886 -0.684652 +vn 0.595050 -0.540147 -0.595050 +vn 0.555040 -0.619526 -0.555040 +vn 0.585864 -0.559862 -0.585894 +vn 0.838404 0.249825 -0.484359 +vn 0.729026 -0.539720 -0.420881 +vn 0.680013 -0.619098 -0.392712 +vn 0.717765 -0.559343 -0.414594 +vn 0.935423 0.249763 -0.250160 +vn 0.813959 -0.538713 -0.217322 +vn 0.759484 -0.618030 -0.202887 +vn 0.801569 -0.558184 -0.214148 +s 1 +f 1//1 2//2 3//3 +f 3//3 2//2 4//4 +f 4//4 2//2 5//5 +f 5//5 2//2 6//6 +f 6//6 2//2 7//7 +f 7//7 2//2 8//8 +f 8//8 2//2 9//9 +f 9//9 2//2 10//10 +f 10//10 2//2 11//11 +f 11//11 2//2 12//12 +f 12//12 2//2 13//13 +f 13//13 2//2 14//14 +f 14//14 2//2 15//15 +f 15//15 2//2 16//16 +f 16//16 2//2 17//17 +f 17//17 2//2 18//18 +f 18//18 2//2 19//19 +f 19//19 2//2 20//20 +f 20//20 2//2 21//21 +f 21//21 2//2 22//22 +f 22//22 2//2 23//23 +f 23//23 2//2 24//24 +f 24//24 2//2 25//25 +f 2//2 1//1 25//25 +f 26//26 27//27 28//28 +f 28//28 29//29 26//26 +f 29//29 28//28 30//30 +f 31//31 30//30 28//28 +f 30//30 31//31 32//32 +f 33//33 32//32 31//31 +f 34//34 35//35 33//33 +f 32//32 33//33 35//35 +f 36//36 37//37 34//34 +f 35//35 34//34 37//37 +f 38//38 39//39 36//36 +f 37//37 36//36 39//39 +f 27//27 40//40 41//41 +f 41//41 28//28 27//27 +f 28//28 41//41 31//31 +f 42//42 31//31 41//41 +f 31//31 42//42 33//33 +f 43//43 33//33 42//42 +f 44//44 34//34 43//43 +f 33//33 43//43 34//34 +f 45//45 36//36 44//44 +f 34//34 44//44 36//36 +f 46//46 38//38 45//45 +f 36//36 45//45 38//38 +f 40//40 47//47 48//48 +f 48//48 41//41 40//40 +f 41//41 48//48 42//42 +f 49//49 42//42 48//48 +f 42//42 49//49 43//43 +f 50//50 43//43 49//49 +f 51//51 44//44 50//50 +f 43//43 50//50 44//44 +f 52//52 45//45 51//51 +f 44//44 51//51 45//45 +f 53//53 46//46 52//52 +f 45//45 52//52 46//46 +f 47//47 54//54 48//48 +f 55//55 48//48 54//54 +f 48//48 55//55 49//49 +f 56//56 49//49 55//55 +f 49//49 56//56 57//57 +f 57//57 50//50 49//49 +f 58//58 51//51 50//50 +f 50//50 57//57 58//58 +f 59//59 52//52 51//51 +f 51//51 58//58 59//59 +f 60//60 53//53 52//52 +f 52//52 59//59 60//60 +f 54//54 61//61 55//55 +f 62//62 55//55 61//61 +f 55//55 62//62 63//63 +f 63//63 56//56 55//55 +f 56//56 63//63 64//64 +f 64//64 57//57 56//56 +f 65//65 58//58 57//57 +f 57//57 64//64 65//65 +f 66//66 59//59 58//58 +f 58//58 65//65 66//66 +f 67//67 60//60 59//59 +f 59//59 66//66 67//67 +f 61//61 68//68 62//62 +f 69//69 62//62 68//68 +f 62//62 69//69 70//70 +f 70//70 63//63 62//62 +f 63//63 70//70 71//71 +f 71//71 64//64 63//63 +f 72//72 65//65 64//64 +f 64//64 71//71 72//72 +f 73//73 66//66 65//65 +f 65//65 72//72 73//73 +f 74//74 67//67 66//66 +f 66//66 73//73 74//74 +f 68//68 75//75 76//76 +f 76//76 69//69 68//68 +f 69//69 76//76 70//70 +f 77//77 70//70 76//76 +f 70//70 77//77 71//71 +f 78//78 71//71 77//77 +f 79//79 72//72 78//78 +f 71//71 78//78 72//72 +f 80//80 73//73 79//79 +f 72//72 79//79 73//73 +f 81//81 74//74 80//80 +f 73//73 80//80 74//74 +f 75//75 82//82 83//83 +f 83//83 76//76 75//75 +f 76//76 83//83 77//77 +f 84//84 77//77 83//83 +f 77//77 84//84 78//78 +f 85//85 78//78 84//84 +f 86//86 79//79 85//85 +f 78//78 85//85 79//79 +f 87//87 80//80 86//86 +f 79//79 86//86 80//80 +f 88//88 81//81 87//87 +f 80//80 87//87 81//81 +f 82//82 89//89 90//90 +f 90//90 83//83 82//82 +f 83//83 90//90 91//91 +f 91//91 84//84 83//83 +f 84//84 91//91 85//85 +f 92//92 85//85 91//91 +f 93//93 86//86 92//92 +f 85//85 92//92 86//86 +f 94//94 87//87 93//93 +f 86//86 93//93 87//87 +f 95//95 88//88 94//94 +f 87//87 94//94 88//88 +f 89//89 96//96 90//90 +f 97//97 90//90 96//96 +f 90//90 97//97 98//98 +f 98//98 91//91 90//90 +f 91//91 98//98 99//99 +f 99//99 92//92 91//91 +f 100//100 93//93 92//92 +f 92//92 99//99 100//100 +f 101//101 94//94 93//93 +f 93//93 100//100 101//101 +f 102//102 95//95 94//94 +f 94//94 101//101 102//102 +f 96//96 103//103 97//97 +f 104//104 97//97 103//103 +f 97//97 104//104 105//105 +f 105//105 98//98 97//97 +f 98//98 105//105 106//106 +f 106//106 99//99 98//98 +f 107//107 100//100 99//99 +f 99//99 106//106 107//107 +f 108//108 101//101 100//100 +f 100//100 107//107 108//108 +f 109//109 102//102 101//101 +f 101//101 108//108 109//109 +f 103//103 110//110 104//104 +f 111//111 104//104 110//110 +f 104//104 111//111 112//112 +f 112//112 105//105 104//104 +f 105//105 112//112 113//113 +f 113//113 106//106 105//105 +f 114//114 107//107 106//106 +f 106//106 113//113 114//114 +f 115//115 108//108 107//107 +f 107//107 114//114 115//115 +f 116//116 109//109 108//108 +f 108//108 115//115 116//116 +f 110//110 117//117 118//118 +f 118//118 111//111 110//110 +f 111//111 118//118 119//119 +f 119//119 112//112 111//111 +f 112//112 119//119 113//113 +f 120//120 113//113 119//119 +f 121//121 114//114 120//120 +f 113//113 120//120 114//114 +f 122//122 115//115 121//121 +f 114//114 121//121 115//115 +f 123//123 116//116 122//122 +f 115//115 122//122 116//116 +f 117//117 124//124 125//125 +f 125//125 118//118 117//117 +f 118//118 125//125 119//119 +f 126//126 119//119 125//125 +f 119//119 126//126 120//120 +f 127//127 120//120 126//126 +f 128//128 121//121 127//127 +f 120//120 127//127 121//121 +f 129//129 122//122 128//128 +f 121//121 128//128 122//122 +f 130//130 123//123 129//129 +f 122//122 129//129 123//123 +f 124//124 131//131 132//132 +f 132//132 125//125 124//124 +f 125//125 132//132 133//133 +f 133//133 126//126 125//125 +f 126//126 133//133 127//127 +f 134//134 127//127 133//133 +f 135//135 128//128 134//134 +f 127//127 134//134 128//128 +f 136//136 129//129 135//135 +f 128//128 135//135 129//129 +f 137//137 130//130 136//136 +f 129//129 136//136 130//130 +f 131//131 138//138 132//132 +f 139//139 132//132 138//138 +f 132//132 139//139 140//140 +f 140//140 133//133 132//132 +f 133//133 140//140 141//141 +f 141//141 134//134 133//133 +f 142//142 135//135 134//134 +f 134//134 141//141 142//142 +f 143//143 136//136 135//135 +f 135//135 142//142 143//143 +f 144//144 137//137 136//136 +f 136//136 143//143 144//144 +f 138//138 145//145 139//139 +f 146//146 139//139 145//145 +f 139//139 146//146 147//147 +f 147//147 140//140 139//139 +f 140//140 147//147 148//148 +f 148//148 141//141 140//140 +f 149//149 142//142 141//141 +f 141//141 148//148 149//149 +f 150//150 143//143 142//142 +f 142//142 149//149 150//150 +f 151//151 144//144 143//143 +f 143//143 150//150 151//151 +f 145//145 152//152 146//146 +f 153//153 146//146 152//152 +f 146//146 153//153 154//154 +f 154//154 147//147 146//146 +f 147//147 154//154 155//155 +f 155//155 148//148 147//147 +f 156//156 149//149 148//148 +f 148//148 155//155 156//156 +f 157//157 150//150 149//149 +f 149//149 156//156 157//157 +f 158//158 151//151 150//150 +f 150//150 157//157 158//158 +f 152//152 159//159 160//160 +f 160//160 153//153 152//152 +f 153//153 160//160 154//154 +f 161//161 154//154 160//160 +f 154//154 161//161 155//155 +f 162//162 155//155 161//161 +f 163//163 156//156 162//162 +f 155//155 162//162 156//156 +f 164//164 157//157 163//163 +f 156//156 163//163 157//157 +f 165//165 158//158 164//164 +f 157//157 164//164 158//158 +f 159//159 166//166 167//167 +f 167//167 160//160 159//159 +f 160//160 167//167 161//161 +f 168//168 161//161 167//167 +f 161//161 168//168 162//162 +f 169//169 162//162 168//168 +f 170//170 163//163 169//169 +f 162//162 169//169 163//163 +f 171//171 164//164 170//170 +f 163//163 170//170 164//164 +f 172//172 165//165 171//171 +f 164//164 171//171 165//165 +f 166//166 173//173 174//174 +f 174//174 167//167 166//166 +f 167//167 174//174 168//168 +f 175//175 168//168 174//174 +f 168//168 175//175 169//169 +f 176//176 169//169 175//175 +f 177//177 170//170 176//176 +f 169//169 176//176 170//170 +f 178//178 171//171 177//177 +f 170//170 177//177 171//171 +f 179//179 172//172 178//178 +f 171//171 178//178 172//172 +f 173//173 180//180 174//174 +f 181//181 174//174 180//180 +f 174//174 181//181 175//175 +f 182//182 175//175 181//181 +f 175//175 182//182 183//183 +f 183//183 176//176 175//175 +f 184//184 177//177 176//176 +f 176//176 183//183 184//184 +f 185//185 178//178 177//177 +f 177//177 184//184 185//185 +f 186//186 179//179 178//178 +f 178//178 185//185 186//186 +f 180//180 187//187 181//181 +f 188//188 181//181 187//187 +f 181//181 188//188 189//189 +f 189//189 182//182 181//181 +f 182//182 189//189 190//190 +f 190//190 183//183 182//182 +f 191//191 184//184 183//183 +f 183//183 190//190 191//191 +f 192//192 185//185 184//184 +f 184//184 191//191 192//192 +f 193//193 186//186 185//185 +f 185//185 192//192 193//193 +f 187//187 26//26 188//188 +f 29//29 188//188 26//26 +f 188//188 29//29 189//189 +f 30//30 189//189 29//29 +f 189//189 30//30 32//32 +f 32//32 190//190 189//189 +f 35//35 191//191 190//190 +f 190//190 32//32 35//35 +f 37//37 192//192 191//191 +f 191//191 35//35 37//37 +f 39//39 193//193 192//192 +f 192//192 37//37 39//39 +f 194//194 195//195 38//38 +f 39//39 38//38 195//195 +f 196//196 197//197 194//194 +f 195//195 194//194 197//197 +f 198//198 199//199 196//196 +f 197//197 196//196 199//199 +f 200//200 201//201 198//198 +f 199//199 198//198 201//201 +f 202//202 203//203 200//200 +f 201//201 200//200 203//203 +f 204//204 205//205 202//202 +f 203//203 202//202 205//205 +f 206//206 194//194 46//46 +f 38//38 46//46 194//194 +f 207//207 196//196 206//206 +f 194//194 206//206 196//196 +f 208//208 198//198 207//207 +f 196//196 207//207 198//198 +f 209//209 200//200 208//208 +f 198//198 208//208 200//200 +f 210//210 202//202 209//209 +f 200//200 209//209 202//202 +f 211//211 204//204 210//210 +f 202//202 210//210 204//204 +f 212//212 206//206 53//53 +f 46//46 53//53 206//206 +f 213//213 207//207 212//212 +f 206//206 212//212 207//207 +f 214//214 208//208 213//213 +f 207//207 213//213 208//208 +f 215//215 209//209 214//214 +f 208//208 214//214 209//209 +f 216//216 210//210 215//215 +f 209//209 215//215 210//210 +f 217//217 211//211 216//216 +f 210//210 216//216 211//211 +f 218//218 212//212 53//53 +f 53//53 60//60 218//218 +f 219//219 213//213 212//212 +f 212//212 218//218 219//219 +f 220//220 214//214 213//213 +f 213//213 219//219 220//220 +f 221//221 215//215 214//214 +f 214//214 220//220 221//221 +f 222//222 216//216 215//215 +f 215//215 221//221 222//222 +f 223//223 217//217 216//216 +f 216//216 222//222 223//223 +f 224//224 218//218 60//60 +f 60//60 67//67 224//224 +f 225//225 219//219 218//218 +f 218//218 224//224 225//225 +f 226//226 220//220 219//219 +f 219//219 225//225 226//226 +f 227//227 221//221 220//220 +f 220//220 226//226 227//227 +f 228//228 222//222 221//221 +f 221//221 227//227 228//228 +f 229//229 223//223 222//222 +f 222//222 228//228 229//229 +f 230//230 224//224 67//67 +f 67//67 74//74 230//230 +f 231//231 225//225 224//224 +f 224//224 230//230 231//231 +f 232//232 226//226 225//225 +f 225//225 231//231 232//232 +f 233//233 227//227 226//226 +f 226//226 232//232 233//233 +f 234//234 228//228 227//227 +f 227//227 233//233 234//234 +f 235//235 229//229 228//228 +f 228//228 234//234 235//235 +f 236//236 230//230 81//81 +f 74//74 81//81 230//230 +f 237//237 231//231 236//236 +f 230//230 236//236 231//231 +f 238//238 232//232 237//237 +f 231//231 237//237 232//232 +f 239//239 233//233 238//238 +f 232//232 238//238 233//233 +f 240//240 234//234 239//239 +f 233//233 239//239 234//234 +f 241//241 235//235 240//240 +f 234//234 240//240 235//235 +f 242//242 236//236 88//88 +f 81//81 88//88 236//236 +f 243//243 237//237 242//242 +f 236//236 242//242 237//237 +f 244//244 238//238 243//243 +f 237//237 243//243 238//238 +f 245//245 239//239 244//244 +f 238//238 244//244 239//239 +f 246//246 240//240 245//245 +f 239//239 245//245 240//240 +f 247//247 241//241 246//246 +f 240//240 246//246 241//241 +f 248//248 242//242 95//95 +f 88//88 95//95 242//242 +f 249//249 243//243 248//248 +f 242//242 248//248 243//243 +f 250//250 244//244 249//249 +f 243//243 249//249 244//244 +f 251//251 245//245 250//250 +f 244//244 250//250 245//245 +f 252//252 246//246 251//251 +f 245//245 251//251 246//246 +f 253//253 247//247 252//252 +f 246//246 252//252 247//247 +f 254//254 248//248 95//95 +f 95//95 102//102 254//254 +f 255//255 249//249 248//248 +f 248//248 254//254 255//255 +f 256//256 250//250 249//249 +f 249//249 255//255 256//256 +f 257//257 251//251 250//250 +f 250//250 256//256 257//257 +f 258//258 252//252 251//251 +f 251//251 257//257 258//258 +f 259//259 253//253 252//252 +f 252//252 258//258 259//259 +f 260//260 254//254 102//102 +f 102//102 109//109 260//260 +f 261//261 255//255 254//254 +f 254//254 260//260 261//261 +f 262//262 256//256 255//255 +f 255//255 261//261 262//262 +f 263//263 257//257 256//256 +f 256//256 262//262 263//263 +f 264//264 258//258 257//257 +f 257//257 263//263 264//264 +f 265//265 259//259 258//258 +f 258//258 264//264 265//265 +f 266//266 260//260 109//109 +f 109//109 116//116 266//266 +f 267//267 261//261 260//260 +f 260//260 266//266 267//267 +f 268//268 262//262 261//261 +f 261//261 267//267 268//268 +f 269//269 263//263 262//262 +f 262//262 268//268 269//269 +f 270//270 264//264 263//263 +f 263//263 269//269 270//270 +f 271//271 265//265 264//264 +f 264//264 270//270 271//271 +f 272//272 266//266 123//123 +f 116//116 123//123 266//266 +f 273//273 267//267 272//272 +f 266//266 272//272 267//267 +f 274//274 268//268 273//273 +f 267//267 273//273 268//268 +f 275//275 269//269 274//274 +f 268//268 274//274 269//269 +f 276//276 270//270 275//275 +f 269//269 275//275 270//270 +f 277//277 271//271 276//276 +f 270//270 276//276 271//271 +f 278//278 272//272 130//130 +f 123//123 130//130 272//272 +f 279//279 273//273 278//278 +f 272//272 278//278 273//273 +f 280//280 274//274 279//279 +f 273//273 279//279 274//274 +f 281//281 275//275 280//280 +f 274//274 280//280 275//275 +f 282//282 276//276 281//281 +f 275//275 281//281 276//276 +f 283//283 277//277 282//282 +f 276//276 282//282 277//277 +f 284//284 278//278 137//137 +f 130//130 137//137 278//278 +f 285//285 279//279 284//284 +f 278//278 284//284 279//279 +f 286//286 280//280 285//285 +f 279//279 285//285 280//280 +f 287//287 281//281 286//286 +f 280//280 286//286 281//281 +f 288//288 282//282 287//287 +f 281//281 287//287 282//282 +f 289//289 283//283 288//288 +f 282//282 288//288 283//283 +f 290//290 284//284 137//137 +f 137//137 144//144 290//290 +f 291//291 285//285 284//284 +f 284//284 290//290 291//291 +f 292//292 286//286 285//285 +f 285//285 291//291 292//292 +f 293//293 287//287 286//286 +f 286//286 292//292 293//293 +f 294//294 288//288 287//287 +f 287//287 293//293 294//294 +f 295//295 289//289 288//288 +f 288//288 294//294 295//295 +f 296//296 290//290 144//144 +f 144//144 151//151 296//296 +f 297//297 291//291 290//290 +f 290//290 296//296 297//297 +f 298//298 292//292 291//291 +f 291//291 297//297 298//298 +f 299//299 293//293 292//292 +f 292//292 298//298 299//299 +f 300//300 294//294 293//293 +f 293//293 299//299 300//300 +f 301//301 295//295 294//294 +f 294//294 300//300 301//301 +f 302//302 296//296 151//151 +f 151//151 158//158 302//302 +f 303//303 297//297 296//296 +f 296//296 302//302 303//303 +f 304//304 298//298 297//297 +f 297//297 303//303 304//304 +f 305//305 299//299 298//298 +f 298//298 304//304 305//305 +f 306//306 300//300 299//299 +f 299//299 305//305 306//306 +f 307//307 301//301 300//300 +f 300//300 306//306 307//307 +f 308//308 302//302 165//165 +f 158//158 165//165 302//302 +f 309//309 303//303 308//308 +f 302//302 308//308 303//303 +f 310//310 304//304 309//309 +f 303//303 309//309 304//304 +f 311//311 305//305 310//310 +f 304//304 310//310 305//305 +f 312//312 306//306 311//311 +f 305//305 311//311 306//306 +f 313//313 307//307 312//312 +f 306//306 312//312 307//307 +f 314//314 308//308 172//172 +f 165//165 172//172 308//308 +f 315//315 309//309 314//314 +f 308//308 314//314 309//309 +f 316//316 310//310 315//315 +f 309//309 315//315 310//310 +f 317//317 311//311 316//316 +f 310//310 316//316 311//311 +f 318//318 312//312 317//317 +f 311//311 317//317 312//312 +f 319//319 313//313 318//318 +f 312//312 318//318 313//313 +f 320//320 314//314 179//179 +f 172//172 179//179 314//314 +f 321//321 315//315 320//320 +f 314//314 320//320 315//315 +f 322//322 316//316 321//321 +f 315//315 321//321 316//316 +f 323//323 317//317 322//322 +f 316//316 322//322 317//317 +f 324//324 318//318 323//323 +f 317//317 323//323 318//318 +f 325//325 319//319 324//324 +f 318//318 324//324 319//319 +f 326//326 320//320 179//179 +f 179//179 186//186 326//326 +f 327//327 321//321 320//320 +f 320//320 326//326 327//327 +f 328//328 322//322 321//321 +f 321//321 327//327 328//328 +f 329//329 323//323 322//322 +f 322//322 328//328 329//329 +f 330//330 324//324 323//323 +f 323//323 329//329 330//330 +f 331//331 325//325 324//324 +f 324//324 330//330 331//331 +f 332//332 326//326 186//186 +f 186//186 193//193 332//332 +f 333//333 327//327 326//326 +f 326//326 332//332 333//333 +f 334//334 328//328 327//327 +f 327//327 333//333 334//334 +f 335//335 329//329 328//328 +f 328//328 334//334 335//335 +f 336//336 330//330 329//329 +f 329//329 335//335 336//336 +f 337//337 331//331 330//330 +f 330//330 336//336 337//337 +f 195//195 332//332 193//193 +f 193//193 39//39 195//195 +f 197//197 333//333 332//332 +f 332//332 195//195 197//197 +f 199//199 334//334 333//333 +f 333//333 197//197 199//199 +f 201//201 335//335 334//334 +f 334//334 199//199 201//201 +f 203//203 336//336 335//335 +f 335//335 201//201 203//203 +f 205//205 337//337 336//336 +f 336//336 203//203 205//205 +f 338//338 339//339 205//205 +f 205//205 204//204 338//338 +f 340//340 341//341 339//339 +f 339//339 338//338 340//340 +f 342//342 343//343 341//341 +f 341//341 340//340 342//342 +f 344//344 345//345 343//343 +f 343//343 342//342 344//344 +f 346//346 347//347 345//345 +f 345//345 344//344 346//346 +f 348//348 349//349 347//347 +f 347//347 346//346 348//348 +f 350//350 338//338 204//204 +f 204//204 211//211 350//350 +f 351//351 340//340 338//338 +f 338//338 350//350 351//351 +f 352//352 342//342 340//340 +f 340//340 351//351 352//352 +f 353//353 344//344 342//342 +f 342//342 352//352 353//353 +f 354//354 346//346 344//344 +f 344//344 353//353 354//354 +f 355//355 348//348 346//346 +f 346//346 354//354 355//355 +f 356//356 350//350 211//211 +f 211//211 217//217 356//356 +f 357//357 351//351 350//350 +f 350//350 356//356 357//357 +f 358//358 352//352 351//351 +f 351//351 357//357 358//358 +f 359//359 353//353 352//352 +f 352//352 358//358 359//359 +f 360//360 354//354 353//353 +f 353//353 359//359 360//360 +f 361//361 355//355 354//354 +f 354//354 360//360 361//361 +f 362//362 356//356 223//223 +f 217//217 223//223 356//356 +f 363//363 357//357 362//362 +f 356//356 362//362 357//357 +f 364//364 358//358 363//363 +f 357//357 363//363 358//358 +f 365//365 359//359 364//364 +f 358//358 364//364 359//359 +f 366//366 360//360 365//365 +f 359//359 365//365 360//360 +f 367//367 361//361 366//366 +f 360//360 366//366 361//361 +f 368//368 362//362 229//229 +f 223//223 229//229 362//362 +f 369//369 363//363 368//368 +f 362//362 368//368 363//363 +f 370//370 364//364 369//369 +f 363//363 369//369 364//364 +f 371//371 365//365 370//370 +f 364//364 370//370 365//365 +f 372//372 366//366 371//371 +f 365//365 371//371 366//366 +f 373//373 367//367 372//372 +f 366//366 372//372 367//367 +f 374//374 368//368 235//235 +f 229//229 235//235 368//368 +f 375//375 369//369 374//374 +f 368//368 374//374 369//369 +f 376//376 370//370 375//375 +f 369//369 375//375 370//370 +f 377//377 371//371 376//376 +f 370//370 376//376 371//371 +f 378//378 372//372 377//377 +f 371//371 377//377 372//372 +f 379//379 373//373 378//378 +f 372//372 378//378 373//373 +f 380//380 374//374 235//235 +f 235//235 241//241 380//380 +f 381//381 375//375 374//374 +f 374//374 380//380 381//381 +f 382//382 376//376 375//375 +f 375//375 381//381 382//382 +f 383//383 377//377 376//376 +f 376//376 382//382 383//383 +f 384//384 378//378 377//377 +f 377//377 383//383 384//384 +f 385//385 379//379 378//378 +f 378//378 384//384 385//385 +f 386//386 380//380 241//241 +f 241//241 247//247 386//386 +f 387//387 381//381 380//380 +f 380//380 386//386 387//387 +f 388//388 382//382 381//381 +f 381//381 387//387 388//388 +f 389//389 383//383 382//382 +f 382//382 388//388 389//389 +f 390//390 384//384 383//383 +f 383//383 389//389 390//390 +f 391//391 385//385 384//384 +f 384//384 390//390 391//391 +f 392//392 386//386 247//247 +f 247//247 253//253 392//392 +f 393//393 387//387 386//386 +f 386//386 392//392 393//393 +f 394//394 388//388 387//387 +f 387//387 393//393 394//394 +f 395//395 389//389 388//388 +f 388//388 394//394 395//395 +f 396//396 390//390 389//389 +f 389//389 395//395 396//396 +f 397//397 391//391 390//390 +f 390//390 396//396 397//397 +f 398//398 392//392 259//259 +f 253//253 259//259 392//392 +f 399//399 393//393 398//398 +f 392//392 398//398 393//393 +f 400//400 394//394 399//399 +f 393//393 399//399 394//394 +f 401//401 395//395 400//400 +f 394//394 400//400 395//395 +f 402//402 396//396 401//401 +f 395//395 401//401 396//396 +f 403//403 397//397 402//402 +f 396//396 402//402 397//397 +f 404//404 398//398 265//265 +f 259//259 265//265 398//398 +f 405//405 399//399 404//404 +f 398//398 404//404 399//399 +f 406//406 400//400 405//405 +f 399//399 405//405 400//400 +f 407//407 401//401 406//406 +f 400//400 406//406 401//401 +f 408//408 402//402 407//407 +f 401//401 407//407 402//402 +f 409//409 403//403 408//408 +f 402//402 408//408 403//403 +f 410//410 404//404 271//271 +f 265//265 271//271 404//404 +f 411//411 405//405 410//410 +f 404//404 410//410 405//405 +f 412//412 406//406 411//411 +f 405//405 411//411 406//406 +f 413//413 407//407 412//412 +f 406//406 412//412 407//407 +f 414//414 408//408 413//413 +f 407//407 413//413 408//408 +f 415//415 409//409 414//414 +f 408//408 414//414 409//409 +f 416//416 410//410 271//271 +f 271//271 277//277 416//416 +f 417//417 411//411 410//410 +f 410//410 416//416 417//417 +f 418//418 412//412 411//411 +f 411//411 417//417 418//418 +f 419//419 413//413 412//412 +f 412//412 418//418 419//419 +f 420//420 414//414 413//413 +f 413//413 419//419 420//420 +f 421//421 415//415 414//414 +f 414//414 420//420 421//421 +f 422//422 416//416 277//277 +f 277//277 283//283 422//422 +f 423//423 417//417 416//416 +f 416//416 422//422 423//423 +f 424//424 418//418 417//417 +f 417//417 423//423 424//424 +f 425//425 419//419 418//418 +f 418//418 424//424 425//425 +f 426//426 420//420 419//419 +f 419//419 425//425 426//426 +f 427//427 421//421 420//420 +f 420//420 426//426 427//427 +f 428//428 422//422 283//283 +f 283//283 289//289 428//428 +f 429//429 423//423 422//422 +f 422//422 428//428 429//429 +f 430//430 424//424 423//423 +f 423//423 429//429 430//430 +f 431//431 425//425 424//424 +f 424//424 430//430 431//431 +f 432//432 426//426 425//425 +f 425//425 431//431 432//432 +f 433//433 427//427 426//426 +f 426//426 432//432 433//433 +f 434//434 428//428 295//295 +f 289//289 295//295 428//428 +f 435//435 429//429 434//434 +f 428//428 434//434 429//429 +f 436//436 430//430 435//435 +f 429//429 435//435 430//430 +f 437//437 431//431 436//436 +f 430//430 436//436 431//431 +f 438//438 432//432 437//437 +f 431//431 437//437 432//432 +f 439//439 433//433 438//438 +f 432//432 438//438 433//433 +f 440//440 434//434 301//301 +f 295//295 301//301 434//434 +f 441//441 435//435 440//440 +f 434//434 440//440 435//435 +f 442//442 436//436 441//441 +f 435//435 441//441 436//436 +f 443//443 437//437 442//442 +f 436//436 442//442 437//437 +f 444//444 438//438 443//443 +f 437//437 443//443 438//438 +f 445//445 439//439 444//444 +f 438//438 444//444 439//439 +f 446//446 440//440 307//307 +f 301//301 307//307 440//440 +f 447//447 441//441 446//446 +f 440//440 446//446 441//441 +f 448//448 442//442 447//447 +f 441//441 447//447 442//442 +f 449//449 443//443 448//448 +f 442//442 448//448 443//443 +f 450//450 444//444 449//449 +f 443//443 449//449 444//444 +f 451//451 445//445 450//450 +f 444//444 450//450 445//445 +f 452//452 446//446 307//307 +f 307//307 313//313 452//452 +f 453//453 447//447 446//446 +f 446//446 452//452 453//453 +f 454//454 448//448 447//447 +f 447//447 453//453 454//454 +f 455//455 449//449 448//448 +f 448//448 454//454 455//455 +f 456//456 450//450 449//449 +f 449//449 455//455 456//456 +f 457//457 451//451 450//450 +f 450//450 456//456 457//457 +f 458//458 452//452 313//313 +f 313//313 319//319 458//458 +f 459//459 453//453 452//452 +f 452//452 458//458 459//459 +f 460//460 454//454 453//453 +f 453//453 459//459 460//460 +f 461//461 455//455 454//454 +f 454//454 460//460 461//461 +f 462//462 456//456 455//455 +f 455//455 461//461 462//462 +f 463//463 457//457 456//456 +f 456//456 462//462 463//463 +f 464//464 458//458 319//319 +f 319//319 325//325 464//464 +f 465//465 459//459 458//458 +f 458//458 464//464 465//465 +f 466//466 460//460 459//459 +f 459//459 465//465 466//466 +f 467//467 461//461 460//460 +f 460//460 466//466 467//467 +f 468//468 462//462 461//461 +f 461//461 467//467 468//468 +f 469//469 463//463 462//462 +f 462//462 468//468 469//469 +f 470//470 464//464 331//331 +f 325//325 331//331 464//464 +f 471//471 465//465 470//470 +f 464//464 470//470 465//465 +f 472//472 466//466 471//471 +f 465//465 471//471 466//466 +f 473//473 467//467 472//472 +f 466//466 472//472 467//467 +f 474//474 468//468 473//473 +f 467//467 473//473 468//468 +f 475//475 469//469 474//474 +f 468//468 474//474 469//469 +f 476//476 470//470 337//337 +f 331//331 337//337 470//470 +f 477//477 471//471 476//476 +f 470//470 476//476 471//471 +f 478//478 472//472 477//477 +f 471//471 477//477 472//472 +f 479//479 473//473 478//478 +f 472//472 478//478 473//473 +f 480//480 474//474 479//479 +f 473//473 479//479 474//474 +f 481//481 475//475 480//480 +f 474//474 480//480 475//475 +f 339//339 476//476 205//205 +f 337//337 205//205 476//476 +f 341//341 477//477 339//339 +f 476//476 339//339 477//477 +f 343//343 478//478 341//341 +f 477//477 341//341 478//478 +f 345//345 479//479 343//343 +f 478//478 343//343 479//479 +f 347//347 480//480 345//345 +f 479//479 345//345 480//480 +f 349//349 481//481 347//347 +f 480//480 347//347 481//481 +f 1//1 3//3 482//482 +f 483//483 482//482 3//3 +f 482//482 483//483 484//484 +f 485//485 484//484 483//483 +f 484//484 485//485 486//486 +f 487//487 486//486 485//485 +f 486//486 487//487 488//488 +f 489//489 488//488 487//487 +f 488//488 489//489 349//349 +f 481//481 349//349 489//489 +f 3//3 4//4 483//483 +f 490//490 483//483 4//4 +f 483//483 490//490 485//485 +f 491//491 485//485 490//490 +f 485//485 491//491 487//487 +f 492//492 487//487 491//491 +f 487//487 492//492 489//489 +f 493//493 489//489 492//492 +f 489//489 493//493 481//481 +f 475//475 481//481 493//493 +f 4//4 5//5 490//490 +f 494//494 490//490 5//5 +f 490//490 494//494 491//491 +f 495//495 491//491 494//494 +f 491//491 495//495 492//492 +f 496//496 492//492 495//495 +f 492//492 496//496 493//493 +f 497//497 493//493 496//496 +f 493//493 497//497 475//475 +f 469//469 475//475 497//497 +f 5//5 6//6 498//498 +f 498//498 494//494 5//5 +f 494//494 498//498 499//499 +f 499//499 495//495 494//494 +f 495//495 499//499 500//500 +f 500//500 496//496 495//495 +f 496//496 500//500 501//501 +f 501//501 497//497 496//496 +f 497//497 501//501 463//463 +f 463//463 469//469 497//497 +f 6//6 7//7 502//502 +f 502//502 498//498 6//6 +f 498//498 502//502 503//503 +f 503//503 499//499 498//498 +f 499//499 503//503 504//504 +f 504//504 500//500 499//499 +f 500//500 504//504 505//505 +f 505//505 501//501 500//500 +f 501//501 505//505 457//457 +f 457//457 463//463 501//501 +f 7//7 8//8 506//506 +f 506//506 502//502 7//7 +f 502//502 506//506 507//507 +f 507//507 503//503 502//502 +f 503//503 507//507 508//508 +f 508//508 504//504 503//503 +f 504//504 508//508 509//509 +f 509//509 505//505 504//504 +f 505//505 509//509 451//451 +f 451//451 457//457 505//505 +f 8//8 9//9 506//506 +f 510//510 506//506 9//9 +f 506//506 510//510 507//507 +f 511//511 507//507 510//510 +f 507//507 511//511 508//508 +f 512//512 508//508 511//511 +f 508//508 512//512 509//509 +f 513//513 509//509 512//512 +f 509//509 513//513 451//451 +f 445//445 451//451 513//513 +f 9//9 10//10 510//510 +f 514//514 510//510 10//10 +f 510//510 514//514 511//511 +f 515//515 511//511 514//514 +f 511//511 515//515 512//512 +f 516//516 512//512 515//515 +f 512//512 516//516 513//513 +f 517//517 513//513 516//516 +f 513//513 517//517 445//445 +f 439//439 445//445 517//517 +f 10//10 11//11 514//514 +f 518//518 514//514 11//11 +f 514//514 518//518 515//515 +f 519//519 515//515 518//518 +f 515//515 519//519 516//516 +f 520//520 516//516 519//519 +f 516//516 520//520 517//517 +f 521//521 517//517 520//520 +f 517//517 521//521 439//439 +f 433//433 439//439 521//521 +f 11//11 12//12 522//522 +f 522//522 518//518 11//11 +f 518//518 522//522 523//523 +f 523//523 519//519 518//518 +f 519//519 523//523 524//524 +f 524//524 520//520 519//519 +f 520//520 524//524 525//525 +f 525//525 521//521 520//520 +f 521//521 525//525 427//427 +f 427//427 433//433 521//521 +f 12//12 13//13 526//526 +f 526//526 522//522 12//12 +f 522//522 526//526 527//527 +f 527//527 523//523 522//522 +f 523//523 527//527 528//528 +f 528//528 524//524 523//523 +f 524//524 528//528 529//529 +f 529//529 525//525 524//524 +f 525//525 529//529 421//421 +f 421//421 427//427 525//525 +f 13//13 14//14 530//530 +f 530//530 526//526 13//13 +f 526//526 530//530 531//531 +f 531//531 527//527 526//526 +f 527//527 531//531 532//532 +f 532//532 528//528 527//527 +f 528//528 532//532 533//533 +f 533//533 529//529 528//528 +f 529//529 533//533 415//415 +f 415//415 421//421 529//529 +f 14//14 15//15 530//530 +f 534//534 530//530 15//15 +f 530//530 534//534 531//531 +f 535//535 531//531 534//534 +f 531//531 535//535 532//532 +f 536//536 532//532 535//535 +f 532//532 536//536 533//533 +f 537//537 533//533 536//536 +f 533//533 537//537 415//415 +f 409//409 415//415 537//537 +f 15//15 16//16 534//534 +f 538//538 534//534 16//16 +f 534//534 538//538 535//535 +f 539//539 535//535 538//538 +f 535//535 539//539 536//536 +f 540//540 536//536 539//539 +f 536//536 540//540 537//537 +f 541//541 537//537 540//540 +f 537//537 541//541 409//409 +f 403//403 409//409 541//541 +f 16//16 17//17 538//538 +f 542//542 538//538 17//17 +f 538//538 542//542 539//539 +f 543//543 539//539 542//542 +f 539//539 543//543 540//540 +f 544//544 540//540 543//543 +f 540//540 544//544 541//541 +f 545//545 541//541 544//544 +f 541//541 545//545 403//403 +f 397//397 403//403 545//545 +f 17//17 18//18 546//546 +f 546//546 542//542 17//17 +f 542//542 546//546 547//547 +f 547//547 543//543 542//542 +f 543//543 547//547 548//548 +f 548//548 544//544 543//543 +f 544//544 548//548 549//549 +f 549//549 545//545 544//544 +f 545//545 549//549 391//391 +f 391//391 397//397 545//545 +f 18//18 19//19 550//550 +f 550//550 546//546 18//18 +f 546//546 550//550 551//551 +f 551//551 547//547 546//546 +f 547//547 551//551 552//552 +f 552//552 548//548 547//547 +f 548//548 552//552 553//553 +f 553//553 549//549 548//548 +f 549//549 553//553 385//385 +f 385//385 391//391 549//549 +f 19//19 20//20 554//554 +f 554//554 550//550 19//19 +f 550//550 554//554 555//555 +f 555//555 551//551 550//550 +f 551//551 555//555 556//556 +f 556//556 552//552 551//551 +f 552//552 556//556 557//557 +f 557//557 553//553 552//552 +f 553//553 557//557 379//379 +f 379//379 385//385 553//553 +f 20//20 21//21 554//554 +f 558//558 554//554 21//21 +f 554//554 558//558 555//555 +f 559//559 555//555 558//558 +f 555//555 559//559 556//556 +f 560//560 556//556 559//559 +f 556//556 560//560 557//557 +f 561//561 557//557 560//560 +f 557//557 561//561 379//379 +f 373//373 379//379 561//561 +f 21//21 22//22 558//558 +f 562//562 558//558 22//22 +f 558//558 562//562 559//559 +f 563//563 559//559 562//562 +f 559//559 563//563 560//560 +f 564//564 560//560 563//563 +f 560//560 564//564 561//561 +f 565//565 561//561 564//564 +f 561//561 565//565 373//373 +f 367//367 373//373 565//565 +f 22//22 23//23 562//562 +f 566//566 562//562 23//23 +f 562//562 566//566 563//563 +f 567//567 563//563 566//566 +f 563//563 567//567 564//564 +f 568//568 564//564 567//567 +f 564//564 568//568 565//565 +f 569//569 565//565 568//568 +f 565//565 569//569 367//367 +f 361//361 367//367 569//569 +f 23//23 24//24 570//570 +f 570//570 566//566 23//23 +f 566//566 570//570 571//571 +f 571//571 567//567 566//566 +f 567//567 571//571 572//572 +f 572//572 568//568 567//567 +f 568//568 572//572 573//573 +f 573//573 569//569 568//568 +f 569//569 573//573 355//355 +f 355//355 361//361 569//569 +f 24//24 25//25 574//574 +f 574//574 570//570 24//24 +f 570//570 574//574 575//575 +f 575//575 571//571 570//570 +f 571//571 575//575 576//576 +f 576//576 572//572 571//571 +f 572//572 576//576 577//577 +f 577//577 573//573 572//572 +f 573//573 577//577 348//348 +f 348//348 355//355 573//573 +f 25//25 1//1 482//482 +f 482//482 574//574 25//25 +f 574//574 482//482 484//484 +f 484//484 575//575 574//574 +f 575//575 484//484 486//486 +f 486//486 576//576 575//575 +f 576//576 486//486 488//488 +f 488//488 577//577 576//576 +f 577//577 488//488 349//349 +f 349//349 348//348 577//577 +f 578//578 579//579 580//580 +f 581//581 580//580 579//579 +f 582//582 578//578 583//583 +f 580//580 583//583 578//578 +f 584//584 582//582 585//585 +f 583//583 585//585 582//582 +f 586//586 584//584 585//585 +f 585//585 587//587 586//586 +f 588//588 586//586 587//587 +f 587//587 589//589 588//588 +f 590//590 588//588 589//589 +f 589//589 591//591 590//590 +f 592//592 590//590 593//593 +f 591//591 593//593 590//590 +f 594//594 592//592 595//595 +f 593//593 595//595 592//592 +f 596//596 594//594 597//597 +f 595//595 597//597 594//594 +f 598//598 596//596 597//597 +f 597//597 599//599 598//598 +f 600//600 598//598 599//599 +f 599//599 601//601 600//600 +f 602//602 600//600 601//601 +f 601//601 603//603 602//602 +f 604//604 602//602 605//605 +f 603//603 605//605 602//602 +f 606//606 604//604 607//607 +f 605//605 607//607 604//604 +f 608//608 606//606 609//609 +f 607//607 609//609 606//606 +f 610//610 608//608 609//609 +f 609//609 611//611 610//610 +f 612//612 610//610 611//611 +f 611//611 613//613 612//612 +f 614//614 612//612 613//613 +f 613//613 615//615 614//614 +f 616//616 614//614 617//617 +f 615//615 617//617 614//614 +f 618//618 616//616 619//619 +f 617//617 619//619 616//616 +f 620//620 618//618 621//621 +f 619//619 621//621 618//618 +f 622//622 620//620 621//621 +f 621//621 623//623 622//622 +f 624//624 622//622 623//623 +f 623//623 625//625 624//624 +f 579//579 624//624 625//625 +f 625//625 581//581 579//579 +f 626//626 627//627 578//578 +f 579//579 578//578 627//627 +f 628//628 629//629 626//626 +f 627//627 626//626 629//629 +f 630//630 631//631 628//628 +f 629//629 628//628 631//631 +f 632//632 633//633 630//630 +f 631//631 630//630 633//633 +f 634//634 635//635 632//632 +f 633//633 632//632 635//635 +f 636//636 637//637 634//634 +f 635//635 634//634 637//637 +f 638//638 626//626 582//582 +f 578//578 582//582 626//626 +f 639//639 628//628 638//638 +f 626//626 638//638 628//628 +f 640//640 630//630 639//639 +f 628//628 639//639 630//630 +f 641//641 632//632 640//640 +f 630//630 640//640 632//632 +f 642//642 634//634 641//641 +f 632//632 641//641 634//634 +f 643//643 636//636 642//642 +f 634//634 642//642 636//636 +f 644//644 638//638 584//584 +f 582//582 584//584 638//638 +f 645//645 639//639 644//644 +f 638//638 644//644 639//639 +f 646//646 640//640 645//645 +f 639//639 645//645 640//640 +f 647//647 641//641 646//646 +f 640//640 646//646 641//641 +f 648//648 642//642 647//647 +f 641//641 647//647 642//642 +f 649//649 643//643 648//648 +f 642//642 648//648 643//643 +f 650//650 644//644 584//584 +f 584//584 586//586 650//650 +f 651//651 645//645 644//644 +f 644//644 650//650 651//651 +f 652//652 646//646 645//645 +f 645//645 651//651 652//652 +f 653//653 647//647 646//646 +f 646//646 652//652 653//653 +f 654//654 648//648 647//647 +f 647//647 653//653 654//654 +f 655//655 649//649 648//648 +f 648//648 654//654 655//655 +f 656//656 650//650 586//586 +f 586//586 588//588 656//656 +f 657//657 651//651 650//650 +f 650//650 656//656 657//657 +f 658//658 652//652 651//651 +f 651//651 657//657 658//658 +f 659//659 653//653 652//652 +f 652//652 658//658 659//659 +f 660//660 654//654 653//653 +f 653//653 659//659 660//660 +f 661//661 655//655 654//654 +f 654//654 660//660 661//661 +f 662//662 656//656 588//588 +f 588//588 590//590 662//662 +f 663//663 657//657 656//656 +f 656//656 662//662 663//663 +f 664//664 658//658 657//657 +f 657//657 663//663 664//664 +f 665//665 659//659 658//658 +f 658//658 664//664 665//665 +f 666//666 660//660 659//659 +f 659//659 665//665 666//666 +f 667//667 661//661 660//660 +f 660//660 666//666 667//667 +f 668//668 662//662 592//592 +f 590//590 592//592 662//662 +f 669//669 663//663 668//668 +f 662//662 668//668 663//663 +f 670//670 664//664 669//669 +f 663//663 669//669 664//664 +f 671//671 665//665 670//670 +f 664//664 670//670 665//665 +f 672//672 666//666 671//671 +f 665//665 671//671 666//666 +f 673//673 667//667 672//672 +f 666//666 672//672 667//667 +f 674//674 668//668 594//594 +f 592//592 594//594 668//668 +f 675//675 669//669 674//674 +f 668//668 674//674 669//669 +f 676//676 670//670 675//675 +f 669//669 675//675 670//670 +f 677//677 671//671 676//676 +f 670//670 676//676 671//671 +f 678//678 672//672 677//677 +f 671//671 677//677 672//672 +f 679//679 673//673 678//678 +f 672//672 678//678 673//673 +f 680//680 674//674 596//596 +f 594//594 596//596 674//674 +f 681//681 675//675 680//680 +f 674//674 680//680 675//675 +f 682//682 676//676 681//681 +f 675//675 681//681 676//676 +f 683//683 677//677 682//682 +f 676//676 682//682 677//677 +f 684//684 678//678 683//683 +f 677//677 683//683 678//678 +f 685//685 679//679 684//684 +f 678//678 684//684 679//679 +f 686//686 680//680 596//596 +f 596//596 598//598 686//686 +f 687//687 681//681 680//680 +f 680//680 686//686 687//687 +f 688//688 682//682 681//681 +f 681//681 687//687 688//688 +f 689//689 683//683 682//682 +f 682//682 688//688 689//689 +f 690//690 684//684 683//683 +f 683//683 689//689 690//690 +f 691//691 685//685 684//684 +f 684//684 690//690 691//691 +f 692//692 686//686 598//598 +f 598//598 600//600 692//692 +f 693//693 687//687 686//686 +f 686//686 692//692 693//693 +f 694//694 688//688 687//687 +f 687//687 693//693 694//694 +f 695//695 689//689 688//688 +f 688//688 694//694 695//695 +f 696//696 690//690 689//689 +f 689//689 695//695 696//696 +f 697//697 691//691 690//690 +f 690//690 696//696 697//697 +f 698//698 692//692 600//600 +f 600//600 602//602 698//698 +f 699//699 693//693 692//692 +f 692//692 698//698 699//699 +f 700//700 694//694 693//693 +f 693//693 699//699 700//700 +f 701//701 695//695 694//694 +f 694//694 700//700 701//701 +f 702//702 696//696 695//695 +f 695//695 701//701 702//702 +f 703//703 697//697 696//696 +f 696//696 702//702 703//703 +f 704//704 698//698 604//604 +f 602//602 604//604 698//698 +f 705//705 699//699 704//704 +f 698//698 704//704 699//699 +f 706//706 700//700 705//705 +f 699//699 705//705 700//700 +f 707//707 701//701 706//706 +f 700//700 706//706 701//701 +f 708//708 702//702 707//707 +f 701//701 707//707 702//702 +f 709//709 703//703 708//708 +f 702//702 708//708 703//703 +f 710//710 704//704 606//606 +f 604//604 606//606 704//704 +f 711//711 705//705 710//710 +f 704//704 710//710 705//705 +f 712//712 706//706 711//711 +f 705//705 711//711 706//706 +f 713//713 707//707 712//712 +f 706//706 712//712 707//707 +f 714//714 708//708 713//713 +f 707//707 713//713 708//708 +f 715//715 709//709 714//714 +f 708//708 714//714 709//709 +f 716//716 710//710 608//608 +f 606//606 608//608 710//710 +f 717//717 711//711 716//716 +f 710//710 716//716 711//711 +f 718//718 712//712 717//717 +f 711//711 717//717 712//712 +f 719//719 713//713 718//718 +f 712//712 718//718 713//713 +f 720//720 714//714 719//719 +f 713//713 719//719 714//714 +f 721//721 715//715 720//720 +f 714//714 720//720 715//715 +f 722//722 716//716 608//608 +f 608//608 610//610 722//722 +f 723//723 717//717 716//716 +f 716//716 722//722 723//723 +f 724//724 718//718 717//717 +f 717//717 723//723 724//724 +f 725//725 719//719 718//718 +f 718//718 724//724 725//725 +f 726//726 720//720 719//719 +f 719//719 725//725 726//726 +f 727//727 721//721 720//720 +f 720//720 726//726 727//727 +f 728//728 722//722 610//610 +f 610//610 612//612 728//728 +f 729//729 723//723 722//722 +f 722//722 728//728 729//729 +f 730//730 724//724 723//723 +f 723//723 729//729 730//730 +f 731//731 725//725 724//724 +f 724//724 730//730 731//731 +f 732//732 726//726 725//725 +f 725//725 731//731 732//732 +f 733//733 727//727 726//726 +f 726//726 732//732 733//733 +f 734//734 728//728 612//612 +f 612//612 614//614 734//734 +f 735//735 729//729 728//728 +f 728//728 734//734 735//735 +f 736//736 730//730 729//729 +f 729//729 735//735 736//736 +f 737//737 731//731 730//730 +f 730//730 736//736 737//737 +f 738//738 732//732 731//731 +f 731//731 737//737 738//738 +f 739//739 733//733 732//732 +f 732//732 738//738 739//739 +f 740//740 734//734 616//616 +f 614//614 616//616 734//734 +f 741//741 735//735 740//740 +f 734//734 740//740 735//735 +f 742//742 736//736 741//741 +f 735//735 741//741 736//736 +f 743//743 737//737 742//742 +f 736//736 742//742 737//737 +f 744//744 738//738 743//743 +f 737//737 743//743 738//738 +f 745//745 739//739 744//744 +f 738//738 744//744 739//739 +f 746//746 740//740 618//618 +f 616//616 618//618 740//740 +f 747//747 741//741 746//746 +f 740//740 746//746 741//741 +f 748//748 742//742 747//747 +f 741//741 747//747 742//742 +f 749//749 743//743 748//748 +f 742//742 748//748 743//743 +f 750//750 744//744 749//749 +f 743//743 749//749 744//744 +f 751//751 745//745 750//750 +f 744//744 750//750 745//745 +f 752//752 746//746 620//620 +f 618//618 620//620 746//746 +f 753//753 747//747 752//752 +f 746//746 752//752 747//747 +f 754//754 748//748 753//753 +f 747//747 753//753 748//748 +f 755//755 749//749 754//754 +f 748//748 754//754 749//749 +f 756//756 750//750 755//755 +f 749//749 755//755 750//750 +f 757//757 751//751 756//756 +f 750//750 756//756 751//751 +f 758//758 752//752 620//620 +f 620//620 622//622 758//758 +f 759//759 753//753 752//752 +f 752//752 758//758 759//759 +f 760//760 754//754 753//753 +f 753//753 759//759 760//760 +f 761//761 755//755 754//754 +f 754//754 760//760 761//761 +f 762//762 756//756 755//755 +f 755//755 761//761 762//762 +f 763//763 757//757 756//756 +f 756//756 762//762 763//763 +f 764//764 758//758 622//622 +f 622//622 624//624 764//764 +f 765//765 759//759 758//758 +f 758//758 764//764 765//765 +f 766//766 760//760 759//759 +f 759//759 765//765 766//766 +f 767//767 761//761 760//760 +f 760//760 766//766 767//767 +f 768//768 762//762 761//761 +f 761//761 767//767 768//768 +f 769//769 763//763 762//762 +f 762//762 768//768 769//769 +f 627//627 764//764 624//624 +f 624//624 579//579 627//627 +f 629//629 765//765 764//764 +f 764//764 627//627 629//629 +f 631//631 766//766 765//765 +f 765//765 629//629 631//631 +f 633//633 767//767 766//766 +f 766//766 631//631 633//633 +f 635//635 768//768 767//767 +f 767//767 633//633 635//635 +f 637//637 769//769 768//768 +f 768//768 635//635 637//637 +f 770//770 771//771 772//772 +f 773//773 772//772 771//771 +f 774//774 770//770 775//775 +f 772//772 775//775 770//770 +f 776//776 777//777 774//774 +f 774//774 775//775 776//776 +f 778//778 779//779 776//776 +f 777//777 776//776 779//779 +f 780//780 781//781 778//778 +f 779//779 778//778 781//781 +f 782//782 783//783 780//780 +f 781//781 780//780 783//783 +f 772//772 773//773 784//784 +f 785//785 784//784 773//773 +f 775//775 772//772 786//786 +f 784//784 786//786 772//772 +f 776//776 775//775 787//787 +f 786//786 787//787 775//775 +f 788//788 778//778 776//776 +f 776//776 787//787 788//788 +f 789//789 780//780 788//788 +f 778//778 788//788 780//780 +f 790//790 782//782 789//789 +f 780//780 789//789 782//782 +f 784//784 785//785 791//791 +f 792//792 791//791 785//785 +f 786//786 784//784 793//793 +f 791//791 793//793 784//784 +f 787//787 786//786 794//794 +f 793//793 794//794 786//786 +f 795//795 788//788 787//787 +f 787//787 794//794 795//795 +f 796//796 789//789 795//795 +f 788//788 795//795 789//789 +f 797//797 790//790 796//796 +f 789//789 796//796 790//790 +f 791//791 792//792 798//798 +f 799//799 798//798 792//792 +f 793//793 791//791 800//800 +f 798//798 800//800 791//791 +f 794//794 793//793 801//801 +f 800//800 801//801 793//793 +f 802//802 795//795 794//794 +f 794//794 801//801 802//802 +f 803//803 796//796 802//802 +f 795//795 802//802 796//796 +f 804//804 797//797 803//803 +f 796//796 803//803 797//797 +f 798//798 799//799 805//805 +f 806//806 805//805 799//799 +f 800//800 798//798 807//807 +f 805//805 807//807 798//798 +f 801//801 800//800 808//808 +f 807//807 808//808 800//800 +f 809//809 802//802 801//801 +f 801//801 808//808 809//809 +f 810//810 803//803 809//809 +f 802//802 809//809 803//803 +f 811//811 804//804 810//810 +f 803//803 810//810 804//804 +f 805//805 806//806 812//812 +f 813//813 812//812 806//806 +f 807//807 805//805 814//814 +f 812//812 814//814 805//805 +f 815//815 808//808 814//814 +f 807//807 814//814 808//808 +f 816//816 809//809 815//815 +f 808//808 815//815 809//809 +f 817//817 810//810 816//816 +f 809//809 816//816 810//810 +f 818//818 811//811 817//817 +f 810//810 817//817 811//811 +f 819//819 820//820 812//812 +f 812//812 813//813 819//819 +f 820//820 821//821 814//814 +f 814//814 812//812 820//820 +f 822//822 815//815 814//814 +f 814//814 821//821 822//822 +f 823//823 816//816 815//815 +f 815//815 822//822 823//823 +f 824//824 817//817 816//816 +f 816//816 823//823 824//824 +f 825//825 818//818 817//817 +f 817//817 824//824 825//825 +f 826//826 827//827 820//820 +f 820//820 819//819 826//826 +f 827//827 828//828 821//821 +f 821//821 820//820 827//827 +f 828//828 829//829 822//822 +f 822//822 821//821 828//828 +f 830//830 823//823 829//829 +f 822//822 829//829 823//823 +f 831//831 824//824 823//823 +f 823//823 830//830 831//831 +f 832//832 825//825 824//824 +f 824//824 831//831 832//832 +f 833//833 834//834 827//827 +f 827//827 826//826 833//833 +f 834//834 835//835 828//828 +f 828//828 827//827 834//834 +f 835//835 836//836 829//829 +f 829//829 828//828 835//835 +f 837//837 830//830 836//836 +f 829//829 836//836 830//830 +f 838//838 831//831 830//830 +f 830//830 837//837 838//838 +f 839//839 832//832 831//831 +f 831//831 838//838 839//839 +f 840//840 841//841 834//834 +f 834//834 833//833 840//840 +f 841//841 842//842 835//835 +f 835//835 834//834 841//841 +f 842//842 843//843 836//836 +f 836//836 835//835 842//842 +f 844//844 837//837 843//843 +f 836//836 843//843 837//837 +f 845//845 838//838 837//837 +f 837//837 844//844 845//845 +f 846//846 839//839 838//838 +f 838//838 845//845 846//846 +f 847//847 848//848 841//841 +f 841//841 840//840 847//847 +f 848//848 849//849 842//842 +f 842//842 841//841 848//848 +f 849//849 850//850 843//843 +f 843//843 842//842 849//849 +f 851//851 844//844 850//850 +f 843//843 850//850 844//844 +f 852//852 845//845 844//844 +f 844//844 851//851 852//852 +f 853//853 846//846 845//845 +f 845//845 852//852 853//853 +f 771//771 770//770 848//848 +f 848//848 847//847 771//771 +f 770//770 774//774 849//849 +f 849//849 848//848 770//770 +f 777//777 850//850 774//774 +f 849//849 774//774 850//850 +f 779//779 851//851 850//850 +f 850//850 777//777 779//779 +f 781//781 852//852 851//851 +f 851//851 779//779 781//781 +f 783//783 853//853 852//852 +f 852//852 781//781 783//783 +f 854//854 855//855 782//782 +f 783//783 782//782 855//855 +f 856//856 857//857 855//855 +f 855//855 854//854 856//856 +f 858//858 859//859 857//857 +f 857//857 856//856 858//858 +f 860//860 861//861 859//859 +f 859//859 858//858 860//860 +f 862//862 863//863 861//861 +f 861//861 860//860 862//862 +f 864//864 865//865 863//863 +f 863//863 862//862 864//864 +f 866//866 854//854 782//782 +f 782//782 790//790 866//866 +f 867//867 856//856 854//854 +f 854//854 866//866 867//867 +f 868//868 858//858 856//856 +f 856//856 867//867 868//868 +f 869//869 860//860 858//858 +f 858//858 868//868 869//869 +f 870//870 862//862 860//860 +f 860//860 869//869 870//870 +f 871//871 864//864 870//870 +f 862//862 870//870 864//864 +f 872//872 866//866 790//790 +f 790//790 797//797 872//872 +f 873//873 867//867 866//866 +f 866//866 872//872 873//873 +f 874//874 868//868 867//867 +f 867//867 873//873 874//874 +f 875//875 869//869 874//874 +f 868//868 874//874 869//869 +f 876//876 870//870 875//875 +f 869//869 875//875 870//870 +f 877//877 871//871 876//876 +f 870//870 876//876 871//871 +f 878//878 872//872 797//797 +f 797//797 804//804 878//878 +f 879//879 873//873 872//872 +f 872//872 878//878 879//879 +f 880//880 874//874 873//873 +f 873//873 879//879 880//880 +f 881//881 875//875 880//880 +f 874//874 880//880 875//875 +f 882//882 876//876 881//881 +f 875//875 881//881 876//876 +f 883//883 877//877 882//882 +f 876//876 882//882 877//877 +f 884//884 878//878 804//804 +f 804//804 811//811 884//884 +f 885//885 879//879 878//878 +f 878//878 884//884 885//885 +f 886//886 880//880 879//879 +f 879//879 885//885 886//886 +f 887//887 881//881 880//880 +f 880//880 886//886 887//887 +f 888//888 882//882 881//881 +f 881//881 887//887 888//888 +f 889//889 883//883 888//888 +f 882//882 888//888 883//883 +f 890//890 884//884 811//811 +f 811//811 818//818 890//890 +f 891//891 885//885 884//884 +f 884//884 890//890 891//891 +f 892//892 886//886 885//885 +f 885//885 891//891 892//892 +f 893//893 887//887 886//886 +f 886//886 892//892 893//893 +f 894//894 888//888 887//887 +f 887//887 893//893 894//894 +f 895//895 889//889 888//888 +f 888//888 894//894 895//895 +f 896//896 890//890 825//825 +f 818//818 825//825 890//890 +f 897//897 891//891 896//896 +f 890//890 896//896 891//891 +f 898//898 892//892 897//897 +f 891//891 897//897 892//892 +f 899//899 893//893 898//898 +f 892//892 898//898 893//893 +f 900//900 894//894 899//899 +f 893//893 899//899 894//894 +f 901//901 895//895 900//900 +f 894//894 900//900 895//895 +f 902//902 896//896 832//832 +f 825//825 832//832 896//896 +f 903//903 897//897 902//902 +f 896//896 902//902 897//897 +f 904//904 898//898 903//903 +f 897//897 903//903 898//898 +f 905//905 899//899 904//904 +f 898//898 904//904 899//899 +f 906//906 900//900 905//905 +f 899//899 905//905 900//900 +f 907//907 901//901 900//900 +f 900//900 906//906 907//907 +f 908//908 902//902 839//839 +f 832//832 839//839 902//902 +f 909//909 903//903 908//908 +f 902//902 908//908 903//903 +f 910//910 904//904 909//909 +f 903//903 909//909 904//904 +f 911//911 905//905 904//904 +f 904//904 910//910 911//911 +f 912//912 906//906 905//905 +f 905//905 911//911 912//912 +f 913//913 907//907 906//906 +f 906//906 912//912 913//913 +f 914//914 908//908 846//846 +f 839//839 846//846 908//908 +f 915//915 909//909 914//914 +f 908//908 914//914 909//909 +f 916//916 910//910 915//915 +f 909//909 915//915 910//910 +f 917//917 911//911 910//910 +f 910//910 916//916 917//917 +f 918//918 912//912 911//911 +f 911//911 917//917 918//918 +f 919//919 913//913 912//912 +f 912//912 918//918 919//919 +f 920//920 914//914 853//853 +f 846//846 853//853 914//914 +f 921//921 915//915 920//920 +f 914//914 920//920 915//915 +f 922//922 916//916 921//921 +f 915//915 921//921 916//916 +f 923//923 917//917 922//922 +f 916//916 922//922 917//917 +f 924//924 918//918 923//923 +f 917//917 923//923 918//918 +f 925//925 919//919 918//918 +f 918//918 924//924 925//925 +f 855//855 920//920 853//853 +f 853//853 783//783 855//855 +f 857//857 921//921 855//855 +f 920//920 855//855 921//921 +f 859//859 922//922 857//857 +f 921//921 857//857 922//922 +f 861//861 923//923 859//859 +f 922//922 859//859 923//923 +f 863//863 924//924 861//861 +f 923//923 861//861 924//924 +f 865//865 925//925 863//863 +f 924//924 863//863 925//925 +f 926//926 927//927 928//928 +f 928//928 929//929 926//926 +f 929//929 928//928 930//930 +f 930//930 931//931 929//929 +f 931//931 930//930 932//932 +f 932//932 933//933 931//931 +f 933//933 932//932 934//934 +f 934//934 935//935 933//933 +f 935//935 934//934 936//936 +f 936//936 937//937 935//935 +f 937//937 936//936 938//938 +f 939//939 938//938 936//936 +f 940//940 941//941 927//927 +f 928//928 927//927 941//941 +f 928//928 941//941 942//942 +f 942//942 930//930 928//928 +f 930//930 942//942 943//943 +f 943//943 932//932 930//930 +f 932//932 943//943 944//944 +f 944//944 934//934 932//932 +f 934//934 944//944 936//936 +f 945//945 936//936 944//944 +f 936//936 945//945 939//939 +f 946//946 939//939 945//945 +f 947//947 948//948 940//940 +f 941//941 940//940 948//948 +f 941//941 948//948 949//949 +f 949//949 942//942 941//941 +f 942//942 949//949 943//943 +f 950//950 943//943 949//949 +f 943//943 950//950 944//944 +f 951//951 944//944 950//950 +f 944//944 951//951 945//945 +f 952//952 945//945 951//951 +f 945//945 952//952 946//946 +f 953//953 946//946 952//952 +f 954//954 955//955 947//947 +f 948//948 947//947 955//955 +f 948//948 955//955 956//956 +f 956//956 949//949 948//948 +f 949//949 956//956 950//950 +f 957//957 950//950 956//956 +f 950//950 957//957 951//951 +f 958//958 951//951 957//957 +f 951//951 958//958 952//952 +f 959//959 952//952 958//958 +f 952//952 959//959 953//953 +f 960//960 953//953 959//959 +f 954//954 961//961 962//962 +f 962//962 955//955 954//954 +f 955//955 962//962 956//956 +f 963//963 956//956 962//962 +f 956//956 963//963 957//957 +f 964//964 957//957 963//963 +f 957//957 964//964 958//958 +f 965//965 958//958 964//964 +f 958//958 965//965 959//959 +f 966//966 959//959 965//965 +f 959//959 966//966 960//960 +f 967//967 960//960 966//966 +f 961//961 968//968 962//962 +f 969//969 962//962 968//968 +f 962//962 969//969 963//963 +f 970//970 963//963 969//969 +f 963//963 970//970 964//964 +f 971//971 964//964 970//970 +f 964//964 971//971 965//965 +f 972//972 965//965 971//971 +f 965//965 972//972 966//966 +f 973//973 966//966 972//972 +f 966//966 973//973 967//967 +f 974//974 967//967 973//973 +f 968//968 975//975 976//976 +f 976//976 969//969 968//968 +f 969//969 976//976 977//977 +f 977//977 970//970 969//969 +f 970//970 977//977 978//978 +f 978//978 971//971 970//970 +f 971//971 978//978 979//979 +f 979//979 972//972 971//971 +f 972//972 979//979 980//980 +f 980//980 973//973 972//972 +f 973//973 980//980 981//981 +f 981//981 974//974 973//973 +f 975//975 982//982 976//976 +f 983//983 976//976 982//982 +f 976//976 983//983 984//984 +f 984//984 977//977 976//976 +f 977//977 984//984 985//985 +f 985//985 978//978 977//977 +f 978//978 985//985 986//986 +f 986//986 979//979 978//978 +f 979//979 986//986 987//987 +f 987//987 980//980 979//979 +f 980//980 987//987 988//988 +f 988//988 981//981 980//980 +f 983//983 982//982 989//989 +f 989//989 990//990 983//983 +f 983//983 990//990 984//984 +f 991//991 984//984 990//990 +f 984//984 991//991 992//992 +f 992//992 985//985 984//984 +f 985//985 992//992 993//993 +f 993//993 986//986 985//985 +f 986//986 993//993 994//994 +f 994//994 987//987 986//986 +f 987//987 994//994 995//995 +f 995//995 988//988 987//987 +f 990//990 989//989 996//996 +f 996//996 997//997 990//990 +f 990//990 997//997 991//991 +f 998//998 991//991 997//997 +f 991//991 998//998 999//999 +f 999//999 992//992 991//991 +f 992//992 999//999 1000//1000 +f 1000//1000 993//993 992//992 +f 993//993 1000//1000 1001//1001 +f 1001//1001 994//994 993//993 +f 994//994 1001//1001 1002//1002 +f 1002//1002 995//995 994//994 +f 997//997 996//996 1003//1003 +f 1003//1003 1004//1004 997//997 +f 997//997 1004//1004 998//998 +f 1005//1005 998//998 1004//1004 +f 998//998 1005//1005 999//999 +f 1006//1006 999//999 1005//1005 +f 999//999 1006//1006 1000//1000 +f 1007//1007 1000//1000 1006//1006 +f 1000//1000 1007//1007 1008//1008 +f 1008//1008 1001//1001 1000//1000 +f 1001//1001 1008//1008 1009//1009 +f 1009//1009 1002//1002 1001//1001 +f 1003//1003 926//926 1004//1004 +f 929//929 1004//1004 926//926 +f 1004//1004 929//929 1005//1005 +f 931//931 1005//1005 929//929 +f 1005//1005 931//931 1006//1006 +f 933//933 1006//1006 931//931 +f 1006//1006 933//933 1007//1007 +f 935//935 1007//1007 933//933 +f 1007//1007 935//935 1008//1008 +f 937//937 1008//1008 935//935 +f 1008//1008 937//937 938//938 +f 938//938 1009//1009 1008//1008 +f 938//938 939//939 1010//1010 +f 1011//1011 1010//1010 939//939 +f 1010//1010 1011//1011 1012//1012 +f 1013//1013 1012//1012 1011//1011 +f 1012//1012 1013//1013 1014//1014 +f 1015//1015 1014//1014 1013//1013 +f 1016//1016 1017//1017 1014//1014 +f 1014//1014 1015//1015 1016//1016 +f 1018//1018 1019//1019 1017//1017 +f 1017//1017 1016//1016 1018//1018 +f 1020//1020 1021//1021 1019//1019 +f 1019//1019 1018//1018 1020//1020 +f 939//939 946//946 1011//1011 +f 1022//1022 1011//1011 946//946 +f 1011//1011 1022//1022 1013//1013 +f 1023//1023 1013//1013 1022//1022 +f 1013//1013 1023//1023 1015//1015 +f 1024//1024 1015//1015 1023//1023 +f 1025//1025 1016//1016 1015//1015 +f 1015//1015 1024//1024 1025//1025 +f 1026//1026 1018//1018 1016//1016 +f 1016//1016 1025//1025 1026//1026 +f 1027//1027 1020//1020 1018//1018 +f 1018//1018 1026//1026 1027//1027 +f 946//946 953//953 1022//1022 +f 1028//1028 1022//1022 953//953 +f 1022//1022 1028//1028 1023//1023 +f 1029//1029 1023//1023 1028//1028 +f 1023//1023 1029//1029 1024//1024 +f 1030//1030 1024//1024 1029//1029 +f 1031//1031 1025//1025 1024//1024 +f 1024//1024 1030//1030 1031//1031 +f 1032//1032 1026//1026 1025//1025 +f 1025//1025 1031//1031 1032//1032 +f 1033//1033 1027//1027 1026//1026 +f 1026//1026 1032//1032 1033//1033 +f 953//953 960//960 1028//1028 +f 1034//1034 1028//1028 960//960 +f 1028//1028 1034//1034 1029//1029 +f 1035//1035 1029//1029 1034//1034 +f 1029//1029 1035//1035 1030//1030 +f 1036//1036 1030//1030 1035//1035 +f 1037//1037 1031//1031 1030//1030 +f 1030//1030 1036//1036 1037//1037 +f 1038//1038 1032//1032 1031//1031 +f 1031//1031 1037//1037 1038//1038 +f 1039//1039 1033//1033 1032//1032 +f 1032//1032 1038//1038 1039//1039 +f 960//960 967//967 1034//1034 +f 1040//1040 1034//1034 967//967 +f 1034//1034 1040//1040 1035//1035 +f 1041//1041 1035//1035 1040//1040 +f 1035//1035 1041//1041 1036//1036 +f 1042//1042 1036//1036 1041//1041 +f 1043//1043 1037//1037 1036//1036 +f 1036//1036 1042//1042 1043//1043 +f 1044//1044 1038//1038 1037//1037 +f 1037//1037 1043//1043 1044//1044 +f 1045//1045 1039//1039 1038//1038 +f 1038//1038 1044//1044 1045//1045 +f 967//967 974//974 1040//1040 +f 1046//1046 1040//1040 974//974 +f 1040//1040 1046//1046 1041//1041 +f 1047//1047 1041//1041 1046//1046 +f 1041//1041 1047//1047 1042//1042 +f 1048//1048 1042//1042 1047//1047 +f 1049//1049 1043//1043 1042//1042 +f 1042//1042 1048//1048 1049//1049 +f 1050//1050 1044//1044 1043//1043 +f 1043//1043 1049//1049 1050//1050 +f 1051//1051 1045//1045 1044//1044 +f 1044//1044 1050//1050 1051//1051 +f 974//974 981//981 1052//1052 +f 1052//1052 1046//1046 974//974 +f 1046//1046 1052//1052 1053//1053 +f 1053//1053 1047//1047 1046//1046 +f 1047//1047 1053//1053 1054//1054 +f 1054//1054 1048//1048 1047//1047 +f 1055//1055 1049//1049 1054//1054 +f 1048//1048 1054//1054 1049//1049 +f 1056//1056 1050//1050 1055//1055 +f 1049//1049 1055//1055 1050//1050 +f 1057//1057 1051//1051 1056//1056 +f 1050//1050 1056//1056 1051//1051 +f 981//981 988//988 1058//1058 +f 1058//1058 1052//1052 981//981 +f 1052//1052 1058//1058 1059//1059 +f 1059//1059 1053//1053 1052//1052 +f 1053//1053 1059//1059 1060//1060 +f 1060//1060 1054//1054 1053//1053 +f 1061//1061 1055//1055 1060//1060 +f 1054//1054 1060//1060 1055//1055 +f 1062//1062 1056//1056 1061//1061 +f 1055//1055 1061//1061 1056//1056 +f 1063//1063 1057//1057 1062//1062 +f 1056//1056 1062//1062 1057//1057 +f 988//988 995//995 1064//1064 +f 1064//1064 1058//1058 988//988 +f 1058//1058 1064//1064 1065//1065 +f 1065//1065 1059//1059 1058//1058 +f 1059//1059 1065//1065 1066//1066 +f 1066//1066 1060//1060 1059//1059 +f 1067//1067 1061//1061 1066//1066 +f 1060//1060 1066//1066 1061//1061 +f 1068//1068 1062//1062 1067//1067 +f 1061//1061 1067//1067 1062//1062 +f 1069//1069 1063//1063 1068//1068 +f 1062//1062 1068//1068 1063//1063 +f 995//995 1002//1002 1070//1070 +f 1070//1070 1064//1064 995//995 +f 1064//1064 1070//1070 1071//1071 +f 1071//1071 1065//1065 1064//1064 +f 1065//1065 1071//1071 1072//1072 +f 1072//1072 1066//1066 1065//1065 +f 1073//1073 1067//1067 1072//1072 +f 1066//1066 1072//1072 1067//1067 +f 1074//1074 1068//1068 1073//1073 +f 1067//1067 1073//1073 1068//1068 +f 1075//1075 1069//1069 1074//1074 +f 1068//1068 1074//1074 1069//1069 +f 1002//1002 1009//1009 1076//1076 +f 1076//1076 1070//1070 1002//1002 +f 1070//1070 1076//1076 1077//1077 +f 1077//1077 1071//1071 1070//1070 +f 1071//1071 1077//1077 1078//1078 +f 1078//1078 1072//1072 1071//1071 +f 1079//1079 1073//1073 1078//1078 +f 1072//1072 1078//1078 1073//1073 +f 1080//1080 1074//1074 1079//1079 +f 1073//1073 1079//1079 1074//1074 +f 1081//1081 1075//1075 1080//1080 +f 1074//1074 1080//1080 1075//1075 +f 1009//1009 938//938 1010//1010 +f 1010//1010 1076//1076 1009//1009 +f 1076//1076 1010//1010 1012//1012 +f 1012//1012 1077//1077 1076//1076 +f 1077//1077 1012//1012 1014//1014 +f 1014//1014 1078//1078 1077//1077 +f 1017//1017 1079//1079 1014//1014 +f 1078//1078 1014//1014 1079//1079 +f 1019//1019 1080//1080 1017//1017 +f 1079//1079 1017//1017 1080//1080 +f 1021//1021 1081//1081 1019//1019 +f 1080//1080 1019//1019 1081//1081 +f 1082//1082 1083//1083 1084//1084 +f 1084//1084 1083//1083 1085//1085 +f 1085//1085 1083//1083 1086//1086 +f 1086//1086 1083//1083 1087//1087 +f 1087//1087 1083//1083 1088//1088 +f 1088//1088 1083//1083 1089//1089 +f 1089//1089 1083//1083 1090//1090 +f 1090//1090 1083//1083 1091//1091 +f 1091//1091 1083//1083 1092//1092 +f 1092//1092 1083//1083 1093//1093 +f 1093//1093 1083//1083 1094//1094 +f 1094//1094 1083//1083 1095//1095 +f 1095//1095 1083//1083 1096//1096 +f 1096//1096 1083//1083 1097//1097 +f 1097//1097 1083//1083 1098//1098 +f 1098//1098 1083//1083 1099//1099 +f 1099//1099 1083//1083 1100//1100 +f 1100//1100 1083//1083 1101//1101 +f 1101//1101 1083//1083 1102//1102 +f 1102//1102 1083//1083 1103//1103 +f 1103//1103 1083//1083 1104//1104 +f 1104//1104 1083//1083 1105//1105 +f 1105//1105 1083//1083 1106//1106 +f 1106//1106 1083//1083 1082//1082 +f 1107//1107 1108//1108 1084//1084 +f 1082//1082 1084//1084 1108//1108 +f 1109//1109 1110//1110 1108//1108 +f 1108//1108 1107//1107 1109//1109 +f 1111//1111 1112//1112 1110//1110 +f 1110//1110 1109//1109 1111//1111 +f 1113//1113 1114//1114 1112//1112 +f 1112//1112 1111//1111 1113//1113 +f 1115//1115 1107//1107 1085//1085 +f 1084//1084 1085//1085 1107//1107 +f 1116//1116 1109//1109 1107//1107 +f 1107//1107 1115//1115 1116//1116 +f 1117//1117 1111//1111 1109//1109 +f 1109//1109 1116//1116 1117//1117 +f 1118//1118 1113//1113 1111//1111 +f 1111//1111 1117//1117 1118//1118 +f 1119//1119 1115//1115 1086//1086 +f 1085//1085 1086//1086 1115//1115 +f 1120//1120 1116//1116 1115//1115 +f 1115//1115 1119//1119 1120//1120 +f 1121//1121 1117//1117 1116//1116 +f 1116//1116 1120//1120 1121//1121 +f 1122//1122 1118//1118 1117//1117 +f 1117//1117 1121//1121 1122//1122 +f 1123//1123 1119//1119 1086//1086 +f 1086//1086 1087//1087 1123//1123 +f 1124//1124 1120//1120 1123//1123 +f 1119//1119 1123//1123 1120//1120 +f 1125//1125 1121//1121 1124//1124 +f 1120//1120 1124//1124 1121//1121 +f 1126//1126 1122//1122 1125//1125 +f 1121//1121 1125//1125 1122//1122 +f 1127//1127 1123//1123 1087//1087 +f 1087//1087 1088//1088 1127//1127 +f 1128//1128 1124//1124 1127//1127 +f 1123//1123 1127//1127 1124//1124 +f 1129//1129 1125//1125 1128//1128 +f 1124//1124 1128//1128 1125//1125 +f 1130//1130 1126//1126 1129//1129 +f 1125//1125 1129//1129 1126//1126 +f 1131//1131 1127//1127 1088//1088 +f 1088//1088 1089//1089 1131//1131 +f 1132//1132 1128//1128 1131//1131 +f 1127//1127 1131//1131 1128//1128 +f 1133//1133 1129//1129 1132//1132 +f 1128//1128 1132//1132 1129//1129 +f 1134//1134 1130//1130 1133//1133 +f 1129//1129 1133//1133 1130//1130 +f 1135//1135 1131//1131 1090//1090 +f 1089//1089 1090//1090 1131//1131 +f 1136//1136 1132//1132 1131//1131 +f 1131//1131 1135//1135 1136//1136 +f 1137//1137 1133//1133 1132//1132 +f 1132//1132 1136//1136 1137//1137 +f 1138//1138 1134//1134 1133//1133 +f 1133//1133 1137//1137 1138//1138 +f 1139//1139 1135//1135 1091//1091 +f 1090//1090 1091//1091 1135//1135 +f 1140//1140 1136//1136 1135//1135 +f 1135//1135 1139//1139 1140//1140 +f 1141//1141 1137//1137 1136//1136 +f 1136//1136 1140//1140 1141//1141 +f 1142//1142 1138//1138 1137//1137 +f 1137//1137 1141//1141 1142//1142 +f 1143//1143 1139//1139 1092//1092 +f 1091//1091 1092//1092 1139//1139 +f 1144//1144 1140//1140 1139//1139 +f 1139//1139 1143//1143 1144//1144 +f 1145//1145 1141//1141 1140//1140 +f 1140//1140 1144//1144 1145//1145 +f 1146//1146 1142//1142 1141//1141 +f 1141//1141 1145//1145 1146//1146 +f 1147//1147 1143//1143 1092//1092 +f 1092//1092 1093//1093 1147//1147 +f 1148//1148 1144//1144 1147//1147 +f 1143//1143 1147//1147 1144//1144 +f 1149//1149 1145//1145 1148//1148 +f 1144//1144 1148//1148 1145//1145 +f 1150//1150 1146//1146 1149//1149 +f 1145//1145 1149//1149 1146//1146 +f 1151//1151 1147//1147 1093//1093 +f 1093//1093 1094//1094 1151//1151 +f 1152//1152 1148//1148 1151//1151 +f 1147//1147 1151//1151 1148//1148 +f 1153//1153 1149//1149 1152//1152 +f 1148//1148 1152//1152 1149//1149 +f 1154//1154 1150//1150 1153//1153 +f 1149//1149 1153//1153 1150//1150 +f 1155//1155 1151//1151 1094//1094 +f 1094//1094 1095//1095 1155//1155 +f 1156//1156 1152//1152 1155//1155 +f 1151//1151 1155//1155 1152//1152 +f 1157//1157 1153//1153 1156//1156 +f 1152//1152 1156//1156 1153//1153 +f 1158//1158 1154//1154 1157//1157 +f 1153//1153 1157//1157 1154//1154 +f 1159//1159 1155//1155 1096//1096 +f 1095//1095 1096//1096 1155//1155 +f 1160//1160 1156//1156 1155//1155 +f 1155//1155 1159//1159 1160//1160 +f 1161//1161 1157//1157 1156//1156 +f 1156//1156 1160//1160 1161//1161 +f 1162//1162 1158//1158 1157//1157 +f 1157//1157 1161//1161 1162//1162 +f 1163//1163 1159//1159 1097//1097 +f 1096//1096 1097//1097 1159//1159 +f 1164//1164 1160//1160 1159//1159 +f 1159//1159 1163//1163 1164//1164 +f 1165//1165 1161//1161 1160//1160 +f 1160//1160 1164//1164 1165//1165 +f 1166//1166 1162//1162 1161//1161 +f 1161//1161 1165//1165 1166//1166 +f 1167//1167 1163//1163 1098//1098 +f 1097//1097 1098//1098 1163//1163 +f 1168//1168 1164//1164 1163//1163 +f 1163//1163 1167//1167 1168//1168 +f 1169//1169 1165//1165 1164//1164 +f 1164//1164 1168//1168 1169//1169 +f 1170//1170 1166//1166 1165//1165 +f 1165//1165 1169//1169 1170//1170 +f 1171//1171 1167//1167 1098//1098 +f 1098//1098 1099//1099 1171//1171 +f 1172//1172 1168//1168 1171//1171 +f 1167//1167 1171//1171 1168//1168 +f 1173//1173 1169//1169 1172//1172 +f 1168//1168 1172//1172 1169//1169 +f 1174//1174 1170//1170 1173//1173 +f 1169//1169 1173//1173 1170//1170 +f 1175//1175 1171//1171 1099//1099 +f 1099//1099 1100//1100 1175//1175 +f 1176//1176 1172//1172 1175//1175 +f 1171//1171 1175//1175 1172//1172 +f 1177//1177 1173//1173 1176//1176 +f 1172//1172 1176//1176 1173//1173 +f 1178//1178 1174//1174 1177//1177 +f 1173//1173 1177//1177 1174//1174 +f 1179//1179 1175//1175 1100//1100 +f 1100//1100 1101//1101 1179//1179 +f 1180//1180 1176//1176 1179//1179 +f 1175//1175 1179//1179 1176//1176 +f 1181//1181 1177//1177 1180//1180 +f 1176//1176 1180//1180 1177//1177 +f 1182//1182 1178//1178 1181//1181 +f 1177//1177 1181//1181 1178//1178 +f 1183//1183 1179//1179 1102//1102 +f 1101//1101 1102//1102 1179//1179 +f 1184//1184 1180//1180 1179//1179 +f 1179//1179 1183//1183 1184//1184 +f 1185//1185 1181//1181 1180//1180 +f 1180//1180 1184//1184 1185//1185 +f 1186//1186 1182//1182 1181//1181 +f 1181//1181 1185//1185 1186//1186 +f 1187//1187 1183//1183 1103//1103 +f 1102//1102 1103//1103 1183//1183 +f 1188//1188 1184//1184 1183//1183 +f 1183//1183 1187//1187 1188//1188 +f 1189//1189 1185//1185 1184//1184 +f 1184//1184 1188//1188 1189//1189 +f 1190//1190 1186//1186 1185//1185 +f 1185//1185 1189//1189 1190//1190 +f 1191//1191 1187//1187 1104//1104 +f 1103//1103 1104//1104 1187//1187 +f 1192//1192 1188//1188 1187//1187 +f 1187//1187 1191//1191 1192//1192 +f 1193//1193 1189//1189 1188//1188 +f 1188//1188 1192//1192 1193//1193 +f 1194//1194 1190//1190 1189//1189 +f 1189//1189 1193//1193 1194//1194 +f 1195//1195 1191//1191 1104//1104 +f 1104//1104 1105//1105 1195//1195 +f 1196//1196 1192//1192 1195//1195 +f 1191//1191 1195//1195 1192//1192 +f 1197//1197 1193//1193 1196//1196 +f 1192//1192 1196//1196 1193//1193 +f 1198//1198 1194//1194 1197//1197 +f 1193//1193 1197//1197 1194//1194 +f 1199//1199 1195//1195 1105//1105 +f 1105//1105 1106//1106 1199//1199 +f 1200//1200 1196//1196 1199//1199 +f 1195//1195 1199//1199 1196//1196 +f 1201//1201 1197//1197 1200//1200 +f 1196//1196 1200//1200 1197//1197 +f 1202//1202 1198//1198 1201//1201 +f 1197//1197 1201//1201 1198//1198 +f 1108//1108 1199//1199 1106//1106 +f 1106//1106 1082//1082 1108//1108 +f 1110//1110 1200//1200 1108//1108 +f 1199//1199 1108//1108 1200//1200 +f 1112//1112 1201//1201 1110//1110 +f 1200//1200 1110//1110 1201//1201 +f 1114//1114 1202//1202 1112//1112 +f 1201//1201 1112//1112 1202//1202 diff --git a/build.zig b/build.zig index 1015a9e..0a72756 100644 --- a/build.zig +++ b/build.zig @@ -12,8 +12,11 @@ pub fn build(b: *std.Build) void { .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, + .link_libc = true, }); + // exe.addIncludePath(b.path("include/")); + // --- Dependencies --- // Vulkan @@ -46,6 +49,9 @@ pub fn build(b: *std.Build) void { exe.root_module.addImport("zstbi", zstbi.module("root")); exe.linkLibrary(zstbi.artifact("zstbi")); + // Assimp + exe.linkSystemLibrary("assimp"); + // --- b.installArtifact(exe); diff --git a/build.zig.zon b/build.zig.zon index e6f7f3b..bf20cb5 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -10,6 +10,10 @@ .url = "https://github.com/Snektron/vulkan-zig/archive/9f6e6177b1fdb3ed22231d9216a24480e84cfa5e.tar.gz", .hash = "1220f2961df224f7d35dee774b26194b8b937cc252fa8e4023407776c58521d53e38", }, + .obj = .{ + .url = "https://github.com/chip2n/zig-obj/archive/58f524ed6834790b29ac1e97b2f9e6b7de7b5346.tar.gz", + .hash = "1220ff46dcbeb40677c0ce8560b954885beec8b699835d9e6686beab72aa9d422c79", + }, }, .paths = .{ diff --git a/src/Mesh.zig b/src/Mesh.zig index 74e52d4..1625803 100644 --- a/src/Mesh.zig +++ b/src/Mesh.zig @@ -49,7 +49,7 @@ pub fn new( self.allocator = allocator; try self.createVertexBuffer(transfer_queue, transfer_command_pool, vertices); - try self.createIndexBuffer(transfer_queue, transfer_command_pool, indices); + // try self.createIndexBuffer(transfer_queue, transfer_command_pool, indices); self.ubo_model = .{ .model = zm.identity() }; self.tex_id = tex_id; diff --git a/src/MeshModel.zig b/src/MeshModel.zig new file mode 100644 index 0000000..d6df60d --- /dev/null +++ b/src/MeshModel.zig @@ -0,0 +1,195 @@ +const std = @import("std"); +const vk = @import("vulkan"); +const zm = @import("zmath"); +const ai = @import("assimp.zig").c; + +const Mesh = @import("Mesh.zig"); +const Device = @import("vulkan_renderer.zig").Device; +const Instance = @import("vulkan_renderer.zig").Instance; +const Vertex = @import("utilities.zig").Vertex; + +const Self = @This(); + +allocator: std.mem.Allocator, + +mesh_list: std.ArrayList(Mesh), +model: zm.Mat, + +pub fn new(allocator: std.mem.Allocator, mesh_list: std.ArrayList(Mesh)) Self { + var new_mesh_model: Self = undefined; + + new_mesh_model.allocator = allocator; + new_mesh_model.mesh_list = mesh_list; + new_mesh_model.model = zm.identity(); + + return new_mesh_model; +} + +pub fn destroy(self: *Self) void { + for (0..self.mesh_list.items.len) |i| { + self.mesh_list.items[i].destroyBuffers(); + } + self.mesh_list.deinit(); +} + +pub fn getMesh(self: Self, idx: usize) !Mesh { + if (idx >= self.mesh_list.len - 1) { + return error.MeshIndexOutOfBounds; + } + + return self.mesh_list.items[idx]; +} + +pub fn loadMaterials(allocator: std.mem.Allocator, scene: ai.aiScene) !std.ArrayList(?[]const u8) { + // Create 1:1 sized list of textures + var texture_list = try std.ArrayList(?[]const u8).initCapacity(allocator, scene.mNumMaterials); + + // Go through each material and copy its texture file name (if it exists) + for (0..scene.mNumMaterials) |i| { + // Get the material + const material = scene.mMaterials[i]; + + // Initialise the texture to empty string (will be replaced if the texture exists) + // try texture_list.append(""); + + // Check for diffuse texture (standard detail texture) + if (ai.aiGetMaterialTextureCount(material, ai.aiTextureType_DIFFUSE) != 0) { + // Get the path of the texture file + var path: ai.aiString = undefined; + if (ai.aiGetMaterialTexture( + material, + ai.aiTextureType_DIFFUSE, + 0, + &path, + null, + null, + null, + null, + null, + null, + ) != ai.AI_SUCCESS) { + // Cut of any directory information already present + var it = std.mem.splitBackwardsAny(u8, &path.data, "\\/"); + if (it.next()) |filename| { + // texture_list.items[i] = filename; + texture_list.appendAssumeCapacity(filename); + } + } else { + texture_list.appendAssumeCapacity(null); + } + } else { + texture_list.appendAssumeCapacity(null); + } + } + + return texture_list; +} + +pub fn loadNode( + allocator: std.mem.Allocator, + instance: Instance, + pdev: vk.PhysicalDevice, + device: Device, + transfer_queue: vk.Queue, + transfer_command_pool: vk.CommandPool, + node: *const ai.aiNode, + scene: *const ai.aiScene, + mat_to_tex: []u32, +) !std.ArrayList(Mesh) { + var mesh_list = std.ArrayList(Mesh).init(allocator); + + // Go through each mesh at this node and create it, then add it to our mesh list + for (0..node.mNumMeshes) |i| { + // Load mesh here + try mesh_list.append(try loadMesh( + allocator, + instance, + pdev, + device, + transfer_queue, + transfer_command_pool, + scene.mMeshes[node.mMeshes[i]], + mat_to_tex, + )); + } + + // Go through each node attached to this node and load it, then append their meshes to this node's mesh list + for (0..node.mNumChildren) |i| { + var new_list = try loadNode( + allocator, + instance, + pdev, + device, + transfer_queue, + transfer_command_pool, + node.mChildren[i], + scene, + mat_to_tex, + ); + defer new_list.deinit(); + + try mesh_list.appendSlice(try new_list.toOwnedSlice()); + } + + return mesh_list; +} + +pub fn loadMesh( + allocator: std.mem.Allocator, + instance: Instance, + pdev: vk.PhysicalDevice, + device: Device, + transfer_queue: vk.Queue, + transfer_command_pool: vk.CommandPool, + mesh: *const ai.aiMesh, + mat_to_tex: []u32, +) !Mesh { + var vertices = try std.ArrayList(Vertex).initCapacity(allocator, mesh.mNumVertices); + var indices = std.ArrayList(u32).init(allocator); + defer vertices.deinit(); + defer indices.deinit(); + + // Go through each vertex and copy it across to our vertices + for (0..mesh.mNumVertices) |i| { + var vertex: Vertex = undefined; + + // Set position + vertex.pos = .{ mesh.mVertices[i].x, mesh.mVertices[i].y, mesh.mVertices[i].z }; + + // Set texture coords (if they exist) + if (mesh.mTextureCoords[0] != null) { + vertex.tex = .{ mesh.mTextureCoords[0][i].x, mesh.mTextureCoords[0][i].y }; + } else { + vertex.tex = .{ 0.0, 0.0 }; + } + + // Set colour (just use white for now) + vertex.col = .{ 1.0, 1.0, 1.0 }; + + // vertices.items[i] = vertex; + vertices.appendAssumeCapacity(vertex); + } + + // Iterate over indices through faces and copy across + for (0..mesh.mNumFaces - 1) |i| { + // Get a face + const face = mesh.mFaces[i]; + + // Go through face's indices and add to list + for (0..face.mNumIndices - 1) |j| { + try indices.append(face.mIndices[j]); + } + } + + return try Mesh.new( + instance, + pdev, + device, + transfer_queue, + transfer_command_pool, + vertices.items, + indices.items, + mat_to_tex[mesh.mMaterialIndex], + allocator, + ); +} diff --git a/src/assimp.zig b/src/assimp.zig new file mode 100644 index 0000000..5d17599 --- /dev/null +++ b/src/assimp.zig @@ -0,0 +1,9 @@ +pub const c = @cImport({ + @cInclude("assimp/cimport.h"); + @cInclude("assimp/scene.h"); + @cInclude("assimp/postprocess.h"); +}); + +// pub fn importFile(path: [:0]const u8, flags: c_uint) *const c.aiScene { +// return c.aiImportFile(path.ptr, flags); +// } diff --git a/src/main.zig b/src/main.zig index f0df9ff..e6538d5 100644 --- a/src/main.zig +++ b/src/main.zig @@ -91,14 +91,16 @@ pub fn main() !void { angle -= 360.0; } - var first_model = zm.rotationZ(angle); - var second_model = zm.rotationZ(-angle * 2); + // var first_model = zm.rotationZ(angle); + // var second_model = zm.rotationZ(-angle * 2); - first_model = zm.mul(first_model, zm.translation(1.0, 0.0, -2.5)); - second_model = zm.mul(second_model, zm.translation(-1.0, 0.0, -4.5)); + // first_model = zm.mul(first_model, zm.translation(1.0, 0.0, -2.5)); + // second_model = zm.mul(second_model, zm.translation(-1.0, 0.0, -4.5)); - try vulkan_renderer.updateModel(0, first_model); - try vulkan_renderer.updateModel(1, second_model); + // const first_model = zm.scaling(2.0, 2.0, 0.0); + + // try vulkan_renderer.updateModel(0, first_model); + // try vulkan_renderer.updateModel(1, second_model); try vulkan_renderer.draw(); diff --git a/src/shaders/shader.frag b/src/shaders/shader.frag index 3c347a6..8a57d5b 100644 --- a/src/shaders/shader.frag +++ b/src/shaders/shader.frag @@ -9,5 +9,6 @@ layout(location = 0) out vec4 outColour; layout(set = 1, binding = 0) uniform sampler2D textureSampler; void main() { - outColour = texture(textureSampler, fragTex); + // outColour = texture(textureSampler, fragTex); + outColour = vec4(fragCol, 1.0); } diff --git a/src/string_utils.zig b/src/string_utils.zig new file mode 100644 index 0000000..b789633 --- /dev/null +++ b/src/string_utils.zig @@ -0,0 +1,13 @@ +const std = @import("std"); + +pub const StringError = error{ConcatError}; + +/// Concatenates two strings together using `std.mem.concat()` +pub fn concat(str_1: []const u8, str_2: []const u8, allocator: std.mem.Allocator) StringError![:0]const u8 { + const path_concat = [2][]const u8{ str_1, str_2 }; + + return std.mem.concatWithSentinel(allocator, u8, &path_concat, 0) catch |e| { + std.log.err("[{s}] Failed to concatenate the following strings: '{s}' and '{s}'\n", .{ @errorName(e), str_1, str_2 }); + return StringError.ConcatError; + }; +} diff --git a/src/vulkan_renderer.zig b/src/vulkan_renderer.zig index f1336ec..3d189ae 100644 --- a/src/vulkan_renderer.zig +++ b/src/vulkan_renderer.zig @@ -4,9 +4,10 @@ const vk = @import("vulkan"); const builtin = @import("builtin"); const shaders = @import("shaders"); const zm = @import("zmath"); -// const img = @import("zigimg"); const img = @import("zstbi"); +const assimp = @import("assimp.zig").c; +const StringUtils = @import("string_utils.zig"); const Utilities = @import("utilities.zig"); const QueueFamilyIndices = Utilities.QueueFamilyIndices; const SwapchainDetails = Utilities.SwapchainDetails; @@ -14,6 +15,7 @@ const SwapchainImage = Utilities.SwapchainImage; const Vertex = Utilities.Vertex; const Mesh = @import("Mesh.zig"); +const MeshModel = @import("MeshModel.zig"); const enable_validation_layers = builtin.mode == .Debug; const validation_layers = [_][*:0]const u8{"VK_LAYER_KHRONOS_validation"}; @@ -61,7 +63,7 @@ pub const VulkanRenderer = struct { current_frame: u32 = 0, // Scene objects - meshes: [2]Mesh, + meshes: std.ArrayList(Mesh), // Scene settings ubo_view_projection: UboViewProjection, @@ -104,6 +106,7 @@ pub const VulkanRenderer = struct { texture_images: std.ArrayList(vk.Image), texture_image_memory: std.ArrayList(vk.DeviceMemory), texture_image_views: std.ArrayList(vk.ImageView), + model_list: std.ArrayList(MeshModel), // Pipeline graphics_pipeline: vk.Pipeline, @@ -161,10 +164,12 @@ pub const VulkanRenderer = struct { try self.createSynchronisation(); + self.meshes = std.ArrayList(Mesh).init(self.allocator); self.image_files = std.ArrayList(img.Image).init(self.allocator); self.texture_images = std.ArrayList(vk.Image).init(self.allocator); self.texture_image_memory = std.ArrayList(vk.DeviceMemory).init(self.allocator); self.texture_image_views = std.ArrayList(vk.ImageView).init(self.allocator); + self.model_list = std.ArrayList(MeshModel).init(allocator); self.sampler_descriptor_sets = std.ArrayList(vk.DescriptorSet).init(self.allocator); const aspect: f32 = @as(f32, @floatFromInt(self.extent.width)) / @as(f32, @floatFromInt(self.extent.height)); @@ -185,57 +190,59 @@ pub const VulkanRenderer = struct { // Create meshes // Vertex Data - var mesh_vertices = [_]Vertex{ - .{ .pos = .{ -0.4, 0.4, 0.0 }, .col = .{ 1.0, 0.0, 0.0 }, .tex = .{ 1.0, 1.0 } }, // 0 - .{ .pos = .{ -0.4, -0.4, 0.0 }, .col = .{ 1.0, 0.0, 0.0 }, .tex = .{ 1.0, 0.0 } }, // 1 - .{ .pos = .{ 0.4, -0.4, 0.0 }, .col = .{ 1.0, 0.0, 0.0 }, .tex = .{ 0.0, 0.0 } }, // 2 - .{ .pos = .{ 0.4, 0.4, 0.0 }, .col = .{ 1.0, 0.0, 0.0 }, .tex = .{ 0.0, 1.0 } }, // 3 - }; - var mesh_vertices2 = [_]Vertex{ - .{ .pos = .{ -0.25, 0.6, 0.0 }, .col = .{ 0.0, 0.0, 1.0 }, .tex = .{ 1.0, 1.0 } }, // 0 - .{ .pos = .{ -0.25, -0.6, 0.0 }, .col = .{ 0.0, 0.0, 1.0 }, .tex = .{ 1.0, 0.0 } }, // 1 - .{ .pos = .{ 0.25, -0.6, 0.0 }, .col = .{ 0.0, 0.0, 1.0 }, .tex = .{ 0.0, 0.0 } }, // 2 - .{ .pos = .{ 0.25, 0.6, 0.0 }, .col = .{ 0.0, 0.0, 1.0 }, .tex = .{ 0.0, 1.0 } }, // 3 - }; + // var mesh_vertices = [_]Vertex{ + // .{ .pos = .{ -0.4, 0.4, 0.0 }, .col = .{ 1.0, 0.0, 0.0 }, .tex = .{ 1.0, 1.0 } }, // 0 + // .{ .pos = .{ -0.4, -0.4, 0.0 }, .col = .{ 1.0, 0.0, 0.0 }, .tex = .{ 1.0, 0.0 } }, // 1 + // .{ .pos = .{ 0.4, -0.4, 0.0 }, .col = .{ 1.0, 0.0, 0.0 }, .tex = .{ 0.0, 0.0 } }, // 2 + // .{ .pos = .{ 0.4, 0.4, 0.0 }, .col = .{ 1.0, 0.0, 0.0 }, .tex = .{ 0.0, 1.0 } }, // 3 + // }; + // var mesh_vertices2 = [_]Vertex{ + // .{ .pos = .{ -0.25, 0.6, 0.0 }, .col = .{ 0.0, 0.0, 1.0 }, .tex = .{ 1.0, 1.0 } }, // 0 + // .{ .pos = .{ -0.25, -0.6, 0.0 }, .col = .{ 0.0, 0.0, 1.0 }, .tex = .{ 1.0, 0.0 } }, // 1 + // .{ .pos = .{ 0.25, -0.6, 0.0 }, .col = .{ 0.0, 0.0, 1.0 }, .tex = .{ 0.0, 0.0 } }, // 2 + // .{ .pos = .{ 0.25, 0.6, 0.0 }, .col = .{ 0.0, 0.0, 1.0 }, .tex = .{ 0.0, 1.0 } }, // 3 + // }; + + try self.createMeshModel("cornell_box.obj"); // Index Data - const mesh_indices = [_]u32{ - 0, 1, 2, - 2, 3, 0, - }; + // const mesh_indices = [_]u32{ + // 0, 1, 2, + // 2, 3, 0, + // }; - const first_mesh = try Mesh.new( - self.instance, - self.physical_device, - self.device, - self.graphics_queue.handle, - self.graphics_command_pool, - &mesh_vertices, - &mesh_indices, - try self.createTexture("test.png"), - self.allocator, - ); + // const first_mesh = try Mesh.new( + // self.instance, + // self.physical_device, + // self.device, + // self.graphics_queue.handle, + // self.graphics_command_pool, + // &mesh_vertices, + // &mesh_indices, + // try self.createTexture("test.png"), + // self.allocator, + // ); - const second_mesh = try Mesh.new( - self.instance, - self.physical_device, - self.device, - self.graphics_queue.handle, - self.graphics_command_pool, - &mesh_vertices2, - &mesh_indices, - try self.createTexture("giraffe.png"), - self.allocator, - ); + // const second_mesh = try Mesh.new( + // self.instance, + // self.physical_device, + // self.device, + // self.graphics_queue.handle, + // self.graphics_command_pool, + // &mesh_vertices2, + // &mesh_indices, + // try self.createTexture("giraffe.png"), + // self.allocator, + // ); - self.meshes = [_]Mesh{ first_mesh, second_mesh }; + // self.meshes = [_]Mesh{ first_mesh, second_mesh }; return self; } pub fn updateModel(self: *Self, model_id: u32, new_model: zm.Mat) !void { - if (model_id < self.meshes.len) { - self.meshes[model_id].ubo_model.model = new_model; + if (model_id < self.meshes.items.len) { + self.meshes.items[model_id].ubo_model.model = new_model; } } @@ -302,6 +309,11 @@ pub const VulkanRenderer = struct { self.instance.destroyDebugUtilsMessengerEXT(self.debug_utils.?, null); } + for (0..self.model_list.items.len) |i| { + self.model_list.items[i].destroy(); + } + self.model_list.deinit(); + for (0..self.image_files.items.len) |i| { self.image_files.items[i].deinit(); } @@ -341,9 +353,10 @@ pub const VulkanRenderer = struct { self.allocator.free(self.vp_uniform_buffer_memory); self.allocator.free(self.descriptor_sets); - for (self.meshes) |mesh| { + for (self.meshes.items) |mesh| { mesh.destroyBuffers(); } + self.meshes.deinit(); for (0..MAX_FRAME_DRAWS) |i| { self.device.destroySemaphore(self.render_finished[i], null); @@ -1197,7 +1210,7 @@ pub const VulkanRenderer = struct { command_buffer.setViewport(0, 1, @ptrCast(&self.viewport)); command_buffer.setScissor(0, 1, @ptrCast(&self.scissor)); - for (self.meshes) |mesh| { + for (self.meshes.items) |mesh| { // Bind pipeline to be used in render pass command_buffer.bindPipeline(.graphics, self.graphics_pipeline); @@ -1209,7 +1222,7 @@ pub const VulkanRenderer = struct { command_buffer.bindVertexBuffers(0, 1, &vertex_buffers, &offsets); // Bind mesh index buffer, with 0 offset and using the uint32 type - command_buffer.bindIndexBuffer(mesh.index_buffer, 0, .uint32); + // command_buffer.bindIndexBuffer(mesh.index_buffer, 0, .uint32); // Push constants to given shader stage directly (no buffer) command_buffer.pushConstants( @@ -1237,7 +1250,8 @@ pub const VulkanRenderer = struct { ); // Execute a pipeline - command_buffer.drawIndexed(mesh.index_count, 1, 0, 0, 0); + // command_buffer.drawIndexed(mesh.index_count, 1, 0, 0, 0); + command_buffer.draw(mesh.vertex_count, 1, 0, 0); } // End render pass @@ -1531,15 +1545,10 @@ pub const VulkanRenderer = struct { &image_staging_buffer_memory, ); - std.debug.print("Image size: {d}\n", .{image_size}); - // Copy data to staging buffer const data = try self.device.mapMemory(image_staging_buffer_memory, 0, image_size, .{}); const image_data: [*]u8 = @ptrCast(@alignCast(data)); - // std.debug.print("Data len: {d}\tImage len:{d}\n", .{ image_data., image.len }); - // image_data.* = image; - // std.mem.copyForwards(u8, image_data, image); @memcpy(image_data, image[0..]); self.device.unmapMemory(image_staging_buffer_memory); @@ -1614,6 +1623,55 @@ pub const VulkanRenderer = struct { return descriptor_loc; } + fn createMeshModel(self: *Self, model_file: []const u8) !void { + const path = try StringUtils.concat("assets/models/", model_file, self.allocator); + defer self.allocator.free(path); + + // Import model scene + const scene = assimp.aiImportFile( + path.ptr, + assimp.aiProcess_Triangulate | assimp.aiProcess_FlipUVs | assimp.aiProcess_JoinIdenticalVertices, + ); + + // Get array of all materials with 1:1 ID placement + const texture_names = try MeshModel.loadMaterials(self.allocator, scene.*); + defer texture_names.deinit(); + + // Conversion from the material list IDs to our descriptor array IDs + var mat_to_tex = try std.ArrayList(u32).initCapacity(self.allocator, texture_names.items.len); + defer mat_to_tex.deinit(); + + // Loop over texture names and create textures for them + for (0..texture_names.items.len) |i| { + if (texture_names.items[i]) |texture_name| { + // Create texture and set value to index of new texture + // mat_to_tex.items[i] = try self.createTexture(texture_name); + mat_to_tex.appendAssumeCapacity(try self.createTexture(texture_name)); + } else { + // If material had no texture, set to 0 to indicate no texture. Texture 0 will be reserver for a default texture + // mat_to_tex.items[i] = 0; + mat_to_tex.appendAssumeCapacity(0); + } + } + + // Load in all our meshes + const model_meshes = try MeshModel.loadNode( + self.allocator, + self.instance, + self.physical_device, + self.device, + self.graphics_queue.handle, + self.graphics_command_pool, + scene.*.mRootNode, + scene, + mat_to_tex.items, + ); + + // Create a mesh model and add to our list + const mesh_model = MeshModel.new(self.allocator, model_meshes); + try self.model_list.append(mesh_model); + } + fn createTextureDescriptor(self: *Self, texture_image: vk.ImageView) !u32 { var descriptor_set: vk.DescriptorSet = undefined;