diff --git a/Assets/Models/warped_archway_inner.obj b/Assets/Models/warped_archway_inner.obj
new file mode 100644
index 0000000..0b23346
--- /dev/null
+++ b/Assets/Models/warped_archway_inner.obj
@@ -0,0 +1,103 @@
+# Blender v3.1.2 OBJ File: 'warped_archway.blend'
+# www.blender.org
+mtllib warped_archway_inner.mtl
+o Cube.001
+v 0.333333 -3.000000 2.000000
+v -0.333333 -3.000000 2.000000
+v -0.333333 1.000000 2.000000
+v 0.333333 1.000000 2.000000
+v -0.333333 2.000000 1.633975
+v 0.333333 2.000000 1.633975
+v -0.333333 2.716506 0.625000
+v 0.333333 2.716506 0.625000
+v 0.333333 -3.000000 -2.000000
+v -0.333333 -3.000000 -2.000000
+v -0.333333 1.000000 -2.000000
+v 0.333333 1.000000 -2.000000
+v -0.333333 2.000000 -1.633975
+v 0.333333 2.000000 -1.633975
+v -0.333333 2.716506 -0.625000
+v 0.333333 2.716506 -0.625000
+v -0.333333 2.934758 0.000000
+v 0.333333 2.934758 0.000000
+vt 0.483689 0.500000
+vt 0.567023 0.500000
+vt 0.567023 1.000000
+vt 0.483689 1.000000
+vt 0.675030 0.001549
+vt 0.675030 0.675544
+vt 0.001034 0.675544
+vt 0.001034 0.001549
+vt 0.675030 0.001549
+vt 0.001034 0.001549
+vt 0.001034 0.675544
+vt 0.675030 0.675544
+vt 0.613355 0.844043
+vt 0.062709 0.844043
+vt 0.613355 0.844043
+vt 0.062709 0.844043
+vt 0.443344 0.964774
+vt 0.232720 0.964774
+vt 0.443344 0.964774
+vt 0.232720 0.964774
+vt 0.338032 1.001549
+vt 0.338032 1.001549
+vt 0.650356 0.500000
+vt 0.650356 0.992325
+vt 0.567023 0.992325
+vt 0.900356 0.500000
+vt 0.900356 0.631067
+vt 0.817023 0.631067
+vt 0.817023 0.500000
+vt 0.900356 0.778582
+vt 0.900356 0.904703
+vt 0.817023 0.904703
+vt 0.817023 0.778582
+vt 0.817023 0.500000
+vt 0.817023 0.582751
+vt 0.733690 0.582751
+vt 0.733690 0.500000
+vt 0.817023 0.647515
+vt 0.733690 0.647515
+vt 0.817023 0.778582
+vt 0.817023 0.904703
+vt 0.733690 0.904703
+vt 0.733690 0.778582
+vt 0.733690 0.778582
+vt 0.733690 0.647515
+vt 0.817023 0.647515
+vt 0.817023 0.778582
+vt 0.650356 0.500000
+vt 0.733690 0.500000
+vt 0.733689 0.992325
+vt 0.650356 0.992325
+vn 0.0000 -1.0000 0.0000
+vn 1.0000 0.0000 0.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 -0.3437 0.9391
+vn 0.0000 -0.8153 0.5790
+vn 0.0000 0.9441 -0.3297
+vn 0.0000 0.9441 0.3297
+vn 0.0000 -0.8153 -0.5790
+vn 0.0000 -0.3437 -0.9391
+vn 0.0000 0.0000 1.0000
+usemtl Material
+s off
+f 10/1/1 9/2/1 1/3/1 2/4/1
+f 9/5/2 12/6/2 4/7/2 1/8/2
+f 10/9/3 2/10/3 3/11/3 11/12/3
+f 13/13/3 11/12/3 3/11/3 5/14/3
+f 14/15/2 6/16/2 4/7/2 12/6/2
+f 16/17/2 8/18/2 6/16/2 14/15/2
+f 15/19/3 13/13/3 5/14/3 7/20/3
+f 17/21/3 15/19/3 7/20/3
+f 18/22/2 8/18/2 16/17/2
+f 9/2/4 10/23/4 11/24/4 12/25/4
+f 12/26/5 14/27/5 13/28/5 11/29/5
+f 14/30/6 16/31/6 15/32/6 13/33/6
+f 15/34/7 17/35/7 18/36/7 16/37/7
+f 17/35/8 7/38/8 8/39/8 18/36/8
+f 8/40/9 6/41/9 5/42/9 7/43/9
+f 6/44/10 4/45/10 3/46/10 5/47/10
+f 2/48/11 1/49/11 4/50/11 3/51/11
diff --git a/Assets/Models/warped_archway_outer.obj b/Assets/Models/warped_archway_outer.obj
new file mode 100644
index 0000000..be72f2f
--- /dev/null
+++ b/Assets/Models/warped_archway_outer.obj
@@ -0,0 +1,376 @@
+# Blender v3.1.2 OBJ File: 'warped_archway.blend'
+# www.blender.org
+mtllib warped_archway_outer.mtl
+o Cube
+v 0.647394 0.844489 1.779065
+v 0.648171 -2.982045 2.151808
+v 0.709363 0.915902 2.433678
+v 0.664594 -2.998657 2.306977
+v -0.365853 0.432328 2.026797
+v -0.607156 -3.197818 1.608701
+v -0.508389 0.197726 2.884937
+v -0.571419 -3.207649 2.566312
+v 0.885319 1.402615 2.355126
+v -0.167342 2.020625 2.544348
+v 0.825964 1.201825 1.510522
+v -0.503786 1.659840 1.746546
+v 0.918760 2.795928 1.346349
+v -0.192411 3.395928 0.848057
+v 0.952539 2.178724 0.867699
+v -0.570955 2.509147 0.917104
+v 0.866348 2.929228 0.076846
+v -0.567168 3.720003 0.082938
+v 0.823990 2.815847 0.094488
+v -0.421082 2.697860 0.206205
+v 0.717860 -0.876668 -2.051334
+v 0.788395 -2.713877 -2.076846
+v 0.738271 -0.195421 -2.670219
+v 0.796230 -2.163599 -2.680471
+v -0.558215 0.196403 -1.746387
+v -0.539779 -2.987749 -2.020333
+v -0.529434 0.234490 -3.120491
+v -0.582052 -3.192422 -2.953756
+v 0.863061 1.766774 -2.437051
+v -0.547794 2.079888 -2.869729
+v 0.810009 1.741567 -1.814929
+v -0.427862 1.309528 -1.877600
+v 0.610907 3.073810 -1.703358
+v -0.482877 3.350197 -1.403843
+v 0.890835 2.138638 -1.221524
+v -0.383479 2.310348 -0.991036
+v 0.701919 0.742347 -2.127160
+v 0.574563 -3.149879 -1.613413
+v 0.755258 0.571463 -2.557435
+v 0.583919 -3.191470 -2.952874
+v 0.836730 -0.925277 1.985887
+v 0.777907 0.013721 2.480864
+v 0.868464 1.702039 1.406959
+v 1.000924 1.855473 2.116263
+v 0.496224 0.798170 1.740209
+v 0.539437 -3.146888 1.939127
+v 0.541496 0.215789 2.770111
+v 0.579392 -3.208660 2.557164
+v 0.737394 1.432710 1.286194
+v 0.887945 1.737966 2.634621
+v 1.006440 2.583314 1.232458
+v 1.054842 2.357859 1.039250
+v 0.832229 2.710802 -0.414260
+v 0.887507 2.973711 -0.470462
+v 0.708033 2.660622 -0.126416
+v 0.703977 3.253709 -0.186615
+v 0.780464 1.378205 -2.306453
+v 0.778853 1.130704 -2.740750
+v 0.793247 2.685123 -1.698149
+v 1.006026 2.118070 -1.371361
+v 0.502719 0.291466 -1.760607
+v 0.514445 0.240581 -3.147381
+v 0.680847 1.180655 -1.864596
+v 0.675958 2.057626 -2.720594
+vt 0.728549 0.333660
+vt 0.727939 0.488445
+vt 0.637598 0.411665
+vt 0.667493 0.311311
+vt 0.972165 0.488450
+vt 0.972165 0.366339
+vt 0.426754 0.481166
+vt 0.382207 0.261516
+vt 0.451599 0.270955
+vt 0.450467 0.481455
+vt 0.549154 0.305364
+vt 0.623136 0.282380
+vt 0.451649 0.238598
+vt 0.371200 0.222679
+vt 0.365077 0.189717
+vt 0.435757 0.183767
+vt 0.380644 0.597991
+vt 0.367574 0.499118
+vt 0.395459 0.503420
+vt 0.413741 0.630121
+vt 0.406652 0.157237
+vt 0.349560 0.163655
+vt 0.299448 0.131390
+vt 0.323745 0.105595
+vt 0.367869 0.791145
+vt 0.367574 0.692584
+vt 0.476533 0.663523
+vt 0.476533 0.817917
+vt 0.241329 0.117343
+vt 0.246101 0.099954
+vt 0.487697 0.244218
+vt 0.609810 0.244220
+vt 0.632469 0.683117
+vt 0.487697 0.719368
+vt 0.490975 0.619353
+vt 0.638664 0.598414
+vt 0.739102 0.173118
+vt 0.677718 0.156357
+vt 0.605826 0.038705
+vt 0.727939 0.000000
+vt 0.972165 0.000005
+vt 0.961001 0.071109
+vt 0.076558 0.470428
+vt 0.033636 0.471151
+vt 0.039164 0.284346
+vt 0.100003 0.285093
+vt 0.612300 0.194162
+vt 0.517383 0.145003
+vt 0.055527 0.232462
+vt 0.078421 0.192130
+vt 0.096554 0.211856
+vt 0.099344 0.233918
+vt 0.092362 0.135041
+vt 0.131115 0.033647
+vt 0.167140 0.144128
+vt 0.123976 0.185419
+vt 0.220470 0.081351
+vt 0.212217 0.125339
+vt 0.641939 0.531220
+vt 0.518673 0.488450
+vt 0.245480 0.828706
+vt 0.274341 0.712197
+vt 0.324123 0.708701
+vt 0.314995 0.828706
+vt 0.633311 0.820407
+vt 0.488539 0.856658
+vt 0.641939 0.933953
+vt 0.519936 0.934078
+vt 0.122859 0.558692
+vt 0.009318 0.580311
+vt 0.008501 0.532498
+vt 0.122932 0.499118
+vt 0.122932 0.782307
+vt 0.000000 0.792566
+vt 0.765884 0.620884
+vt 0.785962 0.497689
+vt 0.864960 0.488450
+vt 0.864959 0.608801
+vt 0.367574 0.708701
+vt 0.245480 0.707583
+vt 0.245480 0.499118
+vt 0.367574 0.500236
+vt 0.470351 0.513263
+vt 0.470351 0.663523
+vt 0.642202 0.646264
+vt 0.644841 0.523802
+vt 0.765884 0.488450
+vt 0.739265 0.630786
+vt 0.641939 0.773881
+vt 0.763989 0.774472
+vt 0.891645 0.620884
+vt 0.891645 0.771262
+vt 0.845476 0.782186
+vt 0.850291 0.657233
+vt 0.245480 0.741671
+vt 0.123829 0.734349
+vt 0.122932 0.506009
+vt 0.245480 0.499118
+vt 0.794312 0.629453
+vt 0.845476 0.620884
+vt 0.845476 0.741235
+vt 0.765885 0.751378
+vt 0.765884 1.000000
+vt 0.643834 0.999409
+vt 0.362910 0.709700
+vt 0.365235 0.800398
+vt 0.143363 0.258466
+vt 0.102283 0.497039
+vt 0.003594 0.499118
+vt 0.000000 0.256387
+vt 0.484103 0.256387
+vt 0.344151 0.237726
+vt 0.346953 0.175163
+vt 0.448398 0.170888
+vt 0.392521 0.497238
+vt 0.487697 0.499118
+vt 0.341742 0.082986
+vt 0.278330 0.152225
+vt 0.214279 0.157999
+vt 0.241364 0.054743
+vt 0.122597 0.204897
+vt 0.078038 0.139514
+vt 0.119680 0.000000
+vt 0.180354 0.174937
+vn -0.9965 0.0722 0.0433
+vn -0.9979 0.0641 0.0103
+vn -0.9566 0.2018 0.2102
+vn -0.9507 0.2158 0.2226
+vn -0.9975 0.0486 -0.0521
+vn 0.9535 -0.3014 -0.0007
+vn 0.9966 -0.0149 0.0809
+vn 0.9586 0.1881 0.2138
+vn 0.9559 -0.2277 0.1856
+vn -0.9503 0.2010 0.2379
+vn -0.9236 0.2632 0.2787
+vn 0.9391 -0.3436 -0.0054
+vn 0.9022 -0.4205 -0.0963
+vn 0.9953 -0.0419 -0.0877
+vn 0.9930 -0.1175 -0.0115
+vn 0.0057 -0.9293 0.3693
+vn 0.0008 -0.8212 0.5707
+vn -0.0008 -0.7765 0.6301
+vn 0.9842 -0.1347 0.1149
+vn 0.9266 -0.3694 -0.0708
+vn 0.9784 -0.1399 -0.1524
+vn 0.9828 0.1798 0.0410
+vn -0.2674 -0.1333 -0.9543
+vn 0.9369 -0.0797 -0.3403
+vn 0.9570 0.1674 -0.2367
+vn -0.9709 0.1380 0.1959
+vn 0.3244 0.8856 0.3323
+vn 0.2220 0.8300 0.5116
+vn 0.3829 0.9001 0.2080
+vn -0.9994 0.0200 0.0274
+vn -0.9977 0.0009 0.0682
+vn -0.9971 -0.0120 0.0747
+vn -0.9994 0.0203 0.0278
+vn -1.0000 0.0051 0.0055
+vn 0.9789 -0.1248 0.1616
+vn 0.9727 -0.0388 -0.2289
+vn 0.9781 0.1444 -0.1502
+vn 0.9629 0.0740 0.2594
+vn -0.9956 -0.0809 0.0468
+vn -0.9955 -0.0876 0.0371
+vn 0.9490 -0.3136 -0.0331
+vn 0.9421 0.0265 -0.3343
+vn 0.9735 0.1486 0.1738
+vn 0.9666 -0.1440 0.2122
+vn 0.9393 -0.1624 -0.3021
+vn 0.9355 0.2973 -0.1911
+vn 0.9891 -0.1405 0.0430
+vn 0.9556 -0.2833 -0.0811
+vn 0.9557 0.2787 0.0952
+vn 0.9396 -0.1381 0.3133
+vn -0.9926 -0.1210 -0.0109
+vn 0.1835 0.9035 -0.3874
+vn 0.2565 0.9506 -0.1747
+vn 0.1400 0.8582 -0.4939
+vn -0.2764 -0.4860 -0.8291
+vn -0.2793 -0.4678 -0.8386
+vn -0.2271 -0.7800 -0.5831
+vn -0.2304 -0.7662 -0.5999
+vn 0.1425 0.7670 0.6256
+vn 0.0440 0.0201 0.9988
+vn 0.0418 0.0367 0.9985
+vn 0.0285 0.1351 0.9904
+vn -0.1555 -0.2157 -0.9640
+vn -0.1068 -0.1150 -0.9876
+vn 0.2546 -0.0076 -0.9670
+vn 0.0159 0.0285 -0.9995
+vn 0.0282 -0.9985 -0.0467
+vn 0.0567 -0.0777 0.9954
+vn -0.0056 -0.6150 0.7885
+vn 0.0554 0.4721 -0.8798
+vn 0.0553 0.4937 -0.8679
+vn 0.0213 0.0634 -0.9978
+vn 0.0222 0.0666 -0.9975
+vn 0.0024 0.1163 0.9932
+vn -0.0972 0.0412 0.9944
+vn -0.0789 0.0552 0.9954
+vn -0.1783 -0.0212 0.9838
+vn -0.0894 -0.9901 0.1086
+vn -0.0116 -0.0526 -0.9985
+vn -0.1780 -0.9191 -0.3516
+vn 0.9570 0.2292 0.1779
+vn 0.9683 -0.1328 0.2118
+vn 0.9589 -0.2263 -0.1712
+vn 0.9662 0.1482 -0.2111
+vn 0.9201 -0.3822 -0.0853
+vn 0.8725 -0.4494 -0.1919
+vn 0.9782 0.1612 -0.1308
+vn 0.9982 -0.0601 0.0059
+vn 0.2883 -0.6405 -0.7118
+vn 0.5971 -0.0631 -0.7997
+vn 0.8683 0.2923 0.4008
+vn 0.8585 -0.0408 0.5112
+vn 0.9466 0.3217 -0.0193
+vn 0.8781 -0.4654 -0.1112
+vn 0.8467 -0.5320 0.0021
+vn 0.8876 -0.4526 -0.0857
+vn 0.9244 0.3592 0.1285
+vn 0.9249 0.2859 0.2505
+vn 0.9228 -0.2892 -0.2545
+vn 0.8877 -0.1576 -0.4326
+vn 0.8463 -0.1035 -0.5225
+vn 0.9058 0.4237 0.0071
+vn 0.8824 0.0112 0.4705
+vn 0.8750 -0.1535 0.4592
+vn 0.8528 -0.4998 -0.1513
+vn 0.7835 -0.5414 -0.3049
+vn 0.8837 0.3469 -0.3143
+vn 0.8615 0.4642 -0.2057
+vn 0.8315 -0.4551 0.3187
+vn 0.8409 0.5211 -0.1463
+vn 0.9205 -0.3328 0.2048
+vn 0.9123 -0.3161 -0.2604
+vn 0.9743 0.1769 -0.1398
+vn 0.9659 -0.0206 0.2582
+usemtl Material
+s 1
+f 5/1/1 7/2/2 10/3/3 12/4/4
+f 8/5/5 7/2/2 5/1/1 6/6/5
+f 2/7/6 41/8/7 42/9/8 4/10/9
+f 12/4/4 10/3/3 14/11/10 16/12/11
+f 3/13/12 1/14/13 11/15/14 9/16/15
+f 55/17/16 20/18/16 36/19/17 35/20/18
+f 44/21/19 43/22/20 52/23/21 51/24/22
+f 55/25/23 20/26/23 18/27/23 56/28/23
+f 51/24/22 52/23/21 19/29/24 17/30/25
+f 16/12/11 14/11/10 18/31/26 20/32/26
+f 14/33/27 13/34/28 56/35/29 18/36/29
+f 25/37/30 32/38/31 30/39/32 27/40/33
+f 28/41/34 26/42/34 25/37/30 27/40/33
+f 22/43/35 24/44/36 23/45/37 21/46/38
+f 32/38/31 36/47/39 34/48/40 30/39/32
+f 39/49/41 58/50/42 57/51/43 37/52/44
+f 29/53/45 59/54/46 60/55/47 31/56/48
+f 59/54/46 54/57/49 53/58/50 60/55/47
+f 36/47/39 20/32/51 18/31/51 34/48/40
+f 34/59/52 18/36/53 56/35/53 33/60/54
+f 49/61/55 12/62/56 16/63/57 15/64/58
+f 10/65/59 50/66/59 13/34/28 14/33/27
+f 7/67/60 47/68/61 50/66/62 10/65/62
+f 45/69/63 5/70/64 12/71/56 49/72/55
+f 5/70/64 45/69/63 46/73/65 6/74/66
+f 6/75/67 46/76/67 48/77/67 8/78/67
+f 47/79/61 7/80/60 8/81/68 48/82/68
+f 35/20/18 36/19/17 32/83/69 63/84/69
+f 30/85/70 34/86/52 33/87/54 64/88/71
+f 27/89/72 30/85/70 64/88/71 62/90/73
+f 63/91/74 32/92/74 25/93/75 61/94/76
+f 26/95/77 38/96/77 61/97/76 25/98/75
+f 26/99/78 28/100/78 40/101/78 38/102/78
+f 40/103/79 28/104/79 27/89/72 62/90/73
+f 15/64/58 16/63/57 20/105/80 55/106/80
+f 22/43/35 21/46/38 61/107/81 38/108/82
+f 23/45/37 24/44/36 40/109/83 62/110/84
+f 21/46/38 23/45/37 62/110/84 61/107/81
+f 24/44/36 22/43/35 38/108/82 40/109/83
+f 1/14/13 3/13/12 47/111/85 45/112/86
+f 9/16/15 11/15/14 49/113/87 50/114/88
+f 11/15/89 1/14/89 45/112/89 49/113/89
+f 3/13/12 9/16/15 50/114/88 47/111/85
+f 41/8/90 2/7/90 46/115/65 45/112/63
+f 4/10/9 42/9/8 47/111/91 48/116/92
+f 42/9/8 45/112/93 47/111/91
+f 2/7/6 4/10/9 48/116/94 46/115/94
+f 42/9/8 41/8/7 45/112/93
+f 43/22/20 44/21/19 50/114/95 49/113/96
+f 44/21/19 51/24/22 13/117/97 50/114/98
+f 52/23/21 43/22/20 49/113/96 15/118/99
+f 17/30/25 19/29/24 55/119/100 56/120/101
+f 19/29/24 52/23/21 15/118/99 55/119/100
+f 51/24/22 17/30/25 56/120/102 13/117/97
+f 53/58/50 54/57/49 56/120/103 55/119/104
+f 29/53/45 31/56/48 63/121/105 64/122/106
+f 59/54/46 29/53/45 64/122/107 33/123/108
+f 31/56/48 60/55/47 35/124/109 63/121/105
+f 60/55/47 53/58/50 55/119/104 35/124/109
+f 54/57/49 59/54/46 33/123/108 56/120/110
+f 39/49/41 61/107/111 62/110/112
+f 57/51/43 64/122/113 63/121/114
+f 37/52/44 63/121/114 61/107/111
+f 58/50/42 62/110/112 64/122/113
+f 57/51/43 58/50/42 64/122/113
+f 58/50/42 39/49/41 62/110/112
+f 39/49/41 37/52/44 61/107/111
+f 37/52/44 57/51/43 63/121/114
diff --git a/Assets/Models/warped_building.obj b/Assets/Models/warped_building.obj
new file mode 100644
index 0000000..250555f
--- /dev/null
+++ b/Assets/Models/warped_building.obj
@@ -0,0 +1,3545 @@
+# Blender v3.1.2 OBJ File: 'warped_building.blend'
+# www.blender.org
+mtllib warped_building.mtl
+o Cube
+v 0.750000 0.750000 -1.000000
+v 0.750000 1.000000 -0.750000
+v 1.000000 0.750000 -0.750000
+v 0.750000 0.926777 -0.926777
+v 0.894338 0.894338 -0.894338
+v 0.926777 0.926777 -0.750000
+v 0.926777 0.750000 -0.926777
+v 0.750000 -1.000000 -0.750000
+v 0.750000 -0.750000 -1.000000
+v 1.000000 -0.750000 -0.750000
+v 0.750000 -0.926777 -0.926777
+v 0.894338 -0.894338 -0.894338
+v 0.926777 -0.750000 -0.926777
+v 0.926777 -0.926777 -0.750000
+v 1.000000 0.750000 0.750000
+v 0.750000 1.000000 0.750000
+v 0.750000 0.750000 1.000000
+v 0.926777 0.926777 0.750000
+v 0.894338 0.894338 0.894338
+v 0.750000 0.926777 0.926777
+v 0.926777 0.750000 0.926777
+v 1.000000 -0.750000 0.750000
+v 0.750000 -0.750000 1.000000
+v 0.750000 -1.000000 0.750000
+v 0.926777 -0.750000 0.926777
+v 0.894338 -0.894338 0.894338
+v 0.750000 -0.926777 0.926777
+v 0.926777 -0.926777 0.750000
+v -0.750000 0.750000 -1.000000
+v -1.000000 0.750000 -0.750000
+v -0.750000 1.000000 -0.750000
+v -0.926777 0.750000 -0.926777
+v -0.894338 0.894338 -0.894338
+v -0.926777 0.926777 -0.750000
+v -0.750000 0.926777 -0.926777
+v -1.000000 -0.750000 -0.750000
+v -0.750000 -0.750000 -1.000000
+v -0.750000 -1.000000 -0.750000
+v -0.926777 -0.750000 -0.926777
+v -0.894338 -0.894338 -0.894338
+v -0.750000 -0.926777 -0.926777
+v -0.926777 -0.926777 -0.750000
+v -1.000000 0.750000 0.750000
+v -0.750000 0.750000 1.000000
+v -0.750000 1.000000 0.750000
+v -0.926777 0.750000 0.926777
+v -0.894338 0.894338 0.894338
+v -0.750000 0.926777 0.926777
+v -0.926777 0.926777 0.750000
+v -0.750000 -1.000000 0.750000
+v -0.750000 -0.750000 1.000000
+v -1.000000 -0.750000 0.750000
+v -0.750000 -0.926777 0.926777
+v -0.894338 -0.894338 0.894338
+v -0.926777 -0.750000 0.926777
+v -0.926777 -0.926777 0.750000
+v 0.564958 1.750000 -1.115044
+v 0.608370 2.000000 -0.868842
+v 0.854572 1.750000 -0.912254
+v 0.577673 1.926777 -1.042933
+v 0.725451 1.894338 -1.036051
+v 0.782461 1.926777 -0.899539
+v 0.751764 1.750000 -1.073630
+v 0.608370 0.000000 -0.868842
+v 0.564958 0.250000 -1.115044
+v 0.854572 0.250000 -0.912254
+v 0.577673 0.073223 -1.042933
+v 0.725451 0.105662 -1.036051
+v 0.751764 0.250000 -1.073630
+v 0.782461 0.073223 -0.899539
+v 1.115044 1.750000 0.564958
+v 0.868842 2.000000 0.608370
+v 0.912254 1.750000 0.854572
+v 1.042933 1.926777 0.577673
+v 1.036051 1.894338 0.725451
+v 0.899539 1.926777 0.782461
+v 1.073630 1.750000 0.751764
+v 1.115044 0.250000 0.564958
+v 0.912254 0.250000 0.854572
+v 0.868842 0.000000 0.608370
+v 1.073630 0.250000 0.751764
+v 1.036051 0.105662 0.725451
+v 0.899539 0.073223 0.782461
+v 1.042933 0.073223 0.577673
+v -0.912254 1.750000 -0.854572
+v -1.115044 1.750000 -0.564958
+v -0.868842 2.000000 -0.608370
+v -1.073630 1.750000 -0.751764
+v -1.036051 1.894338 -0.725451
+v -1.042933 1.926777 -0.577673
+v -0.899539 1.926777 -0.782461
+v -1.115044 0.250000 -0.564958
+v -0.912254 0.250000 -0.854572
+v -0.868842 0.000000 -0.608370
+v -1.073630 0.250000 -0.751764
+v -1.036051 0.105662 -0.725451
+v -0.899539 0.073223 -0.782461
+v -1.042933 0.073223 -0.577673
+v -0.854572 1.750000 0.912254
+v -0.564958 1.750000 1.115044
+v -0.608370 2.000000 0.868842
+v -0.751764 1.750000 1.073630
+v -0.725451 1.894338 1.036051
+v -0.577673 1.926777 1.042933
+v -0.782461 1.926777 0.899539
+v -0.608370 0.000000 0.868842
+v -0.564958 0.250000 1.115044
+v -0.854572 0.250000 0.912254
+v -0.577673 0.073223 1.042933
+v -0.725451 0.105662 1.036051
+v -0.751764 0.250000 1.073630
+v -0.782461 0.073223 0.899539
+v 0.362749 2.750000 -1.196208
+v 0.448254 3.000000 -0.961285
+v 0.683178 2.750000 -1.046790
+v 0.387793 2.926777 -1.127400
+v 0.534521 2.894338 -1.146284
+v 0.614370 2.926777 -1.021746
+v 0.553909 2.750000 -1.187862
+v 0.448254 1.000000 -0.961285
+v 0.362749 1.250000 -1.196208
+v 0.683178 1.250000 -1.046790
+v 0.387793 1.073223 -1.127400
+v 0.534521 1.105662 -1.146284
+v 0.553909 1.250000 -1.187862
+v 0.614370 1.073223 -1.021746
+v 1.196208 2.750000 0.362749
+v 0.961285 3.000000 0.448254
+v 1.046790 2.750000 0.683178
+v 1.127400 2.926777 0.387793
+v 1.146284 2.894338 0.534521
+v 1.021746 2.926777 0.614370
+v 1.187862 2.750000 0.553909
+v 1.196208 1.250000 0.362749
+v 1.046790 1.250000 0.683178
+v 0.961285 1.000000 0.448254
+v 1.187862 1.250000 0.553909
+v 1.146284 1.105662 0.534521
+v 1.021746 1.073223 0.614370
+v 1.127400 1.073223 0.387793
+v -1.046790 2.750000 -0.683178
+v -1.196208 2.750000 -0.362749
+v -0.961285 3.000000 -0.448254
+v -1.187862 2.750000 -0.553909
+v -1.146284 2.894338 -0.534521
+v -1.127400 2.926777 -0.387793
+v -1.021746 2.926777 -0.614370
+v -1.196208 1.250000 -0.362749
+v -1.046790 1.250000 -0.683178
+v -0.961285 1.000000 -0.448254
+v -1.187862 1.250000 -0.553909
+v -1.146284 1.105662 -0.534521
+v -1.021746 1.073223 -0.614370
+v -1.127400 1.073223 -0.387793
+v -0.683178 2.750000 1.046790
+v -0.362749 2.750000 1.196208
+v -0.448254 3.000000 0.961285
+v -0.553909 2.750000 1.187862
+v -0.534521 2.894338 1.146284
+v -0.387793 2.926777 1.127400
+v -0.614370 2.926777 1.021746
+v -0.448254 1.000000 0.961285
+v -0.362749 1.250000 1.196208
+v -0.683178 1.250000 1.046790
+v -0.387793 1.073223 1.127400
+v -0.534521 1.105662 1.146284
+v -0.553909 1.250000 1.187862
+v -0.614370 1.073223 1.021746
+v 0.149519 3.750000 -1.241025
+v 0.274519 4.000000 -1.024519
+v 0.491025 3.750000 -1.149519
+v 0.186131 3.926777 -1.177612
+v 0.327350 3.894338 -1.221688
+v 0.427612 3.926777 -1.112907
+v 0.339224 3.750000 -1.266001
+v 0.274519 2.000000 -1.024519
+v 0.149519 2.250000 -1.241025
+v 0.491025 2.250000 -1.149519
+v 0.186131 2.073223 -1.177612
+v 0.327350 2.105662 -1.221688
+v 0.339224 2.250000 -1.266001
+v 0.427612 2.073223 -1.112907
+v 1.241025 3.750000 0.149519
+v 1.024519 4.000000 0.274519
+v 1.149519 3.750000 0.491025
+v 1.177612 3.926777 0.186131
+v 1.221688 3.894338 0.327350
+v 1.112907 3.926777 0.427612
+v 1.266001 3.750000 0.339224
+v 1.241025 2.250000 0.149519
+v 1.149519 2.250000 0.491025
+v 1.024519 2.000000 0.274519
+v 1.266001 2.250000 0.339224
+v 1.221688 2.105662 0.327350
+v 1.112907 2.073223 0.427612
+v 1.177612 2.073223 0.186131
+v -1.149519 3.750000 -0.491025
+v -1.241025 3.750000 -0.149519
+v -1.024519 4.000000 -0.274519
+v -1.266001 3.750000 -0.339224
+v -1.221688 3.894338 -0.327350
+v -1.177612 3.926777 -0.186131
+v -1.112907 3.926777 -0.427612
+v -1.241025 2.250000 -0.149519
+v -1.149519 2.250000 -0.491025
+v -1.024519 2.000000 -0.274519
+v -1.266001 2.250000 -0.339224
+v -1.221688 2.105662 -0.327350
+v -1.112907 2.073223 -0.427612
+v -1.177612 2.073223 -0.186131
+v -0.491025 3.750000 1.149519
+v -0.149519 3.750000 1.241025
+v -0.274519 4.000000 1.024519
+v -0.339224 3.750000 1.266001
+v -0.327350 3.894338 1.221688
+v -0.186131 3.926777 1.177612
+v -0.427612 3.926777 1.112907
+v -0.274519 2.000000 1.024519
+v -0.149519 2.250000 1.241025
+v -0.491025 2.250000 1.149519
+v -0.186131 2.073223 1.177612
+v -0.327350 2.105662 1.221688
+v -0.339224 2.250000 1.266001
+v -0.427612 2.073223 1.112907
+v -0.068254 4.750000 -1.248135
+v 0.092443 5.000000 -1.056624
+v 0.283954 4.750000 -1.217321
+v -0.021187 4.926777 -1.192043
+v 0.110233 4.894338 -1.259971
+v 0.227861 4.926777 -1.170254
+v 0.114232 4.750000 -1.305673
+v 0.092443 3.000000 -1.056624
+v -0.068254 3.250000 -1.248135
+v 0.283954 3.250000 -1.217321
+v -0.021187 3.073223 -1.192043
+v 0.110233 3.105662 -1.259971
+v 0.114232 3.250000 -1.305673
+v 0.227861 3.073223 -1.170254
+v 1.248135 4.750000 -0.068254
+v 1.056624 5.000000 0.092443
+v 1.217321 4.750000 0.283954
+v 1.192043 4.926777 -0.021187
+v 1.259971 4.894338 0.110233
+v 1.170254 4.926777 0.227861
+v 1.305673 4.750000 0.114232
+v 1.248135 3.250000 -0.068254
+v 1.217321 3.250000 0.283954
+v 1.056624 3.000000 0.092443
+v 1.305673 3.250000 0.114232
+v 1.259971 3.105662 0.110233
+v 1.170254 3.073223 0.227861
+v 1.192043 3.073223 -0.021187
+v -1.217321 4.750000 -0.283954
+v -1.248135 4.750000 0.068254
+v -1.056624 5.000000 -0.092443
+v -1.305673 4.750000 -0.114232
+v -1.259971 4.894338 -0.110233
+v -1.192043 4.926777 0.021187
+v -1.170254 4.926777 -0.227861
+v -1.248135 3.250000 0.068254
+v -1.217321 3.250000 -0.283954
+v -1.056624 3.000000 -0.092443
+v -1.305673 3.250000 -0.114232
+v -1.259971 3.105662 -0.110233
+v -1.170254 3.073223 -0.227861
+v -1.192043 3.073223 0.021187
+v -0.283954 4.750000 1.217321
+v 0.068254 4.750000 1.248135
+v -0.092443 5.000000 1.056624
+v -0.114232 4.750000 1.305673
+v -0.110233 4.894338 1.259971
+v 0.021187 4.926777 1.192043
+v -0.227861 4.926777 1.170254
+v -0.092443 3.000000 1.056624
+v 0.068254 3.250000 1.248135
+v -0.283954 3.250000 1.217321
+v 0.021187 3.073223 1.192043
+v -0.110233 3.105662 1.259971
+v -0.114232 3.250000 1.305673
+v -0.227861 3.073223 1.170254
+v -0.283954 5.750000 -1.217321
+v -0.092443 6.000000 -1.056624
+v 0.068254 5.750000 -1.248135
+v -0.227861 5.926777 -1.170254
+v -0.110233 5.894338 -1.259971
+v 0.021187 5.926777 -1.192043
+v -0.114232 5.750000 -1.305673
+v -0.092443 4.000000 -1.056624
+v -0.283954 4.250000 -1.217321
+v 0.068254 4.250000 -1.248135
+v -0.227861 4.073223 -1.170254
+v -0.110233 4.105662 -1.259971
+v -0.114232 4.250000 -1.305673
+v 0.021187 4.073223 -1.192043
+v 1.217321 5.750000 -0.283954
+v 1.056624 6.000000 -0.092443
+v 1.248135 5.750000 0.068254
+v 1.170254 5.926777 -0.227861
+v 1.259971 5.894338 -0.110233
+v 1.192043 5.926777 0.021187
+v 1.305673 5.750000 -0.114232
+v 1.217321 4.250000 -0.283954
+v 1.248135 4.250000 0.068254
+v 1.056624 4.000000 -0.092443
+v 1.305673 4.250000 -0.114232
+v 1.259971 4.105662 -0.110233
+v 1.192043 4.073223 0.021187
+v 1.170254 4.073223 -0.227861
+v -1.248135 5.750000 -0.068254
+v -1.217321 5.750000 0.283954
+v -1.056624 6.000000 0.092443
+v -1.305673 5.750000 0.114232
+v -1.259971 5.894338 0.110233
+v -1.170254 5.926777 0.227861
+v -1.192043 5.926777 -0.021187
+v -1.217321 4.250000 0.283954
+v -1.248135 4.250000 -0.068254
+v -1.056624 4.000000 0.092443
+v -1.305673 4.250000 0.114232
+v -1.259971 4.105662 0.110233
+v -1.192043 4.073223 -0.021187
+v -1.170254 4.073223 0.227861
+v -0.068254 5.750000 1.248135
+v 0.283954 5.750000 1.217321
+v 0.092443 6.000000 1.056624
+v 0.114232 5.750000 1.305673
+v 0.110233 5.894338 1.259971
+v 0.227861 5.926777 1.170254
+v -0.021187 5.926777 1.192043
+v 0.092443 4.000000 1.056624
+v 0.283954 4.250000 1.217321
+v -0.068254 4.250000 1.248135
+v 0.227861 4.073223 1.170254
+v 0.110233 4.105662 1.259971
+v 0.114232 4.250000 1.305673
+v -0.021187 4.073223 1.192043
+v -0.491025 6.750000 -1.149519
+v -0.274519 7.000000 -1.024519
+v -0.149519 6.750000 -1.241025
+v -0.427612 6.926777 -1.112907
+v -0.327350 6.894338 -1.221688
+v -0.186131 6.926777 -1.177612
+v -0.339224 6.750000 -1.266001
+v -0.274519 5.000000 -1.024519
+v -0.491025 5.250000 -1.149519
+v -0.149519 5.250000 -1.241025
+v -0.427612 5.073223 -1.112907
+v -0.327350 5.105662 -1.221688
+v -0.339224 5.250000 -1.266001
+v -0.186131 5.073223 -1.177612
+v 1.149519 6.750000 -0.491025
+v 1.024519 7.000000 -0.274519
+v 1.241025 6.750000 -0.149519
+v 1.112907 6.926777 -0.427612
+v 1.221688 6.894338 -0.327350
+v 1.177612 6.926777 -0.186131
+v 1.266001 6.750000 -0.339224
+v 1.149519 5.250000 -0.491025
+v 1.241025 5.250000 -0.149519
+v 1.024519 5.000000 -0.274519
+v 1.266001 5.250000 -0.339224
+v 1.221688 5.105662 -0.327350
+v 1.177612 5.073223 -0.186131
+v 1.112907 5.073223 -0.427612
+v -1.241025 6.750000 0.149519
+v -1.149519 6.750000 0.491025
+v -1.024519 7.000000 0.274519
+v -1.266001 6.750000 0.339224
+v -1.221688 6.894338 0.327350
+v -1.112907 6.926777 0.427612
+v -1.177612 6.926777 0.186131
+v -1.149519 5.250000 0.491025
+v -1.241025 5.250000 0.149519
+v -1.024519 5.000000 0.274519
+v -1.266001 5.250000 0.339224
+v -1.221688 5.105662 0.327350
+v -1.177612 5.073223 0.186131
+v -1.112907 5.073223 0.427612
+v 0.149519 6.750000 1.241025
+v 0.491025 6.750000 1.149519
+v 0.274519 7.000000 1.024519
+v 0.339224 6.750000 1.266001
+v 0.327350 6.894338 1.221688
+v 0.427612 6.926777 1.112907
+v 0.186131 6.926777 1.177612
+v 0.274519 5.000000 1.024519
+v 0.491025 5.250000 1.149519
+v 0.149519 5.250000 1.241025
+v 0.427612 5.073223 1.112907
+v 0.327350 5.105662 1.221688
+v 0.339224 5.250000 1.266001
+v 0.186131 5.073223 1.177612
+v -0.683177 7.750000 -1.046790
+v -0.448254 8.000000 -0.961285
+v -0.362749 7.750000 -1.196208
+v -0.614370 7.926777 -1.021746
+v -0.534521 7.894338 -1.146284
+v -0.387793 7.926777 -1.127400
+v -0.553909 7.750000 -1.187862
+v -0.448254 6.000000 -0.961285
+v -0.683177 6.250000 -1.046790
+v -0.362749 6.250000 -1.196208
+v -0.614370 6.073223 -1.021746
+v -0.534521 6.105662 -1.146284
+v -0.553909 6.250000 -1.187862
+v -0.387793 6.073223 -1.127400
+v 1.046790 7.750000 -0.683177
+v 0.961285 8.000000 -0.448254
+v 1.196208 7.750000 -0.362749
+v 1.021746 7.926777 -0.614370
+v 1.146284 7.894338 -0.534521
+v 1.127400 7.926777 -0.387793
+v 1.187862 7.750000 -0.553909
+v 1.046790 6.250000 -0.683177
+v 1.196208 6.250000 -0.362749
+v 0.961285 6.000000 -0.448254
+v 1.187862 6.250000 -0.553909
+v 1.146284 6.105662 -0.534521
+v 1.127400 6.073223 -0.387793
+v 1.021746 6.073223 -0.614370
+v -1.196208 7.750000 0.362749
+v -1.046790 7.750000 0.683177
+v -0.961285 8.000000 0.448254
+v -1.187862 7.750000 0.553909
+v -1.146284 7.894338 0.534521
+v -1.021746 7.926777 0.614370
+v -1.127400 7.926777 0.387793
+v -1.046790 6.250000 0.683177
+v -1.196208 6.250000 0.362749
+v -0.961285 6.000000 0.448254
+v -1.187862 6.250000 0.553909
+v -1.146284 6.105662 0.534521
+v -1.127400 6.073223 0.387793
+v -1.021746 6.073223 0.614370
+v 0.362749 7.750000 1.196208
+v 0.683177 7.750000 1.046790
+v 0.448254 8.000000 0.961285
+v 0.553909 7.750000 1.187862
+v 0.534521 7.894338 1.146284
+v 0.614370 7.926777 1.021746
+v 0.387793 7.926777 1.127400
+v 0.448254 6.000000 0.961285
+v 0.683177 6.250000 1.046790
+v 0.362749 6.250000 1.196208
+v 0.614370 6.073223 1.021746
+v 0.534521 6.105662 1.146284
+v 0.553909 6.250000 1.187862
+v 0.387793 6.073223 1.127400
+v -0.854572 8.750000 -0.912254
+v -0.608370 9.000000 -0.868842
+v -0.564958 8.750000 -1.115044
+v -0.782461 8.926777 -0.899539
+v -0.725450 8.894338 -1.036051
+v -0.577673 8.926777 -1.042933
+v -0.751764 8.750000 -1.073630
+v -0.608370 7.000000 -0.868842
+v -0.854572 7.250000 -0.912254
+v -0.564958 7.250000 -1.115044
+v -0.782461 7.073223 -0.899539
+v -0.725450 7.105662 -1.036051
+v -0.751764 7.250000 -1.073630
+v -0.577673 7.073223 -1.042933
+v 0.912254 8.750000 -0.854572
+v 0.868842 9.000000 -0.608370
+v 1.115044 8.750000 -0.564958
+v 0.899539 8.926777 -0.782461
+v 1.036051 8.894338 -0.725450
+v 1.042933 8.926777 -0.577673
+v 1.073630 8.750000 -0.751764
+v 0.912254 7.250000 -0.854572
+v 1.115044 7.250000 -0.564958
+v 0.868842 7.000000 -0.608370
+v 1.073630 7.250000 -0.751764
+v 1.036051 7.105662 -0.725450
+v 1.042933 7.073223 -0.577673
+v 0.899539 7.073223 -0.782461
+v -1.115044 8.750000 0.564958
+v -0.912254 8.750000 0.854572
+v -0.868842 9.000000 0.608370
+v -1.073630 8.750000 0.751764
+v -1.036051 8.894338 0.725450
+v -0.899539 8.926777 0.782461
+v -1.042933 8.926777 0.577673
+v -0.912254 7.250000 0.854572
+v -1.115044 7.250000 0.564958
+v -0.868842 7.000000 0.608370
+v -1.073630 7.250000 0.751764
+v -1.036051 7.105662 0.725450
+v -1.042933 7.073223 0.577673
+v -0.899539 7.073223 0.782461
+v 0.564958 8.750000 1.115044
+v 0.854572 8.750000 0.912254
+v 0.608370 9.000000 0.868842
+v 0.751764 8.750000 1.073630
+v 0.725450 8.894338 1.036051
+v 0.782461 8.926777 0.899539
+v 0.577673 8.926777 1.042933
+v 0.608370 7.000000 0.868842
+v 0.854572 7.250000 0.912254
+v 0.564958 7.250000 1.115044
+v 0.782461 7.073223 0.899539
+v 0.725450 7.105662 1.036051
+v 0.751764 7.250000 1.073630
+v 0.577673 7.073223 1.042933
+vt 0.760991 0.848692
+vt 0.753506 0.849723
+vt 0.757307 0.802111
+vt 0.763861 0.801210
+vt 0.288615 0.120383
+vt 0.294390 0.119807
+vt 0.296015 0.166386
+vt 0.289161 0.167121
+vt 0.296015 0.213187
+vt 0.288291 0.214059
+vt 0.294566 0.260194
+vt 0.286208 0.261176
+vt 0.291890 0.307385
+vt 0.283150 0.308447
+vt 0.288242 0.354732
+vt 0.279387 0.355842
+vt 0.283911 0.402202
+vt 0.275209 0.403326
+vt 0.279202 0.449758
+vt 0.270919 0.450863
+vt 0.567626 0.079184
+vt 0.571238 0.071264
+vt 0.575795 0.118626
+vt 0.571884 0.126515
+vt 0.579533 0.165907
+vt 0.575415 0.173774
+vt 0.582194 0.213080
+vt 0.577969 0.220935
+vt 0.583551 0.260120
+vt 0.579321 0.267974
+vt 0.583418 0.307009
+vt 0.579287 0.314872
+vt 0.581655 0.353732
+vt 0.577723 0.361614
+vt 0.082001 0.099376
+vt 0.079500 0.107306
+vt 0.075543 0.059735
+vt 0.078555 0.051867
+vt 0.071529 0.012189
+vt 0.074993 0.004373
+vt 0.089810 0.384915
+vt 0.085398 0.382719
+vt 0.087996 0.335860
+vt 0.093217 0.338146
+vt 0.089090 0.288819
+vt 0.094954 0.291171
+vt 0.088828 0.241619
+vt 0.095152 0.244010
+vt 0.087403 0.194289
+vt 0.093988 0.196693
+vt 0.085043 0.146863
+vt 0.091683 0.149252
+vt 0.088489 0.101723
+vt 0.084687 0.054146
+vt 0.080578 0.006560
+vt 0.752225 0.843107
+vt 0.755669 0.795545
+vt 0.758516 0.748067
+vt 0.760490 0.754587
+vt 0.760485 0.700713
+vt 0.762763 0.707191
+vt 0.761321 0.653519
+vt 0.763861 0.659962
+vt 0.760804 0.606514
+vt 0.763558 0.612927
+vt 0.758755 0.559724
+vt 0.761667 0.566115
+vt 0.755041 0.513165
+vt 0.758051 0.519544
+vt 0.749581 0.466849
+vt 0.752625 0.473223
+vt 0.560594 0.081903
+vt 0.564127 0.129157
+vt 0.567160 0.176362
+vt 0.569454 0.223494
+vt 0.570796 0.270530
+vt 0.571000 0.317450
+vt 0.569914 0.364239
+vt 0.574530 0.408189
+vt 0.567427 0.410885
+vt 0.569662 0.454592
+vt 0.563470 0.457380
+vt 0.087408 0.383193
+vt 0.081152 0.378844
+vt 0.084986 0.332161
+vt 0.091953 0.336579
+vt 0.087418 0.285304
+vt 0.094873 0.289762
+vt 0.088560 0.238292
+vt 0.096262 0.242756
+vt 0.088561 0.191148
+vt 0.096262 0.195585
+vt 0.087603 0.143901
+vt 0.095057 0.148280
+vt 0.085901 0.096580
+vt 0.092867 0.100870
+vt 0.083689 0.049218
+vt 0.089942 0.053392
+vt 0.081219 0.001850
+vt 0.086556 0.005884
+vt 0.745712 0.842487
+vt 0.748794 0.794973
+vt 0.751481 0.747516
+vt 0.753498 0.700154
+vt 0.754588 0.652923
+vt 0.754523 0.605854
+vt 0.753111 0.558973
+vt 0.750199 0.512301
+vt 0.195255 0.514627
+vt 0.190083 0.514105
+vt 0.189343 0.466578
+vt 0.195255 0.466918
+vt 0.089113 0.391766
+vt 0.093953 0.345181
+vt 0.097075 0.298380
+vt 0.098566 0.251376
+vt 0.098566 0.204195
+vt 0.097259 0.156865
+vt 0.756512 0.613897
+vt 0.755655 0.566939
+vt 0.753256 0.520198
+vt 0.745682 0.465854
+vt 0.749192 0.473687
+vt 0.744887 0.850922
+vt 0.748478 0.803336
+vt 0.751719 0.755802
+vt 0.754316 0.708360
+vt 0.755995 0.661047
+vt 0.294581 0.354074
+vt 0.291227 0.401396
+vt 0.287274 0.448828
+vt 0.957777 0.385448
+vt 0.950796 0.382786
+vt 0.946119 0.336583
+vt 0.953851 0.339123
+vt 0.943081 0.290164
+vt 0.951343 0.292608
+vt 0.941596 0.243534
+vt 0.950148 0.245911
+vt 0.941528 0.196704
+vt 0.950125 0.199044
+vt 0.942703 0.149692
+vt 0.951096 0.152027
+vt 0.944904 0.102520
+vt 0.952852 0.104882
+vt 0.947888 0.055217
+vt 0.955162 0.057636
+vt 0.951385 0.007813
+vt 0.957777 0.010320
+vt 0.990891 0.004139
+vt 0.997201 0.000000
+vt 0.994024 0.047273
+vt 0.986992 0.051490
+vt 0.991350 0.094488
+vt 0.983821 0.098758
+vt 0.989415 0.141619
+vt 0.981630 0.145915
+vt 0.988433 0.188644
+vt 0.980639 0.192939
+vt 0.988590 0.235541
+vt 0.981036 0.239808
+vt 0.990037 0.282295
+vt 0.982962 0.286507
+vt 0.992884 0.328894
+vt 0.986516 0.333025
+vt 0.997201 0.375330
+vt 0.991745 0.379359
+vt 0.078992 0.467625
+vt 0.074187 0.468428
+vt 0.076786 0.421570
+vt 0.082399 0.420856
+vt 0.077880 0.374529
+vt 0.084136 0.373880
+vt 0.077618 0.327329
+vt 0.084334 0.326719
+vt 0.076193 0.279999
+vt 0.083171 0.279403
+vt 0.073833 0.232573
+vt 0.080865 0.231961
+vt 0.070791 0.185085
+vt 0.077671 0.184432
+vt 0.067345 0.137576
+vt 0.073870 0.136855
+vt 0.063783 0.090082
+vt 0.069760 0.089270
+vt 0.376427 0.007161
+vt 0.382547 0.009464
+vt 0.386506 0.056995
+vt 0.380022 0.054644
+vt 0.389870 0.104454
+vt 0.383225 0.102080
+vt 0.392356 0.151802
+vt 0.385758 0.149432
+vt 0.393709 0.199008
+vt 0.387364 0.196669
+vt 0.393709 0.246044
+vt 0.387816 0.243760
+vt 0.392176 0.292884
+vt 0.386919 0.290680
+vt 0.388977 0.339513
+vt 0.384522 0.337410
+vt 0.078732 0.139102
+vt 0.075345 0.091594
+vt 0.077198 0.460456
+vt 0.079286 0.413526
+vt 0.079825 0.366408
+vt 0.981452 0.107316
+vt 0.979154 0.154484
+vt 0.978160 0.201507
+vt 0.978656 0.248364
+vt 0.980781 0.295040
+vt 0.984628 0.341526
+vt 0.990234 0.387818
+vt 0.570868 0.000886
+vt 0.578391 0.001667
+vt 0.582949 0.049030
+vt 0.576359 0.048343
+vt 0.085266 0.414429
+vt 0.086846 0.367426
+vt 0.078982 0.319130
+vt 0.086832 0.320232
+vt 0.076967 0.271724
+vt 0.085407 0.272876
+vt 0.074025 0.224223
+vt 0.082798 0.225391
+vt 0.070428 0.176667
+vt 0.079269 0.177815
+vt 0.066471 0.129096
+vt 0.075110 0.130190
+vt 0.062457 0.081551
+vt 0.070632 0.082556
+vt 0.774215 0.801027
+vt 0.771172 0.794668
+vt 0.767030 0.748383
+vt 0.769989 0.754746
+vt 0.764636 0.701837
+vt 0.767449 0.708214
+vt 0.763861 0.655043
+vt 0.766472 0.661441
+vt 0.764532 0.608018
+vt 0.766889 0.614447
+vt 0.766427 0.560789
+vt 0.768489 0.567255
+vt 0.769291 0.513389
+vt 0.771023 0.519897
+vt 0.772836 0.465854
+vt 0.774215 0.472411
+vt 0.388500 0.465958
+vt 0.390458 0.472733
+vt 0.390458 0.519403
+vt 0.388465 0.512627
+vt 0.562216 0.000000
+vt 0.567492 0.047432
+vt 0.581230 0.095738
+vt 0.572420 0.094831
+vt 0.585189 0.143043
+vt 0.576703 0.142166
+vt 0.587972 0.190229
+vt 0.580066 0.189410
+vt 0.589347 0.237272
+vt 0.582264 0.236536
+vt 0.589130 0.284154
+vt 0.583083 0.283521
+vt 0.085795 0.178780
+vt 0.082575 0.131254
+vt 0.078809 0.083688
+vt 0.501128 0.457380
+vt 0.504211 0.465282
+vt 0.500570 0.512864
+vt 0.497996 0.504891
+vt 0.942055 0.328756
+vt 0.938798 0.282377
+vt 0.937192 0.235775
+vt 0.937106 0.188961
+vt 0.938365 0.141951
+vt 0.940751 0.094768
+vt 0.944014 0.047440
+vt 0.947876 0.000000
+vt 0.760282 0.383811
+vt 0.752841 0.384867
+vt 0.757028 0.337245
+vt 0.763523 0.336290
+vt 0.572747 0.573505
+vt 0.578680 0.572678
+vt 0.580639 0.619505
+vt 0.573659 0.620474
+vt 0.581000 0.666550
+vt 0.573183 0.667633
+vt 0.579944 0.713789
+vt 0.571528 0.714952
+vt 0.577696 0.761190
+vt 0.568938 0.762398
+vt 0.574519 0.808717
+vt 0.565684 0.809933
+vt 0.570701 0.856329
+vt 0.562058 0.857516
+vt 0.566553 0.903984
+vt 0.558364 0.905106
+vt 0.083650 0.845417
+vt 0.080008 0.853253
+vt 0.075878 0.805926
+vt 0.079835 0.798116
+vt 0.072521 0.758722
+vt 0.076700 0.750925
+vt 0.070200 0.711668
+vt 0.074503 0.703872
+vt 0.069145 0.664784
+vt 0.073470 0.656978
+vt 0.069551 0.618089
+vt 0.073794 0.610260
+vt 0.071565 0.571593
+vt 0.075626 0.563731
+vt 0.510380 0.354627
+vt 0.512636 0.346565
+vt 0.517895 0.393991
+vt 0.515124 0.402000
+vt 0.523224 0.441428
+vt 0.519997 0.449389
+vt 0.495048 0.070275
+vt 0.499478 0.072243
+vt 0.498100 0.118974
+vt 0.492853 0.116921
+vt 0.498238 0.165863
+vt 0.492338 0.163740
+vt 0.499743 0.212893
+vt 0.493373 0.210721
+vt 0.502424 0.260046
+vt 0.495783 0.257844
+vt 0.506055 0.307300
+vt 0.499349 0.305089
+vt 0.503819 0.352429
+vt 0.508910 0.399836
+vt 0.514324 0.447279
+vt 0.751595 0.378201
+vt 0.755425 0.330628
+vt 0.758639 0.283105
+vt 0.760576 0.289675
+vt 0.760956 0.235669
+vt 0.763195 0.242196
+vt 0.762124 0.188356
+vt 0.764624 0.194845
+vt 0.761925 0.141201
+vt 0.764635 0.147656
+vt 0.760182 0.094230
+vt 0.763046 0.100658
+vt 0.756765 0.047464
+vt 0.759724 0.053875
+vt 0.751597 0.000921
+vt 0.754586 0.007320
+vt 0.090573 0.842879
+vt 0.087516 0.795637
+vt 0.084918 0.748479
+vt 0.083020 0.701429
+vt 0.082039 0.654510
+vt 0.082166 0.607739
+vt 0.083559 0.561131
+vt 0.079071 0.517397
+vt 0.086336 0.514692
+vt 0.084185 0.471256
+vt 0.090573 0.468428
+vt 0.306993 0.085529
+vt 0.313225 0.089761
+vt 0.309465 0.136288
+vt 0.302511 0.131962
+vt 0.307110 0.182996
+vt 0.299658 0.178604
+vt 0.306051 0.229870
+vt 0.298342 0.225443
+vt 0.306142 0.276893
+vt 0.298422 0.272463
+vt 0.307200 0.324042
+vt 0.299717 0.319639
+vt 0.309013 0.371289
+vt 0.302008 0.366945
+vt 0.311346 0.418605
+vt 0.305045 0.414349
+vt 0.313949 0.465957
+vt 0.308556 0.461816
+vt 0.745058 0.377478
+vt 0.748539 0.329971
+vt 0.751606 0.282488
+vt 0.753985 0.235066
+vt 0.755420 0.187741
+vt 0.755686 0.140545
+vt 0.754591 0.093509
+vt 0.751987 0.046654
+vt 0.294033 0.514158
+vt 0.288755 0.513775
+vt 0.288037 0.466177
+vt 0.294033 0.466404
+vt 0.305278 0.077001
+vt 0.300497 0.123395
+vt 0.297438 0.170009
+vt 0.296015 0.216834
+vt 0.296091 0.263852
+vt 0.297484 0.311040
+vt 0.757640 0.148665
+vt 0.757100 0.101552
+vt 0.755006 0.054626
+vt 0.747771 0.000000
+vt 0.751240 0.007907
+vt 0.744192 0.385955
+vt 0.748184 0.338387
+vt 0.751807 0.290835
+vt 0.754768 0.243340
+vt 0.756794 0.195938
+vt 0.581000 0.807815
+vt 0.578128 0.855299
+vt 0.574700 0.902857
+vt 0.316867 0.007923
+vt 0.319876 0.000000
+vt 0.317345 0.046683
+vt 0.314846 0.054671
+vt 0.316326 0.093561
+vt 0.314380 0.101619
+vt 0.774939 0.358218
+vt 0.772725 0.366802
+vt 0.773940 0.319501
+vt 0.776253 0.310893
+vt 0.773943 0.272336
+vt 0.776253 0.263717
+vt 0.772552 0.225334
+vt 0.774757 0.216718
+vt 0.769626 0.178519
+vt 0.771627 0.169919
+vt 0.765073 0.131908
+vt 0.766776 0.123338
+vt 0.758847 0.085512
+vt 0.760169 0.076982
+vt 0.112862 0.449683
+vt 0.105223 0.448833
+vt 0.101561 0.401466
+vt 0.108306 0.402179
+vt 0.308913 0.053924
+vt 0.307397 0.100736
+vt 0.315304 0.148746
+vt 0.307483 0.147754
+vt 0.317411 0.196027
+vt 0.308989 0.194955
+vt 0.320457 0.243430
+vt 0.311689 0.242312
+vt 0.324170 0.290921
+vt 0.315323 0.289790
+vt 0.328257 0.338463
+vt 0.319600 0.337353
+vt 0.332414 0.386016
+vt 0.324210 0.384962
+vt 0.378472 0.849083
+vt 0.375424 0.842720
+vt 0.371438 0.796155
+vt 0.374393 0.802532
+vt 0.369184 0.749341
+vt 0.371985 0.755741
+vt 0.368528 0.702299
+vt 0.371119 0.708729
+vt 0.369287 0.655054
+vt 0.371619 0.661522
+vt 0.371237 0.607640
+vt 0.373267 0.614152
+vt 0.374116 0.560094
+vt 0.375812 0.566655
+vt 0.377634 0.512459
+vt 0.378975 0.519071
+vt 0.390504 0.465958
+vt 0.392409 0.472754
+vt 0.392409 0.519175
+vt 0.390458 0.512385
+vt 0.383256 0.849915
+vt 0.379989 0.803248
+vt 0.378230 0.756365
+vt 0.377829 0.709288
+vt 0.378597 0.662044
+vt 0.380309 0.614666
+vt 0.382709 0.567192
+vt 0.385524 0.519660
+vt 0.382456 0.471444
+vt 0.388465 0.472113
+vt 0.121433 0.450797
+vt 0.117134 0.403292
+vt 0.104316 0.354784
+vt 0.113133 0.355861
+vt 0.101189 0.307531
+vt 0.109727 0.308540
+vt 0.099194 0.260451
+vt 0.107194 0.261362
+vt 0.098566 0.213569
+vt 0.105786 0.214353
+vt 0.099501 0.166901
+vt 0.105719 0.167535
+vt 0.308841 0.288971
+vt 0.312169 0.336412
+vt 0.316057 0.383926
+vt 0.605625 0.005808
+vt 0.608632 0.013675
+vt 0.604738 0.061251
+vt 0.602243 0.053322
+vt 0.376109 0.803823
+vt 0.371878 0.796105
+vt 0.368085 0.749513
+vt 0.372521 0.757203
+vt 0.365924 0.702687
+vt 0.370465 0.710362
+vt 0.365257 0.655647
+vt 0.369802 0.663323
+vt 0.365903 0.608419
+vt 0.370349 0.616110
+vt 0.367640 0.561037
+vt 0.371888 0.568757
+vt 0.370213 0.513536
+vt 0.374170 0.521299
+vt 0.373343 0.465958
+vt 0.376924 0.473776
+vt 0.599482 0.008097
+vt 0.595751 0.055678
+vt 0.599274 0.100811
+vt 0.592636 0.103208
+vt 0.596994 0.148238
+vt 0.590417 0.150649
+vt 0.595657 0.195566
+vt 0.589347 0.197963
+vt 0.595489 0.242762
+vt 0.589644 0.245118
+vt 0.596681 0.289796
+vt 0.591485 0.292086
+vt 0.599382 0.336646
+vt 0.594998 0.338844
+vt 0.388465 0.852625
+vt 0.381322 0.850211
+vt 0.383971 0.806136
+vt 0.380877 0.759446
+vt 0.379078 0.712571
+vt 0.378423 0.665532
+vt 0.378732 0.618356
+vt 0.379793 0.571074
+vt 0.381371 0.523719
+vt 0.383217 0.476328
+vt 0.767570 0.461681
+vt 0.761289 0.465854
+vt 0.763531 0.418495
+vt 0.770519 0.414207
+vt 0.765257 0.371177
+vt 0.766231 0.323934
+vt 0.766241 0.276793
+vt 0.765104 0.229784
+vt 0.762673 0.182930
+vt 0.758838 0.136249
+vt 0.753534 0.089753
+vt 0.403630 0.061607
+vt 0.405312 0.070143
+vt 0.400649 0.116560
+vt 0.398668 0.107983
+vt 0.397613 0.163192
+vt 0.395427 0.154588
+vt 0.396111 0.210029
+vt 0.393820 0.201410
+vt 0.396004 0.257051
+vt 0.393709 0.248430
+vt 0.397109 0.304234
+vt 0.394913 0.295626
+vt 0.215565 0.317249
+vt 0.217363 0.325404
+vt 0.217942 0.372504
+vt 0.215583 0.364423
+vt 0.220005 0.419435
+vt 0.217125 0.411425
+vt 0.223663 0.466177
+vt 0.220319 0.458234
+vt 0.222317 0.080929
+vt 0.230899 0.079903
+vt 0.226645 0.127450
+vt 0.217815 0.128540
+vt 0.222699 0.174996
+vt 0.213888 0.176117
+vt 0.219357 0.222502
+vt 0.210832 0.223621
+vt 0.216895 0.269932
+vt 0.208916 0.271014
+vt 0.208374 0.318262
+vt 0.209399 0.365335
+vt 0.600387 0.549835
+vt 0.593902 0.550627
+vt 0.597569 0.503199
+vt 0.605004 0.502295
+vt 0.601796 0.455706
+vt 0.609955 0.454717
+vt 0.022037 0.375174
+vt 0.020795 0.381761
+vt 0.016638 0.334237
+vt 0.018237 0.327694
+vt 0.013111 0.286827
+vt 0.015045 0.280326
+vt 0.010504 0.239568
+vt 0.012742 0.233102
+vt 0.009083 0.192489
+vt 0.011581 0.186052
+vt 0.009072 0.145617
+vt 0.011782 0.139203
+vt 0.010656 0.098970
+vt 0.013523 0.092570
+vt 0.013972 0.052562
+vt 0.016934 0.046168
+vt 0.019101 0.006397
+vt 0.022095 0.000000
+vt 0.028563 0.374549
+vt 0.025117 0.327095
+vt 0.022077 0.279725
+vt 0.019718 0.232471
+vt 0.018296 0.185367
+vt 0.018038 0.138436
+vt 0.019134 0.091701
+vt 0.021737 0.045177
+vt 0.402048 0.398969
+vt 0.407276 0.398126
+vt 0.411317 0.445706
+vt 0.405360 0.446451
+vt 0.214704 0.081980
+vt 0.211102 0.129506
+vt 0.598235 0.785042
+vt 0.592301 0.785768
+vt 0.591116 0.738915
+vt 0.598103 0.738064
+vt 0.591536 0.691871
+vt 0.599363 0.690921
+vt 0.593377 0.644657
+vt 0.601806 0.643637
+vt 0.596415 0.597301
+vt 0.605190 0.596241
+vt 0.609242 0.548769
+vt 0.613669 0.501253
+vt 0.618167 0.453732
+vt 0.182255 0.843560
+vt 0.178575 0.851414
+vt 0.174363 0.804113
+vt 0.178339 0.796282
+vt 0.170983 0.756932
+vt 0.175160 0.749113
+vt 0.168690 0.709896
+vt 0.172970 0.702077
+vt 0.167710 0.663025
+vt 0.171989 0.655195
+vt 0.168225 0.616335
+vt 0.172401 0.608483
+vt 0.170375 0.569837
+vt 0.174349 0.561952
+vt 0.410046 0.352977
+vt 0.412540 0.344985
+vt 0.416426 0.392544
+vt 0.413420 0.400468
+vt 0.420380 0.440115
+vt 0.416920 0.447978
+vt 0.402875 0.068285
+vt 0.407254 0.070382
+vt 0.404540 0.117057
+vt 0.399347 0.114852
+vt 0.403335 0.163933
+vt 0.397493 0.161640
+vt 0.403491 0.210990
+vt 0.397183 0.208634
+vt 0.404817 0.258204
+vt 0.398241 0.255810
+vt 0.407087 0.305544
+vt 0.400448 0.303140
+vt 0.403553 0.350591
+vt 0.189343 0.840987
+vt 0.186141 0.793765
+vt 0.183450 0.746624
+vt 0.181507 0.699590
+vt 0.180525 0.652681
+vt 0.180689 0.605916
+vt 0.182147 0.559306
+vt 0.177926 0.515606
+vt 0.185009 0.512859
+vt 0.183180 0.469446
+vt 0.189343 0.466578
+vt 0.411534 0.074403
+vt 0.407590 0.120916
+vt 0.405049 0.167616
+vt 0.403803 0.214489
+vt 0.403704 0.261514
+vt 0.404569 0.308668
+vt 0.406187 0.355924
+vt 0.399207 0.351551
+vt 0.408323 0.403250
+vt 0.410726 0.450614
+vt 0.401927 0.458633
+vt 0.404668 0.450614
+vt 0.403696 0.497358
+vt 0.401467 0.505425
+vt 0.404240 0.544246
+vt 0.402566 0.552365
+vt 0.199593 0.107563
+vt 0.201814 0.098999
+vt 0.200154 0.146335
+vt 0.197813 0.154927
+vt 0.199664 0.193551
+vt 0.197304 0.202158
+vt 0.200534 0.240618
+vt 0.198258 0.249227
+vt 0.202913 0.287512
+vt 0.200822 0.296110
+vt 0.206906 0.334214
+vt 0.205095 0.342789
+vt 0.212568 0.380711
+vt 0.211121 0.389250
+vt 0.011724 0.451121
+vt 0.004261 0.450234
+vt 0.001043 0.402856
+vt 0.007566 0.403598
+vt 0.395502 0.504872
+vt 0.395549 0.551711
+vt 0.405060 0.599438
+vt 0.397203 0.598703
+vt 0.408738 0.646625
+vt 0.400280 0.645831
+vt 0.413357 0.693903
+vt 0.404554 0.693074
+vt 0.418641 0.741246
+vt 0.409763 0.740408
+vt 0.424299 0.788627
+vt 0.415613 0.787805
+vt 0.430024 0.836017
+vt 0.421796 0.835236
+vt 0.606494 0.908304
+vt 0.603594 0.901873
+vt 0.600672 0.855228
+vt 0.603479 0.861672
+vt 0.599487 0.808375
+vt 0.602140 0.814838
+vt 0.599906 0.761332
+vt 0.602350 0.767820
+vt 0.601748 0.714117
+vt 0.603932 0.720637
+vt 0.604786 0.666761
+vt 0.606668 0.673319
+vt 0.608758 0.619296
+vt 0.610306 0.625894
+vt 0.613375 0.571755
+vt 0.614565 0.578396
+vt 0.486647 0.450613
+vt 0.488624 0.457391
+vt 0.488624 0.503840
+vt 0.486615 0.497069
+vt 0.207707 0.004100
+vt 0.213098 0.004853
+vt 0.208956 0.052417
+vt 0.204417 0.051576
+vt 0.609050 0.862517
+vt 0.608364 0.815607
+vt 0.609042 0.768534
+vt 0.610895 0.721321
+vt 0.613696 0.673996
+vt 0.617190 0.626590
+vt 0.621103 0.579137
+vt 0.619148 0.530863
+vt 0.625146 0.531670
+vt 0.020363 0.452287
+vt 0.016407 0.404760
+vt 0.004039 0.356188
+vt 0.012812 0.357313
+vt 0.001433 0.308928
+vt 0.009872 0.309982
+vt 0.000011 0.261850
+vt 0.007859 0.262800
+vt 0.000000 0.214978
+vt 0.007019 0.215796
+vt 0.001584 0.168331
+vt 0.007562 0.168992
+vt 0.403247 0.739802
+vt 0.408147 0.787108
+vt 0.413607 0.834469
+vt 0.219159 0.002632
+vt 0.222212 0.010498
+vt 0.217959 0.058044
+vt 0.215408 0.050122
+vt 0.605176 0.863003
+vt 0.601127 0.855188
+vt 0.598399 0.808521
+vt 0.602654 0.816312
+vt 0.597308 0.761659
+vt 0.601670 0.769437
+vt 0.597718 0.714616
+vt 0.602085 0.722395
+vt 0.599447 0.667417
+vt 0.603715 0.675208
+vt 0.602273 0.620088
+vt 0.606343 0.627904
+vt 0.605939 0.572659
+vt 0.609719 0.580512
+vt 0.610167 0.525167
+vt 0.613569 0.533065
+vt 0.212010 0.097604
+vt 0.205369 0.099949
+vt 0.209246 0.145041
+vt 0.202623 0.147409
+vt 0.207374 0.192397
+vt 0.200977 0.194763
+vt 0.206629 0.239640
+vt 0.200657 0.241977
+vt 0.207209 0.286739
+vt 0.201849 0.289022
+vt 0.209271 0.333670
+vt 0.204692 0.335875
+vt 0.616405 0.912077
+vt 0.609328 0.909497
+vt 0.612976 0.865497
+vt 0.610953 0.818748
+vt 0.610228 0.771845
+vt 0.610654 0.724804
+vt 0.612048 0.677648
+vt 0.614198 0.630403
+vt 0.616869 0.583097
+vt 0.619812 0.535762
+vt 0.213835 0.000000
+vt 0.211296 0.047355
+vt 0.209222 0.094683
+vt 0.207854 0.141952
+vt 0.207408 0.189131
+vt 0.208075 0.236192
+vt 0.210009 0.283112
+vt 0.213328 0.329871
+vt 0.218107 0.376454
+vt 0.187685 0.389814
+vt 0.185998 0.381253
+vt 0.190597 0.334626
+vt 0.192598 0.343215
+vt 0.193555 0.287802
+vt 0.195778 0.296407
+vt 0.194957 0.240799
+vt 0.197304 0.249406
+vt 0.194936 0.193638
+vt 0.197304 0.202235
+vt 0.193666 0.146346
+vt 0.195953 0.154921
+vt 0.849037 0.148113
+vt 0.847106 0.140058
+vt 0.846014 0.093167
+vt 0.848501 0.101151
+vt 0.843423 0.046477
+vt 0.846423 0.054394
+vt 0.839225 0.000000
+vt 0.842680 0.007856
+vt 0.844448 0.383917
+vt 0.835825 0.385059
+vt 0.839729 0.337499
+vt 0.848565 0.336330
+vt 0.843285 0.289986
+vt 0.852066 0.288828
+vt 0.846200 0.242561
+vt 0.854659 0.241448
+vt 0.848199 0.195259
+vt 0.856079 0.194225
+vt 0.856098 0.147190
+vt 0.854529 0.100366
+vt 0.677021 0.357454
+vt 0.683574 0.356699
+vt 0.680392 0.404085
+vt 0.672906 0.404986
+vt 0.676671 0.451573
+vt 0.668480 0.452592
+vt 0.993479 0.841492
+vt 0.992130 0.848100
+vt 0.988817 0.800444
+vt 0.990523 0.793888
+vt 0.986123 0.752876
+vt 0.988164 0.746371
+vt 0.984338 0.705442
+vt 0.986683 0.698983
+vt 0.983726 0.658181
+vt 0.986333 0.651761
+vt 0.984515 0.611127
+vt 0.987335 0.604740
+vt 0.986889 0.564308
+vt 0.989867 0.557945
+vt 0.990986 0.517746
+vt 0.994061 0.511397
+vt 0.996890 0.471453
+vt 1.000000 0.465110
+vt 1.000000 0.840931
+vt 0.997405 0.793383
+vt 0.995205 0.745892
+vt 0.993675 0.698498
+vt 0.993071 0.651240
+vt 0.993621 0.604153
+vt 0.995516 0.557264
+vt 0.998910 0.510599
+vt 0.188265 0.051498
+vt 0.183189 0.052287
+vt 0.178814 0.004725
+vt 0.184649 0.004011
+vt 0.851947 0.382935
+vt 0.855135 0.335472
+vt 0.676901 0.122825
+vt 0.682911 0.122153
+vt 0.684501 0.168804
+vt 0.677455 0.169634
+vt 0.684501 0.215682
+vt 0.676633 0.216646
+vt 0.683096 0.262769
+vt 0.674645 0.263835
+vt 0.680515 0.310036
+vt 0.671737 0.311174
+vt 0.668183 0.358628
+vt 0.664277 0.406160
+vt 0.660322 0.453732
+vt 0.280976 0.844315
+vt 0.277303 0.852207
+vt 0.273104 0.804813
+vt 0.277077 0.796954
+vt 0.269727 0.757507
+vt 0.273905 0.749672
+vt 0.267430 0.710319
+vt 0.271714 0.702496
+vt 0.266436 0.663272
+vt 0.270724 0.655450
+vt 0.266933 0.616388
+vt 0.271121 0.608556
+vt 0.269060 0.569683
+vt 0.273049 0.561830
+vt 0.180639 0.097528
+vt 0.178304 0.105476
+vt 0.174093 0.057929
+vt 0.176951 0.050039
+vt 0.169761 0.010405
+vt 0.173085 0.002565
+vt 0.188644 0.382970
+vt 0.184408 0.380805
+vt 0.187041 0.333943
+vt 0.192117 0.336194
+vt 0.188141 0.286905
+vt 0.193898 0.289220
+vt 0.187849 0.239716
+vt 0.194107 0.242068
+vt 0.186350 0.192401
+vt 0.192912 0.194766
+vt 0.183863 0.144994
+vt 0.190524 0.147345
+vt 0.187191 0.099839
+vt 0.288037 0.841650
+vt 0.284859 0.794372
+vt 0.282184 0.747146
+vt 0.280248 0.700000
+vt 0.279267 0.652957
+vt 0.279424 0.606039
+vt 0.280871 0.559262
+vt 0.276604 0.515283
+vt 0.283719 0.512639
+vt 0.281833 0.468920
+vt 0.288037 0.466177
+vt 0.179893 0.376946
+vt 0.183734 0.330251
+vt 0.186156 0.283389
+vt 0.187259 0.236380
+vt 0.187185 0.189243
+vt 0.186111 0.142007
+vt 0.184244 0.094700
+vt 0.191361 0.098955
+vt 0.181816 0.047354
+vt 0.179076 0.000000
+vt 0.978160 0.385860
+vt 0.970996 0.383269
+vt 0.966480 0.337003
+vt 0.974351 0.339479
+vt 0.963588 0.290518
+vt 0.971940 0.292905
+vt 0.962224 0.243819
+vt 0.970815 0.246149
+vt 0.962243 0.196921
+vt 0.970828 0.199225
+vt 0.963462 0.149844
+vt 0.971792 0.152156
+vt 0.965660 0.102614
+vt 0.973496 0.104966
+vt 0.968585 0.055260
+vt 0.975703 0.057683
+vt 0.971964 0.007817
+vt 0.978160 0.010341
+vt 0.859431 0.460836
+vt 0.853220 0.465110
+vt 0.855386 0.417780
+vt 0.862320 0.413413
+vt 0.857054 0.370519
+vt 0.864486 0.366088
+vt 0.857988 0.323356
+vt 0.865677 0.318893
+vt 0.857972 0.276320
+vt 0.865673 0.271859
+vt 0.856822 0.229437
+vt 0.864287 0.225009
+vt 0.854387 0.182723
+vt 0.861375 0.178361
+vt 0.850556 0.136196
+vt 0.856842 0.131928
+vt 0.845260 0.089862
+vt 0.850638 0.085716
+vt 0.178357 0.465741
+vt 0.173747 0.466578
+vt 0.176380 0.419717
+vt 0.181830 0.418965
+vt 0.177480 0.372680
+vt 0.183610 0.371991
+vt 0.177188 0.325489
+vt 0.183819 0.324840
+vt 0.175689 0.278175
+vt 0.182624 0.277537
+vt 0.173203 0.230767
+vt 0.180237 0.230117
+vt 0.169979 0.183302
+vt 0.176904 0.182611
+vt 0.166290 0.135813
+vt 0.172902 0.135058
+vt 0.162424 0.088339
+vt 0.168527 0.087498
+vt 0.461491 0.455914
+vt 0.467688 0.458014
+vt 0.473212 0.505388
+vt 0.466651 0.503252
+vt 0.478135 0.552708
+vt 0.471415 0.550555
+vt 0.482174 0.599947
+vt 0.475503 0.597797
+vt 0.485075 0.647081
+vt 0.478659 0.644953
+vt 0.486615 0.694088
+vt 0.480654 0.692001
+vt 0.486615 0.740951
+vt 0.481295 0.738923
+vt 0.484942 0.787657
+vt 0.480428 0.785704
+vt 0.177605 0.137272
+vt 0.173988 0.089785
+vt 0.176808 0.458593
+vt 0.178941 0.411662
+vt 0.179493 0.364552
+vt 0.866670 0.357481
+vt 0.867968 0.310273
+vt 0.867968 0.263240
+vt 0.866484 0.216403
+vt 0.863375 0.169783
+vt 0.858551 0.123388
+vt 0.851971 0.077228
+vt 0.480753 0.001137
+vt 0.488243 0.002133
+vt 0.491421 0.049607
+vt 0.484864 0.048731
+vt 0.184681 0.412523
+vt 0.186317 0.365523
+vt 0.178624 0.317287
+vt 0.186325 0.318340
+vt 0.176534 0.269899
+vt 0.184878 0.271001
+vt 0.173463 0.222421
+vt 0.182195 0.223537
+vt 0.169677 0.174889
+vt 0.178533 0.175987
+vt 0.165466 0.127341
+vt 0.174177 0.128388
+vt 0.161134 0.079818
+vt 0.169435 0.080781
+vt 0.667471 0.000000
+vt 0.670439 0.006391
+vt 0.673757 0.052802
+vt 0.670886 0.046405
+vt 0.675347 0.099454
+vt 0.672634 0.093042
+vt 0.675347 0.146332
+vt 0.672848 0.139898
+vt 0.673942 0.193418
+vt 0.671706 0.186954
+vt 0.671361 0.240686
+vt 0.669429 0.234186
+vt 0.667867 0.288104
+vt 0.666270 0.281562
+vt 0.663752 0.335635
+vt 0.662513 0.329048
+vt 0.488659 0.450613
+vt 0.490620 0.457388
+vt 0.490620 0.504057
+vt 0.488624 0.497281
+vt 0.472126 0.000000
+vt 0.476027 0.047565
+vt 0.488355 0.096247
+vt 0.479576 0.095085
+vt 0.490934 0.143644
+vt 0.482481 0.142523
+vt 0.492338 0.190888
+vt 0.484466 0.189842
+vt 0.492338 0.237949
+vt 0.485287 0.237009
+vt 0.490748 0.284800
+vt 0.484733 0.283996
+vt 0.184839 0.176908
+vt 0.181467 0.129404
+vt 0.177488 0.081862
+vt 0.667834 0.902362
+vt 0.664881 0.894408
+vt 0.669327 0.846894
+vt 0.671771 0.854910
+vt 0.962332 0.329206
+vt 0.959241 0.282757
+vt 0.957777 0.236082
+vt 0.957799 0.189195
+vt 0.959124 0.142115
+vt 0.961526 0.094868
+vt 0.964749 0.047485
+vt 0.968510 0.000000
+vt 0.853194 0.465110
+vt 0.909785 0.472490
+vt 0.911976 0.519825
+vt 0.849279 0.511626
+vt 0.913665 0.567096
+vt 0.846767 0.558328
+vt 0.914616 0.614272
+vt 0.845550 0.605201
+vt 0.914616 0.661325
+vt 0.845480 0.652226
+vt 0.913480 0.708230
+vt 0.846375 0.699380
+vt 0.911058 0.754966
+vt 0.848023 0.746634
+vt 0.907238 0.801520
+vt 0.850188 0.793959
+vt 0.901952 0.847882
+vt 0.852620 0.841322
+vt 0.406150 0.591264
+vt 0.409236 0.638395
+vt 0.413270 0.685618
+vt 0.417997 0.732908
+vt 0.423139 0.780240
+vt 0.477947 0.832333
+vt 0.428408 0.827587
+vt 0.608296 0.901294
+vt 0.606606 0.854503
+vt 0.606474 0.807525
+vt 0.673425 0.799426
+vt 0.607733 0.760381
+vt 0.676880 0.752037
+vt 0.610177 0.713097
+vt 0.679419 0.704762
+vt 0.613561 0.665702
+vt 0.680794 0.657628
+vt 0.617613 0.618229
+vt 0.680794 0.610662
+vt 0.622040 0.570714
+vt 0.679249 0.563885
+vt 0.626538 0.523193
+vt 0.676038 0.517308
+vt 0.976320 0.847606
+vt 0.919485 0.839437
+vt 0.917274 0.792158
+vt 0.980153 0.800922
+vt 0.915572 0.744971
+vt 0.982585 0.754065
+vt 0.914616 0.697906
+vt 0.983726 0.707053
+vt 0.914619 0.650987
+vt 0.983726 0.659910
+vt 0.915763 0.604236
+vt 0.982769 0.612662
+vt 0.918199 0.557666
+vt 0.981066 0.565341
+vt 0.922035 0.511290
+vt 0.978854 0.517980
+vt 0.927339 0.465110
+vt 0.976383 0.470612
+vt 0.017353 0.460258
+vt 0.013907 0.412805
+vt 0.010867 0.365434
+vt 0.008508 0.318181
+vt 0.007086 0.271076
+vt 0.006827 0.224145
+vt 0.007924 0.177410
+vt 0.010527 0.130886
+vt 0.014740 0.084580
+vt 0.009653 0.122406
+vt 0.013414 0.076049
+vt 0.555062 0.069597
+vt 0.560339 0.117029
+vt 0.565266 0.164428
+vt 0.569549 0.211763
+vt 0.572913 0.259006
+vt 0.089495 0.273557
+vt 0.088187 0.226226
+vt 0.094867 0.109419
+vt 0.091647 0.061893
+vt 0.087881 0.014327
+vt 0.563715 0.070483
+vt 0.569205 0.117939
+vt 0.574076 0.165335
+vt 0.578036 0.212640
+vt 0.580818 0.259826
+vt 0.094479 0.203515
+vt 0.091870 0.156031
+vt 0.088341 0.108455
+vt 0.084182 0.060829
+vt 0.079704 0.013195
+vt 0.586687 0.096311
+vt 0.589347 0.143483
+vt 0.088053 0.249769
+vt 0.086039 0.202362
+vt 0.083096 0.154862
+vt 0.861110 0.452295
+vt 0.864298 0.404833
+vt 0.857507 0.288120
+vt 0.858806 0.240913
+vt 0.667478 0.147296
+vt 0.665491 0.194485
+vt 0.662583 0.241824
+vt 0.659029 0.289278
+vt 0.655123 0.336810
+vt 0.651168 0.384382
+vt 0.853611 0.453278
+vt 0.857728 0.405691
+vt 0.861229 0.358189
+vt 0.863821 0.310808
+vt 0.865242 0.263586
+vt 0.659326 0.383242
+vt 0.462963 0.069360
+vt 0.466863 0.116925
+vt 0.470412 0.164446
+vt 0.473317 0.211884
+vt 0.475303 0.259203
+vt 0.188677 0.271647
+vt 0.187325 0.224334
+vt 0.193466 0.107494
+vt 0.190094 0.059992
+vt 0.186115 0.012449
+vt 0.130060 0.381384
+vt 0.125761 0.333879
+vt 0.121760 0.286448
+vt 0.118354 0.239127
+vt 0.115821 0.191949
+vt 0.304959 0.194453
+vt 0.306352 0.241641
+vt 0.299972 0.358370
+vt 0.303300 0.405810
+vt 0.307188 0.453325
+vt 0.121489 0.380270
+vt 0.116933 0.332767
+vt 0.112943 0.285371
+vt 0.109816 0.238118
+vt 0.107821 0.191038
+vt 0.300120 0.264354
+vt 0.302821 0.311710
+vt 0.306454 0.359189
+vt 0.310731 0.406752
+vt 0.315341 0.454361
+vt 0.769292 0.453180
+vt 0.772534 0.405659
+vt 0.765929 0.288849
+vt 0.767243 0.241524
+vt 0.563640 0.598324
+vt 0.561985 0.645643
+vt 0.559395 0.693089
+vt 0.556140 0.740623
+vt 0.552515 0.788207
+vt 0.548821 0.835797
+vt 0.214013 0.105590
+vt 0.210670 0.153097
+vt 0.208209 0.200526
+vt 0.589347 0.645155
+vt 0.591076 0.597956
+vt 0.393709 0.715485
+vt 0.397984 0.762728
+vt 0.403192 0.810062
+vt 0.409042 0.857459
+vt 0.415225 0.904890
+vt 0.206017 0.012575
+vt 0.202415 0.060101
+vt 0.208280 0.176969
+vt 0.206499 0.224332
+vt 0.202034 0.472934
+vt 0.259054 0.466177
+vt 0.262876 0.512557
+vt 0.199862 0.520296
+vt 0.265299 0.559130
+vt 0.198207 0.567616
+vt 0.266436 0.605886
+vt 0.197304 0.614862
+vt 0.266436 0.652810
+vt 0.197364 0.662002
+vt 0.265484 0.699879
+vt 0.198571 0.709009
+vt 0.263793 0.747070
+vt 0.201072 0.755859
+vt 0.261599 0.794353
+vt 0.204976 0.802535
+vt 0.259154 0.841696
+vt 0.210350 0.849022
+vt 0.688028 0.384150
+vt 0.685514 0.337616
+vt 0.684501 0.290874
+vt 0.684839 0.243938
+vt 0.686334 0.196830
+vt 0.688759 0.149575
+vt 0.691857 0.102203
+vt 0.695352 0.054751
+vt 0.698956 0.007254
+vt 0.185436 0.389180
+vt 0.187568 0.342249
+vt 0.188120 0.295138
+vt 0.187251 0.247874
+vt 0.185162 0.200486
+vt 0.114413 0.144939
+vt 0.182090 0.153008
+vt 0.114347 0.098123
+vt 0.115799 0.051513
+vt 0.118901 0.005121
+vt 0.932278 0.375248
+vt 0.875703 0.382751
+vt 0.871782 0.336209
+vt 0.934467 0.327919
+vt 0.869265 0.289485
+vt 0.936155 0.280659
+vt 0.868043 0.242591
+vt 0.937106 0.233498
+vt 0.867968 0.195548
+vt 0.937106 0.186462
+vt 0.868859 0.148379
+vt 0.935970 0.139579
+vt 0.870502 0.101114
+vt 0.933549 0.092865
+vt 0.872664 0.053782
+vt 0.929729 0.046336
+vt 0.875094 0.006417
+vt 0.924444 0.000000
+vt 0.689191 0.850391
+vt 0.686169 0.803708
+vt 0.684655 0.756816
+vt 0.684501 0.709738
+vt 0.685516 0.662498
+vt 0.687476 0.615130
+vt 0.690125 0.567669
+vt 0.693188 0.520153
+vt 0.696378 0.472621
+vt 0.498352 0.063834
+vt 0.497485 0.110617
+vt 0.498177 0.157562
+vt 0.500265 0.204652
+vt 0.503538 0.251867
+vt 0.575110 0.306132
+vt 0.507753 0.299180
+vt 0.575930 0.353118
+vt 0.575202 0.399946
+vt 0.572803 0.446604
+vt 0.305375 0.465957
+vt 0.360662 0.474364
+vt 0.362731 0.521659
+vt 0.301020 0.512607
+vt 0.364342 0.568861
+vt 0.298082 0.559440
+vt 0.365257 0.615941
+vt 0.296460 0.606435
+vt 0.365257 0.662870
+vt 0.296015 0.653569
+vt 0.364152 0.709628
+vt 0.296568 0.700814
+vt 0.361785 0.756197
+vt 0.297913 0.748139
+vt 0.358039 0.802567
+vt 0.299819 0.795509
+vt 0.352836 0.848734
+vt 0.302037 0.842890
+vt 0.118371 0.458782
+vt 0.114573 0.411346
+vt 0.111120 0.363988
+vt 0.108292 0.316743
+vt 0.106349 0.269638
+vt 0.105526 0.222699
+vt 0.106021 0.175948
+vt 0.107996 0.129397
+vt 0.111564 0.083055
+vt 0.665648 0.006885
+vt 0.667747 0.053475
+vt 0.668301 0.100284
+vt 0.601213 0.108810
+vt 0.598351 0.156311
+vt 0.596424 0.203717
+vt 0.595675 0.250992
+vt 0.596314 0.298103
+vt 0.598505 0.345025
+vt 0.602368 0.391737
+vt 0.064330 0.843678
+vt 0.007824 0.851190
+vt 0.003879 0.804650
+vt 0.066512 0.796349
+vt 0.001339 0.757927
+vt 0.068196 0.749087
+vt 0.000095 0.711034
+vt 0.069145 0.701925
+vt 0.000000 0.663991
+vt 0.069145 0.654890
+vt 0.000872 0.616823
+vt 0.068011 0.608006
+vt 0.002499 0.569557
+vt 0.065592 0.561292
+vt 0.004647 0.522225
+vt 0.061777 0.514763
+vt 0.007065 0.474860
+vt 0.056496 0.468428
+vt 0.836709 0.376631
+vt 0.780206 0.384161
+vt 0.777474 0.337460
+vt 0.840104 0.329137
+vt 0.776253 0.290560
+vt 0.843107 0.281698
+vt 0.776395 0.243482
+vt 0.845442 0.234350
+vt 0.777709 0.196251
+vt 0.846851 0.187126
+vt 0.779970 0.148897
+vt 0.782924 0.101454
+vt 0.786295 0.053959
+vt 0.789796 0.006450
+vt 0.406376 0.061945
+vt 0.404171 0.108687
+vt 0.403520 0.155636
+vt 0.404256 0.202769
+vt 0.406172 0.250061
+vt 0.476124 0.306369
+vt 0.409024 0.297478
+vt 0.475570 0.353356
+vt 0.473472 0.400141
+vt 0.469708 0.446706
+vt 0.840841 0.841507
+vt 0.785306 0.848076
+vt 0.781033 0.801782
+vt 0.842933 0.794130
+vt 0.778174 0.755287
+vt 0.844559 0.746784
+vt 0.776628 0.708600
+vt 0.845480 0.699505
+vt 0.776253 0.661735
+vt 0.845480 0.652324
+vt 0.776870 0.614711
+vt 0.844370 0.605271
+vt 0.778272 0.567554
+vt 0.841992 0.558372
+vt 0.780226 0.520293
+vt 0.838232 0.511645
+vt 0.782485 0.472959
+vt 0.833013 0.465110
+vt 0.229893 0.088396
+vt 0.285487 0.082352
+vt 0.288111 0.128820
+vt 0.226141 0.135887
+vt 0.289206 0.175494
+vt 0.222744 0.183369
+vt 0.288914 0.222362
+vt 0.219980 0.230806
+vt 0.287421 0.269406
+vt 0.218108 0.278162
+vt 0.284949 0.316602
+vt 0.281747 0.363923
+vt 0.278089 0.411336
+vt 0.274263 0.458806
+vt 0.286493 0.073859
+vt 0.106368 0.466579
+vt 0.162891 0.473957
+vt 0.165075 0.521293
+vt 0.102429 0.513091
+vt 0.166760 0.568565
+vt 0.099895 0.559790
+vt 0.167710 0.615743
+vt 0.098656 0.606660
+vt 0.167710 0.662798
+vt 0.098567 0.653683
+vt 0.166575 0.709705
+vt 0.099443 0.700835
+vt 0.164156 0.756444
+vt 0.101074 0.748089
+vt 0.160340 0.803000
+vt 0.103226 0.795413
+vt 0.155058 0.849363
+vt 0.105647 0.842775
+vt 0.316670 0.140614
+vt 0.318186 0.187819
+vt 0.320650 0.235148
+vt 0.323806 0.282567
+vt 0.327379 0.330043
+vt 0.380517 0.383935
+vt 0.331081 0.377537
+vt 0.560739 0.457438
+vt 0.563204 0.504195
+vt 0.564115 0.551165
+vt 0.497280 0.560395
+vt 0.494633 0.607835
+vt 0.492904 0.655146
+vt 0.492338 0.702295
+vt 0.493145 0.749253
+vt 0.495496 0.795998
+vt 0.499510 0.842513
+vn -0.3000 0.0706 0.9513
+vn -0.1302 0.0706 0.9890
+vn 0.0435 0.0706 0.9966
+vn 0.2159 0.0706 0.9739
+vn 0.3817 0.0706 0.9216
+vn 0.5360 0.0706 0.8413
+vn 0.6739 0.0706 0.7354
+vn 0.7914 0.0706 0.6072
+vn 0.9192 0.1209 -0.3746
+vn 0.8402 0.1209 -0.5286
+vn 0.7357 0.1209 -0.6665
+vn 0.6088 0.1209 -0.7841
+vn 0.4634 0.1209 -0.8779
+vn 0.3039 0.1209 -0.9450
+vn 0.1352 0.1209 -0.9834
+vn -0.0377 0.1209 -0.9919
+vn 0.1088 -0.1088 -0.9881
+vn -0.0644 -0.1088 -0.9920
+vn -0.2357 -0.1088 -0.9657
+vn -0.3998 -0.1088 -0.9101
+vn -0.5518 -0.1088 -0.8269
+vn -0.6870 -0.1088 -0.7185
+vn -0.8013 -0.1088 -0.5883
+vn -0.8913 -0.1088 -0.4402
+vn -0.9804 -0.1801 -0.0800
+vn -0.9794 -0.1801 0.0914
+vn -0.9486 -0.1801 0.2601
+vn -0.8890 -0.1801 0.4209
+vn -0.8025 -0.1801 0.5689
+vn -0.6915 -0.1801 0.6996
+vn -0.5595 -0.1801 0.8090
+vn -0.4105 -0.1801 0.8939
+vn 0.9802 0.1371 -0.1430
+vn 0.9405 0.1371 -0.3110
+vn 0.8722 0.1371 -0.4696
+vn 0.7774 0.1371 -0.6139
+vn 0.6590 0.1371 -0.7396
+vn 0.5205 0.1371 -0.8428
+vn 0.3663 0.1371 -0.9204
+vn 0.2009 0.1371 -0.9700
+vn -0.1491 -0.1524 -0.9770
+vn -0.3165 -0.1524 -0.9363
+vn -0.4743 -0.1524 -0.8671
+vn -0.6176 -0.1524 -0.7716
+vn -0.7422 -0.1524 -0.6526
+vn -0.8443 -0.1524 -0.5138
+vn -0.9207 -0.1524 -0.3594
+vn -0.9691 -0.1524 -0.1941
+vn -0.9411 -0.1004 0.3229
+vn -0.8707 -0.1004 0.4814
+vn -0.7739 -0.1004 0.6253
+vn -0.6536 -0.1004 0.7502
+vn -0.5134 -0.1004 0.8523
+vn -0.3576 -0.1004 0.9285
+vn -0.1909 -0.1004 0.9765
+vn -0.0184 -0.1004 0.9948
+vn -0.5721 -0.2066 -0.7937
+vn -0.7012 -0.2066 -0.6823
+vn -0.8091 -0.2066 -0.5502
+vn -0.8923 -0.2066 -0.4014
+vn -0.9485 -0.2066 -0.2403
+vn -0.9758 -0.2066 -0.0720
+vn -0.9734 -0.2066 0.0986
+vn -0.9415 -0.2066 0.2661
+vn -0.8848 -0.0706 0.4606
+vn -0.7914 -0.0706 0.6072
+vn -0.6739 -0.0706 0.7354
+vn -0.5360 -0.0706 0.8413
+vn -0.3817 -0.0706 0.9216
+vn -0.2159 -0.0706 0.9739
+vn -0.0435 -0.0706 0.9966
+vn 0.1302 -0.0706 0.9890
+vn 0.0294 0.1371 0.9901
+vn 0.2009 0.1371 0.9700
+vn 0.3663 0.1371 0.9204
+vn 0.5205 0.1371 0.8428
+vn 0.6590 0.1371 0.7396
+vn 0.7774 0.1371 0.6139
+vn 0.8722 0.1371 0.4696
+vn 0.9405 0.1371 0.3110
+vn -0.9881 -0.1524 0.0228
+vn -0.9691 -0.1524 0.1941
+vn -0.9207 -0.1524 0.3594
+vn -0.8443 -0.1524 0.5138
+vn -0.7422 -0.1524 0.6526
+vn -0.6176 -0.1524 0.7716
+vn -0.4743 -0.1524 0.8671
+vn -0.3165 -0.1524 0.9363
+vn 0.1546 -0.1004 -0.9829
+vn -0.0184 -0.1004 -0.9948
+vn -0.1909 -0.1004 -0.9765
+vn -0.3576 -0.1004 -0.9285
+vn -0.5134 -0.1004 -0.8523
+vn -0.6536 -0.1004 -0.7502
+vn -0.7739 -0.1004 -0.6253
+vn -0.8707 -0.1004 -0.4814
+vn 0.9542 0.1088 -0.2788
+vn 0.8913 0.1088 -0.4402
+vn 0.8013 0.1088 -0.5883
+vn 0.6870 0.1088 -0.7185
+vn 0.5518 0.1088 -0.8269
+vn 0.3998 0.1088 -0.9101
+vn 0.2357 0.1088 -0.9657
+vn 0.0644 0.1088 -0.9920
+vn -0.8810 -0.2066 -0.4256
+vn -0.9415 -0.2066 -0.2661
+vn -0.9734 -0.2066 -0.0986
+vn -0.9758 -0.2066 0.0720
+vn -0.9485 -0.2066 0.2403
+vn -0.8923 -0.2066 0.4014
+vn -0.8091 -0.2066 0.5502
+vn -0.7012 -0.2066 0.6823
+vn 0.3000 -0.0706 -0.9513
+vn 0.1302 -0.0706 -0.9890
+vn -0.0435 -0.0706 -0.9966
+vn -0.2159 -0.0706 -0.9739
+vn -0.3817 -0.0706 -0.9216
+vn -0.5360 -0.0706 -0.8413
+vn -0.6739 -0.0706 -0.7354
+vn -0.7914 -0.0706 -0.6072
+vn 0.2490 0.1801 0.9516
+vn 0.4105 0.1801 0.8939
+vn 0.5595 0.1801 0.8090
+vn 0.6915 0.1801 0.6996
+vn 0.8025 0.1801 0.5689
+vn 0.8890 0.1801 0.4209
+vn 0.9486 0.1801 0.2601
+vn 0.9794 0.1801 0.0914
+vn 0.8848 0.0706 -0.4606
+vn 0.7914 0.0706 -0.6072
+vn 0.6739 0.0706 -0.7354
+vn 0.5360 0.0706 -0.8413
+vn 0.3817 0.0706 -0.9216
+vn 0.2159 0.0706 -0.9739
+vn 0.0435 0.0706 -0.9966
+vn -0.1302 0.0706 -0.9890
+vn -0.2093 0.1209 0.9703
+vn -0.0377 0.1209 0.9919
+vn 0.1352 0.1209 0.9834
+vn 0.3039 0.1209 0.9450
+vn 0.4634 0.1209 0.8779
+vn 0.6088 0.1209 0.7841
+vn 0.7357 0.1209 0.6665
+vn 0.8402 0.1209 0.5286
+vn -0.9513 0.0706 -0.3000
+vn -0.9890 0.0706 -0.1302
+vn -0.9966 0.0706 0.0435
+vn -0.9739 0.0706 0.2159
+vn -0.9216 0.0706 0.3817
+vn -0.8413 0.0706 0.5360
+vn -0.7354 0.0706 0.6739
+vn -0.6072 0.0706 0.7914
+vn 0.3746 0.1209 0.9192
+vn 0.5286 0.1209 0.8402
+vn 0.6665 0.1209 0.7357
+vn 0.7841 0.1209 0.6088
+vn 0.8779 0.1209 0.4634
+vn 0.9450 0.1209 0.3039
+vn 0.9834 0.1209 0.1352
+vn 0.9919 0.1209 -0.0377
+vn 0.9881 -0.1088 0.1088
+vn 0.9920 -0.1088 -0.0644
+vn 0.9657 -0.1088 -0.2357
+vn 0.9101 -0.1088 -0.3998
+vn 0.8269 -0.1088 -0.5518
+vn 0.7185 -0.1088 -0.6870
+vn 0.5883 -0.1088 -0.8013
+vn 0.4402 -0.1088 -0.8913
+vn 0.0800 -0.1801 -0.9804
+vn -0.0914 -0.1801 -0.9794
+vn -0.2601 -0.1801 -0.9486
+vn -0.4209 -0.1801 -0.8890
+vn -0.5689 -0.1801 -0.8025
+vn -0.6996 -0.1801 -0.6915
+vn -0.8090 -0.1801 -0.5595
+vn -0.8939 -0.1801 -0.4105
+vn 0.1430 0.1371 0.9802
+vn 0.3110 0.1371 0.9405
+vn 0.4696 0.1371 0.8722
+vn 0.6139 0.1371 0.7774
+vn 0.7396 0.1371 0.6590
+vn 0.8428 0.1371 0.5205
+vn 0.9204 0.1371 0.3663
+vn 0.9700 0.1371 0.2009
+vn 0.9770 -0.1524 -0.1491
+vn 0.9363 -0.1524 -0.3165
+vn 0.8671 -0.1524 -0.4743
+vn 0.7716 -0.1524 -0.6176
+vn 0.6526 -0.1524 -0.7422
+vn 0.5138 -0.1524 -0.8443
+vn 0.3594 -0.1524 -0.9207
+vn 0.1941 -0.1524 -0.9691
+vn -0.3229 -0.1004 -0.9411
+vn -0.4814 -0.1004 -0.8707
+vn -0.6253 -0.1004 -0.7739
+vn -0.7502 -0.1004 -0.6536
+vn -0.8523 -0.1004 -0.5134
+vn -0.9285 -0.1004 -0.3576
+vn -0.9765 -0.1004 -0.1909
+vn -0.9948 -0.1004 -0.0184
+vn 0.7937 -0.2066 -0.5721
+vn 0.6823 -0.2066 -0.7012
+vn 0.5502 -0.2066 -0.8091
+vn 0.4014 -0.2066 -0.8923
+vn 0.2403 -0.2066 -0.9485
+vn 0.0720 -0.2066 -0.9758
+vn -0.0986 -0.2066 -0.9734
+vn -0.2661 -0.2066 -0.9415
+vn -0.4606 -0.0706 -0.8848
+vn -0.6072 -0.0706 -0.7914
+vn -0.7354 -0.0706 -0.6739
+vn -0.8413 -0.0706 -0.5360
+vn -0.9216 -0.0706 -0.3817
+vn -0.9739 -0.0706 -0.2159
+vn -0.9966 -0.0706 -0.0435
+vn -0.9890 -0.0706 0.1302
+vn 0.4256 -0.2066 -0.8810
+vn 0.2661 -0.2066 -0.9415
+vn 0.0986 -0.2066 -0.9734
+vn -0.0720 -0.2066 -0.9758
+vn -0.2403 -0.2066 -0.9485
+vn -0.4014 -0.2066 -0.8923
+vn -0.5502 -0.2066 -0.8091
+vn -0.6823 -0.2066 -0.7012
+vn 0.9513 -0.0706 0.3000
+vn 0.9890 -0.0706 0.1302
+vn 0.9966 -0.0706 -0.0435
+vn 0.9739 -0.0706 -0.2159
+vn 0.9216 -0.0706 -0.3817
+vn 0.8413 -0.0706 -0.5360
+vn 0.7354 -0.0706 -0.6739
+vn 0.6072 -0.0706 -0.7914
+vn -0.9516 0.1801 0.2490
+vn -0.8939 0.1801 0.4105
+vn -0.8090 0.1801 0.5595
+vn -0.6996 0.1801 0.6915
+vn -0.5689 0.1801 0.8025
+vn -0.4209 0.1801 0.8890
+vn -0.2601 0.1801 0.9486
+vn -0.0914 0.1801 0.9794
+vn -0.9829 0.1004 -0.1546
+vn -0.9948 0.1004 0.0184
+vn -0.9765 0.1004 0.1909
+vn -0.9285 0.1004 0.3576
+vn -0.8523 0.1004 0.5134
+vn -0.7502 0.1004 0.6536
+vn -0.6253 0.1004 0.7739
+vn -0.4814 0.1004 0.8707
+vn 0.4606 0.0706 0.8848
+vn 0.6072 0.0706 0.7914
+vn 0.7354 0.0706 0.6739
+vn 0.8413 0.0706 0.5360
+vn 0.9216 0.0706 0.3817
+vn 0.9739 0.0706 0.2159
+vn 0.9966 0.0706 0.0435
+vn 0.9890 0.0706 -0.1302
+vn -0.9703 0.1209 -0.2093
+vn -0.9919 0.1209 -0.0377
+vn -0.9834 0.1209 0.1352
+vn -0.9450 0.1209 0.3039
+vn -0.8779 0.1209 0.4634
+vn -0.7841 0.1209 0.6088
+vn -0.6665 0.1209 0.7357
+vn -0.5286 0.1209 0.8402
+vn -0.2788 -0.1088 -0.9542
+vn -0.4402 -0.1088 -0.8913
+vn -0.5883 -0.1088 -0.8013
+vn -0.7185 -0.1088 -0.6870
+vn -0.8269 -0.1088 -0.5518
+vn -0.9101 -0.1088 -0.3998
+vn -0.9657 -0.1088 -0.2357
+vn -0.9920 -0.1088 -0.0644
+vn -0.9901 0.1371 0.0294
+vn -0.9700 0.1371 0.2009
+vn -0.9204 0.1371 0.3663
+vn -0.8428 0.1371 0.5205
+vn -0.7396 0.1371 0.6590
+vn -0.6139 0.1371 0.7774
+vn -0.4696 0.1371 0.8722
+vn -0.3110 0.1371 0.9405
+vn -0.0228 -0.1524 -0.9881
+vn -0.1941 -0.1524 -0.9691
+vn -0.3594 -0.1524 -0.9207
+vn -0.5138 -0.1524 -0.8443
+vn -0.6526 -0.1524 -0.7422
+vn -0.7716 -0.1524 -0.6176
+vn -0.8671 -0.1524 -0.4743
+vn -0.9363 -0.1524 -0.3165
+vn -0.7937 -0.2066 0.5721
+vn -0.6823 -0.2066 0.7012
+vn -0.5502 -0.2066 0.8091
+vn -0.4014 -0.2066 0.8923
+vn -0.2403 -0.2066 0.9485
+vn -0.0720 -0.2066 0.9758
+vn 0.0986 -0.2066 0.9734
+vn 0.2661 -0.2066 0.9415
+vn 0.4606 -0.0706 0.8848
+vn 0.6072 -0.0706 0.7914
+vn 0.7354 -0.0706 0.6739
+vn 0.8413 -0.0706 0.5360
+vn 0.9216 -0.0706 0.3817
+vn 0.9739 -0.0706 0.2159
+vn 0.9966 -0.0706 0.0435
+vn 0.9890 -0.0706 -0.1302
+vn 0.0800 0.1801 -0.9804
+vn -0.0914 0.1801 -0.9794
+vn -0.2601 0.1801 -0.9486
+vn -0.4209 0.1801 -0.8890
+vn -0.5689 0.1801 -0.8025
+vn -0.6996 0.1801 -0.6915
+vn -0.8090 0.1801 -0.5595
+vn -0.8939 0.1801 -0.4105
+vn -0.3229 0.1004 -0.9411
+vn -0.4814 0.1004 -0.8707
+vn -0.6253 0.1004 -0.7739
+vn -0.7502 0.1004 -0.6536
+vn -0.8523 0.1004 -0.5134
+vn -0.9285 0.1004 -0.3576
+vn -0.9765 0.1004 -0.1909
+vn -0.9948 0.1004 -0.0184
+vn 0.9513 0.0706 0.3000
+vn 0.9890 0.0706 0.1302
+vn 0.9966 0.0706 -0.0435
+vn 0.9739 0.0706 -0.2159
+vn 0.9216 0.0706 -0.3817
+vn 0.8413 0.0706 -0.5360
+vn 0.7354 0.0706 -0.6739
+vn 0.6072 0.0706 -0.7914
+vn -0.3746 0.1209 -0.9192
+vn -0.5286 0.1209 -0.8402
+vn -0.6665 0.1209 -0.7357
+vn -0.7841 0.1209 -0.6088
+vn -0.8779 0.1209 -0.4634
+vn -0.9450 0.1209 -0.3039
+vn -0.9834 0.1209 -0.1352
+vn -0.9919 0.1209 0.0377
+vn -0.9881 -0.1088 -0.1088
+vn -0.9920 -0.1088 0.0644
+vn -0.9657 -0.1088 0.2357
+vn -0.9101 -0.1088 0.3998
+vn -0.8269 -0.1088 0.5518
+vn -0.7185 -0.1088 0.6870
+vn -0.5883 -0.1088 0.8013
+vn -0.4402 -0.1088 0.8913
+vn -0.1430 0.1371 -0.9802
+vn -0.3110 0.1371 -0.9405
+vn -0.4696 0.1371 -0.8722
+vn -0.6139 0.1371 -0.7774
+vn -0.7396 0.1371 -0.6590
+vn -0.8428 0.1371 -0.5205
+vn -0.9204 0.1371 -0.3663
+vn -0.9700 0.1371 -0.2009
+vn -0.9770 -0.1524 0.1491
+vn -0.9363 -0.1524 0.3165
+vn -0.8671 -0.1524 0.4743
+vn -0.7716 -0.1524 0.6176
+vn -0.6526 -0.1524 0.7422
+vn -0.5138 -0.1524 0.8443
+vn -0.3594 -0.1524 0.9207
+vn -0.1941 -0.1524 0.9691
+vn -0.4256 -0.2066 0.8810
+vn -0.2661 -0.2066 0.9415
+vn -0.0986 -0.2066 0.9734
+vn 0.0720 -0.2066 0.9758
+vn 0.2403 -0.2066 0.9485
+vn 0.4014 -0.2066 0.8923
+vn 0.5502 -0.2066 0.8091
+vn 0.6823 -0.2066 0.7012
+vn -0.9513 -0.0706 -0.3000
+vn -0.9890 -0.0706 -0.1302
+vn -0.9966 -0.0706 0.0435
+vn -0.9739 -0.0706 0.2159
+vn -0.9216 -0.0706 0.3817
+vn -0.8413 -0.0706 0.5360
+vn -0.7354 -0.0706 0.6739
+vn -0.6072 -0.0706 0.7914
+vn 0.9516 0.1801 -0.2490
+vn 0.8939 0.1801 -0.4105
+vn 0.8090 0.1801 -0.5595
+vn 0.6996 0.1801 -0.6915
+vn 0.5689 0.1801 -0.8025
+vn 0.4209 0.1801 -0.8890
+vn 0.2601 0.1801 -0.9486
+vn 0.0914 0.1801 -0.9794
+vn 0.9829 0.1004 0.1546
+vn 0.9948 0.1004 -0.0184
+vn 0.9765 0.1004 -0.1909
+vn 0.9285 0.1004 -0.3576
+vn 0.8523 0.1004 -0.5134
+vn 0.7502 0.1004 -0.6536
+vn 0.6253 0.1004 -0.7739
+vn 0.4814 0.1004 -0.8707
+vn -0.4606 0.0706 -0.8848
+vn -0.6072 0.0706 -0.7914
+vn -0.7354 0.0706 -0.6739
+vn -0.8413 0.0706 -0.5360
+vn -0.9216 0.0706 -0.3817
+vn -0.9739 0.0706 -0.2159
+vn -0.9966 0.0706 -0.0435
+vn -0.9890 0.0706 0.1302
+vn 0.9703 0.1209 0.2093
+vn 0.9919 0.1209 0.0377
+vn 0.9834 0.1209 -0.1352
+vn 0.9450 0.1209 -0.3039
+vn 0.8779 0.1209 -0.4634
+vn 0.7841 0.1209 -0.6088
+vn 0.6665 0.1209 -0.7357
+vn 0.5286 0.1209 -0.8402
+vn 0.2788 -0.1088 0.9542
+vn 0.4402 -0.1088 0.8913
+vn 0.5883 -0.1088 0.8013
+vn 0.7185 -0.1088 0.6870
+vn 0.8269 -0.1088 0.5518
+vn 0.9101 -0.1088 0.3998
+vn 0.9657 -0.1088 0.2357
+vn 0.9920 -0.1088 0.0644
+vn 0.9901 0.1371 -0.0294
+vn 0.9700 0.1371 -0.2009
+vn 0.9204 0.1371 -0.3663
+vn 0.8428 0.1371 -0.5205
+vn 0.7396 0.1371 -0.6590
+vn 0.6139 0.1371 -0.7774
+vn 0.4696 0.1371 -0.8722
+vn 0.3110 0.1371 -0.9405
+vn 0.0228 -0.1524 0.9881
+vn 0.1941 -0.1524 0.9691
+vn 0.3594 -0.1524 0.9207
+vn 0.5138 -0.1524 0.8443
+vn 0.6526 -0.1524 0.7422
+vn 0.7716 -0.1524 0.6176
+vn 0.8671 -0.1524 0.4743
+vn 0.9363 -0.1524 0.3165
+vn 0.5721 -0.2066 0.7937
+vn 0.7012 -0.2066 0.6823
+vn 0.8091 -0.2066 0.5502
+vn 0.8923 -0.2066 0.4014
+vn 0.9485 -0.2066 0.2403
+vn 0.9758 -0.2066 0.0720
+vn 0.9734 -0.2066 -0.0986
+vn 0.9415 -0.2066 -0.2661
+vn 0.8848 -0.0706 -0.4606
+vn 0.7914 -0.0706 -0.6072
+vn 0.6739 -0.0706 -0.7354
+vn 0.5360 -0.0706 -0.8413
+vn 0.3817 -0.0706 -0.9216
+vn 0.2159 -0.0706 -0.9739
+vn 0.0435 -0.0706 -0.9966
+vn -0.1302 -0.0706 -0.9890
+vn -0.9804 0.1801 -0.0800
+vn -0.9794 0.1801 0.0914
+vn -0.9486 0.1801 0.2601
+vn -0.8890 0.1801 0.4209
+vn -0.8025 0.1801 0.5689
+vn -0.6915 0.1801 0.6996
+vn -0.5595 0.1801 0.8090
+vn -0.4105 0.1801 0.8939
+vn -0.9411 0.1004 0.3229
+vn -0.8707 0.1004 0.4814
+vn -0.7739 0.1004 0.6253
+vn -0.6536 0.1004 0.7502
+vn -0.5134 0.1004 0.8523
+vn -0.3576 0.1004 0.9285
+vn -0.1909 0.1004 0.9765
+vn -0.0184 0.1004 0.9948
+vn 0.3000 0.0706 -0.9513
+vn 0.1302 0.0706 -0.9890
+vn -0.0435 0.0706 -0.9966
+vn -0.2159 0.0706 -0.9739
+vn -0.3817 0.0706 -0.9216
+vn -0.5360 0.0706 -0.8413
+vn -0.6739 0.0706 -0.7354
+vn -0.7914 0.0706 -0.6072
+vn -0.9192 0.1209 0.3746
+vn -0.8402 0.1209 0.5286
+vn -0.7357 0.1209 0.6665
+vn -0.6088 0.1209 0.7841
+vn -0.4634 0.1209 0.8779
+vn -0.3039 0.1209 0.9450
+vn -0.1352 0.1209 0.9834
+vn 0.0377 0.1209 0.9919
+vn -0.1088 -0.1088 0.9881
+vn 0.0644 -0.1088 0.9920
+vn 0.2357 -0.1088 0.9657
+vn 0.3998 -0.1088 0.9101
+vn 0.5518 -0.1088 0.8269
+vn 0.6870 -0.1088 0.7185
+vn 0.8013 -0.1088 0.5883
+vn 0.8913 -0.1088 0.4402
+vn -0.9802 0.1371 0.1430
+vn -0.9405 0.1371 0.3110
+vn -0.8722 0.1371 0.4696
+vn -0.7774 0.1371 0.6139
+vn -0.6590 0.1371 0.7396
+vn -0.5205 0.1371 0.8428
+vn -0.3663 0.1371 0.9204
+vn -0.2009 0.1371 0.9700
+vn 0.1491 -0.1524 0.9770
+vn 0.3165 -0.1524 0.9363
+vn 0.4743 -0.1524 0.8671
+vn 0.6176 -0.1524 0.7716
+vn 0.7422 -0.1524 0.6526
+vn 0.8443 -0.1524 0.5138
+vn 0.9207 -0.1524 0.3594
+vn 0.9691 -0.1524 0.1941
+vn -0.0294 0.1371 -0.9901
+vn -0.2009 0.1371 -0.9700
+vn -0.3663 0.1371 -0.9204
+vn -0.5205 0.1371 -0.8428
+vn -0.6590 0.1371 -0.7396
+vn -0.7774 0.1371 -0.6139
+vn -0.8722 0.1371 -0.4696
+vn -0.9405 0.1371 -0.3110
+vn 0.9881 -0.1524 -0.0228
+vn 0.9691 -0.1524 -0.1941
+vn 0.9207 -0.1524 -0.3594
+vn 0.8443 -0.1524 -0.5138
+vn 0.7422 -0.1524 -0.6526
+vn 0.6176 -0.1524 -0.7716
+vn 0.4743 -0.1524 -0.8671
+vn 0.3165 -0.1524 -0.9363
+vn -0.1546 -0.1004 0.9829
+vn 0.0184 -0.1004 0.9948
+vn 0.1909 -0.1004 0.9765
+vn 0.3576 -0.1004 0.9285
+vn 0.5134 -0.1004 0.8523
+vn 0.6536 -0.1004 0.7502
+vn 0.7739 -0.1004 0.6253
+vn 0.8707 -0.1004 0.4814
+vn -0.9542 0.1088 0.2788
+vn -0.8913 0.1088 0.4402
+vn -0.8013 0.1088 0.5883
+vn -0.6870 0.1088 0.7185
+vn -0.5518 0.1088 0.8269
+vn -0.3998 0.1088 0.9101
+vn -0.2357 0.1088 0.9657
+vn -0.0644 0.1088 0.9920
+vn 0.8810 -0.2066 0.4256
+vn 0.9415 -0.2066 0.2661
+vn 0.9734 -0.2066 0.0986
+vn 0.9758 -0.2066 -0.0720
+vn 0.9485 -0.2066 -0.2403
+vn 0.8923 -0.2066 -0.4014
+vn 0.8091 -0.2066 -0.5502
+vn 0.7012 -0.2066 -0.6823
+vn -0.3000 -0.0706 0.9513
+vn -0.1302 -0.0706 0.9890
+vn 0.0435 -0.0706 0.9966
+vn 0.2159 -0.0706 0.9739
+vn 0.3817 -0.0706 0.9216
+vn 0.5360 -0.0706 0.8413
+vn 0.6739 -0.0706 0.7354
+vn 0.7914 -0.0706 0.6072
+vn -0.2490 0.1801 -0.9516
+vn -0.4105 0.1801 -0.8939
+vn -0.5595 0.1801 -0.8090
+vn -0.6915 0.1801 -0.6996
+vn -0.8025 0.1801 -0.5689
+vn -0.8890 0.1801 -0.4209
+vn -0.9486 0.1801 -0.2601
+vn -0.9794 0.1801 -0.0914
+vn -0.8848 0.0706 0.4606
+vn -0.7914 0.0706 0.6072
+vn -0.6739 0.0706 0.7354
+vn -0.5360 0.0706 0.8413
+vn -0.3817 0.0706 0.9216
+vn -0.2159 0.0706 0.9739
+vn -0.0435 0.0706 0.9966
+vn 0.1302 0.0706 0.9890
+vn 0.2093 0.1209 -0.9703
+vn 0.0377 0.1209 -0.9919
+vn -0.1352 0.1209 -0.9834
+vn -0.3039 0.1209 -0.9450
+vn -0.4634 0.1209 -0.8779
+vn -0.6088 0.1209 -0.7841
+vn -0.7357 0.1209 -0.6665
+vn -0.8402 0.1209 -0.5286
+vn -0.9962 0.0000 0.0872
+vn -0.9659 -0.0000 0.2588
+vn -0.9063 0.0000 0.4226
+vn -0.8192 -0.0000 0.5736
+vn -0.7071 0.0000 0.7071
+vn -0.5736 -0.0000 0.8192
+vn -0.4226 -0.0000 0.9063
+vn -0.2588 0.0000 0.9659
+vn 0.9962 -0.0000 -0.0872
+vn 0.9659 0.0000 -0.2588
+vn 0.9063 0.0000 -0.4226
+vn 0.8192 0.0000 -0.5736
+vn 0.7071 -0.0000 -0.7071
+vn 0.5736 0.0000 -0.8192
+vn 0.4226 -0.0000 -0.9063
+vn 0.2588 -0.0000 -0.9659
+vn -0.0872 0.0000 -0.9962
+vn -0.2588 -0.0000 -0.9659
+vn -0.4226 0.0000 -0.9063
+vn -0.5736 -0.0000 -0.8192
+vn -0.7071 0.0000 -0.7071
+vn -0.8192 -0.0000 -0.5736
+vn -0.9063 0.0000 -0.4226
+vn -0.9659 0.0000 -0.2588
+vn 0.7447 0.0000 -0.6674
+vn 0.6174 0.0000 -0.7866
+vn 0.4715 0.0000 -0.8819
+vn 0.3112 0.0000 -0.9504
+vn 0.1414 0.0000 -0.9899
+vn -0.0326 0.0000 -0.9995
+vn -0.2057 0.0000 -0.9786
+vn -0.3725 0.0000 -0.9280
+vn 0.6428 0.0000 -0.7660
+vn 0.5000 0.0000 -0.8660
+vn 0.3420 0.0000 -0.9397
+vn 0.1736 0.0000 -0.9848
+vn 0.0000 0.0000 -1.0000
+vn -0.1736 0.0000 -0.9848
+vn -0.3420 0.0000 -0.9397
+vn -0.5000 0.0000 -0.8660
+vn 0.5280 0.0000 -0.8492
+vn 0.3725 0.0000 -0.9280
+vn 0.2057 0.0000 -0.9786
+vn 0.0326 0.0000 -0.9995
+vn -0.1414 0.0000 -0.9899
+vn -0.3112 0.0000 -0.9504
+vn -0.4715 0.0000 -0.8819
+vn -0.6174 0.0000 -0.7866
+vn -0.7447 0.0000 0.6674
+vn -0.6174 0.0000 0.7866
+vn -0.4715 0.0000 0.8819
+vn -0.3112 0.0000 0.9504
+vn -0.1414 0.0000 0.9899
+vn 0.0326 0.0000 0.9995
+vn 0.2057 0.0000 0.9786
+vn 0.3725 0.0000 0.9280
+vn 0.6674 0.0000 0.7447
+vn 0.7866 0.0000 0.6174
+vn 0.8819 0.0000 0.4715
+vn 0.9504 0.0000 0.3112
+vn 0.9899 0.0000 0.1414
+vn 0.9995 0.0000 -0.0326
+vn 0.9786 0.0000 -0.2057
+vn 0.9280 0.0000 -0.3725
+vn 0.7660 0.0000 0.6428
+vn 0.8660 0.0000 0.5000
+vn 0.9397 0.0000 0.3420
+vn 0.9848 0.0000 0.1736
+vn 1.0000 0.0000 0.0000
+vn 0.9848 0.0000 -0.1736
+vn 0.9397 0.0000 -0.3420
+vn 0.8660 0.0000 -0.5000
+vn -0.8492 0.0000 -0.5280
+vn -0.9280 0.0000 -0.3725
+vn -0.9786 0.0000 -0.2057
+vn -0.9995 0.0000 -0.0326
+vn -0.9899 0.0000 0.1414
+vn -0.9504 0.0000 0.3112
+vn -0.8819 0.0000 0.4715
+vn -0.7866 0.0000 0.6174
+vn -0.7660 0.0000 -0.6428
+vn -0.8660 0.0000 -0.5000
+vn -0.9397 0.0000 -0.3420
+vn -0.9848 0.0000 -0.1736
+vn -1.0000 0.0000 0.0000
+vn -0.9848 0.0000 0.1736
+vn -0.9397 0.0000 0.3420
+vn -0.8660 0.0000 0.5000
+vn 0.8492 0.0000 0.5280
+vn 0.9280 0.0000 0.3725
+vn 0.9786 0.0000 0.2057
+vn 0.9995 0.0000 0.0326
+vn 0.9899 0.0000 -0.1414
+vn 0.9504 0.0000 -0.3112
+vn 0.8819 0.0000 -0.4715
+vn 0.7866 0.0000 -0.6174
+vn 0.0872 0.0000 0.9962
+vn 0.2588 -0.0000 0.9659
+vn 0.4226 0.0000 0.9063
+vn 0.5736 0.0000 0.8192
+vn 0.7071 0.0000 0.7071
+vn 0.8192 -0.0000 0.5736
+vn 0.9063 0.0000 0.4226
+vn 0.9659 0.0000 0.2588
+usemtl Material
+s off
+f 1/1/1 7/2/1 63/3/1 57/4/1
+f 57/5/2 63/6/2 119/7/2 113/8/2
+f 113/8/3 119/7/3 175/9/3 169/10/3
+f 169/10/4 175/9/4 231/11/4 225/12/4
+f 225/12/5 231/11/5 287/13/5 281/14/5
+f 281/14/6 287/13/6 343/15/6 337/16/6
+f 337/16/7 343/15/7 399/17/7 393/18/7
+f 393/18/8 399/17/8 455/19/8 449/20/8
+f 4/21/9 1/22/9 57/23/9 60/24/9
+f 60/24/10 57/23/10 113/25/10 116/26/10
+f 116/26/11 113/25/11 169/27/11 172/28/11
+f 172/28/12 169/27/12 225/29/12 228/30/12
+f 228/30/13 225/29/13 281/31/13 284/32/13
+f 284/32/14 281/31/14 337/33/14 340/34/14
+f 340/35/15 337/36/15 393/37/15 396/38/15
+f 396/38/16 393/37/16 449/39/16 452/40/16
+f 5/41/17 4/42/17 60/43/17 61/44/17
+f 61/44/18 60/43/18 116/45/18 117/46/18
+f 117/46/19 116/45/19 172/47/19 173/48/19
+f 173/48/20 172/47/20 228/49/20 229/50/20
+f 229/50/21 228/49/21 284/51/21 285/52/21
+f 285/52/22 284/51/22 340/35/22 341/53/22
+f 341/53/23 340/35/23 396/38/23 397/54/23
+f 397/54/24 396/38/24 452/40/24 453/55/24
+f 7/2/25 5/56/25 61/57/25 63/3/25
+f 63/3/26 61/57/26 117/58/26 119/59/26
+f 119/59/27 117/58/27 173/60/27 175/61/27
+f 175/61/28 173/60/28 229/62/28 231/63/28
+f 231/63/29 229/62/29 285/64/29 287/65/29
+f 287/65/30 285/64/30 341/66/30 343/67/30
+f 343/67/31 341/66/31 397/68/31 399/69/31
+f 399/69/32 397/68/32 453/70/32 455/71/32
+f 2/72/33 4/21/33 60/24/33 58/73/33
+f 58/73/34 60/24/34 116/26/34 114/74/34
+f 114/74/35 116/26/35 172/28/35 170/75/35
+f 170/75/36 172/28/36 228/30/36 226/76/36
+f 226/76/37 228/30/37 284/32/37 282/77/37
+f 282/77/38 284/32/38 340/34/38 338/78/38
+f 338/78/39 340/34/39 396/79/39 394/80/39
+f 394/80/40 396/79/40 452/81/40 450/82/40
+f 6/83/41 2/84/41 58/85/41 62/86/41
+f 62/86/42 58/85/42 114/87/42 118/88/42
+f 118/88/43 114/87/43 170/89/43 174/90/43
+f 174/90/44 170/89/44 226/91/44 230/92/44
+f 230/92/45 226/91/45 282/93/45 286/94/45
+f 286/94/46 282/93/46 338/95/46 342/96/46
+f 342/96/47 338/95/47 394/97/47 398/98/47
+f 398/98/48 394/97/48 450/99/48 454/100/48
+f 5/56/49 6/101/49 62/102/49 61/57/49
+f 61/57/50 62/102/50 118/103/50 117/58/50
+f 117/58/51 118/103/51 174/104/51 173/60/51
+f 173/60/52 174/104/52 230/105/52 229/62/52
+f 229/62/53 230/105/53 286/106/53 285/64/53
+f 285/64/54 286/106/54 342/107/54 341/66/54
+f 341/66/55 342/107/55 398/108/55 397/68/55
+f 397/109/56 398/110/56 454/111/56 453/112/56
+f 3/113/57 6/83/57 62/86/57 59/114/57
+f 59/114/58 62/86/58 118/88/58 115/115/58
+f 115/115/59 118/88/59 174/90/59 171/116/59
+f 171/116/60 174/90/60 230/92/60 227/117/60
+f 227/117/61 230/92/61 286/94/61 283/118/61
+f 283/119/62 286/106/62 342/107/62 339/120/62
+f 339/120/63 342/107/63 398/108/63 395/121/63
+f 395/121/64 398/108/64 454/122/64 451/123/64
+f 7/2/65 3/124/65 59/125/65 63/3/65
+f 63/3/66 59/125/66 115/126/66 119/59/66
+f 119/59/67 115/126/67 171/127/67 175/61/67
+f 175/61/68 171/127/68 227/128/68 231/63/68
+f 231/63/69 227/128/69 283/119/69 287/65/69
+f 287/65/70 283/119/70 339/120/70 343/67/70
+f 343/15/71 339/129/71 395/130/71 399/17/71
+f 399/17/72 395/130/72 451/131/72 455/19/72
+f 8/132/73 14/133/73 70/134/73 64/135/73
+f 64/135/74 70/134/74 126/136/74 120/137/74
+f 120/137/75 126/136/75 182/138/75 176/139/75
+f 176/139/76 182/138/76 238/140/76 232/141/76
+f 232/141/77 238/140/77 294/142/77 288/143/77
+f 288/143/78 294/142/78 350/144/78 344/145/78
+f 344/145/79 350/144/79 406/146/79 400/147/79
+f 400/147/80 406/146/80 462/148/80 456/149/80
+f 11/150/81 8/151/81 64/152/81 67/153/81
+f 67/153/82 64/152/82 120/154/82 123/155/82
+f 123/155/83 120/154/83 176/156/83 179/157/83
+f 179/157/84 176/156/84 232/158/84 235/159/84
+f 235/159/85 232/158/85 288/160/85 291/161/85
+f 291/161/86 288/160/86 344/162/86 347/163/86
+f 347/163/87 344/162/87 400/164/87 403/165/87
+f 403/165/88 400/164/88 456/166/88 459/167/88
+f 12/168/89 11/169/89 67/170/89 68/171/89
+f 68/171/90 67/170/90 123/172/90 124/173/90
+f 124/173/91 123/172/91 179/174/91 180/175/91
+f 180/175/92 179/174/92 235/176/92 236/177/92
+f 236/177/93 235/176/93 291/178/93 292/179/93
+f 292/179/94 291/178/94 347/180/94 348/181/94
+f 348/181/95 347/180/95 403/182/95 404/183/95
+f 404/183/96 403/182/96 459/184/96 460/185/96
+f 14/186/97 12/187/97 68/188/97 70/189/97
+f 70/189/98 68/188/98 124/190/98 126/191/98
+f 126/191/99 124/190/99 180/192/99 182/193/99
+f 182/193/100 180/192/100 236/194/100 238/195/100
+f 238/195/101 236/194/101 292/196/101 294/197/101
+f 294/197/102 292/196/102 348/198/102 350/199/102
+f 350/199/103 348/198/103 404/200/103 406/201/103
+f 406/202/104 404/183/104 460/185/104 462/203/104
+f 9/204/105 11/169/105 67/170/105 65/205/105
+f 65/205/106 67/170/106 123/172/106 121/206/106
+f 121/207/107 123/155/107 179/157/107 177/208/107
+f 177/208/108 179/157/108 235/159/108 233/209/108
+f 233/209/109 235/159/109 291/161/109 289/210/109
+f 289/210/110 291/161/110 347/163/110 345/211/110
+f 345/211/111 347/163/111 403/165/111 401/212/111
+f 401/212/112 403/165/112 459/167/112 457/213/112
+f 13/214/113 9/215/113 65/216/113 69/217/113
+f 69/218/114 65/205/114 121/206/114 125/219/114
+f 125/219/115 121/206/115 177/220/115 181/221/115
+f 181/221/116 177/220/116 233/222/116 237/223/116
+f 237/223/117 233/222/117 289/224/117 293/225/117
+f 293/225/118 289/224/118 345/226/118 349/227/118
+f 349/227/119 345/226/119 401/228/119 405/229/119
+f 405/229/120 401/228/120 457/230/120 461/231/120
+f 12/232/121 13/233/121 69/234/121 68/235/121
+f 68/235/122 69/234/122 125/236/122 124/237/122
+f 124/237/123 125/236/123 181/238/123 180/239/123
+f 180/239/124 181/238/124 237/240/124 236/241/124
+f 236/241/125 237/240/125 293/242/125 292/243/125
+f 292/243/126 293/242/126 349/244/126 348/245/126
+f 348/245/127 349/244/127 405/246/127 404/247/127
+f 404/248/128 405/249/128 461/250/128 460/251/128
+f 10/252/129 13/214/129 69/217/129 66/253/129
+f 66/253/130 69/217/130 125/254/130 122/255/130
+f 122/255/131 125/254/131 181/256/131 178/257/131
+f 178/257/132 181/256/132 237/258/132 234/259/132
+f 234/259/133 237/258/133 293/260/133 290/261/133
+f 290/261/134 293/260/134 349/262/134 346/263/134
+f 346/264/135 349/227/135 405/229/135 402/265/135
+f 402/265/136 405/229/136 461/231/136 458/266/136
+f 14/267/137 10/268/137 66/269/137 70/270/137
+f 70/134/138 66/271/138 122/272/138 126/136/138
+f 126/136/139 122/272/139 178/273/139 182/138/139
+f 182/138/140 178/273/140 234/274/140 238/140/140
+f 238/140/141 234/274/141 290/275/141 294/142/141
+f 294/142/142 290/275/142 346/276/142 350/144/142
+f 350/144/143 346/276/143 402/277/143 406/146/143
+f 406/146/144 402/277/144 458/278/144 462/148/144
+f 15/279/145 21/280/145 77/281/145 71/282/145
+f 71/283/146 77/284/146 133/285/146 127/286/146
+f 127/286/147 133/285/147 189/287/147 183/288/147
+f 183/288/148 189/287/148 245/289/148 239/290/148
+f 239/290/149 245/289/149 301/291/149 295/292/149
+f 295/292/150 301/291/150 357/293/150 351/294/150
+f 351/294/151 357/293/151 413/295/151 407/296/151
+f 407/296/152 413/295/152 469/297/152 463/298/152
+f 18/299/153 15/300/153 71/301/153 74/302/153
+f 74/302/154 71/301/154 127/303/154 130/304/154
+f 130/304/155 127/303/155 183/305/155 186/306/155
+f 186/306/156 183/305/156 239/307/156 242/308/156
+f 242/308/157 239/307/157 295/309/157 298/310/157
+f 298/310/158 295/309/158 351/311/158 354/312/158
+f 354/313/159 351/314/159 407/315/159 410/316/159
+f 410/316/160 407/315/160 463/317/160 466/318/160
+f 19/319/161 18/320/161 74/321/161 75/322/161
+f 75/322/162 74/321/162 130/323/162 131/324/162
+f 131/324/163 130/323/163 186/325/163 187/326/163
+f 187/326/164 186/325/164 242/327/164 243/328/164
+f 243/328/165 242/327/165 298/329/165 299/330/165
+f 299/330/166 298/329/166 354/313/166 355/331/166
+f 355/331/167 354/313/167 410/316/167 411/332/167
+f 411/332/168 410/316/168 466/318/168 467/333/168
+f 21/280/169 19/334/169 75/335/169 77/281/169
+f 77/281/170 75/335/170 131/336/170 133/337/170
+f 133/337/171 131/336/171 187/338/171 189/339/171
+f 189/339/172 187/338/172 243/340/172 245/341/172
+f 245/341/173 243/340/173 299/342/173 301/343/173
+f 301/343/174 299/342/174 355/344/174 357/345/174
+f 357/345/175 355/344/175 411/346/175 413/347/175
+f 413/347/176 411/346/176 467/348/176 469/349/176
+f 16/350/177 18/299/177 74/302/177 72/351/177
+f 72/351/178 74/302/178 130/304/178 128/352/178
+f 128/352/179 130/304/179 186/306/179 184/353/179
+f 184/353/180 186/306/180 242/308/180 240/354/180
+f 240/354/181 242/308/181 298/310/181 296/355/181
+f 296/355/182 298/310/182 354/312/182 352/356/182
+f 352/356/183 354/312/183 410/357/183 408/358/183
+f 408/358/184 410/357/184 466/359/184 464/360/184
+f 20/361/185 16/362/185 72/363/185 76/364/185
+f 76/364/186 72/363/186 128/365/186 132/366/186
+f 132/366/187 128/365/187 184/367/187 188/368/187
+f 188/368/188 184/367/188 240/369/188 244/370/188
+f 244/370/189 240/369/189 296/371/189 300/372/189
+f 300/372/190 296/371/190 352/373/190 356/374/190
+f 356/374/191 352/373/191 408/375/191 412/376/191
+f 412/376/192 408/375/192 464/377/192 468/378/192
+f 19/334/193 20/379/193 76/380/193 75/335/193
+f 75/335/194 76/380/194 132/381/194 131/336/194
+f 131/336/195 132/381/195 188/382/195 187/338/195
+f 187/338/196 188/382/196 244/383/196 243/340/196
+f 243/340/197 244/383/197 300/384/197 299/342/197
+f 299/342/198 300/384/198 356/385/198 355/344/198
+f 355/344/199 356/385/199 412/386/199 411/346/199
+f 411/387/200 412/388/200 468/389/200 467/390/200
+f 17/391/201 20/361/201 76/364/201 73/392/201
+f 73/392/202 76/364/202 132/366/202 129/393/202
+f 129/393/203 132/366/203 188/368/203 185/394/203
+f 185/394/204 188/368/204 244/370/204 241/395/204
+f 241/395/205 244/370/205 300/372/205 297/396/205
+f 297/397/206 300/384/206 356/385/206 353/398/206
+f 353/398/207 356/385/207 412/386/207 409/399/207
+f 409/399/208 412/386/208 468/400/208 465/401/208
+f 21/280/209 17/402/209 73/403/209 77/281/209
+f 77/281/210 73/403/210 129/404/210 133/337/210
+f 133/337/211 129/404/211 185/405/211 189/339/211
+f 189/339/212 185/405/212 241/406/212 245/341/212
+f 245/341/213 241/406/213 297/397/213 301/343/213
+f 301/343/214 297/397/214 353/398/214 357/345/214
+f 357/293/215 353/407/215 409/408/215 413/295/215
+f 413/295/216 409/408/216 465/409/216 469/297/216
+f 22/410/217 28/411/217 84/412/217 78/413/217
+f 78/413/218 84/412/218 140/414/218 134/415/218
+f 134/416/219 140/417/219 196/418/219 190/419/219
+f 190/419/220 196/418/220 252/420/220 246/421/220
+f 246/421/221 252/420/221 308/422/221 302/423/221
+f 302/423/222 308/422/222 364/424/222 358/425/222
+f 358/425/223 364/424/223 420/426/223 414/427/223
+f 414/427/224 420/426/224 476/428/224 470/429/224
+f 25/430/225 22/431/225 78/432/225 81/433/225
+f 81/434/226 78/413/226 134/415/226 137/435/226
+f 137/435/227 134/415/227 190/436/227 193/437/227
+f 193/437/228 190/436/228 246/438/228 249/439/228
+f 249/439/229 246/438/229 302/440/229 305/441/229
+f 305/441/230 302/440/230 358/442/230 361/443/230
+f 361/443/231 358/442/231 414/444/231 417/445/231
+f 417/445/232 414/444/232 470/446/232 473/447/232
+f 26/448/233 25/449/233 81/450/233 82/451/233
+f 82/451/234 81/450/234 137/452/234 138/453/234
+f 138/453/235 137/452/235 193/454/235 194/455/235
+f 194/455/236 193/454/236 249/456/236 250/457/236
+f 250/457/237 249/456/237 305/458/237 306/459/237
+f 306/459/238 305/458/238 361/460/238 362/461/238
+f 362/461/239 361/460/239 417/462/239 418/463/239
+f 418/464/240 417/465/240 473/466/240 474/467/240
+f 28/468/241 26/448/241 82/451/241 84/469/241
+f 84/469/242 82/451/242 138/453/242 140/470/242
+f 140/470/243 138/453/243 194/455/243 196/471/243
+f 196/471/244 194/455/244 250/457/244 252/472/244
+f 252/472/245 250/457/245 306/459/245 308/473/245
+f 308/473/246 306/459/246 362/461/246 364/474/246
+f 364/474/247 362/461/247 418/463/247 420/475/247
+f 420/475/248 418/463/248 474/476/248 476/477/248
+f 23/478/249 25/430/249 81/433/249 79/479/249
+f 79/479/250 81/433/250 137/480/250 135/481/250
+f 135/481/251 137/480/251 193/482/251 191/483/251
+f 191/483/252 193/482/252 249/484/252 247/485/252
+f 247/485/253 249/484/253 305/486/253 303/487/253
+f 303/487/254 305/486/254 361/488/254 359/489/254
+f 359/490/255 361/443/255 417/445/255 415/491/255
+f 415/491/256 417/445/256 473/447/256 471/492/256
+f 27/493/257 23/494/257 79/495/257 83/496/257
+f 83/497/258 79/498/258 135/499/258 139/500/258
+f 139/500/259 135/499/259 191/501/259 195/502/259
+f 195/502/260 191/501/260 247/503/260 251/504/260
+f 251/504/261 247/503/261 303/505/261 307/506/261
+f 307/506/262 303/505/262 359/507/262 363/508/262
+f 363/508/263 359/507/263 415/509/263 419/510/263
+f 419/510/264 415/509/264 471/511/264 475/512/264
+f 26/513/265 27/493/265 83/496/265 82/514/265
+f 82/514/266 83/496/266 139/515/266 138/516/266
+f 138/516/267 139/515/267 195/517/267 194/518/267
+f 194/518/268 195/517/268 251/519/268 250/520/268
+f 250/520/269 251/519/269 307/521/269 306/522/269
+f 306/522/270 307/521/270 363/523/270 362/524/270
+f 362/524/271 363/523/271 419/525/271 418/526/271
+f 418/463/272 419/510/272 475/512/272 474/476/272
+f 24/527/273 27/528/273 83/497/273 80/529/273
+f 80/529/274 83/497/274 139/500/274 136/530/274
+f 136/530/275 139/500/275 195/502/275 192/531/275
+f 192/531/276 195/502/276 251/504/276 248/532/276
+f 248/532/277 251/504/277 307/506/277 304/533/277
+f 304/533/278 307/506/278 363/508/278 360/534/278
+f 360/534/279 363/508/279 419/510/279 416/535/279
+f 416/535/280 419/510/280 475/512/280 472/536/280
+f 28/537/281 24/538/281 80/539/281 84/540/281
+f 84/540/282 80/539/282 136/541/282 140/417/282
+f 140/417/283 136/541/283 192/542/283 196/418/283
+f 196/418/284 192/542/284 248/543/284 252/420/284
+f 252/420/285 248/543/285 304/544/285 308/422/285
+f 308/422/286 304/544/286 360/545/286 364/424/286
+f 364/424/287 360/545/287 416/546/287 420/426/287
+f 420/426/288 416/546/288 472/547/288 476/428/288
+f 29/548/289 35/549/289 91/550/289 85/551/289
+f 85/551/290 91/550/290 147/552/290 141/553/290
+f 141/553/291 147/552/291 203/554/291 197/555/291
+f 197/555/292 203/554/292 259/556/292 253/557/292
+f 253/557/293 259/556/293 315/558/293 309/559/293
+f 309/560/294 315/561/294 371/562/294 365/563/294
+f 365/563/295 371/562/295 427/564/295 421/565/295
+f 421/565/296 427/564/296 483/566/296 477/567/296
+f 32/568/297 29/569/297 85/570/297 88/571/297
+f 88/571/298 85/570/298 141/572/298 144/573/298
+f 144/573/299 141/572/299 197/574/299 200/575/299
+f 200/575/300 197/574/300 253/576/300 256/577/300
+f 256/577/301 253/576/301 309/560/301 312/578/301
+f 312/578/302 309/560/302 365/563/302 368/579/302
+f 368/580/303 365/581/303 421/582/303 424/583/303
+f 424/583/304 421/582/304 477/584/304 480/585/304
+f 33/586/305 32/587/305 88/588/305 89/589/305
+f 89/589/306 88/588/306 144/590/306 145/591/306
+f 145/591/307 144/590/307 200/592/307 201/593/307
+f 201/593/308 200/592/308 256/594/308 257/595/308
+f 257/595/309 256/594/309 312/596/309 313/597/309
+f 313/597/310 312/596/310 368/598/310 369/599/310
+f 369/599/311 368/598/311 424/600/311 425/601/311
+f 425/601/312 424/600/312 480/602/312 481/603/312
+f 35/604/313 33/586/313 89/589/313 91/605/313
+f 91/605/314 89/589/314 145/591/314 147/606/314
+f 147/606/315 145/591/315 201/593/315 203/607/315
+f 203/607/316 201/593/316 257/595/316 259/608/316
+f 259/608/317 257/595/317 313/597/317 315/609/317
+f 315/609/318 313/597/318 369/599/318 371/610/318
+f 371/610/319 369/599/319 425/601/319 427/611/319
+f 427/612/320 425/613/320 481/614/320 483/615/320
+f 30/616/321 32/568/321 88/571/321 86/617/321
+f 86/618/322 88/619/322 144/620/322 142/621/322
+f 142/621/323 144/620/323 200/622/323 198/623/323
+f 198/623/324 200/622/324 256/624/324 254/625/324
+f 254/625/325 256/624/325 312/626/325 310/627/325
+f 310/627/326 312/626/326 368/580/326 366/628/326
+f 366/628/327 368/580/327 424/583/327 422/629/327
+f 422/629/328 424/583/328 480/585/328 478/630/328
+f 34/631/329 30/632/329 86/633/329 90/634/329
+f 90/634/330 86/633/330 142/635/330 146/636/330
+f 146/636/331 142/635/331 198/637/331 202/638/331
+f 202/638/332 198/637/332 254/639/332 258/640/332
+f 258/640/333 254/639/333 310/641/333 314/642/333
+f 314/642/334 310/641/334 366/643/334 370/644/334
+f 370/645/335 366/646/335 422/647/335 426/648/335
+f 426/648/336 422/647/336 478/649/336 482/650/336
+f 33/651/337 34/652/337 90/653/337 89/654/337
+f 89/654/338 90/653/338 146/655/338 145/656/338
+f 145/656/339 146/655/339 202/657/339 201/658/339
+f 201/658/340 202/657/340 258/659/340 257/660/340
+f 257/660/341 258/659/341 314/661/341 313/662/341
+f 313/662/342 314/661/342 370/645/342 369/663/342
+f 369/663/343 370/645/343 426/648/343 425/613/343
+f 425/613/344 426/648/344 482/650/344 481/614/344
+f 31/664/345 34/631/345 90/634/345 87/665/345
+f 87/665/346 90/634/346 146/636/346 143/666/346
+f 143/666/347 146/636/347 202/638/347 199/667/347
+f 199/667/348 202/638/348 258/640/348 255/668/348
+f 255/668/349 258/640/349 314/642/349 311/669/349
+f 311/669/350 314/642/350 370/644/350 367/670/350
+f 367/670/351 370/644/351 426/671/351 423/672/351
+f 423/672/352 426/671/352 482/673/352 479/674/352
+f 35/549/353 31/675/353 87/676/353 91/550/353
+f 91/550/354 87/676/354 143/677/354 147/552/354
+f 147/552/355 143/677/355 199/678/355 203/554/355
+f 203/554/356 199/678/356 255/679/356 259/556/356
+f 259/556/357 255/679/357 311/680/357 315/558/357
+f 315/558/358 311/680/358 367/681/358 371/682/358
+f 371/682/359 367/681/359 423/683/359 427/612/359
+f 427/612/360 423/683/360 479/684/360 483/615/360
+f 36/685/361 42/686/361 98/687/361 92/688/361
+f 92/688/362 98/687/362 154/689/362 148/690/362
+f 148/691/363 154/692/363 210/693/363 204/694/363
+f 204/694/364 210/693/364 266/695/364 260/696/364
+f 260/696/365 266/695/365 322/697/365 316/698/365
+f 316/698/366 322/697/366 378/699/366 372/700/366
+f 372/700/367 378/699/367 434/701/367 428/702/367
+f 428/702/368 434/701/368 490/703/368 484/704/368
+f 39/705/369 36/706/369 92/707/369 95/708/369
+f 95/709/370 92/688/370 148/690/370 151/710/370
+f 151/710/371 148/690/371 204/711/371 207/712/371
+f 207/712/372 204/711/372 260/713/372 263/714/372
+f 263/714/373 260/713/373 316/715/373 319/716/373
+f 319/716/374 316/715/374 372/717/374 375/718/374
+f 375/718/375 372/717/375 428/719/375 431/720/375
+f 431/720/376 428/719/376 484/721/376 487/722/376
+f 40/723/377 39/724/377 95/725/377 96/726/377
+f 96/726/378 95/725/378 151/727/378 152/728/378
+f 152/728/379 151/727/379 207/729/379 208/730/379
+f 208/730/380 207/729/380 263/731/380 264/732/380
+f 264/732/381 263/731/381 319/733/381 320/734/381
+f 320/734/382 319/733/382 375/735/382 376/736/382
+f 376/736/383 375/735/383 431/737/383 432/738/383
+f 432/739/384 431/740/384 487/741/384 488/742/384
+f 42/743/385 40/744/385 96/745/385 98/746/385
+f 98/747/386 96/726/386 152/728/386 154/748/386
+f 154/748/387 152/728/387 208/730/387 210/749/387
+f 210/749/388 208/730/388 264/732/388 266/750/388
+f 266/750/389 264/732/389 320/734/389 322/751/389
+f 322/751/390 320/734/390 376/736/390 378/752/390
+f 378/752/391 376/736/391 432/738/391 434/753/391
+f 434/753/392 432/738/392 488/754/392 490/755/392
+f 37/756/393 39/705/393 95/708/393 93/757/393
+f 93/757/394 95/708/394 151/758/394 149/759/394
+f 149/759/395 151/758/395 207/760/395 205/761/395
+f 205/761/396 207/760/396 263/762/396 261/763/396
+f 261/763/397 263/762/397 319/764/397 317/765/397
+f 317/765/398 319/764/398 375/766/398 373/767/398
+f 373/768/399 375/718/399 431/720/399 429/769/399
+f 429/769/400 431/720/400 487/722/400 485/770/400
+f 41/771/401 37/772/401 93/773/401 97/774/401
+f 97/775/402 93/776/402 149/777/402 153/778/402
+f 153/778/403 149/777/403 205/779/403 209/780/403
+f 209/780/404 205/779/404 261/781/404 265/782/404
+f 265/782/405 261/781/405 317/783/405 321/784/405
+f 321/784/406 317/783/406 373/785/406 377/786/406
+f 377/786/407 373/785/407 429/787/407 433/788/407
+f 433/788/408 429/787/408 485/789/408 489/790/408
+f 40/744/409 41/771/409 97/774/409 96/745/409
+f 96/745/410 97/774/410 153/791/410 152/792/410
+f 152/792/411 153/791/411 209/793/411 208/794/411
+f 208/794/412 209/793/412 265/795/412 264/796/412
+f 264/796/413 265/795/413 321/797/413 320/798/413
+f 320/798/414 321/797/414 377/799/414 376/800/414
+f 376/800/415 377/799/415 433/801/415 432/802/415
+f 432/738/416 433/788/416 489/790/416 488/754/416
+f 38/803/417 41/804/417 97/775/417 94/805/417
+f 94/805/418 97/775/418 153/778/418 150/806/418
+f 150/806/419 153/778/419 209/780/419 206/807/419
+f 206/807/420 209/780/420 265/782/420 262/808/420
+f 262/808/421 265/782/421 321/784/421 318/809/421
+f 318/809/422 321/784/422 377/786/422 374/810/422
+f 374/810/423 377/786/423 433/788/423 430/811/423
+f 430/811/424 433/788/424 489/790/424 486/812/424
+f 42/743/425 38/813/425 94/814/425 98/746/425
+f 98/746/426 94/814/426 150/815/426 154/692/426
+f 154/692/427 150/815/427 206/816/427 210/693/427
+f 210/693/428 206/816/428 262/817/428 266/695/428
+f 266/695/429 262/817/429 318/818/429 322/697/429
+f 322/697/430 318/818/430 374/819/430 378/699/430
+f 378/699/431 374/819/431 430/820/431 434/701/431
+f 434/701/432 430/820/432 486/821/432 490/703/432
+f 43/822/433 49/823/433 105/824/433 99/825/433
+f 99/825/434 105/824/434 161/826/434 155/827/434
+f 155/827/435 161/826/435 217/828/435 211/829/435
+f 211/829/436 217/828/436 273/830/436 267/831/436
+f 267/831/437 273/830/437 329/832/437 323/833/437
+f 323/834/438 329/835/438 385/836/438 379/837/438
+f 379/837/439 385/836/439 441/838/439 435/839/439
+f 435/839/440 441/838/440 497/840/440 491/841/440
+f 46/842/441 43/843/441 99/844/441 102/845/441
+f 102/845/442 99/844/442 155/846/442 158/847/442
+f 158/847/443 155/846/443 211/848/443 214/849/443
+f 214/849/444 211/848/444 267/850/444 270/851/444
+f 270/851/445 267/850/445 323/834/445 326/852/445
+f 326/852/446 323/834/446 379/837/446 382/853/446
+f 382/854/447 379/855/447 435/856/447 438/857/447
+f 438/857/448 435/856/448 491/858/448 494/859/448
+f 47/860/449 46/861/449 102/862/449 103/863/449
+f 103/863/450 102/862/450 158/864/450 159/865/450
+f 159/865/451 158/864/451 214/866/451 215/867/451
+f 215/867/452 214/866/452 270/868/452 271/869/452
+f 271/869/453 270/868/453 326/870/453 327/871/453
+f 327/871/454 326/870/454 382/872/454 383/873/454
+f 383/873/455 382/872/455 438/874/455 439/875/455
+f 439/875/456 438/874/456 494/876/456 495/877/456
+f 49/878/457 47/860/457 103/863/457 105/879/457
+f 105/879/458 103/863/458 159/865/458 161/880/458
+f 161/880/459 159/865/459 215/867/459 217/881/459
+f 217/881/460 215/867/460 271/869/460 273/882/460
+f 273/882/461 271/869/461 327/871/461 329/883/461
+f 329/883/462 327/871/462 383/873/462 385/884/462
+f 385/884/463 383/873/463 439/875/463 441/885/463
+f 441/886/464 439/887/464 495/888/464 497/889/464
+f 44/890/465 46/842/465 102/845/465 100/891/465
+f 100/892/466 102/893/466 158/894/466 156/895/466
+f 156/895/467 158/894/467 214/896/467 212/897/467
+f 212/897/468 214/896/468 270/898/468 268/899/468
+f 268/899/469 270/898/469 326/900/469 324/901/469
+f 324/901/470 326/900/470 382/854/470 380/902/470
+f 380/902/471 382/854/471 438/857/471 436/903/471
+f 436/903/472 438/857/472 494/859/472 492/904/472
+f 48/905/473 44/906/473 100/907/473 104/908/473
+f 104/908/474 100/907/474 156/909/474 160/910/474
+f 160/910/475 156/909/475 212/911/475 216/912/475
+f 216/912/476 212/911/476 268/913/476 272/914/476
+f 272/914/477 268/913/477 324/915/477 328/916/477
+f 328/916/478 324/915/478 380/917/478 384/918/478
+f 384/919/479 380/920/479 436/921/479 440/922/479
+f 440/922/480 436/921/480 492/923/480 496/924/480
+f 47/925/481 48/926/481 104/927/481 103/928/481
+f 103/928/482 104/927/482 160/929/482 159/930/482
+f 159/930/483 160/929/483 216/931/483 215/932/483
+f 215/932/484 216/931/484 272/933/484 271/934/484
+f 271/934/485 272/933/485 328/935/485 327/936/485
+f 327/936/486 328/935/486 384/919/486 383/937/486
+f 383/937/487 384/919/487 440/922/487 439/887/487
+f 439/887/488 440/922/488 496/924/488 495/888/488
+f 45/938/489 48/905/489 104/908/489 101/939/489
+f 101/939/490 104/908/490 160/910/490 157/940/490
+f 157/940/491 160/910/491 216/912/491 213/941/491
+f 213/941/492 216/912/492 272/914/492 269/942/492
+f 269/942/493 272/914/493 328/916/493 325/943/493
+f 325/943/494 328/916/494 384/918/494 381/944/494
+f 381/944/495 384/918/495 440/945/495 437/946/495
+f 437/946/496 440/945/496 496/947/496 493/948/496
+f 49/823/497 45/949/497 101/950/497 105/824/497
+f 105/824/498 101/950/498 157/951/498 161/826/498
+f 161/826/499 157/951/499 213/952/499 217/828/499
+f 217/828/500 213/952/500 269/953/500 273/830/500
+f 273/830/501 269/953/501 325/954/501 329/832/501
+f 329/832/502 325/954/502 381/955/502 385/956/502
+f 385/956/503 381/955/503 437/957/503 441/886/503
+f 441/886/504 437/957/504 493/958/504 497/889/504
+f 50/959/505 56/960/505 112/961/505 106/962/505
+f 106/962/506 112/961/506 168/963/506 162/964/506
+f 162/964/507 168/963/507 224/965/507 218/966/507
+f 218/966/508 224/965/508 280/967/508 274/968/508
+f 274/968/509 280/967/509 336/969/509 330/970/509
+f 330/970/510 336/969/510 392/971/510 386/972/510
+f 386/972/511 392/971/511 448/973/511 442/974/511
+f 442/974/512 448/973/512 504/975/512 498/976/512
+f 53/977/513 50/978/513 106/979/513 109/980/513
+f 109/980/514 106/979/514 162/981/514 165/982/514
+f 165/982/515 162/981/515 218/983/515 221/984/515
+f 221/984/516 218/983/516 274/985/516 277/986/516
+f 277/986/517 274/985/517 330/987/517 333/988/517
+f 333/988/518 330/987/518 386/989/518 389/990/518
+f 389/990/519 386/989/519 442/991/519 445/992/519
+f 445/992/520 442/991/520 498/993/520 501/994/520
+f 54/995/521 53/996/521 109/997/521 110/998/521
+f 110/998/522 109/997/522 165/999/522 166/1000/522
+f 166/1000/523 165/999/523 221/1001/523 222/1002/523
+f 222/1002/524 221/1001/524 277/1003/524 278/1004/524
+f 278/1004/525 277/1003/525 333/1005/525 334/1006/525
+f 334/1006/526 333/1005/526 389/1007/526 390/1008/526
+f 390/1008/527 389/1007/527 445/1009/527 446/1010/527
+f 446/1010/528 445/1009/528 501/1011/528 502/1012/528
+f 56/1013/529 54/1014/529 110/1015/529 112/1016/529
+f 112/1016/530 110/1015/530 166/1017/530 168/1018/530
+f 168/1018/531 166/1017/531 222/1019/531 224/1020/531
+f 224/1020/532 222/1019/532 278/1021/532 280/1022/532
+f 280/1022/533 278/1021/533 334/1023/533 336/1024/533
+f 336/1024/534 334/1023/534 390/1025/534 392/1026/534
+f 392/1026/535 390/1025/535 446/1027/535 448/1028/535
+f 448/1029/536 446/1010/536 502/1012/536 504/1030/536
+f 51/1031/537 53/996/537 109/997/537 107/1032/537
+f 107/1032/538 109/997/538 165/999/538 163/1033/538
+f 163/1034/539 165/982/539 221/984/539 219/1035/539
+f 219/1035/540 221/984/540 277/986/540 275/1036/540
+f 275/1036/541 277/986/541 333/988/541 331/1037/541
+f 331/1037/542 333/988/542 389/990/542 387/1038/542
+f 387/1038/543 389/990/543 445/992/543 443/1039/543
+f 443/1039/544 445/992/544 501/994/544 499/1040/544
+f 55/1041/545 51/1042/545 107/1043/545 111/1044/545
+f 111/1045/546 107/1032/546 163/1033/546 167/1046/546
+f 167/1046/547 163/1033/547 219/1047/547 223/1048/547
+f 223/1048/548 219/1047/548 275/1049/548 279/1050/548
+f 279/1050/549 275/1049/549 331/1051/549 335/1052/549
+f 335/1052/550 331/1051/550 387/1053/550 391/1054/550
+f 391/1054/551 387/1053/551 443/1055/551 447/1056/551
+f 447/1056/552 443/1055/552 499/1057/552 503/1058/552
+f 54/1059/553 55/1060/553 111/1061/553 110/1062/553
+f 110/1062/554 111/1061/554 167/1063/554 166/1064/554
+f 166/1064/555 167/1063/555 223/1065/555 222/1066/555
+f 222/1066/556 223/1065/556 279/1067/556 278/1068/556
+f 278/1068/557 279/1067/557 335/1069/557 334/1070/557
+f 334/1070/558 335/1069/558 391/1071/558 390/1072/558
+f 390/1072/559 391/1071/559 447/1073/559 446/1074/559
+f 446/1075/560 447/1076/560 503/1077/560 502/1078/560
+f 52/1079/561 55/1041/561 111/1044/561 108/1080/561
+f 108/1080/562 111/1044/562 167/1081/562 164/1082/562
+f 164/1082/563 167/1081/563 223/1083/563 220/1084/563
+f 220/1084/564 223/1083/564 279/1085/564 276/1086/564
+f 276/1086/565 279/1085/565 335/1087/565 332/1088/565
+f 332/1088/566 335/1087/566 391/1089/566 388/1090/566
+f 388/1091/567 391/1054/567 447/1056/567 444/1092/567
+f 444/1092/568 447/1056/568 503/1058/568 500/1093/568
+f 56/1094/569 52/1095/569 108/1096/569 112/1097/569
+f 112/961/570 108/1098/570 164/1099/570 168/963/570
+f 168/963/571 164/1099/571 220/1100/571 224/965/571
+f 224/965/572 220/1100/572 276/1101/572 280/967/572
+f 280/967/573 276/1101/573 332/1102/573 336/969/573
+f 336/969/574 332/1102/574 388/1103/574 392/971/574
+f 392/971/575 388/1103/575 444/1104/575 448/973/575
+f 448/973/576 444/1104/576 500/1105/576 504/975/576
+f 38/1106/577 50/1107/577 106/1108/577 94/1109/577
+f 94/1109/578 106/1108/578 162/1110/578 150/1111/578
+f 150/1111/579 162/1110/579 218/1112/579 206/1113/579
+f 206/1113/580 218/1112/580 274/1114/580 262/1115/580
+f 262/1115/581 274/1114/581 330/1116/581 318/1117/581
+f 318/1117/582 330/1116/582 386/1118/582 374/1119/582
+f 374/1119/583 386/1118/583 442/1120/583 430/1121/583
+f 430/1121/584 442/1120/584 498/1122/584 486/1123/584
+f 42/686/577 56/1013/577 112/1016/577 98/687/577
+f 98/687/578 112/1016/578 168/1018/578 154/689/578
+f 154/689/579 168/1018/579 224/1020/579 210/1124/579
+f 210/1124/580 224/1020/580 280/1022/580 266/1125/580
+f 266/1125/581 280/1022/581 336/1024/581 322/1126/581
+f 322/1126/582 336/1024/582 392/1026/582 378/1127/582
+f 378/1127/583 392/1026/583 448/1028/583 434/1128/583
+f 434/1128/584 448/1028/584 504/1129/584 490/1130/584
+f 52/1095/585 36/1131/585 92/1132/585 108/1096/585
+f 108/1096/586 92/1132/586 148/1133/586 164/1134/586
+f 164/1134/587 148/1133/587 204/1135/587 220/1136/587
+f 220/1136/588 204/1135/588 260/1137/588 276/1138/588
+f 276/1138/589 260/1137/589 316/1139/589 332/1140/589
+f 332/1140/590 316/1139/590 372/1141/590 388/1142/590
+f 388/1142/591 372/1141/591 428/1143/591 444/1144/591
+f 444/1144/592 428/1143/592 484/1145/592 500/1146/592
+f 8/1147/593 38/1148/593 94/1149/593 64/1150/593
+f 64/1150/594 94/1149/594 150/1151/594 120/1152/594
+f 120/1152/595 150/1151/595 206/1153/595 176/1154/595
+f 176/1154/596 206/1153/596 262/1155/596 232/1156/596
+f 232/1156/597 262/1155/597 318/1157/597 288/1158/597
+f 288/1158/598 318/1157/598 374/1159/598 344/1160/598
+f 344/1160/599 374/1159/599 430/1161/599 400/1162/599
+f 400/1162/600 430/1161/600 486/1163/600 456/1164/600
+f 11/169/593 41/1165/593 97/1166/593 67/170/593
+f 67/170/594 97/1166/594 153/1167/594 123/172/594
+f 123/172/595 153/1167/595 209/1168/595 179/174/595
+f 179/174/596 209/1168/596 265/1169/596 235/176/596
+f 235/176/597 265/1169/597 321/1170/597 291/178/597
+f 291/178/598 321/1170/598 377/1171/598 347/180/598
+f 347/180/599 377/1171/599 433/1172/599 403/182/599
+f 403/182/600 433/1172/600 489/1173/600 459/184/600
+f 9/204/593 37/756/593 93/757/593 65/205/593
+f 65/205/594 93/757/594 149/759/594 121/206/594
+f 121/206/595 149/759/595 205/761/595 177/220/595
+f 177/220/596 205/761/596 261/763/596 233/222/596
+f 233/222/597 261/763/597 317/765/597 289/224/597
+f 289/224/598 317/765/598 373/767/598 345/226/598
+f 345/226/599 373/767/599 429/1174/599 401/228/599
+f 401/228/600 429/1174/600 485/1175/600 457/230/600
+f 3/1176/601 10/252/601 66/253/601 59/1177/601
+f 59/1177/602 66/253/602 122/255/602 115/1178/602
+f 115/1178/603 122/255/603 178/257/603 171/1179/603
+f 171/1179/604 178/257/604 234/259/604 227/1180/604
+f 227/117/605 234/1181/605 290/1182/605 283/118/605
+f 283/118/606 290/1182/606 346/264/606 339/1183/606
+f 339/1183/607 346/264/607 402/265/607 395/1184/607
+f 395/1184/608 402/265/608 458/266/608 451/1185/608
+f 7/1186/609 13/214/609 69/217/609 63/1187/609
+f 63/1187/610 69/217/610 125/254/610 119/1188/610
+f 119/1188/611 125/254/611 181/256/611 175/1189/611
+f 175/1189/612 181/256/612 237/258/612 231/1190/612
+f 231/1191/613 237/223/613 293/225/613 287/1192/613
+f 287/1192/614 293/225/614 349/227/614 343/1193/614
+f 343/1193/615 349/227/615 405/229/615 399/1194/615
+f 399/1194/616 405/229/616 461/231/616 455/1195/616
+f 1/22/617 9/215/617 65/216/617 57/23/617
+f 57/23/618 65/216/618 121/1196/618 113/25/618
+f 113/25/619 121/1196/619 177/1197/619 169/27/619
+f 169/1198/620 177/220/620 233/222/620 225/1199/620
+f 225/1199/621 233/222/621 289/224/621 281/1200/621
+f 281/1200/622 289/224/622 345/226/622 337/36/622
+f 337/36/623 345/226/623 401/228/623 393/37/623
+f 393/37/624 401/228/624 457/230/624 449/39/624
+f 51/1201/617 44/890/617 100/891/617 107/1202/617
+f 107/1202/618 100/891/618 156/1203/618 163/1034/618
+f 163/1034/619 156/1203/619 212/1204/619 219/1035/619
+f 219/1205/620 212/897/620 268/899/620 275/1206/620
+f 275/1206/621 268/899/621 324/901/621 331/1207/621
+f 331/1207/622 324/901/622 380/902/622 387/1208/622
+f 387/1208/623 380/902/623 436/903/623 443/1209/623
+f 443/1209/624 436/903/624 492/904/624 499/1210/624
+f 55/1211/609 46/842/609 102/845/609 111/1212/609
+f 111/1212/610 102/845/610 158/847/610 167/1213/610
+f 167/1213/611 158/847/611 214/849/611 223/1214/611
+f 223/1214/612 214/849/612 270/851/612 279/1215/612
+f 279/1067/613 270/898/613 326/900/613 335/1069/613
+f 335/1069/614 326/900/614 382/854/614 391/1071/614
+f 391/1071/615 382/854/615 438/857/615 447/1073/615
+f 447/1073/616 438/857/616 494/859/616 503/1216/616
+f 43/1217/625 52/1079/625 108/1080/625 99/1218/625
+f 99/1218/626 108/1080/626 164/1082/626 155/1219/626
+f 155/1219/627 164/1082/627 220/1084/627 211/1220/627
+f 211/1220/628 220/1084/628 276/1086/628 267/1221/628
+f 267/831/629 276/1222/629 332/1223/629 323/833/629
+f 323/833/630 332/1223/630 388/1091/630 379/1224/630
+f 379/1224/631 388/1091/631 444/1092/631 435/1225/631
+f 435/1225/632 444/1092/632 500/1093/632 491/1226/632
+f 17/1227/633 23/478/633 79/479/633 73/1228/633
+f 73/1228/634 79/479/634 135/481/634 129/1229/634
+f 129/1229/635 135/481/635 191/483/635 185/1230/635
+f 185/1230/636 191/483/636 247/485/636 241/1231/636
+f 241/395/637 247/1232/637 303/1233/637 297/396/637
+f 297/396/638 303/1233/638 359/490/638 353/1234/638
+f 353/1234/639 359/490/639 415/491/639 409/1235/639
+f 409/1235/640 415/491/640 471/492/640 465/1236/640
+f 21/1237/641 25/430/641 81/433/641 77/1238/641
+f 77/1238/642 81/433/642 137/480/642 133/1239/642
+f 133/1239/643 137/480/643 193/482/643 189/1240/643
+f 189/1240/644 193/482/644 249/484/644 245/1241/644
+f 245/1242/645 249/439/645 305/441/645 301/1243/645
+f 301/1243/646 305/441/646 361/443/646 357/1244/646
+f 357/1244/647 361/443/647 417/445/647 413/1245/647
+f 413/1245/648 417/445/648 473/447/648 469/1246/648
+f 22/1247/649 15/279/649 71/282/649 78/1248/649
+f 78/1248/650 71/282/650 127/1249/650 134/416/650
+f 134/416/651 127/1249/651 183/1250/651 190/419/651
+f 190/1251/652 183/288/652 239/290/652 246/1252/652
+f 246/1252/653 239/290/653 295/292/653 302/1253/653
+f 302/1253/654 295/292/654 351/294/654 358/1254/654
+f 358/1254/655 351/294/655 407/296/655 414/1255/655
+f 414/1255/656 407/296/656 463/298/656 470/1256/656
+f 37/772/633 29/569/633 85/570/633 93/773/633
+f 93/773/634 85/570/634 141/572/634 149/1257/634
+f 149/1257/635 141/572/635 197/574/635 205/1258/635
+f 205/1258/636 197/574/636 253/576/636 261/1259/636
+f 261/781/637 253/1260/637 309/1261/637 317/783/637
+f 317/783/638 309/1261/638 365/581/638 373/785/638
+f 373/785/639 365/581/639 421/582/639 429/787/639
+f 429/787/640 421/582/640 477/584/640 485/789/640
+f 32/587/657 39/705/657 95/708/657 88/588/657
+f 88/588/658 95/708/658 151/758/658 144/590/658
+f 144/590/659 151/758/659 207/760/659 200/592/659
+f 200/592/660 207/760/660 263/762/660 256/594/660
+f 256/1262/661 263/714/661 319/716/661 312/1263/661
+f 312/1263/662 319/716/662 375/718/662 368/1264/662
+f 368/1264/663 375/718/663 431/720/663 424/1265/663
+f 424/1265/664 431/720/664 487/722/664 480/1266/664
+f 36/1267/665 30/616/665 86/617/665 92/1268/665
+f 92/1268/666 86/617/666 142/1269/666 148/691/666
+f 148/691/667 142/1269/667 198/1270/667 204/694/667
+f 204/1135/668 198/623/668 254/625/668 260/1137/668
+f 260/1137/669 254/625/669 310/627/669 316/1139/669
+f 316/1139/670 310/627/670 366/628/670 372/1141/670
+f 372/1141/671 366/628/671 422/629/671 428/1143/671
+f 428/1143/672 422/629/672 478/630/672 484/1145/672
+f 16/1271/593 45/1272/593 101/1273/593 72/1274/593
+f 72/1274/594 101/1273/594 157/1275/594 128/1276/594
+f 128/1276/595 157/1275/595 213/1277/595 184/1278/595
+f 184/1278/596 213/1277/596 269/1279/596 240/1280/596
+f 240/1280/597 269/1279/597 325/1281/597 296/1282/597
+f 296/1282/598 325/1281/598 381/1283/598 352/1284/598
+f 352/1284/599 381/1283/599 437/1285/599 408/1286/599
+f 408/1286/600 437/1285/600 493/1287/600 464/1288/600
+f 20/379/593 48/1289/593 104/1290/593 76/380/593
+f 76/380/594 104/1290/594 160/1291/594 132/381/594
+f 132/381/595 160/1291/595 216/1292/595 188/382/595
+f 188/382/596 216/1292/596 272/1293/596 244/383/596
+f 244/383/597 272/1293/597 328/1294/597 300/384/597
+f 300/384/598 328/1294/598 384/1295/598 356/385/598
+f 356/385/599 384/1295/599 440/1296/599 412/386/599
+f 412/386/600 440/1296/600 496/1297/600 468/400/600
+f 44/1298/673 17/1227/673 73/1228/673 100/1299/673
+f 100/1299/674 73/1228/674 129/1229/674 156/1300/674
+f 156/1300/675 129/1229/675 185/1230/675 212/1301/675
+f 212/1301/676 185/1230/676 241/1231/676 268/1302/676
+f 268/1302/677 241/1231/677 297/1303/677 324/1304/677
+f 324/1304/678 297/1303/678 353/1305/678 380/920/678
+f 380/920/679 353/1305/679 409/1306/679 436/921/679
+f 436/921/680 409/1306/680 465/1307/680 492/923/680
+f 2/1308/577 16/1309/577 72/1310/577 58/1311/577
+f 58/1311/578 72/1310/578 128/1312/578 114/1313/578
+f 114/1313/579 128/1312/579 184/1314/579 170/1315/579
+f 170/1315/580 184/1314/580 240/1316/580 226/1317/580
+f 226/1317/581 240/1316/581 296/1318/581 282/1319/581
+f 282/1319/582 296/1318/582 352/1320/582 338/1321/582
+f 338/1321/583 352/1320/583 408/1322/583 394/1323/583
+f 394/1323/584 408/1322/584 464/1324/584 450/1325/584
+f 6/101/577 18/1326/577 74/1327/577 62/102/577
+f 62/102/578 74/1327/578 130/1328/578 118/103/578
+f 118/103/579 130/1328/579 186/1329/579 174/104/579
+f 174/104/580 186/1329/580 242/1330/580 230/105/580
+f 230/105/581 242/1330/581 298/1331/581 286/106/581
+f 286/106/582 298/1331/582 354/1332/582 342/107/582
+f 342/107/583 354/1332/583 410/1333/583 398/108/583
+f 398/108/584 410/1333/584 466/1334/584 454/122/584
+f 15/1335/585 3/1176/585 59/1177/585 71/1336/585
+f 71/1336/586 59/1177/586 115/1178/586 127/1337/586
+f 127/1337/587 115/1178/587 171/1179/587 183/1338/587
+f 183/1338/588 171/1179/588 227/1180/588 239/1339/588
+f 239/1339/589 227/1180/589 283/1340/589 295/1341/589
+f 295/1341/590 283/1340/590 339/1342/590 351/314/590
+f 351/314/591 339/1342/591 395/1343/591 407/315/591
+f 407/315/592 395/1343/592 451/1344/592 463/317/592
+f 50/1345/673 24/1346/673 80/1347/673 106/1348/673
+f 106/1348/674 80/1347/674 136/1349/674 162/1350/674
+f 162/1350/675 136/1349/675 192/1351/675 218/1352/675
+f 218/1352/676 192/1351/676 248/1353/676 274/1354/676
+f 274/1354/677 248/1353/677 304/1355/677 330/1356/677
+f 330/1356/678 304/1355/678 360/1357/678 386/1358/678
+f 386/1358/679 360/1357/679 416/1359/679 442/1360/679
+f 442/1360/680 416/1359/680 472/1361/680 498/1362/680
+f 53/996/673 27/1363/673 83/1364/673 109/997/673
+f 109/997/674 83/1364/674 139/1365/674 165/999/674
+f 165/999/675 139/1365/675 195/1366/675 221/1001/675
+f 221/1001/676 195/1366/676 251/1367/676 277/1003/676
+f 277/1003/677 251/1367/677 307/1368/677 333/1005/677
+f 333/1005/678 307/1368/678 363/1369/678 389/1007/678
+f 389/1007/679 363/1369/679 419/1370/679 445/1009/679
+f 445/1009/680 419/1370/680 475/1371/680 501/1011/680
+f 23/494/593 51/1372/593 107/1373/593 79/495/593
+f 79/495/594 107/1373/594 163/1374/594 135/1375/594
+f 135/1375/595 163/1374/595 219/1205/595 191/1376/595
+f 191/1376/596 219/1205/596 275/1206/596 247/1377/596
+f 247/1377/597 275/1206/597 331/1207/597 303/1378/597
+f 303/1378/598 331/1207/598 387/1208/598 359/1379/598
+f 359/1379/599 387/1208/599 443/1209/599 415/1380/599
+f 415/1380/600 443/1209/600 499/1210/600 471/1381/600
+f 45/1382/585 31/1383/585 87/1384/585 101/1385/585
+f 101/1385/586 87/1384/586 143/1386/586 157/1387/586
+f 157/1387/587 143/1386/587 199/1388/587 213/1389/587
+f 213/1389/588 199/1388/588 255/1390/588 269/1391/588
+f 269/1391/589 255/1390/589 311/1392/589 325/1393/589
+f 325/1393/590 311/1392/590 367/1394/590 381/1395/590
+f 381/1395/591 367/1394/591 423/1396/591 437/1397/591
+f 437/1397/592 423/1396/592 479/1398/592 493/1399/592
+f 49/1400/585 34/1401/585 90/1402/585 105/1403/585
+f 105/1403/586 90/1402/586 146/1404/586 161/1405/586
+f 161/1405/587 146/1404/587 202/1406/587 217/1407/587
+f 217/1407/588 202/1406/588 258/1408/588 273/1409/588
+f 273/1409/589 258/1408/589 314/1410/589 329/835/589
+f 329/835/590 314/1410/590 370/1411/590 385/836/590
+f 385/836/591 370/1411/591 426/1412/591 441/838/591
+f 441/838/592 426/1412/592 482/1413/592 497/840/592
+f 30/1414/577 43/1217/577 99/1218/577 86/1415/577
+f 86/1415/578 99/1218/578 155/1219/578 142/1416/578
+f 142/1416/579 155/1219/579 211/1220/579 198/1417/579
+f 198/1417/580 211/1220/580 267/1221/580 254/1418/580
+f 254/1418/581 267/1221/581 323/1419/581 310/1420/581
+f 310/1420/582 323/1419/582 379/1421/582 366/646/582
+f 366/646/583 379/1421/583 435/1422/583 422/647/583
+f 422/647/584 435/1422/584 491/1423/584 478/649/584
+f 31/1424/673 2/1425/673 58/1426/673 87/1427/673
+f 87/1427/674 58/1426/674 114/1428/674 143/1429/674
+f 143/1429/675 114/1428/675 170/1430/675 199/1431/675
+f 199/1431/676 170/1430/676 226/1432/676 255/1433/676
+f 255/1433/677 226/1432/677 282/1434/677 311/1435/677
+f 311/1435/678 282/1434/678 338/1436/678 367/1437/678
+f 367/1437/679 338/1436/679 394/1438/679 423/1439/679
+f 423/1439/680 394/1438/680 450/1440/680 479/1441/680
+f 35/1442/673 4/1443/673 60/1444/673 91/1445/673
+f 91/1445/674 60/1444/674 116/1446/674 147/1447/674
+f 147/1447/675 116/1446/675 172/1448/675 203/1449/675
+f 203/1449/676 172/1448/676 228/1450/676 259/1451/676
+f 259/1451/677 228/1450/677 284/1452/677 315/561/677
+f 315/561/678 284/1452/678 340/1453/678 371/562/678
+f 371/562/679 340/1453/679 396/1454/679 427/564/679
+f 427/564/680 396/1454/680 452/1455/680 483/566/680
+f 29/569/673 1/1456/673 57/5/673 85/570/673
+f 85/570/674 57/5/674 113/8/674 141/572/674
+f 141/572/675 113/8/675 169/10/675 197/574/675
+f 197/574/676 169/10/676 225/12/676 253/576/676
+f 253/576/677 225/12/677 281/14/677 309/560/677
+f 309/560/678 281/14/678 337/16/678 365/563/678
+f 365/563/679 337/16/679 393/18/679 421/565/679
+f 421/565/680 393/18/680 449/20/680 477/567/680
+f 24/1457/585 8/1458/585 64/1459/585 80/1460/585
+f 80/1460/586 64/1459/586 120/1461/586 136/1462/586
+f 136/1462/587 120/1461/587 176/1463/587 192/1464/587
+f 192/1464/588 176/1463/588 232/1465/588 248/1466/588
+f 248/1466/589 232/1465/589 288/1467/589 304/1468/589
+f 304/1468/590 288/1467/590 344/1469/590 360/1470/590
+f 360/1470/591 344/1469/591 400/1471/591 416/1472/591
+f 416/1472/592 400/1471/592 456/1473/592 472/1474/592
+f 28/411/585 14/186/585 70/189/585 84/412/585
+f 84/412/586 70/189/586 126/191/586 140/414/586
+f 140/414/587 126/191/587 182/193/587 196/1475/587
+f 196/1475/588 182/193/588 238/195/588 252/1476/588
+f 252/1476/589 238/195/589 294/197/589 308/1477/589
+f 308/1477/590 294/197/590 350/199/590 364/1478/590
+f 364/1478/591 350/199/591 406/201/591 420/1479/591
+f 420/1479/592 406/201/592 462/1480/592 476/1481/592
+f 10/268/577 22/1482/577 78/1483/577 66/269/577
+f 66/269/578 78/1483/578 134/1484/578 122/1485/578
+f 122/1485/579 134/1484/579 190/1251/579 178/1486/579
+f 178/1486/580 190/1251/580 246/1252/580 234/1487/580
+f 234/1487/581 246/1252/581 302/1253/581 290/1488/581
+f 290/1488/582 302/1253/582 358/1254/582 346/1489/582
+f 346/1489/583 358/1254/583 414/1255/583 402/1490/583
+f 402/1490/584 414/1255/584 470/1256/584 458/1491/584
diff --git a/Assets/Models/warped_monke.obj b/Assets/Models/warped_monke.obj
new file mode 100644
index 0000000..509c666
--- /dev/null
+++ b/Assets/Models/warped_monke.obj
@@ -0,0 +1,2076 @@
+# Blender v3.1.2 OBJ File: ''
+# www.blender.org
+mtllib warped_monke.mtl
+o Suzanne
+v 0.437500 0.164062 0.765625
+v -0.437500 0.164062 0.765625
+v 0.500000 0.093750 0.687500
+v -0.500000 0.093750 0.687500
+v 0.546875 0.054688 0.578125
+v -0.546875 0.054688 0.578125
+v 0.351562 -0.023438 0.617188
+v -0.351562 -0.023438 0.617188
+v 0.351562 0.031250 0.718750
+v -0.351562 0.031250 0.718750
+v 0.351562 0.132812 0.781250
+v -0.351562 0.132812 0.781250
+v 0.273438 0.164062 0.796875
+v -0.273438 0.164062 0.796875
+v 0.203125 0.093750 0.742188
+v -0.203125 0.093750 0.742188
+v 0.156250 0.054688 0.648438
+v -0.156250 0.054688 0.648438
+v 0.078125 0.242188 0.656250
+v -0.078125 0.242188 0.656250
+v 0.140625 0.242188 0.742188
+v -0.140625 0.242188 0.742188
+v 0.242188 0.242188 0.796875
+v -0.242188 0.242188 0.796875
+v 0.273438 0.328125 0.796875
+v -0.273438 0.328125 0.796875
+v 0.203125 0.390625 0.742188
+v -0.203125 0.390625 0.742188
+v 0.156250 0.437500 0.648438
+v -0.156250 0.437500 0.648438
+v 0.351562 0.515625 0.617188
+v -0.351562 0.515625 0.617188
+v 0.351562 0.453125 0.718750
+v -0.351562 0.453125 0.718750
+v 0.351562 0.359375 0.781250
+v -0.351562 0.359375 0.781250
+v 0.437500 0.328125 0.765625
+v -0.437500 0.328125 0.765625
+v 0.500000 0.390625 0.687500
+v -0.500000 0.390625 0.687500
+v 0.546875 0.437500 0.578125
+v -0.546875 0.437500 0.578125
+v 0.625000 0.242188 0.562500
+v -0.625000 0.242188 0.562500
+v 0.562500 0.242188 0.671875
+v -0.562500 0.242188 0.671875
+v 0.468750 0.242188 0.757812
+v -0.468750 0.242188 0.757812
+v 0.476562 0.242188 0.773438
+v -0.476562 0.242188 0.773438
+v 0.445312 0.335938 0.781250
+v -0.445312 0.335938 0.781250
+v 0.351562 0.375000 0.804688
+v -0.351562 0.375000 0.804688
+v 0.265625 0.335938 0.820312
+v -0.265625 0.335938 0.820312
+v 0.226562 0.242188 0.820312
+v -0.226562 0.242188 0.820312
+v 0.265625 0.156250 0.820312
+v -0.265625 0.156250 0.820312
+v 0.351562 0.242188 0.828125
+v -0.351562 0.242188 0.828125
+v 0.351562 0.117188 0.804688
+v -0.351562 0.117188 0.804688
+v 0.445312 0.156250 0.781250
+v -0.445312 0.156250 0.781250
+v 0.000000 0.429688 0.742188
+v 0.000000 0.351562 0.820312
+v 0.000000 -0.679688 0.734375
+v 0.000000 -0.320312 0.781250
+v 0.000000 -0.187500 0.796875
+v 0.000000 -0.773438 0.718750
+v 0.000000 0.406250 0.601562
+v 0.000000 0.570312 0.570312
+v 0.000000 0.898438 -0.546875
+v 0.000000 0.562500 -0.851562
+v 0.000000 0.070312 -0.828125
+v 0.000000 -0.382812 -0.351562
+v 0.203125 -0.187500 0.562500
+v -0.203125 -0.187500 0.562500
+v 0.312500 -0.437500 0.570312
+v -0.312500 -0.437500 0.570312
+v 0.351562 -0.695312 0.570312
+v -0.351562 -0.695312 0.570312
+v 0.367188 -0.890625 0.531250
+v -0.367188 -0.890625 0.531250
+v 0.328125 -0.945312 0.523438
+v -0.328125 -0.945312 0.523438
+v 0.179688 -0.968750 0.554688
+v -0.179688 -0.968750 0.554688
+v 0.000000 -0.984375 0.578125
+v 0.437500 -0.140625 0.531250
+v -0.437500 -0.140625 0.531250
+v 0.632812 -0.039062 0.539062
+v -0.632812 -0.039062 0.539062
+v 0.828125 0.148438 0.445312
+v -0.828125 0.148438 0.445312
+v 0.859375 0.429688 0.593750
+v -0.859375 0.429688 0.593750
+v 0.710938 0.484375 0.625000
+v -0.710938 0.484375 0.625000
+v 0.492188 0.601562 0.687500
+v -0.492188 0.601562 0.687500
+v 0.320312 0.757812 0.734375
+v -0.320312 0.757812 0.734375
+v 0.156250 0.718750 0.757812
+v -0.156250 0.718750 0.757812
+v 0.062500 0.492188 0.750000
+v -0.062500 0.492188 0.750000
+v 0.164062 0.414062 0.773438
+v -0.164062 0.414062 0.773438
+v 0.125000 0.304688 0.765625
+v -0.125000 0.304688 0.765625
+v 0.203125 0.093750 0.742188
+v -0.203125 0.093750 0.742188
+v 0.375000 0.015625 0.703125
+v -0.375000 0.015625 0.703125
+v 0.492188 0.062500 0.671875
+v -0.492188 0.062500 0.671875
+v 0.625000 0.187500 0.648438
+v -0.625000 0.187500 0.648438
+v 0.640625 0.296875 0.648438
+v -0.640625 0.296875 0.648438
+v 0.601562 0.375000 0.664062
+v -0.601562 0.375000 0.664062
+v 0.429688 0.437500 0.718750
+v -0.429688 0.437500 0.718750
+v 0.250000 0.468750 0.757812
+v -0.250000 0.468750 0.757812
+v 0.000000 -0.765625 0.734375
+v 0.109375 -0.718750 0.734375
+v -0.109375 -0.718750 0.734375
+v 0.117188 -0.835938 0.710938
+v -0.117188 -0.835938 0.710938
+v 0.062500 -0.882812 0.695312
+v -0.062500 -0.882812 0.695312
+v 0.000000 -0.890625 0.687500
+v 0.000000 -0.195312 0.750000
+v 0.000000 -0.140625 0.742188
+v 0.101562 -0.148438 0.742188
+v -0.101562 -0.148438 0.742188
+v 0.125000 -0.226562 0.750000
+v -0.125000 -0.226562 0.750000
+v 0.085938 -0.289062 0.742188
+v -0.085938 -0.289062 0.742188
+v 0.398438 -0.046875 0.671875
+v -0.398438 -0.046875 0.671875
+v 0.617188 0.054688 0.625000
+v -0.617188 0.054688 0.625000
+v 0.726562 0.203125 0.601562
+v -0.726562 0.203125 0.601562
+v 0.742188 0.375000 0.656250
+v -0.742188 0.375000 0.656250
+v 0.687500 0.414062 0.726562
+v -0.687500 0.414062 0.726562
+v 0.437500 0.546875 0.796875
+v -0.437500 0.546875 0.796875
+v 0.312500 0.640625 0.835938
+v -0.312500 0.640625 0.835938
+v 0.203125 0.617188 0.851562
+v -0.203125 0.617188 0.851562
+v 0.101562 0.429688 0.843750
+v -0.101562 0.429688 0.843750
+v 0.125000 -0.101562 0.812500
+v -0.125000 -0.101562 0.812500
+v 0.210938 -0.445312 0.710938
+v -0.210938 -0.445312 0.710938
+v 0.250000 -0.703125 0.687500
+v -0.250000 -0.703125 0.687500
+v 0.265625 -0.820312 0.664062
+v -0.265625 -0.820312 0.664062
+v 0.234375 -0.914062 0.632812
+v -0.234375 -0.914062 0.632812
+v 0.164062 -0.929688 0.632812
+v -0.164062 -0.929688 0.632812
+v 0.000000 -0.945312 0.640625
+v 0.000000 0.046875 0.726562
+v 0.000000 0.210938 0.765625
+v 0.328125 0.476562 0.742188
+v -0.328125 0.476562 0.742188
+v 0.164062 0.140625 0.750000
+v -0.164062 0.140625 0.750000
+v 0.132812 0.210938 0.757812
+v -0.132812 0.210938 0.757812
+v 0.117188 -0.687500 0.734375
+v -0.117188 -0.687500 0.734375
+v 0.078125 -0.445312 0.750000
+v -0.078125 -0.445312 0.750000
+v 0.000000 -0.445312 0.750000
+v 0.000000 -0.328125 0.742188
+v 0.093750 -0.273438 0.781250
+v -0.093750 -0.273438 0.781250
+v 0.132812 -0.226562 0.796875
+v -0.132812 -0.226562 0.796875
+v 0.109375 -0.132812 0.781250
+v -0.109375 -0.132812 0.781250
+v 0.039062 -0.125000 0.781250
+v -0.039062 -0.125000 0.781250
+v 0.000000 -0.203125 0.828125
+v 0.046875 -0.148438 0.812500
+v -0.046875 -0.148438 0.812500
+v 0.093750 -0.156250 0.812500
+v -0.093750 -0.156250 0.812500
+v 0.109375 -0.226562 0.828125
+v -0.109375 -0.226562 0.828125
+v 0.078125 -0.250000 0.804688
+v -0.078125 -0.250000 0.804688
+v 0.000000 -0.289062 0.804688
+v 0.257812 -0.312500 0.554688
+v -0.257812 -0.312500 0.554688
+v 0.164062 -0.242188 0.710938
+v -0.164062 -0.242188 0.710938
+v 0.179688 -0.312500 0.710938
+v -0.179688 -0.312500 0.710938
+v 0.234375 -0.250000 0.554688
+v -0.234375 -0.250000 0.554688
+v 0.000000 -0.875000 0.687500
+v 0.046875 -0.867188 0.687500
+v -0.046875 -0.867188 0.687500
+v 0.093750 -0.820312 0.710938
+v -0.093750 -0.820312 0.710938
+v 0.093750 -0.742188 0.726562
+v -0.093750 -0.742188 0.726562
+v 0.000000 -0.781250 0.656250
+v 0.093750 -0.750000 0.664062
+v -0.093750 -0.750000 0.664062
+v 0.093750 -0.812500 0.640625
+v -0.093750 -0.812500 0.640625
+v 0.046875 -0.851562 0.632812
+v -0.046875 -0.851562 0.632812
+v 0.000000 -0.859375 0.632812
+v 0.171875 0.218750 0.781250
+v -0.171875 0.218750 0.781250
+v 0.187500 0.156250 0.773438
+v -0.187500 0.156250 0.773438
+v 0.335938 0.429688 0.757812
+v -0.335938 0.429688 0.757812
+v 0.273438 0.421875 0.773438
+v -0.273438 0.421875 0.773438
+v 0.421875 0.398438 0.773438
+v -0.421875 0.398438 0.773438
+v 0.562500 0.351562 0.695312
+v -0.562500 0.351562 0.695312
+v 0.585938 0.289062 0.687500
+v -0.585938 0.289062 0.687500
+v 0.578125 0.195312 0.679688
+v -0.578125 0.195312 0.679688
+v 0.476562 0.101562 0.718750
+v -0.476562 0.101562 0.718750
+v 0.375000 0.062500 0.742188
+v -0.375000 0.062500 0.742188
+v 0.226562 0.109375 0.781250
+v -0.226562 0.109375 0.781250
+v 0.179688 0.296875 0.781250
+v -0.179688 0.296875 0.781250
+v 0.210938 0.375000 0.781250
+v -0.210938 0.375000 0.781250
+v 0.234375 0.359375 0.757812
+v -0.234375 0.359375 0.757812
+v 0.195312 0.296875 0.757812
+v -0.195312 0.296875 0.757812
+v 0.242188 0.125000 0.757812
+v -0.242188 0.125000 0.757812
+v 0.375000 0.085938 0.726562
+v -0.375000 0.085938 0.726562
+v 0.460938 0.117188 0.703125
+v -0.460938 0.117188 0.703125
+v 0.546875 0.210938 0.671875
+v -0.546875 0.210938 0.671875
+v 0.554688 0.281250 0.671875
+v -0.554688 0.281250 0.671875
+v 0.531250 0.335938 0.679688
+v -0.531250 0.335938 0.679688
+v 0.414062 0.390625 0.750000
+v -0.414062 0.390625 0.750000
+v 0.281250 0.398438 0.765625
+v -0.281250 0.398438 0.765625
+v 0.335938 0.406250 0.750000
+v -0.335938 0.406250 0.750000
+v 0.203125 0.171875 0.750000
+v -0.203125 0.171875 0.750000
+v 0.195312 0.226562 0.750000
+v -0.195312 0.226562 0.750000
+v 0.109375 0.460938 0.609375
+v -0.109375 0.460938 0.609375
+v 0.195312 0.664062 0.617188
+v -0.195312 0.664062 0.617188
+v 0.335938 0.687500 0.593750
+v -0.335938 0.687500 0.593750
+v 0.484375 0.554688 0.554688
+v -0.484375 0.554688 0.554688
+v 0.679688 0.453125 0.492188
+v -0.679688 0.453125 0.492188
+v 0.796875 0.406250 0.460938
+v -0.796875 0.406250 0.460938
+v 0.773438 0.164062 0.375000
+v -0.773438 0.164062 0.375000
+v 0.601562 0.000000 0.414062
+v -0.601562 0.000000 0.414062
+v 0.437500 -0.093750 0.468750
+v -0.437500 -0.093750 0.468750
+v 0.000000 0.931313 0.305583
+v 0.000000 0.984375 -0.078125
+v 0.000000 -0.195312 -0.671875
+v 0.000000 -0.460938 0.187500
+v 0.000000 -0.976562 0.460938
+v 0.000000 -0.804688 0.343750
+v 0.000000 -0.570312 0.320312
+v 0.000000 -0.484375 0.281250
+v 0.851562 0.234375 0.054688
+v -0.851562 0.234375 0.054688
+v 0.859375 0.320312 -0.046875
+v -0.859375 0.320312 -0.046875
+v 0.773438 0.265625 -0.437500
+v -0.773438 0.265625 -0.437500
+v 0.460938 0.437500 -0.703125
+v -0.460938 0.437500 -0.703125
+v 0.734375 -0.046875 0.070312
+v -0.734375 -0.046875 0.070312
+v 0.593750 -0.125000 -0.164062
+v -0.593750 -0.125000 -0.164062
+v 0.640625 -0.007812 -0.429688
+v -0.640625 -0.007812 -0.429688
+v 0.335938 0.054688 -0.664062
+v -0.335938 0.054688 -0.664062
+v 0.234375 -0.351562 0.406250
+v -0.234375 -0.351562 0.406250
+v 0.179688 -0.414062 0.257812
+v -0.179688 -0.414062 0.257812
+v 0.289062 -0.710938 0.382812
+v -0.289062 -0.710938 0.382812
+v 0.250000 -0.500000 0.390625
+v -0.250000 -0.500000 0.390625
+v 0.328125 -0.914062 0.398438
+v -0.328125 -0.914062 0.398438
+v 0.140625 -0.757812 0.367188
+v -0.140625 -0.757812 0.367188
+v 0.125000 -0.539062 0.359375
+v -0.125000 -0.539062 0.359375
+v 0.164062 -0.945312 0.437500
+v -0.164062 -0.945312 0.437500
+v 0.218750 -0.281250 0.429688
+v -0.218750 -0.281250 0.429688
+v 0.210938 -0.226562 0.468750
+v -0.210938 -0.226562 0.468750
+v 0.203125 -0.171875 0.500000
+v -0.203125 -0.171875 0.500000
+v 0.210938 -0.390625 0.164062
+v -0.210938 -0.390625 0.164062
+v 0.296875 -0.312500 -0.265625
+v -0.296875 -0.312500 -0.265625
+v 0.343750 -0.148438 -0.539062
+v -0.343750 -0.148438 -0.539062
+v 0.453125 0.867188 -0.382812
+v -0.453125 0.867188 -0.382812
+v 0.453125 0.929688 -0.070312
+v -0.453125 0.929688 -0.070312
+v 0.453125 0.851562 0.234375
+v -0.453125 0.851562 0.234375
+v 0.460938 0.523438 0.429688
+v -0.460938 0.523438 0.429688
+v 0.726562 0.406250 0.335938
+v -0.726562 0.406250 0.335938
+v 0.632812 0.453125 0.281250
+v -0.632812 0.453125 0.281250
+v 0.640625 0.703125 0.054688
+v -0.640625 0.703125 0.054688
+v 0.796875 0.562500 0.125000
+v -0.796875 0.562500 0.125000
+v 0.796875 0.617188 -0.117188
+v -0.796875 0.617188 -0.117188
+v 0.640625 0.750000 -0.195312
+v -0.640625 0.750000 -0.195312
+v 0.640625 0.679688 -0.445312
+v -0.640625 0.679688 -0.445312
+v 0.796875 0.539062 -0.359375
+v -0.796875 0.539062 -0.359375
+v 0.617188 0.328125 -0.585938
+v -0.617188 0.328125 -0.585938
+v 0.484375 0.023438 -0.546875
+v -0.484375 0.023438 -0.546875
+v 0.820312 0.328125 -0.203125
+v -0.820312 0.328125 -0.203125
+v 0.406250 -0.171875 0.148438
+v -0.406250 -0.171875 0.148438
+v 0.429688 -0.195312 -0.210938
+v -0.429688 -0.195312 -0.210938
+v 0.890625 0.406250 -0.234375
+v -0.890625 0.406250 -0.234375
+v 0.773438 -0.140625 -0.125000
+v -0.773438 -0.140625 -0.125000
+v 1.039062 -0.101562 -0.328125
+v -1.039062 -0.101562 -0.328125
+v 1.281250 0.054688 -0.429688
+v -1.281250 0.054688 -0.429688
+v 1.351562 0.320312 -0.421875
+v -1.351562 0.320312 -0.421875
+v 1.234375 0.507812 -0.421875
+v -1.234375 0.507812 -0.421875
+v 1.023438 0.476562 -0.312500
+v -1.023438 0.476562 -0.312500
+v 1.015625 0.414062 -0.289062
+v -1.015625 0.414062 -0.289062
+v 1.187500 0.437500 -0.390625
+v -1.187500 0.437500 -0.390625
+v 1.265625 0.289062 -0.406250
+v -1.265625 0.289062 -0.406250
+v 1.210938 0.078125 -0.406250
+v -1.210938 0.078125 -0.406250
+v 1.031250 -0.039062 -0.304688
+v -1.031250 -0.039062 -0.304688
+v 0.828125 -0.070312 -0.132812
+v -0.828125 -0.070312 -0.132812
+v 0.921875 0.359375 -0.218750
+v -0.921875 0.359375 -0.218750
+v 0.945312 0.304688 -0.289062
+v -0.945312 0.304688 -0.289062
+v 0.882812 -0.023438 -0.210938
+v -0.882812 -0.023438 -0.210938
+v 1.039062 0.000000 -0.367188
+v -1.039062 0.000000 -0.367188
+v 1.187500 0.093750 -0.445312
+v -1.187500 0.093750 -0.445312
+v 1.234375 0.250000 -0.445312
+v -1.234375 0.250000 -0.445312
+v 1.171875 0.359375 -0.437500
+v -1.171875 0.359375 -0.437500
+v 1.023438 0.343750 -0.359375
+v -1.023438 0.343750 -0.359375
+v 0.843750 0.289062 -0.210938
+v -0.843750 0.289062 -0.210938
+v 0.835938 0.171875 -0.273438
+v -0.835938 0.171875 -0.273438
+v 0.757812 0.093750 -0.273438
+v -0.757812 0.093750 -0.273438
+v 0.820312 0.085938 -0.273438
+v -0.820312 0.085938 -0.273438
+v 0.843750 0.015625 -0.273438
+v -0.843750 0.015625 -0.273438
+v 0.812500 -0.015625 -0.273438
+v -0.812500 -0.015625 -0.273438
+v 0.726562 0.000000 -0.070312
+v -0.726562 0.000000 -0.070312
+v 0.718750 -0.023438 -0.171875
+v -0.718750 -0.023438 -0.171875
+v 0.718750 0.039062 -0.187500
+v -0.718750 0.039062 -0.187500
+v 0.796875 0.203125 -0.210938
+v -0.796875 0.203125 -0.210938
+v 0.890625 0.242188 -0.265625
+v -0.890625 0.242188 -0.265625
+v 0.890625 0.234375 -0.320312
+v -0.890625 0.234375 -0.320312
+v 0.812500 -0.015625 -0.320312
+v -0.812500 -0.015625 -0.320312
+v 0.851562 0.015625 -0.320312
+v -0.851562 0.015625 -0.320312
+v 0.828125 0.078125 -0.320312
+v -0.828125 0.078125 -0.320312
+v 0.765625 0.093750 -0.320312
+v -0.765625 0.093750 -0.320312
+v 0.843750 0.171875 -0.320312
+v -0.843750 0.171875 -0.320312
+v 1.039062 0.328125 -0.414062
+v -1.039062 0.328125 -0.414062
+v 1.187500 0.343750 -0.484375
+v -1.187500 0.343750 -0.484375
+v 1.257812 0.242188 -0.492188
+v -1.257812 0.242188 -0.492188
+v 1.210938 0.085938 -0.484375
+v -1.210938 0.085938 -0.484375
+v 1.046875 0.000000 -0.421875
+v -1.046875 0.000000 -0.421875
+v 0.882812 -0.015625 -0.265625
+v -0.882812 -0.015625 -0.265625
+v 0.953125 0.289062 -0.343750
+v -0.953125 0.289062 -0.343750
+v 0.890625 0.109375 -0.328125
+v -0.890625 0.109375 -0.328125
+v 0.937500 0.062500 -0.335938
+v -0.937500 0.062500 -0.335938
+v 1.000000 0.125000 -0.367188
+v -1.000000 0.125000 -0.367188
+v 0.960938 0.171875 -0.351562
+v -0.960938 0.171875 -0.351562
+v 1.015625 0.234375 -0.375000
+v -1.015625 0.234375 -0.375000
+v 1.054688 0.187500 -0.382812
+v -1.054688 0.187500 -0.382812
+v 1.109375 0.210938 -0.390625
+v -1.109375 0.210938 -0.390625
+v 1.085938 0.273438 -0.390625
+v -1.085938 0.273438 -0.390625
+v 1.023438 0.437500 -0.484375
+v -1.023438 0.437500 -0.484375
+v 1.250000 0.468750 -0.546875
+v -1.250000 0.468750 -0.546875
+v 1.367188 0.296875 -0.500000
+v -1.367188 0.296875 -0.500000
+v 1.312500 0.054688 -0.531250
+v -1.312500 0.054688 -0.531250
+v 1.039062 -0.085938 -0.492188
+v -1.039062 -0.085938 -0.492188
+v 0.789062 -0.125000 -0.328125
+v -0.789062 -0.125000 -0.328125
+v 0.859375 0.382812 -0.382812
+v -0.859375 0.382812 -0.382812
+vt 0.890955 0.590063
+vt 0.870622 0.589649
+vt 0.860081 0.560115
+vt 0.904571 0.559404
+vt 0.856226 0.850547
+vt 0.868067 0.821510
+vt 0.888398 0.821999
+vt 0.900640 0.853232
+vt 0.853018 0.521562
+vt 0.920166 0.524546
+vt 0.847458 0.888748
+vt 0.914672 0.888748
+vt 0.828900 0.590771
+vt 0.798481 0.569535
+vt 0.795104 0.838402
+vt 0.826436 0.818537
+vt 0.854402 0.604754
+vt 0.852534 0.805700
+vt 0.854107 0.625459
+vt 0.828171 0.633354
+vt 0.827598 0.775964
+vt 0.853157 0.785002
+vt 0.791018 0.645443
+vt 0.791018 0.762238
+vt 0.855181 0.668527
+vt 0.842358 0.702491
+vt 0.844839 0.707525
+vt 0.856142 0.742025
+vt 0.867508 0.642291
+vt 0.867293 0.768782
+vt 0.890474 0.641909
+vt 0.900375 0.666964
+vt 0.901223 0.745592
+vt 0.890219 0.770183
+vt 0.918898 0.699697
+vt 0.921180 0.713713
+vt 0.931889 0.636832
+vt 0.968392 0.645333
+vt 0.968213 0.770220
+vt 0.931368 0.777093
+vt 0.905882 0.627902
+vt 0.904990 0.784860
+vt 0.906232 0.605742
+vt 0.933717 0.593037
+vt 0.931250 0.820926
+vt 0.904357 0.807013
+vt 0.968392 0.573812
+vt 0.965038 0.841671
+vt 0.902359 0.607909
+vt 0.889591 0.593275
+vt 0.900583 0.804677
+vt 0.887178 0.818729
+vt 0.899781 0.626257
+vt 0.898822 0.786233
+vt 0.887842 0.636527
+vt 0.887351 0.775442
+vt 0.870908 0.635245
+vt 0.870376 0.775972
+vt 0.859881 0.623942
+vt 0.858859 0.786774
+vt 0.859664 0.608186
+vt 0.857942 0.802505
+vt 0.871664 0.593961
+vt 0.869299 0.817249
+vt 0.879400 0.616512
+vt 0.878029 0.795063
+vt 0.540260 0.053805
+vt 0.536419 0.062072
+vt 0.518925 0.059681
+vt 0.518916 0.050294
+vt 0.501452 0.062043
+vt 0.497626 0.053770
+vt 0.551930 0.058338
+vt 0.542788 0.064089
+vt 0.495083 0.064047
+vt 0.485955 0.058273
+vt 0.555073 0.061900
+vt 0.546290 0.072669
+vt 0.491565 0.072625
+vt 0.482805 0.061829
+vt 0.563812 0.076586
+vt 0.548333 0.084893
+vt 0.489507 0.084858
+vt 0.474014 0.076511
+vt 0.583135 0.108495
+vt 0.555621 0.121749
+vt 0.482177 0.121781
+vt 0.454527 0.108481
+vt 0.605512 0.165134
+vt 0.647395 0.200502
+vt 0.621513 0.227818
+vt 0.553118 0.209599
+vt 0.416514 0.229490
+vt 0.389677 0.201890
+vt 0.432024 0.165644
+vt 0.485339 0.210053
+vt 0.676379 0.233241
+vt 0.664761 0.253225
+vt 0.372747 0.256357
+vt 0.360308 0.235899
+vt 0.715342 0.265392
+vt 0.683908 0.279995
+vt 0.353696 0.284606
+vt 0.320452 0.270303
+vt 0.707254 0.310054
+vt 0.687515 0.311539
+vt 0.351187 0.317440
+vt 0.330721 0.316853
+vt 0.697446 0.332673
+vt 0.676824 0.323937
+vt 0.362723 0.329722
+vt 0.341964 0.339667
+vt 0.662817 0.372521
+vt 0.639050 0.357330
+vt 0.402772 0.362131
+vt 0.379297 0.378686
+vt 0.626842 0.395792
+vt 0.618316 0.375151
+vt 0.424583 0.379267
+vt 0.416915 0.400552
+vt 0.604826 0.397804
+vt 0.600808 0.377857
+vt 0.442396 0.381222
+vt 0.439252 0.401540
+vt 0.553095 0.390512
+vt 0.559674 0.357011
+vt 0.482938 0.358497
+vt 0.490934 0.391862
+vt 0.521923 0.386009
+vt 0.521086 0.343868
+vt 0.577279 0.340156
+vt 0.599845 0.344815
+vt 0.441977 0.347815
+vt 0.464579 0.342230
+vt 0.615546 0.342005
+vt 0.425972 0.345582
+vt 0.634472 0.332311
+vt 0.406362 0.336480
+vt 0.662406 0.312804
+vt 0.377061 0.317685
+vt 0.668440 0.297958
+vt 0.370304 0.302644
+vt 0.664101 0.277872
+vt 0.374100 0.281778
+vt 0.639236 0.253047
+vt 0.398938 0.255633
+vt 0.613992 0.242662
+vt 0.424464 0.244473
+vt 0.572941 0.258564
+vt 0.466409 0.259709
+vt 0.563905 0.272007
+vt 0.519760 0.248864
+vt 0.475886 0.273078
+vt 0.558527 0.316594
+vt 0.482619 0.317843
+vt 0.520277 0.294764
+vt 0.556923 0.291214
+vt 0.483433 0.292249
+vt 0.525483 0.068967
+vt 0.518928 0.067899
+vt 0.512375 0.068956
+vt 0.531231 0.073829
+vt 0.506626 0.073811
+vt 0.531019 0.087431
+vt 0.506827 0.087416
+vt 0.532042 0.127713
+vt 0.532669 0.090920
+vt 0.505177 0.090908
+vt 0.505828 0.127728
+vt 0.538112 0.158382
+vt 0.518981 0.151749
+vt 0.518941 0.128358
+vt 0.499851 0.158434
+vt 0.518925 0.093952
+vt 0.518927 0.085180
+vt 0.548362 0.173560
+vt 0.537959 0.175966
+vt 0.535214 0.166808
+vt 0.502799 0.166857
+vt 0.500100 0.176033
+vt 0.489683 0.173693
+vt 0.544281 0.193366
+vt 0.537248 0.187577
+vt 0.500890 0.187571
+vt 0.493996 0.193428
+vt 0.519841 0.200843
+vt 0.528757 0.191785
+vt 0.509219 0.191626
+vt 0.517577 0.190607
+vt 0.519132 0.185382
+vt 0.518998 0.159028
+vt 0.531131 0.171631
+vt 0.519016 0.165599
+vt 0.506910 0.171667
+vt 0.519099 0.179457
+vt 0.528222 0.186316
+vt 0.509787 0.186260
+vt 0.533528 0.184215
+vt 0.504547 0.184206
+vt 0.533449 0.176739
+vt 0.504604 0.176791
+vt 0.561572 0.167779
+vt 0.476363 0.167996
+vt 0.559475 0.149319
+vt 0.478371 0.149447
+vt 0.596138 0.133426
+vt 0.441395 0.133592
+vt 0.601169 0.147885
+vt 0.436337 0.148194
+vt 0.518925 0.083865
+vt 0.528933 0.084957
+vt 0.508915 0.084945
+vt 0.529036 0.075429
+vt 0.508820 0.075415
+vt 0.523751 0.070508
+vt 0.514106 0.070501
+vt 0.518929 0.069468
+vt 0.521560 0.074970
+vt 0.518928 0.074259
+vt 0.516297 0.074966
+vt 0.524236 0.076691
+vt 0.513619 0.076684
+vt 0.524601 0.079886
+vt 0.513252 0.079879
+vt 0.518926 0.079331
+vt 0.571787 0.277295
+vt 0.568351 0.292904
+vt 0.468070 0.278617
+vt 0.471978 0.294282
+vt 0.573085 0.311386
+vt 0.467790 0.313081
+vt 0.584855 0.327708
+vt 0.456477 0.329961
+vt 0.580734 0.266620
+vt 0.458737 0.268049
+vt 0.611720 0.255725
+vt 0.427062 0.257728
+vt 0.632494 0.262853
+vt 0.406068 0.265508
+vt 0.653658 0.279971
+vt 0.384904 0.283634
+vt 0.656064 0.297636
+vt 0.383015 0.301864
+vt 0.652752 0.310186
+vt 0.386858 0.314615
+vt 0.629040 0.323864
+vt 0.411556 0.327673
+vt 0.614408 0.331972
+vt 0.426727 0.335361
+vt 0.601033 0.333624
+vt 0.440344 0.336537
+vt 0.590644 0.321516
+vt 0.601799 0.328453
+vt 0.450408 0.323919
+vt 0.439372 0.331331
+vt 0.613335 0.327083
+vt 0.427623 0.330358
+vt 0.626851 0.320513
+vt 0.413648 0.324175
+vt 0.646248 0.306421
+vt 0.393381 0.310510
+vt 0.649541 0.296225
+vt 0.389662 0.300183
+vt 0.647785 0.283486
+vt 0.391040 0.287071
+vt 0.629829 0.267263
+vt 0.408893 0.269959
+vt 0.612641 0.261560
+vt 0.426254 0.263693
+vt 0.585166 0.270991
+vt 0.454369 0.272583
+vt 0.578124 0.281900
+vt 0.461798 0.283441
+vt 0.579548 0.309340
+vt 0.461204 0.311233
+vt 0.577524 0.293776
+vt 0.462754 0.295432
+vt 0.553209 0.433063
+vt 0.523031 0.433628
+vt 0.492809 0.434538
+vt 0.609819 0.431516
+vt 0.435860 0.435740
+vt 0.648174 0.419316
+vt 0.396518 0.425416
+vt 0.692106 0.388274
+vt 0.350292 0.396229
+vt 0.726332 0.341754
+vt 0.312756 0.350588
+vt 0.735879 0.312112
+vt 0.301067 0.320593
+vt 0.729900 0.256393
+vt 0.304876 0.261087
+vt 0.698172 0.216906
+vt 0.337414 0.219179
+vt 0.663103 0.190671
+vt 0.373474 0.191872
+vt 0.626908 0.015608
+vt 0.649444 0.022378
+vt 0.660451 0.076084
+vt 0.621440 0.048089
+vt 0.376796 0.075296
+vt 0.388827 0.021586
+vt 0.411318 0.015131
+vt 0.416419 0.047631
+vt 0.567460 0.000144
+vt 0.577206 0.032801
+vt 0.470636 0.000144
+vt 0.460782 0.032656
+vt 0.518922 0.024886
+vt 0.547413 0.041724
+vt 0.490511 0.041669
+vt 0.558059 0.053871
+vt 0.479842 0.053785
+vt 0.576951 0.057998
+vt 0.460920 0.057845
+vt 0.611687 0.078268
+vt 0.425932 0.077985
+vt 0.626663 0.111357
+vt 0.410618 0.111244
+vt 0.629482 0.130456
+vt 0.623495 0.146796
+vt 0.413741 0.147158
+vt 0.407648 0.130594
+vt 0.619303 0.159841
+vt 0.418035 0.160361
+vt 0.945900 0.079569
+vt 0.886245 0.121777
+vt 0.849114 0.099732
+vt 0.891780 0.036916
+vt 0.183115 0.092127
+vt 0.141314 0.112482
+vt 0.078961 0.060719
+vt 0.142277 0.021467
+vt 0.788458 0.080826
+vt 0.805584 0.010786
+vt 0.246353 0.076510
+vt 0.232648 0.003484
+vt 0.687018 0.077204
+vt 0.672384 0.022201
+vt 0.349875 0.075955
+vt 0.365979 0.020991
+vt 0.760215 0.193244
+vt 0.789046 0.233323
+vt 0.271553 0.193871
+vt 0.241255 0.236977
+vt 0.994525 0.167705
+vt 0.909112 0.183261
+vt 0.107928 0.179083
+vt 0.011829 0.155367
+vt 0.911671 0.402429
+vt 0.862868 0.338556
+vt 0.894128 0.301884
+vt 0.962901 0.344752
+vt 0.123776 0.315519
+vt 0.160557 0.356821
+vt 0.106400 0.432652
+vt 0.043968 0.367038
+vt 0.915360 0.259804
+vt 0.999856 0.254640
+vt 0.098965 0.266968
+vt 0.000144 0.259113
+vt 0.749542 0.334683
+vt 0.766337 0.300809
+vt 0.789162 0.313727
+vt 0.267408 0.310142
+vt 0.288183 0.346496
+vt 0.242992 0.325552
+vt 0.815314 0.276388
+vt 0.846174 0.293397
+vt 0.213065 0.285164
+vt 0.178537 0.304983
+vt 0.845007 0.256352
+vt 0.873517 0.265922
+vt 0.179662 0.263312
+vt 0.147089 0.274284
+vt 0.859075 0.228168
+vt 0.886999 0.233769
+vt 0.162803 0.231720
+vt 0.131514 0.237587
+vt 0.842355 0.195160
+vt 0.875030 0.184705
+vt 0.145224 0.182749
+vt 0.176788 0.196179
+vt 0.794286 0.364062
+vt 0.239776 0.382592
+vt 0.770185 0.379538
+vt 0.268122 0.398737
+vt 0.845499 0.449967
+vt 0.185281 0.484099
+vt 0.815858 0.445381
+vt 0.770572 0.444261
+vt 0.755700 0.418603
+vt 0.287033 0.442912
+vt 0.271364 0.473316
+vt 0.219260 0.477186
+vt 0.819845 0.468071
+vt 0.215894 0.503605
+vt 0.809631 0.233887
+vt 0.219168 0.237388
+vt 0.829287 0.219562
+vt 0.199067 0.222464
+vt 0.786480 0.117591
+vt 0.715482 0.139727
+vt 0.246666 0.114850
+vt 0.319538 0.139409
+vt 0.785486 0.152330
+vt 0.245969 0.151002
+vt 0.837382 0.156361
+vt 0.858171 0.137775
+vt 0.171653 0.132294
+vt 0.196622 0.155241
+vt 0.506166 0.904851
+vt 0.432388 0.894943
+vt 0.438797 0.870229
+vt 0.491058 0.881714
+vt 0.315867 0.868209
+vt 0.321637 0.893225
+vt 0.247207 0.901159
+vt 0.263032 0.878321
+vt 0.572792 0.860484
+vt 0.604825 0.879946
+vt 0.181486 0.854693
+vt 0.148729 0.873349
+vt 0.586396 0.793977
+vt 0.619962 0.791615
+vt 0.169745 0.787474
+vt 0.136063 0.784093
+vt 0.549027 0.746412
+vt 0.563786 0.739211
+vt 0.208656 0.740879
+vt 0.194086 0.733241
+vt 0.500314 0.711729
+vt 0.508270 0.697693
+vt 0.258399 0.707497
+vt 0.250811 0.693249
+vt 0.438641 0.680683
+vt 0.434803 0.658882
+vt 0.320962 0.677959
+vt 0.325318 0.656224
+vt 0.505666 0.730944
+vt 0.452955 0.700023
+vt 0.306136 0.696976
+vt 0.252524 0.726592
+vt 0.542850 0.755753
+vt 0.214575 0.750414
+vt 0.568148 0.787367
+vt 0.188269 0.781375
+vt 0.555495 0.826352
+vt 0.199850 0.820889
+vt 0.501231 0.844356
+vt 0.253846 0.840502
+vt 0.457832 0.840040
+vt 0.297562 0.837358
+vt 0.796021 0.176969
+vt 0.783193 0.187449
+vt 0.233625 0.175620
+vt 0.246955 0.187075
+vt 0.391039 0.611891
+vt 0.394766 0.686125
+vt 0.369913 0.610196
+vt 0.364838 0.684445
+vt 0.391747 0.862097
+vt 0.401605 0.841460
+vt 0.354026 0.840297
+vt 0.363377 0.861308
+vt 0.435018 0.718280
+vt 0.323658 0.715731
+vt 0.433669 0.729661
+vt 0.384658 0.710299
+vt 0.374400 0.708969
+vt 0.324726 0.727177
+vt 0.410995 0.747662
+vt 0.427812 0.742828
+vt 0.347028 0.745816
+vt 0.330270 0.740536
+vt 0.418086 0.784946
+vt 0.384657 0.795423
+vt 0.372270 0.794472
+vt 0.338952 0.783073
+vt 0.431333 0.817535
+vt 0.324790 0.815460
+vt 0.816266 0.203086
+vt 0.825107 0.209762
+vt 0.199767 0.214827
+vt 0.209828 0.206161
+vt 0.802192 0.184609
+vt 0.226485 0.183086
+vt 0.448505 0.804621
+vt 0.473386 0.824700
+vt 0.307886 0.802031
+vt 0.282357 0.821525
+vt 0.435868 0.779569
+vt 0.321237 0.777208
+vt 0.423718 0.754191
+vt 0.334089 0.752045
+vt 0.437950 0.749777
+vt 0.319919 0.747250
+vt 0.445392 0.731997
+vt 0.312907 0.729222
+vt 0.440995 0.724383
+vt 0.317510 0.721697
+vt 0.455277 0.713731
+vt 0.303460 0.710657
+vt 0.512485 0.828811
+vt 0.242975 0.824574
+vt 0.550942 0.811814
+vt 0.204839 0.806417
+vt 0.552139 0.787682
+vt 0.204331 0.782156
+vt 0.539407 0.764539
+vt 0.217774 0.759319
+vt 0.508439 0.743135
+vt 0.249419 0.738732
+vt 0.470841 0.748408
+vt 0.454776 0.761665
+vt 0.286960 0.745020
+vt 0.302729 0.758742
+vt 0.488870 0.770464
+vt 0.475403 0.783904
+vt 0.268291 0.766661
+vt 0.281439 0.780511
+vt 0.503673 0.787562
+vt 0.494476 0.802470
+vt 0.252972 0.783410
+vt 0.261790 0.798626
+vt 0.518562 0.791602
+vt 0.516802 0.807339
+vt 0.237920 0.787045
+vt 0.239243 0.802891
+vt 0.484068 0.628776
+vt 0.543385 0.683538
+vt 0.276936 0.625067
+vt 0.216123 0.678120
+vt 0.581052 0.726933
+vt 0.177176 0.720426
+vt 0.616701 0.759965
+vt 0.140379 0.752377
+vt 0.707492 0.759884
+vt 0.660647 0.741167
+vt 0.049526 0.748824
+vt 0.097038 0.732052
+vt 0.745511 0.652100
+vt 0.677256 0.670436
+vt 0.019409 0.639749
+vt 0.083564 0.662038
+vt 0.740843 0.572428
+vt 0.671403 0.592656
+vt 0.033664 0.564403
+vt 0.092820 0.589862
+vt 0.834578 0.206879
+vt 0.834705 0.206959
+vt 0.051216 0.522659
+vt 0.145041 0.562595
+vt 0.620420 0.565675
+vt 0.498072 0.552315
+vt 0.264218 0.550140
+vn 0.9777 -0.0110 0.2098
+vn 0.7277 -0.6545 0.2051
+vn 0.6040 -0.5102 0.6122
+vn 0.8021 -0.0034 0.5972
+vn -0.6040 -0.5102 0.6122
+vn -0.7277 -0.6545 0.2051
+vn -0.9777 -0.0110 0.2098
+vn -0.8021 -0.0034 0.5972
+vn 0.6830 -0.5475 0.4836
+vn 0.8684 -0.0033 0.4958
+vn -0.6830 -0.5475 0.4836
+vn -0.8684 -0.0033 0.4958
+vn 0.0982 -0.7510 0.6530
+vn 0.1159 -0.8670 0.4847
+vn -0.1159 -0.8670 0.4847
+vn -0.0982 -0.7510 0.6530
+vn 0.0375 -0.9651 0.2592
+vn -0.0375 -0.9651 0.2592
+vn -0.6554 -0.6928 0.3008
+vn -0.4514 -0.5393 0.7109
+vn 0.4514 -0.5393 0.7109
+vn 0.6554 -0.6928 0.3008
+vn -0.5512 -0.6358 0.5402
+vn 0.5512 -0.6358 0.5402
+vn -0.6940 -0.0035 0.7200
+vn -0.8148 -0.0038 0.5797
+vn 0.8148 -0.0038 0.5797
+vn 0.6940 -0.0035 0.7200
+vn -0.9461 -0.0129 0.3237
+vn 0.9461 -0.0129 0.3237
+vn -0.6622 0.6914 0.2889
+vn -0.4551 0.5251 0.7191
+vn 0.4551 0.5251 0.7191
+vn 0.6622 0.6914 0.2889
+vn -0.5298 0.6266 0.5716
+vn 0.5298 0.6266 0.5716
+vn 0.1019 0.7402 0.6647
+vn 0.1224 0.8373 0.5328
+vn -0.1224 0.8373 0.5328
+vn -0.1019 0.7402 0.6647
+vn 0.0321 0.9710 0.2369
+vn -0.0321 0.9710 0.2369
+vn 0.7321 0.6528 0.1949
+vn 0.6085 0.4949 0.6203
+vn -0.6085 0.4949 0.6203
+vn -0.7321 0.6528 0.1949
+vn 0.6722 0.5382 0.5084
+vn -0.6722 0.5382 0.5084
+vn 0.7220 0.6499 0.2374
+vn 0.9737 -0.0122 0.2273
+vn -0.7220 0.6499 0.2374
+vn -0.9737 -0.0122 0.2273
+vn 0.0375 0.9336 0.3564
+vn -0.0375 0.9336 0.3564
+vn -0.6263 0.6470 0.4348
+vn 0.6263 0.6470 0.4348
+vn -0.9113 -0.0123 0.4116
+vn 0.9113 -0.0123 0.4116
+vn -0.6181 -0.6538 0.4364
+vn 0.6181 -0.6538 0.4364
+vn 0.0369 -0.9351 0.3524
+vn -0.0369 -0.9351 0.3524
+vn 0.7151 -0.6569 0.2391
+vn -0.7151 -0.6569 0.2391
+vn 0.1836 -0.0053 0.9830
+vn -0.1836 -0.0053 0.9830
+vn 0.1576 -0.9745 0.1596
+vn 0.1679 -0.7535 0.6357
+vn 0.0000 -0.7922 0.6103
+vn 0.0000 -0.9777 0.2098
+vn -0.1679 -0.7535 0.6357
+vn -0.1576 -0.9745 0.1596
+vn 0.6541 -0.7418 0.1480
+vn 0.3630 -0.6184 0.6970
+vn -0.3630 -0.6184 0.6970
+vn -0.6541 -0.7418 0.1480
+vn 0.9696 -0.1473 0.1954
+vn 0.5559 -0.2160 0.8027
+vn -0.5559 -0.2160 0.8027
+vn -0.9696 -0.1473 0.1954
+vn 0.9758 0.0949 0.1970
+vn 0.5679 -0.0330 0.8225
+vn -0.5679 -0.0330 0.8225
+vn -0.9758 0.0949 0.1970
+vn 0.9651 0.2190 0.1435
+vn 0.5872 0.1120 0.8017
+vn -0.5872 0.1120 0.8017
+vn -0.9651 0.2190 0.1435
+vn 0.9053 -0.3891 0.1703
+vn 0.3606 -0.9316 0.0455
+vn 0.3809 -0.5176 0.7662
+vn 0.0663 -0.1929 0.9790
+vn -0.3809 -0.5176 0.7662
+vn -0.3606 -0.9316 0.0455
+vn -0.9053 -0.3891 0.1703
+vn -0.0663 -0.1929 0.9790
+vn 0.5889 -0.7908 0.1668
+vn 0.4988 -0.4012 0.7683
+vn -0.4988 -0.4012 0.7683
+vn -0.5889 -0.7908 0.1668
+vn 0.9126 -0.4027 -0.0698
+vn 0.5489 -0.3266 0.7694
+vn -0.5489 -0.3266 0.7694
+vn -0.9126 -0.4027 -0.0698
+vn 0.8801 0.4238 0.2138
+vn 0.4876 -0.1471 0.8606
+vn -0.4876 -0.1471 0.8606
+vn -0.8801 0.4238 0.2138
+vn 0.5100 0.8330 0.2144
+vn 0.3417 -0.0325 0.9392
+vn -0.3417 -0.0325 0.9392
+vn -0.5100 0.8330 0.2144
+vn 0.5978 0.7838 0.1683
+vn 0.3141 -0.0304 0.9489
+vn -0.3141 -0.0304 0.9489
+vn -0.5978 0.7838 0.1683
+vn 0.2283 0.9588 0.1689
+vn 0.2712 0.2130 0.9387
+vn -0.2712 0.2130 0.9387
+vn -0.2283 0.9588 0.1689
+vn -0.5987 0.7774 0.1930
+vn -0.1643 0.1591 0.9735
+vn 0.1643 0.1591 0.9735
+vn 0.5987 0.7774 0.1930
+vn -0.7918 0.5829 0.1826
+vn -0.0730 -0.0287 0.9969
+vn 0.0730 -0.0287 0.9969
+vn 0.7918 0.5829 0.1826
+vn 0.0000 0.9595 0.2816
+vn 0.0000 -0.0241 0.9997
+vn 0.2654 -0.2040 0.9423
+vn 0.2661 -0.1257 0.9557
+vn -0.2661 -0.1257 0.9557
+vn -0.2654 -0.2040 0.9423
+vn 0.1334 -0.0975 0.9863
+vn -0.1334 -0.0975 0.9863
+vn 0.1978 -0.0105 0.9802
+vn -0.1978 -0.0105 0.9802
+vn 0.2414 -0.3067 0.9207
+vn -0.2414 -0.3067 0.9207
+vn 0.3630 -0.2123 0.9073
+vn -0.3630 -0.2123 0.9073
+vn 0.4415 -0.2059 0.8733
+vn -0.4415 -0.2059 0.8733
+vn 0.4194 -0.3798 0.8245
+vn -0.4194 -0.3798 0.8245
+vn 0.3106 -0.3403 0.8875
+vn -0.3106 -0.3403 0.8875
+vn -0.1349 -0.2146 0.9673
+vn 0.1349 -0.2146 0.9673
+vn -0.3104 -0.1698 0.9353
+vn 0.0000 0.0135 0.9999
+vn 0.3104 -0.1698 0.9353
+vn 0.0284 -0.1986 0.9797
+vn -0.0284 -0.1986 0.9797
+vn 0.0000 -0.2235 0.9747
+vn -0.1624 -0.1998 0.9663
+vn 0.1624 -0.1998 0.9663
+vn -0.0252 -0.4118 0.9109
+vn 0.0000 -0.3313 0.9435
+vn 0.0252 -0.4118 0.9109
+vn 0.0891 -0.3229 0.9422
+vn -0.0891 -0.3229 0.9422
+vn 0.1559 -0.1706 0.9729
+vn -0.1559 -0.1706 0.9729
+vn 0.1386 0.0029 0.9903
+vn 0.1803 -0.0579 0.9819
+vn -0.1803 -0.0579 0.9819
+vn -0.1386 0.0029 0.9903
+vn 0.4969 -0.4356 0.7506
+vn 0.0000 -0.4576 0.8892
+vn 0.0000 -0.0041 1.0000
+vn -0.4969 -0.4356 0.7506
+vn 0.0000 -0.0342 0.9994
+vn 0.0000 -0.4257 0.9048
+vn 0.7216 -0.3646 0.5886
+vn 0.9246 -0.2129 0.3159
+vn 0.5803 -0.7307 0.3597
+vn -0.5803 -0.7307 0.3597
+vn -0.9246 -0.2129 0.3159
+vn -0.7216 -0.3646 0.5886
+vn 0.2528 0.3480 0.9028
+vn 0.6218 0.7744 0.1168
+vn -0.6218 0.7744 0.1168
+vn -0.2528 0.3480 0.9028
+vn 0.0000 0.5693 0.8222
+vn -0.3018 0.9416 0.1492
+vn 0.3018 0.9416 0.1492
+vn 0.0000 0.7593 0.6508
+vn 0.0000 0.7851 0.6194
+vn 0.0000 -0.8574 0.5146
+vn 0.2206 -0.5640 0.7958
+vn 0.0000 -0.5286 0.8489
+vn -0.2206 -0.5640 0.7958
+vn 0.0000 0.1136 0.9935
+vn -0.1992 0.6018 0.7734
+vn 0.1992 0.6018 0.7734
+vn 0.3664 0.4752 0.8000
+vn -0.3664 0.4752 0.8000
+vn 0.4297 -0.1850 0.8838
+vn -0.4297 -0.1850 0.8838
+vn 0.7431 0.0295 0.6686
+vn -0.7431 0.0295 0.6686
+vn 0.6464 0.1424 0.7496
+vn -0.6464 0.1424 0.7496
+vn 0.9385 0.3251 0.1161
+vn -0.9385 0.3251 0.1161
+vn 0.9534 0.2816 0.1079
+vn -0.9534 0.2816 0.1079
+vn 0.0000 -0.9031 0.4294
+vn -0.1140 -0.6151 0.7802
+vn 0.1140 -0.6151 0.7802
+vn -0.6503 0.0615 0.7572
+vn 0.6503 0.0615 0.7572
+vn -0.3705 0.5450 0.7521
+vn 0.3705 0.5450 0.7521
+vn 0.0000 0.6467 0.7627
+vn -0.3272 0.4745 0.8172
+vn 0.0000 0.5289 0.8487
+vn 0.3272 0.4745 0.8172
+vn -0.6748 0.1147 0.7290
+vn 0.6748 0.1147 0.7290
+vn -0.5164 -0.7041 0.4874
+vn 0.5164 -0.7041 0.4874
+vn 0.0000 -0.6989 0.7153
+vn -0.0170 -0.0610 0.9980
+vn 0.1649 -0.0897 0.9822
+vn 0.0170 -0.0610 0.9980
+vn -0.1649 -0.0897 0.9822
+vn 0.2359 -0.1089 0.9657
+vn -0.2359 -0.1089 0.9657
+vn 0.1634 -0.0836 0.9830
+vn -0.1634 -0.0836 0.9830
+vn 0.0129 -0.1560 0.9877
+vn -0.0129 -0.1560 0.9877
+vn 0.1998 -0.2072 0.9577
+vn -0.1998 -0.2072 0.9577
+vn 0.2858 -0.0425 0.9573
+vn -0.2858 -0.0425 0.9573
+vn 0.2990 -0.0934 0.9497
+vn -0.2990 -0.0934 0.9497
+vn 0.1870 -0.0655 0.9802
+vn -0.1870 -0.0655 0.9802
+vn 0.3063 0.0342 0.9513
+vn -0.3063 0.0342 0.9513
+vn 0.1731 -0.1109 0.9786
+vn -0.1731 -0.1109 0.9786
+vn 0.1657 0.1129 0.9797
+vn -0.1657 0.1129 0.9797
+vn 0.1829 0.0367 0.9825
+vn -0.1829 0.0367 0.9825
+vn 0.5010 -0.3839 0.7757
+vn 0.3063 -0.3431 0.8879
+vn -0.5010 -0.3839 0.7757
+vn -0.3063 -0.3431 0.8879
+vn 0.0021 -0.4953 0.8687
+vn -0.0021 -0.4953 0.8687
+vn -0.1401 -0.7621 0.6322
+vn 0.1401 -0.7621 0.6322
+vn -0.1943 -0.6161 0.7633
+vn 0.1943 -0.6161 0.7633
+vn -0.3549 -0.1286 0.9260
+vn 0.3549 -0.1286 0.9260
+vn -0.2549 0.2241 0.9406
+vn 0.2549 0.2241 0.9406
+vn -0.0831 0.5416 0.8365
+vn 0.0831 0.5416 0.8365
+vn 0.1489 0.6135 0.7755
+vn -0.1489 0.6135 0.7755
+vn 0.4245 0.5609 0.7108
+vn -0.4245 0.5609 0.7108
+vn 0.6875 0.2974 0.6625
+vn -0.6875 0.2974 0.6625
+vn 0.7465 -0.2135 0.6303
+vn -0.7465 -0.2135 0.6303
+vn 0.8052 0.0150 0.5928
+vn -0.8052 0.0150 0.5928
+vn -0.5046 0.8622 0.0448
+vn 0.0000 0.8794 0.4761
+vn 0.5046 0.8622 0.0448
+vn -0.4770 0.5100 -0.7158
+vn 0.4770 0.5100 -0.7158
+vn 0.1146 0.6555 -0.7464
+vn -0.1146 0.6555 -0.7464
+vn 0.3084 0.9138 -0.2642
+vn -0.3084 0.9138 -0.2642
+vn 0.3515 0.9088 -0.2249
+vn -0.3515 0.9088 -0.2249
+vn 0.7392 0.6005 -0.3049
+vn -0.7392 0.6005 -0.3049
+vn 0.9393 -0.3068 -0.1533
+vn -0.9393 -0.3068 -0.1533
+vn 0.5768 -0.8110 -0.0972
+vn -0.5768 -0.8110 -0.0972
+vn 0.4394 -0.8925 -0.1016
+vn -0.4394 -0.8925 -0.1016
+vn 0.0000 -0.3178 -0.9482
+vn 0.0000 -0.8051 -0.5931
+vn 0.7260 -0.5865 -0.3591
+vn 0.3375 -0.2535 -0.9066
+vn -0.7260 -0.5865 -0.3591
+vn -0.3375 -0.2535 -0.9066
+vn 0.0000 -0.2978 -0.9546
+vn 0.1293 -0.1789 -0.9753
+vn -0.1293 -0.1789 -0.9753
+vn 0.0000 -0.8508 -0.5255
+vn 0.0993 -0.7680 -0.6328
+vn -0.0993 -0.7680 -0.6328
+vn 0.5587 -0.4679 -0.6848
+vn -0.5587 -0.4679 -0.6848
+vn 0.6058 0.0208 -0.7953
+vn -0.6058 0.0208 -0.7953
+vn 0.7766 -0.0093 -0.6299
+vn -0.7766 -0.0093 -0.6299
+vn 0.9602 -0.0017 -0.2795
+vn -0.9602 -0.0017 -0.2795
+vn 0.9731 -0.2302 0.0002
+vn 0.9537 -0.1999 0.2247
+vn -0.9537 -0.1999 0.2247
+vn -0.9731 -0.2302 0.0002
+vn 0.8140 -0.5544 0.1732
+vn -0.8140 -0.5544 0.1732
+vn 0.0000 -0.3005 -0.9538
+vn 0.4237 -0.3240 -0.8459
+vn 0.5191 -0.6556 -0.5483
+vn 0.0000 -0.6967 -0.7174
+vn -0.5191 -0.6556 -0.5483
+vn -0.4237 -0.3240 -0.8459
+vn 0.5214 -0.8255 -0.2162
+vn 0.0000 -0.9410 -0.3385
+vn -0.5214 -0.8255 -0.2162
+vn 0.5888 -0.8081 -0.0185
+vn 0.0000 -0.9863 -0.1650
+vn -0.5888 -0.8081 -0.0185
+vn 0.7152 -0.6950 0.0736
+vn 0.9762 -0.2020 0.0787
+vn -0.7152 -0.6950 0.0736
+vn -0.9762 -0.2020 0.0787
+vn 0.0000 0.3141 -0.9494
+vn 0.4534 0.1969 -0.8693
+vn -0.4534 0.1969 -0.8693
+vn 0.0000 0.8306 0.5569
+vn 0.4817 0.7261 0.4907
+vn 0.4279 0.9036 0.0202
+vn 0.0000 1.0000 -0.0019
+vn -0.4279 0.9036 0.0202
+vn -0.4817 0.7261 0.4907
+vn 0.4258 0.8032 -0.4166
+vn 0.0000 0.8326 -0.5539
+vn -0.4258 0.8032 -0.4166
+vn 0.7652 0.6244 0.1565
+vn 0.4721 0.7778 0.4150
+vn -0.7652 0.6244 0.1565
+vn -0.4721 0.7778 0.4150
+vn 0.7475 0.5326 0.3969
+vn 0.6514 0.6815 0.3336
+vn -0.7475 0.5326 0.3969
+vn -0.6514 0.6815 0.3336
+vn 0.8548 0.5181 -0.0301
+vn 0.6788 0.7318 -0.0612
+vn -0.8548 0.5181 -0.0301
+vn -0.6788 0.7318 -0.0612
+vn 0.8739 0.3070 -0.3769
+vn 0.6441 0.5380 -0.5438
+vn -0.8739 0.3070 -0.3769
+vn -0.6441 0.5380 -0.5438
+vn 0.6260 -0.0260 -0.7794
+vn 0.5860 -0.0155 -0.8101
+vn -0.5860 -0.0155 -0.8101
+vn -0.6260 -0.0260 -0.7794
+vn 0.4020 0.8204 0.4065
+vn -0.4020 0.8204 0.4065
+vn 0.0000 0.6049 0.7963
+vn 0.9989 -0.0455 0.0062
+vn -0.9989 -0.0455 0.0062
+vn 0.8965 0.3044 0.3220
+vn -0.8965 0.3044 0.3220
+vn 0.5809 -0.8007 -0.1463
+vn 0.5731 -0.8037 0.1600
+vn -0.5809 -0.8007 -0.1463
+vn -0.5731 -0.8037 0.1600
+vn 0.2744 -0.9600 -0.0552
+vn -0.2744 -0.9600 -0.0552
+vn 0.4020 -0.6167 -0.6768
+vn 0.5443 -0.4959 -0.6766
+vn -0.5443 -0.4959 -0.6766
+vn -0.4020 -0.6167 -0.6768
+vn 0.0163 0.8736 0.4863
+vn -0.2878 0.7388 0.6094
+vn 0.4590 -0.0631 0.8862
+vn 0.5421 -0.0674 0.8376
+vn -0.4590 -0.0631 0.8862
+vn 0.2878 0.7388 0.6094
+vn -0.0163 0.8736 0.4863
+vn -0.5421 -0.0674 0.8376
+vn 0.3174 -0.0930 0.9437
+vn 0.3604 0.8605 0.3600
+vn -0.3174 -0.0930 0.9437
+vn -0.3604 0.8605 0.3600
+vn -0.1201 -0.0897 0.9887
+vn 0.7896 0.1790 0.5870
+vn 0.1201 -0.0897 0.9887
+vn -0.7896 0.1790 0.5870
+vn -0.0240 0.2740 0.9614
+vn 0.6731 -0.4998 0.5450
+vn 0.0240 0.2740 0.9614
+vn -0.6731 -0.4998 0.5450
+vn 0.4922 0.2738 0.8263
+vn 0.4719 -0.7796 0.4117
+vn -0.4922 0.2738 0.8263
+vn -0.4719 -0.7796 0.4117
+vn 0.3413 0.3527 0.8713
+vn -0.0439 -0.6481 0.7602
+vn -0.3413 0.3527 0.8713
+vn 0.0439 -0.6481 0.7602
+vn -0.1665 0.9539 0.2497
+vn 0.2330 0.8788 0.4164
+vn -0.2330 0.8788 0.4164
+vn 0.1665 0.9539 0.2497
+vn -0.7613 0.6471 0.0399
+vn 0.7613 0.6471 0.0399
+vn -0.9810 -0.0934 0.1698
+vn 0.9810 -0.0934 0.1698
+vn -0.1410 -0.7728 0.6188
+vn 0.1410 -0.7728 0.6188
+vn 0.5587 -0.6583 0.5044
+vn -0.5587 -0.6583 0.5044
+vn 0.6878 -0.5533 0.4698
+vn -0.6878 -0.5533 0.4698
+vn 0.7451 0.0855 0.6615
+vn 0.8615 -0.4880 -0.1400
+vn -0.7451 0.0855 0.6615
+vn -0.8615 -0.4880 -0.1400
+vn 0.7427 -0.2611 0.6166
+vn -0.7427 -0.2611 0.6166
+vn 0.5933 0.5664 0.5720
+vn -0.5933 0.5664 0.5720
+vn 0.8837 -0.0625 0.4639
+vn 0.9210 -0.1749 0.3480
+vn -0.9210 -0.1749 0.3480
+vn -0.8837 -0.0625 0.4639
+vn 0.8589 0.0371 0.5108
+vn 0.5731 0.7263 0.3796
+vn -0.8589 0.0371 0.5108
+vn -0.5731 0.7263 0.3796
+vn 0.7481 -0.5799 0.3224
+vn 0.8720 -0.4240 0.2446
+vn -0.8720 -0.4240 0.2446
+vn -0.7481 -0.5799 0.3224
+vn 0.6963 -0.5412 0.4714
+vn -0.6963 -0.5412 0.4714
+vn 0.6669 -0.4348 0.6052
+vn 0.6358 -0.4092 0.6545
+vn -0.6669 -0.4348 0.6052
+vn -0.6358 -0.4092 0.6545
+vn 0.5714 -0.4259 0.7015
+vn -0.5714 -0.4259 0.7015
+vn 0.7837 0.2514 0.5680
+vn -0.7837 0.2514 0.5680
+vn 0.4447 0.3740 0.8138
+vn -0.4447 0.3740 0.8138
+vn 0.3739 0.3687 0.8510
+vn -0.3739 0.3687 0.8510
+vn 0.6600 0.3495 0.6650
+vn -0.6600 0.3495 0.6650
+vn -0.0507 0.9519 0.3023
+vn 0.0507 0.9519 0.3023
+vn 0.4844 -0.3373 0.8072
+vn -0.4844 -0.3373 0.8072
+vn -0.2485 -0.5826 0.7738
+vn 0.2485 -0.5826 0.7738
+vn -0.7433 -0.0973 0.6618
+vn 0.7433 -0.0973 0.6618
+vn -0.5392 0.4506 0.7115
+vn 0.5392 0.4506 0.7115
+vn 0.0873 0.7401 0.6669
+vn -0.0873 0.7401 0.6669
+vn 0.3855 0.1162 0.9154
+vn 0.1984 0.0051 0.9801
+vn -0.3855 0.1162 0.9154
+vn -0.1984 0.0051 0.9801
+vn 0.4316 -0.0331 0.9015
+vn 0.3281 0.0002 0.9446
+vn -0.4316 -0.0331 0.9015
+vn -0.3281 0.0002 0.9446
+vn 0.3447 -0.0767 0.9356
+vn 0.3178 0.0937 0.9435
+vn -0.3447 -0.0767 0.9356
+vn -0.3178 0.0937 0.9435
+vn 0.4365 -0.0136 0.8996
+vn 0.3573 0.2980 0.8851
+vn -0.4365 -0.0136 0.8996
+vn -0.3573 0.2980 0.8851
+vn -0.0798 -0.8453 -0.5283
+vn -0.0419 -0.6989 -0.7140
+vn 0.0798 -0.8453 -0.5283
+vn 0.0419 -0.6989 -0.7140
+vn 0.6150 -0.4906 -0.6174
+vn -0.6150 -0.4906 -0.6174
+vn 0.9234 0.0856 -0.3741
+vn -0.9234 0.0856 -0.3741
+vn 0.3048 0.6219 -0.7214
+vn -0.3048 0.6219 -0.7214
+vn -0.4176 0.5586 -0.7166
+vn 0.4176 0.5586 -0.7166
+vn -0.6562 0.5715 -0.4927
+vn 0.6562 0.5715 -0.4927
+usemtl None
+s 1
+f 47/1/1 1/2/2 3/3/3 45/4/4
+f 4/5/5 2/6/6 48/7/7 46/8/8
+f 45/4/4 3/3/3 5/9/9 43/10/10
+f 6/11/11 4/5/5 46/8/8 44/12/12
+f 3/3/3 9/13/13 7/14/14 5/9/9
+f 8/15/15 10/16/16 4/5/5 6/11/11
+f 1/2/2 11/17/17 9/13/13 3/3/3
+f 10/16/16 12/18/18 2/6/6 4/5/5
+f 11/17/17 13/19/19 15/20/20 9/13/13
+f 16/21/21 14/22/22 12/18/18 10/16/16
+f 9/13/13 15/20/20 17/23/23 7/14/14
+f 18/24/24 16/21/21 10/16/16 8/15/15
+f 15/20/20 21/25/25 19/26/26 17/23/23
+f 20/27/27 22/28/28 16/21/21 18/24/24
+f 13/19/19 23/29/29 21/25/25 15/20/20
+f 22/28/28 24/30/30 14/22/22 16/21/21
+f 23/29/29 25/31/31 27/32/32 21/25/25
+f 28/33/33 26/34/34 24/30/30 22/28/28
+f 21/25/25 27/32/32 29/35/35 19/26/26
+f 30/36/36 28/33/33 22/28/28 20/27/27
+f 27/32/32 33/37/37 31/38/38 29/35/35
+f 32/39/39 34/40/40 28/33/33 30/36/36
+f 25/31/31 35/41/41 33/37/37 27/32/32
+f 34/40/40 36/42/42 26/34/34 28/33/33
+f 35/41/41 37/43/43 39/44/44 33/37/37
+f 40/45/45 38/46/46 36/42/42 34/40/40
+f 33/37/37 39/44/44 41/47/47 31/38/38
+f 42/48/48 40/45/45 34/40/40 32/39/39
+f 39/44/44 45/4/4 43/10/10 41/47/47
+f 44/12/12 46/8/8 40/45/45 42/48/48
+f 37/43/43 47/1/1 45/4/4 39/44/44
+f 46/8/8 48/7/7 38/46/46 40/45/45
+f 47/1/1 37/43/43 51/49/49 49/50/50
+f 52/51/51 38/46/46 48/7/7 50/52/52
+f 37/43/43 35/41/41 53/53/53 51/49/49
+f 54/54/54 36/42/42 38/46/46 52/51/51
+f 35/41/41 25/31/31 55/55/55 53/53/53
+f 56/56/56 26/34/34 36/42/42 54/54/54
+f 25/31/31 23/29/29 57/57/57 55/55/55
+f 58/58/58 24/30/30 26/34/34 56/56/56
+f 23/29/29 13/19/19 59/59/59 57/57/57
+f 60/60/60 14/22/22 24/30/30 58/58/58
+f 13/19/19 11/17/17 63/61/61 59/59/59
+f 64/62/62 12/18/18 14/22/22 60/60/60
+f 11/17/17 1/2/2 65/63/63 63/61/61
+f 66/64/64 2/6/6 12/18/18 64/62/62
+f 1/2/2 47/1/1 49/50/50 65/63/63
+f 50/52/52 48/7/7 2/6/6 66/64/64
+f 61/65/65 65/63/63 49/50/50
+f 50/52/52 66/64/64 62/66/66
+f 63/61/61 65/63/63 61/65/65
+f 62/66/66 66/64/64 64/62/62
+f 61/65/65 59/59/59 63/61/61
+f 64/62/62 60/60/60 62/66/66
+f 61/65/65 57/57/57 59/59/59
+f 60/60/60 58/58/58 62/66/66
+f 61/65/65 55/55/55 57/57/57
+f 58/58/58 56/56/56 62/66/66
+f 61/65/65 53/53/53 55/55/55
+f 56/56/56 54/54/54 62/66/66
+f 61/65/65 51/49/49 53/53/53
+f 54/54/54 52/51/51 62/66/66
+f 61/65/65 49/50/50 51/49/49
+f 52/51/51 50/52/52 62/66/66
+f 89/67/67 174/68/68 176/69/69 91/70/70
+f 176/69/69 175/71/71 90/72/72 91/70/70
+f 87/73/73 172/74/74 174/68/68 89/67/67
+f 175/71/71 173/75/75 88/76/76 90/72/72
+f 85/77/77 170/78/78 172/74/74 87/73/73
+f 173/75/75 171/79/79 86/80/80 88/76/76
+f 83/81/81 168/82/82 170/78/78 85/77/77
+f 171/79/79 169/83/83 84/84/84 86/80/80
+f 81/85/85 166/86/86 168/82/82 83/81/81
+f 169/83/83 167/87/87 82/88/88 84/84/84
+f 79/89/89 92/90/90 146/91/91 164/92/92
+f 147/93/93 93/94/94 80/95/95 165/96/96
+f 92/90/90 94/97/97 148/98/98 146/91/91
+f 149/99/99 95/100/100 93/94/94 147/93/93
+f 94/97/97 96/101/101 150/102/102 148/98/98
+f 151/103/103 97/104/104 95/100/100 149/99/99
+f 96/101/101 98/105/105 152/106/106 150/102/102
+f 153/107/107 99/108/108 97/104/104 151/103/103
+f 98/105/105 100/109/109 154/110/110 152/106/106
+f 155/111/111 101/112/112 99/108/108 153/107/107
+f 100/109/109 102/113/113 156/114/114 154/110/110
+f 157/115/115 103/116/116 101/112/112 155/111/111
+f 102/113/113 104/117/117 158/118/118 156/114/114
+f 159/119/119 105/120/120 103/116/116 157/115/115
+f 104/117/117 106/121/121 160/122/122 158/118/118
+f 161/123/123 107/124/124 105/120/120 159/119/119
+f 106/121/121 108/125/125 162/126/126 160/122/122
+f 163/127/127 109/128/128 107/124/124 161/123/123
+f 108/125/125 67/129/129 68/130/130 162/126/126
+f 68/130/130 67/129/129 109/128/128 163/127/127
+f 110/131/131 128/132/132 160/122/122 162/126/126
+f 161/123/123 129/133/133 111/134/134 163/127/127
+f 128/132/132 179/135/135 158/118/118 160/122/122
+f 159/119/119 180/136/136 129/133/133 161/123/123
+f 126/137/137 156/114/114 158/118/118 179/135/135
+f 159/119/119 157/115/115 127/138/138 180/136/136
+f 124/139/139 154/110/110 156/114/114 126/137/137
+f 157/115/115 155/111/111 125/140/140 127/138/138
+f 122/141/141 152/106/106 154/110/110 124/139/139
+f 155/111/111 153/107/107 123/142/142 125/140/140
+f 120/143/143 150/102/102 152/106/106 122/141/141
+f 153/107/107 151/103/103 121/144/144 123/142/142
+f 118/145/145 148/98/98 150/102/102 120/143/143
+f 151/103/103 149/99/99 119/146/146 121/144/144
+f 116/147/147 146/91/91 148/98/98 118/145/145
+f 149/99/99 147/93/93 117/148/148 119/146/146
+f 114/149/149 164/92/92 146/91/91 116/147/147
+f 147/93/93 165/96/96 115/150/150 117/148/148
+f 114/149/149 181/151/151 177/152/152 164/92/92
+f 177/152/152 182/153/153 115/150/150 165/96/96
+f 110/131/131 162/126/126 68/130/130 112/154/154
+f 68/130/130 163/127/127 111/134/134 113/155/155
+f 112/154/154 68/130/130 178/156/156 183/157/157
+f 178/156/156 68/130/130 113/155/155 184/158/158
+f 177/152/152 181/151/151 183/157/157 178/156/156
+f 184/158/158 182/153/153 177/152/152 178/156/156
+f 135/159/159 137/160/160 176/69/69 174/68/68
+f 176/69/69 137/160/160 136/161/161 175/71/71
+f 133/162/162 135/159/159 174/68/68 172/74/74
+f 175/71/71 136/161/161 134/163/163 173/75/75
+f 131/164/164 133/162/162 172/74/74 170/78/78
+f 173/75/75 134/163/163 132/165/165 171/79/79
+f 166/86/86 187/166/166 185/167/167 168/82/82
+f 186/168/168 188/169/169 167/87/87 169/83/83
+f 131/164/164 170/78/78 168/82/82 185/167/167
+f 169/83/83 171/79/79 132/165/165 186/168/168
+f 144/170/170 190/171/171 189/172/172 187/166/166
+f 189/172/172 190/171/171 145/173/173 188/169/169
+f 185/167/167 187/166/166 189/172/172 69/174/174
+f 189/172/172 188/169/169 186/168/168 69/174/174
+f 130/175/175 131/164/164 185/167/167 69/174/174
+f 186/168/168 132/165/165 130/175/175 69/174/174
+f 142/176/176 193/177/177 191/178/178 144/170/170
+f 192/179/179 194/180/180 143/181/181 145/173/173
+f 140/182/182 195/183/183 193/177/177 142/176/176
+f 194/180/180 196/184/184 141/185/185 143/181/181
+f 139/186/186 197/187/187 195/183/183 140/182/182
+f 196/184/184 198/188/188 139/186/186 141/185/185
+f 138/189/189 71/190/190 197/187/187 139/186/186
+f 198/188/188 71/190/190 138/189/189 139/186/186
+f 190/171/171 144/170/170 191/178/178 70/191/191
+f 192/179/179 145/173/173 190/171/171 70/191/191
+f 70/191/191 191/178/178 206/192/192 208/193/193
+f 207/194/194 192/179/179 70/191/191 208/193/193
+f 71/190/190 199/195/195 200/196/196 197/187/187
+f 201/197/197 199/195/195 71/190/190 198/188/188
+f 197/187/187 200/196/196 202/198/198 195/183/183
+f 203/199/199 201/197/197 198/188/188 196/184/184
+f 195/183/183 202/198/198 204/200/200 193/177/177
+f 205/201/201 203/199/199 196/184/184 194/180/180
+f 193/177/177 204/200/200 206/192/192 191/178/178
+f 207/194/194 205/201/201 194/180/180 192/179/179
+f 199/195/195 204/200/200 202/198/198 200/196/196
+f 203/199/199 205/201/201 199/195/195 201/197/197
+f 199/195/195 208/193/193 206/192/192 204/200/200
+f 207/194/194 208/193/193 199/195/195 205/201/201
+f 139/186/186 140/182/182 164/92/92 177/152/152
+f 165/96/96 141/185/185 139/186/186 177/152/152
+f 140/182/182 142/176/176 211/202/202 164/92/92
+f 212/203/203 143/181/181 141/185/185 165/96/96
+f 142/176/176 144/170/170 213/204/204 211/202/202
+f 214/205/205 145/173/173 143/181/181 212/203/203
+f 144/170/170 187/166/166 166/86/86 213/204/204
+f 167/87/87 188/169/169 145/173/173 214/205/205
+f 81/85/85 209/206/206 213/204/204 166/86/86
+f 214/205/205 210/207/207 82/88/88 167/87/87
+f 209/206/206 215/208/208 211/202/202 213/204/204
+f 212/203/203 216/209/209 210/207/207 214/205/205
+f 79/89/89 164/92/92 211/202/202 215/208/208
+f 212/203/203 165/96/96 80/95/95 216/209/209
+f 131/164/164 130/175/175 72/210/210 222/211/211
+f 72/210/210 130/175/175 132/165/165 223/212/212
+f 133/162/162 131/164/164 222/211/211 220/213/213
+f 223/212/212 132/165/165 134/163/163 221/214/214
+f 135/159/159 133/162/162 220/213/213 218/215/215
+f 221/214/214 134/163/163 136/161/161 219/216/216
+f 137/160/160 135/159/159 218/215/215 217/217/217
+f 219/216/216 136/161/161 137/160/160 217/217/217
+f 217/217/217 218/215/215 229/218/218 231/219/219
+f 230/220/220 219/216/216 217/217/217 231/219/219
+f 218/215/215 220/213/213 227/221/221 229/218/218
+f 228/222/222 221/214/214 219/216/216 230/220/220
+f 220/213/213 222/211/211 225/223/223 227/221/221
+f 226/224/224 223/212/212 221/214/214 228/222/222
+f 222/211/211 72/210/210 224/225/225 225/223/223
+f 224/225/225 72/210/210 223/212/212 226/224/224
+f 224/225/225 231/219/219 229/218/218 225/223/223
+f 230/220/220 231/219/219 224/225/225 226/224/224
+f 225/223/223 229/218/218 227/221/221
+f 228/222/222 230/220/220 226/224/224
+f 183/157/157 181/151/151 234/226/226 232/227/227
+f 235/228/228 182/153/153 184/158/158 233/229/229
+f 112/154/154 183/157/157 232/227/227 254/230/230
+f 233/229/229 184/158/158 113/155/155 255/231/231
+f 110/131/131 112/154/154 254/230/230 256/232/232
+f 255/231/231 113/155/155 111/134/134 257/233/233
+f 181/151/151 114/149/149 252/234/234 234/226/226
+f 253/235/235 115/150/150 182/153/153 235/228/228
+f 114/149/149 116/147/147 250/236/236 252/234/234
+f 251/237/237 117/148/148 115/150/150 253/235/235
+f 116/147/147 118/145/145 248/238/238 250/236/236
+f 249/239/239 119/146/146 117/148/148 251/237/237
+f 118/145/145 120/143/143 246/240/240 248/238/238
+f 247/241/241 121/144/144 119/146/146 249/239/239
+f 120/143/143 122/141/141 244/242/242 246/240/240
+f 245/243/243 123/142/142 121/144/144 247/241/241
+f 122/141/141 124/139/139 242/244/244 244/242/242
+f 243/245/245 125/140/140 123/142/142 245/243/243
+f 124/139/139 126/137/137 240/246/246 242/244/244
+f 241/247/247 127/138/138 125/140/140 243/245/245
+f 126/137/137 179/135/135 236/248/248 240/246/246
+f 237/249/249 180/136/136 127/138/138 241/247/247
+f 179/135/135 128/132/132 238/250/250 236/248/248
+f 239/251/251 129/133/133 180/136/136 237/249/249
+f 128/132/132 110/131/131 256/232/232 238/250/250
+f 257/233/233 111/134/134 129/133/133 239/251/251
+f 238/250/250 256/232/232 258/252/252 276/253/253
+f 259/254/254 257/233/233 239/251/251 277/255/255
+f 236/248/248 238/250/250 276/253/253 278/256/256
+f 277/255/255 239/251/251 237/249/249 279/257/257
+f 240/246/246 236/248/248 278/256/256 274/258/258
+f 279/257/257 237/249/249 241/247/247 275/259/259
+f 242/244/244 240/246/246 274/258/258 272/260/260
+f 275/259/259 241/247/247 243/245/245 273/261/261
+f 244/242/242 242/244/244 272/260/260 270/262/262
+f 273/261/261 243/245/245 245/243/243 271/263/263
+f 246/240/240 244/242/242 270/262/262 268/264/264
+f 271/263/263 245/243/243 247/241/241 269/265/265
+f 248/238/238 246/240/240 268/264/264 266/266/266
+f 269/265/265 247/241/241 249/239/239 267/267/267
+f 250/236/236 248/238/238 266/266/266 264/268/268
+f 267/267/267 249/239/239 251/237/237 265/269/269
+f 252/234/234 250/236/236 264/268/268 262/270/270
+f 265/269/269 251/237/237 253/235/235 263/271/271
+f 234/226/226 252/234/234 262/270/270 280/272/272
+f 263/271/271 253/235/235 235/228/228 281/273/273
+f 256/232/232 254/230/230 260/274/274 258/252/252
+f 261/275/275 255/231/231 257/233/233 259/254/254
+f 254/230/230 232/227/227 282/276/276 260/274/274
+f 283/277/277 233/229/229 255/231/231 261/275/275
+f 232/227/227 234/226/226 280/272/272 282/276/276
+f 281/273/273 235/228/228 233/229/229 283/277/277
+f 67/129/129 108/125/125 284/278/278 73/279/279
+f 285/280/280 109/128/128 67/129/129 73/279/279
+f 108/125/125 106/121/121 286/281/281 284/278/278
+f 287/282/282 107/124/124 109/128/128 285/280/280
+f 106/121/121 104/117/117 288/283/283 286/281/281
+f 289/284/284 105/120/120 107/124/124 287/282/282
+f 104/117/117 102/113/113 290/285/285 288/283/283
+f 291/286/286 103/116/116 105/120/120 289/284/284
+f 102/113/113 100/109/109 292/287/287 290/285/285
+f 293/288/288 101/112/112 103/116/116 291/286/286
+f 100/109/109 98/105/105 294/289/289 292/287/287
+f 295/290/290 99/108/108 101/112/112 293/288/288
+f 98/105/105 96/101/101 296/291/291 294/289/289
+f 297/292/292 97/104/104 99/108/108 295/290/290
+f 96/101/101 94/97/97 298/293/293 296/291/291
+f 299/294/294 95/100/100 97/104/104 297/292/292
+f 94/97/97 92/90/90 300/295/295 298/293/293
+f 301/296/296 93/94/94 95/100/100 299/294/294
+f 308/297/297 309/298/298 328/299/299 338/300/300
+f 329/301/301 309/302/298 308/303/297 339/304/302
+f 307/305/303 308/297/297 338/300/300 336/306/304
+f 339/304/302 308/303/297 307/307/303 337/308/305
+f 306/309/306 307/305/303 336/306/304 340/310/307
+f 337/308/305 307/307/303 306/309/306 341/311/308
+f 89/67/67 91/70/70 306/309/306 340/310/307
+f 306/309/306 91/70/70 90/72/72 341/311/308
+f 87/73/73 89/67/67 340/310/307 334/312/309
+f 341/311/308 90/72/72 88/76/76 335/313/310
+f 85/77/77 87/73/73 334/312/309 330/314/311
+f 335/313/310 88/76/76 86/80/80 331/315/312
+f 83/81/81 85/77/77 330/314/311 332/316/313
+f 331/315/312 86/80/80 84/84/84 333/317/314
+f 330/314/311 336/306/304 338/300/300 332/316/313
+f 339/304/302 337/308/305 331/315/312 333/317/314
+f 330/314/311 334/312/309 340/310/307 336/306/304
+f 341/311/308 335/313/310 331/315/312 337/308/305
+f 326/318/315 332/316/313 338/300/300 328/299/299
+f 339/304/302 333/317/314 327/319/316 329/301/301
+f 81/85/85 83/81/81 332/316/313 326/318/315
+f 333/317/314 84/84/84 82/88/88 327/319/316
+f 209/206/206 342/320/317 344/321/318 215/208/208
+f 345/322/319 343/323/320 210/207/207 216/209/209
+f 81/85/85 326/318/315 342/320/317 209/206/206
+f 343/323/320 327/319/316 82/88/88 210/207/207
+f 79/89/89 215/208/208 344/321/318 346/324/321
+f 345/322/319 216/209/209 80/95/95 347/325/322
+f 79/89/89 346/324/321 300/295/295 92/90/90
+f 301/296/296 347/325/322 80/95/95 93/94/94
+f 77/326/323 324/327/324 352/328/325 304/329/326
+f 353/330/327 325/331/328 77/332/323 304/333/326
+f 304/329/326 352/328/325 350/334/329 78/335/330
+f 351/336/331 353/330/327 304/333/326 78/337/330
+f 78/335/330 350/334/329 348/338/332 305/339/333
+f 349/340/334 351/336/331 78/337/330 305/341/333
+f 305/339/333 348/338/332 328/299/299 309/298/298
+f 329/301/301 349/340/334 305/341/333 309/302/298
+f 326/318/315 328/299/299 348/338/332 342/320/317
+f 349/340/334 329/301/301 327/319/316 343/323/320
+f 296/291/291 298/293/293 318/342/335 310/343/336
+f 319/344/337 299/294/294 297/292/292 311/345/338
+f 76/346/339 316/347/340 324/327/324 77/326/323
+f 325/331/328 317/348/341 76/349/339 77/332/323
+f 302/350/342 358/351/343 356/352/344 303/353/345
+f 357/354/346 359/355/347 302/356/342 303/357/345
+f 303/353/345 356/352/344 354/358/348 75/359/349
+f 355/360/350 357/354/346 303/357/345 75/361/349
+f 75/359/349 354/358/348 316/347/340 76/346/339
+f 317/348/341 355/360/350 75/361/349 76/349/339
+f 292/362/287 294/289/289 362/363/351 364/364/352
+f 363/365/353 295/290/290 293/366/288 365/367/354
+f 364/364/352 362/363/351 368/368/355 366/369/356
+f 369/370/357 363/365/353 365/367/354 367/371/358
+f 366/369/356 368/368/355 370/372/359 372/373/360
+f 371/374/361 369/370/357 367/371/358 373/375/362
+f 372/373/360 370/372/359 376/376/363 374/377/364
+f 377/378/365 371/374/361 373/375/362 375/379/366
+f 314/380/367 378/381/368 374/377/364 376/376/363
+f 375/379/366 379/382/369 315/383/370 377/378/365
+f 316/347/340 354/358/348 374/377/364 378/381/368
+f 375/379/366 355/360/350 317/348/341 379/382/369
+f 354/358/348 356/352/344 372/373/360 374/377/364
+f 373/375/362 357/354/346 355/360/350 375/379/366
+f 356/352/344 358/351/343 366/369/356 372/373/360
+f 367/371/358 359/355/347 357/354/346 373/375/362
+f 358/351/343 360/384/371 364/364/352 366/369/356
+f 365/367/354 361/385/372 359/355/347 367/371/358
+f 290/386/285 292/362/287 364/364/352 360/384/371
+f 365/367/354 293/366/288 291/387/286 361/385/372
+f 74/388/373 360/384/371 358/351/343 302/350/342
+f 359/355/347 361/385/372 74/389/373 302/356/342
+f 284/390/278 286/391/281 288/392/283 290/386/285
+f 289/393/284 287/394/282 285/395/280 291/387/286
+f 284/390/278 290/386/285 360/384/371 74/388/373
+f 361/385/372 291/387/286 285/395/280 74/389/373
+f 73/396/279 284/390/278 74/388/373
+f 74/389/373 285/395/280 73/397/279
+f 294/289/289 296/291/291 310/343/336 362/363/351
+f 311/345/338 297/292/292 295/290/290 363/365/353
+f 310/343/336 312/398/374 368/368/355 362/363/351
+f 369/370/357 313/399/375 311/345/338 363/365/353
+f 312/398/374 382/400/376 370/372/359 368/368/355
+f 371/374/361 383/401/377 313/399/375 369/370/357
+f 314/380/367 376/376/363 370/372/359 382/400/376
+f 371/374/361 377/378/365 315/383/370 383/401/377
+f 348/338/332 350/334/329 386/402/378 384/403/379
+f 387/404/380 351/336/331 349/340/334 385/405/381
+f 318/342/335 384/403/379 386/402/378 320/406/382
+f 387/404/380 385/405/381 319/344/337 321/407/383
+f 298/293/293 300/295/295 384/403/379 318/342/335
+f 385/405/381 301/296/296 299/294/294 319/344/337
+f 300/295/295 344/321/318 342/320/317 384/403/379
+f 343/323/320 345/322/319 301/296/296 385/405/381
+f 342/320/317 348/338/332 384/403/379
+f 385/405/381 349/340/334 343/323/320
+f 300/295/295 346/324/321 344/321/318
+f 345/322/319 347/325/322 301/296/296
+f 314/380/367 322/408/384 380/409/385 378/381/368
+f 381/410/386 323/411/387 315/383/370 379/382/369
+f 316/347/340 378/381/368 380/409/385 324/327/324
+f 381/410/386 379/382/369 317/348/341 325/331/328
+f 320/406/382 386/402/378 380/409/385 322/408/384
+f 381/410/386 387/404/380 321/407/383 323/411/387
+f 350/334/329 352/328/325 380/409/385 386/402/378
+f 381/410/386 353/330/327 351/336/331 387/404/380
+f 324/327/324 380/409/385 352/328/325
+f 353/330/327 381/410/386 325/331/328
+f 400/412/388 388/413/389 414/414/390 402/415/391
+f 415/416/392 389/417/393 401/418/394 403/419/395
+f 400/412/388 402/415/391 404/420/396 398/421/397
+f 405/422/398 403/419/395 401/418/394 399/423/399
+f 398/421/397 404/420/396 406/424/400 396/425/401
+f 407/426/402 405/422/398 399/423/399 397/427/403
+f 396/425/401 406/424/400 408/428/404 394/429/405
+f 409/430/406 407/426/402 397/427/403 395/431/407
+f 394/429/405 408/428/404 410/432/408 392/433/409
+f 411/434/410 409/430/406 395/431/407 393/435/411
+f 392/433/409 410/432/408 412/436/412 390/437/413
+f 413/438/414 411/434/410 393/435/411 391/439/415
+f 410/432/408 420/440/416 418/441/417 412/436/412
+f 419/442/418 421/443/419 411/434/410 413/438/414
+f 408/428/404 422/444/420 420/440/416 410/432/408
+f 421/443/419 423/445/421 409/430/406 411/434/410
+f 406/424/400 424/446/422 422/444/420 408/428/404
+f 423/445/421 425/447/423 407/426/402 409/430/406
+f 404/420/396 426/448/424 424/446/422 406/424/400
+f 425/447/423 427/449/425 405/422/398 407/426/402
+f 402/415/391 428/450/426 426/448/424 404/420/396
+f 427/449/425 429/451/427 403/419/395 405/422/398
+f 402/415/391 414/414/390 416/452/428 428/450/426
+f 417/453/429 415/416/392 403/419/395 429/451/427
+f 318/342/335 320/406/382 444/454/430 442/455/431
+f 445/456/432 321/407/383 319/344/337 443/457/433
+f 320/458/382 390/437/413 412/436/412 444/459/430
+f 413/438/414 391/439/415 321/460/383 445/461/432
+f 310/343/336 318/342/335 442/455/431 312/398/374
+f 443/457/433 319/344/337 311/345/338 313/399/375
+f 382/462/376 430/463/434 414/414/390 388/413/389
+f 415/416/392 431/464/435 383/465/377 389/417/393
+f 412/436/412 418/441/417 440/466/436 444/459/430
+f 441/467/437 419/442/418 413/438/414 445/461/432
+f 438/468/438 446/469/439 444/459/430 440/466/436
+f 445/461/432 447/470/440 439/471/441 441/467/437
+f 434/472/442 446/469/439 438/468/438 436/473/443
+f 439/471/441 447/470/440 435/474/444 437/475/445
+f 432/476/446 448/477/447 446/469/439 434/472/442
+f 447/470/440 449/478/448 433/479/449 435/474/444
+f 430/463/434 448/477/447 432/476/446 450/480/450
+f 433/479/449 449/478/448 431/464/435 451/481/451
+f 414/414/390 430/463/434 450/480/450 416/452/428
+f 451/481/451 431/464/435 415/416/392 417/453/429
+f 312/398/374 448/482/447 430/483/434 382/400/376
+f 431/484/435 449/485/448 313/399/375 383/401/377
+f 312/398/374 442/455/431 446/486/439 448/482/447
+f 447/487/440 443/457/433 313/399/375 449/485/448
+f 442/455/431 444/454/430 446/486/439
+f 447/487/440 445/456/432 443/457/433
+f 416/452/428 450/480/450 452/488/452 476/489/453
+f 453/490/454 451/481/451 417/453/429 477/491/455
+f 450/480/450 432/476/446 462/492/456 452/488/452
+f 463/493/457 433/479/449 451/481/451 453/490/454
+f 432/476/446 434/472/442 460/494/458 462/492/456
+f 461/495/459 435/474/444 433/479/449 463/493/457
+f 434/472/442 436/473/443 458/496/460 460/494/458
+f 459/497/461 437/475/445 435/474/444 461/495/459
+f 436/473/443 438/468/438 456/498/462 458/496/460
+f 457/499/463 439/471/441 437/475/445 459/497/461
+f 438/468/438 440/466/436 454/500/464 456/498/462
+f 455/501/465 441/467/437 439/471/441 457/499/463
+f 440/466/436 418/441/417 474/502/466 454/500/464
+f 475/503/467 419/442/418 441/467/437 455/501/465
+f 428/450/426 416/452/428 476/489/453 464/504/468
+f 477/491/455 417/453/429 429/451/427 465/505/469
+f 426/448/424 428/450/426 464/504/468 466/506/470
+f 465/505/469 429/451/427 427/449/425 467/507/471
+f 424/446/422 426/448/424 466/506/470 468/508/472
+f 467/507/471 427/449/425 425/447/423 469/509/473
+f 422/444/420 424/446/422 468/508/472 470/510/474
+f 469/509/473 425/447/423 423/445/421 471/511/475
+f 420/440/416 422/444/420 470/510/474 472/512/476
+f 471/511/475 423/445/421 421/443/419 473/513/477
+f 418/441/417 420/440/416 472/512/476 474/502/466
+f 473/513/477 421/443/419 419/442/418 475/503/467
+f 458/496/460 456/498/462 480/514/478 478/515/479
+f 481/516/480 457/499/463 459/497/461 479/517/481
+f 478/515/479 480/514/478 482/518/482 484/519/483
+f 483/520/484 481/516/480 479/517/481 485/521/485
+f 484/519/483 482/518/482 488/522/486 486/523/487
+f 489/524/488 483/520/484 485/521/485 487/525/489
+f 486/523/487 488/522/486 490/526/490 492/527/491
+f 491/528/492 489/524/488 487/525/489 493/529/493
+f 464/504/468 476/489/453 486/523/487 492/527/491
+f 487/525/489 477/491/455 465/505/469 493/529/493
+f 452/488/452 484/519/483 486/523/487 476/489/453
+f 487/525/489 485/521/485 453/490/454 477/491/455
+f 452/488/452 462/492/456 478/515/479 484/519/483
+f 479/517/481 463/493/457 453/490/454 485/521/485
+f 458/496/460 478/515/479 462/492/456 460/494/458
+f 463/493/457 479/517/481 459/497/461 461/495/459
+f 454/500/464 474/502/466 480/514/478 456/498/462
+f 481/516/480 475/503/467 455/501/465 457/499/463
+f 472/512/476 482/518/482 480/514/478 474/502/466
+f 481/516/480 483/520/484 473/513/477 475/503/467
+f 470/510/474 488/522/486 482/518/482 472/512/476
+f 483/520/484 489/524/488 471/511/475 473/513/477
+f 468/508/472 490/526/490 488/522/486 470/510/474
+f 489/524/488 491/528/492 469/509/473 471/511/475
+f 466/506/470 492/527/491 490/526/490 468/508/472
+f 491/528/492 493/529/493 467/507/471 469/509/473
+f 464/504/468 492/527/491 466/506/470
+f 467/507/471 493/529/493 465/505/469
+f 392/433/409 390/437/413 504/530/494 502/531/495
+f 505/532/496 391/439/415 393/435/411 503/533/497
+f 394/429/405 392/433/409 502/531/495 500/534/498
+f 503/533/497 393/435/411 395/431/407 501/535/499
+f 396/425/401 394/429/405 500/534/498 498/536/500
+f 501/535/499 395/431/407 397/427/403 499/537/501
+f 398/538/397 396/425/401 498/536/500 496/539/502
+f 499/537/501 397/427/403 399/540/399 497/541/503
+f 400/542/388 398/538/397 496/539/502 494/543/504
+f 497/541/503 399/540/399 401/544/394 495/545/505
+f 388/546/389 400/542/388 494/543/504 506/547/506
+f 495/545/505 401/544/394 389/548/393 507/549/507
+f 494/543/504 502/531/495 504/530/494 506/547/506
+f 505/532/496 503/533/497 495/545/505 507/549/507
+f 494/543/504 496/539/502 500/534/498 502/531/495
+f 501/535/499 497/541/503 495/545/505 503/533/497
+f 496/539/502 498/536/500 500/534/498
+f 501/535/499 499/537/501 497/541/503
+f 314/380/367 382/400/376 388/550/389 506/551/506
+f 389/548/393 383/552/377 315/553/370 507/549/507
+f 314/554/367 506/547/506 504/530/494 322/555/384
+f 505/532/496 507/549/507 315/553/370 323/556/387
+f 320/458/382 322/555/384 504/530/494 390/437/413
+f 505/532/496 323/556/387 321/460/383 391/439/415
diff --git a/Assets/Models/warped_plane.obj b/Assets/Models/warped_plane.obj
new file mode 100644
index 0000000..80890a8
--- /dev/null
+++ b/Assets/Models/warped_plane.obj
@@ -0,0 +1,680 @@
+# Blender v3.1.2 OBJ File: 'warped_plane.blend'
+# www.blender.org
+mtllib warped_plane.mtl
+o Plane
+v -10.001247 0.393044 10.001604
+v 10.017116 0.770388 10.023364
+v -10.034986 0.482666 -10.072797
+v 10.000000 0.038044 -10.000000
+v -9.959428 0.856351 -8.364946
+v -10.030936 0.998197 -6.438035
+v -10.020771 0.994713 -4.575682
+v -10.006404 0.897155 -2.735924
+v -10.000211 0.831054 -0.909434
+v -10.000000 0.886895 0.909091
+v -9.999571 0.962538 2.727516
+v -9.989867 1.033517 4.559471
+v -9.926216 0.901362 6.385215
+v -10.000121 0.767087 8.205304
+v -8.187820 0.607545 10.007895
+v -6.366998 0.568773 10.008320
+v -4.545079 0.307929 10.000871
+v -2.727272 0.096703 10.000000
+v -0.909091 0.010655 10.000000
+v 0.909941 0.071440 10.003100
+v 2.731223 0.292231 10.013056
+v 4.551075 0.654104 10.022904
+v 6.372899 0.978763 10.030070
+v 8.198269 1.231263 10.034519
+v 10.027925 1.288079 8.225938
+v 10.035616 1.112184 6.395381
+v 10.023609 0.768241 4.572587
+v 10.015825 0.637362 2.746982
+v 10.009614 0.542979 0.920610
+v 10.008208 0.466691 -0.905210
+v 10.061106 0.601358 -2.725122
+v 10.110694 0.647106 -4.552239
+v 10.068602 0.431451 -6.371017
+v 10.004469 0.135428 -8.182361
+v 8.181818 0.209251 -10.000000
+v 6.363636 0.458702 -10.000001
+v 4.545384 0.615555 -10.000062
+v 2.727212 0.559568 -10.000054
+v 0.909045 0.508498 -10.000040
+v -0.909122 0.458218 -10.000027
+v -2.730253 0.483803 -10.013939
+v -4.575308 0.781454 -10.072123
+v -6.442127 1.004446 -10.095429
+v -8.391385 0.981535 -9.984544
+v -8.145267 1.058866 7.858055
+v -7.950827 0.981335 5.782094
+v -7.708778 1.072723 4.231118
+v -8.257668 1.057851 3.055043
+v -7.839109 1.076885 1.163396
+v -8.174007 1.290529 -0.912972
+v -8.205825 1.558524 -2.757120
+v -8.248443 1.547740 -4.506283
+v -8.177651 1.315516 -6.291956
+v -8.202137 1.212061 -8.246601
+v -6.444302 0.981697 8.302257
+v -6.559785 1.091602 6.481739
+v -6.476956 1.393639 4.687518
+v -6.463397 1.394999 2.808674
+v -5.788054 1.555862 1.026646
+v -6.007804 1.358332 -0.637865
+v -6.294371 1.654806 -2.665098
+v -6.758218 1.680492 -4.179516
+v -6.423933 1.448622 -5.787279
+v -6.078459 1.197392 -8.024650
+v -4.650405 0.751031 8.409057
+v -4.872602 0.903238 6.945336
+v -4.879559 1.065108 5.284533
+v -4.898306 1.284787 3.442343
+v -4.950133 1.556629 1.822974
+v -4.092782 1.668086 -0.110504
+v -4.171340 1.466659 -2.409281
+v -4.757438 1.505345 -4.692768
+v -4.485986 1.232786 -6.974539
+v -4.162137 0.991188 -8.629816
+v -2.756214 0.283159 8.247143
+v -3.255267 0.875653 7.295647
+v -2.950047 1.209463 5.990297
+v -2.802400 1.468734 4.170186
+v -2.703487 1.439720 1.908426
+v -1.608989 1.374718 -0.068365
+v -1.821341 1.465610 -2.160050
+v -2.319918 1.189416 -4.276188
+v -2.722850 1.175755 -6.442391
+v -2.705494 0.886797 -8.260083
+v -0.916110 0.134733 8.269689
+v -1.282700 0.639334 7.006442
+v -0.958979 1.044917 5.125468
+v -0.670796 1.397815 3.034751
+v -0.273743 1.555156 1.060437
+v 0.075207 1.639483 -0.893793
+v 0.490861 1.272782 -2.815364
+v -0.280881 1.458321 -4.332350
+v -0.852646 1.027568 -6.315584
+v -0.909009 0.830197 -8.181712
+v 0.879311 0.347913 8.210754
+v 0.920251 0.723696 6.298014
+v 1.101309 1.376416 3.855669
+v 1.005504 1.436952 1.814832
+v 1.145540 1.257485 0.160835
+v 1.345896 1.553395 -1.610589
+v 1.763476 1.334766 -3.106104
+v 1.702662 1.519424 -4.542899
+v 1.008680 1.198472 -6.270902
+v 0.909270 0.962296 -8.181432
+v 2.784295 0.546310 8.110281
+v 3.016464 1.227844 5.547486
+v 3.314899 1.749873 2.716025
+v 3.026091 1.433812 0.856937
+v 2.891731 1.111594 -0.743591
+v 2.853016 1.260899 -2.410426
+v 2.784739 1.274667 -3.919366
+v 3.135620 1.579642 -5.056143
+v 2.927610 1.546855 -6.274338
+v 2.733842 1.147997 -8.176227
+v 5.113654 0.955788 7.623774
+v 4.989110 1.128940 4.874713
+v 5.306241 1.342518 3.139747
+v 4.944723 1.345766 1.689700
+v 4.826906 1.146855 0.090646
+v 4.653031 1.474524 -1.657730
+v 4.176518 1.148004 -3.364437
+v 3.930496 1.353771 -4.599633
+v 4.408140 1.675050 -5.835200
+v 4.578228 1.512367 -8.169654
+v 7.203066 1.224783 8.180017
+v 6.792888 1.205013 6.093022
+v 6.689239 1.140026 4.051711
+v 6.552394 1.046288 2.371611
+v 6.449825 0.989121 0.773613
+v 6.436122 1.429140 -0.933084
+v 6.168241 1.759031 -2.714797
+v 5.422056 1.433576 -4.545545
+v 6.244213 1.610053 -6.293227
+v 6.418836 1.301126 -8.191019
+v 8.362508 1.513864 8.329351
+v 8.396934 1.402747 6.968896
+v 8.332067 1.336468 4.657400
+v 8.173930 0.891899 2.756632
+v 7.850024 0.871388 1.357007
+v 8.144777 0.892356 -0.126009
+v 8.152293 1.344261 -1.946822
+v 7.821249 1.528514 -4.159733
+v 8.332418 1.393978 -6.371129
+v 8.220364 0.652942 -8.189486
+vt 1.000000 0.909091
+vt 0.909091 1.000000
+vt 0.909091 0.909091
+vt 0.000000 0.909091
+vt 0.090909 1.000000
+vt 0.000000 1.000000
+vt 0.090909 0.909091
+vt 0.181818 1.000000
+vt 0.181818 0.909091
+vt 0.272727 1.000000
+vt 0.272727 0.909091
+vt 0.363636 1.000000
+vt 0.363636 0.909091
+vt 0.454545 1.000000
+vt 0.454545 0.909091
+vt 0.545455 1.000000
+vt 0.545455 0.909091
+vt 0.636364 1.000000
+vt 0.636364 0.909091
+vt 0.727273 1.000000
+vt 0.818182 0.909091
+vt 0.727273 0.909091
+vt 0.818182 1.000000
+vt 0.090909 0.000000
+vt 0.000000 0.090909
+vt 0.000000 0.000000
+vt 0.090909 0.090909
+vt 0.000000 0.181818
+vt 0.090909 0.181818
+vt 0.000000 0.272727
+vt 0.090909 0.363636
+vt 0.000000 0.363636
+vt 0.090909 0.454545
+vt 0.000000 0.454545
+vt 0.090909 0.545455
+vt 0.000000 0.545455
+vt 0.090909 0.636364
+vt 0.000000 0.636364
+vt 0.090909 0.727273
+vt 0.000000 0.727273
+vt 0.090909 0.818182
+vt 0.000000 0.818182
+vt 0.181818 0.090909
+vt 0.181818 0.181818
+vt 0.181818 0.272727
+vt 0.090909 0.272727
+vt 0.181818 0.363636
+vt 0.181818 0.545455
+vt 0.181818 0.636364
+vt 0.181818 0.727273
+vt 0.181818 0.818182
+vt 0.181818 0.000000
+vt 0.272727 0.090909
+vt 0.272727 0.181818
+vt 0.272727 0.272727
+vt 0.272727 0.363636
+vt 0.272727 0.454545
+vt 0.181818 0.454545
+vt 0.272727 0.545455
+vt 0.272727 0.636364
+vt 0.272727 0.727273
+vt 0.272727 0.818182
+vt 0.272727 0.000000
+vt 0.363636 0.090909
+vt 0.363636 0.181818
+vt 0.363636 0.272727
+vt 0.363636 0.363636
+vt 0.363636 0.454545
+vt 0.363636 0.636364
+vt 0.363636 0.727273
+vt 0.363636 0.818182
+vt 0.363636 0.000000
+vt 0.454545 0.090909
+vt 0.454545 0.181818
+vt 0.454545 0.272727
+vt 0.454545 0.363636
+vt 0.454545 0.454545
+vt 0.363636 0.545455
+vt 0.454545 0.545455
+vt 0.454545 0.727273
+vt 0.454545 0.818182
+vt 0.545455 0.000000
+vt 0.454545 0.000000
+vt 0.545455 0.090909
+vt 0.545455 0.181818
+vt 0.545455 0.272727
+vt 0.545455 0.363636
+vt 0.545455 0.454545
+vt 0.545455 0.545455
+vt 0.454545 0.636364
+vt 0.545455 0.727273
+vt 0.545455 0.818182
+vt 0.636364 0.000000
+vt 0.636364 0.090909
+vt 0.636364 0.181818
+vt 0.636364 0.272727
+vt 0.636364 0.363636
+vt 0.636364 0.454545
+vt 0.636364 0.545455
+vt 0.545455 0.636364
+vt 0.636364 0.636364
+vt 0.636364 0.818182
+vt 0.727273 0.000000
+vt 0.727273 0.090909
+vt 0.727273 0.181818
+vt 0.727273 0.363636
+vt 0.727273 0.454545
+vt 0.727273 0.545455
+vt 0.727273 0.636364
+vt 0.727273 0.727273
+vt 0.636364 0.727273
+vt 0.727273 0.818182
+vt 0.818182 0.000000
+vt 0.818182 0.181818
+vt 0.818182 0.272727
+vt 0.727273 0.272727
+vt 0.818182 0.363636
+vt 0.818182 0.454545
+vt 0.818182 0.545455
+vt 0.818182 0.636364
+vt 0.818182 0.727273
+vt 0.818182 0.818182
+vt 0.909091 0.000000
+vt 0.818182 0.090909
+vt 0.909091 0.181818
+vt 0.909091 0.272727
+vt 0.909091 0.363636
+vt 0.909091 0.454545
+vt 0.909091 0.545455
+vt 0.909091 0.636364
+vt 0.909091 0.727273
+vt 0.909091 0.818182
+vt 1.000000 0.090909
+vt 0.909091 0.090909
+vt 1.000000 0.181818
+vt 1.000000 0.363636
+vt 1.000000 0.454545
+vt 1.000000 0.545455
+vt 1.000000 0.636364
+vt 1.000000 0.727273
+vt 1.000000 0.818182
+vt 1.000000 1.000000
+vt 1.000000 0.000000
+vt 1.000000 0.272727
+vn 0.2304 0.9606 -0.1556
+vn 0.1590 0.9683 -0.1925
+vn 0.2970 0.9055 -0.3032
+vn -0.2141 0.9697 -0.1174
+vn -0.1347 0.9807 -0.1419
+vn -0.2754 0.9416 -0.1938
+vn -0.0868 0.9925 -0.0856
+vn 0.0545 0.9922 -0.1120
+vn 0.0388 0.9934 -0.1083
+vn 0.1188 0.9804 -0.1571
+vn 0.0981 0.9820 -0.1615
+vn 0.0805 0.9732 -0.2153
+vn 0.0690 0.9811 -0.1807
+vn 0.0003 0.9785 -0.2064
+vn -0.0041 0.9864 -0.1644
+vn -0.0379 0.9721 -0.2314
+vn -0.0782 0.9793 -0.1867
+vn -0.0453 0.9559 -0.2901
+vn -0.1322 0.9577 -0.2556
+vn -0.0071 0.9156 -0.4021
+vn 0.1790 0.9312 -0.3175
+vn -0.0335 0.9593 -0.2803
+vn 0.1524 0.9139 -0.3762
+vn -0.0559 0.9758 0.2114
+vn -0.1275 0.9813 0.1446
+vn -0.1157 0.9724 0.2024
+vn -0.0577 0.9939 0.0943
+vn -0.0650 0.9972 0.0361
+vn -0.0851 0.9958 0.0342
+vn -0.0242 0.9994 0.0245
+vn -0.0967 0.9953 0.0009
+vn -0.0598 0.9978 -0.0299
+vn -0.1320 0.9910 0.0220
+vn -0.1296 0.9915 0.0069
+vn -0.1302 0.9850 0.1134
+vn -0.2698 0.9625 0.0295
+vn -0.1917 0.9795 0.0623
+vn -0.3330 0.9424 0.0320
+vn -0.1890 0.9797 -0.0672
+vn -0.2640 0.9645 -0.0071
+vn -0.1114 0.9903 -0.0825
+vn -0.1738 0.9843 -0.0320
+vn 0.0622 0.9869 0.1486
+vn 0.0154 0.9967 0.0792
+vn -0.0493 0.9957 0.0788
+vn -0.1431 0.9893 0.0272
+vn -0.1112 0.9932 0.0355
+vn -0.0889 0.9958 0.0231
+vn 0.0175 0.9971 0.0737
+vn -0.0064 0.9983 -0.0587
+vn 0.0025 0.9923 -0.1241
+vn 0.0742 0.9682 0.2388
+vn 0.1482 0.9672 0.2063
+vn 0.0279 0.9940 0.1056
+vn 0.0049 0.9926 0.1211
+vn 0.0052 0.9955 0.0948
+vn -0.0008 0.9947 0.1031
+vn -0.1408 0.9899 -0.0166
+vn -0.0084 0.9998 -0.0174
+vn 0.0348 0.9988 -0.0348
+vn 0.0866 0.9944 -0.0600
+vn 0.0648 0.9904 -0.1222
+vn 0.1654 0.9623 0.2161
+vn 0.1549 0.9467 0.2823
+vn 0.1101 0.9437 0.3120
+vn 0.0392 0.9806 0.1918
+vn -0.0009 0.9961 0.0880
+vn 0.0141 0.9994 0.0317
+vn 0.0009 0.9984 -0.0564
+vn 0.0101 0.9967 -0.0802
+vn 0.0821 0.9922 -0.0934
+vn 0.0888 0.9914 0.0957
+vn -0.0155 0.9713 0.2372
+vn 0.0773 0.9520 0.2963
+vn 0.0735 0.9761 0.2044
+vn 0.0119 0.9960 0.0887
+vn 0.0284 0.9995 0.0159
+vn -0.0208 0.9997 0.0107
+vn 0.0316 0.9995 0.0017
+vn -0.0518 0.9967 -0.0629
+vn -0.0241 0.9924 -0.1206
+vn -0.0969 0.9863 0.1337
+vn 0.0067 0.9974 0.0715
+vn -0.0815 0.9786 0.1887
+vn -0.0538 0.9726 0.2261
+vn -0.0724 0.9867 0.1452
+vn -0.0117 0.9995 -0.0287
+vn 0.1158 0.9932 0.0099
+vn 0.0907 0.9958 -0.0099
+vn 0.0006 0.9993 -0.0362
+vn -0.0151 0.9992 0.0362
+vn -0.1118 0.9832 -0.1441
+vn -0.1498 0.9797 0.1330
+vn -0.1290 0.9771 0.1694
+vn -0.0452 0.9802 0.1929
+vn 0.0376 0.9993 0.0059
+vn 0.0224 0.9854 -0.1687
+vn 0.0330 0.9994 0.0144
+vn 0.0524 0.9985 -0.0135
+vn 0.0433 0.9991 0.0045
+vn 0.0842 0.9864 0.1411
+vn -0.1257 0.9868 -0.1021
+vn -0.1738 0.9802 0.0951
+vn -0.1109 0.9895 0.0926
+vn 0.0516 0.9941 0.0952
+vn 0.1660 0.9811 -0.0990
+vn 0.0283 0.9992 0.0300
+vn -0.1173 0.9910 0.0648
+vn -0.0874 0.9961 -0.0074
+vn 0.0219 0.9734 0.2280
+vn 0.0201 0.9891 0.1460
+vn -0.0074 0.9981 0.0615
+vn -0.1525 0.9856 0.0732
+vn -0.0984 0.9951 0.0059
+vn 0.0236 0.9986 -0.0479
+vn 0.1670 0.9854 0.0321
+vn 0.1521 0.9869 -0.0530
+vn 0.1179 0.9913 0.0584
+vn 0.0706 0.9748 0.2114
+vn -0.0323 0.9994 0.0115
+vn -0.0714 0.9960 0.0544
+vn 0.0565 0.9976 -0.0400
+vn -0.0031 0.9872 0.1595
+vn -0.1694 0.9848 0.0388
+vn 0.0015 0.9990 -0.0449
+vn 0.0781 0.9900 -0.1173
+vn 0.1019 0.9874 -0.1214
+vn 0.1161 0.9932 -0.0108
+vn 0.1931 0.9724 0.1313
+vn 0.2695 0.9546 0.1266
+vn 0.1985 0.9801 0.0008
+vn 0.3103 0.9344 -0.1750
+vn 0.1661 0.9840 0.0652
+vn -0.0499 0.9977 0.0448
+vn 0.1924 0.9768 -0.0945
+vn 0.1782 0.9784 -0.1052
+vn 0.1663 0.9857 -0.0255
+vn 0.3010 0.9505 0.0774
+vn 0.3757 0.9255 0.0476
+vn 0.3968 0.9179 -0.0080
+vn 0.4266 0.8833 -0.1944
+vn 0.0936 0.9942 -0.0535
+vn 0.2381 0.9329 0.2701
+vn 0.3106 0.9428 -0.1211
+usemtl None
+s 1
+f 34/1/1 35/2/2 144/3/3
+f 5/4/4 44/5/5 3/6/6
+f 54/7/7 43/8/8 44/5/5
+f 64/9/9 42/10/10 43/8/8
+f 74/11/11 41/12/12 42/10/10
+f 84/13/13 40/14/14 41/12/12
+f 94/15/15 39/16/16 40/14/14
+f 104/17/17 38/18/18 39/16/16
+f 114/19/19 37/20/20 38/18/18
+f 134/21/21 37/20/20 124/22/22
+f 144/3/3 36/23/23 134/21/21
+f 15/24/24 14/25/25 1/26/26
+f 45/27/27 13/28/28 14/25/25
+f 46/29/29 12/30/30 13/28/28
+f 12/30/30 48/31/31 11/32/32
+f 11/32/32 49/33/33 10/34/34
+f 10/34/34 50/35/35 9/36/36
+f 9/36/36 51/37/37 8/38/38
+f 8/38/38 52/39/39 7/40/40
+f 7/40/40 53/41/41 6/42/42
+f 6/42/42 54/7/7 5/4/4
+f 15/24/24 55/43/43 45/27/27
+f 45/27/27 56/44/44 46/29/29
+f 46/29/29 57/45/45 47/46/46
+f 47/46/46 58/47/47 48/31/31
+f 58/47/47 49/33/33 48/31/31
+f 49/33/33 60/48/48 50/35/35
+f 50/35/35 61/49/49 51/37/37
+f 51/37/37 62/50/50 52/39/39
+f 52/39/39 63/51/51 53/41/41
+f 53/41/41 64/9/9 54/7/7
+f 16/52/52 65/53/53 55/43/43
+f 55/43/43 66/54/54 56/44/44
+f 56/44/44 67/55/55 57/45/45
+f 57/45/45 68/56/56 58/47/47
+f 58/47/47 69/57/57 59/58/58
+f 59/58/58 70/59/59 60/48/48
+f 60/48/48 71/60/60 61/49/49
+f 61/49/49 72/61/61 62/50/50
+f 72/61/61 63/51/51 62/50/50
+f 73/62/62 64/9/9 63/51/51
+f 17/63/63 75/64/64 65/53/53
+f 65/53/53 76/65/65 66/54/54
+f 66/54/54 77/66/66 67/55/55
+f 67/55/55 78/67/67 68/56/56
+f 68/56/56 79/68/68 69/57/57
+f 79/68/68 70/59/59 69/57/57
+f 70/59/59 81/69/69 71/60/60
+f 71/60/60 82/70/70 72/61/61
+f 72/61/61 83/71/71 73/62/62
+f 73/62/62 84/13/13 74/11/11
+f 18/72/72 85/73/73 75/64/64
+f 75/64/64 86/74/74 76/65/65
+f 86/74/74 77/66/66 76/65/65
+f 87/75/75 78/67/67 77/66/66
+f 88/76/76 79/68/68 78/67/67
+f 89/77/77 80/78/78 79/68/68
+f 90/79/79 81/69/69 80/78/78
+f 81/69/69 92/80/80 82/70/70
+f 82/70/70 93/81/81 83/71/71
+f 83/71/71 94/15/15 84/13/13
+f 20/82/82 85/73/73 19/83/83
+f 95/84/84 86/74/74 85/73/73
+f 96/85/85 87/75/75 86/74/74
+f 97/86/86 88/76/76 87/75/75
+f 98/87/87 89/77/77 88/76/76
+f 99/88/88 90/79/79 89/77/77
+f 100/89/89 91/90/90 90/79/79
+f 91/90/90 102/91/91 92/80/80
+f 92/80/80 103/92/92 93/81/81
+f 93/81/81 104/17/17 94/15/15
+f 21/93/93 95/84/84 20/82/82
+f 105/94/94 96/85/85 95/84/84
+f 106/95/95 97/86/86 96/85/85
+f 107/96/96 98/87/87 97/86/86
+f 108/97/97 99/88/88 98/87/87
+f 109/98/98 100/89/89 99/88/88
+f 110/99/99 101/100/100 100/89/89
+f 111/101/101 102/91/91 101/100/100
+f 102/91/91 113/102/102 103/92/92
+f 103/92/92 114/19/19 104/17/17
+f 22/103/103 105/94/94 21/93/93
+f 115/104/104 106/95/95 105/94/94
+f 116/105/105 107/96/96 106/95/95
+f 107/96/96 118/106/106 108/97/97
+f 108/97/97 119/107/107 109/98/98
+f 109/98/98 120/108/108 110/99/99
+f 110/99/99 121/109/109 111/101/101
+f 111/101/101 122/110/110 112/111/111
+f 112/111/111 123/112/112 113/102/102
+f 113/102/102 124/22/22 114/19/19
+f 23/113/113 115/104/104 22/103/103
+f 115/104/104 126/114/114 116/105/105
+f 116/105/105 127/115/115 117/116/116
+f 117/116/116 128/117/117 118/106/106
+f 118/106/106 129/118/118 119/107/107
+f 119/107/107 130/119/119 120/108/108
+f 120/108/108 131/120/120 121/109/109
+f 121/109/109 132/121/121 122/110/110
+f 132/121/121 123/112/112 122/110/110
+f 133/122/122 124/22/22 123/112/112
+f 24/123/123 125/124/124 23/113/113
+f 125/124/124 136/125/125 126/114/114
+f 126/114/114 137/126/126 127/115/115
+f 127/115/115 138/127/127 128/117/117
+f 128/117/117 139/128/128 129/118/118
+f 129/118/118 140/129/129 130/119/119
+f 130/119/119 141/130/130 131/120/120
+f 131/120/120 142/131/131 132/121/121
+f 142/131/131 133/122/122 132/121/121
+f 143/132/132 134/21/21 133/122/122
+f 24/123/123 25/133/133 135/134/134
+f 25/133/133 136/125/125 135/134/134
+f 26/135/135 137/126/126 136/125/125
+f 137/126/126 28/136/136 138/127/127
+f 138/127/127 29/137/137 139/128/128
+f 29/137/137 140/129/129 139/128/128
+f 30/138/138 141/130/130 140/129/129
+f 31/139/139 142/131/131 141/130/130
+f 32/140/140 143/132/132 142/131/131
+f 33/141/141 144/3/3 143/132/132
+f 34/1/1 4/142/142 35/2/2
+f 5/4/4 54/7/7 44/5/5
+f 54/7/7 64/9/9 43/8/8
+f 64/9/9 74/11/11 42/10/10
+f 74/11/11 84/13/13 41/12/12
+f 84/13/13 94/15/15 40/14/14
+f 94/15/15 104/17/17 39/16/16
+f 104/17/17 114/19/19 38/18/18
+f 114/19/19 124/22/22 37/20/20
+f 134/21/21 36/23/23 37/20/20
+f 144/3/3 35/2/2 36/23/23
+f 15/24/24 45/27/27 14/25/25
+f 45/27/27 46/29/29 13/28/28
+f 46/29/29 47/46/46 12/30/30
+f 12/30/30 47/46/46 48/31/31
+f 11/32/32 48/31/31 49/33/33
+f 10/34/34 49/33/33 50/35/35
+f 9/36/36 50/35/35 51/37/37
+f 8/38/38 51/37/37 52/39/39
+f 7/40/40 52/39/39 53/41/41
+f 6/42/42 53/41/41 54/7/7
+f 15/24/24 16/52/52 55/43/43
+f 45/27/27 55/43/43 56/44/44
+f 46/29/29 56/44/44 57/45/45
+f 47/46/46 57/45/45 58/47/47
+f 58/47/47 59/58/58 49/33/33
+f 49/33/33 59/58/58 60/48/48
+f 50/35/35 60/48/48 61/49/49
+f 51/37/37 61/49/49 62/50/50
+f 52/39/39 62/50/50 63/51/51
+f 53/41/41 63/51/51 64/9/9
+f 16/52/52 17/63/63 65/53/53
+f 55/43/43 65/53/53 66/54/54
+f 56/44/44 66/54/54 67/55/55
+f 57/45/45 67/55/55 68/56/56
+f 58/47/47 68/56/56 69/57/57
+f 59/58/58 69/57/57 70/59/59
+f 60/48/48 70/59/59 71/60/60
+f 61/49/49 71/60/60 72/61/61
+f 72/61/61 73/62/62 63/51/51
+f 73/62/62 74/11/11 64/9/9
+f 17/63/63 18/72/72 75/64/64
+f 65/53/53 75/64/64 76/65/65
+f 66/54/54 76/65/65 77/66/66
+f 67/55/55 77/66/66 78/67/67
+f 68/56/56 78/67/67 79/68/68
+f 79/68/68 80/78/78 70/59/59
+f 70/59/59 80/78/78 81/69/69
+f 71/60/60 81/69/69 82/70/70
+f 72/61/61 82/70/70 83/71/71
+f 73/62/62 83/71/71 84/13/13
+f 18/72/72 19/83/83 85/73/73
+f 75/64/64 85/73/73 86/74/74
+f 86/74/74 87/75/75 77/66/66
+f 87/75/75 88/76/76 78/67/67
+f 88/76/76 89/77/77 79/68/68
+f 89/77/77 90/79/79 80/78/78
+f 90/79/79 91/90/90 81/69/69
+f 81/69/69 91/90/90 92/80/80
+f 82/70/70 92/80/80 93/81/81
+f 83/71/71 93/81/81 94/15/15
+f 20/82/82 95/84/84 85/73/73
+f 95/84/84 96/85/85 86/74/74
+f 96/85/85 97/86/86 87/75/75
+f 97/86/86 98/87/87 88/76/76
+f 98/87/87 99/88/88 89/77/77
+f 99/88/88 100/89/89 90/79/79
+f 100/89/89 101/100/100 91/90/90
+f 91/90/90 101/100/100 102/91/91
+f 92/80/80 102/91/91 103/92/92
+f 93/81/81 103/92/92 104/17/17
+f 21/93/93 105/94/94 95/84/84
+f 105/94/94 106/95/95 96/85/85
+f 106/95/95 107/96/96 97/86/86
+f 107/96/96 108/97/97 98/87/87
+f 108/97/97 109/98/98 99/88/88
+f 109/98/98 110/99/99 100/89/89
+f 110/99/99 111/101/101 101/100/100
+f 111/101/101 112/111/111 102/91/91
+f 102/91/91 112/111/111 113/102/102
+f 103/92/92 113/102/102 114/19/19
+f 22/103/103 115/104/104 105/94/94
+f 115/104/104 116/105/105 106/95/95
+f 116/105/105 117/116/116 107/96/96
+f 107/96/96 117/116/116 118/106/106
+f 108/97/97 118/106/106 119/107/107
+f 109/98/98 119/107/107 120/108/108
+f 110/99/99 120/108/108 121/109/109
+f 111/101/101 121/109/109 122/110/110
+f 112/111/111 122/110/110 123/112/112
+f 113/102/102 123/112/112 124/22/22
+f 23/113/113 125/124/124 115/104/104
+f 115/104/104 125/124/124 126/114/114
+f 116/105/105 126/114/114 127/115/115
+f 117/116/116 127/115/115 128/117/117
+f 118/106/106 128/117/117 129/118/118
+f 119/107/107 129/118/118 130/119/119
+f 120/108/108 130/119/119 131/120/120
+f 121/109/109 131/120/120 132/121/121
+f 132/121/121 133/122/122 123/112/112
+f 133/122/122 134/21/21 124/22/22
+f 24/123/123 135/134/134 125/124/124
+f 125/124/124 135/134/134 136/125/125
+f 126/114/114 136/125/125 137/126/126
+f 127/115/115 137/126/126 138/127/127
+f 128/117/117 138/127/127 139/128/128
+f 129/118/118 139/128/128 140/129/129
+f 130/119/119 140/129/129 141/130/130
+f 131/120/120 141/130/130 142/131/131
+f 142/131/131 143/132/132 133/122/122
+f 143/132/132 144/3/3 134/21/21
+f 24/123/123 2/143/143 25/133/133
+f 25/133/133 26/135/135 136/125/125
+f 26/135/135 27/144/144 137/126/126
+f 137/126/126 27/144/144 28/136/136
+f 138/127/127 28/136/136 29/137/137
+f 29/137/137 30/138/138 140/129/129
+f 30/138/138 31/139/139 141/130/130
+f 31/139/139 32/140/140 142/131/131
+f 32/140/140 33/141/141 143/132/132
+f 33/141/141 34/1/1 144/3/3
diff --git a/Assets/Textures/Ramps/toonRamp1.png b/Assets/Textures/Ramps/toonRamp1.png
new file mode 100644
index 0000000..421440a
Binary files /dev/null and b/Assets/Textures/Ramps/toonRamp1.png differ
diff --git a/Assets/Textures/Ramps/toonRamp2.png b/Assets/Textures/Ramps/toonRamp2.png
new file mode 100644
index 0000000..3dc94e5
Binary files /dev/null and b/Assets/Textures/Ramps/toonRamp2.png differ
diff --git a/Assets/Textures/Ramps/toonRamp3.png b/Assets/Textures/Ramps/toonRamp3.png
new file mode 100644
index 0000000..c0b29b4
Binary files /dev/null and b/Assets/Textures/Ramps/toonRamp3.png differ
diff --git a/Assets/Textures/Ramps/toonRampSpecular.png b/Assets/Textures/Ramps/toonRampSpecular.png
new file mode 100644
index 0000000..cd59ccc
Binary files /dev/null and b/Assets/Textures/Ramps/toonRampSpecular.png differ
diff --git a/Assets/Textures/Skies/xenskybox/ATTRIBUTION.txt b/Assets/Textures/Skies/xenskybox/ATTRIBUTION.txt
new file mode 100644
index 0000000..796c09f
--- /dev/null
+++ b/Assets/Textures/Skies/xenskybox/ATTRIBUTION.txt
@@ -0,0 +1,7 @@
+source:
+https://www.deviantart.com/snowfall-the-cat/art/XenSkyBox-865914673
+attrib:
+" use the sky box as you wish!
+made in blender
+credit me if you can!"
+- Snowfall-The-Cat : XenSkyBox
\ No newline at end of file
diff --git a/Assets/Textures/Skies/xenskybox/back.png b/Assets/Textures/Skies/xenskybox/back.png
new file mode 100644
index 0000000..b8e7e09
Binary files /dev/null and b/Assets/Textures/Skies/xenskybox/back.png differ
diff --git a/Assets/Textures/Skies/xenskybox/bottom.png b/Assets/Textures/Skies/xenskybox/bottom.png
new file mode 100644
index 0000000..8f257ef
Binary files /dev/null and b/Assets/Textures/Skies/xenskybox/bottom.png differ
diff --git a/Assets/Textures/Skies/xenskybox/front.png b/Assets/Textures/Skies/xenskybox/front.png
new file mode 100644
index 0000000..9bee3ee
Binary files /dev/null and b/Assets/Textures/Skies/xenskybox/front.png differ
diff --git a/Assets/Textures/Skies/xenskybox/left.png b/Assets/Textures/Skies/xenskybox/left.png
new file mode 100644
index 0000000..338bd00
Binary files /dev/null and b/Assets/Textures/Skies/xenskybox/left.png differ
diff --git a/Assets/Textures/Skies/xenskybox/right.png b/Assets/Textures/Skies/xenskybox/right.png
new file mode 100644
index 0000000..4119331
Binary files /dev/null and b/Assets/Textures/Skies/xenskybox/right.png differ
diff --git a/Assets/Textures/Skies/xenskybox/top.png b/Assets/Textures/Skies/xenskybox/top.png
new file mode 100644
index 0000000..a0ccc05
Binary files /dev/null and b/Assets/Textures/Skies/xenskybox/top.png differ
diff --git a/Assets/Textures/Transparent/fence_albedo.png b/Assets/Textures/Transparent/fence_albedo.png
new file mode 100644
index 0000000..c5eef4d
Binary files /dev/null and b/Assets/Textures/Transparent/fence_albedo.png differ
diff --git a/Assets/Textures/Transparent/fence_metal.png b/Assets/Textures/Transparent/fence_metal.png
new file mode 100644
index 0000000..a3258f2
Binary files /dev/null and b/Assets/Textures/Transparent/fence_metal.png differ
diff --git a/Assets/Textures/Transparent/fence_normals.png b/Assets/Textures/Transparent/fence_normals.png
new file mode 100644
index 0000000..972daa8
Binary files /dev/null and b/Assets/Textures/Transparent/fence_normals.png differ
diff --git a/Assets/Textures/Transparent/fence_roughness.png b/Assets/Textures/Transparent/fence_roughness.png
new file mode 100644
index 0000000..4155f16
Binary files /dev/null and b/Assets/Textures/Transparent/fence_roughness.png differ
diff --git a/Assets/Textures/Transparent/glass_pattern_albedo.png b/Assets/Textures/Transparent/glass_pattern_albedo.png
new file mode 100644
index 0000000..31ca58b
Binary files /dev/null and b/Assets/Textures/Transparent/glass_pattern_albedo.png differ
diff --git a/Assets/Textures/Transparent/glass_pattern_metal.png b/Assets/Textures/Transparent/glass_pattern_metal.png
new file mode 100644
index 0000000..8147e31
Binary files /dev/null and b/Assets/Textures/Transparent/glass_pattern_metal.png differ
diff --git a/Assets/Textures/Transparent/glass_pattern_normals.png b/Assets/Textures/Transparent/glass_pattern_normals.png
new file mode 100644
index 0000000..304443b
Binary files /dev/null and b/Assets/Textures/Transparent/glass_pattern_normals.png differ
diff --git a/Assets/Textures/Transparent/glass_pattern_roughness.png b/Assets/Textures/Transparent/glass_pattern_roughness.png
new file mode 100644
index 0000000..ab5f4f8
Binary files /dev/null and b/Assets/Textures/Transparent/glass_pattern_roughness.png differ
diff --git a/Assets/Textures/Transparent/glass_window_albedo.png b/Assets/Textures/Transparent/glass_window_albedo.png
new file mode 100644
index 0000000..0288dc7
Binary files /dev/null and b/Assets/Textures/Transparent/glass_window_albedo.png differ
diff --git a/Assets/Textures/Transparent/glass_window_metal.png b/Assets/Textures/Transparent/glass_window_metal.png
new file mode 100644
index 0000000..d386527
Binary files /dev/null and b/Assets/Textures/Transparent/glass_window_metal.png differ
diff --git a/Assets/Textures/Transparent/glass_window_normals.png b/Assets/Textures/Transparent/glass_window_normals.png
new file mode 100644
index 0000000..aaf1451
Binary files /dev/null and b/Assets/Textures/Transparent/glass_window_normals.png differ
diff --git a/Assets/Textures/Transparent/glass_window_roughness.png b/Assets/Textures/Transparent/glass_window_roughness.png
new file mode 100644
index 0000000..53dbdb7
Binary files /dev/null and b/Assets/Textures/Transparent/glass_window_roughness.png differ
diff --git a/Assets/Textures/Transparent/lattice_albedo.png b/Assets/Textures/Transparent/lattice_albedo.png
new file mode 100644
index 0000000..7713af1
Binary files /dev/null and b/Assets/Textures/Transparent/lattice_albedo.png differ
diff --git a/Assets/Textures/Transparent/lattice_metal.png b/Assets/Textures/Transparent/lattice_metal.png
new file mode 100644
index 0000000..9890625
Binary files /dev/null and b/Assets/Textures/Transparent/lattice_metal.png differ
diff --git a/Assets/Textures/Transparent/lattice_normals.png b/Assets/Textures/Transparent/lattice_normals.png
new file mode 100644
index 0000000..32360c6
Binary files /dev/null and b/Assets/Textures/Transparent/lattice_normals.png differ
diff --git a/Assets/Textures/Transparent/lattice_roughness.png b/Assets/Textures/Transparent/lattice_roughness.png
new file mode 100644
index 0000000..7ee216a
Binary files /dev/null and b/Assets/Textures/Transparent/lattice_roughness.png differ
diff --git a/DX11Starter.vcxproj b/DX11Starter.vcxproj
index bb39583..553218b 100644
--- a/DX11Starter.vcxproj
+++ b/DX11Starter.vcxproj
@@ -212,6 +212,12 @@
Vertex
Vertex
+
+ Pixel
+ Pixel
+ Pixel
+ Pixel
+
Vertex
5.0
@@ -1096,6 +1102,459 @@
$(OutDir)/Assets/Textures/PBR
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+ $(OutDir)/Assets/Textures/Ramps
+
+
+
+
+ false
+ true
+ Document
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+
+
+
+
+ false
+ true
+ Document
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+
+
+
+
+ false
+ true
+ Document
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+
+
+ false
+ true
+ Document
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+
+
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+ $(OutDir)/Assets/Textures/Skies/xenskybox
+
+
+
+
+ false
+ true
+ Document
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+ $(OutDir)/Assets/Models
+
+
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+ $(OutDir)/Assets/Textures/Transparent
+
+
diff --git a/DX11Starter.vcxproj.filters b/DX11Starter.vcxproj.filters
index d963d1f..da7cbba 100644
--- a/DX11Starter.vcxproj.filters
+++ b/DX11Starter.vcxproj.filters
@@ -40,6 +40,15 @@
{5a00f65f-2015-451b-9c46-5131e9fd2555}
+
+ {e1723348-5c0a-4f5f-8586-ccf0126a4509}
+
+
+ {9d91e2a4-da9d-42fe-9427-bfdb10083dd7}
+
+
+ {513b1278-b493-4dfc-826f-abcd815c0561}
+
@@ -139,6 +148,9 @@
Shaders
+
+ Shaders
+
@@ -321,6 +333,99 @@
Assets\Textures\PBR
+
+ Assets\Textures\Ramps
+
+
+ Assets\Textures\Ramps
+
+
+ Assets\Textures\Ramps
+
+
+ Assets\Textures\Ramps
+
+
+ Assets\Models
+
+
+ Assets\Models
+
+
+ Assets\Models
+
+
+ Assets\Models
+
+
+ Assets\Textures\Skies\xenskybox
+
+
+ Assets\Textures\Skies\xenskybox
+
+
+ Assets\Textures\Skies\xenskybox
+
+
+ Assets\Textures\Skies\xenskybox
+
+
+ Assets\Textures\Skies\xenskybox
+
+
+ Assets\Textures\Skies\xenskybox
+
+
+ Assets\Models
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
+
+ Assets\Textures\Transparent
+
diff --git a/Game.cpp b/Game.cpp
index 39f9cb9..d5516e3 100644
--- a/Game.cpp
+++ b/Game.cpp
@@ -2,6 +2,7 @@
#include "Vertex.h"
#include "Input.h"
#include "SimpleShader.h"
+#include
// Needed for a helper function to read compiled shader files from the hard drive
#pragma comment(lib, "d3dcompiler.lib")
@@ -34,7 +35,7 @@ Game::Game(HINSTANCE hInstance)
CreateConsoleWindow(500, 120, 32, 120);
printf("Console window created successfully. Feel free to printf() here.\n");
#endif
- camera = std::make_shared(0.0f, 0.0f, -10.0f, (float)width / height, 60, 0.01f, 1000.0f, 5.0f);
+ camera = std::make_shared(0.0f, 5.0f, -15.0f, (float)width / height, 60, 0.01f, 1000.0f, 5.0f);
}
// --------------------------------------------------------
@@ -58,8 +59,8 @@ void Game::Init()
{
LoadShadersAndMaterials();
LoadTextures();
- LoadLighting();
- CreateBasicGeometry();
+ LoadMeshes();
+ LoadScene(0);
// Tell the input assembler stage of the pipeline what kind of
// geometric primitives (points, lines or triangles) we want to draw.
@@ -76,18 +77,26 @@ void Game::LoadShadersAndMaterials()
pixelShader = std::make_shared(device, context, GetFullPathTo_Wide(L"SimplePixelShader.cso").c_str());
vertexShaderPBR = std::make_shared(device, context, GetFullPathTo_Wide(L"SimpleVertexPBR.cso").c_str());
pixelShaderPBR = std::make_shared(device, context, GetFullPathTo_Wide(L"SimplePixelPBR.cso").c_str());
+ pixelShaderToon = std::make_shared(device, context, GetFullPathTo_Wide(L"ToonShader.cso").c_str());
XMFLOAT3 white = XMFLOAT3(1.0f, 1.0f, 1.0f);
+ XMFLOAT3 deepPurple = XMFLOAT3(0.1f, 0.02f, 0.1f);
materials = {
- std::make_shared(false, white, 0, vertexShader, pixelShader),
- std::make_shared(true, white, 0, vertexShaderPBR, pixelShaderPBR),
- std::make_shared(true, white, 0, vertexShaderPBR, pixelShaderPBR),
- std::make_shared(true, white, 0, vertexShaderPBR, pixelShaderPBR),
- std::make_shared(true, white, 0, vertexShaderPBR, pixelShaderPBR),
- std::make_shared(true, white, 0, vertexShaderPBR, pixelShaderPBR),
- std::make_shared(true, white, 0, vertexShaderPBR, pixelShaderPBR),
- std::make_shared(true, white, 0, vertexShaderPBR, pixelShaderPBR),
+ std::make_shared(MATTYPE_STANDARD, white, 0, vertexShader, pixelShader), //0: blueish bronze material with reflection map
+ std::make_shared(MATTYPE_PBR, white, 0, vertexShaderPBR, pixelShaderPBR), //1: bronze PBR
+ std::make_shared(MATTYPE_PBR, white, 0, vertexShaderPBR, pixelShaderPBR), //2: cobblestone PBR
+ std::make_shared(MATTYPE_PBR, white, 0, vertexShaderPBR, pixelShaderPBR), //3: metallic diamond-pattern floor PBR
+ std::make_shared(MATTYPE_PBR, white, 0, vertexShaderPBR, pixelShaderPBR), //4: paint PBR
+ std::make_shared(MATTYPE_PBR, white, 0, vertexShaderPBR, pixelShaderPBR), //5: rough metal PBR
+ std::make_shared(MATTYPE_PBR, white, 0, vertexShaderPBR, pixelShaderPBR), //6: scratched metal PBR
+ std::make_shared(MATTYPE_PBR, white, 0, vertexShaderPBR, pixelShaderPBR), //7: wood PBR
+ std::make_shared(MATTYPE_STANDARD, white, 0, vertexShader, pixelShader), //8: transparent floor grate for scene 1
+ std::make_shared(MATTYPE_TOON, white, 0, vertexShader, pixelShaderToon), //9: cushion toon
+ std::make_shared(MATTYPE_TOON, deepPurple, 0, vertexShader, pixelShaderToon), //10: emissive lava toon
+ std::make_shared(MATTYPE_STANDARD, white, 0, vertexShader, pixelShader), //11: lava toon
+ std::make_shared(MATTYPE_PBR, white, 0, vertexShader, pixelShaderPBR), //12: fence PBR
+ std::make_shared(MATTYPE_STANDARD, white, 0, vertexShader, pixelShader), //13: transparent floor grate for scene 2
};
}
@@ -96,6 +105,8 @@ void Game::LoadShadersAndMaterials()
// --------------------------------------------------------
void Game::LoadTextures()
{
+ #pragma region Sampler Initialization
+ // Sampler description for wrapped texture sampling
D3D11_SAMPLER_DESC sampDesc = {};
sampDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;
sampDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;
@@ -105,7 +116,45 @@ void Game::LoadTextures()
sampDesc.MaxLOD = D3D11_FLOAT32_MAX;
device->CreateSamplerState(&sampDesc, sampler.GetAddressOf());
- demoCubemap = CreateCubemap(
+ // Blend description for alpha support
+ D3D11_BLEND_DESC blendDesc = {};
+ blendDesc.RenderTarget[0].BlendEnable = true;
+ blendDesc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
+ blendDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;
+ blendDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA;
+ blendDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA;
+ blendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;
+ blendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_SRC_ALPHA;
+ blendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_INV_SRC_ALPHA;
+ device->CreateBlendState(&blendDesc, alphaBlendState.GetAddressOf());
+
+ // Rasterizer description for alpha support/rendering backfaces only
+ D3D11_RASTERIZER_DESC rastDesc = {};
+ rastDesc.DepthClipEnable = true;
+ rastDesc.CullMode = D3D11_CULL_FRONT;
+ rastDesc.FillMode = D3D11_FILL_SOLID;
+ device->CreateRasterizerState(&rastDesc, backfaceRasterState.GetAddressOf());
+
+ // Sampler description for clamping
+ sampDesc.AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;
+ sampDesc.AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;
+ sampDesc.AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
+ device->CreateSamplerState(&sampDesc, clampSampler.GetAddressOf());
+ #pragma endregion
+
+ #pragma region Cubemap Setup
+ demoCubemap1 = CreateCubemap(
+ device,
+ context,
+ L"Assets/Textures/Skies/xenskybox/right.png",
+ L"Assets/Textures/Skies/xenskybox/left.png",
+ L"Assets/Textures/Skies/xenskybox/top.png",
+ L"Assets/Textures/Skies/xenskybox/bottom.png",
+ L"Assets/Textures/Skies/xenskybox/front.png",
+ L"Assets/Textures/Skies/xenskybox/back.png"
+ );
+
+ demoCubemap2 = CreateCubemap(
device,
context,
L"Assets/Textures/Skies/planets/right.png",
@@ -115,19 +164,24 @@ void Game::LoadTextures()
L"Assets/Textures/Skies/planets/front.png",
L"Assets/Textures/Skies/planets/back.png"
);
+ #pragma endregion
+ #pragma region Material Setup
materials[0]->PushSampler("BasicSampler", sampler);
- materials[0]->PushTexture(TEXTYPE_REFLECTION, demoCubemap);
+ materials[0]->PushTexture(TEXTYPE_REFLECTION, demoCubemap1);
materials[0]->hasReflectionMap = true;
- materials[0]->LoadTexture(L"Assets/Textures/WithNormals/cobblestone.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
- materials[0]->LoadTexture(L"Assets/Textures/WithNormals/cobblestone_normals.png", TEXTYPE_NORMAL, device.Get(), context.Get());
- materials[0]->LoadTexture(L"Assets/Textures/WithNormals/cobblestone_specular.png", TEXTYPE_SPECULAR, device.Get(), context.Get());
+ materials[0]->LoadTexture(L"Assets/Textures/PBR/bronze_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
+ materials[0]->LoadTexture(L"Assets/Textures/PBR/bronze_normals.png", TEXTYPE_NORMAL, device.Get(), context.Get());
+ materials[0]->LoadTexture(L"Assets/Textures/PBR/bronze_roughness.png", TEXTYPE_SPECULAR, device.Get(), context.Get());
+ materials[0]->SetNormalIntensity(2.5f);
+ materials[0]->SetTint(DirectX::XMFLOAT3(0.25f, 0.25f, 0.85f));
materials[1]->PushSampler("BasicSampler", sampler);
materials[1]->LoadTexture(L"Assets/Textures/PBR/bronze_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
materials[1]->LoadTexture(L"Assets/Textures/PBR/bronze_metal.png", TEXTYPE_METALNESS, device.Get(), context.Get());
materials[1]->LoadTexture(L"Assets/Textures/PBR/bronze_roughness.png", TEXTYPE_ROUGHNESS, device.Get(), context.Get());
materials[1]->LoadTexture(L"Assets/Textures/PBR/bronze_normals.png", TEXTYPE_NORMAL, device.Get(), context.Get());
+ materials[1]->SetNormalIntensity(2.5f);
materials[2]->PushSampler("BasicSampler", sampler);
materials[2]->LoadTexture(L"Assets/Textures/PBR/cobblestone_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
@@ -146,12 +200,14 @@ void Game::LoadTextures()
materials[4]->LoadTexture(L"Assets/Textures/PBR/paint_metal.png", TEXTYPE_METALNESS, device.Get(), context.Get());
materials[4]->LoadTexture(L"Assets/Textures/PBR/paint_roughness.png", TEXTYPE_ROUGHNESS, device.Get(), context.Get());
materials[4]->LoadTexture(L"Assets/Textures/PBR/paint_normals.png", TEXTYPE_NORMAL, device.Get(), context.Get());
+ materials[4]->SetNormalIntensity(0.5f);
materials[5]->PushSampler("BasicSampler", sampler);
materials[5]->LoadTexture(L"Assets/Textures/PBR/rough_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
materials[5]->LoadTexture(L"Assets/Textures/PBR/rough_metal.png", TEXTYPE_METALNESS, device.Get(), context.Get());
materials[5]->LoadTexture(L"Assets/Textures/PBR/rough_roughness.png", TEXTYPE_ROUGHNESS, device.Get(), context.Get());
materials[5]->LoadTexture(L"Assets/Textures/PBR/rough_normals.png", TEXTYPE_NORMAL, device.Get(), context.Get());
+ materials[5]->SetNormalIntensity(3.5f);
materials[6]->PushSampler("BasicSampler", sampler);
materials[6]->LoadTexture(L"Assets/Textures/PBR/scratched_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
@@ -164,30 +220,58 @@ void Game::LoadTextures()
materials[7]->LoadTexture(L"Assets/Textures/PBR/wood_metal.png", TEXTYPE_METALNESS, device.Get(), context.Get());
materials[7]->LoadTexture(L"Assets/Textures/PBR/wood_roughness.png", TEXTYPE_ROUGHNESS, device.Get(), context.Get());
materials[7]->LoadTexture(L"Assets/Textures/PBR/wood_normals.png", TEXTYPE_NORMAL, device.Get(), context.Get());
+ materials[7]->SetNormalIntensity(3.5f);
+
+ materials[8]->PushSampler("BasicSampler", sampler);
+ materials[8]->LoadTexture(L"Assets/Textures/HQGame/structure-endgame-floor_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
+ materials[8]->LoadTexture(L"Assets/Textures/HQGame/structure-endgame-floor_specular.png", TEXTYPE_SPECULAR, device.Get(), context.Get());
+ // this texture has some weird noise artifacts in the holes of the floor that I probably just never noticed
+ // when I used it in the game I made it for because it was also had Cutoff in Unity. add high cutoff, but not too high for distant mipmaps
+ materials[8]->SetCutoff(0.9f);
+ // this is just to test alpha
+ materials[8]->SetAlpha(0.8f);
+
+ materials[9]->PushSampler("BasicSampler", sampler);
+ materials[9]->PushSampler("ClampSampler", clampSampler);
+ materials[9]->SetRoughness(1);
+ materials[9]->LoadTexture(L"Assets/Textures/WithNormals/cushion.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
+ materials[9]->LoadTexture(L"Assets/Textures/WithNormals/cushion_normals.png", TEXTYPE_NORMAL, device.Get(), context.Get());
+ materials[9]->LoadTexture(L"Assets/Textures/WithNormals/cushion_specular.png", TEXTYPE_SPECULAR, device.Get(), context.Get());
+ materials[9]->SetOutlineThickness(0);
+
+ materials[10]->PushSampler("BasicSampler", sampler);
+ materials[10]->PushSampler("ClampSampler", clampSampler);
+ materials[10]->LoadTexture(L"Assets/Textures/HQGame/structure-endgame-deepfloor_emissive.png", TEXTYPE_EMISSIVE, device.Get(), context.Get());
+ materials[10]->LoadTexture(L"Assets/Textures/Ramps/toonRamp3.png", TEXTYPE_RAMPDIFFUSE, device.Get(), context.Get());
+ materials[10]->LoadTexture(L"Assets/Textures/Ramps/toonRampSpecular.png", TEXTYPE_RAMPSPECULAR, device.Get(), context.Get());
+ materials[10]->SetRimCutoff(0.15f);
+ materials[10]->SetEmitAmount(XMFLOAT3(0.05f, 0.1f, 0.01f));
+
+ materials[11]->PushSampler("BasicSampler", sampler);
+ materials[11]->LoadTexture(L"Assets/Textures/HQGame/structure-endgame-deepfloor_emissive.png", TEXTYPE_EMISSIVE, device.Get(), context.Get());
+ materials[11]->LoadTexture(L"Assets/Textures/HQGame/structure-endgame-deepfloor_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
+ materials[11]->LoadTexture(L"Assets/Textures/HQGame/structure-endgame-deepfloor_specular.png", TEXTYPE_SPECULAR, device.Get(), context.Get());
+ materials[11]->SetEmitAmount(XMFLOAT3(0.05f, 0.1f, 0.01f));
+
+ materials[12]->PushSampler("BasicSampler", sampler);
+ materials[12]->LoadTexture(L"Assets/Textures/Transparent/fence_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
+ materials[12]->LoadTexture(L"Assets/Textures/Transparent/fence_metal.png", TEXTYPE_METALNESS, device.Get(), context.Get());
+ materials[12]->LoadTexture(L"Assets/Textures/Transparent/fence_roughness.png", TEXTYPE_ROUGHNESS, device.Get(), context.Get());
+ materials[12]->LoadTexture(L"Assets/Textures/Transparent/fence_normals.png", TEXTYPE_NORMAL, device.Get(), context.Get());
+ materials[12]->SetCutoff(0.95f);
+
+ materials[13]->PushSampler("BasicSampler", sampler);
+ materials[13]->LoadTexture(L"Assets/Textures/HQGame/structure-endgame-floor_albedo.png", TEXTYPE_ALBEDO, device.Get(), context.Get());
+ materials[13]->LoadTexture(L"Assets/Textures/HQGame/structure-endgame-floor_specular.png", TEXTYPE_SPECULAR, device.Get(), context.Get());
+ materials[13]->SetAlpha(0.85f);
+ materials[13]->SetCutoff(0.95f);
+ #pragma endregion
}
// --------------------------------------------------------
-// Instantiates all the lighting in the scene
+// Loads the geometry we're going to draw
// --------------------------------------------------------
-void Game::LoadLighting()
-{
- ambient = XMFLOAT3(0.1f, 0.1f, 0.15f);
-
- lights = {
- Light::Directional(XMFLOAT3(1, 0.5f, -0.5f), XMFLOAT3(1, 1, 1), 1.0f),
- Light::Directional(XMFLOAT3(-0.25f, -1, 0.75f), XMFLOAT3(1, 1, 1), 0.25f),
- Light::Directional(XMFLOAT3(-1, 1, -0.5f), XMFLOAT3(1, 1, 1), 0.25f),
- Light::Point(XMFLOAT3(-1.5f, 0, 0), XMFLOAT3(1, 1, 1), 0.35f, 10),
- Light::Point(XMFLOAT3(1.5f, 0, 0), XMFLOAT3(1, 1, 1), 0.35f, 10),
- Light::Point(XMFLOAT3(0, 2, 0), XMFLOAT3(1, 0, 0), 0.35f, 10),
- Light::Point(XMFLOAT3(-27.5f, 0, 0), XMFLOAT3(1, 1, 0.5f), 0.35f, 20),
- };
-}
-
-// --------------------------------------------------------
-// Creates the geometry we're going to draw - a single triangle for now
-// --------------------------------------------------------
-void Game::CreateBasicGeometry()
+void Game::LoadMeshes()
{
shapes = {
std::make_shared(
@@ -211,9 +295,144 @@ void Game::CreateBasicGeometry()
std::make_shared(
GetFullPathTo("Assets/Models/quad_double_sided.obj").c_str(),
device, context),
+
+ std::make_shared(
+ GetFullPathTo("Assets/Models/warped_plane.obj").c_str(),
+ device, context),
+ std::make_shared(
+ GetFullPathTo("Assets/Models/warped_building.obj").c_str(),
+ device, context),
+ std::make_shared(
+ GetFullPathTo("Assets/Models/warped_archway_outer.obj").c_str(),
+ device, context),
+ std::make_shared(
+ GetFullPathTo("Assets/Models/warped_archway_inner.obj").c_str(),
+ device, context),
+ std::make_shared(
+ GetFullPathTo("Assets/Models/warped_monke.obj").c_str(),
+ device, context),
};
+ skybox1 = std::make_shared(
+ shapes[0],
+ std::make_shared(device, context, GetFullPathTo_Wide(L"SkyboxVertexShader.cso").c_str()),
+ std::make_shared(device, context, GetFullPathTo_Wide(L"SkyboxPixelShader.cso").c_str()),
+ demoCubemap1,
+ sampler,
+ device
+ );
+
+ skybox2 = std::make_shared(
+ shapes[0],
+ std::make_shared(device, context, GetFullPathTo_Wide(L"SkyboxVertexShader.cso").c_str()),
+ std::make_shared(device, context, GetFullPathTo_Wide(L"SkyboxPixelShader.cso").c_str()),
+ demoCubemap2,
+ sampler,
+ device
+ );
+}
+
+// --------------------------------------------------------
+// Loads the entities, lighting, etc. based on scene
+// --------------------------------------------------------
+void Game::LoadScene(int _currentScene)
+{
+ currentScene = _currentScene;
+ switch (currentScene)
+ {
+ case 0:
+ LoadScene1();
+ break;
+ case 1:
+ LoadScene2();
+ break;
+ }
+}
+
+void Game::LoadScene1()
+{
+ camera->GetTransform()->SetPosition(0.0f, 9.0f, -15.0f);
+ camera->GetTransform()->SetRotation(0.1f, 0, 0);
+
+ ambient = XMFLOAT3(0.01f, 0.01f, 0.015f);
+
+ lights = {
+ Light::Directional(XMFLOAT3(1, 0.5f, -0.5f), XMFLOAT3(1, 1, 1), 1.0f),
+ };
+
+ #pragma region Entity Definition
entities = {
+ std::make_shared(materials[2], shapes[7]), //0
+ std::make_shared(materials[0], shapes[8]), //1
+ std::make_shared(materials[0], shapes[8]), //2
+ std::make_shared(materials[0], shapes[8]), //3
+ std::make_shared(materials[0], shapes[8]), //4
+ std::make_shared(materials[7], shapes[9]), //5
+ std::make_shared(materials[11], shapes[10]), //6
+ std::make_shared(materials[10], shapes[11]), //7
+ };
+
+ transpEntities = {
+ std::make_shared(materials[12], shapes[5]), //0
+ std::make_shared(materials[12], shapes[5]), //1
+ std::make_shared(materials[12], shapes[5]), //2
+ std::make_shared(materials[13], shapes[3]), //3
+ std::make_shared(materials[13], shapes[3]), //4
+ std::make_shared(materials[13], shapes[3]), //5
+ };
+ #pragma endregion
+
+ #pragma region Transform Setup
+ entities[1]->GetTransform()->SetPosition(-5, 0, 5);
+ entities[2]->GetTransform()->SetPosition(5, 0, 5);
+ entities[3]->GetTransform()->SetPosition(5, 0, -5);
+ entities[4]->GetTransform()->SetPosition(-5, 0, -5);
+ entities[5]->GetTransform()->SetPosition(0, 3, 5);
+
+ entities[6]->GetTransform()->SetPosition(0, 3, 5);
+ entities[5]->GetTransform()->SetRotation(0, 1.57f, 0);
+ entities[6]->GetTransform()->SetRotation(0, 1.57f, 0);
+ entities[5]->GetTransform()->SetScale(0.75f, 0.75f, 0.75f);
+ entities[6]->GetTransform()->SetScale(0.75f, 0.75f, 0.75f);
+
+ entities[7]->GetTransform()->SetPosition(0, 20, 20);
+ entities[7]->GetTransform()->SetScale(8, 8, 8);
+ entities[7]->GetTransform()->SetRotation(-0.5f, 0, 0);
+
+ transpEntities[0]->GetTransform()->SetPosition(0, 1, 5);
+ transpEntities[0]->GetTransform()->SetRotation(1.57079f, 0, 0);
+ transpEntities[0]->GetTransform()->SetScale(6, 6, 1);
+ transpEntities[1]->GetTransform()->SetPosition(-5, 1, 0);
+ transpEntities[1]->GetTransform()->SetRotation(1.57079f, 1.57079f, 0);
+ transpEntities[1]->GetTransform()->SetScale(6, 6, 1);
+ transpEntities[2]->GetTransform()->SetPosition(5, 1, 0);
+ transpEntities[2]->GetTransform()->SetRotation(1.57079f, -1.57079f, 0);
+ transpEntities[2]->GetTransform()->SetScale(6, 6, 1);
+
+ transpEntities[3]->GetTransform()->SetScale(-30, -30, -30);
+ transpEntities[4]->GetTransform()->SetScale(-60, -60, -60);
+ transpEntities[5]->GetTransform()->SetScale(-90, -90, -90);
+ #pragma endregion
+
+ materials[0]->SwapTexture(TEXTYPE_REFLECTION, demoCubemap1);
+ materials[0]->SetUVScale(DirectX::XMFLOAT2(10, 10));
+ materials[2]->SetUVScale(DirectX::XMFLOAT2(5, 5));
+}
+
+void Game::LoadScene2()
+{
+ camera->GetTransform()->SetPosition(0.0f, 0.0f, -10.0f);
+ camera->GetTransform()->SetRotation(0, 0, 0);
+
+ ambient = XMFLOAT3(0.01f, 0.01f, 0.015f);
+
+ lights = {
+ Light::Directional(XMFLOAT3(1, 0.5f, -0.5f), XMFLOAT3(1, 1, 1), 1.0f),
+ };
+
+ #pragma region Entity Definition
+ entities = {
+ // PBR
std::make_shared(materials[1], shapes[3]),
std::make_shared(materials[2], shapes[3]),
std::make_shared(materials[3], shapes[3]),
@@ -221,24 +440,72 @@ void Game::CreateBasicGeometry()
std::make_shared(materials[5], shapes[3]),
std::make_shared(materials[6], shapes[3]),
std::make_shared(materials[7], shapes[3]),
+ // std
std::make_shared(materials[0], shapes[3]),
+ // toon
+ std::make_shared(materials[9], shapes[3]),
+ std::make_shared(materials[9], shapes[3]),
+ std::make_shared(materials[9], shapes[3]),
+ std::make_shared(materials[9], shapes[3]),
+ std::make_shared(materials[10], shapes[3]),
+ std::make_shared(materials[10], shapes[3]),
+ std::make_shared(materials[10], shapes[3]),
+ std::make_shared(materials[10], shapes[3]),
};
- for (int i = 0; i < entities.size(); ++i)
- {
- entities[i]->GetTransform()->SetPosition((-(int)(entities.size() / 2) + i + 0.5f) * 2.5f, 0, 0);
- }
+ transpEntities = {
+ std::make_shared(materials[8], shapes[3]),
+ std::make_shared(materials[8], shapes[3]),
+ std::make_shared(materials[8], shapes[3]),
+ };
+ #pragma endregion
- skybox = std::make_shared(
- shapes[0],
- std::make_shared(device, context, GetFullPathTo_Wide(L"SkyboxVertexShader.cso").c_str()),
- std::make_shared(device, context, GetFullPathTo_Wide(L"SkyboxPixelShader.cso").c_str()),
- demoCubemap,
- sampler,
- device
- );
+ #pragma region Transform Setup
+ transpEntities[0]->GetTransform()->SetPosition(0, 3, -5);
+ transpEntities[1]->GetTransform()->SetPosition(0, 3, 0);
+ transpEntities[2]->GetTransform()->SetPosition(0, 3, 5);
+ for (int i = 0; i < entities.size() / 2; ++i)
+ {
+ entities[i]->GetTransform()->SetPosition((-(int)(entities.size() / 4) + i + 0.5f) * 2.5f, -1.5f, 0);
+ }
+
+ for (int i = entities.size() / 2; i < entities.size(); ++i)
+ {
+ entities[i]->GetTransform()->SetPosition((-(int)(entities.size() / 4) + (i - (int)entities.size() / 2) + 0.5f) * 2.5f, 1.5f, 0);
+ }
+
+ for (int i = 0; i < transpEntities.size(); ++i)
+ {
+ transpEntities[i]->GetTransform()->SetPosition(0, -3.5f, (-(int)(transpEntities.size() / 2) + i) * 2.5f);
+ }
+ #pragma endregion
+
+ materials[0]->SwapTexture(TEXTYPE_REFLECTION, demoCubemap2);
+ materials[0]->SetUVScale(DirectX::XMFLOAT2(1, 1));
+ materials[2]->SetUVScale(DirectX::XMFLOAT2(1, 1));
+ materials[11]->SetEmitAmount(DirectX::XMFLOAT3(1, 1, 1));
}
+void Game::UpdateScene1(float deltaTime, float totalTime)
+{
+ for (int i = 1; i < 5; ++i)
+ {
+ DirectX::XMFLOAT3 pos = entities[i]->GetTransform()->GetPosition();
+ entities[i]->GetTransform()->SetPosition(pos.x, sin(totalTime / 2) * 0.5f + 1, pos.z);
+ entities[i]->GetTransform()->SetRotation(0, cos(totalTime / 4) * 4, 0);
+ }
+
+ materials[11]->SetUVOffset(DirectX::XMFLOAT2(0, -tan(totalTime / 4) * 0.15f));
+ materials[11]->SetEmitAmount(DirectX::XMFLOAT3(sin(totalTime / 1) * 0.25f + 0.25f, sin(totalTime / 1) * 0.25f + 0.25f, sin(totalTime / 1) * 0.25f + 0.25f));
+}
+
+void Game::UpdateScene2(float deltaTime, float totalTime)
+{
+ for (int i = 0; i < entities.size(); ++i)
+ {
+ entities[i]->GetTransform()->SetRotation(0, sin(totalTime / 720) * 360, 0);
+ }
+}
// --------------------------------------------------------
// Handle resizing DirectX "stuff" to match the new window size.
@@ -261,12 +528,22 @@ void Game::Update(float deltaTime, float totalTime)
if (Input::GetInstance().KeyDown(VK_ESCAPE))
Quit();
- camera->Update(deltaTime);
+ if (Input::GetInstance().KeyDown(0x31))
+ LoadScene(0);
+ else if (Input::GetInstance().KeyDown(0x32))
+ LoadScene(1);
- for (int i = 0; i < entities.size(); ++i)
+ switch (currentScene)
{
- entities[i]->GetTransform()->SetRotation(sin(totalTime / 720) * 360, 0, 0);
+ case 0:
+ UpdateScene1(deltaTime, totalTime);
+ break;
+ case 1:
+ UpdateScene2(deltaTime, totalTime);
+ break;
}
+
+ camera->Update(deltaTime);
}
// --------------------------------------------------------
@@ -277,9 +554,7 @@ void Game::Draw(float deltaTime, float totalTime)
// Background color for clearing
static const float color[4] = { 0.1f, 0.1f, 0.1f, 0.0f };
- // Clear the render target and depth buffer (erases what's on the screen)
- // - Do this ONCE PER FRAME
- // - At the beginning of Draw (before drawing *anything*)
+ // Clear the render target and depth buffer (erases what's on the screen) before doign anything else
context->ClearRenderTargetView(backBufferRTV.Get(), color);
context->ClearDepthStencilView(
depthStencilView.Get(),
@@ -287,16 +562,50 @@ void Game::Draw(float deltaTime, float totalTime)
1.0f,
0);
+ // Render solid entities first
for (auto entity : entities)
{
entity->Draw(camera, ambient, lights);
}
- skybox->Draw(context, camera);
+ // Draw the skybox after solid entities to avoid overdraw
+ switch (currentScene)
+ {
+ case 0:
+ skybox1->Draw(context, camera);
+ break;
+ case 1:
+ skybox2->Draw(context, camera);
+ break;
+ }
- // Present the back buffer to the user
- // - Puts the final frame we're drawing into the window so the user can see it
- // - Do this exactly ONCE PER FRAME (always at the very end of the frame)
+ // Sort transparent entities
+ std::sort(transpEntities.begin(), transpEntities.end(), [&](std::shared_ptr a, std::shared_ptr b) -> bool
+ {
+ XMFLOAT3 positionA = a->GetTransform()->GetPosition();
+ XMFLOAT3 positionB = b->GetTransform()->GetPosition();
+ XMFLOAT3 camPos = camera->GetTransform()->GetPosition();
+
+ // compare distance
+ float aDist = XMVectorGetX(XMVector3Length(XMLoadFloat3(&positionA) - XMLoadFloat3(&camPos)));
+ float bDist = XMVectorGetX(XMVector3Length(XMLoadFloat3(&positionB) - XMLoadFloat3(&camPos)));
+ return aDist > bDist;
+ });
+
+ // Draw transparent entities with proper blendstate
+ context->OMSetBlendState(alphaBlendState.Get(), 0, 0xFFFFFFFF);
+ for (auto entity : transpEntities)
+ {
+ context->RSSetState(backfaceRasterState.Get());
+ entity->Draw(camera, ambient, lights);
+ context->RSSetState(0);
+ entity->Draw(camera, ambient, lights);
+ }
+
+ // Reset blendstate after drawing transparent entities
+ context->OMSetBlendState(0, 0, 0xFFFFFFFF);
+
+ // Present the back buffer (i.e. the final frame) to the user at the end of drawing
swapChain->Present(vsync ? 1 : 0, 0);
// Due to the usage of a more sophisticated swap chain,
diff --git a/Game.h b/Game.h
index acac3b8..6a0012b 100644
--- a/Game.h
+++ b/Game.h
@@ -41,14 +41,19 @@ private:
void LoadShadersAndMaterials();
void LoadTextures();
- void LoadLighting();
- void CreateBasicGeometry();
+ void LoadMeshes();
+ void LoadScene(int _currentScene);
+ void LoadScene1();
+ void LoadScene2();
+ void UpdateScene1(float deltaTime, float totalTime);
+ void UpdateScene2(float deltaTime, float totalTime);
// Shaders and shader-related constructs
std::shared_ptr pixelShader;
std::shared_ptr vertexShader;
std::shared_ptr pixelShaderPBR;
std::shared_ptr vertexShaderPBR;
+ std::shared_ptr pixelShaderToon;
// A2 shapes
std::vector> shapes;
@@ -62,10 +67,19 @@ private:
std::vector lights;
DirectX::XMFLOAT3 ambient;
// A9 Normalmaps & Cubemaps
- std::shared_ptr skybox;
+ std::shared_ptr skybox1;
+ std::shared_ptr skybox2;
Microsoft::WRL::ComPtr sampler;
- Microsoft::WRL::ComPtr demoCubemap;
+ Microsoft::WRL::ComPtr demoCubemap1;
+ Microsoft::WRL::ComPtr demoCubemap2;
+
+ std::vector> transpEntities;
Microsoft::WRL::ComPtr constantBufferVS;
+ Microsoft::WRL::ComPtr alphaBlendState;
+ Microsoft::WRL::ComPtr backfaceRasterState;
+ Microsoft::WRL::ComPtr clampSampler;
+
+ int currentScene;
};
diff --git a/Helpers.hlsli b/Helpers.hlsli
index ff263fa..6c65d04 100644
--- a/Helpers.hlsli
+++ b/Helpers.hlsli
@@ -60,4 +60,14 @@ float getFresnel(float3 normal, float3 view, float specularValue)
return specularValue + (1 - specularValue) * pow(1 - saturate(dot(normal, view)), 5);
}
+// gets normal: n*TBN, where n = sampled normal map, N = normal vector, T = processed tangent vector (t*N-dot(t,N), B = processed bitangent vector (cross(T,N))
+float3 getNormal(SamplerState normalSampler, Texture2D map, float2 uv, float3 normal, float3 tangent, float intensity)
+{
+ float3 n = map.Sample(normalSampler, uv).rgb * 2 - 1;
+ float3 T = normalize(tangent - normal * dot(tangent, normal)) * intensity;
+ float3 B = cross(T, normal);
+ float3x3 TBN = float3x3(T, B, normal);
+ return mul(n, TBN);
+}
+
#endif
diff --git a/Material.cpp b/Material.cpp
index 1186d06..1d5c8f7 100644
--- a/Material.cpp
+++ b/Material.cpp
@@ -1,24 +1,33 @@
#include "Material.h"
Material::Material(
- bool _pbr,
+ int _mode,
DirectX::XMFLOAT3 _tint,
float _roughness,
std::shared_ptr _vertexShader,
std::shared_ptr _pixelShader)
{
- pbr = _pbr;
+ mode = _mode;
tint = _tint;
roughness = _roughness;
+ normalIntensity = 1.f;
+ alpha = 1;
+ cutoff = 0;
vertexShader = _vertexShader;
pixelShader = _pixelShader;
uvOffset = DirectX::XMFLOAT2(0, 0);
uvScale = DirectX::XMFLOAT2(1, 1);
- emitAmount = 0;
+ emitAmount = DirectX::XMFLOAT3(0, 0, 0);
+ hasAlbedoMap = false;
hasEmissiveMap = false;
hasSpecularMap = false;
hasNormalMap = false;
hasReflectionMap = false;
+ hasRampDiffuse = false;
+ hasRampSpecular = false;
+ outlineThickness = 1;
+ rimCutoff = 0.075f;
+ rimTint = DirectX::XMFLOAT3(0.5f, 0.5f, 0.5f);
}
Material::~Material()
@@ -27,10 +36,22 @@ Material::~Material()
void Material::Activate(Transform* _transform, std::shared_ptr _camera, DirectX::XMFLOAT3 _ambient, std::vector _lights)
{
- if (pbr) ActivatePBR(_transform, _camera, _ambient, _lights);
- else ActivateStandard(_transform, _camera, _ambient, _lights);
+ switch (mode)
+ {
+ case MATTYPE_PBR:
+ ActivatePBR(_transform, _camera, _ambient, _lights);
+ break;
+ case MATTYPE_TOON:
+ ActivateToon(_transform, _camera, _ambient, _lights);
+ break;
+ case MATTYPE_STANDARD:
+ default:
+ ActivateStandard(_transform, _camera, _ambient, _lights);
+ break;
+ }
}
+#pragma region Getters
DirectX::XMFLOAT3 Material::GetTint()
{
return tint;
@@ -51,11 +72,46 @@ float Material::GetRoughness()
return roughness;
}
-float Material::GetEmitAmount()
+float Material::GetAlpha()
+{
+ return alpha;
+}
+
+float Material::GetCutoff()
+{
+ return cutoff;
+}
+
+float Material::GetNormalIntensity()
+{
+ return normalIntensity;
+}
+
+float Material::GetRimCutoff()
+{
+ return rimCutoff;
+}
+
+float Material::GetOutlineThickness()
+{
+ return outlineThickness;
+}
+
+DirectX::XMFLOAT3 Material::GetEmitAmount()
{
return emitAmount;
}
+DirectX::XMFLOAT3 Material::GetOutlineTint()
+{
+ return outlineTint;
+}
+
+DirectX::XMFLOAT3 Material::GetRimTint()
+{
+ return rimTint;
+}
+
std::shared_ptr Material::GetVertexShader()
{
return vertexShader;
@@ -65,7 +121,9 @@ std::shared_ptr Material::GetPixelShader()
{
return pixelShader;
}
+#pragma endregion
+#pragma region Setters
void Material::SetTint(DirectX::XMFLOAT3 _tint)
{
tint = _tint;
@@ -97,11 +155,46 @@ void Material::SetRoughness(float _roughness)
}
}
-void Material::SetEmitAmount(float _emit)
+void Material::SetAlpha(float _alpha)
+{
+ alpha = _alpha;
+}
+
+void Material::SetCutoff(float _cutoff)
+{
+ cutoff = _cutoff;
+}
+
+void Material::SetNormalIntensity(float _intensity)
+{
+ normalIntensity = _intensity;
+}
+
+void Material::SetRimCutoff(float _cutoff)
+{
+ rimCutoff = _cutoff;
+}
+
+void Material::SetOutlineThickness(float _thickness)
+{
+ outlineThickness = _thickness;
+}
+
+void Material::SetEmitAmount(DirectX::XMFLOAT3 _emit)
{
emitAmount = _emit;
}
+void Material::SetOutlineTint(DirectX::XMFLOAT3 _tint)
+{
+ outlineTint = _tint;
+}
+
+void Material::SetRimTint(DirectX::XMFLOAT3 _tint)
+{
+ rimTint = _tint;
+}
+
void Material::SetVertexShader(std::shared_ptr _vertexShader)
{
vertexShader = _vertexShader;
@@ -111,17 +204,22 @@ void Material::SetPixelShader(std::shared_ptr _pixelShader)
{
pixelShader = _pixelShader;
}
+#pragma endregion
+#pragma region Utility
void Material::LoadTexture(const wchar_t* _path, const char* _type, ID3D11Device* _device, ID3D11DeviceContext* _context)
{
Microsoft::WRL::ComPtr shaderResourceView;
DirectX::CreateWICTextureFromFile(_device, _context, DXCore::GetFullPathTo_Wide(_path).c_str(), 0, shaderResourceView.GetAddressOf());
PushTexture(_type, shaderResourceView);
- if (_type == TEXTYPE_EMISSIVE) hasEmissiveMap = true;
+ if (_type == TEXTYPE_ALBEDO) hasAlbedoMap = true;
+ else if (_type == TEXTYPE_EMISSIVE) hasEmissiveMap = true;
else if (_type == TEXTYPE_SPECULAR) hasSpecularMap = true;
else if (_type == TEXTYPE_NORMAL) hasNormalMap = true;
else if (_type == TEXTYPE_REFLECTION) hasReflectionMap = true;
+ else if (_type == TEXTYPE_RAMPDIFFUSE) hasRampDiffuse = true;
+ else if (_type == TEXTYPE_RAMPSPECULAR) hasRampSpecular = true;
}
void Material::PushSampler(std::string _name, Microsoft::WRL::ComPtr _sampler)
@@ -133,7 +231,13 @@ void Material::PushTexture(std::string _name, Microsoft::WRL::ComPtr _newTexture)
+{
+ textures[_name] = _newTexture;
+}
+#pragma endregion
+#pragma region Internal Material Activation
void Material::ActivateStandard(Transform* _transform, std::shared_ptr _camera, DirectX::XMFLOAT3 _ambient, std::vector _lights)
{
vertexShader->SetMatrix4x4("world", _transform->GetWorldMatrix());
@@ -145,12 +249,16 @@ void Material::ActivateStandard(Transform* _transform, std::shared_ptr _
pixelShader->SetFloat3("cameraPosition", _camera->GetTransform()->GetPosition());
pixelShader->SetFloat("roughness", GetRoughness());
+ pixelShader->SetFloat("normalIntensity", GetNormalIntensity());
+ pixelShader->SetFloat("alpha", GetAlpha());
+ pixelShader->SetFloat("cutoff", GetCutoff());
pixelShader->SetFloat2("scale", GetUVScale());
pixelShader->SetFloat2("offset", GetUVOffset());
pixelShader->SetFloat3("ambient", _ambient);
- pixelShader->SetFloat("emitAmount", GetEmitAmount());
+ pixelShader->SetFloat3("emitAmount", GetEmitAmount());
pixelShader->SetFloat3("tint", GetTint());
pixelShader->SetFloat("lightCount", (int)_lights.size());
+ pixelShader->SetInt("hasAlbedoMap", (int)hasAlbedoMap);
pixelShader->SetInt("hasEmissiveMap", (int)hasEmissiveMap);
pixelShader->SetInt("hasSpecularMap", (int)hasSpecularMap);
pixelShader->SetInt("hasNormalMap", (int)hasNormalMap);
@@ -181,6 +289,7 @@ void Material::ActivatePBR(Transform* _transform, std::shared_ptr _camer
pixelShader->SetFloat2("scale", GetUVScale());
pixelShader->SetFloat2("offset", GetUVOffset());
pixelShader->SetFloat3("cameraPosition", _camera->GetTransform()->GetPosition());
+ pixelShader->SetFloat("normalIntensity", GetNormalIntensity());
pixelShader->SetFloat("lightCount", (int)_lights.size());
pixelShader->SetData("lights", &_lights[0], sizeof(Light) * (int)_lights.size());
pixelShader->CopyAllBufferData();
@@ -195,3 +304,48 @@ void Material::ActivatePBR(Transform* _transform, std::shared_ptr _camer
pixelShader->SetSamplerState(s.first.c_str(), s.second.Get());
}
}
+
+void Material::ActivateToon(Transform* _transform, std::shared_ptr _camera, DirectX::XMFLOAT3 _ambient, std::vector _lights)
+{
+ vertexShader->SetMatrix4x4("world", _transform->GetWorldMatrix());
+ vertexShader->SetMatrix4x4("worldInvTranspose", _transform->GetWorldMatrixInverseTranspose());
+ vertexShader->SetMatrix4x4("view", _camera->GetViewMatrix());
+ vertexShader->SetMatrix4x4("projection", _camera->GetProjectionMatrix());
+ vertexShader->CopyAllBufferData();
+ vertexShader->SetShader();
+
+ pixelShader->SetFloat3("cameraPosition", _camera->GetTransform()->GetPosition());
+ pixelShader->SetFloat("roughness", GetRoughness());
+ pixelShader->SetFloat("normalIntensity", GetNormalIntensity());
+ pixelShader->SetFloat("alpha", GetAlpha());
+ pixelShader->SetFloat("cutoff", GetCutoff());
+ pixelShader->SetFloat2("scale", GetUVScale());
+ pixelShader->SetFloat2("offset", GetUVOffset());
+ pixelShader->SetFloat3("ambient", _ambient);
+ pixelShader->SetFloat3("emitAmount", GetEmitAmount());
+ pixelShader->SetFloat3("tint", GetTint());
+ pixelShader->SetFloat3("rimTint", GetRimTint());
+ pixelShader->SetFloat3("outlineTint", GetOutlineTint());
+ pixelShader->SetFloat("outlineThickness", GetOutlineThickness());
+ pixelShader->SetFloat("rimCutoff", GetRimCutoff());
+ pixelShader->SetFloat("lightCount", (int)_lights.size());
+ pixelShader->SetInt("hasAlbedoMap", (int)hasAlbedoMap);
+ pixelShader->SetInt("hasEmissiveMap", (int)hasEmissiveMap);
+ pixelShader->SetInt("hasSpecularMap", (int)hasSpecularMap);
+ pixelShader->SetInt("hasNormalMap", (int)hasNormalMap);
+ pixelShader->SetInt("hasRampDiffuse", (int)hasRampDiffuse);
+ pixelShader->SetInt("hasRampSpecular", (int)hasRampSpecular);
+ pixelShader->SetData("lights", &_lights[0], sizeof(Light) * (int)_lights.size());
+ pixelShader->CopyAllBufferData();
+ pixelShader->SetShader();
+
+ for (auto& t : textures)
+ {
+ pixelShader->SetShaderResourceView(t.first.c_str(), t.second.Get());
+ }
+ for (auto& s : samplers)
+ {
+ pixelShader->SetSamplerState(s.first.c_str(), s.second.Get());
+ }
+}
+#pragma endregion
diff --git a/Material.h b/Material.h
index 9f1d5bd..d41b014 100644
--- a/Material.h
+++ b/Material.h
@@ -17,18 +17,31 @@ constexpr auto TEXTYPE_SPECULAR = "Specular";
constexpr auto TEXTYPE_REFLECTION = "Reflection";
constexpr auto TEXTYPE_ROUGHNESS = "Roughness";
constexpr auto TEXTYPE_METALNESS = "Metalness";
+constexpr auto TEXTYPE_RAMPDIFFUSE = "RampDiffuse";
+constexpr auto TEXTYPE_RAMPSPECULAR = "RampSpecular";
+
+constexpr auto MATTYPE_STANDARD = 0;
+constexpr auto MATTYPE_PBR = 1;
+constexpr auto MATTYPE_TOON = 2;
class Material
{
public:
Material(
- bool _pbr,
+ int _mode,
DirectX::XMFLOAT3 _tint,
float _roughness,
std::shared_ptr _vertexShader,
std::shared_ptr _pixelShader);
~Material();
+ ///
+ /// Prepares a material before drawing a mesh
+ ///
+ /// The transform of the entity that the material is associated with
+ /// The camera rendering the entity this material is associated with
+ /// The ambient lighting value
+ /// The lights that are affecting this object
void Activate(
Transform* _transform,
std::shared_ptr _camera,
@@ -39,7 +52,14 @@ public:
DirectX::XMFLOAT2 GetUVScale();
DirectX::XMFLOAT2 GetUVOffset();
float GetRoughness();
- float GetEmitAmount();
+ float GetAlpha();
+ float GetCutoff();
+ float GetNormalIntensity();
+ float GetRimCutoff();
+ float GetOutlineThickness();
+ DirectX::XMFLOAT3 GetEmitAmount();
+ DirectX::XMFLOAT3 GetOutlineTint();
+ DirectX::XMFLOAT3 GetRimTint();
std::shared_ptr GetVertexShader();
std::shared_ptr GetPixelShader();
@@ -47,18 +67,51 @@ public:
void SetUVScale(DirectX::XMFLOAT2 _scale);
void SetUVOffset(DirectX::XMFLOAT2 _offset);
void SetRoughness(float _roughness);
- void SetEmitAmount(float _emit);
+ void SetAlpha(float _alpha);
+ void SetCutoff(float _cutoff);
+ void SetNormalIntensity(float _intensity);
+ void SetRimCutoff(float _cutoff);
+ void SetOutlineThickness(float _thickness);
+ void SetEmitAmount(DirectX::XMFLOAT3 _emit);
+ void SetOutlineTint(DirectX::XMFLOAT3 _tint);
+ void SetRimTint(DirectX::XMFLOAT3 _tint);
void SetVertexShader(std::shared_ptr _vertexShader);
void SetPixelShader(std::shared_ptr _pixelShader);
+ ///
+ /// Loads and adds a texture to the material
+ ///
+ /// The path of the texture relative to the root where the executable is located
+ /// The type of texture this is (see TEXTYPE_{types}; should match shader Texture2D buffers)
+ /// The DirectX device
+ /// The DirectX context
void LoadTexture(const wchar_t* _path, const char* _type, ID3D11Device* _device, ID3D11DeviceContext* _context);
+ ///
+ /// Adds a sampler to the material
+ ///
+ /// The name of the sampler (should match shader SamplerState buffers)
+ /// The sampler to add
void PushSampler(std::string _name, Microsoft::WRL::ComPtr _sampler);
+ ///
+ /// Adds a texture to the material
+ ///
+ /// The type of texture this is (see TEXTYPE_{types}; should match shader Texture2D buffers)
+ /// The texture to add
void PushTexture(std::string _name, Microsoft::WRL::ComPtr _texture);
+ ///
+ /// Swaps a texture on the material
+ ///
+ /// The type of texture this is (see TEXTYPE_{types}; should match shader Texture2D buffers)
+ /// The texture to swap with
+ void SwapTexture(std::string _name, Microsoft::WRL::ComPtr _newTexture);
+ bool hasAlbedoMap;
bool hasEmissiveMap;
bool hasSpecularMap;
bool hasNormalMap;
bool hasReflectionMap;
+ bool hasRampDiffuse;
+ bool hasRampSpecular;
private:
void ActivateStandard(
Transform* _transform,
@@ -70,11 +123,23 @@ private:
std::shared_ptr _camera,
DirectX::XMFLOAT3 _ambient,
std::vector _lights);
+ void ActivateToon(
+ Transform* _transform,
+ std::shared_ptr _camera,
+ DirectX::XMFLOAT3 _ambient,
+ std::vector _lights);
- bool pbr;
+ int mode;
DirectX::XMFLOAT3 tint;
float roughness;
- float emitAmount;
+ float alpha;
+ float cutoff;
+ float normalIntensity;
+ float outlineThickness;
+ float rimCutoff;
+ DirectX::XMFLOAT3 emitAmount;
+ DirectX::XMFLOAT3 outlineTint;
+ DirectX::XMFLOAT3 rimTint;
DirectX::XMFLOAT2 uvScale;
DirectX::XMFLOAT2 uvOffset;
std::shared_ptr vertexShader;
diff --git a/README.md b/README.md
index 64386c9..1b2101c 100644
--- a/README.md
+++ b/README.md
@@ -5,3 +5,12 @@ A WIP playground / rudimentary graphics engine for a class
Class: 2215.IGME.540.01 - Foundations of Game Graphics Programming
Normally I have school projects on a separate account, but decided a solo advanced c++ project would be fine on my primary account ( @xLightling )
+
+## Controls
+
+WASD - Directional Camera Movement (Locally Oriented)
+Q/E - Move Up/Down (Globally Oriented)
+R/F - Look Up/Down (Pitch)
+Z/C - Look Left/Right (Yaw)
+1 - Load Scene 1 (Surrealist WeirdScape)
+2 - Load Scene 2 (Material Test Scene)
\ No newline at end of file
diff --git a/SimplePixelPBR.hlsl b/SimplePixelPBR.hlsl
index 7bcfd8f..3d3db42 100644
--- a/SimplePixelPBR.hlsl
+++ b/SimplePixelPBR.hlsl
@@ -14,6 +14,8 @@ cbuffer ExternalData : register(b0)
float3 cameraPosition;
float lightCount;
+ float normalIntensity;
+
Light lights[MAX_LIGHTS];
}
@@ -26,38 +28,43 @@ SamplerState Sampler : register(s0);
float4 main(VertexToPixel input) : SV_TARGET
{
+ // normalize inputs and set uv scaling
input.normal = normalize(input.normal);
input.tangent = normalize(input.tangent);
+ input.uv = input.uv * scale + offset;
- float3 view = normalize(cameraPosition - input.worldPosition);
-
+ // gets albedo with gamma correction
float4 albedo = pow(Albedo.Sample(Sampler, input.uv), 2.2f);
- float3 N = Normal.Sample(Sampler, input.uv).rgb * 2 - 1;
- float3 T = normalize(input.tangent - input.normal * dot(input.tangent, input.normal));
- float3 B = cross(T, input.normal);
- float3x3 TBN = float3x3(T, B, input.normal);
- input.normal = mul(N, TBN);
+ // gets normal map
+ float3 normal = getNormal(Sampler, Normal, input.uv, input.normal, input.tangent, normalIntensity);
+ // get pbr values
float roughness = Roughness.Sample(Sampler, input.uv).r;
float metalness = Metalness.Sample(Sampler, input.uv).r;
float3 specular = lerp(F0_NON_METAL.rrr, albedo.rgb, metalness);
+ // pre-calculate view
+ float3 view = normalize(cameraPosition - input.worldPosition);
+
+ // calculate lighting
float3 light = float3(0, 0, 0);
for (int i = 0; i < lightCount; i++)
{
switch (lights[i].Type)
{
case LIGHT_TYPE_DIRECTIONAL:
- light += directionalLightPBR(lights[i], input.normal, view, roughness, metalness, albedo, specular);
+ light += directionalLightPBR(lights[i], normal, view, roughness, metalness, albedo, specular);
break;
case LIGHT_TYPE_POINT:
- light += pointLightPBR(lights[i], input.normal, view, roughness, metalness, albedo, specular, input.worldPosition);
+ light += pointLightPBR(lights[i], normal, view, roughness, metalness, albedo, specular, input.worldPosition);
break;
}
}
+ // calculate the final color value with lighting
float3 final = light;
+ // gamma-correct the final value
return float4(pow(final, 1.0f / 2.2f), albedo.a);
}
\ No newline at end of file
diff --git a/SimplePixelShader.hlsl b/SimplePixelShader.hlsl
index 7427528..dcb4a8c 100644
--- a/SimplePixelShader.hlsl
+++ b/SimplePixelShader.hlsl
@@ -7,20 +7,26 @@
cbuffer ExternalData : register(b0)
{
float3 cameraPosition;
- float roughness;
+ int hasNormalMap;
float2 offset;
float2 scale;
float3 ambient;
- float emitAmount;
-
- float3 tint;
float lightCount;
+ float3 tint;
+ int hasAlbedoMap;
+
+ float3 emitAmount;
int hasEmissiveMap;
+
+ float alpha;
+ float cutoff;
+ float roughness;
+ float normalIntensity;
+
int hasSpecularMap;
- int hasNormalMap;
int hasReflectionMap;
Light lights[MAX_LIGHTS];
@@ -36,52 +42,71 @@ SamplerState BasicSampler : register(s0);
// shader entry point
float4 main(VertexToPixel input) : SV_TARGET
{
- // ensure input normals are normalized
+ // normalize inputs and set uv scaling
input.normal = normalize(input.normal);
input.tangent = normalize(input.tangent);
- if (hasNormalMap > 0)
- {
- float3 unpackedNormal = Normal.Sample(BasicSampler, input.uv).rgb * 2 - 1;
- float3 T = normalize(input.tangent - input.normal * dot(input.tangent, input.normal));
- float3 B = cross(T, input.normal);
- float3x3 TBN = float3x3(T, B, input.normal);
- input.normal = mul(unpackedNormal, TBN);
- }
input.uv = input.uv * scale + offset;
- // view only needs calculated once, so pre-calculate here and pass it to lights
+ // get surface from tint, multiply it by albedo if there is one
+ // get alpha from exposed alpha value, multiply it by albedo alpha if there is one
+ float3 surface = tint;
+ float alphaValue = alpha;
+ if (hasAlbedoMap)
+ {
+ float4 sampledAlbedo = Albedo.Sample(BasicSampler, input.uv);
+ // discard if the alpha of the texture is less than the cutoff point
+ if (sampledAlbedo.a < cutoff) discard;
+ // gamma-correct the RGB of the albedo
+ float3 albedo = pow(sampledAlbedo.rgb, 2.2f);
+ // multiply surface and alpha by the sampled texture
+ surface *= albedo.rgb;
+ alphaValue *= sampledAlbedo.a;
+ }
+
+ // gets normal map if there is one
+ float3 normal = input.normal;
+ if (hasNormalMap > 0)
+ normal = getNormal(BasicSampler, Normal, input.uv, input.normal, input.tangent, normalIntensity);
+
+ // gets specular value; if there is a specular map, use that instead
+ float specular = 1;
+ if (hasSpecularMap > 0)
+ specular = Specular.Sample(BasicSampler, input.uv).r;
+
+ // pre-calculate view
float3 view = getView(cameraPosition, input.worldPosition);
- float4 albedo = pow(Albedo.Sample(BasicSampler, input.uv).rgba, 2.2f);
- float specular = 1;
- if (hasSpecularMap > 0) specular = Specular.Sample(BasicSampler, input.uv).r;
- float3 emit = float3(1, 1, 1);
- if (hasEmissiveMap > 0) emit = Emissive.Sample(BasicSampler, input.uv).rgb;
- float3 surface = albedo.rgb * tint;
+ // calculate lighting
float3 light = ambient * surface;
-
- // loop through lights
for (int i = 0; i < lightCount; i++)
{
switch (lights[i].Type)
{
case LIGHT_TYPE_DIRECTIONAL:
- light += calculateDirectionalLight(lights[i], input.normal, view, roughness, surface, specular);
+ light += calculateDirectionalLight(lights[i], -normal, view, roughness, surface, specular);
break;
case LIGHT_TYPE_POINT:
- light += calculatePointLight(lights[i], input.normal, view, input.worldPosition, roughness, surface, specular);
+ light += calculatePointLight(lights[i], normal, view, input.worldPosition, roughness, surface, specular);
break;
}
}
+ // get emission; use emissive map if there is one
+ float3 emit = float3(1, 1, 1);
+ if (hasEmissiveMap > 0)
+ emit = Emissive.Sample(BasicSampler, input.uv).rgb;
+
+ // calculate the final color value with lighting and emission
float3 final = float3(light + (emit * emitAmount));
+ // utilize reflection map if there is one
if (hasReflectionMap > 0)
{
- float3 reflVec = getReflection(view, input.normal);
+ float3 reflVec = getReflection(view, normal);
float3 reflCol = Reflection.Sample(BasicSampler, reflVec).rgba;
- final = lerp(final, reflCol, getFresnel(input.normal, view, F0_NON_METAL));
+ final = lerp(final, reflCol, getFresnel(normal, view, F0_NON_METAL));
}
- return float4(pow(final, 1.0f/2.2f), albedo.a);
+ // gamma-correct the final value
+ return float4(pow(final, 1.0f/2.2f), alphaValue);
}
diff --git a/ToonShader.hlsl b/ToonShader.hlsl
new file mode 100644
index 0000000..81a463e
--- /dev/null
+++ b/ToonShader.hlsl
@@ -0,0 +1,158 @@
+#include "Defines.hlsli"
+#include "Helpers.hlsli"
+#include "Lights.hlsli"
+
+#define MAX_LIGHTS 128
+
+cbuffer ExternalData : register(b0)
+{
+ float3 cameraPosition;
+ int hasNormalMap;
+
+ float2 offset;
+ float2 scale;
+
+ float3 ambient;
+ float lightCount;
+
+ float3 tint;
+ int hasAlbedoMap;
+
+ float3 emitAmount;
+ int hasEmissiveMap;
+
+ float alpha;
+ float cutoff;
+ float roughness;
+ float normalIntensity;
+
+ float3 outlineTint;
+ float outlineThickness;
+
+ float3 rimTint;
+ float rimCutoff;
+
+ int hasSpecularMap;
+ int hasRampDiffuse;
+ int hasRampSpecular;
+
+ Light lights[MAX_LIGHTS];
+}
+
+Texture2D Albedo : register(t0);
+Texture2D Specular : register(t1);
+Texture2D Normal : register(t2);
+Texture2D Emissive : register(t3);
+Texture2D RampDiffuse : register(t4);
+Texture2D RampSpecular : register(t5);
+SamplerState BasicSampler : register(s0);
+SamplerState ClampSampler : register(s1);
+
+float GetRampDiffuse(float original)
+{
+ if (original < 0.25f) return 0.0f;
+ if (original < 0.33f) return 0.33f;
+ if (original < 0.8f) return 0.8f;
+
+ return 1;
+}
+
+float GetRampSpecular(float original)
+{
+ if (original < 0.6f) return 0.0f;
+
+ return 1.0f;
+}
+
+float4 main(VertexToPixel input) : SV_TARGET
+{
+ // normalize inputs and set uv scaling
+ input.normal = normalize(input.normal);
+ input.tangent = normalize(input.tangent);
+ input.uv = input.uv * scale + offset;
+
+ // get surface from tint, multiply it by albedo if there is one
+ // get alpha from exposed alpha value, multiply it by albedo alpha if there is one
+ float3 surface = tint;
+ float alphaValue = alpha;
+ if (hasAlbedoMap)
+ {
+ float4 sampledAlbedo = Albedo.Sample(BasicSampler, input.uv);
+ // discard if the alpha of the texture is less than the cutoff point
+ if (sampledAlbedo.a < cutoff) discard;
+ // gamma-correct the RGB of the albedo
+ float3 albedo = pow(sampledAlbedo.rgb, 2.2f);
+ // multiply surface and alpha by the sampled texture
+ surface *= albedo.rgb;
+ alphaValue *= sampledAlbedo.a;
+ }
+
+ // gets normal map if there is one
+ float3 normal = input.normal;
+ if (hasNormalMap > 0)
+ normal = getNormal(BasicSampler, Normal, input.uv, input.normal, input.tangent, normalIntensity);
+
+ // gets specular value; if there is a specular map, use that instead
+ float specularValue = 1;
+ if (hasSpecularMap > 0)
+ specularValue = Specular.Sample(BasicSampler, input.uv).r;
+
+ // pre-calculate view
+ float3 view = getView(cameraPosition, input.worldPosition);
+
+ // calculate lighting
+ float3 light = ambient * surface;
+ for (int i = 0; i < lightCount; i++)
+ {
+ float3 toLight = float3(0, 0, 0);
+ float attenuate = 1;
+ switch (lights[i].Type)
+ {
+ case LIGHT_TYPE_DIRECTIONAL:
+ toLight = normalize(lights[i].Direction);
+ break;
+ case LIGHT_TYPE_POINT:
+ toLight = normalize(lights[i].Position - input.worldPosition);
+ attenuate = getAttenuation(lights[i].Position, input.worldPosition, lights[i].Range);
+ break;
+ }
+
+ // applies the step-like effect of toon shading to the diffuse/specular of the lighting
+ float diffuse = 0;
+ float specular = 0;
+ if (hasRampDiffuse > 0)
+ diffuse = RampDiffuse.Sample(ClampSampler, float2(getDiffuse(normal, toLight), 0)).r;
+ else
+ diffuse = GetRampDiffuse(getDiffuse(normal, toLight));
+ if (hasRampSpecular > 0)
+ specular = RampSpecular.Sample(ClampSampler, float2(calculateSpecular(normal, toLight, view, specularValue, diffuse) * roughness, 0));
+ else
+ specular = GetRampSpecular(calculateSpecular(normal, toLight, view, specularValue, diffuse) * roughness);
+
+ light += (diffuse * surface.rgb + specular) * attenuate * lights[i].Intensity * lights[i].Color;
+ }
+
+ // get emission; use emissive map if there is one
+ float3 emit = float3(1, 1, 1);
+ if (hasEmissiveMap > 0)
+ emit = Emissive.Sample(BasicSampler, input.uv).rgb;
+
+ // calculate rim/outline value (i.e. whether there is any at this pixel)
+ float vDotN = (1 - dot(view, input.normal));
+ float rimValue = GetRampSpecular(vDotN * pow(light, rimCutoff));
+ float outlineValue = GetRampSpecular(vDotN * outlineThickness);
+
+ // return rim lighting if there is any; takes priority over outline
+ if (rimValue > 0)
+ return float4(light + (emit * emitAmount) + rimTint, alphaValue);
+
+ // return outline if there is any
+ if (outlineValue > 0)
+ return float4(outlineTint, alphaValue);
+
+ // calculate the final color value with lighting and emission
+ float3 final = float3(light + (emit * emitAmount));
+
+ // gamma-correct the final value
+ return float4(pow(final, 1.0f / 2.2f), alphaValue);
+}